示例#1
0
 public function testShareTags()
 {
     $testTag = 'TestTag';
     OCP\Share::registerBackend('test', 'Test_Share_Backend');
     $tagger = $this->tagMgr->load('test');
     $tagger->tagAs(1, $testTag);
     $otherUserId = $this->getUniqueID('user2_');
     OC_User::createUser($otherUserId, 'pass');
     OC_User::setUserId($otherUserId);
     $otherUserSession = $this->getMock('\\OCP\\IUserSession');
     $otherUserSession->expects($this->any())->method('getUser')->will($this->returnValue(new OC\User\User($otherUserId, null)));
     $otherTagMgr = new OC\TagManager($this->tagMapper, $otherUserSession);
     $otherTagger = $otherTagMgr->load('test');
     $this->assertFalse($otherTagger->hasTag($testTag));
     OC_User::setUserId($this->user->getUID());
     OCP\Share::shareItem('test', 1, OCP\Share::SHARE_TYPE_USER, $otherUserId, \OCP\Constants::PERMISSION_READ);
     OC_User::setUserId($otherUserId);
     $otherTagger = $otherTagMgr->load('test', array(), true);
     // Update tags, load shared ones.
     $this->assertTrue($otherTagger->hasTag($testTag));
     $this->assertContains(1, $otherTagger->getIdsForTag($testTag));
 }
示例#2
0
OC_JSON::checkLoggedIn();
OCP\JSON::callCheck();
$defaults = new \OCP\Defaults();
if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSource'])) {
    switch ($_POST['action']) {
        case 'share':
            if (isset($_POST['shareType']) && isset($_POST['shareWith']) && isset($_POST['permissions'])) {
                try {
                    $shareType = (int) $_POST['shareType'];
                    $shareWith = $_POST['shareWith'];
                    $itemSourceName = isset($_POST['itemSourceName']) ? (string) $_POST['itemSourceName'] : null;
                    if ($shareType === OCP\Share::SHARE_TYPE_LINK && $shareWith == '') {
                        $shareWith = null;
                    }
                    $itemSourceName = isset($_POST['itemSourceName']) ? (string) $_POST['itemSourceName'] : '';
                    $token = OCP\Share::shareItem($_POST['itemType'], $_POST['itemSource'], $shareType, $shareWith, $_POST['permissions'], $itemSourceName, !empty($_POST['expirationDate']) ? new \DateTime((string) $_POST['expirationDate']) : null);
                    if (is_string($token)) {
                        OC_JSON::success(array('data' => array('token' => $token)));
                    } else {
                        OC_JSON::success();
                    }
                } catch (Exception $exception) {
                    OC_JSON::error(array('data' => array('message' => $exception->getMessage())));
                }
            }
            break;
        case 'unshare':
            if (isset($_POST['shareType']) && isset($_POST['shareWith'])) {
                if ((int) $_POST['shareType'] === OCP\Share::SHARE_TYPE_LINK && $_POST['shareWith'] == '') {
                    $shareWith = null;
                } else {
示例#3
0
文件: share.php 项目: TylerTemp/core
 /**
  * Test case for #19119
  */
 public function testReshareWithLinkDefaultExpirationDate()
 {
     $config = \OC::$server->getConfig();
     $config->setAppValue('core', 'shareapi_default_expire_date', 'yes');
     $config->setAppValue('core', 'shareapi_expire_after_n_days', '2');
     // Expiration date
     $expireAt = time() + 2 * 24 * 60 * 60;
     $date = new DateTime();
     $date->setTimestamp($expireAt);
     $date->setTime(0, 0, 0);
     //Share a file from user 1 to user 2
     $this->shareUserTestFileWithUser($this->user1, $this->user2);
     //User 2 shares as link
     OC_User::setUserId($this->user2);
     $result = OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_LINK, null, \OCP\Constants::PERMISSION_READ);
     $this->assertTrue(is_string($result));
     //Check if expire date is correct
     $result = OCP\Share::getItemShared('test', 'test.txt');
     $this->assertCount(1, $result);
     $result = reset($result);
     $this->assertNotEmpty($result['expiration']);
     $expireDate = new DateTime($result['expiration']);
     $this->assertEquals($date, $expireDate);
     //Unshare
     $this->assertTrue(OCP\Share::unshareAll('test', 'test.txt'));
     //Reset config
     $config->deleteAppValue('core', 'shareapi_default_expire_date');
     $config->deleteAppValue('core', 'shareapi_expire_after_n_days');
 }
示例#4
0
//require_once('apps/user_wordpress/lib/autoauth.php');
if (isset($_REQUEST['share_link'])) {
    if (OC_App::isEnabled('files_sharing')) {
        $file_path = urldecode(substr(implode('/', array_slice($vars, 5)), 0, -11));
        $file_infos = OC_Files::getFileInfo($file_path);
        $token = '';
        // is the file allready shared ?
        $shares = OCP\Share::getItemShared('file', $file_infos['id'], OCP\Share::FORMAT_NONE, null, true);
        foreach ($shares as $share) {
            if ($share['path'] == $file_infos['path']) {
                $token = $share['token'];
            }
        }
        // if not, let's share the file
        if (empty($token)) {
            $token = OCP\Share::shareItem('file', $file_infos['id'], 3, NULL, 1);
        }
        // return token
        echo trim($token);
    }
    exit;
}
if (isset($_REQUEST['back'])) {
    header('location:' . $_REQUEST['back']);
}
//$baseuri = OC::$WEBROOT. '/apps/user_wordpress/wordav.php';
//$baseuri=implode('/',array_slice($vars,5));
//echo '<br>'.$baseuri;
// Backends
//$lockBackend = new OC_Connector_Sabre_Locks();
// Create ownCloud Dir
示例#5
0
* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
*/
require_once '../../lib/base.php';
OC_JSON::checkLoggedIn();
OCP\JSON::callCheck();
if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSource'])) {
    switch ($_POST['action']) {
        case 'share':
            if (isset($_POST['shareType']) && isset($_POST['shareWith']) && isset($_POST['permissions'])) {
                try {
                    if ((int) $_POST['shareType'] === OCP\Share::SHARE_TYPE_LINK && $_POST['shareWith'] == '') {
                        $shareWith = null;
                    } else {
                        $shareWith = $_POST['shareWith'];
                    }
                    OCP\Share::shareItem($_POST['itemType'], $_POST['itemSource'], (int) $_POST['shareType'], $shareWith, $_POST['permissions']);
                    OC_JSON::success();
                } catch (Exception $exception) {
                    OC_JSON::error(array('data' => array('message' => $exception->getMessage())));
                }
            }
            break;
        case 'unshare':
            if (isset($_POST['shareType']) && isset($_POST['shareWith'])) {
                if ((int) $_POST['shareType'] === OCP\Share::SHARE_TYPE_LINK && $_POST['shareWith'] == '') {
                    $shareWith = null;
                } else {
                    $shareWith = $_POST['shareWith'];
                }
                $return = OCP\Share::unshare($_POST['itemType'], $_POST['itemSource'], $_POST['shareType'], $shareWith);
                $return ? OC_JSON::success() : OC_JSON::error();
示例#6
0
                    $groupShares[$shareWith][$itemSource] = true;
                }
            } else {
                if ($row['uid_shared_with'] == 'public') {
                    $shareType = OCP\Share::SHARE_TYPE_LINK;
                    $shareWith = null;
                } else {
                    $shareType = OCP\Share::SHARE_TYPE_USER;
                    $shareWith = $row['uid_shared_with'];
                }
            }
            OC_User::setUserId($row['uid_owner']);
            //we need to setup the filesystem for the user, otherwise OC_FileSystem::getRoot will fail and break
            OC_Util::setupFS($row['uid_owner']);
            try {
                OCP\Share::shareItem($itemType, $itemSource, $shareType, $shareWith, $permissions);
            } catch (Exception $e) {
                $update_error = true;
                OCP\Util::writeLog('files_sharing', 'Upgrade Routine: Skipping sharing "' . $row['source'] . '" to "' . $shareWith . '" (error is "' . $e->getMessage() . '")', OCP\Util::WARN);
            }
            OC_Util::tearDownFS();
        }
    }
    OC_User::setUserId(null);
    if ($update_error) {
        OCP\Util::writeLog('files_sharing', 'There were some problems upgrading the sharing of files', OCP\Util::ERROR);
    }
    // NOTE: Let's drop the table after more testing
    // 	$query = OCP\DB::prepare('DROP TABLE `*PREFIX*sharing`');
    // 	$query->execute();
}
示例#7
0
        } catch (Exception $e) {
            // nothing to do, the exception is already written to the log
        }
    }
    $event_stmt = OCP\DB::prepare('SELECT * FROM `*PREFIX*clndr_share_event`');
    $event_result = $event_stmt->execute();
    while ($event = $event_result->fetchRow()) {
        $shareType = OCP\Share::SHARE_TYPE_USER;
        if ($event['sharetype'] == 'group') {
            $shareType = OCP\Share::SHARE_TYPE_GROUP;
        } else {
            if ($event['sharetype'] == 'public') {
                $shareType = OCP\Share::SHARE_TYPE_LINK;
            }
        }
        OC_User::setUserId($event['owner']);
        try {
            OCP\Share::shareItem('event', $event['eventid'], $shareType, $event['share'], $event['permissions'] ? 31 : 17);
            // CRUDS:RS
        } catch (Exception $e) {
            // nothing to do, the exception is already written to the log
        }
    }
    //logout and login - fix wrong calendar permissions from oc-1914
    $user = OCP\User::getUser();
    session_unset();
    session_destroy();
    OC_User::unsetMagicInCookie();
    session_regenerate_id(true);
    OC_User::setUserId($user);
}
示例#8
0
文件: share.php 项目: TechArea/core
 public function testShareWithOwnerError()
 {
     OC_User::setUserId($this->user1);
     $view = new \OC\Files\View('/' . $this->user1 . '/');
     $view->mkdir('files/folder1');
     $fileInfo = $view->getFileInfo('files/folder1');
     $this->assertInstanceOf('\\OC\\Files\\FileInfo', $fileInfo);
     $fileId = $fileInfo->getId();
     $this->assertTrue(OCP\Share::shareItem('folder', $fileId, OCP\Share::SHARE_TYPE_USER, $this->user2, \OCP\Constants::PERMISSION_ALL), 'Failed asserting that user 1 successfully shared "test" with user 2.');
     OC_User::setUserId($this->user2);
     try {
         OCP\Share::shareItem('folder', $fileId, OCP\Share::SHARE_TYPE_USER, $this->user1, \OCP\Constants::PERMISSION_ALL);
         $this->fail();
     } catch (\Exception $e) {
         $this->assertEquals('Sharing failed, because the user ' . $this->user1 . ' is the original sharer', $e->getMessage());
     }
 }
示例#9
0
*/
OC_JSON::checkLoggedIn();
OCP\JSON::callCheck();
OC_App::loadApps();
$defaults = new \OCP\Defaults();
if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSource'])) {
    switch ($_POST['action']) {
        case 'share':
            if (isset($_POST['shareType']) && isset($_POST['shareWith']) && isset($_POST['permissions'])) {
                try {
                    $shareType = (int) $_POST['shareType'];
                    $shareWith = $_POST['shareWith'];
                    if ($shareType === OCP\Share::SHARE_TYPE_LINK && $shareWith == '') {
                        $shareWith = null;
                    }
                    $token = OCP\Share::shareItem($_POST['itemType'], $_POST['itemSource'], $shareType, $shareWith, $_POST['permissions'], $_POST['itemSourceName']);
                    if (is_string($token)) {
                        OC_JSON::success(array('data' => array('token' => $token)));
                    } else {
                        OC_JSON::success();
                    }
                } catch (Exception $exception) {
                    OC_JSON::error(array('data' => array('message' => $exception->getMessage())));
                }
            }
            break;
        case 'unshare':
            if (isset($_POST['shareType']) && isset($_POST['shareWith'])) {
                if ((int) $_POST['shareType'] === OCP\Share::SHARE_TYPE_LINK && $_POST['shareWith'] == '') {
                    $shareWith = null;
                } else {
示例#10
0
 public function testShareItemWithLinkAndDefaultExpireDate()
 {
     OC_User::setUserId($this->user1);
     \OC_Appconfig::setValue('core', 'shareapi_default_expire_date', 'yes');
     \OC_Appconfig::setValue('core', 'shareapi_expire_after_n_days', '2');
     $token = OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_LINK, null, \OCP\Constants::PERMISSION_READ);
     $this->assertInternalType('string', $token, 'Failed asserting that user 1 successfully shared text.txt as link with token.');
     // share should have default expire date
     $row = $this->getShareByValidToken($token);
     $this->assertNotEmpty($row['expiration'], 'Failed asserting that the returned row has an default expiration date.');
     \OC_Appconfig::deleteKey('core', 'shareapi_default_expire_date');
     \OC_Appconfig::deleteKey('core', 'shareapi_expire_after_n_days');
 }
示例#11
0
文件: tags.php 项目: Romua1d/core
 public function testShareTags()
 {
     $test_tag = 'TestTag';
     OCP\Share::registerBackend('test', 'Test_Share_Backend');
     $tagger = $this->tagMgr->load('test');
     $tagger->tagAs(1, $test_tag);
     $other_user = uniqid('user2_');
     OC_User::createUser($other_user, 'pass');
     OC_User::setUserId($other_user);
     $other_tagMgr = new OC\TagManager($this->tagMapper, $other_user);
     $other_tagger = $other_tagMgr->load('test');
     $this->assertFalse($other_tagger->hasTag($test_tag));
     OC_User::setUserId($this->user);
     OCP\Share::shareItem('test', 1, OCP\Share::SHARE_TYPE_USER, $other_user, OCP\PERMISSION_READ);
     OC_User::setUserId($other_user);
     $other_tagger = $other_tagMgr->load('test', array(), true);
     // Update tags, load shared ones.
     $this->assertTrue($other_tagger->hasTag($test_tag));
     $this->assertContains(1, $other_tagger->getIdsForTag($test_tag));
 }
示例#12
0
文件: share.php 项目: rosarion/core
 /**
  * Ensure that we do not allow removing a an expiration date from a link share if this
  * is enforced by the settings.
  */
 public function testClearExpireDateWhileEnforced()
 {
     OC_User::setUserId($this->user1);
     \OC::$server->getAppConfig()->setValue('core', 'shareapi_default_expire_date', 'yes');
     \OC::$server->getAppConfig()->setValue('core', 'shareapi_expire_after_n_days', '2');
     \OC::$server->getAppConfig()->setValue('core', 'shareapi_enforce_expire_date', 'yes');
     $token = OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_LINK, null, \OCP\Constants::PERMISSION_READ);
     $this->assertInternalType('string', $token, 'Failed asserting that user 1 successfully shared text.txt as link with token.');
     $setExpireDateFailed = false;
     try {
         $this->assertTrue(OCP\Share::setExpirationDate('test', 'test.txt', '', ''), 'Failed asserting that user 1 successfully set an expiration date for the test.txt share.');
     } catch (\Exception $e) {
         $setExpireDateFailed = true;
     }
     $this->assertTrue($setExpireDateFailed);
     \OC::$server->getAppConfig()->deleteKey('core', 'shareapi_default_expire_date');
     \OC::$server->getAppConfig()->deleteKey('core', 'shareapi_expire_after_n_days');
     \OC::$server->getAppConfig()->deleteKey('core', 'shareapi_enforce_expire_date');
 }
示例#13
0
 public function testShareWithGroup()
 {
     // Invalid shares
     $message = 'Sharing test.txt failed, because the group foobar does not exist';
     try {
         OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, 'foobar', OCP\PERMISSION_READ);
         $this->fail('Exception was expected: ' . $message);
     } catch (Exception $exception) {
         $this->assertEquals($message, $exception->getMessage());
     }
     $policy = OC_Appconfig::getValue('core', 'shareapi_share_policy', 'global');
     OC_Appconfig::setValue('core', 'shareapi_share_policy', 'groups_only');
     $message = 'Sharing test.txt failed, because ' . $this->user1 . ' is not a member of the group ' . $this->group2;
     try {
         OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group2, OCP\PERMISSION_READ);
         $this->fail('Exception was expected: ' . $message);
     } catch (Exception $exception) {
         $this->assertEquals($message, $exception->getMessage());
     }
     OC_Appconfig::setValue('core', 'shareapi_share_policy', $policy);
     // Valid share
     $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ));
     $this->assertEquals(array('test.txt'), OCP\Share::getItemShared('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE));
     OC_User::setUserId($this->user2);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE));
     OC_User::setUserId($this->user3);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE));
     // Attempt to share again
     OC_User::setUserId($this->user1);
     $message = 'Sharing test.txt failed, because this item is already shared with ' . $this->group1;
     try {
         OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ);
         $this->fail('Exception was expected: ' . $message);
     } catch (Exception $exception) {
         $this->assertEquals($message, $exception->getMessage());
     }
     // Attempt to share back to owner of group share
     OC_User::setUserId($this->user2);
     $message = 'Sharing test.txt failed, because the user ' . $this->user1 . ' is the original sharer';
     try {
         OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, OCP\PERMISSION_READ);
         $this->fail('Exception was expected: ' . $message);
     } catch (Exception $exception) {
         $this->assertEquals($message, $exception->getMessage());
     }
     // Attempt to share back to group
     $message = 'Sharing test.txt failed, because this item is already shared with ' . $this->group1;
     try {
         OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ);
         $this->fail('Exception was expected: ' . $message);
     } catch (Exception $exception) {
         $this->assertEquals($message, $exception->getMessage());
     }
     // Attempt to share back to member of group
     $message = 'Sharing test.txt failed, because this item is already shared with ' . $this->user3;
     try {
         OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\PERMISSION_READ);
         $this->fail('Exception was expected: ' . $message);
     } catch (Exception $exception) {
         $this->assertEquals($message, $exception->getMessage());
     }
     // Unshare
     OC_User::setUserId($this->user1);
     $this->assertTrue(OCP\Share::unshare('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1));
     // Valid share with same person - user then group
     $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ | OCP\PERMISSION_DELETE | OCP\PERMISSION_SHARE));
     $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE));
     OC_User::setUserId($this->user2);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE | OCP\PERMISSION_DELETE | OCP\PERMISSION_SHARE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS));
     OC_User::setUserId($this->user3);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS));
     // Valid reshare
     OC_User::setUserId($this->user2);
     $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user4, OCP\PERMISSION_READ));
     OC_User::setUserId($this->user4);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     // Unshare from user only
     OC_User::setUserId($this->user1);
     $this->assertTrue(OCP\Share::unshare('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2));
     OC_User::setUserId($this->user2);
     $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS));
     OC_User::setUserId($this->user4);
     $this->assertEquals(array(), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     // Valid share with same person - group then user
     OC_User::setUserId($this->user1);
     $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ | OCP\PERMISSION_DELETE));
     OC_User::setUserId($this->user2);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE | OCP\PERMISSION_DELETE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS));
     // Unshare from group only
     OC_User::setUserId($this->user1);
     $this->assertTrue(OCP\Share::unshare('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1));
     OC_User::setUserId($this->user2);
     $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_DELETE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS));
     // Attempt user specific target conflict
     OC_User::setUserId($this->user3);
     $this->assertTrue(OCP\Share::shareItem('test', 'share.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ | OCP\PERMISSION_SHARE));
     OC_User::setUserId($this->user2);
     $to_test = OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET);
     $this->assertEquals(2, count($to_test));
     $this->assertTrue(in_array('test.txt', $to_test));
     $this->assertTrue(in_array('test1.txt', $to_test));
     // Valid reshare
     $this->assertTrue(OCP\Share::shareItem('test', 'share.txt', OCP\Share::SHARE_TYPE_USER, $this->user4, OCP\PERMISSION_READ | OCP\PERMISSION_SHARE));
     OC_User::setUserId($this->user4);
     $this->assertEquals(array('test1.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     // Remove user from group
     OC_Group::removeFromGroup($this->user2, $this->group1);
     OC_User::setUserId($this->user2);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     OC_User::setUserId($this->user4);
     $this->assertEquals(array(), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     // Add user to group
     OC_Group::addToGroup($this->user4, $this->group1);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     // Unshare from self
     $this->assertTrue(OCP\Share::unshareFromSelf('test', 'test.txt'));
     $this->assertEquals(array(), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     OC_User::setUserId($this->user2);
     $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     // Remove group
     OC_Group::deleteGroup($this->group1);
     OC_User::setUserId($this->user4);
     $this->assertEquals(array(), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET));
     OC_User::setUserId($this->user3);
     $this->assertEquals(array(), OCP\Share::getItemsShared('test'));
 }
示例#14
0
 public function testShareItemWithLink()
 {
     OC_User::setUserId($this->user1);
     $token = OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_LINK, null, OCP\PERMISSION_READ);
     $this->assertInternalType('string', $token, 'Failed asserting that user 1 successfully shared text.txt as link with token.');
     // testGetShareByTokenNoExpiration
     $row = $this->getShareByValidToken($token);
     $this->assertEmpty($row['expiration'], 'Failed asserting that the returned row does not have an expiration date.');
     // testGetShareByTokenExpirationValid
     $this->assertTrue(OCP\Share::setExpirationDate('test', 'test.txt', $this->dateInFuture), 'Failed asserting that user 1 successfully set a future expiration date for the test.txt share.');
     $row = $this->getShareByValidToken($token);
     $this->assertNotEmpty($row['expiration'], 'Failed asserting that the returned row has an expiration date.');
     // testGetShareByTokenExpirationExpired
     $this->assertTrue(OCP\Share::setExpirationDate('test', 'test.txt', $this->dateInPast), 'Failed asserting that user 1 successfully set a past expiration date for the test.txt share.');
     $this->assertFalse(OCP\Share::getShareByToken($token), 'Failed asserting that an expired share could not be found.');
 }
示例#15
0
文件: share.php 项目: 0x17de/core
 /**
  * Test case for #17560
  */
 public function testAccesToSharedSubFolder()
 {
     OC_User::setUserId($this->user1);
     $view = new \OC\Files\View('/' . $this->user1 . '/');
     $view->mkdir('files/folder1');
     $fileInfo = $view->getFileInfo('files/folder1');
     $this->assertInstanceOf('\\OC\\Files\\FileInfo', $fileInfo);
     $fileId = $fileInfo->getId();
     $this->assertTrue(OCP\Share::shareItem('folder', $fileId, OCP\Share::SHARE_TYPE_USER, $this->user2, \OCP\Constants::PERMISSION_ALL), 'Failed asserting that user 1 successfully shared "test" with user 2.');
     $this->assertTrue(OCP\Share::shareItem('folder', $fileId, OCP\Share::SHARE_TYPE_USER, $this->user3, \OCP\Constants::PERMISSION_ALL), 'Failed asserting that user 1 successfully shared "test" with user 3.');
     $view->mkdir('files/folder1/folder2');
     $fileInfo = $view->getFileInfo('files/folder1/folder2');
     $this->assertInstanceOf('\\OC\\Files\\FileInfo', $fileInfo);
     $fileId = $fileInfo->getId();
     $this->assertTrue(OCP\Share::shareItem('folder', $fileId, OCP\Share::SHARE_TYPE_USER, $this->user4, \OCP\Constants::PERMISSION_ALL), 'Failed asserting that user 1 successfully shared "test" with user 4.');
     $res = OCP\Share::getItemShared('folder', $fileId, OCP\Share::FORMAT_NONE, null, true);
     $this->assertCount(3, $res);
     $this->assertTrue(OCP\Share::shareItem('folder', $fileId, OCP\Share::SHARE_TYPE_USER, $this->user5, \OCP\Constants::PERMISSION_ALL), 'Failed asserting that user 1 successfully shared "test" with user 5.');
     $res = OCP\Share::getItemShared('folder', $fileId, OCP\Share::FORMAT_NONE, null, true);
     $this->assertCount(4, $res);
 }