Merge pull request #15363 from owncloud/ext-ocp
Use OCP classes as much as possible in files_external
This commit is contained in:
commit
b476c125c0
|
@ -373,7 +373,7 @@ class AmazonS3 extends \OC\Files\Storage\Common {
|
|||
switch ($mode) {
|
||||
case 'r':
|
||||
case 'rb':
|
||||
$tmpFile = \OC_Helper::tmpFile();
|
||||
$tmpFile = \OCP\Files::tmpFile();
|
||||
self::$tmpFiles[$tmpFile] = $path;
|
||||
|
||||
try {
|
||||
|
@ -405,7 +405,7 @@ class AmazonS3 extends \OC\Files\Storage\Common {
|
|||
} else {
|
||||
$ext = '';
|
||||
}
|
||||
$tmpFile = \OC_Helper::tmpFile($ext);
|
||||
$tmpFile = \OCP\Files::tmpFile($ext);
|
||||
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
|
||||
if ($this->file_exists($path)) {
|
||||
$source = $this->fopen($path, 'r');
|
||||
|
|
|
@ -71,7 +71,7 @@ class Api {
|
|||
*/
|
||||
public static function getUserMounts($params) {
|
||||
$entries = array();
|
||||
$user = \OC_User::getUser();
|
||||
$user = \OC::$server->getUserSession()->getUser()->getUID();
|
||||
|
||||
$mounts = \OC_Mount_Config::getAbsoluteMountPoints($user);
|
||||
foreach($mounts as $mountPoint => $mount) {
|
||||
|
|
|
@ -124,10 +124,9 @@ class OC_Mount_Config {
|
|||
self::addStorageIdToConfig($data['user']);
|
||||
$user = \OC::$server->getUserManager()->get($data['user']);
|
||||
if (!$user) {
|
||||
\OCP\Util::writeLog(
|
||||
'files_external',
|
||||
\OC::$server->getLogger()->warning(
|
||||
'Cannot init external mount points for non-existant user "' . $data['user'] . '".',
|
||||
\OCP\Util::WARN
|
||||
['app' => 'files_external']
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -161,6 +160,9 @@ class OC_Mount_Config {
|
|||
// Load system mount points
|
||||
$mountConfig = self::readData();
|
||||
|
||||
$userObject = \OC::$server->getUserManager()->get($user);
|
||||
$groupManager = \OC::$server->getGroupManager();
|
||||
|
||||
// Global mount points (is this redundant?)
|
||||
if (isset($mountConfig[self::MOUNT_TYPE_GLOBAL])) {
|
||||
foreach ($mountConfig[self::MOUNT_TYPE_GLOBAL] as $mountPoint => $options) {
|
||||
|
@ -207,7 +209,7 @@ class OC_Mount_Config {
|
|||
// Group mount points
|
||||
if (isset($mountConfig[self::MOUNT_TYPE_GROUP])) {
|
||||
foreach ($mountConfig[self::MOUNT_TYPE_GROUP] as $group => $mounts) {
|
||||
if (\OC_Group::inGroup($user, $group)) {
|
||||
if ($groupManager->get($group)->inGroup($userObject)) {
|
||||
foreach ($mounts as $mountPoint => $options) {
|
||||
$mountPoint = self::setUserVars($user, $mountPoint);
|
||||
foreach ($options as &$option) {
|
||||
|
@ -581,7 +583,7 @@ class OC_Mount_Config {
|
|||
|
||||
$result = self::getBackendStatus($class, $classOptions, $isPersonal);
|
||||
if ($result === self::STATUS_SUCCESS && $isNew) {
|
||||
\OC_Hook::emit(
|
||||
\OCP\Util::emitHook(
|
||||
\OC\Files\Filesystem::CLASSNAME,
|
||||
\OC\Files\Filesystem::signal_create_mount,
|
||||
array(
|
||||
|
@ -627,7 +629,7 @@ class OC_Mount_Config {
|
|||
}
|
||||
}
|
||||
self::writeData($isPersonal ? OCP\User::getUser() : null, $mountPoints);
|
||||
\OC_Hook::emit(
|
||||
\OCP\Util::emitHook(
|
||||
\OC\Files\Filesystem::CLASSNAME,
|
||||
\OC\Files\Filesystem::signal_delete_mount,
|
||||
array(
|
||||
|
@ -669,10 +671,11 @@ class OC_Mount_Config {
|
|||
*/
|
||||
public static function readData($user = null) {
|
||||
if (isset($user)) {
|
||||
$jsonFile = OC_User::getHome($user) . '/mount.json';
|
||||
$jsonFile = \OC::$server->getUserManager()->get($user)->getHome() . '/mount.json';
|
||||
} else {
|
||||
$datadir = \OC_Config::getValue('datadirectory', \OC::$SERVERROOT . '/data/');
|
||||
$jsonFile = \OC_Config::getValue('mount_file', $datadir . '/mount.json');
|
||||
$config = \OC::$server->getConfig();
|
||||
$datadir = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data/');
|
||||
$jsonFile = $config->getSystemValue('mount_file', $datadir . '/mount.json');
|
||||
}
|
||||
if (is_file($jsonFile)) {
|
||||
$mountPoints = json_decode(file_get_contents($jsonFile), true);
|
||||
|
@ -691,10 +694,11 @@ class OC_Mount_Config {
|
|||
*/
|
||||
public static function writeData($user, $data) {
|
||||
if (isset($user)) {
|
||||
$file = OC_User::getHome($user) . '/mount.json';
|
||||
$file = \OC::$server->getUserManager()->get($user)->getHome() . '/mount.json';
|
||||
} else {
|
||||
$datadir = \OC_Config::getValue('datadirectory', \OC::$SERVERROOT . '/data/');
|
||||
$file = \OC_Config::getValue('mount_file', $datadir . '/mount.json');
|
||||
$config = \OC::$server->getConfig();
|
||||
$datadir = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data/');
|
||||
$file = $config->getSystemValue('mount_file', $datadir . '/mount.json');
|
||||
}
|
||||
|
||||
foreach ($data as &$applicables) {
|
||||
|
@ -752,7 +756,7 @@ class OC_Mount_Config {
|
|||
}
|
||||
|
||||
private static function generateDependencyMessage($dependencies) {
|
||||
$l = new \OC_L10N('files_external');
|
||||
$l = \OC::$server->getL10N('files_external');
|
||||
$dependencyMessage = '';
|
||||
foreach ($dependencies as $module => $backends) {
|
||||
$dependencyGroup = array();
|
||||
|
@ -789,7 +793,7 @@ class OC_Mount_Config {
|
|||
* @param string $backend
|
||||
* @return string
|
||||
*/
|
||||
private static function getSingleDependencyMessage(OC_L10N $l, $module, $backend) {
|
||||
private static function getSingleDependencyMessage(\OCP\IL10N $l, $module, $backend) {
|
||||
switch (strtolower($module)) {
|
||||
case 'curl':
|
||||
return $l->t('<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.', $backend);
|
||||
|
|
|
@ -243,7 +243,7 @@ class Dropbox extends \OC\Files\Storage\Common {
|
|||
switch ($mode) {
|
||||
case 'r':
|
||||
case 'rb':
|
||||
$tmpFile = \OC_Helper::tmpFile();
|
||||
$tmpFile = \OCP\Files::tmpFile();
|
||||
try {
|
||||
$data = $this->dropbox->getFile($path);
|
||||
file_put_contents($tmpFile, $data);
|
||||
|
@ -269,7 +269,7 @@ class Dropbox extends \OC\Files\Storage\Common {
|
|||
} else {
|
||||
$ext = '';
|
||||
}
|
||||
$tmpFile = \OC_Helper::tmpFile($ext);
|
||||
$tmpFile = \OCP\Files::tmpFile($ext);
|
||||
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
|
||||
if ($this->file_exists($path)) {
|
||||
$source = $this->fopen($path, 'r');
|
||||
|
|
|
@ -428,7 +428,7 @@ class Google extends \OC\Files\Storage\Common {
|
|||
$request = new \Google_Http_Request($downloadUrl, 'GET', null, null);
|
||||
$httpRequest = $this->client->getAuth()->authenticatedRequest($request);
|
||||
if ($httpRequest->getResponseHttpCode() == 200) {
|
||||
$tmpFile = \OC_Helper::tmpFile($ext);
|
||||
$tmpFile = \OCP\Files::tmpFile($ext);
|
||||
$data = $httpRequest->getResponseBody();
|
||||
file_put_contents($tmpFile, $data);
|
||||
return fopen($tmpFile, $mode);
|
||||
|
@ -448,7 +448,7 @@ class Google extends \OC\Files\Storage\Common {
|
|||
case 'x+':
|
||||
case 'c':
|
||||
case 'c+':
|
||||
$tmpFile = \OC_Helper::tmpFile($ext);
|
||||
$tmpFile = \OCP\Files::tmpFile($ext);
|
||||
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
|
||||
if ($this->file_exists($path)) {
|
||||
$source = $this->fopen($path, 'rb');
|
||||
|
|
|
@ -310,7 +310,7 @@ class Swift extends \OC\Files\Storage\Common {
|
|||
switch ($mode) {
|
||||
case 'r':
|
||||
case 'rb':
|
||||
$tmpFile = \OC_Helper::tmpFile();
|
||||
$tmpFile = \OCP\Files::tmpFile();
|
||||
self::$tmpFiles[$tmpFile] = $path;
|
||||
try {
|
||||
$object = $this->getContainer()->getObject($path);
|
||||
|
@ -348,7 +348,7 @@ class Swift extends \OC\Files\Storage\Common {
|
|||
} else {
|
||||
$ext = '';
|
||||
}
|
||||
$tmpFile = \OC_Helper::tmpFile($ext);
|
||||
$tmpFile = \OCP\Files::tmpFile($ext);
|
||||
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
|
||||
if ($this->file_exists($path)) {
|
||||
$source = $this->fopen($path, 'r');
|
||||
|
|
|
@ -306,7 +306,7 @@ abstract class StoragesService {
|
|||
*/
|
||||
protected function triggerApplicableHooks($signal, $mountPoint, $mountType, $applicableArray) {
|
||||
foreach ($applicableArray as $applicable) {
|
||||
\OC_Hook::emit(
|
||||
\OCP\Util::emitHook(
|
||||
Filesystem::CLASSNAME,
|
||||
$signal,
|
||||
[
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<tbody>
|
||||
<?php $_['mounts'] = array_merge($_['mounts'], array('' => array('id' => ''))); ?>
|
||||
<?php foreach ($_['mounts'] as $mount): ?>
|
||||
<tr <?php print_unescaped(isset($mount['mountpoint']) ? 'class="'.OC_Util::sanitizeHTML($mount['class']).'"' : 'id="addMountPoint"'); ?> data-id="<?php p($mount['id']) ?>">
|
||||
<tr <?php print_unescaped(isset($mount['mountpoint']) ? 'class="'.\OCP\Util::sanitizeHTML($mount['class']).'"' : 'id="addMountPoint"'); ?> data-id="<?php p($mount['id']) ?>">
|
||||
<td class="status">
|
||||
<span></span>
|
||||
</td>
|
||||
|
|
|
@ -131,6 +131,9 @@ class Test_Mount_Config extends \Test\TestCase {
|
|||
const TEST_GROUP2 = 'group2';
|
||||
const TEST_GROUP2B = 'group2b';
|
||||
|
||||
private $users = [];
|
||||
private $groups = [];
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
|
@ -147,32 +150,43 @@ class Test_Mount_Config extends \Test\TestCase {
|
|||
)
|
||||
);
|
||||
|
||||
\OC_User::createUser(self::TEST_USER1, self::TEST_USER1);
|
||||
\OC_User::createUser(self::TEST_USER2, self::TEST_USER2);
|
||||
$userManager = \OC::$server->getUserManager();
|
||||
$groupManager = \OC::$server->getGroupManager();
|
||||
|
||||
\OC_Group::createGroup(self::TEST_GROUP1);
|
||||
\OC_Group::createGroup(self::TEST_GROUP1B);
|
||||
\OC_Group::addToGroup(self::TEST_USER1, self::TEST_GROUP1);
|
||||
\OC_Group::addToGroup(self::TEST_USER1, self::TEST_GROUP1B);
|
||||
\OC_Group::createGroup(self::TEST_GROUP2);
|
||||
\OC_Group::createGroup(self::TEST_GROUP2B);
|
||||
\OC_Group::addToGroup(self::TEST_USER2, self::TEST_GROUP2);
|
||||
\OC_Group::addToGroup(self::TEST_USER2, self::TEST_GROUP2B);
|
||||
$this->users[self::TEST_USER1] = $userManager->createUser(
|
||||
self::TEST_USER1,
|
||||
self::TEST_USER1
|
||||
);
|
||||
$this->users[self::TEST_USER2] = $userManager->createUser(
|
||||
self::TEST_USER2,
|
||||
self::TEST_USER2
|
||||
);
|
||||
|
||||
\OC_User::setUserId(self::TEST_USER1);
|
||||
$this->userHome = \OC_User::getHome(self::TEST_USER1);
|
||||
$this->groups[self::TEST_GROUP1] = $groupManager->createGroup(self::TEST_GROUP1);
|
||||
$this->groups[self::TEST_GROUP1B] = $groupManager->createGroup(self::TEST_GROUP1B);
|
||||
$this->groups[self::TEST_GROUP2] = $groupManager->createGroup(self::TEST_GROUP2);
|
||||
$this->groups[self::TEST_GROUP2B] = $groupManager->createGroup(self::TEST_GROUP2B);
|
||||
|
||||
$this->groups[self::TEST_GROUP1]->addUser($this->users[self::TEST_USER1]);
|
||||
$this->groups[self::TEST_GROUP1B]->addUser($this->users[self::TEST_USER1]);
|
||||
$this->groups[self::TEST_GROUP2]->addUser($this->users[self::TEST_USER2]);
|
||||
$this->groups[self::TEST_GROUP2B]->addUser($this->users[self::TEST_USER2]);
|
||||
|
||||
\OC::$server->getUserSession()->setUser($this->users[self::TEST_USER1]);
|
||||
$this->userHome = $this->users[self::TEST_USER1]->getHome();
|
||||
@mkdir($this->userHome);
|
||||
|
||||
$this->dataDir = \OC_Config::getValue(
|
||||
$config = \OC::$server->getConfig();
|
||||
$this->dataDir = $config->getSystemValue(
|
||||
'datadirectory',
|
||||
\OC::$SERVERROOT . '/data/'
|
||||
);
|
||||
$this->oldAllowedBackends = OCP\Config::getAppValue(
|
||||
$this->oldAllowedBackends = $config->getAppValue(
|
||||
'files_external',
|
||||
'user_mounting_backends',
|
||||
''
|
||||
);
|
||||
OCP\Config::setAppValue(
|
||||
$config->setAppValue(
|
||||
'files_external',
|
||||
'user_mounting_backends',
|
||||
'Test_Mount_Config_Dummy_Storage'
|
||||
|
@ -186,16 +200,19 @@ class Test_Mount_Config extends \Test\TestCase {
|
|||
Test_Mount_Config_Hook_Test::clear();
|
||||
OC_Mount_Config::$skipTest = false;
|
||||
|
||||
\OC_User::deleteUser(self::TEST_USER2);
|
||||
\OC_User::deleteUser(self::TEST_USER1);
|
||||
\OC_Group::deleteGroup(self::TEST_GROUP1);
|
||||
\OC_Group::deleteGroup(self::TEST_GROUP1B);
|
||||
\OC_Group::deleteGroup(self::TEST_GROUP2);
|
||||
\OC_Group::deleteGroup(self::TEST_GROUP2B);
|
||||
foreach ($this->users as $user) {
|
||||
$user->delete();
|
||||
}
|
||||
foreach ($this->groups as $group) {
|
||||
$group->delete();
|
||||
}
|
||||
$this->users = [];
|
||||
$this->groups = [];
|
||||
|
||||
@unlink($this->dataDir . '/mount.json');
|
||||
|
||||
OCP\Config::setAppValue(
|
||||
$config = \OC::$server->getConfig();
|
||||
$config->setAppValue(
|
||||
'files_external',
|
||||
'user_mounting_backends',
|
||||
$this->oldAllowedBackends
|
||||
|
@ -778,7 +795,7 @@ class Test_Mount_Config extends \Test\TestCase {
|
|||
);
|
||||
|
||||
// check mount points in the perspective of user $testUser
|
||||
\OC_User::setUserId($testUser);
|
||||
\OC::$server->getUserSession()->setUser($this->users[$testUser]);
|
||||
|
||||
$mountPoints = OC_Mount_Config::getAbsoluteMountPoints($testUser);
|
||||
if ($expectVisible) {
|
||||
|
@ -1116,7 +1133,7 @@ class Test_Mount_Config extends \Test\TestCase {
|
|||
);
|
||||
|
||||
// Ensure other user can read mount points
|
||||
\OC_User::setUserId(self::TEST_USER2);
|
||||
\OC::$server->getUserSession()->setUser($this->users[self::TEST_USER2]);
|
||||
$mountPointsMe = OC_Mount_Config::getAbsoluteMountPoints(self::TEST_USER2);
|
||||
$mountPointsOther = OC_Mount_Config::getAbsoluteMountPoints(self::TEST_USER1);
|
||||
|
||||
|
|
Loading…
Reference in New Issue