]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/User.php
trac31 url_auto_shortening by sgmurphy
[quix0rs-gnu-social.git] / classes / User.php
index 036da2b8881ff754e05cefa3565b1ebc2407ad8f..e3fa93395e322f7ad7f68ff0fa1a6f43f4f02c41 100644 (file)
@@ -55,6 +55,7 @@ class User extends Memcached_DataObject
     public $smsemail;                        // varchar(255)  
     public $uri;                             // varchar(255)  unique_key
     public $autosubscribe;                   // tinyint(1)  
+       public $urlshorteningservice;                    // varchar(50)
     public $created;                         // datetime()   not_null
     public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 
@@ -141,18 +142,6 @@ class User extends Memcached_DataObject
                return true;
        }
 
-       function noticesWithFriendsWindow() {
-               
-               $notice = new Notice();
-
-               $notice->query('SELECT notice.* ' .
-                                          'FROM notice JOIN subscription on notice.profile_id = subscription.subscribed ' .
-                                          'WHERE subscription.subscriber = ' . $this->id . ' ' .
-                                          'ORDER BY created DESC, notice.id DESC ' .
-                                          'LIMIT 0, ' . WITHFRIENDS_CACHE_WINDOW);
-               
-       }
-       
        static function register($fields) {
 
                # MAGICALLY put fields into current scope
@@ -309,20 +298,9 @@ class User extends Memcached_DataObject
                  'FROM notice JOIN reply ON notice.id = reply.notice_id ' .
                  'WHERE reply.profile_id = %d ';
                
-        if ($since_id > 0) {
-            $qry .= ' AND notice.id > ' . $since_id . ' ';
-                       $needAnd = FALSE;
-        }
-
-        // NOTE: before_id is an extension to Twitter API
-        if ($before_id > 0) {
-            $qry .= ' AND notice.id < ' . $before_id . ' ';
-                       $needAnd = FALSE;
-        }
-
                return Notice::getStream(sprintf($qry, $this->id),
                                                                 'user:replies:'.$this->id,
-                                                                $offset, $limit);
+                                                                $offset, $limit, $since_id, $before_id);
        }
        
        function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0) {
@@ -331,20 +309,9 @@ class User extends Memcached_DataObject
                  'FROM notice ' .
                  'WHERE profile_id = %d ';
                
-        if ($since_id > 0) {
-            $qry .= ' AND notice.id > ' . $since_id . ' ';
-                       $needAnd = FALSE;
-        }
-
-        // NOTE: before_id is an extension to Twitter API
-        if ($before_id > 0) {
-            $qry .= ' AND notice.id < ' . $before_id . ' ';
-                       $needAnd = FALSE;
-        }
-
                return Notice::getStream(sprintf($qry, $this->id),
                                                                 'user:notices:'.$this->id,
-                                                                $offset, $limit);
+                                                                $offset, $limit, $since_id, $before_id);
        }
        
        function favoriteNotices($offset=0, $limit=NOTICES_PER_PAGE) {
@@ -361,23 +328,15 @@ class User extends Memcached_DataObject
        function noticesWithFriends($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0) {
                $qry =
                  'SELECT notice.* ' .
-                 'FROM notice JOIN subscription ON notice.profile_id = subscription.subscribed ' .
-                 'WHERE subscription.subscriber = %d ';
-
-        if ($since_id > 0) {
-            $qry .= ' AND notice.id > ' . $since_id . ' ';
-                       $needAnd = FALSE;
-        }
-
-        // NOTE: before_id is an extension to Twitter API
-        if ($before_id > 0) {
-            $qry .= ' AND notice.id < ' . $before_id . ' ';
-                       $needAnd = FALSE;
-        }
+                 'FROM notice JOIN notice_inbox ON notice.id = notice_inbox.notice_id ' .
+                 'WHERE notice_inbox.user_id = %d ';
 
+               # NOTE: we override ORDER
+               
                return Notice::getStream(sprintf($qry, $this->id),
                                                                 'user:notices_with_friends:' . $this->id,
-                                                                $offset, $limit);
+                                                                $offset, $limit, $since_id, $before_id,
+                                                                'ORDER BY notice_inbox.created DESC, notice_inbox.notice_id DESC ');
        }
        
        function blowFavesCache() {