summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing')
-rw-r--r--apps/files_sharing/appinfo/app.php2
-rw-r--r--apps/files_sharing/l10n/bn_BD.php6
-rw-r--r--apps/files_sharing/l10n/hu_HU.php11
-rw-r--r--apps/files_sharing/l10n/is.php9
-rw-r--r--apps/files_sharing/lib/cache.php14
-rw-r--r--apps/files_sharing/lib/scanner.php69
-rw-r--r--apps/files_sharing/lib/sharedstorage.php37
-rw-r--r--apps/files_sharing/lib/watcher.php51
-rw-r--r--apps/files_sharing/public.php12
9 files changed, 120 insertions, 91 deletions
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php
index 189fd20cae3..d3e05cc62d8 100644
--- a/apps/files_sharing/appinfo/app.php
+++ b/apps/files_sharing/appinfo/app.php
@@ -5,7 +5,7 @@ OC::$CLASSPATH['OC_Share_Backend_Folder'] = 'apps/files_sharing/lib/share/folder
OC::$CLASSPATH['OC\Files\Storage\Shared'] = "apps/files_sharing/lib/sharedstorage.php";
OC::$CLASSPATH['OC\Files\Cache\Shared_Cache'] = 'apps/files_sharing/lib/cache.php';
OC::$CLASSPATH['OC\Files\Cache\Shared_Permissions'] = 'apps/files_sharing/lib/permissions.php';
-OC::$CLASSPATH['OC\Files\Cache\Shared_Scanner'] = 'apps/files_sharing/lib/scanner.php';
+OC::$CLASSPATH['OC\Files\Cache\Shared_Watcher'] = 'apps/files_sharing/lib/watcher.php';
OCP\Util::connectHook('OC_Filesystem', 'setup', '\OC\Files\Storage\Shared', 'setup');
OCP\Share::registerBackend('file', 'OC_Share_Backend_File');
OCP\Share::registerBackend('folder', 'OC_Share_Backend_Folder', 'file');
diff --git a/apps/files_sharing/l10n/bn_BD.php b/apps/files_sharing/l10n/bn_BD.php
new file mode 100644
index 00000000000..785dfcd2f1d
--- /dev/null
+++ b/apps/files_sharing/l10n/bn_BD.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Password" => "কূটশব্দ",
+"Submit" => "পাঠাও",
+"Download" => "ডাউনলোড",
+"web services under your control" => "ওয়েব সেবাসমূহ এখন আপনার হাতের মুঠোয়"
+);
diff --git a/apps/files_sharing/l10n/hu_HU.php b/apps/files_sharing/l10n/hu_HU.php
index 881b5afd817..f8ca541260d 100644
--- a/apps/files_sharing/l10n/hu_HU.php
+++ b/apps/files_sharing/l10n/hu_HU.php
@@ -1,6 +1,9 @@
<?php $TRANSLATIONS = array(
-"Size" => "Méret",
-"Modified" => "Módosítva",
-"Delete all" => "Összes törlése",
-"Delete" => "Törlés"
+"Password" => "Jelszó",
+"Submit" => "Elküld",
+"%s shared the folder %s with you" => "%s megosztotta Önnel ezt a mappát: %s",
+"%s shared the file %s with you" => "%s megosztotta Önnel ezt az állományt: %s",
+"Download" => "Letöltés",
+"No preview available for" => "Nem áll rendelkezésre előnézet ehhez: ",
+"web services under your control" => "webszolgáltatások saját kézben"
);
diff --git a/apps/files_sharing/l10n/is.php b/apps/files_sharing/l10n/is.php
new file mode 100644
index 00000000000..bf1975c54ae
--- /dev/null
+++ b/apps/files_sharing/l10n/is.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Lykilorð",
+"Submit" => "Senda",
+"%s shared the folder %s with you" => "%s deildi möppunni %s með þér",
+"%s shared the file %s with you" => "%s deildi skránni %s með þér",
+"Download" => "Niðurhal",
+"No preview available for" => "Yfirlit ekki í boði fyrir",
+"web services under your control" => "vefþjónusta undir þinni stjórn"
+);
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index a22e7af7f59..0534d6dd89f 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -36,8 +36,8 @@ class Shared_Cache extends Cache {
/**
* @brief Get the source cache of a shared file or folder
- * @param string Shared target file path
- * @return \OC\Files\Storage\Cache
+ * @param string $target Shared target file path
+ * @return \OC\Files\Cache\Cache
*/
private function getSourceCache($target) {
$source = \OC_Share_Backend_File::getSource($target);
@@ -48,6 +48,7 @@ class Shared_Cache extends Cache {
if ($storage) {
$this->files[$target] = $internalPath;
$cache = $storage->getCache();
+ $this->storageId = $storage->getId();
$this->numericId = $cache->getNumericStorageId();
return $cache;
}
@@ -110,7 +111,7 @@ class Shared_Cache extends Cache {
*/
public function put($file, array $data) {
if ($cache = $this->getSourceCache($file)) {
- return $cache->put($this->files[$file]);
+ return $cache->put($this->files[$file], $data);
}
return false;
}
@@ -169,6 +170,9 @@ class Shared_Cache extends Cache {
* @return int, Cache::NOT_FOUND, Cache::PARTIAL, Cache::SHALLOW or Cache::COMPLETE
*/
public function getStatus($file) {
+ if ($file == '') {
+ return self::COMPLETE;
+ }
if ($cache = $this->getSourceCache($file)) {
return $cache->getStatus($this->files[$file]);
}
@@ -227,7 +231,7 @@ class Shared_Cache extends Cache {
* @return int[]
*/
public function getAll() {
- return OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL);
+ return \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL);
}
-} \ No newline at end of file
+}
diff --git a/apps/files_sharing/lib/scanner.php b/apps/files_sharing/lib/scanner.php
deleted file mode 100644
index d13d2f9cbc3..00000000000
--- a/apps/files_sharing/lib/scanner.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Michael Gapczynski
-* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-namespace OC\Files\Cache;
-
-class Shared_Scanner extends Scanner {
-
- public function __construct(\OC\Files\Storage\Storage $storage) {
-
- }
-
- /**
- * get all the metadata of a file or folder
- * *
- *
- * @param string $path
- * @return array with metadata of the file
- */
- public function getData($path) {
- // Not a valid action for Shared Scanner
- }
-
- /**
- * scan a single file and store it in the cache
- *
- * @param string $file
- * @return array with metadata of the scanned file
- */
- public function scanFile($file) {
- // Not a valid action for Shared Scanner
- }
-
- /**
- * scan all the files in a folder and store them in the cache
- *
- * @param string $path
- * @param SCAN_RECURSIVE/SCAN_SHALLOW $recursive
- * @return int the size of the scanned folder or -1 if the size is unknown at this stage
- */
- public function scan($path, $recursive = self::SCAN_RECURSIVE) {
- // Not a valid action for Shared Scanner
- }
-
- /**
- * walk over any folders that are not fully scanned yet and scan them
- */
- public function backgroundScan() {
- // Not a valid action for Shared Scanner
- }
-
-} \ No newline at end of file
diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php
index cb9b36482fa..24096e0c10c 100644
--- a/apps/files_sharing/lib/sharedstorage.php
+++ b/apps/files_sharing/lib/sharedstorage.php
@@ -364,6 +364,9 @@ class Shared extends \OC\Files\Storage\Common {
}
public function free_space($path) {
+ if ($path == '') {
+ return -1;
+ }
$source = $this->getSourcePath($path);
if ($source) {
list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source);
@@ -387,23 +390,45 @@ class Shared extends \OC\Files\Storage\Common {
}
public static function setup($options) {
- $user_dir = $options['user_dir'];
- \OC\Files\Filesystem::mount('\OC\Files\Storage\Shared', array('sharedFolder' => '/Shared'), $user_dir.'/Shared/');
+ if (\OCP\Share::getItemsSharedWith('file')) {
+ $user_dir = $options['user_dir'];
+ \OC\Files\Filesystem::mount('\OC\Files\Storage\Shared', array('sharedFolder' => '/Shared'), $user_dir.'/Shared/');
+ }
+ }
+
+ public function hasUpdated($path, $time) {
+ if ($path == '') {
+ return false;
+ }
+ return $this->filemtime($path) > $time;
}
- public function getCache() {
+ public function getCache($path = '') {
return new \OC\Files\Cache\Shared_Cache($this);
}
- public function getScanner(){
- return new \OC\Files\Cache\Shared_Scanner($this);
+ public function getScanner($path = '') {
+ if ($path != '' && ($source = $this->getSourcePath($path))) {
+ list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source);
+ if ($storage) {
+ return $storage->getScanner($internalPath);
+ }
+ }
+ return new \OC\Files\Cache\Scanner($this);
}
- public function getPermissionsCache() {
+ public function getPermissionsCache($path = '') {
return new \OC\Files\Cache\Shared_Permissions($this);
}
+ public function getWatcher($path = '') {
+ return new \OC\Files\Cache\Shared_Watcher($this);
+ }
+
public function getOwner($path) {
+ if ($path == '') {
+ return false;
+ }
$source = $this->getFile($path);
if ($source) {
return $source['uid_owner'];
diff --git a/apps/files_sharing/lib/watcher.php b/apps/files_sharing/lib/watcher.php
new file mode 100644
index 00000000000..e67d1ee9086
--- /dev/null
+++ b/apps/files_sharing/lib/watcher.php
@@ -0,0 +1,51 @@
+<?php
+/**
+* ownCloud
+*
+* @author Michael Gapczynski
+* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+namespace OC\Files\Cache;
+
+/**
+ * check the storage backends for updates and change the cache accordingly
+ */
+class Shared_Watcher extends Watcher {
+
+ /**
+ * check $path for updates
+ *
+ * @param string $path
+ */
+ public function checkUpdate($path) {
+ if ($path != '') {
+ parent::checkUpdate($path);
+ }
+ }
+
+ /**
+ * remove deleted files in $path from the cache
+ *
+ * @param string $path
+ */
+ public function cleanFolder($path) {
+ if ($path != '') {
+ parent::cleanFolder($path);
+ }
+ }
+
+} \ No newline at end of file
diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php
index eb4af58cdca..e8d18a213b1 100644
--- a/apps/files_sharing/public.php
+++ b/apps/files_sharing/public.php
@@ -175,7 +175,7 @@ if ($linkItem) {
if (isset($_GET['path'])) {
$path .= $_GET['path'];
}
- if (!$path || !\OC\Files\Filesystem::isValidPath($path) || !OC_Filesystem::file_exists($path)) {
+ if (!$path || !\OC\Files\Filesystem::isValidPath($path) || !\OC\Files\Filesystem::file_exists($path)) {
OCP\Util::writeLog('share', 'Invalid path ' . $path . ' for share id ' . $linkItem['id'], \OCP\Util::ERROR);
header('HTTP/1.0 404 Not Found');
$tmpl = new OCP\Template('', '404', 'guest');
@@ -208,7 +208,7 @@ if ($linkItem) {
$tmpl->assign('uidOwner', $shareOwner);
$tmpl->assign('dir', $dir);
$tmpl->assign('filename', $file);
- $tmpl->assign('mimetype', OC_Filesystem::getMimeType($path));
+ $tmpl->assign('mimetype', \OC\Files\Filesystem::getMimeType($path));
if (isset($_GET['path'])) {
$getPath = $_GET['path'];
} else {
@@ -217,7 +217,7 @@ if ($linkItem) {
//
$urlLinkIdentifiers = (isset($token) ? '&t=' . $token : '') . (isset($_GET['dir']) ? '&dir=' . $_GET['dir'] : '') . (isset($_GET['file']) ? '&file=' . $_GET['file'] : '');
// Show file list
- if (OC_Filesystem::is_dir($path)) {
+ if (\OC\Files\Filesystem::is_dir($path)) {
OCP\Util::addStyle('files', 'files');
OCP\Util::addScript('files', 'files');
OCP\Util::addScript('files', 'filelist');
@@ -292,7 +292,7 @@ if ($linkItem) {
$tmpl = new OCP\Template('files_sharing', 'public', 'base');
$tmpl->assign('owner', $uidOwner);
// Show file list
- if (OC_Filesystem::is_dir($path)) {
+ if (\OC\Files\Filesystem::is_dir($path)) {
OCP\Util::addStyle('files', 'files');
OCP\Util::addScript('files', 'files');
OCP\Util::addScript('files', 'filelist');
@@ -349,7 +349,7 @@ if ($linkItem) {
$tmpl->assign('uidOwner', $uidOwner);
$tmpl->assign('dir', basename($dir));
$tmpl->assign('filename', basename($path));
- $tmpl->assign('mimetype', OC_Filesystem::getMimeType($path));
+ $tmpl->assign('mimetype', \OC\Files\Filesystem::getMimeType($path));
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
if (isset($_GET['path'])) {
$getPath = $_GET['path'];
@@ -362,7 +362,7 @@ if ($linkItem) {
$tmpl->assign('uidOwner', $uidOwner);
$tmpl->assign('dir', dirname($path));
$tmpl->assign('filename', basename($path));
- $tmpl->assign('mimetype', OC_Filesystem::getMimeType($path));
+ $tmpl->assign('mimetype', \OC\Files\Filesystem::getMimeType($path));
if ($type == 'file') {
$tmpl->assign('downloadURL', OCP\Util::linkToPublic('files') . '&file=' . urlencode($_GET['file']) . '&download', false);
} else {