]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/QnA/classes/QnA_Question.php
Merge commit 'refs/merge-requests/51' of https://gitorious.org/social/mainline into...
[quix0rs-gnu-social.git] / plugins / QnA / classes / QnA_Question.php
index 820656870b8fe782d2253e99e2615122969ae984..b5318386777b50dcd2569007bde40303565fa7ad 100644 (file)
@@ -48,46 +48,13 @@ class QnA_Question extends Managed_DataObject
 
     public $__table = 'qna_question'; // table name
     public $id;          // char(36) primary key not null -> UUID
-    public $uri;
+    public $uri;         // varchar(191)   not 255 because utf8mb4 takes more space
     public $profile_id;  // int -> profile.id
     public $title;       // text
     public $description; // text
     public $closed;      // int (boolean) whether a question is closed
     public $created;     // datetime
 
-    /**
-     * Get an instance by key
-     *
-     * This is a utility method to get a single instance with a given key value.
-     *
-     * @param string $k Key to use to lookup
-     * @param mixed  $v Value to lookup
-     *
-     * @return QnA_Question object found, or null for no hits
-     *
-     */
-    function staticGet($k, $v=null)
-    {
-        return Memcached_DataObject::staticGet('QnA_Question', $k, $v);
-    }
-
-    /**
-     * Get an instance by compound key
-     *
-     * This is a utility method to get a single instance with a given set of
-     * key-value pairs. Usually used for the primary key for a compound key; thus
-     * the name.
-     *
-     * @param array $kv array of key-value mappings
-     *
-     * @return Bookmark object found, or null for no hits
-     *
-     */
-    function pkeyGet($kv)
-    {
-        return Memcached_DataObject::pkeyGet('QnA_Question', $kv);
-    }
-
     /**
      * The One True Thingy that must be defined and declared.
      */
@@ -104,7 +71,7 @@ class QnA_Question extends Managed_DataObject
                 ),
                 'uri' => array(
                     'type'     => 'varchar',
-                    'length'   => 255,
+                    'length'   => 191,
                     'not null' => true
                 ),
                 'profile_id'  => array('type' => 'int'),
@@ -130,24 +97,24 @@ class QnA_Question extends Managed_DataObject
      *
      * @return Question found question or null
      */
-    function getByNotice($notice)
+    static function getByNotice($notice)
     {
-        return self::staticGet('uri', $notice->uri);
+        return self::getKV('uri', $notice->uri);
     }
 
     function getNotice()
     {
-        return Notice::staticGet('uri', $this->uri);
+        return Notice::getKV('uri', $this->uri);
     }
 
-    function bestUrl()
+    function getUrl()
     {
-        return $this->getNotice()->bestUrl();
+        return $this->getNotice()->getUrl();
     }
 
     function getProfile()
     {
-        $profile = Profile::staticGet('id', $this->profile_id);
+        $profile = Profile::getKV('id', $this->profile_id);
         if (empty($profile)) {
             // TRANS: Exception trown when getting a profile for a non-existing ID.
             // TRANS: %s is the provided profile ID.
@@ -199,7 +166,7 @@ class QnA_Question extends Managed_DataObject
 
     static function fromNotice($notice)
     {
-        return QnA_Question::staticGet('uri', $notice->uri);
+        return QnA_Question::getKV('uri', $notice->uri);
     }
 
     function asHTML()