]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/User_group.php
Merge request from chimo adding getvaliddaemons to stopdaemons.php
[quix0rs-gnu-social.git] / classes / User_group.php
index e085014c46dd03256e65bfdae013206f74cac15a..aad38b635885540a29bf2b63e3b4b330744172b1 100644 (file)
@@ -74,23 +74,28 @@ class User_group extends Managed_DataObject
         );
     }
 
-    protected $_profile = null;
+    protected $_profile = array();
 
     /**
      * @return Profile
      *
-     * @throws UserNoProfileException if user has no profile
+     * @throws GroupNoProfileException if user has no profile
      */
     public function getProfile()
     {
-        if (!($this->_profile instanceof Profile)) {
-            $this->_profile = Profile::getKV('id', $this->profile_id);
-            if (!($this->_profile instanceof Profile)) {
+        if (!isset($this->_profile[$this->profile_id])) {
+            $profile = Profile::getKV('id', $this->profile_id);
+            if (!$profile instanceof Profile) {
                 throw new GroupNoProfileException($this);
             }
+            $this->_profile[$this->profile_id] = $profile;
         }
+        return $this->_profile[$this->profile_id];
+    }
 
-        return $this->_profile;
+    public function getNickname()
+    {
+        return $this->getProfile()->getNickname();
     }
 
     public static function defaultLogo($size)
@@ -752,6 +757,8 @@ class User_group extends Managed_DataObject
         // or we'll miss clearing some cache keys; that can make it hard
         // to create a new group with one of those names or aliases.
         $this->setAliases(array());
+
+        // $this->isLocal() but we're using the resulting object
         $local = Local_group::getKV('group_id', $this->id);
         if ($local instanceof Local_group) {
             $local->delete();
@@ -804,6 +811,12 @@ class User_group extends Managed_DataObject
                 $this->force_scope == 1);
     }
 
+    public function isLocal()
+    {
+        $local = Local_group::getKV('group_id', $this->id);
+        return ($local instanceof Local_group);
+    }
+
     static function groupsFromText($text, Profile $profile)
     {
         $groups = array();