]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/GroupPrivateMessage/Group_privacy_settings.php
The overloaded DB_DataObject function staticGet is now called getKV
[quix0rs-gnu-social.git] / plugins / GroupPrivateMessage / Group_privacy_settings.php
index 7447ca9a622908d998ff2b0a1aced1e6baa4628c..771c2ec7824fa888ada964769a9bca3254eb0e84 100644 (file)
@@ -44,16 +44,15 @@ if (!defined('STATUSNET')) {
  *
  * @see      DB_DataObject
  */
-
-class Group_privacy_settings extends Memcached_DataObject
+class Group_privacy_settings extends Managed_DataObject
 {
     public $__table = 'group_privacy_settings';
     /** ID of the group. */
-    public $group_id;      
+    public $group_id;
     /** When to allow privacy: always, sometimes, or never. */
     public $allow_privacy;
     /** Who can send private messages: everyone, member, admin */
-    public $allow_sender; 
+    public $allow_sender;
     /** row creation timestamp */
     public $created;
     /** Last-modified timestamp */
@@ -71,22 +70,6 @@ class Group_privacy_settings extends Memcached_DataObject
     const MEMBER   = 2;
     const ADMIN    = 4;
 
-    /**
-     * 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 (usually 'user_id' for this class)
-     * @param mixed  $v Value to lookup
-     *
-     * @return User_greeting_count object found, or null for no hits
-     */
-
-    function staticGet($k, $v=null)
-    {
-        return Memcached_DataObject::staticGet('Group_privacy_settings', $k, $v);
-    }
-
     /**
      * return table definition for DB_DataObject
      *
@@ -95,7 +78,6 @@ class Group_privacy_settings extends Memcached_DataObject
      *
      * @return array array of column definitions
      */
-
     function table()
     {
         return array('group_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -103,7 +85,7 @@ class Group_privacy_settings extends Memcached_DataObject
                      'allow_sender' => DB_DATAOBJECT_INT,
                      'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
                      'modified' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
-                     
+
     }
 
     /**
@@ -115,7 +97,6 @@ class Group_privacy_settings extends Memcached_DataObject
      *
      * @return array list of key field names
      */
-
     function keys()
     {
         return array_keys($this->keyTypes());
@@ -128,7 +109,6 @@ class Group_privacy_settings extends Memcached_DataObject
      *         '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('group_id' => 'K');
@@ -139,7 +119,6 @@ class Group_privacy_settings extends Memcached_DataObject
      *
      * @return array magic three-false array that stops auto-incrementing.
      */
-
     function sequenceKey()
     {
         return array(false, false, false);
@@ -147,7 +126,7 @@ class Group_privacy_settings extends Memcached_DataObject
 
     function forGroup($group)
     {
-        $gps = Group_privacy_settings::staticGet('group_id', $group->id);
+        $gps = Group_privacy_settings::getKV('group_id', $group->id);
 
         if (empty($gps)) {
             // make a fake one with defaults
@@ -164,6 +143,7 @@ class Group_privacy_settings extends Memcached_DataObject
         $gps = self::forGroup($group);
 
         if ($gps->allow_privacy == Group_privacy_settings::NEVER) {
+            // TRANS: Exception thrown when trying to set group privacy setting if group %s does not allow private messages.
             throw new Exception(sprintf(_m('Group %s does not allow private messages.'),
                                         $group->nickname));
         }
@@ -172,6 +152,8 @@ class Group_privacy_settings extends Memcached_DataObject
         case Group_privacy_settings::EVERYONE:
             $profile = $user->getProfile();
             if (Group_block::isBlocked($group, $profile)) {
+                // TRANS: Exception thrown when trying to send group private message while blocked from that group.
+                // TRANS: %1$s is a user nickname, %2$s is a group nickname.
                 throw new Exception(sprintf(_m('User %1$s is blocked from group %2$s.'),
                                             $user->nickname,
                                             $group->nickname));
@@ -179,6 +161,8 @@ class Group_privacy_settings extends Memcached_DataObject
             break;
         case Group_privacy_settings::MEMBER:
             if (!$user->isMember($group)) {
+                // TRANS: Exception thrown when trying to send group private message while not a member.
+                // TRANS: %1$s is a user nickname, %2$s is a group nickname.
                 throw new Exception(sprintf(_m('User %1$s is not a member of group %2$s.'),
                                             $user->nickname,
                                             $group->nickname));
@@ -186,12 +170,16 @@ class Group_privacy_settings extends Memcached_DataObject
             break;
         case Group_privacy_settings::ADMIN:
             if (!$user->isAdmin($group)) {
+                // TRANS: Exception thrown when trying to send group private message while not a group administrator.
+                // TRANS: %1$s is a user nickname, %2$s is a group nickname.
                 throw new Exception(sprintf(_m('User %1$s is not an administrator of group %2$s.'),
                                             $user->nickname,
                                             $group->nickname));
             }
             break;
         default:
+            // TRANS: Exception thrown when encountering undefined group privacy settings.
+            // TRANS: %s is a group nickname.
             throw new Exception(sprintf(_m('Unknown privacy settings for group %s.'),
                                         $group->nickname));
         }