From 4d9b6f2fe63091e72c04ea31eaae61738b668d65 Mon Sep 17 00:00:00 2001 From: cash Date: Wed, 2 Feb 2011 01:59:56 +0000 Subject: a little clean up of the groups edit form git-svn-id: http://code.elgg.org/elgg/trunk@7986 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/groups/lib/groups.php | 4 +- mod/groups/start.php | 27 +++--- mod/groups/views/default/forms/groups/edit.php | 127 ++++++++++--------------- mod/groups/views/default/groups/edit.php | 25 +++++ 4 files changed, 93 insertions(+), 90 deletions(-) create mode 100644 mod/groups/views/default/groups/edit.php 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 @@ 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; +} ?> -
+ @@ -28,10 +28,10 @@

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') { ?>

@@ -41,7 +41,7 @@ if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0) )); ?>

@@ -64,8 +65,7 @@ if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0)

@@ -73,42 +73,40 @@ if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0)
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)); - ?> + ?>

+} - 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'; + } ?>

- +} +?>

- - - elgg_echo('save'))); - ?> - -

- -
- -
-
"> - - - -
-
+ +echo elgg_view('input/submit', array('value' => elgg_echo('save'))); +?> + +

+ 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 @@ + $entity)); + +if ($entity) { +?> +
+
"> + + + +
+
+ -- cgit v1.2.3