]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Profile_prefs.php
Opps, left-overs from merge ...
[quix0rs-gnu-social.git] / classes / Profile_prefs.php
index 32da3b11b854da062c3de473b73db7da54b32531..bc7c400b890a2c8d3775b359256d0fd88c61a4e3 100644 (file)
@@ -31,8 +31,8 @@ class Profile_prefs extends Managed_DataObject
 {
     public $__table = 'profile_prefs';       // table name
     public $profile_id;                      // int(4)  primary_key not_null
-    public $namespace;                       // varchar(255)  not_null
-    public $topic;                           // varchar(255)  not_null
+    public $namespace;                       // varchar(191)  not_null
+    public $topic;                           // varchar(191)  not_null
     public $data;                            // text
     public $created;                         // datetime   not_null default_0000-00-00%2000%3A00%3A00
     public $modified;                        // timestamp   not_null default_CURRENT_TIMESTAMP
@@ -42,8 +42,8 @@ class Profile_prefs extends Managed_DataObject
         return array(
             'fields' => array(
                 'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'user'),
-                'namespace' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'namespace, like pluginname or category'),
-                'topic' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'preference key, i.e. description, age...'),
+                'namespace' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'namespace, like pluginname or category'),
+                'topic' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'preference key, i.e. description, age...'),
                 'data' => array('type' => 'blob', 'description' => 'topic data, may be anything'),
                 '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'),
@@ -62,11 +62,11 @@ class Profile_prefs extends Managed_DataObject
     {
         if (empty($topic)) {
             $prefs = new Profile_prefs();
-            $prefs->profile_id = $profile->id;
+            $prefs->profile_id = $profile->getID();
             $prefs->namespace  = $namespace;
             $prefs->find();
         } else {
-            $prefs = self::pivotGet('profile_id', $profile->id, array('namespace'=>$namespace, 'topic'=>$topic));
+            $prefs = self::pivotGet('profile_id', $profile->getID(), array('namespace'=>$namespace, 'topic'=>$topic));
         }
 
         if (empty($prefs->N)) {
@@ -85,31 +85,25 @@ class Profile_prefs extends Managed_DataObject
     static function getAll(Profile $profile)
     {
         try {
-            $prefs = self::listFind('profile_id', $profile->id);
+            $prefs = self::listFind('profile_id', array($profile->getID()));
         } catch (NoResultException $e) {
             return array();
         }
 
         $list = array();
-        while ($entry = $prefs->fetch()) {
-            if (!isset($list[$entry->namespace])) {
-                $list[$entry->namespace] = array();
+        while ($prefs->fetch()) {
+            if (!isset($list[$prefs->namespace])) {
+                $list[$prefs->namespace] = array();
             }
-            $list[$entry->namespace][$entry->topic] = $entry->data;
+            $list[$prefs->namespace][$prefs->topic] = $prefs->data;
         }
         return $list;
     }
 
     static function getTopic(Profile $profile, $namespace, $topic) {
-        $pref = new Profile_prefs;
-        $pref->profile_id = $profile->id;
-        $pref->namespace  = $namespace;
-        $pref->topic      = $topic;
-
-        if (!$pref->find(true)) {
-            throw new NoResultException($pref);
-        }
-        return $pref;
+        return Profile_prefs::getByPK(array('profile_id' => $profile->getID(),
+                                            'namespace'  => $namespace,
+                                            'topic'      => $topic));
     }
 
     static function getData(Profile $profile, $namespace, $topic, $def=null) {
@@ -164,10 +158,11 @@ class Profile_prefs extends Managed_DataObject
         }
 
         $pref = new Profile_prefs();
-        $pref->profile_id = $profile->id;
+        $pref->profile_id = $profile->getID();
         $pref->namespace  = $namespace;
         $pref->topic      = $topic;
         $pref->data       = $data;
+        $pref->created    = common_sql_now();
         
         if ($pref->insert() === false) {
             throw new ServerException('Could not save profile preference.');