123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- <?php
- /**
- * Elgg groups plugin
- *
- * @package ElggGroups
- */
- $comment = elgg_get_sticky_value('group_invite', 'comment');
- elgg_clear_sticky_form('group_invite');
- $group = elgg_extract("entity", $vars, elgg_get_page_owner_entity());
- $invite_site_members = elgg_extract("invite", $vars, "no");
- $invite_email = elgg_extract("invite_email", $vars, "no");;
- $invite_csv = elgg_extract("invite_csv", $vars, "no");;
- $owner = $group->getOwnerEntity();
- $forward_url = $group->getURL();
- $tabs = false;
- $friends = elgg_get_logged_in_user_entity()->getFriends(array("limit" => false));
- if (!empty($friends)) {
- $toggle_content = "<span>" . elgg_echo("group_tools:group:invite:friends:select_all") . "</span>";
- $toggle_content .= "<span class='hidden'>" . elgg_echo("group_tools:group:invite:friends:deselect_all") . "</span>";
-
- $friendspicker = elgg_view("output/url", array("text" => $toggle_content, "href" => "javascript:void(0);", "onclick" => "group_tools_toggle_all_friends();", "id" => "friends_toggle", "class" => "float-alt elgg-button elgg-button-action"));
- $friendspicker .= elgg_view('input/friendspicker', array('entities' => $friends, 'name' => 'user_guid', 'highlight' => 'all'));
- } else {
- $friendspicker = elgg_echo('groups:nofriendsatall');
- }
- // which options to show
- if (in_array("yes", array($invite_site_members, $invite_email, $invite_csv))) {
- $tabs = array(
- "friends" => array(
- "text" => elgg_echo("friends"),
- "href" => "#",
- "rel" => "friends",
- "priority" => 200,
- "onclick" => "group_tools_group_invite_switch_tab(\"friends\");",
- "selected" => true
- )
- );
-
- // invite friends
- $form_data = "<div id='group_tools_group_invite_friends'>";
- $form_data .= $friendspicker;
- $form_data .= "</div>";
- //invite all site members
- if ($invite_site_members == "yes") {
- $tabs["users"] = array(
- "text" => elgg_echo("group_tools:group:invite:users"),
- "href" => "#",
- "rel" => "users",
- "priority" => 300,
- "onclick" => "group_tools_group_invite_switch_tab(\"users\");"
- );
-
- $form_data .= "<div id='group_tools_group_invite_users' class='hidden mbm'>";
- $form_data .= "<div>" . elgg_echo("group_tools:group:invite:users:description") . "</div>";
- $form_data .= elgg_view("input/group_invite_autocomplete", array("name" => "user_guid",
- "id" => "group_tools_group_invite_autocomplete",
- "group_guid" => $group->getGUID(),
- "relationship" => "site"));
- if (elgg_is_admin_logged_in()) {
- $form_data .= elgg_view("input/checkbox", array("name" => "all_users", "value" => "yes"));
- $form_data .= elgg_echo("group_tools:group:invite:users:all");
- }
-
- $form_data .= "</div>";
- }
-
- // invite by email
- if ($invite_email == "yes") {
- $tabs["email"] = array(
- "text" => elgg_echo("group_tools:group:invite:email"),
- "href" => "#",
- "rel" => "users",
- "priority" => 400,
- "onclick" => "group_tools_group_invite_switch_tab(\"email\");"
- );
-
- $form_data .= "<div id='group_tools_group_invite_email' class='hidden mbm'>";
- $form_data .= "<div>" . elgg_echo("group_tools:group:invite:email:description") . "</div>";
- $form_data .= elgg_view("input/group_invite_autocomplete", array("name" => "user_guid",
- "id" => "group_tools_group_invite_autocomplete_email",
- "group_guid" => $group->getGUID(),
- "relationship" => "email"));
- $form_data .= "</div>";
- }
-
- //invite by cvs upload
- if ($invite_csv == "yes") {
- $tabs["csv"] = array(
- "text" => elgg_echo("group_tools:group:invite:csv"),
- "href" => "#",
- "rel" => "users",
- "priority" => 500,
- "onclick" => "group_tools_group_invite_switch_tab(\"csv\");"
- );
-
- $form_data .= "<div id='group_tools_group_invite_csv' class='hidden mbm'>";
- $form_data .= "<div>" . elgg_echo("group_tools:group:invite:csv:description") . "</div>";
- $form_data .= elgg_view("input/file", array("name" => "csv"));
- $form_data .= "</div>";
- }
-
- } else {
- // only friends
- $form_data = $friendspicker;
- }
- // optional text
- $form_data .= elgg_view_module("aside", elgg_echo("group_tools:group:invite:text"), elgg_view("input/longtext", array("name" => "comment", 'value' => $comment)));
- // renotify existing invites
- if ($group->canEdit()) {
- $form_data .= "<div>";
- $form_data .= "<input type='checkbox' name='resend' value='yes' />";
- $form_data .= " " . elgg_echo("group_tools:group:invite:resend");
- $form_data .= "</div>";
- }
- // build tabs
- if (!empty($tabs)) {
- foreach ($tabs as $name => $tab) {
- $tab["name"] = $name;
-
- elgg_register_menu_item("filter", $tab);
- }
- echo elgg_view_menu("filter", array("sort_by" => "priority"));
- }
- // show form
- echo $form_data;
- // show buttons
- echo '<div class="elgg-foot">';
- echo elgg_view('input/hidden', array('name' => 'forward_url', 'value' => $forward_url));
- echo elgg_view('input/hidden', array('name' => 'group_guid', 'value' => $group->guid));
- echo elgg_view('input/submit', array('name' => 'submit', 'value' => elgg_echo('invite')));
- if (elgg_is_admin_logged_in()) {
- echo elgg_view("input/submit", array('name' => 'submit', "value" => elgg_echo("group_tools:add_users"), "onclick" => "return confirm(\"" . elgg_echo("group_tools:group:invite:add:confirm") . "\");"));
- }
- echo '</div>';
-
- ?>
- <script type="text/javascript">
- function group_tools_group_invite_switch_tab(tab) {
- $('#invite_to_group li').removeClass('elgg-state-selected');
- $('#invite_to_group li.elgg-menu-item-' + tab).addClass('elgg-state-selected');
- switch (tab) {
- case "users":
- $('#group_tools_group_invite_friends').hide();
- $('#group_tools_group_invite_email').hide();
- $('#group_tools_group_invite_csv').hide();
-
- $('#group_tools_group_invite_users').show();
- break;
- case "email":
- $('#group_tools_group_invite_friends').hide();
- $('#group_tools_group_invite_users').hide();
- $('#group_tools_group_invite_csv').hide();
-
- $('#group_tools_group_invite_email').show();
- break;
- case "csv":
- $('#group_tools_group_invite_friends').hide();
- $('#group_tools_group_invite_users').hide();
- $('#group_tools_group_invite_email').hide();
-
- $('#group_tools_group_invite_csv').show();
- break;
- default:
- $('#group_tools_group_invite_users').hide();
- $('#group_tools_group_invite_email').hide();
- $('#group_tools_group_invite_csv').hide();
-
- $('#group_tools_group_invite_friends').show();
- break;
- }
- }
- function group_tools_toggle_all_friends() {
- if ($('#friends_toggle span:first').is(':visible')) {
- $('#friends-picker1 input[type="checkbox"]').attr("checked", "checked");
- } else {
- $('#friends-picker1 input[type="checkbox"]').removeAttr("checked");
- }
- $('#friends_toggle span').toggle();
- }
- </script>
|