include_once $class_path . "user_html.inc.php"; $site = new Site(array(on_debug => $_COOKIE["debug"] ? 1 : 0, on_admin_keel => 1)); if (!$site->user->allowed_adminpage()) { exit; } ######### get adminpage name $adminpage_names = get_adminpage_name(array("script_name" => $site->script_name)); $parent_pagename = $adminpage_names['parent_pagename']; $pagename = $adminpage_names['pagename']; global $read_allowed_groups; global $all_levels; global $selected_parents; global $column_count; ########### # PERMISSIONS CHECK - get read-allowed group ID-s for current user $read_allowed_groups = get_allowed_groups(); #echo printr($read_allowed_groups); $top_group = get_topparent_group(array("site" => $site)); ########### find user_id & group_id & role_id (what was selected in selectbox) if ($site->fdat['selected_group']) { list($type, $sel_id) = split(":", $site->fdat['selected_group']); $site->fdat['user_id'] = $type == 'user_id' ? $sel_id : ''; $site->fdat['group_id'] = $type == 'group_id' ? $sel_id : ''; $site->fdat['role_id'] = $type == 'role_id' ? $sel_id : ''; if ($type == 'user_id') { $site->fdat['group_id'] = get_my_group(array("who" => $site->fdat['selected_group'])); } } else { $site->fdat['selected_group'] = 'group_id:' . $site->fdat['group_id']; } #echo $site->fdat['selected_group']. " gr:".$site->fdat['group_id'];
print_error('move_notselected', 'forumng'); } $discussion = mod_forumng_discussion::get_from_id($d, $cloneid); // Get target forum. $targetforum = mod_forumng::get_from_cmid($target, mod_forumng::CLONE_DIRECT); // If it is a clone, find the original. $targetforum = $targetforum->get_real_forum(); $targetcmid = $targetforum->get_course_module_id(); // Check permission for move. $aag = permission_to_move($discussion, $targetforum); // Work out target group for move. $targetgroup = get_target_group($discussion, $targetforum, $aag); $groupmode = $targetforum->get_group_mode(); $options = array(); if ($groupmode && !$targetgroup) { $options = get_allowed_groups($targetforum, $aag); // If there's only one then we'll use it. if (count($options) == 1) { reset($options); $targetgroup = key($options); } else { if (count($options) == 0) { print_error('move_nogroups', 'forumng'); } } } if (!$targetgroup && $groupmode > 0) { // User needs to choose one from form. $targetgroup = get_target_group_from_user($targetforum, $cloneid, $d, $pageparams, $discussion, $options); } // Perform move.
public function definition() { global $CFG, $USER; $mform = $this->_form; $pageparams = $this->_customdata['params']; $target = $this->_customdata['params']['target']; $forumngid = $this->_customdata['params']['id']; $cloneid = $this->_customdata['params']['clone']; $multigroups = $this->_customdata['params']['multigroups']; $targetgroupmode = $this->_customdata['params']['targetgroupmode']; $targetforum = $this->_customdata['targetforum']; $pageparams = $this->_customdata['params']; foreach ($pageparams as $param => $value) { $mform->addElement('hidden', $param, $value); $mform->setType($param, PARAM_INT); } $selectedids = array(); foreach ($pageparams as $field => $value) { $matches = array(); if (!is_array($value) && (string) $value !== '0' && preg_match('~^selectd([0-9]+)$~', $field, $matches)) { $selectedids[] = $matches[1]; } } // Get list of allowed groups. $options = array(); // Check to see whether target forum uses group mode. if ($targetgroupmode) { $options = get_allowed_groups($targetforum, false); } // Informational paragraph. $mform->addElement('static', '', '', get_string('move_discussions_group_info', 'forumngfeature_move', $targetforum->get_name())); // Get group from user. $mform->addElement('select', 'chosengroup', get_string('group'), $options); reset($options); $mform->setDefault('group', key($options)); $this->add_action_buttons(true, get_string('movediscussions', 'forumngfeature_move')); }
function print_users_table(){ global $site; global $class_path; global $group; # selected 1 group info global $user; # selected 1 user info $args = func_get_arg(0); include_once($class_path."adminpage.inc.php"); include_once($class_path."custom.inc.php"); ########### # PERMISSIONS CHECK - get read-allowed group ID-s for current user $read_allowed_groups = get_allowed_groups(); #echo printr($read_allowed_groups); ?> <? ############################ # CONTENT TABLE ?> <TABLE class="scms_content_area" width="100%" height="100%" border=0 cellspacing=0 cellpadding=0> <TR> <!-- Left column --> <TD class="scms_left"> <TABLE border=0 width="100%" height="100%" cellspacing=0 cellpadding=0> <!-- Search --> <TR> <TD id="search"> <? ################# # SEARCH BOX print_search_box(array( "hide_end_form_tag" => $args['show_checkboxes'] // if we need to show checkboxes, don't print end form tag )); ?> </TD> </TR> <!-- //Search --> <TR> <TD valign=top> <div id=navigation class="scms_left_div"> <TABLE width="100%" border="0" cellpadding="0" cellspacing="0"> <? /* * Get favorites */ $favorites = $site->user->get_favorites(array( fetch_user_favorits => 1, fetch_group_favorits => 1, )); if(count($favorites)>0) { ?> <!-- Favorites --> <tr> <td class="scms_groupheader"> <IMG SRC="<?=$site->CONF['wwwroot'].$site->CONF['styles_path']?>/gfx/icons/16x16/actions/bookmark.png" WIDTH="16" HEIGHT="16" BORDER="0" ALT="" align=absmiddle> <?=$site->sys_sona(array(sona => "Favorites", tyyp=>"admin"))?> </td> </tr> <TR> <TD> <table border=0> <? /* * Display favorites */ foreach($favorites as $favorite_data) { ?> <tr> <td style="padding-right:4px;padding-left:16px"><img src="<?=$site->CONF['wwwroot'].$site->CONF[styles_path]?>/gfx/icons/16x16/users/<?= (strlen($favorite_data['group_id'])>0?'group':($favorite_data['is_superuser']?'superuser':'******')) ?>.png" width="16" height="16"></td> <td><a href="javascript:<?= strlen($favorite_data['group_id'])>0?"select_group('".$favorite_data['group_id']."')":"document.getElementById('selectform_user_id').value='".$favorite_data['user_id']."';document.getElementById('selectform_group_id').value='".$favorite_data['user_group_id']."';document.forms['selectform'].submit();"; ?>"><?= strlen($favorite_data['group_id'])>0?$favorite_data['name']:$favorite_data['firstname'].' '.$favorite_data['lastname'] ?></a></td> </tr> <? } //foreach ?> </table> </TD> </TR> <!-- //Favorites --> <? } //if favorites ?> <!-- Menu tree --> <TR> <TD> <? ################# # GROUPS TREE: 2 views - tree & search result list #### GROUP WHERE if($site->user->is_superuser) { $group_where_str = " 1=1 "; } else { # $group_where_str = $site->db->prepare(" FIND_IN_SET(group_id,?) ", join(",",$read_allowed_groups)); $group_where_str = " group_id IN('".join("','", $read_allowed_groups)."') "; } ###### GET tree html $tree_html = get_grouptree_html(array( "where_str" => $group_where_str, "expand_all" => $args['expand_all'], "show_checkboxes" => $args['show_checkboxes'] )); ###### PRINT tree html if ($args['show_checkboxes']){ echo "</form>"; } ?> <?echo $tree_html; ?> <? # / GROUPS TREE ################# ?> </TD> </TR> <!-- //Menu tree --> </TABLE> </div> </TD> </TR> </TABLE> <!-- // Left column --> </TD> <? # / LEFT COLUMN ################## ?> <? # if not browse window if($args['is_browse']) { $site->fdat['view']='overview_false'; } ############################ # MIDDLE LIST ################# # USERS WHERE $where_sql[] = $group_where_str; # group filter if($site->fdat['group_id'] && !$site->fdat['flt_role']) { # 1. if search criteria is defined, then search from all current open subtree if($site->fdat['search'] && $site->fdat['user_search'] && $site->fdat['search_subtree']) { ########## a) user search AND group search BOTH => use group search result if($site->fdat['group_search']) { # $where_sql[] = $site->db->prepare("FIND_IN_SET(group_id,?)",join(',',$group_search_result)); } ########## b) user search AND NOT group search => don't use group filter at all else { /* # variant 2 => use group menu $menu->get_full_subtree(array("parent_id" => $site->fdat['group_id'])); # $menu->full_subtree is variable from group tree and is all ID-s of group children $tree_with_children = $menu->full_subtree; #echo printr($tree_with_children); $where_sql[] = $site->db->prepare("FIND_IN_SET(group_id,?)",join(',',$tree_with_children)); */ } } # 2. if no search criteria, then show only users belonging to current group else { $where_sql[] = $site->db->prepare("group_id=?",$site->fdat['group_id']); } } # user search filter, search from fixed fields () if($site->fdat['search'] && $site->fdat['user_search']) { $where_sql[] = $site->db->prepare("(username LIKE ? OR firstname LIKE ? OR lastname LIKE ? OR email LIKE ?)", $site->fdat['search'].'%', $site->fdat['search'].'%', $site->fdat['search'].'%', $site->fdat['search'].'%' ); } # user role filter, search from user_roles if($site->fdat['flt_role']) { $where_sql[] = $site->db->prepare("(user_roles.role_id = ?)", $site->fdat['flt_role'] ); ### extra JOIN needed $join = " LEFT JOIN user_roles ON user_roles.user_id = users.user_id "; } $where = is_array($where_sql) ? " WHERE ".join(" AND ",$where_sql) : ''; ### if search is used then set page to null if(!isset($site->fdat['page']) && ($site->fdat['search'] || $site->fdat['flt_role']) ) { $site->fdat['page'] = 0;} # / USERS WHERE ################# ?> <!-- Middle column --> <TD class="scms_middle<?=($site->fdat['view']=='overview_true' ? "" : "_dialogwindow")?>" > <TABLE style="width: 98%" height="100%" border="0" cellspacing="0" cellpadding="0"> <!-- Table title --> <TR height=25> <TD> <?######### grey title header ########?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class="scms_pane_header"> <td> <IMG SRC="<?=$site->CONF['wwwroot'].$site->CONF['styles_path']?>/gfx/icons/16x16/users/user.png" WIDTH="16" HEIGHT="16" BORDER="0" ALT="" align=absmiddle> <?=$site->sys_sona(array(sona => "users", tyyp=>"admin"));?> </td> <td align="right"> </td> <td style="width:120px"> <!-- Paging --> <? ################# # pagenumbers table $sql = "SELECT COUNT(*) FROM users ".$join.$where; $sth = new SQL($sql); $total_count = $sth->fetchsingle(); $pagenumbers = print_pagenumbers(array( "total_count" => $total_count, "rows_count" => 20, )); # / pagenumbers ################# ?> <!-- //Paging --> </td> </tr> </table> <?######### / grey title header ########?> </TD> </TR> <!-- // Table title --> <? ################# # table column names ?> <!-- Table heading --> <TR height=25> <TD class="scms_tableheader"> <? ####### get assoc.array of visible fieldnames and translations $visible_fields = get_visible_fields(array( "prefpage_name" => ($args['is_browse'] ?'select_group':'user_management_fields'), "sst_name" => 'custom,kasutaja', )); #printr($visible_fields); ####### print column headers table print_column_headers(array( "visible_fields" => $visible_fields, "page_prefs_url" => '&name='.($args['is_browse'] ?'select_group':'user_management_fields').'&sst_name=custom,kasutaja' )); ##### td width: calculate percents $td_width = intval((100/sizeof(array_keys($visible_fields)))).'%'; ?> </TD> </TR> <!-- //Table heading --> <? # / COLUMN NAMES ################# ?> <!-- Table data --> <TR> <TD valign=top> <!-- Scrollable area --> <div id=listing class="scms_middle_div"> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="scms_table"> <? ################# # users list ########### ORDER $order = " ORDER BY ".$site->fdat['sortby']." ".$site->fdat['sort']; ########### SQL $sql = $site->db->prepare("SELECT users.* FROM users "); $sql .= $join; $sql .= $where; $sql .= $order; $sql .= $pagenumbers['limit_sql']; #print $sql; $sth = new SQL($sql); $listusers = array(); while($tmp = $sth->fetch()){ $listusers[] = $tmp; } ################# # loop over users $i = 0; foreach($listusers as $listuser){ $next_id = $listusers[$i+1]['user_id']; $prev_id = $listusers[$i-1]['user_id']; # $href = "?group_id=".$listuser[group_id]."&user_id=".$listuser[user_id]; # $href .= "&page=".$site->fdat['page']; $href = "javascript:document.getElementById('selectform_user_id').value='".$listuser[user_id]."';document.getElementById('selectform_group_id').value='".$listuser[group_id]."';document.getElementById('selectform_user_next_id').value='".$next_id."';document.getElementById('selectform_user_prev_id').value='".$prev_id."';document.forms['selectform'].submit();"; # user is spueruser if($listuser['is_predefined']) {$icongif = "superuser.png"; } # ordinary user, not Everybody group member else { $icongif = "user.png"; } ?> <tr id="<?=$listuser[user_id]?>" <?=($site->fdat['user_id'] == $listuser[user_id] ? ' class="scms_activerow"' : '')?>> <?##### icon ######?> <td width="20"><img src="<?=$site->CONF['wwwroot'].$site->CONF['styles_path']?>/gfx/icons/16x16/users/<?=$icongif?>" width="16" height="16"></td> <?# loop over visible fields foreach(array_keys($visible_fields) as $key=>$field){ if($field=='fullname'){ $listuser[$field] = $listuser['firstname'].' '.$listuser['lastname']; } ?> <td width="<?=$td_width?>" ondblclick="javascript:void(openpopup('<?=$site->CONF['wwwroot'].$site->CONF['adm_path']?>/edit_user.php?user_id=<?=$listuser[user_id]?>&tab=user&op=edit','user','366','450'))"><a href="<?=$href?>"><?=($listuser[$field] ? $listuser[$field] : ' ')?></a></td> <? } # foreach ?> <?##### delete ######?> <!-- <td width="16" align="right"> </td>--> </tr> <? $i++; } # / loop over users ################# ?> </table> </div> <!-- //Scrollable area --> </TD> </TR> <!-- //Table data --> </TABLE> </TD> <? # / MIDDLE LIST ############################ ?> </TD> </TR> <? ################### # select buttons if($args['is_browse']){ ?> <tr align="right" height=30> <td valign="top" colspan="2" style="padding-top: 10px; padding-right:10px" > <? if ($args['show_checkboxes']){ ?> <input type="button" value="<?=$site->sys_sona(array(sona => "vali", tyyp=>"admin")) ?>" onclick="javascript:selectform.op2.value='selectclose'; send_box_values();" style="width: 60px"> <? } else { ?> <input type="button" value="<?=$site->sys_sona(array(sona => "vali", tyyp=>"admin")) ?>" onclick="javascript:selectform.op2.value='selectclose';selectform.submit();" style="width: 60px"> <? } ?> <input type="button" value="<?=$site->sys_sona(array(sona => "close", tyyp=>"editor")) ?>" onclick="javascript:window.close();" style="width: 60px"> </td> </tr> <?}?> </TABLE> <? }