protected function addField($row) { $field = CustomField::constructObject($row); if ($field != null) { $this->fields[$row['position']][$field->getFieldName()] = $field; } }
public function suggest() { $data = array(); $id = Request::get(1, VAR_INT); $q = Request::get('q'); $q = SystemEnvironment::fromUtf8($q); $db = Database::getObject(); $db->query("SELECT * FROM <p>fields WHERE id = <id:int>", compact("id")); if ($db->numRows() == 1) { $field = CustomField::constructObject($db->fetchAssoc()); if ($field instanceof CustomAutoCompleteTextField) { $data = $field->getList($q); } } Response::getObject()->sendHeader('Content-Type: text/plain; charset=' . Config::get('intl.charset')); echo implode("\n", $data); }
public function edit() { $id = Request::get(1, VAR_INT); $isSent = Request::get(2, VAR_URI) == 'send'; $this->breadcrumb->add('Bearbeiten'); $this->header(); $db = Database::getObject(); $db->query("SELECT * FROM <p>fields WHERE id = <id:int>", compact("id")); if ($db->numRows() == 0) { CmsPage::error('Das Feld wurde leider nicht gefunden.'); $this->overview(); } else { $field = CustomField::constructObject($db->fetchAssoc()); $_positions = $this->getPositions(); $positions = Core::constructObjectArray($_positions); // Fill data array with the default (currently saved) data $permissions = $field->getPermissions(); $data = array('name' => $field->getName(), 'description' => $field->getDescription(), 'priority' => $field->getPriority(), 'position' => $field->getPosition()->getClassPath(), 'type' => $field->getClassPath(), 'read' => $permissions['read'], 'write' => $permissions['write']); foreach ($field->getParamsData() as $key => $value) { $data[$key] = $value; } $error = array(); if ($isSent) { // Base options for every field $options = array_merge($this->getValidator(), array('position' => array(Validator::MESSAGE => 'Der Anzeigeort ist ungültig.', Validator::LIST_CS => $_positions)), $field->getValidationParams(false)); extract(Validator::checkRequest($options)); if (count($error) == 0) { $this->injectDataToField($field, $data); if ($field->update()) { CmsPage::ok("Das Feld wurde erfolgreich aktualisiert."); } else { $error[] = 'Das Feld konnt leider nicht aktualisiert werden.'; } } if (count($error) > 0) { CmsPage::error($error); } } $tpl = Response::getObject()->appendTemplate("/Cms/admin/fields_edit"); $tpl->assign('field', $field, false); $tpl->assign('positions', $positions, false); $tpl->assign('data', $data); $tpl->assign('baseUri', $this->getBaseURI()); $tpl->output(); } $this->footer(); }