<?php
$filename="modcp.php";
require("./global.php");
$onof_f = $db->query_first("SELECT onof FROM bb".$n."_modcp");
$onof = $onof_f['onof'];
if($onof == "0") {
print("Das Modpc ist deaktiviert!");
exit;
}
if(!$HTTP_COOKIE_VARS[$master_board_name]) {
exit;
}
if(isset($_REQUEST['action'])) $action=$_REQUEST['action'];
else $action="";
if(!$action) eval("print(\"".gettemplate("modcpframeset")."\");");
if($action=="slice") {
eval("print(\"".gettemplate("slice")."\");");
exit();
}
if($action=="welcome") {
$db->unbuffered_query("DELETE FROM bb".$n."_sessions WHERE lastactivity<".(time()-$sessiontimeout),1);
$db->unbuffered_query("DELETE FROM bb".$n."_searchs WHERE searchtime<".(time()-86400*7),1);
$install_date=formatdate($dateformat." ".$timeformat,$installdate);
list($usercount)=$db->query_first("SELECT COUNT(*) FROM bb".$n."_users");
list($useronlinecount)=$db->query_first("SELECT COUNT(*) FROM bb".$n."_sessions WHERE lastactivity >= '".(time()-60*$useronlinetimeout)."'");
list($postcount)=$db->query_first("SELECT COUNT(*) FROM bb".$n."_posts");
list($threadcount)=$db->query_first("SELECT COUNT(*) FROM bb".$n."_threads");
$installdays = (time() - $installdate) / 86400;
if($installdays < 1) {
$postsperday = $postcount;
$threadsperday = $threadcount;
} else {
$postsperday = sprintf("%.2f",($postcount / $installdays));
$threadsperday = sprintf("%.2f",($threadcount / $installdays));
}
eval("print(\"".gettemplate("modcpwelcome")."\");");
}
if($action=="menue") eval("print(\"".gettemplate("modcpmenue")."\");");
if($action=="logo") eval("print(\"".gettemplate("modcplogo")."\");");
if($action=="storagetop") eval("print(\"".gettemplate("storagetop")."\");");
if($action=="top") eval("print(\"".gettemplate("modcptop")."\");");
if($action=="working") eval("print(\"".gettemplate("working")."\");");
if($action=="smilies") {
if(($_REQUEST['mode'] == "view") or ($_POST['mode'] == "view")){
$count="";
$smilie_viewbit="";
$result = $db->query("SELECT smilieid, smiliepath, smilietitle, smiliecode, smilieorder FROM bb".$n."_smilies ORDER BY smilieorder ASC");
$result2 = $db->query_first("SELECT substitute FROM bb".$n."_subvariables WHERE variable = '{imagefolder}'");
while($row = $db->fetch_array($result)){
if(stristr($row['smiliepath'],"http://")) $smiliepathimage = makeimgtag($row['smiliepath'],$row['smilietitle']);
else {
$row['smiliepath'] = "../".str_replace("{imagefolder}","$result2[substitute]", $row['smiliepath'])."";
if(is_file($row['smiliepath'])) $smiliepathimage = makeimgtag($row['smiliepath'],$row['smilietitle']);
else $smiliepathimage = "n/a";
}
$rowclass = getone($count++,"firstrow","secondrow");
eval ("\$smilie_viewbit .= \"".gettemplate("modcp_smilie_viewbit")."\";");
}
eval("print(\"".gettemplate("modcp_smilie_view")."\");");
}
if(($_REQUEST['mode'] == "add") or ($_POST['mode'] == "add")){
if(isset($_POST['send'])){
$db->query("INSERT INTO bb".$n."_smilies (smilieid,smiliepath,smilietitle,smiliecode,smilieorder) VALUES (NULL, '".addslashes($_POST['smiliepath'])."', '".addslashes($_POST['smilietitle'])."', '".addslashes($_POST['smiliecode'])."', '".intval($_POST['smilieorder'])."')");
header("Location: modcp.php?action=smilies&mode=view&sid=$session[hash]");
exit();
}
eval("print(\"".gettemplate("modcp_smilie_add")."\");");
}
if(($_REQUEST['mode'] == "edit") or ($_POST['mode'] == "edit")){
if(isset($_POST['send'])){
$db->query("UPDATE bb".$n."_smilies SET smiliepath = '".addslashes($_POST['smiliepath'])."', smilietitle = '".addslashes($_POST['smilietitle'])."', smiliecode = '".addslashes($_POST['smiliecode'])."', smilieorder = '".intval($_POST['smilieorder'])."' WHERE smilieid = '".intval($_POST['smilieid'])."'");
header("Location: modcp.php?action=smilies&mode=view&sid=$session[hash]");
exit();
}
$smilie = $db->query_first("SELECT * FROM bb".$n."_smilies WHERE smilieid = '".intval($_REQUEST['smilieid'])."'");
eval("print(\"".gettemplate("modcp_smilie_edit")."\");");
}
if(($_REQUEST['mode'] == "del") or ($_POST['mode'] == "del")){
if(isset($_POST['send'])){
$db->query("DELETE FROM bb".$n."_smilies WHERE smilieid = '".intval($_POST['smilieid'])."'");
header("Location: modcp.php?action=smilies&mode=view&sid=$session[hash]");
exit();
}
$smilie = $db->query_first("SELECT smilieid, smilietitle FROM bb".$n."_smilies WHERE smilieid = '".intval($_REQUEST['smilieid'])."'");
eval("print(\"".gettemplate("modcp_smilie_del_confirm")."\");");
}
}
if($action=="icon") {
if(($_REQUEST['mode'] == "view") or ($_POST['mode'] == "view")){
$count="";
$icon_viewbit="";
$result2 = $db->query_first("SELECT substitute FROM bb".$n."_subvariables WHERE variable = '{imagefolder}'");
$result = $db->query("SELECT iconid, iconpath, icontitle, iconorder FROM bb".$n."_icons ORDER BY iconorder ASC");
while($row = $db->fetch_array($result)) {
if(stristr($row['iconpath'],"http://")) $iconpathimage = makeimgtag($row['iconpath'],$row['icontitle']);
else {
$row['iconpath'] = "../".str_replace("{imagefolder}","$result2[substitute]", $row['iconpath'])."";
if(is_file($row['iconpath'])) $iconpathimage = makeimgtag($row['iconpath'],$row['icontitle']);
else $iconpathimage = "n/a";
}
$rowclass = getone($count++,"firstrow","secondrow");
eval ("\$icon_viewbit .= \"".gettemplate("modcp_icon_viewbit")."\";");
}
eval("print(\"".gettemplate("modcp_icon_view")."\");");
}
if(($_REQUEST['mode'] == "add") or ($_POST['mode'] == "add")){
if(isset($_POST['send'])) {
$db->query("INSERT INTO bb".$n."_icons (iconid,iconpath,icontitle,iconorder) VALUES (NULL, '".addslashes($_POST['iconpath'])."', '".addslashes($_POST['icontitle'])."', '".intval($_POST['iconorder'])."')");
header("Location: modcp.php?action=icon&mode=view&sid=$session[hash]");
exit();
}
eval("print(\"".gettemplate("modcp_icon_add")."\");");
}
if(($_REQUEST['mode'] == "edit") or ($_POST['mode'] == "edit")){
if($_POST['send'] == "send") {
$db->query("UPDATE bb".$n."_icons SET iconpath = '".addslashes($_POST['iconpath'])."', icontitle = '".addslashes($_POST['icontitle'])."', iconorder = '".intval($_POST['iconorder'])."' WHERE iconid = '".$_POST['iconid']."'");
header("Location: modcp.php?action=icon&mode=view&sid=$session[hash]");
exit();
}
$icon = $db->query_first("SELECT iconid, iconpath, icontitle, iconorder FROM bb".$n."_icons WHERE iconid = '".$_REQUEST['iconid']."'");
eval("print(\"".gettemplate("modcp_icon_edit")."\");");
}
if(($_REQUEST['mode'] == "del") or ($_POST['mode'] == "del")){
if(isset($_POST['send'])) {
$db->query("DELETE FROM bb".$n."_icons WHERE iconid = '".$_POST['iconid']."'");
$db->query("UPDATE bb".$n."_threads SET iconid = '0' WHERE iconid = '".$_POST['???????????????????????????????????????????????????????????????
?????????????????>a ??iconid']."'");
$db->query("UPDATE bb".$n."_posts SET iconid = '0' WHERE iconid = '".$_POST['iconid']."'");
$db->query("UPDATE bb".$n."_privatemessage SET iconid = '0' WHERE iconid = '".$_POST['iconid']."'");
header("Location: modcp.php?action=icon&mode=view&sid=$session[hash]");
exit();
}
$icon = $db->query_first("SELECT iconid, icontitle FROM bb".$n."_icons WHERE iconid = '".$_REQUEST['iconid']."'");
eval("print(\"".gettemplate("modcp_icon_del_confirm")."\");");
}
}
if($action=="avatar") {
$avatarsperpage = "15";
if($_REQUEST['mode'] == "view") {
$count="";
$sel_sortby['0'] = "";
$sel_sortby['1'] = "";
$sel_orderby['ASC'] = "";
$sel_orderby['DESC'] = "";
if(!isset($_REQUEST['sortby'])) $_REQUEST['sortby'] = "";
if(!isset($_REQUEST['orderby'])) $_REQUEST['orderby'] = "";
switch($_REQUEST['sortby']){
CASE "0": $where = "WHERE a.userid = 0"; break;
CASE "1": $where = "WHERE a.userid <> 0"; break;
DEFAULT:
$where = "WHERE a.userid = 0";
$_REQUEST['sortby'] = "0";
break;
}
switch($_REQUEST['orderby']){
CASE "ASC": break;
CASE "DESC": break;
DEFAULT: $_REQUEST['orderby'] = "DESC"; break;
}
$sel_sortby[$_REQUEST['sortby']] = " SELECTED";
$sel_orderby[$_REQUEST['orderby']] = " SELECTED";
if($_REQUEST['sortby'] == "1") list($avatarcount) = $db->query_first("SELECT count(avatarid) FROM bb".$n."_avatars WHERE userid <> 0");
else list($avatarcount) = $db->query_first("SELECT count(avatarid) FROM bb".$n."_avatars WHERE userid = 0");
if(isset($_REQUEST['page'])){
$page = intval($_REQUEST['page']);
if($page == "0") $page = "1";
}
else $page = "1";
$pages = ceil($avatarcount / $avatarsperpage);
if($_REQUEST['sortby'] == "1"){
$result = $db->query("SELECT a.*, g.title, u.username FROM bb".$n."_avatars a LEFT JOIN bb".$n."_groups g USING(groupid) LEFT JOIN bb".$n."_users u ON (a.userid = u.userid) ".$where." ORDER BY a.needposts $_REQUEST[orderby], a.avatarid $_REQUEST[orderby]",$avatarsperpage,$avatarsperpage*($page-1));
while($row = $db->fetch_array($result)) {
if($row['title'] == "") eval ("\$row['title'] = \"".gettemplate("modcp_avatar_allgroups")."\";");
$avatarname = "../images/avatars/avatar-$row[avatarid].$row[avatarextension]";
$width = $row['width'];
$height = $row['height'];
if($row['avatarextension'] == "swf") eval ("\$avatarchoice = \"".gettemplate("modcp_avatar_flash")."\";");
else eval ("\$avatarchoice = \"".gettemplate("modcp_avatar_image")."\";");
$rowclass = getone($count, "firstrow", "secondrow");
$row['avatarname'] = stripslashes($row['avatarname']);
eval ("\$avatar_viewbit .= \"".gettemplate("modcp_avatar_viewbit2")."\";");
$count++;
}
}
else {
$result = $db->query("SELECT a.*, g.title FROM bb".$n."_avatars a LEFT JOIN bb".$n."_groups g USING(groupid) ".$where." ORDER BY a.needposts $_REQUEST[orderby], a.avatarid $_REQUEST[orderby]",$avatarsperpage,$avatarsperpage*($page-1));
while($row = $db->fetch_array($result)){
if($row['title'] == "") eval ("\$row['title'] = \"".gettemplate("modcp_avatar_allgroups")."\";");
$avatarname = "../images/avatars/avatar-$row[avatarid].$row[avatarextension]";
$width = $row['width'];
$height = $row['height'];
if($row['avatarextension'] == "swf") eval ("\$avatarchoice = \"".gettemplate("modcp_avatar_flash")."\";");
else eval ("\$avatarchoice = \"".gettemplate("modcp_avatar_image")."\";");
$rowclass = getone($count, "firstrow", "secondrow");
$row['avatarname'] = stripslashes($row['avatarname']);
eval ("\$avatar_viewbit .= \"".gettemplate("modcp_avatar_viewbit")."\";");
$count++;
}
}
if($avatarcount) $countfrom = 1+$avatarsperpage*($page-1);
else $countfrom=0;
$countto = $avatarsperpage*$page;
if($countto > $avatarcount) $countto = $avatarcount;
if($pages > 1) $pagelink = makeadminpagelink("avatar.php?action=view&sid=$session[hash]&sortby=$_REQUE
ST[sortby]&orderby=$_REQUEST[orderby]",$page,$pages,2);
if($_REQUEST['sortby'] == "1") eval("print(\"".gettemplate("modcp_avatar_view2")."\");");
else eval("print(\"".gettemplate("modcp_avatar_view")."\");");
}
if($_REQUEST['mode'] == "add"){
if(isset($_POST['send'])) {
if($_FILES['avatar_file']['tmp_name'] == "none") eval ("\$avatar_error = \"".gettemplate("modcp_avatar_error")."\";");
else {
$avatar_extension = strtolower(substr(strrchr($_FILES['avatar_file']['name'],"."),1));
$avatar_name = substr($_FILES['avatar_file']['name'],0,(intval(strlen($avatar_extension))+
1)*-1);
$db->query("INSERT INTO bb".$n."_avatars (avatarid,avatarname,avatarextension,groupid,needposts,userid) VALUES (NULL,'".addslashes($avatar_name)."', '".addslashes($avatar_extension)."','".$_POST['groupid']."', '".$_POST['needposts']."', '0')");
$avatarid = $db->insert_id();
if(move_uploaded_file($_FILES['avatar_file']['tmp_name'], "../images/avatars/avatar-".$avatarid.".".$avatar_extension."")){
chmod("../images/avatars/avatar-".$avatarid.".".$avatar_extension,0777);
$imagesize = @getimagesize("../images/avatars/avatar-".$avatarid.".".$avatar_extension);
$width = $imagesize[0];
$height = $imagesize[1];
$db->unbuffered_query("UPDATE bb".$n."_avatars SET width='$width', height='$height' WHERE avatarid='$avatarid'",1);
header("Location: modcp.php?action=avatar&mode=view&sid=$session[hash]");
exit();
}
else {
$db->query("DELETE FROM bb".$n."_avatars WHERE avatarid = '".$avatarid."'");
eval ("\$avatar_error = \"".gettemplate("modcp_avatar_error")."\";");
}
}
}
$result = $db->query("SELECT groupid, title, canuseavatar, allowedavatarextensions, maxavatarwidth, maxavatarheight, maxavatarsize FROM bb".$n."_groups WHERE default_group <> 1");
while($row = $db->fetch_array($result)) $avatar_groupsbit .= makeoption($row['groupid'],$row['title'],"",0);
eval("print(\"".gettemplate("modcp_avatar_add")."\");");
}
if($_REQUEST['mode'] == "edit"){
if(isset($_POST['send'])) {
$db->query("UPDATE bb".$n."_avatars SET groupid = '".$_POST['groupid']."', needposts = '".$_POST['needposts']."' WHERE avatarid = '".$_POST['avatarid']."'");
header("Location: modcp.php?action=avatar&mode=view&sid=$session[hash]");
exit();
}
$row2 = $db->query_first("SELECT avatarid, avatarname, avatarextension, width, height, groupid, needposts FROM bb".$n."_avatars WHERE avatarid = '".$_REQUEST['avatarid']."'");
$result = $db->query("SELECT groupid, title FROM bb".$n."_groups WHERE default_group <> 1");
while($row = $db->fetch_array($result)) $avatar_groupsbit .= makeoption($row['groupid'],$row['title'],$row2['groupid'],1);
$avatarname = "../images/avatars/avatar-$row2[avatarid].$row2[avatarextension]";
$width = $row2['width'];
$height = $row2['height'];
if($row2['avatarextension'] == "swf") eval ("\$avatarimage = \"".gettemplate("modcp_avatar_flash")."\";");
else eval ("\$avatarimage = \"".gettemplate("modcp_avatar_image")."\";");
$row2['avatarname'] = stripslashes($row2['avatarname']);
eval("print(\"".gettemplate("modcp_avatar_edit")."\");");
}
if($_REQUEST['mode'] == "del"){
$row = $db->query_first("SELECT avatarid, avatarname, avatarextension, width, height FROM bb".$n."_avatars WHERE avatarid = '".$_REQUEST['avatarid']."'");
if(isset($_POST['send'])) {
$db->query("DELETE FROM bb".$n."_avatars WHERE avatarid = '".$_POST['avatarid']."'");
$db->query("UPDATE bb".$n."_users SET avatarid = '0' WHERE avatarid = '".$_POST['avatarid']."'");
@unlink("../images/avatars/avatar-$row[avatarid].$row[avatarextension]");
header("Location: modcp.php?action=avatar&mode=view&sid=$session[hash]");
exit();
}
$avatarname = "../images/avatars/avatar-$row[avatarid].$row[avatarextension]";
$width = $row['width'];
$height = $row['height'];
if($row['avatarextension'] == "swf") eval ("\$avatarimage = \"".gettemplate("modcp_avatar_flash")."\";");
else eval ("\$avatarimage = \"".gettemplate("modcp_avatar_image")."\";");
$row['avatarname'] = stripslashes($row['avatarname']);
eval("print(\"".gettemplate("modcp_avatar_del_confirm")."\");");
}
}
if($action=="user") {
if($_REQUEST['mode']=="find") {
eval("print(\"".gettemplate("modcp_users_find")."\");");
}
if($_REQUEST['mode']=="show") {
if(isset($_REQUEST['offset'])) {
$offset=intval($_REQUEST['offset']);
if($offset<1) $offset=1;
}
else $offset=1;
$offset-=1;
if(isset($_REQUEST['limit'])) {
$limit=intval($_REQUEST['limit']);
if($limit<1) $limit=1;
}
else $limit=200;
$where="";
function add2where($add) {
global $where;
if($where) $where.=" AND ".$add;
else $where=$add;
}
if(isset($_REQUEST['username']) && $_REQUEST['username']) add2where("username LIKE '%".addslashes(htmlspecialchars($_REQUEST['username']))."%'");
if(isset($_REQUEST['email']) && $_REQUEST['email']) add2where("email LIKE '%".addslashes(htmlspecialchars($_REQUEST['email']))."%'");
if(isset($_REQUEST['sortby'])) $sortby=$_REQUEST['sortby'];
else $sortby="";
if(isset($_REQUEST['sortorder'])) $sortorder=$_REQUEST['sortorder'];
else $sortorder="";
switch($sortorder) {
case "ASC": break;
case "DESC": break;
default: $sortorder="ASC"; break;
}
switch($sortby) {
case "username": break;
case "email": break;
case "regdate": break;
case "lastactivity": break;
case "userposts": break;
default: $sortby="username"; break;
}
$userbit="";
$count=0;
$result=$db->query("SELECT * FROM bb".$n."_users".ifelse($userfields==1," LEFT JOIN bb".$n."_userfields USING (userid)")." ".ifelse($where,"WHERE $where ")."ORDER BY $sortby $sortorder",$limit,$offset);
if(!$db->num_rows($result)) eval("acp_error(\"".gettemplate("error_noresult")."\");");
while($row=$db->fetch_array($result)) {
$rowclass=getone($count++,"firstrow","secondrow");
$regdate=formatdate($dateformat,$row['regdate']);
$lastactivity=formatdate($dateformat." ".$timeformat,$row['lastactivity']);
$username=str_replace("'","\'",$row['username']);
if($row['groupid'] != "1") {
eval ("\$userbit .= \"".gettemplate("modcp_users_showbit")."\";");
}
}
eval("print(\"".gettemplate("modcp_users_show")."\");");
}
if($_REQUEST['mode']=="edit") {
$userid=intval($_REQUEST['userid']);
$result=$db->query_first("SELECT u.*, uf.*, g.ismod + g.issupermod AS moderator FROM bb".$n."_users u LEFT JOIN bb".$n."_userfields uf USING (userid) LEFT JOIN bb".$n."_groups g ON (u.groupid=g.groupid) WHERE u.userid='$userid'");
if(!$result['userid']) eval("acp_error(\"".gettemplate("error_selectnouser")."\");");
require("./lib/class_tpl_file.php");
$tpl = new tpl(0,0,"../");
if(isset($_POST['send'])) {
reset($_POST);
while(list($key,$val)=each($_POST)) {
if(is_string($val)) $$key=trim($val);
elseif(is_array($val)) $$key=trim_array($val);
}
$username=preg_replace("/\s{2,}/"," ",$username);
$error="";
$fieldvalues="";
$pfields = $db->query("SELECT profilefieldid, required FROM bb".$n."_profilefields ORDER BY profilefieldid ASC");
while($row=$db->fetch_array($pfields)) {
if($fieldvalues) $fieldvalues.=",field$row[profilefieldid]='".addslashes(htmlspecialchars($f
ield[$row[profilefieldid]]))."'";
else $fieldvalues.="field$row[profilefieldid]='".addslashes(htmlspecialchars($fi
eld[$row[profilefieldid]]))."'";
}
if(!$username || !$email) eval ("\$error .= \"".$tpl->get("register_error1")."\";");
if(strtolower(htmlspecialchars($username))!=strtolower($result['username'])
&& !verify_username($username)) eval ("\$error .= \"".$tpl->get("register_error3")."\";");
if($email!=$result['email'] && !verify_email($email)) eval ("\$error .= \"".$tpl->get("register_error4")."\";");
if($error) eval ("\$error = acp_error_frame(\"".gettemplate("users_add_error")."\");");
else {
if($homepage && !preg_match("/[a-zA-Z]:\/\//si", $homepage)) $homepage = "http://".$homepage;
if($day && $month && $year) $birthday=ifelse(strlen($year)==4,$year,ifelse(strlen($year)==2,"19$year","
0000"))."-".ifelse($month<10,"0$month",$month)."-".ifelse($day<10,"0$day",$
day);
else $birthday = "0000-00-00";
$username=htmlspecialchars($username);
if($username!=$result['username']) {
$db->unbuffered_query("UPDATE bb".$n."_boards SET lastposter='".addslashes($username)."' WHERE lastposterid='$userid'",1);
$db->unbuffered_query("UPDATE bb".$n."_posts SET username='".addslashes($username)."' WHERE userid='$userid'",1);
$db->unbuffered_query("UPDATE bb".$n."_posts SET editor='".addslashes($username)."' WHERE editorid='$userid'",1);
$db->unbuffered_query("UPDATE bb".$n."_threads SET starter='".addslashes($username)."' WHERE starterid='$userid'",1);
$db->unbuffered_query("UPDATE bb".$n."_threads SET lastposter='".addslashes($username)."' WHERE lastposterid='$userid'",1);
}
$rankid = $db->query_first("SELECT rankid FROM bb".$n."_ranks WHERE groupid IN (0,'$groupid') AND needposts < '$result[userposts]' AND gender IN (0,'$gender') ORDER BY needposts DESC, gender DESC",1);
if($result['avatarid'] && $result['avatarid']!=$avatarid) {
$avatar=$db->query_first("SELECT * FROM bb".$n."_avatars WHERE avatarid='$result[avatarid]'");
if($avatar['userid']==$userid) {
@unlink("../images/avatars/avatar-$avatar[avatarid].$avatar[avatarextension
]");
$db->unbuffered_query("DELETE FROM bb".$n."_avatars WHERE avatarid='$avatar[avatarid]'",1);
}
}
if($blocked==1 && $result['blocked']==0) {
$admincanemail=0;
$showemail=0;
$usercanemail=0;
$receivepm=0;
$db->unbuffered_query("DELETE FROM bb".$n."_subscribeboards WHERE userid='$userid'",1);
$db->unbuffered_query("DELETE FROM bb".$n."_subscribethreads WHERE userid='$userid'",1);
}
$db->unbuffered_query("UPDATE bb".$n."_users SET username='".addslashes($username)."',email='".addslashes(htmlspecialchars($
email))."',rankid='$rankid[rankid]',title='".addslashes(htmlspecialchars($t
itle))."',usertext='".addslashes(htmlspecialchars($usertext))."',signature=
'".addslashes($signature)."',icq='".intval($icq)."',aim='".addslashes(htmls
pecialchars($aim))."',yim='".addslashes(htmlspecialchars($yim))."',msn='".a
ddslashes(htmlspecialchars($msn))."',homepage='".addslashes(htmlspecialchar
s($homepage))."',birthday='".addslashes(htmlspecialchars($birthday))."',gen
der='".intval($gender)."',showemail='".intval($showemail)."',admincanemail=
'".intval($admincanemail)."',usercanemail='".intval($usercanemail)."',invis
ible='".intval($invisible)."',usecookies='".intval($usecookies)."',styleid=
'".intval($styleid)."',daysprune='".intval($daysprune)."',timezoneoffset='"
.addslashes(htmlspecialchars($default_timezoneoffset))."',dateformat='".add
slashes(htmlspecialchars($dateformat))."',timeformat='".addslashes(htmlspec
ialchars($timeformat))."',emailnotify='".intval($emailnotify)."',receivepm=
'".intval($receivepm)."',emailonpm='".intval($emailonpm)."',pmpopup='".intv
al($pmpopup)."',umaxposts='".intval($umaxposts)."',showsignatures='".intval
($showsignatures)."',showavatars='".intval($showavatars)."',showimages='".i
ntval($showimages)."',nosessionhash='".intval($nosessionhash)."', blocked='".intval($blocked)."', avatarid = '".intval($avatarid)."' WHERE userid='$userid'",1);
if($fieldvalues) $db->unbuffered_query("UPDATE bb".$n."_userfields SET $fieldvalues WHERE userid='$userid'",1);
header("Location: modcp.php?action=user&mode=find&sid=$session[hash]");
exit();
}
}
else {
while(list($key,$val)=each($result)) {
if(substr($key,0,5)=="field") $field[intval(substr($key,5))]=$val;
else $$key=$val;
}
$signature=htmlspecialchars($signature);
$birthday=explode("-",$birthday);
$day=$birthday[2];
$month=$birthday[1];
if($birthday[0]!="0000") $year=$birthday[0];
}
if(isset($_POST)) {
reset($_POST);
while(list($key,$val)=each($_POST)) {
if(is_string($val)) $$key=htmlspecialchars(trim($val));
elseif(is_array($val)) $$key=htmlspecialchars_array(trim_array($val));
}
}
for($i=1;$i<=31;$i++) $day_options.=makeoption($i,$i,$day);
for($i=1;$i<=12;$i++) $month_options.=makeoption($i,getmonth($i),$month);
$timezones = explode("\n", $tpl->get("timezones"));
for($i=0;$i<count($timezones);$i++) {
$parts = explode("|", trim($timezones[$i]));
$timezone_options .= makeoption($parts[0],"(GMT".ifelse($parts[1]," ".$parts[1],"").") $parts[2]",$default_timezoneoffset);
}
$result = $db->query("SELECT styleid, stylename FROM bb".$n."_styles WHERE default_style = 0 ORDER BY stylename ASC");
while($row=$db->fetch_array($result)) $style_options.=makeoption($row['styleid'],$row['stylename'],$styleid);
if(isset($gender)) $sel_gender[$gender]=" selected";
if(isset($invisible)) $sel_invisible[$invisible]=" selected";
if(isset($nosessionhash)) $sel_nosessionhash[$nosessionhash]=" selected";
if(isset($usecookies)) $sel_usecookies[$usecookies]=" selected";
if(isset($admincanemail)) $sel_admincanemail[$admincanemail]=" selected";
if(isset($showemail)) $sel_showemail[$showemail]=" selected";
if(isset($usercanemail)) $sel_usercanemail[$usercanemail]=" selected";
if(isset($emailnotify)) $sel_emailnotify[$emailnotify]=" selected";
if(isset($receivepm)) $sel_receivepm[$receivepm]=" selected";
if(isset($emailonpm)) $sel_emailonpm[$emailonpm]=" selected";
if(isset($pmpopup)) $sel_pmpopup[$pmpopup]=" selected";
if(isset($showsignatures)) $sel_showsignatures[$showsignatures]=" selected";
if(isset($showavatars)) $sel_showavatars[$showavatars]=" selected";
if(isset($showimages)) $sel_showimages[$showimages]=" selected";
if(isset($daysprune)) $sel_daysprune[$daysprune]=" selected";
if(isset($umaxposts)) $sel_umaxposts[$umaxposts]=" selected";
if(isset($blocked)) $sel_blocked[$blocked]=" selected";
$result = $db->query("SELECT groupid, title, default_group FROM bb".$n."_groups WHERE default_group <> 1 ORDER BY default_group DESC, title ASC");
while($row=$db->fetch_array($result)) $group_options.=makeoption($row['groupid'],$row['title'],$groupid);
$color="red";
$result = $db->query("SELECT * FROM bb".$n."_avatars WHERE (userid = 0 AND groupid IN (0,$groupid) AND needposts <= '$userposts') OR userid = '$userid' ORDER BY userid DESC");
while($row=$db->fetch_array($result)) {
if($color=="red" && $row['userid']==0) {
$avatar_options.=makeoption(0,"---------------","",0);
$color="green";
}
$avatar_options.=makeoption($row['avatarid'],$row['avatarname'].".".$row['a
vatarextension'],$avatarid,1,$color);
}
eval("print(\"".gettemplate("modcp_users_edit")."\");");
}
if($_REQUEST['mode']=="email") {
if(isset($_REQUEST['userid']) && is_array($_REQUEST['userid']) && count($_REQUEST['userid'])) $userids=implode(',',$_REQUEST['userid']);
else eval("acp_error(\"".gettemplate("error_selectnouser")."\");");
$users="";
$result=$db->query("SELECT userid, username FROM bb".$n."_users WHERE userid IN ($userids)");
if(!$db->num_rows($result)) eval("acp_error(\"".gettemplate("error_selectnouser")."\");");
while($row=$db->fetch_array($result)) {
if($users) $users.=", ".makehreftag("../profile.php?userid=$row[userid]&sid=$session[hash]",$row[
'username'],"_blank");
else $users=makehreftag("../profile.php?userid=$row[userid]&sid=$session[hash]",
$row['username'],"_blank");
}
eval("print(\"".gettemplate("modcp_users_email")."\");");
}
if($_REQUEST['mode']=="emailsend") eval("print(\"".gettemplate("modcp_users_emailsend")."\");");
}
?>
|