ts-website/include/modulecheck.php

102 lines
3.4 KiB
PHP
Raw Normal View History

2016-06-28 22:28:29 +00:00
<?php
2016-07-01 01:03:44 +00:00
function isPHPVersionSupported() {
if (!defined('PHP_VERSION_ID')) {
$version = explode('.', PHP_VERSION);
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}
2016-09-27 23:20:56 +00:00
return PHP_VERSION_ID >= 50500;
2016-07-01 01:03:44 +00:00
}
if (!isPHPVersionSupported()) {
2016-07-25 14:14:04 +00:00
$title = 'Unsupported PHP version';
2016-07-01 20:34:55 +00:00
2016-09-27 23:20:56 +00:00
$text = '<p>You are using old, unsupported PHP version.</p><p>Your PHP version: <b>' . phpversion() . '</b>, required PHP version: <b>5.5.0</b>.</p><p>Please update your PHP installation and try again.</p>';
2016-08-29 20:17:53 +00:00
showError($title, $text);
die();
2016-08-29 20:17:53 +00:00
}
if (!function_exists("utf8_encode")) {
$title = 'Required function "utf8_encode" is missing';
2016-08-29 20:17:53 +00:00
$text = '<p>Required PHP extension: <code>mbstring</code> has not been found on the server.</p>
<p>For PHP 7.0 (recommended), install this package: <code>sudo apt-get install php-xml php7.0-xml</code> and <u>restart apache</u>. Otherwise, installation instructions can be found <a href="https://www.google.com/?q=Call%20to%20undefined%20function%20utf8_encode()">on Google</a> ;)</p>
<p>If you are using Web Hosting service, please contact the Hosting support for instruction on enabling needed packages.</p>';
2016-07-01 20:34:55 +00:00
showError($title, $text);
die();
2016-07-01 01:03:44 +00:00
}
if(!is_writable(__DIR__ . '/../cache')) {
$title = 'Cache directory is not writable';
$text = '<p>Please make sure that the <code>cache</code> directory is fully writable.</p>';
showError($title, $text);
die();
2016-09-25 01:50:41 +00:00
}
if (!file_exists(__DIR__ . "/../config/config.php")) {
2016-07-25 14:14:04 +00:00
$title = 'config.php does not exists';
2016-07-01 20:34:55 +00:00
2016-07-25 14:14:04 +00:00
$text = '<p>Please go into the directory <code>config</code> and rename <code>config.template.php</code> to <code>config.php</code>.</p>
<p>Edit the new file and tweak it to suite your needs.</p>';
2016-07-01 20:34:55 +00:00
showError($title, $text);
die();
2016-06-28 22:28:29 +00:00
}
// FUNCTION
function showError($title, $text) { ?>
2016-06-28 21:18:59 +00:00
<!DOCTYPE html>
2016-09-25 10:24:29 +00:00
<html lang="en">
2016-06-28 21:18:59 +00:00
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="Wruczek">
2016-06-28 22:28:29 +00:00
<title><?php echo $title; ?></title>
2016-06-28 21:18:59 +00:00
<!-- Icon -->
<link rel="shortcut icon" href="https://assets-cdn.github.com/images/icons/emoji/unicode/26a0.png">
<!-- Twitter Bootstrap -->
2016-08-14 02:31:15 +00:00
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/superhero/bootstrap.min.css" rel="stylesheet">
2016-06-28 21:18:59 +00:00
<!--[if IE]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
2016-07-01 20:34:55 +00:00
2016-06-28 21:18:59 +00:00
<style>
body { margin-top: 70px }
</style>
</head>
<body>
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">
2016-10-26 00:43:33 +00:00
<h3 class="panel-title"><img src="https://assets-cdn.github.com/images/icons/emoji/unicode/26a0.png" width="20px" alt="Error"> <?php echo $title; ?></h3>
2016-06-28 21:18:59 +00:00
</div>
<div class="panel-body">
2016-06-28 22:28:29 +00:00
<?php echo $text; ?>
2016-06-28 21:18:59 +00:00
</div>
2016-06-28 22:41:29 +00:00
<div class="panel-footer">
2017-02-01 15:32:34 +00:00
&copy; <a href="https://wruczek.tech">Wruczek</a> 2016 - 2017 | <a href="https://github.com/Wruczek/ts-website">ts-website</a> v 1.4.1 | MIT License
2016-06-28 22:41:29 +00:00
</div>
2016-06-28 21:18:59 +00:00
</div>
</div>
<!-- /container -->
</body>
</html>
2016-06-28 22:28:29 +00:00
<?php }