Пример #1
0
 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();
 }