/** * Method to get the field input markup. * * @return string The field input markup. * * @since 11.1 */ protected function getInput() { $columnTableFormData = JSNUniformHelper::getFormData(); $arrayTranslated = array(); $html = "<div class=\"jsn-master\"><div id=\"page-loading\" class=\"jsn-bgloading\"><i class=\"jsn-icon32 jsn-icon-loading\"></i></div><div class=\"jsn-bootstrap menu-items\"><input type='hidden' id='uniform_field' name='" . $this->name . "' value='" . $this->value . "' /><ul class=\"jsn-items-list ui-sortable hide\" id=\"form_field\">"; $html .= "</ul></div></div>"; JSNHtmlAsset::loadScript('uniform/menusubmissions', array('value' => $this->value, 'name' => 'uniform_listField', 'columnTableFormData' => $columnTableFormData, 'language' => JSNUtilsLanguage::getTranslated($arrayTranslated))); return $html; }
/** * get field select view * * @return array */ public function getViewField() { $resultFields = array(); $positionField = ""; $listViewField = $this->escape($this->_state->get('filter.list_view_field')); $listViewField = get_magic_quotes_gpc() == true || get_magic_quotes_runtime() == true ? stripslashes($listViewField) : $listViewField; $positionField = $this->escape($this->_state->get('filter.position_field')); $configGetPosition = JSNUniformHelper::getPositionFields($this->_state->get('filter.filter_form_id')); //$fieldsForms = $this->get('FieldsForm'); $fieldsDatas = JSNUniformHelper::getFormData(); $fieldsForms = array(); $dataPages = $this->get('DataPages'); foreach ($dataPages as $index => $page) { $pageContent = isset($page->page_content) ? json_decode($page->page_content) : ""; foreach ($pageContent as $itemPage) { if (!empty($itemPage->id)) { $fieldsForms[] = $itemPage; } } } foreach ($fieldsForms as $fieldsForm) { if (isset($fieldsForm->type) && $fieldsForm->type != 'static-content' && $fieldsForm->type != 'google-maps') { $resultFields['identifier'][] = 'sd_' . $fieldsForm->id; $resultFields['title'][] = $fieldsForm->label; $resultFields['type']['sd_' . $fieldsForm->id] = $fieldsForm->type; $resultFields['sort'][] = 'sd.sd_' . $fieldsForm->id; $resultFields['styleclass'][] = "field"; } } foreach ($fieldsDatas as $fieldsData) { if (!in_array($fieldsData->Field, array('submission_data_id', 'submission_id', 'form_id', 'user_id', 'submission_state', 'submission_country_code', 'submission_browser_version', 'submission_browser_agent'))) { $resultFields['identifier'][] = $fieldsData->Field; $resultFields['title'][] = 'JSN_UNIFORM_' . strtoupper($fieldsData->Field); $resultFields['sort'][] = 'sb.' . $fieldsData->Field; $resultFields['type'][$fieldsData->Field] = $fieldsData->Type; $resultFields['styleclass'][] = "field"; } } if ($configGetPosition) { $configGetPosition = json_decode($configGetPosition->value); } if ($positionField) { $positionField = explode(",", $positionField); } elseif ($configGetPosition && $configGetPosition->identifier) { $positionField = array_merge($configGetPosition->identifier, $resultFields['identifier']); $positionField = array_unique($positionField); } if (!$listViewField && $configGetPosition) { $listViewField = $configGetPosition->field_view; } if (!$listViewField) { $check = true; $i = 0; while ($check) { $j = 0; foreach ($resultFields['type'] as $rField) { if (isset($rField) && $rField != 'static-content' && $rField != 'google-maps') { if (strpos($resultFields['identifier'][$j], "sd_") !== false) { $listViewField[] = '"' . $resultFields['identifier'][$j] . '"'; } if ($j == 2) { $listViewField[] = '"submission_country"'; $listViewField[] = '"submission_created_by"'; $listViewField[] = '"submission_created_at"'; $listViewField = implode(",", $listViewField); $check = false; break; } } $j++; } if ($i == 20) { $check = false; } $i++; } } if (!empty($positionField)) { $resultPositionFields = array(); foreach ($positionField as $pField) { for ($i = 0; $i < count($resultFields['identifier']); $i++) { if ($pField == $resultFields['identifier'][$i] && $resultFields['type'][$resultFields['identifier'][$i]] != 'static-content' && $resultFields['type'][$resultFields['identifier'][$i]] != 'google-maps') { $resultPositionFields['identifier'][] = $resultFields['identifier'][$i]; $resultPositionFields['title'][] = $resultFields['title'][$i]; $resultPositionFields['sort'][] = $resultFields['sort'][$i]; $resultPositionFields['styleclass'][] = $resultFields['styleclass'][$i]; $resultPositionFields['type'][$resultFields['identifier'][$i]] = $resultFields['type'][$resultFields['identifier'][$i]]; } } } $result = array('fields' => $resultPositionFields, 'field_view' => $listViewField); } else { $result = array('fields' => $resultFields, 'field_view' => $listViewField); } JSNUniformHelper::setPositionFields($this->_state->get('filter.filter_form_id'), $result); return $result; }