]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Notice.php
Stronger typing, require array where param array
[quix0rs-gnu-social.git] / classes / Notice.php
index 9a4b6db7fffadf8d5b62ee573f5b32bc003e99aa..630da81106543d604274893a892c33981896d206 100644 (file)
@@ -76,12 +76,6 @@ class Notice extends Managed_DataObject
     public $object_type;                     // varchar(255)
     public $scope;                           // int(4)
 
-    /* Static get */
-    function staticGet($k,$v=NULL)
-    {
-        return Memcached_DataObject::staticGet('Notice',$k,$v);
-    }
-
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
@@ -159,7 +153,7 @@ class Notice extends Managed_DataObject
     function getProfile()
     {
         if (is_int($this->_profile) && $this->_profile == -1) {
-            $this->_setProfile(Profile::staticGet('id', $this->profile_id));
+            $this->_setProfile(Profile::getKV('id', $this->profile_id));
 
             if (empty($this->_profile)) {
                 // TRANS: Server exception thrown when a user profile for a notice cannot be found.
@@ -183,10 +177,10 @@ class Notice extends Managed_DataObject
 
         // @fixme we have some cases where things get re-run and so the
         // insert fails.
-        $deleted = Deleted_notice::staticGet('id', $this->id);
+        $deleted = Deleted_notice::getKV('id', $this->id);
 
         if (!$deleted) {
-            $deleted = Deleted_notice::staticGet('uri', $this->uri);
+            $deleted = Deleted_notice::getKV('uri', $this->uri);
         }
 
         if (!$deleted) {
@@ -325,7 +319,7 @@ class Notice extends Managed_DataObject
      * @return Notice
      * @throws ClientException
      */
-    static function saveNew($profile_id, $content, $source, $options=null) {
+    static function saveNew($profile_id, $content, $source, array $options=null) {
         $defaults = array('uri' => null,
                           'url' => null,
                           'reply_to' => null,
@@ -346,8 +340,8 @@ class Notice extends Managed_DataObject
             $is_local = Notice::LOCAL_PUBLIC;
         }
 
-        $profile = Profile::staticGet('id', $profile_id);
-        $user = User::staticGet('id', $profile_id);
+        $profile = Profile::getKV('id', $profile_id);
+        $user = User::getKV('id', $profile_id);
         if ($user) {
             // Use the local user's shortening preferences, if applicable.
             $final = $user->shortenLinks($content);
@@ -426,7 +420,7 @@ class Notice extends Managed_DataObject
 
             // Check for a private one
 
-            $repeat = Notice::staticGet('id', $repeat_of);
+            $repeat = Notice::getKV('id', $repeat_of);
 
             if (empty($repeat)) {
                 // TRANS: Client exception thrown in notice when trying to repeat a missing or deleted notice.
@@ -546,7 +540,7 @@ class Notice extends Managed_DataObject
         // Force the scope for private groups
 
         foreach ($groups as $groupId) {
-            $group = User_group::staticGet('id', $groupId);
+            $group = User_group::getKV('id', $groupId);
             if (!empty($group)) {
                 if ($group->force_scope) {
                     $notice->scope |= Notice::GROUP_SCOPE;
@@ -653,16 +647,16 @@ class Notice extends Managed_DataObject
             self::blow('notice:list-ids:repeat_of:%d', $this->repeat_of);
         }
 
-        $original = Notice::staticGet('id', $this->repeat_of);
+        $original = Notice::getKV('id', $this->repeat_of);
 
         if (!empty($original)) {
-            $originalUser = User::staticGet('id', $original->profile_id);
+            $originalUser = User::getKV('id', $original->profile_id);
             if (!empty($originalUser)) {
                 $this->blowStream('user:repeats_of_me:%d', $originalUser->id);
             }
         }
 
-        $profile = Profile::staticGet($this->profile_id);
+        $profile = Profile::getKV($this->profile_id);
 
         if (!empty($profile)) {
             $profile->blowNoticeCount();
@@ -729,7 +723,7 @@ class Notice extends Managed_DataObject
         if ($lastStr !== false) {
             $window     = explode(',', $lastStr);
             $lastID     = $window[0];
-            $lastNotice = Notice::staticGet('id', $lastID);
+            $lastNotice = Notice::getKV('id', $lastID);
             if (empty($lastNotice) // just weird
                 || strtotime($lastNotice->created) >= strtotime($this->created)) {
                 $c->delete($lastKey);
@@ -776,7 +770,7 @@ class Notice extends Managed_DataObject
     }
 
     static function checkDupes($profile_id, $content) {
-        $profile = Profile::staticGet($profile_id);
+        $profile = Profile::getKV($profile_id);
         if (empty($profile)) {
             return false;
         }
@@ -804,7 +798,7 @@ class Notice extends Managed_DataObject
     }
 
     static function checkEditThrottle($profile_id) {
-        $profile = Profile::staticGet($profile_id);
+        $profile = Profile::getKV($profile_id);
         if (empty($profile)) {
             return false;
         }
@@ -829,7 +823,7 @@ class Notice extends Managed_DataObject
             return $this->_attachments;
         }
                
-               $f2ps = Memcached_DataObject::listGet('File_to_post', 'post_id', array($this->id));
+        $f2ps = File_to_post::listGet('post_id', array($this->id));
                
                $ids = array();
                
@@ -960,7 +954,7 @@ class Notice extends Managed_DataObject
      *              if left empty, will be loaded from reply records
      * @return array associating recipient user IDs with an inbox source constant
      */
-    function whoGets($groups=null, $recipients=null)
+    function whoGets(array $groups=null, array $recipients=null)
     {
         $c = self::memcache();
 
@@ -1024,7 +1018,7 @@ class Notice extends Managed_DataObject
             $originalProfile = null;
             if ($this->repeat_of) {
                 // Check blocks against the original notice's poster as well.
-                $original = Notice::staticGet('id', $this->repeat_of);
+                $original = Notice::getKV('id', $this->repeat_of);
                 if ($original) {
                     $originalProfile = $original->getProfile();
                 }
@@ -1032,7 +1026,7 @@ class Notice extends Managed_DataObject
 
             foreach ($ni as $id => $source) {
                 try {
-                    $user = User::staticGet('id', $id);
+                    $user = User::getKV('id', $id);
                     if (empty($user) ||
                         $user->hasBlocked($profile) ||
                         ($originalProfile && $user->hasBlocked($originalProfile))) {
@@ -1071,7 +1065,7 @@ class Notice extends Managed_DataObject
      * @param array $recipient optional list of reply profile ids
      *              if left empty, will be loaded from reply records
      */
-    function addToInboxes($groups=null, $recipients=null)
+    function addToInboxes(array $groups=null, array $recipients=null)
     {
         $ni = $this->whoGets($groups, $recipients);
 
@@ -1151,7 +1145,7 @@ class Notice extends Managed_DataObject
 
         $groups = array();
         foreach (array_unique($group_ids) as $id) {
-            $group = User_group::staticGet('id', $id);
+            $group = User_group::getKV('id', $id);
             if ($group) {
                 common_log(LOG_ERR, "Local delivery to group id $id, $group->nickname");
                 $result = $this->addToGroupInbox($group);
@@ -1257,15 +1251,15 @@ class Notice extends Managed_DataObject
      *
      * Mail notifications etc will be handled later.
      *
-     * @param array of unique identifier URIs for recipients
+     * @param array  $uris   Array of unique identifier URIs for recipients
      */
-    function saveKnownReplies($uris)
+    function saveKnownReplies(array $uris)
     {
         if (empty($uris)) {
             return;
         }
 
-        $sender = Profile::staticGet($this->profile_id);
+        $sender = Profile::getKV($this->profile_id);
 
         foreach (array_unique($uris) as $uri) {
 
@@ -1306,7 +1300,7 @@ class Notice extends Managed_DataObject
             return array();
         }
 
-        $sender = Profile::staticGet($this->profile_id);
+        $sender = Profile::getKV($this->profile_id);
 
         $replied = array();
 
@@ -1344,7 +1338,7 @@ class Notice extends Managed_DataObject
 
                 // Don't save replies from blocked profile to local user
 
-                $mentioned_user = User::staticGet('id', $mentioned->id);
+                $mentioned_user = User::getKV('id', $mentioned->id);
                 if (!empty($mentioned_user) && $mentioned_user->hasBlocked($sender)) {
                     continue;
                 }
@@ -1386,7 +1380,7 @@ class Notice extends Managed_DataObject
             return $this->_replies;
         }
 
-        $replyMap = Memcached_DataObject::listGet('Reply', 'notice_id', array($this->id));
+        $replyMap = Reply::listGet('notice_id', array($this->id));
 
         $ids = array();
 
@@ -1435,7 +1429,7 @@ class Notice extends Managed_DataObject
         $recipientIds = $this->getReplies();
 
         foreach ($recipientIds as $recipientId) {
-            $user = User::staticGet('id', $recipientId);
+            $user = User::getKV('id', $recipientId);
             if (!empty($user)) {
                 mail_notify_attn($user, $this);
             }
@@ -1464,7 +1458,7 @@ class Notice extends Managed_DataObject
             return $this->_groups;
         }
         
-        $gis = Memcached_DataObject::listGet('Group_inbox', 'notice_id', array($this->id));
+        $gis = Group_inbox::listGet('notice_id', array($this->id));
 
         $ids = array();
 
@@ -1504,9 +1498,8 @@ class Notice extends Managed_DataObject
 
         if (Event::handle('StartNoticeAsActivity', array($this, &$act))) {
 
-            $act->id      = $this->uri;
+            $act->id      = TagURI::mint("post:".$this->id);
             $act->time    = strtotime($this->created);
-            $act->link    = $this->bestUrl();
             $act->content = common_xml_safe_str($this->rendered);
 
             $profile = $this->getProfile();
@@ -1517,7 +1510,7 @@ class Notice extends Managed_DataObject
             $act->verb = $this->verb;
 
             if ($this->repeat_of) {
-                $repeated = Notice::staticGet('id', $this->repeat_of);
+                $repeated = Notice::getKV('id', $this->repeat_of);
                 if (!empty($repeated)) {
                     $act->objects[] = $repeated->asActivity($cur);
                 }
@@ -1553,7 +1546,7 @@ class Notice extends Managed_DataObject
             $ctx = new ActivityContext();
 
             if (!empty($this->reply_to)) {
-                $reply = Notice::staticGet('id', $this->reply_to);
+                $reply = Notice::getKV('id', $this->reply_to);
                 if (!empty($reply)) {
                     $ctx->replyToID  = $reply->uri;
                     $ctx->replyToUrl = $reply->bestUrl();
@@ -1565,7 +1558,7 @@ class Notice extends Managed_DataObject
             $conv = null;
 
             if (!empty($this->conversation)) {
-                $conv = Conversation::staticGet('id', $this->conversation);
+                $conv = Conversation::getKV('id', $this->conversation);
                 if (!empty($conv)) {
                     $ctx->conversation = $conv->uri;
                 }
@@ -1574,7 +1567,7 @@ class Notice extends Managed_DataObject
             $reply_ids = $this->getReplies();
 
             foreach ($reply_ids as $id) {
-                $rprofile = Profile::staticGet('id', $id);
+                $rprofile = Profile::getKV('id', $id);
                 if (!empty($rprofile)) {
                     $ctx->attention[] = $rprofile->getUri();
                     $ctx->attentionType[$rprofile->getUri()] = ActivityObject::PERSON;
@@ -1605,7 +1598,7 @@ class Notice extends Managed_DataObject
             $repeat = null;
 
             if (!empty($this->repeat_of)) {
-                $repeat = Notice::staticGet('id', $this->repeat_of);
+                $repeat = Notice::getKV('id', $this->repeat_of);
                 if (!empty($repeat)) {
                     $ctx->forwardID  = $repeat->uri;
                     $ctx->forwardUrl = $repeat->bestUrl();
@@ -1647,7 +1640,7 @@ class Notice extends Managed_DataObject
                     $act->source->updated = self::utcDate($notice->created);
                 }
 
-                $user = User::staticGet('id', $profile->id);
+                $user = User::getKV('id', $profile->id);
 
                 if (!empty($user)) {
                     $act->source->links['license'] = common_config('license', 'url');
@@ -1791,7 +1784,7 @@ class Notice extends Managed_DataObject
         // return it if it does
 
         if (!empty($reply_to)) {
-            $reply_notice = Notice::staticGet('id', $reply_to);
+            $reply_notice = Notice::getKV('id', $reply_to);
             if (!empty($reply_notice)) {
                 return $reply_notice;
             }
@@ -1816,7 +1809,7 @@ class Notice extends Managed_DataObject
 
         // Figure out who that is.
 
-        $sender = Profile::staticGet('id', $profile_id);
+        $sender = Profile::getKV('id', $profile_id);
         if (empty($sender)) {
             return null;
         }
@@ -1882,7 +1875,7 @@ class Notice extends Managed_DataObject
      */
     function repeat($repeater_id, $source)
     {
-        $author = Profile::staticGet('id', $this->profile_id);
+        $author = Profile::getKV('id', $this->profile_id);
 
         // TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
         // TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
@@ -2116,7 +2109,7 @@ class Notice extends Managed_DataObject
         // have to wait
         Event::handle('StartNoticeDistribute', array($this));
 
-        $user = User::staticGet('id', $this->profile_id);
+        $user = User::getKV('id', $this->profile_id);
         if (!empty($user)) {
             Inbox::insertNotice($user->id, $this->id);
         }
@@ -2187,11 +2180,11 @@ class Notice extends Managed_DataObject
                 $ns->code = $this->source;
                 break;
             default:
-                $ns = Notice_source::staticGet($this->source);
+                $ns = Notice_source::getKV($this->source);
                 if (!$ns) {
                     $ns = new Notice_source();
                     $ns->code = $this->source;
-                    $app = Oauth_application::staticGet('name', $this->source);
+                    $app = Oauth_application::getKV('name', $this->source);
                     if ($app) {
                         $ns->name = $app->name;
                         $ns->url  = $app->source_url;
@@ -2264,12 +2257,12 @@ class Notice extends Managed_DataObject
             return false;
         }
 
-        $notice = Notice::staticGet('id', $id);
+        $notice = Notice::getKV('id', $id);
         if ($notice) {
             return $notice->created;
         }
 
-        $deleted = Deleted_notice::staticGet('id', $id);
+        $deleted = Deleted_notice::getKV('id', $id);
         if ($deleted) {
             return $deleted->created;
         }
@@ -2549,7 +2542,7 @@ class Notice extends Managed_DataObject
             if (empty($this->reply_to)) {
                 $this->_original = null;
             } else {
-                $this->_original = Notice::staticGet('id', $this->reply_to);
+                $this->_original = Notice::getKV('id', $this->reply_to);
             }
         }
         return $this->_original;
@@ -2607,14 +2600,14 @@ class Notice extends Managed_DataObject
                
                $ids = array_unique($ids);
                
-               return Memcached_DataObject::pivotGet('Profile', 'id', $ids); 
+               return Profile::pivotGet('id', $ids); 
        }
        
        static function fillGroups(&$notices)
        {
         $ids = self::_idsOf($notices);
                
-               $gis = Memcached_DataObject::listGet('Group_inbox', 'notice_id', $ids);
+        $gis = Group_inbox::listGet('notice_id', $ids);
                
         $gids = array();
 
@@ -2628,7 +2621,7 @@ class Notice extends Managed_DataObject
                
                $gids = array_unique($gids);
                
-               $group = Memcached_DataObject::pivotGet('User_group', 'id', $gids);
+               $group = User_group::pivotGet('id', $gids);
                
                foreach ($notices as $notice)
                {
@@ -2655,7 +2648,7 @@ class Notice extends Managed_DataObject
     {
         $ids = self::_idsOf($notices);
 
-               $f2pMap = Memcached_DataObject::listGet('File_to_post', 'post_id', $ids);
+        $f2pMap = File_to_post::listGet('post_id', $ids);
                
                $fileIds = array();
                
@@ -2667,7 +2660,7 @@ class Notice extends Managed_DataObject
 
         $fileIds = array_unique($fileIds);
 
-               $fileMap = Memcached_DataObject::pivotGet('File', 'id', $fileIds);
+               $fileMap = File::pivotGet('id', $fileIds);
 
                foreach ($notices as $notice)
                {
@@ -2693,7 +2686,7 @@ class Notice extends Managed_DataObject
         if (isset($this->_faves) && is_array($this->_faves)) {
             return $this->_faves;
         }
-        $faveMap = Memcached_DataObject::listGet('Fave', 'notice_id', array($this->id));
+        $faveMap = Fave::listGet('notice_id', array($this->id));
         $this->_faves = $faveMap[$this->id];
         return $this->_faves;
     }
@@ -2706,7 +2699,7 @@ class Notice extends Managed_DataObject
     static function fillFaves(&$notices)
     {
         $ids = self::_idsOf($notices);
-        $faveMap = Memcached_DataObject::listGet('Fave', 'notice_id', $ids);
+        $faveMap = Fave::listGet('notice_id', $ids);
         $cnt = 0;
         $faved = array();
         foreach ($faveMap as $id => $faves) {
@@ -2724,7 +2717,7 @@ class Notice extends Managed_DataObject
     static function fillReplies(&$notices)
     {
         $ids = self::_idsOf($notices);
-        $replyMap = Memcached_DataObject::listGet('Reply', 'notice_id', $ids);
+        $replyMap = Reply::listGet('notice_id', $ids);
         foreach ($notices as $notice) {
             $replies = $replyMap[$notice->id];
             $ids = array();
@@ -2742,7 +2735,7 @@ class Notice extends Managed_DataObject
         if (isset($this->_repeats) && is_array($this->_repeats)) {
             return $this->_repeats;
         }
-        $repeatMap = Memcached_DataObject::listGet('Notice', 'repeat_of', array($this->id));
+        $repeatMap = Notice::listGet('repeat_of', array($this->id));
         $this->_repeats = $repeatMap[$this->id];
         return $this->_repeats;
     }
@@ -2755,7 +2748,7 @@ class Notice extends Managed_DataObject
     static function fillRepeats(&$notices)
     {
         $ids = self::_idsOf($notices);
-        $repeatMap = Memcached_DataObject::listGet('Notice', 'repeat_of', $ids);
+        $repeatMap = Notice::listGet('repeat_of', $ids);
         foreach ($notices as $notice) {
                $repeats = $repeatMap[$notice->id];
             $notice->_setRepeats($repeats);