summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorhorus2020-03-15 02:37:27 +0100
committerhorus2020-03-15 02:37:27 +0100
commit6ee98957635ec027fc98382befb9fd154d88889e (patch)
treecb579190db00fa3804b83ed268b602bcff5445a4 /app
parent571609509e35b9ea6fa3eba0afa9a3427cde606b (diff)
downloadsenpai-6ee98957635ec027fc98382befb9fd154d88889e.tar.gz
Updates watched episodes in not yet aired calendar entries.
Diffstat (limited to 'app')
-rw-r--r--app/Libraries/Helper.php27
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;