From 07dc0f74569f5ad990f34c01944fe5a93181a26d Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 20 Apr 2016 16:43:14 +0200 Subject: * upgrade to Prado 3.3.1 --- lib/prado/framework/PradoBase.php | 4 +- .../Web/Javascripts/source/prado/prado.js | 2 +- lib/prado/framework/Web/UI/WebControls/TStyle.php | 1 + lib/prado/framework/pradolite.php | 60 ++++++++++++++++++++-- 4 files changed, 59 insertions(+), 8 deletions(-) (limited to 'lib/prado/framework') diff --git a/lib/prado/framework/PradoBase.php b/lib/prado/framework/PradoBase.php index 7cd2618..34f8bf0 100644 --- a/lib/prado/framework/PradoBase.php +++ b/lib/prado/framework/PradoBase.php @@ -69,7 +69,7 @@ class PradoBase */ public static function getVersion() { - return '3.3.0'; + return '3.3.1'; } /** @@ -104,7 +104,7 @@ class PradoBase */ public static function autoload($className) { - include_once($className.self::CLASS_FILE_EXT); + @include_once($className.self::CLASS_FILE_EXT); } /** diff --git a/lib/prado/framework/Web/Javascripts/source/prado/prado.js b/lib/prado/framework/Web/Javascripts/source/prado/prado.js index 0a1c485..3778903 100644 --- a/lib/prado/framework/Web/Javascripts/source/prado/prado.js +++ b/lib/prado/framework/Web/Javascripts/source/prado/prado.js @@ -271,7 +271,7 @@ var Prado = * Version of Prado clientscripts * @var Version */ - Version: '3.3.0', + Version: '3.3.1', /** * Registry for Prado components diff --git a/lib/prado/framework/Web/UI/WebControls/TStyle.php b/lib/prado/framework/Web/UI/WebControls/TStyle.php index f6d91e9..799af51 100644 --- a/lib/prado/framework/Web/UI/WebControls/TStyle.php +++ b/lib/prado/framework/Web/UI/WebControls/TStyle.php @@ -73,6 +73,7 @@ class TStyle extends TComponent */ public function __construct($style=null) { + parent::__construct(); if($style!==null) $this->copyFrom($style); } diff --git a/lib/prado/framework/pradolite.php b/lib/prado/framework/pradolite.php index 4a6de98..6cbcb39 100644 --- a/lib/prado/framework/pradolite.php +++ b/lib/prado/framework/pradolite.php @@ -1,7 +1,7 @@ _page=$owner; @@ -7186,6 +7190,52 @@ class TClientScriptManager extends TApplicationComponent $params=func_get_args(); $this->_page->registerCachingAction('Page.ClientScript','registerFocusControl',$params); } + public function registerPradoStyle($name) + { + $this->registerPradoStyleInternal($name); + $params=func_get_args(); + $this->_page->registerCachingAction('Page.ClientScript','registerPradoStyle',$params); + } + protected function registerPradoStyleInternal($name) + { + if(!isset($this->_registeredPradoStyles[$name])) + { + $base = $this->getPradoScriptAssetUrl(); + if(self::$_pradoStyles === null) + { + $packageFile = Prado::getFrameworkPath().DIRECTORY_SEPARATOR.self::CSS_PACKAGES_FILE; + list($packages,$deps)= include($packageFile); + self::$_pradoStyles = $deps; + self::$_pradoStylePackages = $packages; + } + if (isset(self::$_pradoStyles[$name])) + $this->_registeredPradoStyles[$name]=true; + else + throw new TInvalidOperationException('csmanager_pradostyle_invalid',$name); + if(($packages=array_keys($this->_registeredPradoStyles))!==array()) + { + $base = Prado::getFrameworkPath().DIRECTORY_SEPARATOR.self::SCRIPT_PATH; + list($path,$baseUrl)=$this->getPackagePathUrl($base); + $packagesUrl=array(); + $isDebug=$this->getApplication()->getMode()===TApplicationMode::Debug; + foreach ($packages as $p) + { + foreach (self::$_pradoStyles[$p] as $dep) + { + foreach (self::$_pradoStylePackages[$dep] as $style) + if (!isset($this->_expandedPradoStyles[$style])) + { + $this->_expandedPradoStyles[$style] = true; + if (!in_array($url=$baseUrl.'/'.$style,$packagesUrl)) + $packagesUrl[]=$url; + } + } + } + foreach($packagesUrl as $url) + $this->registerStyleSheetFile($url,$url); + } + } + } public function registerStyleSheetFile($key,$url,$media='') { if($media==='') -- cgit v1.2.3