]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Profile_prefs.php
Merge commit 'refs/merge-requests/43' of https://gitorious.org/social/mainline into...
[quix0rs-gnu-social.git] / classes / Profile_prefs.php
index 37ccf4fb9677263aceca5e31f6071282eb4f6680..ee0fa0e27cce09c96a5e2d568a9c9558397bf518 100644 (file)
@@ -112,8 +112,17 @@ class Profile_prefs extends Managed_DataObject
         return $pref;
     }
 
-    static function getData(Profile $profile, $namespace, $topic) {
-        $pref = self::getTopic($profile, $namespace, $topic);
+    static function getData(Profile $profile, $namespace, $topic, $def=null) {
+        try {
+            $pref = self::getTopic($profile, $namespace, $topic);
+        } catch (NoResultException $e) {
+            if ($def === null) {
+                // If no default value was set, continue the exception.
+                throw $e;
+            }
+            // If there was a default value, return that.
+            return $def;
+        }
         return $pref->data;
     }
 
@@ -159,6 +168,7 @@ class Profile_prefs extends Managed_DataObject
         $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.');