diff options
Diffstat (limited to 'views/default/forms')
-rw-r--r-- | views/default/forms/groups/edit.php | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/views/default/forms/groups/edit.php b/views/default/forms/groups/edit.php new file mode 100644 index 000000000..72b017832 --- /dev/null +++ b/views/default/forms/groups/edit.php @@ -0,0 +1,77 @@ +<?php +/** + * Curated Groups -- Form + * + * @package Lorea + * @subpackage CuratedGroups + * + * Copyright 2011-2012 Lorea Faeries <federation@lorea.org> + * + * This file is part of the CuratedGroups plugin for Elgg. + * + * CuratedGroups is free software: you can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * CuratedGroups is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/>. + */ + + $creator=false; + // check if user is admin + if (isadminloggedin()) $creator=true; + + // check if user is one of the specified group creators + if (!$creator) { + $creators_text = str_replace(' ', '', elgg_get_plugin_setting("creators", "curatedgroups")); + $creators = explode(",", $creators_text); + if (!empty($creators)) { + if (in_array(elgg_get_logged_in_user_entity()->username, $creators)) { + $creator = true; + // Compatibility with CuratedGroups 1.0 + } elseif (in_array(elgg_get_logged_in_user_guid(), $creators)) { + $creator = true; + } + } + } + + // check if user is admin of the current group (for editing an + // existing group) + if (!$creator && isset($vars['entity'])) { + if ($vars['entity']->canEdit()) + $creator = true; + } + + // check if user is admin of the parent group if defined (for + // subgroups) + if (!$creator) { + $parent_guid = (int)get_input("parent", 0); + if (!empty($parent_guid)) { + $parent = get_entity($parent_guid); + if ($parent->canEdit()) + $creator = true; + } + } + + // show group creation form if we're a creator, otherwise show the not + // allowed message + if ($creator) { + if (elgg_is_active_plugin("subgroups")) + include elgg_get_plugins_path() . "subgroups/views/default/forms/groups/edit.php"; + else + include elgg_get_plugins_path() . "groups/views/default/forms/groups/edit.php"; + } + else { + $message = elgg_get_plugin_setting("message", "curatedgroups"); + if (empty($message)) + $message = elgg_echo("curatedgroups:message"); + echo $message; + } +?> |