%PDF-
%PDF-
Mini Shell
Mini Shell
<?php
/**
* ChronoCMS version 1.0
* Copyright (c) 2012 ChronoCMS.com, All rights reserved.
* Author: (ChronoCMS.com Team)
* license: Please read LICENSE.txt
* Visit http://www.ChronoCMS.com for regular updates and information.
**/
namespace GCore;
/* @copyright:ChronoEngine.com @license:GPLv2 */defined('_JEXEC') or die('Restricted access');
defined("GCORE_SITE") or die;
class Bootstrap {
const VERSION = 1;
const UPDATE = 2;
public static function initialize($plathform = '', $params = array()){
switch ($plathform){
default:
//CONSTANTS
\GCore\C::set('GCORE_FRONT_PATH', dirname(__FILE__).DS);
\GCore\C::set('GCORE_ADMIN_PATH', dirname(__FILE__).DS.'admin'.DS);
//initialize language
\GCore\Libs\Lang::initialize();
//SET ERROR CONFIG
if((int)Libs\Base::getConfig('error_reporting') != 1){
error_reporting((int)Libs\Base::getConfig('error_reporting'));
}
if((bool)Libs\Base::getConfig('debug') === true){
\GCore\Libs\Error::initialize();
}
//timezone
date_default_timezone_set(Libs\Base::getConfig('timezone', 'UTC'));
break;
}
if($plathform == 'joomla'){
$mainframe = \JFactory::getApplication();
\GCore\Libs\Base::setConfig('db_host', $mainframe->getCfg('host'));
$dbtype = ($mainframe->getCfg('dbtype') == 'mysqli' ? 'mysql' : $mainframe->getCfg('dbtype'));
\GCore\Libs\Base::setConfig('db_type', $dbtype);
\GCore\Libs\Base::setConfig('db_name', $mainframe->getCfg('db'));
\GCore\Libs\Base::setConfig('db_user', $mainframe->getCfg('user'));
\GCore\Libs\Base::setConfig('db_pass', $mainframe->getCfg('password'));
\GCore\Libs\Base::setConfig('db_prefix', $mainframe->getCfg('dbprefix'));
\GCore\C::set('GSITE_PLATFORM', 'joomla');
\GCore\C::set('GCORE_FRONT_URL', \JFactory::getURI()->root().'libraries/cegcore/');
\GCore\C::set('GCORE_ADMIN_URL', \JFactory::getURI()->root().'libraries/cegcore/admin/');
\GCore\C::set('GCORE_ROOT_URL', \JFactory::getURI()->root());
\GCore\C::set('GCORE_ROOT_PATH', dirname(dirname(dirname(__FILE__))).DS);
$lang = \JFactory::getLanguage();
\GCore\Libs\Base::setConfig('site_language', $lang->getTag());
}else if($plathform == 'wordpress'){
global $wpdb;
\GCore\Libs\Base::setConfig('db_host', DB_HOST);
$dbtype = 'mysql';
\GCore\Libs\Base::setConfig('db_type', $dbtype);
\GCore\Libs\Base::setConfig('db_name', DB_NAME);
\GCore\Libs\Base::setConfig('db_user', DB_USER);
\GCore\Libs\Base::setConfig('db_pass', DB_PASSWORD);
\GCore\Libs\Base::setConfig('db_prefix', $wpdb->prefix);
\GCore\C::set('GSITE_PLATFORM', 'wordpress');
\GCore\C::set('GCORE_FRONT_URL', plugins_url().'/'.$params['component'].'/cegcore/');
\GCore\C::set('GCORE_ADMIN_URL', plugins_url().'/'.$params['component'].'/cegcore/admin/');
\GCore\C::set('GCORE_ROOT_URL', site_url().'/');
\GCore\C::set('GCORE_ROOT_PATH', dirname(dirname(dirname(__FILE__))).DS);
\GCore\Libs\Base::setConfig('site_language', get_bloginfo('language'));
//change the default page parameter string because WP uses the param "page"
\GCore\Libs\Base::setConfig('page_url_param_name', 'page_num');
if(function_exists('wp_magic_quotes')){
$stripslashes_wp = function (&$value){
$value = stripslashes($value);
};
array_walk_recursive($_GET, $stripslashes_wp);
array_walk_recursive($_POST, $stripslashes_wp);
array_walk_recursive($_COOKIE, $stripslashes_wp);
array_walk_recursive($_REQUEST, $stripslashes_wp);
}
}else{
\GCore\C::set('GSITE_PLATFORM', '');
\GCore\C::set('GCORE_FRONT_URL', \GCore\Libs\Url::root());
\GCore\C::set('GCORE_ADMIN_URL', \GCore\Libs\Url::root().'admin/');
\GCore\C::set('GCORE_ROOT_URL', \GCore\C::get('GCORE_FRONT_URL'));
\GCore\C::set('GCORE_ROOT_PATH', dirname(__FILE__).DS);
}
\GCore\C::set('GSITE_PATH', \GCore\C::get('GCORE_'.strtoupper(GCORE_SITE).'_PATH'));
\GCore\C::set('GSITE_URL', \GCore\C::get('GCORE_'.strtoupper(GCORE_SITE).'_URL'));
}
public static function getApp($site = GCORE_SITE, $thread = 'gcore'){
if(\GCore\C::get('GSITE_PLATFORM') == 'joomla'){
$app = \GCore\Libs\AppJ::getInstance($site, $thread);
}else if(\GCore\C::get('GSITE_PLATFORM') == 'wordpress'){
$app = \GCore\Libs\AppWp::getInstance($site, $thread);
}else if(\GCore\C::get('GSITE_PLATFORM') == ''){
$app = \GCore\Libs\App::getInstance($site, $thread);
}
return $app;
}
}
Zerion Mini Shell 1.0