summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--functions.php138
-rwxr-xr-ximages/art-pub-note.pngbin0 -> 346 bytes
-rw-r--r--locale/fr_FR/LC_MESSAGES/messages.mobin27419 -> 27668 bytes
-rw-r--r--locale/fr_FR/LC_MESSAGES/messages.po40
-rw-r--r--locale/hu_HU/LC_MESSAGES/messages.mobin9917 -> 9917 bytes
-rw-r--r--locale/hu_HU/LC_MESSAGES/messages.po32
-rw-r--r--locale/it_IT/LC_MESSAGES/messages.mobin39806 -> 39373 bytes
-rw-r--r--locale/it_IT/LC_MESSAGES/messages.po54
-rw-r--r--locale/ja_JP/LC_MESSAGES/messages.mobin32406 -> 32804 bytes
-rw-r--r--locale/ja_JP/LC_MESSAGES/messages.po46
-rw-r--r--locale/nb_NO/LC_MESSAGES/messages.mobin48777 -> 48723 bytes
-rw-r--r--locale/nb_NO/LC_MESSAGES/messages.po82
-rw-r--r--locale/pt_BR/LC_MESSAGES/messages.mobin10525 -> 10916 bytes
-rw-r--r--locale/pt_BR/LC_MESSAGES/messages.po49
-rw-r--r--locale/ru_RU/LC_MESSAGES/messages.mobin54128 -> 54151 bytes
-rw-r--r--locale/ru_RU/LC_MESSAGES/messages.po64
-rw-r--r--locale/zh_CN/LC_MESSAGES/messages.mobin20230 -> 20469 bytes
-rw-r--r--locale/zh_CN/LC_MESSAGES/messages.po48
-rw-r--r--modules/backend-rpc.php29
-rw-r--r--modules/pref-feeds.php31
-rw-r--r--sanity_check.php2
-rw-r--r--schema/ttrss_schema_mysql.sql3
-rw-r--r--schema/ttrss_schema_pgsql.sql3
-rw-r--r--schema/versions/mysql/55.sql7
-rw-r--r--schema/versions/pgsql/55.sql7
-rw-r--r--tt-rss.css33
-rw-r--r--tt-rss.php39
-rw-r--r--version.php2
-rw-r--r--viewfeed.js61
29 files changed, 503 insertions, 267 deletions
diff --git a/functions.php b/functions.php
index 648ab3438..4c867f26c 100644
--- a/functions.php
+++ b/functions.php
@@ -395,10 +395,14 @@
$faviconURL = $urlParts['scheme'].'://'.$urlParts['host'].$linkUrl;
} else if (substr($linkUrl, 0, 7) == 'http://') {
$faviconURL = $linkUrl;
- } else if (substr($url, -1, 1) == '/') {
- $faviconURL = $url.$linkUrl;
} else {
- $faviconURL = $url.'/'.$linkUrl;
+ $pos = strrpos($url, "/");
+ // no "/" in url or "/" is part of "://"
+ if ($pos === false || $pos == (strpos($url, "://")+2)) {
+ $faviconURL = $url.'/'.$linkUrl;
+ } else {
+ $faviconURL = substr($url, 0, $pos+1).$linkUrl;
+ }
}
} else {
@@ -454,7 +458,7 @@
$http_response = fgets( $socket, 22 );
- $responses = "/(200 OK)|(30[0-9] Moved)/";
+ $responses = "/(200 OK)|(30[123])/";
if ( preg_match($responses, $http_response) ) {
fclose($socket);
return true;
@@ -1380,7 +1384,7 @@
if (defined('DAEMON_EXTENDED_DEBUG') || $_GET['xdebug']) {
_debug("update_rss_feed: new feed, catching it up...");
}
- catchup_feed($link, $feed, false);
+ catchup_feed($link, $feed, false, $owner_uid);
}
if (!$hidden) {
@@ -2116,7 +2120,9 @@
}
}
- function catchup_feed($link, $feed, $cat_view) {
+ function catchup_feed($link, $feed, $cat_view, $owner_uid) {
+
+ if (!$owner_uid) $owner_uid = $_SESSION['uid'];
if (preg_match("/^-?[0-9][0-9]*$/", $feed) != false) {
@@ -2131,8 +2137,7 @@
}
$tmp_result = db_query($link, "SELECT id
- FROM ttrss_feeds WHERE $cat_qpart AND owner_uid = " .
- $_SESSION["uid"]);
+ FROM ttrss_feeds WHERE $cat_qpart AND owner_uid = $owner_uid");
while ($tmp_line = db_fetch_assoc($tmp_result)) {
@@ -2140,7 +2145,7 @@
db_query($link, "UPDATE ttrss_user_entries
SET unread = false,last_read = NOW()
- WHERE feed_id = '$tmp_feed' AND owner_uid = " . $_SESSION["uid"]);
+ WHERE feed_id = '$tmp_feed' AND owner_uid = $owner_uid");
}
} else if ($feed == -2) {
@@ -2148,7 +2153,7 @@
db_query($link, "UPDATE ttrss_user_entries
SET unread = false,last_read = NOW() WHERE (SELECT COUNT(*)
FROM ttrss_user_labels2 WHERE article_id = ref_id) > 0
- AND unread = true AND owner_uid = " . $_SESSION["uid"]);
+ AND unread = true AND owner_uid = $owner_uid");
}
} else if ($feed > 0) {
@@ -2169,12 +2174,12 @@
db_query($link, "UPDATE ttrss_user_entries
SET unread = false,last_read = NOW()
WHERE (feed_id = '$feed' OR $children_qpart)
- AND owner_uid = " . $_SESSION["uid"]);
+ AND owner_uid = $owner_uid");
} else {
db_query($link, "UPDATE ttrss_user_entries
SET unread = false,last_read = NOW()
- WHERE feed_id = '$feed' AND owner_uid = " . $_SESSION["uid"]);
+ WHERE feed_id = '$feed' AND owner_uid = $owner_uid");
}
} else if ($feed < 0 && $feed > -10) { // special, like starred
@@ -2182,13 +2187,13 @@
if ($feed == -1) {
db_query($link, "UPDATE ttrss_user_entries
SET unread = false,last_read = NOW()
- WHERE marked = true AND owner_uid = ".$_SESSION["uid"]);
+ WHERE marked = true AND owner_uid = $owner_uid");
}
if ($feed == -2) {
db_query($link, "UPDATE ttrss_user_entries
SET unread = false,last_read = NOW()
- WHERE published = true AND owner_uid = ".$_SESSION["uid"]);
+ WHERE published = true AND owner_uid = $owner_uid");
}
if ($feed == -3) {
@@ -2206,7 +2211,7 @@
ttrss_user_entries WHERE $match_part AND
unread = true AND
ttrss_user_entries.ref_id = ttrss_entries.id AND
- owner_uid = ".$_SESSION["uid"]);
+ owner_uid = $owner_uid");
$affected_ids = array();
@@ -2220,7 +2225,7 @@
if ($feed == -4) {
db_query($link, "UPDATE ttrss_user_entries
SET unread = false,last_read = NOW()
- WHERE owner_uid = ".$_SESSION["uid"]);
+ WHERE owner_uid = $owner_uid");
}
} else if ($feed < -10) { // label
@@ -2230,11 +2235,11 @@
db_query($link, "UPDATE ttrss_user_entries, ttrss_user_labels2
SET unread = false, last_read = NOW()
WHERE label_id = '$label_id' AND unread = true
- AND owner_uid = '".$_SESSION["uid"]."' AND ref_id = article_id");
+ AND owner_uid = '$owner_uid' AND ref_id = article_id");
}
- ccache_update($link, $feed, $_SESSION["uid"], $cat_view);
+ ccache_update($link, $feed, $owner_uid, $cat_view);
} else { // tag
db_query($link, "BEGIN");
@@ -2242,7 +2247,7 @@
$tag_name = db_escape_string($feed);
$result = db_query($link, "SELECT post_int_id FROM ttrss_tags
- WHERE tag_name = '$tag_name' AND owner_uid = " . $_SESSION["uid"]);
+ WHERE tag_name = '$tag_name' AND owner_uid = $owner_uid");
while ($line = db_fetch_assoc($result)) {
db_query($link, "UPDATE ttrss_user_entries SET
@@ -3401,6 +3406,7 @@
guid,
ttrss_entries.id,ttrss_entries.title,
updated,
+ note,
unread,feed_id,marked,published,link,last_read,
".SUBSTRING_FOR_DATE."(last_read,1,19) as last_read_noms,
$vfeed_query_part
@@ -3431,6 +3437,7 @@
$result = db_query($link, "SELECT
guid,
+ note,
ttrss_entries.id as id,title,
updated,
unread,feed_id,
@@ -3459,6 +3466,10 @@
function generate_syndicated_feed($link, $owner_uid, $feed, $is_cat,
$limit, $search, $search_mode, $match_on) {
+ $note_style = "background-color : #fff7d5; border-width : 1px; ".
+ "padding : 5px; border-style : dashed; border-color : #e7d796;".
+ "margin-top : 5px; color : #9a8c59;";
+
if (!$limit) $limit = 30;
$qfh_ret = queryFeedHeadlines($link, $feed,
@@ -3498,8 +3509,14 @@
print "<title>" .
htmlspecialchars($line["title"]) . "</title>";
- print "<description><![CDATA[" .
- $line["content_preview"] . "]]></description>";
+ print "<description><![CDATA[";
+ print $line["content_preview"];
+ if ($line["note"]) {
+ print "<div style='$note_style'>";
+ print $line["note"];
+ print "</div>";
+ }
+ print "]]></description>";
print "</item>";
}
@@ -4521,7 +4538,8 @@
".SUBSTRING_FOR_DATE."(updated,1,16) as updated,
(SELECT icon_url FROM ttrss_feeds WHERE id = feed_id) as icon_url,
num_comments,
- author
+ author,
+ note
FROM ttrss_entries,ttrss_user_entries
WHERE id = '$id' AND ref_id = id AND owner_uid = " . $_SESSION["uid"]);
@@ -4595,7 +4613,7 @@
if (!$entry_comments) $entry_comments = "&nbsp;"; # placeholder
print "<div style='float : right'>
- <img src='images/tag.png' class='tagsPic' alt='Tags' title='Tags'>";
+ <img src='images/tag.png' class='tagsPic' alt='Tags' title='Tags'>&nbsp;";
if (!$zoom_mode) {
print "<span id=\"ATSTR-$id\">$tags_str</span>
@@ -4615,6 +4633,14 @@
style=\"cursor : pointer\" style=\"cursor : pointer\"
onclick=\"zoomToArticle($id)\"
alt='Zoom' title='".__('Show article summary in new window')."'>";
+
+ $note_escaped = htmlspecialchars($line['note'], ENT_QUOTES);
+
+ print "<img src=\"images/art-pub-note.png\" class='tagsPic'
+ style=\"cursor : pointer\" style=\"cursor : pointer\"
+ onclick=\"publishWithNote($id, '$note_escaped')\"
+ alt='PubNote' title='".__('Publish article with a note')."'>";
+
}
print "</div>";
print "<div clear='both'>$entry_comments</div>";
@@ -4634,6 +4660,12 @@
print $article_content;
+ print "<div id=\"POSTNOTE-$id\">";
+ if ($line['note']) {
+ print format_article_note($id, $line['note']);
+ }
+ print "</div>";
+
$result = db_query($link, "SELECT * FROM ttrss_enclosures WHERE
post_id = '$id' AND content_url != ''");
@@ -5170,6 +5202,13 @@
// print "<div class=\"cdmInnerContent\" id=\"CICD-$id\" $cdm_cstyle>";
print sanitize_rss($link, $line["content_preview"]);
+
+ print "<div id=\"POSTNOTE-$id\">";
+ if ($line['note']) {
+ print format_article_note($id, $line['note']);
+ }
+ print "</div>";
+
$article_content = $line["content_preview"];
$e_result = db_query($link, "SELECT * FROM ttrss_enclosures WHERE
@@ -5254,13 +5293,22 @@
" <input type=\"checkbox\" onclick=\"toggleSelectRowById(this,
'RROW-$id')\" class=\"feedCheckBox\" id=\"RCHK-$id\">";
- print "</span><span class='s1'>$marked_pic</span> ";
- print "<span class='s1'>$published_pic</span> ";
- print "<span class='s1'><img src=\"images/art-zoom.png\" class='tagsPic'
+ print "</span><span class='s1'>$marked_pic&nbsp;";
+ print "$published_pic&nbsp;";
+ print "<img src=\"images/art-zoom.png\" class='tagsPic'
onclick=\"zoomToArticle($id)\"
style=\"cursor : pointer\"
alt='Zoom'
- title='".__('Show article summary in new window')."'></span>";
+ title='".__('Show article summary in new window')."'>&nbsp;";
+
+ $note_escaped = htmlspecialchars($line['note'], ENT_QUOTES);
+
+ print "<img src=\"images/art-pub-note.png\" class='tagsPic'
+ style=\"cursor : pointer\" style=\"cursor : pointer\"
+ onclick=\"publishWithNote($id, '$note_escaped')\"
+ alt='PubNote' title='".__('Publish article with a note')."'>";
+
+ print "</span>";
$tags_str = format_tags_string(get_article_tags($link, $id), $id);
@@ -5274,9 +5322,9 @@
print "</span>";
- print "<span class='s2'>Toggle: <a class=\"cdmToggleLink\"
+ print "<span class='s2'><a class=\"cdmToggleLink\"
href=\"javascript:toggleUnread($id)\">
- Unread</a></span>";
+ ".__('toggle unread')."</a></span>";
print "</div>";
print "</div>";
@@ -5706,6 +5754,19 @@
value = 0 WHERE owner_uid = '$owner_uid'");
}
+ function ccache_remove($link, $feed_id, $owner_uid, $is_cat = false) {
+
+ if (!$is_cat) {
+ $table = "ttrss_counters_cache";
+ } else {
+ $table = "ttrss_cat_counters_cache";
+ }
+
+ db_query($link, "DELETE FROM $table WHERE
+ feed_id = '$feed_id' AND owner_uid = '$owner_uid'");
+
+ }
+
function ccache_update_all($link, $owner_uid) {
if (get_pref($link, 'ENABLE_FEED_CATS', $owner_uid)) {
@@ -5814,6 +5875,8 @@
$unread = (int) getFeedArticles($link, $feed_id, $is_cat, true, $owner_uid);
}
+ db_query($link, "BEGIN");
+
$result = db_query($link, "SELECT feed_id FROM $table
WHERE owner_uid = '$owner_uid' AND feed_id = '$feed_id' LIMIT 1");
@@ -5829,6 +5892,8 @@
($feed_id, $unread, $owner_uid, NOW())");
}
+ db_query($link, "COMMIT");
+
if ($feed_id > 0 && $prev_unread != $unread) {
if (!$is_cat) {
@@ -6058,4 +6123,19 @@
return $labels_str;
}
+
+ function format_article_note($id, $note) {
+
+ $note_escaped = htmlspecialchars($note, ENT_QUOTES);
+
+ $str = "<div class='articleNote'>";
+ $str .= "<div class='articleNoteOps'>";
+ $str .= "<a href=\"javascript:publishWithNote($id, '$note_escaped')\">".
+ __('edit note')."</a>";
+ $str .= "</div>";
+ $str .= $note;
+ $str .= "</div>";
+
+ return $str;
+ }
?>
diff --git a/images/art-pub-note.png b/images/art-pub-note.png
new file mode 100755
index 000000000..5d3008f26
--- /dev/null
+++ b/images/art-pub-note.png
Binary files differ
diff --git a/locale/fr_FR/LC_MESSAGES/messages.mo b/locale/fr_FR/LC_MESSAGES/messages.mo
index 368077137..380ccc87a 100644
--- a/locale/fr_FR/LC_MESSAGES/messages.mo
+++ b/locale/fr_FR/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/locale/fr_FR/LC_MESSAGES/messages.po b/locale/fr_FR/LC_MESSAGES/messages.po
index d03fe90ba..89ab9f596 100644
--- a/locale/fr_FR/LC_MESSAGES/messages.po
+++ b/locale/fr_FR/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: messages\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-21 22:58+0300\n"
+"POT-Creation-Date: 2009-02-20 15:55+0300\n"
"PO-Revision-Date: 2007-11-20 23:01+0100\n"
"Last-Translator: Thibaut Cousin <[email protected]>\n"
"Language-Team: Français <[email protected]>\n"
@@ -111,16 +111,12 @@ msgid "Unknown error"
msgstr "Erreur inconnue"
#: errors.php:5
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
-msgstr ""
+msgid "This program requires XmlHttpRequest "
+msgstr "Ce logiciel nécessite XmlHttpRequest "
#: errors.php:8
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
-msgstr ""
+msgid "This program requires cookies "
+msgstr "Les cookies doivent être activés pour ce logiciel "
#: errors.php:11
msgid "Backend sanity check failed"
@@ -1853,6 +1849,11 @@ msgstr "Ce flux"
msgid "Create Filter"
msgstr "Créer un filtre"
+#: modules/popup-dialog.php:242 modules/popup-dialog.php:293
+#: modules/pref-filters.php:39 modules/pref-filters.php:96
+msgid "description"
+msgstr "description"
+
#: modules/popup-dialog.php:245 modules/pref-filters.php:42
#: modules/pref-filters.php:402
msgid "Match"
@@ -2212,6 +2213,14 @@ msgstr "Filtre <b>%s</b> créé"
msgid "Create filter"
msgstr "Créer un filtre"
+#: modules/pref-filters.php:392
+msgid "filter_type_descr"
+msgstr ""
+
+#: modules/pref-filters.php:393
+msgid "action_description"
+msgstr ""
+
#: modules/pref-filters.php:404
#, fuzzy
msgid "Field"
@@ -2357,6 +2366,10 @@ msgstr "Sélectionner un thème"
msgid "Change theme"
msgstr "Modifier le thème"
+#: modules/pref-prefs.php:388
+msgid "short_desc"
+msgstr ""
+
#: modules/pref-prefs.php:400 modules/pref-prefs.php:405
msgid "Yes"
msgstr "Oui"
@@ -2746,15 +2759,6 @@ msgstr "Correspondance sur&nbsp;:"
msgid "Internal error: Function not implemented"
msgstr ""
-#~ msgid "This program requires XmlHttpRequest "
-#~ msgstr "Ce logiciel nécessite XmlHttpRequest "
-
-#~ msgid "This program requires cookies "
-#~ msgstr "Les cookies doivent être activés pour ce logiciel "
-
-#~ msgid "description"
-#~ msgstr "description"
-
#~ msgid "display tags"
#~ msgstr "afficher les étiquettes"
diff --git a/locale/hu_HU/LC_MESSAGES/messages.mo b/locale/hu_HU/LC_MESSAGES/messages.mo
index cbe5f001a..1e0813bef 100644
--- a/locale/hu_HU/LC_MESSAGES/messages.mo
+++ b/locale/hu_HU/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/locale/hu_HU/LC_MESSAGES/messages.po b/locale/hu_HU/LC_MESSAGES/messages.po
index a5c42b4ae..ba4acd316 100644
--- a/locale/hu_HU/LC_MESSAGES/messages.po
+++ b/locale/hu_HU/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.2.19\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-21 22:58+0300\n"
+"POT-Creation-Date: 2009-02-20 15:55+0300\n"
"PO-Revision-Date: 2008-02-03 22:22::+0100\n"
"Last-Translator: MiszterX <[email protected]>\n"
"Language-Team: HUNGARIAN <[email protected]>\n"
@@ -111,15 +111,11 @@ msgid "Unknown error"
msgstr "Ismeretlen hiba"
#: errors.php:5
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
+msgid "This program requires XmlHttpRequest "
msgstr ""
#: errors.php:8
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
+msgid "This program requires cookies "
msgstr ""
#: errors.php:11
@@ -1780,6 +1776,12 @@ msgstr "Ez a feed"
msgid "Create Filter"
msgstr "Szárő készítése"
+#: modules/popup-dialog.php:242 modules/popup-dialog.php:293
+#: modules/pref-filters.php:39 modules/pref-filters.php:96
+#, fuzzy
+msgid "description"
+msgstr "Kiválasztottakat"
+
#: modules/popup-dialog.php:245 modules/pref-filters.php:42
#: modules/pref-filters.php:402
msgid "Match"
@@ -2132,6 +2134,14 @@ msgstr ""
msgid "Create filter"
msgstr "Szárő készítése"
+#: modules/pref-filters.php:392
+msgid "filter_type_descr"
+msgstr ""
+
+#: modules/pref-filters.php:393
+msgid "action_description"
+msgstr ""
+
#: modules/pref-filters.php:404
#, fuzzy
msgid "Field"
@@ -2275,6 +2285,10 @@ msgstr "Kinézet választó"
msgid "Change theme"
msgstr "Kinlzet megváltozatása"
+#: modules/pref-prefs.php:388
+msgid "short_desc"
+msgstr ""
+
#: modules/pref-prefs.php:400 modules/pref-prefs.php:405
msgid "Yes"
msgstr "Igen"
@@ -2655,10 +2669,6 @@ msgstr "Egyezés ezzel:"
msgid "Internal error: Function not implemented"
msgstr ""
-#, fuzzy
-#~ msgid "description"
-#~ msgstr "Kiválasztottakat"
-
#~ msgid "Loading help..."
#~ msgstr "Segítség betöltése..."
diff --git a/locale/it_IT/LC_MESSAGES/messages.mo b/locale/it_IT/LC_MESSAGES/messages.mo
index db953c7d4..ac28ccb5f 100644
--- a/locale/it_IT/LC_MESSAGES/messages.mo
+++ b/locale/it_IT/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/locale/it_IT/LC_MESSAGES/messages.po b/locale/it_IT/LC_MESSAGES/messages.po
index e79e38d86..232b75e67 100644
--- a/locale/it_IT/LC_MESSAGES/messages.po
+++ b/locale/it_IT/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ttrss-1.2.30\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-21 22:58+0300\n"
+"POT-Creation-Date: 2009-02-20 15:55+0300\n"
"PO-Revision-Date: 2009-01-03 16:43+0100\n"
"Last-Translator: Andrea Zagli <[email protected]>\n"
"Language-Team: Italian <[email protected]>\n"
@@ -107,20 +107,12 @@ msgid "Unknown error"
msgstr "Errore sconosciuto"
#: errors.php:5
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
+msgid "This program requires XmlHttpRequest "
msgstr ""
-"Questo programma richiede XmlHttpRequest per funzionare correttamente. Il "
-"browser sembra non supportarla."
#: errors.php:8
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
+msgid "This program requires cookies "
msgstr ""
-"Questo programma richiede i cookie per funzionare correttamente. Il browser "
-"sembra non supportarli."
#: errors.php:11
msgid "Backend sanity check failed"
@@ -1841,6 +1833,12 @@ msgstr "Questo notiziario"
msgid "Create Filter"
msgstr "Crea filtro"
+#: modules/popup-dialog.php:242 modules/popup-dialog.php:293
+#: modules/pref-filters.php:39 modules/pref-filters.php:96
+#, fuzzy
+msgid "description"
+msgstr "Selezione"
+
#: modules/popup-dialog.php:245 modules/pref-filters.php:42
#: modules/pref-filters.php:402
msgid "Match"
@@ -2186,6 +2184,14 @@ msgstr "Filtro <b>%s</b> creato"
msgid "Create filter"
msgstr "Crea filtro"
+#: modules/pref-filters.php:392
+msgid "filter_type_descr"
+msgstr ""
+
+#: modules/pref-filters.php:393
+msgid "action_description"
+msgstr ""
+
#: modules/pref-filters.php:404
msgid "Field"
msgstr "Campo"
@@ -2326,6 +2332,10 @@ msgstr "Seleziona tema"
msgid "Change theme"
msgstr "Cambia tema"
+#: modules/pref-prefs.php:388
+msgid "short_desc"
+msgstr ""
+
#: modules/pref-prefs.php:400 modules/pref-prefs.php:405
msgid "Yes"
msgstr "Sì"
@@ -2690,10 +2700,6 @@ msgstr "Corrisponde a:"
msgid "Internal error: Function not implemented"
msgstr "Errore interno: funzione non implementata"
-#, fuzzy
-#~ msgid "description"
-#~ msgstr "Selezione"
-
#~ msgid "display tags"
#~ msgstr "visualizza etichette"
@@ -2752,8 +2758,8 @@ msgstr "Errore interno: funzione non implementata"
#~ "\t\t\tIn base all&apos;insieme di caratteri attuale del database si "
#~ "potrebbero avere delle corruzioni dei dati (caratteri accentati persi, "
#~ "ecc.). \n"
-#~ "\t\t\tDopo l&apos;aggiornamento, occorre impostare l&apos;opzione a «utf8» "
-#~ "<b>MYSQL_CHARSET</b> in config.php."
+#~ "\t\t\tDopo l&apos;aggiornamento, occorre impostare l&apos;opzione a "
+#~ "«utf8» <b>MYSQL_CHARSET</b> in config.php."
#~ msgid "Converting database..."
#~ msgstr "Conversione del database..."
@@ -3041,6 +3047,20 @@ msgstr "Errore interno: funzione non implementata"
#~ msgid "Test"
#~ msgstr "Prova"
+#~ msgid ""
+#~ "This program requires XmlHttpRequest to function properly. Your browser "
+#~ "doesn't seem to support it."
+#~ msgstr ""
+#~ "Questo programma richiede XmlHttpRequest per funzionare correttamente. Il "
+#~ "browser sembra non supportarla."
+
+#~ msgid ""
+#~ "This program requires cookies to function properly. Your browser doesn't "
+#~ "seem to support them."
+#~ msgstr ""
+#~ "Questo programma richiede i cookie per funzionare correttamente. Il "
+#~ "browser sembra non supportarli."
+
#~ msgid "Filter expression"
#~ msgstr "Espressione del filtro"
diff --git a/locale/ja_JP/LC_MESSAGES/messages.mo b/locale/ja_JP/LC_MESSAGES/messages.mo
index 88b75a07d..c033df851 100644
--- a/locale/ja_JP/LC_MESSAGES/messages.mo
+++ b/locale/ja_JP/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/locale/ja_JP/LC_MESSAGES/messages.po b/locale/ja_JP/LC_MESSAGES/messages.po
index 33e410fa0..111447dfc 100644
--- a/locale/ja_JP/LC_MESSAGES/messages.po
+++ b/locale/ja_JP/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tt-rss unstable\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-21 22:58+0300\n"
+"POT-Creation-Date: 2009-02-20 15:55+0300\n"
"PO-Revision-Date: 2008-09-25 12:43+0900\n"
"Last-Translator: Tadashi Jokagi <[email protected]>\n"
"Language-Team: Japanese <http://oss.poyo.jp/>\n"
@@ -108,16 +108,12 @@ msgid "Unknown error"
msgstr "未知のエラー"
#: errors.php:5
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
-msgstr ""
+msgid "This program requires XmlHttpRequest "
+msgstr "このプログラムは、XmlHttpRequest を要求します"
#: errors.php:8
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
-msgstr ""
+msgid "This program requires cookies "
+msgstr "このプログラムはクッキーを要求します"
#: errors.php:11
msgid "Backend sanity check failed"
@@ -1778,6 +1774,11 @@ msgstr "このフィード"
msgid "Create Filter"
msgstr "フィルターを作成する"
+#: modules/popup-dialog.php:242 modules/popup-dialog.php:293
+#: modules/pref-filters.php:39 modules/pref-filters.php:96
+msgid "description"
+msgstr "説明"
+
#: modules/popup-dialog.php:245 modules/pref-filters.php:42
#: modules/pref-filters.php:402
msgid "Match"
@@ -2123,6 +2124,14 @@ msgstr "フィルター <b>%s</b> を作成しました"
msgid "Create filter"
msgstr "フィルターを作成する"
+#: modules/pref-filters.php:392
+msgid "filter_type_descr"
+msgstr "filter_type_descr"
+
+#: modules/pref-filters.php:393
+msgid "action_description"
+msgstr "action_description"
+
#: modules/pref-filters.php:404
#, fuzzy
msgid "Field"
@@ -2264,6 +2273,10 @@ msgstr "テーマを選択する"
msgid "Change theme"
msgstr "テーマを変更する"
+#: modules/pref-prefs.php:388
+msgid "short_desc"
+msgstr ""
+
#: modules/pref-prefs.php:400 modules/pref-prefs.php:405
msgid "Yes"
msgstr "はい"
@@ -2621,21 +2634,6 @@ msgstr "対象項目:"
msgid "Internal error: Function not implemented"
msgstr "インターナルエラー: 機能が実装されていません"
-#~ msgid "This program requires XmlHttpRequest "
-#~ msgstr "このプログラムは、XmlHttpRequest を要求します"
-
-#~ msgid "This program requires cookies "
-#~ msgstr "このプログラムはクッキーを要求します"
-
-#~ msgid "description"
-#~ msgstr "説明"
-
-#~ msgid "filter_type_descr"
-#~ msgstr "filter_type_descr"
-
-#~ msgid "action_description"
-#~ msgstr "action_description"
-
#~ msgid "display tags"
#~ msgstr "タグの表示"
diff --git a/locale/nb_NO/LC_MESSAGES/messages.mo b/locale/nb_NO/LC_MESSAGES/messages.mo
index 3b003ad63..88cb33f28 100644
--- a/locale/nb_NO/LC_MESSAGES/messages.mo
+++ b/locale/nb_NO/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/locale/nb_NO/LC_MESSAGES/messages.po b/locale/nb_NO/LC_MESSAGES/messages.po
index dd1588ea1..6192f638e 100644
--- a/locale/nb_NO/LC_MESSAGES/messages.po
+++ b/locale/nb_NO/LC_MESSAGES/messages.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Tiny Tiny RSS 1.3.2\n"
+"Project-Id-Version: Tiny Tiny RSS 1.2.21\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-21 22:58+0300\n"
-"PO-Revision-Date: 2009-03-21 19:22+0100\n"
+"POT-Creation-Date: 2009-02-20 15:55+0300\n"
+"PO-Revision-Date: 2009-02-20 13:47+0100\n"
"Last-Translator: Christian Lomsdalen <[email protected]>\n"
"Language-Team: Norwegian Bokmål <[email protected]>\n"
"MIME-Version: 1.0\n"
@@ -108,20 +108,12 @@ msgid "Unknown error"
msgstr "Ukjent feil"
#: errors.php:5
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
-msgstr ""
-"Dette programmet krever XmlHttpRequest for å fungere slik det skal. Din "
-"nettleser ser ikke ut til å støtte dette."
+msgid "This program requires XmlHttpRequest "
+msgstr "Dette programmet krever XmlHttpRequest "
#: errors.php:8
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
-msgstr ""
-"Dette programmet krever cookies for å fungere ordentlig. Din nettleser ser "
-"ikke ut til å støtte dette."
+msgid "This program requires cookies "
+msgstr "Dette programmet krever informasjonskapsler påslått"
#: errors.php:11
msgid "Backend sanity check failed"
@@ -1778,6 +1770,11 @@ msgstr "Denne nyhetsstrømmen"
msgid "Create Filter"
msgstr "Lag filter"
+#: modules/popup-dialog.php:242 modules/popup-dialog.php:293
+#: modules/pref-filters.php:39 modules/pref-filters.php:96
+msgid "description"
+msgstr "beskrivelse"
+
#: modules/popup-dialog.php:245 modules/pref-filters.php:42
#: modules/pref-filters.php:402
msgid "Match"
@@ -2119,6 +2116,14 @@ msgstr "Laget filter <b>%s</b>"
msgid "Create filter"
msgstr "Lag filter"
+#: modules/pref-filters.php:392
+msgid "filter_type_descr"
+msgstr "Beskrivelse av filtertype"
+
+#: modules/pref-filters.php:393
+msgid "action_description"
+msgstr "Handlingsbeskrivelse"
+
#: modules/pref-filters.php:404
msgid "Field"
msgstr "Felt"
@@ -2257,6 +2262,10 @@ msgstr "Velg utseende"
msgid "Change theme"
msgstr "Endre utseende"
+#: modules/pref-prefs.php:388
+msgid "short_desc"
+msgstr "kort beskrivelse"
+
#: modules/pref-prefs.php:400 modules/pref-prefs.php:405
msgid "Yes"
msgstr "Ja"
@@ -2621,35 +2630,19 @@ msgstr "Match på:"
msgid "Internal error: Function not implemented"
msgstr "Intern feil: funksjonen er ikke implementert"
-#~ msgid "Publish article with a note"
-#~ msgstr "Publiser artikkelen med et notat"
-
-#~ msgid "toggle unread"
-#~ msgstr "Merk som ulest"
-
-#~ msgid "edit note"
-#~ msgstr "Endre notat"
-
-#~ msgid "Please enter a note for this article:"
-#~ msgstr "Vennligst skriv inn et notat for denne artikkelen:"
-
-#~ msgid "This program requires XmlHttpRequest "
-#~ msgstr "Dette programmet krever XmlHttpRequest "
-
-#~ msgid "This program requires cookies "
-#~ msgstr "Dette programmet krever informasjonskapsler påslått"
-
-#~ msgid "description"
-#~ msgstr "beskrivelse"
-
-#~ msgid "filter_type_descr"
-#~ msgstr "Beskrivelse av filtertype"
-
-#~ msgid "action_description"
-#~ msgstr "Handlingsbeskrivelse"
+#~ msgid ""
+#~ "This program requires XmlHttpRequest to function properly. Your browser "
+#~ "doesn't seem to support it."
+#~ msgstr ""
+#~ "Dette programmet krever XmlHttpRequest for å fungere slik det skal. Din "
+#~ "nettleser ser ikke ut til å støtte dette."
-#~ msgid "short_desc"
-#~ msgstr "kort beskrivelse"
+#~ msgid ""
+#~ "This program requires cookies to function properly. Your browser doesn't "
+#~ "seem to support them."
+#~ msgstr ""
+#~ "Dette programmet krever cookies for å fungere ordentlig. Din nettleser "
+#~ "ser ikke ut til å støtte dette."
#~ msgid "display tags"
#~ msgstr "Vis stikkord"
@@ -2675,6 +2668,9 @@ msgstr "Intern feil: funksjonen er ikke implementert"
#~ msgid "Address changed."
#~ msgstr "Adresse er endret"
+#~ msgid "Please enter label title:"
+#~ msgstr "Vennligst skriv inn merkelapp:"
+
#~ msgid ""
#~ "Rescore articles in all feeds? This operation may take a lot of time."
#~ msgstr ""
diff --git a/locale/pt_BR/LC_MESSAGES/messages.mo b/locale/pt_BR/LC_MESSAGES/messages.mo
index e31ede0ff..d6e88e467 100644
--- a/locale/pt_BR/LC_MESSAGES/messages.mo
+++ b/locale/pt_BR/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/locale/pt_BR/LC_MESSAGES/messages.po b/locale/pt_BR/LC_MESSAGES/messages.po
index 4189c1b0a..7bf396ee9 100644
--- a/locale/pt_BR/LC_MESSAGES/messages.po
+++ b/locale/pt_BR/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tt-rss 1.2.14.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-21 22:58+0300\n"
+"POT-Creation-Date: 2009-02-20 15:55+0300\n"
"PO-Revision-Date: 2007-10-24 00:47-0200\n"
"Last-Translator: Marcelo Jorge VIeira (metal) <[email protected]>\n"
"Language-Team: Portuguese/Brazil\n"
@@ -111,16 +111,12 @@ msgid "Unknown error"
msgstr "Erro desconhecido"
#: errors.php:5
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
-msgstr ""
+msgid "This program requires XmlHttpRequest "
+msgstr "Este programa requer XmlHttpRequest"
#: errors.php:8
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
-msgstr ""
+msgid "This program requires cookies "
+msgstr "Este programa requer cookies "
#: errors.php:11
msgid "Backend sanity check failed"
@@ -1775,6 +1771,11 @@ msgstr ""
msgid "Create Filter"
msgstr "Criar um usuário"
+#: modules/popup-dialog.php:242 modules/popup-dialog.php:293
+#: modules/pref-filters.php:39 modules/pref-filters.php:96
+msgid "description"
+msgstr "descrição"
+
#: modules/popup-dialog.php:245 modules/pref-filters.php:42
#: modules/pref-filters.php:402
msgid "Match"
@@ -2126,6 +2127,14 @@ msgstr ""
msgid "Create filter"
msgstr ""
+#: modules/pref-filters.php:392
+msgid "filter_type_descr"
+msgstr "filter_type_descr"
+
+#: modules/pref-filters.php:393
+msgid "action_description"
+msgstr "action_description"
+
#: modules/pref-filters.php:404
#, fuzzy
msgid "Field"
@@ -2268,6 +2277,10 @@ msgstr "Selecionar o tema"
msgid "Change theme"
msgstr "Mudar Tema"
+#: modules/pref-prefs.php:388
+msgid "short_desc"
+msgstr "short_desc"
+
#: modules/pref-prefs.php:400 modules/pref-prefs.php:405
msgid "Yes"
msgstr "Sim"
@@ -2652,24 +2665,6 @@ msgstr ""
msgid "Internal error: Function not implemented"
msgstr ""
-#~ msgid "This program requires XmlHttpRequest "
-#~ msgstr "Este programa requer XmlHttpRequest"
-
-#~ msgid "This program requires cookies "
-#~ msgstr "Este programa requer cookies "
-
-#~ msgid "description"
-#~ msgstr "descrição"
-
-#~ msgid "filter_type_descr"
-#~ msgstr "filter_type_descr"
-
-#~ msgid "action_description"
-#~ msgstr "action_description"
-
-#~ msgid "short_desc"
-#~ msgstr "short_desc"
-
#~ msgid "Please select only one category."
#~ msgstr "Por favor selecione somente uma categoria."
diff --git a/locale/ru_RU/LC_MESSAGES/messages.mo b/locale/ru_RU/LC_MESSAGES/messages.mo
index a98afcade..a99c53073 100644
--- a/locale/ru_RU/LC_MESSAGES/messages.mo
+++ b/locale/ru_RU/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/locale/ru_RU/LC_MESSAGES/messages.po b/locale/ru_RU/LC_MESSAGES/messages.po
index 13fafac26..d5d9c15d2 100644
--- a/locale/ru_RU/LC_MESSAGES/messages.po
+++ b/locale/ru_RU/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-21 22:58+0300\n"
+"POT-Creation-Date: 2009-02-20 15:55+0300\n"
"PO-Revision-Date: 2009-01-26 08:36+0400\n"
"Last-Translator: Max Kamashev <[email protected]>\n"
"Language-Team: Русский <[email protected]>\n"
@@ -114,18 +114,12 @@ msgid "Unknown error"
msgstr "Неизвестная ошибка"
#: errors.php:5
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
-msgstr ""
-"Программе требуется функционал XmlHttpRequest. Ваш браузер его не "
-"поддерживает."
+msgid "This program requires XmlHttpRequest "
+msgstr "Этой программе нужен XmlHttpRequest "
#: errors.php:8
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
-msgstr "Для работы программы необходимы куки. Ваш браузер их не поддерживает."
+msgid "This program requires cookies "
+msgstr "Этой программе нужны включённые куки"
#: errors.php:11
msgid "Backend sanity check failed"
@@ -1805,6 +1799,11 @@ msgstr "Этот канал"
msgid "Create Filter"
msgstr "Создать фильтр"
+#: modules/popup-dialog.php:242 modules/popup-dialog.php:293
+#: modules/pref-filters.php:39 modules/pref-filters.php:96
+msgid "description"
+msgstr "описание"
+
#: modules/popup-dialog.php:245 modules/pref-filters.php:42
#: modules/pref-filters.php:402
msgid "Match"
@@ -2146,6 +2145,14 @@ msgstr "Добавлен фильтр <b>%s</b>"
msgid "Create filter"
msgstr "Создать фильтр"
+#: modules/pref-filters.php:392
+msgid "filter_type_descr"
+msgstr "описание типа фильтра"
+
+#: modules/pref-filters.php:393
+msgid "action_description"
+msgstr "описание действия"
+
#: modules/pref-filters.php:404
msgid "Field"
msgstr "Поле"
@@ -2286,6 +2293,10 @@ msgstr "Выбор темы"
msgid "Change theme"
msgstr "Изменить тему"
+#: modules/pref-prefs.php:388
+msgid "short_desc"
+msgstr "краткое описание"
+
#: modules/pref-prefs.php:400 modules/pref-prefs.php:405
msgid "Yes"
msgstr "Да"
@@ -2648,24 +2659,6 @@ msgstr "Соответствие:"
msgid "Internal error: Function not implemented"
msgstr "Внутренняя ошибка: Функция не реализована"
-#~ msgid "This program requires XmlHttpRequest "
-#~ msgstr "Этой программе нужен XmlHttpRequest "
-
-#~ msgid "This program requires cookies "
-#~ msgstr "Этой программе нужны включённые куки"
-
-#~ msgid "description"
-#~ msgstr "описание"
-
-#~ msgid "filter_type_descr"
-#~ msgstr "описание типа фильтра"
-
-#~ msgid "action_description"
-#~ msgstr "описание действия"
-
-#~ msgid "short_desc"
-#~ msgstr "краткое описание"
-
#~ msgid "display tags"
#~ msgstr "показать теги"
@@ -2816,6 +2809,19 @@ msgstr "Внутренняя ошибка: Функция не реализов�
#~ msgid "Fatal Error"
#~ msgstr "Фатальная Ошибка"
+#~ msgid ""
+#~ "This program requires XmlHttpRequest to function properly. Your browser "
+#~ "doesn't seem to support it."
+#~ msgstr ""
+#~ "Программе требуется функционал XmlHttpRequest. Ваш браузер его не "
+#~ "поддерживает."
+
+#~ msgid ""
+#~ "This program requires cookies to function properly. Your browser doesn't "
+#~ "seem to support them."
+#~ msgstr ""
+#~ "Для работы программы необходимы куки. Ваш браузер их не поддерживает."
+
#~ msgid "Modify score"
#~ msgstr "Изменить оценку"
diff --git a/locale/zh_CN/LC_MESSAGES/messages.mo b/locale/zh_CN/LC_MESSAGES/messages.mo
index d076aa712..2cf4755bc 100644
--- a/locale/zh_CN/LC_MESSAGES/messages.mo
+++ b/locale/zh_CN/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/locale/zh_CN/LC_MESSAGES/messages.po b/locale/zh_CN/LC_MESSAGES/messages.po
index f7cc51a83..77a647ed4 100644
--- a/locale/zh_CN/LC_MESSAGES/messages.po
+++ b/locale/zh_CN/LC_MESSAGES/messages.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Tiny Tiny RSS1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-21 22:58+0300\n"
+"POT-Creation-Date: 2009-02-20 15:55+0300\n"
"PO-Revision-Date: 2007-08-19 19:03+0800\n"
"Last-Translator: sluke <[email protected]>\n"
"Language-Team: hicode.org <[email protected]>\n"
@@ -107,16 +107,12 @@ msgid "Unknown error"
msgstr "未知错误"
#: errors.php:5
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
-msgstr ""
+msgid "This program requires XmlHttpRequest "
+msgstr "本程序需要xmlhttprequest支持"
#: errors.php:8
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
-msgstr ""
+msgid "This program requires cookies "
+msgstr "本程序需要开启cookies"
#: errors.php:11
msgid "Backend sanity check failed"
@@ -1818,6 +1814,11 @@ msgstr "本feed"
msgid "Create Filter"
msgstr "创建过滤器"
+#: modules/popup-dialog.php:242 modules/popup-dialog.php:293
+#: modules/pref-filters.php:39 modules/pref-filters.php:96
+msgid "description"
+msgstr "描述"
+
#: modules/popup-dialog.php:245 modules/pref-filters.php:42
#: modules/pref-filters.php:402
msgid "Match"
@@ -2175,6 +2176,15 @@ msgstr "创建过滤器 <b>%s</b>"
msgid "Create filter"
msgstr "创建过滤器"
+#: modules/pref-filters.php:392
+msgid "filter_type_descr"
+msgstr ""
+
+#: modules/pref-filters.php:393
+#, fuzzy
+msgid "action_description"
+msgstr "描述"
+
#: modules/pref-filters.php:404
#, fuzzy
msgid "Field"
@@ -2320,6 +2330,10 @@ msgstr "选择模板"
msgid "Change theme"
msgstr "更改模板"
+#: modules/pref-prefs.php:388
+msgid "short_desc"
+msgstr "short_desc"
+
#: modules/pref-prefs.php:400 modules/pref-prefs.php:405
msgid "Yes"
msgstr "是"
@@ -2712,22 +2726,6 @@ msgstr "匹配:"
msgid "Internal error: Function not implemented"
msgstr ""
-#~ msgid "This program requires XmlHttpRequest "
-#~ msgstr "本程序需要xmlhttprequest支持"
-
-#~ msgid "This program requires cookies "
-#~ msgstr "本程序需要开启cookies"
-
-#~ msgid "description"
-#~ msgstr "描述"
-
-#, fuzzy
-#~ msgid "action_description"
-#~ msgstr "描述"
-
-#~ msgid "short_desc"
-#~ msgstr "short_desc"
-
#~ msgid "display tags"
#~ msgstr "显示标签"
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index afcd82d3f..8b22bf850 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -87,8 +87,9 @@
}
if ($subop == "publ") {
- $pub = $_GET["pub"];
- $id = db_escape_string($_GET["id"]);
+ $pub = $_REQUEST["pub"];
+ $id = db_escape_string($_REQUEST["id"]);
+ $note = trim(strip_tags(db_escape_string($_REQUEST["note"])));
if ($pub == "1") {
$pub = "true";
@@ -96,18 +97,36 @@
$pub = "false";
}
+ if ($note != 'undefined') {
+ $note_qpart = "note = '$note',";
+ }
+
// FIXME this needs collision testing
- $result = db_query($link, "UPDATE ttrss_user_entries SET published = $pub
+ $result = db_query($link, "UPDATE ttrss_user_entries SET
+ $note_qpart
+ published = $pub
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
- print "<rpc-reply><counters>";
+
+ print "<rpc-reply>";
+
+ print "<counters>";
getGlobalCounters($link);
getLabelCounters($link);
if (get_pref($link, 'ENABLE_FEED_CATS')) {
getCategoryCounters($link);
}
- print "</counters></rpc-reply>";
+ print "</counters>";
+
+ if ($note != 'undefined') {
+ $note_size = strlen($note);
+ print "<note id=\"$id\" size=\"$note_size\">";
+ print "<![CDATA[" . format_article_note($id, $note) . "]]>";
+ print "</note>";
+ }
+
+ print "</rpc-reply>";
return;
}
diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php
index fae1fbe2f..36a0e4d32 100644
--- a/modules/pref-feeds.php
+++ b/modules/pref-feeds.php
@@ -702,8 +702,12 @@
if (file_exists($icons_dir . "/$id.ico")) {
unlink($icons_dir . "/$id.ico");
}
+
+ ccache_remove($link, $id, $_SESSION["uid"]);
+
} else {
label_remove($link, -11-$id, $_SESSION["uid"]);
+ ccache_remove($link, -11-$id, $_SESSION["uid"]);
}
}
}
@@ -992,6 +996,9 @@
if ($num_feeds == 0) {
db_query($link, "DELETE FROM ttrss_feed_categories
WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]);
+
+ ccache_remove($link, $id, $_SESSION["uid"], true);
+
} else {
print format_warning(__("Unable to delete non empty feed categories."));
@@ -1369,26 +1376,28 @@
print "<select id=\"feedActionChooser\" onchange=\"feedActionChange()\">
<option value=\"facDefault\" selected>".__('Actions...')."</option>
- <option disabled>--------</option>
- <option style=\"color : #5050aa\" disabled>".__('Selection:')."</option>
- <option value=\"facEdit\">&nbsp;&nbsp;".__('Edit')."</option>";
+ <optgroup label=\"".__('Selection:')."\">
+ <option value=\"facEdit\">".__('Edit')."</option>";
if (FORCE_ARTICLE_PURGE == 0) {
print
- "<option value=\"facPurge\">&nbsp;&nbsp;".__('Manual purge')."</option>";
+ "<option value=\"facPurge\">".__('Manual purge')."</option>";
}
print "
- <option value=\"facClear\">&nbsp;&nbsp;".__('Clear feed data')."</option>
- <option value=\"facRescore\">&nbsp;&nbsp;".__('Rescore articles')."</option>
- <option value=\"facUnsubscribe\">&nbsp;&nbsp;".__('Unsubscribe')."</option>";
+ <option value=\"facClear\">".__('Clear feed data')."</option>
+ <option value=\"facRescore\">".__('Rescore articles')."</option>
+ <option value=\"facUnsubscribe\">".__('Unsubscribe')."</option>";
+
+ print "</optgroup>";
if (get_pref($link, 'ENABLE_FEED_CATS')) {
- print "<option disabled>--------</option>
- <option style=\"color : #5050aa\" disabled>".__('Other:')."</option>
- <option value=\"facEditCats\">&nbsp;&nbsp;".__('Edit categories')."
- </option>";
+ print "<optgroup label=\"".__('Other:')."\">
+ <option value=\"facEditCats\">".__('Edit categories')."
+ </option>
+ </optgroup>";
+
}
print "</select>";
diff --git a/sanity_check.php b/sanity_check.php
index e813f3680..51dc1b5f8 100644
--- a/sanity_check.php
+++ b/sanity_check.php
@@ -2,7 +2,7 @@
require_once "functions.php";
define('EXPECTED_CONFIG_VERSION', 18);
- define('SCHEMA_VERSION', 54);
+ define('SCHEMA_VERSION', 55);
if (!file_exists("config.php")) {
print "<b>Fatal Error</b>: You forgot to copy
diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql
index 65e4ffb45..ac057fd5d 100644
--- a/schema/ttrss_schema_mysql.sql
+++ b/schema/ttrss_schema_mysql.sql
@@ -138,6 +138,7 @@ create table ttrss_user_entries (
published bool not null default 0,
last_read datetime,
score int not null default 0,
+ note text,
unread bool not null default 1,
index (ref_id),
foreign key (ref_id) references ttrss_entries(id) ON DELETE CASCADE,
@@ -224,7 +225,7 @@ create table ttrss_tags (id integer primary key auto_increment,
create table ttrss_version (schema_version int not null) TYPE=InnoDB;
-insert into ttrss_version values (54);
+insert into ttrss_version values (55);
create table ttrss_enclosures (id serial not null primary key,
content_url text not null,
diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql
index eecc1d29b..57d2e95d1 100644
--- a/schema/ttrss_schema_pgsql.sql
+++ b/schema/ttrss_schema_pgsql.sql
@@ -126,6 +126,7 @@ create table ttrss_user_entries (
published boolean not null default false,
last_read timestamp,
score int not null default 0,
+ note text,
unread boolean not null default true);
-- create index ttrss_user_entries_feed_id_index on ttrss_user_entries(feed_id);
@@ -200,7 +201,7 @@ create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid);
create table ttrss_version (schema_version int not null);
-insert into ttrss_version values (54);
+insert into ttrss_version values (55);
create table ttrss_enclosures (id serial not null primary key,
content_url text not null,
diff --git a/schema/versions/mysql/55.sql b/schema/versions/mysql/55.sql
new file mode 100644
index 000000000..75f55b3c3
--- /dev/null
+++ b/schema/versions/mysql/55.sql
@@ -0,0 +1,7 @@
+begin;
+
+alter table ttrss_user_entries add column note text;
+
+update ttrss_version set schema_version = 55;
+
+commit;
diff --git a/schema/versions/pgsql/55.sql b/schema/versions/pgsql/55.sql
new file mode 100644
index 000000000..75f55b3c3
--- /dev/null
+++ b/schema/versions/pgsql/55.sql
@@ -0,0 +1,7 @@
+begin;
+
+alter table ttrss_user_entries add column note text;
+
+update ttrss_version set schema_version = 55;
+
+commit;
diff --git a/tt-rss.css b/tt-rss.css
index 22c8a40c6..3946d6fcb 100644
--- a/tt-rss.css
+++ b/tt-rss.css
@@ -66,9 +66,34 @@ div.postReply div.postEnclosures {
div.postReply img.tagsPic {
width : 16px;
height : 16px;
+ margin-left : 4px;
vertical-align : middle;
}
+div.articleNote div.articleNoteOps {
+ float : right;
+ color : #9a8c59;
+}
+
+div.articleNote div.articleNoteOps a {
+ color : #9a8c59;
+}
+
+div.articleNote div.articleNoteOps a:hover {
+ color : black;
+}
+
+div.articleNote {
+ background-color : #fff7d5;
+ border-width : 1px;
+ padding : 5px;
+ border-style : dashed;
+ border-color : #e7d796;
+ font-size : 8px;
+ margin-top : 5px;
+ color : #9a8c59;
+}
+
div.postReply span.author {
font-size : 12px;
}
@@ -2160,3 +2185,11 @@ div#offlineModeDrop {
color : #909090;
}
+optgroup {
+ color : #5050aa;
+ font-style : normal;
+}
+
+option {
+ color : black;
+}
diff --git a/tt-rss.php b/tt-rss.php
index 7a492f84c..2dcc9ca1a 100644
--- a/tt-rss.php
+++ b/tt-rss.php
@@ -188,26 +188,25 @@ window.onload = init;
<select id="quickMenuChooser" onchange="quickMenuChange()">
<option value="qmcDefault" selected="selected"><?php echo __('Actions...') ?></option>
<option value="qmcSearch"><?php echo __('Search...') ?></option>
- <!-- <option value="qmcPrefs"><?php echo __('Preferences') ?></option> -->
- <option disabled="disabled">--------</option>
- <option style="color : #5050aa" disabled="disabled"><?php echo __('Feed actions:') ?></option>
- <option value="qmcAddFeed">&nbsp;&nbsp;<?php echo __('Subscribe to feed...') ?></option>
- <option value="qmcEditFeed">&nbsp;&nbsp;<?php echo __('Edit this feed...') ?></option>
- <!-- <option value="qmcClearFeed">&nbsp;&nbsp;<?php echo __('Clear articles') ?></option> -->
- <option value="qmcRescoreFeed">&nbsp;&nbsp;<?php echo __('Rescore feed') ?></option>
- <option value="qmcRemoveFeed">&nbsp;&nbsp;<?php echo __('Unsubscribe') ?></option>
- <option disabled="disabled">--------</option>
- <option style="color : #5050aa" disabled="disabled"><?php echo __('All feeds:') ?></option>
- <option value="qmcCatchupAll">&nbsp;&nbsp;<?php echo __('Mark as read') ?></option>
- <option value="qmcShowOnlyUnread">&nbsp;&nbsp;<?php echo __('(Un)hide read feeds') ?></option>
- <option disabled="disabled">--------</option>
- <option style="color : #5050aa" disabled="disabled"><?php echo __('Other actions:') ?></option>
-
- <option value="qmcAddLabel">&nbsp;&nbsp;<?php echo __('Create label...') ?></option>
- <option value="qmcAddFilter">&nbsp;&nbsp;<?php echo __('Create filter...') ?></option>
- <option value="qmcResetUI">&nbsp;&nbsp;<?php echo __('Reset UI layout') ?></option>
- <option value="qmcResetCats">&nbsp;&nbsp;<?php echo __('Reset category order') ?></option>
- <option value="qmcHKhelp"><?php echo __('&nbsp;&nbsp;Keyboard shortcuts') ?></option>
+ <optgroup label="<?php echo __('Feed actions:') ?>">
+ <option value="qmcAddFeed"><?php echo __('Subscribe to feed...') ?></option>
+ <option value="qmcEditFeed"><?php echo __('Edit this feed...') ?></option>
+ <!-- <option value="qmcClearFeed"><?php echo __('Clear articles') ?></option> -->
+ <option value="qmcRescoreFeed"><?php echo __('Rescore feed') ?></option>
+ <option value="qmcRemoveFeed"><?php echo __('Unsubscribe') ?></option>
+ </optgroup>
+ <optgroup label="<?php echo __('All feeds:') ?>">
+ <option value="qmcCatchupAll"><?php echo __('Mark as read') ?></option>
+ <option value="qmcShowOnlyUnread"><?php echo __('(Un)hide read feeds') ?></option>
+ </optgroup>
+ <optgroup label="<?php echo __('Other actions:') ?>">
+
+ <option value="qmcAddLabel"><?php echo __('Create label...') ?></option>
+ <option value="qmcAddFilter"><?php echo __('Create filter...') ?></option>
+ <option value="qmcResetUI"><?php echo __('Reset UI layout') ?></option>
+ <option value="qmcResetCats"><?php echo __('Reset category order') ?></option>
+ <option value="qmcHKhelp"><?php echo __('Keyboard shortcuts') ?></option>
+ </optgroup>
</select>
</div>
diff --git a/version.php b/version.php
index e4e7cb854..4946d7e85 100644
--- a/version.php
+++ b/version.php
@@ -1,3 +1,3 @@
<?php
- define('VERSION', "1.3.0");
+ define('VERSION', "1.3.1");
?>
diff --git a/viewfeed.js b/viewfeed.js
index be1a442e0..d21e3e623 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -15,6 +15,39 @@ var post_under_pointer = false;
var last_requested_article = false;
+function toggle_published_callback(transport) {
+ try {
+ if (transport.responseXML) {
+
+ all_counters_callback2(transport);
+
+ var note = transport.responseXML.getElementsByTagName("note")[0];
+
+ if (note) {
+ var note_id = note.getAttribute("id");
+ var note_size = note.getAttribute("size");
+ var note_content = note.firstChild.nodeValue;
+
+ var container = $('POSTNOTE-' + note_id);
+
+ cache_invalidate(note_id);
+
+ if (container) {
+ if (note_size == "0") {
+ Element.hide(container);
+ } else {
+ container.innerHTML = note_content;
+ Element.show(container);
+ }
+ }
+ }
+ }
+
+ } catch (e) {
+ exception_error("toggle_published_callback", e, transport);
+ }
+}
+
function catchup_callback2(transport, callback) {
try {
debug("catchup_callback2 " + transport + ", " + callback);
@@ -592,13 +625,19 @@ function toggleMark(id, client_only, no_effects) {
}
}
-function togglePub(id, client_only, no_effects) {
+function togglePub(id, client_only, no_effects, note) {
try {
var query = "backend.php?op=rpc&id=" + id + "&subop=publ";
query = query + "&afid=" + getActiveFeedId();
+
+ if (note != undefined) {
+ query = query + "&note=" + param_escape(note);
+ } else {
+ query = query + "&note=undefined";
+ }
if (tagsAreDisplayed()) {
query = query + "&omode=tl";
@@ -613,11 +652,10 @@ function togglePub(id, client_only, no_effects) {
var vfeedu = $("FEEDU--2");
var crow = $("RROW-" + id);
- if (mark_img.src.match("pub_unset")) {
+ if (mark_img.src.match("pub_unset") || note != undefined) {
mark_img.src = mark_img.src.replace("pub_unset", "pub_set");
mark_img.alt = __("Unpublish article");
query = query + "&pub=1";
-
} else {
//mark_img.src = "images/pub_unset.png";
@@ -635,7 +673,7 @@ function togglePub(id, client_only, no_effects) {
if (!client_only) {
new Ajax.Request(query, {
onComplete: function(transport) {
- all_counters_callback2(transport);
+ toggle_published_callback(transport);
} });
}
@@ -2147,3 +2185,18 @@ function toggleHeadlineActions() {
exception_error("toggleHeadlineActions", e);
}
}
+
+function publishWithNote(id, def_note) {
+ try {
+ if (!def_note) def_note = '';
+
+ var note = prompt(__("Please enter a note for this article:"), def_note);
+
+ if (note != undefined) {
+ togglePub(id, false, false, note);
+ }
+
+ } catch (e) {
+ exception_error("publishWithNote", e);
+ }
+}