mark_story
0b0d180aad
Changing how insertMulti handles boolean values.
...
Binding values individually allows boolean to work correctly.
2011-11-09 22:31:06 -05:00
Jose Lorenzo Rodriguez
b983aa9192
Small optimization in DboSource
2011-11-04 10:01:45 -04:30
ADmad
1244656595
Prevent unneeded afterFind callback triggering on associated models. Fixes #2057
2011-10-26 19:36:32 +05:30
Ceeram
2890e6659e
Fixing execute() $this->_result was not instance of PDOStatement after queries other then SELECT, lastAffected() now returns correct integer
2011-10-20 14:27:48 +02:00
mark_story
055224ef68
Merge remote-tracking branch 'origin/1.3' into merger
...
Conflicts:
cake/libs/controller/controller.php
cake/libs/model/datasources/dbo/dbo_mysqli.php
cake/tests/cases/libs/controller/controller.test.php
cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php
cake/tests/lib/cake_test_suite_dispatcher.php
lib/Cake/Model/Behavior/TranslateBehavior.php
lib/Cake/Model/Datasource/DataSource.php
lib/Cake/Model/Datasource/Database/Mysql.php
2011-10-06 21:06:40 -04:00
mark_story
c9bd97309f
Merge branch '1.3' into merger
...
Conflicts:
cake/libs/configure.php
cake/libs/controller/components/email.php
cake/libs/model/datasources/dbo/dbo_mysqli.php
cake/libs/view/pages/home.ctp
cake/tests/cases/libs/controller/components/email.test.php
cake/tests/cases/libs/model/datasources/dbo_source.test.php
lib/Cake/Config/config.php
lib/Cake/Console/Command/Task/ViewTask.php
lib/Cake/Model/Datasource/DboSource.php
lib/Cake/Model/Model.php
lib/Cake/Test/Case/Model/ModelReadTest.php
lib/Cake/Test/Case/Model/ModelValidationTest.php
lib/Cake/Test/Case/Utility/InflectorTest.php
lib/Cake/Test/Case/View/Helper/FormHelperTest.php
lib/Cake/Utility/Inflector.php
lib/Cake/Utility/Validation.php
lib/Cake/VERSION.txt
lib/Cake/View/Helper.php
lib/Cake/View/Helper/FormHelper.php
2011-10-01 22:38:20 -04:00
mark_story
af4b0c9c1b
Make DboSource::lastError() fallback to the connection.
...
If there is no argument the connection error should be checked
for an error.
Add a test for most of lastError(). Mocking PDO is a pain.
Fixes #2046
2011-09-30 21:56:39 -04:00
mark_story
a3f25ee5e3
Fixing issue with integer columns and NULL values.
...
Fixes #2037
2011-09-29 20:28:52 -04:00
Jose Lorenzo Rodriguez
df2ef0e4f1
Bringing the SQlserver datasource up to date, fixing a doc block
2011-09-28 21:23:06 -04:30
mark_story
6a4e7558fc
Merge branch '1.3' into merger
...
Conflicts:
cake/basics.php
cake/console/libs/tasks/extract.php
cake/libs/view/helpers/js.php
cake/tests/cases/console/libs/tasks/extract.test.php
cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php
cake/tests/cases/libs/model/datasources/dbo_source.test.php
cake/tests/test_app/views/pages/extract.ctp
lib/Cake/Cache/Engine/MemcacheEngine.php
lib/Cake/Model/Behavior/ContainableBehavior.php
lib/Cake/Model/Datasource/Database/Mysql.php
lib/Cake/Model/Datasource/DboSource.php
lib/Cake/Model/Model.php
lib/Cake/Test/Case/Model/Behavior/ContainableBehaviorTest.php
lib/Cake/Test/Case/Model/CakeSchemaTest.php
lib/Cake/Test/Case/Model/Datasource/Database/PostgresTest.php
lib/Cake/Test/Case/View/Helper/FormHelperTest.php
lib/Cake/Test/Case/View/Helper/TimeHelperTest.php
2011-09-18 12:09:04 -04:00
Jose Lorenzo Rodriguez
3d0af8b690
Adding a new exception renderer method to show useful error for failed queries
2011-09-04 04:50:19 -04:30
Jose Lorenzo Rodriguez
d24c408537
Merge branch '2.0' of github.com:cakephp/cakephp into 2.0
2011-09-03 14:31:02 -04:30
mark_story
4172eac7c6
Removing trigger_warning() that causes tests to fail in Sqlite, as
...
it does not assign lengths for integer columns.
2011-09-03 18:59:23 +01:00
Jose Lorenzo Rodriguez
49b8b24ac2
Merge branch '2.0' of github.com:cakephp/cakephp into 2.0
2011-09-03 13:09:04 -04:30
mark_story
2ceea79862
Fixing errors and failing tests with SQLite.
...
Seems that MySQL is extremely permissive with NOT NULL fields.
SQLite is more strict it seems.
2011-09-03 18:37:29 +01:00
Jose Lorenzo Rodriguez
36470f4a86
Removing $error property from DboSource, errors in queries will throw exceptions now
2011-09-03 12:17:00 -04:30
mark_story
cc8d44f21f
Adding an exception for when a PDO interface is not installed.
2011-09-03 17:03:31 +01:00
Mark Story mark@mark-story.com
8ce6c31708
Adding extra information about DboSource::fetchAll() and result caching.
2011-08-31 22:52:33 +01:00
Juan Basso
e9390985ca
Changed mergeAssociation scrubQueryData to be protected.
2011-08-21 21:27:35 -04:00
Juan Basso
f5a54d00dd
Changed methods and attributes from private to protected.
2011-08-20 00:43:34 -04:00
Juan Basso
895c10af7b
Adjusted some types in @param, @return and @var.
2011-07-31 22:57:17 -04:00
Juan Basso
ebb70c4810
Fixed type to parameters that is defined in the code.
2011-07-31 18:03:28 -04:00
Juan Basso
9bc3e567c1
Removed the @access and @static.
2011-07-30 20:56:48 -04:00
Juan Basso
e4a1816557
Changed the signature of methods to avoid strict messages.
2011-07-30 19:17:20 -04:00
Juan Basso
39b4032820
Fixed some API doc in model.
2011-07-30 18:38:57 -04:00
Jose Lorenzo Rodriguez
cfd2d9e00b
Updating all @package annotations in doc blocks
2011-07-26 01:46:14 -04:30
Jose Lorenzo Rodriguez
50d4330487
Ensuring uniqueness of method cache keys, all tests passing now
2011-07-17 23:45:22 -04:30
Jose Lorenzo Rodriguez
03dac31930
Using the static property instead
2011-07-17 22:41:12 -04:30
Jose Lorenzo Rodriguez
a786f4b1c6
Making DboSource::$methodCache a static variable to be able to share the cache between multiple instances of the same class
2011-07-17 22:26:21 -04:30
Jose Lorenzo Rodriguez
762ebd4b93
Implementing a persitent method cache for DboSource, using a stronger hashing algorithm to ensure unique keys
2011-07-17 19:08:23 -04:30
Jose Lorenzo Rodriguez
ca0a7e4271
Removing method cache from DboSource::conditions() this was consuming too much memory and bringing little to no performance increase
2011-07-17 17:44:12 -04:30
Jose Lorenzo Rodriguez
b603232aee
Removing redundant call to DboSource::fields(), the fields come already quoted from DboSource::read()
2011-07-17 17:42:47 -04:30
Ceeram
6047024546
removing unneeded parameter
2011-07-12 17:00:25 +02:00
Ceeram
4d702ee97f
removing unused parameter for value()
2011-07-11 22:13:03 +02:00
Jose Lorenzo Rodriguez
ee2930d3d0
Removing magic variable in DboSource to bypass the adding of fields to association queries, instead adding the ability to declare 'fields' => false in the association array. This opens the possibility of having joins for filtering purposes.
2011-06-28 11:45:37 -04:30
Mark Story
91a1cf81f3
Merge branch '1.3' into merger
...
Conflicts:
app/Config/acl.ini.php
app/config/database.php.default
app/webroot/css.php
app/webroot/css/cake.generic.css
cake/basics.php
cake/bootstrap.php
cake/config/paths.php
cake/console/cake.php
cake/console/error.php
cake/console/libs/acl.php
cake/console/libs/bake.php
cake/console/libs/i18n.php
cake/console/libs/shell.php
cake/console/libs/tasks/extract.php
cake/console/libs/tasks/plugin.php
cake/console/libs/tasks/project.php
cake/console/libs/testsuite.php
cake/console/templates/default/classes/test.ctp
cake/console/templates/default/views/home.ctp
cake/console/templates/default/views/view.ctp
cake/console/templates/skel/config/database.php.default
cake/console/templates/skel/views/elements/email/text/default.ctp
cake/console/templates/skel/webroot/css.php
cake/dispatcher.php
cake/libs/cache.php
cake/libs/cake_session.php
cake/libs/configure.php
cake/libs/controller/component.php
cake/libs/controller/components/auth.php
cake/libs/controller/components/email.php
cake/libs/controller/components/request_handler.php
cake/libs/controller/components/security.php
cake/libs/controller/controller.php
cake/libs/controller/scaffold.php
cake/libs/error.php
cake/libs/magic_db.php
cake/libs/model/behaviors/acl.php
cake/libs/model/connection_manager.php
cake/libs/model/datasources/dbo/dbo_mysqli.php
cake/libs/model/model_behavior.php
cake/libs/overloadable.php
cake/libs/overloadable_php4.php
cake/libs/overloadable_php5.php
cake/libs/router.php
cake/libs/view/errors/missing_action.ctp
cake/libs/view/errors/missing_behavior_class.ctp
cake/libs/view/errors/missing_behavior_file.ctp
cake/libs/view/errors/missing_component_class.ctp
cake/libs/view/errors/missing_component_file.ctp
cake/libs/view/errors/missing_connection.ctp
cake/libs/view/errors/missing_controller.ctp
cake/libs/view/errors/missing_helper_class.ctp
cake/libs/view/errors/missing_helper_file.ctp
cake/libs/view/errors/missing_layout.ctp
cake/libs/view/errors/missing_model.ctp
cake/libs/view/errors/missing_scaffolddb.ctp
cake/libs/view/errors/missing_table.ctp
cake/libs/view/errors/missing_view.ctp
cake/libs/view/errors/private_action.ctp
cake/libs/view/errors/scaffold_error.ctp
cake/libs/view/helpers/ajax.php
cake/libs/view/helpers/javascript.php
cake/libs/view/helpers/js.php
cake/libs/view/helpers/session.php
cake/libs/view/helpers/xml.php
cake/libs/view/media.php
cake/libs/view/pages/home.ctp
cake/libs/view/scaffolds/edit.ctp
cake/libs/view/scaffolds/index.ctp
cake/libs/view/scaffolds/view.ctp
cake/libs/view/view.php
cake/libs/xml.php
cake/tests/cases/console/cake.test.php
cake/tests/cases/console/libs/acl.test.php
cake/tests/cases/console/libs/api.test.php
cake/tests/cases/console/libs/bake.test.php
cake/tests/cases/console/libs/shell.test.php
cake/tests/cases/console/libs/tasks/controller.test.php
cake/tests/cases/console/libs/tasks/db_config.test.php
cake/tests/cases/console/libs/tasks/fixture.test.php
cake/tests/cases/console/libs/tasks/model.test.php
cake/tests/cases/console/libs/tasks/plugin.test.php
cake/tests/cases/console/libs/tasks/project.test.php
cake/tests/cases/console/libs/tasks/test.test.php
cake/tests/cases/console/libs/tasks/view.test.php
cake/tests/cases/dispatcher.test.php
cake/tests/cases/libs/cache/apc.test.php
cake/tests/cases/libs/cake_session.test.php
cake/tests/cases/libs/cake_test_case.test.php
cake/tests/cases/libs/code_coverage_manager.test.php
cake/tests/cases/libs/configure.test.php
cake/tests/cases/libs/controller/component.test.php
cake/tests/cases/libs/controller/components/auth.test.php
cake/tests/cases/libs/controller/components/cookie.test.php
cake/tests/cases/libs/controller/components/request_handler.test.php
cake/tests/cases/libs/controller/components/session.test.php
cake/tests/cases/libs/controller/controller.test.php
cake/tests/cases/libs/controller/pages_controller.test.php
cake/tests/cases/libs/error.test.php
cake/tests/cases/libs/http_socket.test.php
cake/tests/cases/libs/magic_db.test.php
cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php
cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php
cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php
cake/tests/cases/libs/model/datasources/dbo_source.test.php
cake/tests/cases/libs/model/models.php
cake/tests/cases/libs/overloadable.test.php
cake/tests/cases/libs/test_manager.test.php
cake/tests/cases/libs/view/helpers/ajax.test.php
cake/tests/cases/libs/view/helpers/javascript.test.php
cake/tests/cases/libs/view/helpers/session.test.php
cake/tests/cases/libs/view/helpers/xml.test.php
cake/tests/cases/libs/view/media.test.php
cake/tests/cases/libs/view/theme.test.php
cake/tests/cases/libs/xml.test.php
cake/tests/fixtures/aco_fixture.php
cake/tests/fixtures/translate_fixture.php
cake/tests/groups/acl.group.php
cake/tests/groups/bake.group.php
cake/tests/groups/behaviors.group.php
cake/tests/groups/cache.group.php
cake/tests/groups/components.group.php
cake/tests/groups/configure.group.php
cake/tests/groups/console.group.php
cake/tests/groups/controller.group.php
cake/tests/groups/database.group.php
cake/tests/groups/helpers.group.php
cake/tests/groups/i18n.group.php
cake/tests/groups/javascript.group.php
cake/tests/groups/lib.group.php
cake/tests/groups/model.group.php
cake/tests/groups/no_cross_contamination.group.php
cake/tests/groups/routing_system.group.php
cake/tests/groups/socket.group.php
cake/tests/groups/test_suite.group.php
cake/tests/groups/view.group.php
cake/tests/groups/xml.group.php
cake/tests/lib/cake_test_case.php
cake/tests/lib/cake_test_model.php
cake/tests/lib/cake_test_suite_dispatcher.php
cake/tests/lib/cake_web_test_case.php
cake/tests/lib/code_coverage_manager.php
cake/tests/lib/reporter/cake_base_reporter.php
cake/tests/lib/reporter/cake_cli_reporter.php
cake/tests/lib/reporter/cake_text_reporter.php
cake/tests/lib/templates/menu.php
cake/tests/lib/templates/simpletest.php
cake/tests/lib/test_manager.php
cake/tests/test_app/controllers/tests_apps_controller.php
cake/tests/test_app/libs/cache/test_app_cache.php
cake/tests/test_app/libs/library.php
cake/tests/test_app/libs/log/test_app_log.php
cake/tests/test_app/plugins/test_plugin/config/load.php
cake/tests/test_app/plugins/test_plugin/config/more.load.php
cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php
cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php
cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php
cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php
cake/tests/test_app/plugins/test_plugin/controllers/test_plugin_controller.php
cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php
cake/tests/test_app/plugins/test_plugin/libs/cache/test_plugin_cache.php
cake/tests/test_app/plugins/test_plugin/libs/log/test_plugin_log.php
cake/tests/test_app/plugins/test_plugin/libs/test_plugin_library.php
cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php
cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php
cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php
cake/tests/test_app/plugins/test_plugin/vendors/welcome.php
cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php
cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php
cake/tests/test_app/vendors/Test/MyTest.php
cake/tests/test_app/vendors/Test/hello.php
cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php
cake/tests/test_app/vendors/shells/sample.php
cake/tests/test_app/vendors/somename/some.name.php
cake/tests/test_app/vendors/welcome.php
cake/tests/test_app/views/elements/email/text/default.ctp
cake/tests/test_app/views/layouts/default.ctp
cake/tests/test_app/views/posts/test_nocache_tags.ctp
lib/Cake/Cache/Engine/MemcacheEngine.php
lib/Cake/Config/config.php
lib/Cake/Console/Command/Task/ModelTask.php
lib/Cake/Console/Templates/skel/webroot/css/cake.generic.css
lib/Cake/Console/Templates/skel/webroot/test.php
lib/Cake/Console/cake.bat
lib/Cake/Controller/Component/CookieComponent.php
lib/Cake/Log/CakeLog.php
lib/Cake/Model/CakeSchema.php
lib/Cake/Test/Case/Log/Engine/FileLog.php
lib/Cake/Test/Case/View/Helper/FormHelperTest.php
lib/Cake/Test/test_app/View/Emails/html/custom.ctp
lib/Cake/Test/test_app/View/Emails/text/custom.ctp
lib/Cake/TestSuite/templates/header.php
lib/Cake/Utility/Sanitize.php
lib/Cake/Utility/Validation.php
lib/Cake/VERSION.txt
lib/Cake/View/Helper/FormHelper.php
2011-06-23 12:48:06 -07:00
Juan Basso
192812ee7f
Updating the copyright to 2011.
2011-05-30 22:32:43 -04:00
ADmad
4c042ae133
Adding proper visibility keywords for class functions
2011-05-29 03:31:34 +05:30
Juan Basso
e049e35b5d
Catching the error in execute for SQL Server to have the same behavior from the others drivers.
2011-05-22 22:16:22 -04:00
Juan Basso
968fa1d5ef
Included an option to configure the prepate statement. SQL Server requires the cursor option to return the affected rows.
2011-05-21 22:40:30 -04:00
Renan Gonçalves
c602fc845b
Reverting the change to insertMulti, worked to solve the cache issue when trying to get the model schema.
2011-05-18 20:59:17 +02:00
Renan Gonçalves
37b9bd59bc
Trying to fix the Mssql as much as possible.
...
Adding parameter to the insertMulti() method because Mssql tries to get the table schema and it fails most of the time.
2011-05-18 20:12:36 +02:00
Jose Lorenzo Rodriguez
d83555cc52
Merge remote-tracking branch 'origin/1.3' into merger
...
Conflicts:
cake/console/cake.php
cake/dispatcher.php
cake/libs/controller/components/auth.php
cake/libs/controller/controller.php
cake/libs/view/helpers/xml.php
cake/libs/view/pages/home.ctp
cake/libs/xml.php
cake/tests/cases/console/cake.test.php
cake/tests/cases/libs/controller/components/cookie.test.php
cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php
cake/tests/cases/libs/model/datasources/dbo_source.test.php
cake/tests/cases/libs/view/helpers/xml.test.php
cake/tests/cases/libs/xml.test.php
lib/Cake/Console/Command/SchemaShell.php
lib/Cake/Controller/Component/CookieComponent.php
lib/Cake/Network/Http/HttpSocket.php
lib/Cake/TestSuite/Fixture/CakeTestFixture.php
lib/Cake/VERSION.txt
lib/Cake/View/Helper/FormHelper.php
lib/Cake/View/Helper/TextHelper.php
lib/Cake/View/Helper/TimeHelper.php
lib/Cake/config/config.php
lib/Cake/tests/Case/Cache/CacheTest.php
lib/Cake/tests/Case/Model/CakeSchemaTest.php
lib/Cake/tests/Case/TestSuite/CakeTestFixtureTest.php
2011-05-04 01:10:23 -04:30
AD7six
32df3156a7
consolidate cake_error and cake_developer to simply "cake_dev"
...
it's a lot easier for adding new translations to think:
is it for the end user?
use 'cake' as the domain
is it for the developer
use 'cake_dev' as the domain
is it for the console
use 'cake_console' as the domain
also neatly avoids the "this message is an error, and it's in
cake_developer, why?" - question (because cake_error was intended for
anything which is used in trigger_error/exceptions, not a variable named
$error
2011-03-20 16:38:31 +01:00
AD7six
268c061a2e
t
...
dividing language domains
cake - end user
cake_error - error messages
cake_developer - not an error, just for the developer
2011-03-19 18:16:12 +01:00
AD7six
38180e8951
translation changes in the model dir
2011-03-12 20:01:12 +01:00
Jose Lorenzo Rodriguez
ba694c45c9
Merge remote-tracking branch 'origin/2.0' into 2.0-class-loading
2011-02-27 22:50:53 -04:30
José Lorenzo Rodríguez
6e4f4efb79
Merge remote branch 'origin/2.0' into 2.0-class-loading
...
Conflicts:
cake/bootstrap.php
lib/Cake/Console/Command/TestSuiteShell.php
lib/Cake/Console/TaskCollection.php
lib/Cake/Controller/ComponentCollection.php
lib/Cake/Controller/Controller.php
lib/Cake/Core/App.php
lib/Cake/Model/BehaviorCollection.php
lib/Cake/Network/CakeRequest.php
lib/Cake/TestSuite/CakeTestSuiteDispatcher.php
lib/Cake/TestSuite/CakeWebTestCase.php
lib/Cake/TestSuite/TestManager.php
lib/Cake/TestSuite/TestRunner.php
lib/Cake/View/HelperCollection.php
lib/Cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php
lib/Cake/tests/cases/libs/test_manager.test.php
2011-02-13 23:10:19 -04:30
José Lorenzo Rodríguez
4c0e06c451
Merge remote branch 'origin/2.0' into 2.0-class-loading
...
Conflicts:
cake/bootstrap.php
cake/libs/view/helpers/js.php
lib/Cake/Model/AclNode.php
lib/Cake/Model/ConnectionManager.php
lib/Cake/bootstrap.php
lib/Cake/tests/cases/libs/controller/controller.test.php
2011-01-02 02:00:03 -04:30
José Lorenzo Rodríguez
07e43bb0f8
Merge remote branch 'origin/2.0' into 2.0-class-loading
...
Conflicts:
cake/libs/view/scaffolds/edit.ctp
cake/libs/view/scaffolds/form.ctp
cake/tests/test_app/plugins/test_plugin/views/tests/scaffold.edit.ctp
cake/tests/test_app/plugins/test_plugin/views/tests/scaffold.form.ctp
cake/tests/test_app/views/posts/scaffold.edit.ctp
cake/tests/test_app/views/posts/scaffold.form.ctp
lib/Cake/Error/ErrorHandler.php
lib/Cake/Model/Behavior/TranslateBehavior.php
lib/Cake/Model/Datasource/CakeSession.php
lib/Cake/Routing/Router.php
lib/Cake/TestSuite/TestManager.php
lib/Cake/View/scaffolds/edit.ctp
lib/Cake/tests/cases/console/shells/bake.test.php
lib/Cake/tests/cases/libs/cake_log.test.php
lib/Cake/tests/cases/libs/cake_request.test.php
lib/Cake/tests/cases/libs/view/helpers/number.test.php
lib/Cake/tests/test_app/plugins/test_plugin/views/tests/scaffold.edit.ctp
lib/Cake/tests/test_app/views/posts/scaffold.edit.ctp
2010-12-15 01:13:05 -04:30
José Lorenzo Rodríguez
8e5bd76752
Fixing several errors when running the testsuite
2010-12-11 01:17:55 -04:30
José Lorenzo Rodríguez
b8344ecd33
Replacing some of the App::import by App::uses
2010-12-08 23:15:18 -04:30
José Lorenzo Rodríguez
513eb53426
Fixing package location in DboSource
2010-12-06 22:48:30 -04:30
José Lorenzo Rodríguez
3f64844de9
Merge remote branch 'origin/2.0' into 2.0-class-loading
...
Conflicts:
lib/Cake/Model/ConnectionManager.php
lib/Cake/basics.php
2010-12-05 23:43:58 -04:30
José Lorenzo Rodríguez
8678661b9c
Merge branch 'feature/2.0/pdo' into 2.0-class-loading
2010-12-04 11:21:54 -04:30
José Lorenzo Rodríguez
592abb569c
More work towards loading datasources
2010-12-04 11:16:42 -04:30