Commit graph

5221 commits

Author SHA1 Message Date
Bryan Crowe
3e05ab897c Missed a couple instanceOf asserations 2013-09-24 22:12:51 -04:00
Bryan Crowe
9a1170cd2b Replaced true asserations with instanceOf asserations in test cases 2013-09-24 22:10:36 -04:00
Bryan Crowe
7d7954ce18 Replaced all is_a() calls with instanceof operator 2013-09-24 21:08:06 -04:00
euromark
653aed7701 is_a() to instance of - completes PR 1669 2013-09-24 22:57:51 +02:00
Bryan Crowe
1393325ad1 Use instanceof instead of is_a() in Controller.php 2013-09-23 21:37:27 -04:00
mark_story
a30f861f2c Use array_key_exists instead of isset()
This allows contains() to work with null values.

Fixes #4083
2013-09-19 21:44:09 -04:00
euromark
f62f46562c add missing create() for creating a new record. 2013-09-19 00:23:56 +02:00
euromark
17bd465cae simplify tests 2013-09-19 00:17:21 +02:00
ADmad
1d89ee1c6d Fixed TreeBehavior::recover() when using scope. Fixes #4062. 2013-09-19 00:39:19 +05:30
euromark
58f38f1667 Fix casing of validation rules in bake 2013-09-18 18:31:55 +02:00
Bryan Crowe
5c329b4875 Updated CakeTime::i18nFormat() doc block description 2013-09-17 23:09:46 -04:00
mark_story
809f6129e0 Update docs for HttpSocket methods.
delete() uses the request body, not the query string.
2013-09-17 21:17:26 -04:00
Bryan Crowe
24a522f972 Updated doc block for JsonView's subDir property 2013-09-17 20:25:32 -04:00
Bryan Crowe
878e599976 Corrected some grammar in the JsonView class doc blocks 2013-09-17 20:15:18 -04:00
euromark
e3a3946e89 address casting cs 2013-09-17 15:15:25 +02:00
euromark
12f2f729c8 more cs 2013-09-17 14:53:07 +02:00
euromark
382f75dbfc cs corrections, bool to boolean and int to integer. 2013-09-17 14:44:34 +02:00
mark_story
5ec9b145bf Fix label element for attributes not matching their inputs.
Radio elements would contain ModelModelFieldValue instead of
ModelFieldValue like they should. This was caused by the fix for #3936
and lack of tests for create() + radio().

Fixes #4071
2013-09-16 22:38:28 -04:00
spiliot
37c9832dc1 removed duplicate test case
Was exact duplicate of case starting line 692
2013-09-17 00:48:09 +03:00
mark_story
4ea6c158d1 Fix wording and remove trailing spaces. 2013-09-16 12:04:29 -04:00
Jerome Roethlisberger
3a4a0e54eb Improved wording of Model::invalidFields()
Inspired by
http://book.cakephp.org/2.0/en/models/data-validation/validating-data-from-the-controller.html#validating-data-from-the-controller
2013-09-16 16:13:58 +02:00
euromark
c8b18164c5 fix test 2013-09-16 00:49:01 +02:00
euromark
910ee33710 remove wrong trailing slash 2013-09-16 00:40:37 +02:00
mark_story
085636ea1b Update version number to 2.4.1 2013-09-14 22:07:19 -04:00
mark_story
7379d32b59 Simplify & fix phone number validation.
The changes made in fa3d4a0bb5 tightened
the area code validation too much and excluded at least one valid area
code. This change replaces that with a more generic solution that does
not attempt to exclude non-allocated but potentially valid area codes.

Fixes #4066
2013-09-13 23:05:40 -04:00
Marc Würth
0a7d5b9c3f Corrected a CakeLog example in a DocBlock about scopes and types
> Its important to remember that
> when using scopes you must also define the `types` of log messages
>  that a logger will handle. Failing to do so will result in the logger
>  catching all log messages even if the scope is incorrect.

According to this the previous example would fail to log correctly.
2013-09-13 03:07:46 +02:00
mark_story
ba4afcc074 Fix incorrectly encoded address fields.
Address fields cannot contain : or " it causes a number of
mail servers/clients to be confused.

Fixes #4058
2013-09-12 20:14:11 -04:00
Mark Story
ba016c2c68 Merge pull request #1630 from dereuromark/master-cleanup
Master cleanup
2013-09-12 16:46:18 -07:00
euromark
a796b26f13 fix renderLayout and update deprecated and outdated code 2013-09-13 00:09:31 +02:00
ovidiupruteanu
f416a321c7 flushMethodCache not working if called before cacheMethod
When calling flushMethodCache it correctly empties self::$methodCache but if cacheMethod is called afterwards self::$methodCache gets populated with data from the Cache.
2013-09-12 22:02:39 +03:00
Marc Würth
446792987a Replaced two elseifs by if in sqlserver datasource 2013-09-11 23:15:05 +02:00
Adam Taylor
186f2a27e0 Make the "pr" function use printf instead of echo sprintf 2013-09-10 19:52:18 -06:00
Mark Story
fd50c5277e Merge pull request #1624 from ADmad/fix-paginator-order
Fix setting of order in Paginator options when using model's order. 

Refs #3902
2013-09-10 13:41:51 -07:00
euromark
beff12d8a5 add missing params for parent call 2013-09-10 21:19:30 +02:00
ADmad
1d0c785725 Fixed setting of order in Paginator options when using model's order. Refs f680c76, #3902 2013-09-10 22:47:31 +05:30
Ber Clausen
0a52061d86 Update afterFind() callback signature to be PHP5.4+ compliant. 2013-09-10 14:15:01 -03:00
Mark
994a5b00b6 Merge pull request #1622 from bar/php54-afterSave
Update Model/Behavior afterSave() callback signature to be PHP5.4+ compliant.
2013-09-10 04:04:04 -07:00
mark_story
fc2e1fac4e Fix clearing groups with FileCache and no prefix.
If you used FileCache + groups + an empty prefix cached files would not
be cleared as strpos() would fail.
2013-09-09 22:24:18 -04:00
Ber Clausen
867d4b312d Update afterSave() callback signature to be PHP5.4+ compliant. 2013-09-09 21:34:11 -03:00
Ber Clausen
98a32c334a Fix CS. 2013-09-09 21:25:22 -03:00
mark_story
5210f831c8 Add test for insertMulti with id in the last spot.
Both tests work, so there are no changes to the implementation.

Closes #4048
2013-09-09 19:43:15 -04:00
mark_story
2fc3222322 Fix whitespace. 2013-09-09 12:20:54 -04:00
ovidiupruteanu
7019c79b81 Quoting test for null value and string column 2013-09-09 17:14:09 +03:00
ovidiupruteanu
b58940e9b5 Fixed handling null values in Sqlserver->value
The value function quoted a null value as N'' instead of NULL.
As a result is produced queries like [name] IS N'' instead of [name] IS NULL which resulted in an SQL error.
2013-09-09 16:33:54 +03:00
Ber Clausen
c3ee9a2058 JsonView should return null if no data is set, regardless of the type of '_serialize'.
It should also honor true/false/0/'' values.
2013-09-07 02:38:52 -03:00
Mark Story
f82814d7ac Merge pull request #1618 from dereuromark/master-cs
Remove last yoda conditions as per coding standards guidelines.
2013-09-06 11:11:24 -07:00
euromark
959988cfa1 Remove last yoda conditions as per coding standards guidelines. 2013-09-06 18:36:57 +02:00
mark_story
0891073d19 Add coding standards ignore comments to FileEngine
We normally disallow error supression but it is the only way to
atomically delete files.
2013-09-06 12:19:23 -04:00
davidsteinsland
45b3417bd7 Fixed race conditions for FileEngine 2013-09-06 15:46:01 +02:00
Mark Story
0f528c279a Merge pull request #1614 from okinaka/2.x-disused-code
Postgres::truncate(): Delete disused code.
2013-09-05 18:16:22 -07:00
Mark Story
66394f2201 Merge pull request #1610 from bar/php54-callback-signatures
Update Model/Behaviors callback signature to be PHP5.4+ compliant.

This may require updates to userland behaviours.
2013-09-05 11:11:15 -07:00
mark_story
6a6371b2d4 Fix CROSS JOINs
While seldomly used, CROSS joins should not generate invalid SQL.

Fixes #4050
2013-09-05 12:45:48 -04:00
mark_story
e3e4efba0a Add test for issue #3936
radio() method should accept an array for the label element.

Refs #3936
2013-09-05 11:04:47 -04:00
Christian Winther
a1866733a0 Merge pull request #1611 from ADmad/2.4-log-suffix
Dropping 'Log' suffix from log configs as per change in cb24dbb084.
2013-09-05 07:24:41 -07:00
mark_story
3c9500a3cb Fix whitespace error. 2013-09-05 10:21:24 -04:00
Mark Story
f191ff017b Merge pull request #1597 from aread22/master
Potential Fix for LightHouse Ticket #3936

Fixes #3936
2013-09-05 07:20:48 -07:00
Ber Clausen
c524645738 Update Model/Behaviors callback signature to be PHP5.4+ compliant. 2013-09-05 11:17:02 -03:00
ADmad
29d0e26710 Dropping 'Log' suffix from log configs as per change in cb24dbb084.
Reverts regressive change done in 7e28636a72.
2013-09-05 19:37:41 +05:30
Schlaefer
82da8d9d07 performance improvements in CakeTime::timeAgoInWords Edit
- rearranges code to move return statements before otherwise dead code
- only do translation if translated string is actually used
2013-09-05 12:22:28 +02:00
Hadrien Collongues
7e28636a72 Fix log classname in skeleton
Fixes "logger class File does not implement a write method."
It probably tries to use the utility File class instead of the logger
2013-09-05 11:20:39 +02:00
okinaka
e0f24d0ade Postgres::truncate(): Delete disused code. 2013-09-05 14:11:50 +09:00
aread22
cb056a5cbe Use FormHelper->label instead of HtmlHelper->useTag
Implementing suggested fix by mark_story
2013-09-04 13:32:36 -04:00
Rob McVey
7f44cc01b5 Plural of breif is breifs not breives 2013-09-04 09:20:32 +01:00
mark_story
4c92cdcada Reorder inflection rules.
Place rules for words like 'archives' and 'relatives' before words like
'knives'.

Fixes #4040
2013-09-03 12:50:02 -04:00
mark_story
800ffa804b Fix invalid CSS in fixture files.
Fixes #4041
2013-09-03 09:55:04 -04:00
Alexander Hofbauer
78d5b69bec Load helpers of email view 2013-09-02 14:36:08 +02:00
mark_story
229c824da6 Remove a default helper from View.
This goes back to the days of yore and combined with
b8320fdbb7 it causes issues. The specific
issue at hand was testing a helper that uses other aliased helpers
(HtmlHelper specifically). The core helper would always be loaded
instead of the aliased one.
2013-09-01 21:39:59 -04:00
aread22
4ab1c8c225 Format to CakePHP code sniffs 2013-09-01 21:08:17 -04:00
aread22
64bb74a7e8 Potential Fix for LightHouse Ticket #3936
I believe I found a fix for this issue. I am here at #CakeFest2013 and during the #HourOfContribution I ran across this issue.

Currently in CakePHP 2.4 on Line 1522 - 1524 you can see the following code:

@@@ php
if ($label) {
	$optTitle = $this->Html->useTag('label', $tagName, '', $optTitle);
}
@@@

The $label variable here the is the $label array passed into the input method in Sethathi example above. The problem is that the $label array is completely ignored and instead a label is created using the HtmlHelper->useTag method.

I have what I believe is a fix for this issue but it hasn't been extensively tested. I tested against Sethathi example in the ticket and it produced the correct result.

The fix is simple. We detect if an array is passed in and then send it to the FormHelper label method instead of the HtmlHelper useTag method. The FormHelper label methods accepts an options array, so we pass in the $label array.

This will probably need to be fixed for checkbox also

"ask":https://cakephp.lighthouseapp.com/users/235987 helped me with this fix
2013-09-01 20:56:44 -04:00
Matt Reishus
bb98ac761f ConsoleInput::_canReadLine change from private -> protected 2013-09-01 17:15:51 -05:00
Matt Reishus
3b057cb82b Correct style 2013-09-01 16:58:23 -05:00
Matt Reishus
916d992162 Use readline in console when supported
$this->stdin->read(); will use readline if the system is detected to
support it.  In linux, you will be able to use the left and right arrow
keys to edit the current line, use the up and down keys to navigate
history, press ^U to delete the entire line, etc.

Before this, using arrow keys in linux will just spam characters like
^[[C^[[A^[[D^[[C^[[A^.  Useful for "Console/cake console"
2013-09-01 16:20:29 -05:00
Kim Egede Jakobsen
63dfbe55f7 Added/removed newlines to make the code more readable. 2013-09-01 12:09:14 -07:00
Kim Egede Jakobsen
09bdad6ceb Reduce variable use/duplicate code. 2013-09-01 12:08:48 -07:00
Kim Egede Jakobsen
b64c7e3e84 Remove the $state === 'after' condition.
Can only be before / after.
2013-09-01 11:06:45 -07:00
euromark
eb71eeeac5 add scope for generateTreeList - resolves ticket 4028 2013-09-01 01:02:26 -07:00
José Lorenzo Rodríguez
fec646b69f Merge pull request #1588 from kimegede/caketime-docblock-update
Added @link CakeTime.
2013-08-31 21:59:11 -07:00
Kim Egede Jakobsen
539040aa07 Added @link CakeTime. 2013-08-31 21:56:15 -07:00
Phally
f4929c1b04 Strict checks for I18n::loadLocaleDefinition(). 2013-09-01 06:20:53 +02:00
Phally
4f91465af7 Safer way to prevent the array to string notice. 2013-09-01 06:16:10 +02:00
Ceeram
84c980f1f4 avoid notices when loading locale file
Conflicts:

	lib/Cake/Test/Case/I18n/I18nTest.php
2013-09-01 06:05:40 +02:00
euromark
a36456cc87 Correct doc blocks for AuthComponent 2013-08-31 19:58:10 -07:00
Kim Egede Jakobsen
fcf9f34392 Added @link to CakeNumber's docblock 2013-08-31 17:32:48 -07:00
Kim Egede Jakobsen
46d3d8e48e Added @link to all public functions there have documentation.
And correct a small 'typo'.
2013-08-31 17:12:29 -07:00
Phally
28dbc5b89b PHPCS fixes. 2013-08-31 13:30:05 +02:00
ADmad
75e8facd2f Remove JS constant use from tests. 2013-08-31 11:45:59 +05:30
mark_story
83db877765 Update version number to 2.4.0 2013-08-30 16:03:49 -04:00
mark_story
4f237e6a93 Merge branch '2.4' making 2.4 into the master branch.
Conflicts:
	lib/Cake/VERSION.txt
2013-08-30 16:02:42 -04:00
mark_story
ca9a305679 Update version number to 2.3.10 2013-08-30 15:56:44 -04:00
mark_story
7bd2174c5b Refactor tests to use a data provider. 2013-08-30 15:36:18 -04:00
mark_story
94b602b684 Merge pull request #1456 'fix-for-3515' into 2.4
Conflicts:
	lib/Cake/Test/Case/View/ViewTest.php

Fixes #3515
2013-08-30 15:27:49 -04:00
Mark Story
824a6f700b Merge pull request #1563 from mvdriel/fix-i18n-extract
Extract category strings to separate .po files
2013-08-30 12:19:17 -07:00
Mark van Driel
256e1f6532 Removed unused variable 2013-08-29 10:49:23 +02:00
Mark Story
a902529702 Merge pull request #1570 from cakephp/issue-4030
2.4 - Load helpers at View construction.
2013-08-28 14:28:00 -07:00
mark_story
c03edd9d1a Don't load Helpers in dataviews when _serialize is set.
Loading helpers when they aren't going to be used is wasteful.
2013-08-28 15:47:44 -04:00
Mark van Driel
cce1fafd80 Fixed typo in comments 2013-08-28 18:49:34 +02:00
mark_story
f18d354f55 Merge branch 'master' into 2.4 2013-08-28 12:35:07 -04:00
mark_story
b8320fdbb7 Load helpers at View construction.
Loading helpers earlier in View's lifecycle allows for the removal of
many duplicated code segments and a now useless property. It slightly
modifies how View behaves in a test case, but that issue is easily
remedied by calling loadHelpers() a second time.

This primarily fixes issues where helpers may not be loaded in View
subclasses if they override any of View's methods. This is particularly
problematic when aliased helpers are involved.

Refs #4030
2013-08-28 12:27:07 -04:00
mark_story
c1ae41da51 Correctly generate bigint primary keys in sqlite.
generate bigint primary keys correctly. Autoincrement cannot be set as
it only works with INTEGER columns[1]. I decided to use some string
manipulations as the entire SQL generation bits are a bit janky and I've
already re-written them for 3.0.

[1] https://www.sqlite.org/autoinc.html

Closes #GH-1552
2013-08-27 18:11:04 -04:00
Mark van Driel
ed10c3332d Fixed typos in text and comments 2013-08-27 21:12:03 +02:00
Andras Kende
17f9661961 Added mask to File cache docblock 2013-08-27 10:02:48 -04:00
Mark van Driel
c4ec8bedd0 Fixed category constant values: constants in Cake don't use the same values as PHP (Linux) 2013-08-27 12:30:39 +02:00
Mark van Driel
1fd936f3cc Fixed cross-platform issue: LC_* constants have different values on windows 2013-08-27 10:51:00 +02:00
ADmad
fc47bf9e1d Avoid reparsing locale definition file. 2013-08-27 04:04:39 +05:30
Mark van Driel
88d7fbeb53 Extract category strings to separate .po files 2013-08-25 23:04:05 +02:00
euromark
80d55feda6 also remove app ones 2013-08-25 21:42:03 +02:00
euromark
1aba204ec7 remove $name where not necessary to unify this in 2.x 2013-08-25 21:19:55 +02:00
mark_story
42feb8dff6 Fix failing test.
Quote encoding in confirm handlers has changed in 2.4. Update the
relevant test.
2013-08-24 21:51:42 -04:00
mark_story
ceb35ac39a Merge branch 'master' into 2.4 2013-08-24 21:50:02 -04:00
Saleh Souzanchi
d606bcb7fd convert forbidden character in filename(Windows) with underline 2013-08-25 02:24:37 +04:30
Saleh Souzanchi
e157d8a7e6 convert forbidden character in filename(Windows) with underline 2013-08-25 02:09:13 +04:30
mark_story
53d265cfba Merge branch 'master' into 2.4 2013-08-23 12:56:43 -04:00
mark_story
59cef53ffe Update docs to reflect the routes that are actually connected.
Refs #GH-1413
2013-08-22 17:54:05 -04:00
Renan Gonçalves
703d9881e9 Adding files to be compared against bake generated files, fixing bake templates in the meantime.
Writing assertContains() or assertRegExp for generated code is a pain and making the test cover most part of it is very difficult.

Things like:
 ```
 } else {
 }
 ```

Are very easy to happen (which was the case) and was not being covered by the test.
2013-08-21 23:44:07 +02:00
mark_story
faa2cbd3c3 Remove session.auto_start configuration.
It now fails in PHP >= 5.5.2 . Also it never did anything in earlier
versions as the session would have already been started if auto_start
was true.

Fixes #4010
2013-08-21 13:18:44 -04:00
mark_story
24123e2374 Add test for postLink with escape false + confirm option.
Closes #4008
2013-08-21 13:09:47 -04:00
Rachman Chavik
9d8bb8c047 Sqlite::truncate(): Verify sqlite_sequence exists before _execute()
`sqlite_sequence` is a dynamic table that's only available when a table in
the database use an auto increment field.  For some cases, eg: databases that
exclusively use uuid for primary keys, this table won't exist and
truncate() call will fail with:

  Error: SQLSTATE[HY000]: General error: 1 no such table: sqlite_sequence
2013-08-21 16:34:21 +07:00
José Lorenzo Rodríguez
8e21e255dc Merge pull request #1543 from dereuromark/2.4-translations
remove code, class names and paths from translation strings.
2013-08-20 15:33:42 -07:00
euromark
361980fade remove code, class names and paths from translation strings. 2013-08-21 00:05:53 +02:00
mark_story
6d80d6a3cb Add missing return. 2013-08-20 18:03:52 -04:00
euromark
036954b52d remove duplicate newlines according to CS 2013-08-20 20:27:06 +02:00
Renan Gonçalves
8ca92a1af0 Breaking trigger_error() to multiple lines to shorten the line length.
As proposed in https://github.com/cakephp/cakephp/pull/1525/files#r5779374
2013-08-20 17:48:56 +02:00
mark_story
67855896ef Remove invalid code.
Fixes #4002
2013-08-20 11:34:30 -04:00
euromark
5ed9e5d691 sync and correct generic css 2013-08-19 21:51:04 +02:00
mark_story
b711d38bf3 Update version number to 2.4.0-RC2 2013-08-19 10:49:03 -04:00
mark_story
9ea2926bf3 Merge branch 'master' into 2.4 2013-08-19 10:40:29 -04:00
mark_story
f7a81a9aee Conditionally define constants in the CLI environment.
Only define constants if they don't already exist. Users can modify
`app/Console/cake.php` and define constants before this code executes.

Fixes #4000
2013-08-19 10:40:09 -04:00
AD7six
09cf69c452 Pass Controller:$components config to mocked components
Otherwise there can be significant differences in behavior between using
an unmodifiedcomponent in testAction and using a mock as the config will not be
propogated from the controller
2013-08-19 10:33:16 +00:00
mark_story
0f2d59d987 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Network/CakeResponse.php
	lib/Cake/TestSuite/CakeTestCase.php
2013-08-18 23:10:08 -04:00
mark_story
675f828e16 Remove insertQuery and deleteQuery.
These properties were never implemented and are misleading when people
try to use them.

Closes #3997
2013-08-18 21:37:37 -04:00
Phally
524aaf3449 Makes PHPCS pass again. 2013-08-18 16:12:23 +02:00
mark_story
a140b30435 Add a test for Hash::sort()
Closes #3956
2013-08-17 17:16:33 -04:00
Mark Story
005699eb49 Merge pull request #1533 from dereuromark/master-null-checks
unify null checks - avoid method call in favor of strict check
2013-08-17 12:05:52 -07:00
joostdekeijzer
7fe2395be3 RedirectRoute class does not honor persist as array with custom route elements.
Custom route elements like '/:lang/etc' should be persisted by redirect
routes as they are in standard routes.

Refs #GH-1531
2013-08-17 14:51:12 -04:00
euromark
6a14f37b74 a few more orders in test case corrected 2013-08-16 20:55:17 +02:00
euromark
47e8e0c57a simplyfy test and correct some test param orders 2013-08-16 20:51:11 +02:00
mark_story
3244b9e3d7 Merge branch 'master' into 2.4 2013-08-16 14:47:01 -04:00
euromark
6cf147e8c8 unify null checks - avoid method call in favor of strict check 2013-08-16 20:12:49 +02:00
dmromanov
7989bad5b7 Corrected codestyle 2013-08-16 14:12:27 +04:00
dmromanov
b4092e374d Corrected spelling 2013-08-16 14:06:36 +04:00
dmromanov
56ef44f495 Excluded method names from several tanslation strings
Removed unnecessary sprintfs
2013-08-16 13:42:28 +04:00
ADmad
8428928fd6 Merge pull request #1528 from mvdriel/caketime-fix
Added workaround for strtotime("0000-00-00 00:00:00") returning -6216995...
2013-08-15 10:55:03 -07:00
Mark Story
7c29aa5155 Merge pull request #1508 from fuga/feature/email-config
making the config method of email-transport-classes mergable
2013-08-15 08:26:11 -07:00
Mark van Driel
97aaa89b3f Refactored the fix 2013-08-15 17:13:31 +02:00
Marc Würth
64f4adf626 Shortened line length of trigger_error calls and improved @param of write()
http://www.phpdoc.org/docs/latest/for-users/phpdoc/tags/param.html
> The @param tag MAY have a multi-line description and does not need explicit delimiting.
2013-08-15 17:09:24 +02:00
Floris
85313e84af Minor Sanitize::escape() update
If the Datasource is not going to be used, do access it.
2013-08-15 12:15:09 +02:00
Mark van Driel
1595287290 Added workaround for strtotime("0000-00-00 00:00:00") returning -62169955200 on a 64 bit system 2013-08-15 08:58:05 +02:00
Mark Story
6bec7a36a4 Merge pull request #1525 from dmromanov/2.4-bugfix3986
Bugfix #3986
2013-08-14 16:57:04 -07:00
Mark Story
c040bb0cdc Merge pull request #1523 from tersmitten/improved-tests-that-use-setlocale
Makes the locale test not always pass, be verbose when it is skipped.
2013-08-14 16:54:50 -07:00
dmromanov
ff01c28735 Prevent accidently translating "%score" as "score" 2013-08-15 03:27:26 +04:00