⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 groups.inc.php

📁 论坛代码网增加免费空间业务
💻 PHP
📖 第 1 页 / 共 3 页
字号:
			showformheader('groups&operation=user&type=member');
			showtableheader('usergroups_member', 'fixpadding', 'id="membergroups"'.($type && $type != 'member' ? ' style="display: none"' : ''));
			showsubtitle(array('', 'usergroups_title', 'members_creditsrange', 'usergroups_stars', 'usergroups_color', 'usergroups_avatar', ''));
			echo $membergroup;
			echo '<tr><td>&nbsp;</td><td colspan="8"><div><a href="###" onclick="addrow(this, 0)" class="addtr">'.$lang['usergroups_add'].'</a></div></td></tr>';
			showsubmit('groupsubmit', 'submit', 'del');
			showtablefooter();
			showformfooter();

			showformheader('groups&operation=user&type=special');
			showtableheader('usergroups_special', 'fixpadding', 'id="specialgroups"'.($type != 'special' ? ' style="display: none"' : ''));
			showsubtitle(array('', 'usergroups_title', 'usergroups_stars', 'usergroups_color', 'usergroups_avatar', '', ''));
			echo $specialgroup;
			echo '<tr><td>&nbsp;</td><td colspan="8"><div><a href="###" onclick="addrow(this, 1)" class="addtr">'.$lang['usergroups_sepcial_add'].'</a></div></td></tr>';
			showsubmit('groupsubmit', 'submit', 'del');
			showtablefooter();
			showformfooter();

			showformheader('groups&operation=user&type=system');
			showtableheader('usergroups_system', 'fixpadding', 'id="systemgroups"'.($type != 'system' ? ' style="display: none"' : ''));
			showsubtitle(array('usergroups_title', 'usergroups_status', 'usergroups_stars', 'usergroups_color', 'usergroups_avatar', ''));
			echo $sysgroup;
			showsubmit('groupsubmit');
			showtablefooter();
			showformfooter();

		} else {

			if($type == 'member') {

				$groupnewadd = array_flip_keys($groupnewadd);
				foreach($groupnewadd as $k=>$v) {
					if(!$v['grouptitle'] || !$v['creditshigher']) {
						unset($groupnewadd[$k]);
					}
				}
				$groupnewkeys = array_keys($groupnew);
				$maxgroupid = max($groupnewkeys);
				foreach($groupnewadd as $k=>$v) {
					$groupnew[$k+$maxgroupid+1] = $v;
				}
				$orderarray = array();
				if(is_array($groupnew)) {
					foreach($groupnew as $id => $group) {
						if((is_array($delete) && in_array($id, $delete)) || ($id == 0 && (!$group['grouptitle'] || $group['creditshigher'] == ''))) {
							unset($groupnew[$id]);
						} else {
							$orderarray[$group['creditshigher']] = $id;
						}
					}
				}

				if(empty($orderarray[0]) || min(array_flip($orderarray)) >= 0) {
					cpmsg('usergroups_update_credits_invalid', '', 'error');
				}

				ksort($orderarray);
				$rangearray = array();
				$lowerlimit = array_keys($orderarray);
				for($i = 0; $i < count($lowerlimit); $i++) {
					$rangearray[$orderarray[$lowerlimit[$i]]] = array
						(
						'creditshigher' => isset($lowerlimit[$i - 1]) ? $lowerlimit[$i] : -999999999,
						'creditslower' => isset($lowerlimit[$i + 1]) ? $lowerlimit[$i + 1] : 999999999
						);
				}

				$project = $projects = array();
				$query = $db->query("SELECT * FROM {$tablepre}projects WHERE type='group'");
				while($project = $db->fetch_array($query)) {
					$project['value'] = unserialize($project['value']);
					$sqladd = '';
					foreach($project['value'] as $k=>$v) {
						$sqladd .= ",$k='$v'";
					}
					$project['sqladd'] = $sqladd;
					$projects[$project['id']] = $project;
				}

				foreach($groupnew as $id => $group) {
					$creditshighernew = $rangearray[$id]['creditshigher'];
					$creditslowernew = $rangearray[$id]['creditslower'];
					if($creditshighernew == $creditslowernew) {
						cpmsg('usergroups_update_credits_duplicate', '', 'error');
					}

					if(in_array($id, $groupnewkeys)) {
						$db->query("UPDATE {$tablepre}usergroups SET grouptitle='$group[grouptitle]', creditshigher='$creditshighernew', creditslower='$creditslowernew', stars='$group[stars]', color='$group[color]', groupavatar='$group[groupavatar]' WHERE groupid='$id' AND type='member'");
					} elseif($group['grouptitle'] && $group['creditshigher'] != '') {
						$project = $projects[$group['projectid']];
						$db->query("INSERT INTO {$tablepre}usergroups SET grouptitle='$group[grouptitle]', creditshigher='$creditshighernew', creditslower='$creditslowernew', stars='$group[stars]' $project[sqladd]");
					}
				}

				if(!empty($delete)) {
					$db->query("DELETE FROM {$tablepre}usergroups WHERE groupid IN ('".implode('\',\'', $delete)."') AND type='member'");
				}

			} elseif($type == 'special') {

				if(is_array($grouptitlenewadd)) {
					foreach($grouptitlenewadd as $k=>$v) {
						if($v) {
							$db->query("INSERT INTO {$tablepre}usergroups (type, grouptitle, stars, color, groupavatar, allowvisit, readaccess, allowpost, allowsigbbcode)
								VALUES ('special', '$grouptitlenewadd[$k]', '$starsnewadd[$k]', '$colornewadd[$k]', '$groupavatarnewadd[$k]', '1', '1', '1', '1')");
						}
					}
				}
				$ids = $comma = '';
				if(is_array($group_title)) {
					foreach($group_title as $id => $title) {
						if($delete[$id]) {
							$ids .= "$comma'$id'";
							$comma = ',';
						} else {
							$db->query("UPDATE {$tablepre}usergroups SET grouptitle='$group_title[$id]', stars='$group_stars[$id]', color='$group_color[$id]', groupavatar='$group_avatar[$id]' WHERE groupid='$id'");
						}
					}
				}
				if($ids) {
					$db->query("DELETE FROM {$tablepre}usergroups WHERE groupid IN ($ids) AND type='special'");
					$db->query("DELETE FROM {$tablepre}admingroups WHERE admingid IN ($ids)");
					$db->query("DELETE FROM {$tablepre}adminactions WHERE admingid IN ($ids)");
					$query = $db->query("SELECT groupid FROM {$tablepre}usergroups WHERE type='member' AND creditslower>'0' ORDER BY creditslower LIMIT 1");
					$db->query("UPDATE {$tablepre}members SET groupid='".$db->result($query, 0)."', adminid='0' WHERE groupid IN ($ids)", 'UNBUFFERED');
					//$db->query("UPDATE {$tablepre}members SET groupid='".$db->result($query, 0)."', adminid='0' WHERE groupid IN ($ids) AND adminid='-1'", 'UNBUFFERED');
					//$db->query("UPDATE {$tablepre}members SET groupid=adminid WHERE groupid IN ($ids) AND adminid IN ('1', '2', '3')", 'UNBUFFERED');
				}
			} elseif($type == 'system') {
				if(is_array($group_title)) {
					foreach($group_title as $id => $title) {
						$db->query("UPDATE {$tablepre}usergroups SET grouptitle='$group_title[$id]', stars='$group_stars[$id]', color='$group_color[$id]', groupavatar='$group_avatar[$id]' WHERE groupid='$id'");
					}
				}
			}

			updatecache('usergroups');
			cpmsg('usergroups_update_succeed', 'admincp.php?action=groups&operation=user&type='.$type, 'succeed');
		}

	} elseif($do == 'viewsgroup') {

		$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}members WHERE groupid='$sgroupid'");
		$query = $db->query("SELECT uid, username FROM {$tablepre}members WHERE groupid='$sgroupid' LIMIT 80");
		$sgroups = '';
		while($member = $db->fetch_array($query)) {
			$sgroups .= '<li><a href="space.php?uid='.$member['uid'].'" target="_blank">'.$member['username'].'</a></li>';
		}
		ajaxshowheader();
		echo '<ul class="userlist"><li class="unum">'.$lang['usernum'].$num.($num > 80 ? '&nbsp;<a href="admincp.php?action=members&submit=yes&usergroupid[]='.$sgroupid.'">'.$lang['more'].'&raquo;</a>' : '').'</li>'.$sgroups.'</ul>';
		ajaxshowfooter();
		exit;

	} elseif($do == 'edit' && $id) {

		$group = $db->fetch_first("SELECT * FROM {$tablepre}usergroups WHERE groupid='$id'");

		if(!submitcheck('detailsubmit') && !submitcheck('saveconfigsubmit')) {
			$projectselect = "<select name=\"projectid\" onchange=\"window.location='admincp.php?action=groups&operation=user&do=edit&id=$id&projectid='+this.options[this.options.selectedIndex].value\"><option value=\"0\" selected=\"selected\">".$lang['none']."</option>";
			$query = $db->query("SELECT id, name FROM {$tablepre}projects WHERE type='group'");
			while($project = $db->fetch_array($query)) {
				$projectselect .= "<option value=\"$project[id]\" ".($project['id'] == $projectid ? 'selected="selected"' : NULL).">$project[name]</option>";
			}
			$projectselect .= '</select>';

			if(!empty($projectid)) {
				$group = @array_merge($group, unserialize($db->result_first("SELECT value FROM {$tablepre}projects WHERE id='$projectid'")));
			}

			$group['exempt'] = strrev(sprintf('%0'.strlen($group['exempt']).'b', $group['exempt']));

			$anchor = in_array($anchor, array('basic', 'specialthread', 'thread', 'attachment', 'magic', 'invite', 'exempt')) ? $anchor : 'basic';
			showsubmenuanchors(lang('usergroups_edit').' - '.$group['grouptitle'], array(
				array('usergroups_edit_basic', 'basic', $anchor == 'basic'),
				$group['type'] == 'special' ? array('usergroups_edit_system', 'system', $anchor == 'system') : array(),
				array('usergroups_specialthread', 'specialthread', $anchor == 'specialthread'),
				array('usergroups_edit_thread', 'thread', $anchor == 'thread'),
				array('usergroups_edit_attachment', 'attachment', $anchor == 'attachment'),
				array('usergroups_magic', 'magic', $anchor == 'magic'),
				array('usergroups_invite', 'invite', $anchor == 'invite'),
				array('usergroups_edit_credits', 'exempt', $anchor == 'exempt')
			));
			if($group['type'] == 'special') {
				showtips('usergroups_edit_system_tips', 'system_tips', $anchor == 'system');
			}
			showtips('usergroups_magic_tips', 'magic_tips', $anchor == 'magic');
			showtips('usergroups_invite_tips', 'invite_tips', $anchor == 'invite');
			showformheader("groups&operation=user&do=edit&id=$id".($return == 'admin' ? '&return=admin' : ''));
			showtableheader();

			if($group['type'] == 'special') {
				showtagheader('tbody', 'system', $anchor == 'system');
				if($group['system'] == 'private') {
					$system = array('public' => 0, 'dailyprice' => 0, 'minspan' => 0);
				} else {
					$system = array('public' => 1, 'dailyprice' => 0, 'minspan' => 0);
					list($system['dailyprice'], $system['minspan']) = explode("\t", $group['system']);
				}
				showsetting('usergroups_edit_system_public', 'system_publicnew', $system['public'], 'radio');
				showsetting('usergroups_edit_system_dailyprice', 'system_dailypricenew', $system['dailyprice'], 'text');
				showsetting('usergroups_edit_system_minspan', 'system_minspannew', $system['minspan'], 'text');
				showtagfooter('tbody');
			}

			showtagheader('tbody', 'basic', $anchor == 'basic');
			showsetting('usergroups_edit_title', 'grouptitlenew', $group['grouptitle'], 'text');
			showsetting('usergroups_scheme', '', '', $projectselect);

			if($group['type'] == 'special') {
				$selectra = array($group['radminid'] => 'selected="selected"');
				showsetting('usergroups_edit_radminid', '', '', "<select name=\"radminidnew\"><option value=\"0\" $selectra[0]>$lang[none]</option><option value=\"1\" $selectra[1]>$lang[usergroups_system_1]</option><option value=\"2\" $selectra[2]>$lang[usergroups_system_2]</option><option value=\"3\" $selectra[3]>$lang[usergroups_system_3]</option>");
			}

			if(in_array($group['groupid'], array(1, 7))) {
				echo '<input type="hidden" name="allowvisitnew" value="1">';
			} else {
				showsetting('usergroups_edit_visit', 'allowvisitnew', $group['allowvisit'], 'radio');
			}
			showsetting('usergroups_edit_read_access', 'readaccessnew', $group['readaccess'], 'text');
			showsetting('usergroups_edit_view_profile', 'allowviewpronew', $group['allowviewpro'], 'radio');
			showsetting('usergroups_edit_view_stats', 'allowviewstatsnew', $group['allowviewstats'], 'radio');
			showsetting('usergroups_edit_invisible', 'allowinvisiblenew', $group['allowinvisible'], 'radio');
			showsetting('usergroups_edit_multigroups', 'allowmultigroupsnew', $group['allowmultigroups'], 'radio');
			showsetting('usergroups_edit_allowtransfer', 'allowtransfernew', $group['allowtransfer'], 'radio');
			showsetting('usergroups_edit_search', array('allowsearchnew', array(
				array(0, $lang['usergroups_edit_search_disable']),
				array(1, $lang['usergroups_edit_search_thread']),
				array(2, $lang['usergroups_edit_search_post'])
			)), $group['allowsearch'], 'mradio');
			showsetting('usergroups_edit_reasonpm', array('reasonpmnew', array(
				array(0, $lang['usergroups_edit_reasonpm_none']),
				array(1, $lang['usergroups_edit_reasonpm_reason']),
				array(2, $lang['usergroups_edit_reasonpm_pm']),
				array(3, $lang['usergroups_edit_reasonpm_both'])
			)), $group['reasonpm'], 'mradio');
			showsetting('usergroups_edit_nickname', 'allownicknamenew', $group['allownickname'], 'radio');
			showsetting('usergroups_edit_cstatus', 'allowcstatusnew', $group['allowcstatus'], 'radio');
			showsetting('usergroups_edit_disable_periodctrl', 'disableperiodctrlnew', $group['disableperiodctrl'], 'radio');
			showsetting('usergroups_edit_hour_posts', 'maxpostsperhournew', $group['maxpostsperhour'], 'text');
			showtagfooter('tbody');

			showtagheader('tbody', 'specialthread', $anchor == 'specialthread');
			showsetting('usergroups_special_activity', 'allowpostactivitynew', $group['allowpostactivity'], 'radio');
			showsetting('usergroups_edit_post_poll', 'allowpostpollnew', $group['allowpostpoll'], 'radio');
			showsetting('usergroups_edit_vote', 'allowvotenew', $group['allowvote'], 'radio');
			showsetting('usergroups_special_reward', 'allowpostrewardnew', $group['allowpostreward'], 'radio');
			showsetting('usergroups_special_reward_min', 'minrewardpricenew', $group['minrewardprice'], "text");
			showsetting('usergroups_special_reward_max', 'maxrewardpricenew', $group['maxrewardprice'], "text");
			showsetting('usergroups_special_trade', 'allowposttradenew', $group['allowposttrade'], 'radio');
			showsetting('usergroups_special_trade_min', 'mintradepricenew', $group['mintradeprice'], "text");
			showsetting('usergroups_special_trade_max', 'maxtradepricenew', $group['maxtradeprice'], "text");
			showsetting('usergroups_special_trade_stick', 'tradesticknew', $group['tradestick'], "text");
			showsetting('usergroups_special_debate', 'allowpostdebatenew', $group['allowpostdebate'], "radio");
			$videoopen && showsetting('usergroups_special_video', 'allowpostvideonew', $group['allowpostvideo'], "radio");
			showtagfooter('tbody');

			showtagheader('tbody', 'thread', $anchor == 'thread');
			showsetting('usergroups_edit_post', 'allowpostnew', $group['allowpost'], 'radio');
			showsetting('usergroups_edit_reply', 'allowreplynew', $group['allowreply'], 'radio');
			showsetting('usergroups_edit_direct_post', array('allowdirectpostnew', array(
				array(0, $lang['usergroups_edit_direct_post_none']),
				array(1, $lang['usergroups_edit_direct_post_reply']),
				array(2, $lang['usergroups_edit_direct_post_thread']),
				array(3, $lang['usergroups_edit_direct_post_all'])
			)), $group['allowdirectpost'], 'mradio');
			showsetting('usergroups_edit_anonymous', 'allowanonymousnew', $group['allowanonymous'], 'radio');
			showsetting('usergroups_edit_set_read_perm', 'allowsetreadpermnew', $group['allowsetreadperm'], 'radio');
			showsetting('usergroups_edit_maxprice', 'maxpricenew', $group['maxprice'], 'text');
			showsetting('usergroups_edit_hide_code', 'allowhidecodenew', $group['allowhidecode'], 'radio');
			showsetting('usergroups_edit_html', 'allowhtmlnew', $group['allowhtml'], 'radio');
			showsetting('usergroups_edit_custom_bbcode', 'allowcusbbcodenew', $group['allowcusbbcode'], 'radio');
			showsetting('usergroups_edit_bio_bbcode', 'allowbiobbcodenew', $group['allowbiobbcode'], 'radio');
			showsetting('usergroups_edit_bio_img_code', 'allowbioimgcodenew', $group['allowbioimgcode'], 'radio');
			showsetting('usergroups_edit_max_bio_size', 'maxbiosizenew', $group['maxbiosize'], 'text');
			showsetting('usergroups_edit_sig_bbcode', 'allowsigbbcodenew', $group['allowsigbbcode'], 'radio');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -