sorbetcms/entry.php

94 lines
3.0 KiB
PHP
Executable File

<?php
ob_start();
if (!defined('entry') || !entry) {
die("Not a valid page");
}
error_reporting(E_ALL);
ini_set('display_errors', '1');
// PHP settings specific to Sorbet
ini_set('pcre.backtrack_limit', '10000');
define('Absolute_Path', dirname(__FILE__) . DIRECTORY_SEPARATOR);
$installed = true;
$configFile = Absolute_Path . "config.php";
$dir = (strpos($_SERVER['REQUEST_URI'], "/admin")) ? "../" : "";
if (!file_exists($configFile) and basename($_SERVER["PHP_SELF"]) != "install.php") {
header("Location: {$dir}install.php");
exit;
} else {
include_once(Absolute_Path . "classes/install.class.php");
$install = new Install();
if (!$install->is_sorbet_installed()) {
if (basename($_SERVER['PHP_SELF']) != "install.php") {
header("Location: {$dir}install.php");
exit;
}
$installed = false;
}
}
if ($installed) {
require_once $configFile;
}
if (!extension_loaded('json')) {
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'JSON.php');
$GLOBALS['JSON_OBJECT'] = new Services_JSON();
function json_encode($value)
{
return $GLOBALS['JSON_OBJECT']->encode($value);
}
function json_decode($value, $none)
{
return $GLOBALS['JSON_OBJECT']->decode($value);
}
}
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'configuration.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'util.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'sorbet.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'templates.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'themes.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'pagination.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'user.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'comments.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'feeds.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'mysql_connection.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'streams.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'gettext.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'lang.functions.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'plugin.class.php');
require_once(Absolute_Path.'classes'.DIRECTORY_SEPARATOR.'plugins.class.php');
if ($installed) {
// Globals to be used throughout the application
$db = new Conexion_Mysql(DB_name, DB_Server, DB_User, DB_Password);
$conf = new configuration();
$tumble = new sorbet();
$user = new user();
$util = new util();
session_start();
$util->init_plugins();
$plugin_instance = new plugin();
$trigger =& $plugin_instance->instance(); //DO NOT remove the & after the =
$trigger->call('sorbet_init');
$feeds = new feeds();
$feeds->updateFeeds();
unset($feeds);
}