/** * profile/edit & profile/view callback * @param eRequest $request */ public function idByName(eRequest $request) { $name = $request->getRequestParam('name'); if (!$name) { return; } // if id only is passed, don't do DB query if (is_numeric($name)) { $request->setRequestParam('id', $name)->setRequestParam('name', null); return; } $sql = e107::getDb('url'); $name = e107::getParser()->toDB($name); if ($sql->db_Select('user', 'user_id', "user_name='{$name}'")) { $name = $sql->db_Fetch(); $request->setRequestParam('id', $name['user_id']); } }
/** * chapter/index and book/index by name callback * @param eRequest $request */ public function chapterIdByTitle(eRequest $request) { $name = $request->getRequestParam('name'); if ($id = $request->getRequestParam('id')) { $request->setRequestParam('name', $id); return; } elseif (!$name || is_numeric($name)) { if (ADMIN) { e107::getMessage()->addError("One of your page-chapters is missing a SEF URL value"); } return; } $sql = e107::getDb('url'); $name = e107::getParser()->toDB($name); if ($sql->select('page_chapters', 'chapter_id', "chapter_sef='{$name}'")) { $name = $sql->fetch(); $request->setRequestParam('id', $name['chapter_id']); $request->setRequestParam('type', 'bk'); e107::getMessage()->addDebug("Set CHAPTER ID = '" . $name['chapter_id'] . "'"); } elseif ($sql->select('page', 'page_id', "page_sef='{$name}'")) { $name = $sql->fetch(); $request->setRequestParam('id', $name['page_id']); $request->setRequestParam('type', 'id'); e107::getMessage()->addDebug("Set PAGE ID = '" . $name['page_id'] . "'"); } else { if (ADMIN) { e107::getMessage()->addError("Couldn't find a book, chapter or page with a SEF URL value of '" . $name . "'"); } $request->setRequestParam('id', 0); } }
/** * view/item by name callback * @param eRequest $request */ public function itemIdByTitle(eRequest $request) { $name = $request->getRequestParam('name'); if ($id = $request->getRequestParam('id')) { $request->setRequestParam('name', $id); return; } elseif (!$name || is_numeric($name)) { return; } $sql = e107::getDb('url'); $name = e107::getParser()->toDB($name); if ($sql->db_Select('page', 'page_id', "page_theme='' AND page_sef='{$name}'")) { $name = $sql->db_Fetch(); $request->setRequestParam('name', $name['page_id']); } else { $request->setRequestParam('name', 0); } }
/** * list/items by name callback * @param eRequest $request */ public function categoryIdByTitle(eRequest $request) { $name = $request->getRequestParam('name'); if ($id = $request->getRequestParam('id')) { $request->setRequestParam('name', $id); return; } elseif (!$name) { return; } elseif (is_numeric($name)) { return; } $sql = e107::getDb('url'); $id = e107::getParser()->toDB($name); if ($sql->db_Select('news_category', 'category_id', "category_sef='{$name}'")) { $name = $sql->db_Fetch(); $request->setRequestParam('name', $name['category_id']); } else { $request->setRequestParam('name', 0); } }
/** * Legacy callback, used called when config option legacy is not empty * By default it sets legacy query string to $legacyQueryString value (normaly assigned inside of the parse method) * @param string $resolvedRoute * @param eRequest $request * @param string $callType 'route' - called once, when parsing the request, 'dispatch' - called inside the dispatch loop (in case of controller _forward) * @param void */ public function legacy($resolvedRoute, eRequest $request, $callType = 'route') { if ($this->legacyQueryString !== null) { $request->setLegacyQstring($this->legacyQueryString); $request->setLegacyPage(); } }
/** * this is for the omnigrid table management * * @access public * @return boolean True on success */ function getPageList() { if ($page = eRequest::getVar("page", 0)) { $page = true; $page = intval(eRequest::getVar("page")); $perpage = intval(eRequest::getVar("perpage")); $n = ($page - 1) * $perpage; } //setting pagination query $limit = ""; if ($page) { $limit = " LIMIT {$n}, {$perpage}"; } // this variables Omnigrid will send only if serverSort option is true $sorton = eRequest::getVar("sorton", false); $sortby = eRequest::getVar("sortby"); //setting pagination query $where = ""; if ($sorton) { $where = " ORDER BY {$sorton} {$sortby} "; } //set the query $query = "SELECT * FROM " . $this->_tbl . $where . $limit; //set and run the query $this->_db->setQuery($query); $this->_db->query(); $results = $this->_db->loadAssocList(); //set the query $query = "SELECT * FROM " . $this->_tbl; //set and run the query $this->_db->setQuery($query); $this->_db->query(); $total = $this->_db->getNumRows(); // return the json results $return = array("page" => $page, "total" => $total, "data" => $results); echo json_encode($return); return; }