Ejemplo n.º 1
0
 /**
  * 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);
     }
 }
Ejemplo n.º 2
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);
     }
 }
Ejemplo n.º 3
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);
     }
 }
Ejemplo n.º 4
0
 /**
  * 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']);
     }
 }