truncate_string($feed_title,30)."</a>";
if ($error) {
- $reply .= " (<span class=\"error\" title=\"$error\">Error</span>)";
+ $reply .= " <img title='$error' src='images/error.png' alt='error' class=\"noborder\" style=\"vertical-align : middle\">";
}
} else {
<a href=\"#\"
title=\"".__("View as RSS feed")."\"
onclick=\"displayDlg('".__("View as RSS")."','generatedFeed', '$feed_id:$is_cat:$rss_link')\">
- <img class=\"noborder\" style=\"vertical-align : middle\" src=\"images/pub_set.svg\"></a>";
+ <img class=\"noborder\" style=\"vertical-align : middle\" src=\"images/pub_set.png\"></a>";
$reply .= "</span>";
$feed_title = $qfh_ret[1];
$feed_site_url = $qfh_ret[2];
$last_error = $qfh_ret[3];
- $last_updated = make_local_datetime($qfh_ret[4], false);
+ $last_updated = strpos($qfh_ret[4], '1970-') === FALSE ?
+ make_local_datetime($qfh_ret[4], false) : __("Never");
$vgroup_last_feed = $vgr_last_feed;
$expand_cdm = get_pref('CDM_EXPANDED');
while ($line = $this->dbh->fetch_assoc($result)) {
- $class = ($lnum % 2) ? "even" : "odd";
+ $line["content_preview"] = "— " . truncate_string(strip_tags($line["content_preview"]), 250);
+
+ foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_QUERY_HEADLINES) as $p) {
+ $line = $p->hook_query_headlines($line, 250, false);
+ }
+
+ if (get_pref('SHOW_CONTENT_PREVIEW')) {
+ $content_preview = $line["content_preview"];
+ }
$id = $line["id"];
$feed_id = $line["feed_id"];
array_push($topmost_article_ids, $id);
}
+ $class = "";
+
if (sql_bool_to_bool($line["unread"])) {
$class .= " Unread";
++$num_unread;
if (sql_bool_to_bool($line["marked"])) {
$marked_pic = "<img
- src=\"images/mark_set.svg\"
+ src=\"images/mark_set.png\"
class=\"markedPic\" alt=\"Unstar article\"
onclick='toggleMark($id)'>";
$class .= " marked";
} else {
$marked_pic = "<img
- src=\"images/mark_unset.svg\"
+ src=\"images/mark_unset.png\"
class=\"markedPic\" alt=\"Star article\"
onclick='toggleMark($id)'>";
}
if (sql_bool_to_bool($line["published"])) {
- $published_pic = "<img src=\"images/pub_set.svg\"
+ $published_pic = "<img src=\"images/pub_set.png\"
class=\"pubPic\"
alt=\"Unpublish article\" onclick='togglePub($id)'>";
$class .= " published";
} else {
- $published_pic = "<img src=\"images/pub_unset.svg\"
+ $published_pic = "<img src=\"images/pub_unset.png\"
class=\"pubPic\"
alt=\"Publish article\" onclick='togglePub($id)'>";
}
$date_entered_fmt = T_sprintf("Imported at %s",
make_local_datetime($line["date_entered"], false));
- if (get_pref('SHOW_CONTENT_PREVIEW')) {
- $content_preview = truncate_string(strip_tags($line["content_preview"]),
- 100);
- }
-
$score = $line["score"];
$score_pic = "images/" . get_score_pic($score);
title=\"$score\">";
if ($score > 500) {
- $hlc_suffix = "H";
+ $hlc_suffix = "high";
} else if ($score < -100) {
- $hlc_suffix = "L";
+ $hlc_suffix = "low";
} else {
$hlc_suffix = "";
}
if ($has_feed_icon) {
$feed_icon_img = "<img class=\"tinyFeedIcon\" src=\"".ICONS_URL."/$feed_id.ico\" alt=\"\">";
} else {
- $feed_icon_img = "<img class=\"tinyFeedIcon\" src=\"images/pub_set.svg\" alt=\"\">";
+ $feed_icon_img = "<img class=\"tinyFeedIcon\" src=\"images/pub_set.png\" alt=\"\">";
}
$entry_site_url = $line["site_url"];
if (!isset($rgba_cache[$feed_id])) {
$rgba_cache[$feed_id] = join(",", _color_unpack($fav_color));
}
-
- $rgba = $rgba_cache[$feed_id];
-
- if (sql_bool_to_bool($line["unread"]))
- $endalpha = '0.3';
- else
- $endalpha = '0.1';
-
- // W3C definition seems to work in FF and Chrome
- $row_background = "background-image : linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba($rgba, $endalpha) 100%);";
-
- /* $row_background = "background-image : -moz-linear-gradient(left, rgba(255, 255, 255, 0) 50%, rgba($rgba, 0.2) 100%);".
- "background-image : linear-gradient(to right, rgba(255, 255, 255, 0) 50%, rgba($rgba, 0.2) 100%);";
- "background-image : -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(255,255,255,0)),
- color-stop(100%, rgba($rgba, 0.2)));"; */
- } else {
- $row_background = "";
}
if (!get_pref('COMBINED_DISPLAY_MODE')) {
$mouseover_attrs = "onmouseover='postMouseIn(event, $id)'
onmouseout='postMouseOut($id)'";
- $reply['content'] .= "<div class='hl $class' id='RROW-$id' $mouseover_attrs style='$row_background'>";
+ $reply['content'] .= "<div class='hl $class' id='RROW-$id' $mouseover_attrs>";
$reply['content'] .= "<div class='hlLeft'>";
$reply['content'] .= "</div>";
$reply['content'] .= "<div onclick='return hlClicked(event, $id)'
- class=\"hlTitle\"><span class='hlContent$hlc_suffix'>";
- $reply['content'] .= "<a id=\"RTITLE-$id\" class=\"title\"
+ class=\"hlTitle\"><span class='hlContent $hlc_suffix'>";
+ $reply['content'] .= "<a id=\"RTITLE-$id\" class=\"title $hlc_suffix\"
href=\"" . htmlspecialchars($line["link"]) . "\"
onclick=\"\">" .
truncate_string($line["title"], 200);
if (get_pref('SHOW_CONTENT_PREVIEW')) {
- if ($content_preview) {
- $reply['content'] .= "<span class=\"contentPreview\"> - $content_preview</span>";
- }
+ $reply['content'] .= "<span class=\"contentPreview\">" . $line["content_preview"] . "</span>";
}
$reply['content'] .= "</a></span>";
if (!get_pref('VFEED_GROUP_BY_FEED')) {
if (@$line["feed_title"]) {
- $reply['content'] .= "<div class=\"hlFeed\">
- <a href=\"#\" onclick=\"viewfeed($feed_id)\">".
- truncate_string($line["feed_title"],30)."</a>
- </div>";
+ $rgba = @$rgba_cache[$feed_id];
+
+ $reply['content'] .= "<a class=\"hlFeed\" style=\"background : rgba($rgba, 0.3)\" href=\"#\" onclick=\"viewfeed($feed_id)\">".
+ truncate_string($line["feed_title"],30)."</a>";
}
}
- $reply['content'] .= "<span title='$date_entered_fmt'>$updated_fmt</span>
+ $reply['content'] .= "<div title='$date_entered_fmt'>$updated_fmt</div>
</span>";
$reply['content'] .= "<div class=\"hlRight\">";
} else {
- $line["tags"] = get_article_tags($id, $_SESSION["uid"], $line["tag_cache"]);
- unset($line["tag_cache"]);
+ if ($line["tag_cache"])
+ $tags = explode(",", $line["tag_cache"]);
+ else
+ $tags = false;
- $line["content"] = sanitize($line["content_preview"],
+ $line["content"] = sanitize($line["content"],
sql_bool_to_bool($line['hide_images']), false, $entry_site_url);
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_RENDER_ARTICLE_CDM) as $p) {
$expanded_class = $expand_cdm ? "expanded" : "expandable";
- $reply['content'] .= "<div class=\"cdm $expanded_class $class\"
+ $reply['content'] .= "<div class=\"cdm $hlc_suffix $expanded_class $class\"
id=\"RROW-$id\" $mouseover_attrs>";
$reply['content'] .= "<div class=\"cdmHeader\" style=\"$row_background\">";
$reply['content'] .= "<span id=\"RTITLE-$id\"
onclick=\"return cdmClicked(event, $id);\"
- class=\"titleWrap$hlc_suffix\">
- <a class=\"title\"
+ class=\"titleWrap $hlc_suffix\">
+ <a class=\"title $hlc_suffix\"
target=\"_blank\" href=\"".
htmlspecialchars($line["link"])."\">".
$line["title"] .
- " <span class=\"author\">$entry_author</span></a>";
+ "</a> <span class=\"author\">$entry_author</span>";
$reply['content'] .= $labels_str;
else
$excerpt_hidden = "style=\"display : none\"";
- $reply['content'] .= "<span $excerpt_hidden
- id=\"CEXC-$id\" class=\"cdmExcerpt\"> - $content_preview</span>";
+ $reply['content'] .= "<span $excerpt_hidden id=\"CEXC-$id\" class=\"cdmExcerpt\">" . $line["content_preview"] . "</span>";
+
$reply['content'] .= "</span>";
if (!get_pref('VFEED_GROUP_BY_FEED')) {
if (@$line["feed_title"]) {
+ $rgba = @$rgba_cache[$feed_id];
+
$reply['content'] .= "<div class=\"hlFeed\">
- <a href=\"#\" onclick=\"viewfeed($feed_id)\">".
+ <a href=\"#\" style=\"background-color: rgba($rgba,0.3)\"
+ onclick=\"viewfeed($feed_id)\">".
truncate_string($line["feed_title"],30)."</a>
</div>";
}
$reply['content'] .= "<span class='updated' title='$date_entered_fmt'>
$updated_fmt</span>";
- $reply['content'] .= "<div style=\"vertical-align : middle\">";
+ $reply['content'] .= "<div class='scoreWrap' style=\"vertical-align : middle\">";
$reply['content'] .= "$score_pic";
if (!get_pref("VFEED_GROUP_BY_FEED") && $line["feed_title"]) {
}
$reply['content'] .= "</div>";
-
$reply['content'] .= "<div class=\"cdmContentInner\">";
if ($line["orig_feed_id"]) {
$reply['content'] .= " ";
$reply['content'] .= "<a target='_blank' href='" . htmlspecialchars($tmp_line['feed_url']) . "'>";
- $reply['content'] .= "<img title='".__('Feed URL')."'class='tinyFeedIcon' src='images/pub_unset.svg'></a>";
+ $reply['content'] .= "<img title='".__('Feed URL')."'class='tinyFeedIcon' src='images/pub_unset.png'></a>";
$reply['content'] .= "</div>";
}
$reply['content'] .= $p->hook_article_left_button($line);
}
- $tags_str = format_tags_string($line["tags"], $id);
+ $tags_str = format_tags_string($tags, $id);
$reply['content'] .= "<img src='images/tag.png' alt='Tags' title='Tags'>
<span id=\"ATSTR-$id\">$tags_str</span>
<a title=\"".__('Edit tags for this article')."\"
- href=\"#\" onclick=\"editArticleTags($id, $feed_id, true)\">(+)</a>";
+ href=\"#\" onclick=\"editArticleTags($id)\">(+)</a>";
$num_comments = $line["num_comments"];
$entry_comments = "";
$reply['content'] .= "</div>";
$reply['content'] .= "</div>";
- $reply['content'] .= "</div>";
+ $reply['content'] .= "</div><hr/>";
$reply['content'] .= "</div>";
$override_order = "ttrss_entries.title";
break;
case "date_reverse":
- $override_order = "date_entered, updated";
+ $override_order = "score DESC, date_entered, updated";
break;
case "feed_dates":
$override_order = "updated DESC";