Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

19324 dropdownlist selection for boolean attributes #19331

Conversation

adnandautovic
Copy link
Contributor

Q A
Is bugfix? ✔️
New feature?
Breaks BC?
Fixed issues #19324

@WinterSilence Just one question about the order of $strict: Should the comparison with == really be the strict one? Comparing with strcmp appears more strict to me, but for now I implemented your original suggestion. What do you think?

@adnandautovic
Copy link
Contributor Author

Comparing with strcmp appears more strict to me, but for now I implemented your original suggestion. What do you think?

In accordance with how yii\helpers\BaseArrayHelper::isIn handles $strict, I have now inverted the original proposal. Now, for $strict = false, the comparison is done with ==.

@WinterSilence
Copy link
Contributor

@adnandautovic my solution works differently i.e. I not co-author

@WinterSilence
Copy link
Contributor

@adnandautovic please add more test cases, for example, case from your issue: renderSelectOptions(false, ['No', 'Yes'], ['prompt' => 'Please select'])

@WinterSilence
Copy link
Contributor

ArrayHelper::isIn((string)$key, $selection, $strict) this typing is incorrect: same result in strict and non-strict mode.

@adnandautovic
Copy link
Contributor Author

ArrayHelper::isIn((string)$key, $selection, $strict) this typing is incorrect: same result in strict and non-strict mode.

That's true, thank you. I took a look at this and it was caused by previous fixes for wrong default selections in d39d3ed and in e49a52f.
In fact, it appears that the fix in e49a52f was faulty and the casting should have been removed in that commit.

Unfortunately, in order to do this properly then, I would have to change all three functions, checkboxList, radioList and renderSelectOptions.

I will see how I get along with this, but that definitely expands the scope of this issue.

@WinterSilence
Copy link
Contributor

WinterSilence commented Apr 7, 2022

@adnandautovic invalid order in array: ['Please select', No, Yes]

@adnandautovic
Copy link
Contributor Author

@adnandautovic invalid order in array: ['Please select', No, Yes]

Sorry, I don't understand? This particular test is not failing. Old tests for dropDownList, radioList and checkBoxList are failing, leading me to believe that I should just leave everything other than renderSelectOptions as it is.

@WinterSilence
Copy link
Contributor

@adnandautovic look to HTML returning from updated BaseHtml::renderSelectOptions()

@adnandautovic
Copy link
Contributor Author

@adnandautovic look to HTML returning from updated BaseHtml::renderSelectOptions()

Thank you, I think I will be able to take a look next week.

In the meantime, I think the conversion to (string) has something to do with

if (ArrayHelper::isTraversable($selection)) {
$selection = array_map('strval', ArrayHelper::toArray($selection));
}
but I will have to check in more detail next time.

@adnandautovic
Copy link
Contributor Author

@adnandautovic look to HTML returning from updated BaseHtml::renderSelectOptions()

I think the order is fine, actually.

In the meantime, I think the conversion to (string) has something to do with

if (ArrayHelper::isTraversable($selection)) {
$selection = array_map('strval', ArrayHelper::toArray($selection));
}

In hindsight, this is obvious from d39d3ed.

ArrayHelper::isIn((string)$key, $selection, $strict) this typing is incorrect: same result in strict and non-strict mode.

This has turned out to not be the case (see the tests I added in 8f4a7b6). The results in strict and non-strict mode are different with the type casting and in fact the type casting is required.

Anyway, I have now added a failing test to demonstrate the impossibility of performing a non-strict check for a traversable selection containing a boolean, i.e. [false], without explicitly handling the case of a boolean selection in renderSelectOptions.

The way I see it, there are two options:

  1. Ignore that, because apparently no one has had a need for that so far.
  2. Add code to separately handle the case where $selection contains a boolean.

I prefer the first, but both would be fine by me.

@WinterSilence
Copy link
Contributor

@adnandautovic nope, you still don't understand how work typing: your array [true => 'Yes', false => 'No'] convert to [1 => 'Yes', 0 => 'No'] i.e. ['No', 'Yes']. Your expected HTML is invalid:

$expected = <<<'EOD'
<option value="">Please select</option>
<option value="1">Yes</option>
<option value="0" selected>No</option>
EOD;

@adnandautovic
Copy link
Contributor Author

@adnandautovic nope, you still don't understand how work typing: your array [true => 'Yes', false => 'No'] convert to [1 => 'Yes', 0 => 'No'] i.e. ['No', 'Yes']. Your expected HTML is invalid:

$expected = <<<'EOD'
<option value="">Please select</option>
<option value="1">Yes</option>
<option value="0" selected>No</option>
EOD;

As you can see from the tests that ran in the CI runner, the order is fine as far as php is concerned.
However, if you have some personal preference as to the order you want to see here, I can change that.

@adnandautovic
Copy link
Contributor Author

As you can see from the tests that ran in the CI runner, the order is fine as far as php is concerned. However, if you have some personal preference as to the order you want to see here, I can change that.

@WinterSilence for your convenience, I have commented out the one failing test that I added on purpose. As you can see, all tests run successfully now, even with the old html. But as I said, I can change it if you like.

@WinterSilence
Copy link
Contributor

@adnandautovic Your current solution is valid, but work slow, better solution is fix expected HTML.

@samdark samdark requested review from bizley and a team April 8, 2022 13:25
framework/CHANGELOG.md Outdated Show resolved Hide resolved
Co-authored-by: Bizley <pawel@positive.codes>
@bizley bizley merged commit 94dfccd into yiisoft:master Apr 11, 2022
@bizley
Copy link
Member

bizley commented Apr 11, 2022

Thank you.

yus-ham added a commit to yus-ham/yii2 that referenced this pull request Jun 11, 2022
* Added missing note for $categoryMap (yiisoft#18834)

* fix invalid link & update (yiisoft#18835)

* Fix yiisoft#18823: Rollback changes yiisoft#18806 in `yii\validators\ExistValidator::checkTargetRelationExistence()`

* docs: update RFC 7239 link (yiisoft#18839)

fix yiisoft#18838

* Do not mention yii2-codeception as it it deprecated

* Fix yiisoft#18840: Fix `yii2/log/Logger` to set logger globally

* Revert changes in dispatcher 18841 (yiisoft#18843)

* Use ircs as IRC protocol

See composer/composer@b583310

* update Nginx: X-Accel-Redirec link (yiisoft#18848)

* update HttpOnly wiki article link (yiisoft#18851)

* Fix yiisoft#18783: Add support for URI namespaced tags in `XmlResponseFormatter`, add `XmlResponseFormatter::$objectTagToLowercase` option to lowercase object tags

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Fix yiisoft#18762: Added `yii\helpers\Json::$keepObjectType` and `yii\web\JsonResponseFormatter::$keepObjectType` in order to avoid changing zero-indexed objects to array in `yii\helpers\Json::encode()`

* update SecureFlag wiki article link (yiisoft#18853)

* Remove typo in pt-BR migration docs (yiisoft#18855)

Was: "...deleta um registro de uma tabela, você possivelmente mente"
Changed to: "...deleta um registro de uma tabela, você possivelmente"

* Optimistic locking update (yiisoft#18857)

The steps/example requires including the optimisticLock() function in the model that will return the field storing the version.

* Add optimisticLock to all guide languages (yiisoft#18860)

* Fix yiisoft#17119: Fix `yii\caching\Cache::multiSet()` to use `yii\caching\Cache::$defaultDuration` when no duration is passed

* Fix yiisoft#18845: Fix duplicating `id` in `MigrateController::addDefaultPrimaryKey()`

* Minor tests cleanup (yiisoft#18811)

* update PHP callback link (yiisoft#18864)

* Fix yiisoft#18812: Added error messages and optimized "error" methods in `yii\helpers\BaseJson`

* Fix yii\base\Controller::bindInjectedParams() to not throw error when argument of `ReflectionUnionType` type is passed (yiisoft#18869)

* update traits link (yiisoft#18870)

* update class autoloading mechanism link (yiisoft#18874)

* update namespace links (yiisoft#18881)

* Fixed ArrayHelper::toArray for DateTime (yiisoft#18880)

* Fixed ArrayHelper::toArray() for DateTime object

* Updated README.md for yiisoft#18880 (Fixed ArrayHelper::toArray() for DateTime object)

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Fix yiisoft#18858: Reduce memory usage in `yii\base\View::afterRender` method

* Fix header collection from array (yiisoft#18883)

* Fixed HeaderCollection::fromArray() key case

* Added CHANGELOG.md line for yiisoft#18883 (Fixed HeaderCollection::fromArray() key case)

* Fix phpdoc of `yii\base\Model` (yiisoft#18888)

* Fix phpdoc of yii\base\Model

* update PDO link (yiisoft#18889)

Co-authored-by: Bizley <pawel@positive.codes>

* Fix PhpDoc of `yii\console\Controller::stderr()` (yiisoft#18885)

* Fix yiisoft#18886: Fix default return of `yii\db\Migration::safeUp()` and `yii\db\Migration::safeDown()`

* Update oracle link (yiisoft#18896)

* Fix an invalid phpDoc annotation of `yii\data\DataProviderInterface::getSort()`. (yiisoft#18897)

* Fix @SInCE tag in XmlResponseFormatter.php (yiisoft#18901)

Wrong version, see https://github.com/yiisoft/yii2/blob/master/framework/CHANGELOG.md#2044-under-development

* Fix yiisoft#18898: Fix `yii\helpers\Inflector::camel2words()` to work with words ending with 0

* update PHP manual link (yiisoft#18905)

* Fix yiisoft#18904: Improve Captcha client-side validation

* Fix yiisoft#18899: Replace usages of `strpos` with `strncmp` and remove redundant usage of `array_merge` and `array_values`

* update prepared statements link (yiisoft#18911)

* Fix yiisoft#18913: Add filename validation for `MessageSource::getMessageFilePath()`

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Fix yiisoft#18733: Fix session offset doc types (yiisoft#18919)

* Fix yiisoft#18908: Add stdClass as possible return type to getBodyParams (yiisoft#18918)

* [docs] typofixes (yiisoft#18920)

* Fix BaseMigrateController::$migrationPath phpdoc (yiisoft#18924)

* Shorten two identical statements in compare validator (yiisoft#18922)

* Fix typos

* Fix yii\i18n\GettextMessageSource PHPDoc (yiisoft#18916)

* Fix phpdoc in BaseFileHelper (yiisoft#18928)

* Framework(Baseyii.php)  -----> fixed typos and improved doc (yiisoft#18927)

* fixed typos and improved doc

* spacing fix

* The ---> the

* removed "are"

Co-authored-by: Bizley <pawel@positive.codes>

* Docs: Update interface link (yiisoft#18931)

* docs improvment (yiisoft#18935)

* Update db-query-builder.md (yiisoft#18934)

* Update db-query-builder.md

Fixing 404 page on guide

* Update db-query-builder.md

removing html

Co-authored-by: Bizley <pawel@positive.codes>

* Update db-query-builder.md (yiisoft#18938)

* Typo PHPDoc (yiisoft#18939)

Typo PHPDoc

Co-authored-by: toir427 <t.tuychiev@safenetpay.com>
Co-authored-by: Bizley <pawel@positive.codes>

* Update db-active-record.md interface link (yiisoft#18944)

* update DOMLint link (yiisoft#18946)

* update max_file_uploads link (yiisoft#18953)

* Fix yiisoft#18909: Fix bug with binding default action parameters for controllers

* update date() link (yiisoft#18956)

Co-authored-by: Bizley <pawel@positive.codes>

* [doc] Update PHP doc links (yiisoft#18957)

* Replace https://secure.php.net with https://www.php.net

* Replace http://www.php.net with https://www.php.net

* Fix JA guide page (yiisoft#18958)

* Update PR template (yiisoft#18963)

* Fix yiisoft#18955: Check `yiisoft/yii2-swiftmailer` before using as default mailer in `yii\base\Application`

* Remove redundand comments in `PhpDocController` (yiisoft#18968)

* Update Session.php (yiisoft#18969)

* Fix yiisoft#18328: Raise warning when trying to register a file after `View::endBody()` has been called

* update NIST RBAC model link (yiisoft#18973)

* StringHelper::dirname() fixed for trailing slash (yiisoft#18965)

* StringHelper::dirname() fixed for trailing slash

* StringHelper::dirname() fix for PHP <7 versions

* Update CHANGELOG.md

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>
Co-authored-by: Bizley <pawel@positive.codes>

* Fix#18328: Yii::warning() raised on file register after View::endBody() has been moved to View::endPage() (yiisoft#18975)

Co-authored-by: Mehdi Achour <machour@gmail.com>

* Fix yiisoft#18962: Extend ignore list in `yii\console\MessageController::$except`

* Fix migration command example in BaseMigrateController (yiisoft#18978)

* update Data Validation link (yiisoft#18980)

* Docs enhancements (yiisoft#18985)

- added more strict checks in if condition: that if `$user` exists, only then call its method
 - Renamed `verifyPassword` to `validatePassword` because yii2-advanced-template use that method name

* update Command Injection link (yiisoft#18989)

* Brazilian Portuguese translation of the Helpers Overview (yiisoft#18996)

* Improve ArrayAccess phpdoc in yii\base\Model (yiisoft#18992)

Fix parameter name in `offsetSet()`
Fix type of property `$offset` in PhpDoc's

* Fix yiisoft#18988: Fix default value of `yii\console\controllers\MessageController::$translator`

* update code Injection link (yiisoft#18999)

* update Cross Site Scripting link (yiisoft#19002)

* Correct note about html encoded items in radio/checkboxlist (yiisoft#19007)

* Fix variable references in phpdoc (yiisoft#19006)

* Update core-code-style.md (yiisoft#19008)

Changed Section 4 from CamelCase to StudlyCase to match the overview and Section 3.

* Fix PhpDoc of  `ActiveField` (yiisoft#19001)

* Fix yiisoft#18993: Load defaults by `attributes()` in `yii\db\ActiveRecord::loadDefaultValues()`

* update SQL Injection link (yiisoft#19015)

* update csrf link (yiisoft#19023)

* Prepare for new apidoc (part 2) (yiisoft#19010)

* Fix broken links for events with different namespace
* Fix broken links in see tag
* Fix broken links in see tag (loadData())
* Fix broken link for var_export()
* Fix broken link for CVE
* Remove redundant markdown link wrap in see tags
* Remove see tags that refer to private properties
* Remove more see tags that refer to private properties
* Remove see tags that refer to private methods
* Remove one more redundant markdown link wrap in see tag [skip ci]
* Fix typo in see tag (causes broken link)
* Remove more see tags that refer to private methods

* update SameSite link (yiisoft#19029)

* Fix yiisoft#19021: Fix return type in PhpDoc `yii\db\Migration` functions `up()`, `down()`, `safeUp()` and `safeDown()`

* Fixed PhpDoc in Migration.php (revert yiisoft#18886)

Fixed the return type of `up()`, `down()`, `safeUp()` and `safeDown()` functions to match the described behavior.
The current implementation checks for `false`, "all other return values mean the migration succeeds".
This PR also reverts yiisoft#18886 since it was a code fix for what was documentation error.

Allow all possible values for `yii\db\Migration` functions `up()`, `down()`, `safeUp()` and `safeDown()`

* update Exception Handling link (yiisoft#19035)

* Fix yiisoft#18967: Use proper attribute names for tabular data in `yii\widgets\ActiveField::addAriaAttributes()`

* Fix yiisoft#19042: Fix broken link (https://owasp.org/index.php/Top_10_2007-Information_Leakage) (yiisoft#19043)

* Normalize todos (yiisoft#19045)

* Fix yiisoft#13105: Add yiiActiveForm validate_only property for skipping form auto-submission

* update APC extension link (yiisoft#19051)

* Update Controller phpdoc (yiisoft#19052)

* Fix yiisoft#19030: Add DI container usage to `yii\base\Widget::end()`

* Fix yiisoft#19031: Fix displaying console help for parameters with declared types

* (Docs) Fixed preview for $prepareDataProvider (yiisoft#19055)

* update PHP XCache link (yiisoft#19058)

* update MySQL link (yiisoft#19063)

* (Docs) Normalized existing "virtual" / "magic" methods' descriptions, add missing ones (yiisoft#19066)

* Fix yiisoft#19005: Add `yii\base\Module::setControllerPath()`

* Fix bugs preventing generation of PDF guide [skip ci] (yiisoft#19076)

* Update RFC 7232 links (yiisoft#19069)

* Update CORS Preflight requests link (yiisoft#19078)

* Fixed rendering of Apache config snippet in ru guide [skip ci] (yiisoft#19080)

* (Docs) Added missing close tag for span (yiisoft#19081)

* Fix yiisoft#19086: Update HTTP Bearer Tokens link (yiisoft#19087)

* Fix yiisoft#19095: Update broken ICU manual link (yiisoft#19097)

* Fix ci-mssql.yml (yiisoft#19102)

* Fix build.yml (yiisoft#19104)

* Revert "Fix ci-mssql.yml (yiisoft#19102)"

This reverts commit 53a9953.

* Fix yiisoft#19096: Fix `Request::getIsConsoleRequest()` may return erroneously when testing a Web application in Codeception

* update common media types link (yiisoft#19106)

* Fix yiisoft#19108: Optimize `Component::hasEventHandlers()` and `Component::trigger()`

* Fix yiisoft#19110: Update docker.com link (yiisoft#19111)

* Fix yiisoft#18660: Check name if backslash appears

* Fix yiisoft#19098: Add `yii\helper\BaseHtml::$normalizeClassAttribute` to fix duplicate classes

* Add symfonymailer to list of extensions

* update download page link (yiisoft#19115)

* Fix yiisoft#19067: Fix constant session regeneration (yiisoft#19113)

* Fix constant session regeneration
* Add tests for session ID, always regenerating session ID for switching identity

* Adjust CHANGELOG messages

* Use https in composer.json for yiiframework.com

* release version 2.0.44

* prepare for next release

* update documentation of the ICU project link (yiisoft#19125)

* update ICU documentation link (yiisoft#19128)

* Fixed typo (yiisoft#19134)

* update ICU API reference link (yiisoft#19143)

* Fix yiisoft#19138: Allow digits in language code

Co-authored-by: ntesic <nikolatesic@gmail.com>

* update formatting reference link (yiisoft#19157)

* Fix making a guide-2.0 for the website (yiisoft#19159)

* update formatting reference link (yiisoft#19164)

* Fix yiisoft#19041: Fix PHP 8.1 issues

* Fix typo (yiisoft#19168)

* update numbering schemas link (yiisoft#19170)

* Fix yiisoft#19148: Fix undefined array key errors in `yii\db\ActiveRelationTrait`

* Fix yiisoft#19176: Add #[\ReturnTypeWillChange] on MSSQL classes (yiisoft#19177)

* Fix yiisoft#19178: Fix null value in unserialize for PHP 8.1 (yiisoft#19178)

* Fix yiisoft#19182: RBAC Migration failed when use oracle with oci8

* update rules reference link (yiisoft#19181)

Co-authored-by: Bizley <pawel@positive.codes>

* Fix yiisoft#19171: Added `$pagination` and `$sort` to `\yii\rest\IndexAction` for easy configuration

* Fix incorrect translation in Russian tutorial-start-from-scratch.md (yiisoft#19193)

* Fix yiisoft#19191: Change `\Exception` to `\Throwable` in `BadRequestHttpException` and `HttpException`

* Fix yiisoft#19187: Fix `yii\filters\PageCache` to store original headers names instead of normalized ones

* update ICU library link (yiisoft#19190)

Co-authored-by: Bizley <pawel@positive.codes>

* Fix BC introduced in yiisoft#19188 (yiisoft#19194)

* update ICU site link (yiisoft#19196)

* update ICU manual link (yiisoft#19201)

* Fix yiisoft#19204: Support numbers in Inflector::camel2words

* update APC link (yiisoft#19210)

* Fix yiisoft#19047, fix yiisoft#19118: Fix deprecated preg_match() passing null parameters #2 in db\mysql\Schema.php

* Fix yiisoft#19004: Container::resolveCallableDependencies() unable to handle union and intersection types

Co-authored-by: Sartor <sartor@syneforge.com>

* Fix yiisoft#19130: Fix DbSession breaks in some case

* Fix yiisoft#18821: Allow `yii\db\ExpressionInterface` as column in `yii\db\conditions\InBuilder`

* Fix yiisoft#18821: Additional type fixes (yiisoft#19217)

* update boolean attributes link (yiisoft#19216)

Co-authored-by: Bizley <pawel@positive.codes>

* clarification added (yiisoft#19220)

* release version 2.0.45

* prepare for next release

* Fix MimeTest

* update links (en) (yiisoft#19222)

Co-authored-by: Bizley <pawel@positive.codes>

* Fix a typo in a Japanese doc (yiisoft#19232)

👍🏻

* Fix PhpDoc of `yii\db\pgsql\QueryBuilder::normalizeTableRowData()` (yiisoft#19234)

* Update links (ar) (yiisoft#19230)

* Fix bug yiisoft#19235 (yiisoft#19247)

* Fix bug yiisoft#19235

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update db-active-record.md (yiisoft#19250)

Complete the php command.

* Fix yiisoft#19243: Handle `finfo_open` for tar.xz as `application/octet-stream` on PHP 8.1

* Remove code duplication in `ActiveRecord::attributes()`

* update links (es, fr) (yiisoft#19245)

* update links (id, it lang) (yiisoft#19258)

* Fixing typo (yiisoft#19269)

Fixing typo on word "métido", it is supposed to be "método"

* update links (ja, pl lang) (yiisoft#19276)

* Update links (RU and PT-BR lang) (yiisoft#19281)

* Update links (RU lang)

* Update links (PT-BR lang)

* composer update (allow-plugins) (yiisoft#19277)

Co-authored-by: Bizley <pawel@positive.codes>

* update links (yiisoft#19283)

* Fix @param type (yiisoft#19286)

* update links (uk, uz lang) (yiisoft#19288)

* Fix `Model::__clone()` (yiisoft#19291)

* Fix Model::__clone()

Reset validators and errors after cloning to prevent changing cloned model via inner objects of clone like as InlineValidator

* Update CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

* update links (vi, zh lang) (yiisoft#19294)

* Update links (internals) (yiisoft#19298)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* update internals links (yiisoft#19300)

* Set the default  to an array (yiisoft#19306)

* Rewrite Model::attributes() (yiisoft#19309)

* Optimize Model::attributes()

* Update CHANGELOG.md

* Add TrimValidator (yiisoft#19304)

* Add TrimValidator

* Update Validator.php

* Update Validator.php

* Update TrimValidator.php

* Update TrimValidator.php

* Update TrimValidator.php

* Update TrimValidator.php

* Update CHANGELOG.md

* Update Validator.php

* Fix yiisoft#19322: Revert force setting value to empty string in case it's `null` in `yii\validators\FilterValidator::validateAttribute()`

* Fix yii\caching\Dependency::generateReusableHash() (yiisoft#19303)

* Fix yii\caching\Dependency::generateReusableHash()

* Update DbQueryDependencyTest.php

* Update CHANGELOG.md

* Update Dependency.php

* Update framework/caching/Dependency.php

Co-authored-by: Bizley <pawel@positive.codes>

* Update comment Dependency::generateReusableHash()

Co-authored-by: Bizley <pawel@positive.codes>

* GroupUrlRule slash in prefix (yiisoft#19330)

* Bring back slash

* changelog

* group url rule test

* Add `yii\web\UploadedFile::$fullPath` (yiisoft#19308)

* Add `yii\web\UploadedFile::$fullPath`

`$_FILES['userfile']['full_path']` Available as of PHP 8.1.

Updates related methods `loadFilesRecursive()` and `loadFilesRecursive()`

* Update UploadedFile.php

* Update UploadedFile.php

* Update UploadedFile.php

* Update CHANGELOG.md

* Apply suggestions from code review

Co-authored-by: Bizley <pawel@positive.codes>

* Update UploadedFile.php

Co-authored-by: Bizley <pawel@positive.codes>

* Fix types (yiisoft#19332)

* Migration::upsert() returns void

* Unneeded `@property` tags

* Add missing `null` param/return types

* Null types for db\Query + db\ActiveQuery

* Fixed testSelect

* Fix yiisoft#19254: Support specifying custom characters for `yii.validation.trim()` and replace deprecated `jQuery.trim()`

* Fix more types (yiisoft#19333)

* Migration::upsert() returns void

* Unneeded `@property` tags

* Add missing `null` param/return types

* Null types for db\Query + db\ActiveQuery

* Fixed testSelect

* Null types for Validator

* Several more null types

* One more

* Make AccessRule::$allow always a boolean

It doesn't have any special null handling, so it's safe to default to false

* Validator::$skipOnEmpty is always a boolean

* Catch all throwable from Widget::widget()

* Don't limit $previous args to \Exception

The actual \Exception allows $previous to be any throwable in PHP 7+

* Add Throwable catch block to Instance::get()

* Throwable cleanup

Comment changes only.

- Document \Throwable instead of \Exception wherever appropriate
- Removed redundant exception/error classes when \Throwable is referenced

* Yii::setlogger() accepts null

* ArrayHelper::removeValue() can remove any type of value

* Change default $allow value to false

* Added `jfif` to mimeTypes.php (yiisoft#19338)

* Added `jfif` to mimeTypes.php

Added the 'image/jpeg' mime type for `.jfif` files (https://en.wikipedia.org/wiki/JPEG_File_Interchange_Format)

* Update MimeTest.php

Added 'jfif' extension to MimeTest

* Fix autoload sections in composer.json (yiisoft#19337)

Move `yii\cs\`  into `autoload-dev` and add  `test` and `build` namespaces

* Fix yiisoft#19328: Passing null to parameter #1 ($string) of type string is deprecated in `yii\db\oci\Schema`

Co-authored-by: Kevin Desmettre <kdesmettre@oph74.fr>

* Extend examples in `guide/input-tabular-input.md` (yiisoft#19278)

* Fix yiisoft#19295: Added alias `text/rtf` for mime-type `application/rtf`

* Fix yiisoft#19270: Replace deprecated `scss` converter in `yii\web\AssetConverter::$commands`

* Fix yiisoft#19256: Pass missed `$view` to user's callback in `yii\validators\InlineValidator::clientValidateAttribute()`

* Resolve yiisoft#19327 (yiisoft#19336)

* Resolve yiisoft#19327

* cast from extracted column

* Update CHANGELOG

* Update CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

* Improve DataFilterTest (yiisoft#19341)

* Fix broken code block inside note block (yiisoft#19342)

* Fix yiisoft#19312: Fix PHP 8.1 error when passing null to `yii\helpers\BaseInflector`

* Fix broken code block (yiisoft#19344)

* 19324 dropdownlist selection for boolean attributes (yiisoft#19331)

* Fix yiisoft#19324 by allowing for direct comparison

* Invert meaning of strict

* Remove WinterSilence from authors list

* Fix improper implementation of strict checks

* Add test for renderSelectOptions

* Partially revert 'Fix improper implementation of strict checks'

* Add additional tests for strict

* Revert 'Fix improper implementation of strict checks'

* Add failing test for demonstration

* Comment out demonstration test

* Update framework/CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

Co-authored-by: Bizley <pawel@positive.codes>

* Fix code block in rest resource docs (yiisoft#19346)

Co-authored-by: Bizley <pawel@positive.codes>

* Allow null values for date formatters in Formatter (yiisoft#19348)

* Fix PHP 8.1 Empty header DataColumn (yiisoft#19350)

* Fix PHP 8.1 Empty header DataColumn

yiisoft#19349

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

* Fix generation of docs on the site (yiisoft#19353)

* Fix yiisoft#19290: Fix `Request::getHostInfo()` doesn’t return the port if a Host header is used

* Fixed issue when trying to check if a multidimensional array is dirty… (yiisoft#19272)

* Fixed issue when trying to check if a multidimensional array is dirty attribute or not

* fixed issue in logic and added test

* Updated test to only support PHP 7 and above

* Code refactoring

* Updated Test Cases

* Update framework/helpers/BaseArrayHelper.php

Co-authored-by: Bizley <pawel@positive.codes>

* Added to CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Maher Al Ghoul <maher.gh@opensooq.com>
Co-authored-by: Bizley <pawel@positive.codes>
Co-authored-by: Maher Al Ghoul <maher@rufoof.com>
Co-authored-by: Alexander Makarov <sam@rmcreative.ru>
Co-authored-by: Maher Al Ghoul <Maher.AlGhoul@opensooq.com>

* Fix guide generation errors (yiisoft#19356)

* Add guide section for filtering REST collection. (yiisoft#19357)

* Add guide section for filtering REST collection.

* Update docs/guide/rest-filtering-collections.md

Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>

* Update docs/guide/rest-filtering-collections.md

Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>

Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>

* Optimize BaseArrayHelper::isIndexed() (yiisoft#19363)

* add rest-quick-start (yiisoft#19364)

* Fix yiisoft#19368: Fix PHP 8.1 error when `$fileMimeType` is `null` in `yii\validators\FileValidator::validateMimeType()`

* Update workflows (yiisoft#19370)

* Fix scrutinizer ci and remove code coverage github actions. (yiisoft#19371)

* Fix typo in pipeline config (yiisoft#19372)

* Update PHP version is README.md (yiisoft#19375)

* Update link in Yii::powered() (yiisoft#19376)

* Fix returning type of `yii\base\Widget::run()` (yiisoft#19378)

* Fix yiisoft#19380: Fix PHP 8.1 passing non string to trim() in `yii\db\Query`

* Add Uzbek cyrillic messages translation (yiisoft#19382)

* Add Uzbek (cyrillic) language in messages config (yiisoft#19383)

* Fix typo in rest-filtering-collections.md (yiisoft#19388)

* Simple optimization and PHPDoc type fixes in yii\helpers\BaseArrayHelper (yiisoft#19387)

* Removed merging of parent labels in DynamicModel::attributeLabels() since DynamicModel::attributes() does not merge parent attributes. Cleaned up DynamicModel documentation. (yiisoft#19394)

* Fix scrutinizer (yiisoft#19395)

* fix import UnauthorizedHttpException (yiisoft#19404)

* Fix BaseArrayHelper::htmlDecode() (yiisoft#19386)

* Fix BaseArrayHelper::htmlDecode()

Add missed second argument on recursive calling.

* Fix BaseArrayHelper::htmlDecode()

`htmlspecialchars_decode()` flags must be same to `htmlspecialchars()` in `BaseArrayHelper::htmlEncode()`

* Update ArrayHelperTest.php

* Update ArrayHelperTest.php

* Update ArrayHelperTest.php

* Update CHANGELOG.md

* test workflow fix

* Update DeadLockTest::testDeadlockException() (yiisoft#19385)

* Add test case for Cache::getValue() with non existent key (yiisoft#19396)

* Fix yiisoft#19384: Normalize `setBodyParams()` and `getBodyParam()` in `yii\web\Request`

* Add TrimValidator to classes.php (yiisoft#19412)

* Fix translators in `messages/config.php` (yiisoft#19416)

* Fix translators in `messages/config.php` 

yiisoft#19415

* Update messageConfig.php

* Update config.php

* Update messageConfig.php

* Update CHANGELOG.md

* Update framework/CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

Co-authored-by: Bizley <pawel@positive.codes>

* Fix outdated links in Formatter (yiisoft#19422)

* Normalize PhpDoc types in AssetsManager (yiisoft#19419)

* Fix yiisoft#19402: Add shutdown event and fix working directory in `yii\base\ErrorHandler`

* Fix yiisoft#19403: Fix types in `yii\web\SessionIterator`

* Fix yiisoft#19420: Update list of JS callbacks in `yii\widgets\MaskedInput`

* Change http to https in requirements.php (yiisoft#19423)

* Fix yiisoft#19401: Delay `exit(1)` in `yii\base\ErrorHandler::handleFatalError`

* Make docs more clear about the length of the result (yiisoft#19424)

* Truncate help add method and suffix (yiisoft#19425)

yiisoft#19424

* update memcached link (yiisoft#19428)

* Update intro-yii.md & intro-upgrade-from-v1.md & add start-prerequisites.md translation [id] (yiisoft#19427)

* Update intro-yii.md translation [id]

* Update intro-upgrade-from-v1.md translation [id]

* Add start-prerequisites.md translation [id]

Co-authored-by: Mas Aldo <aldo@mifx.com>

Co-authored-by: Bizley <pawel@positive.codes>
Co-authored-by: Ihor Sychevskyi <arhell333@gmail.com>
Co-authored-by: Anton <info@ensostudio.ru>
Co-authored-by: Evgeniy Tkachenko <et.coder@gmail.com>
Co-authored-by: Alexander Makarov <sam@rmcreative.ru>
Co-authored-by: lexizz <lexizz19@mail.ru>
Co-authored-by: Jaak Tamre <jaak.tamre@gmail.com>
Co-authored-by: Francisco Budaszewski Zanatta <xikaoswow@gmail.com>
Co-authored-by: Senthil Nathan <snathan9@users.noreply.github.com>
Co-authored-by: Oscar Barrett <OscarBarrett@users.noreply.github.com>
Co-authored-by: rhertogh <rhertogh@users.noreply.github.com>
Co-authored-by: Leo <leo.on.the.earth@gmail.com>
Co-authored-by: Alexander Gubarev <gubarev.alex@gmail.com>
Co-authored-by: Basil <git@nadar.io>
Co-authored-by: Michaël Arnauts <michael.arnauts@gmail.com>
Co-authored-by: hexkir <4928273+hexkir@users.noreply.github.com>
Co-authored-by: Oleg Poludnenko <ua.oleg@gmail.com>
Co-authored-by: Mario Simão <mariosimao@poli.ufrj.br>
Co-authored-by: JT Smith <nexxai@gmail.com>
Co-authored-by: Toir Tuychiev <toir427@gmail.com>
Co-authored-by: BIKI DAS <bikid475@gmail.com>
Co-authored-by: Chris Smith <chris@cgsmith.net>
Co-authored-by: toir427 <t.tuychiev@safenetpay.com>
Co-authored-by: Aleksandr Bogatikov <perlexed@gmail.com>
Co-authored-by: Mehdi Achour <machour@gmail.com>
Co-authored-by: Sohel Ahmed Mesaniya <sam.wankaner@gmail.com>
Co-authored-by: Raphael de Almeida <jaguarnet7@gmail.com>
Co-authored-by: Marco van 't Wout <marco@tremani.nl>
Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>
Co-authored-by: John Goetz <jgoetz@users.noreply.github.com>
Co-authored-by: AnkIF <33079906+AnkIF@users.noreply.github.com>
Co-authored-by: ptolomaues <vladislav.lutsenko@gmail.com>
Co-authored-by: Papp Péter <papp.peter@p4it.hu>
Co-authored-by: irice <sgetaplus@gmail.com>
Co-authored-by: Bilal <33921776+glowinginthedark@users.noreply.github.com>
Co-authored-by: ntesic <nikola.tesic@open.telekom.rs>
Co-authored-by: ntesic <nikolatesic@gmail.com>
Co-authored-by: charescape <53265646+charescape@users.noreply.github.com>
Co-authored-by: stevekr <stevekr@users.noreply.github.com>
Co-authored-by: Aurélien Chretien <achretien@users.noreply.github.com>
Co-authored-by: Roman <murolike@gmail.com>
Co-authored-by: twinpigs <mr.owner@gmail.com>
Co-authored-by: Dmitrijlin <dmitrij-lin9@rambler.ru>
Co-authored-by: Long TRAN <longthanhtran@users.noreply.github.com>
Co-authored-by: Sartor <sartorua@gmail.com>
Co-authored-by: Sartor <sartor@syneforge.com>
Co-authored-by: Roman Grinyov <w3lifer@gmail.com>
Co-authored-by: AIZAWA Hina <hina@fetus.jp>
Co-authored-by: Ar Rakin <68149013+virtual-designer@users.noreply.github.com>
Co-authored-by: jef348 <71833496+jef348@users.noreply.github.com>
Co-authored-by: Daniel Becker Alves <danielbeckeralves@gmail.com>
Co-authored-by: Ar Rakin <rakinar2@gmail.com>
Co-authored-by: Tobias Munk <schmunk@usrbin.de>
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
Co-authored-by: eecjimmy <eecjimmy@users.noreply.github.com>
Co-authored-by: Brandon Kelly <brandon@pixelandtonic.com>
Co-authored-by: Arkeins <7311955+Arkeins@users.noreply.github.com>
Co-authored-by: Kevin Desmettre <kdesmettre@oph74.fr>
Co-authored-by: Alexey <neff.alexey@gmail.com>
Co-authored-by: FordSmh <61039737+FordSmh@users.noreply.github.com>
Co-authored-by: Adnan <100121069+adnandautovic@users.noreply.github.com>
Co-authored-by: Maher Al Ghoul <speedplli@windowslive.com>
Co-authored-by: Maher Al Ghoul <maher.gh@opensooq.com>
Co-authored-by: Maher Al Ghoul <maher@rufoof.com>
Co-authored-by: Maher Al Ghoul <Maher.AlGhoul@opensooq.com>
Co-authored-by: Wilmer Arambula <42547589+terabytesoftw@users.noreply.github.com>
Co-authored-by: Kenjebaev Sag'indiq <kenjebaev.sagindik@gmail.com>
Co-authored-by: Vitaly <walkboy@mail.ru>
Co-authored-by: PowerGamer1 <PowerGamer1@users.noreply.github.com>
Co-authored-by: Nekrasov Ilya <nekrasov.ilya90@gmail.com>
Co-authored-by: Aldo Karendra <akarendra835@gmail.com>
Co-authored-by: Mas Aldo <aldo@mifx.com>
yus-ham added a commit to yus-ham/yii2 that referenced this pull request Jun 11, 2022
* Added missing note for $categoryMap (yiisoft#18834)

* fix invalid link & update (yiisoft#18835)

* Fix yiisoft#18823: Rollback changes yiisoft#18806 in `yii\validators\ExistValidator::checkTargetRelationExistence()`

* docs: update RFC 7239 link (yiisoft#18839)

fix yiisoft#18838

* Do not mention yii2-codeception as it it deprecated

* Fix yiisoft#18840: Fix `yii2/log/Logger` to set logger globally

* Revert changes in dispatcher 18841 (yiisoft#18843)

* Use ircs as IRC protocol

See composer/composer@b583310

* update Nginx: X-Accel-Redirec link (yiisoft#18848)

* update HttpOnly wiki article link (yiisoft#18851)

* Fix yiisoft#18783: Add support for URI namespaced tags in `XmlResponseFormatter`, add `XmlResponseFormatter::$objectTagToLowercase` option to lowercase object tags

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Fix yiisoft#18762: Added `yii\helpers\Json::$keepObjectType` and `yii\web\JsonResponseFormatter::$keepObjectType` in order to avoid changing zero-indexed objects to array in `yii\helpers\Json::encode()`

* update SecureFlag wiki article link (yiisoft#18853)

* Remove typo in pt-BR migration docs (yiisoft#18855)

Was: "...deleta um registro de uma tabela, você possivelmente mente"
Changed to: "...deleta um registro de uma tabela, você possivelmente"

* Optimistic locking update (yiisoft#18857)

The steps/example requires including the optimisticLock() function in the model that will return the field storing the version.

* Add optimisticLock to all guide languages (yiisoft#18860)

* Fix yiisoft#17119: Fix `yii\caching\Cache::multiSet()` to use `yii\caching\Cache::$defaultDuration` when no duration is passed

* Fix yiisoft#18845: Fix duplicating `id` in `MigrateController::addDefaultPrimaryKey()`

* Minor tests cleanup (yiisoft#18811)

* update PHP callback link (yiisoft#18864)

* Fix yiisoft#18812: Added error messages and optimized "error" methods in `yii\helpers\BaseJson`

* Fix yii\base\Controller::bindInjectedParams() to not throw error when argument of `ReflectionUnionType` type is passed (yiisoft#18869)

* update traits link (yiisoft#18870)

* update class autoloading mechanism link (yiisoft#18874)

* update namespace links (yiisoft#18881)

* Fixed ArrayHelper::toArray for DateTime (yiisoft#18880)

* Fixed ArrayHelper::toArray() for DateTime object

* Updated README.md for yiisoft#18880 (Fixed ArrayHelper::toArray() for DateTime object)

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Fix yiisoft#18858: Reduce memory usage in `yii\base\View::afterRender` method

* Fix header collection from array (yiisoft#18883)

* Fixed HeaderCollection::fromArray() key case

* Added CHANGELOG.md line for yiisoft#18883 (Fixed HeaderCollection::fromArray() key case)

* Fix phpdoc of `yii\base\Model` (yiisoft#18888)

* Fix phpdoc of yii\base\Model

* update PDO link (yiisoft#18889)

Co-authored-by: Bizley <pawel@positive.codes>

* Fix PhpDoc of `yii\console\Controller::stderr()` (yiisoft#18885)

* Fix yiisoft#18886: Fix default return of `yii\db\Migration::safeUp()` and `yii\db\Migration::safeDown()`

* Update oracle link (yiisoft#18896)

* Fix an invalid phpDoc annotation of `yii\data\DataProviderInterface::getSort()`. (yiisoft#18897)

* Fix @SInCE tag in XmlResponseFormatter.php (yiisoft#18901)

Wrong version, see https://github.com/yiisoft/yii2/blob/master/framework/CHANGELOG.md#2044-under-development

* Fix yiisoft#18898: Fix `yii\helpers\Inflector::camel2words()` to work with words ending with 0

* update PHP manual link (yiisoft#18905)

* Fix yiisoft#18904: Improve Captcha client-side validation

* Fix yiisoft#18899: Replace usages of `strpos` with `strncmp` and remove redundant usage of `array_merge` and `array_values`

* update prepared statements link (yiisoft#18911)

* Fix yiisoft#18913: Add filename validation for `MessageSource::getMessageFilePath()`

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Fix yiisoft#18733: Fix session offset doc types (yiisoft#18919)

* Fix yiisoft#18908: Add stdClass as possible return type to getBodyParams (yiisoft#18918)

* [docs] typofixes (yiisoft#18920)

* Fix BaseMigrateController::$migrationPath phpdoc (yiisoft#18924)

* Shorten two identical statements in compare validator (yiisoft#18922)

* Fix typos

* Fix yii\i18n\GettextMessageSource PHPDoc (yiisoft#18916)

* Fix phpdoc in BaseFileHelper (yiisoft#18928)

* Framework(Baseyii.php)  -----> fixed typos and improved doc (yiisoft#18927)

* fixed typos and improved doc

* spacing fix

* The ---> the

* removed "are"

Co-authored-by: Bizley <pawel@positive.codes>

* Docs: Update interface link (yiisoft#18931)

* docs improvment (yiisoft#18935)

* Update db-query-builder.md (yiisoft#18934)

* Update db-query-builder.md

Fixing 404 page on guide

* Update db-query-builder.md

removing html

Co-authored-by: Bizley <pawel@positive.codes>

* Update db-query-builder.md (yiisoft#18938)

* Typo PHPDoc (yiisoft#18939)

Typo PHPDoc

Co-authored-by: toir427 <t.tuychiev@safenetpay.com>
Co-authored-by: Bizley <pawel@positive.codes>

* Update db-active-record.md interface link (yiisoft#18944)

* update DOMLint link (yiisoft#18946)

* update max_file_uploads link (yiisoft#18953)

* Fix yiisoft#18909: Fix bug with binding default action parameters for controllers

* update date() link (yiisoft#18956)

Co-authored-by: Bizley <pawel@positive.codes>

* [doc] Update PHP doc links (yiisoft#18957)

* Replace https://secure.php.net with https://www.php.net

* Replace http://www.php.net with https://www.php.net

* Fix JA guide page (yiisoft#18958)

* Update PR template (yiisoft#18963)

* Fix yiisoft#18955: Check `yiisoft/yii2-swiftmailer` before using as default mailer in `yii\base\Application`

* Remove redundand comments in `PhpDocController` (yiisoft#18968)

* Update Session.php (yiisoft#18969)

* Fix yiisoft#18328: Raise warning when trying to register a file after `View::endBody()` has been called

* update NIST RBAC model link (yiisoft#18973)

* StringHelper::dirname() fixed for trailing slash (yiisoft#18965)

* StringHelper::dirname() fixed for trailing slash

* StringHelper::dirname() fix for PHP <7 versions

* Update CHANGELOG.md

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>
Co-authored-by: Bizley <pawel@positive.codes>

* Fix#18328: Yii::warning() raised on file register after View::endBody() has been moved to View::endPage() (yiisoft#18975)

Co-authored-by: Mehdi Achour <machour@gmail.com>

* Fix yiisoft#18962: Extend ignore list in `yii\console\MessageController::$except`

* Fix migration command example in BaseMigrateController (yiisoft#18978)

* update Data Validation link (yiisoft#18980)

* Docs enhancements (yiisoft#18985)

- added more strict checks in if condition: that if `$user` exists, only then call its method
 - Renamed `verifyPassword` to `validatePassword` because yii2-advanced-template use that method name

* update Command Injection link (yiisoft#18989)

* Brazilian Portuguese translation of the Helpers Overview (yiisoft#18996)

* Improve ArrayAccess phpdoc in yii\base\Model (yiisoft#18992)

Fix parameter name in `offsetSet()`
Fix type of property `$offset` in PhpDoc's

* Fix yiisoft#18988: Fix default value of `yii\console\controllers\MessageController::$translator`

* update code Injection link (yiisoft#18999)

* update Cross Site Scripting link (yiisoft#19002)

* Correct note about html encoded items in radio/checkboxlist (yiisoft#19007)

* Fix variable references in phpdoc (yiisoft#19006)

* Update core-code-style.md (yiisoft#19008)

Changed Section 4 from CamelCase to StudlyCase to match the overview and Section 3.

* Fix PhpDoc of  `ActiveField` (yiisoft#19001)

* Fix yiisoft#18993: Load defaults by `attributes()` in `yii\db\ActiveRecord::loadDefaultValues()`

* update SQL Injection link (yiisoft#19015)

* update csrf link (yiisoft#19023)

* Prepare for new apidoc (part 2) (yiisoft#19010)

* Fix broken links for events with different namespace
* Fix broken links in see tag
* Fix broken links in see tag (loadData())
* Fix broken link for var_export()
* Fix broken link for CVE
* Remove redundant markdown link wrap in see tags
* Remove see tags that refer to private properties
* Remove more see tags that refer to private properties
* Remove see tags that refer to private methods
* Remove one more redundant markdown link wrap in see tag [skip ci]
* Fix typo in see tag (causes broken link)
* Remove more see tags that refer to private methods

* update SameSite link (yiisoft#19029)

* Fix yiisoft#19021: Fix return type in PhpDoc `yii\db\Migration` functions `up()`, `down()`, `safeUp()` and `safeDown()`

* Fixed PhpDoc in Migration.php (revert yiisoft#18886)

Fixed the return type of `up()`, `down()`, `safeUp()` and `safeDown()` functions to match the described behavior.
The current implementation checks for `false`, "all other return values mean the migration succeeds".
This PR also reverts yiisoft#18886 since it was a code fix for what was documentation error.

Allow all possible values for `yii\db\Migration` functions `up()`, `down()`, `safeUp()` and `safeDown()`

* update Exception Handling link (yiisoft#19035)

* Fix yiisoft#18967: Use proper attribute names for tabular data in `yii\widgets\ActiveField::addAriaAttributes()`

* Fix yiisoft#19042: Fix broken link (https://owasp.org/index.php/Top_10_2007-Information_Leakage) (yiisoft#19043)

* Normalize todos (yiisoft#19045)

* Fix yiisoft#13105: Add yiiActiveForm validate_only property for skipping form auto-submission

* update APC extension link (yiisoft#19051)

* Update Controller phpdoc (yiisoft#19052)

* Fix yiisoft#19030: Add DI container usage to `yii\base\Widget::end()`

* Fix yiisoft#19031: Fix displaying console help for parameters with declared types

* (Docs) Fixed preview for $prepareDataProvider (yiisoft#19055)

* update PHP XCache link (yiisoft#19058)

* update MySQL link (yiisoft#19063)

* (Docs) Normalized existing "virtual" / "magic" methods' descriptions, add missing ones (yiisoft#19066)

* Fix yiisoft#19005: Add `yii\base\Module::setControllerPath()`

* Fix bugs preventing generation of PDF guide [skip ci] (yiisoft#19076)

* Update RFC 7232 links (yiisoft#19069)

* Update CORS Preflight requests link (yiisoft#19078)

* Fixed rendering of Apache config snippet in ru guide [skip ci] (yiisoft#19080)

* (Docs) Added missing close tag for span (yiisoft#19081)

* Fix yiisoft#19086: Update HTTP Bearer Tokens link (yiisoft#19087)

* Fix yiisoft#19095: Update broken ICU manual link (yiisoft#19097)

* Fix ci-mssql.yml (yiisoft#19102)

* Fix build.yml (yiisoft#19104)

* Revert "Fix ci-mssql.yml (yiisoft#19102)"

This reverts commit 53a9953.

* Fix yiisoft#19096: Fix `Request::getIsConsoleRequest()` may return erroneously when testing a Web application in Codeception

* update common media types link (yiisoft#19106)

* Fix yiisoft#19108: Optimize `Component::hasEventHandlers()` and `Component::trigger()`

* Fix yiisoft#19110: Update docker.com link (yiisoft#19111)

* Fix yiisoft#18660: Check name if backslash appears

* Fix yiisoft#19098: Add `yii\helper\BaseHtml::$normalizeClassAttribute` to fix duplicate classes

* Add symfonymailer to list of extensions

* update download page link (yiisoft#19115)

* Fix yiisoft#19067: Fix constant session regeneration (yiisoft#19113)

* Fix constant session regeneration
* Add tests for session ID, always regenerating session ID for switching identity

* Adjust CHANGELOG messages

* Use https in composer.json for yiiframework.com

* release version 2.0.44

* prepare for next release

* update documentation of the ICU project link (yiisoft#19125)

* update ICU documentation link (yiisoft#19128)

* Fixed typo (yiisoft#19134)

* update ICU API reference link (yiisoft#19143)

* Fix yiisoft#19138: Allow digits in language code

Co-authored-by: ntesic <nikolatesic@gmail.com>

* update formatting reference link (yiisoft#19157)

* Fix making a guide-2.0 for the website (yiisoft#19159)

* update formatting reference link (yiisoft#19164)

* Fix yiisoft#19041: Fix PHP 8.1 issues

* Fix typo (yiisoft#19168)

* update numbering schemas link (yiisoft#19170)

* Fix yiisoft#19148: Fix undefined array key errors in `yii\db\ActiveRelationTrait`

* Fix yiisoft#19176: Add #[\ReturnTypeWillChange] on MSSQL classes (yiisoft#19177)

* Fix yiisoft#19178: Fix null value in unserialize for PHP 8.1 (yiisoft#19178)

* Fix yiisoft#19182: RBAC Migration failed when use oracle with oci8

* update rules reference link (yiisoft#19181)

Co-authored-by: Bizley <pawel@positive.codes>

* Fix yiisoft#19171: Added `$pagination` and `$sort` to `\yii\rest\IndexAction` for easy configuration

* Fix incorrect translation in Russian tutorial-start-from-scratch.md (yiisoft#19193)

* Fix yiisoft#19191: Change `\Exception` to `\Throwable` in `BadRequestHttpException` and `HttpException`

* Fix yiisoft#19187: Fix `yii\filters\PageCache` to store original headers names instead of normalized ones

* update ICU library link (yiisoft#19190)

Co-authored-by: Bizley <pawel@positive.codes>

* Fix BC introduced in yiisoft#19188 (yiisoft#19194)

* update ICU site link (yiisoft#19196)

* update ICU manual link (yiisoft#19201)

* Fix yiisoft#19204: Support numbers in Inflector::camel2words

* update APC link (yiisoft#19210)

* Fix yiisoft#19047, fix yiisoft#19118: Fix deprecated preg_match() passing null parameters #2 in db\mysql\Schema.php

* Fix yiisoft#19004: Container::resolveCallableDependencies() unable to handle union and intersection types

Co-authored-by: Sartor <sartor@syneforge.com>

* Fix yiisoft#19130: Fix DbSession breaks in some case

* Fix yiisoft#18821: Allow `yii\db\ExpressionInterface` as column in `yii\db\conditions\InBuilder`

* Fix yiisoft#18821: Additional type fixes (yiisoft#19217)

* update boolean attributes link (yiisoft#19216)

Co-authored-by: Bizley <pawel@positive.codes>

* clarification added (yiisoft#19220)

* release version 2.0.45

* prepare for next release

* Fix MimeTest

* update links (en) (yiisoft#19222)

Co-authored-by: Bizley <pawel@positive.codes>

* Fix a typo in a Japanese doc (yiisoft#19232)

👍🏻

* Fix PhpDoc of `yii\db\pgsql\QueryBuilder::normalizeTableRowData()` (yiisoft#19234)

* Update links (ar) (yiisoft#19230)

* Fix bug yiisoft#19235 (yiisoft#19247)

* Fix bug yiisoft#19235

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update db-active-record.md (yiisoft#19250)

Complete the php command.

* Fix yiisoft#19243: Handle `finfo_open` for tar.xz as `application/octet-stream` on PHP 8.1

* Remove code duplication in `ActiveRecord::attributes()`

* update links (es, fr) (yiisoft#19245)

* update links (id, it lang) (yiisoft#19258)

* Fixing typo (yiisoft#19269)

Fixing typo on word "métido", it is supposed to be "método"

* update links (ja, pl lang) (yiisoft#19276)

* Update links (RU and PT-BR lang) (yiisoft#19281)

* Update links (RU lang)

* Update links (PT-BR lang)

* composer update (allow-plugins) (yiisoft#19277)

Co-authored-by: Bizley <pawel@positive.codes>

* update links (yiisoft#19283)

* Fix @param type (yiisoft#19286)

* update links (uk, uz lang) (yiisoft#19288)

* Fix `Model::__clone()` (yiisoft#19291)

* Fix Model::__clone()

Reset validators and errors after cloning to prevent changing cloned model via inner objects of clone like as InlineValidator

* Update CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

* update links (vi, zh lang) (yiisoft#19294)

* Update links (internals) (yiisoft#19298)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* Update links (internals)

* update internals links (yiisoft#19300)

* Set the default  to an array (yiisoft#19306)

* Rewrite Model::attributes() (yiisoft#19309)

* Optimize Model::attributes()

* Update CHANGELOG.md

* Add TrimValidator (yiisoft#19304)

* Add TrimValidator

* Update Validator.php

* Update Validator.php

* Update TrimValidator.php

* Update TrimValidator.php

* Update TrimValidator.php

* Update TrimValidator.php

* Update CHANGELOG.md

* Update Validator.php

* Fix yiisoft#19322: Revert force setting value to empty string in case it's `null` in `yii\validators\FilterValidator::validateAttribute()`

* Fix yii\caching\Dependency::generateReusableHash() (yiisoft#19303)

* Fix yii\caching\Dependency::generateReusableHash()

* Update DbQueryDependencyTest.php

* Update CHANGELOG.md

* Update Dependency.php

* Update framework/caching/Dependency.php

Co-authored-by: Bizley <pawel@positive.codes>

* Update comment Dependency::generateReusableHash()

Co-authored-by: Bizley <pawel@positive.codes>

* GroupUrlRule slash in prefix (yiisoft#19330)

* Bring back slash

* changelog

* group url rule test

* Add `yii\web\UploadedFile::$fullPath` (yiisoft#19308)

* Add `yii\web\UploadedFile::$fullPath`

`$_FILES['userfile']['full_path']` Available as of PHP 8.1.

Updates related methods `loadFilesRecursive()` and `loadFilesRecursive()`

* Update UploadedFile.php

* Update UploadedFile.php

* Update UploadedFile.php

* Update CHANGELOG.md

* Apply suggestions from code review

Co-authored-by: Bizley <pawel@positive.codes>

* Update UploadedFile.php

Co-authored-by: Bizley <pawel@positive.codes>

* Fix types (yiisoft#19332)

* Migration::upsert() returns void

* Unneeded `@property` tags

* Add missing `null` param/return types

* Null types for db\Query + db\ActiveQuery

* Fixed testSelect

* Fix yiisoft#19254: Support specifying custom characters for `yii.validation.trim()` and replace deprecated `jQuery.trim()`

* Fix more types (yiisoft#19333)

* Migration::upsert() returns void

* Unneeded `@property` tags

* Add missing `null` param/return types

* Null types for db\Query + db\ActiveQuery

* Fixed testSelect

* Null types for Validator

* Several more null types

* One more

* Make AccessRule::$allow always a boolean

It doesn't have any special null handling, so it's safe to default to false

* Validator::$skipOnEmpty is always a boolean

* Catch all throwable from Widget::widget()

* Don't limit $previous args to \Exception

The actual \Exception allows $previous to be any throwable in PHP 7+

* Add Throwable catch block to Instance::get()

* Throwable cleanup

Comment changes only.

- Document \Throwable instead of \Exception wherever appropriate
- Removed redundant exception/error classes when \Throwable is referenced

* Yii::setlogger() accepts null

* ArrayHelper::removeValue() can remove any type of value

* Change default $allow value to false

* Added `jfif` to mimeTypes.php (yiisoft#19338)

* Added `jfif` to mimeTypes.php

Added the 'image/jpeg' mime type for `.jfif` files (https://en.wikipedia.org/wiki/JPEG_File_Interchange_Format)

* Update MimeTest.php

Added 'jfif' extension to MimeTest

* Fix autoload sections in composer.json (yiisoft#19337)

Move `yii\cs\`  into `autoload-dev` and add  `test` and `build` namespaces

* Fix yiisoft#19328: Passing null to parameter #1 ($string) of type string is deprecated in `yii\db\oci\Schema`

Co-authored-by: Kevin Desmettre <kdesmettre@oph74.fr>

* Extend examples in `guide/input-tabular-input.md` (yiisoft#19278)

* Fix yiisoft#19295: Added alias `text/rtf` for mime-type `application/rtf`

* Fix yiisoft#19270: Replace deprecated `scss` converter in `yii\web\AssetConverter::$commands`

* Fix yiisoft#19256: Pass missed `$view` to user's callback in `yii\validators\InlineValidator::clientValidateAttribute()`

* Resolve yiisoft#19327 (yiisoft#19336)

* Resolve yiisoft#19327

* cast from extracted column

* Update CHANGELOG

* Update CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

* Improve DataFilterTest (yiisoft#19341)

* Fix broken code block inside note block (yiisoft#19342)

* Fix yiisoft#19312: Fix PHP 8.1 error when passing null to `yii\helpers\BaseInflector`

* Fix broken code block (yiisoft#19344)

* 19324 dropdownlist selection for boolean attributes (yiisoft#19331)

* Fix yiisoft#19324 by allowing for direct comparison

* Invert meaning of strict

* Remove WinterSilence from authors list

* Fix improper implementation of strict checks

* Add test for renderSelectOptions

* Partially revert 'Fix improper implementation of strict checks'

* Add additional tests for strict

* Revert 'Fix improper implementation of strict checks'

* Add failing test for demonstration

* Comment out demonstration test

* Update framework/CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

Co-authored-by: Bizley <pawel@positive.codes>

* Fix code block in rest resource docs (yiisoft#19346)

Co-authored-by: Bizley <pawel@positive.codes>

* Allow null values for date formatters in Formatter (yiisoft#19348)

* Fix PHP 8.1 Empty header DataColumn (yiisoft#19350)

* Fix PHP 8.1 Empty header DataColumn

yiisoft#19349

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

* Fix generation of docs on the site (yiisoft#19353)

* Fix yiisoft#19290: Fix `Request::getHostInfo()` doesn’t return the port if a Host header is used

* Fixed issue when trying to check if a multidimensional array is dirty… (yiisoft#19272)

* Fixed issue when trying to check if a multidimensional array is dirty attribute or not

* fixed issue in logic and added test

* Updated test to only support PHP 7 and above

* Code refactoring

* Updated Test Cases

* Update framework/helpers/BaseArrayHelper.php

Co-authored-by: Bizley <pawel@positive.codes>

* Added to CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Maher Al Ghoul <maher.gh@opensooq.com>
Co-authored-by: Bizley <pawel@positive.codes>
Co-authored-by: Maher Al Ghoul <maher@rufoof.com>
Co-authored-by: Alexander Makarov <sam@rmcreative.ru>
Co-authored-by: Maher Al Ghoul <Maher.AlGhoul@opensooq.com>

* Fix guide generation errors (yiisoft#19356)

* Add guide section for filtering REST collection. (yiisoft#19357)

* Add guide section for filtering REST collection.

* Update docs/guide/rest-filtering-collections.md

Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>

* Update docs/guide/rest-filtering-collections.md

Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>

Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>

* Optimize BaseArrayHelper::isIndexed() (yiisoft#19363)

* add rest-quick-start (yiisoft#19364)

* Fix yiisoft#19368: Fix PHP 8.1 error when `$fileMimeType` is `null` in `yii\validators\FileValidator::validateMimeType()`

* Update workflows (yiisoft#19370)

* Fix scrutinizer ci and remove code coverage github actions. (yiisoft#19371)

* Fix typo in pipeline config (yiisoft#19372)

* Update PHP version is README.md (yiisoft#19375)

* Update link in Yii::powered() (yiisoft#19376)

* Fix returning type of `yii\base\Widget::run()` (yiisoft#19378)

* Fix yiisoft#19380: Fix PHP 8.1 passing non string to trim() in `yii\db\Query`

* Add Uzbek cyrillic messages translation (yiisoft#19382)

* Add Uzbek (cyrillic) language in messages config (yiisoft#19383)

* Fix typo in rest-filtering-collections.md (yiisoft#19388)

* Simple optimization and PHPDoc type fixes in yii\helpers\BaseArrayHelper (yiisoft#19387)

* Removed merging of parent labels in DynamicModel::attributeLabels() since DynamicModel::attributes() does not merge parent attributes. Cleaned up DynamicModel documentation. (yiisoft#19394)

* Fix scrutinizer (yiisoft#19395)

* fix import UnauthorizedHttpException (yiisoft#19404)

* Fix BaseArrayHelper::htmlDecode() (yiisoft#19386)

* Fix BaseArrayHelper::htmlDecode()

Add missed second argument on recursive calling.

* Fix BaseArrayHelper::htmlDecode()

`htmlspecialchars_decode()` flags must be same to `htmlspecialchars()` in `BaseArrayHelper::htmlEncode()`

* Update ArrayHelperTest.php

* Update ArrayHelperTest.php

* Update ArrayHelperTest.php

* Update CHANGELOG.md

* test workflow fix

* Update DeadLockTest::testDeadlockException() (yiisoft#19385)

* Add test case for Cache::getValue() with non existent key (yiisoft#19396)

* Fix yiisoft#19384: Normalize `setBodyParams()` and `getBodyParam()` in `yii\web\Request`

* Add TrimValidator to classes.php (yiisoft#19412)

* Fix translators in `messages/config.php` (yiisoft#19416)

* Fix translators in `messages/config.php` 

yiisoft#19415

* Update messageConfig.php

* Update config.php

* Update messageConfig.php

* Update CHANGELOG.md

* Update framework/CHANGELOG.md

Co-authored-by: Bizley <pawel@positive.codes>

Co-authored-by: Bizley <pawel@positive.codes>

* Fix outdated links in Formatter (yiisoft#19422)

* Normalize PhpDoc types in AssetsManager (yiisoft#19419)

* Fix yiisoft#19402: Add shutdown event and fix working directory in `yii\base\ErrorHandler`

* Fix yiisoft#19403: Fix types in `yii\web\SessionIterator`

* Fix yiisoft#19420: Update list of JS callbacks in `yii\widgets\MaskedInput`

* Change http to https in requirements.php (yiisoft#19423)

* Fix yiisoft#19401: Delay `exit(1)` in `yii\base\ErrorHandler::handleFatalError`

* Make docs more clear about the length of the result (yiisoft#19424)

* Truncate help add method and suffix (yiisoft#19425)

yiisoft#19424

* update memcached link (yiisoft#19428)

* Update intro-yii.md & intro-upgrade-from-v1.md & add start-prerequisites.md translation [id] (yiisoft#19427)

* Update intro-yii.md translation [id]

* Update intro-upgrade-from-v1.md translation [id]

* Add start-prerequisites.md translation [id]

Co-authored-by: Mas Aldo <aldo@mifx.com>

Co-authored-by: Bizley <pawel@positive.codes>
Co-authored-by: Ihor Sychevskyi <arhell333@gmail.com>
Co-authored-by: Anton <info@ensostudio.ru>
Co-authored-by: Evgeniy Tkachenko <et.coder@gmail.com>
Co-authored-by: Alexander Makarov <sam@rmcreative.ru>
Co-authored-by: lexizz <lexizz19@mail.ru>
Co-authored-by: Jaak Tamre <jaak.tamre@gmail.com>
Co-authored-by: Francisco Budaszewski Zanatta <xikaoswow@gmail.com>
Co-authored-by: Senthil Nathan <snathan9@users.noreply.github.com>
Co-authored-by: Oscar Barrett <OscarBarrett@users.noreply.github.com>
Co-authored-by: rhertogh <rhertogh@users.noreply.github.com>
Co-authored-by: Leo <leo.on.the.earth@gmail.com>
Co-authored-by: Alexander Gubarev <gubarev.alex@gmail.com>
Co-authored-by: Basil <git@nadar.io>
Co-authored-by: Michaël Arnauts <michael.arnauts@gmail.com>
Co-authored-by: hexkir <4928273+hexkir@users.noreply.github.com>
Co-authored-by: Oleg Poludnenko <ua.oleg@gmail.com>
Co-authored-by: Mario Simão <mariosimao@poli.ufrj.br>
Co-authored-by: JT Smith <nexxai@gmail.com>
Co-authored-by: Toir Tuychiev <toir427@gmail.com>
Co-authored-by: BIKI DAS <bikid475@gmail.com>
Co-authored-by: Chris Smith <chris@cgsmith.net>
Co-authored-by: toir427 <t.tuychiev@safenetpay.com>
Co-authored-by: Aleksandr Bogatikov <perlexed@gmail.com>
Co-authored-by: Mehdi Achour <machour@gmail.com>
Co-authored-by: Sohel Ahmed Mesaniya <sam.wankaner@gmail.com>
Co-authored-by: Raphael de Almeida <jaguarnet7@gmail.com>
Co-authored-by: Marco van 't Wout <marco@tremani.nl>
Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>
Co-authored-by: John Goetz <jgoetz@users.noreply.github.com>
Co-authored-by: AnkIF <33079906+AnkIF@users.noreply.github.com>
Co-authored-by: ptolomaues <vladislav.lutsenko@gmail.com>
Co-authored-by: Papp Péter <papp.peter@p4it.hu>
Co-authored-by: irice <sgetaplus@gmail.com>
Co-authored-by: Bilal <33921776+glowinginthedark@users.noreply.github.com>
Co-authored-by: ntesic <nikola.tesic@open.telekom.rs>
Co-authored-by: ntesic <nikolatesic@gmail.com>
Co-authored-by: charescape <53265646+charescape@users.noreply.github.com>
Co-authored-by: stevekr <stevekr@users.noreply.github.com>
Co-authored-by: Aurélien Chretien <achretien@users.noreply.github.com>
Co-authored-by: Roman <murolike@gmail.com>
Co-authored-by: twinpigs <mr.owner@gmail.com>
Co-authored-by: Dmitrijlin <dmitrij-lin9@rambler.ru>
Co-authored-by: Long TRAN <longthanhtran@users.noreply.github.com>
Co-authored-by: Sartor <sartorua@gmail.com>
Co-authored-by: Sartor <sartor@syneforge.com>
Co-authored-by: Roman Grinyov <w3lifer@gmail.com>
Co-authored-by: AIZAWA Hina <hina@fetus.jp>
Co-authored-by: Ar Rakin <68149013+virtual-designer@users.noreply.github.com>
Co-authored-by: jef348 <71833496+jef348@users.noreply.github.com>
Co-authored-by: Daniel Becker Alves <danielbeckeralves@gmail.com>
Co-authored-by: Ar Rakin <rakinar2@gmail.com>
Co-authored-by: Tobias Munk <schmunk@usrbin.de>
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
Co-authored-by: eecjimmy <eecjimmy@users.noreply.github.com>
Co-authored-by: Brandon Kelly <brandon@pixelandtonic.com>
Co-authored-by: Arkeins <7311955+Arkeins@users.noreply.github.com>
Co-authored-by: Kevin Desmettre <kdesmettre@oph74.fr>
Co-authored-by: Alexey <neff.alexey@gmail.com>
Co-authored-by: FordSmh <61039737+FordSmh@users.noreply.github.com>
Co-authored-by: Adnan <100121069+adnandautovic@users.noreply.github.com>
Co-authored-by: Maher Al Ghoul <speedplli@windowslive.com>
Co-authored-by: Maher Al Ghoul <maher.gh@opensooq.com>
Co-authored-by: Maher Al Ghoul <maher@rufoof.com>
Co-authored-by: Maher Al Ghoul <Maher.AlGhoul@opensooq.com>
Co-authored-by: Wilmer Arambula <42547589+terabytesoftw@users.noreply.github.com>
Co-authored-by: Kenjebaev Sag'indiq <kenjebaev.sagindik@gmail.com>
Co-authored-by: Vitaly <walkboy@mail.ru>
Co-authored-by: PowerGamer1 <PowerGamer1@users.noreply.github.com>
Co-authored-by: Nekrasov Ilya <nekrasov.ilya90@gmail.com>
Co-authored-by: Aldo Karendra <akarendra835@gmail.com>
Co-authored-by: Mas Aldo <aldo@mifx.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants