From 6ee98957635ec027fc98382befb9fd154d88889e Mon Sep 17 00:00:00 2001 From: horus Date: Sun, 15 Mar 2020 02:37:27 +0100 Subject: Updates watched episodes in not yet aired calendar entries. --- app/Libraries/Helper.php | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/app/Libraries/Helper.php b/app/Libraries/Helper.php index 0cc21bf..ef1eaf6 100644 --- a/app/Libraries/Helper.php +++ b/app/Libraries/Helper.php @@ -75,8 +75,28 @@ class Helper { $q->where('episode', $airing->episode)->orWhere('airing_at', $airing->aired_at); })->get()->first(); + /** + * Check if we already have an entry. If we don't continue it raises an sql integrity error. + */ if ( ! is_null( $check ) ) { - echo "setCalendar: duplicate entry. ".$anime->mal_id." continue\n"; continue; + + /** + * Update watched episodes. + */ + $check_watched_eps = DB::table('is_watching') + ->where('mal_id', $anime->mal_id) + ->where('user_id', $user->id) + ->get('episodes_watched')[0]; + if ( $check_watched_eps->episodes_watched != $check->episodes_watched ) { + echo "setCalendar: update episodes_watched from " . $check->episodes_watched . " to " . $check_watched_eps->episodes_watched . "\n"; + + $check->episodes_watched = $check_watched_eps->episodes_watched; + $check->save(); + } else { + echo "setCalendar: duplicate entry. ".$anime->mal_id." continue\n"; + } + + continue; } $calendar = new Calendar(); @@ -118,14 +138,13 @@ class Helper { /** * Update watched episodes. */ - $check_watched_episodes = DB::table('is_watching') + $check_watched_eps = DB::table('is_watching') ->where('mal_id', $anime_details["mal_id"]) ->where('user_id', $user->id) ->get('episodes_watched')[0]; - if ( $check_watched_episodes->episodes_watched != $anime_details["episodes_watched"] ) { + if ( $check_watched_eps->episodes_watched != $anime_details["episodes_watched"] ) { DB::update('UPDATE is_watching SET episodes_watched = ? WHERE mal_id = ? AND user_id = ?', [ $anime_details["episodes_watched"], $anime_details["mal_id"], $user->id] ); - } continue; -- cgit v1.2.3