" ."" . $install_lang['die_message'] . "" ."" . $message . "" ."
"); } else { echo("" ."" ."" ."
"); } } function generate_config() { global $directory_mode, $file_mode, $install_lang, $next_step; if(@is_file('config.php')) { @unlink('config.php'); } $filename = "install/config_blank.php"; if(!$handle = @fopen ($filename, "r")) { $message = $install_lang['cant_open'] . " $filename"; message($message); } $contents = @fread ($handle, filesize ($filename)); @fclose ($handle); $contents = str_replace("%dbhost%", $_SESSION['dbhost'], $contents); $contents = str_replace("%dbname%", $_SESSION['dbname'], $contents); $contents = str_replace("%dbuname%", $_SESSION['dbuser'], $contents); $contents = str_replace("%dbpass%", $_SESSION['dbpass'], $contents); $contents = str_replace("%prefix%", $_SESSION['prefix'], $contents); $contents = str_replace("%user_prefix%", $_SESSION['user_prefix'], $contents); $contents = str_replace("%dbtype%", $_SESSION['dbtype'], $contents); $filename = "config.php"; if(!@touch ($filename)) { $DownloadData = true; } @chmod($filename, $directory_mode); if (@is_writable($filename)) { if (!$handle = @fopen($filename, 'a')) { $message = $install_lang['cant_open'] . " $filename"; return $message; } if (!@fwrite($handle, $contents)) { $message = $install_lang['cantwrite'] . " $filename"; return $message; } @fclose($handle); } else { $_SESSION['configData'] = $contents; echo("" ."" . $install_lang['general_message'] . "" ."" . $install_lang['config_failed'] . "" .""); return false; } return true; } function chmod_files() { global $directory_mode, $file_mode, $install_lang, $chmods; foreach ($chmods as $file) { $file = explode(" ", $file); $perm = $file[1]; $perm = str_replace("[", "", str_replace("]", "", $perm)); $file = $file[0]; if (!empty($file) && !empty($perm)) { if(!(substr($file,strlen($file)-1)=='/') && !@is_file($file)) { $message .="$file - " . $install_lang['is_missing'] . ""; $failed = true; continue; } $permission = "0".$perm; if (!@chmod($file, intval($permission,8))) { $message .="$file - " . $install_lang['failed'] . " CHMOD:($perm)"; $failed = true; } else { $message .="($perm) $file - " . $install_lang['success'] . ""; } } } if ($failed) { $message .="" . $install_lang['chmod_failed'] . ""; } return $message; } function check_required_files() { global $install_lang, $required_files; foreach($required_files as $file) { $file = @trim($file); #looping to make sure all required files are there.. if (!is_file($file)) { $message .= $install_lang['thefile'] . " \"" . $file . "\" " . $install_lang['is_missing']; } } #End the loop, check to see if any errors. if ($message) { message($message, true); } return; } function make_step_list() { global $step, $step_a, $install_lang; while(list($step_num, $label) = each($step_a)) { if ($step_num < $step) { $show .= "$label
"; } elseif ($step == $step_num) { $show .= "$label
"; } else { $show .="$label
"; } } return $show; } function validate_data($post) { global $step, $next_step, $install_lang, $server_check; $dbhost = ($_POST['dbhost']) ? $_POST['dbhost'] : $error .= "" . $install_lang['dbhost_error'] . ""; $dbname = ($_POST['dbname']) ? $_POST['dbname'] : $error .= "" . $install_lang['dbname_error'] . ""; $dbuser = ($_POST['dbuser']) ? $_POST['dbuser'] : $error .= "" . $install_lang['dbuser_error'] . ""; $dbpass = ($_POST['dbpass']) ? $_POST['dbpass'] : ''; $prefix = ($_POST['prefix']) ? $_POST['prefix'] : $error .= "" . $install_lang['prefix_error'] . ""; $user_prefix = ($_POST['user_prefix']) ? $_POST['user_prefix'] : $error .= "" . $install_lang['uprefix_error'] . ""; $dbtype = ($_POST['dbtype'] ) ? $_POST['dbtype'] : $error .= "" . $install_lang['dbtype_error'] . ""; if ($error) { $error .=""; return $error; } if (!($server_check = @mysql_connect($dbhost, $dbuser, $dbpass))) { $error .= "" . $install_lang['connection_failed'] . ""; } if (!(@mysql_select_db($dbname))) { $error .= "" . $install_lang['connection_failed2'] . ""; } //@mysql_close($server_check); if ($error) { $error .=""; return $error; } $_SESSION['dbhost'] = $dbhost; $_SESSION['dbname'] = $dbname; $_SESSION['dbuser'] = $dbuser; $_SESSION['dbpass'] = $dbpass; $_SESSION['prefix'] = $prefix; $_SESSION['user_prefix'] = $user_prefix; $_SESSION['dbtype'] = $dbtype; if (generate_config()) { $message .= "" . $install_lang['config_success'] . ""; $message .= "" . $install_lang['data_success'] . ""; $message .=" "; } else { //$message .= "" . $install_lang['config_failed'] . ""; } return $message; } function server_check() { global $install_lang, $server_check; $sql_ver = @mysql_get_server_info(); if(!empty($sql_ver)) { if(intval(substr($sql_ver,0,1)) <= 3) { $error .= "" . $install_lang['mysql_incorrect'] . ""; } } if (isset($_SESSION['dbtype'])) { if ($_SESSION['dbtype'] != "mysql") { $message .= "" . $install_lang['dbtype_que'] . ""; } } if (!isset($_SESSION['dbname']) || !isset($_SESSION['dbuser']) || !isset($_SESSION['dbpass']) || !isset($_SESSION['prefix']) || !isset($_SESSION['user_prefix']) || !isset($_SESSION['dbhost'])) { $message .= "" . $install_lang['session_lost'] . ""; } if(substr(PHPVERS,0,1) < "4") { $message .= "" . $install_lang['php_ver'] . " " .PHPVERS .""; } if (empty($message)) { $message .= "" . $install_lang['checks_good'] . ""; } @mysql_close($server_check); return $message; } function do_sql($install_file) { global $nuke_name, $next_step, $step, $install_lang, $prefix, $user_prefix; if(!$handle = @fopen ($install_file, "r")) { $message = $install_lang['cant_open'] . " ".$install_file; return $message; } $contents = @fread ($handle, filesize ($install_file)); @fclose ($handle); $filename = $install_file; $filesize = filesize($filename); $file_position = isset($HTTP_GET_VARS['pos']) ? $HTTP_GET_VARS['pos'] : 0; $errors = isset($HTTP_GET_VARS['ignore_errors']) ? 0 : 1; if (!$fp = @fopen($filename,'rb')) { echo $install_lang['cant_open'] . " $filename"; } $buffer = ''; $inside_quote = 0; $quote_inside = ''; $started_query = 0; $data_buffer = ''; $last_char = "\n"; @fseek($fp,$file_position); while ((!feof($fp) || strlen($buffer))) { do { if (!strlen($buffer)) { $buffer .= fread ($fp,1024); } $current_char = $buffer[0]; $buffer = substr($buffer, 1); if ($started_query) { $data_buffer .= $current_char; } elseif (preg_match("/[A-Za-z]/i",$current_char) && $last_char == "\n") { $started_query = 1; $data_buffer = $current_char; } else { $last_char = $current_char; } } while (!$started_query && (!feof($fp) || strlen($buffer))); if ($inside_quote && $current_char == $quote_inside && $last_char != '\\') { $inside_quote = 0; } elseif ($current_char == '\\' && $last_char == '\\') { $current_char = ''; } elseif (!$inside_quote && ($current_char == '"' || $current_char == '`' || $current_char == '\'')) { $inside_quote = 1; $quote_inside = $current_char; } elseif (!$inside_quote && $current_char == ';') { if($user_prefix != "nuke" && !empty($user_prefix)) { $data_buffer = str_replace("`nuke_users`", "`" . $user_prefix . "_users`", $data_buffer); } if($prefix != "nuke" && !empty($prefix)) { $data_buffer = str_replace("`nuke_", "`".$prefix."_", $data_buffer); } @mysql_query($data_buffer); if ($errors && mysql_errno()) { $message .= "" . $install_lang['sql_error'] . mysql_errno().": ".mysql_error()."
".$data_buffer.""; } $data_buffer = ''; $last_char = "\n"; $started_query = 0; } $last_char = $current_char; } $new_position = ftell($fp) - strlen($buffer) - strlen($data_buffer); @fclose($fp); if (empty($message)) { $message = "" . $install_lang['install_success'] . ""; } else { $message .= ""; } return $message; } function site_form($display = 1) { global $install_lang, $HTTP_POST_VARS; $sql = "SELECT * FROM " . $_SESSION['prefix'] . "_bbconfig"; if(!$result = mysql_query($sql)) { $error .= "" . $install_lang['get_config_error'] . mysql_error() . ""; } while( $row = @mysql_fetch_assoc($result) ) { $config_name = $row['config_name']; $config_value = $row['config_value']; $default_config[$config_name] = isset($HTTP_POST_VARS['submit']) ? str_replace("'", "\'", $config_value) : $config_value; $new[$config_name] = ( isset($HTTP_POST_VARS[$config_name]) ) ? $HTTP_POST_VARS[$config_name] : $default_config[$config_name]; if ($config_name == 'cookie_name') { $cookie_name = str_replace('.', '_', $new['cookie_name']); } if( isset($HTTP_POST_VARS['submit']) ) { $sql = "UPDATE " . $_SESSION['prefix'] . "_bbconfig SET config_value = '" . str_replace("\'", "''", $new[$config_name]) . "' WHERE config_name = '$config_name'"; if( !mysql_query($sql) ) { $error .="" . $install_lang['update_fail'] . " $config_name
" . mysql_error() . ""; return $error; } if($config_name == "server_name") { $sql = "UPDATE " . $_SESSION['prefix'] . "_config SET nukeurl = 'http://" . str_replace("\'", "''", $new[$config_name]) . "'"; if( !mysql_query($sql) ) { $error .="" . $install_lang['update_fail'] . " $config_name
" . mysql_error() . ""; return $error; } } } } if (!empty($display)) { $form .=" " . $install_lang['sitename'] . " "; $form .=" " . $install_lang['sitedescr'] . " "; $form .=" " . $install_lang['cookie_name'] . " "; $form .=" " . $install_lang['cookie_path'] . " "; $form .=" " . $install_lang['cookie_domain'] . " "; $namechange_checked = ($new['allow_namechange']) ? "checked" : ""; $namechange_not_checked = (!$new['allow_namechange']) ? "checked" : ""; $form .=" " . $install_lang['namechange'] . " " . $install_lang['yes'] . " " . $install_lang['no'] . " "; $form .=" " . $install_lang['email_sig'] . " "; $form .=" " . $install_lang['site_email'] . " "; $form .=" " . $install_lang['default_lang'] . " " . language_select('english', 'default_lang') . ""; $form .=" " . $install_lang['server_name'] . " "; $form .=" " . $install_lang['server_port']. " "; return $form; } else { return; } } ?>