| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace app\controllers;
- use app\models\contentList;
- use app\models\User;
- use app\models\Anime;
- class AnimeListController extends \lithium\action\Controller {
- public $publicActions = array('view');
- public function view($username, $sort = "all")
- {
- $user = User::find('first', array('conditions' => compact('username')));
-
- $watching = array();
- $paused = array();
- $dropped = array();
- $planning = array();
- $finished = array();
-
- foreach($user->animelist as $entry)
- {
- switch($entry->my_status)
- {
- case "Completed": $finished[] = $entry; break;
- case "Watching": $watching[] = $entry; break;
- case "On-Hold" : $paused[] = $entry; break;
- case "Dropped" : $dropped[] = $entry; break;
- case "Plan to Watch": $planning[] = $entry; break;
- }
- }
-
- //In the future we can use set or something
- switch($sort)
- {
- case "planning" : return compact('user', 'planning'); break;
- case "completed" : return compact('user', 'finished'); break;
- case "onhold": return compact('user', 'paused'); break;
- case "watching" : return compact('user', 'watching'); break;
- case "dropped": return compact('user', 'dropped');
- default: return compact('user', 'watching', 'paused', 'dropped', 'planning', 'finished'); break;
- }
- }
- public function add($id)
- {
- if (empty($this->request->data))
- {
- $anime = Anime::find('first', array('conditions' => array('special_id' => $id)));
- $entry = null;
- return compact('anime', 'entry');
- }
- $entry = Entry::create($this->request->data);
- if (isset($this->request->data['tags']))
- {
- $entry->my_tags = explode(' ', $this->request->data['tags']);
- unset($this->request->data['tags']);
- }
-
- if ($entry->validates()) {
- $entry->add($username);
- return $this->redirects('Animelist::Index');
- }
- return $entry;
-
- }
- }
|