From 106981bedfc29c15f6e9deae9d55c5eea87997db Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Wed, 7 Sep 2022 09:55:52 +0000 Subject: [PATCH] fix activity feed retrieval, fixes #1557 Closes #1557 Merge request studip/studip!979 --- app/routes/Activity.php | 19 ++++++++----------- lib/activities/Activity.php | 6 +++--- .../assets/javascripts/lib/activityfeed.js | 2 +- templates/start/activityfeed.php | 2 +- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/app/routes/Activity.php b/app/routes/Activity.php index a37c01ec7f7..d67578418ff 100644 --- a/app/routes/Activity.php +++ b/app/routes/Activity.php @@ -18,7 +18,7 @@ class Activity extends \RESTAPI\RouteMap * * @param string $user_id the user to get the activities for * - * @return Array the activities as array('collection' => array(...), 'pagination' => array()) + * @return array the activities as array('collection' => array(...), 'pagination' => array()) */ public function getActivities($user_id) { @@ -29,11 +29,8 @@ class Activity extends \RESTAPI\RouteMap // failsafe einbauen - falls es keine älteren Aktivitäten mehr im System gibt, Abbruch! - if ($oldest_activity = \Studip\Activity\Activity::getOldestActivity()) { - $max_age = array_pop($oldest_activity)->mkdate; - } else { - $max_age = time(); - } + $oldest_activity = \Studip\Activity\Activity::getOldestActivity(); + $max_age = $oldest_activity ? $oldest_activity->mkdate : time(); $contexts = []; @@ -70,16 +67,16 @@ class Activity extends \RESTAPI\RouteMap $scrollfrom = \Request::int('scrollfrom', false); $filtertype = \Request::get('filtertype', ''); - $objectType = \Request::get('object_type', ''); + $objectType = \Request::get('object_type'); $filter->setObjectType($objectType); - - $objectId = \Request::get('object_id', ''); + + $objectId = \Request::get('object_id'); $filter->setObjectId($objectId); - $context = \Request::get('context_type', ''); + $context = \Request::get('context_type'); $filter->setContext($context); - $contextId = \Request::get('context_id', ''); + $contextId = \Request::get('context_id'); $filter->setContextId($contextId); if (!empty($filtertype)) { diff --git a/lib/activities/Activity.php b/lib/activities/Activity.php index b46c9b23be4..3508e5a2170 100644 --- a/lib/activities/Activity.php +++ b/lib/activities/Activity.php @@ -169,15 +169,15 @@ class Activity extends \SimpleORMap /** * Returns the oldest existing activity * - * @return Array + * @return Activity|false */ public static function getOldestActivity() { $cache = \StudipCacheFactory::getCache(); - $cache_key = 'activity/oldest_activity'; + $cache_key = 'activity/oldest-activity'; if (!$activity = unserialize($cache->read($cache_key))) { - $activity = self::findBySQL('1 ORDER BY mkdate ASC LIMIT 1'); + $activity = self::findOneBySQL('1 ORDER BY mkdate ASC LIMIT 1'); if (!empty($activity)) { $cache->write($cache_key, serialize($activity)); diff --git a/resources/assets/javascripts/lib/activityfeed.js b/resources/assets/javascripts/lib/activityfeed.js index a753e1d9b2d..74c27f9f260 100644 --- a/resources/assets/javascripts/lib/activityfeed.js +++ b/resources/assets/javascripts/lib/activityfeed.js @@ -50,7 +50,7 @@ const ActivityFeed = { STUDIP.api.GET(['user', STUDIP.ActivityFeed.user_id, 'activitystream'], { data: { - filtertype: filtertype, + filtertype: JSON.stringify(filtertype), scrollfrom: STUDIP.ActivityFeed.scrolledfrom } }).done(function (activities) { diff --git a/templates/start/activityfeed.php b/templates/start/activityfeed.php index 6d86cf16fa5..a95fbb6bd9f 100644 --- a/templates/start/activityfeed.php +++ b/templates/start/activityfeed.php @@ -3,7 +3,7 @@ jQuery(document).ready(function() { STUDIP.ActivityFeed.user_id = '<?= $user_id ?>'; STUDIP.ActivityFeed.scrolledfrom = '<?= $scrolledfrom ?>'; - STUDIP.ActivityFeed.filter = '<?= json_encode($config) ?>'; + STUDIP.ActivityFeed.filter = <?= json_encode($config) ?>; STUDIP.ActivityFeed.init(); }); </script> -- GitLab