Esempio n. 1
0
function initialize_inputs()
{
    global $databases, $incontext;
    // Just so people using older versions of PHP aren't left in the cold.
    if (!isset($_SERVER['PHP_SELF'])) {
        $_SERVER['PHP_SELF'] = isset($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']) ? $GLOBALS['HTTP_SERVER_VARS']['PHP_SELF'] : 'install.php';
    }
    // Turn off magic quotes runtime and enable error reporting.
    if (function_exists('set_magic_quotes_runtime')) {
        @set_magic_quotes_runtime(0);
    }
    error_reporting(E_ALL);
    // Fun.  Low PHP version...
    if (!isset($_GET)) {
        $GLOBALS['_GET']['step'] = 0;
        return;
    }
    if (!isset($_GET['obgz'])) {
        ob_start();
        if (@ini_get('session.save_handler') == 'user') {
            @ini_set('session.save_handler', 'files');
        }
        if (function_exists('session_start')) {
            @session_start();
        }
    } else {
        ob_start('ob_gzhandler');
        if (@ini_get('session.save_handler') == 'user') {
            @ini_set('session.save_handler', 'files');
        }
        session_start();
        if (!headers_sent()) {
            echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>', htmlspecialchars($_GET['pass_string']), '</title>
	</head>
	<body style="background-color: #d4d4d4; margin-top: 16%; text-align: center; font-size: 16pt;">
		<strong>', htmlspecialchars($_GET['pass_string']), '</strong>
	</body>
</html>';
        }
        exit;
    }
    // Are we calling the backup css file?
    if (isset($_GET['infile_css'])) {
        header('Content-Type: text/css');
        template_css();
        exit;
    }
    // Anybody home?
    if (!isset($_GET['xml'])) {
        $incontext['remote_files_available'] = false;
        $test = @fsockopen('www.simplemachines.org', 80, $errno, $errstr, 1);
        if ($test) {
            $incontext['remote_files_available'] = true;
        }
        @fclose($test);
    }
    // Add slashes, as long as they aren't already being added.
    if (!function_exists('get_magic_quotes_gpc') || @get_magic_quotes_gpc() == 0) {
        foreach ($_POST as $k => $v) {
            $_POST[$k] = addslashes($v);
        }
    }
    // This is really quite simple; if ?delete is on the URL, delete the installer...
    if (isset($_GET['delete'])) {
        if (isset($_SESSION['installer_temp_ftp'])) {
            $ftp = new ftp_connection($_SESSION['installer_temp_ftp']['server'], $_SESSION['installer_temp_ftp']['port'], $_SESSION['installer_temp_ftp']['username'], $_SESSION['installer_temp_ftp']['password']);
            $ftp->chdir($_SESSION['installer_temp_ftp']['path']);
            $ftp->unlink('install.php');
            $ftp->unlink('webinstall.php');
            foreach ($databases as $key => $dummy) {
                $ftp->unlink('install_' . $GLOBALS['db_script_version'] . '_' . $key . '.sql');
            }
            $ftp->close();
            unset($_SESSION['installer_temp_ftp']);
        } else {
            @unlink(__FILE__);
            @unlink(dirname(__FILE__) . '/webinstall.php');
            foreach ($databases as $key => $dummy) {
                @unlink(dirname(__FILE__) . '/install_' . $GLOBALS['db_script_version'] . '_' . $key . '.sql');
            }
        }
        // Now just redirect to a blank.gif...
        header('Location: http://' . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']) . dirname($_SERVER['PHP_SELF']) . '/Themes/default/images/blank.gif');
        exit;
    }
    // PHP 5 might cry if we don't do this now.
    if (function_exists('date_default_timezone_set')) {
        $server_offset = @mktime(0, 0, 0, 1, 1, 1970);
        date_default_timezone_set('Etc/GMT' . ($server_offset > 0 ? '+' : '') . $server_offset / 3600);
    }
    // Force an integer step, defaulting to 0.
    $_GET['step'] = (int) @$_GET['step'];
}
Esempio n. 2
0
function initialize_inputs()
{
    // Turn off magic quotes runtime and enable error reporting.
    @set_magic_quotes_runtime(0);
    error_reporting(E_ALL);
    // Fun.  Low PHP version...
    if (!isset($_GET)) {
        $GLOBALS['_GET']['step'] = 0;
        return;
    }
    if (!isset($_GET['obgz'])) {
        ob_start();
        if (@ini_get('session.save_handler') == 'user') {
            @ini_set('session.save_handler', 'files');
        }
        if (function_exists('session_start')) {
            @session_start();
        }
    } else {
        ob_start('ob_gzhandler');
        if (@ini_get('session.save_handler') == 'user') {
            @ini_set('session.save_handler', 'files');
        }
        session_start();
        if (!headers_sent()) {
            echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>', htmlspecialchars($_GET['pass_string']), '</title>
	</head>
	<body style="background-color: #D4D4D4; margin-top: 16%; text-align: center; font-size: 16pt;">
		<b>', htmlspecialchars($_GET['pass_string']), '</b>
	</body>
</html>';
        }
        exit;
    }
    // Add slashes, as long as they aren't already being added.
    if (@get_magic_quotes_gpc() == 0) {
        foreach ($_POST as $k => $v) {
            $_POST[$k] = addslashes($v);
        }
    }
    // This is really quite simple; if ?delete is on the URL, delete the installer...
    if (isset($_GET['delete'])) {
        if (isset($_SESSION['installer_temp_ftp'])) {
            $ftp = new ftp_connection($_SESSION['installer_temp_ftp']['server'], $_SESSION['installer_temp_ftp']['port'], $_SESSION['installer_temp_ftp']['username'], $_SESSION['installer_temp_ftp']['password']);
            $ftp->chdir($_SESSION['installer_temp_ftp']['path']);
            $ftp->unlink('install.php');
            $ftp->unlink('webinstall.php');
            $ftp->unlink('install_1-1.sql');
            $ftp->close();
            unset($_SESSION['installer_temp_ftp']);
        } else {
            @unlink(__FILE__);
            @unlink(dirname(__FILE__) . '/webinstall.php');
            @unlink(dirname(__FILE__) . '/install_1-1.sql');
        }
        // Now just redirect to a blank.gif...
        header('Location: http://' . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']) . dirname($_SERVER['PHP_SELF']) . '/Themes/default/images/blank.gif');
        exit;
    }
    // Force an integer step, defaulting to 0.
    $_GET['step'] = (int) @$_GET['step'];
}