'/manga/reading{/view}', 'Plan to Read' => '/manga/plan_to_read{/view}', 'On Hold' => '/manga/on_hold{/view}', 'Dropped' => '/manga/dropped{/view}', 'Completed' => '/manga/completed{/view}', 'All' => '/manga/all{/view}' ]; /** * Constructor * * @param Container $container */ public function __construct(ContainerInterface $container) { parent::__construct($container); $config = $container->get('config'); $this->model = new MangaModel($container); $this->base_data = array_merge($this->base_data, [ 'config' => $this->config, 'url_type' => 'manga', 'other_type' => 'anime', 'nav_routes' => $this->nav_routes ]); } public function index($status="all", $view="") { return $this->manga_list($status, $view); } /** * Update an anime item * * @return bool */ public function update() { $this->outputJSON($this->model->update($this->request->post->get())); } /** * Get a section of the manga list * * @param string $status * @param string $view * @return void */ protected function manga_list($status, $view) { $map = [ 'all' => 'All', 'plan_to_read' => MangaModel::PLAN_TO_READ, 'reading' => MangaModel::READING, 'completed' => MangaModel::COMPLETED, 'dropped' => MangaModel::DROPPED, 'on_hold' => MangaModel::ON_HOLD ]; $title = $this->config->whose_list . "'s Manga List · {$map[$status]}"; $view_map = [ '' => 'cover', 'list' => 'list' ]; $data = ($status !== 'all') ? [$map[$status] => $this->model->get_list($map[$status])] : $this->model->get_all_lists(); //throw new \ErrorException("Data :" . print_r($data, TRUE)); $this->outputHTML('manga/' . $view_map[$view], [ 'title' => $title, 'sections' => $data, ]); } } // End of MangaController.php