/** * Renders this page in display or block mode. * * @return string The page contents. * @throws Wicked_Exception */ public function displayContents($isBlock) { global $injector, $page_output; $pages = array(); foreach ($this->content() as $page) { $page = new Wicked_Page_StandardPage($page); $pages[] = $page->toView(); } $page_output->addScriptFile('tables.js', 'horde'); $view = $injector->createInstance('Horde_View'); // Show search form and page header. return $view->render('pagelist/header') . $view->renderPartial('pagelist/page', array('collection' => $pages)) . $view->render('pagelist/footer'); }
/** * Renders this page in display or block mode. * * @return string The contents. * @throws Wicked_Exception */ public function displayContents($isBlock) { global $injector, $page_output, $wicked; $page_output->addScriptFile('tables.js', 'horde'); $view = $injector->createInstance('Horde_View'); $content = $view->render('pagelist/header'); $summaries = $wicked->getBackLinks($this->_referrer); foreach ($summaries as $page) { if (!empty($page['page_history'])) { $page = new Wicked_Page_StandardHistoryPage($page); } else { $page = new Wicked_Page_StandardPage($page); } $content .= $view->renderPartial('pagelist/page', array('object' => $page->toView())); } return $content . $view->render('pagelist/footer'); }
/** * Renders this page in display mode. * * @throws Wicked_Exception */ public function display() { global $injector, $page_output, $wicked; $view = $injector->createInstance('Horde_View'); $view->action = Wicked::url('NewPage'); $view->formInput = Horde_Util::formInput(); $view->referrer = $this->referrer(); $view->name = $this->pageName(); if ($this->_results) { $page_output->addScriptFile('tables.js', 'horde'); $view->pages = array(); foreach ($this->_results as $page) { if (!empty($page['page_history'])) { $page = new Wicked_Page_StandardHistoryPage($page); } else { $page = new Wicked_Page_StandardPage($page); } $view->pages[] = $page->toView(); } } $view->templates = $wicked->getMatchingPages('Template', Wicked_Page::MATCH_ENDS); $view->help = Horde_Help::link('wicked', 'Templates'); return $view->render('edit/create'); }
/** * Returns the requested page. * * @return Wicked_Page The requested page. * @throws Wicked_Exception */ public static function getPage($pagename, $pagever = null, $referrer = null) { global $conf, $notification, $wicked; if (empty($pagename)) { $pagename = 'Wiki/Home'; } $classname = 'Wicked_Page_' . $pagename; if ($pagename == basename($pagename) && class_exists($classname)) { return new $classname($referrer); } /* If we have a version, but it is actually the most recent version, * ignore it. */ if (!empty($pagever)) { $page = new Wicked_Page_StandardPage($pagename, false, null); if ($page->isValid() && $page->version() == $pagever) { return $page; } return new Wicked_Page_StandardHistoryPage($pagename, $pagever); } $page = new Wicked_Page_StandardPage($pagename); if ($page->isValid() || !$page->allows(Wicked::MODE_EDIT)) { return $page; } return new Wicked_Page_AddPage($pagename); }
public function pageUrl($linkpage = null, $actionId = null) { return parent::pageUrl($linkpage, $actionId)->add('version', $this->version()); }
/** * Renders this page in content mode. * * @return string The page content. * @throws Wicked_Exception */ public function content() { global $wicked; $days = (int) Horde_Util::getGet('days', 3); $summaries = $wicked->getRecentChanges($days); if (count($summaries) < 10) { $summaries = $wicked->mostRecent(10); } $bydate = array(); $changes = array(); foreach ($summaries as $page) { $page = new Wicked_Page_StandardPage($page); $createDate = $page->versionCreated(); $tm = localtime($createDate, true); $createDate = mktime(0, 0, 0, $tm['tm_mon'], $tm['tm_mday'], $tm['tm_year'], $tm['tm_isdst']); $version_url = $page->pageUrl()->add('version', $page->version()); $diff_url = Horde::url('diff.php')->add(array('page' => $page->pageName(), 'v1' => '?', 'v2' => $page->version())); $diff_alt = sprintf(_("Show changes for %s"), $page->version()); $diff_img = Horde::img('diff.png', $diff_alt); $pageInfo = array('author' => $page->author(), 'name' => $page->pageName(), 'url' => $page->pageUrl(), 'version' => $page->version(), 'version_url' => $version_url, 'version_alt' => sprintf(_("Show version %s"), $page->version()), 'diff_url' => $diff_url, 'diff_alt' => $diff_alt, 'diff_img' => $diff_img, 'created' => $page->formatVersionCreated(), 'change_log' => $page->changeLog()); $bydate[$createDate][$page->versionCreated()][$page->version()] = $pageInfo; } krsort($bydate); foreach ($bydate as $bysecond) { $day = array(); krsort($bysecond); foreach ($bysecond as $pageList) { krsort($pageList); $day = array_merge($day, array_values($pageList)); } $changes[] = array('date' => $day[0]['created'], 'pages' => $day); } return $changes; }
/** * Renders this page in display mode. * * @param string $searchtext The title to search for. * * @return string The content. * @throws Wicked_Exception */ public function display($searchtext) { global $injector, $notification, $page_output, $wicked; $view = $injector->createInstance('Horde_View'); if (!$searchtext) { return $view->render('pagelist/search') . $view->render('pagelist/footer'); } /* Prepare exact match section */ $exact = array(); $page = new Wicked_Page_StandardPage($searchtext); if ($wicked->pageExists($searchtext)) { $exact[] = $page->toView(); } else { $exact[] = (object) array('author' => '', 'context' => Wicked::url($searchtext, false)->link(array('title' => sprintf(_("Create %s"), $searchtext))) . sprintf(_("%s does not exist. You can create it now."), '<strong>' . htmlspecialchars($searchtext) . '</strong>') . '</a>', 'date' => '', 'name' => htmlspecialchars($searchtext), 'timestamp' => 0, 'version' => '', 'url' => Wicked::url($searchtext, false)); } /* Prepare page title matches */ $titles = array(); foreach ($this->_results['titles'] as $page) { if (!empty($page['page_history'])) { $page = new Wicked_Page_StandardHistoryPage($page); } else { $page = new Wicked_Page_StandardPage($page); } $titles[] = $page->toView(); } /* Prepare page text matches */ $pages = array(); foreach ($this->_results['pages'] as $page) { if (!empty($page['page_history'])) { $page = new Wicked_Page_StandardHistoryPage($page); } else { $page = new Wicked_Page_StandardPage($page); } $object = $page->toView(); $object->context = $this->getContext($page, $searchtext); $pages[] = $object; } $page_output->addScriptFile('tables.js', 'horde'); $header = $injector->createInstance('Horde_View'); $header->th_page = _("Page"); $header->th_version = _("Current Version"); $header->th_author = _("Last Author"); $header->th_updated = _("Last Update"); $view = $injector->createInstance('Horde_View'); // Show search form and page header. $content = $view->render('pagelist/search'); // Show exact match. $header->title = _("Exact Match"); $content .= $header->render('pagelist/results_header') . $view->renderPartial('pagelist/page', array('collection' => $exact)) . $view->render('pagelist/results_footer'); // Show page title matches. $header->title = _("Page Title Matches"); $content .= $header->render('pagelist/results_header') . $view->renderPartial('pagelist/page', array('collection' => $titles)) . $view->render('pagelist/results_footer'); // Show page text matches. $header->title = _("Page Text Matches"); $content .= $header->render('pagelist/results_header') . $view->renderPartial('pagelist/page', array('collection' => $pages)) . $view->render('pagelist/results_footer'); return $content; }