Commit Graph

328 Commits

Author SHA1 Message Date
Bjoern Schiessle f28f528431 switched to dirname() 2013-08-17 13:49:42 +02:00
Bjoern Schiessle db8fdd5032 added missing parameter documentation 2013-08-17 13:46:33 +02:00
Bjoern Schiessle f71794f0d5 added createMissingDirectories() method 2013-08-17 13:28:35 +02:00
Bjoern Schiessle cabe92ef12 Merge branch 'master' into decrypt_files_again
Conflicts:
	apps/files_encryption/tests/keymanager.php
2013-08-17 13:15:22 +02:00
Bjoern Schiessle 16efd81a0e first check if file exists before checking the files size 2013-08-17 11:57:50 +02:00
Bjoern Schiessle a3d009e3b5 also create root dir if it doesn't exist yet 2013-08-14 20:51:36 +02:00
Bjoern Schiessle d314729cea use OC files API to create missing directory which should handle special chars in every environment correctly 2013-08-14 17:58:41 +02:00
Bjoern Schiessle 853b106bb2 don't create empty versions 2013-07-30 16:01:27 +02:00
Bjoern Schiessle 22b8967031 check if app is enabled 2013-07-30 12:19:01 +02:00
Björn Schießle 9394fc5d4a new version drop down
Squashed commit of the following:

commit 0dc404a557fa8253e3a87c7babefba6de8e6dab5
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jul 25 10:26:48 2013 +0200

    fix 'more versions' button for IE8

commit 5836e652857204d68dfdfa8b3318de8e2fe02493
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 16:56:46 2013 +0200

    clean-up some unused code

commit ac83e53fa24073783a165796fc3016dc7beca293
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 16:49:03 2013 +0200

    fix order of the versions, newest version should come first

commit f150a88843af316ff505728941287406f25a0751
Merge: bc713c7 b8e399b
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 16:19:36 2013 +0200

    Merge branch 'new_versions_dropdown' of github.com:owncloud/core into new_versions_dropdown

commit bc713c7b0c3207d00d2f19b10a905a82724c0709
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 16:11:07 2013 +0200

    fix position of more versions button

commit b8e399b1754ae7656c3cb8cef2c53f6976a83d61
Merge: 24825b0 7b6e39d
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 16:04:08 2013 +0200

    Merge branch 'new_versions_dropdown' of github.com:owncloud/core into new_versions_dropdown

commit 24825b02004efa953197e72b470b9b033030aeee
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 16:02:53 2013 +0200

    umark previous row if a new row gets selected

commit 7b6e39d2939f1b3bba4fff37ca9087dbc7795f03
Merge: 5bfb0ac 7b54644
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 15:37:19 2013 +0200

    Merge branch 'new_versions_dropdown' of github.com:owncloud/core into new_versions_dropdown

commit 5bfb0ac5c102bdfd3b27a37cea8c792f69b3b803
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 15:37:09 2013 +0200

    more style adjustments for version dropdown

commit 7b54644d3036ffba448f0525ca09f6e8898b9950
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 15:12:53 2013 +0200

    remove debug output

commit a75662bcfdce34d4f14020a539172c7ef1b894d3
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 15:12:26 2013 +0200

    reword Revert to Restore

commit e784644daeac12bc6fa6844f24214a039266ae86
Merge: d07abfd 9978c96
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 15:00:11 2013 +0200

    Merge branch 'new_versions_dropdown' of github.com:owncloud/core into new_versions_dropdown

commit d07abfdbb49778a8be30b2a6adbe326e1b1f238f
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 14:59:17 2013 +0200

    if another drop-down is already open, always close it first

commit 9978c967a6ecbd2d0e5003df3cf4cdba09dab468
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 14:49:47 2013 +0200

    more style improvements for versions

commit a13355f16e6172c02069930a60a49aba4ebfa227
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 14:44:13 2013 +0200

    position fixes for versioning

commit 02c1d6b5eabc4075749c2a7a852c9ed7bbb3644d
Merge: c5a9462 203f544
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 14:31:16 2013 +0200

    merge versions style changes

commit c5a946231a3d011748248db13b6b95ce51eb3e4c
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 14:29:56 2013 +0200

    bigger clickable area for versions

commit 203f544825bd49b168f2316cf2a04caca75438c8
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 14:15:38 2013 +0200

    changes visual changes, as suggested by Jan

commit 90b1e93676d235a61f318768661b25e5815a9784
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Wed Jul 24 14:12:23 2013 +0200

    remove superfluous selector from ID

commit 9768254fe3b2469293fca23151e54cde69bd4661
Merge: c961278 b91c682
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 12:28:06 2013 +0200

    Merge branch 'master' into new_versions_dropdown

commit c9612781e10a4de9e9405244f87c4e29428a0d3f
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 11:05:25 2013 +0200

    replace modal dialog with a OC.Notification

commit 3dc7508a4c271818247afbaed0ce0b03706a8db6
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Wed Jul 24 10:33:05 2013 +0200

    use image path without extension for proper svg to png fallback

commit 23ea7ad46c73fa4b86021070eb58a3b92bc8362e
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Tue Jul 23 17:53:58 2013 +0200

    some css fixes

commit 8d01499ae17e43a7d7960841a7c2127fa6de5a56
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Tue Jul 23 17:40:16 2013 +0200

    small fixes and improvements according to @Kondou-ger comments

commit 985b6461e81035967959659fab8ea59c733e00eb
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Tue Jul 23 15:58:19 2013 +0200

    replace == with ===

commit bc8fc3b4a664db2d819e0a7091f31207ffcfe44a
Merge: c1da183 a94c55b
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Tue Jul 23 13:55:45 2013 +0200

    Merge branch 'master' into new_versions_dropdown

commit c1da183d13b8098eb33e708d4fdd04111bdc33a5
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Tue Jul 23 13:53:37 2013 +0200

    translate timestamps into strings like "X minutes ago" for the versions drop-down

commit c78d2b4bfb0a6800ab8516ac115ba42268be019a
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Tue Jul 23 12:52:44 2013 +0200

    download versions directly from the versions drop-down

commit 14aaf9907625fc76bc153cd846704b7efd15db46
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Tue Jul 23 11:01:21 2013 +0200

    only show 'more versions' button of necessary

commit a0d8cb46b2255be3d9b3f9bd5f835a173c9665b8
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 22 17:49:17 2013 +0200

    remove unneeded code

commit 47eec0679ce16ece0b7890e9b41bf28d7613b131
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 22 17:44:58 2013 +0200

    add title for revert and download action

commit df87ccb24327b5c2770f7c23c97e41b143d65ec3
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 22 17:36:40 2013 +0200

    add download button to versions drop-down

commit 622c87ec37c14b7b3237bc9ca980b7f35689a933
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 22 17:36:08 2013 +0200

    adapt css file for the new versions drop-down

commit 300699024fe74a9f0f998c1cce4024484311f50c
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Fri Jun 7 17:28:34 2013 +0200

    revert on click

commit 6673ae6ed45bbda1e0d962e9b32e943afc7123c0
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Fri Jun 7 16:50:08 2013 +0200

    new versions list, show the latest 5 with a button to retrieve more versions if needed
2013-07-25 10:35:19 +02:00
Björn Schießle b16c5a6df7 fix array access and change variable names according to the coding style 2013-07-12 11:25:40 +02:00
Björn Schießle 15f7bb296c continue cleaning-up old versions if availableSpace=0. It's not necessary but gives us some additional free space, especially in the case of a hard quota 2013-07-12 11:25:31 +02:00
Björn Schießle fbf34f3bf6 fix some var names according to our style guide 2013-07-12 11:25:23 +02:00
Björn Schießle 2f0d88cae4 adjust comments 2013-07-12 11:25:12 +02:00
Björn Schießle e7959d3da0 fix typo in comment 2013-07-12 11:25:04 +02:00
Björn Schießle e8760d7284 also expire versions on rename, to update the history more regularly 2013-07-12 11:24:52 +02:00
Björn Schießle d6c1e5490d it is enough to call the expire function once 2013-07-12 11:24:31 +02:00
Björn Schießle e159143165 call expire function before writing the new version to make sure to have enough free space 2013-07-12 11:24:19 +02:00
Björn Schießle efb026c664 don't normalize absolute local path 2013-06-17 14:42:18 +02:00
Björn Schießle f91b02e9b6 only escape glob pattern 2013-06-14 15:07:06 +02:00
Florin Peter b3834b49c3 prevent files_versions from calling file proxy which calls files_encryption and do unnecessary load and file operations 2013-05-30 22:05:52 +02:00
Björn Schießle bda8187f3b rename a file if it gets restored so that it no longer exists as a version. Otherwise it can happen that the expire() function removes all other versions so that we end up with only one version which is exactly the same as the original file 2013-05-08 23:00:13 +02:00
Björn Schießle b9134dcd6a touch file relative to users file folder, otherwise the hooks will be ignored 2013-05-08 22:59:49 +02:00
Björn Schießle ddde1b65db adapt free space calculation to the way it is done for the trash bin 2013-04-17 10:43:12 +02:00
Björn Schießle 544a46c690 remove used space for versions from db is a user was deleted 2013-04-11 14:39:56 +02:00
Björn Schießle 5924d1d95c add backticks around table names 2013-03-25 12:29:13 +01:00
Björn Schießle 418fb98c40 remove backticks around table names 2013-03-15 12:10:21 +01:00
Björn Schießle e37e884d7a add backtick for db queries to prevent postgresql errors 2013-03-15 12:10:07 +01:00
Björn Schießle f78594c0ae fix var name 2013-03-14 17:09:48 +01:00
Björn Schießle 93b2ada6f6 fix var name 2013-03-14 17:08:16 +01:00
Björn Schießle 0cf50d63bf create new version if the same file is uploaded again over the web interface 2013-03-14 16:47:59 +01:00
Tom Needham e58dbd46fc Merge in master 2013-03-09 00:04:33 +00:00
Björn Schießle 8d26400cb5 remove some debug output; move code to the right function 2013-03-08 11:27:25 +01:00
Björn Schießle 45869afa5a remove debug output 2013-03-08 10:51:28 +01:00
Björn Schießle 48bb53030c distinguish between touch and write 2013-03-07 15:51:44 +01:00
Tom Needham 370f202251 Rebase to current master 2013-03-05 00:25:56 +00:00
Björn Schießle 2a5d9ca9c5 damn copy&paste, fix wrong var name 2013-03-04 12:59:48 +01:00
Björn Schießle 21bad1fcc0 fix type in var name 2013-03-04 12:33:16 +01:00
Björn Schießle 94dab96dba fix quota calculation for trash and versions 2013-03-04 12:17:57 +01:00
Björn Schießle 70014d37dc fix expire function 2013-03-04 17:20:14 +01:00
Björn Schießle e81b6395d4 make sure that the version app always work on the users real home folder and not on the mount point 2013-03-01 13:54:26 +01:00
Björn Schießle 5c7e3cf2e2 escape regular expressions; fix typo in variable name 2013-02-27 10:51:32 +01:00
Björn Schießle b917646516 fix quota calculation 2013-02-25 16:12:44 +01:00
Björn Schießle 4c980a4851 Merge branch 'master' into update-expire-function
Conflicts:
	apps/files_trashbin/appinfo/version
	apps/files_trashbin/lib/trash.php
2013-02-25 14:26:59 +01:00
Bernhard Posselt 3f48bebe92 Merge pull request #1827 from owncloud/fix_getVersions
fix getVersions(), we need to get the correct user and filename
2013-02-25 04:59:47 -08:00
Björn Schießle 632ca9f06d Merge branch 'master' into update-expire-function
Conflicts:
	apps/files_trashbin/lib/trash.php
2013-02-25 11:14:06 +01:00
Bart Visscher bb75dfc021 Whitespace fixes 2013-02-22 19:05:36 +01:00
Jörn Friedrich Dreyer e8da90d0f4 Merge pull request #1711 from owncloud/style-cleanup
Codestyle cleanup
2013-02-22 07:02:51 -08:00
Björn Schießle 9edec542c5 mount users home before write/read file to it, necessary to deal with external homes 2013-02-22 13:15:47 +01:00
Bart Visscher 59582e0f3f Fix review issues 2013-02-22 00:21:06 +01:00
Bart Visscher db8dbb9847 Style cleanup files_versions 2013-02-21 23:47:21 +01:00
Björn Schießle 0a5457c550 fix getVersions(), we need to get the correct user and filename 2013-02-21 14:40:16 +01:00
Björn Schießle c24ec867f9 calculate versions size per user 2013-02-21 12:20:29 +01:00
Björn Schießle d426a09f90 Merge pull request #1752 from schiesbn/versioning_use_new_filesystem_api
Versioning app use new filesystem api
2013-02-20 03:38:37 -08:00
Björn Schießle efa024cc62 fix getUidAndFilename() function 2013-02-18 11:19:40 +01:00
Björn Schießle 08b68aac6c check if glob() returns any results, fix for stable45 was already approved by pull request #1695 2013-02-15 12:29:52 +01:00
Björn Schießle b05f05ec4a make store function static 2013-02-14 14:26:49 +01:00
Björn Schießle 87b98dab25 use new filesystem to mount users home 2013-02-14 11:56:41 +01:00
Bart Visscher 5c4a804ddb Fix SpaceBeforeOpenBrace errors 2013-02-14 08:36:26 +01:00
Björn Schießle ff09a1f37b don't use OC_FilesystemView() 2013-02-10 14:17:18 +01:00
Tom Needham e63c4e3ea8 Change capabilities exposure for files_versions since it extends files 2013-02-10 12:41:27 +01:00
Tom Needham 5ad1b63f76 Fix api result merging. 2013-02-09 12:50:19 +00:00
Tom Needham 5d14a2cc46 Merge in master 2013-02-09 12:05:48 +00:00
Tom Needham 5102596e6d Add capabilities exposure to the versioning app 2013-02-09 11:53:54 +00:00
Thomas Müller 81792448ae Merge pull request #1472 from owncloud/files_versions-cleanup
files_versions cleanup
2013-02-06 08:53:20 -08:00
Bart Visscher 0e548283fc Replace OC_FileCache usage in files_versions 2013-02-06 08:00:57 +01:00
Bart Visscher 3e7ca373ec Only calculate md5 of local file once 2013-02-05 17:56:51 +01:00
Bart Visscher 148e4facfa Change files_versions namespace to OCA\Files_Versions 2013-02-05 17:46:39 +01:00
Robin Appelman 929b8c3e69 fix files_version hooks 2013-01-28 20:04:10 +01:00
Robin Appelman 5445b94416 merge master into filesystem 2013-01-16 19:04:50 +01:00
Björn Schießle 73c4d0faff initialize $versionCreated 2013-01-16 10:20:09 +01:00
Robin Appelman 9bf367e7f8 merge master into filesystem 2013-01-15 14:57:23 +01:00
Björn Schießle 60d5d5f636 fix for issue #1186, missing variables added 2013-01-15 14:34:15 +01:00
Björn Schießle d276d21c76 - code clean-up
- some more code comments
- fixed bug in the expire function, cleanup all_versions array during run. Otherwise it could happen that we try to delete already deleted versions
2013-01-11 19:33:54 +01:00
Björn Schießle 99a0ea44ee function description fixed 2013-01-11 14:24:00 +01:00
Björn Schießle 67d00bc6bb some more clean-up, isVersioned() is no longer needed; rename hook fixed if a complete folder gets renamed 2013-01-11 14:23:28 +01:00
Björn Schießle 6be9c0a974 some code clean-up 2013-01-11 11:12:32 +01:00
Björn Schießle dca0fda2ad keep track of the size of the versions directory 2013-01-10 18:04:30 +01:00
Björn Schießle 417498d519 add complete size of versions to array 2013-01-10 10:36:55 +01:00
Björn Schießle d51fba7781 every 1000s run reduce the number of versions for all files, not only for the currently edited file 2013-01-09 17:11:46 +01:00
Björn Schießle a0b0a1d294 adjust timestamp of the file copied from the version history 2013-01-07 15:13:32 +01:00
Björn Schießle 619c3ef56d use limits defined in issue https://github.com/owncloud/core/issues/860 2013-01-07 12:06:31 +01:00
Björn Schießle ec3c5f36cb debug output removed 2012-12-18 13:26:10 +01:00
Björn Schießle 21cdf93616 remove DEFAULTMAXFILESIZE limit and make percentage of available space for versions configurable 2012-12-18 12:57:28 +01:00
Björn Schießle e6e9d332cb add missing bracket 2012-12-18 12:37:24 +01:00
Björn Schießle 0e0d54dc58 get timestamp from file instead from time(); typo fixed 2012-12-17 18:00:11 +01:00
Björn Schießle 2a42344781 don't check for min interval, no longer needed 2012-12-17 17:14:24 +01:00
Björn Schießle 75a871ecd7 expire all operation no longer needed; delete oldest versions if limit of empty space is reached 2012-12-17 16:32:09 +01:00
Björn Schießle acc902a0b6 remove blacklist 2012-12-17 13:30:18 +01:00
Björn Schießle 0a49fcf9d1 update files history according the given intervals 2012-12-17 13:28:40 +01:00
Björn Schießle ee1ce6714b add size to versions array 2012-12-17 11:39:57 +01:00
Björn Schießle 24d4f701bf calculate free space for versions 2012-12-17 11:39:57 +01:00
Björn Schießle f66ebea5ca fix typo in variable name 2012-12-02 12:50:07 +01:00
Björn Schießle bafb78ac94 fix regression in file versioning for shared files 2012-12-02 12:46:07 +01:00
Robin Appelman 3358bface5 fix incorectly merged versions.php 2012-11-16 12:24:28 +01:00
Robin Appelman 961ff01a93 merge master into filesystem 2012-11-07 17:18:56 +01:00
Robin Appelman 4b940955dd merge master into filesystem 2012-11-04 21:12:18 +01:00
Felix Moeller 9795bc19bf Checkstyle: Fix the last two InvalidEOLChar 2012-11-04 18:42:18 +01:00
Felix Moeller 30d7993e01 Checkstyle fixes: NoSpaceAfterComma 2012-11-04 11:10:46 +01:00
Felix Moeller afadf93d31 Checkstyle: many fixes 2012-11-02 19:53:02 +01:00
Björn Schießle 72aebe3aa3 fix broken paths in versions app 2012-10-27 18:08:00 +02:00
Björn Schießle f151376ad5 remove remaining line from merge conflict 2012-10-27 17:06:13 +02:00
Björn Schießle a93660d37a fix broken paths in versions app 2012-10-27 15:52:48 +02:00
Robin Appelman 7bc49d2a57 merge master into filesystem 2012-10-25 18:26:08 +02:00
Felix Moeller e73b817a38 Checkstyle: NoSpaceAfterComma 2012-10-23 22:53:54 +02:00
Robin Appelman 77cef5f514 merge master into filesystem 2012-10-17 13:14:17 +02:00
Arthur Schiwon 5708488b3e make files_versions use OC_User::getHome, fixes 'PHP Warning: Missing argument 1 for OC_FilesystemView::getAbsolutePath' with custom user home dirs 2012-10-15 18:16:27 +02:00
Bart Visscher 4af5b016cc Whitespace cleanup 2012-10-14 21:04:08 +02:00
Robin Appelman fb2d2bc201 merge master into filesystem 2012-10-11 22:54:39 +02:00
Robin Appelman aaa1b73364 don't use depricated OC_Filesystem 2012-10-10 13:18:36 +02:00
Björn Schießle 33dcb3b1f4 fix missing dir creation for file versions (OC_Filesystemview::mkdir doesn't work here because it doesn't create directories recursively) 2012-10-10 11:49:16 +02:00
Bart Visscher 5f997021d1 Fix syntax bug 2012-09-19 21:29:16 +02:00
Bart Visscher ee32d1aad5 Fix versioning of shared files 2012-09-19 21:29:16 +02:00
Bart Visscher b04c7175dc Check if the versioned file exists before trying to do the versioning
This didn't work with chunked uploading
2012-09-17 20:00:31 +02:00
Bart Visscher 10b74f9d05 Don't hide errors doing the versioning copy 2012-09-13 00:09:00 +02:00
Thomas Mueller 3829460ab8 adding space between) and { 2012-09-07 15:22:01 +02:00
Bart Visscher 785aa751bb Whitespace fixes 2012-09-07 14:10:43 +02:00
Bart Visscher 285c198c36 EOL fixes
apps/files_external/lib/config.php
apps/files_versions/lib/versions.php
lib/connector/sabre/client.php
2012-09-07 14:10:00 +02:00
jfd dc3bec6211 OC_Share no longer exists. remove hooks that would trigger require_once / autoloading failures, so i can at least upload files 2012-08-25 03:13:59 +02:00
Robin Appelman 8a19e134df fix ununsed variables 2012-07-21 00:20:27 +02:00
Bjoern Schiessle e248412ca9 use getStorage() to get versions location
update routine implemented
version number of files_versions increased

Conflicts:

	apps/files_versions/lib/hooks.php
2012-07-11 11:06:29 +02:00
Bjoern Schiessle bf09bcc854 add OCP\Files to access files 2012-07-10 19:22:06 +02:00
Jörn Friedrich Dreyer e59a1806cf remove superfluous ?> at the end of .php files (left out apps/*/templates) 2012-07-09 16:51:16 +02:00
Frank Karlitschek b967530795 increase the time limit again to a sensible granularity of 1 min.
Please talk to me before changing this.
2012-07-06 18:42:41 +02:00
Bjoern Schiessle 51774cca6b use OC_Filesystem for rollback 2012-07-05 14:20:40 +02:00
Bjoern Schiessle 55cde0e5aa moved remove and rename hook to libs/hooks.php 2012-07-05 11:35:08 +02:00
Sam Tuke b1c9785eb3 Merge branch 'master' of gitorious.org:owncloud/owncloud
Conflicts:
	apps/files_versions/lib/versions.php
2012-07-03 18:17:32 +01:00
Sam Tuke a775deaf22 Moved hooks and versions.php into new lib directory
Part-ported filesystem operations to OC_FilesystemView
Refactored Storage class to depend on an OC_FsV object and have fewer static classes
2012-07-03 17:42:51 +01:00