/** * 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); } }
/** * 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']); } }