* @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/
*/
{
parent::handle($args);
- if (!common_config('inboxes', 'enabled')) {
- $this->serverError(
- _('Inboxes must be enabled for groups to work'),
- 400,
- $this->format
- );
- return false;
- }
-
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
$this->clientError(
+ // TRANS: Client error. POST is a HTTP command. It should not be translated.
_('This method requires a POST.'),
400,
$this->format
}
if (empty($this->user)) {
- $this->clientError(_('No such user!'), 404, $this->format);
+ $this->clientError(_('No such user.'), 404, $this->format);
return;
}
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':
break;
default:
$this->clientError(
- _('API method not found!'),
+ _('API method not found.'),
404,
$this->format
);
if (!$valid) {
$this->clientError(
- sprintf(_('Invalid alias: "%s"'), $alias),
+ sprintf(_('Invalid alias: "%s".'), $alias),
403,
$this->format
);
function groupNicknameExists($nickname)
{
- $group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
- if (!empty($group)) {
+ if (!empty($local)) {
return true;
}