]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #4381. Group edit form made sticky.
authorSem <sembrestels@riseup.net>
Tue, 10 Jul 2012 23:24:57 +0000 (01:24 +0200)
committerCash Costello <cash.costello@gmail.com>
Wed, 11 Jul 2012 22:59:17 +0000 (18:59 -0400)
mod/groups/actions/groups/edit.php
mod/groups/views/default/forms/groups/edit.php

index b513a60989a3e76d0beee8ee8e802c3fd1524e11..a3ad9162289c593505d7417c53033533d7747fc2 100644 (file)
@@ -15,6 +15,8 @@ function profile_array_decoder(&$v) {
        $v = html_entity_decode($v, ENT_COMPAT, 'UTF-8');
 }
 
+elgg_make_sticky_form('groups');
+
 // Get group fields
 $input = array();
 foreach ($CONFIG->group as $shortname => $valuetype) {
@@ -106,6 +108,9 @@ if (elgg_get_plugin_setting('hidden_groups', 'groups') == 'yes') {
 
 $group->save();
 
+// group saved so clear sticky form
+elgg_clear_sticky_form('groups');
+
 // group creator needs to be member of new group and river entry created
 if ($new_group_flag) {
        elgg_set_page_owner_guid($group->guid);
index 8055b6430b1f17a93611e75b33e3ffafc2735da3..7540d1bf962ede65c45614cefdc18e577d491a66 100644 (file)
@@ -5,8 +5,16 @@
  * @package ElggGroups
  */
 
+if (elgg_is_sticky_form('groups')) {
+       $sticky_values = elgg_get_sticky_values('groups');
+       elgg_clear_sticky_form('groups');
+}
+
 // new groups default to open membership
-if (isset($vars['entity'])) {
+if (isset($sticky_values)) {
+       $membership = $sticky_values['membership'];
+       $access = $sticky_values['access_id'];
+} elseif (isset($vars['entity'])) {
        $membership = $vars['entity']->membership;
        $access = $vars['entity']->access_id;
        if ($access != ACCESS_PUBLIC && $access != ACCESS_LOGGED_IN) {
@@ -27,7 +35,7 @@ if (isset($vars['entity'])) {
        <label><?php echo elgg_echo("groups:name"); ?></label><br />
        <?php echo elgg_view("input/text", array(
                'name' => 'name',
-               'value' => $vars['entity']->name,
+               'value' => isset($sticky_values['name']) ? $sticky_values['name'] : $vars['entity']->name,
        ));
        ?>
 </div>
@@ -45,7 +53,7 @@ if ($group_profile_fields > 0) {
                echo "</label>$line_break";
                echo elgg_view("input/{$valtype}", array(
                        'name' => $shortname,
-                       'value' => $vars['entity']->$shortname,
+                       'value' => isset($sticky_values[$shortname]) ? $sticky_values[$shortname] : $vars['entity']->$shortname,
                ));
                echo '</div>';
        }