X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2FSearchSub%2FSearchSub.php;h=b903e88e2eac85e0be06f68de9da64ed23be3af1;hb=c97048d01bea468e0cf8865b60c3c250b4515c39;hp=cbf64d39cc31ed52bedc096506176e4d48e25cc2;hpb=325cb4833db7e3fd396720f12a27b880b63f4173;p=quix0rs-gnu-social.git diff --git a/plugins/SearchSub/SearchSub.php b/plugins/SearchSub/SearchSub.php index cbf64d39cc..b903e88e2e 100644 --- a/plugins/SearchSub/SearchSub.php +++ b/plugins/SearchSub/SearchSub.php @@ -120,6 +120,7 @@ class SearchSub extends Managed_DataObject $ts->profile_id = $profile->id; $ts->created = common_sql_now(); $ts->insert(); + self::blow('searchsub:by_profile:%d', $profile->id); return $ts; } @@ -135,6 +136,34 @@ class SearchSub extends Managed_DataObject 'profile_id' => $profile->id)); if ($ts) { $ts->delete(); + self::blow('searchsub:by_profile:%d', $profile->id); } } + + static function forProfile(Profile $profile) + { + $searches = array(); + + $keypart = sprintf('searchsub:by_profile:%d', $profile->id); + $searchstring = self::cacheGet($keypart); + + if ($searchstring !== false && !empty($searchstring)) { + $searches = explode(',', $searchstring); + } else { + $searchsub = new SearchSub(); + $searchsub->profile_id = $profile->id; + + if ($searchsub->find()) { + while ($searchsub->fetch()) { + if (!empty($searchsub->search)) { + $searches[] = $searchsub->search; + } + } + } + + self::cacheSet($keypart, implode(',', $searches)); + } + + return $searches; + } }