Example #1
0
function update_groupmoderators($fid)
{
    global $_G;
    if (empty($fid)) {
        return false;
    }
    $moderators = groupuserlist($fid, 'level_join', 0, 0, array('level' => array('1', '2')), array('username', 'level'));
    if (!empty($moderators)) {
        DB::query("UPDATE " . DB::table('forum_forumfield') . " SET moderators='" . addslashes(serialize($moderators)) . "' WHERE fid='{$fid}'");
        return $moderators;
    } else {
        return array();
    }
}
Example #2
0
             $user['joindateline'] = date('Y-m-d H:i', $user['joindateline']);
             $checkusers[$user['uid']] = $user;
         }
     }
 } elseif ($_G['gp_op'] == 'manageuser') {
     $mtype = array(1 => lang('group/template', 'group_moderator'), 2 => lang('group/template', 'group_moderator_vice'), 3 => lang('group/template', 'group_star_member_title'), 4 => lang('group/misc', 'group_normal_member'), 5 => lang('group/misc', 'group_goaway'));
     if (!submitcheck('manageuser')) {
         $userlist = array();
         if (empty($_G['gp_srchuser'])) {
             $staruserlist = $page < 2 ? groupuserlist($_G['fid'], '', 0, 0, array('level' => '3'), array('uid', 'username', 'level', 'joindateline', 'lastupdate')) : '';
             $adminuserlist = $groupmanagers && $page < 2 ? $groupmanagers : array();
             $multipage = multi($_G['forum']['membernum'], $perpage, $page, $url);
         } else {
             $start = 0;
         }
         $userlist = groupuserlist($_G['fid'], '', $perpage, $start, $_G['gp_srchuser'] ? "AND username='******'gp_srchuser']}'" : "AND level='4'");
     } else {
         $muser = getgpc('muid');
         $targetlevel = $_G['gp_targetlevel'];
         if ($muser && is_array($muser)) {
             foreach ($muser as $muid => $mlevel) {
                 if ($_G['adminid'] != 1 && $_G['forum']['founderuid'] != $_G['uid'] && $groupmanagers[$muid] && $groupmanagers[$muid]['level'] <= $groupuser['level']) {
                     showmessage('group_member_level_admin_noallowed.', $url);
                 }
                 if ($_G['adminid'] == 1 || $muid != $_G['uid'] && ($_G['forum']['founderuid'] == $_G['uid'] || !$groupmanagers[$muid] || $groupmanagers[$muid]['level'] > $groupuser['level'])) {
                     if ($targetlevel != 5) {
                         DB::query("UPDATE " . DB::table('forum_groupuser') . " SET level='{$targetlevel}' WHERE uid='{$muid}' AND fid='{$_G['fid']}'");
                     } else {
                         if (!$groupmanagers[$muid] || count($groupmanagers) > 1) {
                             DB::query("DELETE FROM " . DB::table('forum_groupuser') . " WHERE uid='{$muid}' AND fid='{$_G['fid']}'");
                             DB::query("UPDATE " . DB::table('forum_forumfield') . " SET membernum=membernum+'-1' WHERE fid='{$_G['fid']}'");
Example #3
0
         $checkusers = array();
         $userlist = groupuserlist($_G['fid'], 'joindateline', $perpage, $start, array('level' => 0));
         $checknum = DB::result(DB::query("SELECT count(*) FROM " . DB::table('forum_groupuser') . " WHERE fid='{$_G['fid']}' AND level='0'"), 0);
         $multipage = multi($checknum, $perpage, $page, $url);
         foreach ($userlist as $user) {
             $user['joindateline'] = date('Y-m-d H:i', $user['joindateline']);
             $checkusers[$user['uid']] = $user;
         }
     }
 } elseif ($_G['gp_op'] == 'manageuser') {
     $mtype = array(1 => lang('group/template', 'group_moderator'), 2 => lang('group/template', 'group_moderator_vice'), 3 => lang('group/template', 'group_star_member'), 4 => lang('group/template', 'group_normal_member'), 5 => lang('group/template', 'group_goaway'));
     if (!submitcheck('manageuser')) {
         $userlist = array();
         $staruserlist = $page < 2 ? groupuserlist($_G['fid'], '', 0, 0, array('level' => '3'), array('uid', 'username', 'level', 'joindateline', 'lastupdate')) : '';
         $adminuserlist = $groupmanagers && $page < 2 ? $groupmanagers : array();
         $userlist = groupuserlist($_G['fid'], '', $perpage, $start, "AND level='4'");
         $multipage = multi($_G['forum']['membernum'], $perpage, $page, $url);
     } else {
         if (count($groupuser) == 1) {
             showmessage('group_admin_only_one_member', $url);
         }
         $muser = getgpc('muid');
         $targetlevel = $_G['gp_targetlevel'];
         if ($muser && is_array($muser)) {
             foreach ($muser as $muid => $mlevel) {
                 if ($_G['forum']['founderuid'] != $_G['uid'] && $groupmanagers[$muid] && $groupmanagers[$muid]['level'] <= $groupuser['level']) {
                     showmessage('group_member_level_admin_noallowed.', $url);
                 }
                 if ($muid != $_G['uid'] && ($_G['forum']['founderuid'] == $_G['uid'] || !$groupmanagers[$muid] || $groupmanagers[$muid]['level'] > $groupuser['level'])) {
                     if ($targetlevel != 5) {
                         DB::query("UPDATE " . DB::table('forum_groupuser') . " SET level='{$targetlevel}' WHERE uid='{$muid}' AND fid='{$_G['fid']}'");