2013-02-18 03:48:21 +01:00
|
|
|
<?php
|
|
|
|
|
2014-12-24 03:28:26 +01:00
|
|
|
require __DIR__.'/vendor/autoload.php';
|
2013-02-18 03:48:21 +01:00
|
|
|
|
2014-11-07 03:15:37 +01:00
|
|
|
if (file_exists(__DIR__.'/config.php')) {
|
|
|
|
require __DIR__.'/config.php';
|
2014-05-28 22:10:41 +02:00
|
|
|
}
|
2013-05-26 19:09:34 +02:00
|
|
|
|
2015-04-11 02:57:44 +02:00
|
|
|
defined('APP_VERSION') or define('APP_VERSION', Helper\parse_app_version('$Format:%d$','$Format:%H$'));
|
2015-08-04 18:30:41 +02:00
|
|
|
|
2013-08-31 17:05:45 +02:00
|
|
|
defined('HTTP_TIMEOUT') or define('HTTP_TIMEOUT', 20);
|
2015-08-04 18:30:41 +02:00
|
|
|
defined('HTTP_MAX_RESPONSE_SIZE') or define('HTTP_MAX_RESPONSE_SIZE', 2097152);
|
2014-04-06 02:24:13 +02:00
|
|
|
|
2014-05-27 02:47:40 +02:00
|
|
|
defined('BASE_URL_DIRECTORY') or define('BASE_URL_DIRECTORY', dirname($_SERVER['PHP_SELF']));
|
2014-04-06 02:24:13 +02:00
|
|
|
defined('ROOT_DIRECTORY') or define('ROOT_DIRECTORY', __DIR__);
|
2014-12-04 18:20:15 +01:00
|
|
|
defined('DATA_DIRECTORY') or define('DATA_DIRECTORY', ROOT_DIRECTORY.DIRECTORY_SEPARATOR.'data');
|
2014-04-06 02:24:13 +02:00
|
|
|
|
2015-12-07 14:18:27 +01:00
|
|
|
defined('FAVICON_DIRECTORY') or define('FAVICON_DIRECTORY', DATA_DIRECTORY.DIRECTORY_SEPARATOR.'favicons');
|
2015-12-09 20:19:52 +01:00
|
|
|
defined('FAVICON_URL_PATH') or define('FAVICON_URL_PATH', 'data/favicons');
|
2015-12-07 14:18:27 +01:00
|
|
|
|
2014-04-06 02:24:13 +02:00
|
|
|
defined('ENABLE_MULTIPLE_DB') or define('ENABLE_MULTIPLE_DB', true);
|
|
|
|
defined('DB_FILENAME') or define('DB_FILENAME', 'db.sqlite');
|
|
|
|
|
|
|
|
defined('DEBUG_FILENAME') or define('DEBUG_FILENAME', DATA_DIRECTORY.DIRECTORY_SEPARATOR.'debug.log');
|
|
|
|
|
2013-07-17 03:58:11 +02:00
|
|
|
defined('THEME_DIRECTORY') or define('THEME_DIRECTORY', 'themes');
|
2013-07-24 00:26:53 +02:00
|
|
|
defined('SESSION_SAVE_PATH') or define('SESSION_SAVE_PATH', '');
|
2014-04-06 02:24:13 +02:00
|
|
|
|
2013-09-24 01:22:13 +02:00
|
|
|
defined('PROXY_HOSTNAME') or define('PROXY_HOSTNAME', '');
|
|
|
|
defined('PROXY_PORT') or define('PROXY_PORT', 3128);
|
|
|
|
defined('PROXY_USERNAME') or define('PROXY_USERNAME', '');
|
|
|
|
defined('PROXY_PASSWORD') or define('PROXY_PASSWORD', '');
|
2014-04-06 02:24:13 +02:00
|
|
|
|
2014-03-30 21:59:26 +02:00
|
|
|
defined('ENABLE_AUTO_UPDATE') or define('ENABLE_AUTO_UPDATE', true);
|
2014-04-06 02:24:13 +02:00
|
|
|
defined('AUTO_UPDATE_DOWNLOAD_DIRECTORY') or define('AUTO_UPDATE_DOWNLOAD_DIRECTORY', DATA_DIRECTORY.DIRECTORY_SEPARATOR.'download');
|
|
|
|
defined('AUTO_UPDATE_ARCHIVE_DIRECTORY') or define('AUTO_UPDATE_ARCHIVE_DIRECTORY', DATA_DIRECTORY.DIRECTORY_SEPARATOR.'archive');
|
|
|
|
defined('AUTO_UPDATE_BACKUP_DIRECTORY') or define('AUTO_UPDATE_BACKUP_DIRECTORY', DATA_DIRECTORY.DIRECTORY_SEPARATOR.'backup');
|
2013-09-24 01:22:13 +02:00
|
|
|
|
2015-08-02 18:20:38 +02:00
|
|
|
defined('SUBSCRIPTION_CONCURRENT_REQUESTS') or define('SUBSCRIPTION_CONCURRENT_REQUESTS', 5);
|
|
|
|
|
2015-04-11 02:34:48 +02:00
|
|
|
defined('RULES_DIRECTORY') or define('RULES_DIRECTORY', ROOT_DIRECTORY.DIRECTORY_SEPARATOR.'rules');
|
|
|
|
|
2015-05-17 19:40:56 +02:00
|
|
|
defined('ENABLE_HSTS') or define('ENABLE_HSTS', true);
|
|
|
|
|
2014-05-28 22:10:41 +02:00
|
|
|
require __DIR__.'/check_setup.php';
|
|
|
|
|
2015-08-15 03:33:39 +02:00
|
|
|
PicoDb\Database::setInstance('db', function() {
|
2013-02-18 03:48:21 +01:00
|
|
|
|
|
|
|
$db = new PicoDb\Database(array(
|
|
|
|
'driver' => 'sqlite',
|
2014-12-24 21:58:24 +01:00
|
|
|
'filename' => Model\Database\get_path(),
|
2013-02-18 03:48:21 +01:00
|
|
|
));
|
2013-05-26 19:09:34 +02:00
|
|
|
|
2014-12-24 21:58:24 +01:00
|
|
|
if ($db->schema()->check(Schema\VERSION)) {
|
2013-02-18 03:48:21 +01:00
|
|
|
return $db;
|
|
|
|
}
|
|
|
|
else {
|
2014-09-15 13:23:55 +02:00
|
|
|
$errors = $db->getLogMessages();
|
|
|
|
|
|
|
|
$pdo = new \PDO('sqlite::memory:');
|
|
|
|
$result = $pdo->query('select sqlite_version()', PDO::FETCH_COLUMN, 0);
|
|
|
|
$sqlite_version = $result ? $result->fetch() : '?';
|
|
|
|
|
|
|
|
$html = 'Unable to migrate the database schema, <strong>please copy and paste this message and create a bug report:</strong><hr/>';
|
|
|
|
$html .= '<pre><code>';
|
|
|
|
$html .= (isset($errors[0]) ? $errors[0] : 'Unknown SQL error').PHP_EOL.PHP_EOL;
|
|
|
|
$html .= '- PHP version: '.phpversion().PHP_EOL;
|
|
|
|
$html .= '- SAPI: '.php_sapi_name().PHP_EOL;
|
|
|
|
$html .= '- PDO Sqlite version: '.phpversion('pdo_sqlite').PHP_EOL;
|
|
|
|
$html .= '- Sqlite version: '.$sqlite_version.PHP_EOL;
|
|
|
|
$html .= '- OS: '.php_uname();
|
|
|
|
$html .= '</code></pre>';
|
|
|
|
|
|
|
|
die($html);
|
2013-02-18 03:48:21 +01:00
|
|
|
}
|
2015-10-20 03:21:18 +02:00
|
|
|
});
|