aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mod/groups/lib/groups.php4
-rw-r--r--mod/groups/start.php27
-rw-r--r--mod/groups/views/default/forms/groups/edit.php127
-rw-r--r--mod/groups/views/default/groups/edit.php25
4 files changed, 93 insertions, 90 deletions
diff --git a/mod/groups/lib/groups.php b/mod/groups/lib/groups.php
index 924ce5e2a..cff7fe258 100644
--- a/mod/groups/lib/groups.php
+++ b/mod/groups/lib/groups.php
@@ -124,7 +124,7 @@ function groups_handle_edit_page($page, $guid = 0) {
elgg_set_page_owner_guid(get_loggedin_userid());
$title = elgg_echo('groups:add');
elgg_push_breadcrumb($title);
- $content = elgg_view('forms/groups/edit');
+ $content = elgg_view('groups/edit');
} else {
$title = elgg_echo("groups:edit");
$group = get_entity($guid);
@@ -133,7 +133,7 @@ function groups_handle_edit_page($page, $guid = 0) {
elgg_set_page_owner_guid($group->getGUID());
elgg_push_breadcrumb($group->name, $group->getURL());
elgg_push_breadcrumb($title);
- $content = elgg_view("forms/groups/edit", array('entity' => $group));
+ $content = elgg_view("groups/edit", array('entity' => $group));
} else {
$content = elgg_echo('groups:noaccess');
}
diff --git a/mod/groups/start.php b/mod/groups/start.php
index 72ea31480..c0fc90135 100644
--- a/mod/groups/start.php
+++ b/mod/groups/start.php
@@ -7,6 +7,9 @@
elgg_register_event_handler('init', 'system', 'groups_init');
+// Ensure this runs after other plugins
+elgg_register_event_handler('init', 'system', 'groups_fields_setup', 10000);
+
/**
* Initialize the groups plugin.
*/
@@ -82,11 +85,6 @@ function groups_init() {
// Register a handler for delete groups
elgg_register_event_handler('delete', 'group', 'groups_delete_event_listener');
-
- // Make sure the groups initialisation function is called on initialisation
-
- // Ensure this runs after other plugins
- elgg_register_event_handler('init', 'system', 'groups_fields_setup', 10000);
elgg_register_event_handler('join', 'group', 'groups_user_join_event_listener');
elgg_register_event_handler('leave', 'group', 'groups_user_leave_event_listener');
@@ -95,14 +93,14 @@ function groups_init() {
}
/**
- * This function loads a set of default fields into the profile, then triggers a hook letting other plugins to edit
- * add and delete fields.
+ * This function loads a set of default fields into the profile, then triggers
+ * a hook letting other plugins to edit add and delete fields.
*
- * Note: This is a secondary system:init call and is run at a super low priority to guarantee that it is called after all
- * other plugins have initialised.
+ * Note: This is a system:init event triggered function and is run at a super
+ * low priority to guarantee that it is called after all other plugins have
+ * initialized.
*/
function groups_fields_setup() {
- global $CONFIG;
$profile_defaults = array(
'name' => 'text',
@@ -112,14 +110,17 @@ function groups_fields_setup() {
//'website' => 'url',
);
- $CONFIG->group = elgg_trigger_plugin_hook('profile:fields', 'group', NULL, $profile_defaults);
+ $profile_defaults = elgg_trigger_plugin_hook('profile:fields', 'group', NULL, $profile_defaults);
+
+ elgg_set_config('group', $profile_defaults);
// register any tag metadata names
- foreach ($CONFIG->group as $name => $type) {
+ foreach ($profile_defaults as $name => $type) {
if ($type == 'tags') {
elgg_register_tag_metadata_name($name);
- // register a tag name translation
+ // only shows up in search but why not just set this in en.php as doing it here
+ // means you cannot override it in a plugin
add_translation(get_current_language(), array("tag_names:$name" => elgg_echo("groups:$name")));
}
}
diff --git a/mod/groups/views/default/forms/groups/edit.php b/mod/groups/views/default/forms/groups/edit.php
index 99ff92616..326ed388f 100644
--- a/mod/groups/views/default/forms/groups/edit.php
+++ b/mod/groups/views/default/forms/groups/edit.php
@@ -1,19 +1,19 @@
<?php
- /**
- * Elgg groups plugin
- *
- * @package ElggGroups
- */
-
- // new groups default to open membership
- if (isset($vars['entity'])) {
- $membership = $vars['entity']->membership;
- } else {
- $membership = ACCESS_PUBLIC;
- }
+/**
+ * Elgg groups plugin
+ *
+ * @package ElggGroups
+ */
+
+// new groups default to open membership
+if (isset($vars['entity'])) {
+ $membership = $vars['entity']->membership;
+} else {
+ $membership = ACCESS_PUBLIC;
+}
?>
-<form action="<?php echo elgg_get_site_url(); ?>action/groups/edit" id="edit_group" enctype="multipart/form-data" method="post" class="margin-top">
+<form action="<?php echo elgg_get_site_url(); ?>action/groups/edit" enctype="multipart/form-data" method="post">
<?php echo elgg_view('input/securitytoken'); ?>
@@ -28,10 +28,10 @@
</p>
<?php
-//var_export($vars['profile']);
-if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0)
- foreach($vars['config']->group as $shortname => $valtype) {
- if ($shortname == 'description') {
+$group_profile_fields = elgg_get_config('group');
+if ($group_profile_fields > 0) {
+ foreach ($group_profile_fields as $shortname => $valtype) {
+ if ($shortname == 'description') {
?>
<p><label>
<?php echo elgg_echo("groups:{$shortname}") ?></label>
@@ -41,7 +41,7 @@ if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0)
)); ?>
</p>
<?php
- } else {
+ } else {
?>
<p><label>
<?php echo elgg_echo("groups:{$shortname}") ?><br />
@@ -51,6 +51,7 @@ if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0)
)); ?>
</label></p>
<?php
+ }
}
}
?>
@@ -64,8 +65,7 @@ if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0)
<?php
- if (get_plugin_setting('hidden_groups', 'groups') == 'yes')
- {
+if (get_plugin_setting('hidden_groups', 'groups') == 'yes') {
?>
<p>
@@ -73,42 +73,40 @@ if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0)
<?php echo elgg_echo('groups:visibility'); ?><br />
<?php
- $this_owner = $vars['entity']->owner_guid;
- if (!$this_owner) {
- $this_owner = get_loggedin_userid();
- }
+ $this_owner = $vars['entity']->owner_guid;
+ if (!$this_owner) {
+ $this_owner = get_loggedin_userid();
+ }
- $access = array(ACCESS_FRIENDS => elgg_echo("access:friends:label"), ACCESS_LOGGED_IN => elgg_echo("LOGGED_IN"), ACCESS_PUBLIC => elgg_echo("PUBLIC"));
- $collections = get_user_access_collections($vars['entity']->guid);
- if (is_array($collections)) {
- foreach ($collections as $c)
- $access[$c->id] = $c->name;
- }
+ $access = array(ACCESS_FRIENDS => elgg_echo("access:friends:label"), ACCESS_LOGGED_IN => elgg_echo("LOGGED_IN"), ACCESS_PUBLIC => elgg_echo("PUBLIC"));
+ $collections = get_user_access_collections($vars['entity']->guid);
+ if (is_array($collections)) {
+ foreach ($collections as $c) {
+ $access[$c->id] = $c->name;
+ }
+ }
- $current_access = ($vars['entity']->access_id ? $vars['entity']->access_id : ACCESS_PUBLIC);
- echo elgg_view('input/access', array('internalname' => 'vis',
+ $current_access = ($vars['entity']->access_id ? $vars['entity']->access_id : ACCESS_PUBLIC);
+ echo elgg_view('input/access', array('internalname' => 'vis',
'value' => $current_access,
'options' => $access));
- ?>
+ ?>
</label>
</p>
<?php
- }
-
- ?>
+}
- <?php
- if (isset($vars['config']->group_tool_options)) {
- foreach($vars['config']->group_tool_options as $group_option) {
- $group_option_toggle_name = $group_option->name."_enable";
- if ($group_option->default_on) {
- $group_option_default_value = 'yes';
- } else {
- $group_option_default_value = 'no';
- }
+if (isset($vars['config']->group_tool_options)) {
+ foreach($vars['config']->group_tool_options as $group_option) {
+ $group_option_toggle_name = $group_option->name."_enable";
+ if ($group_option->default_on) {
+ $group_option_default_value = 'yes';
+ } else {
+ $group_option_default_value = 'no';
+ }
?>
<p>
<label>
@@ -126,43 +124,22 @@ if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0)
?>
</label>
</p>
- <?php
- }
+<?php
}
- ?>
+}
+?>
<div class="divider"></div>
<p>
- <?php
- if ($vars['entity'])
- {
- ?>
- <input type="hidden" name="group_guid" value="<?php echo $vars['entity']->getGUID(); ?>" />
- <?php
- }
-
- echo elgg_view('input/submit', array('value' => elgg_echo('save')));
- ?>
-
- </p>
-
-</form>
-
<?php
if ($vars['entity']) {
?>
-<div class="delete_group">
- <form action="<?php echo elgg_get_site_url() . "action/groups/delete"; ?>">
- <?php
- echo elgg_view('input/securitytoken');
- $warning = elgg_echo("groups:deletewarning");
- ?>
- <input type="hidden" name="group_guid" value="<?php echo $vars['entity']->getGUID(); ?>" />
- <input type="submit" class="elgg-action-button disabled" name="delete" value="<?php echo elgg_echo('groups:delete'); ?>" onclick="javascript:return confirm('<?php echo $warning; ?>')"/><?php
- ?>
- </form>
-</div>
+ <input type="hidden" name="group_guid" value="<?php echo $vars['entity']->getGUID(); ?>" />
<?php
}
-?>
+echo elgg_view('input/submit', array('value' => elgg_echo('save')));
+?>
+
+ </p>
+</form>
diff --git a/mod/groups/views/default/groups/edit.php b/mod/groups/views/default/groups/edit.php
new file mode 100644
index 000000000..b18cf1e02
--- /dev/null
+++ b/mod/groups/views/default/groups/edit.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Edit/create a group
+ */
+
+$entity = elgg_get_array_value('entity', $vars, null);
+
+echo elgg_view('forms/groups/edit', array('entity' => $entity));
+
+if ($entity) {
+?>
+<div class="delete_group">
+ <form action="<?php echo elgg_get_site_url() . "action/groups/delete"; ?>">
+ <?php
+ echo elgg_view('input/securitytoken');
+ $warning = elgg_echo("groups:deletewarning");
+ ?>
+ <input type="hidden" name="group_guid" value="<?php echo $vars['entity']->getGUID(); ?>" />
+ <input type="submit" class="elgg-action-button disabled" name="delete" value="<?php echo elgg_echo('groups:delete'); ?>" onclick="javascript:return confirm('<?php echo $warning; ?>')"/><?php
+ ?>
+ </form>
+</div>
+<?php
+}
+?>