self::getUniqueSessionId(), 'genesis_url' => $genesis, 'genesis_hash' => $hash, 'owner' => \OCP\User::getUser(), 'document_path' => $documentPath ); $result = $query->execute(array_values($data)); if ($result){ return $data; } return false; } public static function getAll(){ $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*office_session`'); $result = $query->execute(); return $result->fetchAll(); } public static function getSession($id){ $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*office_session` WHERE `es_id`= ?'); $result = $query->execute(array($id)); return $result->fetchRow(); } public static function getSessionByOwnerAndGenesis($uid, $url){ $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*office_session` WHERE `genesis_url`= ? AND `owner`= ? '); $result = $query->execute(array($url, $uid)); return $result->fetchRow(); } protected static function getUniqueSessionId(){ do { $id = \OC_Util::generate_random_bytes(30); } while (self::getSession($id)); return $id; } }