12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- /**
- * (un)Mark a group a as special
- */
- $group_guid = (int) get_input("group_guid");
- $state = get_input("state");
- if (!empty($group_guid)) {
- $group = get_entity($group_guid);
- if (!empty($group) && ($group instanceof ElggGroup)) {
- $result = false;
-
- switch ($state) {
- case "auto_join":
- $auto_join_groups = array();
- $auto_join_setting = elgg_get_plugin_setting("auto_join", "group_tools");
- if (!empty($auto_join_setting)) {
- $auto_join_groups = string_to_tag_array($auto_join_setting);
- }
-
- if (($key = array_search($group_guid, $auto_join_groups)) !== false) {
- unset($auto_join_groups[$key]);
- } else {
- $auto_join_groups[] = $group_guid;
- }
-
- if (!empty($auto_join_groups)) {
- $result = elgg_set_plugin_setting("auto_join", implode(",", $auto_join_groups), "group_tools");
- } else {
- $result = elgg_unset_plugin_setting("auto_join", "group_tools");
- }
-
- $success_message = elgg_echo("group_tools:action:toggle_special_state:auto_join");
- $error_message = elgg_echo("group_tools:action:toggle_special_state:error:auto_join");
-
- break;
- case "suggested":
- $suggested_groups = array();
- $suggested_setting = elgg_get_plugin_setting("suggested_groups", "group_tools");
- if (!empty($suggested_setting)) {
- $suggested_groups = string_to_tag_array($suggested_setting);
- }
-
- if (($key = array_search($group_guid, $suggested_groups)) !== false) {
- unset($suggested_groups[$key]);
- } else {
- $suggested_groups[] = $group_guid;
- }
-
- if (!empty($suggested_groups)) {
- $result = elgg_set_plugin_setting("suggested_groups", implode(",", $suggested_groups), "group_tools");
- } else {
- $result = elgg_unset_plugin_setting("suggested_groups", "group_tools");
- }
-
- $success_message = elgg_echo("group_tools:action:toggle_special_state:suggested");
- $error_message = elgg_echo("group_tools:action:toggle_special_state:error:suggested");
-
- break;
- default:
- $error_message = elgg_echo("group_tools:action:toggle_special_state:error:state");
- break;
- }
-
- if ($result) {
- system_message($success_message);
- } else {
- register_error($error_message);
- }
- } else {
- register_error(elgg_echo("group_tools:action:error:entity"));
- }
- } else {
- register_error(elgg_echo("group_tools:action:error:input"));
- }
- forward(REFERER);
|