fixed if fopen returns false typically on external storage
check list of users with access to the file from the bottom to the top. This way we avoid calling getFileInfo() on every dir, which creates a lot of overhead, especially for external storages
if one public link share was found, we don't have to check it for the other folders
for external storages we never reach the path 'files', instead we need to leave the loop if no further parent exists
use public API for error handling; improved while condition
remove unnecessary variable
fix indention
fix for share folder on external storage
Merge branch 'master' into file_encryption_external_storage_fixes
fix $parent/$source typo
fixes if cache returns false
fixed typo
changed deprecated class
fixes for pgsql
Merge branch 'master' into file_encryption_external_storage_fixes

Conflicts:
	apps/files_encryption/hooks/hooks.php
fixed problems with file_get_contents and file_put_contents this problem was related to text editor with big text files
fix share and un-share for single file
prevent files_versions from calling file proxy which calls files_encryption and do unnecessary load and file operations
added our own file extension .part will not work here if we use file_get_contents so we used our own extension '.etmp'
Merge pull request #3527 from owncloud/file_encryption_external_storage_fixes

File encryption external storage fixes