* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @author Sarven Capadisli <csarven@status.net>
- * @author Zach Copley <zach@status.net>
- * @copyright 2008-2009 StatusNet, Inc.
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2008-2011 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-class EditgroupAction extends GroupDesignAction
+class EditgroupAction extends GroupAction
{
var $msg;
$groupid = $this->trimmed('groupid');
if ($groupid) {
- $this->group = User_group::staticGet('id', $groupid);
+ $this->group = User_group::getKV('id', $groupid);
} else {
- $local = Local_group::staticGet('nickname', $nickname);
+ $local = Local_group::getKV('nickname', $nickname);
if ($local) {
- $this->group = User_group::staticGet('id', $local->group_id);
+ $this->group = User_group::getKV('id', $local->group_id);
}
}
$this->showPage();
}
- function showObjectNav()
- {
- $nav = new GroupNav($this, $this->group);
- $nav->show();
- }
-
function showContent()
{
$form = new GroupEditForm($this, $this->group);
function showScripts()
{
parent::showScripts();
- $this->autofocus('nickname');
+ $this->autofocus('newnickname');
}
function trySave()
if (Event::handle('StartGroupSaveForm', array($this))) {
- $nickname = Nickname::normalize($this->trimmed('nickname'));
+ $nickname = Nickname::normalize($this->trimmed('newnickname'));
$fullname = $this->trimmed('fullname');
$homepage = $this->trimmed('homepage');
$description = $this->trimmed('description');
$location = $this->trimmed('location');
$aliasstring = $this->trimmed('aliases');
+ $private = $this->boolean('private');
+
+ if ($private) {
+ $force_scope = 1;
+ $join_policy = User_group::JOIN_POLICY_MODERATE;
+ } else {
+ $force_scope = 0;
+ $join_policy = User_group::JOIN_POLICY_OPEN;
+ }
if ($this->nicknameExists($nickname)) {
// TRANS: Group edit form validation error.
$this->group->description = $description;
$this->group->location = $location;
$this->group->mainpage = common_local_url('showgroup', array('nickname' => $nickname));
+ $this->group->join_policy = $join_policy;
+ $this->group->force_scope = $force_scope;
$result = $this->group->update($orig);
if ($nickname != $orig->nickname) {
common_log(LOG_INFO, "Saving local group info.");
- $local = Local_group::staticGet('group_id', $this->group->id);
+ $local = Local_group::getKV('group_id', $this->group->id);
$local->setNickname($nickname);
}
function nicknameExists($nickname)
{
- $group = Local_group::staticGet('nickname', $nickname);
+ $group = Local_group::getKV('nickname', $nickname);
if (!empty($group) &&
$group->group_id != $this->group->id) {
return true;
}
- $alias = Group_alias::staticGet('alias', $nickname);
+ $alias = Group_alias::getKV('alias', $nickname);
if (!empty($alias) &&
$alias->group_id != $this->group->id) {