public function addWatched()
 {
     $anime_id = Input::get("anime_id");
     $episode_id = Input::get("episode_id");
     $completed = Input::get("completed");
     if (Sentry::check()) {
         if (!empty($anime_id) && !empty($episode_id)) {
             $user_id = Sentry::getUser()->id;
             $mirrors = MasterAnime::getEpisode($anime_id, $episode_id);
             if (!empty($mirrors) && count($mirrors) > 0) {
                 $watched = UserLibrary::firstOrNew(array('user_id' => $user_id, 'anime_id' => $anime_id));
                 if (empty($watched->last_watched_episode) || $watched->last_watched_episode < $episode_id) {
                     MasterAnime::addSocialList($anime_id, $episode_id, $completed);
                     $watched->last_watched_episode = $episode_id;
                     $date = new \DateTime();
                     $watched->last_watched_time = $date;
                     $watched->save();
                     return View::make('child.alerts', array('msg_type' => 'success', 'msg' => 'Added episode ' . $episode_id . ' to last watched anime!'));
                 }
             }
         }
     } else {
         return View::make('child.alerts', array('msg_type' => 'info', 'msg' => '<a href="http://www.masterani.me/account">Sign-in</a> or <a href="http://www.masterani.me/account/register">Sign-up</a></strong> to track up to 10 last watched animes! (supports updating MAL/hummingbird)'));
     }
 }
 public function getEpisode($id, $name, $episode)
 {
     $anime = Anime::find($id);
     if (!empty($anime)) {
         $mirrors = MasterAnime::getEpisode($anime->id, $episode);
         if (!empty($mirrors) && count($mirrors) > 0) {
             return View::make('watch', array('title' => 'Watch ' . $anime->name . ' - episode ' . $episode, 'description' => 'Watch ' . $anime->name . ' episode ' . $episode . ' online in HD on desktop, tablet and mobile.', 'anime' => $anime, 'mirrors' => $mirrors, 'episode' => $episode));
         }
         return App::abort(404);
     }
     return App::abort(404);
 }
예제 #3
0
 public function setLastWatched()
 {
     $username = Input::get("username");
     $password = Input::get("password");
     $id = Input::get("id");
     $episode = Input::get("episode");
     try {
         $credentials = array('username' => $username, 'password' => $password);
         $user = Sentry::authenticate($credentials, false);
         $user_id = $user->id;
         $mirrors = MasterAnime::getEpisode($id, $episode);
         if (!empty($mirrors) && count($mirrors) > 0 && !empty($id) && !empty($episode)) {
             $lastwatch = LastWatched::firstOrNew(array('user_id' => $user_id, 'anime_id' => $id));
             if (empty($lastwatch->episode) || $lastwatch->episode < $episode) {
                 MasterAnime::addToMAL($id, $episode, 1);
                 MasterAnime::addToHummingbird($id, $episode, 1);
                 $lastwatch->user_id = $user_id;
                 $lastwatch->anime_id = $id;
                 $lastwatch->episode = $episode;
                 $lastwatch->save();
                 return 'Succesfully added episode ' . $episode . ' to last watched anime!';
             }
         }
     } catch (Cartalyst\Sentry\Users\LoginRequiredException $e) {
         return 'Username is required.';
     } catch (Cartalyst\Sentry\Users\PasswordRequiredException $e) {
         return 'Password is required.';
     } catch (Cartalyst\Sentry\Users\WrongPasswordException $e) {
         return 'Wrong password.';
     } catch (Cartalyst\Sentry\Users\UserNotFoundException $e) {
         return 'User was not found.';
     } catch (Cartalyst\Sentry\Users\UserNotActivatedException $e) {
         return 'User is not activated.';
     } catch (Cartalyst\Sentry\Throttling\UserSuspendedException $e) {
         return 'User is suspended.';
     } catch (Cartalyst\Sentry\Throttling\UserBannedException $e) {
         return 'User is banned.';
     }
 }