AntonLV 8 years ago
parent
commit
ea1d6ec9b7
3 changed files with 63 additions and 69 deletions
  1. 10 17
      inc/classes/BxDolPreloader.php
  2. 1 1
      inc/classes/BxDolPreloaderQuery.php
  3. 52 51
      install/sql/system.sql

+ 10 - 17
inc/classes/BxDolPreloader.php

@@ -44,7 +44,7 @@ class BxDolPreloader extends BxDolFactory implements iBxDolSingleton
             BX_PRELOADER_TYPE_JS_IMAGE => ''
         );
         foreach($this->_aTypes as $sType => $sValue)
-            $this->_aTypes[$sType] = bx_gen_method_name('add_' . $sType);
+            $this->_aTypes[$sType] = 'add' . bx_gen_method_name($sType);
 
         $this->_aMarkers = array(
             'dir_plugins_public' => BX_DIRECTORY_PATH_PLUGINS_PUBLIC
@@ -70,34 +70,27 @@ class BxDolPreloader extends BxDolFactory implements iBxDolSingleton
     	$bStudio = $oTemplateSystem instanceof BxDolStudioTemplate;
     	$aTypesAvail = array_keys($this->_aTypes);
 
-        $aLoader = array();
         foreach($this->_aEntries as $aEntry) {
             $sType = $aEntry['type'];
             if(!in_array($sType, $aTypesAvail))
                 continue;
 
-            $sModule = $aEntry['module'];
-            $aLoader[$sModule][$sType][] = bx_replace_markers($aEntry['content'], $this->_aMarkers);
-        }
-
-        foreach($aLoader as $sModule => $aTypes) {
             $sLocKey = '';
             $bLocRemove = false;
             $bLocRemoveJs = false;
 
-            $bModule = $sModule != 'system';
-            $oModule = $bModule ? BxDolModule::getInstance($sModule) : null;
+            $bModule = $aEntry['module'] != 'system';
+            $oModule = $bModule ? BxDolModule::getInstance($aEntry['module']) : null;
             if($bModule && !$oModule)
-                continue;
+            	continue;
 
-            $oTemplate = null;
-            if($bModule)
-                $oTemplate = &$oModule->_oTemplate;
-            else 
-                $oTemplate = &$oTemplateSystem;
+            $sMethod = $this->_aTypes[($bStudio && $bModule ? 'studio_' : '') . $sType];
+            $sContent = bx_replace_markers($aEntry['content'], $this->_aMarkers);
 
-            foreach($aTypes as $sType => $aEntries)
-				$oTemplate->{$this->_aTypes[($bStudio && $bModule ? 'studio_' : '') . $sType]}($aEntries);
+            if($bModule)
+            	$oModule->_oTemplate->$sMethod($sContent);
+            else
+            	$oTemplateSystem->$sMethod($sContent);
         }
     }
 }

+ 1 - 1
inc/classes/BxDolPreloaderQuery.php

@@ -22,7 +22,7 @@ class BxDolPreloaderQuery extends BxDolDb
         $sKey = 'bx_dol_cache_memory_preloader_entries';
 
         if(!isset($GLOBALS[$sKey]))
-            $GLOBALS[$sKey] = $this->fromCache('sys_preloader_entries', 'getAll', "SELECT * FROM `sys_preloader` WHERE `active`='1'");
+            $GLOBALS[$sKey] = $this->fromCache('sys_preloader_entries', 'getAll', "SELECT * FROM `sys_preloader` WHERE `active`='1' ORDER BY `type`, `order`");
 
         return $GLOBALS[$sKey];
     }

+ 52 - 51
install/sql/system.sql

@@ -4391,60 +4391,61 @@ CREATE TABLE IF NOT EXISTS `sys_preloader` (
   `type` varchar(16) NOT NULL,
   `content` varchar(255) NOT NULL,
   `active` tinyint(4) NOT NULL DEFAULT '1',
+  `order` int(11) unsigned NOT NULL default '0',
   PRIMARY KEY (`id`)
 );
 
-INSERT INTO `sys_preloader`(`module`, `type`, `content`, `active`) VALUES
-('system', 'css_system', '{dir_plugins_public}marka/|marka.min.css', 1),
-('system', 'css_system', '{dir_plugins_public}at.js/css/|jquery.atwho.min.css', 1),
-('system', 'css_system', '{dir_plugins_public}prism/|prism.css', 1),
-('system', 'css_system', 'common.css', 1),
-('system', 'css_system', 'default.less', 1),
-('system', 'css_system', 'general.css', 1),
-('system', 'css_system', 'icons.css', 1),
-('system', 'css_system', 'colors.css', 1),
-('system', 'css_system', 'forms.css', 1),
-('system', 'css_system', 'media-desktop.css', 1),
-('system', 'css_system', 'media-tablet.css', 1),
-('system', 'css_system', 'media-phone.css', 1),
-('system', 'css_system', 'media-print.css', 1),
-('system', 'css_system', 'cmts.css', 1),
-('system', 'css_system', 'favorite.css', 1),
-('system', 'css_system', 'feature.css', 1),
-('system', 'css_system', 'report.css', 1),
-('system', 'css_system', 'score.css', 1),
-('system', 'css_system', 'view.css', 1),
-('system', 'css_system', 'vote.css', 1),
-
-('system', 'js_system', 'jquery/jquery.min.js', 1),
-('system', 'js_system', 'jquery/jquery-migrate.min.js', 1),
-('system', 'js_system', 'jquery-ui/jquery.ui.position.min.js', 1),
-('system', 'js_system', 'jquery.easing.js', 1),
-('system', 'js_system', 'jquery.cookie.min.js', 1),
-('system', 'js_system', 'jquery.form.min.js', 1),
-('system', 'js_system', 'spin.min.js', 1),
-('system', 'js_system', 'moment-with-locales.min.js', 1),
-('system', 'js_system', 'marka/marka.min.js', 1),
-('system', 'js_system', 'headroom.min.js', 1),
-('system', 'js_system', 'at.js/js/jquery.atwho.min.js', 1),
-('system', 'js_system', 'prism/prism.js', 1),
-('system', 'js_system', 'functions.js', 1),
-('system', 'js_system', 'jquery.webForms.js', 1),
-('system', 'js_system', 'jquery.dolPopup.js', 1),
-('system', 'js_system', 'jquery.dolConverLinks.js', 1),
-('system', 'js_system', 'jquery.anim.js', 1),
-('system', 'js_system', 'BxDolCmts.js', 1),
-('system', 'js_system', 'BxDolFavorite.js', 1),
-('system', 'js_system', 'BxDolFeature.js', 1),
-('system', 'js_system', 'BxDolReport.js', 1),
-('system', 'js_system', 'BxDolScore.js', 1),
-('system', 'js_system', 'BxDolView.js', 1),
-('system', 'js_system', 'BxDolVote.js', 1),
-
-('system', 'js_translation', '_Are_you_sure', 1),
-('system', 'js_translation', '_error occured', 1),
-('system', 'js_translation', '_sys_loading', 1),
-('system', 'js_translation', '_copyright', 1);
+INSERT INTO `sys_preloader`(`module`, `type`, `content`, `active`, `order`) VALUES
+('system', 'css_system', '{dir_plugins_public}marka/|marka.min.css', 1, 1),
+('system', 'css_system', '{dir_plugins_public}at.js/css/|jquery.atwho.min.css', 1, 2),
+('system', 'css_system', '{dir_plugins_public}prism/|prism.css', 1, 3),
+('system', 'css_system', 'common.css', 1, 10),
+('system', 'css_system', 'default.less', 1, 11),
+('system', 'css_system', 'general.css', 1, 12),
+('system', 'css_system', 'icons.css', 1, 13),
+('system', 'css_system', 'colors.css', 1, 14),
+('system', 'css_system', 'forms.css', 1, 15),
+('system', 'css_system', 'media-desktop.css', 1, 20),
+('system', 'css_system', 'media-tablet.css', 1, 21),
+('system', 'css_system', 'media-phone.css', 1, 22),
+('system', 'css_system', 'media-print.css', 1, 23),
+('system', 'css_system', 'cmts.css', 1, 30),
+('system', 'css_system', 'favorite.css', 1, 31),
+('system', 'css_system', 'feature.css', 1, 32),
+('system', 'css_system', 'report.css', 1, 33),
+('system', 'css_system', 'score.css', 1, 34),
+('system', 'css_system', 'view.css', 1, 35),
+('system', 'css_system', 'vote.css', 1, 36),
+
+('system', 'js_system', 'jquery/jquery.min.js', 1, 1),
+('system', 'js_system', 'jquery/jquery-migrate.min.js', 1, 2),
+('system', 'js_system', 'jquery-ui/jquery.ui.position.min.js', 1, 3),
+('system', 'js_system', 'jquery.easing.js', 1, 4),
+('system', 'js_system', 'jquery.cookie.min.js', 1, 5),
+('system', 'js_system', 'jquery.form.min.js', 1, 6),
+('system', 'js_system', 'spin.min.js', 1, 7),
+('system', 'js_system', 'moment-with-locales.min.js', 1, 8),
+('system', 'js_system', 'marka/marka.min.js', 1, 9),
+('system', 'js_system', 'headroom.min.js', 1, 10),
+('system', 'js_system', 'at.js/js/jquery.atwho.min.js', 1, 11),
+('system', 'js_system', 'prism/prism.js', 1, 12),
+('system', 'js_system', 'functions.js', 1, 20),
+('system', 'js_system', 'jquery.webForms.js', 1, 21),
+('system', 'js_system', 'jquery.dolPopup.js', 1, 22),
+('system', 'js_system', 'jquery.dolConverLinks.js', 1, 23),
+('system', 'js_system', 'jquery.anim.js', 1, 24),
+('system', 'js_system', 'BxDolCmts.js', 1, 30),
+('system', 'js_system', 'BxDolFavorite.js', 1, 31),
+('system', 'js_system', 'BxDolFeature.js', 1, 32),
+('system', 'js_system', 'BxDolReport.js', 1, 33),
+('system', 'js_system', 'BxDolScore.js', 1, 34),
+('system', 'js_system', 'BxDolView.js', 1, 35),
+('system', 'js_system', 'BxDolVote.js', 1, 36),
+
+('system', 'js_translation', '_Are_you_sure', 1, 1),
+('system', 'js_translation', '_error occured', 1, 2),
+('system', 'js_translation', '_sys_loading', 1, 3),
+('system', 'js_translation', '_copyright', 1, 4);
             
 -- --------------------------------------------------------