芝麻web文件管理V1.00
编辑当前文件:/home/digitalh/network.digitalhubbd.com/fns/load/groups.php
['groups' => 'super_privileges']])) { $super_privileges = true; } $columns = $join = $where = null; $sql_statement = ''; $columns = [ 'groups.group_id', 'groups.name', 'groups.slug', 'groups.secret_group', 'groups.unleavable', 'groups.password', 'groups.pin_group', 'groups.suspended', 'groups.group_picture' ]; if (Registry::load('current_user')->logged_in) { $join["[>]group_members"] = ["groups.group_id" => "group_id", "AND" => ["user_id" => Registry::load('current_user')->id]]; $join["[>]group_roles"] = ["group_members.group_role_id" => "group_role_id"]; $join["[>]groups(group_info)"] = ["groups.group_id" => "group_id", "AND" => ["group_members.group_role_id[!]" => NULL]]; $columns[] = 'group_members.group_role_id'; $columns[] = 'group_members.last_read_message_id'; $columns[] = 'group_roles.group_role_attribute'; $columns[] = 'group_info.updated_on(last_updated)'; $sql_statement .= '(SELECT count(
) FROM
'; $sql_statement .= 'LEFT JOIN
AS blacklist ON
= blacklist.blacklisted_user_id '; $sql_statement .= 'AND blacklist.user_id = '.Registry::load('current_user')->id.' '; $sql_statement .= 'LEFT JOIN
AS blocked ON
= blocked.user_id '; $sql_statement .= 'AND blocked.blacklisted_user_id = '.Registry::load('current_user')->id.' '; $sql_statement .= 'WHERE
IS NOT NULL '; $sql_statement .= 'AND ((COALESCE(blacklist.ignore, 0) = 0) '; if (!$super_privileges) { $sql_statement .= 'AND (COALESCE(blocked.block, 0) = 0) '; } $sql_statement .= 'AND (COALESCE(blacklist.block, 0) = 0)) '; $sql_statement .= 'AND
!= '.Registry::load('current_user')->id.' '; $sql_statement .= 'AND
=
AND
>
)'; $columns['unread_messages'] = Medoo::raw($sql_statement); if ($data["sortby"] === 'members_asc' || $data["sortby"] === 'members_desc') { $columns[] = 'groups.total_members'; } } else { $data["sortby"] = $data["filter"] = 0; } if (!Registry::load('current_user')->logged_in && Registry::load('settings')->view_groups_without_login === 'enable') { $where["AND"] = [ "OR" => [ "groups.password(password_null)" => null, "groups.password(password_empty)" => '', "groups.password(password_zero)" => "0" ], "groups.secret_group" => "0" ]; } else if (role(['permissions' => ['groups' => ['view_public_groups', 'view_secret_groups', 'view_password_protected_groups']]])) { $where["groups.group_id[!]"] = 0; } else if (role(['permissions' => ['groups' => ['view_password_protected_groups', 'view_secret_groups']]])) { if (role(['permissions' => ['groups' => ['view_joined_groups']]])) { $where["AND"] = [ "OR" => [ "group_members.group_role_id[!]" => null, "groups.password[!](password_null)" => null, "groups.password[!](password_empty)" => '', "groups.password[!](password_zero)" => "0", "groups.secret_group[!]" => "0" ] ]; } else { $where["AND"] = [ "OR" => [ "groups.password[!](password_null)" => null, "groups.password[!](password_empty)" => '', "groups.password[!](password_zero)" => "0", "groups.secret_group[!]" => "0" ] ]; } } else if (role(['permissions' => ['groups' => ['view_public_groups', 'view_password_protected_groups']]])) { if (role(['permissions' => ['groups' => ['view_joined_groups']]])) { $where["AND"] = [ "OR" => [ "group_members.group_role_id[!]" => null, "groups.secret_group" => "0" ] ]; } else { $where["AND"] = ["groups.secret_group" => "0"]; } } else if (role(['permissions' => ['groups' => ['view_public_groups', 'view_secret_groups']]])) { if (role(['permissions' => ['groups' => ['view_joined_groups']]])) { $where["AND"] = [ "OR" => [ "groups.password(password_null)" => null, "groups.password(password_zero)" => "0", "groups.password(password_empty)" => '', "group_members.group_role_id[!]" => null, ] ]; } else { $where["AND"] = [ "OR" => [ "groups.password(password_null)" => null, "groups.password(password_empty)" => '', "groups.password(password_zero)" => "0" ] ]; } } else if (role(['permissions' => ['groups' => 'view_password_protected_groups']])) { if (role(['permissions' => ['groups' => ['view_joined_groups']]])) { $where["AND"] = [ "OR" => [ "groups.password[!](password_null)" => null, "groups.password[!](password_empty)" => '', "groups.password[!](password_zero)" => "0", "group_members.group_role_id[!]" => null, ], "OR #second_query" => [ "group_members.group_role_id[!]" => null, "groups.secret_group" => "0" ] ]; } else { $where["AND"] = [ "OR #first_query" => [ "groups.password[!](password_null)" => null, "groups.password[!](password_empty)" => '', "groups.password[!](password_zero)" => "0" ], "groups.secret_group" => "0" ]; } } else if (role(['permissions' => ['groups' => 'view_secret_groups']])) { if (role(['permissions' => ['groups' => ['view_joined_groups']]])) { $where["AND"] = [ "OR" => [ "group_members.group_role_id[!]" => null, "groups.secret_group[!]" => "0" ] ]; } else { $where["groups.secret_group[!]"] = "0"; } } else if (role(['permissions' => ['groups' => 'view_public_groups']])) { if (role(['permissions' => ['groups' => ['view_joined_groups']]])) { $where["AND"] = [ "OR #first_query" => [ "group_members.group_role_id[!]" => null, "groups.password(password_null)" => null, "groups.password(password_empty)" => '', "groups.password(password_zero)" => "0" ], "OR #second_query" => [ "group_members.group_role_id[!]" => null, "groups.secret_group" => "0" ] ]; } else { $where["AND"] = [ "OR" => [ "groups.password(password_null)" => null, "groups.password(password_empty)" => '', "groups.password(password_zero)" => "0" ], "groups.secret_group" => "0" ]; } } else { if (role(['permissions' => ['groups' => ['view_joined_groups']]])) { $where["group_members.group_role_id[!]"] = null; } else { $where["groups.group_id(disable_view_groups)"] = 0; } } if (!$super_privileges) { $where["groups.suspended"] = 0; } if (!empty($data["offset"])) { $data["offset"] = array_map('intval', explode(',', $data["offset"])); $where["groups.group_id[!]"] = $data["offset"]; } if (isset($data["group_category_id"])) { $data["group_category_id"] = filter_var($data["group_category_id"], FILTER_SANITIZE_NUMBER_INT); if (!empty($data["group_category_id"])) { $where["groups.group_category_id"] = $data["group_category_id"]; } } if (!empty($data["search"])) { $where["AND #search_query"]["OR"] = ["groups.name[~]" => $data["search"], "groups.slug[~]" => $data["search"]]; } $where["LIMIT"] = Registry::load('settings')->records_per_call; if ($data["filter"] === 'joined') { $where["group_members.group_role_id[!]"] = null; } elseif ($data["filter"] === 'unjoined') { $where["group_members.group_role_id"] = null; } if ($data["sortby"] === 'name_asc') { $where["ORDER"] = ["groups.name" => "ASC"]; } elseif ($data["sortby"] === 'name_desc') { $where["ORDER"] = ["groups.name" => "DESC"]; } elseif ($data["sortby"] === 'members_asc') { $where["GROUP"] = ["groups.group_id", "group_members.group_role_id", "group_members.last_read_message_id"]; $where["ORDER"] = ["groups.total_members" => "ASC"]; } elseif ($data["sortby"] === 'members_desc') { $where["GROUP"] = ["groups.group_id", "group_members.group_role_id"]; $where["ORDER"] = ["groups.total_members" => "DESC"]; } else { if (Registry::load('current_user')->logged_in) { $where["GROUP"] = ["groups.group_id", "group_members.group_role_id", "group_members.last_read_message_id"]; $where["ORDER"] = [ "groups.pin_group" => "DESC", "last_updated" => "DESC", ]; } else { $where["ORDER"] = ["groups.pin_group" => "DESC"]; } } if (!empty($join)) { $groups = DB::connect()->select('groups', $join, $columns, $where); } else { $groups = DB::connect()->select('groups', $columns, $where); } $i = 1; $output = array(); $output['loaded'] = new stdClass(); $output['loaded']->title = Registry::load('strings')->groups; $output['loaded']->offset = array(); if (!empty($data["offset"])) { $output['loaded']->offset = $data["offset"]; } if (role(['permissions' => ['groups' => 'create_groups']])) { $output['todo'] = new stdClass(); $output['todo']->class = 'load_form'; $output['todo']->title = Registry::load('strings')->create_group; $output['todo']->attributes['form'] = 'groups'; } if ($super_privileges) { $output['multiple_select'] = new stdClass(); $output['multiple_select']->title = Registry::load('strings')->delete; $output['multiple_select']->attributes['class'] = 'ask_confirmation'; $output['multiple_select']->attributes['data-remove'] = 'groups'; $output['multiple_select']->attributes['multi_select'] = 'group_id'; $output['multiple_select']->attributes['submit_button'] = Registry::load('strings')->yes; $output['multiple_select']->attributes['cancel_button'] = Registry::load('strings')->no; $output['multiple_select']->attributes['confirmation'] = Registry::load('strings')->confirm_action; } if (Registry::load('current_user')->logged_in) { $output['filters'][1] = new stdClass(); $output['filters'][1]->filter = Registry::load('strings')->all; $output['filters'][1]->class = 'load_aside'; $output['filters'][1]->attributes['load'] = 'groups'; $output['filters'][2] = new stdClass(); $output['filters'][2]->filter = Registry::load('strings')->joined; $output['filters'][2]->class = 'load_aside'; $output['filters'][2]->attributes['load'] = 'groups'; $output['filters'][2]->attributes['filter'] = 'joined'; $output['filters'][3] = new stdClass(); $output['filters'][3]->filter = Registry::load('strings')->unjoined; $output['filters'][3]->class = 'load_aside'; $output['filters'][3]->attributes['load'] = 'groups'; $output['filters'][3]->attributes['filter'] = 'unjoined'; if (isset($data["group_category_id"]) && !empty($data["group_category_id"])) { $output['filters'][1]->attributes['data-group_category_id'] = $data["group_category_id"]; $output['filters'][2]->attributes['data-group_category_id'] = $data["group_category_id"]; $output['filters'][3]->attributes['data-group_category_id'] = $data["group_category_id"]; } } if (Registry::load('current_user')->logged_in) { $output['sortby'][1] = new stdClass(); $output['sortby'][1]->sortby = Registry::load('strings')->sort_by_default; $output['sortby'][1]->class = 'load_aside'; $output['sortby'][1]->attributes['load'] = 'groups'; $output['sortby'][2] = new stdClass(); $output['sortby'][2]->sortby = Registry::load('strings')->name; $output['sortby'][2]->class = 'load_aside sort_asc'; $output['sortby'][2]->attributes['load'] = 'groups'; $output['sortby'][2]->attributes['sort'] = 'name_asc'; $output['sortby'][3] = new stdClass(); $output['sortby'][3]->sortby = Registry::load('strings')->name; $output['sortby'][3]->class = 'load_aside sort_desc'; $output['sortby'][3]->attributes['load'] = 'groups'; $output['sortby'][3]->attributes['sort'] = 'name_desc'; $output['sortby'][4] = new stdClass(); $output['sortby'][4]->sortby = Registry::load('strings')->members; $output['sortby'][4]->class = 'load_aside sort_asc'; $output['sortby'][4]->attributes['load'] = 'groups'; $output['sortby'][4]->attributes['sort'] = 'members_asc'; $output['sortby'][5] = new stdClass(); $output['sortby'][5]->sortby = Registry::load('strings')->members; $output['sortby'][5]->class = 'load_aside sort_desc'; $output['sortby'][5]->attributes['load'] = 'groups'; $output['sortby'][5]->attributes['sort'] = 'members_desc'; if (isset($data["group_category_id"]) && !empty($data["group_category_id"])) { $output['sortby'][1]->attributes['data-group_category_id'] = $data["group_category_id"]; $output['sortby'][2]->attributes['data-group_category_id'] = $data["group_category_id"]; $output['sortby'][3]->attributes['data-group_category_id'] = $data["group_category_id"]; $output['sortby'][4]->attributes['data-group_category_id'] = $data["group_category_id"]; $output['sortby'][5]->attributes['data-group_category_id'] = $data["group_category_id"]; } } foreach ($groups as $group) { $output['loaded']->offset[] = $group['group_id']; if (!isset($group['group_role_attribute'])) { $group['group_role_attribute'] = null; } $output['content'][$i] = new stdClass(); $output['content'][$i]->image = get_img_url(['from' => 'groups/icons', 'image' => $group['group_picture']]); $output['content'][$i]->title = $group['name']; $output['content'][$i]->class = "group_conversation"; $output['content'][$i]->subtitle = Registry::load('strings')->public_group; $output['content'][$i]->icon = 0; $output['content'][$i]->unread = 0; $output['content'][$i]->identifier = $group['group_id']; $output['content'][$i]->attributes = ['group_id' => $group['group_id'], 'stopPropagation' => true]; if (!empty($group['pin_group']) && empty($data['sortby'])) { $output['content'][$i]->subtitle = $output['content'][$i]->icon_text = Registry::load('strings')->pinned_group; $output['content'][$i]->icon = 'pinned_icon'; } else if (!empty($group['password'])) { $output['content'][$i]->subtitle = $output['content'][$i]->icon_text = Registry::load('strings')->protected_group; } else if (!empty($group['secret_group'])) { $output['content'][$i]->subtitle = $output['content'][$i]->icon_text = Registry::load('strings')->secret_group; } else if (!empty($group['unleavable'])) { $output['content'][$i]->subtitle = $output['content'][$i]->icon_text = Registry::load('strings')->unleavable_group; } if ($data["sortby"] === 'members_asc' || $data["sortby"] === 'members_desc') { $output['content'][$i]->subtitle = $group['total_members'].' '.Registry::load('strings')->members; } if (isset($group['group_role_id']) && !empty($group['group_role_id']) && $group['group_role_attribute'] === 'banned_users') { $output['content'][$i]->subtitle = Registry::load('strings')->banned; } if (Registry::load('current_user')->logged_in) { if (empty($data["filter"]) && empty($data["sortby"]) && empty($data["search"])) { if (isset($group['group_role_id']) && !empty($group['group_role_id']) && $group['group_role_attribute'] !== 'banned_users') { if (isset($group['unread_messages']) && !empty($group['unread_messages'])) { $output['content'][$i]->unread = abbreviateNumber($group['unread_messages']); } } } } $option_index = 1; if (!$super_privileges && empty($group['group_role_id']) && !empty($group['password'])) { if (role(['permissions' => ['groups' => 'join_group']])) { $output['content'][$i]->class .= " load_form"; $output['content'][$i]->attributes['form'] = 'join_group'; $output['content'][$i]->attributes['data-group_id'] = $group['group_id']; } else { $output['content'][$i]->class .= " load_conversation"; } } else { if (Registry::load('current_user')->logged_in) { if (!$super_privileges && !isset($group['group_role_id']) || !$super_privileges && empty($group['group_role_id'])) { if (isset(Registry::load('settings')->view_public_group_messages_non_member) && Registry::load('settings')->view_public_group_messages_non_member === 'enable') { $output['content'][$i]->class .= " load_conversation"; } else { unset($output['content'][$i]->attributes['stopPropagation']); } } else { $output['content'][$i]->class .= " load_conversation"; } } else { $output['content'][$i]->class .= " load_conversation"; } } if (isset($group['group_role_id']) && !empty($group['group_role_id']) || $super_privileges) { if ($super_privileges || role(['permissions' => ['group' => 'edit_group'], 'group_role_id' => $group['group_role_id']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->edit_group; $output['options'][$i][$option_index]->class = 'load_form'; $output['options'][$i][$option_index]->attributes['form'] = 'groups'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } } if (role(['permissions' => ['super_privileges' => 'group_headers']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->group_header; $output['options'][$i][$option_index]->class = 'load_form'; $output['options'][$i][$option_index]->attributes['form'] = 'group_headers'; $output['options'][$i][$option_index]->attributes['enlarge'] = true; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } if (isset($group['suspended']) && !empty($group['suspended'])) { $output['content'][$i]->subtitle = Registry::load('strings')->suspended; } if ($super_privileges) { if (isset($group['suspended']) && !empty($group['suspended'])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->unsuspend; $output['options'][$i][$option_index]->class = 'ask_confirmation'; $output['options'][$i][$option_index]->attributes['data-update'] = 'group_status'; $output['options'][$i][$option_index]->attributes['data-unsuspend_group_id'] = $group['group_id']; $output['options'][$i][$option_index]->attributes['confirmation'] = Registry::load('strings')->confirm_action; $output['options'][$i][$option_index]->attributes['submit_button'] = Registry::load('strings')->yes; $output['options'][$i][$option_index]->attributes['cancel_button'] = Registry::load('strings')->no; $option_index++; } else { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->suspend; $output['options'][$i][$option_index]->class = 'ask_confirmation'; $output['options'][$i][$option_index]->attributes['data-update'] = 'group_status'; $output['options'][$i][$option_index]->attributes['data-suspend_group_id'] = $group['group_id']; $output['options'][$i][$option_index]->attributes['confirmation'] = Registry::load('strings')->confirm_action; $output['options'][$i][$option_index]->attributes['submit_button'] = Registry::load('strings')->yes; $output['options'][$i][$option_index]->attributes['cancel_button'] = Registry::load('strings')->no; $option_index++; } } if (!isset($group['group_role_id']) || empty($group['group_role_id'])) { if (role(['permissions' => ['groups' => 'join_group']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->join_group; if (empty($group['password']) || $super_privileges) { if (isset(Registry::load('settings')->group_join_confirmation) && Registry::load('settings')->group_join_confirmation === 'enable') { $output['options'][$i][$option_index]->class = 'ask_confirmation'; $output['options'][$i][$option_index]->attributes['data-add'] = 'group_members'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $output['options'][$i][$option_index]->attributes['confirmation'] = Registry::load('strings')->confirm_join; $output['options'][$i][$option_index]->attributes['submit_button'] = Registry::load('strings')->yes; $output['options'][$i][$option_index]->attributes['cancel_button'] = Registry::load('strings')->no; } else { $output['options'][$i][$option_index]->class = 'api_request'; $output['options'][$i][$option_index]->attributes['data-add'] = 'group_members'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; } } else { $output['options'][$i][$option_index]->class = 'load_form'; $output['options'][$i][$option_index]->attributes['form'] = 'join_group'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; } $option_index++; } } if (isset($group['group_role_id']) && !empty($group['group_role_id'])) { if ($super_privileges || role(['permissions' => ['groups' => 'leave_group']]) && empty($group['unleavable']) && $group['group_role_attribute'] !== 'banned_users') { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->leave_group; $output['options'][$i][$option_index]->class = 'ask_confirmation'; $output['options'][$i][$option_index]->attributes['data-remove'] = 'group_members'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $output['options'][$i][$option_index]->attributes['confirmation'] = Registry::load('strings')->confirm_leave; $output['options'][$i][$option_index]->attributes['submit_button'] = Registry::load('strings')->yes; $output['options'][$i][$option_index]->attributes['cancel_button'] = Registry::load('strings')->no; $option_index++; } } $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->group_info; $output['options'][$i][$option_index]->class = 'get_info force_request'; $output['options'][$i][$option_index]->attributes['group_id'] = $group['group_id']; $option_index++; if (role(['permissions' => ['groups' => 'embed_group']])) { if ($super_privileges || isset($group['group_role_id']) && !empty($group['group_role_id'])) { $embed_group = false; if ($super_privileges || $group['group_role_attribute'] === 'administrators') { $embed_group = true; } else if (empty($group['password']) && empty($group['secret_group'])) { $embed_group = true; } if ($embed_group) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->embed; $output['options'][$i][$option_index]->class = 'load_form'; $output['options'][$i][$option_index]->attributes['form'] = 'embed_group'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } } } if (role(['permissions' => ['badges' => 'assign']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->assign_badges; $output['options'][$i][$option_index]->class = 'load_aside'; $output['options'][$i][$option_index]->attributes['load'] = 'badges'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } if ($super_privileges || isset($group['group_role_id']) && !empty($group['group_role_id']) && $group['group_role_attribute'] !== 'banned_users') { if ($super_privileges || role(['permissions' => ['group_members' => 'view_group_members'], 'group_role_id' => $group['group_role_id']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->members; $output['options'][$i][$option_index]->class = 'load_aside'; $output['options'][$i][$option_index]->attributes['load'] = 'group_members'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } if (role(['permissions' => ['groups' => 'invite_users']])) { $invite_users = false; if ($super_privileges || $group['group_role_attribute'] === 'administrators') { $invite_users = true; } else if (empty($group['password']) && empty($group['secret_group'])) { $invite_users = true; } if ($invite_users) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->invite_users; $output['options'][$i][$option_index]->class = 'load_form'; $output['options'][$i][$option_index]->attributes['form'] = 'invite_group_members'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } } if ($super_privileges && role(['permissions' => ['groups' => 'add_site_members']]) || role(['permissions' => ['groups' => 'add_site_members']]) && empty($group['password']) && empty($group['secret_group'])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->add_members; $output['options'][$i][$option_index]->class = 'load_aside'; $output['options'][$i][$option_index]->attributes['load'] = 'non_group_members'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } if (role(['permissions' => ['groups' => 'clear_chat_history']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->clear_chat; $output['options'][$i][$option_index]->class = 'ask_confirmation'; $output['options'][$i][$option_index]->attributes['data-remove'] = 'group_messages'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $output['options'][$i][$option_index]->attributes['data-clear_chat_history'] = true; $output['options'][$i][$option_index]->attributes['confirmation'] = Registry::load('strings')->confirm_action; $output['options'][$i][$option_index]->attributes['submit_button'] = Registry::load('strings')->yes; $output['options'][$i][$option_index]->attributes['cancel_button'] = Registry::load('strings')->no; $option_index++; } if ($super_privileges || role(['permissions' => ['group' => 'delete_group'], 'group_role_id' => $group['group_role_id']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->delete_group; $output['options'][$i][$option_index]->class = 'ask_confirmation'; $output['options'][$i][$option_index]->attributes['data-remove'] = 'groups'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $output['options'][$i][$option_index]->attributes['confirmation'] = Registry::load('strings')->confirm_delete; $output['options'][$i][$option_index]->attributes['submit_button'] = Registry::load('strings')->yes; $output['options'][$i][$option_index]->attributes['cancel_button'] = Registry::load('strings')->no; $option_index++; } if ($super_privileges || role(['permissions' => ['messages' => 'delete_messages'], 'group_role_id' => $group['group_role_id']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->delete_messages; $output['options'][$i][$option_index]->class = 'ask_confirmation'; $output['options'][$i][$option_index]->attributes['data-remove'] = 'group_messages'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $output['options'][$i][$option_index]->attributes['confirmation'] = Registry::load('strings')->confirm_delete_all_messages; $output['options'][$i][$option_index]->attributes['submit_button'] = Registry::load('strings')->yes; $output['options'][$i][$option_index]->attributes['cancel_button'] = Registry::load('strings')->no; $option_index++; } if (role(['permissions' => ['groups' => 'export_chat']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->export_chat; $output['options'][$i][$option_index]->class = 'download_file'; $output['options'][$i][$option_index]->attributes['download'] = 'messages'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } } if (role(['permissions' => ['complaints' => 'report']])) { $output['options'][$i][$option_index] = new stdClass(); $output['options'][$i][$option_index]->option = Registry::load('strings')->report; $output['options'][$i][$option_index]->class = 'load_form'; $output['options'][$i][$option_index]->attributes['form'] = 'complaint'; $output['options'][$i][$option_index]->attributes['data-group_id'] = $group['group_id']; $option_index++; } $i++; }