public static function defineConstants() { if (defined('JBETOLO_URI_BASE')) { return; } $app = JFactory::getApplication(); $uri = JUri::base(); $path = JUri::base(true) . '/'; plgSystemJbetolo::$allowAll = JRequest::getCmd('option') == 'com_jbetolo' && $app->getName() == 'administrator'; if ($app->getName() != 'site') { $uri = str_replace('/administrator', '', $uri); $path = str_replace('/administrator', '', $path); } $cdn = !plgSystemJBetolo::dontJbetolo('cdn'); if ($cdn) { $cdnMode = plgSystemJBetolo::param('cdn_enabled_http'); if ($cdnMode == 'dont') { $cdn = trim(plgSystemJBetolo::param('cdn_domain')); $cdn = parse_url($cdn); if (JURI::getInstance()->getScheme() != $cdn['scheme']) { $cdn = false; } } } define('JBETOLO_CDN_MAP', $cdn); define('JBETOLO_JS_DEFER', !plgSystemJBetolo::dontJbetolo('defer') && plgSystemJBetolo::param('js_defer', '0') != '0'); $cdn = ''; $ownCdn = false; if (JBETOLO_CDN_MAP) { $cdn = self::createCDNUri(); define('JBETOLO_URI_CDN', $cdn); $cdn = self::createCDNUri('images'); define('JBETOLO_URI_CDN_IMAGES', $cdn); $cdn = self::createCDNUri('movies'); define('JBETOLO_URI_CDN_MOVIES', $cdn); $cdn = self::createCDNUri('docs'); define('JBETOLO_URI_CDN_DOCS', $cdn); $cdn = self::createCDNUri('css'); define('JBETOLO_URI_CDN_CSS', $cdn); $cdn = self::createCDNUri('js'); define('JBETOLO_URI_CDN_JS', $cdn); // $cdn = plgSystemJBetolo::param('cdn_domain'); // $_cdn = parse_url($cdn); // // $cdn = ''; // // if (!isset($_cdn['scheme'])) { // $cdn = 'http'; // $_cdn['host'] = $_cdn['path']; // unset($_cdn['path']); // } else { // $cdn = $_cdn['scheme']; // } // // $cdn .= '://' . $_cdn['host']; // // if (!isset($_cdn['path'])) { // $cdn .= '/'; // } else { // $_cdn['path'] = preg_replace('#([\/]+)#', '/', '/'.$_cdn['path'].'/'); // $cdn .= $_cdn['path']; // } // define('JBETOLO_CDN_OWN', plgSystemJBetolo::param('cdn_type') == 'pullown'); } else { define('JBETOLO_URI_CDN', ''); } define('JBETOLO_URI_BASE', $uri); define('JBETOLO_PATH', JPATH_SITE . '/plugins/system/' . (jbetoloHelper::isJ16() ? 'jbetolo/' : '')); define('JBETOLO_JQUERY', plgSystemJBetolo::param('add_local_jquery_version', 'jquery-1.8.3.min') . '.js'); define('JBETOLO_JQUERY_MIGRATE_PLUGIN', 'jquery-migrate-1.2.1.min.js'); define('JBETOLO_JQUERY_UI', plgSystemJBetolo::param('add_local_jquery_ui_version', 'jquery-ui-1.9.2.custom.min') . '.js'); define('JBETOLO_JQUERY_UI_CSS', plgSystemJBetolo::param('add_local_jquery_ui_version', 'jquery-ui-1.9.2.custom.min') . '.css'); if (plgSystemJbetolo::$allowAll) { define('JBETOLO_CACHE_DIR', JPATH_SITE . '/cache/jbetolo/'); } else { define('JBETOLO_CACHE_DIR', JPATH_CACHE . '/jbetolo/'); } define('JBETOLO_FILES_CACHE', JBETOLO_CACHE_DIR . 'jbetolo.files.ini'); if (JBETOLO_CDN_MAP && JBETOLO_CDN_OWN) { jbetoloHelper::setupOwnCDN(); } define('JBETOLO_URI_PATH', $path); define("JBETOLO_EMPTYTAG", "_JBETOLO_"); $gz = extension_loaded('zlib') || ini_get('zlib.output_compression'); if ($gz && JBETOLO_CDN_MAP) { $gz = !(bool) plgSystemJBetolo::param('cdn_compress', 0); } define('JBETOLO_IS_GZ', $gz); define('JBETOLO_IS_MINIFY', 1); define('JBETOLO_DEBUG', (bool) plgSystemJBetolo::param('debug_mode')); define('JBETOLO_DEBUG_FILENAME', (bool) plgSystemJBetolo::param('debug_mode_filename')); $user = JFactory::getUser(); require_once JPATH_ADMINISTRATOR . '/components/com_jbetolo/helpers/helper.php'; if ($app->getName() == 'administrator' && !$user->guest && $gz) { // if files compressed and CDN can't compress provide info if (self::isNginx()) { if (JRequest::getString('JBETOLO_NGINX_NOTICE', '', 'cookie') == '' && jbetoloComponentHelper::inPlg()) { JFactory::getLanguage()->load('plg_system_jbetolo'); $msg = JText::sprintf(PLG_JBETOLO_CDN_COMPRESS_NGINX, JBETOLO_URI_BASE . '/plugins/system/jbetolo/jbetolo/assets/nginx.conf.txt'); JFactory::getApplication()->enqueueMessage($msg, 'warning'); setcookie('JBETOLO_NGINX_NOTICE', 'YES'); } } } jbetoloFileHelper::createCacheDir(); }