1,"ftp_pasv"=>1,"email_use"=>1,"import_error"=>2,"no_login"=>2,"ftp_del"=>1,"dir_backup"=>2,"dir_rec"=>2,"login"=>2); // check if all configuration settings are available // login, stylesheet and lang are checked before if (!isset($CONF['sitename'])) $CONF['sitename']=''; if (!isset($CONF['ftp_use'])) $CONF['ftp_use']=''; if (!isset($CONF['ftp_server'])) $CONF['ftp_server']=''; if (!isset($CONF['ftp_user'])) $CONF['ftp_user']=''; if (!isset($CONF['sql_passwd'])) $CONF['sql_passwd']=''; if (!isset($CONF['sql_host'])) $CONF['sql_host']=''; if (!isset($CONF['sql_user'])) $CONF['sql_user']=''; if (!isset($CONF['sql_db'])) $CONF['sql_db']=''; if (!isset($CONF['ftp_passwd'])) $CONF['ftp_passwd']=''; if (!isset($CONF['ftp_path'])) $CONF['ftp_path']=''; if (!isset($CONF['ftp_pasv'])) $CONF['ftp_pasv']=''; if (!isset($CONF['ftp_port'])) $CONF['ftp_port']=''; if (!isset($CONF['ftp_del'])) $CONF['ftp_del']=''; if (!isset($CONF['email_use'])) $CONF['email_use']=''; if (!isset($CONF['email'])) $CONF['email']=''; if (!isset($CONF['date'])) $CONF['date']=''; if (!isset($CONF['del_time'])) $CONF['del_time']=''; if (!isset($CONF['del_number'])) $CONF['del_number']=''; if (!isset($CONF['timelimit'])) $CONF['timelimit']=''; if (!isset($CONF['confirm'])) $CONF['confirm']=''; if (!isset($CONF['import_error'])) $CONF['import_error']=''; if (!isset($CONF['no_login'])) $CONF['no_loginxxxx']=''; if (!isset($CONF['dir_backup'])) $CONF['dir_backup']=''; if (!isset($CONF['dir_rec'])) $CONF['dir_rec']=''; // if save button was clicked if (isset($_POST['submit'])) { // configurations if (isset($_POST['sql_host']) || isset($_POST['del_time'])) { // first set all check boxes of the selected configuration tab to "0" foreach ($checkbox as $item=>$page) { // checkboxes on extended configurations if ($page=="2" && isset($_GET['ext'])) $CONF[$item]="0"; // checkboxes on basic configurations elseif($page=="1" && !isset($_GET['ext'])) $CONF[$item]="0"; } // update $CONF foreach($CONF as $item=>$value) { // don't save settings for several servers in conf.php if ($item=="sql_host_s" || $item=="sql_user_s" || $item=="sql_passwd_s" || $item=="sql_db_s") continue; // don't save data of settings the user isn't allowed to change if ($_SESSION['multi_user_mode']) { if ($item=="sitename" && $PMBP_MU_CONF['sitename']) continue; if (($item=="email_use"|$item=="email") && !$PMBP_MU_CONF['allow_email']) continue; if (!$PMBP_MU_CONF['allow_ftp'] && !$PMBP_MU_CONF['allow_dir_backup']) { if ($item=="ftp_server") continue; if ($item=="ftp_user") continue; if ($item=="ftp_passwd") continue; if ($item=="ftp_path") continue; if ($item=="ftp_pasv") continue; if ($item=="ftp_port") continue; if ($item=="ftp_use") continue; if ($item=="dir_backup") continue; if ($item=="dir_rec") continue; } if ($PMBP_MU_CONF['allow_dir_backup']) { if ($item=="dir_backup") continue; if ($item=="dir_rec") continue; } if ($PMBP_MU_CONF['allow_ftp']) { if ($item=="ftp_use") continue; } } // check if the value was posted if (isset($_POST[$item])) { if (isset($checkbox[$item])) { $CONF[$item]=1; } else { $CONF[$item]=$_POST[$item]; } } } // system variables } else { foreach($_POST as $key=>$value) { if ($key!="submit") $PMBP_SYS_VAR[$key]=$value; } } // save $CONF to global_conf.php if (PMBP_save_global_conf()) { $out="
".C_SAVED."!
\n"; } else { $out="
".PMBP_GLOBAL_CONF." ".C_WRITEABLE."!
\n"; } } PMBP_print_header(ereg_replace(".*/","",$_SERVER['SCRIPT_NAME'])); if (isset($out)) echo $out; // validation type of some variables $validate=array('timelimit'=>"int",'del_time'=>"float",'email'=>"email",'ftp_port'=>"int"); $conf=array(C_TIMELIMIT=>"timelimit",C_FTP_PORT=>"ftp_port",C_DEL_TIME=>"del_time",C_EMAIL=>"email"); // validate foreach($CONF as $key=>$value) { if (array_key_exists($key,$validate)) { switch($validate[$key]) { case "int": if (!eregi("^[0-9]*$",$value)) echo "
'".array_search($key,$conf)."' ".C_WRONG_TYPE."
\n"; break; case "float": if (!eregi("^[0-9]*\.?[0-9]*$",$value)) echo "
'".array_search($key,$conf)."' ".C_WRONG_TYPE."
\n"; break; case "email": if ($value||$CONF['email_use']) { foreach(explode(",",$value) as $value2) { if (!eregi("^\ *[äöüÄÖÜa-zA-Z0-9_-]+(\.[äöüÄÖÜa-zA-Z0-9\._-]+)*@([äöüÄÖÜa-zA-Z0-9-]+\.)+([a-z]{2,4})$",$value2)) { echo "
'".array_search($key,$conf)."' ".C_WRONG_TYPE."
\n"; break; } } } break; } } } // if no db connection possible if (isset($_SESSION['sql_host_org'])) { if (!@mysql_connect($_SESSION['sql_host_org'],$_SESSION['sql_user_org'],$_SESSION['sql_passwd_org'])) echo "
".C_WRONG_SQL."
"; if ($_SESSION['sql_db_org']) if (!@mysql_select_db($_SESSION['sql_db_org'])) echo "
".C_WRONG_DB."
"; } else { if (!@mysql_connect($CONF['sql_host'],$CONF['sql_user'],$CONF['sql_passwd'])) echo "
".C_WRONG_SQL."
"; if ($CONF['sql_db']) if (!@mysql_select_db($CONF['sql_db'])) echo "
".C_WRONG_DB."
"; } // only if 'good internet connection' and if no ftp connection possible if ($CONF['ftp_use'] || $CONF['dir_backup']) { if (!$CONF['ftp_server']) { echo "
".C_WRONG_FTP."
"; // check only if internet connection seems to be good } elseif(!$_SESSION['PMBP_VERSION']) { if (!$conn_id=@ftp_connect($CONF['ftp_server'],$CONF['ftp_port'],$PMBP_SYS_VAR['ftp_timeout'])) echo "
".C_WRONG_FTP."
"; } } // print configuration selection if (!$_SESSION['multi_user_mode']) { if (isset($_GET['ext'])) echo "
".C_BASIC_VAL." | ".C_EXT_VAL." | ".PMBP_C_SYSTEM_VAL."
"; elseif(isset($_GET['sys'])) echo "
".C_BASIC_VAL." | ".C_EXT_VAL." | ".PMBP_C_SYSTEM_VAL."
\n"; else echo "
".C_BASIC_VAL." | ".C_EXT_VAL." | ".PMBP_C_SYSTEM_VAL."
\n"; } // print html code if (isset($_GET['ext'])) echo "
\n"; elseif(isset($_GET['sys'])) echo "
\n"; else echo "
\n"; echo "\n"; if ($_SESSION['multi_user_mode']) { // configurations in mu user mode echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; if (!$PMBP_MU_CONF['sitename']) { echo "\n"; } else { echo "\n"; } echo ""; if ($PMBP_MU_CONF['allow_email']) { echo "\n"; echo "\n"; } else { echo "\n"; } echo ""; echo "\n"; echo "\n"; if ($PMBP_MU_CONF['allow_email']) { echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; } echo ""; if ($PMBP_MU_CONF['allow_ftp'] || $PMBP_MU_CONF['allow_dir_backup']) { echo "\n"; echo ""; if ($PMBP_MU_CONF['allow_ftp']) { echo "\n"; } else { echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; } echo "\n"; echo ""; echo "\n"; echo "\n"; if ($PMBP_MU_CONF['allow_dir_backup']) { echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; } echo ""; } elseif (isset($_GET['ext'])) { echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; } elseif(isset($_GET['sys'])) { echo "
".PMBP_C_SYS_WARNING."

"; $i=0; foreach($PMBP_SYS_VAR as $key=>$value) { if ($i%2==0) echo "\n"; echo "\n"; if ($i%2==1) echo ""; $i++; } if ($i%2) echo "\n"; } else { echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; } echo "\n
 
".C_LANG."*:".PMBP_config_print("lang")."".C_DATE."*:".PMBP_config_print("date")."".C_STYLESHEET."*:".PMBP_config_print("stylesheet")."".C_SITENAME."*:".PMBP_config_print("sitename")."  

".C_TITLE_DELETE."



".C_TITLE_EMAIL."



".C_TITLE_DELETE."


".C_DEL_TIME.":".PMBP_config_print("del_time")."".C_DEL_NUMBER.":".PMBP_config_print("del_number")."".C_EMAIL_USE.":".PMBP_config_print("email_use")."".C_EMAIL.":".PMBP_config_print("email")."    

".C_TITLE_FTP."


".C_FTP_USE.":".PMBP_config_print("ftp_use")."  ".C_FTP_SERVER.":".PMBP_config_print("ftp_server")."".C_FTP_USER.":".PMBP_config_print("ftp_user")."".C_FTP_PASSWD.":".PMBP_config_print("ftp_passwd")."
".C_FTP_PATH.":".PMBP_config_print("ftp_path")."".C_FTP_PASV.":".PMBP_config_print("ftp_pasv")."".C_FTP_PORT.":".PMBP_config_print("ftp_port")."".C_FTP_DEL.":".PMBP_config_print("ftp_del")."

".C_TITLE_CONFIG."


".C_TIMELIMIT." (".F_SECONDS.")*:".PMBP_config_print("timelimit")."".C_CONFIRM."*:".PMBP_config_print("confirm")."".C_DIR_BACKUP.":".PMBP_config_print("dir_backup")."".C_DIR_REC.":".PMBP_config_print("dir_rec")."    

".C_TITLE_STYLE."


".C_STYLESHEET."*:".PMBP_config_print("stylesheet")."".C_DATE."*:".PMBP_config_print("date")."".C_LOGIN."*:".PMBP_config_print("login")."  

".C_TITLE_DELETE."


".C_DEL_TIME.":".PMBP_config_print("del_time")."".C_DEL_NUMBER.":".PMBP_config_print("del_number")."    

".C_TITLE_CONFIG."


".C_TIMELIMIT." (".F_SECONDS.")*:".PMBP_config_print("timelimit")."".C_CONFIRM."*:".PMBP_config_print("confirm")."".C_IMPORT_ERROR.":".PMBP_config_print("import_error")."  
".C_DIR_BACKUP.":".PMBP_config_print("dir_backup")."".C_DIR_REC.":".PMBP_config_print("dir_rec")."[".C_NO_LOGIN.":".PMBP_config_print("no_login")."]  
".$key.":
 
".C_SITENAME."*:".PMBP_config_print("sitename")."".C_LANG."*:".PMBP_config_print("lang")."    

".C_TITLE_SQL."


".C_SQL_HOST."*:".PMBP_config_print("sql_host")."".C_SQL_USER."*:".PMBP_config_print("sql_user")."".C_SQL_PASSWD."*:".PMBP_config_print("sql_passwd")."".C_SQL_DB.":".PMBP_config_print("sql_db")."

".C_TITLE_FTP."


".C_FTP_USE.":".PMBP_config_print("ftp_use")."".C_FTP_SERVER.":".PMBP_config_print("ftp_server")."".C_FTP_USER.":".PMBP_config_print("ftp_user")."".C_FTP_PASSWD.":".PMBP_config_print("ftp_passwd")."
".C_FTP_PATH.":".PMBP_config_print("ftp_path")."".C_FTP_PASV.":".PMBP_config_print("ftp_pasv")."".C_FTP_PORT.":".PMBP_config_print("ftp_port")."".C_FTP_DEL.":".PMBP_config_print("ftp_del")."

".C_TITLE_EMAIL."


".C_EMAIL_USE.":".PMBP_config_print("email_use")."".C_EMAIL.":".PMBP_config_print("email")."    
\n
\n
"; PMBP_print_footer(); // two functions only used in config.php // returns the html code for the different configuration items and controls function PMBP_config_print($item) { global $CONF; // vars whos type is checkbox, password, select or a filelist global $checkbox; $password=array("sql_passwd","ftp_passwd"); $select['confirm']=array(C_CONFIRM_1,C_CONFIRM_2,C_CONFIRM_3,C_CONFIRM_4); $time=time(); $select['date']=array(BD_DATE_FORMAT=>strftime(BD_DATE_FORMAT,$time), "%x %X"=>strftime("%x %X",$time),"%x %H:%M"=>strftime("%x %H:%M",$time), "%m/%d/%y %X"=>strftime("%m/%d/%y %X",$time),"%m/%d/%y %H:%M"=>strftime("%m/%d/%y %H:%M",$time), "%b %d %Y %X"=>strftime("%b %d %Y %X",$time),"%b %d %Y %H:%M"=>strftime("%b %d %Y %H:%M",$time), "%Y/%m/%d %X"=>strftime("%Y/%m/%d %X",$time),"%Y/%m/%d %H:%M"=>strftime("%Y/%m/%d %H:%M",$time)); $filelist['lang']=array(PMBP_LANGUAGE_DIR,".inc.php"); $filelist['stylesheet']=array(PMBP_STYLESHEET_DIR,".css"); // create the html code if (isset($checkbox[$item])) { if ($CONF[$item]) $status=" checked"; else $status=" "; $out=""; } elseif (in_array($item,$password)) { $out=""; } elseif (isset($select[$item])) { $out=""; } elseif(isset($filelist[$item])) { $files=FALSE; $handle=opendir("./".$filelist[$item][0]); while ($file=readdir($handle)) if (substr($file,-(strlen($filelist[$item][1])),strlen($filelist[$item][1]))==$filelist[$item][1]) $files[]=substr($file,0,strlen($file)-strlen($filelist[$item][1])); $out=""; } else { $out="
"; } return $out; } // checks if a item should be disabled and returns the code to disable it function PMBP_config_disable($item) { global $CONF; global $PMBP_SYS_VAR; global $PMBP_MU_CONF; // availability check for some functions $disable=array('ftp_use'=>"!function_exists(\"ftp_connect\")",'ftp_server'=>"!function_exists(\"ftp_connect\")", 'ftp_user'=>"!function_exists(\"ftp_connect\")",'ftp_passwd'=>"!function_exists(\"ftp_connect\")", 'ftp_path'=>"!function_exists(\"ftp_connect\")",'ftp_pasv'=>"!function_exists(\"ftp_connect\")", 'ftp_port'=>"!function_exists(\"ftp_connect\")",'email_use'=>"!function_exists(\"mail\")",'email'=>"!function_exists(\"mail\")", 'no_login'=>($_SESSION['multi_user_mode'] || $CONF['login'])?1:0, 'timelimit'=>"ini_get(\"safe_mode\")"); // disable selected items due to system restrictions $out=""; if (isset($disable[$item])) { if (eval("return(".$disable[$item].");")) $out=" disabled"; // special case 'timelimit' if ($item=="timelimit" && $out) { $timelimit=ini_get("max_execution_time"); if ($CONF['timelimit']!=$timelimit) { $CONF['timelimit']=$timelimit; PMBP_save_global_conf(); } } } return $out; } ?>