]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/apigroupcreate.php
OStatus/FeedSub: tweaked PuSH feed garbage collection so other plugins can declare...
[quix0rs-gnu-social.git] / actions / apigroupcreate.php
index f66e830738ec20ba134bde3ee4892066b6e8e6f4..d216c15cd4f4be0e6a17c0f9a5083f925756e840 100644 (file)
@@ -26,6 +26,7 @@
  * @author    Jeffery To <jeffery.to@gmail.com>
  * @author    Zach Copley <zach@status.net>
  * @copyright 2009 StatusNet, Inc.
+ * @copyright 2009 Free Software Foundation, Inc http://www.fsf.org
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link      http://status.net/
  */
@@ -109,7 +110,7 @@ class ApiGroupCreateAction extends ApiAuthAction
         }
 
         if (empty($this->user)) {
-            $this->clientError(_('No such user!'), 404, $this->format);
+            $this->clientError(_('No such user.'), 404, $this->format);
             return;
         }
 
@@ -117,60 +118,14 @@ class ApiGroupCreateAction extends ApiAuthAction
             return;
         }
 
-        $group = new User_group();
-
-        $group->query('BEGIN');
-
-        $group->nickname    = $this->nickname;
-        $group->fullname    = $this->fullname;
-        $group->homepage    = $this->homepage;
-        $group->description = $this->description;
-        $group->location    = $this->location;
-        $group->created     = common_sql_now();
-
-        $result = $group->insert();
-
-        if (!$result) {
-            common_log_db_error($group, 'INSERT', __FILE__);
-            $this->serverError(
-                _('Could not create group.'),
-                500,
-                $this->format
-            );
-            return;
-        }
-
-        $result = $group->setAliases($this->aliases);
-
-        if (!$result) {
-            $this->serverError(
-                _('Could not create aliases.'),
-                500,
-                $this->format
-            );
-            return;
-        }
-
-        $member = new Group_member();
-
-        $member->group_id   = $group->id;
-        $member->profile_id = $this->user->id;
-        $member->is_admin   = 1;
-        $member->created    = $group->created;
-
-        $result = $member->insert();
-
-        if (!$result) {
-            common_log_db_error($member, 'INSERT', __FILE__);
-            $this->serverError(
-                _('Could not set group membership.'),
-                500,
-                $this->format
-            );
-            return;
-        }
-
-        $group->query('COMMIT');
+        $group = User_group::register(array('nickname' => $this->nickname,
+                                            'fullname' => $this->fullname,
+                                            'homepage' => $this->homepage,
+                                            'description' => $this->description,
+                                            'location' => $this->location,
+                                            'aliases'  => $this->aliases,
+                                            'userid'   => $this->user->id,
+                                            'local'    => true));
 
         switch($this->format) {
         case 'xml':
@@ -181,7 +136,7 @@ class ApiGroupCreateAction extends ApiAuthAction
             break;
         default:
             $this->clientError(
-                _('API method not found!'),
+                _('API method not found.'),
                 404,
                 $this->format
             );
@@ -309,7 +264,7 @@ class ApiGroupCreateAction extends ApiAuthAction
 
             if (!$valid) {
                 $this->clientError(
-                    sprintf(_('Invalid alias: "%s"'), $alias),
+                    sprintf(_('Invalid alias: "%s".'), $alias),
                     403,
                     $this->format
                 );
@@ -354,9 +309,9 @@ class ApiGroupCreateAction extends ApiAuthAction
 
     function groupNicknameExists($nickname)
     {
-        $group = User_group::staticGet('nickname', $nickname);
+        $local = Local_group::staticGet('nickname', $nickname);
 
-        if (!empty($group)) {
+        if (!empty($local)) {
             return true;
         }