public static function userFieldDestFromDB($value) { return utilsBup::jsonDecode($value); }
public static function textFieldsDynamicTable($name, $params = array('value' => '', 'attrs' => '', 'options' => array())) { $res = ''; if (empty($params['options'])) { $params['options'] = array(0 => array('label' => '')); } if (!empty($params['options'])) { $pattern = array(); foreach ($params['options'] as $key => $p) { $pattern[$key] = htmlBup::text($name . '[][' . $key . ']'); } $countOptions = count($params['options']); $remove = '<a href="#" onclick="toeRemoveTextFieldsDynamicTable(this); return false;">remove</a>'; $add = '<a href="#" onclick="toeAddTextFieldsDynamicTable(this, ' . $countOptions . '); return false;">add</a>'; $res = '<div class="toeTextFieldsDynamicTable">'; if (empty($params['value'])) { $params['value'] = array(); } elseif (!is_array($params['value'])) { $params['value'] = utilsBup::jsonDecode($params['value']); //$params['value'] = $params['value'][0]; } $i = 0; do { $res .= '<div class="toeTextFieldDynamicRow">'; foreach ($params['options'] as $key => $p) { switch ($countOptions) { case 1: if (isset($params['value'][$i])) { $value = is_array($params['value'][$i]) ? $params['value'][$i][$key] : $params['value'][$i]; } else { $value = ''; } break; case 2: default: $value = isset($params['value'][$i][$key]) ? $params['value'][$i][$key] : ''; break; } $paramsForText = array('value' => $value); $res .= __($p['label'], BUP_LANG_CODE) . htmlBup::text($name . '[' . $i . '][' . $key . ']', $paramsForText); } $res .= $remove . '</div>'; $i++; } while ($i < count($params['value'])); $res .= $add; $res .= '</div>'; } return $res; }