} else if ($mode == "zoom") {
array_push($articles, format_article($link, $id, false, true, true));
} else if ($mode == "raw") {
- if ($_REQUEST['html']) header("Content-Type: text/html");
+ if ($_REQUEST['html']) {
+ header("Content-Type: text/html");
+ print '<link rel="stylesheet" type="text/css" href="tt-rss.css"/>';
+ }
$article = format_article($link, $id, false);
- print $article['id'] . "\n\n";
print $article['content'];
return;
} else {
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<xsl:output method="html"/>
+
+<xsl:template match="/atom:feed">
+<html>
+ <head>
+ <title><xsl:value-of select="atom:title"/></title>
+ <link rel="stylesheet" type="text/css" href="utility.css"/>
+ <script language="javascript" src="lib/xsl_mop-up.js"></script>
+ </head>
+
+ <body onload="go_decoding()">
+
+ <div id="cometestme" style="display:none;">
+ <xsl:text disable-output-escaping="yes">&amp;</xsl:text>
+ </div>
+
+ <div class="rss">
+
+ <img class="feedicon" src="images/feed-icon-64x64.png" alt="feed icon"/>
+
+ <h1><xsl:value-of select="atom:title"/></h1>
+
+ <p class="description">This feed has been exported from
+ <a target="_new" class="extlink" href="http://tt-rss.org">Tiny Tiny RSS</a>.
+ You need a news reader software to subscribe to it.
+ It contains the following items:</p>
+
+ <xsl:for-each select="atom:entry">
+ <h2><a target="_new" href="{atom:link/@href}"><xsl:value-of select="atom:title"/></a></h2>
+
+ <div name="decodeme" class="content">
+ <xsl:value-of select="atom:content" disable-output-escaping="yes"/>
+ </div>
+
+ <xsl:if test="enclosure">
+ <p><a href="{enclosure/@url}">Extra...</a></p>
+ </xsl:if>
+
+ <hr/>
+
+ </xsl:for-each>
+
+ </div>
+
+ </body>
+ </html>
+</xsl:template>
+
+</xsl:stylesheet>
+
return "even";
}
+ // Session caching removed due to causing wrong redirects to upgrade
+ // script when get_schema_version() is called on an obsolete session
+ // created on a previous schema version.
function get_schema_version($link, $nocache = false) {
- if (!$_SESSION["schema_version"] || $nocache) {
+// if (!$_SESSION["schema_version"] || $nocache) {
$result = db_query($link, "SELECT schema_version FROM ttrss_version");
$version = db_fetch_result($result, 0, "schema_version");
$_SESSION["schema_version"] = $version;
return $version;
- } else {
- return $_SESSION["schema_version"];
- }
+// } else {
+// return $_SESSION["schema_version"];
+// }
}
function sanity_check($link) {
require_once "lib/MiniTemplator.class.php";
- $note_style = "float : right; background-color : #fff7d5; border-width : 1px; ".
+ $note_style = "background-color : #fff7d5;
+ border-width : 1px; ".
"padding : 5px; border-style : dashed; border-color : #e7d796;".
"margin-bottom : 1em; color : #9a8c59;";
$content = sanitize_rss($link, $line["content_preview"], false, $owner_uid);
if ($line['note']) {
- $content = "<div style=\"$note_style\">" . $line['note'] . "</div>" .
+ $content = "<div style=\"$note_style\">Article note: " . $line['note'] . "</div>" .
$content;
}
$rv['content'] .= "</div>";
- $rv['content'] .= "<div class=\"postIcon\">" .
- "<a target=\"_blank\" title=\"".__("Visit the website")."\"$
- href=\"".htmlspecialchars($feed_site_url)."\">".
- $feed_icon . "</a></div>";
-
$rv['content'] .= "<div id=\"POSTNOTE-$id\">";
if ($line['note']) {
$rv['content'] .= format_article_note($id, $line['note']);
}
$rv['content'] .= "</div>";
+ $rv['content'] .= "<div class=\"postIcon\">" .
+ "<a target=\"_blank\" title=\"".__("Visit the website")."\"$
+ href=\"".htmlspecialchars($feed_site_url)."\">".
+ $feed_icon . "</a></div>";
+
$rv['content'] .= "<div class=\"postContent\">";
$article_content = sanitize_rss($link, $line["content"], false, false,
function format_article_note($id, $note) {
- $str = "<div class='articleNote' title=\"".__('edit note')."\"
- onclick=\"editArticleNote($id)\">$note</div>";
+ $str = "<div class='articleNote' onclick=\"editArticleNote($id)\">
+ <div class='noteEdit' onclick=\"editArticleNote($id)\">".
+ __('(edit note)')."</div>$note</div>";
return $str;
}
if ($subop == "setNote") {
$id = db_escape_string($_REQUEST["id"]);
- $note = strip_tags(db_escape_string($_REQUEST["note"]));
+ $note = trim(strip_tags(db_escape_string($_REQUEST["note"])));
db_query($link, "UPDATE ttrss_user_entries SET note = '$note'
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
$formatted_note = format_article_note($id, $note);
- print json_encode(array("note" => $formatted_note));
+ print json_encode(array("note" => $formatted_note,
+ "raw_length" => mb_strlen($note)));
return;
}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<xsl:output method="html"/>
-
-<xsl:template match="/">
-<html>
- <head>
- <title><xsl:value-of select="rss/channel/title"/></title>
- <link rel="stylesheet" type="text/css" href="utility.css"/>
- <script language="javascript" src="lib/xsl_mop-up.js"></script>
- </head>
-
- <body onload="go_decoding()">
-
- <div id="cometestme" style="display:none;">
- <xsl:text disable-output-escaping="yes">&amp;</xsl:text>
- </div>
-
- <div class="rss">
-
- <img class="feedicon" src="images/feed-icon-64x64.png" alt="feed icon"/>
-
- <h1><xsl:value-of select="rss/channel/title"/></h1>
-
- <p class="description">This is an RSS feed exported from
- <a target="_new" class="extlink" href="http://tt-rss.org">Tiny Tiny RSS</a>.
- You must install a news aggregator to subscribe to it.
- This feed contains the following items:</p>
-
- <!-- <p class="description"><xsl:value-of
- select="rss/channel/description"/></p> -->
-
- <xsl:for-each select="rss/channel/item">
- <h2><a target="_new" href="{link}"><xsl:value-of select="title"/></a></h2>
-
- <!-- <div><a class="extlink" target="_new"
- href="{link}"><xsl:value-of select="link"/></a></div> -->
-
- <div name="decodeme" class="content">
- <xsl:value-of select="description" disable-output-escaping="yes"/>
- </div>
-
- <xsl:if test="enclosure">
- <p><a href="{enclosure/@url}">Extra...</a></p>
- </xsl:if>
-
- <hr/>
-
- </xsl:for-each>
-
- </div>
-
- </body>
- </html>
-</xsl:template>
-
-</xsl:stylesheet>
-
<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet type="text/xsl" href="feed.xsl"?>
<!-- $BeginBlock feed -->
<feed xmlns="http://www.w3.org/2005/Atom">
<title>${FEED_TITLE}</title>
div.articleNote {
background-color : #fff7d5;
- border-width : 1px;
padding : 5px;
- border-style : dashed;
+ border-style : none none dashed none;
border-color : #e7d796;
- font-size : 11px;
- margin-left : 5px;
- margin-top : 5px;
- float : right;
+ border-width : 1px;
+ background-color : #fff7d5;
color : #9a8c59;
- max-width : 150px;
- text-align : justify;
+}
+
+div.articleNote div.noteEdit {
+ float : right;
+ cursor : pointer;
}
div.postReply span.author {
clear : both;
}
-span.prefsLabelEntry {
- padding : 2px;
-}
-
span.labelColorIndicator {
height : 14px;
width : 14px;
margin-right : 10px;
}
-div.colorPicker div.colorPickerEntry:hover {
- border : 1px solid #88b0f0;
-}
-
-div.colorPicker div.ccPrompt:hover {
- color : black;
-}
-
-div.colorPicker div.colorPickerEntry {
- height : 15px;
- width : 15px;
- line-height : 13px;
- font-height : 9px;
- text-align : center;
- border : 1px solid black;
- margin : 5px 5px 0px 0px;
- float : left;
-}
-
-div.colorPicker {
- border : 1px solid #cccccc;
- background : #f0f0f0;
- width : 110px;
- padding : 0px 0px 5px 5px;
- position : absolute;
- left : auto;
- top : auto;
- z-index : 3;
- color : #909090;
-}
-
optgroup {
color : #4684ff;
font-style : normal;
font-weight : bold;
}
-/* div#feedTree {
- font-size : 11px;
- font-family : "Lucida Grande", "Segoe UI", Tahoma, Arial, sans-serif;
-} */
-
-
#pref-filter-wrap, #pref-filter-header, #pref-filter-content,
#pref-label-wrap, #pref-label-header, #pref-label-content,
#pref-user-wrap, #pref-user-header, #pref-user-content {
if (elem) {
Element.hide(elem);
elem.innerHTML = reply.note;
- new Effect.Appear(elem);
+
+ if (reply.raw_length != 0)
+ new Effect.Appear(elem);
}
}});