2015-06-16 11:11:35 -04:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Manga Controller
|
|
|
|
*/
|
2015-09-14 19:54:34 -04:00
|
|
|
namespace Aviat\AnimeClient\Controller;
|
2015-09-14 10:54:50 -04:00
|
|
|
|
2015-09-14 19:54:34 -04:00
|
|
|
use Aviat\AnimeClient\Base\Container;
|
|
|
|
use Aviat\AnimeClient\Base\Controller;
|
|
|
|
use Aviat\AnimeClient\Base\Config;
|
|
|
|
use Aviat\AnimeClient\Model\Manga as MangaModel;
|
2015-06-16 11:11:35 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Controller for manga list
|
|
|
|
*/
|
2015-09-14 10:54:50 -04:00
|
|
|
class Manga extends Controller {
|
2015-06-16 11:11:35 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The manga model
|
|
|
|
* @var object $model
|
|
|
|
*/
|
2015-06-24 16:01:35 -04:00
|
|
|
protected $model;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Data to ve sent to all routes in this controller
|
|
|
|
* @var array $base_data
|
|
|
|
*/
|
|
|
|
protected $base_data;
|
|
|
|
|
2015-06-16 11:11:35 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Route mapping for main navigation
|
|
|
|
* @var array $nav_routes
|
|
|
|
*/
|
|
|
|
private $nav_routes = [
|
2015-09-14 10:54:50 -04:00
|
|
|
'Reading' => '/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}'
|
2015-06-16 11:11:35 -04:00
|
|
|
];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructor
|
2015-09-14 19:54:34 -04:00
|
|
|
*
|
|
|
|
* @param Container $container
|
2015-06-16 11:11:35 -04:00
|
|
|
*/
|
2015-09-14 10:54:50 -04:00
|
|
|
public function __construct(Container $container)
|
2015-06-16 11:11:35 -04:00
|
|
|
{
|
2015-09-14 10:54:50 -04:00
|
|
|
parent::__construct($container);
|
|
|
|
$config = $container->get('config');
|
|
|
|
$this->model = new MangaModel($container);
|
2015-09-14 15:49:20 -04:00
|
|
|
$this->base_data = array_merge($this->base_data, [
|
2015-07-02 14:04:04 -04:00
|
|
|
'config' => $this->config,
|
2015-06-24 16:01:35 -04:00
|
|
|
'url_type' => 'manga',
|
|
|
|
'other_type' => 'anime',
|
|
|
|
'nav_routes' => $this->nav_routes
|
2015-09-14 15:49:20 -04:00
|
|
|
]);
|
2015-06-24 16:01:35 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Update an anime item
|
|
|
|
*
|
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function update()
|
|
|
|
{
|
|
|
|
$this->outputJSON($this->model->update($this->request->post->get()));
|
2015-06-16 11:11:35 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get a section of the manga list
|
|
|
|
*
|
|
|
|
* @param string $status
|
|
|
|
* @param string $title
|
|
|
|
* @param string $view
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function manga_list($status, $title, $view)
|
|
|
|
{
|
|
|
|
$view_map = [
|
|
|
|
'' => 'cover',
|
|
|
|
'list' => 'list'
|
|
|
|
];
|
|
|
|
|
|
|
|
$data = ($status !== 'all')
|
|
|
|
? [$status => $this->model->get_list($status)]
|
|
|
|
: $this->model->get_all_lists();
|
|
|
|
|
|
|
|
$this->outputHTML('manga/' . $view_map[$view], [
|
|
|
|
'title' => $title,
|
|
|
|
'sections' => $data
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|
2015-09-14 10:54:50 -04:00
|
|
|
// End of MangaController.php
|