X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FSample%2FUser_greeting_count.php;h=38d68c91ed35a473041874bc32d0c15cfa14048d;hb=347dd08272bf7b1e97c50cb2a5a92af3294ad4e4;hp=77fb9afebbdcb159ea9b7b44ea83608e9c1382b8;hpb=1348c6e81995d9cae5ad4a4803723750ecb462c2;p=quix0rs-gnu-social.git diff --git a/plugins/Sample/User_greeting_count.php b/plugins/Sample/User_greeting_count.php index 77fb9afebb..38d68c91ed 100644 --- a/plugins/Sample/User_greeting_count.php +++ b/plugins/Sample/User_greeting_count.php @@ -70,7 +70,6 @@ class User_greeting_count extends Memcached_DataObject * @return User_greeting_count object found, or null for no hits * */ - function staticGet($k, $v=null) { return Memcached_DataObject::staticGet('User_greeting_count', $k, $v); @@ -84,7 +83,6 @@ class User_greeting_count extends Memcached_DataObject * * @return array array of column definitions */ - function table() { return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL, @@ -94,13 +92,30 @@ class User_greeting_count extends Memcached_DataObject /** * return key definitions for DB_DataObject * - * DB_DataObject needs to know about keys that the table has; this function - * defines them. + * DB_DataObject needs to know about keys that the table has, since it + * won't appear in StatusNet's own keys list. In most cases, this will + * simply reference your keyTypes() function. * - * @return array key definitions + * @return array list of key field names */ - function keys() + { + return array_keys($this->keyTypes()); + } + + /** + * return key definitions for Memcached_DataObject + * + * Our caching system uses the same key definitions, but uses a different + * method to get them. This key information is used to store and clear + * cached data, so be sure to list any key that will be used for static + * lookups. + * + * @return array associative array of key definitions, field name to type: + * 'K' for primary key: for compound keys, add an entry for each component; + * 'U' for unique keys: compound keys are not well supported here. + */ + function keyTypes() { return array('user_id' => 'K'); } @@ -115,7 +130,6 @@ class User_greeting_count extends Memcached_DataObject * * @return array magic three-false array that stops auto-incrementing. */ - function sequenceKey() { return array(false, false, false); @@ -131,7 +145,6 @@ class User_greeting_count extends Memcached_DataObject * * @return User_greeting_count instance for this user, with count already incremented. */ - static function inc($user_id) { $gc = User_greeting_count::staticGet('user_id', $user_id); @@ -146,12 +159,12 @@ class User_greeting_count extends Memcached_DataObject $result = $gc->insert(); if (!$result) { - throw Exception(sprintf(_m("Could not save new greeting count for %d"), + // TRANS: Exception thrown when the user greeting count could not be saved in the database. + // TRANS: %d is a user ID (number). + throw Exception(sprintf(_m("Could not save new greeting count for %d."), $user_id)); } - } else { - $orig = clone($gc); $gc->greeting_count++; @@ -159,7 +172,9 @@ class User_greeting_count extends Memcached_DataObject $result = $gc->update($orig); if (!$result) { - throw Exception(sprintf(_m("Could not increment greeting count for %d"), + // TRANS: Exception thrown when the user greeting count could not be saved in the database. + // TRANS: %d is a user ID (number). + throw Exception(sprintf(_m("Could not increment greeting count for %d."), $user_id)); } }