diff --git a/mod/photos.php b/mod/photos.php index bb1b117c5b..c7021aa447 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -61,7 +61,7 @@ function photos_init(App $a) { '$pdesc' => defaults($profile, 'pdesc', ''), )); - $albums = Photo::photoAlbums($a->data['user']['uid']); + $albums = Photo::getAlbums($a->data['user']['uid']); $albums_visible = ((intval($a->data['user']['hidewall']) && !local_user() && !remote_user()) ? false : true); @@ -212,7 +212,7 @@ function photos_post(App $a) intval($page_owner_uid) ); // Update the photo albums cache - Photo::photoAlbums($page_owner_uid, true); + Photo::clearAlbumCache($page_owner_uid); $newurl = str_replace(bin2hex($album), bin2hex($newalbum), $_SESSION['photo_return']); goaway($newurl); @@ -299,7 +299,7 @@ function photos_post(App $a) } // Update the photo albums cache - Photo::photoAlbums($page_owner_uid, true); + Photo::clearAlbumCache($page_owner_uid); } goaway('photos/' . $a->data['user']['nickname']); @@ -367,7 +367,7 @@ function photos_post(App $a) $drop_id = intval($i[0]['id']); // Update the photo albums cache - Photo::photoAlbums($page_owner_uid, true); + Photo::clearAlbumCache($page_owner_uid); if ($i[0]['visible']) { Worker::add(PRIORITY_HIGH, "Notifier", "drop", $drop_id); @@ -471,7 +471,7 @@ function photos_post(App $a) // Update the photo albums cache if album name was changed if ($albname !== $origaname) { - Photo::photoAlbums($page_owner_uid, true); + Photo::clearAlbumCache($page_owner_uid); } } @@ -931,13 +931,13 @@ function photos_post(App $a) $item_id = item_store($arr); // Update the photo albums cache - Photo::photoAlbums($page_owner_uid, true); + Photo::clearAlbumCache($page_owner_uid); if ($visible) { Worker::add(PRIORITY_HIGH, "Notifier", 'wall-new', $item_id); } - call_hooks('photo_post_end',intval($item_id)); + call_hooks('photo_post_end', intval($item_id)); // addon uploaders should call "killme()" [e.g. exit] within the photo_post_end hook // if they do not wish to be redirected diff --git a/src/Model/Photo.php b/src/Model/Photo.php index e4ad198e6c..a25b2fa9d6 100644 --- a/src/Model/Photo.php +++ b/src/Model/Photo.php @@ -220,7 +220,7 @@ class Photo * * @return array Returns array of the photo albums */ - public static function photoAlbums($uid, $update = false) + public static function getAlbums($uid, $update = false) { $sql_extra = permissions_sql($uid); @@ -252,4 +252,14 @@ class Photo } return $albums; } + + /** + * @param int $uid User id of the photos + * @return void + */ + public static function clearAlbumCache($uid) + { + $key = "photo_albums:".$uid.":".local_user().":".remote_user(); + Cache::set($key, null, CACHE_DAY); + } } diff --git a/src/Worker/CronJobs.php b/src/Worker/CronJobs.php index a0530c44a8..e83347055b 100644 --- a/src/Worker/CronJobs.php +++ b/src/Worker/CronJobs.php @@ -100,8 +100,8 @@ class CronJobs return; } - foreach ($r AS $user) { - Photo::photoAlbums($user['uid'], true); + foreach ($r as $user) { + Photo::clearAlbumCache($user['uid']); } }