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

📄 groups.inc.php

📁 论坛代码网增加免费空间业务
💻 PHP
📖 第 1 页 / 共 3 页
字号:
			showsetting('usergroups_edit_sig_img_code', 'allowsigimgcodenew', $group['allowsigimgcode'], 'radio');
			showsetting('usergroups_edit_max_sig_size', 'maxsigsizenew', $group['maxsigsize'], 'text');
			showtagfooter('tbody');

			showtagheader('tbody', 'attachment', $anchor == 'attachment');
			showsetting('usergroups_edit_get_attach', 'allowgetattachnew', $group['allowgetattach'], 'radio');
			showsetting('usergroups_edit_post_attach', 'allowpostattachnew', $group['allowpostattach'], 'radio');
			showsetting('usergroups_edit_set_attach_perm', 'allowsetattachpermnew', $group['allowsetattachperm'], 'radio');
			showsetting('usergroups_edit_max_attach_size', 'maxattachsizenew', $group['maxattachsize'], 'text');
			showsetting('usergroups_edit_max_size_per_day', 'maxsizeperdaynew', $group['maxsizeperday'], 'text');
			showsetting('usergroups_edit_attach_ext', 'attachextensionsnew', $group['attachextensions'], 'text');
			showtagfooter('tbody');

			showtagheader('tbody', 'magic', $anchor == 'magic');
			showsetting('usergroups_magic_permission', array('allowmagicsnew', array(
				array(0, $lang['usergroups_magic_unallowed']),
				array(1, $lang['usergroups_magic_allow']),
				array(2, $lang['usergroups_magic_allow_and_pass'])
			)), $group['allowmagics'], 'mradio');
			showsetting('usergroups_magic_discount', 'magicsdiscountnew', $group['magicsdiscount'], 'text');
			showsetting('usergroups_magic_max', 'maxmagicsweightnew', $group['maxmagicsweight'], 'text');
			showtagfooter('tbody');

			showtagheader('tbody', 'invite', $anchor == 'invite');
			showsetting('usergroups_invite_permission', 'allowinvitenew', $group['allowinvite'], 'radio');
			showsetting('usergroups_invitesend_permission', 'allowmailinvitenew', $group['allowmailinvite'], 'radio');
			showsetting('usergroups_invite_price', 'invitepricenew', $group['inviteprice'], 'text');
			showsetting('usergroups_invite_buynum', 'maxinvitenumnew', $group['maxinvitenum'], 'text');
			showsetting('usergroups_invite_maxinviteday', 'maxinvitedaynew', $group['maxinviteday'], 'text');
			showtagfooter('tbody');

			showtagheader('tbody', 'exempt', $anchor == 'exempt');
			showsetting('usergroups_exempt_search', 'exemptnew[1]', $group['exempt'][1], 'radio');
			if($group['radminid']) {
				showsetting($lang['usergroups_exempt_outperm'].$lang['usergroups_exempt_getattch'], 'exemptnew[2]', $group['exempt'][2], 'radio');
				showsetting($lang['usergroups_exempt_inperm'].$lang['usergroups_exempt_getattch'], 'exemptnew[5]', $group['exempt'][5], 'radio');
				showsetting($lang['usergroups_exempt_outperm'].$lang['usergroups_exempt_attachpay'], 'exemptnew[3]', $group['exempt'][3], 'radio');
				showsetting($lang['usergroups_exempt_inperm'].$lang['usergroups_exempt_attachpay'], 'exemptnew[6]', $group['exempt'][6], 'radio');
				showsetting($lang['usergroups_exempt_outperm'].$lang['usergroups_exempt_threadpay'], 'exemptnew[4]', $group['exempt'][4], 'radio');
				showsetting($lang['usergroups_exempt_inperm'].$lang['usergroups_exempt_threadpay'], 'exemptnew[7]', $group['exempt'][7], 'radio');
			} else {
				showsetting('usergroups_exempt_getattch', 'exemptnew[2]', $group['exempt'][2], 'radio');
				showsetting('usergroups_exempt_attachpay', 'exemptnew[3]', $group['exempt'][3], 'radio');
				showsetting('usergroups_exempt_threadpay', 'exemptnew[4]', $group['exempt'][4], 'radio');
			}
			echo '<tr><td colspan="2">'.$lang['usergroups_exempt_comment'].'</td></tr>';

			$raterangearray = array();
			foreach(explode("\n", $group['raterange']) as $range) {
				$range = explode("\t", $range);
				$raterangearray[$range[0]] = array('min' => $range[1], 'max' => $range[2], 'mrpd' => $range[3]);
			}

			echo '<tr><td colspan="2">';
			showtableheader('usergroups_edit_raterange', 'noborder');
			showsubtitle(array('', 'credits_id', 'credits_title', 'usergroups_edit_raterange_min', 'usergroups_edit_raterange_max', 'usergroups_edit_raterange_mrpd'));
			for($i = 1; $i <= 8; $i++) {
				if(isset($extcredits[$i])) {
					echo '<tr><td><input class="checkbox" type="checkbox" name="raterangenew['.$i.'][allowrate]" value="1" '.(empty($raterangearray[$i]) ? '' : 'checked').'></td>'.
						'<td>extcredits'.$i.'</td>'.
						'<td>'.$extcredits[$i]['title'].'</td>'.
						'<td><input type="text" class="txt" name="raterangenew['.$i.'][min]" size="3" value="'.$raterangearray[$i]['min'].'"></td>'.
						'<td><input type="text" class="txt" name="raterangenew['.$i.'][max]" size="3" value="'.$raterangearray[$i]['max'].'"></td>'.
						'<td><input type="text" class="txt" name="raterangenew['.$i.'][mrpd]" size="3" value="'.$raterangearray[$i]['mrpd'].'"></td></tr>';
				}
			}
			echo '<tr><td colspan="6">'.$lang['usergroups_edit_raterange_comment'].'</td></tr></td></tr>';
			showtablefooter();
			echo '</td></tr>';
			showtagfooter('tbody');
			showsubmit('detailsubmit', 'submit', '', "<input type=\"submit\" class=\"btn\" name=\"saveconfigsubmit\" value=\"".$lang['saveconf']."\">");
			showtablefooter();
			showformfooter();

		} else {

			$systemnew = 'private';

			if($group['type'] == 'special') {
				if($system_publicnew) {
					if($radminidnew) {
						cpmsg('usergroups_edit_public_invalid', '', 'error');
					} else {
						if($system_dailypricenew > 0) {
							if(!$creditstrans) {
								cpmsg('usergroups_edit_creditstrans_disabled', '', 'error');
							} else {
								$system_minspannew = $system_minspannew <= 0 ? 1 : $system_minspannew;
								$systemnew = intval($system_dailypricenew)."\t".intval($system_minspannew);
							}
						} else {
							$systemnew = "0\t0";
						}
					}
				}
				if(in_array($radminidnew, array(1, 2, 3))) {
					$query = $db->query("SELECT admingid FROM {$tablepre}admingroups WHERE admingid='$group[groupid]'");
					if(!$db->num_rows($query)) {
						if($radminidnew == 1) {
							$db->query("REPLACE INTO {$tablepre}admingroups (admingid, alloweditpost, alloweditpoll, allowstickthread, allowmodpost, allowdelpost, allowmassprune, allowcensorword, allowviewip, allowbanip, allowedituser, allowmoduser, allowbanuser, allowpostannounce, allowviewlog, disablepostctrl)
								VALUES ('$group[groupid]', 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)");
							$db->query("REPLACE INTO {$tablepre}adminactions (admingid, disabledactions)
								VALUES ('$group[groupid]', '')");
						} else {
							$db->query("REPLACE INTO {$tablepre}admingroups (admingid)
								VALUES ('$group[groupid]')");
						}
					}
				} else {
					$radminidnew = 0;
					$db->query("DELETE FROM {$tablepre}admingroups WHERE admingid='$group[groupid]'");
				}
			} else {
				$radminidnew = $group['type'] == 'system' && in_array($group['groupid'], array(1, 2, 3)) ? $group['groupid'] : 0;
			}

			if(is_array($raterangenew)) {
				foreach($raterangenew as $key => $rate) {
					if($key >= 1 && $key <= 8 && $rate['allowrate']) {
						$rate['min'] = intval($rate['min'] < -999 ? -999 : $rate['min']);
						$rate['max'] = intval($rate['max'] > 999 ? 999 : $rate['max']);
						$rate['mrpd'] = intval($rate['mrpd'] > 99999 ? 99999 : $rate['mrpd']);
						if(!$rate['mrpd'] || $rate['max'] <= $rate['min'] || $rate['mrpd'] < max(abs($rate['min']), abs($rate['max']))) {
							cpmsg('usergroups_edit_rate_invalid', '', 'error');
						} else {
							$raterangenew[$key] = implode("\t", array($key, $rate['min'], $rate['max'], $rate['mrpd']));
						}
					} else {
						unset($raterangenew[$key]);
					}
				}
			}
			$raterangenew = $raterangenew ? implode("\n", $raterangenew) : '';
			$maxpricenew = $maxpricenew < 0 ? 0 : intval($maxpricenew);
			$maxpostsperhournew = $maxpostsperhournew > 255 ? 255 : intval($maxpostsperhournew);

			$extensionarray = array();
			foreach(explode(',', $attachextensionsnew) as $extension) {
				if($extension = trim($extension)) {
					$extensionarray[] = $extension;
				}
			}
			$attachextensionsnew = implode(', ', $extensionarray);

			if($maxtradepricenew == $mintradepricenew || $maxtradepricenew < 0 || $mintradepricenew <= 0 || ($maxtradepricenew && $maxtradepricenew < $mintradepricenew)) {
				cpmsg('trade_fee_error', '', 'error');
			} elseif(($maxrewardpricenew != 0 && $minrewardpricenew >= $maxrewardpricenew) || $minrewardpricenew < 1 || $minrewardpricenew< 0 || $maxrewardpricenew < 0) {
				cpmsg('reward_credits_error', '', 'error');
			}

			$exemptnewbin = '';
			for($i = 0;$i < 8;$i++) {
				$exemptnewbin = intval($exemptnew[$i]).$exemptnewbin;
			}
			$exemptnew = bindec($exemptnewbin);

			$tradesticknew = $tradesticknew > 0 ? intval($tradesticknew) : 0;
			$maxinvitedaynew = $maxinvitedaynew > 0 ? intval($maxinvitedaynew) : 10;

			$db->query("UPDATE {$tablepre}usergroups SET grouptitle='$grouptitlenew', radminid='$radminidnew', system='$systemnew', allowvisit='$allowvisitnew',
				readaccess='$readaccessnew', allowmultigroups='$allowmultigroupsnew', allowtransfer='$allowtransfernew', allowviewpro='$allowviewpronew',
				allowviewstats='$allowviewstatsnew', allowinvisible='$allowinvisiblenew', allowsearch='$allowsearchnew',
				reasonpm='$reasonpmnew', allownickname='$allownicknamenew', allowcstatus='$allowcstatusnew',
				disableperiodctrl='$disableperiodctrlnew', maxpostsperhour='$maxpostsperhournew', maxinvitenum='$maxinvitenumnew', maxinviteday='$maxinvitedaynew', allowpost='$allowpostnew', allowreply='$allowreplynew',
				allowanonymous='$allowanonymousnew', allowsetreadperm='$allowsetreadpermnew', maxprice='$maxpricenew', allowhidecode='$allowhidecodenew',
				allowhtml='$allowhtmlnew', allowpostpoll='$allowpostpollnew', allowdirectpost='$allowdirectpostnew', allowvote='$allowvotenew',
				allowcusbbcode='$allowcusbbcodenew', allowsigbbcode='$allowsigbbcodenew', allowsigimgcode='$allowsigimgcodenew', allowinvite='$allowinvitenew', allowmailinvite='$allowmailinvitenew', raterange='$raterangenew',
				maxsigsize='$maxsigsizenew', allowgetattach='$allowgetattachnew', allowpostattach='$allowpostattachnew',
				allowsetattachperm='$allowsetattachpermnew', allowpostreward='$allowpostrewardnew', maxrewardprice='$maxrewardpricenew', minrewardprice='$minrewardpricenew', inviteprice='$invitepricenew',
				maxattachsize='$maxattachsizenew', maxsizeperday='$maxsizeperdaynew', attachextensions='$attachextensionsnew',
				allowbiobbcode='$allowbiobbcodenew', allowbioimgcode='$allowbioimgcodenew', maxbiosize='$maxbiosizenew', exempt='$exemptnew',
				maxtradeprice='$maxtradepricenew', mintradeprice='$mintradepricenew', tradestick='$tradesticknew', allowposttrade='$allowposttradenew', allowpostactivity='$allowpostactivitynew', ".($videoopen ? "allowpostvideo='$allowpostvideonew', " :'')."allowmagics='$allowmagicsnew', maxmagicsweight='$maxmagicsweightnew', magicsdiscount='$magicsdiscountnew', allowpostdebate='$allowpostdebatenew' WHERE groupid='$id'");

			if($allowinvisiblenew == 0 && $group['allowinvisible'] != $allowinvisiblenew) {
				$db->query("UPDATE {$tablepre}members SET invisible='0' WHERE groupid='$id'");
			}

			if($group['type'] == 'special' && $radminidnew != $group['radminid']) {
				$db->query("UPDATE {$tablepre}members SET adminid='".($radminidnew ? $radminidnew : -1)."' WHERE groupid='$id' AND adminid='$group[radminid]'");
			}

			updatecache('usergroups');

			if(submitcheck('saveconfigsubmit')) {
				$projectid = intval($projectid);
				dheader("Location: {$boardurl}admincp.php?action=project&operation=add&id=$id&type=group&projectid=$projectid");
			} else {
				cpmsg('usergroups_edit_succeed', 'admincp.php?action=groups&operation=user&do=edit&id='.$id.'&anchor='.$anchor, 'succeed');
			}
		}

	}

} elseif($operation == 'ranks') {

	if(!submitcheck('ranksubmit')) {

		echo <<<EOT
<script type="text/JavaScript">
	var rowtypedata = [
		[
			[1,'', 'td25'],
			[1,'<input type="text" class="txt" size="12" name="newranktitle[]">'],
			[1,'<input type="text" class="txt" size="6" name="newpostshigher[]">'],
			[1,'<input type="text" class="txt" size="2" name="newstars[]">', 'td28'],
			[1,'<input type="text" class="txt" size="6" name="newcolor[]">']
		]
	];
</script>
EOT;
		shownav('user', 'nav_ranks');
		showsubmenu('nav_ranks');
		showtips('ranks_tips');
		showformheader('groups&operation=ranks');
		showtableheader();
		showsubtitle(array('', 'ranks_title', 'ranks_postshigher', 'ranks_stars', 'ranks_color'));

		$query = $db->query("SELECT * FROM {$tablepre}ranks ORDER BY postshigher");
		while($rank = $db->fetch_array($query)) {
			showtablerow('', array('class="td25"', '', '', 'class="td28"'), array(
				"<input class=\"checkbox\" type=\"checkbox\" name=\"delete[{$rank[rankid]}]\" value=\"$rank[rankid]\">",
				"<input type=\"text\" class=\"txt\" size=\"12\" name=\"ranktitlenew[{$rank[rankid]}]\" value=\"$rank[ranktitle]\">",
				"<input type=\"text\" class=\"txt\" size=\"6\" name=\"postshighernew[{$rank[rankid]}]\" value=\"$rank[postshigher]\">",
				"<input type=\"text\" class=\"txt\" size=\"2\"name=\"starsnew[{$rank[rankid]}]\" value=\"$rank[stars]\">",
				"<input type=\"text\" class=\"txt\" size=\"6\"name=\"colornew[{$rank[rankid]}]\" value=\"$rank[color]\">",
			));
		}

		echo '<tr><td></td><td colspan="4"><div><a href="###" onclick="addrow(this, 0)" class="addtr">'.$lang['usergroups_level_add'].'</a></div></td></tr>';
		showsubmit('ranksubmit', 'submit', 'del');
		showtablefooter();
		showformfooter();

	} else {

		if($delete) {
			$ids = implode('\',\'', $delete);
			$db->query("DELETE FROM {$tablepre}ranks WHERE rankid IN ('$ids')");
		}

		foreach($ranktitlenew as $id => $value) {
			$db->query("UPDATE {$tablepre}ranks SET ranktitle='$ranktitlenew[$id]', postshigher='$postshighernew[$id]', stars='$starsnew[$id]', color='$colornew[$id]' WHERE rankid='$id'");
		}

		if(is_array($newranktitle)) {
			foreach($newranktitle as $key => $value) {
				if($value = trim($value)) {
					$db->query("INSERT INTO {$tablepre}ranks (ranktitle, postshigher, stars, color)
						VALUES ('$value', '$newpostshigher[$key]', '$newstars[$key]', '$newcolor[$key]')");
				}
			}
		}

		updatecache('ranks');
		cpmsg('ranks_succeed', 'admincp.php?action=groups&operation=ranks', 'succeed');
	}
}

function array_flip_keys($arr) {
	$arr2 = array();
	$arrkeys = @array_keys($arr);
	list(, $first) = @each(array_slice($arr, 0, 1));
	if($first) {
		foreach($first as $k=>$v) {
			foreach($arrkeys as $key) {
				$arr2[$k][$key] = $arr[$key][$k];
			}
		}
	}
	return $arr2;
}

?>

⌨️ 快捷键说明

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