Permalink
Browse files

Merge branch 'master' into 89-soap-header

  • Loading branch information...
2 parents 3619ae3 + 9a1eac1 commit 0904589a5e467f536ead082f0d62d3903dfe36fd Jan Was committed Jan 30, 2014
Showing with 12,766 additions and 5,454 deletions.
  1. +1 −0 .travis.yml
  2. +63 −0 CHANGELOG
  3. +7 −0 UPGRADE
  4. +1 −1 build/commands/api/ApiModel.php
  5. +12 −13 demos/blog/protected/models/Comment.php
  6. +11 −13 demos/blog/protected/models/Lookup.php
  7. +12 −13 demos/blog/protected/models/Post.php
  8. +7 −9 demos/blog/protected/models/Tag.php
  9. +9 −10 demos/blog/protected/models/User.php
  10. +1 −1 docs/blog/ru/comment.admin.txt
  11. +1 −1 docs/blog/ru/final.future.txt
  12. +2 −2 docs/blog/ru/post.admin.txt
  13. +1 −1 docs/guide/basics.application.txt
  14. +6 −6 docs/guide/caching.data.txt
  15. +1 −1 docs/guide/caching.overview.txt
  16. +5 −0 docs/guide/changes.txt
  17. +1 −0 docs/guide/database.ar.txt
  18. +141 −2 docs/guide/database.arr.txt
  19. +1 −1 docs/guide/database.dao.txt
  20. +3 −2 docs/guide/database.migration.txt
  21. +1 −1 docs/guide/de/quickstart.apache-nginx-config.txt
  22. +38 −0 docs/guide/extension.integration.txt
  23. +31 −38 docs/guide/fr/basics.application.txt
  24. +20 −20 docs/guide/fr/basics.best-practices.txt
  25. +46 −43 docs/guide/fr/basics.component.txt
  26. +71 −71 docs/guide/fr/basics.controller.txt
  27. +13 −17 docs/guide/fr/basics.convention.txt
  28. +4 −4 docs/guide/fr/basics.model.txt
  29. +25 −25 docs/guide/fr/basics.module.txt
  30. +26 −31 docs/guide/fr/basics.mvc.txt
  31. +7 −6 docs/guide/fr/basics.namespace.txt
  32. +29 −29 docs/guide/fr/basics.view.txt
  33. +30 −44 docs/guide/fr/caching.overview.txt
  34. +13 −14 docs/guide/fr/caching.page.txt
  35. +57 −58 docs/guide/fr/database.ar.txt
  36. +50 −50 docs/guide/fr/database.dao.txt
  37. +1 −1 docs/guide/fr/database.overview.txt
  38. +21 −20 docs/guide/fr/form.action.txt
  39. +76 −75 docs/guide/fr/form.model.txt
  40. +12 −12 docs/guide/fr/form.table.txt
  41. +14 −17 docs/guide/fr/form.view.txt
  42. +2 −2 docs/guide/fr/index.txt
  43. +219 −248 docs/guide/fr/quickstart.first-app.txt
  44. +3 −3 docs/guide/fr/quickstart.installation.txt
  45. +8 −10 docs/guide/fr/quickstart.what-is-yii.txt
  46. +1 −1 docs/guide/ja/basics.application.txt
  47. +6 −8 docs/guide/ja/caching.data.txt
  48. +6 −6 docs/guide/ja/caching.overview.txt
  49. +1 −0 docs/guide/ja/database.ar.txt
  50. +1 −1 docs/guide/ja/database.dao.txt
  51. +4 −1 docs/guide/ja/database.migration.txt
  52. +37 −0 docs/guide/ja/extension.integration.txt
  53. +7 −10 docs/guide/ja/topics.auth.txt
  54. +1 −1 docs/guide/quickstart.what-is-yii.txt
  55. +1 −1 docs/guide/ru/basics.application.txt
  56. +1 −1 docs/guide/ru/basics.workflow.txt
  57. +2 −2 docs/guide/ru/caching.data.txt
  58. +1 −0 docs/guide/ru/database.ar.txt
  59. +1 −1 docs/guide/ru/database.dao.txt
  60. +3 −2 docs/guide/ru/database.migration.txt
  61. +1 −1 docs/guide/ru/database.overview.txt
  62. +43 −0 docs/guide/ru/extension.integration.txt
  63. +1 −1 docs/guide/ru/test.fixture.txt
  64. +5 −7 docs/guide/ru/topics.auth.txt
  65. +1 −1 docs/guide/test.fixture.txt
  66. +2 −8 docs/guide/topics.auth.txt
  67. +1 −1 docs/guide/uk/basics.application.txt
  68. +1 −1 docs/guide/uk/basics.convention.txt
  69. +2 −2 docs/guide/uk/caching.overview.txt
  70. +1 −0 docs/guide/uk/database.ar.txt
  71. +1 −1 docs/guide/uk/database.arr.txt
  72. +1 −1 docs/guide/uk/database.dao.txt
  73. +76 −29 docs/guide/uk/database.migration.txt
  74. +71 −10 docs/guide/uk/extension.integration.txt
  75. +2 −2 docs/guide/uk/form.model.txt
  76. +1 −1 docs/guide/uk/quickstart.first-app-yiic.txt
  77. +35 −11 docs/guide/uk/test.functional.txt
  78. +93 −36 docs/guide/uk/topics.auth.txt
  79. +3 −3 docs/guide/zh_cn/basics.component.txt
  80. +7 −2 framework/YiiBase.php
  81. +2 −2 framework/base/CApplication.php
  82. +2 −2 framework/base/CComponent.php
  83. +54 −22 framework/base/CErrorHandler.php
  84. +1 −1 framework/base/CModel.php
  85. +1 −1 framework/base/interfaces.php
  86. +3 −0 framework/caching/CApcCache.php
  87. +24 −3 framework/caching/CFileCache.php
  88. +2 −2 framework/cli/commands/MigrateCommand.php
  89. +25 −5 framework/cli/commands/ShellCommand.php
  90. +58 −29 framework/db/CDbCommand.php
  91. +4 −4 framework/db/CDbConnection.php
  92. +29 −10 framework/db/CDbMigration.php
  93. +28 −7 framework/db/ar/CActiveFinder.php
  94. +43 −22 framework/db/ar/CActiveRecord.php
  95. +1 −1 framework/db/ar/CActiveRecordBehavior.php
  96. +3 −3 framework/db/schema/CDbCommandBuilder.php
  97. +8 −8 framework/db/schema/CDbCriteria.php
  98. +25 −21 framework/db/schema/CDbSchema.php
  99. +2 −2 framework/db/schema/mssql/CMssqlCommandBuilder.php
  100. +2 −0 framework/db/schema/mssql/CMssqlSchema.php
  101. +15 −0 framework/db/schema/mysql/CMysqlCommandBuilder.php
  102. +2 −0 framework/db/schema/mysql/CMysqlSchema.php
  103. +0 −1 framework/db/schema/oci/COciCommandBuilder.php
  104. +2 −0 framework/db/schema/oci/COciSchema.php
  105. +2 −2 framework/db/schema/pgsql/CPgsqlColumnSchema.php
  106. +39 −1 framework/db/schema/pgsql/CPgsqlSchema.php
  107. +2 −0 framework/db/schema/sqlite/CSqliteSchema.php
  108. +1 −1 framework/gii/components/Pear/Text/Diff.php
  109. +1 −1 framework/gii/components/Pear/Text/Diff/Mapped.php
  110. +2 −2 framework/gii/generators/model/ModelCode.php
  111. +1 −1 framework/gii/generators/model/templates/default/model.php
  112. +1 −1 framework/i18n/CGettextMessageSource.php
  113. +2 −2 framework/i18n/CLocale.php
  114. +1 −1 framework/messages/config.php
  115. +282 −0 framework/messages/da/yii.php
  116. +41 −0 framework/messages/da/zii.php
  117. +42 −42 framework/messages/fr/yii.php
  118. +1 −2 framework/messages/ja/yii.php
  119. +1 −1 framework/messages/lv/yii.php
  120. +7 −7 framework/messages/nl/yii.php
  121. +36 −0 framework/messages/no/zii.php
  122. +22 −14 framework/utils/CFileHelper.php
  123. +4 −1 framework/utils/CFormatter.php
  124. +1 −1 framework/utils/CLocalizedFormatter.php
  125. +24 −16 framework/validators/CFileValidator.php
  126. +1 −1 framework/validators/CValidator.php
  127. +1 −1 framework/vendors/README.html
  128. +7,917 −3,671 framework/vendors/htmlpurifier/HTMLPurifier.standalone.php
  129. +8 −3 framework/vendors/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Interchange.php
  130. +68 −22 framework/vendors/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/InterchangeBuilder.php
  131. +66 −24 framework/vendors/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Validator.php
  132. +86 −22 framework/vendors/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/ValidatorAtom.php
  133. BIN framework/vendors/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema.ser
  134. +16 −0 ...vendors/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt
  135. +4 −2 ...k/vendors/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt
  136. +1 −1 framework/vendors/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt
  137. +41 −49 framework/vendors/htmlpurifier/standalone/HTMLPurifier/Language/messages/en.php
  138. +88 −46 framework/vendors/htmlpurifier/standalone/HTMLPurifier/Printer.php
  139. +9 −3 framework/vendors/htmlpurifier/standalone/HTMLPurifier/Printer/CSSDefinition.php
  140. +168 −89 framework/vendors/htmlpurifier/standalone/HTMLPurifier/Printer/ConfigForm.php
  141. +133 −81 framework/vendors/htmlpurifier/standalone/HTMLPurifier/Printer/HTMLDefinition.php
  142. +37 −0 framework/views/da/error.php
  143. +33 −0 framework/views/da/error400.php
  144. +32 −0 framework/views/da/error403.php
  145. +33 −0 framework/views/da/error404.php
  146. +35 −0 framework/views/da/error500.php
  147. +31 −0 framework/views/da/error503.php
  148. +242 −0 framework/views/da/exception.php
  149. +23 −0 framework/views/da/log-firebug.php
  150. +40 −0 framework/views/da/log.php
  151. +19 −0 framework/views/da/profile-callstack-firebug.php
  152. +30 −0 framework/views/da/profile-callstack.php
  153. +22 −0 framework/views/da/profile-summary-firebug.php
  154. +41 −0 framework/views/da/profile-summary.php
  155. +5 −5 framework/web/CAssetManager.php
  156. +10 −2 framework/web/CBaseController.php
  157. +11 −10 framework/web/CClientScript.php
  158. +66 −8 framework/web/CHttpRequest.php
  159. +3 −3 framework/web/CSort.php
  160. +1 −0 framework/web/CUrlManager.php
  161. +1 −1 framework/web/CWebApplication.php
  162. +1 −1 framework/web/actions/CViewAction.php
  163. +21 −0 framework/web/form/CFormElement.php
  164. +16 −4 framework/web/form/CFormInputElement.php
  165. +201 −4 framework/web/helpers/CHtml.php
  166. +9 −1 framework/web/helpers/CJSON.php
  167. +3 −3 framework/web/services/CWsdlGenerator.php
  168. +69 −5 framework/web/widgets/CActiveForm.php
  169. +1 −1 framework/web/widgets/CHtmlPurifier.php
  170. +2 −2 framework/web/widgets/captcha/CCaptchaAction.php
  171. +4 −0 framework/zii/widgets/CBaseListView.php
  172. +4 −2 framework/zii/widgets/CDetailView.php
  173. +1 −1 framework/zii/widgets/CListView.php
  174. +6 −3 framework/zii/widgets/CMenu.php
  175. +8 −0 framework/zii/widgets/assets/gridview/jquery.yiigridview.js
  176. +1 −1 framework/zii/widgets/assets/listview/jquery.yiilistview.js
  177. +7 −5 framework/zii/widgets/grid/CButtonColumn.php
  178. +15 −19 framework/zii/widgets/grid/CCheckBoxColumn.php
  179. +22 −17 framework/zii/widgets/grid/CDataColumn.php
  180. +60 −11 framework/zii/widgets/grid/CGridColumn.php
  181. +9 −3 framework/zii/widgets/grid/CGridView.php
  182. +5 −3 framework/zii/widgets/grid/CLinkColumn.php
  183. +1 −1 framework/zii/widgets/jui/CJuiTabs.php
  184. +6 −0 requirements/index.php
  185. +1 −1 requirements/messages/config.php
  186. +61 −0 requirements/messages/da/yii.php
  187. +2 −0 requirements/messages/ja/yii.php
  188. +77 −0 requirements/views/da/index.php
  189. +93 −4 tests/framework/caching/CFileCacheTest.php
  190. +10 −0 tests/framework/db/CDbCommand2Test.php
  191. +77 −0 tests/framework/db/ar/CActiveRecordTest.php
  192. +7 −0 tests/framework/db/data/models-namespaced.php
  193. +53 −0 tests/framework/db/data/models.php
  194. +4 −3 tests/framework/db/data/sqlite.sql
  195. +13 −1 tests/framework/db/schema/CMysql2Test.php
  196. +35 −2 tests/framework/db/schema/CPostgres2Test.php
  197. +1 −1 tests/framework/db/schema/CSqliteTest.php
  198. +33 −0 tests/framework/utils/CFileHelperTest.php
  199. +17 −0 tests/framework/validators/CFileValidatorTest.php
  200. +1 −0 tests/framework/validators/CStringValidatorTest.php
  201. +4 −0 tests/framework/validators/ValidatorTestModel.php
  202. +62 −0 tests/framework/web/CClientScriptTest.php
  203. +27 −1 tests/framework/web/CSortTest.php
  204. +21 −0 tests/framework/web/helpers/CJSONTest.php
View
@@ -8,6 +8,7 @@ php:
services:
- redis-server
+ - memcached
before_script:
- ./tests/travis/mysql-setup.sh
View
@@ -1,9 +1,72 @@
Yii Framework Change Log
========================
+Work in progress
+----------------
Version 1.1.15 under development
--------------------------------
+- Bug #268: Fixed Active Record count error when some field name starting from 'count' (nineinchnick)
+- Bug #788: createIndex is not using the recommended way to create unique indexes on Postgres (nineinchnick)
+- Bug #2235: CPgsqlColumnSchema can't parse default value for numeric field (cebe, pavimus)
+- Bug #2378: CActiveRecord::tableName() in namespaced model returned fully qualified class name (velosipedist, cebe)
+- Bug #2654: Allow CDbCommand to compose queries without 'from' clause (klimov-paul)
+- Bug #2658: CBaseListView, CGridView, CListView: added note about $itemsCssClass and $pagerCssClass properties, they must not contain empty string, null or false values (resurtm)
+- Bug #2969: CPgsqlSchema::addColumn() converts column type twice (cebe, klimov-paul)
+- Bug #2753: Fixed CErrorHandler::errorAction ignored if error occurs while AJAX request (klimov-paul)
- Bug #2756: Fixed applying condition twice during Active Record relation lazy loading (klimov-paul)
+- Bug #2770: Fixed CClientScript renders scripts with different HTML options inside same tag (klimov-paul)
+- Bug #2778: Fixed throwing unnecessary exception in CFileValidator when validating MIME types for a file upload that failed (Rupert-RR)
+- Bug #2785: Use table name with schema in composeMultipleInsertCommand (nineinchnick)
+- Bug #2836: Fixed rendering when try-catching widget Exception while 'captureOutput' is set to true (darkheir)
+- Bug #2855: Fixed issue with Component::__call() and normal properties holding a Closure (cebe)
+- Bug #2862: Fixed array_merge caused renumbering of $data indexes in CHtml::radioButtonList() (ligser)
+- Bug #2864: Fixed CGridView ajax calls failing CSRF validation when ajaxType is set to POST (nineinchnick)
+- Bug #2874: Fixed duplicate columns selection for HAS_MANY relation with composite primary key (borro)
+- Bug #2876: Fixed single quotes in comments column causes syntax error in model code generated by Gii(klimov-paul)
+- Bug #2884: Fixed problem with table alias in CActiveRecord that has been introduced in 1.1.14 (cebe)
+- Bug #2887: Fixed CFormElement is missing __isset() (bijibox)
+- Bug #2912: Add options parameter to CListView beforeAjaxUpdate (spikyjt)
+- Bug #2944: Fixed CDbCriteria fails to merge limit when it is 0 (softark)
+- Bug #2959: Fixed CFileValidator to encode file name, while composing error messages (klimov-paul)
+- Bug #2963: CAssetManager::generatePath no longer uses basename for hasing (eirikhm)
+- Bug #2970: Fixed Active Record may join same relation twice on eager loading. (klimov-paul)
+- Bug #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 (cebe)
+- Bug #3064: Fixed problem with array to string converion in CDbMigration methods that accept array parameters (cebe)
+- Bug #3113: Fixed problems with realpath(false) which can occur in combination with Yii::getPathOfAlias() when alias does not exist (cebe)
+- Bug #3134: Fixed the issue that query cache returns the same data for the same SQL but different query methods (qiangxue)
+- Bug #3144: It wasn't possible to use attributes with spaces in validation rules (samdark)
+- Bug: Fixed the bug that backslashes are not escaped by CDbCommandBuilder::buildSearchCondition() (qiangxue)
+- Bug: Fixed URL parsing so it's now properly giving 404 for URLs like "http://example.com//////site/about/////" (samdark)
+- Bug: Fixed an issue with CFilehelper and not accessable directories which resulted in endless loop (cebe)
+- Enh: Public method CFileHelper::createDirectory() has been added (klimov-paul)
+- Enh #106: Added getters to CGridColumn to allow getting cell contents for extended use cases of CGridView (cebe)
+- Enh #182: CSort: allow arrays in asc/desc keys of virtual attributes (nineinchnick)
+- Enh #640: Introduce bigpk and bigint column types in each class extending CDbSchema (nineinchnick)
+- Enh #873: CStatRelation (CActiveRecord::STAT) now supports scopes (resurtm, klimov-paul)
+- Enh #1515: Post-JOIN operations (use|force|ignore index()) support in relational queries (KonovalovMaxim, resurtm)
+- Enh #1593: Allow access to exception currently processed by CErrorHandler (klimov-paul)
+- Enh #2540: Enable CJSON to use JsonSerializable interface when serializing objects (sammousa)
+- Enh #2664: Added support for HTTP PATCH requests to CHttpRequest (cebe)
+- Enh #2688: CHtml::beginForm() now supports additional HTTP methods, via a hidden `_method` field. (phpnode)
+- Enh #2722: CFileHelper::findFiles() accepts absolutePaths in $options and returns absolute paths if true or relative ones otherwise (defaults to true) (pavel-voronin)
+- Enh #2737: CFileCache: added cachePathMode and cacheFileMode options to set modes used by chmod() for cache directory and files (ujovlado)
+- Enh #2758: Updated phpdoc in blog demo to match current IDE supported syntax (samdark)
+- Enh #2777: Allow Yii::import() and Yii::createComponent() to import classes that are loaded by other autoloaders e.g. composer (cebe)
+- Enh #2791: requirements/index.php: added CRYPT_BLOWFISH check for CPasswordHelper (tom--)
+- Enh #2799: Add HTML5 input support for color, datetime, datetime-local, week and search to CHtml and CActiveForm (phpnode)
+- Enh #2817: Allow specifying $colums and $refColumns arguments as array in various CDbSchema methods (mynameiszanders, samdark)
+- Enh #2852: Refactored ShellCommand to be easier to extend (samdark, mindplay-dk)
+- Enh #2908: Add insertMultiple to Migrations (luislobo)
+- Enh #3014: Allow changing the database used by ActiveRecord in beforeCount() like it is possible in beforeFind() already (cebe)
+- Enh #3023: Added support for formatting DateTime instances to CFormatter (cebe, nitso)
+- Enh #3027: Added custom encodeLabel attributes of the CMenu items (hugeval)
+- Enh #3048: CApcCache is now compatible with APCu (iobotis, samdark)
+- Enh #3068: Added CDbCommand::naturalLeftJoin() and CDbCommand::naturalRightJoin() (bunchachis)
+- Enh #3115: Updated phpdoc for better code completion in modern IDEs (samdark)
+- Enh #3147: Updated Request::getIsSecureConnection() to work with lower and uppercase config values (cebe)
+- Enh #3182: Added namespace support for controllers in subdirectories (Ekstazi, samdark)
+- Chg #3137: Upgraded HTMLPurifier to 4.6.0 (samdark)
+- New #2955: Added official support for MariaDB (cebe, DaSourcerer)
Version 1.1.14 August 11, 2013
------------------------------
View
@@ -20,6 +20,13 @@ General upgrade instructions
Upgrading from v1.1.14
----------------------
+- CErrorHandler now runs errorAction for errors, which appear via AJAX request.
+ If you use CErrorHandler::errorAction, make sure it handles AJAX request properly.
+
+- The possibility to use callables for values of CDetailView introduced a problem with string beeing interpreted as
+ PHP functions. CDetailView now only allows anonymous functions to be called, all other values will be taken as value.
+
+
Upgrading from v1.1.13
----------------------
@@ -202,7 +202,7 @@ protected function processLink($matches)
if(($text=trim($matches[2]))==='')
$text=$url;
- if(preg_match('/^(http|ftp):\/\//i',$url)) // an external URL
+ if(preg_match('/^(http|https|ftp):\/\//i',$url)) // an external URL
return "<a href=\"$url\">$text</a>";
$url=$this->resolveInternalUrl($url);
return $url===''?$text:'{{'.$url.'|'.$text.'}}';
@@ -1,24 +1,23 @@
<?php
-
+/**
+ * The followings are the available columns in table 'tbl_comment':
+ * @property integer $id
+ * @property string $content
+ * @property integer $status
+ * @property integer $create_time
+ * @property string $author
+ * @property string $email
+ * @property string $url
+ * @property integer $post_id
+ */
class Comment extends CActiveRecord
{
- /**
- * The followings are the available columns in table 'tbl_comment':
- * @var integer $id
- * @var string $content
- * @var integer $status
- * @var integer $create_time
- * @var string $author
- * @var string $email
- * @var string $url
- * @var integer $post_id
- */
const STATUS_PENDING=1;
const STATUS_APPROVED=2;
/**
* Returns the static model of the specified AR class.
- * @return CActiveRecord the static model class
+ * @return static the static model class
*/
public static function model($className=__CLASS__)
{
@@ -1,23 +1,21 @@
<?php
-
+/**
+ * The followings are the available columns in table 'tbl_lookup':
+ * @property integer $id
+ * @property string $object_type
+ * @property integer $code
+ * @property string $name_en
+ * @property string $name_fr
+ * @property integer $sequence
+ * @property integer $status
+ */
class Lookup extends CActiveRecord
{
- /**
- * The followings are the available columns in table 'tbl_lookup':
- * @var integer $id
- * @var string $object_type
- * @var integer $code
- * @var string $name_en
- * @var string $name_fr
- * @var integer $sequence
- * @var integer $status
- */
-
private static $_items=array();
/**
* Returns the static model of the specified AR class.
- * @return CActiveRecord the static model class
+ * @return static the static model class
*/
public static function model($className=__CLASS__)
{
@@ -1,18 +1,17 @@
<?php
-
+/**
+ * The followings are the available columns in table 'tbl_post':
+ * @property integer $id
+ * @property string $title
+ * @property string $content
+ * @property string $tags
+ * @property integer $status
+ * @property integer $create_time
+ * @property integer $update_time
+ * @property integer $author_id
+ */
class Post extends CActiveRecord
{
- /**
- * The followings are the available columns in table 'tbl_post':
- * @var integer $id
- * @var string $title
- * @var string $content
- * @var string $tags
- * @var integer $status
- * @var integer $create_time
- * @var integer $update_time
- * @var integer $author_id
- */
const STATUS_DRAFT=1;
const STATUS_PUBLISHED=2;
const STATUS_ARCHIVED=3;
@@ -21,7 +20,7 @@ class Post extends CActiveRecord
/**
* Returns the static model of the specified AR class.
- * @return CActiveRecord the static model class
+ * @return static the static model class
*/
public static function model($className=__CLASS__)
{
@@ -1,17 +1,15 @@
<?php
-
+/**
+ * The followings are the available columns in table 'tbl_tag':
+ * @property integer $id
+ * @property string $name
+ * @property integer $frequency
+ */
class Tag extends CActiveRecord
{
/**
- * The followings are the available columns in table 'tbl_tag':
- * @var integer $id
- * @var string $name
- * @var integer $frequency
- */
-
- /**
* Returns the static model of the specified AR class.
- * @return CActiveRecord the static model class
+ * @return static the static model class
*/
public static function model($className=__CLASS__)
{
@@ -1,19 +1,18 @@
<?php
+/**
+ * The followings are the available columns in table 'tbl_user':
+ * @property integer $id
+ * @property string $username
+ * @property string $password
+ * @property string $email
+ * @property string $profile
+ */
class User extends CActiveRecord
{
/**
- * The followings are the available columns in table 'tbl_user':
- * @var integer $id
- * @var string $username
- * @var string $password
- * @var string $email
- * @var string $profile
- */
-
- /**
* Returns the static model of the specified AR class.
- * @return CActiveRecord the static model class
+ * @return static the static model class
*/
public static function model($className=__CLASS__)
{
@@ -49,7 +49,7 @@ public function approve()
}
~~~
-Здесь мы просто выставляем свойство `status` комментария в `approved` согласно значению соответсвующей константы класса `Comment`:
+Здесь мы просто выставляем свойство `status` комментария в `approved` согласно значению соответствующей константы класса `Comment`:
~~~
[php]
@@ -48,7 +48,7 @@ return array(
------------------------------------------------
Хотя сам Yii [довольно быстр](http://www.yiiframework.com/performance/), не обязательно,
-что приложение, написанное с использованием Yii, будет работать также эффективно. Есть
+что приложение, написанное с использованием Yii, будет работать так же эффективно. Есть
несколько мест в приложении, где мы можем улучшить работу. Например,
портлет облака тэгов может быть одним из узких мест в работе, потому что он
использует сложный запрос к базе данных и логику PHP.
@@ -28,8 +28,8 @@ public function actionAdmin()
}
~~~
-Данный код полностью сгенерирован `Gii`. Сначала создаётся модель `Post` со сценарием
-`search` [scenario](/doc/guide/ru/form.model), которую мы будем использовать для
+Данный код полностью сгенерирован `Gii`. Сначала создаётся модель `Post` со [сценарием](/doc/guide/ru/form.model)
+`search`, которую мы будем использовать для
сбора критериев поиска, указанных пользователем. Далее мы присваиваем
данные, введённые пользователем, модели. И, наконец, мы выводим отображение
`admin`, используя модель.
@@ -212,7 +212,7 @@ life cycle:
0. Pre-initialize the application with [CApplication::preinit()];
- 1. Set up the class autoloader and error handling;
+ 1. Set up the error handling;
2. Register core application components;
@@ -18,7 +18,7 @@ The cached data will remain in the cache forever unless it is removed
because of some caching policy (e.g. caching space is full and the oldest
data are removed). To change this behavior, we can also supply an
expiration parameter when calling [set()|CCache::set] so that the data will
-be removed from the cache after a certain period of time:
+be removed from the cache after, at most, that period of time:
~~~
[php]
@@ -28,8 +28,8 @@ Yii::app()->cache->set($id, $value, 30);
Later when we need to access this variable (in either the same or a
different Web request), we call [get()|CCache::get] with the ID to retrieve
-it from cache. If the value returned is false, it means the value is not
-available in cache and we should regenerate it.
+it from cache. If the returned value is false, it means the value is not
+available in cache and we have to regenerate it.
~~~
[php]
@@ -51,7 +51,7 @@ applications.
Some cache storages, such as MemCache, APC, support retrieving
multiple cached values in a batch mode, which may reduce the overhead involved
in retrieving cached data. A method named
-[mget()|CCache::mget] is provided to exploit this feature. In case the underlying
+[mget()|CCache::mget] is provided to achieve this feature. In case the underlying
cache storage does not support this feature, [mget()|CCache::mget] will still
simulate it.
@@ -126,7 +126,7 @@ in future, as the result can be directly served from the cache.
> Info: Some DBMS (e.g. [MySQL](http://dev.mysql.com/doc/refman/5.1/en/query-cache.html))
> also support query caching on the DB server side. Compared with the server-side
> query caching, the same feature we support here offers more flexibility and
-> potentially may be more efficient.
+> may be potentially more efficient.
### Enabling Query Caching
@@ -252,4 +252,4 @@ of each entry to be 1MB. Therefore, if the size of a query result exceeds this l
the caching will fail.
-<div class="revision">$Id$</div>
+<div class="revision">$Id$</div>
@@ -58,7 +58,7 @@ can explicitly specify a database for it to use by setting its
- [CWinCache]: uses PHP [WinCache](http://iis.net/downloads/microsoft/wincache-extension)
([see also](http://php.net/manual/en/book.wincache.php)) extension.
- - [CFileCache]: uses files to store cached data. This is particular suitable to
+ - [CFileCache]: uses files to store cached data. This is particularly suitable to
cache large chunk of data (such as pages).
- [CDummyCache]: presents dummy cache that does no caching at all. The purpose
@@ -3,6 +3,11 @@ New Features
This page summarizes the main new features introduced in each Yii release.
+Version 1.1.15
+--------------
+
+ * [Added AR post-JOIN operations](/doc/guide/database.arr#post-join-operations)
+
Version 1.1.14
--------------
@@ -77,6 +77,7 @@ Support for AR is limited by DBMS. Currently, only the following DBMS are
supported:
- [MySQL 4.1 or later](http://www.mysql.com)
+ - [MariaDB](https://mariadb.com)
- [PostgreSQL 7.3 or later](http://www.postgres.com)
- [SQLite 2 and 3](http://www.sqlite.org)
- [Microsoft SQL Server 2000 or later](http://www.microsoft.com/sqlserver/)
Oops, something went wrong.

0 comments on commit 0904589

Please sign in to comment.