From 3e2920b5ea62abd10c16c5b9b60337fcb8bfd01c Mon Sep 17 00:00:00 2001 From: Awilum Date: Wed, 9 Jan 2013 23:23:46 +0200 Subject: [PATCH] Missing installer added. --- install.php | 451 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 451 insertions(+) create mode 100644 install.php diff --git a/install.php b/install.php new file mode 100644 index 0000000..c15a60a --- /dev/null +++ b/install.php @@ -0,0 +1,451 @@ + button then try to install + if (Request::post('install_submit')) { + + if (Request::post('sitename') == '') $errors['sitename'] = __('Field "Site name" is empty', 'system'); + if (Request::post('siteurl') == '') $errors['siteurl'] = __('Field "Site url" is empty', 'system'); + if (Request::post('login') == '') $errors['login'] = __('Field "Username" is empty', 'system'); + if (Request::post('password') == '') $errors['password'] = __('Field "Password" is empty', 'system'); + if (Request::post('email') == '') $errors['email'] = __('Field "Email" is empty', 'system'); + if ( ! Valid::email(Request::post('email'))) $errors['email_valid'] = __('Email not valid', 'system'); + if (trim(Request::post('php') !== '')) $errors['php'] = true; + if (trim(Request::post('simplexml') !== '')) $errors['simplexml'] = true; + if (trim(Request::post('mod_rewrite') !== '')) $errors['mod_rewrite'] = true; + if (trim(Request::post('htaccess') !== '')) $errors['htaccess'] = true; + if (trim(Request::post('sitemap') !== '')) $errors['sitemap'] = true; + if (trim(Request::post('install') !== '')) $errors['install'] = true; + if (trim(Request::post('public') !== '')) $errors['public'] = true; + if (trim(Request::post('storage') !== '')) $errors['storage'] = true; + if (trim(Request::post('backups') !== '')) $errors['backups'] = true; + if (trim(Request::post('tmp') !== '')) $errors['tmp'] = true; + + // If errors is 0 then install cms + if (count($errors) == 0) { + + // Update options + Option::update(array('maintenance_status' => 'off', + 'sitename' => Request::post('sitename'), + 'siteurl' => Request::post('siteurl'), + 'description' => __('Site description', 'system'), + 'keywords' => __('Site keywords', 'system'), + 'slogan' => __('Site slogan', 'system'), + 'defaultpage' => 'home', + 'timezone' => Request::post('timezone'), + 'theme_site_name' => 'default', + 'theme_admin_name' => 'default')); + + // Get users table + $users = new Table('users'); + + // Insert new user with role = admin + $users->insert(array('login' => Security::safeName(Request::post('login')), + 'password' => Security::encryptPassword(Request::post('password')), + 'email' => Request::post('email'), + 'hash' => Text::random('alnum', 12), + 'date_registered' => time(), + 'role' => 'admin')); + + // Write .htaccess + $htaccess = file_get_contents('.htaccess'); + $save_htaccess_content = str_replace("/%siteurlhere%/", $rewrite_base, $htaccess); + + $handle = fopen ('.htaccess', "w"); + fwrite($handle, $save_htaccess_content); + fclose($handle); + + // Installation done :) + header("location: index.php?install=done"); + } + } +?> + + + + + Monstra :: Install + + + + + + + + + + + + + + +
+ + + +
+
+
Monstra
+
+
+
+ + + + + + + + + + + + + +
+ + +
+ + +
+ + +
+ + + + + +

+ +
+
+
+

+
+
    +
  • '.__('PHP 5.2 or greater is required', 'system').'
  • '; + } else { + echo '
  • '.__('PHP Version', 'system').' '.PHP_VERSION.'
  • '; + } + + if (in_array('SimpleXML', $php_modules)) { + echo '
  • '.__('Module SimpleXML is installed', 'system').'
  • '; + } else { + echo '
  • '.__('SimpleXML module is required', 'system').'
  • '; + } + + if (in_array('dom', $php_modules)) { + echo '
  • '.__('Module DOM is installed', 'system').'
  • '; + } else { + echo '
  • '.__('Module DOM is required', 'system').'
  • '; + } + + if (function_exists('apache_get_modules')) { + if ( ! in_array('mod_rewrite',apache_get_modules())) { + echo '
  • '.__('Apache Mod Rewrite is required', 'system').'
  • '; + } else { + echo '
  • '.__('Module Mod Rewrite is installed', 'system').'
  • '; + } + } else { + echo '
  • '.__('Module Mod Rewrite is installed', 'system').'
  • '; + } + + foreach ($dir_array as $dir) { + if (is_writable($dir.'/')) { + echo '
  • '.__('Directory: :dir writable', 'system', array(':dir' => $dir)).'
  • '; + } else { + echo '
  • '.__('Directory: :dir not writable', 'system', array(':dir' => $dir)).'
  • '; + } + } + + if (is_writable(__FILE__)) { + echo '
  • '.__('Install script writable', 'system').'
  • '; + } else { + echo '
  • '.__('Install script not writable', 'system').'
  • '; + } + + if (is_writable('sitemap.xml')) { + echo '
  • '.__('Sitemap file writable', 'system').'
  • '; + } else { + echo '
  • '.__('Sitemap file not writable', 'system').'
  • '; + } + + if (is_writable('.htaccess')) { + echo '
  • '.__('Main .htaccess file writable', 'system').'
  • '; + } else { + echo '
  • '.__('Main .htaccess file not writable', 'system').'
  • '; + } + + if (isset($errors['sitename'])) echo '
  • '.$errors['sitename'].'
  • '; + if (isset($errors['siteurl'])) echo '
  • '.$errors['siteurl'].'
  • '; + if (isset($errors['login'])) echo '
  • '.$errors['login'].'
  • '; + if (isset($errors['password'])) echo '
  • '.$errors['password'].'
  • '; + if (isset($errors['email'])) echo '
  • '.$errors['email'].'
  • '; + if (isset($errors['email_valid'])) echo '
  • '.$errors['email_valid'].'
  • '; + ?> +
+
+
+ + +