support colored labels

This commit is contained in:
Andrew Dolgov 2009-01-26 11:07:53 +01:00
parent c218ceb82c
commit 2eb9c95c97
4 changed files with 63 additions and 25 deletions

View file

@ -1572,7 +1572,8 @@
} }
function printFeedEntry($feed_id, $class, $feed_title, $unread, $icon_file, $link, function printFeedEntry($feed_id, $class, $feed_title, $unread, $icon_file, $link,
$rtl_content = false, $last_updated = false, $last_error = false) { $rtl_content = false, $last_updated = false, $last_error = false,
$fg_content = false, $bg_content = false) {
if (file_exists($icon_file) && filesize($icon_file) > 0) { if (file_exists($icon_file) && filesize($icon_file) > 0) {
$feed_icon = "<img id=\"FIMG-$feed_id\" src=\"$icon_file\">"; $feed_icon = "<img id=\"FIMG-$feed_id\" src=\"$icon_file\">";
@ -1598,6 +1599,18 @@
$feed = "<a title=\"$link_title\" id=\"FEEDL-$feed_id\" $feed = "<a title=\"$link_title\" id=\"FEEDL-$feed_id\"
href=\"javascript:viewfeed('$feed_id', '', false, '', false, 0);\">$feed_title</a>"; href=\"javascript:viewfeed('$feed_id', '', false, '', false, 0);\">$feed_title</a>";
/* if ($feed_id < -10) {
$bg_color = "#00ccff";
$fg_color = "white";
}
if ($fg_color || $bg_color) {
$color_str = "<div class='labelColorIndicator'
style='color : $fg_color; background-color : $bg_color'>l</div>";
}
print $color_str; */
print "<li id=\"FEEDR-$feed_id\" class=\"$class\">"; print "<li id=\"FEEDR-$feed_id\" class=\"$class\">";
if (get_pref($link, 'ENABLE_FEED_ICONS')) { if (get_pref($link, 'ENABLE_FEED_ICONS')) {
print "$feed_icon"; print "$feed_icon";
@ -4086,7 +4099,7 @@
if (!$tags) { if (!$tags) {
$result = db_query($link, "SELECT id,caption FROM $result = db_query($link, "SELECT * FROM
ttrss_labels2 WHERE owner_uid = '$owner_uid' ORDER by caption"); ttrss_labels2 WHERE owner_uid = '$owner_uid' ORDER by caption");
if (db_num_rows($result) > 0) { if (db_num_rows($result) > 0) {
@ -4118,7 +4131,9 @@
printFeedEntry($label_id, printFeedEntry($label_id,
$class, $line["caption"], $class, $line["caption"],
$count, "images/label.png", $link); $count, "images/label.png", $link,
false, false, false,
$line['fg_color'], $line['bg_color']);
} }
@ -4815,14 +4830,9 @@
$feed_id = $line["feed_id"]; $feed_id = $line["feed_id"];
$labels = get_article_labels($link, $id); $labels = get_article_labels($link, $id);
$labels_str = "<span id=\"HLLCTR-$id\">"; $labels_str = "<span id=\"HLLCTR-$id\">";
$labels_str .= format_article_labels($labels, $id);
foreach ($labels as $l) {
$labels_str .= "<span
class='hlLabelRef'>".
$l[1]."</span>";
}
$labels_str .= "</span>"; $labels_str .= "</span>";
if (count($topmost_article_ids) < 5) { if (count($topmost_article_ids) < 5) {
@ -5815,7 +5825,7 @@
function get_article_labels($link, $id) { function get_article_labels($link, $id) {
$result = db_query($link, $result = db_query($link,
"SELECT DISTINCT label_id,caption "SELECT DISTINCT label_id,caption,fg_color,bg_color
FROM ttrss_labels2, ttrss_user_labels2 FROM ttrss_labels2, ttrss_user_labels2
WHERE id = label_id WHERE id = label_id
AND article_id = '$id' AND article_id = '$id'
@ -5825,7 +5835,8 @@
$rv = array(); $rv = array();
while ($line = db_fetch_assoc($result)) { while ($line = db_fetch_assoc($result)) {
$rk = array($line["label_id"], $line["caption"]); $rk = array($line["label_id"], $line["caption"], $line["fg_color"],
$line["bg_color"]);
array_push($rv, $rk); array_push($rv, $rk);
} }
@ -5991,4 +6002,18 @@
return $tags_str; return $tags_str;
} }
function format_article_labels($labels, $id) {
$labels_str = "";
foreach ($labels as $l) {
$labels_str .= sprintf("<span class='hlLabelRef'
style='color : %s; background-color : %s'>%s</span>",
$l[2], $l[3], $l[1]);
}
return $labels_str;
}
?> ?>

View file

@ -444,10 +444,7 @@
print "<entry id=\"$id\"><![CDATA["; print "<entry id=\"$id\"><![CDATA[";
$labels = get_article_labels($link, $id, $_SESSION["uid"]); $labels = get_article_labels($link, $id, $_SESSION["uid"]);
print format_article_labels($labels, $id);
foreach ($labels as $l) {
print "<span class='hlLabelRef'>".$l[1]."</span>";
}
print "]]></entry>"; print "]]></entry>";
@ -483,10 +480,7 @@
print "<entry id=\"$id\"><![CDATA["; print "<entry id=\"$id\"><![CDATA[";
$labels = get_article_labels($link, $id, $_SESSION["uid"]); $labels = get_article_labels($link, $id, $_SESSION["uid"]);
print format_article_labels($labels, $id);
foreach ($labels as $l) {
print "<span class='hlLabelRef'>".$l[1]."</span>";
}
print "]]></entry>"; print "]]></entry>";

View file

@ -110,7 +110,7 @@
} }
$result = db_query($link, "SELECT $result = db_query($link, "SELECT
id,caption *
FROM FROM
ttrss_labels2 ttrss_labels2
WHERE WHERE
@ -150,11 +150,19 @@
$line["caption"] = htmlspecialchars($line["caption"]); $line["caption"] = htmlspecialchars($line["caption"]);
$fg_color = $line["fg_color"];
$bg_color = $line["bg_color"];
if (!$fg_color) $fg_color = "black";
if (!$bg_color) $bg_color = "transparent";
print "<td width='5%' align='center'><input print "<td width='5%' align='center'><input
onclick='toggleSelectPrefRow(this, \"label\");' onclick='toggleSelectPrefRow(this, \"label\");'
type=\"checkbox\" id=\"LICHK-".$line["id"]."\"></td>"; type=\"checkbox\" id=\"LICHK-".$line["id"]."\"></td>";
print "<td><span id=\"LILT-".$line["id"]."\">" . $line["caption"] . print "<td><span class='prefsLabelEntry'
style='color : $fg_color; background-color : $bg_color'
id=\"LILT-".$line["id"]."\">" . $line["caption"] .
"</span></td>"; "</span></td>";
print "</tr>"; print "</tr>";

View file

@ -2087,4 +2087,15 @@ div#errorBox input {
margin-bottom : 10px; margin-bottom : 10px;
} }
span.prefsLabelEntry {
padding : 2px;
}
div.labelColorIndicator {
float : right;
height : 14px;
width : 14px;
line-height : 14px;
font-height : 9px;
text-align : center;
}