summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2016-04-07 16:09:16 +0200
committeremkael <emkael@tlen.pl>2016-04-07 16:09:16 +0200
commitd42b25cbf6d3f1e51cb2a3149f1ff54cc5474bc9 (patch)
tree96b734357392d6094cfc5f8284ad8f2578b96b7f
parentac6c2b9c4f787dfdfa00547f764c77d80dad14c0 (diff)
* Prado upgrade (to 3.3.r6b8e6601752b21a8a96c385a5529bbec7bb2b408)
-rw-r--r--lib/prado/HISTORY979
-rw-r--r--lib/prado/README.md112
-rw-r--r--lib/prado/UPGRADE301
-rwxr-xr-xlib/prado/bin/prado-cli.php2
-rw-r--r--lib/prado/framework/Caching/TAPCCache.php2
-rw-r--r--lib/prado/framework/Caching/TCache.php2
-rw-r--r--lib/prado/framework/Caching/TDbCache.php2
-rw-r--r--lib/prado/framework/Caching/TEACache.php2
-rw-r--r--lib/prado/framework/Caching/TMemCache.php2
-rw-r--r--lib/prado/framework/Caching/TSqliteCache.php2
-rw-r--r--lib/prado/framework/Caching/TXCache.php2
-rw-r--r--lib/prado/framework/Collections/TAttributeCollection.php15
-rw-r--r--lib/prado/framework/Collections/TDummyDataSource.php2
-rw-r--r--lib/prado/framework/Collections/TList.php75
-rw-r--r--lib/prado/framework/Collections/TListItemCollection.php2
-rw-r--r--lib/prado/framework/Collections/TMap.php89
-rw-r--r--lib/prado/framework/Collections/TPagedDataSource.php2
-rw-r--r--lib/prado/framework/Collections/TPagedList.php4
-rw-r--r--lib/prado/framework/Collections/TPriorityList.php2
-rw-r--r--lib/prado/framework/Collections/TPriorityMap.php2
-rw-r--r--lib/prado/framework/Collections/TQueue.php2
-rw-r--r--lib/prado/framework/Collections/TStack.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Exceptions/TActiveRecordException.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordBelongsTo.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasMany.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasManyAssociation.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasOne.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelation.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelationContext.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TIbmScaffoldInput.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMssqlScaffoldInput.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMysqlScaffoldInput.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TPgsqlScaffoldInput.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputBase.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputCommon.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TSqliteScaffoldInput.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldEditView.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldListView.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldSearch.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldView.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/TActiveRecord.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/TActiveRecordConfig.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/TActiveRecordCriteria.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/TActiveRecordGateway.php2
-rw-r--r--lib/prado/framework/Data/ActiveRecord/TActiveRecordManager.php2
-rw-r--r--lib/prado/framework/Data/Common/Mssql/TMssqlCommandBuilder.php2
-rw-r--r--lib/prado/framework/Data/Common/Mssql/TMssqlMetaData.php2
-rw-r--r--lib/prado/framework/Data/Common/Mssql/TMssqlTableColumn.php2
-rw-r--r--lib/prado/framework/Data/Common/Mssql/TMssqlTableInfo.php2
-rw-r--r--lib/prado/framework/Data/Common/Mysql/TMysqlCommandBuilder.php2
-rw-r--r--lib/prado/framework/Data/Common/Mysql/TMysqlMetaData.php2
-rw-r--r--lib/prado/framework/Data/Common/Mysql/TMysqlTableColumn.php2
-rw-r--r--lib/prado/framework/Data/Common/Mysql/TMysqlTableInfo.php2
-rw-r--r--lib/prado/framework/Data/Common/Oracle/TOracleCommandBuilder.php2
-rw-r--r--lib/prado/framework/Data/Common/Oracle/TOracleMetaData.php2
-rw-r--r--lib/prado/framework/Data/Common/Oracle/TOracleTableColumn.php2
-rw-r--r--lib/prado/framework/Data/Common/Oracle/TOracleTableInfo.php2
-rw-r--r--lib/prado/framework/Data/Common/Pgsql/TPgsqlCommandBuilder.php2
-rw-r--r--lib/prado/framework/Data/Common/Pgsql/TPgsqlMetaData.php2
-rw-r--r--lib/prado/framework/Data/Common/Pgsql/TPgsqlTableColumn.php2
-rw-r--r--lib/prado/framework/Data/Common/Pgsql/TPgsqlTableInfo.php2
-rw-r--r--lib/prado/framework/Data/Common/Sqlite/TSqliteCommandBuilder.php2
-rw-r--r--lib/prado/framework/Data/Common/Sqlite/TSqliteMetaData.php2
-rw-r--r--lib/prado/framework/Data/Common/Sqlite/TSqliteTableColumn.php2
-rw-r--r--lib/prado/framework/Data/Common/Sqlite/TSqliteTableInfo.php2
-rw-r--r--lib/prado/framework/Data/Common/TDbCommandBuilder.php2
-rw-r--r--lib/prado/framework/Data/Common/TDbMetaData.php2
-rw-r--r--lib/prado/framework/Data/Common/TDbTableColumn.php2
-rw-r--r--lib/prado/framework/Data/Common/TDbTableInfo.php2
-rw-r--r--lib/prado/framework/Data/DataGateway/TDataGatewayCommand.php2
-rw-r--r--lib/prado/framework/Data/DataGateway/TSqlCriteria.php2
-rw-r--r--lib/prado/framework/Data/DataGateway/TTableGateway.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TDiscriminator.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TInlineParameterMapParser.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TParameterMap.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TParameterProperty.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TResultMap.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TResultProperty.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TSimpleDynamicParser.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TSqlMapCacheModel.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TSqlMapStatement.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Configuration/TSqlMapXmlConfiguration.php4
-rw-r--r--lib/prado/framework/Data/SqlMap/DataMapper/TFastSqlMapApplicationCache.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/DataMapper/TLazyLoadList.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/DataMapper/TPropertyAccess.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapCache.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapTypeHandlerRegistry.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TCachingStatement.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TDeleteMappedStatement.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TInsertMappedStatement.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TMappedStatement.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TPreparedCommand.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TPreparedStatement.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TPreparedStatementFactory.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TSelectMappedStatement.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TSimpleDynamicSql.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TStaticSql.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/Statements/TUpdateMappedStatement.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/TSqlMapConfig.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/TSqlMapGateway.php2
-rw-r--r--lib/prado/framework/Data/SqlMap/TSqlMapManager.php2
-rw-r--r--lib/prado/framework/Data/TDataSourceConfig.php2
-rw-r--r--lib/prado/framework/Data/TDbCommand.php6
-rw-r--r--lib/prado/framework/Data/TDbConnection.php2
-rw-r--r--lib/prado/framework/Data/TDbDataReader.php2
-rw-r--r--lib/prado/framework/Data/TDbTransaction.php2
-rw-r--r--lib/prado/framework/Exceptions/TErrorHandler.php9
-rw-r--r--lib/prado/framework/Exceptions/TException.php13
-rw-r--r--lib/prado/framework/Exceptions/messages/messages.txt1
-rw-r--r--lib/prado/framework/I18N/TChoiceFormat.php2
-rw-r--r--lib/prado/framework/I18N/TDateFormat.php2
-rw-r--r--lib/prado/framework/I18N/TGlobalization.php2
-rw-r--r--lib/prado/framework/I18N/TGlobalizationAutoDetect.php2
-rw-r--r--lib/prado/framework/I18N/TI18NControl.php2
-rw-r--r--lib/prado/framework/I18N/TNumberFormat.php2
-rw-r--r--lib/prado/framework/I18N/TTranslate.php2
-rw-r--r--lib/prado/framework/I18N/TTranslateParameter.php2
-rw-r--r--lib/prado/framework/I18N/Translation.php2
-rw-r--r--lib/prado/framework/I18N/core/TCache_Lite.php9
-rw-r--r--lib/prado/framework/IO/TTextWriter.php2
-rw-r--r--lib/prado/framework/PradoBase.php29
-rw-r--r--lib/prado/framework/Security/IUserManager.php2
-rw-r--r--lib/prado/framework/Security/TAuthManager.php2
-rw-r--r--lib/prado/framework/Security/TAuthorizationRule.php2
-rw-r--r--lib/prado/framework/Security/TDbUserManager.php2
-rw-r--r--lib/prado/framework/Security/TSecurityManager.php2
-rw-r--r--lib/prado/framework/Security/TUser.php2
-rw-r--r--lib/prado/framework/Security/TUserManager.php2
-rw-r--r--lib/prado/framework/TApplication.php2
-rw-r--r--lib/prado/framework/TApplicationComponent.php2
-rw-r--r--lib/prado/framework/TComponent.php25
-rw-r--r--lib/prado/framework/TModule.php2
-rw-r--r--lib/prado/framework/TService.php2
-rw-r--r--lib/prado/framework/TShellApplication.php2
-rw-r--r--lib/prado/framework/Util/TCallChain.php4
-rw-r--r--lib/prado/framework/Util/TDataFieldAccessor.php2
-rw-r--r--lib/prado/framework/Util/TDateTimeStamp.php2
-rw-r--r--lib/prado/framework/Util/TLogRouter.php2
-rw-r--r--lib/prado/framework/Util/TLogger.php2
-rw-r--r--lib/prado/framework/Util/TParameterModule.php2
-rw-r--r--lib/prado/framework/Util/TSimpleDateFormatter.php2
-rw-r--r--lib/prado/framework/Util/TVarDumper.php2
-rw-r--r--lib/prado/framework/Web/Javascripts/TJavaScript.php2
-rw-r--r--lib/prado/framework/Web/Javascripts/css-packages.php93
-rw-r--r--lib/prado/framework/Web/Javascripts/packages.php2
-rw-r--r--lib/prado/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js4
-rwxr-xr-xlib/prado/framework/Web/Javascripts/source/prado/activefileupload/activefileupload.js2
-rw-r--r--lib/prado/framework/Web/Javascripts/source/prado/prado.js6
-rw-r--r--lib/prado/framework/Web/Javascripts/source/prado/validator/validation3.js84
-rw-r--r--lib/prado/framework/Web/Services/TFeedService.php2
-rw-r--r--lib/prado/framework/Web/Services/TJsonService.php2
-rw-r--r--lib/prado/framework/Web/Services/TPageService.php2
-rw-r--r--lib/prado/framework/Web/Services/TSoapService.php2
-rw-r--r--lib/prado/framework/Web/TAssetManager.php2
-rw-r--r--lib/prado/framework/Web/TCacheHttpSession.php2
-rw-r--r--lib/prado/framework/Web/THttpRequest.php4
-rw-r--r--lib/prado/framework/Web/THttpResponse.php2
-rw-r--r--lib/prado/framework/Web/THttpResponseAdapter.php2
-rw-r--r--lib/prado/framework/Web/THttpSession.php2
-rw-r--r--lib/prado/framework/Web/THttpUtility.php2
-rw-r--r--lib/prado/framework/Web/TUrlManager.php2
-rw-r--r--lib/prado/framework/Web/TUrlMapping.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveButton.php5
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBox.php8
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBoxList.php13
-rwxr-xr-xlib/prado/framework/Web/UI/ActiveControls/TActiveClientScript.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveControlAdapter.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveCustomValidator.php11
-rwxr-xr-xlib/prado/framework/Web/UI/ActiveControls/TActiveDatePicker.php5
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveDropDownList.php2
-rwxr-xr-xlib/prado/framework/Web/UI/ActiveControls/TActiveFileUpload.php3
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveHiddenField.php5
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveHyperLink.php14
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveImage.php14
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveImageButton.php14
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveLabel.php8
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveLinkButton.php8
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveListBox.php5
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveMultiView.php12
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActivePageAdapter.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActivePager.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActivePanel.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButton.php8
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveRatingList.php11
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TActiveTextBox.php5
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TAutoComplete.php6
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TBaseActiveControl.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TCallback.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TCallbackClientScript.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TCallbackClientSide.php19
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TCallbackEventParameter.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TCallbackOptions.php2
-rwxr-xr-xlib/prado/framework/Web/UI/ActiveControls/TCallbackResponseAdapter.php2
-rwxr-xr-xlib/prado/framework/Web/UI/ActiveControls/TDraggable.php4
-rwxr-xr-xlib/prado/framework/Web/UI/ActiveControls/TDropContainer.php5
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TEventTriggeredCallback.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TInPlaceTextBox.php10
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TTimeTriggeredCallback.php6
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TTriggeredCallback.php2
-rw-r--r--lib/prado/framework/Web/UI/ActiveControls/TValueTriggeredCallback.php2
-rw-r--r--lib/prado/framework/Web/UI/JuiControls/TJuiAutoComplete.php4
-rw-r--r--lib/prado/framework/Web/UI/JuiControls/TJuiControlOptions.php2
-rw-r--r--lib/prado/framework/Web/UI/JuiControls/TJuiDialog.php2
-rw-r--r--lib/prado/framework/Web/UI/TCachePageStatePersister.php2
-rw-r--r--lib/prado/framework/Web/UI/TClientScriptManager.php90
-rw-r--r--lib/prado/framework/Web/UI/TCompositeControl.php2
-rw-r--r--lib/prado/framework/Web/UI/TControl.php17
-rw-r--r--lib/prado/framework/Web/UI/TControlAdapter.php2
-rw-r--r--lib/prado/framework/Web/UI/TForm.php2
-rw-r--r--lib/prado/framework/Web/UI/THtmlWriter.php2
-rw-r--r--lib/prado/framework/Web/UI/TPage.php2
-rw-r--r--lib/prado/framework/Web/UI/TPageStatePersister.php2
-rw-r--r--lib/prado/framework/Web/UI/TSessionPageStatePersister.php2
-rw-r--r--lib/prado/framework/Web/UI/TTemplateControl.php2
-rw-r--r--lib/prado/framework/Web/UI/TTemplateManager.php2
-rw-r--r--lib/prado/framework/Web/UI/TThemeManager.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TAccordion.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TBaseDataList.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TBaseValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TBoundColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TBulletedList.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TButton.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TButtonColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TCaptcha.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TCaptchaValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TCheckBox.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TCheckBoxColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TCheckBoxList.php16
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TClientScript.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TColorPicker.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TCompareValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TConditional.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TContent.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TContentPlaceHolder.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TCustomValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataBoundControl.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataGrid.php4
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataGridColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataGridItemRenderer.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataGridPagerStyle.php31
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataList.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataListItemRenderer.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataRenderer.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataSourceControl.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataSourceView.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDataTypeValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDatePicker.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDropDownList.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TDropDownListColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TEditCommandColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TEmailAddressValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TExpression.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TFileUpload.php3
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TFont.php19
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THead.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THeader1.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THeader2.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THeader3.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THeader4.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THeader5.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THeader6.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THiddenField.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THtmlArea.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THtmlArea4.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THtmlElement.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THyperLink.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/THyperLinkColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TImage.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TImageButton.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TImageMap.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TInlineFrame.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TItemDataRenderer.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TJavascriptLogger.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TKeyboard.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TLabel.php4
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TLinkButton.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TListBox.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TListControl.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TListControlValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TListItem.php31
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TLiteral.php4
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TLiteralColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TMarkdown.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TMultiView.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TOutputCache.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TPager.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TPanel.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TPanelStyle.php23
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TPlaceHolder.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRadioButton.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRadioButtonList.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRangeValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRatingList.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TReCaptcha2.php364
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TReCaptcha2Validator.php110
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TReCaptchaValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRegularExpressionValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRepeatInfo.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRepeater.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRepeaterItemRenderer.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TRequiredFieldValidator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TSafeHtml.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TSlider.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TStatements.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TStyle.php63
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TStyleSheet.php48
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTabPanel.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTable.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTableCell.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTableFooterRow.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTableHeaderCell.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTableHeaderRow.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTableRow.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTemplateColumn.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTextBox.php4
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTextHighlighter.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TTextProcessor.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TValidationSummary.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TWebControl.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TWebControlAdapter.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TWebControlDecorator.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TWizard.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TWizardNavigationButtonStyle.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/TXmlTransform.php2
-rw-r--r--lib/prado/framework/Web/UI/WebControls/assets/captcha.php2
-rw-r--r--lib/prado/framework/Wsat/TWsatARGenerator.php2
-rw-r--r--lib/prado/framework/Wsat/TWsatBaseGenerator.php2
-rw-r--r--lib/prado/framework/Wsat/TWsatScaffoldingGenerator.php2
-rw-r--r--lib/prado/framework/Wsat/TWsatService.php2
-rw-r--r--lib/prado/framework/Wsat/pages/TWsatGenerateAR.php2
-rw-r--r--lib/prado/framework/Wsat/pages/TWsatHome.php2
-rw-r--r--lib/prado/framework/Wsat/pages/TWsatLogin.php2
-rw-r--r--lib/prado/framework/Wsat/pages/TWsatScaffolding.php2
-rw-r--r--lib/prado/framework/Xml/TXmlDocument.php4
-rw-r--r--lib/prado/framework/interfaces.php2
-rw-r--r--lib/prado/framework/prado.php2
-rw-r--r--lib/prado/framework/pradolite.php173
-rw-r--r--lib/prado/requirements/index.php2
342 files changed, 3020 insertions, 615 deletions
diff --git a/lib/prado/HISTORY b/lib/prado/HISTORY
new file mode 100644
index 0000000..ea1c889
--- /dev/null
+++ b/lib/prado/HISTORY
@@ -0,0 +1,979 @@
+Version 3.3.1 XXX XX, 2016
+
+BUG: Issue #540 - Fix TActiveFileUpload on IE11 (ctrlaltca)
+BUG: Issue #574 - Fix TActiveCustomValidator validation after error (ctrlaltca)
+BUG: Issue #581 - TActiveFileUpload loses track of LocalName for a moment (emkael)
+BUG: Issue #582 - Prado autoloader breaks class_exists conditionals (ctrlaltca)
+BUG: TJuiAutoComplete: fix parsing of suggestions (ctrlaltca)
+BUG: Fix callback for controls with PostState=false (ctrlaltca)
+BUG: Fix stopping even propagation on javascript events (ctrlaltca)
+BUG: Fix callback loading for dynamically created JuiControls (ctrlaltca)
+BUG: Fix ClientSide.RequestTimeOut on active controls (ctrlaltca)
+BUG: Fix error reporting for not-existing property set on TJuiControl (ctrlaltca)
+BUG: TJuiDialog: avoid "cannot call methods on dialog prior to initialization" error (ctrlaltca)
+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: 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)
+ENH: Added TReCaptcha2 / TReCaptcha2Validator (camilohaze)
+
+Version 3.3.0 February 15, 2016
+
+CHG: Added jQuery and rebased PRADO's effect and controls on it (ctrlaltca)
+ENH: Added jQueryUI and created new controls (ctrlaltca)
+ENH: Added Bootstrap3 (daniel)
+BUG: Issue #558 - TActiveFileUpload escaping ' in file names (ctrlaltca)
+BUG: Issue #550 - TActivePager not working correctly on XAMP 5.6.3 (LCSKJ)
+BUG: Issue #549 - TSqlCriteria, not possible to reset value of condition (majuca)
+BUG: Issue #542 - Fix clientside validation in TActiveCustomValidator (majuca)
+BUG: Issue #546 - Wrong exception messages in TAccordion (david0)
+ENH: Issue #545 - Make Prado.Callback return the request (majuca, david0)
+BUG: Issue #543 - Can't set a url mapping pattern class in php config (plachance)
+BUG: Issue #541 - Security - HttpOnly parameter in THttpSession and THttpCookie (ctrlaltca)
+BUG: Issue #539 - Status Code not send when throwing a THttpException (ctrlaltca)
+BUG: Issues #528, 538 - Fix errors in Prado.Validation.validateControl (majuca, david0)
+ENH: Issue #559 - Add support for memcached (majuca)
+
+Version 3.2.4 Aug 26, 2014
+
+BUG: Issue #492 - Prado generates json_error when encoding an exception with non UTF-8 data (david0)
+ENH: Issue #494 - Adding toArray() and toJSON() to TActiveRecord (dmarko484)
+BUG: Issue #498 - Typo in TActiveFileUpload (Jens-mB)
+BUG: Issue #499 - Avoid scrolling when calling TControl::focus() (david0)
+BUG: Issue #502 - TSlider behaves strangely in TTabView (ctrlaltca)
+BUG: Issue #504 - Default Button cannot be referenced by <subControlId>.<controlId> (ctrlaltca)
+BUG: Issue #506 - Unused lines of code in TLiteralColumn::initializeCell (cross)
+BUG: Issue #511 - TActivePager's ButtonCssClass property is not rendered in buttons (ctrlaltca)
+BUG: Issue #515 - THtmlArea should override Readonly property (ctrlaltca)
+BUG: Issue #516 - Check Validators in TActiveEditCommandColumn (ctrlaltca)
+BUG: Issue #517 - TXmlDocument adjustment (gnit)
+BUG: Issue #518 - Runtime Notice in Gettext::factory() (ctrlaltca)
+BUG: Issue #519 - For MySQL in case PDO::CASE_LOWER creating table info does not work (ganiuszka)
+BUG: Issue #246 - Refix: User date() instead of gmdate() in TLogRoute (drigolin)
+BUG: Issue #520 - Unknown runtime error with Internet Explorer 8 (david0)
+BUG: Issue #524 - JSON error (5): Malformed UTF-8 characters when encoding callback response (david0)
+BUG: Issue #526 - TJsonRpcProtocol::callMethod, requested method is called twice (jojoinside)
+BUG: Issue #527 - TJsonRpcProtocol::callMethod, semicolon must be removed (jojoinside)
+ENH: Ported tests to Selenium2
+BUG: Avoid an exception loop on callback error when headers have already been sent (ctrlaltca)
+BUG: Avoid rendering <script> blocks in callbacks (ctrlaltca)
+BUG: Avoid dependency loop between TRadioButton and TRadioButtonList (ctrlaltca)
+ENH: Dropped Markdown for Parsedown (ctrlaltca)
+ENH: Web site administration tool (WSAT) (Daniel Sampedro)
+
+Version 3.2.3 Nov 26, 2013
+
+BUG: Issue #467 - TSafeHtml error on php 5.5 (ctrlaltca)
+BUG: Issue #470 - Problem escaping characters in TActiveDropDownList (ctrlaltca)
+BUG: Issue #468 - Update prototype to workaround IE10 bug (Raoul Bhatia)
+BUG: Issue #469 - JS Update to TDatePicker (Jürgen Aloy)
+BUG: Issue #465 - Textmate editor plugin template error (ctrlaltca)
+BUG: Issue #472 - No https support from wsdl generator (Marcin Piotrowski)
+ENH: Issue #473 - wsdl support for additional attributes of a custom type's property (Marcin Piotrowski)
+BUG: Issue #476 - Demo's don't work out of box (ctrlaltca)
+BUG: Issue #479 - TUrlMapping instanciates patterns twice (ctrlaltca)
+BUG: Issue #480 - THyperLink is not usable using keyboard navigation (david otto)
+BUG: Issue #481 - Typo in composer: ext-eaccellerator (ciromattia)
+BUG: Issue #482 - composer: add include path for prado.php (ciromattia)
+BUG: Issue #484 - Wrong DateTimePatterns for italian culture (ciromattia)
+BUG: Issue #485 - NumberFormat fails if LC_ALL locale provides non-english notation (ciromattia, drigolin)
+EHN: Issue #260 - TComponent Update: Behaviors, Class Behaviors, fx global events, and dy one to one events (javalizard)
+EHN: Issue #292 - Events should have priorities to allow event handler order to be specified (javalizard)
+BUG: TDatePicker can't render css attributes class "datepicker_year_options" (m_rizki_r)
+ENH: Added THtmlArea4 based on TinyMCE4 (ctrlaltca)
+BUG: TDatePicker renders a spurious TTextBox (ctrlaltca)
+
+Version 3.2.2 Jul 20, 2013
+
+ENH: Issue #50 - TUrlMapping - implement caching for loadUrlMappings (ctrlaltca)
+ENH: Issue #433 - Prado object-creation performance micro-optimizations (gabor)
+BUG: Issue #434 - Buttons stops working properly after response->writeFile (ctrlaltca)
+BUG: Issue #435 - TWizard + No ID = Prototype Error (ctrlaltca)
+BUG: Issue #436 - French Canadian date formats should be the same in TDateFormat and TDatePicker (ctrlaltca)
+ENH: Issue #437 - TUrlMapping optimizations: merge DxUrlMapping (gabor)
+ENH: Issue #439 - Module lazy loading (ctrlaltca)
+BUG: Issue #441 - TAccordion's ActiveViewIndex property is not honored on postback (ctrlatca)
+BUG: Issue #442 - TWizard's ShowSideBar property can't be changed from php (ctrlaltca)
+BUG: Issue #444 - Input validation vulnerability in unit test (ctrlaltca)
+BUG: Issue #446 - THtmlArea can't be updated in a callback (ctrlaltca)
+BUG: Issue #447 - Array to string conversion notice in TClientScriptManager (ctrlaltca)
+ENH: Issue #448 - Add TEACache eAccellerator cache module (drigolin)
+BUG: Issue #315 - TEmailAddressValidator regex (ctrlaltca)
+ENH: Issue #454 - TDraggableConstraint missing (ctrlaltca)
+ENH: Issue #455 - Support PDO::sqlsrv to support MS SQL database servers for PHP5.2+ (jonathan.martens)
+ENH: Issue #456 - Add ImageAlign to THyperLink (raoul@bhatia.at)
+ENH: Issue #459 - Add ToolTip and AlternateText to TButtonColumn (raoul@bhatia.at)
+ENH: Issue #451 - TRequiredFieldValidator should (automatically?) consider PromptValue as error (ctrlaltca)
+BUG: Issue #460 - Minor error in TUrlMappingPattern (raoul@bhatia.at)
+BUG: Issue #464 - Do not issue a callback request if an ActiveControl is disabled (ctrlaltca)
+
+Version 3.2.1 Jan 19, 2013
+
+BUG: Issue #44 - [895] SDateFormatter cannot parse date earlier than 1970 (ctrlaltca)
+ENH: Issue #180 - Integrate XMLRPC web service (rojaro)
+BUG: Issue #412 - open_basedir restriction (ctrlaltca)
+BUG: Issue #413 - TActiveDatePicker does not fire TCallbackClientSide's events (ctrlaltca)
+BUG: Issue #414 - ActiveDatagrid's pager does not fire TCallbackClientSide's events (ctrlaltca)
+BUG: Issue #415 - prado-cli throws an error if the application is making use of THttpSession (ctrlaltca)
+BUG: Issue #416 - TJsonService reports the wrong content-type (ctrlaltca)
+BUG: Issue #417 - TActiveCustomValidator and Display=Dynamic not work anymore (sampsa.saarela)
+BUG: Issue #418 - Can't get parameters when friendly url enabled with UrlFormat=Path (sampsa.saarela)
+ENH: Issue #419 - CssClass for PushButtons of TPager (ctrlaltca)
+ENH: Issue #420 - Permit to easily mock TActiveRecordgateway for unit testing (mvschaik)
+BUG: Issue #421 - TAutocomplete not rendering an empty suggestion list (Dario Rigolin)
+BUG: Issue #424 - TDefaultButton broken when multiple TDefaultButton are on the same page (ctrlaltca)
+BUG: Issue #425 - Error generating WSDL (cezarpirajant)
+ENH: Issue #426 - Make TDataFieldAccessor capable to access data in nested arrays (ctrlaltca)
+BUG: Issue #427 - Var name mismatch in TActiveFileUpload.php (piotr.knapik)
+BUG: Issue #428 - Using a TActiveCustomValidator with a TActiveTextBox and AutoPostBack does not work as expected (ctrlaltca)
+BUG: Issue #431 - TReCaptcha does not work well with active controls (Gabor)
+BUG: Issue #432 - Double slash with URL Tags in www root (ctrlaltca)
+
+EHN: Permit to change the default cipher in TSecurityManager::setEncryption(); changed the default cipher from 3DES to AES256 (ctrlaltca)
+EHN: Added a new UrlFormat for TUrlManager: HiddenPath; works like the 'Path' format, but hides the entryscript.php name (ctrlaltca)
+EHN: Use php's hash_hmac() when available in TSecurityManager, and permit the use of all algorithms supported by php (ctrlaltca)
+EHN: Use mbstring when available in TSecurityManager to better handle multibyte text (ctrlaltca)
+EHN: Updated TinyMCE to 3.5.6 (ctrlaltca)
+CHG: Rewrite TDateTimeStamp as a wrapper to php's native DateTime and deprecate it (ctrlaltca)
+CHG: Updated prototype to 1.7.1 (ctrlaltca)
+
+Version 3.2.0 Jun 25, 2012
+BUG: Fixed an inconsistency in TRegularExpressionValidator
+ENH: Update TDraggable::revert property to accept "failure" value (Christophe)
+CHG/ENH: Change behavior of THttpRequest::getBaseUrl() & THttpRequest::getAbsoluteApplicationUrl() to make it possible to force either http or https (Yves)
+EHN: Add property SecureConnection to TUrlMappingPattern and related enum TUrlMappingPatternSecureConnection to make it possible to to define wether to use http or https on pattern level (Yves)
+EHN: Add second parameter to THttpResponse::appendHeader whether the header should replace a previous similar header, or add a second header of the same type (Yves)
+ENH: Add THttpSession::regenerate() to update the current session id with a newly generated one (Yves)
+CHG: Remove TReflectionClass and all references since equals ReflectionClass (Yves)
+CHG: Modify TTemplate::parseAttributes to allow definition of "HTML5 Custom Data Attributes (data-*)" e.g Attributes.data-custom-value="foobar" (Yves)
+EHN: Modify TActiveRecordConfig & TActiveRecordManager to allow custom subclassing of System.Data.ActiveRecord.TActiveRecordManager & System.Data.ActiveRecord.TActiveRecordGateway (Yves)
+EHN: Add methods quoteTableName, quoteColumnName, quoteColumnAlias to TDbMetaData & TDbConnection and add TDbConnection:getDbMetaData [TODO: customize TOracleMetaData] (Yves)
+EHN: Add method getHeaders to THttpRequest & THttpResponse (Yves)
+EHN: Modify TThemeManager to allow custom subclassing of TTheme (Yves)
+ENH: Performance (micro)optimization in TUrlMapping::loadUrlMappings - invoke `getDefaultMappingClass` outside of loop (Yves)
+BUG: TActiveMultiView must update clientside only when necessary to get other active controls work fine inside it (ctrlaltca)
+BUG: TListBox doesn't correctly reports selected indices to serverside on callback
+BUG: TErrorHandler: avoid an error when trying to hide the file path of a lambda function (ctrlaltca)
+BUG: TSecurityManager: avoid a race condition when first generating the encryptionkey or the validationkey (ctrlaltca)
+BUG: TActiveFileUpload: urlencode the base64'ed token since it can contain the "+" character (otherway it would be traslated to a space) (ctrlaltca)
+BUG: TCaptcha: publish images with image/png content-type (ctrlaltca)
+ENH: prado-cli: added generateAll command (darthdaniel85)
+
+BUG: Issue #35 - [840] Capital letters for the initial letter of the directories name (ctrlaltca)
+BUG: Issue #66 - TButton.CausesValidation=False ignored when pressing Enter on the button within a control with DefaultButton (ctrlaltca)
+NEW: Issue #83 - PHP configuration style (Carl)
+BUG: Issue #91 - TActiveCustomValidator can not be updated in JavaScript callback (ctrlaltca)
+ENH: Issue #106 - TJavaScript::jsonEncode and TJavaScript::jsonDecode should use built-in PHP functions (ctrlaltca)
+ENH: Issue #173 - Add "dragdropextra" (supergsting) patch, mouse coordinates and key status to drag & drop controls (Christophe, DevWorx)
+BUG: Issue #179 - Serialization issues in Prado (ctrlaltca)
+BUG: Issue #181 - Reworked a better patch to handle clientside event handling (gabor)
+BUG: Issue #203 - Workaround for ->CallbackClient->click under IE<=8 (ctrlaltca)
+ENH: Issue #210 - Improvement: Auto-switch for TTabPanel (gabor)
+BUG: Issue #232 - Could not change enable-state of TActiveCheckBox via Ajax callback (Christophe)
+ENH: Issue #235 - Progressive rendering not possible (Gabor)
+BUG: Issue #237 - Log at a long time running process (ctrlaltca)
+BUG: Issue #240 - TXCache has wrong flush() implementation (ctrlaltca)
+BUG: Issue #243 - Cross-site scripting issue in TForm (ctrlaltca)
+BUG: Issue #254 - TDbCache should use hash index for the cache key (ctrlaltca)
+BUG: Issue #265 - Using scroll wheel causes NaN values in TDatePicker (Gabor)
+BUG: Issue #275 - THttpResponse::writeFile delivers the wrong content type (ctrlaltca)
+BUG: Issue #283 - constructUrl does not work as before in TShellApplication (ctrlaltca)
+BUG: Issue #284 - Wrong reading of information_schema (ctrlaltca)
+BUG: Issue #301 - Fixed a bug in TActiveFileUpload (ctrlaltca)
+BUG: Issue #314 - T(Active)FileUpload $_errorCode private vs protected (ctrlaltca)
+ENH: Issue #337 - Prado serialization optimizations (Gabor)
+BUG: Issue #341 - TSafeHtmlParser messes up UTF8-encoded strings (ctrlaltca)
+BUG: Issue #342 - TStyle does no accept style values with ":" (ctrlaltca)
+NEW: Issue #345 - Added TReCaptcha control (Gabor)
+BUG: Issue #346 - TJavaScript, TJSON documentation missing/misbehaving (ctrlaltca)
+BUG: Issue #348 - Scripts for dynamically created controls not registered properly in/after a callback (Gabor)
+BUG: Issue #351 - THtmlArea prone to double-registration, doesn't deregister properly (Gabor)
+BUG: Issue #353 - Accordion control behaves oddly if clicked too fast (Gabor)
+BUG: Issue #354 - Oracle MetaData : Nullable/Not Nullable columns inverted (ctrlaltca)
+ENH: Issue #356 - Added a new "Clickable" operating mode to TDatePicker (ctrlaltca)
+BUG: Issue #358 - THtmlArea Insert Image Bug (uacaman)
+BUG: Issue #361 - TActiveListBox multiple selection bug (ctrlaltca)
+BUG: Issue #366 - Use divs instead of spans around tables in TActiveDataGrid (ctrlaltca)
+BUG: Issue #365 - [Runtime Notice] Declaration of T${DriverName}MetaData::quoteTableName() should be compatible with that of TDbMetaData::quoteTableName() (Yves)
+BUG: Issue #367 - Parameterized RegularExpression property in UrlMapping raise TPhpErrorException in DOMDocument::loadXML() (Yves)
+BUG: Issue #368 - Clearing selection of a TActiveDropDownList in callback should select its prompt (ctrlaltca)
+CHG: Issue #370 - Deprecated TSqliteCache since it's based on php's sqlite extension (ctrlaltca)
+BUG: Issue #371 - Sorting on TActiveDataGrid autogenerated column not work (ctrlaltca)
+ENH: Issue #372 - ActiveControls's Visible property should be reflected clientside on ajax requests (ctrlaltca)
+BUG: Issue #375 - Iconv error using htmlarea in TActiveDataList and chars like "áéíóúñ" (ctrlaltca)
+BUG: Issue #377 - THtmlArea Template Pluggin Options Parse Error (ctrlaltca)
+BUG: Issue #379 - JSON float encoding depends on current locale (ctrlaltca)
+BUG: Issue #380 - TCustomValidator's ControlToValidate should be optional (ctrlaltca)
+BUG: Issue #381 - The property CausesValidation in the TActiveDatePicker not work (ctrlaltca)
+BUG: Issue #382 - TJavaScript::quoteString() vulnerable to Unicode strings & TJavaScript::jsonEncode() doesn't check for errors (gabor)
+BUG: Issue #383 - Some THttpRequest methods raise NOTICE level errors on missing headers (gabor)
+BUG: Issue #388 - Output caching will raise error in Performance mode (gabor)
+BUG: Issue #390 - TJavaScript::encode() float encoding depends on current locale (gabor)
+BUG: Issue #391 - TJavaScript::encode() provides no simple way to pass strings in an XSS-safe way (gabor, ctrlaltca)
+BUG: Issue #393 - THttpResponse::redirect() fails if output buffering has been disabled completely (gabor)
+BUG: Issue #394 - TActiveCustomValidator Display Dynamic error or Double Update Value (ctrlaltca)
+BUG: Issue #395 - 'TActiveDatePicker' does not support AutoPostBack. (ctrlaltca)
+BUG: Issue #396 - TApplication warning with is_file php function (ctrlaltca)
+BUG: Issue #399 - ratings.js script always included on pages with postback controls (gabor, ctrlaltca)
+BUG: Issue #400 - FastCGI/Exceptions: Status code not sent to browser (ctrlaltca)
+BUG: Issue #401 - TClientScript doesn't render correctly itself if set visible in callback (ctrlaltca)
+BUG: Issue #402 - Component property 'TDatePickerClientScript.setOnLoading' is not defined. (ctrlaltca)
+BUG: Issue #404 - THtmlArea sometimes not loading properly from callbacks (gabor)
+BUG: Issue #406 - Prado does not allow extension of the application configuration (gabor)
+BUG: Issue #407 - Prado does not allow custom SqlMap data caching strategy/method & has inefficient Basic cache (gabor)
+BUG: Issue #408 - Missing script/stylesheet file(s) halt(s) callback processing (gabor)
+BUG: Issue #410 - Deferred script rendering does not work well with output caching (gabor)
+
+Version 3.1.10 Jul 17, 2011
+BUG: Added missing timeout on TCacheHttpSession (ctrlaltca)
+BUG: Issue#332 - Minor typos (ctrlaltca)
+BUG: Issue#333 - Wrong tracker url on quickstart (ctrlaltca)
+BUG: Issue#334 - Wrong variable acces in TTemplateControlInheritable (ctrlaltca)
+BUG: Issue#335 - setcookie() bug (ctrlaltca)
+BUG: Issue#343 - New TTabPanel breaks compatibility (ctrlaltca)
+BUG: Issue#349 - Security problem in TActiveFileUpload control (Gabor)
+ENH: Merged a bit TPager's view style with TDataGridPager's one adding first/last buttons to TDataGridPagerStyle (ctrlaltca)
+ENH: Reworked the patch for #103 so that it actually fixes the use of TActiveCustomValidator with normal Postback controls (ctrlaltca)
+
+Version 3.1.9 June 3, 2011
+BUG: Issue#280 - Documentation has been updated
+BUG: Issue#311 - TDataList : FooterStyle not used (ctrlaltca)
+BUG: Issue#326 - Translation don't work with Prado 3.1.8 (ctrlaltca)
+BUG: Issue#327 - TDbCache with PostgreSQL throw a TDbException (ctrlaltca)
+NEW: added documentation and samples to the quickstart tutorial to include the active controls (ctrlaltca)
+NEW: Added TTemplateControlInheritable control
+NEW: Added TActiveDataGrid control (LCS Team, Christophe)
+NEW: Added TActiveDataList control (Marcosanobre, Robin)
+NEW: Added TActiveMultiView control (LCS Team)
+NEW: Added TActiveRepeater control (LCS Team, Christophe)
+NEW: Add TActiveTableRow (LCS Team)
+NEW: Add TActiveTableCell (LCS Team)
+
+Version 3.1.8 May 29, 2011
+BUG: Issue#16 - [684] TDatePicker problems (rojaro)
+BUG: Issue#18 - [909] findAllBySql with non-column ORDER BY (rojaro)
+BUG: Issue 58 - TWizard defaults to wrong button (ctrlaltca)
+BUG: Issue#103 - TActiveCustomValidator CallBack problem (rojaro)
+BUG: Issue#133 - Problem with localazing text with entities (rojaro)
+BUG: Issue#134 - XLIFF files have hardcoded source language (rojaro)
+BUG: Issue#181 - Prado client-side flawed - aka Multiple client-side (JS) object instances created for the same single DOM control (uacaman)
+BUG: Issue#226 - TTimerControl fires immediately (rojaro)
+BUG: Issue#227 - Clientscript.php return last-modified date header for scripts (rojaro)
+BUG: Issue#229 - Typo in TCachePageStatePersister.php (Christophe)
+BUG: Issue#230 - TCachingStatement property access not working (rojaro)
+BUG: Issue#232 - Could not change enable-state of TActiveCheckBox via Ajax callback (Christophe)
+BUG: Issue#233 - THtmlWriter flush() doesn't result the contents of the output buffer (rojaro)
+BUG: Issue#234 - Unable to override default HTML writer / pointless THttpResponse::HtmlWriterType (uacaman)
+BUG: Issue#236 - Bug in getIsView() in TOracleMetaData (rojaro)
+BUG: Issue#239 - set_magic_quotes_runtime is deprecate since php 5.3.0 and will be removed in 6.0 (rojaro)
+BUG: Issue#246 - TQueue::peek returns the top not the bottom (Christophe)
+BUG: Issue#261 - TRequiredFieldValidator attached to TCheckBox client side implementation broken in 3.1.7 (ctrlaltca)
+BUG: Issue#268 - String comparison with "=" does not work in Mysql 5.1 (rojaro)
+BUG: Issue#270 - TPage private attribute _restPostData does not allow one to extends TPage (uacaman)
+BUG: Issue#273 - Typo in TURLMapping->getPatternMatches UrlFormat="Path" (rojaro)
+BUG: Issue#276 - TListItemCollection never existed caused by Warning "PradoBase::include_once(TListItemCollection.php)" (rojaro)
+BUG: Issue#277 - Inconsistence in setting 'day' value in TDatePicker (rojaro)
+BUG: Issue#278 - Typo in file TActiveRecordRelation (rojaro)
+BUG: Issue#281 - THtmlArea bad mapping Japanese language (ctrlaltca)
+BUG: Issue#285 - getPathOfNamespace returns cached namespace and ignores ext (rojaro)
+BUG: Issue#286 - TBoundColumn->initializeCell bugs (rojaro)
+BUG: Issue#287 - Inconsistent behavior in TSimpleDateFormatter->parse() (rojaro)
+BUG: Issue#288 - Fixed two bugs in the Translation->init() method (rojaro)
+BUG: Issue#294 - Better handling of missing array parameters in SQLMap (rojaro)
+BUG: Issue#296 - URL tag not being parsed in component attributes (rojaro)
+BUG: Issue#300 - Minor error in TErrorHandler.php (rojaro)
+BUG: Issue#301 - TActiveFileUpload problems (rojaro)
+BUG: Issue#304 - Possible security issue in cookies (rojaro)
+BUG: Issue#305 - Password type TTextBox does not support AutoCompleteType (rojaro)
+BUG: Issue#319 - When TPanel's DefaultButton property is set to a TActiveButton it inhibits TButton's postbacks (ctrlaltca)
+BUG: Issue#324 - TTabPanel doesn't render properly upon postback if a TTabView's visible property = false (ctrlaltca)
+ENH: Security manager: removed the zero byte right trim from the decryption routine and also made some cosmetic changes (rojaro)
+ENH: Upgraded the phpunit ini file to work with PHPUnit 3.3 3.4 and 3.5. There are conditionals for 3.3 and 3.4. No more Framework file includes are needed with 3.5. (javalizard)
+ENH: Issue#264 - Prado wasting CPU by using ArrayAccess and IteratorAggregate interfaces (uacaman)
+ENH: Issue#199/272 - Updated prototype to 1.7 scriptaculous to 1.9.0 and dropped json.js for json2.js. Adds IE9 support (ctrlaltca)
+ENH: Updated tinyMCE to latest version (3.4.2). The package size grew up a bit (from 3.7 to 5.5 mb) since the new version is bigger in sizea and adds support for a lot of new localizations. Adds IE9 support (ctrlaltca)
+
+Version 3.1.7 February 22, 2010
+ENH: Issue#24 - Specify needed fields on demand (Yves)
+BUG: Issue#80 - Inconsistencies in TRegularExpressionValidator (Christophe)
+BUG: Issue#86 - THttpSession.CookieMode ignored / Session ID leak (Christophe)
+BUG: Issue#94 - DataGrid header/footer renderers unable to locate their parent grid in setData() method (Christophe)
+BUG: Issue#113/195 - THttpRequest -> getPathInfo doesn't work on servers when cgi.fix_pathinfo=1 (Yves)
+BUG: Issue#151 - TTextBox fails to display inital line break (Yves)
+BUG: Issue#153 - Bug with calls like MyActiveRedorc->withText()->withUser()->find(...) and null result (Christophe)
+BUG: Issue#157 - Enabled does not work properly on TActiveRadioButton/CheckBoxList controls (Bradley, Carl)
+BUG: Issue#166 - E_NOTICE level error in TDataGatewayCommand (Carl)
+BUG: Issue#169 - FlushOnExecute on Basic CacheModel flushes all Application Cache (E.Letard, Christophe)
+BUG: Issue#171 - <connection> tag in SqlMap config ignored in 3.1.5 and above, introduced by solving Issue#68 (Yves)
+EHN: Issue#184 - THttpResponse doesn't support custom Content-Type headers, remove charset part of header if THttpResponse.Charset=false (Yves)
+BUG: Issue#188 - TDbCache doesn't check if db connection is active. (Yves)
+BUG: Issue#189 - Page State corrupted when EnableStateValidation=False (Christophe)
+BUG: Issue#191 - Bad parsing of MySQL ENUM type column (Yves)
+BUG: Issue#192 - soap-enc:Array not a valid complex type (mosonyi at esix.hu)
+BUG: Issue#189 - Page State corrupted when EnableStateValidation=False (Christophe)
+BUG: Issue#198 - "Undefined variable: tagName" after error in application configuration. (Christophe)
+BUG: Issue#200 - TShellApplication failed when no service are defined in application configuration. (Christophe)
+BUG: Issue#208 - TDbConnection.Charset not working properly (googlenew at pcforum.hu, Christophe)
+BUG: Issue#209 - SqlMap doesn't escape inline params properly (Yves)
+BUG: Issue#212 - Mistaken query executed by TMysqlMetaData (pbenny, Christophe)
+BUG: Issue#216 - TTabPanel doesn't preserve active tab on callback request (googlenew at pcforum.hu,Christophe)
+BUG: Issue~223 - TXmlElement doesn't support all types in attributes - fails to save (Christophe)
+BUG: Typo in TBoundColumn (Robin)
+BUG: TActiveDatePicker js error when date format does not have the 3 elements (Christophe)
+ENH: Add property ClientScriptManagerClass to TPageService and releated changes in TPage.getClientScript() (Yves)
+ENH: Always render clientside counterparts of validation control even if not enabled, but pass-through Enabled property, to allow Enabled/Disable of validator on callback. (Yves)
+EHN: Add property TValidationSummary.ScrollToSummary to server-side control since property exists on client-side. (Yves)
+EHN: Add property TransactionClass (defaults to System.Data.TDbTransaction) to TDbConnection and modify beginTransaction() (Yves)
+ENH: Modify TDbTableInfo::getColumnNames() to store result in private class member (Yves)
+ENH: Issue#215 - Add ClientSide property to TDropContainer (googlenew at pcforum.hu, Christophe)
+ENH: Issue#222 - Add Columns property to TInPlaceTextBox (Christophe)
+CHG: Issue#218 - Change URL of Javascript Logger (Christophe)
+EHN: Clientside performance (micro)optimization: Declare local javascript variables explicit as local to avoid scope chain lookups (Yves)
+
+Version 3.1.6 July 22, 2009
+BUG: Issue#98 - Missing file in quickstart demo (Chrisotphe)
+BUG: Issue#105 - Enabling/disabling TFileUpload on TPanel (Carl)
+BUG: Issue#115 - Clientside registry of serverside controls don't cover all controls: Prado.WebUI.TAutoComplete, Prado.WebUI.TInPlaceTextBox (Yves)
+BUG: Issue#117 - Consider TValidationSummary.DisplayMode="HeaderOnly" if TValidationSummary.ShowMessageBox is set (Yves)
+BUG: Issue#164 - CultureInfo::validCulture should be declared as a static method (Christophe)
+BUG: Issue#168 - TSqlMapXmlConfiguration: CacheModel properties are not set (Yves)
+BUG: Issue#172 - TDbCache fails to recognize need to re-create cache table (Yves)
+BUG: Issue#105 - Enabling/disabling TFileUpload on TPanel (Carl)
+BUG: Issue#178 - TActiveFileUpload progress indicator is misleading (Christophe, googlenew-at-pcforum.hu)
+ENH: Issue#174 - TErrorHandler: HTTP error messages contains sensitive information (Yves)
+ENH: Issue#175 - TBulletedList: Introduce TBulletStyle::None (Yves)
+ENH: Issue#176 - THttpResponse::writeFile() add additional parameters to take more influence on behavior (forceDownload, clientFileName, fileSize), add png to defaultMimeTypes (Yves)
+BUG: TCallbackErrorHandler::displayException() force HTTP status "500 Internal Server Error" to ensure TCallbackOptions.ClientSide.OnFailure is raised (Yves)
+ENH: TAssetManager: introduce protected property "Published" to allow subclasses access (Yves)
+ENH: TFirePhpLogRoute: bypass to TBrowserLogRoute if headers already sent / php.ini (output_buffering=Off, implicit_flush=On) (Yves)
+EHN: Performance optimization in PradoBase::createComponent() (Yves)
+EHN: Add property TPage.EnableStateCompression and related modifications in TPageStateFormatter since it is unnecessary to compress clientstate if TCachePageStatePersister/TSessionPageStatePersister is used (Yves)
+ENH: Add property CssClass to TBrowserLog otuput and hide inline CSS (Carl)
+
+Version 3.1.5 May 24, 2009
+BUG: Issue#55 - TPropertyAccess.get and has don't recognize magic getter __get (Yves)
+BUG: Issue#68 - TSqlMapConfig::createSqlMapGateway(): assign current connection to cached TSqlMapManager to avoid loosing active transaction (Yves)
+BUG: Issue#87 - TinyMCE : empty string disapears after encoding JS, that's a problem! (Christophe)
+BUG: Issue#88 - SQLMap $Param$ re-evaluation bug (Yves)
+BUG: Issue#95 - TMysqlMetaData::getShowCreateTable() throws TPhpErrorException "[Notice] Undefined index: Create Table" if table is a view (Yves)
+BUG: Issue#96 - THttpResponse::redirect don't send status code (Christophe)
+BUG: Issue#99 - TActiveRecord::save(): confusion with order of keys in table/index (Christophe)
+BUG: Issue#108 - clientscripts.php: prepending set_time_limit(0) call with an "@" to suppress PHP warning in safe mode (Yves)
+BUG: Issue#107 - typo in TDbConnection::getCharset() (Christophe)
+BUG: Issue#120 - TActiveDropDownList PromptText and PromptValue got lost during callback and data rebind (Yves)
+BUG: Issue#122 - SqlMap: support for properties in resource filenames, fix sqlmap doc - property "name" instead of "key" (Yves)
+BUG: Issue#126 - THtmlArea: boolean options output as strings (Christophe)
+BUG: Issue#127 - TDataSourceConfig::findConnectionByID try to access private var (Cristophe)
+BUG: Issue#129 - TDbLogRoute::init don't close the sql command (Christophe)
+BUG: Issue#130 - TDbLogRoute::processLogs wrong values binding (Christophe)
+BUG: Issue#136 - TActiveDatePicker don't callback when ShowCalendar is false (Christophe)
+BUG: Issue#139 - add schema support to TActiveRecordRelation::findForeignKeys() (Yves)
+BUG: Issue#148 - Bad Oracle Support (E.Letard)
+BUG: Issue#150 - Multiple TDropContainers in same namingcontainer give error (Christophe)
+Bug: Issue#154 - Bug in TOracleMetaData.php causing SqlMap not work with Oracle database (Christophe)
+BUG: Issue#161 - SqlMap add cache dependencies if TApplicationMode Debug/Normal (Yves)
+BUG: URL wildcard patterns didn't work with subfolders
+BUG: TDbLogRoute::createDbTable: add AUTO_INCREMENT attribute to log_id column if driver is mysql (Yves)
+BUG: Ensure rendering of clientID in TActivePanel (Christophe)
+BUG: TPgsqlTableInfo::getTableFullName() return void if no schema given
+BUG/ENH: TSqlMapCacheModel now consider <flushInterval> tag as described in doc (sqlmap.pdf) - valid attributes are duration in sec or seconds, minutes, hours, days (Yves)
+BUG/ENH: Issue#112 - TXmlDocument add support for namespaces: for backward compatibility only if SimpleXml installed (Yves)
+ENH: Issue#115 - Registry for Prado generated clientside counterparts of serverside controls (Yves Berkholz)
+ENH: Issue#117 - TValidationSummary: new display mode "HeaderOnly" that only render value of HeaderText property (Yves)
+ENH: Issue#135 - Add AutoPostBack property to TActiveFileUpload (Bradley)
+ENH: Issue#146 - replace deprecated(php5.3>) split with explode in TPgsqlMetaData:getPrimaryKeys(), PradoBase::getUserLanguages() (Yves)
+ENH: Issue#141 - TDbCache performance: modify structure of indices, new property 'FlushInterval' to control how often expired items will be removed (Yves)
+ENH: Issue#74 - Introduce a new property 'InvalidFinderResult' (related enum TActiveRecordInvalidFinderResult) to TActiveRecordConfig, TActiveRecordManager, TActiveRecord that allows to control how TActiveRecord react if an invalid magic-finder invoked (Yves)
+CHG: Issue#7 - Clients Scripts are not combined anymore in Debug application mode (Christophe)
+ENH: Added caching of message files to TException (Michael)
+ENH: Updated to scriptaculous 1.8.2 & Prototype 1.6.0.3
+ENH: clientscripts.php Updated to JSMin 1.1.1 - According to author 15% faster with 94% less memory usage (Yves)
+ENH: replace is_null() function calls with native language constuct (Yves)
+ENH: replace array_push() function calls with native language constuct if make sense (Yves)
+ENH: TBrowserLogRoute: add table-layout:auto and explicit set column with to avoid bad render behavior in table-layout:fixed environment, explicit set text color to increase readability (Yves)
+ENH: new log route subclass for FirePHP: TFirePhpLogRoute - FirePHP is ideally suited for AJAX development where clean JSON and XML responses are required (Yves)
+ENH: TBaseValidator, TCustomValidator: change visibilty (protected => public) of getValidationTarget() (Yves)
+
+Version 3.1.4 January 11, 2009
+BUG: Issue#9 - Global page properties are ignored when using external configuration (Christophe)
+BUG: Issue#59 - TPropertyAccess::has() returns false even if the property of an object was found (Carl)
+BUG: Issue#61 - TLogRouter throws exception when using external config file (Michael)
+BUG: Issue#62 - Some mistyping: TJavascript or TJavaScript? (Carl)
+BUG: Issue#79 - Missing new operator for Exception in TSqlMapObjectCollectionTree::onChildNodesVisited() (Christophe)
+BUG: TActiveLinkButton and TActiveRadioButtonList crashes if it's the only active control imported. Added TActiveControlAdapter (Carl)
+BUG: TUrlMapping encoded extra parameters twice (Michael)
+BUG: Issue#89 - TActiveFileUpload doesn't work (Carl)
+CHG: Removal of generator meta tag in THead
+ENH: TActiveCheckBox, TActiveRadioButton, TActiveDropDownList, TActiveListBox won't raise callback if AutoPostBack is false (Christophe)
+ENH: Issue#36 - Refactored TRatingList/TActiveRatingList, and added some docs (Bradley)
+ENH: Issue#52 - Upgraded to TinyMCE 3.2.1
+ENH: Issue#72 - Add wildcard support to TUrlMapping (friendly-urls) (Michael)
+ENH: Issue#77 - TJsonService missing exception messages (Carl)
+ENH: Issue#29 - Ability to specify position of popup TDatePicker/TActiveDatePicker (Carl)
+ENH: Issue#75 - TApplication::setRuntimePath() to update uniqueID and cacheFile (Carl)
+ENH: Issue#64 - Don't throw exception on wrong value for TListcontrols (Carl)
+ENH: Issue#65 - Improvement of TActiveRecord::populateObjects() (Christophe)
+NEW: Issue#51 - Additional template tag (Carl)
+
+Version 3.1.3 November 1, 2008
+BUG: Ticket#595 - ControlCssClass not applied correctly if using multiple validators on same control (Michael)
+BUG: Ticket#834 - TDbCommandBuilder::applyOrdering(): Add support for function calls in ORDER BY clause (Knut)
+BUG: Ticket#836 - TRatingList downgrade (Christophe)
+BUG: Ticket#841 - Strange output from THttpResponse (Christophe)
+BUG: Ticket#847 - getBaseUrl sometimes fails (Christophe)
+BUG: Ticket#843 - TDataList alternatinItem issue after changes in rev 2227 (Christophe)
+BUG: Ticket#845 - TCaptchaValidator with TCaptcha.CaseSensitive=false JS Error (Christophe)
+BUG: Ticket#849 - TDatePicker selecting current date problem (Christophe)
+BUG: Ticket#851 - TPropertyAccess doesn't get properties right if an object has a __call() method (Simon Lehmann, Knut)
+BUG: Ticket#855 - TActiveRecord: Make db-connection serializable in __sleep() function (Knut)
+BUG: Ticket#856 - Assets PRADO_CHMOD constant missing in several places (Carl)
+BUG: Ticket#859 - errorhandler error (stever)
+BUG: Ticket#860 - Prado::localize() bug (japplegame)
+BUG: Ticket#865 - TActiveLabels always get an id attribute (Michael)
+BUG: Ticket#870 - Callback with redirect breaks lifecycle of page (stever)
+BUG: Ticket#872 - use PATH_SEPARATOR in phpunit.php (fragmaster b)
+BUG: Ticket#886 - TSimpleDateFormatter: One month offset in time stamp with date pattern "yyyy" (Knut)
+BUG: Ticket#897 - TSimpleDateFormatter: If no YearPattern is set it should default to current year (Knut)
+BUG: Ticket#899 - TSqlCriteria: SQL-statements with limit and offset doesn't work (Knut)
+BUG: Ticket#900 - TDataGrid with TRequireFieldValidator and TEditCommandColumn interaction error (Michael)
+BUG: Ticket#904 - TDbConnection: Add emulate prepares workaround for boolean compares (Knut)
+BUG: Ticket#908 - TDbCache::init / Exception (Knut)
+BUG: Ticket#922 - Problem with TUrlMapping and urlencoding (Michael)
+BUG: Ticket#938 - TPageStateFormatter EnableStateEncryption causes massive page state (Michael)
+BUG: Ticket#942 - MultiLine TInplaceTextBox (Christophe)
+BUG: Issue#38 - TValidationSummary, works different when it's showing Javascript Validation than Server Validation (Carl)
+CHG: Ticket#844 - Upgraded TinyMCE to 3.1.0.1 (Christophe)
+CHG: Ticket#917 - TUrlMapping - change members to protected (Michael)
+CHG: Ticket#919 - TUserManager loadUserData function (Michael)
+CHG: Issue#39 - Implement validator not requiring ControlToValidate (Carl)
+ENH: Workaround for slow meta data retrieval in MySQL<5.1.21 (Michael)
+ENH: Ticket#756 - TDateFormat & TNumberFormat - allow settings default text when Value isn't set. (Carl)
+ENH: Ticket#823 - PromptText/PromptValue only populated if there is data (Knut)
+ENH: Ticket#876 - Assign empty string to CssUrl on TTabPanel to avoid loading extra css (GoDZilla, Knut)
+ENH: Ticket#882 - Allow to escape # and $ in sqlmap (Michael)
+ENH: Ticket#890 - Minor optimization: Use $var===null over is_null($var) (Knut)
+ENH: Ticket#893 - Added page parameter to queryForPagedList() to specify the initial page to load (Michael)
+ENH: Ticket#896 - TTheme - enhance for subclassing (Knut)
+ENH: Ticket#898 - Minor optimization: Use (int) over intval() (Knut)
+ENH: Ticket#813 - (Issue #13) TRegularExpressionValidator has new ClientSidePatternModifier property (Michael)
+ENH: Ticket#809 - "LIMIT 1" for ActiveRecord find() and findBy() (Carl)
+ENH: Ticket#848 - TCache "set" and "add" with empty values (Carl)
+ENH: Ticket#822 - Not receiving emails from TEmailLogRoute (Carl)
+ENH: Ticket#901 - Using TDbDataReader directly as a DataSource of TDataBoundControl's like TDataGrid (Knut)
+ENH: Ticket#911 - prado-cli: Better error message if database connection fails when generating Active Record skeletons (Knut)
+ENH: Ticket#913 - PRADO Copyright notice in HTML source (Carl)
+ENH: Ticket#925 - TTimeTriggeredCallback update interval during callback (Brad, Christophe)
+ENH: Ticket#941 - Add addRoute() method to TLogRouter (Michael)
+ENH: Ticket#46 - TColorPicker - Output is missing alt tag (Carl)
+ENH: Issue#32 - Implement ability to specify default service ID (Carl)
+ENH: Issue#31 - Consider UTF MessageSource_XLIFF class file (Carl)
+NEW: Added Prado.Validation.validateControl(id) on client side to validate a specific control (Michael)
+NEW: Added MessageSource_Database to I18N (uses TDbConnection) (Michael)
+NEW: Ticket#790 - Added TActiveFileUpload (Bradley, Christophe)
+NEW: Ticket#935 - Added TActiveDatePicker (Bradley, Christophe)
+NEW: Ticket#857 - Added Authentication expiration support to TAuthManager (Michael)
+NEW: Ticket#853 - Added Drag and drop components (Christophe)
+NEW: Ticket#891 - Added method that returns table name to TActiveRecord (Michael)
+
+Version 3.1.2 April 21, 2008
+BUG: Ticket#595 - ControlCssClass not applied correctly if using multiple validators on same control (Christophe)
+BUG: Ticket#622 - Changing Display-attribute of a TActiveCheckBox dynamically isn't possible (Michael)
+BUG: Ticket#636 - I18N catalogue problem (Christophe)
+BUG: Ticket#669 - Strange rendering behaviour with TActivePanel (Christophe)
+BUG: Ticket#671 - TActiveCustomValidator Callback Problem (Christophe)
+BUG: Ticket#679 - TActiveLabel can't be shown from inside TRepeater. TActiveRadioButton cant be unchecked (Christophe)
+BUG: Ticket#695 - ActiveTextBox filled in IE blocks other elements (Michael)
+BUG: Ticket#707 - TPropertyAccess sets property twice on object when using setters (Qiang)
+BUG: Ticket#718 - prop:ClientSide OnLoading don't work in Opera (Christophe)
+BUG: Ticket#719 - TAutoCompleter should not trigger Validation if CausesValidation=False (Christophe)
+BUG: Ticket#721 - TActiveCustomValidator + TValidationSummary problem (Christophe)
+BUG: Ticket#736 - Files never created in clientscript.php (Qiang)
+BUG: Ticket#744 - Callback error handling is improved (Qiang)
+BUG: Ticket#747 - TRangeValidator accept letters when type Integer is specified (Christophe)
+BUG: Ticket#750 - The "expire" parameter is used inconsistently in cache modules (Qiang)
+BUG: Ticket#753 - Themes not allways being set (Qiang)
+BUG: Ticket#754 - CultureInfo constructor errors (Qiang)
+BUG: Ticket#759 - TSlider wrong layout with horizontal with center horizontal align (Christophe)
+BUG: Ticket#769 - Problem with Validator inside TActivePanel (Christophe)
+BUG: Ticket#776 - Logout button should not cause validation in blog tutorial (Qiang)
+BUG: Ticket#785 - TDatePicker OnDateChanged event problem (Christophe)
+BUG: Ticket#787 - Typo in validation3.js (Christophe)
+BUG: Ticket#766, #786 - TDbCache does not work with MySQL and PostgreSQL (Qiang)
+BUG: Ticket#799 - Fixed several link errors in documentation about PDO (Qiang)
+BUG: Ticket#803 - TActiveRecord cannot be serialized/unserialized correctly. (Qiang)
+BUG: Ticket#808 - Client side validation should work for file upload. (Qiang)
+BUG: Ticket#828 - Validators not working when RepeatLayout="Raw" (Qiang)
+BUG: Fixed a bug in TPropertyValue::ensureArray() (Qiang)
+CHG: Ticket#819 - TLogRoute now displays GM time instead of local time (Qiang)
+CHG: Changed TConditional so that the controls in its template behave like they are in its parent (Qiang)
+CHG: Active Record many-to-many relationship change from self::HAS_MANY to self::MANY_TO_MANY (Wei)
+CHG: Active Record no longer automatically performs adding/removing/updating related objects (Qiang)
+CHG: TJavaScript::encode() will encode data as a list if integer indices are detected (Qiang)
+CHG: Ticket#755 - Upgraded to Prototype 1.6 and Scriptaculous 1.8 (j, Christophe)
+ENH: Ticket#660 - Using Globalization.Charset in JSON for AJAX Callbacks (Michael)
+ENH: Ticket#722 - Added Read Only capabilities to TInPlaceTextBox (Christophe)
+ENH: Ticket#741 - Added CDbConnection.currentTransaction property (Qiang)
+ENH: Ticket#743 - Added status code header in HTTP response when in error (Qiang)
+ENH: Ticket#745 - TWizard action MoveTo - allow specify step ID's (Christophe)
+ENH: Ticket#757 - TDateFormat and TNumberFormat now implement IDataRenderer (Qiang)
+EHH: Ticket#770 - THttpResponse send HTTP 1.1 Status code to the client (Christophe)
+ENH: Ticket#783 - Added date/time type support to soap implementation (Hongliang)
+ENH: Ticket#800,#833 - Added database connection charset for MySql and PgSql (donkee)
+ENH: Active Record supports multiple foreign references of the same table (Wei)
+ENH: Added TDbCommand.queryColumn() (Qiang)
+ENH: Active Record now supports implicitly declared related properties (Qiang)
+ENH: Active Record now supports query criteria for implicitly declared related properties (Qiang)
+ENH: TDataFieldAccessor now supports chained property access without getters. (Qiang)
+ENH: TParameterModule added caching support (Qiang)
+ENH: Added TAuthManager.switchUser() (Qiang)
+NEW: Added TDbLogRoute (Qiang)
+NEW: Added TDataRenderer and TItemDataRenderer (Qiang)
+NEW: Added THtmlElement (Qiang)
+NEW: Ticket#544 - Added TXCache (Wei)
+NEW: Ticket#729 - Added TActivePager (Christophe)
+NEW: Ticket#791 - Added TFirebugLogRoute (Christophe)
+
+Version 3.1.1 October 1, 2007
+BUG: Ticket#340 - Callbacks and Firebug compatibility problem (Christophe)
+BUG: Ticket#533 - HttpRequest::getBrowser() throws an error if browsercap.ini is invalid (Carl)
+BUG: Ticket#592 - TRadioButton with UniqueGroupName always return false to getChecked (Christophe)
+BUG: Ticket#648 - Validation: onClick and onBlur events order (Christophe)
+BUG: Ticket#656 - TDatePicker does not return correct value when in callback mode (Christophe)
+BUG: Ticket#661 - ActiveRecord PostgreSQL 7.3.2 Support doesn't work (Qiang)
+BUG: Ticket#662 - Ensure TForm to properly encode the ampersand in action URL (Qiang)
+BUG: Ticket#666 - TActiveRecord::deleteAll() method always requires a criteria or null parameter (Qiang)
+BUG: Ticket#670 - TDatePicker: Year Issue (Christophe)
+BUG: Ticket#689 - TRangeValidator: Problem in clientscript when MaxValue=<%= 0 %> (Qiang)
+ENH: Ticket#370 - TDataGrid now supports grouping cells (Qiang)
+ENH: Ticket#577 - Added image button support for TPager (Qiang)
+ENH: Ticket#623 - TMemCache to support multiple servers (Carl)
+ENH: Ticket#664 - Added support to styling thead, tbody, tfoot of TDataGrid (Qiang)
+ENH: Ticket#665 - Added support to column mapping in Active Record (Qiang)
+ENH: Ticket#667 - Added TFeedService.ContentType property (Qiang)
+ENH: Ticket#672 - ForceSecureConnection to THttpRequest (Carl)
+ENH: Ticket#676 - Updated ActiveRecord Oracle Drives (Qiang)
+ENH: Ticket#678 - Improved DateTimeFormatInfo performance (Stever)
+ENH: Ticket#681 - TUrlMapping can construct custom URLs now (Qiang)
+ENH: Ticket#692,700 - Added support to wildcard in pages configuration; added IP filters in auth rules. (Qiang)
+ENH: Ticket#709 - Added TDbCache.ConnectionID (Qiang)
+ENH: Added THead requirement check (Qiang)
+ENH: Added TOutputCache.CacheTime (Qiang)
+ENH: Added "remember login" support to TAuthManager and the related modules/classes (Qiang)
+ENH: Added prompt text support to TDropDownList and TListBox (Qiang)
+CHG: Ticket#685 - Slashes and backslashes mixup in PradoBase (Qiang)
+CHG: Ticket#705 - TImage will not set border style by default (Qiang)
+CHG: GeSHi is replaced with Text_Highlighter (Christophe)
+CHG: Changed the way to declare relationships in Active Record (Qiang)
+CHG: Validators will not validate disabled controls (Qiang)
+NEW: Ticket#676 - Added primilary Oracle support (Christophe)
+NEW: Ticket#680 - Added TCacheHttpSession (Carl, Qiang)
+NEW: Added TTabPanel (Qiang)
+NEW: Added TKeyboard (Qiang)
+NEW: Added TCaptcha and TCaptchaValidator (Qiang)
+NEW: Added TCachePageStatePersister (Qiang)
+NEW: Added TSlider (Christophe)
+NEW: Added TConditional (Qiang)
+NEW: Added Indonesian translation to QuickStart, requirements and error messages (Zaenal Mutaqin)
+NEW: Added French translation to the blog tutorial (Eric Marchetti)
+
+Version 3.1.0 July 2, 2007
+BUG: Ticket#621 - TWizardNavigationButtonStyle could not be found (Qiang)
+BUG: Ticket#627 - Logout did not set correct status to the user object (Qiang)
+BUG: Ticket#650 - Fixed TMysqlMetaData bug about SHOW FULL TABLES (Qiang)
+BUG: Ticket#651 - TUserManager Roles names (from config) should be trimmed (Qiang)
+BUG: Ticket#652 - OFFSET must be specified together with LIMIT for TScaffoldView (Qiang)
+BUG: Ticket#653 - TUrlMapping: ServiceId irgnored in URL-Map (Qiang)
+BUG: Ticket#488 - TActiveCustomValidator Is Bypassing My Callback (Wei)
+BUG: Ticket#620 - PRADO should not take over all of Prototype's Callbacks (Wei)
+BUG: Ticket#635 - TDatePicker not correctly updating month (Christophe)
+BUG: Ticket#649 - Wrong error message in THttpCookieCollection::itemAt() (Knut)
+BUG: Ticket#654 - TAssetManager::copyDirectory() do not run closedir on an invalid resource (Knut)
+BUG: Ticket#655 - TAssetManager::publishTarFile() exception for 'assetmanager_tarchecksum_invalid' is not thrown on BSD systems (Knut)
+BUG: Ticket#659 - Asset is not published correctly for child classes (Qiang)
+BUG: TWizard Sidebar using TDataListItemRenderer has error (Qiang)
+BUG: TOutputCache crashes when a default button is set (Qiang)
+BUG: Fixed several typos in TDbCache (Qiang)
+BUG: Fix the bug that <include> tag was ignored in page configurations (Qiang)
+ENH: Ticket#625 - Added @ to represent authenticated users in auth rules (Qiang)
+ENH: Ticket#631 - Make TQueue implement Countable as the other collection classes (Knut)
+ENH: Ticket#634 - Override __toString for TXmlElement and TXmlDocument (Knut)
+ENH: Ticket#639 - Added setters for certain properties of TTheme (Qiang)
+ENH: Ticket#641 - Added support to find out controls of specified class or parent classes (Qiang)
+ENH: Ticket#646 - Implement TAPCCache::add() (Knut)
+ENH: Added TAuthManager.ReturnUrlVarName property (Qiang)
+ENH: Added TPageService.DefaultPageUrl property (Qiang)
+NEW: TActiveHiddenField (Carl)
+
+Version 3.1.0 RC May 14, 2007
+BUG: Ticket#525 - SQLMap->queryForList error with offset/limit parameters (Wei)
+BUG: Ticket#547 - SQLMap problem with PDO::DBLIB (Wei)
+BUG: Ticket#578 - ActiveControls broken by presence of THtmlArea in the .page (Wei)
+BUG: Ticket#587 - TActiveDropDownList doesn't work if modified during TAutoComplete callback (Wei)
+BUG: Ticket#598 - ClientSide.HasPriority raises JS Exception (Wei)
+BUG: Ticket#599 - Searching in QuickStart Tutorial generate TInvalidOperationException (Qiang)
+BUG: Ticket#600 - Searching in the Quickstart Tutorial is throwing out the error (Qiang)
+BUG: Ticket#602 - DateTimeFormatInfo missing data (Wei)
+BUG: Ticket#603 - THtmlArea problem after callback - "this.getDoc() has no properties"
+BUG: Ticket#605 - TDatePicker don't works in 3.1.b on linux server (Wei)
+BUG: Ticket#606 - TColorPicker bug in Full mode (Wei)
+BUG: Ticket#612 - Documentation Problem on THttpResponse:writeFile() (Qiang)
+BUG: Ticket#616 - SqlMap properties are not replaced in config files (Wei)
+BUG: Ticket#618 - SqlMap's TPreparedCommand needs TDbCommandBuilder (Qiang)
+ENH: Ticket#458 - TSqlMap and runQueryForMap method (Wei)
+ENH: Ticket#594 - TInPlaceTextBox ESC and ENTER keys behaviour (Wei)
+ENH: Ticket#601 - TRectangleHotSpot and javascript onclick handler (Qiang)
+ENH: Ticket#609 - TColorPicker event feature and display issue (Wei)
+ENH: Ticket#613 - clientscripts.php is made PHP4-compliant (Qiang)
+ENH: Ticket#617 - Validators: FocusOnError should focus on the first element of the page (Wei)
+ENH: Add javascript references for "slider" and "dragdrop" for TClientScript::PradoScripts (Wei)
+ENH: Added PatternModifiers property to TRegularExpressionValidator (Wei)
+CHG: <div> tags are used instead of <span> when TDataList.RepeatLayout is Raw (Qiang)
+CHG: changed comment tag to <!--- ... ---> (Qiang)
+NEW: Active Record relationships (Wei)
+NEW: New demos including "address-book", "blog-tutorial", "northwind-db", "chat", "currency-converter", "time-tracker". (Qiang, Wei)
+
+
+Version 3.1.0 beta April 9, 2007
+BUG: Ticket#278 - client-side validator enable/disable (conditional) (Wei)
+BUG: Ticket#492 - TDataGridPagerStyle not found error (Qiang)
+BUG: Ticket#500 - URL encode in callback (Wei)
+BUG: Ticket#517 - Quickstart I18N sample: conflicting module ID (Wei)
+BUG: Ticket#521 - comment tag on TActiveButton stop callback (Wei)
+BUG: Ticket#526 - TDatePicker Mode="Button" with ActivePanel Enabled="false" (Wei)
+BUG: Ticket#535 - TRadioButton->GroupName bug on callback (Wei)
+BUG: Ticket#538 - TActiveListBox doesn't support optgroup (Wei)
+BUG: Ticket#549 - set/get Timestamp on TDatePicker shound handle "null" values (Qiang)
+BUG: Ticket#550 - explicitly include TCallbackClientSide in TCallbackOptions (Qiang)
+BUG: Ticket#553 - I18N quickstart sample does not work (Qiang)
+BUG: Ticket#555 - TNumberFormat throws exception (Qiang)
+BUG: Ticket#557 - TAutoComplete is not fool-proof (Wei)
+BUG: Ticket#560 - TActiveImageButton broken (Postback instead of Callback) (Wei)
+BUG: Ticket#566 - <%[ tags (localize tags) missing escaping (Qiang)
+BUG: Ticket#573 - NumberFormat Bug (Wei)
+BUG: Ticket#579 - The rating list lost its Javascript in changeset [1775] (Wei).
+BUG: Ticket#584 - Parameter names in TTranslate are case-insensitive (Qiang)
+BUG: Ticket#585 - Can't validate TDatePicker with TActiveCustomValidator (Wei)
+BUG: Ticket#586 - Default TPanel Button not working without validator (Wei)
+BUG: TXmlElement did not encode attribute and text values when being saved as a string (Qiang)
+BUG: SelectedIndices not return expected result for ActiveListBox (Wei)
+ENH: Ticket#339 - TAutoComplete ID field [handled by the OnSuggestionSelected event] (Wei)
+ENH: Ticket#367 - Change default extension for XLIFF files (Wei, changed to support .xlf extension).
+ENH: Ticket#430 - clearing the validator errors (Wei)
+ENH: Ticket#436 - update script.aculo.us to 1.6.4 (Wei, updated to v 1.7.1beta)
+ENH: Ticket#482 - ADD TinyMCE 2.0.8 (Wei, TinyMCE 2.1 added)
+ENH: Ticket#503 - Localization and parameter tags can now appear as a substring in a property initial value (Qiang)
+ENH: Ticket#513 - Display last modified / revision in quickstart (Wei)
+ENH: Ticket#519 - Update TActiveRecord implementation (Wei)
+ENH: Ticket#537 - TActiveRecord Pk info (Wei)
+ENH: Ticket#561 - Powered by PRADO image to become an asset (Qiang)
+ENH: Ticket#569 - Added TTextBox.PersistPassword property (Qiang)
+ENH: Ticket#571 - Made TPage.ClientSupportsJavaScript property writable (Qiang)
+ENH: Ticket#575 - Made TAuthManager.ReturnUrl property writable (Qiang)
+ENH: Reduced ViewState size significantly by ignoring initial property values set in template (Qiang)
+ENH: Added PRADO_CHMOD constant so that users can specify the permission of PRADO-created directories (Qiang)
+ENH: Added Display property to TWebControl (Wei)
+ENH: Added TUser.getState() and setState() for storing user session data (Qiang)
+ENH: Added renderer feature to TRepeater, TDataList and TDataGrid (Qiang)
+ENH: Added support to include external application configuration files (Qiang)
+ENH: Added PRADO version info in PRADO-generated directories to avoid upgrading issue (Qiang)
+ENH: Improved exception display with hyperlinked keywords (Qiang)
+ENH: Improved exception display about template syntax error (Qiang)
+CHG: Added getDataChanged() to IPostBackDataHandler (Qiang)
+NEW: TShellApplication (Qiang)
+NEW: TDbCache (Qiang)
+NEW: TDbUserManager and TDbUser (Qiang)
+NEW: Active Record driver for IBM DB2 (Cesar Ramos)
+NEW: TActiveRecord Scaffold support (Wei)
+NEW: TClientScriptLoader combines and loads javascript libraries (Wei)
+
+Version 3.1.0 alpha January 15, 2007
+BUG: Ticket#188 - Postback js caused controls not inheritable (Qiang)
+ENH: Ticket#99 - TXmlTransform control (Knut)
+ENH: Ticket#117 - added support to configure subproperties in a group. (Qiang)
+ENH: Ticket#180, #222 - Prado js files are not rendered at the beginning of the form (Qiang)
+CHG: Ticket#489 - Contents enclosed within HTML comment tags will now be parsed also (Qiang)
+CHG: All validators ClientSide.OnSuccess becomes ClientSide.OnValidationSuccess, and OnSuccess event becomes OnValidationSuccess. (Wei)
+CHG: All validators ClientSide.OnError becomes ClientSide.OnValidationError, and OnError event becomes OnValidationError. (Wei)
+NEW: Ajax support and active controls (Wei)
+NEW: Data abstraction layer based on PDO (Qiang)
+NEW: SQLMap (Wei)
+NEW: Added a new template comment tag <!-- ---> (Qiang)
+NEW: TOutputCache (Qiang)
+NEW: TQueue (Qiang)
+NEW: TSessionPageStatePersister (Qiang)
+NEW: TSoapService, TSoapServer (Knut, Qiang)
+NEW: TFeedService, TRssFeedDocument (Knut, Qiang)
+NEW: TJsonService
+NEW: TCacheDependency, TFileCacheDependency, TDirectoryCacheDependency (Qiang)
+NEW: TGlobalStateCacheDependency, TChainedCacheDependency, TApplicationStateCacheDependency (Qiang)
+
+Version 3.0.7 April 2, 2007
+BUG: Ticket#481 - Unable to cancel navigation when handling OnSideBarButtonClickEvent (Qiang)
+BUG: typo in THttpResponse.writeFile() about sending headers (Qiang)
+BUG: Ticket#505 - cultureInfo::getEnglishName does not return an arrary (Wei)
+BUG: Ticket#508 - CultureInfo class: PHP Notice because of missing static declaration (Wei)
+BUG: Ticket#558 - TRadionButtonList generates a empty onclick attribute (Qiang)
+BUG: Ticket#573 - NumberFormat Bug (Wei)
+BUG: Event handler specified via subproperty in template does not work (Qiang)
+ENH: Ticket#367 - Change default extension for XLIFF files (Wei, changed to support .xlf extension).
+ENH: Upgraded javascript library Prototype to version 1.5.0 (Wei)
+ENH: Upgraded javascript library Scriptaculous to version 1.7.0 (Wei)
+ENH: Upgraded TinyMCE editor to version 2.1 (Wei)
+
+Version 3.0.6 December 4, 2006
+BUG: Ticket#400 - TJavascriptLogger incompatible with Firefox 2.0 RC1 (Wei)
+BUG: Ticket#442 - TPageService getBasePath in namespace form (Qiang)
+BUG: Ticket#443 - Template comment tag messed up with HTML comment tag (Qiang)
+BUG: Ticket#453 - I18N controls should accept UNIX timestamps (Wei)
+BUG: Ticket#463 - TPhpErrorException: Non-static method DateTimeFormatInfo::getInstance() (Wei)
+BUG: Ticket#467 - typo in TUrlMapping.php (Qiang)
+BUG: Ticket#476 - Problem when adding a new text (translate) with MessageSource_XLIFF (Wei)
+BUG: TTableCell should render &nbsp; only when Text is not set and there's no child (Qiang)
+BUG: global state was not saved when redirect() is invoked (Qiang)
+BUG: TPager would not display if it was invisible previously (Qiang)
+ENH: Ticket#446 - Added TMetaTagCollection.getMetaTagByID method (Qiang)
+ENH: Ticket#451 - Modified TUrlMapping to extend from TUrlManager (Qiang)
+ENH: Ticket#468 - Added support of using all property tags in skins (Qiang)
+ENH: Ticket#471 - Added methods in TAssetManager to expose published path and URL (Qiang)
+ENH: Add ToggleKey for TJavascriptLogger (Wei)
+CHG: Ticket#437 - __autoload is replaced by spl_autoload_register (Qiang)
+CHG: Ticket#454 - Redundant PHP Version Check (Qiang)
+CHG: Ticket#460 - Validators will not perform validation if parents are disabled (Qiang)
+CHG: TDataGrid now does not set default table styles (Qiang)
+CHG: TRepeater does not render <span> anymore for empty item template (Qiang)
+CHG: THttpRequest.constructUrl() now encodes ampersand by default (Qiang)
+CHG: TDataBoundControl will not throw exception if CurrentPageIndex is out of range (Qiang)
+NEW: TUrlManager (Qiang)
+
+
+Version 3.0.5 October 23, 2006
+BUG: Ticket#409 - Multiple page services will mess up page caching (Qiang)
+BUG: Ticket#417 - SelectedIndex in template incorrect caused by bug in TList (Qiang)
+CHG: Ticket#358 - TFileUpload::saveAs() now returns false instead of exception when error (Qiang)
+ENH: Ticket#361 - Introduced include template tag that supports including external templates (Qiang)
+ENH: Ticket#366 - white spaces are now allowed around attribute names in template (Qiang)
+ENH: Ticket#378 - PRADO applications can now run in command line (Qiang)
+ENH: Ticket#379 - TAuthorizationRule performance enhancement (Qiang)
+ENH: Ticket#382 - Untranslated messages can be marked now (Wei)
+ENH: Ticket#394 - Enhancing TDropDownListColumn to allow specifying both text and value (Qiang)
+ENH: Easier to customize the TDatePicker using CssClass (Wei)
+ENH: Added an interactive PHP shell, usage: "prado-cli.php shell" (Wei)
+NEW: TLiteralColumn (Qiang)
+NEW: TUrlMapping (Wei)
+
+Version 3.0.4 September 4, 2006
+BUG: Fixed a bug that would prevent from using <prop:> tag in skins (Qiang)
+BUG: Fixed a typo in TControl::setCustomData() (Qiang)
+ENH: Ticket#336 - Speed up TSqliteCache with LIMIT SQL clause (Qiang)
+ENH: Ticket#348 - Added THead.ShortcutIcon (Qiang)
+ENH: Ticket#349 - Derived control classes now show trace logs when databinding (Qiang)
+ENH: Ticket#357 - Added TListControl.DataGroupField to allow setting optgroup via databinding (Qiang)
+ENH: TListControl.SelectedValues and SelectedIndices can now be set before databinding (Qiang)
+ENH: Upgrade Scriptaculous javascript library to 1.6.2 (Wei)
+ENH: Uses uncompressed javascript in debug mode. (Wei)
+ENH: Cells in TDataGrid rows can now be accessed via the corresponding column IDs (Qiang)
+ENH: Input controls in some datagrid columns can now be accessed in a named fashion (Qiang)
+ENH: Prado::fatalError() now displays function parameter information (Qiang)
+ENH: TEditCommandColumn now supports image buttons (Qiang)
+CHG: Ticket#356 - TLabel will not render if its associated control is invisible (Qiang)
+CHG: Validator the error message visibility before raising events OnError and OnSuccess (Wei)
+CHG: Unify all client-side javascript event handler syntax. (Wei)
+CHG: Added more conditions in the requirement checker (Qiang)
+CHG: TControl::findControlsByType() now only returns objects of the specified type (Qiang)
+CHG: Moved createdOnTemplate() and addParsedObject() from TControl to TComponent (Qiang)
+NEW: TDateTimeStamp class for supporting time stamps outside 1970-2038 using float (Wei)
+NEW: TDropDownListColumn (Qiang)
+NEW: Added TEnumerable and all needed enumerable types (Qiang)
+
+
+Version 3.0.3 August 6, 2006
+BUG: Ticket#264 - Typos in some exception throw statements (Knut)
+BUG: Ticket#268 - THttpResponse.redirect() may fail for some browsers (Qiang)
+BUG: Ticket#271 - Page method setFocus doesn't work (Wei)
+BUG: Ticket#285 - NumberFormat Rounding Bug (Wei)
+BUG: Ticket#297 - THttpRequest::constructUrl() encoding bug about array GET parameters (Qiang)
+BUG: Ticket#320 - Typo in calling TDataList::setSelectedItemIndex and a bug in inserting wizard steps (Qiang)
+BUG: TDataGrid may complain getting ItemType on a non-object if the grid is not data-bound (Qiang)
+BUG: TCheckBox.Value should be converted to string (Qiang)
+BUG: Ticket#302 - TDatePicker's bug with AutoPostBack set to "true" (Wei)
+BUG: Ticket#306 - Prado::localize function may fail when localized string passed as parameter (Wei)
+BUG: Ticket#311 - Several bugs in TDatePicker (Wei)
+BUG: Ticket#312 - TDatePicker's ReadOnly property bug (Wei)
+CHG: Ticket#206 - TBaseValidator.OnValidate is raised only when the validator is visible (Qiang)
+CHG: Raised PHP version requirement to 5.1 and above (Qiang)
+ENH: Ticket#178 - Added TRadioButton.UniqueGroupName property (Qiang)
+ENH: Ticket#220 - TClientScripts method to import custom javascript files (Wei)
+ENH: Ticket#225 - TRadioButton::getRadioButtonsInGroup() added (Wei)
+ENH: Ticket#223 - Use TRequiredFieldValidator for TRadioButtons with GroupName property (Wei)
+ENH: StringLength, multi-byte, check in TRangeValidator (Wei)
+ENH: Ticket#263 - TListBox and TDropDownList support optgroup now (Qiang)
+ENH: Ticket#277 - Added TControl.CustomData property (Qiang)
+ENH: Ticket#278 - client-side validator enable/disable (conditional) (Wei)
+ENH: Ticket#287 - TControl::broadcastEvent() may raise events now (Qiang)
+ENH: Ticket#292 - Added THttpRequest::parseUrl() so that it is easier to be extended (Qiang)
+ENH: Ticket#309 - Added THttpRequest.UrlParamSeparator property (Qiang)
+ENH: Ticket#313 - Added TTableStyle.BorderCollapse property (Qiang)
+ENH: Ticket#316 - Added media type support to CSS files in a theme (Qiang)
+ENH: Validating TDatePicker does not need to explictly specific the DateFormat in validators. (Wei)
+ENH: TRequireFieldValidator can be used to validate a valid date (Wei).
+NEW: Added TStyleSheet (Wei)
+
+
+Version 3.0.2 July 2, 2006
+BUG: Ticket#182 - List and validator controls cause problem in child classes (Qiang)
+BUG: Ticket#191 - Duplicated postbacks occur when using TButton with validators (Qiang)
+BUG: Ticket#207 - Validators ClientSide.OnError triggered twice (Wei)
+BUG: Ticket#213 - PRADO Requirements Checker charset error (Qiang)
+BUG: Ticket#227 - Enabled property doesn't works with THtmlArea (Wei)
+BUG: Ticket#234 - Postback target could be out of date (Qiang)
+BUG: Ticket#239 - Ondeactivate handler for the first View of MultiView is always fired (Qiang)
+BUG: Ticket#244 - redirect() needs absolute URL (Qiang)
+BUG: Ticket#245 - getIsSecureConnection() is not working correctly (Qiang)
+BUG: Ticket#246 - TDatePicker wrong popup position in scrolled div (Wei)
+BUG: Ticket#260 - Wrong value of a configuration option in setUseTransparentSessionID (Qiang)
+CHG: ensureChildControls() is now invoked in TControl::initRecursive (Qiang)
+CHG: Postback enabled control will always disable default client-side browser action. (Qiang)
+CHG: CSS and JS files in a theme are now included in page in alphabetic order (Qiang)
+ENH: Ticket#206 - Added OnValidate, OnError, OnSuccess events to validators (Qiang)
+ENH: Ticket#230 - Added TDataList.EmptyTemplate property (Qiang)
+ENH: Ticket#231 - Added TButton.ButtonType property to allow reset button (Qiang)
+ENH: Ticket#232 - Allow <%# %> and <%= %> embedded within property values (Qiang)
+ENH: Ticket#256 - Datagrid columns can now be accessed via IDs (Qiang)
+ENH: Ticket#257 - OnSelectedIndexChanged event of TDataList and TDataGrid now passes the original command parameter (Qiang)
+ENH: Ticket#262 - Added TCheckBox.Value property (Qiang)
+ENH: TRepeater, TDataList and TDataGrid will store data indices in DataKeys if DataKeyField is not set. (Qiang)
+ENH: Added TPageService.BasePageClass property (Qiang)
+ENH: Added TDataGrid.EmptyTemplate property (Qiang)
+ENH: Added paging feature to all TDataBoundControl-derived controls (Qiang)
+ENH: ClientSide.ObserveChanges="false" to only revalidate client side validator when control changes (Wei)
+NEW: Added TPager (Qiang)
+NEW: Added Dreamweaver taglib extension (Stanislav, Qiang)
+NEW: Prado Command line script to create a new project, see framework/prado-cli.php (Wei)
+
+Version 3.0.1 June 4, 2006
+BUG: Ticket#28 - OnClick does not work with Safari/KHTML (Wei)
+BUG: Ticket#37 - Changes of config files do not trigger cache update (Qiang)
+BUG: Ticket#44 - THtmlArea (tiny_mce) not working on some systems (Qiang)
+BUG: Ticket#162 - Missing currency sign in TNumberFormat if Value is 0 (Wei)
+BUG: Ticket#167 - TSecurityManager issues warning when trying to encrypt/decrypt strings (Qiang)
+BUG: Ticket#169 - Validation of subclass of THtmlArea/TDatePicker fails (Wei)
+BUG: Ticket#179 - CGI incompatibility causing clientscripts.php failure (Qiang)
+BUG: Ticket#181 - Unable to change Content-Type in response header if charset is not set (Qiang)
+BUG: Ticket#200 - onClick javascript event triggered twice on CheckBox label (Qiang)
+BUG: newly created controls during postbacks might get their initial states reset during loadStateRecursive. (Qiang)
+ENH: Ticket#150 - TDataGrid and TDataList now render table section tags (Qiang)
+ENH: Ticket#152 - constituent parts of TWizard are exposed (Qiang)
+ENH: Ticket#184 - added TUserManager.Users and Roles properties (Qiang)
+ENH: Ticket#197 - sanity check for datagrid header and footer (Qiang)
+ENH: added sanity check to calling event handlers (Qiang)
+ENH: added search for quickstart tutorials (Wei)
+ENH: added support to property tags for template owner control (Qiang)
+ENH: added Bulgarian requirement checker messages (StanProg)
+ENH: added TTheme.BaseUrl and TTheme.BasePath property (Qiang)
+ENH: added TListControl.SelectedValues property (Qiang)
+ENH: added TThemeManager.AvailableThemes property (Qiang)
+ENH: refactored TUserManager and TAuthManager so that they are easier to be extended (Qiang)
+ENH: template syntax now supports setting event handler via subproperties (Qiang)
+CHG: Ticket#151 - URL format is modified to handle empty GET values (Qiang)
+CHG: Ticket#153 - TAssetManager now ignores .svn directories (Qiang)
+CHG: Changed TControl::onBubbleEvent() to TControl::bubbleEvent() (Qiang)
+NEW: TTableHeaderRow, TTableFooterRow and table section support (Qiang)
+NEW: TCompositeControl (Qiang)
+NEW: TTextProcessor (Qiang)
+NEW: TMarkdown (Wei)
+NEW: Blog demo (Qiang)
+
+Version 3.0.0 May 1, 2006
+BUG: Ticket#68 - 2 TButtons with THtmlArea causes second button to fail to function (Wei)
+BUG: Ticket#70 - Javascript for TDataTypeValidator added (Wei)
+BUG: Ticket#131 - TImageMap and TLinkButton continue to postback even client validator fails (Wei)
+BUG: Ticket#135 - TBrowserLogRoute reports wrong timings (Qiang)
+BUG: Ticket#137 - The JavasciptLogger does not work (Qiang)
+BUG: Ticket#138 - missing file in TDataGrid (Qiang)
+BUG: Ticket#139 - TThemeManager::setBasePath() should understand an alias path (Qiang)
+BUG: Non-control components can now use expressions in their properties (Qiang)
+BUG: TControl.Visible did not make use of overriden getVisible() (Qiang)
+BUG: TWizard did not stop navigation upon a validation failure (Qiang)
+BUG: NumberFormat will now zero-fill numbers base on the pattern. (Wei)
+ENH: TButton, TImageButton and TLinkButton now implement IButtonControl interface (Qiang)
+ENH: TResponse::writeFile takes three additional parameters to allow sending memory data (Qiang)
+ENH: TButtonColumn can now be a column of image buttons (Qiang)
+ENH: TLiteral will display body content if Text is empty (Qiang)
+ENH: Format string in classes extending TDataGridColumn can now evaluate an expression (Qiang)
+ENH: Format string in classes extending TListControl can now evaluate an expression (Qiang)
+ENH: Added THttpResponse::reload() (Qiang)
+ENH: Custom visual effects can be added to client-side validators via ClientSide property in validators. (Wei)
+ENH: TJavascript::encode() allows raw javascript code when string begins with "javascript:" (Wei)
+ENH: Update TinyMCE to 2.0.5.1
+CHG: Rewrote client-side javascript validators, check your client-side validation behaviour (Wei)
+CHG: Updated the javascript Prototype library, a few utilties functions REMOVED, may break your existing javascript code. (Wei)
+CHG: Build javascript without compression, only comments are removed. (Wei)
+CHG: TDatePicker's date can be set using Date property, it value must be in same format as DateFormat, TimeStamp must be set as integer (wei)
+CHG: TSimpleDateFormatter::parse() now return an integer or null on parse error (Wei)
+CHG: TControl::createControls() is changed to public. (Qiang)
+CHG: Template comment tag is changed from <! ... !> to <!-- ... --!> (Qiang)
+NEW: TListControlValidator (Wei)
+NEW: TClientScript (Wei)
+
+
+Version 3.0RC2 April 16, 2006
+BUG: Ticket#54 - recursive reverse() definition (Wei)
+BUG: Ticket#93 - ValidationGroup not working in TImageMap for js validator (Wei)
+BUG: Ticket#97 - Invalid return type value for TSimpleDateFormatter::parse (Wei)
+BUG: Ticket#118 - Variables that may not have been initialized (Qiang)
+BUG: Ticket#121 - OnClick don't fire with TImageButton and TRequiredFieldValidator (Wei)
+BUG: Ticket#129 - TRadioButtonList in TWizard step does not postback correctly (Qiang)
+CHG: Moved localize() into PradoBase (Qiang)
+CHG: List controls now use array keys as list item values even if the array is integer-indexed (Qiang)
+CHG: THttpUtility::htmlEncode and htmlDecode now do not deal with & (Qiang)
+CHG: Expressions appeared in a template are evaluated in PreRender stage (Qiang)
+CHG: The context of expressions appeared in a template is changed to the template control (Qiang)
+ENH: Optimized the representation and evaluation of template expressions (Qiang)
+ENH: Added Raw layout to TDataList (Qiang)
+ENH: Added TRepeater.DataKeys and TRepeater.DataKeyField (Qiang)
+
+Version 3.0RC1 April 5, 2006
+BUG: Ticket#85 - Undefined TDataGrid::setSelectedIndex (Qiang)
+BUG: Ticket#87 - Typo in IDbConnection (Qiang)
+BUG: Ticket#88 - Unclosed HTML tag in TDatePicker and TColorPicker (Qiang)
+BUG: Ticket#89 - TInlineFrame::ScrollBars wrong behaviour expected (Qiang)
+BUG: Ticket#95 - Typo in TTemplateControl::registerContentPlaceHolder (Qiang)
+BUG: Ticket#103 - Typo in TStyle::setVerticalAlign (Qiang)
+BUG: Ticket#107 - ListControls not respect parent disabling (Qiang)
+BUG: SF#1432624 - Incorrect documentation about caching expiry (Qiang)
+BUG: SF#1446846 - Typo in THead (Qiang)
+BUG: THttpSession fails when user storage module is used (Qiang)
+CHG: TTextHighlighter.EnableCopyCode defaults to false (Qiang)
+CHG: Reorganized quickstart tutorial demo, added new sections (Qiang)
+CHG: Reorganized folders under framework (Qiang)
+CHG: Modified THtmlArea default toolbar and size. (Qiang)
+CHG: Pagers in TDataGrid are now enclosed within panels (Qiang)
+ENH: Ticket#92 - Support for user exception message file (Qiang)
+ENH: Ticket#106 - Support for validation on THiddenField (Qiang)
+ENH: Ticket#110 - Support for TVarDump with syntax highlight (Qiang)
+ENH: TDataFieldAccessor can access public class variables (Qiang)
+ENH: TPhpErrorException now shows the actual error lines (Qiang)
+ENH: Refactored cache classes with support for cache dependency (Qiang)
+NEW: TStack component (Qiang)
+NEW: TImageMap control (Qiang)
+NEW: TWizard control (Qiang)
+NEW: TVarDumper and PradoBase::varDump() (Qiang)
+NEW: TComponentReflection (Qiang)
+NEW: TParameterModule (Qiang)
+NEW: TPropelLogRoute (Jason)
+
+Version 3.0b March 6, 2006
+BUG: fixed many
+CHG: event names must be prefixed with 'On' (Qiang)
+CHG: values of properties whose name ends with 'Template' are parsed directly by template parser (Qiang)
+ENH: template parser reports exact error location (Qiang)
+ENH: cookie HMAC check (Qiang)
+NEW: TInlineFrame (Jason)
+NEW: TAPCCache (Alban)
+NEW: TColorPicker, TDatePicker, TRatingList, TAdodbProvider, TCreoleProvider (Wei)
+NEW: TMultiView, TView, TControlAdapter, TWebControlAdapter, TPagedList, TAttributeCollection (Qiang)
+
+Version 3.0a January 18, 2006
+Starting, main feaures ready (Qiang)
diff --git a/lib/prado/README.md b/lib/prado/README.md
new file mode 100644
index 0000000..d84076f
--- /dev/null
+++ b/lib/prado/README.md
@@ -0,0 +1,112 @@
+# Prado PHP Framework
+
+PRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5.
+PRADO stands for PHP Rapid Application Development Object-oriented.
+
+[![Build Status](https://travis-ci.org/pradosoft/prado.png?branch=master)](https://travis-ci.org/pradosoft/prado)
+[![Coverage Status](https://coveralls.io/repos/pradosoft/prado/badge.png?branch=master)](https://coveralls.io/r/pradosoft/prado?branch=master)
+[![Total Downloads](https://poser.pugx.org/pradosoft/prado/downloads.png)](https://packagist.org/packages/pradosoft/prado)
+[![Latest Stable Version](https://poser.pugx.org/pradosoft/prado/v/stable.png)](https://packagist.org/packages/pradosoft/prado)
+
+[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/pradosoft/prado?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+## API Documentation
+The complete API documentation can be found at http://pradosoft.github.io/docs/manual/
+
+## Install
+
+The best way to install Prado is [through composer](http://getcomposer.org).
+
+Just create a composer.json file for your project:
+
+```JSON
+{
+ "require": {
+ "pradosoft/prado": "~3.3"
+ }
+}
+```
+
+Then you can run these two commands to install it:
+
+ $ curl -s http://getcomposer.org/installer | php
+ $ php composer.phar install
+
+or simply run `composer install` if you have have already [installed the composer globally](http://getcomposer.org/doc/00-intro.md#globally).
+
+Then you can include the autoloader, and you will have access to the library classes:
+
+```php
+<?php
+require 'vendor/autoload.php';
+```
+## Demo Apps
+The Demos folder has several different example prado applications. You can see more information about these applications here: http://www.pradoframework.net/site/demos/ . When you create your own prado application you do NOT need these folders.
+
+* address-book
+* blog
+* blog-tutorial
+* chat
+* composer
+* currency-converter
+* helloworld
+* northwind-db
+* personal
+* quickstart
+* soap
+* sqlmap
+* time-tracker
+
+
+## Testing
+
+Prado uses phpunit (https://phpunit.de/) for testing, phing (http://www.phing.info/) for building, and Selenum (http://www.seleniumhq.org/) for web browser emulation.
+
+Running `phing` with no arguments will show you the different tests/builds that are setup in build.xml.
+
+```
+$phing
+Buildfile: /yourcodepath/build.xml
+
+prado > help:
+
+ [echo]
+
+ Welcome to use PRADO build script!
+ ----------------------------------
+ You may use the following command format to build a target:
+
+ phing <target name>
+
+ where <target name> can be one of the following:
+
+ For all PRADO developers:
+ - test : run unit tests (results are under /build/test-reports)
+ - coverage : run unit tests collecting coverage informations
+ - lint : run lint on framework
+ - lint-demos : run lint on demos
+```
+
+
+## Contributing
+
+In the spirit of free software, **everyone** is encouraged to help improve this project.
+
+Here are some ways *you* can contribute:
+
+* by using prerelease versions
+* by reporting bugs
+* by writing specifications
+* by writing code (*no patch is too small*: fix typos, add comments, clean up inconsistent whitespace)
+* by refactoring code
+* by resolving issues
+* by reviewing patches
+
+Starting point:
+
+* Fork the repo
+* Clone your repo
+* Make your changes
+* Write tests for your changes to ensure that later changes to prado won't break your code.
+* Submit your pull request
+
diff --git a/lib/prado/UPGRADE b/lib/prado/UPGRADE
new file mode 100644
index 0000000..e445c32
--- /dev/null
+++ b/lib/prado/UPGRADE
@@ -0,0 +1,301 @@
+
+ Upgrading Instructions for PRADO Framework v3.3.0
+ =================================================
+
+!!!IMPORTANT!!!
+
+The following upgrading instructions are cumulative. That is,
+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.2.x
+---------------------
+- Since PRADO 3.3.0, jQuery is the javascript framework of choice. All the existing PRADO controls have
+ already been ported, and prototype is still included to provide backward compatibility for custom controls.
+ Anyway, updating custom controls is probably a good idea. Have a look at the "Upgrading from v3.2" page in
+ the Quickstart tutorial for more informations.
+
+Upgrading from v3.2.1
+---------------------
+- TEmailAddressValidator's CheckMXRecord property now defaults to false.
+
+Upgrading from v3.2.0
+---------------------
+- The TSecurityManagerValidationMode class and TSecurityManager's Validation property have been deprecated.
+ Instead, use the new TSecurityManager's HashAlgorithm property that permits the use of any hashing
+ algorithm supported by the local php installation.
+- TSecurityManager's Encryption property has been deprecated (it was unusable). Instead, use the new
+ CryptAlgorithm property that permites the use of any algorithm supported by the local php installation.
+- TDateTimeStamp has been deprecated in favour of php's native DateTime classes. TDateTimeStamp has been
+ rewritten as a wrapper to DateTime, so porting and testing old code should be as easy as just looking at
+ the new implementation.
+
+Upgrading from v3.1.10
+---------------------
+- Prado 3.2 requires PHP >= 5.3.3
+- Prado 3.2 doesn't use anymore a separate clientscripts.php script to publish minified javascript files.
+ If you were relying (linking directly) to that script to get some js file, you'll need to re-adapt your
+ scripts. Remember, linking directly a file in the assets/ directory is always a bad idea, let Prado do
+ it for you using publishAssets().
+- The removal of clientscripts.php lead to the removal of TClientScriptManager::registerJavascriptPackages()
+ and the entire TClientScriptLoader class. These two were used to publish multiple javascript files at once
+ and to compress/minify them. While the compression is something that is probably better done at the
+ webserver/processor level, you can still get your scripts minified using TJavaScript::JSMin();
+- Ticket #325 enabled progressive rendering inside Prado. Previously, all the output of Prado was
+ buffered and sent to the client all at once. Now, you can decide to render smaller parts of the page
+ and send them to client right after completed, one after the other (see TFlushOutput documentation).
+ To ensure proper working of components requiring "head" resources (like external javascript files),
+ all the resource publishing needs to be made before the actual rendering occurs. Tipically the best
+ idea is to do it inside the onPreRender event. All the Prado components have been (obviously) updated
+ to support this change, but any custom component made by yourself could need some update efforts.
+ The easiest way to understand if a component is broken because of this change is to check if you get a
+ 'Operation invalid when page is already rendering' exception.
+- A new "TReCaptcha" control has been added to overcome the limited security offered by TCaptcha. If you
+ are currently using TCaptcha, an update to the new control is really adviced.
+- Since php 5.2 the "sqlite" extension is not built by default. As a consequence, we deprecated (but kept
+ to mantain backwards compatibility) everything based on that extension.
+ TSqliteCache should be abandoned in favour of TDbCache.
+ The "sqlite" backend for message translation has been deprecated, use "Database" instead.
+- TPageService's default pages path has changed from "Application.pages" to "Application.Pages" (note the
+ uppercase P). Using capital letters for the initial letter of the directories name is a long-time
+ convention in prado, and this has been changed to reflect it. TPageService has been patched anyway to
+ support even the old "Application.pages" to avoid breaking existing code.
+- All the THttpRequest's methods used to gather server informations have been paired to return null if no
+ information is available. Previously some of them returned an empty string (getQueryString and
+ getHttpProtocolVersion), some other returned null, others caused a php NOTICE.
+- Some TJavaScript methods have been modified to clear their use and provide better xss protection:
+ 1. the undocumented quoteUTF8() was removed, since it didn't provide any real protection;
+ 2. quoteString() now safely adds quotes around a string: previously it only added escape characters;
+ 3. the json* family of methods actually checks for errors and generate exceptions on fail;
+ 4. strings beginning with "javascript:", enclosed in {..} or [..] were previously meant to bypass any
+ encoding in TJavascript::encode(): this could introduce xss vulnerabilities. Now everything always gets
+ encoded, if you need a string to bypass encoding, prepare it with TJavaScript::quoteJsLiteral(). To
+ achieve the same result on control properties defined in a template, prefix the property name with
+ "js" and prado will figure it out automatically.
+ to explicitly use TJavascript::quoteFunction() to ensure raw javascript will be published.
+- The php JSON extension is required; it ships by default with php 5.3 and is a lot faster that the old
+ TJSON-based implementation. TJSON has been removed, if you were calling it directly to encode/decode
+ you can switch to TJavaScript::jsonEncode(), TJavaScript::jsonDecode().
+- TActiveCustomValidator behaviour changed. Previously it was using a separate callback to perform
+ validation on its own, while now it performs validation inside the main callback of the control that
+ triggered the validation.
+
+Upgrading from v3.1.9
+---------------------
+
+Upgrading from v3.1.8
+---------------------
+- An new "TranslateDefaultCulture" option has been added to TGlobalization that lets you choose if Prado
+ have to translate the default culture (default up to 3.1.7) or not (changed in 3.1.8). This option is
+ enabled by default, in fact restoring the pre-3.1.8 behaviour of translating also the default culture.
+ You want this option to be enabled if:
+ - you write pseudo translation tags in your code like <%[page_title_welcome]%> and need Prado to insert
+ the proper translation for every language (i.e. the base text is not written in a real language);
+ - your default culture is different from the culture used in your project (eg. your DefaultCulture is
+ "fr", but text in your pages is written in english to ensure other team members will understand it);
+ You want this option to be disabled if:
+ - you write code in your DefaultCulture language like <%[Welcome to my website]%>. For users viewing
+ your pages in that same Culture, Prado won't even try to translate these strings. Translation will
+ occur normally for every other culture.
+
+Upgrading from v3.1.7
+---------------------
+- behavior of THttpRequest::getBaseUrl() and THttpRequest::getAbsoluteApplicationUrl() changed:
+ null - keep current schema
+ true - force https
+ false - force http
+ relevance, only if invoking methods with explicit "false"
+
+
+Upgrading from v3.1.6
+---------------------
+- The different SQLMap cache engines (TSQLMapFifoCache, TSQLMapLRUCache, TSQLMapApplicationCache) doesn't
+take anymore the cache size in their constructor. Instead, they take the cachemodel object who instanciated them.
+It shouldn't affect existing code, except if you instanciate one of this cache directly (i.e, without a <cachemodel>
+directive in your SQLMap configuration)
+
+Upgrading from v3.1.5
+---------------------
+
+Upgrading from v3.1.4
+---------------------
+- The structure of indices used by TDbCache has been changed by replacing
+ PRIMARY KEY on 'itemkey' with non-unique index and adding an additional index on column 'expire'.
+ Existing tables should be amended or deleted and recreated as follows:
+ CREATE TABLE pradocache (itemkey CHAR(128), value BLOB, expire INT)
+ CREATE INDEX IX_itemkey ON pradocache (itemkey)
+ CREATE INDEX IX_expire ON pradocache (expire)
+
+Upgrading from v3.1.3
+---------------------
+- The prado-cli and prado-cli.bat scripts have been moved into
+ the framework folder of the distribution.
+
+
+Upgrading from v3.1.2
+---------------------
+- The Translation configuration now also accepts type 'Database' to
+ ease the setup of DB base translation. A valid ConnectionID has to
+ be supplied in the source parameter:
+ <translation type="Database" source="db1" autosave="true" cache="false" />
+ Type 'MySQL' can still be used but is deprecated and might be removed
+ in a later release.
+- TinyMCE (used by THtmlArea component) has been upgraded to version 3.1.0.1.
+ Since the 3.X branch of TinyMCE has a different API than 2.X, you should
+ upgrade your Customs Plugins if you use any.
+ See http://wiki.moxiecode.com/index.php/TinyMCE:Migration_guide for more information.
+- If you use EnableStateEncryption, the PageState of your current user sessions
+ will no longer be valid, since we optimized the encryption/compression logic.
+- You can now use # and $ characters in your SQL statements with SQLMap by
+ escaping them as ## and $$. That induces that you can't have consecutive
+ parameters like #param1##param2# or $param1$$param2$ in your statements anymore.
+
+
+Upgrading from v3.1.1
+---------------------
+- The RELATIONS type declaration in Active Record classes for Many-to-Many using
+ an association table was change from "self::HAS_MANY" to "self::MANY_TO_MANY".
+ E.g. change
+ 'albums' => array(self::HAS_MANY, 'Artist', 'album_artists')
+ to
+ 'albums' => array(self::MANY_TO_MANY, 'Artist', 'album_artists')
+- Active Record no longer automatically adds/removes/updates related objects.
+- 'Raw' mode for TCheckboxList and TRadioButtonList (and their active counter parts) now render
+ a surrounding <span> tag to allow client scripts to identify them with the ClientId. You may
+ have to check your CSS.
+
+
+Upgrading from v3.1.0
+---------------------
+- The RELATIONS declaration in Acive Record classes is changed from
+ "protected static $RELATIONS" to "public static $RELATIONS".
+- IFeedContentProvider adds a new method: getContentType(). This affects any
+ class implementing this interface.
+- TUrlMapping now only uses the PATH_INFO part of URL for matching, and the matching
+ is for the whole PATH_INFO.
+- IUserManager adds two new methods: getUserFromCookie() and saveUserToCookie().
+ This affects classes that implements this interface and does not extend from
+ TUserManager.
+- The order of application lifecycles is changed. The loadState and loadStateComplete
+ are moved to right after onBeginRequest.
+- TDropDownList will be in an unselected state if no initial selection is specified.
+ That is, its SelectedIndex will be -1. Previously, the first item will be considered as selected.
+
+Upgrading from v3.1b
+--------------------
+- Comment tag <!-- ... ---> (introduced in v3.1a) is changed to <!--- ... --->
+- When TDataList.RepeatLayout is Raw, the items will render <div> instead of <span>
+- TActiveRecord finder methods will always return a new object instance (identity mapping was removed).
+- TActiveRecord::findBySql() will return an object rather than an array
+- TActiveRecord::findAllBySql() will return an array of objects.
+
+Upgrading from v3.1a
+---------------------
+- The signature of TActiveRecord::finder() is changed. This affects
+ all TActiveRecord-descendant classes that override this method.
+ Please use the following code to override the method:
+ public static function finder($className=__CLASS__)
+ {
+ return parent::finder($className);
+ }
+
+- The way to specify the table name for an active record class is changed.
+ Previously, it used the static class member '_tablename'.
+ Now it uses class constant as follows:
+ class UserRecord extends TActiveRecord
+ {
+ const TABLE='users_table';
+ }
+
+- Changed TActiveRatingList's javascript control class
+ name from "Prado.WebUI.TRatingList" to "Prado.WebUI.TActiveRatingList".
+
+- PRADO's javascript library locations moved from Web/Javascripts/xxx to Web/Javascripts/source/xxx
+
+- IPostBackDataHandler added a new method getDataChanged(). Any control
+ implementing this interface will be required to implement this new method.
+
+Upgrading from v3.0.x
+---------------------
+- Validators ClientSide.OnSuccess becomes ClientSide.OnValidationSuccess,
+- Validators ClientSide.OnError becomes ClientSide.OnValidationError,
+- Validator OnSuccess event becomes OnValidationSuccess.
+- Validator OnError event becomes OnValidationError.
+- Content enclosed in <!-- --> is now parsed as normal template content.
+ Previously, it was not parsed and was rendered as is.
+
+Upgrading from v3.0.7
+---------------------
+
+Upgrading from v3.0.6
+---------------------
+
+Upgrading from v3.0.5
+---------------------
+- TRepeater does not render <span> anymore for empty item template.
+- constructUrl() now encodes ampersand by default. This should have minimal
+ impact on any existing PRADO applications, though.
+- TDataGrid does not generate default table styles. This may affect
+ the appearance of existing PRADO applications that use TDataGrid.
+- If TUrlMapping is used, you need to set the UrlManager property of
+ THttpRequest to the module ID of TUrlMapping.
+- TJavascriptLogger toggle key is changed from ALT-D to ALT-J.
+ Use the ToggleKey property chanage to a different key.
+- Javascript Library rico was REMOVED.
+
+Upgrading from v3.0.4
+---------------------
+- TFileUpload::saveAs() will return false instead of raising an exception
+ if it encounters any error.
+- TDropDownListColumn.DataField is renamed to DataTextField and
+ DataFormatString is renamed to DataTextFormatString.
+ A new property named DataValueField is added.
+
+Upgrading from v3.0.3
+---------------------
+- The 'Static' value is changed to 'Fixed' for the Display property of
+ all validators as well as TValidationSummary, due to conflict with PHP keywords.
+- The 'List' value is changed to 'SimpleList' for TValidationSummary.DisplayMode.
+- The 'List' value is changed to 'DropDownList' for TPager.Mode
+- This change affects existing client-side javascript handlers such as
+ <com:TRequiredFieldValidator ClientSide.OnSuccess="xxx" />
+ All ClientSide javascript event handlers (such as ClientSide.OnSuccess)
+ are by default wrapped within the function block.
+ function(sender, parameter){ // handler code }
+ You may override this behaviour by providing your own javascript statement block
+ as "javascript:MyHandlerFunction", e.g. ClientSide.OnSuccess="javascript:MyHandlerFunction"
+ or ClientSide.OnSuccess="javascript:function(validator,sender){ ... }"
+
+
+Upgrading from v3.0.2
+---------------------
+- The minimum PHP version required is raised to 5.1.0 and above.
+ If your server is installed with a lower version of PHP, you will
+ have to upgrade it in order to run PRADO applications.
+- The signature of TControl::broadcastEvent() is changed from
+ broadcastEvent($sender,TBroadCastEventParameter $param) to
+ broadcastEvent($name,$sender,$param).
+ This makes the call to broadcastEvent() to be consistent with raiseEvent().
+
+Upgrading from v3.0.1
+---------------------
+- Postback enabled control will always disable default client-side browser action.
+ This is due to google toolbar's interference of event stopping scheme.
+ This modification should only affect user-derived postback javascripts.
+
+Upgrading from v3.0.0
+---------------------
+- URL format is modified when THttpRequest.UrlFormat=='Path'.
+ This modification affects both the URLs generated by calling constructUrl()
+ and the URLs understood by PRADO. In particular, PRADO now understands
+ the following URL format:
+ /index.php/ServiceID,ServiceParam/Name1,Value1/Name2,Value2/...
+ In v3.0.0, the above URL is written as:
+ /index.php/ServiceID/ServiceParam/Name1/Value1/Name2/Value2/...
+- TControl::onBubbleEvent() has been changed to TControl::bubbleEvent().
+ This change only affects user controls that override this method.
+
+Upgrading from v2.x and v1.x
+----------------------------
+PRADO v3.x is not backward compatible with v2.x and v1.x.
diff --git a/lib/prado/bin/prado-cli.php b/lib/prado/bin/prado-cli.php
index 824cf10..f67ab2a 100755
--- a/lib/prado/bin/prado-cli.php
+++ b/lib/prado/bin/prado-cli.php
@@ -5,7 +5,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
*/
diff --git a/lib/prado/framework/Caching/TAPCCache.php b/lib/prado/framework/Caching/TAPCCache.php
index 2274412..ee6e165 100644
--- a/lib/prado/framework/Caching/TAPCCache.php
+++ b/lib/prado/framework/Caching/TAPCCache.php
@@ -4,7 +4,7 @@
*
* @author Alban Hanry <compte_messagerie@hotmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Caching
*/
diff --git a/lib/prado/framework/Caching/TCache.php b/lib/prado/framework/Caching/TCache.php
index 4a66dd0..fb41344 100644
--- a/lib/prado/framework/Caching/TCache.php
+++ b/lib/prado/framework/Caching/TCache.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Caching
*/
diff --git a/lib/prado/framework/Caching/TDbCache.php b/lib/prado/framework/Caching/TDbCache.php
index f0cf962..a296cf4 100644
--- a/lib/prado/framework/Caching/TDbCache.php
+++ b/lib/prado/framework/Caching/TDbCache.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Caching
*/
diff --git a/lib/prado/framework/Caching/TEACache.php b/lib/prado/framework/Caching/TEACache.php
index 251566b..e223176 100644
--- a/lib/prado/framework/Caching/TEACache.php
+++ b/lib/prado/framework/Caching/TEACache.php
@@ -1 +1 @@
-<?php /** * TEACache class file * * @author Dario rigolin <drigolin@e-portaltech.it> * @link https://github.com/pradosoft/prado * @copyright Copyright &copy; 2005-2015 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Caching */ /** * TEACache class * * TEACache implements a cache application module based on {@link http://eaccelerator.net/ eAccelerator}. * * By definition, cache does not ensure the existence of a value * even if it never expires. Cache is not meant to be an persistent storage. * * To use this module, the eAccelerator PHP extension must be loaded and enabled * * Please note that as of v0.9.6, eAccelerator no longer supports data caching. * This means if you still want to use this component, your eAccelerator should be of 0.9.5.x or lower version. * * Some usage examples of TEACache are as follows, * <code> * $cache=new TEACache; // TEACache may also be loaded as a Prado application module * $cache->init(null); * $cache->add('object',$object); * $object2=$cache->get('object'); * </code> * * If loaded, TEACache will register itself with {@link TApplication} as the * cache module. It can be accessed via {@link TApplication::getCache()}. * * TEACache may be configured in application configuration file as follows * <code> * <module id="cache" class="System.Caching.TEACache" /> * </code> * * @author Dario Rigolin <drigolin@e-portaltech.it> * @package System.Caching * @since 3.2.2 */ class TEACache extends TCache { /** * Initializes this module. * This method is required by the IModule interface. * @param TXmlElement configuration for this module, can be null * @throws TConfigurationException if eaccelerator extension is not installed or not started, check your php.ini */ public function init($config) { if(!function_exists('eaccelerator_get')) throw new TConfigurationException('eacceleratorcache_extension_required'); parent::init($config); } /** * Retrieves a value from cache with a specified key. * This is the implementation of the method declared in the parent class. * @param string a unique key identifying the cached value * @return string the value stored in cache, false if the value is not in the cache or expired. */ protected function getValue($key) { $value = eaccelerator_get($key); return ($value === null) ? false : $value; } /** * Stores a value identified by a key in cache. * This is the implementation of the method declared in the parent class. * * @param string the key identifying the value to be cached * @param string the value to be cached * @param integer the number of seconds in which the cached value will expire. 0 means never expire. * @return boolean true if the value is successfully stored into cache, false otherwise */ protected function setValue($key,$value,$expire) { return eaccelerator_put($key,$value,$expire); } /** * Stores a value identified by a key into cache if the cache does not contain this key. * This is the implementation of the method declared in the parent class. * * @param string the key identifying the value to be cached * @param string the value to be cached * @param integer the number of seconds in which the cached value will expire. 0 means never expire. * @return boolean true if the value is successfully stored into cache, false otherwise */ protected function addValue($key,$value,$expire) { return (null === eaccelerator_get($key)) ? $this->setValue($key,$value,$expire) : false; } /** * Deletes a value with the specified key from cache * This is the implementation of the method declared in the parent class. * @param string the key of the value to be deleted * @return boolean if no error happens during deletion */ protected function deleteValue($key) { return eaccelerator_rm($key); } /** * Deletes all values from cache. * Be careful of performing this operation if the cache is shared by multiple applications. */ public function flush() { // first, remove expired content from cache eaccelerator_gc(); // now, remove leftover cache-keys $keys = eaccelerator_list_keys(); foreach($keys as $key) $this->deleteValue(substr($key['name'], 1)); return true; } } \ No newline at end of file
+<?php /** * TEACache class file * * @author Dario rigolin <drigolin@e-portaltech.it> * @link https://github.com/pradosoft/prado * @copyright Copyright &copy; 2005-2016 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT * @package System.Caching */ /** * TEACache class * * TEACache implements a cache application module based on {@link http://eaccelerator.net/ eAccelerator}. * * By definition, cache does not ensure the existence of a value * even if it never expires. Cache is not meant to be an persistent storage. * * To use this module, the eAccelerator PHP extension must be loaded and enabled * * Please note that as of v0.9.6, eAccelerator no longer supports data caching. * This means if you still want to use this component, your eAccelerator should be of 0.9.5.x or lower version. * * Some usage examples of TEACache are as follows, * <code> * $cache=new TEACache; // TEACache may also be loaded as a Prado application module * $cache->init(null); * $cache->add('object',$object); * $object2=$cache->get('object'); * </code> * * If loaded, TEACache will register itself with {@link TApplication} as the * cache module. It can be accessed via {@link TApplication::getCache()}. * * TEACache may be configured in application configuration file as follows * <code> * <module id="cache" class="System.Caching.TEACache" /> * </code> * * @author Dario Rigolin <drigolin@e-portaltech.it> * @package System.Caching * @since 3.2.2 */ class TEACache extends TCache { /** * Initializes this module. * This method is required by the IModule interface. * @param TXmlElement configuration for this module, can be null * @throws TConfigurationException if eaccelerator extension is not installed or not started, check your php.ini */ public function init($config) { if(!function_exists('eaccelerator_get')) throw new TConfigurationException('eacceleratorcache_extension_required'); parent::init($config); } /** * Retrieves a value from cache with a specified key. * This is the implementation of the method declared in the parent class. * @param string a unique key identifying the cached value * @return string the value stored in cache, false if the value is not in the cache or expired. */ protected function getValue($key) { $value = eaccelerator_get($key); return ($value === null) ? false : $value; } /** * Stores a value identified by a key in cache. * This is the implementation of the method declared in the parent class. * * @param string the key identifying the value to be cached * @param string the value to be cached * @param integer the number of seconds in which the cached value will expire. 0 means never expire. * @return boolean true if the value is successfully stored into cache, false otherwise */ protected function setValue($key,$value,$expire) { return eaccelerator_put($key,$value,$expire); } /** * Stores a value identified by a key into cache if the cache does not contain this key. * This is the implementation of the method declared in the parent class. * * @param string the key identifying the value to be cached * @param string the value to be cached * @param integer the number of seconds in which the cached value will expire. 0 means never expire. * @return boolean true if the value is successfully stored into cache, false otherwise */ protected function addValue($key,$value,$expire) { return (null === eaccelerator_get($key)) ? $this->setValue($key,$value,$expire) : false; } /** * Deletes a value with the specified key from cache * This is the implementation of the method declared in the parent class. * @param string the key of the value to be deleted * @return boolean if no error happens during deletion */ protected function deleteValue($key) { return eaccelerator_rm($key); } /** * Deletes all values from cache. * Be careful of performing this operation if the cache is shared by multiple applications. */ public function flush() { // first, remove expired content from cache eaccelerator_gc(); // now, remove leftover cache-keys $keys = eaccelerator_list_keys(); foreach($keys as $key) $this->deleteValue(substr($key['name'], 1)); return true; } } \ No newline at end of file
diff --git a/lib/prado/framework/Caching/TMemCache.php b/lib/prado/framework/Caching/TMemCache.php
index 8d09119..ba4a200 100644
--- a/lib/prado/framework/Caching/TMemCache.php
+++ b/lib/prado/framework/Caching/TMemCache.php
@@ -5,7 +5,7 @@
* @author Qiang Xue <qiang.xue@gmail.com>
* @author Carl G. Mathisen <carlgmathisen@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Caching
*/
diff --git a/lib/prado/framework/Caching/TSqliteCache.php b/lib/prado/framework/Caching/TSqliteCache.php
index 8451a9e..db7639d 100644
--- a/lib/prado/framework/Caching/TSqliteCache.php
+++ b/lib/prado/framework/Caching/TSqliteCache.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Caching
*/
diff --git a/lib/prado/framework/Caching/TXCache.php b/lib/prado/framework/Caching/TXCache.php
index 19ae42a..ef771bd 100644
--- a/lib/prado/framework/Caching/TXCache.php
+++ b/lib/prado/framework/Caching/TXCache.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Caching
*/
diff --git a/lib/prado/framework/Collections/TAttributeCollection.php b/lib/prado/framework/Collections/TAttributeCollection.php
index a0f14ef..eb3cb29 100644
--- a/lib/prado/framework/Collections/TAttributeCollection.php
+++ b/lib/prado/framework/Collections/TAttributeCollection.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
@@ -45,6 +45,19 @@ class TAttributeCollection extends TMap
private $_caseSensitive=false;
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_caseSensitive===false)
+ $exprops[] = "\0TAttributeCollection\0_caseSensitive";
+ }
+
+ /**
* Returns a property value or an event handler list by property or event name.
* This method overrides the parent implementation by returning
* a key value if the key exists in the collection.
diff --git a/lib/prado/framework/Collections/TDummyDataSource.php b/lib/prado/framework/Collections/TDummyDataSource.php
index 6aaaeaa..275d847 100644
--- a/lib/prado/framework/Collections/TDummyDataSource.php
+++ b/lib/prado/framework/Collections/TDummyDataSource.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
diff --git a/lib/prado/framework/Collections/TList.php b/lib/prado/framework/Collections/TList.php
index bba0dae..6e9e16f 100644
--- a/lib/prado/framework/Collections/TList.php
+++ b/lib/prado/framework/Collections/TList.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
@@ -406,78 +406,7 @@ class TList extends TComponent implements IteratorAggregate,ArrayAccess,Countabl
* @package System.Collections
* @since 3.0
*/
-class TListIterator implements Iterator
+class TListIterator extends ArrayIterator
{
- /**
- * @var array the data to be iterated through
- */
- private $_d;
- /**
- * @var integer index of the current item
- */
- private $_i;
- /**
- * @var integer count of the data items
- */
- private $_c;
-
- /**
- * Constructor.
- * @param array the data to be iterated through
- */
- public function __construct(&$data)
- {
- $this->_d=&$data;
- $this->_i=0;
- $this->_c=count($this->_d);
- }
-
- /**
- * Rewinds internal array pointer.
- * This method is required by the interface Iterator.
- */
- public function rewind()
- {
- $this->_i=0;
- }
-
- /**
- * Returns the key of the current array item.
- * This method is required by the interface Iterator.
- * @return integer the key of the current array item
- */
- public function key()
- {
- return $this->_i;
- }
-
- /**
- * Returns the current array item.
- * This method is required by the interface Iterator.
- * @return mixed the current array item
- */
- public function current()
- {
- return $this->_d[$this->_i];
- }
-
- /**
- * Moves the internal pointer to the next array item.
- * This method is required by the interface Iterator.
- */
- public function next()
- {
- $this->_i++;
- }
-
- /**
- * Returns whether there is an item at current position.
- * This method is required by the interface Iterator.
- * @return boolean
- */
- public function valid()
- {
- return $this->_i<$this->_c;
- }
}
diff --git a/lib/prado/framework/Collections/TListItemCollection.php b/lib/prado/framework/Collections/TListItemCollection.php
index ed00146..5c146b6 100644
--- a/lib/prado/framework/Collections/TListItemCollection.php
+++ b/lib/prado/framework/Collections/TListItemCollection.php
@@ -6,7 +6,7 @@
* @author Robin J. Rogge <rojaro@gmail.com>
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
diff --git a/lib/prado/framework/Collections/TMap.php b/lib/prado/framework/Collections/TMap.php
index d610dce..017f70b 100644
--- a/lib/prado/framework/Collections/TMap.php
+++ b/lib/prado/framework/Collections/TMap.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
@@ -42,6 +42,21 @@ class TMap extends TComponent implements IteratorAggregate,ArrayAccess,Countable
private $_r=false;
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_d===array())
+ $exprops[] = "\0TMap\0_d";
+ if ($this->_r===false)
+ $exprops[] = "\0TMap\0_r";
+ }
+
+ /**
* Constructor.
* Initializes the list with an array or an iterable object.
* @param array|Iterator the intial data. Default is null, meaning no initialization.
@@ -275,76 +290,6 @@ class TMap extends TComponent implements IteratorAggregate,ArrayAccess,Countable
* @package System.Collections
* @since 3.0
*/
-class TMapIterator implements Iterator
+class TMapIterator extends ArrayIterator
{
- /**
- * @var array the data to be iterated through
- */
- private $_d;
- /**
- * @var array list of keys in the map
- */
- private $_keys;
- /**
- * @var mixed current key
- */
- private $_key;
-
- /**
- * Constructor.
- * @param array the data to be iterated through
- */
- public function __construct(&$data)
- {
- $this->_d=&$data;
- $this->_keys=array_keys($data);
- }
-
- /**
- * Rewinds internal array pointer.
- * This method is required by the interface Iterator.
- */
- public function rewind()
- {
- $this->_key=reset($this->_keys);
- }
-
- /**
- * Returns the key of the current array element.
- * This method is required by the interface Iterator.
- * @return mixed the key of the current array element
- */
- public function key()
- {
- return $this->_key;
- }
-
- /**
- * Returns the current array element.
- * This method is required by the interface Iterator.
- * @return mixed the current array element
- */
- public function current()
- {
- return $this->_d[$this->_key];
- }
-
- /**
- * Moves the internal pointer to the next array element.
- * This method is required by the interface Iterator.
- */
- public function next()
- {
- $this->_key=next($this->_keys);
- }
-
- /**
- * Returns whether there is an element at current position.
- * This method is required by the interface Iterator.
- * @return boolean
- */
- public function valid()
- {
- return $this->_key!==false;
- }
}
diff --git a/lib/prado/framework/Collections/TPagedDataSource.php b/lib/prado/framework/Collections/TPagedDataSource.php
index ec0b895..7fe43e5 100644
--- a/lib/prado/framework/Collections/TPagedDataSource.php
+++ b/lib/prado/framework/Collections/TPagedDataSource.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
diff --git a/lib/prado/framework/Collections/TPagedList.php b/lib/prado/framework/Collections/TPagedList.php
index 118bba1..a933b4e 100644
--- a/lib/prado/framework/Collections/TPagedList.php
+++ b/lib/prado/framework/Collections/TPagedList.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
@@ -295,7 +295,7 @@ class TPagedList extends TList
else
{
$data=$this->toArray();
- return new TListIterator($data);
+ return new ArrayIterator($data);
}
}
diff --git a/lib/prado/framework/Collections/TPriorityList.php b/lib/prado/framework/Collections/TPriorityList.php
index ad548dc..06dbae0 100644
--- a/lib/prado/framework/Collections/TPriorityList.php
+++ b/lib/prado/framework/Collections/TPriorityList.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
diff --git a/lib/prado/framework/Collections/TPriorityMap.php b/lib/prado/framework/Collections/TPriorityMap.php
index 9af10da..eebb81b 100644
--- a/lib/prado/framework/Collections/TPriorityMap.php
+++ b/lib/prado/framework/Collections/TPriorityMap.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@mac.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
diff --git a/lib/prado/framework/Collections/TQueue.php b/lib/prado/framework/Collections/TQueue.php
index 6c989e2..ac6f9df 100644
--- a/lib/prado/framework/Collections/TQueue.php
+++ b/lib/prado/framework/Collections/TQueue.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Collections
diff --git a/lib/prado/framework/Collections/TStack.php b/lib/prado/framework/Collections/TStack.php
index de78527..8bb4216 100644
--- a/lib/prado/framework/Collections/TStack.php
+++ b/lib/prado/framework/Collections/TStack.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Collections
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Exceptions/TActiveRecordException.php b/lib/prado/framework/Data/ActiveRecord/Exceptions/TActiveRecordException.php
index c4b8adf..fd762f6 100644
--- a/lib/prado/framework/Data/ActiveRecord/Exceptions/TActiveRecordException.php
+++ b/lib/prado/framework/Data/ActiveRecord/Exceptions/TActiveRecordException.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordBelongsTo.php b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordBelongsTo.php
index 4b0f89d..ff3d798 100644
--- a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordBelongsTo.php
+++ b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordBelongsTo.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.ActiveRecord.Relations
diff --git a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasMany.php b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasMany.php
index cf3a8fc..a14e8fa 100644
--- a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasMany.php
+++ b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasMany.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.ActiveRecord.Relations
diff --git a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasManyAssociation.php b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasManyAssociation.php
index 4c638d0..9a54710 100644
--- a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasManyAssociation.php
+++ b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasManyAssociation.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.ActiveRecord.Relations
diff --git a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasOne.php b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasOne.php
index 2b9ada2..9c62cbd 100644
--- a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasOne.php
+++ b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordHasOne.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.ActiveRecord.Relations
diff --git a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelation.php b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelation.php
index 1b577f0..354c3e2 100644
--- a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelation.php
+++ b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelation.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.ActiveRecord.Relations
diff --git a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelationContext.php b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelationContext.php
index 24fdee5..7b8944c 100644
--- a/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelationContext.php
+++ b/lib/prado/framework/Data/ActiveRecord/Relations/TActiveRecordRelationContext.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.ActiveRecord.Relations
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TIbmScaffoldInput.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TIbmScaffoldInput.php
index 47b6797..4786d86 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TIbmScaffoldInput.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TIbmScaffoldInput.php
@@ -4,7 +4,7 @@
*
* @author Cesar Ramos <cramos[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold.InputBuilder
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMssqlScaffoldInput.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMssqlScaffoldInput.php
index 3ebc0c7..14554d1 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMssqlScaffoldInput.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMssqlScaffoldInput.php
@@ -3,7 +3,7 @@
* TMssqlScaffoldInput class file.
*
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold.InputBuilder
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMysqlScaffoldInput.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMysqlScaffoldInput.php
index 6885461..6ae2c90 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMysqlScaffoldInput.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TMysqlScaffoldInput.php
@@ -3,7 +3,7 @@
* TMysqlScaffoldInput class file.
*
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold.InputBuilder
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TPgsqlScaffoldInput.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TPgsqlScaffoldInput.php
index 312f34d..4e02f16 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TPgsqlScaffoldInput.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TPgsqlScaffoldInput.php
@@ -3,7 +3,7 @@
* TPgsqlScaffoldInput class file.
*
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold.InputBuilder
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputBase.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputBase.php
index bb1715a..e1bc308 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputBase.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputBase.php
@@ -3,7 +3,7 @@
* TScaffoldInputBase class file.
*
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold.InputBuilder
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputCommon.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputCommon.php
index 1805aff..b4bbebf 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputCommon.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TScaffoldInputCommon.php
@@ -3,7 +3,7 @@
* TScaffoldInputCommon class file.
*
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold.InputBuilder
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TSqliteScaffoldInput.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TSqliteScaffoldInput.php
index 95078be..2350a2b 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TSqliteScaffoldInput.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/InputBuilder/TSqliteScaffoldInput.php
@@ -3,7 +3,7 @@
* TSqliteScaffoldInput class file.
*
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold.InputBuilder
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php
index 15cb2c0..1a209c7 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldEditView.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldEditView.php
index 1d706d6..3134934 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldEditView.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldEditView.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldListView.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldListView.php
index d5367e9..0903126 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldListView.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldListView.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldSearch.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldSearch.php
index e2627e5..30c3e7f 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldSearch.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldSearch.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.ActiveRecord.Scaffold
diff --git a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldView.php b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldView.php
index 3d4019a..291bf65 100644
--- a/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldView.php
+++ b/lib/prado/framework/Data/ActiveRecord/Scaffold/TScaffoldView.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord.Scaffold
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/TActiveRecord.php b/lib/prado/framework/Data/ActiveRecord/TActiveRecord.php
index 186af85..91d5780 100644
--- a/lib/prado/framework/Data/ActiveRecord/TActiveRecord.php
+++ b/lib/prado/framework/Data/ActiveRecord/TActiveRecord.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/TActiveRecordConfig.php b/lib/prado/framework/Data/ActiveRecord/TActiveRecordConfig.php
index f2c7e0b..fd69e3c 100644
--- a/lib/prado/framework/Data/ActiveRecord/TActiveRecordConfig.php
+++ b/lib/prado/framework/Data/ActiveRecord/TActiveRecordConfig.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/TActiveRecordCriteria.php b/lib/prado/framework/Data/ActiveRecord/TActiveRecordCriteria.php
index 612658e..366011a 100644
--- a/lib/prado/framework/Data/ActiveRecord/TActiveRecordCriteria.php
+++ b/lib/prado/framework/Data/ActiveRecord/TActiveRecordCriteria.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/TActiveRecordGateway.php b/lib/prado/framework/Data/ActiveRecord/TActiveRecordGateway.php
index e631a73..85b1c2d 100644
--- a/lib/prado/framework/Data/ActiveRecord/TActiveRecordGateway.php
+++ b/lib/prado/framework/Data/ActiveRecord/TActiveRecordGateway.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord
*/
diff --git a/lib/prado/framework/Data/ActiveRecord/TActiveRecordManager.php b/lib/prado/framework/Data/ActiveRecord/TActiveRecordManager.php
index 1e836d5..615555a 100644
--- a/lib/prado/framework/Data/ActiveRecord/TActiveRecordManager.php
+++ b/lib/prado/framework/Data/ActiveRecord/TActiveRecordManager.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.ActiveRecord
*/
diff --git a/lib/prado/framework/Data/Common/Mssql/TMssqlCommandBuilder.php b/lib/prado/framework/Data/Common/Mssql/TMssqlCommandBuilder.php
index e3f1f5c..d23e62e 100644
--- a/lib/prado/framework/Data/Common/Mssql/TMssqlCommandBuilder.php
+++ b/lib/prado/framework/Data/Common/Mssql/TMssqlCommandBuilder.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/Mssql/TMssqlMetaData.php b/lib/prado/framework/Data/Common/Mssql/TMssqlMetaData.php
index d0fc167..725d0a5 100644
--- a/lib/prado/framework/Data/Common/Mssql/TMssqlMetaData.php
+++ b/lib/prado/framework/Data/Common/Mssql/TMssqlMetaData.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Mssql
*/
diff --git a/lib/prado/framework/Data/Common/Mssql/TMssqlTableColumn.php b/lib/prado/framework/Data/Common/Mssql/TMssqlTableColumn.php
index a02ebf0..793a14f 100644
--- a/lib/prado/framework/Data/Common/Mssql/TMssqlTableColumn.php
+++ b/lib/prado/framework/Data/Common/Mssql/TMssqlTableColumn.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Mssql
*/
diff --git a/lib/prado/framework/Data/Common/Mssql/TMssqlTableInfo.php b/lib/prado/framework/Data/Common/Mssql/TMssqlTableInfo.php
index bee4730..3a0c86f 100644
--- a/lib/prado/framework/Data/Common/Mssql/TMssqlTableInfo.php
+++ b/lib/prado/framework/Data/Common/Mssql/TMssqlTableInfo.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Mssql
*/
diff --git a/lib/prado/framework/Data/Common/Mysql/TMysqlCommandBuilder.php b/lib/prado/framework/Data/Common/Mysql/TMysqlCommandBuilder.php
index b5bdc28..3dccb77 100644
--- a/lib/prado/framework/Data/Common/Mysql/TMysqlCommandBuilder.php
+++ b/lib/prado/framework/Data/Common/Mysql/TMysqlCommandBuilder.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/Mysql/TMysqlMetaData.php b/lib/prado/framework/Data/Common/Mysql/TMysqlMetaData.php
index e7747b7..5777321 100644
--- a/lib/prado/framework/Data/Common/Mysql/TMysqlMetaData.php
+++ b/lib/prado/framework/Data/Common/Mysql/TMysqlMetaData.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Mysql
*/
diff --git a/lib/prado/framework/Data/Common/Mysql/TMysqlTableColumn.php b/lib/prado/framework/Data/Common/Mysql/TMysqlTableColumn.php
index 5b84f80..24790ea 100644
--- a/lib/prado/framework/Data/Common/Mysql/TMysqlTableColumn.php
+++ b/lib/prado/framework/Data/Common/Mysql/TMysqlTableColumn.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Mysql
*/
diff --git a/lib/prado/framework/Data/Common/Mysql/TMysqlTableInfo.php b/lib/prado/framework/Data/Common/Mysql/TMysqlTableInfo.php
index bc5dc4e..c538668 100644
--- a/lib/prado/framework/Data/Common/Mysql/TMysqlTableInfo.php
+++ b/lib/prado/framework/Data/Common/Mysql/TMysqlTableInfo.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Mysql
*/
diff --git a/lib/prado/framework/Data/Common/Oracle/TOracleCommandBuilder.php b/lib/prado/framework/Data/Common/Oracle/TOracleCommandBuilder.php
index ad4c9f4..9db3937 100644
--- a/lib/prado/framework/Data/Common/Oracle/TOracleCommandBuilder.php
+++ b/lib/prado/framework/Data/Common/Oracle/TOracleCommandBuilder.php
@@ -5,7 +5,7 @@
*
* @author Marcos Nobre <marconobre[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/Oracle/TOracleMetaData.php b/lib/prado/framework/Data/Common/Oracle/TOracleMetaData.php
index 7fd3d1f..f7c7406 100644
--- a/lib/prado/framework/Data/Common/Oracle/TOracleMetaData.php
+++ b/lib/prado/framework/Data/Common/Oracle/TOracleMetaData.php
@@ -4,7 +4,7 @@
*
* @author Marcos Nobre <marconobre[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Oracle
*/
diff --git a/lib/prado/framework/Data/Common/Oracle/TOracleTableColumn.php b/lib/prado/framework/Data/Common/Oracle/TOracleTableColumn.php
index 31a5e6c..7dd2838 100644
--- a/lib/prado/framework/Data/Common/Oracle/TOracleTableColumn.php
+++ b/lib/prado/framework/Data/Common/Oracle/TOracleTableColumn.php
@@ -4,7 +4,7 @@
*
* @author Marcos Nobre <marconobre[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Oracle
*/
diff --git a/lib/prado/framework/Data/Common/Oracle/TOracleTableInfo.php b/lib/prado/framework/Data/Common/Oracle/TOracleTableInfo.php
index f226562..156a2a1 100644
--- a/lib/prado/framework/Data/Common/Oracle/TOracleTableInfo.php
+++ b/lib/prado/framework/Data/Common/Oracle/TOracleTableInfo.php
@@ -5,7 +5,7 @@
*
* @author Marcos Nobre <marconobre[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/Pgsql/TPgsqlCommandBuilder.php b/lib/prado/framework/Data/Common/Pgsql/TPgsqlCommandBuilder.php
index 5e219ad..9612978 100644
--- a/lib/prado/framework/Data/Common/Pgsql/TPgsqlCommandBuilder.php
+++ b/lib/prado/framework/Data/Common/Pgsql/TPgsqlCommandBuilder.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/Pgsql/TPgsqlMetaData.php b/lib/prado/framework/Data/Common/Pgsql/TPgsqlMetaData.php
index 3001cf4..bf99b9f 100644
--- a/lib/prado/framework/Data/Common/Pgsql/TPgsqlMetaData.php
+++ b/lib/prado/framework/Data/Common/Pgsql/TPgsqlMetaData.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Pgsql
*/
diff --git a/lib/prado/framework/Data/Common/Pgsql/TPgsqlTableColumn.php b/lib/prado/framework/Data/Common/Pgsql/TPgsqlTableColumn.php
index efe516e..ff06b20 100644
--- a/lib/prado/framework/Data/Common/Pgsql/TPgsqlTableColumn.php
+++ b/lib/prado/framework/Data/Common/Pgsql/TPgsqlTableColumn.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Pgsql
*/
diff --git a/lib/prado/framework/Data/Common/Pgsql/TPgsqlTableInfo.php b/lib/prado/framework/Data/Common/Pgsql/TPgsqlTableInfo.php
index aef09fa..17aacee 100644
--- a/lib/prado/framework/Data/Common/Pgsql/TPgsqlTableInfo.php
+++ b/lib/prado/framework/Data/Common/Pgsql/TPgsqlTableInfo.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Pgsql
*/
diff --git a/lib/prado/framework/Data/Common/Sqlite/TSqliteCommandBuilder.php b/lib/prado/framework/Data/Common/Sqlite/TSqliteCommandBuilder.php
index 970ede4..eaa0678 100644
--- a/lib/prado/framework/Data/Common/Sqlite/TSqliteCommandBuilder.php
+++ b/lib/prado/framework/Data/Common/Sqlite/TSqliteCommandBuilder.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/Sqlite/TSqliteMetaData.php b/lib/prado/framework/Data/Common/Sqlite/TSqliteMetaData.php
index a2fe870..2fb641b 100644
--- a/lib/prado/framework/Data/Common/Sqlite/TSqliteMetaData.php
+++ b/lib/prado/framework/Data/Common/Sqlite/TSqliteMetaData.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Sqlite
*/
diff --git a/lib/prado/framework/Data/Common/Sqlite/TSqliteTableColumn.php b/lib/prado/framework/Data/Common/Sqlite/TSqliteTableColumn.php
index e58ec85..018323a 100644
--- a/lib/prado/framework/Data/Common/Sqlite/TSqliteTableColumn.php
+++ b/lib/prado/framework/Data/Common/Sqlite/TSqliteTableColumn.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Sqlite
*/
diff --git a/lib/prado/framework/Data/Common/Sqlite/TSqliteTableInfo.php b/lib/prado/framework/Data/Common/Sqlite/TSqliteTableInfo.php
index 6c047e4..387382e 100644
--- a/lib/prado/framework/Data/Common/Sqlite/TSqliteTableInfo.php
+++ b/lib/prado/framework/Data/Common/Sqlite/TSqliteTableInfo.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common.Sqlite
*/
diff --git a/lib/prado/framework/Data/Common/TDbCommandBuilder.php b/lib/prado/framework/Data/Common/TDbCommandBuilder.php
index e1d476e..389fe77 100644
--- a/lib/prado/framework/Data/Common/TDbCommandBuilder.php
+++ b/lib/prado/framework/Data/Common/TDbCommandBuilder.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/TDbMetaData.php b/lib/prado/framework/Data/Common/TDbMetaData.php
index 0ec9ce4..d44cd0b 100644
--- a/lib/prado/framework/Data/Common/TDbMetaData.php
+++ b/lib/prado/framework/Data/Common/TDbMetaData.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/TDbTableColumn.php b/lib/prado/framework/Data/Common/TDbTableColumn.php
index 9987197..b994dd7 100644
--- a/lib/prado/framework/Data/Common/TDbTableColumn.php
+++ b/lib/prado/framework/Data/Common/TDbTableColumn.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/Common/TDbTableInfo.php b/lib/prado/framework/Data/Common/TDbTableInfo.php
index 8e60157..0285f92 100644
--- a/lib/prado/framework/Data/Common/TDbTableInfo.php
+++ b/lib/prado/framework/Data/Common/TDbTableInfo.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.Common
*/
diff --git a/lib/prado/framework/Data/DataGateway/TDataGatewayCommand.php b/lib/prado/framework/Data/DataGateway/TDataGatewayCommand.php
index d314ca0..bbc741a 100644
--- a/lib/prado/framework/Data/DataGateway/TDataGatewayCommand.php
+++ b/lib/prado/framework/Data/DataGateway/TDataGatewayCommand.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.DataGateway
diff --git a/lib/prado/framework/Data/DataGateway/TSqlCriteria.php b/lib/prado/framework/Data/DataGateway/TSqlCriteria.php
index 3325c7f..c556238 100644
--- a/lib/prado/framework/Data/DataGateway/TSqlCriteria.php
+++ b/lib/prado/framework/Data/DataGateway/TSqlCriteria.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.DataGateway
*/
diff --git a/lib/prado/framework/Data/DataGateway/TTableGateway.php b/lib/prado/framework/Data/DataGateway/TTableGateway.php
index 0906d8d..d1b8264 100644
--- a/lib/prado/framework/Data/DataGateway/TTableGateway.php
+++ b/lib/prado/framework/Data/DataGateway/TTableGateway.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Data.DataGateway
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TDiscriminator.php b/lib/prado/framework/Data/SqlMap/Configuration/TDiscriminator.php
index 004bcca..45aa984 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TDiscriminator.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TDiscriminator.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TInlineParameterMapParser.php b/lib/prado/framework/Data/SqlMap/Configuration/TInlineParameterMapParser.php
index dfe14f8..56e2929 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TInlineParameterMapParser.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TInlineParameterMapParser.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TParameterMap.php b/lib/prado/framework/Data/SqlMap/Configuration/TParameterMap.php
index d6f90b2..0f137c5 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TParameterMap.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TParameterMap.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TParameterProperty.php b/lib/prado/framework/Data/SqlMap/Configuration/TParameterProperty.php
index f6282e4..d706a83 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TParameterProperty.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TParameterProperty.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TResultMap.php b/lib/prado/framework/Data/SqlMap/Configuration/TResultMap.php
index 95e8d34..d0f017a 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TResultMap.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TResultMap.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TResultProperty.php b/lib/prado/framework/Data/SqlMap/Configuration/TResultProperty.php
index 87b0677..0a4f8f1 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TResultProperty.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TResultProperty.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TSimpleDynamicParser.php b/lib/prado/framework/Data/SqlMap/Configuration/TSimpleDynamicParser.php
index 41b706a..899ed74 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TSimpleDynamicParser.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TSimpleDynamicParser.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapCacheModel.php b/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapCacheModel.php
index 8a1e344..54b8c32 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapCacheModel.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapCacheModel.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapStatement.php b/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapStatement.php
index abb21c7..e0533bf 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapStatement.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapStatement.php
@@ -5,7 +5,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
diff --git a/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapXmlConfiguration.php b/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapXmlConfiguration.php
index 062b65e..5018699 100644
--- a/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapXmlConfiguration.php
+++ b/lib/prado/framework/Data/SqlMap/Configuration/TSqlMapXmlConfiguration.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Configuration
*/
@@ -347,7 +347,7 @@ class TSqlMapXmlMappingConfiguration extends TSqlMapXmlConfigBuilder
static $bCacheDependencies;
if($bCacheDependencies === null)
- $bCacheDependencies = Prado::getApplication()->getMode() !== TApplicationMode::Performance;
+ $bCacheDependencies = true; //Prado::getApplication()->getMode() !== TApplicationMode::Performance;
if($bCacheDependencies)
$this->_manager->getCacheDependencies()
diff --git a/lib/prado/framework/Data/SqlMap/DataMapper/TFastSqlMapApplicationCache.php b/lib/prado/framework/Data/SqlMap/DataMapper/TFastSqlMapApplicationCache.php
index ec05978..07527ab 100644
--- a/lib/prado/framework/Data/SqlMap/DataMapper/TFastSqlMapApplicationCache.php
+++ b/lib/prado/framework/Data/SqlMap/DataMapper/TFastSqlMapApplicationCache.php
@@ -4,7 +4,7 @@
*
* @author Berczi Gabor <gabor.berczi@devworx.hu>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/SqlMap/DataMapper/TLazyLoadList.php b/lib/prado/framework/Data/SqlMap/DataMapper/TLazyLoadList.php
index 721c0fc..c7dac7b 100644
--- a/lib/prado/framework/Data/SqlMap/DataMapper/TLazyLoadList.php
+++ b/lib/prado/framework/Data/SqlMap/DataMapper/TLazyLoadList.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/SqlMap/DataMapper/TPropertyAccess.php b/lib/prado/framework/Data/SqlMap/DataMapper/TPropertyAccess.php
index 3aadc17..f49e0ff 100644
--- a/lib/prado/framework/Data/SqlMap/DataMapper/TPropertyAccess.php
+++ b/lib/prado/framework/Data/SqlMap/DataMapper/TPropertyAccess.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapCache.php b/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapCache.php
index 2df52eb..fb7e310 100644
--- a/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapCache.php
+++ b/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapCache.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php b/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php
index 0bf9fdc..5781c5b 100644
--- a/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php
+++ b/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapTypeHandlerRegistry.php b/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapTypeHandlerRegistry.php
index 7941426..f1e73f0 100644
--- a/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapTypeHandlerRegistry.php
+++ b/lib/prado/framework/Data/SqlMap/DataMapper/TSqlMapTypeHandlerRegistry.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TCachingStatement.php b/lib/prado/framework/Data/SqlMap/Statements/TCachingStatement.php
index 067b7b9..f286812 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TCachingStatement.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TCachingStatement.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TDeleteMappedStatement.php b/lib/prado/framework/Data/SqlMap/Statements/TDeleteMappedStatement.php
index fac34fa..9cc476a 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TDeleteMappedStatement.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TDeleteMappedStatement.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TInsertMappedStatement.php b/lib/prado/framework/Data/SqlMap/Statements/TInsertMappedStatement.php
index 0673bcc..074ee59 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TInsertMappedStatement.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TInsertMappedStatement.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TMappedStatement.php b/lib/prado/framework/Data/SqlMap/Statements/TMappedStatement.php
index 2887114..0883564 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TMappedStatement.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TMappedStatement.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TPreparedCommand.php b/lib/prado/framework/Data/SqlMap/Statements/TPreparedCommand.php
index 1f560b3..827fd23 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TPreparedCommand.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TPreparedCommand.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TPreparedStatement.php b/lib/prado/framework/Data/SqlMap/Statements/TPreparedStatement.php
index f536e39..3f33ed6 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TPreparedStatement.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TPreparedStatement.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TPreparedStatementFactory.php b/lib/prado/framework/Data/SqlMap/Statements/TPreparedStatementFactory.php
index a85cd76..9dffd56 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TPreparedStatementFactory.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TPreparedStatementFactory.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TSelectMappedStatement.php b/lib/prado/framework/Data/SqlMap/Statements/TSelectMappedStatement.php
index 0231c09..a819fd7 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TSelectMappedStatement.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TSelectMappedStatement.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TSimpleDynamicSql.php b/lib/prado/framework/Data/SqlMap/Statements/TSimpleDynamicSql.php
index 11f8a56..26ae872 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TSimpleDynamicSql.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TSimpleDynamicSql.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TStaticSql.php b/lib/prado/framework/Data/SqlMap/Statements/TStaticSql.php
index 180d0e4..d925dea 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TStaticSql.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TStaticSql.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/Statements/TUpdateMappedStatement.php b/lib/prado/framework/Data/SqlMap/Statements/TUpdateMappedStatement.php
index 8a39640..173cf29 100644
--- a/lib/prado/framework/Data/SqlMap/Statements/TUpdateMappedStatement.php
+++ b/lib/prado/framework/Data/SqlMap/Statements/TUpdateMappedStatement.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap.Statements
*/
diff --git a/lib/prado/framework/Data/SqlMap/TSqlMapConfig.php b/lib/prado/framework/Data/SqlMap/TSqlMapConfig.php
index 5fa641a..8fa6e41 100644
--- a/lib/prado/framework/Data/SqlMap/TSqlMapConfig.php
+++ b/lib/prado/framework/Data/SqlMap/TSqlMapConfig.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/SqlMap/TSqlMapGateway.php b/lib/prado/framework/Data/SqlMap/TSqlMapGateway.php
index e1df2e5..c9b6bc4 100644
--- a/lib/prado/framework/Data/SqlMap/TSqlMapGateway.php
+++ b/lib/prado/framework/Data/SqlMap/TSqlMapGateway.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/SqlMap/TSqlMapManager.php b/lib/prado/framework/Data/SqlMap/TSqlMapManager.php
index eba42f7..66b7b66 100644
--- a/lib/prado/framework/Data/SqlMap/TSqlMapManager.php
+++ b/lib/prado/framework/Data/SqlMap/TSqlMapManager.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data.SqlMap
*/
diff --git a/lib/prado/framework/Data/TDataSourceConfig.php b/lib/prado/framework/Data/TDataSourceConfig.php
index e9c00da..b01a28d 100644
--- a/lib/prado/framework/Data/TDataSourceConfig.php
+++ b/lib/prado/framework/Data/TDataSourceConfig.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data
*/
diff --git a/lib/prado/framework/Data/TDbCommand.php b/lib/prado/framework/Data/TDbCommand.php
index 93e9e74..b2dcbb8 100644
--- a/lib/prado/framework/Data/TDbCommand.php
+++ b/lib/prado/framework/Data/TDbCommand.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data
*/
@@ -201,8 +201,8 @@ class TDbCommand extends TComponent
*/
public function getDebugStatementText()
{
- if(Prado::getApplication()->getMode() === TApplicationMode::Debug)
- return $this->_statement instanceof PDOStatement ?
+ //if(Prado::getApplication()->getMode() === TApplicationMode::Debug)
+ return $this->_statement instanceof PDOStatement ?
$this->_statement->queryString
: $this->getText();
}
diff --git a/lib/prado/framework/Data/TDbConnection.php b/lib/prado/framework/Data/TDbConnection.php
index d9c43f9..b5bb8cf 100644
--- a/lib/prado/framework/Data/TDbConnection.php
+++ b/lib/prado/framework/Data/TDbConnection.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data
*/
diff --git a/lib/prado/framework/Data/TDbDataReader.php b/lib/prado/framework/Data/TDbDataReader.php
index a74952e..6c4b314 100644
--- a/lib/prado/framework/Data/TDbDataReader.php
+++ b/lib/prado/framework/Data/TDbDataReader.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data
*/
diff --git a/lib/prado/framework/Data/TDbTransaction.php b/lib/prado/framework/Data/TDbTransaction.php
index a7484eb..04271cf 100644
--- a/lib/prado/framework/Data/TDbTransaction.php
+++ b/lib/prado/framework/Data/TDbTransaction.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Data
*/
diff --git a/lib/prado/framework/Exceptions/TErrorHandler.php b/lib/prado/framework/Exceptions/TErrorHandler.php
index f9a120a..76f7396 100644
--- a/lib/prado/framework/Exceptions/TErrorHandler.php
+++ b/lib/prado/framework/Exceptions/TErrorHandler.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Exceptions
*/
@@ -345,7 +345,12 @@ class TErrorHandler extends TModule
// if PHP exception, we want to show the 2nd stack level context
// because the 1st stack level is of little use (it's in error handler)
if($exception instanceof TPhpErrorException)
- $result=isset($trace[0]['file'])?$trace[0]:$trace[1];
+ {
+ if(isset($trace[0]['file']))
+ $result=$trace[0];
+ elseif(isset($trace[1]))
+ $result=$trace[1];
+ }
else if($exception instanceof TInvalidOperationException)
{
// in case of getter or setter error, find out the exact file and row
diff --git a/lib/prado/framework/Exceptions/TException.php b/lib/prado/framework/Exceptions/TException.php
index 651adb5..2c915a4 100644
--- a/lib/prado/framework/Exceptions/TException.php
+++ b/lib/prado/framework/Exceptions/TException.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Exceptions
*/
@@ -357,6 +357,17 @@ class TPhpErrorException extends TSystemException
$errorType=isset($errorTypes[$errno])?$errorTypes[$errno]:'Unknown Error';
parent::__construct("[$errorType] $errstr (@line $errline in file $errfile).");
}
+
+ /**
+ * Returns if error is one of fatal type.
+ *
+ * @param array $error error got from error_get_last()
+ * @return boolean if error is one of fatal type
+ */
+ public static function isFatalError($error)
+ {
+ return isset($error['type']) && in_array($error['type'], array(E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING));
+ }
}
diff --git a/lib/prado/framework/Exceptions/messages/messages.txt b/lib/prado/framework/Exceptions/messages/messages.txt
index 46dde55..8958014 100644
--- a/lib/prado/framework/Exceptions/messages/messages.txt
+++ b/lib/prado/framework/Exceptions/messages/messages.txt
@@ -210,6 +210,7 @@ page_statepersister_invalid = Page state persister must implement IPageStateP
page_csmanagerclass_invalid = ClientScriptManager class '{0}' must be an instance of TClientScriptManager.
csmanager_pradoscript_invalid = Unknown Prado script library name '{0}'.
+csmanager_pradostyle_invalid = Unknown Prado style library name '{0}'.
csmanager_invalid_packages = Unkownn packages '{1}' for javascript packages defined in '{0}'. Valid packages are '{2}'.
contentplaceholder_id_required = TContentPlaceHolder must have an ID.
diff --git a/lib/prado/framework/I18N/TChoiceFormat.php b/lib/prado/framework/I18N/TChoiceFormat.php
index 28f0487..81900c3 100644
--- a/lib/prado/framework/I18N/TChoiceFormat.php
+++ b/lib/prado/framework/I18N/TChoiceFormat.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.I18N
*/
diff --git a/lib/prado/framework/I18N/TDateFormat.php b/lib/prado/framework/I18N/TDateFormat.php
index 5cb2ee8..3108508 100644
--- a/lib/prado/framework/I18N/TDateFormat.php
+++ b/lib/prado/framework/I18N/TDateFormat.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.I18N
*/
diff --git a/lib/prado/framework/I18N/TGlobalization.php b/lib/prado/framework/I18N/TGlobalization.php
index 7976277..41c89c1 100644
--- a/lib/prado/framework/I18N/TGlobalization.php
+++ b/lib/prado/framework/I18N/TGlobalization.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo<weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.I18N
*/
diff --git a/lib/prado/framework/I18N/TGlobalizationAutoDetect.php b/lib/prado/framework/I18N/TGlobalizationAutoDetect.php
index 2412712..707424d 100644
--- a/lib/prado/framework/I18N/TGlobalizationAutoDetect.php
+++ b/lib/prado/framework/I18N/TGlobalizationAutoDetect.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo<weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Revision: 1.66 $ $Date: ${DATE} ${TIME} $
* @package System.I18N
diff --git a/lib/prado/framework/I18N/TI18NControl.php b/lib/prado/framework/I18N/TI18NControl.php
index d784dfc..b89440d 100644
--- a/lib/prado/framework/I18N/TI18NControl.php
+++ b/lib/prado/framework/I18N/TI18NControl.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.I18N
*/
diff --git a/lib/prado/framework/I18N/TNumberFormat.php b/lib/prado/framework/I18N/TNumberFormat.php
index ac7a736..4e8a022 100644
--- a/lib/prado/framework/I18N/TNumberFormat.php
+++ b/lib/prado/framework/I18N/TNumberFormat.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.I18N
*/
diff --git a/lib/prado/framework/I18N/TTranslate.php b/lib/prado/framework/I18N/TTranslate.php
index 1289a70..9f70a50 100644
--- a/lib/prado/framework/I18N/TTranslate.php
+++ b/lib/prado/framework/I18N/TTranslate.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.I18N
*/
diff --git a/lib/prado/framework/I18N/TTranslateParameter.php b/lib/prado/framework/I18N/TTranslateParameter.php
index a12546e..230c0a9 100644
--- a/lib/prado/framework/I18N/TTranslateParameter.php
+++ b/lib/prado/framework/I18N/TTranslateParameter.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.I18N
*/
diff --git a/lib/prado/framework/I18N/Translation.php b/lib/prado/framework/I18N/Translation.php
index 69b3eb4..4e244a4 100644
--- a/lib/prado/framework/I18N/Translation.php
+++ b/lib/prado/framework/I18N/Translation.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.I18N
*/
diff --git a/lib/prado/framework/I18N/core/TCache_Lite.php b/lib/prado/framework/I18N/core/TCache_Lite.php
index 69e1c30..b42bf1f 100644
--- a/lib/prado/framework/I18N/core/TCache_Lite.php
+++ b/lib/prado/framework/I18N/core/TCache_Lite.php
@@ -228,7 +228,7 @@ class TCache_Lite
* @param array $options options
* @access public
*/
- function TCache_Lite($options = array(null))
+ function __construct($options = array(null))
{
$availableOptions = array( 'automaticSerialization',
'fileNameProtection',
@@ -533,18 +533,11 @@ class TCache_Lite
// because the filesize can be cached by PHP itself...
clearstatcache();
$length = @filesize($this->_file);
- if(version_compare(PHP_VERSION, '5.3.0', 'lt'))
- {
- $mqr = get_magic_quotes_runtime();
- set_magic_quotes_runtime(0);
- }
if ($this->_readControl) {
$hashControl = @fread($fp, 32);
$length = $length - 32;
}
$data = @fread($fp, $length);
- if(isset($mqr))
- set_magic_quotes_runtime($mqr);
if ($this->_fileLocking) @flock($fp, LOCK_UN);
@fclose($fp);
if ($this->_readControl) {
diff --git a/lib/prado/framework/IO/TTextWriter.php b/lib/prado/framework/IO/TTextWriter.php
index 44dc3bd..237755f 100644
--- a/lib/prado/framework/IO/TTextWriter.php
+++ b/lib/prado/framework/IO/TTextWriter.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.IO
*/
diff --git a/lib/prado/framework/PradoBase.php b/lib/prado/framework/PradoBase.php
index de8c465..7cd2618 100644
--- a/lib/prado/framework/PradoBase.php
+++ b/lib/prado/framework/PradoBase.php
@@ -7,7 +7,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
@@ -84,9 +84,17 @@ class PradoBase
*/
set_error_handler(array('PradoBase','phpErrorHandler'));
/**
+ * Sets shutdown function to be Prado::phpFatalErrorHandler
+ */
+ register_shutdown_function(array('PradoBase','phpFatalErrorHandler'));
+ /**
* Sets exception handler to be Prado::exceptionHandler
*/
set_exception_handler(array('PradoBase','exceptionHandler'));
+ /**
+ * Disable php's builtin error reporting to avoid duplicated reports
+ */
+ ini_set('display_errors', 0);
}
/**
@@ -97,8 +105,6 @@ class PradoBase
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.");
}
/**
@@ -135,6 +141,23 @@ class PradoBase
}
/**
+ * PHP shutdown function used to catch fatal errors.
+ * This method should be registered as PHP error handler using
+ * {@link register_shutdown_function}. The method throws an exception that
+ * contains the error information.
+ */
+ public static function phpFatalErrorHandler()
+ {
+ $error = error_get_last();
+ if($error &&
+ TPhpErrorException::isFatalError($error) &&
+ error_reporting() & $error['type'])
+ {
+ self::exceptionHandler(new TPhpErrorException($error['type'],$error['message'],$error['file'],$error['line']));
+ }
+ }
+
+ /**
* Default exception handler.
* This method should be registered as default exception handler using
* {@link set_exception_handler}. The method tries to use the errorhandler
diff --git a/lib/prado/framework/Security/IUserManager.php b/lib/prado/framework/Security/IUserManager.php
index ee37b64..ff69c21 100644
--- a/lib/prado/framework/Security/IUserManager.php
+++ b/lib/prado/framework/Security/IUserManager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Security
*/
diff --git a/lib/prado/framework/Security/TAuthManager.php b/lib/prado/framework/Security/TAuthManager.php
index 52d30d9..aaa816f 100644
--- a/lib/prado/framework/Security/TAuthManager.php
+++ b/lib/prado/framework/Security/TAuthManager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Security
*/
diff --git a/lib/prado/framework/Security/TAuthorizationRule.php b/lib/prado/framework/Security/TAuthorizationRule.php
index 1b86496..9f9aa50 100644
--- a/lib/prado/framework/Security/TAuthorizationRule.php
+++ b/lib/prado/framework/Security/TAuthorizationRule.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Security
*/
diff --git a/lib/prado/framework/Security/TDbUserManager.php b/lib/prado/framework/Security/TDbUserManager.php
index 4a9f032..578059d 100644
--- a/lib/prado/framework/Security/TDbUserManager.php
+++ b/lib/prado/framework/Security/TDbUserManager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Security
*/
diff --git a/lib/prado/framework/Security/TSecurityManager.php b/lib/prado/framework/Security/TSecurityManager.php
index c9283bc..1b61211 100644
--- a/lib/prado/framework/Security/TSecurityManager.php
+++ b/lib/prado/framework/Security/TSecurityManager.php
@@ -5,7 +5,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Security
*/
diff --git a/lib/prado/framework/Security/TUser.php b/lib/prado/framework/Security/TUser.php
index 8be382c..ffa34d8 100644
--- a/lib/prado/framework/Security/TUser.php
+++ b/lib/prado/framework/Security/TUser.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Security
*/
diff --git a/lib/prado/framework/Security/TUserManager.php b/lib/prado/framework/Security/TUserManager.php
index 6ca8a42..b7e0383 100644
--- a/lib/prado/framework/Security/TUserManager.php
+++ b/lib/prado/framework/Security/TUserManager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Security
*/
diff --git a/lib/prado/framework/TApplication.php b/lib/prado/framework/TApplication.php
index 1ae868d..3982fe7 100644
--- a/lib/prado/framework/TApplication.php
+++ b/lib/prado/framework/TApplication.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
diff --git a/lib/prado/framework/TApplicationComponent.php b/lib/prado/framework/TApplicationComponent.php
index d58c74c..b167181 100644
--- a/lib/prado/framework/TApplicationComponent.php
+++ b/lib/prado/framework/TApplicationComponent.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
diff --git a/lib/prado/framework/TComponent.php b/lib/prado/framework/TComponent.php
index 5901f93..127b68a 100644
--- a/lib/prado/framework/TComponent.php
+++ b/lib/prado/framework/TComponent.php
@@ -8,7 +8,7 @@
* @author Brad Anderson <javalizard@mac.com>
*
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
@@ -1698,16 +1698,6 @@ class TComponent
}
/**
- * Do not call this method. This is a PHP magic method that will be called automatically
- * after any unserialization; it can perform reinitialization tasks on the object.
- */
- public function __wakeup()
- {
- if ($this->_e===null)
- $this->_e = array();
- }
-
- /**
* Returns an array with the names of all variables of that object that should be serialized.
* Do not call this method. This is a PHP magic method that will be called automatically
* prior to any serialization.
@@ -1717,6 +1707,18 @@ class TComponent
$a = (array)$this;
$a = array_keys($a);
$exprops = array();
+ $this->_getZappableSleepProps($exprops);
+ return array_diff($a, $exprops);
+ }
+
+ /**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
if($this->_listeningenabled===false)
$exprops[] = "\0TComponent\0_listeningenabled";
if($this->_behaviorsenabled===true)
@@ -1725,7 +1727,6 @@ class TComponent
$exprops[] = "\0TComponent\0_e";
if ($this->_m===null)
$exprops[] = "\0TComponent\0_m";
- return array_diff($a,$exprops);
}
}
diff --git a/lib/prado/framework/TModule.php b/lib/prado/framework/TModule.php
index ba5686c..9148cb3 100644
--- a/lib/prado/framework/TModule.php
+++ b/lib/prado/framework/TModule.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
diff --git a/lib/prado/framework/TService.php b/lib/prado/framework/TService.php
index a9d9e5e..e4c61e3 100644
--- a/lib/prado/framework/TService.php
+++ b/lib/prado/framework/TService.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
diff --git a/lib/prado/framework/TShellApplication.php b/lib/prado/framework/TShellApplication.php
index 10844cd..619656e 100644
--- a/lib/prado/framework/TShellApplication.php
+++ b/lib/prado/framework/TShellApplication.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
diff --git a/lib/prado/framework/Util/TCallChain.php b/lib/prado/framework/Util/TCallChain.php
index 4e9e23f..4989164 100644
--- a/lib/prado/framework/Util/TCallChain.php
+++ b/lib/prado/framework/Util/TCallChain.php
@@ -19,7 +19,7 @@
class TCallChain extends TList implements IDynamicMethods
{
/**
- * @var {@link TListIterator} for moving through the chained method calls
+ * @var {@link ArrayIterator} for moving through the chained method calls
*/
private $_iterator=null;
@@ -97,7 +97,7 @@ class TCallChain extends TList implements IDynamicMethods
if(!$this->_iterator)
{
$chain_array=array_reverse($this->toArray());
- $this->_iterator=new TListIterator($chain_array);
+ $this->_iterator=new ArrayIterator($chain_array);
}
if($this->_iterator->valid())
do {
diff --git a/lib/prado/framework/Util/TDataFieldAccessor.php b/lib/prado/framework/Util/TDataFieldAccessor.php
index e86b8c1..d718165 100644
--- a/lib/prado/framework/Util/TDataFieldAccessor.php
+++ b/lib/prado/framework/Util/TDataFieldAccessor.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Util
*/
diff --git a/lib/prado/framework/Util/TDateTimeStamp.php b/lib/prado/framework/Util/TDateTimeStamp.php
index 2bc2a9f..260301f 100644
--- a/lib/prado/framework/Util/TDateTimeStamp.php
+++ b/lib/prado/framework/Util/TDateTimeStamp.php
@@ -4,7 +4,7 @@
* @author Fabio Bas ctrlaltca[AT]gmail[DOT]com
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Util
*/
diff --git a/lib/prado/framework/Util/TLogRouter.php b/lib/prado/framework/Util/TLogRouter.php
index 5b40f54..2e1201b 100644
--- a/lib/prado/framework/Util/TLogRouter.php
+++ b/lib/prado/framework/Util/TLogRouter.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Util
*/
diff --git a/lib/prado/framework/Util/TLogger.php b/lib/prado/framework/Util/TLogger.php
index 6f188b0..4f1de3c 100644
--- a/lib/prado/framework/Util/TLogger.php
+++ b/lib/prado/framework/Util/TLogger.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Util
*/
diff --git a/lib/prado/framework/Util/TParameterModule.php b/lib/prado/framework/Util/TParameterModule.php
index 4819d30..ce600f6 100644
--- a/lib/prado/framework/Util/TParameterModule.php
+++ b/lib/prado/framework/Util/TParameterModule.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Util
*/
diff --git a/lib/prado/framework/Util/TSimpleDateFormatter.php b/lib/prado/framework/Util/TSimpleDateFormatter.php
index 7e9fec6..021948e 100644
--- a/lib/prado/framework/Util/TSimpleDateFormatter.php
+++ b/lib/prado/framework/Util/TSimpleDateFormatter.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Util
*/
diff --git a/lib/prado/framework/Util/TVarDumper.php b/lib/prado/framework/Util/TVarDumper.php
index c531848..9c09dea 100644
--- a/lib/prado/framework/Util/TVarDumper.php
+++ b/lib/prado/framework/Util/TVarDumper.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Util
*/
diff --git a/lib/prado/framework/Web/Javascripts/TJavaScript.php b/lib/prado/framework/Web/Javascripts/TJavaScript.php
index b92b0c3..bd0f2be 100644
--- a/lib/prado/framework/Web/Javascripts/TJavaScript.php
+++ b/lib/prado/framework/Web/Javascripts/TJavaScript.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo<weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.Javascripts
*/
diff --git a/lib/prado/framework/Web/Javascripts/css-packages.php b/lib/prado/framework/Web/Javascripts/css-packages.php
new file mode 100644
index 0000000..8bc5fe5
--- /dev/null
+++ b/lib/prado/framework/Web/Javascripts/css-packages.php
@@ -0,0 +1,93 @@
+<?php
+
+//$Id: packages.php 3319 2013-09-08 20:59:44Z ctrlaltca $
+
+// To make future upgrades easier
+if (!defined('JQUERY_DIR')) define ('JQUERY_DIR', 'jquery');
+if (!defined('BOOTSTRAP_DIR')) define ('BOOTSTRAP_DIR', 'bootstrap3');
+
+//package names and its contents (files relative to the current directory)
+$packages = array(
+ 'jquery-ui' => array(
+ JQUERY_DIR.'/css/base/jquery-ui.css',
+ ),
+ 'jquery.ui.accordion' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.accordion.css',
+ ),
+ 'jquery.ui.autocomplete' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.autocomplete.css',
+ ),
+ 'jquery.ui.button' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.button.css',
+ ),
+ 'jquery.ui.core' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.core.css',
+ ),
+ 'jquery.ui.datepicker' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.datepicker.css',
+ ),
+ 'jquery.ui.dialog' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.dialog.css',
+ ),
+ 'jquery.ui.menu' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.menu.css',
+ ),
+ 'jquery.ui.progressbar' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.progressbar.css',
+ ),
+ 'jquery.ui.resizable' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.resizable.css',
+ ),
+ 'jquery.ui.selectable' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.selectable.css',
+ ),
+ 'jquery.ui.slider' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.slider.css',
+ ),
+ 'jquery.ui.spinner' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.spinner.css',
+ ),
+ 'jquery.ui.tabs' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.tabs.css',
+ ),
+ 'jquery.ui.theme' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.theme.css',
+ ),
+ 'jquery.ui.tooltip' => array(
+ JQUERY_DIR.'/css/base/jquery.ui.tooltip.css',
+ ),
+
+ // bootstrap
+ 'bootstrap' => array(
+ BOOTSTRAP_DIR.'/css/bootstrap.css',
+ ),
+ 'bootstrap-theme' => array(
+ BOOTSTRAP_DIR.'/css/bootstrap-theme.css',
+ ),
+);
+
+
+//package names and their dependencies
+$dependencies = array(
+ 'jquery-ui' => array('jquery-ui'),
+ 'jquery.ui.accordion' => array('jquery.ui.core', 'jquery.ui.accordion'),
+ 'jquery.ui.autocomplete' => array('jquery.ui.core', 'jquery.ui.autocomplete'),
+ 'jquery.ui.button' => array('jquery.ui.core', 'jquery.ui.button'),
+ 'jquery.ui.core' => array('jquery.ui.core'),
+ 'jquery.ui.datepicker' => array('jquery.ui.core', 'jquery.ui.datepicker'),
+ 'jquery.ui.dialog' => array('jquery.ui.core', 'jquery.ui.dialog'),
+ 'jquery.ui.menu' => array('jquery.ui.core', 'jquery.ui.menu'),
+ 'jquery.ui.progressbar' => array('jquery.ui.core', 'jquery.ui.progressbar'),
+ 'jquery.ui.resizable' => array('jquery.ui.core', 'jquery.ui.resizable'),
+ 'jquery.ui.selectable' => array('jquery.ui.core', 'jquery.ui.selectable'),
+ 'jquery.ui.slider' => array('jquery.ui.core', 'jquery.ui.slider'),
+ 'jquery.ui.spinner' => array('jquery.ui.core', 'jquery.ui.spinner'),
+ 'jquery.ui.tabs' => array('jquery.ui.core', 'jquery.ui.tabs'),
+ 'jquery.ui.theme' => array('jquery.ui.core', 'jquery.ui.theme'),
+ 'jquery.ui.tooltip' => array('jquery.ui.core', 'jquery.ui.tooltip'),
+ 'bootstrap' => array('bootstrap'),
+ 'bootstrap-theme' => array('bootstrap', 'bootstrap-theme'),
+);
+
+return array($packages, $dependencies);
+
diff --git a/lib/prado/framework/Web/Javascripts/packages.php b/lib/prado/framework/Web/Javascripts/packages.php
index fe16d97..68b4822 100644
--- a/lib/prado/framework/Web/Javascripts/packages.php
+++ b/lib/prado/framework/Web/Javascripts/packages.php
@@ -95,7 +95,7 @@ $packages = array(
//bootstrap
'bootstrap' => array(
- BOOTSTRAP_DIR.'/js/bootstrap.js',
+ BOOTSTRAP_DIR.'/js/bootstrap.js',
),
'dragdrop'=>array(
diff --git a/lib/prado/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js b/lib/prado/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js
index e0e67ce..1115c3b 100644
--- a/lib/prado/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js
+++ b/lib/prado/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js
@@ -270,6 +270,7 @@ Prado.CallbackRequest = jQuery.klass(Prado.PostBack,
// go!
this.options.data = this.getParameters();
this.options.url = this.getCallbackUrl();
+ this.options.timeout = this.getRequestTimeOut();
this.request = Prado.CallbackRequestManager.ajax(this.options);
},
@@ -449,8 +450,7 @@ Prado.CallbackRequest = jQuery.klass(Prado.PostBack,
},
/**
- * Updates the page state. It will update only if EnablePageStateUpdate and
- * HasPriority options are both true.
+ * Updates the page state. It will update only if EnablePageStateUpdate is true.
*/
updatePageState : function(request, datain)
{
diff --git a/lib/prado/framework/Web/Javascripts/source/prado/activefileupload/activefileupload.js b/lib/prado/framework/Web/Javascripts/source/prado/activefileupload/activefileupload.js
index 1599827..04c02ac 100755
--- a/lib/prado/framework/Web/Javascripts/source/prado/activefileupload/activefileupload.js
+++ b/lib/prado/framework/Web/Javascripts/source/prado/activefileupload/activefileupload.js
@@ -20,6 +20,8 @@ Prado.WebUI.TActiveFileUpload = jQuery.klass(Prado.WebUI.Control,
},
fileChanged : function(){
+ // ie11 fix
+ if(this.input.value=='') return;
// show the upload indicator, and hide the complete and error indicators (if they areSn't already).
this.flag.value = '1';
this.complete.style.display = 'none';
diff --git a/lib/prado/framework/Web/Javascripts/source/prado/prado.js b/lib/prado/framework/Web/Javascripts/source/prado/prado.js
index e100dc7..0a1c485 100644
--- a/lib/prado/framework/Web/Javascripts/source/prado/prado.js
+++ b/lib/prado/framework/Web/Javascripts/source/prado/prado.js
@@ -446,7 +446,11 @@ Prado.Element =
focus : function(element)
{
- jQuery("#"+element).focus();
+ jQuery(document).ajaxStop(function () {
+ setTimeout(function(){
+ jQuery("#"+element).focus();
+ }, 100);
+ });
},
/**
diff --git a/lib/prado/framework/Web/Javascripts/source/prado/validator/validation3.js b/lib/prado/framework/Web/Javascripts/source/prado/validator/validation3.js
index 98be95d..6dcf02e 100644
--- a/lib/prado/framework/Web/Javascripts/source/prado/validator/validation3.js
+++ b/lib/prado/framework/Web/Javascripts/source/prado/validator/validation3.js
@@ -1239,6 +1239,8 @@ Prado.WebUI.TBaseValidator = jQuery.klass(Prado.WebUI.Control,
case 'TActiveCheckBox':
case 'TActiveRadioButton':
return value;
+ case 'TReCaptcha2':
+ return document.getElementById(this.options.ResponseFieldName).value;
default:
if(this.isListControlType())
return value;
@@ -1603,7 +1605,7 @@ Prado.WebUI.TActiveCustomValidator = jQuery.klass(Prado.WebUI.TBaseValidator,
this.options.OnValidate(this, invoker);
}
- return this.isValid;
+ return true;
},
/**
@@ -1994,3 +1996,83 @@ Prado.WebUI.TReCaptchaValidator = jQuery.klass(Prado.WebUI.TBaseValidator,
}
});
+/**
+ * Registry for TReCaptcha2 components
+ */
+Prado.WebUI.TReCaptcha2Instances = {};
+/**
+ * Render callback; called by google's js when loaded
+ */
+TReCaptcha2_onloadCallback = function()
+{
+ jQuery.each(Prado.WebUI.TReCaptcha2Instances, function(index, item) {
+ item.build();
+ });
+}
+
+/**
+ * TReCaptcha2 client-side control.
+ *
+ * @class Prado.WebUI.TReCaptcha2
+ * @extends Prado.WebUI.Control
+ */
+Prado.WebUI.TReCaptcha2 = jQuery.klass(Prado.WebUI.Control,
+{
+ onInit: function(options)
+ {
+ for (key in options) { this[key] = options[key]; }
+ this.options['callback'] = jQuery.proxy(this.callback,this);
+ this.options['expired-callback'] = jQuery.proxy(this.callbackExpired,this);
+
+ Prado.WebUI.TReCaptcha2Instances[this.element.id] = this;
+ },
+ build: function()
+ {
+ if (grecaptcha !== undefined) this.widgetId = grecaptcha.render(this.element, this.options);
+ },
+ callback: function(response)
+ {
+ var responseField = jQuery('#' + this.ID + ' textarea').attr('id');
+ var params = {
+ widgetId: this.widgetId,
+ response: response,
+ responseField: responseField,
+ onCallback: this.onCallback
+ };
+ var request = new Prado.CallbackRequest(this.EventTarget,this);
+ request.setCallbackParameter(params);
+ request.dispatch();
+ },
+ callbackExpired: function()
+ {
+ var responseField = jQuery('#' + this.ID + ' textarea').attr('id');
+ var params = {
+ responseField: responseField,
+ onCallbackExpired: this.onCallbackExpired
+ };
+ var request = new Prado.CallbackRequest(this.EventTarget,this);
+ request.setCallbackParameter(params);
+ request.dispatch();
+ }
+});
+
+/**
+ * TReCaptcha2Validator client-side control.
+ *
+ * @class Prado.WebUI.TReCaptcha2Validator
+ * @extends Prado.WebUI.TBaseValidator
+ */
+Prado.WebUI.TReCaptcha2Validator = jQuery.klass(Prado.WebUI.TBaseValidator,
+{
+ /**
+ * Evaluate validation state
+ * @function {boolean} ?
+ * @return True if the captcha has validate, False otherwise.
+ */
+ evaluateIsValid : function()
+ {
+ var a = this.getValidationValue();
+ var b = this.trim(this.options.InitialValue);
+ return(a != b);
+ }
+}); \ No newline at end of file
diff --git a/lib/prado/framework/Web/Services/TFeedService.php b/lib/prado/framework/Web/Services/TFeedService.php
index dc9c064..20ef0f3 100644
--- a/lib/prado/framework/Web/Services/TFeedService.php
+++ b/lib/prado/framework/Web/Services/TFeedService.php
@@ -5,7 +5,7 @@
* @author Qiang Xue <qiang.xue@gmail.com>
* @author Knut Urdalen <knut.urdalen@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Web.Services
diff --git a/lib/prado/framework/Web/Services/TJsonService.php b/lib/prado/framework/Web/Services/TJsonService.php
index d17b330..f2d2609 100644
--- a/lib/prado/framework/Web/Services/TJsonService.php
+++ b/lib/prado/framework/Web/Services/TJsonService.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.Services
*/
diff --git a/lib/prado/framework/Web/Services/TPageService.php b/lib/prado/framework/Web/Services/TPageService.php
index 4a422c4..b20617e 100644
--- a/lib/prado/framework/Web/Services/TPageService.php
+++ b/lib/prado/framework/Web/Services/TPageService.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.Services
*/
diff --git a/lib/prado/framework/Web/Services/TSoapService.php b/lib/prado/framework/Web/Services/TSoapService.php
index 9554af2..11abe5a 100644
--- a/lib/prado/framework/Web/Services/TSoapService.php
+++ b/lib/prado/framework/Web/Services/TSoapService.php
@@ -5,7 +5,7 @@
* @author Knut Urdalen <knut.urdalen@gmail.com>
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.Services
*/
diff --git a/lib/prado/framework/Web/TAssetManager.php b/lib/prado/framework/Web/TAssetManager.php
index d84ca56..eef5fbf 100644
--- a/lib/prado/framework/Web/TAssetManager.php
+++ b/lib/prado/framework/Web/TAssetManager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web
*/
diff --git a/lib/prado/framework/Web/TCacheHttpSession.php b/lib/prado/framework/Web/TCacheHttpSession.php
index 604eef4..a1784e0 100644
--- a/lib/prado/framework/Web/TCacheHttpSession.php
+++ b/lib/prado/framework/Web/TCacheHttpSession.php
@@ -5,7 +5,7 @@
* @author Carl G. Mathisen <carlgmathisen@gmail.com>
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web
* @since 3.1.1
diff --git a/lib/prado/framework/Web/THttpRequest.php b/lib/prado/framework/Web/THttpRequest.php
index f89c354..926cfa4 100644
--- a/lib/prado/framework/Web/THttpRequest.php
+++ b/lib/prado/framework/Web/THttpRequest.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web
*/
@@ -816,7 +816,7 @@ class THttpRequest extends TApplicationComponent implements IteratorAggregate,Ar
*/
public function getIterator()
{
- return new TMapIterator($this->_items);
+ return new ArrayIterator($this->_items);
}
/**
diff --git a/lib/prado/framework/Web/THttpResponse.php b/lib/prado/framework/Web/THttpResponse.php
index 21e6410..93d3c91 100644
--- a/lib/prado/framework/Web/THttpResponse.php
+++ b/lib/prado/framework/Web/THttpResponse.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web
*/
diff --git a/lib/prado/framework/Web/THttpResponseAdapter.php b/lib/prado/framework/Web/THttpResponseAdapter.php
index 7f87590..276dfe2 100644
--- a/lib/prado/framework/Web/THttpResponseAdapter.php
+++ b/lib/prado/framework/Web/THttpResponseAdapter.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Web
diff --git a/lib/prado/framework/Web/THttpSession.php b/lib/prado/framework/Web/THttpSession.php
index 50d11b1..35cd89b 100644
--- a/lib/prado/framework/Web/THttpSession.php
+++ b/lib/prado/framework/Web/THttpSession.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web
*/
diff --git a/lib/prado/framework/Web/THttpUtility.php b/lib/prado/framework/Web/THttpUtility.php
index 2be5fa4..8b8b9f6 100644
--- a/lib/prado/framework/Web/THttpUtility.php
+++ b/lib/prado/framework/Web/THttpUtility.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web
*/
diff --git a/lib/prado/framework/Web/TUrlManager.php b/lib/prado/framework/Web/TUrlManager.php
index 0525a7e..e392a07 100644
--- a/lib/prado/framework/Web/TUrlManager.php
+++ b/lib/prado/framework/Web/TUrlManager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id $
* @package System.Web
diff --git a/lib/prado/framework/Web/TUrlMapping.php b/lib/prado/framework/Web/TUrlMapping.php
index f7fdba6..5d8ab82 100644
--- a/lib/prado/framework/Web/TUrlMapping.php
+++ b/lib/prado/framework/Web/TUrlMapping.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveButton.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveButton.php
index ae5b7f0..cc88423 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveButton.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveButton.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -94,6 +94,9 @@ class TActiveButton extends TButton implements ICallbackEventHandler, IActiveCon
*/
public function setText($value)
{
+ if(parent::getText() === $value)
+ return;
+
parent::setText($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'value', $value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBox.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBox.php
index 034666f..058ba70 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBox.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBox.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -88,6 +88,9 @@ class TActiveCheckBox extends TCheckBox implements ICallbackEventHandler, IActiv
*/
public function setText($value)
{
+ if(parent::getText() === $value)
+ return;
+
parent::setText($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->update(
@@ -103,6 +106,9 @@ class TActiveCheckBox extends TCheckBox implements ICallbackEventHandler, IActiv
public function setChecked($value)
{
$value = TPropertyValue::ensureBoolean($value);
+ if(parent::getChecked() === $value)
+ return;
+
parent::setChecked($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->check($this, $value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBoxList.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBoxList.php
index dfcb72c..4b31d86 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBoxList.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveCheckBoxList.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -63,6 +63,17 @@ class TActiveCheckBoxList extends TCheckBoxList implements IActiveControl, ICall
}
/**
+ * Since at least a control with id is needed to update the content during callback,
+ * always force the surrounding span to be rendered, so initially empty lists can be
+ * updated later.
+ *@return boolean always true
+ */
+ protected function getSpanNeeded ()
+ {
+ return true;
+ }
+
+ /**
* Override parent implementation, no javascript is rendered here instead
* the javascript required for active control is registered in {@link addAttributesToRender}.
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveClientScript.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveClientScript.php
index 4093d8f..01a88a4 100755
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveClientScript.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveClientScript.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveControlAdapter.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveControlAdapter.php
index 0cd39c7..f68c7a3 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveControlAdapter.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveControlAdapter.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveCustomValidator.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveCustomValidator.php
index 18f9f5f..0814c7c 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveCustomValidator.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveCustomValidator.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -104,6 +104,9 @@ class TActiveCustomValidator extends TCustomValidator
*/
public function setIsValid($value)
{
+ // Always update the clientside, since the clientside's value for IsValid
+ // it could have been changed by the clientside validation.
+
parent::setIsValid($value);
if($this->getActiveControl()->canUpdateClientSide())
{
@@ -137,11 +140,15 @@ class TActiveCustomValidator extends TCustomValidator
}
/**
- * Sets the text for the error message. Updates client-side erorr message.
+ * Sets the text for the error message. Updates client-side error message.
* @param string the error message
*/
public function setErrorMessage($value)
{
+ if(parent::getErrorMessage() === $value)
+ return;
+
+
parent::setErrorMessage($value);
if($this->getActiveControl()->canUpdateClientSide())
{
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveDatePicker.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveDatePicker.php
index 6328bac..72f9953 100755
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveDatePicker.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveDatePicker.php
@@ -5,7 +5,7 @@
* @author Bradley Booms <Bradley.Booms@nsighttel.com>
* @author Christophe Boulain <Christophe.Boulain@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -89,6 +89,9 @@ class TActiveDatePicker extends TDatePicker implements ICallbackEventHandler, I
* @param string text content for the textbox
*/
public function setText($value){
+ if(parent::getText() === $value)
+ return;
+
parent::setText($value);
if($this->getActiveControl()->canUpdateClientSide() && $this->getHasLoadedPostData()){
$cb=$this->getPage()->getCallbackClient();
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveDropDownList.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveDropDownList.php
index 3245ea6..2f09c03 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveDropDownList.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveDropDownList.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveFileUpload.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveFileUpload.php
index 6f051ba..0435041 100755
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveFileUpload.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveFileUpload.php
@@ -101,8 +101,7 @@ class TActiveFileUpload extends TFileUpload implements IActiveControl, ICallback
// save the file so that it will persist past the end of this return.
$localName = str_replace('\\', '/', tempnam(Prado::getPathOfNamespace($this->getTempPath()),''));
parent::saveAs($localName);
-
- $this->_localName = $localName;
+ $this->_localName = $localName;
$params = new TActiveFileUploadCallbackParams;
$params->localName = $localName;
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveHiddenField.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveHiddenField.php
index f87ff07..fbd8eda 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveHiddenField.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveHiddenField.php
@@ -4,7 +4,7 @@
*
* @author Carl G. Mathisen <carlgmathisen@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Web.UI.ActiveControls
@@ -55,6 +55,9 @@ class TActiveHiddenField extends THiddenField implements ICallbackEventHandler,
*/
public function setValue($value)
{
+ if(parent::getValue() === $value)
+ return;
+
parent::setValue($value);
if($this->getActiveControl()->canUpdateClientSide() && $this->getHasLoadedPostData())
$this->getPage()->getCallbackClient()->setValue($this, $value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveHyperLink.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveHyperLink.php
index 2ffee7e..5e98250 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveHyperLink.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveHyperLink.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -50,6 +50,9 @@ class TActiveHyperLink extends THyperLink implements IActiveControl
*/
public function setText($value)
{
+ if(parent::getText() === $value)
+ return;
+
parent::setText($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->update($this, $value);
@@ -61,6 +64,9 @@ class TActiveHyperLink extends THyperLink implements IActiveControl
*/
public function setImageUrl($value)
{
+ if(parent::getImageUrl() === $value)
+ return;
+
parent::setImageUrl($value);
if($this->getActiveControl()->canUpdateClientSide() && $value !== '')
{
@@ -77,6 +83,9 @@ class TActiveHyperLink extends THyperLink implements IActiveControl
*/
public function setNavigateUrl($value)
{
+ if(parent::getNavigateUrl() === $value)
+ return;
+
parent::setNavigateUrl($value);
if($this->getActiveControl()->canUpdateClientSide())
{
@@ -92,6 +101,9 @@ class TActiveHyperLink extends THyperLink implements IActiveControl
*/
public function setTarget($value)
{
+ if(parent::getTarget() === $value)
+ return;
+
parent::setTarget($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'target', $value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveImage.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveImage.php
index 13d5314..4058599 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveImage.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveImage.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -48,6 +48,9 @@ class TActiveImage extends TImage implements IActiveControl
*/
public function setAlternateText($value)
{
+ if(parent::getAlternateText() === $value)
+ return;
+
parent::setAlternateText($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'alt', $value);
@@ -62,6 +65,9 @@ class TActiveImage extends TImage implements IActiveControl
*/
public function setImageAlign($value)
{
+ if(parent::getImageAlign() === $value)
+ return;
+
parent::setImageAlign($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'align', $value);
@@ -72,6 +78,9 @@ class TActiveImage extends TImage implements IActiveControl
*/
public function setImageUrl($value)
{
+ if(parent::getImageUrl() === $value)
+ return;
+
parent::setImageUrl($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'src', $value);
@@ -82,6 +91,9 @@ class TActiveImage extends TImage implements IActiveControl
*/
public function setDescriptionUrl($value)
{
+ if(parent::getDescriptionUrl() === $value)
+ return;
+
parent::setDescriptionUrl($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'longdesc', $value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveImageButton.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveImageButton.php
index 351a996..6f2ceed 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveImageButton.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveImageButton.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -58,6 +58,9 @@ class TActiveImageButton extends TImageButton implements IActiveControl, ICallba
*/
public function setAlternateText($value)
{
+ if(parent::getAlternateText() === $value)
+ return;
+
parent::setAlternateText($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'alt', $value);
@@ -72,6 +75,9 @@ class TActiveImageButton extends TImageButton implements IActiveControl, ICallba
*/
public function setImageAlign($value)
{
+ if(parent::getImageAlign() === $value)
+ return;
+
parent::setImageAlign($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'align', $value);
@@ -82,6 +88,9 @@ class TActiveImageButton extends TImageButton implements IActiveControl, ICallba
*/
public function setImageUrl($value)
{
+ if(parent::getImageUrl() === $value)
+ return;
+
parent::setImageUrl($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'src', $value);
@@ -92,6 +101,9 @@ class TActiveImageButton extends TImageButton implements IActiveControl, ICallba
*/
public function setDescriptionUrl($value)
{
+ if(parent::getDescriptionUrl() === $value)
+ return;
+
parent::setDescriptionUrl($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->setAttribute($this, 'longdesc', $value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveLabel.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveLabel.php
index 70ff20e..a0825f8 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveLabel.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveLabel.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -55,6 +55,9 @@ class TActiveLabel extends TLabel implements IActiveControl
*/
public function setText($value)
{
+ if(parent::getText() === $value)
+ return;
+
parent::setText($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->update($this, $value);
@@ -68,6 +71,9 @@ class TActiveLabel extends TLabel implements IActiveControl
*/
public function setForControl($value)
{
+ if(parent::getForControl() === $value)
+ return;
+
parent::setForControl($value);
if($this->getActiveControl()->canUpdateClientSide())
{
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveLinkButton.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveLinkButton.php
index aaf2d35..7c2159a 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveLinkButton.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveLinkButton.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -95,6 +95,9 @@ class TActiveLinkButton extends TLinkButton implements IActiveControl, ICallback
*/
public function setText($value)
{
+ if(parent::getText() === $value)
+ return;
+
parent::setText($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->update($this, $value);
@@ -131,6 +134,9 @@ class TActiveLinkButton extends TLinkButton implements IActiveControl, ICallback
*/
public function setEnabled($value)
{
+ if(parent::getEnabled() === $value)
+ return;
+
parent::setEnabled($value);
if($this->getActiveControl()->canUpdateClientSide())
{
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveListBox.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveListBox.php
index e32a8eb..82fe662 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveListBox.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveListBox.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -85,6 +85,9 @@ class TActiveListBox extends TListBox implements IActiveControl, ICallbackEventH
*/
public function setSelectionMode($value)
{
+ if(parent::getSelectionMode() === $value)
+ return;
+
parent::setSelectionMode($value);
$multiple = $this->getIsMultiSelect();
$id = $this->getUniqueID(); $multi_id = $id.'[]';
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php
index 927912b..04539f3 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveMultiView.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveMultiView.php
index 215706e..45c137d 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveMultiView.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveMultiView.php
@@ -92,9 +92,11 @@ class TActiveMultiView extends TMultiView implements IActiveControl
*/
public function setActiveViewIndex($value)
{
- $old=parent::getActiveViewIndex();
+ if(parent::getActiveViewIndex() === $value)
+ return;
+
parent::setActiveViewIndex($value);
- if($this->getActiveControl()->canUpdateClientSide() && $old!=$value)
+ if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getAdapter()->registerControlToRender($this,$this->getResponse()->createHtmlWriter());
}
@@ -104,9 +106,11 @@ class TActiveMultiView extends TMultiView implements IActiveControl
*/
public function setActiveView($value)
{
- $old=parent::getActiveView();
+ if(parent::getActiveView() === $value)
+ return;
+
parent::setActiveView($value);
- if($this->getActiveControl()->canUpdateClientSide() && $old!=$value)
+ if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getAdapter()->registerControlToRender($this,$this->getResponse()->createHtmlWriter());
}
}
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActivePageAdapter.php b/lib/prado/framework/Web/UI/ActiveControls/TActivePageAdapter.php
index 1803f44..2cdcaba 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActivePageAdapter.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActivePageAdapter.php
@@ -5,7 +5,7 @@
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @author Gabor Berczi <gabor.berczi@devworx.hu> (lazyload additions & progressive rendering)
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActivePager.php b/lib/prado/framework/Web/UI/ActiveControls/TActivePager.php
index e99743f..d8d2fb6 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActivePager.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActivePager.php
@@ -4,7 +4,7 @@
*
* @author "gevik" (forum contributor) and Christophe Boulain (Christophe.Boulain@gmail.com)
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActivePanel.php b/lib/prado/framework/Web/UI/ActiveControls/TActivePanel.php
index 5192b0d..992ccb8 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActivePanel.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActivePanel.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButton.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButton.php
index 90190a1..8dd3927 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButton.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButton.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -87,6 +87,9 @@ class TActiveRadioButton extends TRadioButton implements IActiveControl, ICallba
*/
public function setText($value)
{
+ if(parent::getText() === $value)
+ return;
+
parent::setText($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->update(
@@ -102,6 +105,9 @@ class TActiveRadioButton extends TRadioButton implements IActiveControl, ICallba
public function setChecked($value)
{
$value = TPropertyValue::ensureBoolean($value);
+ if(parent::getChecked() === $value)
+ return;
+
parent::setChecked($value);
if($this->getActiveControl()->canUpdateClientSide())
$this->getPage()->getCallbackClient()->check($this, $value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php
index 9acb672..e6b0cbb 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveRatingList.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveRatingList.php
index a154eb6..9c985d5 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveRatingList.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveRatingList.php
@@ -5,7 +5,7 @@
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @author Bradley Booms <bradley[dot]booms[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Web.UI.ActiveControls
@@ -80,6 +80,9 @@ class TActiveRatingList extends TRatingList implements IActiveControl, ICallback
*/
public function setReadOnly($value)
{
+ if(parent::getReadOnly() === $value)
+ return;
+
parent::setReadOnly($value);
$value = $this->getReadOnly();
$this->callClientFunction('setReadOnly',$value);
@@ -90,6 +93,9 @@ class TActiveRatingList extends TRatingList implements IActiveControl, ICallback
*/
public function setRating($value)
{
+ if(parent::getRating() === $value)
+ return;
+
parent::setRating($value);
$value = $this->getRating();
$this->callClientFunction('setRating',$value);
@@ -115,6 +121,9 @@ class TActiveRatingList extends TRatingList implements IActiveControl, ICallback
*/
public function setCaption($value)
{
+ if(parent::getCaption() === $value)
+ return;
+
parent::setCaption($value);
// if it's an active control, this should not be needed.
$this->callClientFunction('setCaption',$value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TActiveTextBox.php b/lib/prado/framework/Web/UI/ActiveControls/TActiveTextBox.php
index f80b498..fa1740e 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TActiveTextBox.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TActiveTextBox.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -62,6 +62,9 @@ class TActiveTextBox extends TTextBox implements ICallbackEventHandler, IActiveC
*/
public function setText($value)
{
+ if(parent::getText() === $value)
+ return;
+
parent::setText($value);
if($this->getActiveControl()->canUpdateClientSide() && $this->getHasLoadedPostData())
$this->getPage()->getCallbackClient()->setValue($this, $value);
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TAutoComplete.php b/lib/prado/framework/Web/UI/ActiveControls/TAutoComplete.php
index e396e11..744565a 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TAutoComplete.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TAutoComplete.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -18,6 +18,9 @@ Prado::using('System.Web.UI.ActiveControls.TCallbackEventParameter');
/**
* TAutoComplete class.
*
+ * Warning: this class is deprecatd and will be removed in a future release.
+ * We suggest you to investigate using {@link TJuiAutoComplete} instead.
+ *
* TAutoComplete is a textbox that provides a list of suggestion on
* the current partial word typed in the textbox. The suggestions are
* requested using callbacks, and raises the {@link onSuggestion OnSuggestion}
@@ -78,6 +81,7 @@ Prado::using('System.Web.UI.ActiveControls.TCallbackEventParameter');
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @package System.Web.UI.ActiveControls
* @since 3.1
+ * @deprecated Use TJuiAutoComplete instead
*/
class TAutoComplete extends TActiveTextBox implements INamingContainer
{
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TBaseActiveControl.php b/lib/prado/framework/Web/UI/ActiveControls/TBaseActiveControl.php
index 01583eb..5ac51fd 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TBaseActiveControl.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TBaseActiveControl.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TCallback.php b/lib/prado/framework/Web/UI/ActiveControls/TCallback.php
index 1aae6ce..eb78b54 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TCallback.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TCallback.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TCallbackClientScript.php b/lib/prado/framework/Web/UI/ActiveControls/TCallbackClientScript.php
index 1f631f2..12309bb 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TCallbackClientScript.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TCallbackClientScript.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TCallbackClientSide.php b/lib/prado/framework/Web/UI/ActiveControls/TCallbackClientSide.php
index 874aeb4..4cb482a 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TCallbackClientSide.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TCallbackClientSide.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -38,11 +38,8 @@
*
* - <b>PostState</b> true to collect the form inputs and post them during callback, default is true.
* - <b>RequestTimeOut</b> The request timeout in milliseconds.
- * - <b>HasPriority</b> true to ensure that the callback request will be sent
- * immediately and will abort existing prioritized requests. It does not affect
- * callbacks that are not prioritized.
* - <b>EnablePageStateUpdate</b> enable the callback response to enable the
- * viewstate update. This will automatically set HasPriority to true when enabled.
+ * viewstate update.
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @package System.Web.UI.ActiveControls
@@ -239,23 +236,23 @@ class TCallbackClientSide extends TClientSideOptions
* @return boolean true if the callback request has priority and will abort
* existing prioritized request in order to send immediately. It does not
* affect callbacks that are not prioritized. Default is true.
+ * @deprecated since 3.3.0
*/
public function getHasPriority()
{
- $option = $this->getOption('HasPriority');
- return ($option===null) ? true : $option;
+ return true;
}
/**
* @param boolean true to ensure that the callback request will be sent
* immediately and will abort existing prioritized requests. It does not
* affect callbacks that are not prioritized.
+ * @deprecated since 3.3.0
*/
public function setHasPriority($value)
{
- $hasPriority = TPropertyValue::ensureBoolean($value);
- $this->setOption('HasPriority', $hasPriority);
- if(!$hasPriority)
+ // mimic the old behavior
+ if(!$value)
$this->setEnablePageStateUpdate(false);
}
@@ -269,8 +266,6 @@ class TCallbackClientSide extends TClientSideOptions
{
$enabled = TPropertyValue::ensureBoolean($value);
$this->setOption('EnablePageStateUpdate', $enabled);
- if($enabled)
- $this->setHasPriority(true);
}
/**
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TCallbackEventParameter.php b/lib/prado/framework/Web/UI/ActiveControls/TCallbackEventParameter.php
index 9306aec..5d585c4 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TCallbackEventParameter.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TCallbackEventParameter.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @package System.Web.UI.ActiveControls
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TCallbackOptions.php b/lib/prado/framework/Web/UI/ActiveControls/TCallbackOptions.php
index e79561d..e307145 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TCallbackOptions.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TCallbackOptions.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TCallbackResponseAdapter.php b/lib/prado/framework/Web/UI/ActiveControls/TCallbackResponseAdapter.php
index 4a1c41b..115c4c6 100755
--- a/lib/prado/framework/Web/UI/ActiveControls/TCallbackResponseAdapter.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TCallbackResponseAdapter.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TDraggable.php b/lib/prado/framework/Web/UI/ActiveControls/TDraggable.php
index 3f6008b..830200e 100755
--- a/lib/prado/framework/Web/UI/ActiveControls/TDraggable.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TDraggable.php
@@ -11,6 +11,9 @@
/**
* TDraggable is a control which can be dragged
*
+ * Warning: this class is deprecatd and will be removed in a future release.
+ * We suggest you to investigate using {@link TJuiDraggable} instead.
+ *
* This control will make "draggable" control.
* Properties :
*
@@ -25,6 +28,7 @@
* @copyright Copyright &copy; 2008, PradoSoft
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
+ * @deprecated Use TJuiDraggable instead
*/
class TDraggable extends TPanel
{
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TDropContainer.php b/lib/prado/framework/Web/UI/ActiveControls/TDropContainer.php
index 49eb0db..216d3db 100755
--- a/lib/prado/framework/Web/UI/ActiveControls/TDropContainer.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TDropContainer.php
@@ -21,6 +21,10 @@ Prado::using('System.Web.UI.ActiveControls.TActivePanel');
/**
* TDropContainer is a panel where TDraggable controls can be dropped.
+ *
+ * Warning: this class is deprecatd and will be removed in a future release.
+ * We suggest you to investigate using {@link TJuiDroppable} instead.
+ *
* When a TDraggable component is dropped into a TDropContainer, the {@link OnDrop OnDrop} event is raised.
* The {@link TDropContainerEventParameter} param will contain the dropped control.
*
@@ -39,6 +43,7 @@ Prado::using('System.Web.UI.ActiveControls.TActivePanel');
* @copyright Copyright &copy; 2008, PradoSoft
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
+ * @deprecated Use TJuiDroppable instead
*/
class TDropContainer extends TPanel implements IActiveControl, ICallbackEventHandler
{
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TEventTriggeredCallback.php b/lib/prado/framework/Web/UI/ActiveControls/TEventTriggeredCallback.php
index d990e09..aa00331 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TEventTriggeredCallback.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TEventTriggeredCallback.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TInPlaceTextBox.php b/lib/prado/framework/Web/UI/ActiveControls/TInPlaceTextBox.php
index d267729..2515184 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TInPlaceTextBox.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TInPlaceTextBox.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -13,7 +13,7 @@ Prado::using('System.Web.UI.ActiveControls.TActiveTextBox');
/**
* TInPlaceTextBox Class
- * *
+ *
* TInPlaceTextBox is a component rendered as a label and allows its
* contents to be edited by changing the label to a textbox when
* the label is clicked or when another control or html element with
@@ -135,6 +135,9 @@ class TInPlaceTextBox extends TActiveTextBox
*/
public function setText($value)
{
+ if(TTextBox::getText() === $value)
+ return;
+
TTextBox::setText($value);
if($this->getActiveControl()->canUpdateClientSide())
{
@@ -152,6 +155,9 @@ class TInPlaceTextBox extends TActiveTextBox
public function setReadOnly ($value)
{
$value=TPropertyValue::ensureBoolean($value);
+ if(TTextBox::getReadOnly() === $value)
+ return;
+
TTextBox::setReadOnly($value);
if ($this->getActiveControl()->canUpdateClientSide())
{
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TTimeTriggeredCallback.php b/lib/prado/framework/Web/UI/ActiveControls/TTimeTriggeredCallback.php
index b643de4..038f76d 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TTimeTriggeredCallback.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TTimeTriggeredCallback.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -46,6 +46,10 @@ class TTimeTriggeredCallback extends TCallback
$interval = TPropertyValue::ensureFloat($value);
if($interval <= 0)
throw new TConfigurationException('callback_interval_be_positive', $this->getID());
+
+ if($this->getInterval() === $value)
+ return;
+
$this->setViewState('Interval', $interval, 1);
if ($this->getActiveControl()->canUpdateClientSide()){
$client = $this->getPage()->getCallbackClient();
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TTriggeredCallback.php b/lib/prado/framework/Web/UI/ActiveControls/TTriggeredCallback.php
index 7675bc8..faebaf5 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TTriggeredCallback.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TTriggeredCallback.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/ActiveControls/TValueTriggeredCallback.php b/lib/prado/framework/Web/UI/ActiveControls/TValueTriggeredCallback.php
index 87a7d60..7f9a6b5 100644
--- a/lib/prado/framework/Web/UI/ActiveControls/TValueTriggeredCallback.php
+++ b/lib/prado/framework/Web/UI/ActiveControls/TValueTriggeredCallback.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
diff --git a/lib/prado/framework/Web/UI/JuiControls/TJuiAutoComplete.php b/lib/prado/framework/Web/UI/JuiControls/TJuiAutoComplete.php
index be6b1b4..612d89d 100644
--- a/lib/prado/framework/Web/UI/JuiControls/TJuiAutoComplete.php
+++ b/lib/prado/framework/Web/UI/JuiControls/TJuiAutoComplete.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gamil[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.ActiveControls
*/
@@ -364,7 +364,7 @@ class TJuiAutoComplete extends TActiveTextBox implements INamingContainer, IJuiO
*/
public function renderSuggestions($writer)
{
- if($this->getActiveControl()->canUpdateClientSide())
+ if($this->getActiveControl()->canUpdateClientSide(true))
{
$data=array();
$items=$this->getSuggestions()->getItems();
diff --git a/lib/prado/framework/Web/UI/JuiControls/TJuiControlOptions.php b/lib/prado/framework/Web/UI/JuiControls/TJuiControlOptions.php
index 64cf710..8b0cc84 100644
--- a/lib/prado/framework/Web/UI/JuiControls/TJuiControlOptions.php
+++ b/lib/prado/framework/Web/UI/JuiControls/TJuiControlOptions.php
@@ -112,7 +112,7 @@ class TJuiControlOptions
}
}
- throw new THttpException(500,'juioptions_option_invalid',$this->_control->ID, $name);
+ throw new TConfigurationException('juioptions_option_invalid',$this->_control->ID, $name);
}
/**
diff --git a/lib/prado/framework/Web/UI/JuiControls/TJuiDialog.php b/lib/prado/framework/Web/UI/JuiControls/TJuiDialog.php
index e02157d..cd349f1 100644
--- a/lib/prado/framework/Web/UI/JuiControls/TJuiDialog.php
+++ b/lib/prado/framework/Web/UI/JuiControls/TJuiDialog.php
@@ -161,7 +161,7 @@ class TJuiDialog extends TActivePanel implements IJuiOptions, ICallbackEventHand
private function triggerClientMethod($method)
{
$cs = $this->getPage()->getClientScript();
- $code = "jQuery('#".$this->getClientId()."').dialog('".$method."');";
+ $code = "jQuery(document).ready(function() { jQuery('#".$this->getClientId()."').dialog('".$method."'); })";
$cs->registerEndScript(sprintf('%08X', crc32($code)), $code);
}
diff --git a/lib/prado/framework/Web/UI/TCachePageStatePersister.php b/lib/prado/framework/Web/UI/TCachePageStatePersister.php
index e8419e6..a428ef8 100644
--- a/lib/prado/framework/Web/UI/TCachePageStatePersister.php
+++ b/lib/prado/framework/Web/UI/TCachePageStatePersister.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TClientScriptManager.php b/lib/prado/framework/Web/UI/TClientScriptManager.php
index e35a1ca..d5335b3 100644
--- a/lib/prado/framework/Web/UI/TClientScriptManager.php
+++ b/lib/prado/framework/Web/UI/TClientScriptManager.php
@@ -5,7 +5,7 @@
* @author Qiang Xue <qiang.xue@gmail.com>
* @author Gabor Berczi <gabor.berczi@devworx.hu> (lazyload additions & progressive rendering)
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
@@ -31,6 +31,10 @@ class TClientScriptManager extends TApplicationComponent
*/
const PACKAGES_FILE='Web/Javascripts/packages.php';
/**
+ * file containing css packages and their cross dependencies
+ */
+ const CSS_PACKAGES_FILE='Web/Javascripts/css-packages.php';
+ /**
* @var TPage page who owns this manager
*/
private $_page;
@@ -80,12 +84,27 @@ class TClientScriptManager extends TApplicationComponent
* @var array
*/
private static $_pradoPackages;
+ /**
+ * @var array registered PRADO style libraries
+ */
+ private $_registeredPradoStyles=array();
+ /**
+ * Client-side style library dependencies, loads from PACKAGES_FILE;
+ * @var array
+ */
+ private static $_pradoStyles;
+ /**
+ * Client-side style library packages, loads from CSS_PACKAGES_FILE;
+ * @var array
+ */
+ private static $_pradoStylePackages;
private $_renderedHiddenFields;
private $_renderedScriptFiles=array();
private $_expandedPradoScripts;
+ private $_expandedPradoStyles;
/**
* Constructor.
@@ -214,7 +233,7 @@ class TClientScriptManager extends TApplicationComponent
}
/**
- * @param string javascript package path.
+ * @param string javascript or css package path.
* @return array tuple($path,$url).
*/
protected function getPackagePathUrl($base)
@@ -348,6 +367,67 @@ class TClientScriptManager extends TApplicationComponent
}
/**
+ * Registers Prado style by library name. See "Web/Javascripts/packages.php"
+ * for library names.
+ * @param string style library name.
+ */
+ public function registerPradoStyle($name)
+ {
+ $this->registerPradoStyleInternal($name);
+ $params=func_get_args();
+ $this->_page->registerCachingAction('Page.ClientScript','registerPradoStyle',$params);
+ }
+
+ /**
+ * Registers a Prado style library to be loaded.
+ */
+ protected function registerPradoStyleInternal($name)
+ {
+ // $this->checkIfNotInRender();
+ 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;
+ // TODO minify css?
+ if (!in_array($url=$baseUrl.'/'.$style,$packagesUrl))
+ $packagesUrl[]=$url;
+ }
+ }
+ }
+ foreach($packagesUrl as $url)
+ $this->registerStyleSheetFile($url,$url);
+ }
+ }
+ }
+
+ /**
* Registers a CSS file to be rendered in the page head
*
* The CSS files in themes are registered in {@link OnPreRenderComplete onPreRenderComplete} if you want to override
@@ -400,9 +480,9 @@ class TClientScriptManager extends TApplicationComponent
public function getStyleSheetUrls()
{
$stylesheets = array_values(
- array_map(
- create_function('$e', 'return is_array($e) ? $e[0] : $e;'),
- $this->_styleSheetFiles)
+ array_map(function($e) {
+ return is_array($e) ? $e[0] : $e;
+ }, $this->_styleSheetFiles)
);
foreach(Prado::getApplication()->getAssetManager()->getPublished() as $path=>$url)
diff --git a/lib/prado/framework/Web/UI/TCompositeControl.php b/lib/prado/framework/Web/UI/TCompositeControl.php
index e830351..6bde562 100644
--- a/lib/prado/framework/Web/UI/TCompositeControl.php
+++ b/lib/prado/framework/Web/UI/TCompositeControl.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TControl.php b/lib/prado/framework/Web/UI/TControl.php
index 055b552..be7b118 100644
--- a/lib/prado/framework/Web/UI/TControl.php
+++ b/lib/prado/framework/Web/UI/TControl.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
@@ -769,13 +769,19 @@ class TControl extends TApplicationComponent implements IRenderable, IBindable
{
if($this->_trackViewState)
{
- $this->_viewState[$key]=$value;
unset($this->_tempState[$key]);
+ if($value===$defaultValue)
+ unset($this->_viewState[$key]);
+ else
+ $this->_viewState[$key]=$value;
}
else
{
unset($this->_viewState[$key]);
- $this->_tempState[$key]=$value;
+ if($value===$defaultValue)
+ unset($this->_tempState[$key]);
+ else
+ $this->_tempState[$key]=$value;
}
}
@@ -1655,7 +1661,10 @@ class TControl extends TApplicationComponent implements IRenderable, IBindable
foreach($this->_rf[self::RF_CONTROLS] as $control)
{
if($control instanceof TControl)
- $state[$control->_id]=&$control->saveStateRecursive($needViewState);
+ {
+ if(count($tmp = &$control->saveStateRecursive($needViewState)))
+ $state[$control->_id]=$tmp;
+ }
}
}
if($needViewState && !empty($this->_viewState))
diff --git a/lib/prado/framework/Web/UI/TControlAdapter.php b/lib/prado/framework/Web/UI/TControlAdapter.php
index 3abc004..4168e40 100644
--- a/lib/prado/framework/Web/UI/TControlAdapter.php
+++ b/lib/prado/framework/Web/UI/TControlAdapter.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TForm.php b/lib/prado/framework/Web/UI/TForm.php
index a6fe355..aed24b3 100644
--- a/lib/prado/framework/Web/UI/TForm.php
+++ b/lib/prado/framework/Web/UI/TForm.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/THtmlWriter.php b/lib/prado/framework/Web/UI/THtmlWriter.php
index 9c0c599..27b6ed4 100644
--- a/lib/prado/framework/Web/UI/THtmlWriter.php
+++ b/lib/prado/framework/Web/UI/THtmlWriter.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TPage.php b/lib/prado/framework/Web/UI/TPage.php
index f1ae591..515898b 100644
--- a/lib/prado/framework/Web/UI/TPage.php
+++ b/lib/prado/framework/Web/UI/TPage.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TPageStatePersister.php b/lib/prado/framework/Web/UI/TPageStatePersister.php
index 161316b..be5c013 100644
--- a/lib/prado/framework/Web/UI/TPageStatePersister.php
+++ b/lib/prado/framework/Web/UI/TPageStatePersister.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TSessionPageStatePersister.php b/lib/prado/framework/Web/UI/TSessionPageStatePersister.php
index a825a7d..85053b8 100644
--- a/lib/prado/framework/Web/UI/TSessionPageStatePersister.php
+++ b/lib/prado/framework/Web/UI/TSessionPageStatePersister.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TTemplateControl.php b/lib/prado/framework/Web/UI/TTemplateControl.php
index 4917d4b..e4a5980 100644
--- a/lib/prado/framework/Web/UI/TTemplateControl.php
+++ b/lib/prado/framework/Web/UI/TTemplateControl.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TTemplateManager.php b/lib/prado/framework/Web/UI/TTemplateManager.php
index b065eb6..49c619f 100644
--- a/lib/prado/framework/Web/UI/TTemplateManager.php
+++ b/lib/prado/framework/Web/UI/TTemplateManager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/TThemeManager.php b/lib/prado/framework/Web/UI/TThemeManager.php
index efc7268..380f255 100644
--- a/lib/prado/framework/Web/UI/TThemeManager.php
+++ b/lib/prado/framework/Web/UI/TThemeManager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TAccordion.php b/lib/prado/framework/Web/UI/WebControls/TAccordion.php
index d193613..e0af4d9 100644
--- a/lib/prado/framework/Web/UI/WebControls/TAccordion.php
+++ b/lib/prado/framework/Web/UI/WebControls/TAccordion.php
@@ -4,7 +4,7 @@
*
* @author Gabor Berczi, DevWorx Hungary <gabor.berczi@devworx.hu>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
* @since 3.2
diff --git a/lib/prado/framework/Web/UI/WebControls/TBaseDataList.php b/lib/prado/framework/Web/UI/WebControls/TBaseDataList.php
index 4501073..8f3590c 100644
--- a/lib/prado/framework/Web/UI/WebControls/TBaseDataList.php
+++ b/lib/prado/framework/Web/UI/WebControls/TBaseDataList.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TBaseValidator.php b/lib/prado/framework/Web/UI/WebControls/TBaseValidator.php
index a74d4bc..9911b06 100644
--- a/lib/prado/framework/Web/UI/WebControls/TBaseValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TBaseValidator.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TBoundColumn.php b/lib/prado/framework/Web/UI/WebControls/TBoundColumn.php
index 95697bd..caa6aca 100644
--- a/lib/prado/framework/Web/UI/WebControls/TBoundColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/TBoundColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TBulletedList.php b/lib/prado/framework/Web/UI/WebControls/TBulletedList.php
index 5d4167e..00a9a50 100644
--- a/lib/prado/framework/Web/UI/WebControls/TBulletedList.php
+++ b/lib/prado/framework/Web/UI/WebControls/TBulletedList.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TButton.php b/lib/prado/framework/Web/UI/WebControls/TButton.php
index aed518a..ca5479a 100644
--- a/lib/prado/framework/Web/UI/WebControls/TButton.php
+++ b/lib/prado/framework/Web/UI/WebControls/TButton.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TButtonColumn.php b/lib/prado/framework/Web/UI/WebControls/TButtonColumn.php
index d2d0ec5..304c8fa 100644
--- a/lib/prado/framework/Web/UI/WebControls/TButtonColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/TButtonColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TCaptcha.php b/lib/prado/framework/Web/UI/WebControls/TCaptcha.php
index cf9cc8e..863b164 100644
--- a/lib/prado/framework/Web/UI/WebControls/TCaptcha.php
+++ b/lib/prado/framework/Web/UI/WebControls/TCaptcha.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TCaptchaValidator.php b/lib/prado/framework/Web/UI/WebControls/TCaptchaValidator.php
index 1a08430..a9990de 100644
--- a/lib/prado/framework/Web/UI/WebControls/TCaptchaValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TCaptchaValidator.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TCheckBox.php b/lib/prado/framework/Web/UI/WebControls/TCheckBox.php
index bfbfbf5..b994259 100644
--- a/lib/prado/framework/Web/UI/WebControls/TCheckBox.php
+++ b/lib/prado/framework/Web/UI/WebControls/TCheckBox.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TCheckBoxColumn.php b/lib/prado/framework/Web/UI/WebControls/TCheckBoxColumn.php
index 5cf0265..1eb0acc 100644
--- a/lib/prado/framework/Web/UI/WebControls/TCheckBoxColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/TCheckBoxColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TCheckBoxList.php b/lib/prado/framework/Web/UI/WebControls/TCheckBoxList.php
index 9225e17..2950c53 100644
--- a/lib/prado/framework/Web/UI/WebControls/TCheckBoxList.php
+++ b/lib/prado/framework/Web/UI/WebControls/TCheckBoxList.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -402,13 +402,13 @@ class TCheckBoxList extends TListControl implements IRepeatInfoUser, INamingCont
*/
public function render($writer)
{
+ if ($needSpan=$this->getSpanNeeded())
+ {
+ $writer->addAttribute('id', $this->getClientId());
+ $writer->renderBeginTag('span');
+ }
if($this->getItemCount()>0)
{
- if ($needSpan=$this->getSpanNeeded())
- {
- $writer->addAttribute('id', $this->getClientId());
- $writer->renderBeginTag('span');
- }
$this->_isEnabled=$this->getEnabled(true);
$repeatInfo=$this->getRepeatInfo();
$accessKey=$this->getAccessKey();
@@ -422,9 +422,9 @@ class TCheckBoxList extends TListControl implements IRepeatInfoUser, INamingCont
$repeatInfo->renderRepeater($writer,$this);
$this->setAccessKey($accessKey);
$this->setTabIndex($tabIndex);
- if ($needSpan)
- $writer->renderEndTag();
}
+ if ($needSpan)
+ $writer->renderEndTag();
//checkbox skipped the client control script in addAttributesToRender
if($this->getEnabled(true)
diff --git a/lib/prado/framework/Web/UI/WebControls/TClientScript.php b/lib/prado/framework/Web/UI/WebControls/TClientScript.php
index c931bcb..96dfb99 100644
--- a/lib/prado/framework/Web/UI/WebControls/TClientScript.php
+++ b/lib/prado/framework/Web/UI/WebControls/TClientScript.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TColorPicker.php b/lib/prado/framework/Web/UI/WebControls/TColorPicker.php
index fbe71c0..08ad000 100644
--- a/lib/prado/framework/Web/UI/WebControls/TColorPicker.php
+++ b/lib/prado/framework/Web/UI/WebControls/TColorPicker.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TCompareValidator.php b/lib/prado/framework/Web/UI/WebControls/TCompareValidator.php
index 3048895..87eeb07 100644
--- a/lib/prado/framework/Web/UI/WebControls/TCompareValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TCompareValidator.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TConditional.php b/lib/prado/framework/Web/UI/WebControls/TConditional.php
index d9bc168..23e5381 100644
--- a/lib/prado/framework/Web/UI/WebControls/TConditional.php
+++ b/lib/prado/framework/Web/UI/WebControls/TConditional.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TContent.php b/lib/prado/framework/Web/UI/WebControls/TContent.php
index 1a0fd37..26c6b62 100644
--- a/lib/prado/framework/Web/UI/WebControls/TContent.php
+++ b/lib/prado/framework/Web/UI/WebControls/TContent.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TContentPlaceHolder.php b/lib/prado/framework/Web/UI/WebControls/TContentPlaceHolder.php
index 0355467..5dc824e 100644
--- a/lib/prado/framework/Web/UI/WebControls/TContentPlaceHolder.php
+++ b/lib/prado/framework/Web/UI/WebControls/TContentPlaceHolder.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TCustomValidator.php b/lib/prado/framework/Web/UI/WebControls/TCustomValidator.php
index ca31a2a..316afca 100644
--- a/lib/prado/framework/Web/UI/WebControls/TCustomValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TCustomValidator.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataBoundControl.php b/lib/prado/framework/Web/UI/WebControls/TDataBoundControl.php
index 8078b6f..7fe3717 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataBoundControl.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataBoundControl.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataGrid.php b/lib/prado/framework/Web/UI/WebControls/TDataGrid.php
index 109252a..2f338d2 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataGrid.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataGrid.php
@@ -9,7 +9,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -1162,7 +1162,7 @@ class TDataGrid extends TBaseDataList implements INamingContainer
$param=new TDataGridItemEventParameter($item);
if($dataBind)
{
- $item->setDataItem($dataItem);
+ $item->setData($dataItem);
$this->onItemCreated($param);
$this->getControls()->add($item);
$item->dataBind();
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataGridColumn.php b/lib/prado/framework/Web/UI/WebControls/TDataGridColumn.php
index 2f547ff..0e3ddbe 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataGridColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataGridColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataGridItemRenderer.php b/lib/prado/framework/Web/UI/WebControls/TDataGridItemRenderer.php
index 23cf515..4cd12d3 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataGridItemRenderer.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataGridItemRenderer.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataGridPagerStyle.php b/lib/prado/framework/Web/UI/WebControls/TDataGridPagerStyle.php
index b96d0cd..fc5b848 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataGridPagerStyle.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataGridPagerStyle.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -33,6 +33,35 @@ class TDataGridPagerStyle extends TPanelStyle
private $_buttonType=null;
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_mode===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_mode";
+ if ($this->_nextText===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_nextText";
+ if ($this->_prevText===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_prevText";
+ if ($this->_firstText===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_firstText";
+ if ($this->_lastText===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_lastText";
+ if ($this->_buttonCount===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_buttonCount";
+ if ($this->_position===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_position";
+ if ($this->_visible===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_visible";
+ if ($this->_buttonType===null)
+ $exprops[] = "\0TDataGridPagerStyle\0_buttonType";
+ }
+
+ /**
* @return TDataGridPagerMode pager mode. Defaults to TDataGridPagerMode::NextPrev.
*/
public function getMode()
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataList.php b/lib/prado/framework/Web/UI/WebControls/TDataList.php
index a3cf8b6..c883ba3 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataList.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataList.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataListItemRenderer.php b/lib/prado/framework/Web/UI/WebControls/TDataListItemRenderer.php
index d7cb59c..8e62190 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataListItemRenderer.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataListItemRenderer.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataRenderer.php b/lib/prado/framework/Web/UI/WebControls/TDataRenderer.php
index 6e76013..b7155c8 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataRenderer.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataRenderer.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
* @since 3.1.2
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataSourceControl.php b/lib/prado/framework/Web/UI/WebControls/TDataSourceControl.php
index ff47a78..11a97c9 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataSourceControl.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataSourceControl.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataSourceView.php b/lib/prado/framework/Web/UI/WebControls/TDataSourceView.php
index ed6d868..43cc63f 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataSourceView.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataSourceView.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDataTypeValidator.php b/lib/prado/framework/Web/UI/WebControls/TDataTypeValidator.php
index b78a962..886bb64 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDataTypeValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDataTypeValidator.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDatePicker.php b/lib/prado/framework/Web/UI/WebControls/TDatePicker.php
index 3f9e445..7a164dd 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDatePicker.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDatePicker.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDropDownList.php b/lib/prado/framework/Web/UI/WebControls/TDropDownList.php
index 0598d24..1903d43 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDropDownList.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDropDownList.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TDropDownListColumn.php b/lib/prado/framework/Web/UI/WebControls/TDropDownListColumn.php
index 507dafd..2b07a73 100644
--- a/lib/prado/framework/Web/UI/WebControls/TDropDownListColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/TDropDownListColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TEditCommandColumn.php b/lib/prado/framework/Web/UI/WebControls/TEditCommandColumn.php
index 36e188f..c305cd7 100644
--- a/lib/prado/framework/Web/UI/WebControls/TEditCommandColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/TEditCommandColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TEmailAddressValidator.php b/lib/prado/framework/Web/UI/WebControls/TEmailAddressValidator.php
index bb95372..2d76d67 100644
--- a/lib/prado/framework/Web/UI/WebControls/TEmailAddressValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TEmailAddressValidator.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TExpression.php b/lib/prado/framework/Web/UI/WebControls/TExpression.php
index 57bbb59..6b987c9 100644
--- a/lib/prado/framework/Web/UI/WebControls/TExpression.php
+++ b/lib/prado/framework/Web/UI/WebControls/TExpression.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TFileUpload.php b/lib/prado/framework/Web/UI/WebControls/TFileUpload.php
index 20f3c5e..60f4670 100644
--- a/lib/prado/framework/Web/UI/WebControls/TFileUpload.php
+++ b/lib/prado/framework/Web/UI/WebControls/TFileUpload.php
@@ -4,7 +4,7 @@
*
* @author Marcus Nyeholt <tanus@users.sourceforge.net>, Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -276,3 +276,4 @@ class TFileUpload extends TWebControl implements IPostBackDataHandler, IValidata
}
}
+
diff --git a/lib/prado/framework/Web/UI/WebControls/TFont.php b/lib/prado/framework/Web/UI/WebControls/TFont.php
index 52a5db7..432532b 100644
--- a/lib/prado/framework/Web/UI/WebControls/TFont.php
+++ b/lib/prado/framework/Web/UI/WebControls/TFont.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -54,6 +54,23 @@ class TFont extends TComponent
private $_size='';
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_flags===0)
+ $exprops[] = "\0TFont\0_flags";
+ if ($this->_name==='')
+ $exprops[] = "\0TFont\0_name";
+ if ($this->_size==='')
+ $exprops[] = "\0TFont\0_size";
+ }
+
+ /**
* @return boolean whether the font is in bold face. Defaults to false.
*/
public function getBold()
diff --git a/lib/prado/framework/Web/UI/WebControls/THead.php b/lib/prado/framework/Web/UI/WebControls/THead.php
index c7c9b57..487b4a1 100644
--- a/lib/prado/framework/Web/UI/WebControls/THead.php
+++ b/lib/prado/framework/Web/UI/WebControls/THead.php
@@ -4,7 +4,7 @@
*
* @author Marcus Nyeholt <tanus@users.sourceforge.net> and Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THeader1.php b/lib/prado/framework/Web/UI/WebControls/THeader1.php
index 5eee499..b36cb5a 100644
--- a/lib/prado/framework/Web/UI/WebControls/THeader1.php
+++ b/lib/prado/framework/Web/UI/WebControls/THeader1.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THeader2.php b/lib/prado/framework/Web/UI/WebControls/THeader2.php
index c54b52f..e60759e 100644
--- a/lib/prado/framework/Web/UI/WebControls/THeader2.php
+++ b/lib/prado/framework/Web/UI/WebControls/THeader2.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THeader3.php b/lib/prado/framework/Web/UI/WebControls/THeader3.php
index ef89e02..2c156bd 100644
--- a/lib/prado/framework/Web/UI/WebControls/THeader3.php
+++ b/lib/prado/framework/Web/UI/WebControls/THeader3.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THeader4.php b/lib/prado/framework/Web/UI/WebControls/THeader4.php
index d2dada4..58e3721 100644
--- a/lib/prado/framework/Web/UI/WebControls/THeader4.php
+++ b/lib/prado/framework/Web/UI/WebControls/THeader4.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THeader5.php b/lib/prado/framework/Web/UI/WebControls/THeader5.php
index 582567d..440546b 100644
--- a/lib/prado/framework/Web/UI/WebControls/THeader5.php
+++ b/lib/prado/framework/Web/UI/WebControls/THeader5.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THeader6.php b/lib/prado/framework/Web/UI/WebControls/THeader6.php
index ae876f8..d2c724e 100644
--- a/lib/prado/framework/Web/UI/WebControls/THeader6.php
+++ b/lib/prado/framework/Web/UI/WebControls/THeader6.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THiddenField.php b/lib/prado/framework/Web/UI/WebControls/THiddenField.php
index 8ea1c5b..a120be0 100644
--- a/lib/prado/framework/Web/UI/WebControls/THiddenField.php
+++ b/lib/prado/framework/Web/UI/WebControls/THiddenField.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.xisc.com/
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THtmlArea.php b/lib/prado/framework/Web/UI/WebControls/THtmlArea.php
index 7fc5969..679ce4a 100644
--- a/lib/prado/framework/Web/UI/WebControls/THtmlArea.php
+++ b/lib/prado/framework/Web/UI/WebControls/THtmlArea.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THtmlArea4.php b/lib/prado/framework/Web/UI/WebControls/THtmlArea4.php
index 9485150..ebee649 100644
--- a/lib/prado/framework/Web/UI/WebControls/THtmlArea4.php
+++ b/lib/prado/framework/Web/UI/WebControls/THtmlArea4.php
@@ -4,7 +4,7 @@
*
* @author Fabio Bas <ctrlaltca[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THtmlElement.php b/lib/prado/framework/Web/UI/WebControls/THtmlElement.php
index 6efd608..e40045c 100644
--- a/lib/prado/framework/Web/UI/WebControls/THtmlElement.php
+++ b/lib/prado/framework/Web/UI/WebControls/THtmlElement.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THyperLink.php b/lib/prado/framework/Web/UI/WebControls/THyperLink.php
index 8e8d3f5..a21dc6b 100644
--- a/lib/prado/framework/Web/UI/WebControls/THyperLink.php
+++ b/lib/prado/framework/Web/UI/WebControls/THyperLink.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.xisc.com/
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/THyperLinkColumn.php b/lib/prado/framework/Web/UI/WebControls/THyperLinkColumn.php
index d24616a..2c7590e 100644
--- a/lib/prado/framework/Web/UI/WebControls/THyperLinkColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/THyperLinkColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TImage.php b/lib/prado/framework/Web/UI/WebControls/TImage.php
index 8538545..5ec8399 100644
--- a/lib/prado/framework/Web/UI/WebControls/TImage.php
+++ b/lib/prado/framework/Web/UI/WebControls/TImage.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TImageButton.php b/lib/prado/framework/Web/UI/WebControls/TImageButton.php
index 288def3..04ac3b8 100644
--- a/lib/prado/framework/Web/UI/WebControls/TImageButton.php
+++ b/lib/prado/framework/Web/UI/WebControls/TImageButton.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TImageMap.php b/lib/prado/framework/Web/UI/WebControls/TImageMap.php
index 8775496..6c83175 100644
--- a/lib/prado/framework/Web/UI/WebControls/TImageMap.php
+++ b/lib/prado/framework/Web/UI/WebControls/TImageMap.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TInlineFrame.php b/lib/prado/framework/Web/UI/WebControls/TInlineFrame.php
index 3d18235..ab0fb48 100644
--- a/lib/prado/framework/Web/UI/WebControls/TInlineFrame.php
+++ b/lib/prado/framework/Web/UI/WebControls/TInlineFrame.php
@@ -5,7 +5,7 @@
* @author Jason Ragsdale <jrags@jasrags.net>
* @author Harry Pottash <hpottash@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TItemDataRenderer.php b/lib/prado/framework/Web/UI/WebControls/TItemDataRenderer.php
index 1800fa7..6765695 100644
--- a/lib/prado/framework/Web/UI/WebControls/TItemDataRenderer.php
+++ b/lib/prado/framework/Web/UI/WebControls/TItemDataRenderer.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
* @since 3.1.2
diff --git a/lib/prado/framework/Web/UI/WebControls/TJavascriptLogger.php b/lib/prado/framework/Web/UI/WebControls/TJavascriptLogger.php
index 83f9fcb..7164689 100644
--- a/lib/prado/framework/Web/UI/WebControls/TJavascriptLogger.php
+++ b/lib/prado/framework/Web/UI/WebControls/TJavascriptLogger.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TKeyboard.php b/lib/prado/framework/Web/UI/WebControls/TKeyboard.php
index 15a4aa3..3808f2e 100644
--- a/lib/prado/framework/Web/UI/WebControls/TKeyboard.php
+++ b/lib/prado/framework/Web/UI/WebControls/TKeyboard.php
@@ -4,7 +4,7 @@
*
* @author Sergey Morkovkin <sergeymorkovkin@mail.ru> and Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
* @since 3.1.1
diff --git a/lib/prado/framework/Web/UI/WebControls/TLabel.php b/lib/prado/framework/Web/UI/WebControls/TLabel.php
index bf43b4d..ba342b7 100644
--- a/lib/prado/framework/Web/UI/WebControls/TLabel.php
+++ b/lib/prado/framework/Web/UI/WebControls/TLabel.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -102,7 +102,7 @@ class TLabel extends TWebControl implements IDataRenderer
*/
public function setText($value)
{
- $this->setViewState('Text',$value,'');
+ $this->setViewState('Text',TPropertyValue::ensureString($value),'');
}
/**
diff --git a/lib/prado/framework/Web/UI/WebControls/TLinkButton.php b/lib/prado/framework/Web/UI/WebControls/TLinkButton.php
index dadea1d..95cf5d2 100644
--- a/lib/prado/framework/Web/UI/WebControls/TLinkButton.php
+++ b/lib/prado/framework/Web/UI/WebControls/TLinkButton.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TListBox.php b/lib/prado/framework/Web/UI/WebControls/TListBox.php
index 520fc5e..ef8423e 100644
--- a/lib/prado/framework/Web/UI/WebControls/TListBox.php
+++ b/lib/prado/framework/Web/UI/WebControls/TListBox.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TListControl.php b/lib/prado/framework/Web/UI/WebControls/TListControl.php
index ff89a74..8bf1352 100644
--- a/lib/prado/framework/Web/UI/WebControls/TListControl.php
+++ b/lib/prado/framework/Web/UI/WebControls/TListControl.php
@@ -6,7 +6,7 @@
* @author Robin J. Rogge <rojaro@gmail.com>
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TListControlValidator.php b/lib/prado/framework/Web/UI/WebControls/TListControlValidator.php
index 76096ef..15ade02 100644
--- a/lib/prado/framework/Web/UI/WebControls/TListControlValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TListControlValidator.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TListItem.php b/lib/prado/framework/Web/UI/WebControls/TListItem.php
index aec006d..0118a91 100644
--- a/lib/prado/framework/Web/UI/WebControls/TListItem.php
+++ b/lib/prado/framework/Web/UI/WebControls/TListItem.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -32,19 +32,19 @@ class TListItem extends TComponent
/**
* @var string text of the item
*/
- private $_text;
+ private $_text='';
/**
* @var string value of the item
*/
- private $_value;
+ private $_value='';
/**
* @var boolean whether the item is enabled
*/
- private $_enabled;
+ private $_enabled=true;
/**
* @var boolean whether the item is selected
*/
- private $_selected;
+ private $_selected=false;
/**
* Constructor.
@@ -62,6 +62,27 @@ class TListItem extends TComponent
}
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_attributes===null)
+ $exprops[] = "\0TListItem\0_attributes";
+ if($this->_text==='')
+ $exprops[] = "\0TListItem\0_text";
+ if($this->_value==='')
+ $exprops[] = "\0TListItem\0_value";
+ if ($this->_enabled===true)
+ $exprops[] = "\0TListItem\0_enabled";
+ if ($this->_selected===false)
+ $exprops[] = "\0TListItem\0_selected";
+ }
+
+ /**
* @return boolean whether the item is enabled
*/
public function getEnabled()
diff --git a/lib/prado/framework/Web/UI/WebControls/TLiteral.php b/lib/prado/framework/Web/UI/WebControls/TLiteral.php
index f2306b4..d5c5b66 100644
--- a/lib/prado/framework/Web/UI/WebControls/TLiteral.php
+++ b/lib/prado/framework/Web/UI/WebControls/TLiteral.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -45,7 +45,7 @@ class TLiteral extends TControl implements IDataRenderer
*/
public function setText($value)
{
- $this->setViewState('Text',$value,'');
+ $this->setViewState('Text',TPropertyValue::ensureString($value),'');
}
/**
diff --git a/lib/prado/framework/Web/UI/WebControls/TLiteralColumn.php b/lib/prado/framework/Web/UI/WebControls/TLiteralColumn.php
index 3cf3c3a..dae5ac9 100644
--- a/lib/prado/framework/Web/UI/WebControls/TLiteralColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/TLiteralColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TMarkdown.php b/lib/prado/framework/Web/UI/WebControls/TMarkdown.php
index 7a99b1f..0d38f9d 100644
--- a/lib/prado/framework/Web/UI/WebControls/TMarkdown.php
+++ b/lib/prado/framework/Web/UI/WebControls/TMarkdown.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TMultiView.php b/lib/prado/framework/Web/UI/WebControls/TMultiView.php
index 5f338d7..169428f 100644
--- a/lib/prado/framework/Web/UI/WebControls/TMultiView.php
+++ b/lib/prado/framework/Web/UI/WebControls/TMultiView.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TOutputCache.php b/lib/prado/framework/Web/UI/WebControls/TOutputCache.php
index 5615418..eaa0f83 100644
--- a/lib/prado/framework/Web/UI/WebControls/TOutputCache.php
+++ b/lib/prado/framework/Web/UI/WebControls/TOutputCache.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TPager.php b/lib/prado/framework/Web/UI/WebControls/TPager.php
index 467c0f7..dd0a7e5 100644
--- a/lib/prado/framework/Web/UI/WebControls/TPager.php
+++ b/lib/prado/framework/Web/UI/WebControls/TPager.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TPanel.php b/lib/prado/framework/Web/UI/WebControls/TPanel.php
index 22d44a5..e73ba3b 100644
--- a/lib/prado/framework/Web/UI/WebControls/TPanel.php
+++ b/lib/prado/framework/Web/UI/WebControls/TPanel.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TPanelStyle.php b/lib/prado/framework/Web/UI/WebControls/TPanelStyle.php
index 2e0f1a2..8bb1354 100644
--- a/lib/prado/framework/Web/UI/WebControls/TPanelStyle.php
+++ b/lib/prado/framework/Web/UI/WebControls/TPanelStyle.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -46,6 +46,27 @@ class TPanelStyle extends TStyle
private $_wrap=null;
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_backImageUrl===null)
+ $exprops[] = "\0TPanelStyle\0_backImageUrl";
+ if ($this->_direction===null)
+ $exprops[] = "\0TPanelStyle\0_direction";
+ if ($this->_horizontalAlign===null)
+ $exprops[] = "\0TPanelStyle\0_horizontalAlign";
+ if ($this->_scrollBars===null)
+ $exprops[] = "\0TPanelStyle\0_scrollBars";
+ if ($this->_wrap===null)
+ $exprops[] = "\0TPanelStyle\0_wrap";
+ }
+
+ /**
* Adds attributes related to CSS styles to renderer.
* This method overrides the parent implementation.
* @param THtmlWriter the writer used for the rendering purpose
diff --git a/lib/prado/framework/Web/UI/WebControls/TPlaceHolder.php b/lib/prado/framework/Web/UI/WebControls/TPlaceHolder.php
index 65f5ba2..8fee46f 100644
--- a/lib/prado/framework/Web/UI/WebControls/TPlaceHolder.php
+++ b/lib/prado/framework/Web/UI/WebControls/TPlaceHolder.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TRadioButton.php b/lib/prado/framework/Web/UI/WebControls/TRadioButton.php
index cfdb795..d10fe1d 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRadioButton.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRadioButton.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TRadioButtonList.php b/lib/prado/framework/Web/UI/WebControls/TRadioButtonList.php
index dc9e2da..ef9c040 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRadioButtonList.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRadioButtonList.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TRangeValidator.php b/lib/prado/framework/Web/UI/WebControls/TRangeValidator.php
index a6668f4..2556e07 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRangeValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRangeValidator.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TRatingList.php b/lib/prado/framework/Web/UI/WebControls/TRatingList.php
index 0f1f364..94f9da1 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRatingList.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRatingList.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TReCaptcha2.php b/lib/prado/framework/Web/UI/WebControls/TReCaptcha2.php
new file mode 100644
index 0000000..a4a9e83
--- /dev/null
+++ b/lib/prado/framework/Web/UI/WebControls/TReCaptcha2.php
@@ -0,0 +1,364 @@
+<?php
+
+/**
+ * TReCaptcha2 class file
+ *
+ * @author Cristian Camilo Naranjo Valencia
+ * @link http://icolectiva.co
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
+ * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
+ * @package System.Web.UI.WebControls
+ */
+
+Prado::using('System.Web.UI.ActiveControls.TCallbackEventParameter');
+Prado::using('System.Web.UI.ActiveControls.TActivePanel');
+
+/**
+ * TReCaptcha2 class.
+ *
+ * TReCaptcha2 displays a reCAPTCHA (a token displayed as an image) that can be used
+ * to determine if the input is entered by a real user instead of some program. It can
+ * also prevent multiple submits of the same form either by accident, or on purpose (ie. spamming).
+ *
+ * The reCAPTCHA to solve (a string consisting of two separate words) displayed is automatically
+ * generated by the reCAPTCHA system at recaptcha.net. However, in order to use the services
+ * of the site you will need to register and get a public and a private API key pair, and
+ * supply those to the reCAPTCHA control through setting the {@link setSecretKey SecretKey}
+ * and {@link setSiteKey SiteKey} properties.
+ *
+ * Currently the reCAPTCHA API supports only one reCAPTCHA field per page, so you MUST make sure that all
+ * your input is protected and validated by a single reCAPTCHA control. Placing more than one reCAPTCHA
+ * control on the page will lead to unpredictable results, and the user will most likely unable to solve
+ * any of them successfully.
+ *
+ * Upon postback, user input can be validated by calling {@link validate()}.
+ * The {@link TReCaptcha2Validator} control can also be used to do validation, which provides
+ * server-side validation. Calling (@link validate()) will invalidate the token supplied, so all consecutive
+ * calls to the method - without solving a new captcha - will return false. Therefore if implementing a multi-stage
+ * input process, you must make sure that you call validate() only once, either at the end of the input process, or
+ * you store the result till the end of the processing.
+ *
+ * The following template shows a typical use of TReCaptcha control:
+ * <code>
+ * <com:TReCaptcha2 ID="Captcha"
+ * SiteKey="..."
+ * SecretKey="..."
+ * />
+ * <com:TReCaptcha2Validator ControlToValidate="Captcha"
+ * ErrorMessage="You are challenged!" />
+ * </code>
+ *
+ * @author Cristian Camilo Naranjo Valencia
+ * @package System.Web.UI.WebControls
+ * @since 3.3.1
+ */
+
+class TReCaptcha2 extends TActivePanel implements ICallbackEventHandler, IValidatable
+{
+ const ChallengeFieldName = 'g-recaptcha-response';
+ private $_widgetId=0;
+ private $_isValid=true;
+
+ public function __construct()
+ {
+ parent::__construct();
+ $this->setAdapter(new TActiveControlAdapter($this));
+ }
+ public function getActiveControl()
+ {
+ return $this->getAdapter()->getBaseActiveControl();
+ }
+ public function getClientSide()
+ {
+ return $this->getAdapter()->getBaseActiveControl()->getClientSide();
+ }
+ public function getClientClassName()
+ {
+ return 'Prado.WebUI.TReCaptcha2';
+ }
+ public function getTagName()
+ {
+ return 'div';
+ }
+ /**
+ * Returns true if this control validated successfully.
+ * Defaults to true.
+ * @return bool wether this control validated successfully.
+ */
+ public function getIsValid()
+ {
+ return $this->_isValid;
+ }
+ /**
+ * @param bool wether this control is valid.
+ */
+ public function setIsValid($value)
+ {
+ $this->_isValid=TPropertyValue::ensureBoolean($value);
+ }
+ public function getValidationPropertyValue()
+ {
+ return $this->Request[$this->getResponseFieldName()];
+ }
+ public function getResponseFieldName()
+ {
+ $captchas = $this->Page->findControlsByType('TReCaptcha2');
+ $cont = 0;
+ $responseFieldName = self::ChallengeFieldName;
+ foreach ($captchas as $captcha)
+ {
+ if ($this->getClientID() == $captcha->ClientID)
+ {
+ $responseFieldName .= ($cont > 0) ? '-'.$cont : '';
+ }
+ $cont++;
+ }
+ return $responseFieldName;
+ }
+ /**
+ * Returns your site key.
+ * @return string.
+ */
+ public function getSiteKey()
+ {
+ return $this->getViewState('SiteKey');
+ }
+ /**
+ * @param string your site key.
+ */
+ public function setSiteKey($value)
+ {
+ $this->setViewState('SiteKey', TPropertyValue::ensureString($value));
+ }
+ /**
+ * Returns your secret key.
+ * @return string.
+ */
+ public function getSecretKey()
+ {
+ return $this->getViewState('SecretKey');
+ }
+ /**
+ * @param string your secret key.
+ */
+ public function setSecretKey($value)
+ {
+ $this->setViewState('SecretKey', TPropertyValue::ensureString($value));
+ }
+ /**
+ * Returns your language.
+ * @return string.
+ */
+ public function getLanguage()
+ {
+ return $this->getViewState('Language', 'en');
+ }
+ /**
+ * @param string your language.
+ */
+ public function setLanguage($value)
+ {
+ $this->setViewState('Language', TPropertyValue::ensureString($value), 'en');
+ }
+ /**
+ * Returns the color theme of the widget.
+ * @return string.
+ */
+ public function getTheme()
+ {
+ return $this->getViewState('Theme', 'light');
+ }
+ /**
+ * The color theme of the widget.
+ * Default: light
+ * @param string the color theme of the widget.
+ */
+ public function setTheme($value)
+ {
+ $this->setViewState('Theme', TPropertyValue::ensureString($value), 'light');
+ }
+ /**
+ * Returns the type of CAPTCHA to serve.
+ * @return string.
+ */
+ public function getType()
+ {
+ return $this->getViewState('Type', 'image');
+ }
+ /**
+ * The type of CAPTCHA to serve.
+ * Default: image
+ * @param string the type of CAPTCHA to serve.
+ */
+ public function setType($value)
+ {
+ $this->setViewState('Type', TPropertyValue::ensureString($value), 'image');
+ }
+ /**
+ * Returns the size of the widget.
+ * @return string.
+ */
+ public function getSize()
+ {
+ return $this->getViewState('Size', 'normal');
+ }
+ /**
+ * The size of the widget.
+ * Default: normal
+ * @param string the size of the widget.
+ */
+ public function setSize($value)
+ {
+ $this->setViewState('Size', TPropertyValue::ensureString($value), 'normal');
+ }
+ /**
+ * Returns the tabindex of the widget and challenge.
+ * If other elements in your page use tabindex, it should be set to make user navigation easier.
+ * @return string.
+ */
+ public function getTabIndex()
+ {
+ return $this->getViewState('TabIndex', 0);
+ }
+ /**
+ * The tabindex of the widget and challenge.
+ * If other elements in your page use tabindex, it should be set to make user navigation easier.
+ * Default: 0
+ * @param string the tabindex of the widget and challenge.
+ */
+ public function setTabIndex($value)
+ {
+ $this->setViewState('TabIndex', TPropertyValue::ensureInteger($value), 0);
+ }
+ /**
+ * Resets the reCAPTCHA widget.
+ * Optional widget ID, defaults to the first widget created if unspecified.
+ */
+ public function reset()
+ {
+ $this->Page->CallbackClient->callClientFunction('grecaptcha.reset',array(array($this->WidgetId)));
+ }
+ /**
+ * Gets the response for the reCAPTCHA widget.
+ */
+ public function getResponse()
+ {
+ return $this->getViewState('Response', '');
+ }
+ public function setResponse($value)
+ {
+ $this->setViewState('Response', TPropertyValue::ensureString($value), '');
+ }
+ public function getWidgetId()
+ {
+ return $this->getViewState('WidgetId', 0);
+ }
+ public function setWidgetId($value)
+ {
+ $this->setViewState('WidgetId', TPropertyValue::ensureInteger($value), 0);
+ }
+ protected function getClientOptions()
+ {
+ $options['ID'] = $this->getClientID();
+ $options['EventTarget'] = $this->getUniqueID();
+ $options['FormID'] = $this->Page->getForm()->getClientID();
+ $options['onCallback'] = $this->hasEventHandler('OnCallback');
+ $options['onCallbackExpired'] = $this->hasEventHandler('OnCallbackExpired');
+ $options['options']['sitekey'] = $this->getSiteKey();
+ if ($theme = $this->getTheme()) $options['options']['theme'] = $theme;
+ if ($type = $this->getType()) $options['options']['type'] = $type;
+ if ($size = $this->getSize()) $options['options']['size'] = $size;
+ if ($tabIndex = $this->getTabIndex()) $options['options']['tabindex'] = $tabIndex;
+
+ return $options;
+ }
+ protected function registerClientScript()
+ {
+ $id = $this->getClientID();
+ $options = TJavaScript::encode($this->getClientOptions());
+ $className = $this->getClientClassName();
+ $cs = $this->Page->ClientScript;
+ $code = "new $className($options);";
+
+ $cs->registerPradoScript('ajax');
+ $cs->registerEndScript("grecaptcha:$id", $code);
+ }
+ public function validate()
+ {
+ $value = $this->getValidationPropertyValue();
+ if($value === null || empty($value))
+ return false;
+
+ return true;
+ }
+ /**
+ * Checks for API keys
+ * @param mixed event parameter
+ */
+ public function onPreRender($param)
+ {
+ parent::onPreRender($param);
+
+ if("" == $this->getSiteKey())
+ throw new TConfigurationException('recaptcha_publickey_unknown');
+ if("" == $this->getSecretKey())
+ throw new TConfigurationException('recaptcha_privatekey_unknown');
+
+ // need to register captcha fields so they will be sent postback
+ $this->Page->registerRequiresPostData($this->getResponseFieldName());
+ $this->Page->ClientScript->registerHeadScriptFile('grecaptcha2', 'https://www.google.com/recaptcha/api.js?onload=TReCaptcha2_onloadCallback&render=explicit&hl=' . $this->getLanguage());
+ }
+ protected function addAttributesToRender($writer)
+ {
+ $writer->addAttribute('id',$this->getClientID());
+ parent::addAttributesToRender($writer);
+ }
+ public function raiseCallbackEvent($param)
+ {
+ $params = $param->getCallbackParameter();
+ if ($params instanceof stdClass)
+ {
+ $callback = property_exists($params, 'onCallback');
+ $callbackExpired = property_exists($params, 'onCallbackExpired');
+
+ if ($callback)
+ {
+ $this->WidgetId = $params->widgetId;
+ $this->Response = $params->response;
+ $this->Page->CallbackClient->jQuery($params->responseField, 'text',array($params->response));
+
+ if ($params->onCallback)
+ {
+ $this->onCallback($param);
+ }
+ }
+
+ if ($callbackExpired)
+ {
+ $this->Response = '';
+ $this->reset();
+
+ if ($params->onCallbackExpired)
+ {
+ $this->onCallbackExpired($param);
+ }
+ }
+ }
+ }
+
+ public function onCallback($param)
+ {
+ $this->raiseEvent('OnCallback', $this, $param);
+ }
+
+ public function onCallbackExpired($param)
+ {
+ $this->raiseEvent('OnCallbackExpired', $this, $param);
+ }
+
+ public function render($writer)
+ {
+ $this->registerClientScript();
+ parent::render($writer);
+ }
+}
diff --git a/lib/prado/framework/Web/UI/WebControls/TReCaptcha2Validator.php b/lib/prado/framework/Web/UI/WebControls/TReCaptcha2Validator.php
new file mode 100644
index 0000000..2cd4b6d
--- /dev/null
+++ b/lib/prado/framework/Web/UI/WebControls/TReCaptcha2Validator.php
@@ -0,0 +1,110 @@
+<?php
+
+/**
+ * TReCaptcha2Validator class file
+ *
+ * @author Cristian Camilo Naranjo Valencia
+ * @link http://icolectiva.co
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
+ * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
+ * @package System.Web.UI.WebControls
+ */
+
+Prado::using('System.Web.UI.WebControls.TBaseValidator');
+Prado::using('System.Web.UI.WebControls.TReCaptcha2');
+
+/**
+ * TReCaptcha2Validator class
+ *
+ * TReCaptcha2Validator validates a reCAPTCHA represented by a {@link TReCaptcha} control.
+ * The input control fails validation if th user did not pass the humanity test.
+ *
+ * To use TReCaptcha2Validator, specify the {@link setCaptchaControl CaptchaControl}
+ * to be the ID path of the {@link TReCaptcha} control.
+ *
+ * @author Cristian Camilo Naranjo Valencia
+ * @package System.Web.UI.WebControls
+ * @since 3.3.1
+ */
+
+class TReCaptcha2Validator extends TBaseValidator
+{
+ protected $_isvalid = null;
+
+ protected function getClientClassName()
+ {
+ return 'Prado.WebUI.TReCaptcha2Validator';
+ }
+ public function getEnableClientScript()
+ {
+ return true;
+ }
+ protected function getCaptchaControl()
+ {
+ $control = $this->getValidationTarget();
+ if (!$control)
+ throw new Exception('No target control specified for TReCaptcha2Validator');
+ if (!($control instanceof TReCaptcha2))
+ throw new Exception('TReCaptcha2Validator only works with TReCaptcha2 controls');
+ return $control;
+ }
+ public function getClientScriptOptions()
+ {
+ $options = parent::getClientScriptOptions();
+ $options['ResponseFieldName'] = $this->getCaptchaControl()->getResponseFieldName();
+ return $options;
+ }
+ /**
+ * This method overrides the parent's implementation.
+ * The validation succeeds if the input control has the same value
+ * as the one displayed in the corresponding RECAPTCHA control.
+ *
+ * @return boolean whether the validation succeeds
+ */
+ protected function evaluateIsValid()
+ {
+ // check validity only once (if trying to evaulate multiple times, all redundant checks would fail)
+ if (is_null($this->_isvalid))
+ {
+ $control = $this->getCaptchaControl();
+ $this->_isvalid = $control->validate();
+ }
+ return ($this->_isvalid==true);
+ }
+ public function onPreRender($param)
+ {
+ parent::onPreRender($param);
+
+ $cs = $this->Page->getClientScript();
+ $cs->registerPradoScript('validator');
+
+ // communicate validation status to the client side
+ $value = $this->_isvalid===false ? '0' : '1';
+ $cs->registerHiddenField($this->getClientID().'_1',$value);
+
+ // update validator display
+ if ($control = $this->getValidationTarget())
+ {
+ $fn = 'captchaUpdateValidatorStatus_'.$this->getClientID();
+
+ $cs->registerEndScript($this->getClientID().'::validate', implode(' ',array(
+ // this function will be used to update the validator
+ 'function '.$fn.'(valid)',
+ '{',
+ ' jQuery('.TJavaScript::quoteString('#'.$this->getClientID().'_1').').val(valid);',
+ ' Prado.Validation.validateControl('.TJavaScript::quoteString($control->ClientID).'); ',
+ '}',
+ '',
+ // update the validator to the result if we're in a callback
+ // (if we're in initial rendering or a postback then the result will be rendered directly to the page html anyway)
+ $this->Page->IsCallback ? $fn.'('.$value.');' : '',
+ '',
+ // install event handler that clears the validation error when user changes the captcha response field
+ 'jQuery("#'.$control->getClientID().'").on("change", '.TJavaScript::quoteString('#'.$control->getResponseFieldName()).', function() { ',
+ $fn.'("1");',
+ '});',
+ )));
+ }
+ }
+}
+
diff --git a/lib/prado/framework/Web/UI/WebControls/TReCaptchaValidator.php b/lib/prado/framework/Web/UI/WebControls/TReCaptchaValidator.php
index de3b42a..9078354 100644
--- a/lib/prado/framework/Web/UI/WebControls/TReCaptchaValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TReCaptchaValidator.php
@@ -21,7 +21,7 @@ Prado::using('System.Web.UI.WebControls.TReCaptcha');
* is not the same as the token displayed in reCAPTCHA. Note, if the user does
* not enter any thing, it is still considered as failing the validation.
*
- * To use TReCaptchaValidator, specify the {@link setControlToValidate ControlToValidate}
+ * To use TReCaptchaValidator, specify the {@link setCaptchaControl CaptchaControl}
* to be the ID path of the {@link TReCaptcha} control.
*
* @author Bérczi Gábor <gabor.berczi@devworx.hu>
diff --git a/lib/prado/framework/Web/UI/WebControls/TRegularExpressionValidator.php b/lib/prado/framework/Web/UI/WebControls/TRegularExpressionValidator.php
index 1cdff8b..426dc83 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRegularExpressionValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRegularExpressionValidator.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TRepeatInfo.php b/lib/prado/framework/Web/UI/WebControls/TRepeatInfo.php
index f5823d7..acafe3a 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRepeatInfo.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRepeatInfo.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TRepeater.php b/lib/prado/framework/Web/UI/WebControls/TRepeater.php
index 3d295a2..132a436 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRepeater.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRepeater.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TRepeaterItemRenderer.php b/lib/prado/framework/Web/UI/WebControls/TRepeaterItemRenderer.php
index 1ea799c..35e659b 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRepeaterItemRenderer.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRepeaterItemRenderer.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TRequiredFieldValidator.php b/lib/prado/framework/Web/UI/WebControls/TRequiredFieldValidator.php
index 4587db8..7cb439b 100644
--- a/lib/prado/framework/Web/UI/WebControls/TRequiredFieldValidator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TRequiredFieldValidator.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TSafeHtml.php b/lib/prado/framework/Web/UI/WebControls/TSafeHtml.php
index 16743f9..9fb44f5 100644
--- a/lib/prado/framework/Web/UI/WebControls/TSafeHtml.php
+++ b/lib/prado/framework/Web/UI/WebControls/TSafeHtml.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TSlider.php b/lib/prado/framework/Web/UI/WebControls/TSlider.php
index 593cd2c..db1044f 100644
--- a/lib/prado/framework/Web/UI/WebControls/TSlider.php
+++ b/lib/prado/framework/Web/UI/WebControls/TSlider.php
@@ -4,7 +4,7 @@
*
* @author Christophe Boulain <Christophe.Boulain@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
* @since 3.1.1
diff --git a/lib/prado/framework/Web/UI/WebControls/TStatements.php b/lib/prado/framework/Web/UI/WebControls/TStatements.php
index e9cbeb3..b84b5bb 100644
--- a/lib/prado/framework/Web/UI/WebControls/TStatements.php
+++ b/lib/prado/framework/Web/UI/WebControls/TStatements.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TStyle.php b/lib/prado/framework/Web/UI/WebControls/TStyle.php
index eb47f2f..f6d91e9 100644
--- a/lib/prado/framework/Web/UI/WebControls/TStyle.php
+++ b/lib/prado/framework/Web/UI/WebControls/TStyle.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -47,6 +47,27 @@ class TStyle extends TComponent
private $_displayStyle='Fixed';
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_fields===array())
+ $exprops[] = "\0TStyle\0_fields";
+ if($this->_font===null)
+ $exprops[] = "\0TStyle\0_font";
+ if($this->_class===null)
+ $exprops[] = "\0TStyle\0_class";
+ if ($this->_customStyle===null)
+ $exprops[] = "\0TStyle\0_customStyle";
+ if ($this->_displayStyle==='Fixed')
+ $exprops[] = "\0TStyle\0_displayStyle";
+ }
+
+ /**
* Constructor.
* @param TStyle style to copy from
*/
@@ -463,6 +484,29 @@ class TTableStyle extends TStyle
private $_borderCollapse=null;
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_backImageUrl===null)
+ $exprops[] = "\0TTableStyle\0_backImageUrl";
+ if ($this->_horizontalAlign===null)
+ $exprops[] = "\0TTableStyle\0_horizontalAlign";
+ if ($this->_cellPadding===null)
+ $exprops[] = "\0TTableStyle\0_cellPadding";
+ if ($this->_cellSpacing===null)
+ $exprops[] = "\0TTableStyle\0_cellSpacing";
+ if ($this->_gridLines===null)
+ $exprops[] = "\0TTableStyle\0_gridLines";
+ if ($this->_borderCollapse===null)
+ $exprops[] = "\0TTableStyle\0_borderCollapse";
+ }
+
+ /**
* Sets the style attributes to default values.
* This method overrides the parent implementation by
* resetting additional TTableStyle specific attributes.
@@ -691,6 +735,23 @@ class TTableItemStyle extends TStyle
private $_wrap=null;
/**
+ * Returns an array with the names of all variables of this object that should NOT be serialized
+ * because their value is the default one or useless to be cached for the next page loads.
+ * Reimplement in derived classes to add new variables, but remember to also to call the parent
+ * implementation first.
+ */
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_horizontalAlign===null)
+ $exprops[] = "\0TTableItemStyle\0_horizontalAlign";
+ if ($this->_verticalAlign===null)
+ $exprops[] = "\0TTableItemStyle\0_verticalAlign";
+ if ($this->_wrap===null)
+ $exprops[] = "\0TTableItemStyle\0_wrap";
+ }
+
+ /**
* Sets the style attributes to default values.
* This method overrides the parent implementation by
* resetting additional TTableItemStyle specific attributes.
diff --git a/lib/prado/framework/Web/UI/WebControls/TStyleSheet.php b/lib/prado/framework/Web/UI/WebControls/TStyleSheet.php
index ae5692d..021b911 100644
--- a/lib/prado/framework/Web/UI/WebControls/TStyleSheet.php
+++ b/lib/prado/framework/Web/UI/WebControls/TStyleSheet.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -13,7 +13,17 @@
* TStyleSheet class.
*
* TStyleSheet represents the link to a stylesheet file and/or a piece of
- * stylesheet code. To specify the link to a CSS file, set {@link setStyleSheetUrl StyleSheetUrl}.
+ * stylesheet code. To specify the link to a CSS file, set {@link setStyleSheetUrl
+ * StyleSheetUrl}.
+ * Since Prado 3.3.1, it' possible to import css libraries bundled with
+ * Prado from template via the {@link setPradoStyles PradoStyles} property.
+ * Multiple Prado libraries can be specified using comma delimited string of the
+ * css library to include on the page. For example,
+ *
+ * <code>
+ * <com:TStyleSheet PradoStyles="bootstrap, jquery.ui.progressbar" />
+ * </code>
+ *
* The child rendering result of TStyleSheet is treated as CSS code and
* is rendered within an appropriate style HTML element.
* Therefore, if the child content is not empty, you should place the TStyleSheet
@@ -29,6 +39,29 @@
class TStyleSheet extends TControl
{
/**
+ * @return string comma delimited list of css libraries to include
+ * on the page.
+ * @since 3.3.1
+ */
+ public function getPradoStyles()
+ {
+ return $this->getViewState('PradoStyles', '');
+ }
+
+ /**
+ * Include css library to the current page. The current supported
+ * libraries are: "jquery-ui", "bootstrap" and all the split
+ * jquery.ui.componentname libraries.
+ *
+ * @param string comma delimited list of css libraries to include.
+ * @since 3.3.1
+ */
+ public function setPradoStyles($value)
+ {
+ $this->setViewState('PradoStyles', $value, '');
+ }
+
+ /**
* @param string URL to the stylesheet file
*/
public function setStyleSheetUrl($value)
@@ -67,8 +100,17 @@ class TStyleSheet extends TControl
*/
public function onPreRender($param)
{
+ $cs = $this->getPage()->getClientScript();
+
+ $styles = preg_split('/,|\s+/', $this->getPradoStyles());
+ foreach($styles as $style)
+ {
+ if(($style = trim($style))!=='')
+ $cs->registerPradoStyle($style);
+ }
+
if(($url=$this->getStyleSheetUrl())!=='')
- $this->getPage()->getClientScript()->registerStyleSheetFile($url,$url,$this->getMediaType());
+ $cs->registerStyleSheetFile($url,$url,$this->getMediaType());
}
/**
diff --git a/lib/prado/framework/Web/UI/WebControls/TTabPanel.php b/lib/prado/framework/Web/UI/WebControls/TTabPanel.php
index 29baefd..5a84cfb 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTabPanel.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTabPanel.php
@@ -4,7 +4,7 @@
*
* @author Tomasz Wolny <tomasz.wolny@polecam.to.pl> and Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
* @since 3.1.1
diff --git a/lib/prado/framework/Web/UI/WebControls/TTable.php b/lib/prado/framework/Web/UI/WebControls/TTable.php
index 98dc74e..42f41c3 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTable.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTable.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TTableCell.php b/lib/prado/framework/Web/UI/WebControls/TTableCell.php
index b0398d2..2642e29 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTableCell.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTableCell.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TTableFooterRow.php b/lib/prado/framework/Web/UI/WebControls/TTableFooterRow.php
index c3e8fe9..15d51d3 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTableFooterRow.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTableFooterRow.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TTableHeaderCell.php b/lib/prado/framework/Web/UI/WebControls/TTableHeaderCell.php
index bb2953b..ec42fbc 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTableHeaderCell.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTableHeaderCell.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TTableHeaderRow.php b/lib/prado/framework/Web/UI/WebControls/TTableHeaderRow.php
index 7eaedc3..c2731b5 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTableHeaderRow.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTableHeaderRow.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TTableRow.php b/lib/prado/framework/Web/UI/WebControls/TTableRow.php
index ebbe9df..740dbca 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTableRow.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTableRow.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TTemplateColumn.php b/lib/prado/framework/Web/UI/WebControls/TTemplateColumn.php
index b97b61f..283fc92 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTemplateColumn.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTemplateColumn.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TTextBox.php b/lib/prado/framework/Web/UI/WebControls/TTextBox.php
index f3a0c16..2f3ea3e 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTextBox.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTextBox.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
@@ -478,7 +478,7 @@ class TTextBox extends TWebControl implements IPostBackDataHandler, IValidatable
*/
public function setText($value)
{
- $this->setViewState('Text',$value,'');
+ $this->setViewState('Text',TPropertyValue::ensureString($value),'');
$this->_safeText = null;
}
diff --git a/lib/prado/framework/Web/UI/WebControls/TTextHighlighter.php b/lib/prado/framework/Web/UI/WebControls/TTextHighlighter.php
index 6183851..d272549 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTextHighlighter.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTextHighlighter.php
@@ -4,7 +4,7 @@
*
* @author Wei Zhuo<weizhuo[at]gmail[dot]com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TTextProcessor.php b/lib/prado/framework/Web/UI/WebControls/TTextProcessor.php
index c213a96..1962c51 100644
--- a/lib/prado/framework/Web/UI/WebControls/TTextProcessor.php
+++ b/lib/prado/framework/Web/UI/WebControls/TTextProcessor.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TValidationSummary.php b/lib/prado/framework/Web/UI/WebControls/TValidationSummary.php
index 2fbdba7..aa9d08e 100644
--- a/lib/prado/framework/Web/UI/WebControls/TValidationSummary.php
+++ b/lib/prado/framework/Web/UI/WebControls/TValidationSummary.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TWebControl.php b/lib/prado/framework/Web/UI/WebControls/TWebControl.php
index 619cdd9..9ee6b72 100644
--- a/lib/prado/framework/Web/UI/WebControls/TWebControl.php
+++ b/lib/prado/framework/Web/UI/WebControls/TWebControl.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TWebControlAdapter.php b/lib/prado/framework/Web/UI/WebControls/TWebControlAdapter.php
index 50da857..2ec976b 100644
--- a/lib/prado/framework/Web/UI/WebControls/TWebControlAdapter.php
+++ b/lib/prado/framework/Web/UI/WebControls/TWebControlAdapter.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TWebControlDecorator.php b/lib/prado/framework/Web/UI/WebControls/TWebControlDecorator.php
index 07c7836..db918b3 100644
--- a/lib/prado/framework/Web/UI/WebControls/TWebControlDecorator.php
+++ b/lib/prado/framework/Web/UI/WebControls/TWebControlDecorator.php
@@ -4,7 +4,7 @@
*
* @author Brad Anderson <javalizard@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TWizard.php b/lib/prado/framework/Web/UI/WebControls/TWizard.php
index bacb637..d9de183 100644
--- a/lib/prado/framework/Web/UI/WebControls/TWizard.php
+++ b/lib/prado/framework/Web/UI/WebControls/TWizard.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/TWizardNavigationButtonStyle.php b/lib/prado/framework/Web/UI/WebControls/TWizardNavigationButtonStyle.php
index de94fc5..9292276 100644
--- a/lib/prado/framework/Web/UI/WebControls/TWizardNavigationButtonStyle.php
+++ b/lib/prado/framework/Web/UI/WebControls/TWizardNavigationButtonStyle.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id $
* @package System.Web.UI.WebControls
diff --git a/lib/prado/framework/Web/UI/WebControls/TXmlTransform.php b/lib/prado/framework/Web/UI/WebControls/TXmlTransform.php
index e3c206f..b92efff 100644
--- a/lib/prado/framework/Web/UI/WebControls/TXmlTransform.php
+++ b/lib/prado/framework/Web/UI/WebControls/TXmlTransform.php
@@ -5,7 +5,7 @@
* @author Knut Urdalen <knut.urdalen@gmail.com>
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
diff --git a/lib/prado/framework/Web/UI/WebControls/assets/captcha.php b/lib/prado/framework/Web/UI/WebControls/assets/captcha.php
index bc20a57..7c064d9 100644
--- a/lib/prado/framework/Web/UI/WebControls/assets/captcha.php
+++ b/lib/prado/framework/Web/UI/WebControls/assets/captcha.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls.assets
*/
diff --git a/lib/prado/framework/Wsat/TWsatARGenerator.php b/lib/prado/framework/Wsat/TWsatARGenerator.php
index a576b21..5976352 100644
--- a/lib/prado/framework/Wsat/TWsatARGenerator.php
+++ b/lib/prado/framework/Wsat/TWsatARGenerator.php
@@ -3,7 +3,7 @@
/**
* @author Daniel Sampedro Bello <darthdaniel85@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @since 3.3
diff --git a/lib/prado/framework/Wsat/TWsatBaseGenerator.php b/lib/prado/framework/Wsat/TWsatBaseGenerator.php
index a87ea37..673031c 100644
--- a/lib/prado/framework/Wsat/TWsatBaseGenerator.php
+++ b/lib/prado/framework/Wsat/TWsatBaseGenerator.php
@@ -3,7 +3,7 @@
/**
* @author Daniel Sampedro Bello <darthdaniel85@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @since 3.3
diff --git a/lib/prado/framework/Wsat/TWsatScaffoldingGenerator.php b/lib/prado/framework/Wsat/TWsatScaffoldingGenerator.php
index 1490f23..77df216 100644
--- a/lib/prado/framework/Wsat/TWsatScaffoldingGenerator.php
+++ b/lib/prado/framework/Wsat/TWsatScaffoldingGenerator.php
@@ -3,7 +3,7 @@
/**
* @author Daniel Sampedro Bello <darthdaniel85@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @since 4.0
diff --git a/lib/prado/framework/Wsat/TWsatService.php b/lib/prado/framework/Wsat/TWsatService.php
index 0c33a49..5c9c561 100644
--- a/lib/prado/framework/Wsat/TWsatService.php
+++ b/lib/prado/framework/Wsat/TWsatService.php
@@ -3,7 +3,7 @@
/**
* @author Daniel Sampedro Bello <darthdaniel85@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @since 3.3
diff --git a/lib/prado/framework/Wsat/pages/TWsatGenerateAR.php b/lib/prado/framework/Wsat/pages/TWsatGenerateAR.php
index 1677a8e..b5ccf47 100644
--- a/lib/prado/framework/Wsat/pages/TWsatGenerateAR.php
+++ b/lib/prado/framework/Wsat/pages/TWsatGenerateAR.php
@@ -3,7 +3,7 @@
/**
* @author Daniel Sampedro Bello <darthdaniel85@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @since 3.3
diff --git a/lib/prado/framework/Wsat/pages/TWsatHome.php b/lib/prado/framework/Wsat/pages/TWsatHome.php
index 6e1b72d..cb1d266 100644
--- a/lib/prado/framework/Wsat/pages/TWsatHome.php
+++ b/lib/prado/framework/Wsat/pages/TWsatHome.php
@@ -3,7 +3,7 @@
/**
* @author Daniel Sampedro Bello <darthdaniel85@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @since 3.3
diff --git a/lib/prado/framework/Wsat/pages/TWsatLogin.php b/lib/prado/framework/Wsat/pages/TWsatLogin.php
index cfd4d56..bdf2b17 100644
--- a/lib/prado/framework/Wsat/pages/TWsatLogin.php
+++ b/lib/prado/framework/Wsat/pages/TWsatLogin.php
@@ -3,7 +3,7 @@
/**
* @author Daniel Sampedro Bello <darthdaniel85@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @since 3.3
diff --git a/lib/prado/framework/Wsat/pages/TWsatScaffolding.php b/lib/prado/framework/Wsat/pages/TWsatScaffolding.php
index b480174..4d7eff5 100644
--- a/lib/prado/framework/Wsat/pages/TWsatScaffolding.php
+++ b/lib/prado/framework/Wsat/pages/TWsatScaffolding.php
@@ -3,7 +3,7 @@
/**
* @author Daniel Sampedro Bello <darthdaniel85@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @version $Id$
* @since 3.3
diff --git a/lib/prado/framework/Xml/TXmlDocument.php b/lib/prado/framework/Xml/TXmlDocument.php
index 12f480d..92d8961 100644
--- a/lib/prado/framework/Xml/TXmlDocument.php
+++ b/lib/prado/framework/Xml/TXmlDocument.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Xml
*/
@@ -384,7 +384,7 @@ class TXmlDocument extends TXmlElement
return false;
$this->setEncoding($doc->encoding);
- $this->setVersion($doc->version);
+ $this->setVersion($doc->xmlVersion);
$element=$doc->documentElement;
$this->setTagName($element->tagName);
diff --git a/lib/prado/framework/interfaces.php b/lib/prado/framework/interfaces.php
index 0f0257d..f93e049 100644
--- a/lib/prado/framework/interfaces.php
+++ b/lib/prado/framework/interfaces.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
diff --git a/lib/prado/framework/prado.php b/lib/prado/framework/prado.php
index e91b26c..343ab95 100644
--- a/lib/prado/framework/prado.php
+++ b/lib/prado/framework/prado.php
@@ -12,7 +12,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System
*/
diff --git a/lib/prado/framework/pradolite.php b/lib/prado/framework/pradolite.php
index bdbf113..4a6de98 100644
--- a/lib/prado/framework/pradolite.php
+++ b/lib/prado/framework/pradolite.php
@@ -1,7 +1,7 @@
<?php
/**
* File Name: pradolite.php
- * Last Update: 2015/12/07 15:35:09
+ * Last Update: 2016/03/09 11:34:32
* Generated By: buildscripts/phpbuilder/build.php
*
* This file is used in lieu of prado.php to boost PRADO application performance.
@@ -30,6 +30,7 @@ class PradoBase
public static function initErrorHandlers()
{
set_error_handler(array('PradoBase','phpErrorHandler'));
+ register_shutdown_function(array('PradoBase','phpFatalErrorHandler'));
set_exception_handler(array('PradoBase','exceptionHandler'));
}
public static function autoload($className)
@@ -55,6 +56,16 @@ class PradoBase
if(error_reporting() & $errno)
throw new TPhpErrorException($errno,$errstr,$errfile,$errline);
}
+ public static function phpFatalErrorHandler()
+ {
+ $error = error_get_last();
+ if($error &&
+ TPhpErrorException::isFatalError($error) &&
+ error_reporting() & $error['type'])
+ {
+ self::exceptionHandler(new TPhpErrorException($error['type'],$error['message'],$error['file'],$error['line']));
+ }
+ }
public static function exceptionHandler($exception)
{
if(self::$_application!==null && ($errorHandler=self::$_application->getErrorHandler())!==null)
@@ -696,7 +707,12 @@ class TErrorHandler extends TModule
$trace=$exception->getTrace();
$result=null;
if($exception instanceof TPhpErrorException)
- $result=isset($trace[0]['file'])?$trace[0]:$trace[1];
+ {
+ if(isset($trace[0]['file']))
+ $result=$trace[0];
+ elseif(isset($trace[1]))
+ $result=$trace[1];
+ }
else if($exception instanceof TInvalidOperationException)
{
if(($result=$this->getPropertyAccessTrace($trace,'__get'))===null)
@@ -738,7 +754,7 @@ class TErrorHandler extends TModule
private function addLink($message)
{
$baseUrl='http://pradosoft.github.io/docs/manual/class-';
- return preg_replace('/\b(T[A-Z]\w+)\b/',"<a href=\"$baseUrl/\${1}\" target=\"_blank\">\${1}</a>",$message);
+ return preg_replace('/\b(T[A-Z]\w+)\b/',"<a href=\"$baseUrl\${1}\" target=\"_blank\">\${1}</a>",$message);
}
}
class TList extends TComponent implements IteratorAggregate,ArrayAccess,Countable
@@ -927,37 +943,8 @@ class TList extends TComponent implements IteratorAggregate,ArrayAccess,Countabl
$this->removeAt($offset);
}
}
-class TListIterator implements Iterator
+class TListIterator extends ArrayIterator
{
- private $_d;
- private $_i;
- private $_c;
- public function __construct(&$data)
- {
- $this->_d=&$data;
- $this->_i=0;
- $this->_c=count($this->_d);
- }
- public function rewind()
- {
- $this->_i=0;
- }
- public function key()
- {
- return $this->_i;
- }
- public function current()
- {
- return $this->_d[$this->_i];
- }
- public function next()
- {
- $this->_i++;
- }
- public function valid()
- {
- return $this->_i<$this->_c;
- }
}
abstract class TCache extends TModule implements ICache, ArrayAccess
{
@@ -1604,6 +1591,14 @@ class TMap extends TComponent implements IteratorAggregate,ArrayAccess,Countable
{
private $_d=array();
private $_r=false;
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_d===array())
+ $exprops[] = "\0TMap\0_d";
+ if ($this->_r===false)
+ $exprops[] = "\0TMap\0_r";
+ }
public function __construct($data=null,$readOnly=false)
{
if($data!==null)
@@ -1713,36 +1708,8 @@ class TMap extends TComponent implements IteratorAggregate,ArrayAccess,Countable
$this->remove($offset);
}
}
-class TMapIterator implements Iterator
+class TMapIterator extends ArrayIterator
{
- private $_d;
- private $_keys;
- private $_key;
- public function __construct(&$data)
- {
- $this->_d=&$data;
- $this->_keys=array_keys($data);
- }
- public function rewind()
- {
- $this->_key=reset($this->_keys);
- }
- public function key()
- {
- return $this->_key;
- }
- public function current()
- {
- return $this->_d[$this->_key];
- }
- public function next()
- {
- $this->_key=next($this->_keys);
- }
- public function valid()
- {
- return $this->_key!==false;
- }
}
class TPriorityMap extends TMap
{
@@ -2321,7 +2288,7 @@ class TXmlDocument extends TXmlElement
if($doc->loadXML($string)===false)
return false;
$this->setEncoding($doc->encoding);
- $this->setVersion($doc->version);
+ $this->setVersion($doc->xmlVersion);
$element=$doc->documentElement;
$this->setTagName($element->tagName);
$this->setValue($element->nodeValue);
@@ -3424,7 +3391,7 @@ class THttpRequest extends TApplicationComponent implements IteratorAggregate,Ar
}
public function getIterator()
{
- return new TMapIterator($this->_items);
+ return new ArrayIterator($this->_items);
}
public function getCount()
{
@@ -4410,6 +4377,12 @@ Prado::using('System.Web.UI.WebControls.*');
class TAttributeCollection extends TMap
{
private $_caseSensitive=false;
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_caseSensitive===false)
+ $exprops[] = "\0TAttributeCollection\0_caseSensitive";
+ }
public function __get($name)
{
return $this->contains($name)?$this->itemAt($name):parent::__get($name);
@@ -4845,13 +4818,19 @@ class TControl extends TApplicationComponent implements IRenderable, IBindable
{
if($this->_trackViewState)
{
- $this->_viewState[$key]=$value;
unset($this->_tempState[$key]);
+ if($value===$defaultValue)
+ unset($this->_viewState[$key]);
+ else
+ $this->_viewState[$key]=$value;
}
else
{
unset($this->_viewState[$key]);
- $this->_tempState[$key]=$value;
+ if($value===$defaultValue)
+ unset($this->_tempState[$key]);
+ else
+ $this->_tempState[$key]=$value;
}
}
public function clearViewState($key)
@@ -5369,7 +5348,10 @@ class TControl extends TApplicationComponent implements IRenderable, IBindable
foreach($this->_rf[self::RF_CONTROLS] as $control)
{
if($control instanceof TControl)
- $state[$control->_id]=&$control->saveStateRecursive($needViewState);
+ {
+ if(count($tmp = &$control->saveStateRecursive($needViewState)))
+ $state[$control->_id]=$tmp;
+ }
}
}
if($needViewState && !empty($this->_viewState))
@@ -5658,6 +5640,16 @@ class TFont extends TComponent
private $_flags=0;
private $_name='';
private $_size='';
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_flags===0)
+ $exprops[] = "\0TFont\0_flags";
+ if ($this->_name==='')
+ $exprops[] = "\0TFont\0_name";
+ if ($this->_size==='')
+ $exprops[] = "\0TFont\0_size";
+ }
public function getBold()
{
return ($this->_flags & self::IS_BOLD)!==0;
@@ -5840,6 +5832,20 @@ class TStyle extends TComponent
private $_class=null;
private $_customStyle=null;
private $_displayStyle='Fixed';
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_fields===array())
+ $exprops[] = "\0TStyle\0_fields";
+ if($this->_font===null)
+ $exprops[] = "\0TStyle\0_font";
+ if($this->_class===null)
+ $exprops[] = "\0TStyle\0_class";
+ if ($this->_customStyle===null)
+ $exprops[] = "\0TStyle\0_customStyle";
+ if ($this->_displayStyle==='Fixed')
+ $exprops[] = "\0TStyle\0_displayStyle";
+ }
public function __construct($style=null)
{
if($style!==null)
@@ -6062,6 +6068,22 @@ class TTableStyle extends TStyle
private $_cellSpacing=null;
private $_gridLines=null;
private $_borderCollapse=null;
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_backImageUrl===null)
+ $exprops[] = "\0TTableStyle\0_backImageUrl";
+ if ($this->_horizontalAlign===null)
+ $exprops[] = "\0TTableStyle\0_horizontalAlign";
+ if ($this->_cellPadding===null)
+ $exprops[] = "\0TTableStyle\0_cellPadding";
+ if ($this->_cellSpacing===null)
+ $exprops[] = "\0TTableStyle\0_cellSpacing";
+ if ($this->_gridLines===null)
+ $exprops[] = "\0TTableStyle\0_gridLines";
+ if ($this->_borderCollapse===null)
+ $exprops[] = "\0TTableStyle\0_borderCollapse";
+ }
public function reset()
{
$this->_backImageUrl=null;
@@ -6185,6 +6207,16 @@ class TTableItemStyle extends TStyle
private $_horizontalAlign=null;
private $_verticalAlign=null;
private $_wrap=null;
+ protected function _getZappableSleepProps(&$exprops)
+ {
+ parent::_getZappableSleepProps($exprops);
+ if ($this->_horizontalAlign===null)
+ $exprops[] = "\0TTableItemStyle\0_horizontalAlign";
+ if ($this->_verticalAlign===null)
+ $exprops[] = "\0TTableItemStyle\0_verticalAlign";
+ if ($this->_wrap===null)
+ $exprops[] = "\0TTableItemStyle\0_wrap";
+ }
public function reset()
{
parent::reset();
@@ -7172,9 +7204,9 @@ class TClientScriptManager extends TApplicationComponent
public function getStyleSheetUrls()
{
$stylesheets = array_values(
- array_map(
- create_function('$e', 'return is_array($e) ? $e[0] : $e;'),
- $this->_styleSheetFiles)
+ array_map(function($e) {
+ return is_array($e) ? $e[0] : $e;
+ }, $this->_styleSheetFiles)
);
foreach(Prado::getApplication()->getAssetManager()->getPublished() as $path=>$url)
if (substr($url,strlen($url)-4)=='.css')
@@ -7535,6 +7567,7 @@ class TPage extends TTemplateControl
protected function processCallbackRequest($writer)
{
Prado::using('System.Web.UI.ActiveControls.TActivePageAdapter');
+ Prado::using('System.Web.UI.JuiControls.TJuiControlOptions');
$this->setAdapter(new TActivePageAdapter($this));
$callbackEventParameter = $this->getRequest()->itemAt(TPage::FIELD_CALLBACK_PARAMETER);
if(strlen($callbackEventParameter) > 0)
diff --git a/lib/prado/requirements/index.php b/lib/prado/requirements/index.php
index 85bb160..f25a709 100644
--- a/lib/prado/requirements/index.php
+++ b/lib/prado/requirements/index.php
@@ -4,7 +4,7 @@
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
- * @copyright Copyright &copy; 2005-2015 The PRADO Group
+ * @copyright Copyright &copy; 2005-2016 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package prado
*/