$cat['bare_id'] = $feed_id;
$cat['name'] = $line['title'];
$cat['items'] = array();
+ $cat['checkbox'] = false;
$cat['type'] = 'category';
$feed_result = db_query($link, "SELECT id, title, last_error,
array_push($cat['items'], $feed);
}
+ $cat['param'] = T_sprintf('(%d feeds)', count($cat['items']));
+
if (count($cat['items']) > 0)
array_push($root['items'], $cat);
+
+ $root['param'] += count($cat['items']);
}
/* Uncategorized is a special case */
array_push($cat['items'], $feed);
}
+ $cat['param'] = T_sprintf('(%d feeds)', count($cat['items']));
+
if (count($cat['items']) > 0)
array_push($root['items'], $cat);
+ $root['param'] += count($cat['items']);
+ $root['param'] = T_sprintf('(%d feeds)', $root['param']);
+
} else {
$feed_result = db_query($link, "SELECT id, title, last_error,
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
array_push($root['items'], $feed);
}
+
+ $root['param'] = T_sprintf('(%d feeds)', count($root['items']));
+
}
$fl = array();
$purge_interval = db_fetch_result($result, 0, "purge_interval");
- if (FORCE_ARTICLE_PURGE == 0) {
/* Purge intl */
- print "<hr/>";
-
- print __('Article purging:') . " ";
-
- print_select_hash("purge_interval", $purge_interval, $purge_intervals,
- 'dojoType="dijit.form.Select"');
-
- } else {
- print "<input style=\"display : none\" name='purge_interval'
- dojoType=\"dijit.form.TextBox\" value='$purge_interval'>";
+ print "<hr/>";
+ print __('Article purging:') . " ";
- }
+ print_select_hash("purge_interval", $purge_interval, $purge_intervals,
+ 'dojoType="dijit.form.Select" ' .
+ ((FORCE_ARTICLE_PURGE == 0) ? "" : 'disabled="1"'));
print "</div>";
print "<div class=\"dlgSec\">".__("Authentication")."</div>";
case 2:
print_error(T_sprintf("Could not subscribe to <b>%s</b>.", $feed_url));
break;
+ case 3:
+ print_error(T_sprintf("No feeds found in <b>%s</b>.", $feed_url));
+ break;
case 0:
print_warning(T_sprintf("Already subscribed to <b>%s</b>.", $feed_url));
break;
print "<div style='float : right; padding-right : 4px;'>
<input dojoType=\"dijit.form.TextBox\" id=\"feed_search\" size=\"20\" type=\"search\"
- onchange=\"updateFeedList()\" value=\"$feed_search\">
+ value=\"$feed_search\">
<button dojoType=\"dijit.form.Button\" onclick=\"updateFeedList()\">".
__('Search')."</button>
</div>";
print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('OPML')."\">";
- print "<p>" . __("Using OPML you can export and import your feeds and Tiny Tiny RSS settings.");
+ print "<p>" . __("Using OPML you can export and import your feeds and Tiny Tiny RSS settings.") . " ";
- print "<div class=\"insensitive\">" . __("Note: Only main settings profile can be migrated using OPML.") . "</div>";
+ print "<span class=\"insensitive\">" . __("Note: Only main settings profile can be migrated using OPML.") . "</span>";
print "</p>";
- print "<iframe id=\"upload_iframe\"
+ print "<h3>" . __("Import") . "</h3>";
+
+ print "<br/><iframe id=\"upload_iframe\"
name=\"upload_iframe\" onload=\"opmlImportComplete(this)\"
style=\"width: 400px; height: 100px; display: none;\"></iframe>";
- print "<form style='display : block' target=\"upload_iframe\"
+ print "<form name=\"opml_form\" style='display : block' target=\"upload_iframe\"
enctype=\"multipart/form-data\" method=\"POST\"
action=\"backend.php\">
<input id=\"opml_file\" name=\"opml_file\" type=\"file\">
<input type=\"hidden\" name=\"op\" value=\"dlg\">
<input type=\"hidden\" name=\"id\" value=\"importOpml\">
- <button dojoType=\"dijit.form.Button\" onclick=\"return opmlImport();\"
- type=\"submit\">".__('Import')."</button>
- <button dojoType=\"dijit.form.Button\" onclick=\"gotoExportOpml()\">".__('Export OPML')."</button>
- </form>";
+ <button dojoType=\"dijit.form.Button\" onclick=\"return opmlImport();\" type=\"submit\">" .
+ __('Import') . "</button>";
+
+ print "<h3>" . __("Export") . "</h3>";
+
+ print "<p>" . __('Filename:') .
+ " <input type=\"text\" id=\"filename\" value=\"TinyTinyRSS.opml\" /> " .
+ __('Include settings') . "<input type=\"checkbox\" id=\"settings\" CHECKED />" .
- print "<p>".__('Your OPML can be published publicly and can be subscribed by anyone who knows the URL below.');
+ "<button dojoType=\"dijit.form.Button\"
+ onclick=\"gotoExportOpml(document.opml_form.filename.value, document.opml_form.settings.checked)\" >" .
+ __('Export') . "</button></p></form>";
- print "<div class=\"insensitive\">" . __("Note: Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds.") . "</div>" . "</p>";
+ print "<h3>" . __("Publish") . "</h3>";
+
+ print "<p>".__('Your OPML can be published publicly and can be subscribed by anyone who knows the URL below.') . " ";
+
+ print "<span class=\"insensitive\">" . __("Note: Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds.") . "</span>" . "</p>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return displayDlg('pubOPMLUrl')\">".
__('Display URL')."</button> ";
print "</div>"; #pane
- print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Published articles and generated feeds')."\">";
+ print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Published & shared articles and generated feeds')."\">";
+
+ print "<h3>" . __("Published articles and generated feeds") . "</h3>";
print "<p>".__('Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below.')."</p>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return clearFeedAccessKeys()\">".
__('Clear all generated URLs')."</button> ";
+ print "<h3>" . __("Articles shared by URL") . "</h3>";
+
+ print "<p>" . __("You can disable all articles shared by unique URLs here.") . "</p>";
+
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"return clearArticleAccessKeys()\">".
+ __('Unshare all articles')."</button> ";
+
print "</div>"; #pane
if (defined('CONSUMER_KEY') && CONSUMER_KEY != '') {