function xanth_view_mode_admin_view_mode_edit($hook_primary_id, $hook_secondary_id, $arguments) { if (!xUser::check_current_user_access('manage view_mode')) { return xSpecialPage::access_denied(); } if (empty($arguments[0])) { new xPageContent('Edit View Mode', 'Wich view mode should edit?'); } $form = new xForm('?p=admin/view_mode/edit//' . $arguments[0]); $view_mode = xViewMode::get($arguments[0]); $form->elements[] = new xFormElementHidden('view_mode_id', 'View Mode', $arguments[0], FALSE, new xInputValidatorInteger()); $form->elements[] = new xFormElementTextField('view_mode_name', 'Name', '', $view_mode->name, FALSE, new xInputValidatorTextNoTags(32)); //view elements option $velems = xVisualElement::find_all(); $voptions = array(); foreach ($velems as $velem) { $voptions[$velem->name] = $velem->name; } $form->elements[] = new xFormElementTextArea('view_mode_procedure', 'Procedure', '', $view_mode->display_procedure, FALSE, new xInputValidatorText(NULL)); $form->elements[] = new xFormSubmit('submit', 'submit'); $ret = $form->validate_input(); if (isset($ret->valid_data['submit'])) { if (empty($ret->errors)) { $view_mode->name = $ret->valid_data['view_mode_name']; $view_mode->display_procedure = $ret->valid_data['view_mode_procedure']; $view_mode->update(); return new xPageContent('Edit View Mode', 'View mode modified'); } else { foreach ($ret->errors as $error) { xanth_log(LOG_LEVEL_USER_MESSAGE, $error); } } } return new xPageContent('Edit View Mode', $form->render()); }
/** * */ function render() { //retrieve view mode $type = xEntryType::get($this->type); if ($type->view_mode_id === NULL) { //apply theme default $theme = xTheme::get_default(); return eval($theme->get_view_mode_procedure('entry')); } else { //apply specified view mode $view_mode = xViewMode::get($type->view_mode_id); return eval($view_mode->display_procedure); } }
function xanth_theme_admin_theme_area($hook_primary_id, $hook_secondary_id, $arguments) { if (!xUser::check_current_user_access('manage theme')) { return xSpecialPage::access_denied(); } $areas = xThemeArea::find_all(); $output = "<table>\n"; $output .= "<tr><th>Name</th><th>View Mode</th><th>Edit</th><th>Delete</th></tr>\n"; foreach ($areas as $area) { $v = xViewMode::get($area->view_mode); if ($v === NULL) { $vname = 'Theme Default'; } else { $vname = $v->name; } $output .= "<tr><td>" . $area->name . '</td><td>' . $vname . '</td><td>Edit</td><td>Delete</td></tr>'; } $output .= "</table>\n"; return new xPageContent('Admin area', $output); }
/** * */ function render($boxes, $page_content) { if ($this->view_mode === NULL) { //apply theme default $theme = xTheme::get_default(); return eval($theme->get_view_mode_procedure('area')); } else { //apply specified view mode $view_mode = xViewMode::get($this->view_mode); return eval($view_mode->display_procedure); } }