*/
class NoteStorage
{
+ /**
+ * @var \OCP\IDBConnection
+ */
+ protected $db;
+
protected $urlGen;
protected $username;
public function __construct($urlGen)
{
- $this->urlGen = $urlGen;
+ $this->urlGen = $urlGen;
+ $this->db = \OC::$server->getDatabaseConnection();
}
public function setUsername($username)
public function getTags()
{
- $result = \OC_DB::executeAudited(
+ $result = $this->db->executeQuery(
'SELECT `note_tags` FROM `*PREFIX*grauphel_notes`'
. ' WHERE note_user = ?',
array($this->username)
);
$tags = array();
- while ($row = $result->fetchRow()) {
+ while ($row = $result->fetch()) {
$tags = array_merge($tags, json_decode($row['note_tags']));
}
return array_unique($tags);
*/
public function loadSyncData()
{
- $row = \OC_DB::executeAudited(
+ $row = $this->db->executeQuery(
'SELECT * FROM `*PREFIX*grauphel_syncdata`'
. ' WHERE `syncdata_user` = ?',
array($this->username)
- )->fetchRow();
+ )->fetch();
if ($row === false) {
$syncdata = $this->getNewSyncData();
*/
public function saveSyncData(SyncData $syncdata)
{
- $row = \OC_DB::executeAudited(
+ $row = $this->db->executeQuery(
'SELECT * FROM `*PREFIX*grauphel_syncdata`'
. ' WHERE `syncdata_user` = ?',
array($this->username)
- )->fetchRow();
+ )->fetch();
if ($row === false) {
//INSERT
$params = array_values($data);
$params[] = $this->username;
}
- \OC_DB::executeAudited($sql, $params);
+ $this->db->executeQuery($sql, $params);
}
/**
*/
public function deleteSyncData()
{
- \OC_DB::executeAudited(
+ $this->db->executeQuery(
'DELETE FROM `*PREFIX*grauphel_syncdata`'
. ' WHERE `syncdata_user` = ?',
array($this->username)
*/
public function load($guid, $createNew = true)
{
- $row = \OC_DB::executeAudited(
+ $row = $this->db->executeQuery(
'SELECT * FROM `*PREFIX*grauphel_notes`'
. ' WHERE `note_user` = ? AND `note_guid` = ?',
array($this->username, $guid)
- )->fetchRow();
+ )->fetch();
if ($row === false) {
if (!$createNew) {
*/
public function loadGuidByTitle($title)
{
- $row = \OC_DB::executeAudited(
+ $row = $this->db->executeQuery(
'SELECT note_guid FROM `*PREFIX*grauphel_notes`'
. ' WHERE `note_user` = ? AND `note_title` = ?',
array($this->username, htmlspecialchars($title))
- )->fetchRow();
+ )->fetch();
if ($row === false) {
return null;
}
}
- $result = \OC_DB::executeAudited(
+ $result = $this->db->executeQuery(
'SELECT `note_guid`, `note_title`'
. ' FROM `*PREFIX*grauphel_notes`'
. ' WHERE note_user = ?'
);
$notes = array();
- while ($row = $result->fetchRow()) {
+ while ($row = $result->fetch()) {
$notes[] = $row;
}
return $notes;
*/
public function save($note)
{
- $row = \OC_DB::executeAudited(
+ $row = $this->db->executeQuery(
'SELECT * FROM `*PREFIX*grauphel_notes`'
. ' WHERE `note_user` = ? AND `note_guid` = ?',
array($this->username, $note->guid)
- )->fetchRow();
+ )->fetch();
$data = $this->rowFromNote($note);
if ($row === false) {
$params[] = $this->username;
$params[] = $note->guid;
}
- \OC_DB::executeAudited($sql, $params);
+ $this->db->executeQuery($sql, $params);
}
/**
*/
public function delete($guid)
{
- \OC_DB::executeAudited(
+ $this->db->executeQuery(
'DELETE FROM `*PREFIX*grauphel_notes`'
. ' WHERE `note_user` = ? AND `note_guid` = ?',
array($this->username, $guid)
*/
public function deleteAll()
{
- \OC_DB::executeAudited(
+ $this->db->executeQuery(
'DELETE FROM `*PREFIX*grauphel_notes`'
. ' WHERE `note_user` = ?',
array($this->username)
public function loadNotesOverview(
$since = null, $rawtag = null, $includeDate = false
) {
- $result = \OC_DB::executeAudited(
- 'SELECT `note_guid`, `note_title`, `note_last_sync_revision`, `note_tags`'
+ $sql = 'SELECT `note_guid`, `note_title`'
+ . ', `note_last_sync_revision`, `note_tags`'
. ', `note_last_change_date`'
. ' FROM `*PREFIX*grauphel_notes`'
- . ' WHERE note_user = ?',
- array($this->username)
- );
+ . ' WHERE note_user = ?';
+ $sqlData = array($this->username);
+
+ if ($since !== null) {
+ $sqlData[] = $since;
+ $sql .= ' AND note_last_sync_revision > ?';
+ }
- $notes = array();
if ($rawtag == 'grauphel:special:all') {
$rawtag = null;
} else if ($rawtag == 'grauphel:special:untagged') {
} else {
$jsRawtag = json_encode($rawtag);
}
- while ($row = $result->fetchRow()) {
- if ($since !== null && $row['note_last_sync_revision'] <= $since) {
- continue;
- }
- if ($rawtag !== null && strpos($row['note_tags'], $jsRawtag) === false) {
- continue;
- }
+ if ($rawtag !== null) {
+ $sqlData[] = '%' . $jsRawtag . '%';
+ $sql .= ' AND note_tags LIKE ?';
+ }
+
+ $result = $this->db->executeQuery($sql, $sqlData);
+ $notes = array();
+ while ($row = $result->fetch()) {
$note = array(
'guid' => $row['note_guid'],
'ref' => array(
*/
public function loadNotesFull($since = null)
{
- $result = \OC_DB::executeAudited(
+ $result = $this->db->executeQuery(
'SELECT * FROM `*PREFIX*grauphel_notes`'
. ' WHERE note_user = ?',
array($this->username)
);
$notes = array();
- while ($row = $result->fetchRow()) {
+ while ($row = $result->fetch()) {
if ($since !== null && $row['note_last_sync_revision'] <= $since) {
continue;
}