Example #1
0
function getID($path)
{
    // use the share table from the db to find the item source if the file was reshared because shared files
    //are not stored in the file cache.
    if (substr(OC_Filesystem::getMountPoint($path), -7, 6) == "Shared") {
        $path_parts = explode('/', $path, 5);
        $user = $path_parts[1];
        $intPath = '/' . $path_parts[4];
        $query = \OC_DB::prepare('SELECT `item_source` FROM `*PREFIX*share` WHERE `uid_owner` = ? AND `file_target` = ? ');
        $result = $query->execute(array($user, $intPath));
        $row = $result->fetchRow();
        $fileSource = $row['item_source'];
    } else {
        $fileSource = OC_Filecache::getId($path, '');
    }
    return $fileSource;
}
Example #2
0
}
// Enf of backward compatibility
if (isset($_GET['file']) || isset($_GET['dir'])) {
    if (isset($_GET['dir'])) {
        $type = 'folder';
        $path = $_GET['dir'];
        $baseDir = $path;
        $dir = $baseDir;
    } else {
        $type = 'file';
        $path = $_GET['file'];
    }
    $uidOwner = substr($path, 1, strpos($path, '/', 1) - 1);
    if (OCP\User::userExists($uidOwner)) {
        OC_Util::setupFS($uidOwner);
        $fileSource = OC_Filecache::getId($path, '');
        if ($fileSource != -1 && ($linkItem = OCP\Share::getItemSharedWithByLink($type, $fileSource, $uidOwner))) {
            // TODO Fix in the getItems
            if (!isset($linkItem['item_type']) || $linkItem['item_type'] != $type) {
                header('HTTP/1.0 404 Not Found');
                $tmpl = new OCP\Template('', '404', 'guest');
                $tmpl->printPage();
                exit;
            }
            if (isset($linkItem['share_with'])) {
                // Check password
                if (isset($_POST['password'])) {
                    $password = $_POST['password'];
                    $storedHash = $linkItem['share_with'];
                    $forcePortable = CRYPT_BLOWFISH != 1;
                    $hasher = new PasswordHash(8, $forcePortable);