diff options
-rw-r--r-- | apps/files_trashbin/download.php | 2 | ||||
-rw-r--r-- | apps/files_trashbin/index.php | 20 | ||||
-rw-r--r-- | apps/files_trashbin/js/trash.js | 29 | ||||
-rw-r--r-- | apps/files_trashbin/lib/trash.php | 52 | ||||
-rw-r--r-- | core/ajax/share.php | 6 | ||||
-rw-r--r-- | core/css/share.css | 6 | ||||
-rw-r--r-- | core/js/router.js | 4 | ||||
-rw-r--r-- | lib/files/cache/cache.php | 3 | ||||
-rw-r--r-- | lib/files/cache/permissions.php | 25 | ||||
-rw-r--r-- | lib/public/share.php | 26 | ||||
-rw-r--r-- | lib/template.php | 2 | ||||
-rwxr-xr-x | lib/util.php | 11 | ||||
-rw-r--r-- | tests/lib/share/share.php | 5 |
13 files changed, 140 insertions, 51 deletions
diff --git a/apps/files_trashbin/download.php b/apps/files_trashbin/download.php index 665697dca5f..60328e1dddb 100644 --- a/apps/files_trashbin/download.php +++ b/apps/files_trashbin/download.php @@ -26,7 +26,7 @@ OCP\User::checkLoggedIn(); $filename = $_GET["file"]; -$view = new OC_FilesystemView('/'.\OCP\User::getUser().'/files_trashbin'); +$view = new OC_FilesystemView('/'.\OCP\User::getUser().'/files_trashbin/files'); if(!$view->file_exists($filename)) { header("HTTP/1.0 404 Not Found"); diff --git a/apps/files_trashbin/index.php b/apps/files_trashbin/index.php index 2f1fb32f8ce..31b46cc2dec 100644 --- a/apps/files_trashbin/index.php +++ b/apps/files_trashbin/index.php @@ -3,6 +3,8 @@ // Check if we are a user OCP\User::checkLoggedIn(); +OCP\App::setActiveNavigationEntry('files_index'); + OCP\Util::addScript('files_trashbin', 'trash'); OCP\Util::addScript('files_trashbin', 'disableDefaultActions'); OCP\Util::addScript('files', 'fileactions'); @@ -41,7 +43,7 @@ if ($dir) { } else { $dirlisting = false; - $query = \OC_DB::prepare('SELECT id,location,timestamp,type,mime FROM *PREFIX*files_trash WHERE user=?'); + $query = \OC_DB::prepare('SELECT `id`,`location`,`timestamp`,`type`,`mime` FROM `*PREFIX*files_trash` WHERE user = ?'); $result = $query->execute(array($user))->fetchAll(); } @@ -66,6 +68,18 @@ foreach ($result as $r) { $files[] = $i; } +function fileCmp($a, $b) { + if ($a['type'] == 'dir' and $b['type'] != 'dir') { + return -1; + } elseif ($a['type'] != 'dir' and $b['type'] == 'dir') { + return 1; + } else { + return strnatcasecmp($a['name'], $b['name']); + } +} + +usort($files, "fileCmp"); + // Make breadcrumb $pathtohere = ''; $breadcrumb = array(); @@ -93,9 +107,9 @@ $list->assign('disableSharing', true); $list->assign('dirlisting', $dirlisting); $list->assign('disableDownloadActions', true); $tmpl->assign('breadcrumb', $breadcrumbNav->fetchPage(), false); +$tmpl->assign('dirlisting', $dirlisting); $tmpl->assign('fileList', $list->fetchPage(), false); $tmpl->assign('files', $files); -$tmpl->assign('dirlisting', $dirlisting); -$tmpl->assign('dir', OC_Filesystem::normalizePath($view->getAbsolutePath())); +$tmpl->assign('dir', \OC\Files\Filesystem::normalizePath($view->getAbsolutePath())); $tmpl->printPage(); diff --git a/apps/files_trashbin/js/trash.js b/apps/files_trashbin/js/trash.js index 7769def535e..39e76e10c9c 100644 --- a/apps/files_trashbin/js/trash.js +++ b/apps/files_trashbin/js/trash.js @@ -141,6 +141,29 @@ $(document).ready(function() { }); }); + $('#fileList').on('click', 'td.filename a', function(event) { + var mime = $(this).parent().parent().data('mime'); + if (mime !== 'httpd/unix-directory') { + event.preventDefault(); + } + var filename = $(this).parent().parent().attr('data-file'); + var tr = $('tr').filterAttr('data-file',filename); + var renaming = tr.data('renaming'); + if(!renaming && !FileList.isLoading(filename)){ + if(mime.substr(0, 5) === 'text/'){ //no texteditor for now + return; + } + var type = $(this).parent().parent().data('type'); + var permissions = $(this).parent().parent().data('permissions'); + var action = FileActions.getDefault(mime, type, permissions); + if(action){ + event.preventDefault(); + action(filename); + } + } + }); + + FileActions.actions.dir = {}; }); function processSelection(){ @@ -206,4 +229,8 @@ function getSelectedFiles(property){ } }); return files; -}
\ No newline at end of file +} + +function fileDownloadPath(dir, file) { + return OC.filePath('files_trashbin', '', 'download.php') + '?file='+encodeURIComponent(file); +} diff --git a/apps/files_trashbin/lib/trash.php b/apps/files_trashbin/lib/trash.php index d4d5ad96cfa..0b8472198d9 100644 --- a/apps/files_trashbin/lib/trash.php +++ b/apps/files_trashbin/lib/trash.php @@ -59,7 +59,7 @@ class Trashbin { $trashbinSize = self::getTrashbinSize($user); if ( $trashbinSize === false || $trashbinSize < 0 ) { - $trashbinSize = self::calculateSize(new \OC_FilesystemView('/'. $user.'/files_trashbin')); + $trashbinSize = self::calculateSize(new \OC\Files\View('/'. $user.'/files_trashbin')); } $trashbinSize += self::copy_recursive($file_path, 'files_trashbin/files/'.$deleted.'.d'.$timestamp, $view); @@ -75,7 +75,7 @@ class Trashbin { // Take care of file versions if ( \OCP\App::isEnabled('files_versions') ) { if ( $view->is_dir('files_versions'.$file_path) ) { - $trashbinSize += self::calculateSize(new \OC_FilesystemView('/'. $user.'/files_versions/'.$file_path)); + $trashbinSize += self::calculateSize(new \OC\Files\View('/'. $user.'/files_versions/'.$file_path)); $view->rename('files_versions'.$file_path, 'files_trashbin/versions'. $deleted.'.d'.$timestamp); } else if ( $versions = \OCA\Files_Versions\Storage::getVersions($user, $file_path) ) { foreach ($versions as $v) { @@ -86,10 +86,10 @@ class Trashbin { } // Take care of encryption keys - $keyfile = \OC_Filesystem::normalizePath('files_encryption/keyfiles/'.$file_path); + $keyfile = \OC\Files\Filesystem::normalizePath('files_encryption/keyfiles/'.$file_path); if ( \OCP\App::isEnabled('files_encryption') && $view->file_exists($keyfile.'.key') ) { if ( $view->is_dir('files'.$file_path) ) { - $trashbinSize += self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.$keyfile)); + $trashbinSize += self::calculateSize(new \OC\Files\View('/'.$user.'/'.$keyfile)); $view->rename($keyfile, 'files_trashbin/keyfiles/'. $deleted.'.d'.$timestamp); } else { $trashbinSize += $view->filesize($keyfile.'.key'); @@ -102,7 +102,7 @@ class Trashbin { // get available disk space for user $quota = \OC_Preferences::getValue($user, 'files', 'quota'); - if ( $quota === null ) { + if ( $quota === null || $quota === 'default') { $quota = \OC_Appconfig::getValue('files', 'default_quota'); } if ( $quota === null ) { @@ -134,11 +134,11 @@ class Trashbin { */ public static function restore($file, $filename, $timestamp) { $user = \OCP\User::getUser(); - $view = new \OC_FilesystemView('/'.$user); + $view = new \OC\Files\View('/'.$user); $trashbinSize = self::getTrashbinSize($user); if ( $trashbinSize === false || $trashbinSize < 0 ) { - $trashbinSize = self::calculateSize(new \OC_FilesystemView('/'. $user.'/files_trashbin')); + $trashbinSize = self::calculateSize(new \OC\Files\View('/'. $user.'/files_trashbin')); } if ( $timestamp ) { $query = \OC_DB::prepare('SELECT location,type FROM *PREFIX*files_trash' @@ -165,8 +165,8 @@ class Trashbin { $location = ''; } - $source = \OC_Filesystem::normalizePath('files_trashbin/files/'.$file); - $target = \OC_Filesystem::normalizePath('files/'.$location.'/'.$filename); + $source = \OC\Files\Filesystem::normalizePath('files_trashbin/files/'.$file); + $target = \OC\Files\Filesystem::normalizePath('files/'.$location.'/'.$filename); // we need a extension in case a file/dir with the same name already exists $ext = self::getUniqueExtension($location, $filename, $view); @@ -174,7 +174,7 @@ class Trashbin { if( $view->rename($source, $target.$ext) ) { $view->touch($target.$ext, $mtime); if ($view->is_dir($target.$ext)) { - $trashbinSize -= self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.$target.$ext)); + $trashbinSize -= self::calculateSize(new \OC\Files\View('/'.$user.'/'.$target.$ext)); } else { $trashbinSize -= $view->filesize($target.$ext); } @@ -186,8 +186,8 @@ class Trashbin { $versionedFile = $file; } if ( $result[0]['type'] === 'dir' ) { - $trashbinSize -= self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.'files_trashbin/versions/'. $file)); - $view->rename(\OC_Filesystem::normalizePath('files_trashbin/versions/'. $file), \OC_Filesystem::normalizePath('files_versions/'.$location.'/'.$filename.$ext)); + $trashbinSize -= self::calculateSize(new \OC\Files\View('/'.$user.'/'.'files_trashbin/versions/'. $file)); + $view->rename(\OC\Files\Filesystem::normalizePath('files_trashbin/versions/'. $file), \OC\Files\Filesystem::normalizePath('files_versions/'.$location.'/'.$filename.$ext)); } else if ( $versions = self::getVersionsFromTrash($versionedFile, $timestamp) ) { foreach ($versions as $v) { if ($timestamp ) { @@ -204,16 +204,16 @@ class Trashbin { // Take care of encryption keys TODO! Get '.key' in file between file name and delete date (also for permanent delete!) $parts = pathinfo($file); if ( $result[0]['type'] === 'dir' ) { - $keyfile = \OC_Filesystem::normalizePath('files_trashbin/keyfiles/'.$parts['dirname'].'/'.$filename); + $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/'.$parts['dirname'].'/'.$filename); } else { - $keyfile = \OC_Filesystem::normalizePath('files_trashbin/keyfiles/'.$parts['dirname'].'/'.$filename.'.key'); + $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/'.$parts['dirname'].'/'.$filename.'.key'); } if ($timestamp) { $keyfile .= '.d'.$timestamp; } if ( \OCP\App::isEnabled('files_encryption') && $view->file_exists($keyfile) ) { if ( $result[0]['type'] === 'dir' ) { - $trashbinSize -= self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.$keyfile)); + $trashbinSize -= self::calculateSize(new \OC\Files\View('/'.$user.'/'.$keyfile)); $view->rename($keyfile, 'files_encryption/keyfiles/'. $location.'/'.$filename); } else { $trashbinSize -= $view->filesize($keyfile); @@ -244,12 +244,12 @@ class Trashbin { */ public static function delete($filename, $timestamp=null) { $user = \OCP\User::getUser(); - $view = new \OC_FilesystemView('/'.$user); + $view = new \OC\Files\View('/'.$user); $size = 0; $trashbinSize = self::getTrashbinSize($user); if ( $trashbinSize === false || $trashbinSize < 0 ) { - $trashbinSize = self::calculateSize(new \OC_FilesystemView('/'. $user.'/files_trashbin')); + $trashbinSize = self::calculateSize(new \OC\Files\View('/'. $user.'/files_trashbin')); } if ( $timestamp ) { @@ -262,7 +262,7 @@ class Trashbin { if ( \OCP\App::isEnabled('files_versions') ) { if ($view->is_dir('files_trashbin/versions/'.$file)) { - $size += self::calculateSize(new \OC_Filesystemview('/'.$user.'/files_trashbin/versions/'.$file)); + $size += self::calculateSize(new \OC\Files\view('/'.$user.'/files_trashbin/versions/'.$file)); $view->unlink('files_trashbin/versions/'.$file); } else if ( $versions = self::getVersionsFromTrash($filename, $timestamp) ) { foreach ($versions as $v) { @@ -280,16 +280,16 @@ class Trashbin { // Take care of encryption keys $parts = pathinfo($file); if ( $view->is_dir('/files_trashbin/files/'.$file) ) { - $keyfile = \OC_Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename); + $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename); } else { - $keyfile = \OC_Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename.'.key'); + $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename.'.key'); } if ($timestamp) { $keyfile .= '.d'.$timestamp; } if ( \OCP\App::isEnabled('files_encryption') && $view->file_exists($keyfile) ) { if ( $view->is_dir($keyfile) ) { - $size += self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.$keyfile)); + $size += self::calculateSize(new \OC\Files\View('/'.$user.'/'.$keyfile)); } else { $size += $view->filesize($keyfile); } @@ -297,7 +297,7 @@ class Trashbin { } if ($view->is_dir('/files_trashbin/files/'.$file)) { - $size += self::calculateSize(new \OC_Filesystemview('/'.$user.'/files_trashbin/files/'.$file)); + $size += self::calculateSize(new \OC\Files\View('/'.$user.'/files_trashbin/files/'.$file)); } else { $size += $view->filesize('/files_trashbin/files/'.$file); } @@ -316,7 +316,7 @@ class Trashbin { */ public static function file_exists($filename, $timestamp=null) { $user = \OCP\User::getUser(); - $view = new \OC_FilesystemView('/'.$user); + $view = new \OC\Files\View('/'.$user); if ($timestamp) { $filename = $filename.'.d'.$timestamp; @@ -324,7 +324,7 @@ class Trashbin { $filename = $filename; } - $target = \OC_Filesystem::normalizePath('files_trashbin/files/'.$filename); + $target = \OC\Files\Filesystem::normalizePath('files_trashbin/files/'.$filename); return $view->file_exists($target); } @@ -335,7 +335,7 @@ class Trashbin { private static function expire($availableSpace) { $user = \OCP\User::getUser(); - $view = new \OC_FilesystemView('/'.$user); + $view = new \OC\Files\View('/'.$user); $size = 0; $query = \OC_DB::prepare('SELECT location,type,id,timestamp FROM *PREFIX*files_trash WHERE user=?'); @@ -410,7 +410,7 @@ class Trashbin { * @param $timestamp timestamp when the file was deleted */ private static function getVersionsFromTrash($filename, $timestamp) { - $view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files_trashbin/versions'); + $view = new \OC\Files\View('/'.\OCP\User::getUser().'/files_trashbin/versions'); $versionsName = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath($filename); $versions = array(); if ($timestamp ) { diff --git a/core/ajax/share.php b/core/ajax/share.php index 332b6a0bed8..9201b48cb95 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -185,8 +185,8 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $users = array(); $limit = 0; $offset = 0; - while ($count < 4 && count($users) == $limit) { - $limit = 4 - $count; + while ($count < 15 && count($users) == $limit) { + $limit = 15 - $count; if ($sharePolicy == 'groups_only') { $users = OC_Group::DisplayNamesInGroups($groups, $_GET['search'], $limit, $offset); } else { @@ -209,7 +209,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo } $count = 0; foreach ($groups as $group) { - if ($count < 4) { + if ($count < 15) { if (stripos($group, $_GET['search']) !== false && (!isset($_GET['itemShares']) || !isset($_GET['itemShares'][OCP\Share::SHARE_TYPE_GROUP]) diff --git a/core/css/share.css b/core/css/share.css index 2480a571ae5..2d6849b4bb1 100644 --- a/core/css/share.css +++ b/core/css/share.css @@ -91,3 +91,9 @@ } .reshare { white-space:normal; } /* fix shared by text going out of box */ + +.ui-autocomplete { /* limit dropdown height to 4 1/2 entries */ + max-height:103px; + overflow-y:auto; + overflow-x:hidden; +} diff --git a/core/js/router.js b/core/js/router.js index 3562785b342..b94721673a7 100644 --- a/core/js/router.js +++ b/core/js/router.js @@ -1,11 +1,11 @@ -OC.router_base_url = OC.webroot + '/index.php/', +OC.router_base_url = OC.webroot + '/index.php', OC.Router = { // register your ajax requests to load after the loading of the routes // has finished. otherwise you face problems with race conditions registerLoadedCallback: function(callback){ this.routes_request.done(callback); }, - routes_request: $.ajax(OC.router_base_url + 'core/routes.json', { + routes_request: $.ajax(OC.router_base_url + '/core/routes.json', { dataType: 'json', success: function(jsondata) { if (jsondata.status === 'success') { diff --git a/lib/files/cache/cache.php b/lib/files/cache/cache.php index 01e6e788263..f288919df74 100644 --- a/lib/files/cache/cache.php +++ b/lib/files/cache/cache.php @@ -313,6 +313,9 @@ class Cache { } $query = \OC_DB::prepare('DELETE FROM `*PREFIX*filecache` WHERE `fileid` = ?'); $query->execute(array($entry['fileid'])); + + $permissionsCache = new Permissions($this->storageId); + $permissionsCache->remove($entry['fileid']); } /** diff --git a/lib/files/cache/permissions.php b/lib/files/cache/permissions.php index e1735831b94..a5c9c144054 100644 --- a/lib/files/cache/permissions.php +++ b/lib/files/cache/permissions.php @@ -17,10 +17,10 @@ class Permissions { /** * @param \OC\Files\Storage\Storage|string $storage */ - public function __construct($storage){ - if($storage instanceof \OC\Files\Storage\Storage) { + public function __construct($storage) { + if ($storage instanceof \OC\Files\Storage\Storage) { $this->storageId = $storage->getId(); - }else{ + } else { $this->storageId = $storage; } } @@ -52,10 +52,10 @@ class Permissions { public function set($fileId, $user, $permissions) { if (self::get($fileId, $user) !== -1) { $query = \OC_DB::prepare('UPDATE `*PREFIX*permissions` SET `permissions` = ?' - .' WHERE `user` = ? AND `fileid` = ?'); + . ' WHERE `user` = ? AND `fileid` = ?'); } else { $query = \OC_DB::prepare('INSERT INTO `*PREFIX*permissions`(`permissions`, `user`, `fileid`)' - .' VALUES(?, ?,? )'); + . ' VALUES(?, ?,? )'); } $query->execute(array($permissions, $user, $fileId)); } @@ -76,7 +76,7 @@ class Permissions { $inPart = implode(', ', array_fill(0, count($fileIds), '?')); $query = \OC_DB::prepare('SELECT `fileid`, `permissions` FROM `*PREFIX*permissions`' - .' WHERE `fileid` IN (' . $inPart . ') AND `user` = ?'); + . ' WHERE `fileid` IN (' . $inPart . ') AND `user` = ?'); $result = $query->execute($params); $filePermissions = array(); while ($row = $result->fetchRow()) { @@ -91,14 +91,19 @@ class Permissions { * @param int $fileId * @param string $user */ - public function remove($fileId, $user) { - $query = \OC_DB::prepare('DELETE FROM `*PREFIX*permissions` WHERE `fileid` = ? AND `user` = ?'); - $query->execute(array($fileId, $user)); + public function remove($fileId, $user = null) { + if (is_null($user)) { + $query = \OC_DB::prepare('DELETE FROM `*PREFIX*permissions` WHERE `fileid` = ?'); + $query->execute(array($fileId)); + } else { + $query = \OC_DB::prepare('DELETE FROM `*PREFIX*permissions` WHERE `fileid` = ? AND `user` = ?'); + $query->execute(array($fileId, $user)); + } } public function removeMultiple($fileIds, $user) { $query = \OC_DB::prepare('DELETE FROM `*PREFIX*permissions` WHERE `fileid` = ? AND `user` = ?'); - foreach($fileIds as $fileId){ + foreach ($fileIds as $fileId) { $query->execute(array($fileId, $user)); } } diff --git a/lib/public/share.php b/lib/public/share.php index 37cf0838ed1..8146a23f360 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -61,6 +61,7 @@ class Share { private static $shareTypeGroupUserUnique = 2; private static $backends = array(); private static $backendTypes = array(); + private static $isResharingAllowed; /** * @brief Register a sharing backend class that implements OCP\Share_Backend for an item type @@ -568,6 +569,24 @@ class Share { } /** + * @brief Check if resharing is allowed + * @return Returns true if allowed or false + * + * Resharing is allowed by default if not configured + * + */ + private static function isResharingAllowed() { + if (!isset(self::$isResharingAllowed)) { + if (\OC_Appconfig::getValue('core', 'shareapi_allow_resharing', 'yes') == 'yes') { + self::$isResharingAllowed = true; + } else { + self::$isResharingAllowed = false; + } + } + return self::$isResharingAllowed; + } + + /** * @brief Get a list of collection item types for the specified item type * @param string Item type * @return array @@ -840,7 +859,10 @@ class Share { continue; } } - + // Check if resharing is allowed, if not remove share permission + if (isset($row['permissions']) && !self::isResharingAllowed()) { + $row['permissions'] &= ~PERMISSION_SHARE; + } // Add display names to result if ( isset($row['share_with']) && $row['share_with'] != '') { $row['share_with_displayname'] = \OCP\User::getDisplayName($row['share_with']); @@ -978,7 +1000,7 @@ class Share { throw new \Exception($message); } // Check if share permissions is granted - if ((int)$checkReshare['permissions'] & PERMISSION_SHARE) { + if (self::isResharingAllowed() && (int)$checkReshare['permissions'] & PERMISSION_SHARE) { if (~(int)$checkReshare['permissions'] & $permissions) { $message = 'Sharing '.$itemSource .' failed, because the permissions exceed permissions granted to '.$uidOwner; diff --git a/lib/template.php b/lib/template.php index ce55e58d28d..3c103c901c2 100644 --- a/lib/template.php +++ b/lib/template.php @@ -147,7 +147,7 @@ function html_select_options($options, $selected, $params=array()) { $label = $label[$label_name]; } $select = in_array($value, $selected) ? ' selected="selected"' : ''; - $html .= '<option value="' . $value . '"' . $select . '>' . $label . '</option>'."\n"; + $html .= '<option value="' . OC_Util::sanitizeHTML($value) . '"' . $select . '>' . OC_Util::sanitizeHTML($label) . '</option>'."\n"; } return $html; } diff --git a/lib/util.php b/lib/util.php index 060db73da00..2e32ee2e3c2 100755 --- a/lib/util.php +++ b/lib/util.php @@ -222,7 +222,16 @@ class OC_Util { 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } - + if(!class_exists('DOMDocument')) { + $errors[] = array('error' => 'PHP module dom not installed.<br/>', + 'hint' => 'Please ask your server administrator to install the module.'); + $web_server_restart = false; + } + if(!function_exists('xml_parser_create')) { + $errors[] = array('error' => 'PHP module libxml not installed.<br/>', + 'hint' => 'Please ask your server administrator to install the module.'); + $web_server_restart = false; + } if(!function_exists('mb_detect_encoding')) { $errors[]=array('error'=>'PHP module mb multibyte not installed.<br/>', 'hint'=>'Please ask your server administrator to install the module.'); diff --git a/tests/lib/share/share.php b/tests/lib/share/share.php index ab43e47726b..e7d441a7e78 100644 --- a/tests/lib/share/share.php +++ b/tests/lib/share/share.php @@ -28,7 +28,7 @@ class Test_Share extends PHPUnit_Framework_TestCase { protected $groupBackend; protected $group1; protected $group2; - + protected $resharing; public function setUp() { OC_User::clearBackends(); @@ -56,11 +56,14 @@ class Test_Share extends PHPUnit_Framework_TestCase { OCP\Share::registerBackend('test', 'Test_Share_Backend'); OC_Hook::clear('OCP\\Share'); OC::registerShareHooks(); + $this->resharing = OC_Appconfig::getValue('core', 'shareapi_allow_resharing', 'yes'); + OC_Appconfig::setValue('core', 'shareapi_allow_resharing', 'yes'); } public function tearDown() { $query = OC_DB::prepare('DELETE FROM `*PREFIX*share` WHERE `item_type` = ?'); $query->execute(array('test')); + OC_Appconfig::setValue('core', 'shareapi_allow_resharing', $this->resharing); } public function testShareInvalidShareType() { |