function actionIndex($params = '') { $objPage = new PagesModel(); $objLayout = new LayoutModel(); $page_id = !empty($params['page_id']) ? intval($params['page_id']) : 0; $previewPage = !empty($params['preview']) ? true : false; if (empty($params['page_id'])) { $page_id = $objPage->getPageId('home'); } $pageInfo = $objPage->loadPage($page_id); if (!empty($pageInfo) && $pageInfo['status'] == 'published' && $pageInfo['type'] == 'page' || $previewPage == true) { // load additional page info $sideBars = $objPage->getPageSidebars($page_id); $layoutInfo = $objLayout->loadLayout($pageInfo['layout_id']); // used to set active state in menu $this->view->current_page = $pageInfo['keyName']; //assign template vars $this->view->assign('pageTitle', $pageInfo['title']); $this->view->assign('content', $this->view->fetch('fromstring:' . $pageInfo['content'])); if (!empty($sideBars)) { $this->view->assign('sidebar_left', $this->view->fetch('fromstring:' . $sideBars['left']['content'])); $this->view->assign('sidebar_right', $this->view->fetch('fromstring:' . $sideBars['right']['content'])); } $this->view->assign('layout', $this->view->fetch('fromstring:' . $layoutInfo['code'])); } else { // page not found $this->view->assign('layout', '404 - ' . print_r($params, true)); } $this->finish(); }
public function admin_motd() { if ($this->presenter->user->isInRole('user')) { $pairs = PagesModel::getPagesFlat()->getPairs(); $row = $this->presenter->user->identity; echo "<p>Jsi přihlášen jako <b><code>{$row->id}</code></b> - uživatel osm.org"; echo "<p>Máš oprávnění editovat tyto stránky a jejich podstránky:<ul>"; $nic = true; foreach (explode(',', $row->webpages) as $id) { if (isset($pairs[$id])) { echo "<li style='line-height:2'><a href='" . $this->presenter->link(':Admin:Pages:edit', $id) . "' class='btn btn-warning'>{$pairs[$id]}</a>"; $nic = false; } } if ($row->webpages == 'all') { echo '<li>Všechny!</li>'; } else { if ($nic) { echo "<li>Žádné :-)"; } } echo "</ul>"; echo "<p>Pokud chceš editovat ještě něco, napiš prosím na dev@openstreetmap.cz."; echo "<p>Pro znovunačtení práv, prosím, klikni sem: <a href='/oauth/login?backUrl=/admin' class='btn btn-default btn-xs'>Znovu načíst</a>."; } else { echo '<p style="font-size:150%;text-align:center;">Jsi přihlášen jako <b><code>SuperAdmin</code></a>.'; } }
public function __construct() { parent::__construct(); $this->tags = array(); $tags = PagesModel::getPageById(27)->getMeta('tag_options'); foreach (explode("\n", $tags) as $t) { $t = trim($t); $this->tags[$t] = $t; } $this->projects = PagesModel::getPagesByMeta("project_tag")->getPairs(''); $this->addText('username', 'OSM.org username')->setDisabled(); $this->addText('fullname', 'Celé jméno')->setOption('description', 'Ať se poznáme!')->addRule(Form::FILLED, '%label není vyplněn.')->addRule(Form::MIN_LENGTH, '%label musí mít alespoň 5 znaků.', 5); $this->addText('email', 'Talk-cz')->setOption('description', 'Email použivaný pro spočítání příspěvků v talk-cz (neveřejný)')->addRule(Form::FILLED, '%label není vyplněn.')->addRule(Form::EMAIL, '%label není validní.'); $this->addText('contact', 'Veřejný e-mail')->setOption('description', '(nepovinné)')->addCondition(Form::FILLED)->addRule(Form::EMAIL, '%label není validní.'); $this->addText('twitter', 'Twitter')->setOption('description', '(nepovinné) Uživatelské jméno bez zavináče'); $this->addText('github', 'Github')->setOption('description', '(nepovinné) Uživatelské jméno'); $this->addText('places', 'Výskyt')->setOption('description', '(nepovinné) Kde se vyskystuju - typicky jaká města.'); $this['places']->getControlPrototype()->placeholder = 'oddělené čárkou'; $this['places']->getControlPrototype()->style = 'width: 40%'; $this->addText('tags', 'Oblasti zájmu')->setOption('description', '(nepovinné)'); $this['tags']->getControlPrototype()->placeholder = 'oddělené čárkou'; $this['tags']->getControlPrototype()->style = 'width: 60%'; $this['tags']->getControlPrototype()->{'data-options'} = Json::encode(array_values($this->tags)); $this->addMultiSelect('projects', 'Projekty', $this->projects)->setOption('description', '(nepovinné) Projektovou stránku možno přidat v administraci. Případně napiš na dev@openstreetmap.cz')->getControlPrototype()->style = 'height:150px;width:40%'; $this->addCheckbox('public', 'Zveřejnit údaje na openstreetmap.cz'); $this->addSubmit('submit', 'Uložit údaje'); $this->onSuccess[] = callback($this, 'submitted'); $renderer = $this->getRenderer(); $renderer->wrappers['controls']['container'] = 'table class="table form-inline"'; $renderer->wrappers['error']['container'] = 'ul class="bg-danger"'; $renderer->wrappers['control']['.text'] = 'form-control'; $renderer->wrappers['control']['.email'] = 'form-control'; $renderer->wrappers['control']['.submit'] = 'btn btn-primary'; }
public function actionPagesort() { if ($this->isAjax()) { PagesModel::nestedsort($this->getHttpRequest()->post['menuid'], $this->lang); $this->flashMessage("Menu upraveno"); } $this->setView('default'); }
function smarty_function_menu($params, &$smarty) { $output = ''; $objPages = new PagesModel(); $pageList = $objPages->getPages('published'); global $__pageListTemp; if (!empty($pageList)) { // limit to a parent if (!empty($params['parent'])) { // find parent $parent_id = $objPages->getPageId($params['parent']); if ($parent_id) { smarty_function_menu_parent($pageList, $parent_id); $pageList = $__pageListTemp; } } reset($pageList); // limit depth if (!empty($params['depth'])) { $depth = intval($params['depth']); $pageList = smarty_function_menu_setdepth($pageList, $depth); } reset($pageList); // remove specific pages if (!empty($params['remove'])) { $params['remove'] .= ',404'; } else { $params['remove'] = '404'; } $pageList = smarty_function_menu_removepages($pageList, $params['remove']); reset($pageList); // set active classes if (!empty($smarty->current_page)) { $pageList = smarty_function_menu_makeactive($pageList, $smarty->current_page); } reset($pageList); // draw menu $output = smarty_function_menu_makemenu($pageList, $output, $smarty); } return $output; }
public static function getAll() { $res = dibi::query('SELECT * FROM redirect')->fetchAssoc('id'); foreach ($res as &$r) { if ($p = RedirectModel::parseHashIdLang($r['newurl'])) { $r['page'] = PagesModel::getPageById($p[0], $p[1]); } else { $r['page'] = false; } } return $res; }
public function actionDefault($id_page) { $this->page = PagesModel::getPageById($id_page); if ($this->page === false) { throw new BadRequestException("Stránka nenalezena. (id={$id_page} lang={$this->lang})"); } if ($this->page['deleted']) { throw new BadRequestException("Stránka smazána. (id={$id_page} lang={$this->lang})"); } //page should display different URL? $this->doPageRedirects(); $this->invalidateControl('content'); // bread crumbs $this->template->crumbs = $this->page->getParents(); $this->template->page = $this->page; }
/** Gets this page as an PagesModelNode * @return PagesModelNode */ public function getPage() { return PagesModel::getPageById($this->id_page); }
public function lang($lang) { return PagesModel::getPageById($this->id, $lang); }
/** * Geting all published pages for build URL */ private function getPages() { self::$pages = $this->getAllTree(array('id', 'url', 'path', 'publish')); }
function actionDeletePage($params = '') { if (!empty($params['page_id'])) { $objPages = new PagesModel(); $objSidebars = new SidebarsModel(); if ($objPages->safeToDelete($params['page_id'])) { $objPages->deletePage($params['page_id']); $objSidebars->deletePageSidebars($params['page_id']); $this->messages[] = array('type' => 'success', 'message' => 'Page has been deleted.'); } else { $this->messages[] = array('type' => 'error', 'message' => 'Cannot delete a page with children.'); } } else { $this->messages[] = array('type' => 'error', 'message' => 'Unknown page to delete.'); } $this->actionPages(); }
public function handleSubpagessort() { if (!$this->editAllowed()) { return; } PagesModel::sort($this->getHttpRequest()->post['pageid'], $this->lang); $this->flashMessage("Pořadí článků upraveno"); //$this->payload->hack = 'ok'; }
public function handleGetPagesFlatJson() { $array = PagesModel::getPagesFlat()->getPairs(); $this->sendResponse(new JsonResponse($array)); }
public function renderAkce() { $this->template->products = PagesModel::getPagesByMeta('akce', '1'); $this->template->setFile(dirname(__FILE__) . '/list.latte'); $this->template->render(); }
public function createComponentEditFileForm() { $form = new AppForm(); $form->getElementPrototype()->class('ajax'); //todo:zlobí $form->addHidden("id"); $form->addSelect("id_page_change", "Přesun", PagesModel::getPagesFlat()->getPairs()); $form->addText("filename", "Název"); $form->addTextarea("description", "Popis")->getControlPrototype()->setRows(3); $form->addText("keywords", "Keywords"); $form->addText("timestamp", "Timestamp"); $form->addText("gallerynum", "Číslo galerie")->getControlPrototype()->style('width:50px'); //TODO ->addRule(Form::INTEGER,'%label musí být číslo') .. nefunguje js(ajax) validace $form->addSubmit("submit1", "Uložit"); $form->onSuccess[] = callback($this, 'editFileFormSubmitted'); return $form; }
function constructUrl(PresenterRequest $appRequest, Url $ref) { if ($appRequest->getPresenterName() !== self::PRESENTER) { return NULL; } $params = $appRequest->getParameters(); //find the friendly-url in the database $lang = $params['lang']; if ($lang == NULL) { $lang = $this->getDefaultLang(); } //lang base url (domain or just relative prefix?) $langDomains = Environment::getVariable("langDomains"); if ($langDomains) { $baseUrl = $ref->scheme . ':' . $langDomains[$lang]; } else { $baseUrl = $ref->getBaseUrl() . ($lang == $this->getDefaultLang() ? '' : "{$lang}/"); } //NULL page = / if (!isset($params['id_page'])) { return $baseUrl; } //nonexisting page - do not route $page = PagesModel::getPageById($params['id_page'], $lang); if (!$page) { return NULL; } unset($params['lang']); unset($params['id_page']); unset($params['action']); // appended parameters $params = http_build_query($params, '', '&'); if ($params) { $params = "?{$params}"; } // no pagelink -> do /p123-friendly-name if (!$page['seoname']) { return $baseUrl . "p{$page->id}" . (Strings::webalize($page->name) ? '-' : '') . Strings::webalize($page->name) . $params; } // /sth -> normal friendly url for that page if ($page['seoname'][0] == '/') { return $baseUrl . substr($page['seoname'], 1) . $params; } return NULL; }
public function startup() { parent::startup(); PagesModel::$lang = $this->lang; $this->pages = PagesModel::getRoot(); }