]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Blacklist/Nickname_blacklist.php
More info for a proper, fancy-url lighttpd setup
[quix0rs-gnu-social.git] / plugins / Blacklist / Nickname_blacklist.php
index e8545292d18ce18ebb3d47aee6147d74f2346eec..f4f387a2e02e6524a46d96c77d83dd0937d1bae2 100644 (file)
@@ -44,62 +44,23 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
  *
  * @see      DB_DataObject
  */
-
-class Nickname_blacklist extends Memcached_DataObject
+class Nickname_blacklist extends Managed_DataObject
 {
     public $__table = 'nickname_blacklist'; // table name
-    public $pattern;                        // string pattern
-    public $created;                        // datetime
+    public $pattern;                        // varchar(255) pattern
+    public $created;                        // datetime not_null
+    public $modified;                       // timestamp()   not_null default_CURRENT_TIMESTAMP
 
-    /**
-     * 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 Nickname_blacklist object found, or null for no hits
-     *
-     */
-
-    function staticGet($k, $v=null)
+    public static function schemaDef()
     {
-        return Memcached_DataObject::staticGet('Nickname_blacklist', $k, $v);
-    }
-
-    /**
-     * return table definition for DB_DataObject
-     *
-     * @return array array of column definitions
-     */
-
-    function table()
-    {
-        return array('pattern' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
-                     'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
-    }
-
-    /**
-     * return key definitions for DB_DataObject
-     *
-     * @return array key definitions
-     */
-
-    function keys()
-    {
-        return array_keys($this->keyTypes());
-    }
-
-    /**
-     * return key definitions for Memcached_DataObject
-     *
-     * @return array key definitions
-     */
-
-    function keyTypes()
-    {
-        return array('pattern' => 'K');
+        return array(
+            'fields' => array(
+                'pattern' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'blacklist pattern'),
+                '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('pattern'),
+        );
     }
 
     /**
@@ -107,7 +68,6 @@ class Nickname_blacklist extends Memcached_DataObject
      *
      * @return array string patterns to check
      */
-
     static function getPatterns()
     {
         $patterns = self::cacheGet('nickname_blacklist:patterns');
@@ -135,21 +95,18 @@ class Nickname_blacklist extends Memcached_DataObject
      *
      * @return array of patterns to check
      */
-
     static function saveNew($newPatterns)
     {
         $oldPatterns = self::getPatterns();
 
         // Delete stuff that's old that not in new
-
         $toDelete = array_diff($oldPatterns, $newPatterns);
 
         // Insert stuff that's in new and not in old
-
         $toInsert = array_diff($newPatterns, $oldPatterns);
 
         foreach ($toDelete as $pattern) {
-            $nb = Nickname_blacklist::staticGet('pattern', $pattern);
+            $nb = Nickname_blacklist::getKV('pattern', $pattern);
             if (!empty($nb)) {
                 $nb->delete();
             }
@@ -167,7 +124,7 @@ class Nickname_blacklist extends Memcached_DataObject
 
     static function ensurePattern($pattern)
     {
-        $nb = Nickname_blacklist::staticGet('pattern', $pattern);
+        $nb = Nickname_blacklist::getKV('pattern', $pattern);
 
         if (empty($nb)) {
             $nb = new Nickname_blacklist();