]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/User_urlshortener_prefs.php
Merge branch 'master' of gitorious.org:social/mainline
[quix0rs-gnu-social.git] / classes / User_urlshortener_prefs.php
old mode 100755 (executable)
new mode 100644 (file)
index e0f85af..a9a7011
@@ -21,7 +21,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
-class User_urlshortener_prefs extends Memcached_DataObject
+class User_urlshortener_prefs extends Managed_DataObject
 {
     ###START_AUTOCODE
     /* the code below is auto generated do not remove the above tag */
@@ -34,20 +34,31 @@ class User_urlshortener_prefs extends Memcached_DataObject
     public $created;                         // datetime   not_null default_0000-00-00%2000%3A00%3A00
     public $modified;                        // timestamp   not_null default_CURRENT_TIMESTAMP
 
-    /* Static get */
-    function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_urlshortener_prefs',$k,$v); }
-
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    function sequenceKey()
+    public static function schemaDef()
     {
-        return array(false, false, false);
+        return array(
+            'fields' => array(
+                'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'user'),
+                'urlshorteningservice' => array('type' => 'varchar', 'length' => 50, 'default' => 'internal', 'description' => 'service to use for auto-shortening URLs'),
+                'maxurllength' => array('type' => 'int', 'not null' => true, 'description' => 'urls greater than this length will be shortened, 0 = always, null = never'),
+                'maxnoticelength' => array('type' => 'int', 'not null' => true, 'description' => 'notices with content greater than this value will have all urls shortened, 0 = always, -1 = only if notice text is longer than max allowed'),
+        
+                'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
+                'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
+            ),
+            'primary key' => array('user_id'),
+            'foreign keys' => array(
+                'user_urlshortener_prefs_user_id_fkey' => array('user', array('user_id' => 'id')),
+            ),
+        );
     }
 
     static function maxUrlLength($user)
     {
-        $def = common_config('url', 'maxlength');
+        $def = common_config('url', 'maxurllength');
 
         $prefs = self::getPrefs($user);
 
@@ -63,7 +74,12 @@ class User_urlshortener_prefs extends Memcached_DataObject
         $def = common_config('url', 'maxnoticelength');
 
         if ($def == -1) {
-            $def = Notice::maxContent();
+            /*
+             * maxContent==0 means infinite length,
+             * but maxNoticeLength==0 means "always shorten"
+             * so if maxContent==0 we must set this to -1
+             */
+            $def = Notice::maxContent() ?: -1;
         }
 
         $prefs = self::getPrefs($user);
@@ -98,7 +114,7 @@ class User_urlshortener_prefs extends Memcached_DataObject
             return null;
         }
 
-        $prefs = User_urlshortener_prefs::staticGet('user_id', $user->id);
+        $prefs = User_urlshortener_prefs::getKV('user_id', $user->id);
 
         return $prefs;
     }