Wicked_Page::getPage PHP Method

getPage() public static method

Returns the requested page.
public static getPage ( $pagename, $pagever = null, $referrer = null ) : Wicked_Page
return Wicked_Page The requested page.
    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);
    }

Usage Example

Ejemplo n.º 1
0
 public function handleAction()
 {
     global $notification;
     $page = Wicked_Page::getPage($this->referrer());
     if ($page->allows(Wicked::MODE_EDIT)) {
         $version = Horde_Util::getPost('version');
         if (empty($version)) {
             $notification->push(sprintf(_("Can't revert to an unknown version.")), 'horde.error');
             Wicked::url($this->referrer(), true)->redirect();
         }
         $oldpage = Wicked_Page::getPage($this->referrer(), $version);
         $page->updateText($oldpage->getText(), 'Revert');
         $notification->push(sprintf(_("Reverted to version %s of \"%s\"."), $version, $page->pageName()));
         Wicked::url($page->pageName(), true)->redirect();
     }
     $notification->push(sprintf(_("You don't have permission to edit \"%s\"."), $page->pageName()), 'horde.warning');
     Wicked::url($this->referrer(), true)->redirect();
 }
All Usage Examples Of Wicked_Page::getPage