Victor Dubiniuk
764726ce01
Updates according to review
2015-09-16 17:37:21 +03:00
Victor Dubiniuk
8ac3d5e36c
Add expiration cronjob
2015-09-16 17:37:21 +03:00
Victor Dubiniuk
33c29d3da7
Migrate settings
2015-08-10 23:54:44 +03:00
Victor Dubiniuk
4ef2615788
Enhance trashbin expiration settings
2015-08-10 20:40:43 +02:00
Roeland Jago Douma
e84cffc063
Moved core apps to the capabilities manager
...
* Files
* Files_Sharing
* Files_Trashbin
* Files_Versions
2015-08-10 10:45:16 +02:00
Roeland Jago Douma
bc91c5c2de
Set proper mimetype for directories
2015-08-05 13:54:09 +02:00
Bjoern Schiessle
db65eeb580
only move real files to the trash bin
2015-07-08 11:32:06 +02:00
Thomas Müller
d3ac73c0c9
Remove OC_Log
2015-07-03 18:00:16 +02:00
Morris Jobke
044d2ece07
Merge pull request #15506 from rullzer/core_apps_oc_log2ocp_util
...
Move core apps from OC_Log::write to OCP\Util
2015-07-01 08:53:16 +02:00
Morris Jobke
f63915d0c8
update license headers and authors
2015-06-25 14:13:49 +02:00
Robin Appelman
f02e110aea
explain pre-hook scan
2015-06-15 15:43:19 +02:00
Robin Appelman
5efbab4ab8
ensure we dont have to scan a file in the trash wrapper
2015-06-15 14:32:29 +02:00
Vincent Petry
61356b5560
Keep versions when deleting as recipient
...
The original owner could not be resolved because the original file was
already deleted, so no versions were retained.
This fix passes the owner and path to retainVersions() since it was
already resolved before the file deletion. This reactivates the versions
logic and creates a copy of the versions in each trashbin.
2015-06-02 17:13:00 +02:00
Björn Schießle
9366dde875
Merge pull request #15985 from owncloud/hotfix/fix-encryption-references
...
[enc2] fix references to legacy encryption app name
2015-05-26 17:28:27 +02:00
Robin Appelman
733784ae41
cleanup move/copy logic in trash
2015-05-19 14:22:09 +02:00
Robin Appelman
89959a856c
fix target path for move
2015-05-18 17:16:13 +02:00
Robin Appelman
a0854b36f0
update cache after move to trash
2015-05-18 17:16:13 +02:00
Robin Appelman
b70e1ffc6d
dont go trough the view when moving to trash
2015-05-18 17:16:12 +02:00
Clark Tomlinson
7d2666699b
removing encryption preview check
2015-05-18 09:47:46 -04:00
Clark Tomlinson
d557519746
removing deletion of encryption keys
...
this will be handled in the wrapper now
2015-05-18 09:47:46 -04:00
Clark Tomlinson
a0c6c01137
fix references to legacy encryption app name
2015-05-18 09:45:41 -04:00
Roeland Jago Douma
7a8072e958
Move core apps from OC_Log::write to OCP\Util
2015-05-18 10:57:52 +02:00
Vincent Petry
f86699cd48
Fix restoring files from trash with unique name
...
When restoring a file, a unique name needs to be generated if a file
with the same name already exists.
Also fixed the restore() method to return false if the file to restore
does not exist.
Added unit tests to cover restore cases.
2015-05-15 12:42:27 +02:00
Vincent Petry
beb6a38d85
Added rmdir to trashbin storage wrapper
...
This makes sure that folders are moved to trash when deleted with
rmdir() instead of unlink().
This happens for example when deleting a folder over WebDAV.
The web UI uses unlink() so it wasn't affected.
2015-05-12 11:09:02 +02:00
Vincent Petry
ffc796edcb
Do not trash part files, delete directly
2015-04-21 18:28:15 +02:00
Thomas Müller
54a3bdf1c5
fixing unit test execution related to trashbin
2015-04-07 13:30:31 +02:00
Bjoern Schiessle
5ea94b7c45
add priority to trashbin storage wrapper so that he is always on top
2015-04-07 13:30:30 +02:00
Thomas Müller
3458b5ab4c
Remove old encryption left overs from trashbin
2015-04-07 13:30:29 +02:00
Thomas Müller
1b42b492dc
kill OC_FileProxy 💥
2015-04-07 13:30:28 +02:00
Robin Appelman
3cb53b7756
setup storage wrappers before setting up the filesystem
2015-04-01 17:12:06 +02:00
Roeland Jago Douma
2b81d0f237
Move core apps from private to public functions
...
Apps still use OC_Helper and OC_Util functions even when public ones are
already available. Sometimes the public one is even used in the same
file.
2015-04-01 12:06:04 +02:00
Morris Jobke
e8109f0bc3
Merge pull request #13802 from owncloud/share-partfilepermissions
...
Fix share permission checks
2015-03-26 22:01:05 +01:00
Jenkins for ownCloud
b585d87d9d
Update license headers
2015-03-26 11:44:36 +01:00
Vincent Petry
f8f543945f
Recreate trashbin folder after full deletion
2015-03-24 23:02:14 +01:00
Vincent Petry
a9e6eba018
Reenable trashbin after failed rename
...
After a failed rename, the post_rename hook is not called.
This quickfix makes sure the trashbin storage logic is reenabled
also after a failed rename.
2015-03-18 19:56:31 +01:00
Thomas Müller
bbaf97ca43
Merge pull request #14644 from owncloud/trash-expire-command
...
Expire files from the trash in the background
2015-03-16 10:04:05 +01:00
Thomas Müller
4ffca58bc4
don't rely on \OCP\User::getUser() - it is not set properly in case of async operations
2015-03-10 11:47:52 +01:00
Robin Appelman
c80522ed63
Expire files from the trash in the background
2015-03-02 15:25:50 +01:00
Vincent Petry
7432c73f5c
Only rescan versions once in trashbin
...
Whenever versions need to be rescanned, only do it once per PHP request.
Happens whenever multiple files need to be expired.
2015-03-02 12:59:38 +01:00
Morris Jobke
06aef4e8b1
Revert "Updating license headers"
...
This reverts commit 6a1a4880f0
.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud
6a1a4880f0
Updating license headers
2015-02-23 12:13:59 +01:00
Lukas Reschke
012d06e8a2
Merge pull request #13797 from owncloud/fix_move_del_of_remote_shares
...
make sure that we get the correct user from the path
2015-01-31 08:52:07 +01:00
Bjoern Schiessle
9ef96e4dd5
no need to initialize the same view twice
2015-01-30 14:39:31 +01:00
Robin Appelman
a59612752e
Fix trash error when deleting files with the same name at the same time (happens in unit tests)
2015-01-28 15:16:55 +01:00
Robin Appelman
ce0aa02aac
Dont do a cache rename if we cant delete the source file
2015-01-29 15:52:40 +01:00
Robin Appelman
215388f4e0
Make sure we delete the file when doing a cross storage trashbin move
2015-01-29 15:40:01 +01:00
Robin Appelman
d4c4e2a322
Detect failed deletes in the trashbin
2015-01-29 15:39:58 +01:00
Vincent Petry
02b9bad81b
Fix bogus deletion on copy + unlink through rename
...
Cross-storage rename would cause copy + unlink. That unlink operation
must not trigger the trashbin.
2015-01-26 12:22:22 +01:00
Robin Appelman
87a1b2bdc4
Preserve mtime when doing cross storage move
2015-01-23 15:11:27 +01:00
Robin Appelman
91f3952ac1
Only move files from the current user to the trashbin
2015-01-23 14:19:36 +01:00
Vincent Petry
67f1534e0f
Call final unlink in trash wrapper's storage
...
In the case of cross-storage delete, the files are copied to the trash,
then deleted. The final delete on the source storage would still reach
the trash wrapper.
This fix makes forwards that second call to the wrapped storage to make
the final delete work.
It fixes the issue with remote shares, local shares and external
storage.
Also, it uses a new function "renameRecursive" that renames the files
and preserves the mtimes (like "copy_recursive" did in the past))
2015-01-23 12:20:54 +01:00
Bjoern Schiessle
15ae6b47ed
replace hook with storage wrapper
2015-01-19 09:16:15 +01:00
Morris Jobke
5352b4b2b8
Merge pull request #10292 from owncloud/external-share-delete
...
Fix trashbin when deleting a file over an external share
2014-12-23 11:21:06 +01:00
Morris Jobke
75e8b39826
Merge pull request #12879 from owncloud/mountconfig
...
Add mount specific options
2014-12-18 23:38:14 +01:00
Robin Appelman
fd85424742
Add getMountPoint to FileInfo
2014-12-17 14:03:50 +01:00
Morris Jobke
d41082f4d6
first step to drop \OCP\Config:: in favour of IConfig
2014-12-17 11:12:37 +01:00
Joas Schilling
78a307995c
Fix namespace of Files_Encryption outside of the app
2014-12-09 09:47:26 +01:00
Morris Jobke
0d4f0ab871
reduce OC_Preferences, OC_Config and \OCP\Config usage
...
* files_encryption
* files_versions
* files_trashbin
* tests
* status.php
* core
* server container
2014-12-08 22:42:37 +01:00
Morris Jobke
3fdb1937a3
Merge pull request #12382 from owncloud/enc_reorganize_folders2
...
[encryption] reorganize folder structure (second try to make Jenkins happy)
2014-12-03 16:08:40 +01:00
Joas Schilling
1bd018a70c
Autoload exception from files_trashbin
2014-12-02 17:26:42 +01:00
Bjoern Schiessle
fd86d76f98
new folder structure for keys
...
all keys are now in files_encryption/key/path_to_file/filename/
share keys are named: user.shareKey
file key is named: fileKey
2014-11-26 10:57:47 +01:00
Joas Schilling
2c39aec8cb
Replace deprecated constant with new class constant
2014-11-25 16:30:21 +01:00
Lukas Reschke
61641293f4
Only show undelete capability if files_trashbin is enabled
...
Fixes the OCS capability API at /ocs/v1.php/cloud/capabilities
2014-11-18 23:06:39 +01:00
Vincent Petry
97a51c46ed
Only rescan trash folder when checking deleted versions
...
This fix prevents the file scanner to rescan the WHOLE storage and reset
the etags by mistake.
2014-11-04 12:29:42 +01:00
Lukas Reschke
b3a04840b5
Add type hinting to functions
...
It's only reasonable to have proper type hinting here which might even help us to catch bugs.
2014-10-24 14:13:40 +02:00
Robin Appelman
c71deea0d5
Fix SPACE_UNKNOWN constant
2014-10-16 12:26:26 +02:00
Jörn Friedrich Dreyer
0254a3c406
make trashbin compatible with objectstore, replace glob with search in cache, make unknown free space work like unlimited free space
2014-10-16 10:15:43 +02:00
Bjoern Schiessle
5b5e9d148e
check if I can create a file at the location
2014-10-08 10:56:06 +02:00
Vincent Petry
75593f87d5
Merge pull request #11137 from owncloud/enc-pregfix
...
Fix share key pattern matching
2014-09-23 12:36:34 +02:00
Vincent Petry
1e631754d7
Fix share key finding algorithm in various cases
...
Instead of inaccurate pattern matching, use the list of users who we
know have access to the file to build the list of share keys.
This covers the following cases:
- Move/copy files into a subfolder within a share
- Unsharing from a user
- Deleting files directlry / moving share keys to trashbin
2014-09-23 12:33:07 +02:00
Vincent Petry
8aca127e52
Added extra check to avoid deleting key folders
...
Whenever a delete operation is called twice in a row, it could happen
that the first call already deleted the file.
The second call would return an empty $ownerPath because the file does
not exist. That empty $ownerPath would run the key deletion operation on
the wrong path.
This fix adds checks in many places to make sure we don't use $ownerPath
when it's empty or null.
2014-09-19 19:01:02 +02:00
Lukas Reschke
ba5d3fb96b
Merge pull request #11081 from owncloud/trash_fix_expire
...
also expire file if timestamp = limit, happens if trashbin_retention_obl...
2014-09-16 13:58:12 +02:00
Bjoern Schiessle
f23116ce50
also expire file if timestamp = limit, happens if trashbin_retention_obligation is set to zero
2014-09-15 13:00:04 +02:00
Robin McCorkell
99d41bec5d
Show original path information in trashbin and sharing views
...
Path will only be shown if in subdirectory, not in root.
2014-09-11 15:45:42 +01:00
Robin Appelman
d0266c0bf8
Use public api for getting l10n
2014-08-31 10:08:22 +02:00
Robin Appelman
07d5725de2
Fix trashbin when deleting a file over an external share
2014-08-08 15:48:59 +02:00
Bjoern Schiessle
40fe1275de
throw exception if file is to large for trash bin
2014-07-15 13:56:02 +02:00
Morris Jobke
1973fdb11d
Merge pull request #9093 from owncloud/remove_unused_code
...
remove unused code
2014-06-19 01:17:36 +02:00
Bjoern Schiessle
05cd150fd2
add additional tests for the trash bin
2014-06-18 14:41:16 +02:00
Bjoern Schiessle
e06fa200b3
make sure that we always use the right user
2014-06-18 14:41:16 +02:00
Bjoern Schiessle
e20bb71a42
remove unused code
2014-06-18 13:26:42 +02:00
Bjoern Schiessle
b486f48fbc
fix trash bin expire operation and add unit tests
2014-06-17 22:36:30 +02:00
Thomas Müller
6fcd135d0e
table files_trashsizes was still used in some locations -> removed
2014-06-05 10:44:32 +02:00
Thomas Müller
a2db53b928
Merge pull request #8471 from owncloud/versioning_no_longer_track_the_size
...
[versioning] let the file cache track the size of the versions
2014-06-04 18:19:48 +02:00
Thomas Müller
9f3fcf036c
fixing typo
2014-06-04 09:36:27 +02:00
Bjoern Schiessle
05cf34ea1f
get files in trash from file cache
2014-06-03 16:45:11 +02:00
Bjoern Schiessle
a7f6a051ad
return size '0' if the trashbin folder doesn't exists yet
2014-06-02 18:56:04 +02:00
Morris Jobke
dc36d30953
Remove all occurences of @brief and @returns from PHPDoc
...
* test case added to avoid adding them later
2014-05-19 17:50:53 +02:00
Robin McCorkell
6930ae22e4
Fix more missing or broken PHPDoc
2014-05-16 22:21:57 +01:00
Robin McCorkell
c4f1de63a8
Fix PHPDoc in /apps
2014-05-16 22:21:57 +01:00
Vincent Petry
818c77684d
Fixed trashbin to use correct class
...
It seems that \OC_Filesystemview has been removed.
Now using the correct class \OC\Files\View()
2014-05-15 15:21:27 +02:00
Thomas Müller
e0dd69e4e6
remove legacy aka deprecated code: OC_FilesystemView
2014-05-12 16:30:39 +02:00
Vincent Petry
9a9665f361
Merge pull request #8041 from owncloud/files-sortcolumns
...
File list sorting by clicking on column headers
2014-05-12 12:50:27 +02:00
Sjors van der Pluijm
49822dfcdb
refs #8376 ; spaces=>tabs
2014-04-29 14:59:47 +02:00
Sjors van der Pluijm
54f482ff9c
refs #8376 ; added comment and applied patch on other files
2014-04-28 19:32:25 +02:00
Vincent Petry
688f6162da
Add sorting to files list, trashbin and public files
2014-04-28 17:42:04 +02:00
Robin McCorkell
869e7a51f0
Prevent error in files_trashbin
...
`glob` can return FALSE when the directory is empty, instead of an empty array,
causing an error at `foreach`.
"Note: On some systems it is impossible to distinguish between empty match and
an error."
See http://www.php.net/manual/en/function.glob.php -> Return Values
2014-04-13 14:51:33 +01:00
Robin McCorkell
fa8814902e
Adjust logic for deciding if trashbin empty
...
Any error in opening the trashbin directory returns 'true' for isEmpty.
An error is prevented by checking if the directory exists before trying to
open it.
2014-04-13 13:49:04 +01:00
Vincent Petry
0be9de5df5
Files, trashbin, public apps use ajax/JSON for the file list
...
Files app:
- removed file list template, now rendering list from JSON response
- FileList.addFile/addDir is now FileList.add() and takes a JS map with all required
arguments instead of having a long number of function arguments
- added unit tests for many FileList operations
- fixed newfile.php, newfolder.php and rename.php to return the file's
full JSON on success
- removed obsolete/unused undo code
- removed download_url / loading options, now using
Files.getDownloadUrl() for that
- server side now uses Helper::getFileInfo() to prepare file JSON response
- previews are now client-side only
Breadcrumbs are now JS only:
- Added BreadCrumb class to handle breadcrumb rendering and events
- Added unit test for BreadCrumb class
- Moved all relevant JS functions to the BreadCrumb class
Public page now uses ajax to load the file list:
- Added Helper class in sharing app to make it easier to authenticate
and retrieve the file's real path
- Added ajax/list.php to retrieve the file list
- Fixed FileActions and FileList to work with the ajax list
Core:
- Fixed file picker dialog to use the same list format as files app
2014-04-02 15:33:47 +02:00
icewind1991
d87001a093
Merge pull request #7768 from owncloud/trashempty-nocache
...
Use a more efficient way to determine that the trashbin is empty that doesn't rely on the cache
2014-03-24 13:34:30 +01:00
Robin Appelman
6b66b42f6e
catch the case where files_trashbin/files doesn't exist
2014-03-24 12:33:44 +01:00
Robin Appelman
214357ca68
Improve sorting performance of large lists of files
2014-03-19 13:53:59 +01:00
Robin Appelman
38b1529c2a
More robust way to check if the folder is empty
2014-03-17 17:03:32 +01:00
Robin Appelman
332c14a878
Use a more efficient way to determine that the trashbin is empty that doesn't rely on the cache
2014-03-17 16:35:08 +01:00
Georg Ehrke
0f864c38bb
add preDelete hook for files_trashbin app
2014-03-11 14:10:12 +01:00
Bjoern Schiessle
5ddabd7cd0
fix mimetype detection, introduce fake etag to identify preview images
2014-03-10 15:13:28 +01:00
Bjoern Schiessle
4562909a20
get trash size from file cache
2014-03-10 15:13:28 +01:00
Bjoern Schiessle
abad625cac
only enable previews if the encryption is disabled
2014-03-10 15:13:28 +01:00
Bjoern Schiessle
eab844e226
if file is not in db, fall back to restore file to the users root
2014-03-10 15:13:28 +01:00
Thomas Müller
c6f4f85e27
Merge branch 'master' into scrutinizer_documentation_patches
...
Conflicts:
lib/private/migration/content.php
2014-02-18 18:31:33 +01:00
Thomas Müller
1e84d6b14b
Merge pull request #7190 from owncloud/appconfig-legacy-apps
...
Remove usage of legacy OC_Appconfig
2014-02-18 18:10:22 +01:00
Thomas Müller
9fac95c2ab
Merge branch 'master' into scrutinizer_documentation_patches
...
Conflicts:
lib/private/appconfig.php
2014-02-14 23:03:27 +01:00
Robin Appelman
181bbd4325
Remove usage of legacy OC_Appconfig
2014-02-13 16:28:49 +01:00
Jörn Friedrich Dreyer
2a6a9a8cef
polish documentation based on scrutinizer patches
2014-02-06 17:02:21 +01:00
Vincent Petry
d49c7ad4fb
Fixed double file encoding for previews
2014-01-30 16:34:37 +01:00
Vincent Petry
ca57a849ff
When reading the size of "files" mountpoints need to be excluded
...
The versions and trashbin app are now passing "includeMountPoints=false"
to "getFileInfo()" to make sure that the calculated total size doesn't
include mount points like Shared or external storage.
This is because the default call (legacy) used to return the size of
mount points as well.
Fixes #6731
2014-01-20 17:11:33 +01:00
Bjoern Schiessle
592ae16603
remove old code
2014-01-15 14:35:17 +01:00
Bjoern Schiessle
f11f65c6a5
copy files to owner trash recursively
2014-01-15 14:27:23 +01:00
Bjoern Schiessle
6b7fdda4f5
config switch to disable auto expire for the trash bin
2013-12-04 16:11:40 +01:00
Bjoern Schiessle
ee66db447f
make it possible to select folders
2013-12-02 16:30:03 +01:00
Bjoern Schiessle
8ce3ea3e2c
fix delete files from trash bin
2013-12-02 11:50:55 +01:00
Bjoern Schiessle
5d2299eab8
only create complete share key if we know the exact path
2013-11-26 13:30:59 +01:00
Bjoern Schiessle
f8fcd567a7
move files to owners trash
2013-11-25 16:51:31 +01:00
Georg Ehrke
90fac1f371
replace $path with '/files_trashbin/files/' . $file
2013-11-12 14:03:50 +01:00
Georg Ehrke
feee4b865b
add delete hook for trash bin app
2013-11-12 14:00:36 +01:00
Thomas Müller
db39fede97
Merge branch 'master' into appframework-master
...
Conflicts:
apps/files/lib/helper.php
apps/files_trashbin/lib/helper.php
2013-09-25 09:52:12 +02:00
Jörn Friedrich Dreyer
4b3e56bcf9
remove unneccessary lib in namespace
2013-09-20 16:46:33 +02:00
Jörn Friedrich Dreyer
9e39118b52
namespaces use upcasefirst parts
...
when _ is left in namespace and files are named after their classes the autoloader will also find classes in the lib folder of an app
its magic!
2013-09-20 16:37:07 +02:00
Thomas Müller
9b420e8660
use \OC::$server->getPreviewManager() instead of \OCP\Preview
2013-09-17 13:33:47 +02:00
Vincent Petry
1304b511e9
Ajax calls for "files" and "files_trashbin" apps
...
Frontend:
- The files app list now uses ajax calls to refresh the list.
- Added support the browser back button (history API).
- Added mask + spinner while loading file list
Backend:
- Added utility function in core JS for parsing query strings.
- Moved file list + breadcrumb template data code to helper
functions
- Fixed some file paths in trashbin app to be similar to the files app
2013-09-13 19:59:14 +02:00
Georg Ehrke
b7758d0f8d
Merge master into oc_preview
2013-08-29 10:50:55 +02:00
Bjoern Schiessle
aed71bb420
also move empty folders to the trash bin as discussed here #4590
2013-08-28 15:46:44 +02:00
Bjoern Schiessle
316d9bfed6
the trash bin can also contain empty files. Don't use the trash bin size as indicator to decide if the trash bin is empty or not
2013-08-27 14:39:43 +02:00
Georg Ehrke
f2702ff1ca
Merge master into oc_preview
2013-08-19 11:24:17 +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
Georg Ehrke
af983b843d
fix merge conflicts
2013-08-05 14:27:38 +02:00
Jörn Friedrich Dreyer
895d9ba1b9
Merge pull request #3006 from owncloud/===_and_!==_in_files_trashbin-app
...
Use !== and === in files_trashbin app
2013-08-02 03:14:24 -07:00
Thomas Müller
7425efade7
Merge branch 'master' into oc_preview
...
Conflicts:
3rdparty
lib/template.php
2013-07-30 00:34:36 +02:00
Georg Ehrke
2ea8ee6139
add class='preview-icon' in trashbin app as well
2013-07-29 16:27:40 +02:00
Björn Schießle
2c8e5ec84f
user interface to allow user to decrypt all his files once the encryption app was disabled
...
Conflicts:
settings/templates/personal.php
2013-07-29 13:36:06 +02:00
Björn Schießle
0a9bb8ba73
reduce time for auto expire to 30 days by default
2013-07-26 15:15:47 +02:00
Björn Schießle
a5d9b985c3
make 'restored' extension translatable
2013-07-26 12:01:45 +02:00
Björn Schießle
0182a503a6
expire trash bin if trash bin exceeds max size after a new file was added to ownCloud
2013-07-26 11:45:38 +02:00
Björn Schießle
a00cff7c05
disable "deleted files" button if trash bin is empty
2013-07-26 11:14:29 +02:00
Björn Schießle
96e175ffbf
don't move empty folders to the trash bin
2013-07-25 16:27:40 +02:00
Björn Schießle
bf668eb14f
nicer format of unique names, use 'file (restored).txt' instead of 'files.txt.restored'
2013-07-25 16:20:06 +02:00
Georg Ehrke
a357e5b284
merge conflicts ...
2013-07-10 12:41:53 +02:00
Georg Ehrke
cf449d42e8
properly encode path
2013-07-10 12:30:20 +02:00
kondou
2f11f56d32
Use !== and === in files_trashbin-app
2013-07-10 02:34:00 +02:00
Georg Ehrke
04292ff16c
implement use of preview icons in thrashbin app
2013-07-08 10:53:53 +02:00