move get_article_labels to Article

This commit is contained in:
Andrew Dolgov 2017-05-04 15:26:21 +03:00
parent 2ed0d6c433
commit 4a0da0e5bf
5 changed files with 51 additions and 55 deletions

View File

@ -354,7 +354,7 @@ class API extends Handler {
"guid" => $line["guid"], "guid" => $line["guid"],
"title" => $line["title"], "title" => $line["title"],
"link" => $line["link"], "link" => $line["link"],
"labels" => get_article_labels($line['id']), "labels" => Article::get_article_labels($line['id']),
"unread" => sql_bool_to_bool($line["unread"]), "unread" => sql_bool_to_bool($line["unread"]),
"marked" => sql_bool_to_bool($line["marked"]), "marked" => sql_bool_to_bool($line["marked"]),
"published" => sql_bool_to_bool($line["published"]), "published" => sql_bool_to_bool($line["published"]),
@ -450,7 +450,7 @@ class API extends Handler {
WHERE owner_uid = '".$_SESSION['uid']."' ORDER BY caption"); WHERE owner_uid = '".$_SESSION['uid']."' ORDER BY caption");
if ($article_id) if ($article_id)
$article_labels = get_article_labels($article_id); $article_labels = Article::get_article_labels($article_id);
else else
$article_labels = array(); $article_labels = array();
@ -740,10 +740,7 @@ class API extends Handler {
} }
} }
if (!is_array($labels)) $labels = get_article_labels($line["id"]); if (!is_array($labels)) $labels = Article::get_article_labels($line["id"]);
//if (!$tags) $tags = get_article_tags($line["id"]);
//if (!$labels) $labels = get_article_labels($line["id"]);
$headline_row = array( $headline_row = array(
"id" => (int)$line["id"], "id" => (int)$line["id"],

View File

@ -358,7 +358,7 @@ class Article extends Handler_Protected {
else else
label_remove_article($id, $label, $_SESSION["uid"]); label_remove_article($id, $label, $_SESSION["uid"]);
$labels = get_article_labels($id, $_SESSION["uid"]); $labels = $this->get_article_labels($id, $_SESSION["uid"]);
array_push($reply["info-for-headlines"], array_push($reply["info-for-headlines"],
array("id" => $id, "labels" => $this->format_article_labels($labels))); array("id" => $id, "labels" => $this->format_article_labels($labels)));
@ -924,4 +924,49 @@ class Article extends Handler_Protected {
} }
} }
static function get_article_labels($id, $owner_uid = false) {
$rv = array();
if (!$owner_uid) $owner_uid = $_SESSION["uid"];
$result = db_query("SELECT label_cache FROM
ttrss_user_entries WHERE ref_id = '$id' AND owner_uid = " .
$owner_uid);
if (db_num_rows($result) > 0) {
$label_cache = db_fetch_result($result, 0, "label_cache");
if ($label_cache) {
$label_cache = json_decode($label_cache, true);
if ($label_cache["no-labels"] == 1)
return $rv;
else
return $label_cache;
}
}
$result = db_query(
"SELECT DISTINCT label_id,caption,fg_color,bg_color
FROM ttrss_labels2, ttrss_user_labels2
WHERE id = label_id
AND article_id = '$id'
AND owner_uid = ". $owner_uid . "
ORDER BY caption");
while ($line = db_fetch_assoc($result)) {
$rk = array(label_to_feed_id($line["label_id"]),
$line["caption"], $line["fg_color"],
$line["bg_color"]);
array_push($rv, $rk);
}
if (count($rv) > 0)
label_update_cache($owner_uid, $id, $rv);
else
label_update_cache($owner_uid, $id, array("no-labels" => 1));
return $rv;
}
} }

View File

@ -350,7 +350,7 @@ class Feeds extends Handler_Protected {
} }
} }
if (!is_array($labels)) $labels = get_article_labels($id); if (!is_array($labels)) $labels = Article::get_article_labels($id);
$labels_str = "<span class=\"HLLCTR-$id\">"; $labels_str = "<span class=\"HLLCTR-$id\">";
$labels_str .= Article::format_article_labels($labels); $labels_str .= Article::format_article_labels($labels);

View File

@ -11,52 +11,6 @@
} }
} }
function get_article_labels($id, $owner_uid = false) {
$rv = array();
if (!$owner_uid) $owner_uid = $_SESSION["uid"];
$result = db_query("SELECT label_cache FROM
ttrss_user_entries WHERE ref_id = '$id' AND owner_uid = " .
$owner_uid);
if (db_num_rows($result) > 0) {
$label_cache = db_fetch_result($result, 0, "label_cache");
if ($label_cache) {
$label_cache = json_decode($label_cache, true);
if ($label_cache["no-labels"] == 1)
return $rv;
else
return $label_cache;
}
}
$result = db_query(
"SELECT DISTINCT label_id,caption,fg_color,bg_color
FROM ttrss_labels2, ttrss_user_labels2
WHERE id = label_id
AND article_id = '$id'
AND owner_uid = ". $owner_uid . "
ORDER BY caption");
while ($line = db_fetch_assoc($result)) {
$rk = array(label_to_feed_id($line["label_id"]),
$line["caption"], $line["fg_color"],
$line["bg_color"]);
array_push($rv, $rk);
}
if (count($rv) > 0)
label_update_cache($owner_uid, $id, $rv);
else
label_update_cache($owner_uid, $id, array("no-labels" => 1));
return $rv;
}
function label_find_caption($label, $owner_uid) { function label_find_caption($label, $owner_uid) {
$result = db_query( $result = db_query(
"SELECT caption FROM ttrss_labels2 WHERE id = '$label' "SELECT caption FROM ttrss_labels2 WHERE id = '$label'

View File

@ -683,7 +683,7 @@
if (db_num_rows($result) != 0) { if (db_num_rows($result) != 0) {
$base_entry_id = db_fetch_result($result, 0, "id"); $base_entry_id = db_fetch_result($result, 0, "id");
$entry_stored_hash = db_fetch_result($result, 0, "content_hash"); $entry_stored_hash = db_fetch_result($result, 0, "content_hash");
$article_labels = get_article_labels($base_entry_id, $owner_uid); $article_labels = Article::get_article_labels($base_entry_id, $owner_uid);
$entry_language = db_fetch_result($result, 0, "lang"); $entry_language = db_fetch_result($result, 0, "lang");
$existing_tags = Article::get_article_tags($base_entry_id, $owner_uid); $existing_tags = Article::get_article_tags($base_entry_id, $owner_uid);