Download Yii PHP Framework 1.1.16

Spread the love

Yii is a component based PHP framework, with very good performance according to the developers, which makes it particularly suitable for developing large-scale web applications. The framework contains many options, such as mvc, dao/ActiveRecord, I18N/L10N, caching, jQuery-based AJAX support, scaffolding, input validation, widgets, events and theming. For more information, please refer to this page. The developers have released version 1.1.16 with the following changes and improvements:

New

  • #2955: Added official support for MariaDB

Enhanced

  • Public method CFileHelper::createDirectory() has been added
  • Added proper handling and support of the symlinked directories in CFileHelper::removeDirectory(), added $options parameter in CFileHelper::removeDirectory()
  • #89: Support for SOAP headers in WSDL generator
  • #94: Web services: Implement document/literal encoding for WDSL
  • #106: Added getters to CGridColumn to allow getting cell contents for extended use cases of CGridView
  • #132: Added ODBC support in CDbConnection
  • #182: CSort: allow arrays in asc/desc keys of virtual attributes
  • #640: Introduce bigpk and bigint column types in each class extending CDbSchema
  • #873: CStatRelation (CActiveRecord::STAT) now supports scopes
  • #1372: CDbCommandBuilder::createMultipleInsertCommand() now throws exception if data array is empty
  • #1515: Post-JOIN operations (use|force|ignore index()) support in relational queries
  • #1593: Allow access to exception currently processed by CErrorHandler
  • #1893: Added Schema and native connection support for the CUBRID DBMS (
  • #2119: add `y` pattern to CDateTimeParser
  • #2540: Enable CJSON to use JsonSerializable interface when serializing objects
  • #2630: CLinkPager $nextPageLabel, $prevPageLabel, $firstPageLabel and $lastPageLabel can now be false to disable the buttons
  • #2640: Enable diff on gii generated SQL files
  • #2664: Added support for HTTP PATCH requests to CHttpRequest
  • #2683: Application views generated by webapp command are now using HTML5 by default
  • #2688: CHtml::beginForm() now supports additional HTTP methods, via a hidden `_method` field.
  • #2722: CFileHelper::findFiles() accepts absolutePaths in $options and returns absolute paths if true or relative ones otherwise (defaults to true)
  • #2734: Request::getPreferredLanguage() is now able to select a best matching between supported and requested languages
  • #2737: CFileCache: added cachePathMode and cacheFileMode options to set modes used by chmod() for cache directory and files
  • #2758: Updated phpdoc in blog demo to match current IDE supported syntax
  • #2777: Allow Yii::import() and Yii::createComponent() to import classes that are loaded by other autoloaders eg composer
  • #2791: requirements/index.php: added CRYPT_BLOWFISH check for CPasswordHelper
  • #2799: Add HTML5 input support for color, datetime, datetime-local, week and search to CHtml and CActiveForm
  • #2817: Allow specifying $colums and $refColumns arguments as array in various CDbSchema methods
  • #2850: Parameter ‘id’ added for ‘ajaxUpdateError’ js function at ‘CListView’ and ‘CGridView’
  • #2851: Improved Mime-Type detection by using the `mime.types` file from apache http project to dected mime types by file extension
  • #2852: Refactored ShellCommand to be easier to extend
  • #2908: Add insertMultiple to Migrations
  • #3014: Allow changing the database used by ActiveRecord in beforeCount() like it is possible in beforeFind() already
  • #3023: Added support for formatting DateTime instances to CFormatter
  • #3027: Added custom encodeLabel attributes of the CMenu items
  • #3048: CApcCache is now compatible with APCu
  • #3049: ‘cli’ mode detection at CConsoleApplication improved
  • #3061: ‘jquery.yiiGridView’ and ‘jquery.yiiListView’ allows to handle all update options via history state data
  • #3068: Added CDbCommand::naturalLeftJoin() and CDbCommand::naturalRightJoin()
  • #3115: Updated phpdoc for better code completion in modern IDEs
  • #3147: Updated Request::getIsSecureConnection() to work with lower and uppercase config values
  • #3156: It is now possible to override the models PK using primaryKey() method, even if the table defines one
  • #3182: Added namespace support for controllers in subdirectories
  • #3202: Adding support for the `X-HTTP-Method-Override` header in CHttpRequest
  • #3211: Added support for PHPUnit 3.8+ in the bootstrap
  • #3222: ‘summaryTagName’ and ’emptyCssClass’ options added to CBaseListView
  • #3225: Added CForm::errorSummaryHeader and CForm::errorSummaryFooter, used like in CActiveForm::errorSummary()
  • #3228: Added an ability to migrate to the certain time
  • #3277: CHtml::checkBoxList and radioButtonList to take into account closeSingleTag for
  • #3307: Adding attribute localeClass to CApplication
  • #3314: Removed async from special attribute list enabling async=false for scripts
  • #3324: Added syslog log route
  • #3346: Added `fileHeader` option to MessageCommand
  • #3349: Added errorCallback to CActiveForm::$clientOptions
  • #3351: Allow array attribute for CFileValidator even if `maxFiles` is not > 1
  • #3359: Added merge parameter to CModule::setModules
  • #3391: Exception and log for not existed ClientScript package
  • #3500: Framework now responds with HTTP protocol version requested
  • #3513: Added ‘getExtensionByMimeType’ method to CFileHelper class
  • #3533: Added Yii and YiiBase classes to composer autoloader
  • #3571: Extracted rendering of data cell in CGridView.renderTableRow() to separate method for extensibility
  • #3623: `itemscope` attribute is now rendered as HTML5 boolean

Changed

  • #2025: Upgraded jQuery to 1.11.1
  • #3042: CPasswordHelper::generateSalt() now returns salt with $2y$ cost
  • #3137: Upgraded HTMLPurifier to 4.6.0
  • #3298: ListView and GridView: Added check for the existence of a href attribute in link pager
  • #3464: Updated multifile plugin used by CMultiFileUpload to version 1.48
  • #3636: Upgraded jQuery UI to 1.11.2
  • Updated the i18n data bundled with the framework to CLDR23.1 < this adds new locales and has many fixes and additional data for existing ones

Bug fixed

  • #264: Fixed wrong timestamp precision value in postgres schema
  • #268: Fixed Active Record count error when some field name starting from ‘count’
  • #788: createIndex is not using the recommended way to create unique indexes on Postgres
  • #1257: CFileValidator is no longer unsafe by default to prevent setting arbitrary values. Instead, when no file is uploaded attribute is set to null
  • #1635: CDateFormatter::format() with ‘ZZZZZ’ pattern used to return timezone in RFC 822 format, now returns in ISO 8601 format as it stated in CLDR
  • #2235: CPgsqlColumnSchema can’t parse default value for numeric field
  • #2376: CHttpSession::regenerateID() now checks if session is started before regenerating session ID
  • #2378: CActiveRecord::tableName() in namespaced model returned fully qualified class name
  • #2519: CGridView and CListView fixed to be able handling special characters if history is enabled
  • #2594: CLogRouter::processLogs() now ensures to clear the Logger messages so nothing is logged twice when method is called multiple times
  • #2654: Allow CDbCommand to compose queries without ‘from’ clause
  • #2658: CBaseListView, CGridView, CListView: added note about $itemsCssClass and $pagerCssClass properties, they must not contain empty string, null or false values
  • #2969: CPgsqlSchema::addColumn() converts column type twice
  • #2741: Updated CHtml to add maxlength support to all HTML5 fields
  • #2753: Fixed CErrorHandler::errorAction ignored if error occurs while AJAX request
  • #2756: Fixed applying condition twice during Active Record relation lazy loading
  • #2770: Fixed CClientScript renders scripts with different HTML options inside same tag
  • #2778: Fixed throwing unnecessary exception in CFileValidator when validating MIME types for a file upload that failed
  • #2785: Use table name with schema in composeMultipleInsertCommand
  • #2836: Fixed rendering when try-catching widget Exception while ‘captureOutput’ is set to true
  • #2845: Fixed 1.1.14 regression affecting non-strict comparison in `CRangeValidator` validator
  • #2855: Fixed issue with Component::__call() and normal properties holding a Closure
  • #2862: Fixed array_merge caused renumbering of $data indexes in CHtml::radioButtonList()
  • #2864: Fixed CGridView ajax calls failing CSRF validation when ajaxType is set to POST
  • #2874: Fixed duplicate columns selection for HAS_MANY relation with composite primary key
  • #2876: Fixed single quotes in comments column causes syntax error in model code generated by Gii(klimov-paul)
  • #2884: Fixed problem with table alias in CActiveRecord that has been introduced in 1.1.14
  • #2887: Fixed CFormElement is missing __isset()
  • #2912: Add options parameter to CListView beforeAjaxUpdate
  • #2917: Restored ability to overwrite module alias via application config which was broken in 1.1.14
  • #2944: Fixed CDbCriteria fails to merge limit when it is 0
  • #2945: Fixed CUrlRule escapes dot (.) symbol on parsing
  • #2959: Fixed CFileValidator to encode file name, while composing error messages
  • #2963: CASsetManager::generatePath no longer uses basename for hasing
  • #2970: Fixed Active Record may join same relation twice on eager loading.
  • #3010: Problem with callables given as values ​​to CDetailView. CDetailView now only allows annonymous functions to be called, all other values ​​will be taken as value
  • #3064: Fixed problem with array to string converion in CDbMigration methods that accept array parameters
  • #3055: CAction::runWithParams() now returns consistent result even if called without parameters
  • #3087: Fixed crash on cookie validation when switching between enabling and disabling validation
  • #3113: Fixed problems with realpath(false) which can occur in combination with Yii::getPathOfAlias() when alias does not exist
  • #3134: Fixed the issue that query cache returns the same data for the same SQL but different query methods
  • #3144: It wasn’t possible to use attributes with spaces in validation rules
  • #3179: Fixed a bug with CBreadcrumbs widget and homelink that did not use activeLinkTemplate property
  • #3206: Quote table names in CDbMessageSource::loadMessagesFromDb
  • #3233: Gii now allows base classes with absolute namespace as well, not only relative ones
  • #3242: Removed display:none on form hidden fields
  • #3283: Fixed CEmailValidator to validate empty value
  • #3288: Check if PHPUnit_Runner_Version exists before requiring
  • #3302: CActiveForm::error() fixed to respect ‘hideErrorMessage’ option on regular render
  • #3305: COciSchema column comment reading from another schema
  • #3321: Clear stat cache after rotating log files so later file size check is not cached
  • #3327: Gii did not generate empty directories properly
  • #3406: Fixed Object of class Imagick could not be converted to string
  • #3410: Fixed wrong translation parameter name in CPhpAuthManager::addItemChild()
  • #3569: CConsoleCommand::copyFiles() did not replace DIRECTORY_SEPARATOR correctly
  • #3582: make sure `build autoload` produces the same output on both Windows and Unix platforms
  • Fixed the bug that backslashes are not escaped by CDbCommandBuilder::buildSearchCondition()
  • Fixed URL parsing so it’s now properly giving 404 for URLs like “
  • Fixed an issue with CFilehelper and not accessible directories which resulted in endless loop
  • CSecurityManager encryption and string comparison were enhanced

Version number 1.1.16
Release status Final
Operating systems script language
Website Yii PHP Framework
Download
License type Conditions (GNU/BSD/etc.)
You might also like
Exit mobile version