open(\$dbName, \$dbServer, \$dbUser, \$dbPass);\n";
$data.=" \$q = new query(\$DB); //dummy query for generic operations\n";
$data.="\n";
$data.="// master information\n";
$data.=" \$Password='$Password';\n";
$data.=" \$nDisplay='$nDisplay';\n";
$data.=" \$default_email='$default_email';\n";
$data.=" \$UseCookies='$UseCookies';\n";
$data.=" \$sortforums='$sortforums';\n";
$data.="\n";
$data.=" \$forum_url='$forum_url';\n";
$data.=" \$ext='$ext';\n";
$data.=" \$forum_page='$forum_page';\n";
$data.=" \$list_page='$list_page';\n";
$data.=" \$search_page='$search_page';\n";
$data.=" \$read_page='$read_page';\n";
$data.=" \$post_page='$post_page';\n";
$data.=" \$violation_page='$violation_page';\n";
$data.=" \$down_page='$down_page';\n";
$data.=" \$default_lang='$default_lang';\n";
$data.=" \$default_table_width='$default_table_width';\n";
$data.=" \$default_table_header_color='$default_table_header_color';\n";
$data.=" \$default_table_header_font_color='$default_table_header_font_color';\n";
$data.=" \$default_table_body_color_1='$default_table_body_color_1';\n";
$data.=" \$default_table_body_font_color_1='$default_table_body_font_color_1';\n";
$data.=" \$default_table_body_color_2='$default_table_body_color_2';\n";
$data.=" \$default_table_body_font_color_2='$default_table_body_font_color_2';\n";
$data.=" \$default_nav_color='$default_nav_color';\n";
$data.=" \$default_nav_font_color='$default_nav_font_color';\n";
$data.="\n";
$data.="// forum information\n";
$data.="\n";
@reset($forums);
$forum=@current($forums);
While(is_array($forum)){
$key=key($forums);
$line[$forum["name"]] =' // '.$forum["name"].' forum'."\n";
$line[$forum["name"]].=" \$forums['$key']['id']=$key;\n";
$line[$forum["name"]].=" \$forums['$key']['active']=".$forum["active"].";\n";
$line[$forum["name"]].=" \$forums['$key']['name']='".str_replace("'", "\\'", $forum["name"])."';\n";
$line[$forum["name"]].=" \$forums['$key']['table']='".$forum["table"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['mod']='".$forum["mod"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['mod_pass']='".$forum["mod_pass"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['email_mod']='".$forum["email_mod"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['description']='".str_replace("'", "\\'", $forum["description"])."';\n";
$line[$forum["name"]].=" \$forums['$key']['multi_level']='".$forum["multi_level"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['collapse']='".$forum["collapse"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['staff_host']='".str_replace("'", "\\'", $forum["staff_host"])."';\n";
$line[$forum["name"]].=" \$forums['$key']['lang']='".$forum["lang"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['html']='".$forum["html"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['table_width']='".$forum["table_width"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['table_header_color']='".$forum["table_header_color"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['table_header_font_color']='".$forum["table_header_font_color"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['table_body_color_1']='".$forum["table_body_color_1"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['table_body_font_color_1']='".$forum["table_body_font_color_1"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['table_body_color_2']='".$forum["table_body_color_2"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['table_body_font_color_2']='".$forum["table_body_font_color_2"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['nav_color']='".$forum["nav_color"]."';\n";
$line[$forum["name"]].=" \$forums['$key']['nav_font_color']='".$forum["nav_font_color"]."';\n\n";
$forum=next($forums);
}
if(isset($line)){
if($sortforums) ksort($line);
$line=implode($line, "");
$data.=$line;
}
$section=' if(is_array($forums) && $num>0){
$ForumName=$forums["$num"]["name"];
$TableName=$forums["$num"]["table"];
$BodiesTable=$TableName."_bodies";
$Mod=$forums["$num"]["mod"];
$ModPass=$forums["$num"]["mod_pass"];
$EmailModerator=$forums["$num"]["email_mod"];
$Description=$forums["$num"]["description"];
$MultiLevel=$forums["$num"]["multi_level"];
$Collapsed=$forums["$num"]["collapse"];
$StaffHost=$forums["$num"]["staff_host"];
$ForumLang=$forums["$num"]["lang"];
$AllowHtml=$forums["$num"]["html"];
$TableWidth=$forums["$num"]["table_width"];
$TableHeaderColor=$forums["$num"]["table_header_color"];
$TableHeaderFontColor=$forums["$num"]["table_header_font_color"];
$TableBodyColor1=$forums["$num"]["table_body_color_1"];
$TableBodyFontColor1=$forums["$num"]["table_body_font_color_1"];
$TableBodyColor2=$forums["$num"]["table_body_color_2"];
$TableBodyFontColor2=$forums["$num"]["table_body_font_color_2"];
$NavColor=$forums["$num"]["nav_color"];
$NavFontColor=$forums["$num"]["nav_font_color"];
}
if($ForumLang!=""){
include "./".$forums["$num"]["lang"];
}
else{
include "./".$default_lang;
}';
$data.="\n";
$data.=$section;
$data.="\n";
$data.="?>";
$fp = fopen("$inf_file", "w");
fputs($fp, $data);
fclose($fp);
}
if($step==1){
if($ForumName!=''){
if($password!=$ModPass && $password!=$Password){
$num='';
$step=0;
$option="";
$message="Invalid Password";
}
}
else{
if($password!=$Password){
$num='';
$step=0;
$option="";
$message="Invalid Password";
}
}
}
if($option=="pass"){
if($newPassword==$confirm){
$message="Password Changed.";
$Password=$newPassword;
writefile();
$step=0;
}
else{
$message="Passwords do not match.";
$step=1;
$num="pass";
}
}
if($option=="activate"){
$forums[$num]["active"]=1;
writefile();
$step=1;
}
if($option=="deactivate"){
$forums[$num]["active"]=0;
writefile();
$step=1;
}
if($option=="drop"){
$sSQL="DROP TABLE ".$TableName;
$q->query($DB, $sSQL);
$sSQL="DROP TABLE ".$BodiesTable;
$q->query($DB, $sSQL);
if($DB->type=="mysql"){
$sSQL="DROP TABLE ".$TableName."_seq";
$q->query($DB, $sSQL);
}
elseif($DB->type=="postgresql"){
$sSQL="DROP SEQUENCE ".$TableName."_seq";
$q->query($DB, $sSQL);
}
unset($forums[$num]);
writefile();
$step=0;
}
if($option=="seq"){
if($DB->type=="mysql"){
$sSQL="Select max(id) as id from ".$TableName;
$q->query($DB, $sSQL);
if($q->numrows()){
$id=$q->field("id", 0);
$sSQL="Replace into ".$TableName."_seq values ('', $id+1)";
$q->query($DB, $sSQL);
$message="Sequence reset to $id.";
}
else{
$message="Sequence not set, forum empty.";
}
}
else{
$message="This only applies to MySQL databases.";
}
$step=1;
}
switch($num){
case "down":
$down=1;
writefile();
$step=0;
$message="The forum is now down.";
break;
case "up":
$down=0;
writefile();
$step=0;
$message="The forum is back up.";
break;
case "build":
writefile();
$step=0;
$num=0;
$message="INF File Rebuilt.";
break;
case "checkdb":
$step=0;
$num=0;
if($DB->connect_id>0){
$message="Database connection established.";
}
else{
$message="Could not establish database connection.";
}
break;
}
if($action!=""){
switch($action){
case "master":
if($nDisplay==0){
$nDisplay="0";
}
$nDisplay=$new_nDisplay;
$dbName=$new_dbName;
$dbUser=$new_dbUser;
$dbPass=$new_dbPass;
$dbServer=$new_dbServer;
$default_email=$new_default_email;
$UseCookies=$new_UseCookies;
$sortforums=$new_sortforums;
$forum_url=$new_forum_url;
$ext=$new_ext;
$forum_page=$new_forum_page;
$list_page=$new_list_page;
$search_page=$new_search_page;
$read_page=$new_read_page;
$post_page=$new_post_page;
$violation_page=$new_violation_page;
$down_page=$new_down_page;
$default_lang=$new_default_lang;
$default_table_width=$new_default_table_width; $default_table_width=$new_default_table_width;
$default_table_header_color=$new_default_table_header_color;
$default_table_header_font_color=$new_default_table_header_font_color;
$default_table_body_color_1=$new_default_table_body_color_1;
$default_table_body_font_color_1=$new_default_table_body_font_color_1;
$default_table_body_color_2=$new_default_table_body_color_2;
$default_table_body_font_color_2=$new_default_table_body_font_color_2;
$default_nav_color=$new_default_nav_color;
$default_nav_font_color=$new_default_nav_font_color;
writefile();
$step=0;
$message="The Master forum info has been updated.";
break;
case "edit":
if(!get_cfg_var("magic_quotes_gpc")){
$author = addslashes($author);
$email = addslashes($email);
$subject = addslashes($subject);
$body = addslashes($body);
}
$sSQL="Update $TableName set author='$author', email='$email', subject='$subject' where id=$id";
$q->query($DB, $sSQL);
$sSQL="Update $BodiesTable set body='$body' where id=$id";
$q->query($DB, $sSQL);
$message="Message $id updated!";
$step=1;
break;
case "del":
if($type=="id"){
$sSQL = "Select id from $TableName where id in ($id) and id=thread";
$q->query($DB, $sSQL);
$rec=$q->getrow();
$delthreads='';
While($rec){
if($delthreads) $delthreads.=',';
$delthreads.=$rec["id"];
$rec=$q->getrow();
}
if(strstr($id, ",")){
$ids=explode(",", $id);
}
else{
$ids[0]=$id;
}
$cnt=count($ids);
$delids='';
for($x=0;$x<$cnt;$x++){
if(!strstr($delthreads, $ids[$x])){
if($delids) $delids.=',';
$delids.=$ids[$x];
}
}
}
else{
$delthreads=$id;
$delids=0;
}
if($delids){
$sSQL = "Delete from $TableName where id in ($delids)";
$q->query($DB, $sSQL);
$sSQL = "Delete from $BodiesTable where id in ($delids)";
$q->query($DB, $sSQL);
$message="Id(s) $delids deleted!
";
}
if($delthreads){
$sSQL = "Delete from $TableName where thread in ($delthreads)";
$q->query($DB, $sSQL);
$sSQL = "Delete from $BodiesTable where thread in ($delthreads)";
$q->query($DB, $sSQL);
$message.="Thread(s) $delthreads deleted!";
}
$step=1;
break;
case "add":
if(!$table_exists) $err=create_table($DB, "main", $table);
if($err==""){
if(!$table_exists) $err=create_table($DB, "bodies", $table);
if($err==""){
if($name!=""){
if($mod_pass!="" && $mod_pass==$mod_pass_2){
if(is_array($forums)){
ksort($forums);
@end($forums);
$key=@key($forums);
}
$newkey=$key+1;
$dummy["id"]=$newkey;
$dummy["active"]=0;
$name=stripslashes($name);
$dummy["name"]=$name;
$dummy["table"]=$table;
$dummy["mod"]=$mod;
$dummy["mod_pass"]=$mod_pass;
$dummy["email_mod"]=$email_mod;
$description=stripslashes($description);
$dummy["description"]=$description;
$dummy["multi_level"]=$multi_level;
$dummy["collapse"]=$collapsed;
$staff_host=stripslashes($staff_host);
$dummy["staff_host"]=$staff_host;
$dummy["lang"]=$lang;
$dummy["html"]=$html;
$dummy["table_width"]=$table_width;
$dummy["table_header_color"]=$table_header_color;
$dummy["table_header_font_color"]=$table_header_font_color;
$dummy["table_body_color_1"]=$table_body_color_1;
$dummy["table_body_font_color_1"]=$table_body_font_color_1;
$dummy["table_body_color_2"]=$table_body_color_2;
$dummy["table_body_font_color_2"]=$table_body_font_color_2;
$dummy["nav_color"]=$nav_color;
$dummy["nav_font_color"]=$nav_font_color;
$forums["$newkey"]=$dummy;
writefile();
$message="$name created";
$step=0;
}
else{
$sSQL="drop table $table";
if(!$table_exists) $q->query($DB, $sSQL);
$sSQL="drop table $table"."_bodies";
if(!$table_exists) $q->query($DB, $sSQL);
$message="Either you did not provide a password or the passwords did not match.";
$step=1;
$num="new";
}
}
else{
$sSQL="drop table $table";
if(!$table_exists) $q->query($DB, $sSQL);
$sSQL="drop table $table"."_bodies";
if(!$table_exists) $q->query($DB, $sSQL);
$message="You must provide a name for the forum.";
$step=1;
$num="new";
}
}
else{
$sSQL="drop table $table";
if(!$table_exists) $q->query($DB, $sSQL);
$message=$err;
$step=1;
$num="new";
}
}
else{
$message=$err;
$step=1;
$num="new";
}
break;
case "edit_prop":
if($name!=""){
if($mod_pass==""){
$mod_pass=$forums["$key"]["mod_pass"];
}
else{
if($mod_pass!=$mod_pass_2){
$message="Either you did not provide a password or the passwords did not match.";
$option=="edit_props";
}
}
if($message==""){
if($forums["$key"]["table"]!=$table){
$sSQL="ALTER TABLE ".$forums["$key"]["table"]." RENAME $table";
if(!$table_exists) $q->query($DB, $sSQL);
$err=$q->error();
if($err==""){
$sSQL="ALTER TABLE ".$forums["$key"]["table"]."_bodies RENAME ".$table."_bodies";
if(!$table_exists) $q->query($DB, $sSQL);
$err=$q->error();
}
}
if($err==""){
$name=stripslashes($name);
$forums["$key"]["name"]=$name;
$forums["$key"]["table"]=$table;
$forums["$key"]["mod"]=$mod;
$forums["$key"]["mod_pass"]=$mod_pass;
$forums["$key"]["email_mod"]=$email_mod;
$description=stripslashes($description);
$forums["$key"]["description"]=$description;
$forums["$key"]["multi_level"]=$multi_level;
$forums["$key"]["collapse"]=$collapsed;
$staff_host=stripslashes($staff_host);
$forums["$key"]["staff_host"]=$staff_host;
$forums["$key"]["lang"]=$lang;
$forums["$key"]["html"]=$html;
$forums["$key"]["table_width"]=$table_width;
$forums["$key"]["table_header_color"]=$table_header_color;
$forums["$key"]["table_header_font_color"]=$table_header_font_color;
$forums["$key"]["table_body_color_1"]=$table_body_color_1;
$forums["$key"]["table_body_font_color_1"]=$table_body_font_color_1;
$forums["$key"]["table_body_color_2"]=$table_body_color_2;
$forums["$key"]["table_body_font_color_2"]=$table_body_font_color_2;
$forums["$key"]["nav_color"]=$nav_color;
$forums["$key"]["nav_font_color"]=$nav_font_color;
writefile();
$step=1;
$num=$key;
$message="$name updated successfully.";
}
else{
$message=$err;
$option=="edit_props";
}
}
}
else{
$message="You must provide a name for the forum.";
$option=="edit_props";
}
break;
}
}
?>
\n"; $q->query($DB, $sSQL); list($author, $email, $subject, $body) = $q->getrow(); ?>