Commit graph

1099 commits

Author SHA1 Message Date
Ber Clausen
63a192ea39 Update DboSource::group():
* Update documentation.
* Add Model type hint.
* Bail early when fields are empty.
2013-12-10 00:18:19 -03:00
Ber Clausen
5c595b90d2 Remove is_object() calls when the test subject is already type hinted as a Model. 2013-12-10 00:18:18 -03:00
Ber Clausen
2f24de81cb Model objects should be in CamelCase.
Add a Model type hint.
2013-12-10 00:18:18 -03:00
Mark Story
19122414fc Merge pull request #2459 from bar/2.5-patch
Test for self join only when needed.
2013-12-09 18:55:31 -08:00
Ber Clausen
b7527c6c3b Test for a self join only when needed. 2013-12-09 23:11:42 -03:00
Ber Clausen
2366e7c7b5 Make getConstraint() a tiny bit more readable. 2013-12-09 22:25:03 -03:00
José Lorenzo Rodríguez
6358741944 Merge pull request #2449 from cakephp/fix-session-cyclic-error
Fixed error in CakeSession that would call start() in an infinite loop
2013-12-09 02:18:21 -08:00
mark_story
48d2618c62 Merge branch 'master' into 2.5
Conflicts:
	lib/Cake/Routing/Router.php
2013-12-08 21:25:59 -05:00
Jose Lorenzo Rodriguez
70d5c37834 Ensuring session is configured before trying to destory it 2013-12-08 13:44:16 +01:00
Rachman Chavik
2d5a153c0d Set 'order' to false to prevent issues with postgres
See: https://github.com/cakephp/cakephp/pull/2421#issuecomment-30074971
2013-12-08 16:40:22 +07:00
Jose Lorenzo Rodriguez
848a0ce217 Fiexed error in CakeSession that would call start() in an infinite loop
when the session is marked as invalid
2013-12-07 22:25:33 +01:00
ADmad
f3900e89fd Fixed bug where deleteAll tried to delete same id multiple times.
Ensure find done in deleteAll only returns distinct ids. A wacky
combination of association and conditions can sometimes generate
multiple rows per id.
2013-12-03 22:18:17 +05:30
mark_story
97ab2c0e9b Merge branch 'imsamurai-2.5' into 2.5
Add unsigned integer support to MySQL. Unsigned integers have not been
added to other databases as they either do not support them (postgres,
sqlserver) or they are 'faked' and don't do anything (sqlite).

Fixes #2321
2013-11-27 20:12:28 -05:00
José Lorenzo Rodríguez
edc6fc6701 Merge pull request #2379 from rspenc29/2.5
Added support for passing additional flags to mysql connection
2013-11-24 01:07:58 -08:00
Rob Spencer
b8e32dd2b3 Adding flags override to additional pdo drivers 2013-11-24 01:04:17 -05:00
Rob Spencer
cda9320e96 Added support for passing additional flags to mysql connection 2013-11-24 00:47:06 -05:00
mark_story
71312932e8 Merge branch 'master' into 2.5 2013-11-21 21:46:21 -05:00
José Lorenzo Rodríguez
df5fc2304a Merge pull request #2289 from bar/2.5-optimize-dbosource
First part of the DboSource cleanup.
2013-11-21 01:02:36 -08:00
mark_story
1be40d5d64 Fix coding standards error.
Refs #2364
2013-11-19 18:36:52 -05:00
mark_story
ec38ee1c48 Only enable cacheSources if both the datasource + model agree on it.
This prevents models from flipping cacheSources on when the datasource
has it disabled already.

Refs #2364
2013-11-19 17:36:20 -05:00
mark_story
99fd6e40fe Leave db->cacheSources unaltered.
When a model uses cacheSources = false, it should not have side effects
on the datasource.

Fixes #2364
2013-11-19 15:06:55 -05:00
imsamurai
f817beb8b6 change method public unsigned to protected _unsigned 2013-11-19 10:55:44 +02:00
ADmad
dda6080579 Merge branch 'master' into 2.5 2013-11-19 00:27:12 +05:30
imsamurai
8bcfe452da not add unsigned to not numeric fields, fix broken test, add new test 2013-11-17 23:10:53 +02:00
imsamurai
2f6122cb01 add unsigned property in Model::describe 2013-11-17 22:37:01 +02:00
imsamurai
00fb663f90 remove numeric from unsigned config 2013-11-17 21:23:13 +02:00
imsamurai
1d9ecc6c94 Merge upstream/2.5 into 2.5 2013-11-17 21:13:25 +02:00
mark_story
b6b8d83980 Remove non-portable data type from MySQL.
'numeric' is a non-portable type that is not supported by any other
database driver. Removing it now will prevent future problems.
2013-11-14 10:28:09 -05:00
imsamurai
f1a2c1a75c add decimal type for unsigned 2013-11-14 10:56:51 +02:00
imsamurai
7bc8dac453 fix phpcs errors 2013-11-14 02:19:41 +02:00
imsamurai
fd64d952b5 change position from afterDefault to beforeDefault during to wrong order, add test 2013-11-14 01:36:27 +02:00
imsamurai
e35823e72a fix tests, add numeric type for unsigned 2013-11-14 01:33:11 +02:00
imsamurai
2fcb4c3c6c - change check to strict for options of $fieldParameters
- add `types` parameter and strict check if it present in `$fieldParameters` (if it present and not contain column type field parameter will be skipped)
- add `noVal` parameter to `$fieldParameters` if it present and not empty value of this parameter from column will be ignored
- add `unsigned` column type for integer, float and biginteger. If it set to `true` an 'UNSIGNED' will be add in sql column part, if not set or set not to `true` this parameter will be skipped
2013-11-14 01:11:30 +02:00
Marc Würth
7cfa0116f4 Removed "PHP 5" from file header DocBlocks
This statement does not serve a purpose anymore.
In a long forgotten world it indicated the main version number of PHP which the code in the file was compatible to.
http://pear.php.net/manual/en/standards.sample.php
But since PHP 5.1 and later this is only marginally true.
Thus I propose to remove it from CakePHP.
2013-11-13 22:58:39 +01:00
Andy Dawson
d94c187adc Merge pull request #2305 from kimegede/docblock-construct-destruct-return-void
Docblock construct destruct remove @return
2013-11-13 01:44:35 -08:00
Ber Clausen
ed142d8c89 Add missing type hints. 2013-11-13 00:09:45 -03:00
Ber Clausen
0e74a0757a Keep insertQueryData() DRY, issue less lookups. Remove unused $assocData
and $LinkModel from the signature.
Model objects should be CamelCase.
2013-11-13 00:09:39 -03:00
Ber Clausen
52d425737a Call getDataSource() instead of the directly calling
ConnectionManager::getDataSource().
2013-11-12 03:38:47 -03:00
Ber Clausen
c1f3d9c274 Model objects should be in CamelCase. 2013-11-12 01:37:38 -03:00
Ber Clausen
014d2dd2d9 Remove 'self' key from getConstraint() calculations because it is not necessary anymore. 2013-11-12 01:30:57 -03:00
Ber Clausen
e658e071d1 Remove unused variable from the signature. 2013-11-12 01:17:11 -03:00
Ber Clausen
67a65663a7 Assign before actually using it. 2013-11-12 01:13:55 -03:00
Ber Clausen
026565033b Model objects variables should be CamelCase. 2013-11-12 00:49:06 -03:00
Ber Clausen
6b8a79be6d Remove reference from the signature. 2013-11-12 00:29:36 -03:00
Ber Clausen
cb42b056ac Remove the 'Line indented incorrectly' PHPCS error. 2013-11-12 00:08:39 -03:00
Ber Clausen
7f570f33e4 Unindent, and remove unnecessary getDataSource() call.
Also, objects should be CamelCase.
2013-11-12 00:01:18 -03:00
Ber Clausen
b35c9671ad Explicitly build SQL statements, calling buildAssociationQuery(). 2013-11-11 23:27:50 -03:00
Ber Clausen
f0fcaa1305 Improve generateAssociationQuery():
* bail early when $linkModel is Null (BC for now).
* move SQL fields warmup and SQL statement building to its own functions
 (it will payoff later improving self documentation and readability).
* make assignments and function calls only when needed (depending on the
 association type).
2013-11-11 23:27:50 -03:00
Ber Clausen
dcadfcbcab Remove inline assignment. 2013-11-11 23:27:50 -03:00
Ber Clausen
53c6df554c Remove unused $resultSet argument from generateAssociationQuery(). 2013-11-11 23:27:50 -03:00
Ber Clausen
5da05d9216 Remove unneeded test inside conditional. 2013-11-11 23:27:50 -03:00
Ber Clausen
f16695db5f Move variables to logical blocks.
Unindent to ease readability, and avoid assigning variables when
unneeded.
Free a little memory before entering to recursive intensive loops.
2013-11-11 23:27:50 -03:00
Ber Clausen
fdb4b11d0b Remove unnecessary call to getDataSource(). 2013-11-11 23:27:50 -03:00
Ber Clausen
c9e0131d6a Only generate query data for hasOne and belongsTo associations.
Avoid calling generateAssociationQuery():

* when the return value will never be usefull (True in this case)
* to avoid polluting $queryData with uneeded fields

Later, the SQL statement for the primary, and 'hasOne' plus 'belongsTo'
relationships, is built.
2013-11-11 23:27:50 -03:00
Ber Clausen
2532228844 Improve readability and optimize minimizing variable lookups. 2013-11-11 23:27:49 -03:00
mark_story
1f5d1eee98 Remove duplicated reference for behaviors in ClassRegistry
The 2nd key in the registry was to support persistModel which has long
since been removed. With this registry key not being used it can be
removed with reasonable safety.

Fixes #2306
2013-11-11 12:30:00 -05:00
Kim Egede Jakobsen
18e0dc95dd Remove @return from docblock (for __construct && __destruct methods) 2013-11-11 14:54:48 +01:00
mark_story
3561929be7 Merge branch 'master' into 2.5 2013-11-10 21:53:09 -05:00
José Moreira
b1e366c500 Model.php PHPDoc Description: Chang afterFilter with afterFind 2013-11-10 16:59:28 +00:00
mark_story
afd182898f Merge branch 'master' into 2.5 2013-11-01 16:54:57 -04:00
mark_story
9e4ac31dc3 Correctly identifier quote column names before adding them to queries.
Closes #2248
2013-10-31 19:53:42 -04:00
mark_story
aaac360833 Merge branch 'master' into 2.5 2013-10-30 14:58:20 -04:00
Zach Gambino
927a4933d1 Fix for #2247 | Use correct column when calculating next sequence value
See #2247 for more details.
2013-10-30 11:25:06 -07:00
mark_story
16be5722ba Fix COUNT(DISTINCT x) queries from getting corrupted in Sqlserver.
Add into the tower of hacks that is the SQL generation and stop breaking
COUNT(DISTINCT foo) style queries. Previously these would be converted
into DISTINCT COUNT(foo) which will give the non-distinct results.
2013-10-29 23:01:55 -04:00
mark_story
0f8dae55c9 Add missing trim() around Sqlserver queries.
This solves issues with queries failing.

Fixes #2222
2013-10-29 23:01:49 -04:00
ADmad
d9ca148499 Merge branch 'master' into 2.5
Conflicts:
	CONTRIBUTING.md
	lib/Cake/Model/Model.php
	lib/Cake/VERSION.txt
2013-10-30 02:34:09 +05:30
mark_story
a098ff28b8 Update doc block and remove inline assignment. 2013-10-29 12:32:20 -04:00
Mark Story
3dc60af166 Merge pull request #2204 from thatcode/master
Models fetched by Containable find depend on number of fields in intermediate Model
2013-10-25 17:33:32 -07:00
mark_story
7624884240 Use + instead of array_merge.
If you have numeric columns in your database, array_merge() will re-key
the array dropping the original values.

Fixes #2198
2013-10-25 10:23:50 -04:00
Robert Sworder
940a51b5fa Update definition of an empty model. 2013-10-25 15:12:03 +01:00
Mark Story
ea0c66e713 Merge pull request #2187 from bar/model-optimizations
Optimize conditionals and reduce lookups.
2013-10-24 14:09:47 -07:00
Marc Würth
3773311cc0 Normalized associated models in unbindModel.
Resolves #1764

 Had to cast $models to an array since ``Hash::normalize()`` doesn't support strings which ``Set::normalize()`` does (but which is deprecated).
 Reused existing tests.
2013-10-24 15:28:31 +02:00
Ber Clausen
1fbe9c0021 Optimize conditionals and reduce lookups.
Also, make the code easier to read removing unneded indentations.
2013-10-24 10:16:55 -03:00
Marc Würth
7c07d37fb3 Some DocBlock improvements for Model.php 2013-10-24 13:05:32 +02:00
Ber Clausen
6dcfd28600 Optimize _clearCache().
It is cheaper to make an assignment or call strtolower() than to pluralize.
2013-10-23 22:29:42 -03:00
Bryan Crowe
a943ea5c34 Add space between classname(s) 2013-10-22 22:59:50 -04:00
Frank de Graaf
ab89f6ec97 Makes DboSource less string dependent. 2013-10-22 16:43:32 +02:00
Bryan Crowe
bc2fcf421f Remove extra space around the brace in CakeSchema::_arrayDiffAssoc() 2013-10-16 09:52:29 -04:00
Mark Story
ff0b963941 Merge pull request #2142 from bcrowe/hotfix-strictNull
Change is_null() calls to strict checks
2013-10-15 20:00:12 -07:00
Bryan Crowe
5addb2cc9f Change is_null() calls to strict checks in CakeSchema::_arrayDiffAssoc() 2013-10-15 22:53:04 -04:00
Bryan Crowe
39b7023e75 Change is_null() calls to strict checks 2013-10-15 22:32:46 -04:00
Mark Story
ce74153389 Merge pull request #1691 from uzyn/2.5-decimal
Add support for decimal type in Schema.

Fixes #3171
2013-10-14 08:36:15 -07:00
euromark
1cb24ae537 CS fixes using phpcs-fixer auto-correction. 2013-10-12 01:27:00 +02:00
Jose Lorenzo Rodriguez
df549898ad Merge remote-tracking branch 'origin/2.5' into k-halaburda-master 2013-10-12 01:05:02 +02:00
Jose Lorenzo Rodriguez
9673048c30 Merge branch 'master' of github.com:k-halaburda/cakephp into k-halaburda-master 2013-10-12 01:03:20 +02:00
José Lorenzo Rodríguez
8cdbafd312 Merge pull request #1631 from ovidiupruteanu/patch-2
flushMethodCache not working if called before cacheMethod
2013-10-11 15:56:19 -07:00
José Lorenzo Rodríguez
6c2eb6e7c6 Merge pull request #1546 from rchavik/2.3-sqlite-truncate
Sqlite::truncate(): Verify `sqlite_sequence` exists before _execute()
2013-10-11 15:52:49 -07:00
José Lorenzo Rodríguez
99620ab58e Merge pull request #1593 from kimegede/more-readable-code
More readable code
2013-10-11 15:51:28 -07:00
Bryan Crowe
4242bd4f3d Additional Cake references to CakePHP and docblock typo 2013-10-09 19:38:16 -04:00
Mark Story
25c4175736 Merge pull request #1713 from ADmad/2.5-modelvalidator-optimize
Optimized whitelist jugglery.
2013-10-08 13:31:53 -07:00
ADmad
f9c1c2aa7f Optimized whitelist jugglery. 2013-10-09 00:17:34 +05:30
euromark
eb852a0247 Strict checks where applicable. 2013-10-08 20:16:55 +02:00
euromark
c621985f69 Fix whitelist to be modifiable from behaviors to work with validate. 2013-10-07 23:45:27 +02:00
Mark Story
49ddf6a5cf Merge pull request #1687 from Schlaefer/model-cache-improvements
performance improvements in Model::_clearCache
2013-10-05 07:50:07 -07:00
U-Zyn Chua
e527506c39 MySQL: Numeric data type now supported under decimal column. #3171 2013-09-28 23:05:53 +08:00
U-Zyn Chua
73cae88a6f SQL Server support of numeric type. #3171
Float & real map to float. Numeric & decimal map to numeric.
2013-09-28 22:48:37 +08:00
Schlaefer
be61a5023f Refactors Model::_clearCache
- don't use mixed keys in $assoc array
- removes unnecessary strtolower on Inflector::underscore result
- return early
2013-09-28 10:16:23 +02:00
U-Zyn Chua
c74c8d49a1 Decimal support for SQLite. #3171 2013-09-28 14:36:55 +08:00
U-Zyn Chua
a1a3e70039 Decimal support for PostgreSQL. #3171 2013-09-28 14:07:00 +08:00
Bryan Crowe
bb65765d70 Updated additional references of Cake to CakePHP 2013-09-27 21:31:35 -04:00
U-Zyn Chua
7fb51ab50f Decimal support for MySQL. #3171 2013-09-28 09:23:46 +08:00
Schlaefer
99ec97bd19 performance improvements in Model::_clearCache
- don't empty cache twice if pluralized name is identical to underscored
- refactors for fewer function calls
2013-09-27 16:39:23 +02:00
Andy Hobbs
0f7d6a90a1 Ticket 4108
- Added schemaName to DboSource::fields() method cache key to fix bug with changing schema name
2013-09-26 11:56:14 +01:00
ber clausen
39bc8dff97 Wrong signature. 2013-09-25 09:12:49 -03: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
ADmad
1d89ee1c6d Fixed TreeBehavior::recover() when using scope. Fixes #4062. 2013-09-19 00:39:19 +05:30
euromark
382f75dbfc cs corrections, bool to boolean and int to integer. 2013-09-17 14:44:34 +02: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
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
Ber Clausen
0a52061d86 Update afterFind() callback signature to be PHP5.4+ compliant. 2013-09-10 14:15:01 -03:00
Ber Clausen
867d4b312d Update afterSave() callback signature to be PHP5.4+ compliant. 2013-09-09 21:34:11 -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
euromark
959988cfa1 Remove last yoda conditions as per coding standards guidelines. 2013-09-06 18:36:57 +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
Ber Clausen
c524645738 Update Model/Behaviors callback signature to be PHP5.4+ compliant. 2013-09-05 11:17:02 -03:00
okinaka
e0f24d0ade Postgres::truncate(): Delete disused code. 2013-09-05 14:11:50 +09: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
mark_story
f18d354f55 Merge branch 'master' into 2.4 2013-08-28 12:35: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
euromark
80d55feda6 also remove app ones 2013-08-25 21:42:03 +02:00
mark_story
53d265cfba Merge branch 'master' into 2.4 2013-08-23 12:56:43 -04: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
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
euromark
361980fade remove code, class names and paths from translation strings. 2013-08-21 00:05:53 +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
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
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
56ef44f495 Excluded method names from several tanslation strings
Removed unnecessary sprintfs
2013-08-16 13:42:28 +04:00
dmromanov
aa7c912c15 Removed concatenations in gettext $msg param. Closes #3986. 2013-08-15 03:15:35 +04:00
mark_story
3bdcf7b440 Use inner join instead of a left join.
In some database servers an INNER join performs better than a LEFT join.

Fixes #3979
2013-08-13 13:40:59 -04:00
k-halaburda
0c1dbded67 Added some test for related model afterFind callback 2013-08-13 10:19:48 +02:00
k-halaburda
bb13af683b Added some test for related model afterFind callback 2013-08-13 10:19:20 +02:00
mark_story
26769edd04 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Utility/CakeTime.php
	lib/Cake/VERSION.txt
2013-08-12 14:39:02 -04:00
mark_story
6ce10b28c9 Update doc blocks. 2013-08-12 14:37:43 -04:00
euromark
f3018cc532 refactor methods to avoid else block on returning early 2013-08-12 19:06:34 +02:00
euromark
b09dc7213a deprecate Controller::flash() and adjust some other deprecation messages. 2013-08-12 12:51:12 +02:00
Jose Lorenzo Rodriguez
9d07fc4330 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Console/ShellDispatcher.php
	lib/Cake/Utility/CakeNumber.php
	lib/Cake/View/Elements/sql_dump.ctp
2013-08-11 23:31:10 +02:00
k-halaburda
74eb32696a Some more space / tabs issues [Travis PHPCS=1 fail] 2013-08-09 11:51:19 +02:00
k-halaburda
2655d16c13 Fixed tabbing in some places 2013-08-09 11:17:12 +02:00