summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/prado/COPYRIGHT2
-rw-r--r--lib/prado/HISTORY3
-rw-r--r--lib/prado/UPGRADE7
-rw-r--r--lib/prado/framework/PradoBase.php4
-rw-r--r--lib/prado/framework/Web/Javascripts/source/prado/prado.js2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TStyle.php1
-rw-r--r--lib/prado/framework/pradolite.php60
7 files changed, 69 insertions, 10 deletions
diff --git a/lib/prado/COPYRIGHT b/lib/prado/COPYRIGHT
index 42d357a..480b30f 100644
--- a/lib/prado/COPYRIGHT
+++ b/lib/prado/COPYRIGHT
@@ -1,7 +1,7 @@
The PRADO framework and the included demos are free software.
They are released under the terms of the following BSD License.
-Copyright 2004-2015, The PRADO Group (https://github.com/pradosoft)
+Copyright 2004-2016, The PRADO Group (https://github.com/pradosoft)
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/lib/prado/HISTORY b/lib/prado/HISTORY
index 3679f27..89cea5c 100644
--- a/lib/prado/HISTORY
+++ b/lib/prado/HISTORY
@@ -1,4 +1,4 @@
-Version 3.3.1 XXX XX, 2016
+Version 3.3.1 April 19, 2016
BUG: Issue #540 - Fix TActiveFileUpload on IE11 (ctrlaltca)
BUG: Issue #574 - Fix TActiveCustomValidator validation after error (ctrlaltca)
@@ -15,6 +15,7 @@ BUG: TJuiDialog: avoid "cannot call methods on dialog prior to initialization" e
BUG: Fix callback update of TActiveCheckBoxList when initially empty (LCSKJ)
ENH: Issue #562 - Added TClientStyleSheet::PradoStyles (ctrlaltca)
ENH: Issue #569 - Improved TJavascriptLogger / browser console logging of errors (ctrlaltca)
+ENH: Issue #587 - Misc fixes for PHP7 compatibility (emkael)
ENH: Applied some misc optimizations to class serialization (ctrlaltca)
ENH: Intercept fatal errors using register_shutdown_function (ctrlaltca)
ENH: Activecontrols: avoid updating client side if the value didn't change (ctrlaltca)
diff --git a/lib/prado/UPGRADE b/lib/prado/UPGRADE
index e445c32..1230a15 100644
--- a/lib/prado/UPGRADE
+++ b/lib/prado/UPGRADE
@@ -9,6 +9,13 @@ if you want to upgrade from version A to version C and there is
version B between A and C, you need to following the instructions
for both A and B.
+Upgrading from v3.3.0
+---------------------
+- The long-time deprecated 'MySQL' translation source has been removed.
+ The 'Database' source can be used instead, specifying a valid ConnectionID
+ in the source parameter:
+ <translation type="Database" source="db1" autosave="true" cache="false" />
+
Upgrading from v3.2.x
---------------------
- Since PRADO 3.3.0, jQuery is the javascript framework of choice. All the existing PRADO controls have
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 @@
<?php
/**
* File Name: pradolite.php
- * Last Update: 2016/03/09 11:34:32
+ * Last Update: 2016/04/19 16:01:56
* Generated By: buildscripts/phpbuilder/build.php
*
* This file is used in lieu of prado.php to boost PRADO application performance.
@@ -25,19 +25,18 @@ class PradoBase
protected static $classExists = array();
public static function getVersion()
{
- return '3.3.0';
+ return '3.3.1';
}
public static function initErrorHandlers()
{
set_error_handler(array('PradoBase','phpErrorHandler'));
register_shutdown_function(array('PradoBase','phpFatalErrorHandler'));
set_exception_handler(array('PradoBase','exceptionHandler'));
+ ini_set('display_errors', 0);
}
public static function autoload($className)
{
- include_once($className.self::CLASS_FILE_EXT);
- if(!class_exists($className,false) && !interface_exists($className,false))
- self::fatalError("Class file for '$className' cannot be found.");
+ @include_once($className.self::CLASS_FILE_EXT);
}
public static function poweredByPrado($logoType=0)
{
@@ -6996,6 +6995,7 @@ class TClientScriptManager extends TApplicationComponent
{
const SCRIPT_PATH='Web/Javascripts/source';
const PACKAGES_FILE='Web/Javascripts/packages.php';
+ const CSS_PACKAGES_FILE='Web/Javascripts/css-packages.php';
private $_page;
private $_hiddenFields=array();
private $_beginScripts=array();
@@ -7008,9 +7008,13 @@ class TClientScriptManager extends TApplicationComponent
private $_registeredPradoScripts=array();
private static $_pradoScripts;
private static $_pradoPackages;
+ private $_registeredPradoStyles=array();
+ private static $_pradoStyles;
+ private static $_pradoStylePackages;
private $_renderedHiddenFields;
private $_renderedScriptFiles=array();
private $_expandedPradoScripts;
+ private $_expandedPradoStyles;
public function __construct(TPage $owner)
{
$this->_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==='')