Example #1
0
@($owner = @$_POST['owner']);
@($id = @$_POST['id']);
$ppath = lockname($path);
//Resolve the shared file
if (@$owner != "") {
    $query = \OCP\DB::prepare("SELECT X.path, Y.id FROM *PREFIX*filecache X INNER JOIN *PREFIX*storages Y ON X.storage = Y.numeric_id where X.fileid = " . $id . " LIMIT 1");
    $result = $query->execute()->fetchAll();
    // ? with execute parameters weren't working, so I used it in prepare
    $original_path = $result[0]['path'];
    $storage_id = str_replace("home::", "", $result[0]['id']) . '/';
    $lockpath = $storage_id . $original_path;
} else {
    $lockpath = \OCP\USER::getUser() . "/files" . cleanPath($path);
}
//Lock DB entry
$lockfile = lockname($lockpath);
$db_lock_state = \OCP\DB::prepare("SELECT * FROM *PREFIX*" . app::table . " WHERE name = ?")->execute(array($lockfile))->fetchAll();
if ($db_lock_state != null) {
    if (@$safe == "false") {
        \OCP\DB::prepare("DELETE FROM *PREFIX*" . app::table . " WHERE name=?")->execute(array($lockfile));
        echo $l->t("File not locked");
    } else {
        echo $l->t("Status: locked") . " " . $l->t("by") . " " . $db_lock_state[0]['locked_by'];
    }
} else {
    if (@$safe == "false") {
        \OCP\DB::prepare("INSERT INTO *PREFIX*" . app::table . "(name,locked_by) VALUES(?,?)")->execute(array($lockfile, \OCP\User::getUser()));
        echo $l->t("File is locked") . " " . $l->t("by") . " " . \OCP\User::getUser();
    } else {
        echo $l->t("Status: not locked");
    }
Example #2
0
        $query = OCP\DB::prepare("SELECT parent, uid_owner, id FROM *PREFIX*share where id = ? LIMIT 1");
        $result = $query->execute(array($result[0]['parent']))->fetchAll();
        $new = @$result[0]['uid_owner'];
    }
    if ($old != "-") {
        $user = $old;
    }
    $realpath = $storage . $user . '$' . $postpath;
    for ($i = $backcount; $i > 0; $i -= 1) {
        $realpath .= '/' . $relpath[count($relpath) - $i];
    }
} else {
    $realpath = $storage . OCP\USER::getUser() . "/files" . cleanPath($path);
}
//lockfile name
$lock = $apath . lockname($realpath);
if (file_exists($lock)) {
    if (@$safe == "false") {
        @unlink($lock);
        echo $l->t("File not locked");
    } else {
        echo $l->t("Status: locked");
    }
} else {
    @date_default_timezone_set('Europe/Berlin');
    if (@$safe == "false") {
        $h = fopen($lock, "w");
        fwrite($h, OCP\User::getUser() . " " . date(DATE_RFC822));
        fclose($h);
        echo $l->t("File is locked");
    } else {