move label stuff to Labels class
fix some unresolved functions
This commit is contained in:
parent
c2f0f24e4c
commit
7c9b5a3fe4
13 changed files with 57 additions and 57 deletions
|
@ -458,14 +458,14 @@ class API extends Handler {
|
|||
|
||||
$checked = false;
|
||||
foreach ($article_labels as $al) {
|
||||
if (feed_to_label_id($al[0]) == $line['id']) {
|
||||
if (Labels::feed_to_label_id($al[0]) == $line['id']) {
|
||||
$checked = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
array_push($rv, array(
|
||||
"id" => (int)label_to_feed_id($line['id']),
|
||||
"id" => (int)Labels::label_to_feed_id($line['id']),
|
||||
"caption" => $line['caption'],
|
||||
"fg_color" => $line['fg_color'],
|
||||
"bg_color" => $line['bg_color'],
|
||||
|
@ -481,8 +481,8 @@ class API extends Handler {
|
|||
$label_id = (int) $this->dbh->escape_string($_REQUEST['label_id']);
|
||||
$assign = (bool) ($this->dbh->escape_string($_REQUEST['assign']) == "true");
|
||||
|
||||
$label = $this->dbh->escape_string(label_find_caption(
|
||||
feed_to_label_id($label_id), $_SESSION["uid"]));
|
||||
$label = $this->dbh->escape_string(Labels::find_caption(
|
||||
Labels::feed_to_label_id($label_id), $_SESSION["uid"]));
|
||||
|
||||
$num_updated = 0;
|
||||
|
||||
|
@ -491,9 +491,9 @@ class API extends Handler {
|
|||
foreach ($article_ids as $id) {
|
||||
|
||||
if ($assign)
|
||||
label_add_article($id, $label, $_SESSION["uid"]);
|
||||
Labels::add_article($id, $label, $_SESSION["uid"]);
|
||||
else
|
||||
label_remove_article($id, $label, $_SESSION["uid"]);
|
||||
Labels::remove_article($id, $label, $_SESSION["uid"]);
|
||||
|
||||
++$num_updated;
|
||||
|
||||
|
|
|
@ -154,7 +154,7 @@ class Article extends Handler_Protected {
|
|||
|
||||
if (count($labels) != 0) {
|
||||
foreach ($labels as $label) {
|
||||
label_add_article($ref_id, trim($label), $owner_uid);
|
||||
Labels::add_article($ref_id, trim($label), $owner_uid);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -179,7 +179,7 @@ class Article extends Handler_Protected {
|
|||
|
||||
if (count($labels) != 0) {
|
||||
foreach ($labels as $label) {
|
||||
label_add_article($ref_id, trim($label), $owner_uid);
|
||||
Labels::add_article($ref_id, trim($label), $owner_uid);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -344,7 +344,7 @@ class Article extends Handler_Protected {
|
|||
$ids = explode(",", $this->dbh->escape_string($_REQUEST["ids"]));
|
||||
$label_id = $this->dbh->escape_string($_REQUEST["lid"]);
|
||||
|
||||
$label = $this->dbh->escape_string(label_find_caption($label_id,
|
||||
$label = $this->dbh->escape_string(Labels::find_caption($label_id,
|
||||
$_SESSION["uid"]));
|
||||
|
||||
$reply["info-for-headlines"] = array();
|
||||
|
@ -354,9 +354,9 @@ class Article extends Handler_Protected {
|
|||
foreach ($ids as $id) {
|
||||
|
||||
if ($assign)
|
||||
label_add_article($id, $label, $_SESSION["uid"]);
|
||||
Labels::add_article($id, $label, $_SESSION["uid"]);
|
||||
else
|
||||
label_remove_article($id, $label, $_SESSION["uid"]);
|
||||
Labels::remove_article($id, $label, $_SESSION["uid"]);
|
||||
|
||||
$labels = $this->get_article_labels($id, $_SESSION["uid"]);
|
||||
|
||||
|
@ -955,16 +955,16 @@ class Article extends Handler_Protected {
|
|||
ORDER BY caption");
|
||||
|
||||
while ($line = db_fetch_assoc($result)) {
|
||||
$rk = array(label_to_feed_id($line["label_id"]),
|
||||
$rk = array(Labels::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);
|
||||
Labels::update_cache($owner_uid, $id, $rv);
|
||||
else
|
||||
label_update_cache($owner_uid, $id, array("no-labels" => 1));
|
||||
Labels::update_cache($owner_uid, $id, array("no-labels" => 1));
|
||||
|
||||
return $rv;
|
||||
}
|
||||
|
|
|
@ -870,7 +870,7 @@ class Feeds extends Handler_Protected {
|
|||
$result = false;
|
||||
|
||||
if ($feed < LABEL_BASE_INDEX) {
|
||||
$label_feed = feed_to_label_id($feed);
|
||||
$label_feed = Labels::feed_to_label_id($feed);
|
||||
$result = $this->dbh->query("SELECT id FROM ttrss_labels2 WHERE
|
||||
id = '$label_feed' AND owner_uid = " . $_SESSION['uid']);
|
||||
} else if (!$cat_view && is_numeric($feed) && $feed > 0) {
|
||||
|
@ -1354,7 +1354,7 @@ class Feeds extends Handler_Protected {
|
|||
|
||||
} else if ($feed < LABEL_BASE_INDEX) { // label
|
||||
|
||||
$label_id = feed_to_label_id($feed);
|
||||
$label_id = Labels::feed_to_label_id($feed);
|
||||
|
||||
db_query("UPDATE ttrss_user_entries
|
||||
SET unread = false, last_read = NOW() WHERE ref_id IN
|
||||
|
@ -1435,7 +1435,7 @@ class Feeds extends Handler_Protected {
|
|||
|
||||
} else if ($feed < LABEL_BASE_INDEX) {
|
||||
|
||||
$label_id = feed_to_label_id($feed);
|
||||
$label_id = Labels::feed_to_label_id($feed);
|
||||
|
||||
return Feeds::getLabelUnread($label_id, $owner_uid);
|
||||
|
||||
|
@ -1608,7 +1608,7 @@ class Feeds extends Handler_Protected {
|
|||
} else if ($id == -6) {
|
||||
return __("Recently read");
|
||||
} else if ($id < LABEL_BASE_INDEX) {
|
||||
$label_id = feed_to_label_id($id);
|
||||
$label_id = Labels::feed_to_label_id($id);
|
||||
$result = db_query("SELECT caption FROM ttrss_labels2 WHERE id = '$label_id'");
|
||||
if (db_num_rows($result) == 1) {
|
||||
return db_fetch_result($result, 0, "caption");
|
||||
|
@ -1931,7 +1931,7 @@ class Feeds extends Handler_Protected {
|
|||
$query_strategy_part = "true";
|
||||
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
|
||||
} else if ($feed <= LABEL_BASE_INDEX) { // labels
|
||||
$label_id = feed_to_label_id($feed);
|
||||
$label_id = Labels::feed_to_label_id($feed);
|
||||
|
||||
$query_strategy_part = "label_id = '$label_id' AND
|
||||
ttrss_labels2.id = ttrss_user_labels2.label_id AND
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
<?php
|
||||
function label_to_feed_id($label) {
|
||||
class Labels
|
||||
{
|
||||
static function label_to_feed_id($label) {
|
||||
return LABEL_BASE_INDEX - 1 - abs($label);
|
||||
}
|
||||
|
||||
function feed_to_label_id($feed) {
|
||||
static function feed_to_label_id($feed) {
|
||||
return LABEL_BASE_INDEX - 1 + abs($feed);
|
||||
}
|
||||
|
||||
function label_find_id($label, $owner_uid) {
|
||||
static function find_id($label, $owner_uid) {
|
||||
$result = db_query(
|
||||
"SELECT id FROM ttrss_labels2 WHERE caption = '$label'
|
||||
AND owner_uid = '$owner_uid' LIMIT 1");
|
||||
|
@ -19,7 +21,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
function label_find_caption($label, $owner_uid) {
|
||||
static function find_caption($label, $owner_uid) {
|
||||
$result = db_query(
|
||||
"SELECT caption FROM ttrss_labels2 WHERE id = '$label'
|
||||
AND owner_uid = '$owner_uid' LIMIT 1");
|
||||
|
@ -31,7 +33,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
function get_all_labels($owner_uid) {
|
||||
static function get_all_labels($owner_uid) {
|
||||
$rv = array();
|
||||
|
||||
$result = db_query("SELECT fg_color, bg_color, caption FROM ttrss_labels2 WHERE owner_uid = " . $owner_uid);
|
||||
|
@ -43,13 +45,13 @@
|
|||
return $rv;
|
||||
}
|
||||
|
||||
function label_update_cache($owner_uid, $id, $labels = false, $force = false) {
|
||||
static function update_cache($owner_uid, $id, $labels = false, $force = false) {
|
||||
|
||||
if ($force)
|
||||
label_clear_cache($id);
|
||||
Labels::clear_cache($id);
|
||||
|
||||
if (!$labels)
|
||||
$labels = get_article_labels($id);
|
||||
$labels = Article::get_article_labels($id);
|
||||
|
||||
$labels = db_escape_string(json_encode($labels));
|
||||
|
||||
|
@ -58,16 +60,16 @@
|
|||
|
||||
}
|
||||
|
||||
function label_clear_cache($id) {
|
||||
static function clear_cache($id) {
|
||||
|
||||
db_query("UPDATE ttrss_user_entries SET
|
||||
label_cache = '' WHERE ref_id = '$id'");
|
||||
|
||||
}
|
||||
|
||||
function label_remove_article($id, $label, $owner_uid) {
|
||||
static function remove_article($id, $label, $owner_uid) {
|
||||
|
||||
$label_id = label_find_id($label, $owner_uid);
|
||||
$label_id = Labels::find_id($label, $owner_uid);
|
||||
|
||||
if (!$label_id) return;
|
||||
|
||||
|
@ -77,12 +79,12 @@
|
|||
label_id = '$label_id' AND
|
||||
article_id = '$id'");
|
||||
|
||||
label_clear_cache($id);
|
||||
Labels::clear_cache($id);
|
||||
}
|
||||
|
||||
function label_add_article($id, $label, $owner_uid) {
|
||||
static function add_article($id, $label, $owner_uid) {
|
||||
|
||||
$label_id = label_find_id($label, $owner_uid);
|
||||
$label_id = Labels::find_id($label, $owner_uid);
|
||||
|
||||
if (!$label_id) return;
|
||||
|
||||
|
@ -100,11 +102,11 @@
|
|||
(label_id, article_id) VALUES ('$label_id', '$id')");
|
||||
}
|
||||
|
||||
label_clear_cache($id);
|
||||
Labels::clear_cache($id);
|
||||
|
||||
}
|
||||
|
||||
function label_remove($id, $owner_uid) {
|
||||
static function remove($id, $owner_uid) {
|
||||
if (!$owner_uid) $owner_uid = $_SESSION["uid"];
|
||||
|
||||
db_query("BEGIN");
|
||||
|
@ -136,14 +138,12 @@
|
|||
db_query("COMMIT");
|
||||
}
|
||||
|
||||
function label_create($caption, $fg_color = '', $bg_color = '', $owner_uid = false) {
|
||||
static function create($caption, $fg_color = '', $bg_color = '', $owner_uid = false) {
|
||||
|
||||
if (!$owner_uid) $owner_uid = $_SESSION['uid'];
|
||||
|
||||
db_query("BEGIN");
|
||||
|
||||
$result = false;
|
||||
|
||||
$result = db_query("SELECT id FROM ttrss_labels2
|
||||
WHERE caption = '$caption' AND owner_uid = $owner_uid");
|
||||
|
||||
|
@ -159,3 +159,4 @@
|
|||
|
||||
return $result;
|
||||
}
|
||||
}
|
|
@ -292,9 +292,9 @@ class Opml extends Handler_Protected {
|
|||
$fg_color = $this->dbh->escape_string($attrs->getNamedItem('label-fg-color')->nodeValue);
|
||||
$bg_color = $this->dbh->escape_string($attrs->getNamedItem('label-bg-color')->nodeValue);
|
||||
|
||||
if (!label_find_id($label_name, $_SESSION['uid'])) {
|
||||
if (!Labels::find_id($label_name, $_SESSION['uid'])) {
|
||||
$this->opml_notice(T_sprintf("Adding label %s", htmlspecialchars($label_name)));
|
||||
label_create($label_name, $fg_color, $bg_color, $owner_uid);
|
||||
Labels::create($label_name, $fg_color, $bg_color, $owner_uid);
|
||||
} else {
|
||||
$this->opml_notice(T_sprintf("Duplicate label: %s", htmlspecialchars($label_name)));
|
||||
}
|
||||
|
|
|
@ -171,7 +171,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
|
||||
while ($line = $this->dbh->fetch_assoc($result)) {
|
||||
|
||||
$label_id = label_to_feed_id($line['id']);
|
||||
$label_id = Labels::label_to_feed_id($line['id']);
|
||||
|
||||
$feed = $this->feedlist_init_feed($label_id, false, 0);
|
||||
|
||||
|
@ -1806,7 +1806,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
CCache::remove($id, $owner_uid);
|
||||
|
||||
} else {
|
||||
label_remove(feed_to_label_id($id), $owner_uid);
|
||||
Labels::remove(Labels::feed_to_label_id($id), $owner_uid);
|
||||
//CCache::remove($id, $owner_uid); don't think labels are cached
|
||||
}
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ class Pref_Labels extends Handler_Protected {
|
|||
AND owner_uid = " . $_SESSION["uid"]);
|
||||
}
|
||||
|
||||
$caption = $this->dbh->escape_string(label_find_caption($id, $_SESSION["uid"]));
|
||||
$caption = $this->dbh->escape_string(Labels::find_caption($id, $_SESSION["uid"]));
|
||||
|
||||
/* Remove cached data */
|
||||
|
||||
|
@ -156,7 +156,7 @@ class Pref_Labels extends Handler_Protected {
|
|||
fg_color = '', bg_color = '' WHERE id = '$id'
|
||||
AND owner_uid = " . $_SESSION["uid"]);
|
||||
|
||||
$caption = $this->dbh->escape_string(label_find_caption($id, $_SESSION["uid"]));
|
||||
$caption = $this->dbh->escape_string(Labels::find_caption($id, $_SESSION["uid"]));
|
||||
|
||||
/* Remove cached data */
|
||||
|
||||
|
@ -216,7 +216,7 @@ class Pref_Labels extends Handler_Protected {
|
|||
$ids = explode(",", $this->dbh->escape_string($_REQUEST["ids"]));
|
||||
|
||||
foreach ($ids as $id) {
|
||||
label_remove($id, $_SESSION["uid"]);
|
||||
Labels::remove($id, $_SESSION["uid"]);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ class Pref_Labels extends Handler_Protected {
|
|||
|
||||
if ($caption) {
|
||||
|
||||
if (label_create($caption)) {
|
||||
if (Labels::create($caption)) {
|
||||
if (!$output) {
|
||||
print T_sprintf("Created label <b>%s</b>", htmlspecialchars($caption));
|
||||
}
|
||||
|
|
|
@ -134,7 +134,6 @@
|
|||
|
||||
require_once 'db-prefs.php';
|
||||
require_once 'version.php';
|
||||
require_once 'labels.php';
|
||||
require_once 'controls.php';
|
||||
|
||||
define('SELF_USER_AGENT', 'Tiny Tiny RSS/' . VERSION . ' (http://tt-rss.org/)');
|
||||
|
@ -1169,7 +1168,7 @@
|
|||
|
||||
while ($line = db_fetch_assoc($result)) {
|
||||
|
||||
$id = label_to_feed_id($line["id"]);
|
||||
$id = Labels::label_to_feed_id($line["id"]);
|
||||
|
||||
$cv = array("id" => $id,
|
||||
"counter" => (int) $line["unread"],
|
||||
|
|
|
@ -1032,7 +1032,7 @@
|
|||
_debug("assigning labels [other]...", $debug_enabled);
|
||||
|
||||
foreach ($article_labels as $label) {
|
||||
label_add_article($entry_ref_id, $label[1], $owner_uid);
|
||||
Labels::add_article($entry_ref_id, $label[1], $owner_uid);
|
||||
}
|
||||
|
||||
_debug("assigning labels [filters]...", $debug_enabled);
|
||||
|
@ -1468,7 +1468,7 @@
|
|||
foreach ($filters as $f) {
|
||||
if ($f["type"] == "label") {
|
||||
if (!labels_contains_caption($article_labels, $f["param"])) {
|
||||
label_add_article($id, $f["param"], $owner_uid);
|
||||
Labels::add_article($id, $f["param"], $owner_uid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ class Auto_Assign_Labels extends Plugin {
|
|||
$result = db_query("SELECT id, fg_color, bg_color, caption FROM ttrss_labels2 WHERE owner_uid = " . $owner_uid);
|
||||
|
||||
while ($line = db_fetch_assoc($result)) {
|
||||
array_push($rv, array(label_to_feed_id($line["id"]),
|
||||
array_push($rv, array(Labels::label_to_feed_id($line["id"]),
|
||||
$line["caption"], $line["fg_color"], $line["bg_color"]));
|
||||
}
|
||||
|
||||
|
|
|
@ -378,10 +378,10 @@ class Import_Export extends Plugin implements IHandler {
|
|||
if (is_array($label_cache) && $label_cache["no-labels"] != 1) {
|
||||
foreach ($label_cache as $label) {
|
||||
|
||||
label_create($label[1],
|
||||
Labels::create($label[1],
|
||||
$label[2], $label[3], $owner_uid);
|
||||
|
||||
label_add_article($ref_id, $label[1], $owner_uid);
|
||||
Labels::add_article($ref_id, $label[1], $owner_uid);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ class Note extends Plugin {
|
|||
db_query("UPDATE ttrss_user_entries SET note = '$note'
|
||||
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
|
||||
|
||||
$formatted_note = format_article_note($id, $note);
|
||||
$formatted_note = Article::format_article_note($id, $note);
|
||||
|
||||
print json_encode(array("note" => $formatted_note,
|
||||
"raw_length" => mb_strlen($note)));
|
||||
|
|
|
@ -211,7 +211,7 @@ final class ApiTest extends TestCase {
|
|||
public function testLabels() {
|
||||
// create label
|
||||
|
||||
label_create('Test', '', '', 1);
|
||||
Labels::create('Test', '', '', 1);
|
||||
|
||||
$this->testLogin();
|
||||
$ret = $this->apiCall([], "getLabels");
|
||||
|
@ -219,7 +219,7 @@ final class ApiTest extends TestCase {
|
|||
|
||||
$this->assertEquals('Test', $ret['content'][0]['caption']);
|
||||
$label_feed_id = $ret['content'][0]['id'];
|
||||
$label_id = feed_to_label_id($label_feed_id);
|
||||
$label_id = Labels::feed_to_label_id($label_feed_id);
|
||||
|
||||
$this->assertLessThan(0, $label_feed_id);
|
||||
$this->assertGreaterThan(0, $label_id);
|
||||
|
@ -246,7 +246,7 @@ final class ApiTest extends TestCase {
|
|||
|
||||
// clean up and check
|
||||
|
||||
label_remove($label_id, 1);
|
||||
Labels::remove($label_id, 1);
|
||||
|
||||
$ret = $this->apiCall([], "getLabels");
|
||||
$this->assertEmpty($ret['content']);
|
||||
|
|
Loading…
Reference in a new issue