"
."
" . $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;
}
}
?>