diff options
Diffstat (limited to 'controllers/SearchController.php')
-rw-r--r-- | controllers/SearchController.php | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/controllers/SearchController.php b/controllers/SearchController.php index b6a95e6..496dec5 100644 --- a/controllers/SearchController.php +++ b/controllers/SearchController.php @@ -2,38 +2,35 @@ namespace app\controllers; -use app\models\anime; -use \MongoRegex; +use app\models\Anime; +use app\models\Manga; +use app\models\Kdrama; + class SearchController extends \lithium\action\Controller { public $publicActions = array('index'); - public function index($type, $by = "series_title") - { + protected $_types = array('Anime' => 'app\models\Anime', + 'Manga' => 'app\models\Manga', + 'Kdrama' => 'app\models\Kdrama', - if (empty($this->request->query['search'])) { - //Redirect them or something - } + 'anime' => 'app\models\Anime', + 'manga' => 'app\models\Manga', + 'kdrama' => 'app\models\Kdrama'); - - $searchParam = '/' . $this->request->query['search'] . '/i'; + public function index($type, $by = 'title') + { - $content; - $limit = 20; - $page = $this->request->page ?: 1; - $total; //<-- number of search results + $searchParam = '/' . $this->request->query['search'] . '/i'; + $page = $this->request->query['page'] ?: 1; - - switch($type) + //If the type part of the URL is a valid type (as defined above), + if (isset($this->_types[$type])) { - case "anime": $content = Anime::find('all', array('conditions' => array('title' => array('like' => $searchParam)), $limit, $page)); - $total = Anime::count(array('title' => array('like' => $searchParam))); - break; - case "kdrama": break; - case "manga": break; + $model = $this->_types[$type]; + + //Forcing search to title for now, until the search frontend is done + return $model::search($searchParam, $page, 'title'); } - return compact('content', 'type', 'by', 'limit', 'total', 'page'); } - - }
\ No newline at end of file |