19declare(strict_types=1);
39 $select_query =
"SELECT 1 FROM $this->lock_table WHERE token = "
40 . $this->db->quote(
$token,
'text');
41 $select_result = $this->db->query($select_query);
42 return $this->db->fetchAssoc($select_result) !==
null;
47 $query =
"SELECT obj_id, ilias_owner, dav_owner, expires, depth, type, scope FROM $this->lock_table"
48 .
" WHERE token = " . $this->db->quote(
$token,
'text')
49 .
" AND expires > " . $this->db->quote(time(),
'integer');
51 $select_result = $this->db->query($query);
52 $row = $this->db->fetchAssoc($select_result);
58 (
int) $row[
'ilias_owner'],
60 (
int) $row[
'expires'],
72 $query =
"SELECT token, ilias_owner, dav_owner, expires, depth, type, scope FROM $this->lock_table WHERE obj_id = "
73 . $this->db->quote($obj_id,
'integer')
74 .
" AND expires > " . $this->db->quote(time(),
'integer');
75 $select_result = $this->db->query($query);
76 $row = $this->db->fetchAssoc($select_result);
82 (
int) $row[
'ilias_owner'],
84 (
int) $row[
'expires'],
96 $this->db->insert($this->lock_table, [
97 'token' => [
'text', $ilias_lock->
getToken()],
98 'obj_id' => [
'integer', $ilias_lock->
getObjId()],
100 'dav_owner' => [
'text', $ilias_lock->
getDavOwner()],
101 'expires' => [
'integer', $ilias_lock->
getExpires()],
102 'depth' => [
'integer', $ilias_lock->
getDepth()],
103 'type' => [
'text', $ilias_lock->
getType()],
104 'scope' => [
'integer', $ilias_lock->
getScope()]
108 public function remove(
string $token):
int
110 return $this->db->manipulate(
111 "DELETE FROM $this->lock_table WHERE token = " . $this->db->quote(
$token,
'text')
117 return $this->db->manipulate(
118 "DELETE FROM $this->lock_table WHERE expires < " . $this->db->quote(time(),
'integer')
124 return $this->db->update(
126 [
"obj_id" => [
"integer", $new_obj_id]],
127 [
"obj_id" => [
"integer", $old_obj_id]]
__construct(protected ilDBInterface $db)
maybeGetLockFromToken(string $token)
maybeGetLockFromObjId(int $obj_id)
updateLocks(int $old_obj_id, int $new_obj_id)
save(LockObject $ilias_lock)