diff options
| author | horus | 2020-03-15 02:37:27 +0100 |
|---|---|---|
| committer | horus | 2020-03-15 02:37:27 +0100 |
| commit | 6ee98957635ec027fc98382befb9fd154d88889e (patch) | |
| tree | cb579190db00fa3804b83ed268b602bcff5445a4 /app | |
| parent | 571609509e35b9ea6fa3eba0afa9a3427cde606b (diff) | |
| download | senpai-6ee98957635ec027fc98382befb9fd154d88889e.tar.gz | |
Updates watched episodes in not yet aired calendar entries.
Diffstat (limited to 'app')
| -rw-r--r-- | app/Libraries/Helper.php | 27 |
1 files 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; |
