📄 creditwizard.inc.php
字号:
$raterangetable = '';
while($group = $db->fetch_array($query)) {
$ratemin = $ratemax = $ratemrpd = '';
foreach(explode("\n", $group['raterange']) as $range) {
$range = explode("\t", $range);
if($range[0] == $credit) {
$ratemin = $range[1];$ratemax = $range[2];$ratemrpd = $range[3];break;
}
}
$raterangetable .= showtablerow('', array('', 'class="td28"', 'class="td28"', 'class="td28"'), array(
"<input class=\"checkbox\" type=\"checkbox\" name=\"raterangestatus[$group[groupid]]\" value=\"1\" ".($ratemin && $ratemax && $ratemax ? 'checked' : '')."> <a href=\"$BASESCRIPT?frames=yes&action=groups&operation=user&do=edit&id=$group[groupid]&anchor=exempt\" target=\"_blank\">$group[grouptitle]</a>",
"<input type=\"text\" class=\"txt\" name=\"ratemin[$group[groupid]]\" size=\"3\" value=\"$ratemin\">",
"<input type=\"text\" class=\"txt\" name=\"ratemax[$group[groupid]]\" size=\"3\" value=\"$ratemax\">",
"<input type=\"text\" class=\"txt\" name=\"ratemrpd[$group[groupid]]\" size=\"3\" value=\"$ratemrpd\">"
), TRUE);
}
showtitle('creditwizard_forum_groupraterange');
showsubtitle(array('forum', 'usergroups_edit_raterange_min', 'usergroups_edit_raterange_max', 'usergroups_edit_raterange_mrpd'));
echo $raterangetable;
showsubmit('settingsubmit', 'submit', '<input type="reset" class="btn" name="settingsubmit" value="'.$lang['reset'].'" />');
showtablefooter();
showformfooter();
}
} else {
if($type == 1) {
if($creditstrans == $credit && empty($settingsnew['available'])) {
cpmsg('settings_creditstrans_invalid', '', 'error');
}
$initcredits[$credit] = $settingsnew['init'];
$initcredits = implode(',', $initcredits);
$extcredits[$credit] = array(
'title' => dhtmlspecialchars(stripslashes($settingsnew['title'])),
'unit' => dhtmlspecialchars(stripslashes($settingsnew['unit'])),
'ratio' => ($settingsnew['ratio'] > 0 ? (float)$settingsnew['ratio'] : 0),
'available' => $settingsnew['available'],
'showinthread' => $settingsnew['showinthread'],
'allowexchangeout' => $settingsnew['allowexchangeout'],
'allowexchangein' => $settingsnew['allowexchangein'],
'lowerlimit' => intval($settingsnew['lowerlimit']));
$extcredits = addslashes(serialize($extcredits));
$creditspolicy['post'][$credit] = intval($settingsnew['policy_post']);
$creditspolicy['reply'][$credit] = intval($settingsnew['policy_reply']);
$creditspolicy['digest'][$credit] = intval($settingsnew['policy_digest']);
$creditspolicy['postattach'][$credit] = intval($settingsnew['policy_postattach']);
$creditspolicy['getattach'][$credit] = intval($settingsnew['policy_getattach']);
$creditspolicy['pm'][$credit] = intval($settingsnew['policy_pm']);
$creditspolicy['search'][$credit] = intval($settingsnew['policy_search']);
$creditspolicy['promotion_visit'][$credit] = intval($settingsnew['policy_promotion_visit']);
$creditspolicy['promotion_register'][$credit] = intval($settingsnew['policy_promotion_register']);
$creditspolicy['tradefinished'][$credit] = intval($settingsnew['policy_tradefinished']);
$creditspolicy['votepoll'][$credit] = intval($settingsnew['policy_votepoll']);
$creditspolicy = serialize($creditspolicy);
$db->query("REPLACE INTO {$tablepre}settings (variable, value) VALUES ('initcredits', '$initcredits')");
$db->query("REPLACE INTO {$tablepre}settings (variable, value) VALUES ('extcredits', '$extcredits')");
$db->query("REPLACE INTO {$tablepre}settings (variable, value) VALUES ('creditspolicy', '$creditspolicy')");
updatecache('settings');
cpmsg('creditwizard_edit_succeed', $BASESCRIPT.'?action=creditwizard&step=1&credit='.$credit.'&type=1', 'succeed');
} elseif($type == 2) {
require_once DISCUZ_ROOT.'./forumdata/cache/cache_forums.php';
$fids = implode(',', array_keys($_DCACHE['forums']));
$query = $db->query("SELECT fid, postcredits, replycredits, getattachcredits, postattachcredits, digestcredits
FROM {$tablepre}forumfields WHERE fid in ($fids)");
$sqls = array();
while($forumcredit = $db->fetch_array($query)) {
$forumcredit['postcredits'] = $forumcredit['postcredits'] ? unserialize($forumcredit['postcredits']) : array();
$forumcredit['postcredits'][$credit] = intval($postcredits[$forumcredit['fid']]);
$forumcredit['postcredits'][$credit] = $forumcredit['postcredits'][$credit] < -99 ? -99 : $forumcredit['postcredits'][$credit];
$forumcredit['postcredits'][$credit] = $forumcredit['postcredits'][$credit] > 99 ? 99 : $forumcredit['postcredits'][$credit];
$sql = "postcredits='".($postcreditsstatus[$forumcredit['fid']] ? addslashes(serialize($forumcredit['postcredits'])) : '')."'";
$forumcredit['replycredits'] = $forumcredit['replycredits'] ? unserialize($forumcredit['replycredits']) : array();
$forumcredit['replycredits'][$credit] = intval($replycredits[$forumcredit['fid']]);
$forumcredit['replycredits'][$credit] = $forumcredit['replycredits'][$credit] < -99 ? -99 : $forumcredit['replycredits'][$credit];
$forumcredit['replycredits'][$credit] = $forumcredit['replycredits'][$credit] > 99 ? 99 : $forumcredit['replycredits'][$credit];
$sql .= ",replycredits='".($replycreditsstatus[$forumcredit['fid']] ? addslashes(serialize($forumcredit['replycredits'])) : '')."'";
$forumcredit['getattachcredits'] = $forumcredit['getattachcredits'] ? unserialize($forumcredit['getattachcredits']) : array();
$forumcredit['getattachcredits'][$credit] = intval($getattachcredits[$forumcredit['fid']]);
$forumcredit['getattachcredits'][$credit] = $forumcredit['getattachcredits'][$credit] < -99 ? -99 : $forumcredit['getattachcredits'][$credit];
$forumcredit['getattachcredits'][$credit] = $forumcredit['getattachcredits'][$credit] > 99 ? 99 : $forumcredit['getattachcredits'][$credit];
$sql .= ",getattachcredits='".($getattachcreditsstatus[$forumcredit['fid']] ? addslashes(serialize($forumcredit['getattachcredits'])) : '')."'";
$forumcredit['postattachcredits'] = $forumcredit['postattachcredits'] ? unserialize($forumcredit['postattachcredits']) : array();
$forumcredit['postattachcredits'][$credit] = intval($postattachcredits[$forumcredit['fid']]);
$forumcredit['postattachcredits'][$credit] = $forumcredit['postattachcredits'][$credit] < -99 ? -99 : $forumcredit['postattachcredits'][$credit];
$forumcredit['postattachcredits'][$credit] = $forumcredit['postattachcredits'][$credit] > 99 ? 99 : $forumcredit['postattachcredits'][$credit];
$sql .= ",postattachcredits='".($postattachcreditsstatus[$forumcredit['fid']] ? addslashes(serialize($forumcredit['postattachcredits'])) : '')."'";
$forumcredit['digestcredits'] = $forumcredit['digestcredits'] ? unserialize($forumcredit['digestcredits']) : array();
$forumcredit['digestcredits'][$credit] = intval($digestcredits[$forumcredit['fid']]);
$forumcredit['digestcredits'][$credit] = $forumcredit['digestcredits'][$credit] < -99 ? -99 : $forumcredit['digestcredits'][$credit];
$forumcredit['digestcredits'][$credit] = $forumcredit['digestcredits'][$credit] > 99 ? 99 : $forumcredit['digestcredits'][$credit];
$sql .= ",digestcredits='".($digestcreditsstatus[$forumcredit['fid']] ? addslashes(serialize($forumcredit['digestcredits'])) : '')."'";
$db->query("UPDATE {$tablepre}forumfields SET $sql WHERE fid=$forumcredit[fid]", 'UNBUFFERED');
}
cpmsg('creditwizard_edit_succeed', $BASESCRIPT.'?action=creditwizard&step=1&credit='.$credit.'&type=2', 'succeed');
} else {
$query = $db->query("SELECT groupid, grouptitle, raterange FROM {$tablepre}usergroups");
$raterangetable = '';
while($group = $db->fetch_array($query)) {
$raterangenew = '';
$rangearray = array();
foreach(explode("\n", $group['raterange']) as $range) {
$ranges = explode("\t", $range);
$rangearray[$ranges[0]] = $range;
}
$range = array();
if($raterangestatus[$group['groupid']]) {
$range[0] = $credit;
$range[1] = intval($ratemin[$group['groupid']] < -999 ? -999 : $ratemin[$group['groupid']]);
$range[2] = intval($ratemax[$group['groupid']] > 999 ? 999 : $ratemax[$group['groupid']]);
$range[3] = intval($ratemrpd[$group['groupid']] > 99999 ? 99999 : $ratemrpd[$group['groupid']]);
if(!$range[3] || $range[2] <= $range[1] || $range[3]< max(abs($range[1]), abs($range[2]))) {
cpmsg('creditwizard_edit_rate_invalid', '', 'error');
}
$rangearray[$credit] = implode("\t", $range);
} else {
unset($rangearray[$credit]);
}
$raterangenew = $rangearray ? implode("\n", $rangearray) : '';
$db->query("UPDATE {$tablepre}usergroups SET raterange='$raterangenew' WHERE groupid=$group[groupid]", 'UNBUFFERED');
}
updatecache('usergroups');
updatecache('admingroups');
cpmsg('creditwizard_edit_succeed', $BASESCRIPT.'?action=creditwizard&step=1&credit='.$credit.'&type=3', 'succeed');
}
}
}
} elseif($step == 2) {
if(!submitcheck('settingsubmit')) {
$formulareplace .= '\'<u>'.$lang['settings_credits_formula_digestposts'].'</u>\',\'<u>'.$lang['settings_credits_formula_posts'].'</u>\',\'<u>'.$lang['settings_credits_formula_oltime'].'</u>\',\'<u>'.$lang['settings_credits_formula_pageviews'].'</u>\'';
?>
<script type="text/JavaScript">
function isUndefined(variable) {
return typeof variable == 'undefined' ? true : false;
}
function insertunit(text, textend) {
$('creditsformulanew').focus();
textend = isUndefined(textend) ? '' : textend;
if(!isUndefined($('creditsformulanew').selectionStart)) {
var opn = $('creditsformulanew').selectionStart + 0;
if(textend != '') {
text = text + $('creditsformulanew').value.substring($('creditsformulanew').selectionStart, $('creditsformulanew').selectionEnd) + textend;
}
$('creditsformulanew').value = $('creditsformulanew').value.substr(0, $('creditsformulanew').selectionStart) + text + $('creditsformulanew').value.substr($('creditsformulanew').selectionEnd);
} else if(document.selection && document.selection.createRange) {
var sel = document.selection.createRange();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -