<?php
    //-----------------------------------------------------------------------------
    // Nubo Server Installer
    // Copyright (c) 2017, Pascal Levy
    //
    // Permission is hereby granted, free of charge, to any person obtaining a copy
    // of this software and associated documentation files (the "Software"), to deal
    // in the Software without restriction, including without limitation the rights
    // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    // copies of the Software, and to permit persons to whom the Software is
    // furnished to do so, subject to the following conditions:
    //
    // The above copyright notice and this permission notice shall be included in
    // all copies or substantial portions of the Software.
    //
    // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    // THE SOFTWARE.
    //-----------------------------------------------------------------------------

    $content = <<<EOT
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
EOT;

    define('MIN_PHP_VERSION', 7);
    define('MIN_INT_SIZE', 4);
    define('REQUIRED_EXTENSIONS', 'sqlite3 zip');
    define('TMP_FILE', 'tmp.zip');

    function checkCompatibility() {
        $retval = '';
        $version = explode('.', phpversion());
        if (!isset($version[0]) || intval($version[0]) < MIN_PHP_VERSION) {
            $retval .= "<li>PHP " . MIN_PHP_VERSION . " or higher is required</li>";
        }
        if (PHP_INT_SIZE < MIN_INT_SIZE) {
            $retval .= "<li>A 64-bit version of PHP is required</li>";
        }
        if (!is_writable('.')) {
            $retval .= "<li>Cannot write in the current folder</li>";
        }
        foreach (explode(' ', REQUIRED_EXTENSIONS) as $ext) {
            if (!extension_loaded($ext)) {
                $retval .= "<li>Missing PHP $ext extension</li>";
            }
        }
        return $retval;
    }

    function unzipFiles() {
        global $content;
        $retval = false;
        if (file_put_contents(TMP_FILE, base64_decode($content)) > 0) {
            $zip = new ZipArchive;
            if ($zip->open(TMP_FILE) === true) {
                if ($zip->extractTo('.')) {
                    $retval = true;
                }
                $zip->close();
            }
            @unlink(TMP_FILE);
        }
        return $retval;
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<title>Nubo Installer</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<?php 
    if (($errors = checkCompatibility()) != '') {
        echo "<p>Installation failed because of the following issues:</p>";
        echo "<ul>$errors</ul>";
    } elseif (!unzipFiles()) {
        echo "<p>Unexpected error while unzipping archive.</p>";
    } else {
        echo "<p>Installation successful. Click <a href=\"index.php\">here</a> to configure and start your nubo server.</p>";
        if (strpos(__FILE__, 'install.php') !== false) {
            @unlink(__FILE__);
        }
    }
?>
</body>
</html>
