function save_announce($id = 0, $starttime, $endtime, $subject, $type, $message, $displayorder = 0) { global $_G; $displayorder = intval($displayorder); $type = intval($type); $starttime = empty($starttime) || strtotime($starttime) < TIMESTAMP ? TIMESTAMP : strtotime($starttime); $endtime = empty($endtime) ? 0 : (strtotime($endtime) < $starttime ? $starttime + 86400 * 30 : strtotime($endtime)); $subject = htmlspecialchars(trim($subject)); if ($type == 1) { list($message) = explode("\n", trim($message)); $message = dhtmlspecialchars($message); } else { $type = 0; $message = trim($message); } if (empty($subject) || empty($message)) { acpmsg('modcp_ann_empty'); } elseif ($type == 1 && substr(strtolower($message), 0, 7) != 'http://') { acpmsg('modcp_ann_urlerror'); } else { $sql = "author='{$_G['username']}', subject='{$subject}', type='{$type}', starttime='{$starttime}', endtime='{$endtime}',\r\n\t\t\tmessage='{$message}', displayorder='{$displayorder}'"; if (empty($id)) { DB::query("INSERT INTO " . DB::table('forum_announcement') . " SET {$sql}"); } else { DB::query("UPDATE " . DB::table('forum_announcement') . " SET {$sql} WHERE id='{$id}'", 'UNBUFFERED'); } update_announcecache(); return true; } }
$groupidnew = DB::result($query, 0); $adminidnew = 0; } } else { $groupidnew = $member['groupid']; $adminidnew = $member['adminid']; } $sql .= ", adminid='{$adminidnew}', groupid='{$groupidnew}'"; DB::query("UPDATE " . DB::table('common_member') . " SET {$sql} WHERE uid='{$member['uid']}'"); $my_opt = in_array($groupidnew, array(4, 5)) ? 'banuser' : 'unbanuser'; my_thread_log($my_opt, array('uid' => $member['uid'])); if (DB::affected_rows()) { savebanlog($member['username'], $member['groupid'], $groupidnew, $banexpirynew, $reason); } DB::query("UPDATE " . DB::table('common_member_field_forum') . " SET groupterms='" . ($member['groupterms'] ? addslashes(serialize($member['groupterms'])) : '') . "' WHERE uid='{$member['uid']}'"); acpmsg('modcp_member_ban_succeed', "{$cpscript}?mod=modcp&action={$_G['gp_action']}&op={$op}"); } } elseif ($op == 'ipban' && $_G['group']['allowbanip']) { require_once libfile('function/misc'); $iptoban = getgpc('ip') ? dhtmlspecialchars(explode('.', getgpc('ip'))) : array('', '', '', ''); $updatecheck = $addcheck = $deletecheck = $adderror = 0; if (submitcheck('ipbansubmit')) { $_G['gp_delete'] = isset($_G['gp_delete']) ? $_G['gp_delete'] : ''; if ($ids = dimplode($_G['gp_delete'])) { DB::query("DELETE FROM " . DB::table('common_banned') . " WHERE id IN ({$ids}) AND ('{$_G['adminid']}'='1' OR admin='{$_G['username']}')"); $deletecheck = DB::affected_rows(); } if ($_G['gp_ip1new'] != '' && $_G['gp_ip2new'] != '' && $_G['gp_ip3new'] != '' && $_G['gp_ip4new'] != '') { $addcheck = ipbanadd($_G['gp_ip1new'], $_G['gp_ip2new'], $_G['gp_ip3new'], $_G['gp_ip4new'], $_G['gp_validitynew'], $adderror); if (!$addcheck) { $iptoban = array($_G['gp_ip1new'], $_G['gp_ip2new'], $_G['gp_ip3new'], $_G['gp_ip4new']);
} } else { $groupidnew = $member['groupid']; $adminidnew = $member['adminid']; } $sql .= ", adminid='$adminidnew', groupid='$groupidnew'"; $db->query("UPDATE {$tablepre}members SET $sql WHERE uid='$member[uid]'"); if($db->affected_rows($query)) { savebanlog($member['username'], $member['groupid'], $groupidnew, $banexpirynew, $reason); } $db->query("UPDATE {$tablepre}memberfields SET groupterms='".($member['groupterms'] ? addslashes(serialize($member['groupterms'])) : '')."' WHERE uid='$member[uid]'"); acpmsg('modcp_member_ban_succeed', "$cpscript?action=$action&op=$op"); } } elseif($op == "ipban" && $allowbanip) { require_once DISCUZ_ROOT.'./include/misc.func.php'; $iptoban = isset($ip) ? dhtmlspecialchars(explode('.', $ip)) : array('','','',''); $updatecheck = $addcheck = $deletecheck = $adderror = 0; if(submitcheck('ipbansubmit')) { if($ids = implodeids($delete)) { $db->query("DELETE FROM {$tablepre}banned WHERE id IN ($ids) AND ('$adminid'='1' OR admin='$discuz_user')"); $deletecheck = $db->affected_rows();
function save_announce($id = 0, $starttime, $endtime, $subject, $type, $message, $displayorder = 0) { global $_G; $displayorder = intval($displayorder); $type = intval($type); $starttime = empty($starttime) || strtotime($starttime) < TIMESTAMP ? TIMESTAMP : strtotime($starttime); $endtime = empty($endtime) ? 0 : (strtotime($endtime) < $starttime ? $starttime + 86400 * 30 : strtotime($endtime)); $subject = dhtmlspecialchars(trim($subject)); if ($type == 1) { list($message) = explode("\n", trim($message)); $message = dhtmlspecialchars($message); } else { $type = 0; $message = trim($message); } if (empty($subject) || empty($message)) { acpmsg('modcp_ann_empty'); } elseif ($type == 1 && substr(strtolower($message), 0, 7) != 'http://') { acpmsg('modcp_ann_urlerror'); } else { $data = array('author' => $_G['username'], 'subject' => $subject, 'type' => $type, 'starttime' => $starttime, 'endtime' => $endtime, 'message' => $message, 'displayorder' => $displayorder); if (empty($id)) { C::t('forum_announcement')->insert($data); } else { C::t('forum_announcement')->update($id, $data, true); } update_announcecache(); return true; } }
} else { $query = $db->query("SELECT groupid FROM {$tablepre}usergroups WHERE type='member' AND creditshigher<='{$member['credits']}' AND creditslower>'{$member['credits']}'"); $groupidnew = $db->result($query, 0); $adminidnew = 0; } } else { $groupidnew = $member['groupid']; $adminidnew = $member['adminid']; } $sql .= ", adminid='{$adminidnew}', groupid='{$groupidnew}'"; $db->query("UPDATE {$tablepre}members SET {$sql} WHERE uid='{$member['uid']}'"); if ($db->affected_rows($query)) { savebanlog($member['username'], $member['groupid'], $groupidnew, $banexpirynew, $reason); } $db->query("UPDATE {$tablepre}memberfields SET groupterms='" . ($member['groupterms'] ? addslashes(serialize($member['groupterms'])) : '') . "' WHERE uid='{$member['uid']}'"); acpmsg('modcp_member_ban_successed', "{$cpscript}?action={$action}&op={$op}"); } } elseif ($op == "ipban" && $allowbanip) { require_once DISCUZ_ROOT . './include/misc.func.php'; $iptoban = isset($ip) ? dhtmlspecialchars(explode('.', $ip)) : array('', '', '', ''); $updatecheck = $addcheck = $deletecheck = $adderror = 0; if (submitcheck('ipbansubmit')) { if ($ids = implodeids($delete)) { $db->query("DELETE FROM {$tablepre}banned WHERE id IN ({$ids}) AND ('{$adminid}'='1' OR admin='{$discuz_user}')"); $deletecheck = $db->affected_rows(); } if ($ip1new != '' && $ip2new != '' && $ip3new != '' && $ip4new != '') { $addcheck = ipbanadd($ip1new, $ip2new, $ip3new, $ip4new, $validitynew, $adderror); if (!$addcheck) { $iptoban = array($ip1new, $ip2new, $ip3new, $ip4new); }