aboutsummaryrefslogtreecommitdiff
path: root/app/Models
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2023-05-04 19:48:09 +0200
committerGravatar GitHub <noreply@github.com> 2023-05-04 19:48:09 +0200
commitfde4e79ed0b851d0b7edfb44c0630cbf385f83cc (patch)
tree01e04bf2534474fd99a06b6fe84f607be0482c18 /app/Models
parent30c69ef147059f440d304e7da5e0236d95e424fd (diff)
SQL attributes native unicode (#5371)
Save our attributes for entries, feeds, and tags as native Unicode instead of JSON escape sequences such as `\u00f8` which are difficult to work with.
Diffstat (limited to 'app/Models')
-rw-r--r--app/Models/CategoryDAO.php6
-rw-r--r--app/Models/EntryDAO.php4
-rw-r--r--app/Models/FeedDAO.php2
-rw-r--r--app/Models/TagDAO.php4
4 files changed, 8 insertions, 8 deletions
diff --git a/app/Models/CategoryDAO.php b/app/Models/CategoryDAO.php
index 98d45733c..e89ceb773 100644
--- a/app/Models/CategoryDAO.php
+++ b/app/Models/CategoryDAO.php
@@ -60,7 +60,7 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo {
continue;
}
if (!($stm->bindValue(':id', $feed['id'], PDO::PARAM_INT) &&
- $stm->bindValue(':attributes', json_encode($attributes, JSON_UNESCAPED_SLASHES)) &&
+ $stm->bindValue(':attributes', json_encode($attributes, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)) &&
$stm->execute())) {
Minz_Log::error('SQL error ' . __METHOD__ . json_encode($stm->errorInfo()));
}
@@ -118,7 +118,7 @@ SQL;
$values = array(
$valuesTmp['kind'] ?? FreshRSS_Category::KIND_NORMAL,
$valuesTmp['name'],
- is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] : json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES),
+ is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] : json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE),
$valuesTmp['name'],
);
@@ -169,7 +169,7 @@ SQL;
$values = array(
$valuesTmp['name'],
$valuesTmp['kind'] ?? FreshRSS_Category::KIND_NORMAL,
- is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] : json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES),
+ is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] : json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE),
$id,
$valuesTmp['name'],
);
diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php
index 3ef3254b0..36d633c6e 100644
--- a/app/Models/EntryDAO.php
+++ b/app/Models/EntryDAO.php
@@ -169,7 +169,7 @@ SQL;
$valuesTmp['attributes'] = [];
}
$this->addEntryPrepared->bindValue(':attributes', is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] :
- json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES));
+ json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
if (static::hasNativeHex()) {
$this->addEntryPrepared->bindParam(':hash', $valuesTmp['hash']);
@@ -280,7 +280,7 @@ SQL;
$valuesTmp['attributes'] = [];
}
$this->updateEntryPrepared->bindValue(':attributes', is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] :
- json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES));
+ json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
if (static::hasNativeHex()) {
$this->updateEntryPrepared->bindParam(':hash', $valuesTmp['hash']);
diff --git a/app/Models/FeedDAO.php b/app/Models/FeedDAO.php
index 7819bf9b5..12597b46c 100644
--- a/app/Models/FeedDAO.php
+++ b/app/Models/FeedDAO.php
@@ -66,7 +66,7 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo {
base64_encode($valuesTmp['httpAuth']),
isset($valuesTmp['error']) ? intval($valuesTmp['error']) : 0,
isset($valuesTmp['ttl']) ? intval($valuesTmp['ttl']) : FreshRSS_Feed::TTL_DEFAULT,
- is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] : json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES),
+ is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] : json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE),
);
if ($stm !== false && $stm->execute($values)) {
diff --git a/app/Models/TagDAO.php b/app/Models/TagDAO.php
index 133907a3a..32f67f0ab 100644
--- a/app/Models/TagDAO.php
+++ b/app/Models/TagDAO.php
@@ -62,7 +62,7 @@ SQL;
}
$values = array(
$valuesTmp['name'],
- is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] : json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES),
+ is_string($valuesTmp['attributes']) ? $valuesTmp['attributes'] : json_encode($valuesTmp['attributes'], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE),
$valuesTmp['name'],
);
@@ -120,7 +120,7 @@ SQL;
$stm = $this->pdo->prepare($sql);
if ($stm !== false &&
$stm->bindValue(':id', $id, PDO::PARAM_INT) &&
- $stm->bindValue(':attributes', json_encode($attributes, JSON_UNESCAPED_SLASHES), PDO::PARAM_STR) &&
+ $stm->bindValue(':attributes', json_encode($attributes, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE), PDO::PARAM_STR) &&
$stm->execute()) {
return $stm->rowCount();
}