本文整理汇总了PHP中format_tags_string函数的典型用法代码示例。如果您正苦于以下问题:PHP format_tags_string函数的具体用法?PHP format_tags_string怎么用?PHP format_tags_string使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了format_tags_string函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: format_headlines_list
//.........这里部分代码省略.........
$reply['content'] .= "<div clear='both'>";
$reply['content'] .= __("Originally from:");
$reply['content'] .= " ";
$tmp_line = db_fetch_assoc($tmp_result);
$reply['content'] .= "<a target='_blank'\r\n\t\t\t\t\t\t\t\thref=' " . htmlspecialchars($tmp_line['site_url']) . "'>" . $tmp_line['title'] . "</a>";
$reply['content'] .= " ";
$reply['content'] .= "<a target='_blank' href='" . htmlspecialchars($tmp_line['feed_url']) . "'>";
$reply['content'] .= "<img title='" . __('Feed URL') . "'class='tinyFeedIcon' src='images/pub_set.png'></a>";
$reply['content'] .= "</div>";
}
}
$feed_site_url = $line["site_url"];
$article_content = sanitize($this->link, $line["content_preview"], false, false, $feed_site_url);
$reply['content'] .= "<div id=\"POSTNOTE-{$id}\">";
if ($line['note']) {
$reply['content'] .= format_article_note($id, $line['note']);
}
$reply['content'] .= "</div>";
$reply['content'] .= "<span id=\"CWRAP-{$id}\">";
$reply['content'] .= $expand_cdm ? $article_content : '';
$reply['content'] .= "</span>";
/* $tmp_result = db_query($this->link, "SELECT always_display_enclosures FROM
ttrss_feeds WHERE id = ".
(($line['feed_id'] == null) ? $line['orig_feed_id'] :
$line['feed_id'])." AND owner_uid = ".$_SESSION["uid"]);
$always_display_enclosures = sql_bool_to_bool(db_fetch_result($tmp_result,
0, "always_display_enclosures")); */
$always_display_enclosures = sql_bool_to_bool($line["always_display_enclosures"]);
$reply['content'] .= format_article_enclosures($this->link, $id, $always_display_enclosures, $article_content);
$reply['content'] .= "</div>";
$reply['content'] .= "<div class=\"cdmFooter\">";
$tag_cache = $line["tag_cache"];
$tags_str = format_tags_string(get_article_tags($this->link, $id, $_SESSION["uid"], $tag_cache), $id);
$reply['content'] .= "<img src='" . theme_image($this->link, 'images/tag.png') . "' alt='Tags' title='Tags'>\r\n\t\t\t\t\t\t<span id=\"ATSTR-{$id}\">{$tags_str}</span>\r\n\t\t\t\t\t\t<a title=\"" . __('Edit tags for this article') . "\"\r\n\t\t\t\t\t\thref=\"#\" onclick=\"editArticleTags({$id}, {$feed_id}, true)\">(+)</a>";
$num_comments = $line["num_comments"];
$entry_comments = "";
if ($num_comments > 0) {
if ($line["comments"]) {
$comments_url = $line["comments"];
} else {
$comments_url = $line["link"];
}
$entry_comments = "<a target='_blank' href=\"{$comments_url}\">{$num_comments} comments</a>";
} else {
if ($line["comments"] && $line["link"] != $line["comments"]) {
$entry_comments = "<a target='_blank' href=\"" . $line["comments"] . "\">comments</a>";
}
}
if ($entry_comments) {
$reply['content'] .= " ({$entry_comments})";
}
$reply['content'] .= "<div style=\"float : right\">";
$reply['content'] .= "<img src=\"images/art-zoom.png\"\r\n\t\t\t\t\t\tonclick=\"zoomToArticle(event, {$id})\"\r\n\t\t\t\t\t\tstyle=\"cursor : pointer\"\r\n\t\t\t\t\t\talt='Zoom'\r\n\t\t\t\t\t\ttitle='" . __('Open article in new tab') . "'>";
//$note_escaped = htmlspecialchars($line['note'], ENT_QUOTES);
foreach ($button_plugins as $p) {
$reply['content'] .= $p->render($id, $line);
}
$reply['content'] .= "<img src=\"images/digest_checkbox.png\"\r\n\t\t\t\t\t\tstyle=\"cursor : pointer\" style=\"cursor : pointer\"\r\n\t\t\t\t\t\tonclick=\"dismissArticle({$id})\"\r\n\t\t\t\t\t\ttitle='" . __('Close article') . "'>";
$reply['content'] .= "</div>";
$reply['content'] .= "</div>";
$reply['content'] .= "</div>";
$reply['content'] .= "</div>";
}
++$lnum;
}
开发者ID:nvdnkpr,项目名称:Tiny-Tiny-RSS,代码行数:67,代码来源:feeds.php
示例2: setArticleTags
function setArticleTags()
{
$id = db_escape_string($_REQUEST["id"]);
$tags_str = db_escape_string($_REQUEST["tags_str"]);
$tags = array_unique(trim_array(explode(",", $tags_str)));
db_query($this->link, "BEGIN");
$result = db_query($this->link, "SELECT int_id FROM ttrss_user_entries WHERE\n\t\t\t\tref_id = '{$id}' AND owner_uid = '" . $_SESSION["uid"] . "' LIMIT 1");
if (db_num_rows($result) == 1) {
$tags_to_cache = array();
$int_id = db_fetch_result($result, 0, "int_id");
db_query($this->link, "DELETE FROM ttrss_tags WHERE\n\t\t\t\tpost_int_id = {$int_id} AND owner_uid = '" . $_SESSION["uid"] . "'");
foreach ($tags as $tag) {
$tag = sanitize_tag($tag);
if (!tag_is_valid($tag)) {
continue;
}
if (preg_match("/^[0-9]*\$/", $tag)) {
continue;
}
// print "<!-- $id : $int_id : $tag -->";
if ($tag != '') {
db_query($this->link, "INSERT INTO ttrss_tags\n\t\t\t\t\t\t\t\t(post_int_id, owner_uid, tag_name) VALUES ('{$int_id}', '" . $_SESSION["uid"] . "', '{$tag}')");
}
array_push($tags_to_cache, $tag);
}
/* update tag cache */
sort($tags_to_cache);
$tags_str = join(",", $tags_to_cache);
db_query($this->link, "UPDATE ttrss_user_entries\n\t\t\t\tSET tag_cache = '{$tags_str}' WHERE ref_id = '{$id}'\n\t\t\t\t\t\tAND owner_uid = " . $_SESSION["uid"]);
}
db_query($this->link, "COMMIT");
$tags = get_article_tags($this->link, $id);
$tags_str = format_tags_string($tags, $id);
$tags_str_full = join(", ", $tags);
if (!$tags_str_full) {
$tags_str_full = __("no tags");
}
print json_encode(array("tags_str" => array("id" => $id, "content" => $tags_str, "content_full" => $tags_str_full)));
}
开发者ID:nvdnkpr,项目名称:Tiny-Tiny-RSS,代码行数:39,代码来源:rpc.php
示例3: format_article
function format_article($link, $id, $mark_as_read = true, $zoom_mode = false, $owner_uid = false)
{
if (!$owner_uid) {
$owner_uid = $_SESSION["uid"];
}
$rv = array();
$rv['id'] = $id;
/* we can figure out feed_id from article id anyway, why do we
* pass feed_id here? let's ignore the argument :( */
$result = db_query($link, "SELECT feed_id FROM ttrss_user_entries\n\t\t\tWHERE ref_id = '{$id}'");
$feed_id = (int) db_fetch_result($result, 0, "feed_id");
$rv['feed_id'] = $feed_id;
//if (!$zoom_mode) { print "<article id='$id'><![CDATA["; };
if ($mark_as_read) {
$result = db_query($link, "UPDATE ttrss_user_entries\n\t\t\t\tSET unread = false,last_read = NOW()\n\t\t\t\tWHERE ref_id = '{$id}' AND owner_uid = {$owner_uid}");
ccache_update($link, $feed_id, $owner_uid);
}
$result = db_query($link, "SELECT id,title,link,content,feed_id,comments,int_id,\n\t\t\t" . SUBSTRING_FOR_DATE . "(updated,1,16) as updated,\n\t\t\t(SELECT site_url FROM ttrss_feeds WHERE id = feed_id) as site_url,\n\t\t\tnum_comments,\n\t\t\ttag_cache,\n\t\t\tauthor,\n\t\t\torig_feed_id,\n\t\t\tnote,\n\t\t\tcached_content\n\t\t\tFROM ttrss_entries,ttrss_user_entries\n\t\t\tWHERE\tid = '{$id}' AND ref_id = id AND owner_uid = {$owner_uid}");
if ($result) {
$line = db_fetch_assoc($result);
$tag_cache = $line["tag_cache"];
$line["tags"] = get_article_tags($link, $id, $owner_uid, $line["tag_cache"]);
unset($line["tag_cache"]);
$line["content"] = sanitize($link, $line["content"], false, $owner_uid, $line["site_url"]);
global $pluginhost;
foreach ($pluginhost->get_hooks($pluginhost::HOOK_RENDER_ARTICLE) as $p) {
$line = $p->hook_render_article($line);
}
$num_comments = $line["num_comments"];
$entry_comments = "";
if ($num_comments > 0) {
if ($line["comments"]) {
$comments_url = htmlspecialchars($line["comments"]);
} else {
$comments_url = htmlspecialchars($line["link"]);
}
$entry_comments = "<a target='_blank' href=\"{$comments_url}\">{$num_comments} comments</a>";
} else {
if ($line["comments"] && $line["link"] != $line["comments"]) {
$entry_comments = "<a target='_blank' href=\"" . htmlspecialchars($line["comments"]) . "\">comments</a>";
}
}
if ($zoom_mode) {
header("Content-Type: text/html");
$rv['content'] .= "<html><head>\n\t\t\t\t\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n\t\t\t\t\t\t<title>Tiny Tiny RSS - " . $line["title"] . "</title>\n\t\t\t\t\t\t<link rel=\"stylesheet\" type=\"text/css\" href=\"tt-rss.css\">\n\t\t\t\t\t</head><body>";
}
$title_escaped = htmlspecialchars($line['title']);
$rv['content'] .= "<div id=\"PTITLE-FULL-{$id}\" style=\"display : none\">" . strip_tags($line['title']) . "</div>";
$rv['content'] .= "<div class=\"postReply\" id=\"POST-{$id}\">";
$rv['content'] .= "<div class=\"postHeader\" id=\"POSTHDR-{$id}\">";
$entry_author = $line["author"];
if ($entry_author) {
$entry_author = __(" - ") . $entry_author;
}
$parsed_updated = make_local_datetime($link, $line["updated"], true, $owner_uid, true);
$rv['content'] .= "<div class=\"postDate\">{$parsed_updated}</div>";
if ($line["link"]) {
$rv['content'] .= "<div class='postTitle'><a target='_blank'\n\t\t\t\t\ttitle=\"" . htmlspecialchars($line['title']) . "\"\n\t\t\t\t\thref=\"" . htmlspecialchars($line["link"]) . "\">" . $line["title"] . "<span class='author'>{$entry_author}</span></a></div>";
} else {
$rv['content'] .= "<div class='postTitle'>" . $line["title"] . "{$entry_author}</div>";
}
$tags_str = format_tags_string($line["tags"], $id);
$tags_str_full = join(", ", $line["tags"]);
if (!$tags_str_full) {
$tags_str_full = __("no tags");
}
if (!$entry_comments) {
$entry_comments = " ";
}
# placeholder
$rv['content'] .= "<div class='postTags' style='float : right'>\n\t\t\t\t<img src='" . theme_image($link, 'images/tag.png') . "'\n\t\t\t\tclass='tagsPic' alt='Tags' title='Tags'> ";
if (!$zoom_mode) {
$rv['content'] .= "<span id=\"ATSTR-{$id}\">{$tags_str}</span>\n\t\t\t\t\t<a title=\"" . __('Edit tags for this article') . "\"\n\t\t\t\t\thref=\"#\" onclick=\"editArticleTags({$id}, {$feed_id})\">(+)</a>";
$rv['content'] .= "<div dojoType=\"dijit.Tooltip\"\n\t\t\t\t\tid=\"ATSTRTIP-{$id}\" connectId=\"ATSTR-{$id}\"\n\t\t\t\t\tposition=\"below\">{$tags_str_full}</div>";
global $pluginhost;
foreach ($pluginhost->get_hooks($pluginhost::HOOK_ARTICLE_BUTTON) as $p) {
$rv['content'] .= $p->hook_article_button($line);
}
} else {
$tags_str = strip_tags($tags_str);
$rv['content'] .= "<span id=\"ATSTR-{$id}\">{$tags_str}</span>";
}
$rv['content'] .= "</div>";
$rv['content'] .= "<div clear='both'>{$entry_comments}</div>";
if ($line["orig_feed_id"]) {
$tmp_result = db_query($link, "SELECT * FROM ttrss_archived_feeds\n\t\t\t\t\tWHERE id = " . $line["orig_feed_id"]);
if (db_num_rows($tmp_result) != 0) {
$rv['content'] .= "<div clear='both'>";
$rv['content'] .= __("Originally from:");
$rv['content'] .= " ";
$tmp_line = db_fetch_assoc($tmp_result);
$rv['content'] .= "<a target='_blank'\n\t\t\t\t\t\thref=' " . htmlspecialchars($tmp_line['site_url']) . "'>" . $tmp_line['title'] . "</a>";
$rv['content'] .= " ";
$rv['content'] .= "<a target='_blank' href='" . htmlspecialchars($tmp_line['feed_url']) . "'>";
$rv['content'] .= "<img title='" . __('Feed URL') . "'class='tinyFeedIcon' src='images/pub_set.svg'></a>";
$rv['content'] .= "</div>";
}
}
$rv['content'] .= "</div>";
$rv['content'] .= "<div id=\"POSTNOTE-{$id}\">";
//.........这里部分代码省略.........
开发者ID:rclsilver,项目名称:openshift-tt-rss,代码行数:101,代码来源:functions.php
示例4: format_headlines_list
//.........这里部分代码省略.........
$line['lang'] = 'en';
}
$reply['content'] .= "<div class=\"cdmContentInner\" lang=\"" . $line['lang'] . "\">";
if ($line["orig_feed_id"]) {
$tmp_result = $this->dbh->query("SELECT * FROM ttrss_archived_feeds\n\t\t\t\t\tWHERE id = " . $line["orig_feed_id"]);
if ($this->dbh->num_rows($tmp_result) != 0) {
$reply['content'] .= "<div clear='both'>";
$reply['content'] .= __("Originally from:");
$reply['content'] .= " ";
$tmp_line = $this->dbh->fetch_assoc($tmp_result);
$reply['content'] .= "<a target='_blank'\n\t\t\t\t\t\t\t\thref=' " . htmlspecialchars($tmp_line['site_url']) . "'>" . $tmp_line['title'] . "</a>";
$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.png'></a>";
$reply['content'] .= "</div>";
}
}
$reply['content'] .= "<span id=\"CWRAP-{$id}\">";
// if (!$expand_cdm) {
$reply['content'] .= "<span id=\"CENCW-{$id}\" style=\"display : none\">";
$reply['content'] .= htmlspecialchars($line["content"]);
$reply['content'] .= "</span.";
// } else {
// $reply['content'] .= $line["content"];
// }
$reply['content'] .= "</span>";
$always_display_enclosures = sql_bool_to_bool($line["always_display_enclosures"]);
$reply['content'] .= format_article_enclosures($id, $always_display_enclosures, $line["content"], sql_bool_to_bool($line["hide_images"]));
$reply['content'] .= "</div>";
$reply['content'] .= "<div class=\"cdmFooter\">";
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_ARTICLE_LEFT_BUTTON) as $p) {
$reply['content'] .= $p->hook_article_left_button($line);
}
$tags_str = format_tags_string($tags, $id);
$reply['content'] .= "<img src='images/tag.png' alt='Tags' title='Tags'>\n\t\t\t\t\t\t<span id=\"ATSTR-{$id}\">{$tags_str}</span>\n\t\t\t\t\t\t<a title=\"" . __('Edit tags for this article') . "\"\n\t\t\t\t\t\thref=\"#\" onclick=\"editArticleTags({$id})\">(+)</a>";
$num_comments = $line["num_comments"];
$entry_comments = "";
if ($num_comments > 0) {
if ($line["comments"]) {
$comments_url = htmlspecialchars($line["comments"]);
} else {
$comments_url = htmlspecialchars($line["link"]);
}
$entry_comments = "<a class=\"postComments\"\n\t\t\t\t\t\t\ttarget='_blank' href=\"{$comments_url}\">{$num_comments} " . _ngettext("comment", "comments", $num_comments) . "</a>";
} else {
if ($line["comments"] && $line["link"] != $line["comments"]) {
$entry_comments = "<a class=\"postComments\" target='_blank' href=\"" . htmlspecialchars($line["comments"]) . "\">" . __("comments") . "</a>";
}
}
if ($entry_comments) {
$reply['content'] .= " ({$entry_comments})";
}
$reply['content'] .= "<div style=\"float : right\">";
// $reply['content'] .= "$marked_pic";
// $reply['content'] .= "$published_pic";
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_ARTICLE_BUTTON) as $p) {
$reply['content'] .= $p->hook_article_button($line);
}
$reply['content'] .= "</div>";
$reply['content'] .= "</div>";
$reply['content'] .= "</div>";
$reply['content'] .= "</div>";
}
++$lnum;
}
if ($_REQUEST["debug"]) {
开发者ID:zamentur,项目名称:ttrss_ynh,代码行数:67,代码来源:feeds.php
示例5: outputHeadlinesList
//.........这里部分代码省略.........
print sanitize_rss($link, $line["content_preview"]);
$article_content = $line["content_preview"];
$e_result = db_query($link, "SELECT * FROM ttrss_enclosures WHERE\n\t\t\t\t\t\tpost_id = '{$id}' AND content_url != ''");
if (db_num_rows($e_result) > 0) {
$entries_html = array();
$entries = array();
while ($e_line = db_fetch_assoc($e_result)) {
$url = $e_line["content_url"];
$ctype = $e_line["content_type"];
if (!$ctype) {
$ctype = __("unknown type");
}
$filename = substr($url, strrpos($url, "/") + 1);
$entry = format_inline_player($link, $url, $ctype);
$entry .= " <a target=\"_blank\" href=\"" . htmlspecialchars($url) . "\">" . $filename . " (" . $ctype . ")" . "</a>";
array_push($entries_html, $entry);
$entry = array();
$entry["type"] = $ctype;
$entry["filename"] = $filename;
$entry["url"] = $url;
array_push($entries, $entry);
}
$tmp_result = db_query($link, "SELECT always_display_enclosures FROM\n\t\t\t\t\tttrss_feeds WHERE id = " . $line['feed_id'] . " AND owner_uid = " . $_SESSION["uid"]);
$always_display_enclosures = db_fetch_result($tmp_result, 0, "always_display_enclosures");
if (!get_pref($link, "STRIP_IMAGES")) {
if ($always_display_enclosures || !preg_match("/img/i", $article_content)) {
foreach ($entries as $entry) {
if (preg_match("/image/", $entry["type"]) || preg_match("/\\.(jpg|png|gif|bmp)/i", $entry["filename"])) {
print "<p><img \n\t\t\t\t\t\t\t\t\talt=\"" . htmlspecialchars($entry["filename"]) . "\"\n\t\t\t\t\t\t\t\t\tsrc=\"" . htmlspecialchars($entry["url"]) . "\"></p>";
}
}
}
}
print "<div class=\"cdmEnclosures\">";
if (db_num_rows($e_result) == 1) {
print __("Attachment:") . " ";
} else {
print __("Attachments:") . " ";
}
print join(", ", $entries_html);
print "</div>";
}
print "<br clear='both'>";
// print "</div>";
/* if (!$expand_cdm) {
print "<a id=\"CICH-$id\"
href=\"javascript:cdmExpandArticle($id)\">
Show article</a>";
} */
print "</div>";
print "<div class=\"cdmFooter\"><span class='s0'>";
/* print "<div class=\"markedPic\">Star it: $marked_pic</div>"; */
print __("Select:") . " <input type=\"checkbox\" onclick=\"toggleSelectRowById(this, \n\t\t\t\t\t\t\t'RROW-{$id}')\" class=\"feedCheckBox\" id=\"RCHK-{$id}\">";
print "</span><span class='s1'>{$marked_pic} ";
print "{$published_pic} ";
print "<img src=\"images/art-zoom.png\" class='tagsPic' \n\t\t\t\t\t\tonclick=\"zoomToArticle({$id})\"\n\t\t\t\t\t\tstyle=\"cursor : pointer\"\n\t\t\t\t\t\talt='Zoom' \n\t\t\t\t\t\ttitle='" . __('Show article summary in new window') . "'> ";
$note_escaped = htmlspecialchars($line['note'], ENT_QUOTES);
print "<img src=\"images/art-pub-note.png\" class='tagsPic' \n\t\t\t\t\t\tstyle=\"cursor : pointer\" style=\"cursor : pointer\"\n\t\t\t\t\t\tonclick=\"publishWithNote({$id}, '{$note_escaped}')\"\n\t\t\t\t\t\talt='PubNote' title='" . __('Publish article with a note') . "'>";
print "</span>";
$tags_str = format_tags_string(get_article_tags($link, $id), $id);
print "<span class='s1'>\n\t\t\t\t\t\t<img class='tagsPic' src='" . theme_image($link, 'images/tag.png') . "' alt='Tags' title='Tags'>\n\t\t\t\t\t\t<span id=\"ATSTR-{$id}\">{$tags_str}</span>\n\t\t\t\t\t\t<a title=\"" . __('Edit tags for this article') . "\" \n\t\t\t\t\t\thref=\"javascript:editArticleTags({$id}, {$feed_id}, true)\">(+)</a>";
print "</span>";
print "<span class='s2'><a class=\"cdmToggleLink\"\n\t\t\t\t\t\t\thref=\"javascript:toggleUnread({$id})\">\n\t\t\t\t\t\t\t" . __('toggle unread') . "</a></span>";
print "</div>";
print "</div>";
}
++$lnum;
}
if (!get_pref($link, 'COMBINED_DISPLAY_MODE') && !$offset) {
print "</table>";
}
} else {
$message = "";
switch ($view_mode) {
case "unread":
$message = __("No unread articles found to display.");
break;
case "updated":
$message = __("No updated articles found to display.");
break;
case "marked":
$message = __("No starred articles found to display.");
break;
default:
if ($feed < -10) {
$message = __("No articles found to display. You can assign articles to labels manually (see the Actions menu above) or use a filter.");
} else {
$message = __("No articles found to display.");
}
}
if (!$offset) {
print "<div class='whiteBox'>{$message}</div>";
}
}
if (!$offset) {
print "</div>";
print "</div>";
}
return array($topmost_article_ids, $headlines_count, $feed, $disable_cache, $vgroup_last_feed);
}
开发者ID:wangroot,项目名称:Tiny-Tiny-RSS,代码行数:101,代码来源:functions.php
示例6: format_article
function format_article($id, $mark_as_read = true, $zoom_mode = false, $owner_uid = false)
{
if (!$owner_uid) {
$owner_uid = $_SESSION["uid"];
}
$rv = array();
$rv['id'] = $id;
/* we can figure out feed_id from article id anyway, why do we
* pass feed_id here? let's ignore the argument :(*/
$result = db_query("SELECT feed_id FROM ttrss_user_entries\n\t\t\tWHERE ref_id = '{$id}'");
$feed_id = (int) db_fetch_result($result, 0, "feed_id");
$rv['feed_id'] = $feed_id;
//if (!$zoom_mode) { print "<article id='$id'><![CDATA["; };
if ($mark_as_read) {
$result = db_query("UPDATE ttrss_user_entries\n\t\t\t\tSET unread = false,last_read = NOW()\n\t\t\t\tWHERE ref_id = '{$id}' AND owner_uid = {$owner_uid}");
ccache_update($feed_id, $owner_uid);
}
$result = db_query("SELECT id,title,link,content,feed_id,comments,int_id,\n\t\t\t" . SUBSTRING_FOR_DATE . "(updated,1,16) as updated,\n\t\t\t(SELECT site_url FROM ttrss_feeds WHERE id = feed_id) as site_url,\n\t\t\t(SELECT hide_images FROM ttrss_feeds WHERE id = feed_id) as hide_images,\n\t\t\t(SELECT always_display_enclosures FROM ttrss_feeds WHERE id = feed_id) as always_display_enclosures,\n\t\t\tnum_comments,\n\t\t\ttag_cache,\n\t\t\tauthor,\n\t\t\torig_feed_id,\n\t\t\tnote\n\t\t\tFROM ttrss_entries,ttrss_user_entries\n\t\t\tWHERE\tid = '{$id}' AND ref_id = id AND owner_uid = {$owner_uid}");
if ($result) {
$line = db_fetch_assoc($result);
$tag_cache = $line["tag_cache"];
$line["tags"] = get_article_tags($id, $owner_uid, $line["tag_cache"]);
unset($line["tag_cache"]);
$line["content"] = sanitize($line["content"], sql_bool_to_bool($line['hide_images']), $owner_uid, $line["site_url"]);
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_RENDER_ARTICLE) as $p) {
$line = $p->hook_render_article($line);
}
$num_comments = $line["num_comments"];
$entry_comments = "";
if ($num_comments > 0) {
if ($line["comments"]) {
$comments_url = htmlspecialchars($line["comments"]);
} else {
$comments_url = htmlspecialchars($line["link"]);
}
$entry_comments = "<a target='_blank' href=\"{$comments_url}\">{$num_comments} comments</a>";
} else {
if ($line["comments"] && $line["link"] != $line["comments"]) {
$entry_comments = "<a target='_blank' href=\"" . htmlspecialchars($line["comments"]) . "\">comments</a>";
}
}
if ($zoom_mode) {
header("Content-Type: text/html");
$rv['content'] .= "<html><head>\n\t\t\t\t\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n\t\t\t\t\t\t<title>Tiny Tiny RSS - " . $line["title"] . "</title>\n\t\t\t\t\t\t<link rel=\"stylesheet\" type=\"text/css\" href=\"css/tt-rss.css\">\n\t\t\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\t\tfunction openSelectedAttachment(elem) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tvar url = elem[elem.selectedIndex].value;\n\n\t\t\t\t\t\t\t\tif (url) {\n\t\t\t\t\t\t\t\t\twindow.open(url);\n\t\t\t\t\t\t\t\t\telem.selectedIndex = 0;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\texception_error(\"openSelectedAttachment\", e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t</script>\n\t\t\t\t\t</head><body id=\"ttrssZoom\">";
}
$rv['content'] .= "<div class=\"postReply\" id=\"POST-{$id}\">";
$rv['content'] .= "<div class=\"postHeader\" id=\"POSTHDR-{$id}\">";
$entry_author = $line["author"];
if ($entry_author) {
$entry_author = __(" - ") . $entry_author;
}
$parsed_updated = make_local_datetime($line["updated"], true, $owner_uid, true);
$rv['content'] .= "<div class=\"postDate\">{$parsed_updated}</div>";
if ($line["link"]) {
$rv['content'] .= "<div class='postTitle'><a target='_blank'\n\t\t\t\t\ttitle=\"" . htmlspecialchars($line['title']) . "\"\n\t\t\t\t\thref=\"" . htmlspecialchars($line["link"]) . "\">" . $line["title"] . "</a>" . "<span class='author'>{$entry_author}</span></div>";
} else {
$rv['content'] .= "<div class='postTitle'>" . $line["title"] . "{$entry_author}</div>";
}
$tags_str = format_tags_string($line["tags"], $id);
$tags_str_full = join(", ", $line["tags"]);
if (!$tags_str_full) {
$tags_str_full = __("no tags");
}
if (!$entry_comments) {
$entry_comments = " ";
}
# placeholder
$rv['content'] .= "<div class='postTags' style='float : right'>\n\t\t\t\t<img src='images/tag.png'\n\t\t\t\tclass='tagsPic' alt='Tags' title='Tags'> ";
if (!$zoom_mode) {
$rv['content'] .= "<span id=\"ATSTR-{$id}\">{$tags_str}</span>\n\t\t\t\t\t<a title=\"" . __('Edit tags for this article') . "\"\n\t\t\t\t\thref=\"#\" onclick=\"editArticleTags({$id}, {$feed_id})\">(+)</a>";
$rv['content'] .= "<div dojoType=\"dijit.Tooltip\"\n\t\t\t\t\tid=\"ATSTRTIP-{$id}\" connectId=\"ATSTR-{$id}\"\n\t\t\t\t\tposition=\"below\">{$tags_str_full}</div>";
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_ARTICLE_BUTTON) as $p) {
$rv['content'] .= $p->hook_article_button($line);
}
} else {
$tags_str = strip_tags($tags_str);
$rv['content'] .= "<span id=\"ATSTR-{$id}\">{$tags_str}</span>";
}
$rv['content'] .= "</div>";
$rv['content'] .= "<div clear='both'>";
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_ARTICLE_LEFT_BUTTON) as $p) {
$rv['content'] .= $p->hook_article_left_button($line);
}
$rv['content'] .= "{$entry_comments}</div>";
if ($line["orig_feed_id"]) {
$tmp_result = db_query("SELECT * FROM ttrss_archived_feeds\n\t\t\t\t\tWHERE id = " . $line["orig_feed_id"]);
if (db_num_rows($tmp_result) != 0) {
$rv['content'] .= "<div clear='both'>";
$rv['content'] .= __("Originally from:");
$rv['content'] .= " ";
$tmp_line = db_fetch_assoc($tmp_result);
$rv['content'] .= "<a target='_blank'\n\t\t\t\t\t\thref=' " . htmlspecialchars($tmp_line['site_url']) . "'>" . $tmp_line['title'] . "</a>";
$rv['content'] .= " ";
$rv['content'] .= "<a target='_blank' href='" . htmlspecialchars($tmp_line['feed_url']) . "'>";
$rv['content'] .= "<img title='" . __('Feed URL') . "'class='tinyFeedIcon' src='images/pub_set.svg'></a>";
$rv['content'] .= "</div>";
}
}
$rv['content'] .= "</div>";
$rv['content'] .= "<div id=\"POSTNOTE-{$id}\">";
//.........这里部分代码省略.........
开发者ID:cs-team,项目名称:tiny_tiny_rss-openshift-quickstart,代码行数:101,代码来源:functions.php
注:本文中的format_tags_string函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论