Esempio n. 1
0
 /**
  * makes sure that all needed vars are initialised
  * also makes sure that all vars are passed to the strategy
  *
  * @access protected
  * @todo implement strategy init
  */
 protected function prepare()
 {
     if ($this->_prepared) {
         return;
     }
     $this->_prepared = true;
     $router = new RequestRouter();
     $req = $router->getRequestAndArgs();
     if (!$this->page_url) {
         $this->page_url = $req->request_uri;
     }
     if (!$this->active_page) {
         $this->active_page = ($page = $this->checkRequestForPageNumber($req)) ? $page : 1;
     }
     $this->cleanPageUrl();
     // need to adjust active page index
     if ($this->active_page > $this->numberOfPages()) {
         $this->active_page = $this->numberOfPages();
     }
     if ($this->active_page < 1) {
         $this->active_page = 1;
     }
     // todo: init strategy object here
     $this->pager_strategy->pager = $this;
     $this->pager_strategy->pages = $this->numberOfPages();
     $this->pager_strategy->active_page = $this->active_page;
 }
Esempio n. 2
0
 /**
  * returns the request uri plus arguments from get and post
  *
  * @access public
  * @return object
  */
 public function getRequestAndArgs()
 {
     if (!self::$_request_args) {
         $args = new stdClass();
         $args->request_uri = $_SERVER['REQUEST_URI'];
         $args->request = PRequest::get()->request;
         $args->req = implode('/', $args->request);
         $args->get = $_GET;
         $args->post = $_POST;
         $args->get_or_post = array_merge($_POST, $_GET);
         $args->post_or_get = array_merge($_GET, $_POST);
         self::$_request_args = $args;
     }
     return self::$_request_args;
 }