public function action_update() { $name = $this->request->param('id'); $field = new Model_UserField(); $field_data = $field->get($name); Breadcrumbs::add(Breadcrumb::factory()->set_title(__('Edit') . ' ' . $name)); $this->template->title = __('Edit Custom Field for Advertisement'); if ($_POST) { try { $options = array('label' => Core::post('label'), 'tooltip' => Core::post('tooltip'), 'required' => Core::post('required') == 'on' ? TRUE : FALSE, 'searchable' => Core::post('searchable') == 'on' ? TRUE : FALSE, 'show_profile' => Core::post('show_profile') == 'on' ? TRUE : FALSE, 'show_register' => Core::post('show_register') == 'on' ? TRUE : FALSE, 'admin_privilege' => Core::post('admin_privilege') == 'on' ? TRUE : FALSE); if ($field->update($name, Core::post('values'), $options)) { Core::delete_cache(); Alert::set(Alert::SUCCESS, sprintf(__('Field %s edited'), $name)); } else { Alert::set(Alert::ERROR, sprintf(__('Field %s cannot be edited'), $name)); } } catch (Exception $e) { throw HTTP_Exception::factory(500, $e->getMessage()); } HTTP::redirect(Route::url('oc-panel', array('controller' => 'userfields', 'action' => 'index'))); } $this->template->content = View::factory('oc-panel/pages/userfields/update', array('field_data' => $field_data, 'name' => $name)); }