/** * */ 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); } }
function render() { $theme = xTheme::get_default(); //retrieve content $page_content = xanth_invoke_mono_hook(MONO_HOOK_PAGE_CONTENT_CREATE, $this->xanthpath->base_path, array($this->xanthpath->resource_id)); if ($page_content === NULL) { $page_content = new xPageContent('Page not found', "<b>Page not found</b>"); } $logs = ''; $log_entries = xanth_get_screen_log(); //display log messages if (!empty($log_entries)) { $logs .= '<table border="1" width="90%"><tr><td><ul>'; foreach ($log_entries as $entry) { $logs .= '<li>' . $entry->level . ' ' . $entry->component . ' ' . htmlspecialchars($entry->message) . ' ' . $entry->filename . '@' . $entry->line . '</li>'; } $logs .= '</ul></td></tr></table>' . "\n"; } $page_content->body = $logs . $page_content->body; //retrieve areas $areas = xThemeArea::find_all(); $this->areas = array(); $this->boxes = array(); //retrieve innermost elements foreach ($areas as $area) { $xboxes = xBox::find($area->name); $this->boxes[$area->name] = array(); foreach ($xboxes as $xbox) { //retrieve box view $this->boxes[$area->name][] = $xbox->render(); } //Generate area view (not using view mode) $this->areas[$area->name] = $area->render($this->boxes[$area->name], $page_content->body); } //construct metadata array $this->header = array(); if (empty($page_content->description)) { $this->header['description'] = xSettings::get('site_description'); } else { $this->header['description'] = $page_content->description; } if (empty($page_content->keywords)) { $this->header['keywords'] = xSettings::get('site_keywords'); } else { $this->header['keywords'] = $page_content->keywords; } //retrieve the full page $this->header['title'] = xSettings::get('site_name') . ' | ' . $page_content->title; $page_ready_to_print = eval($theme->get_view_mode_procedure('page')); return $page_ready_to_print; }
/** * */ function get_default() { global $default_theme; if (!isset($default_theme)) { $default_theme = xTheme::get(xSettings::get('site_theme')); } return $default_theme; }
/** * */ 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_edit($hook_primary_id, $hook_secondary_id, $arguments) { if (!xUser::check_current_user_access('manage theme')) { return xSpecialPage::access_denied(); } if (empty($arguments[0])) { new xPageContent('Edit Theme', 'Wich theme should edit?'); } $form = new xForm('?p=admin/theme/edit//' . $arguments[0]); $form->elements[] = new xFormElementHidden('theme_name', 'Theme Name', $arguments[0], FALSE, new xInputValidatorTextNameId(32)); //iterate every registered visual element $edit_theme = xTheme::get($arguments[0]); $visual_elements = xVisualElement::find_all(); foreach ($visual_elements as $visual_element) { //now iterate every registered view mode $view_modes = xViewMode::find_by_element($visual_element->name); $options = array(); $default = ''; foreach ($view_modes as $view_mode) { $options[$view_mode->name] = $view_mode->id; if (isset($edit_theme->themed_elements[$visual_element->name])) { $default = $edit_theme->themed_elements[$visual_element->name]; } elseif ($view_mode->default_for_element) { $default = $view_mode->id; } } $form->elements[] = new xFormElementHidden('visual_elements', 'Visual elements', $visual_element->name, TRUE, new xInputValidatorTextNameId(32)); $form->elements[] = new xFormElementOptions('view_mode_' . $visual_element->name, 'View Mode for v.e. ' . $visual_element->name, '', $default, $options, FALSE, FALSE, new xInputValidatorInteger()); } $form->elements[] = new xFormSubmit('submit', 'submit'); $ret = $form->validate_input(); if (isset($ret->valid_data['submit'])) { if (empty($ret->errors)) { //process form $themed_elements = array(); foreach ($ret->valid_data['visual_elements'] as $vename) { $themed_elements[$vename] = $ret->valid_data['view_mode_' . $vename]; } $theme = new xTheme($ret->valid_data['theme_name'], $themed_elements); $theme->update(); return new xPageContent('Edit Theme', 'Theme Edited'); } else { foreach ($ret->errors as $error) { xanth_log(LOG_LEVEL_USER_MESSAGE, $error); } } } return new xPageContent('Edit Theme', $form->render()); }
/** * */ function render() { $theme = xTheme::get_default(); return eval($theme->get_view_mode_procedure('box')); }