function before($method) {
if (parent::before($method)) {
- header("Content-Type: text/xml; charset=utf-8");
- $this->param = db_escape_string($_REQUEST["param"]);
- print "<dlg>";
+ header("Content-Type: text/html"); # required for iframe
+
+ $this->param = db_escape_string($this->link, $_REQUEST["param"]);
return true;
}
return false;
}
- function after() {
- print "</dlg>";
- }
-
- function exportData() {
-
- print "<p style='text-align : center' id='export_status_message'>You need to prepare exported data first by clicking the button below.</p>";
-
- print "<div align='center'>";
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"dijit.byId('dataExportDlg').prepare()\">".
- __('Prepare data')."</button>";
-
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"dijit.byId('dataExportDlg').hide()\">".
- __('Close this window')."</button>";
-
- print "</div>";
-
-
- }
-
function importOpml() {
- header("Content-Type: text/html"); # required for iframe
-
print __("If you have imported labels and/or filters, you might need to reload preferences to see your new data.") . "</p>";
print "<div class=\"prefFeedOPMLHolder\">";
$opml->opml_import($_SESSION["uid"]);
+ db_query($this->link, "COMMIT");
+
print "</ul>";
print "</div>";
}
function pubOPMLUrl() {
- print "<title>".__('Public OPML URL')."</title>";
- print "<content><![CDATA[";
-
- $url_path = opml_publish_url($this->link);
+ $url_path = Opml::opml_publish_url($this->link);
print __("Your Public OPML URL is:");
__('Close this window')."</button>";
print "</div>";
- print "]]></content>";
//return;
}
function explainError() {
- print "<title>".__('Notice')."</title>";
- print "<content><![CDATA[";
-
print "<div class=\"errorExplained\">";
if ($this->param == 1) {
__('Close this window')."</button>";
print "</div>";
- print "]]></content>";
//return;
}
print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"rpc\">";
print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"addfeed\">";
- print "<div class=\"dlgSec\">".__("Feed")."</div>";
+ print "<div class=\"dlgSec\">".__("Feed or site URL")."</div>";
print "<div class=\"dlgSecCont\">";
print "<div style='float : right'>
<img style='display : none'
- id='feed_add_spinner' src='".
- theme_image($this->link, 'images/indicator_white.gif')."'></div>";
+ id='feed_add_spinner' src='images/indicator_white.gif'></div>";
print "<input style=\"font-size : 16px; width : 20em;\"
- placeHolder=\"".__("Feed URL")."\"
+ placeHolder=\"".__("Feed or site URL")."\"
dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" name=\"feed\" id=\"feedDlg_feedUrl\">";
print "<hr/>";
" <input
placeHolder=\"".__("Password")."\"
dojoType=\"dijit.form.TextBox\" type='password'
- style=\"width : 10em;\" name='pass'\">".
- " <p class='insensitive'>".__("OAuth will be used automatically for Twitter feeds.")."</p>
+ style=\"width : 10em;\" name='pass'\">
</div></div>";
function feedBrowser() {
if (defined('_DISABLE_FEED_BROWSER') && _DISABLE_FEED_BROWSER) return;
- $browser_search = db_escape_string($_REQUEST["search"]);
+ $browser_search = db_escape_string($this->link, $_REQUEST["search"]);
print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"rpc\">";
print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"updateFeedBrowser\">";
print "<div dojoType=\"dijit.Toolbar\">
<div style='float : right'>
<img style='display : none'
- id='feed_browser_spinner' src='".
- theme_image($this->link, 'images/indicator_white.gif')."'>
+ id='feed_browser_spinner' src='images/indicator_white.gif'>
<input name=\"search\" dojoType=\"dijit.form.TextBox\" size=\"20\" type=\"search\"
onchange=\"dijit.byId('feedBrowserDlg').update()\" value=\"$browser_search\">
<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('feedBrowserDlg').update()\">".__('Search')."</button>
$owner_uid = $_SESSION["uid"];
+ require_once "feedbrowser.php";
+
print "<ul class='browseFeedList' id='browseFeedList'>";
print make_feed_browser($this->link, $search, 25);
print "</ul>";
}
function search() {
- $this->params = explode(":", db_escape_string($_REQUEST["param"]), 2);
+ $this->params = explode(":", db_escape_string($this->link, $_REQUEST["param"]), 2);
$active_feed_id = sprintf("%d", $this->params[0]);
$is_cat = $this->params[1] != "false";
print "<div class=\"dlgSecCont\">";
- if (!SPHINX_ENABLED) {
-
- print "<input dojoType=\"dijit.form.ValidationTextBox\"
- style=\"font-size : 16px; width : 12em;\"
- required=\"1\" name=\"query\" type=\"search\" value=''>";
-
- print " " . __('match on')." ";
-
- $search_fields = array(
- "title" => __("Title"),
- "content" => __("Content"),
- "both" => __("Title or content"));
-
- print_select_hash("match_on", 3, $search_fields,
- 'dojoType="dijit.form.Select"');
- } else {
- print "<input dojoType=\"dijit.form.ValidationTextBox\"
- style=\"font-size : 16px; width : 20em;\"
- required=\"1\" name=\"query\" type=\"search\" value=''>";
- }
-
+ print "<input dojoType=\"dijit.form.ValidationTextBox\"
+ style=\"font-size : 16px; width : 20em;\"
+ required=\"1\" name=\"query\" type=\"search\" value=''>";
print "<hr/>".__('Limit search to:')." ";
if (!SPHINX_ENABLED) {
print "<div style=\"float : left\">
- <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/redmine/wiki/tt-rss/SearchSyntax\">Search syntax</a>
+ <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/wiki/SearchSyntax\">Search syntax</a>
</div>";
}
}
function printTagCloud() {
- print "<title>".__('Tag Cloud')."</title>";
- print "<content><![CDATA[";
-
print "<div class=\"tagCloudContainer\">";
// from here: http://www.roscripts.com/Create_tag_cloud-71.html
__('Close this window')."</button>";
print "</div>";
- print "]]></content>";
}
function printTagSelect() {
- print "<title>" . __('Select item(s) by tags') . "</title>";
- print "<content><![CDATA[";
-
print __("Match:"). " " .
- "<input class=\"noborder\" dojoType=\"dijit.form.RadioButton\" type=\"radio\" checked value=\"any\" name=\"tag_mode\"> Any ";
- print "<input class=\"noborder\" dojoType=\"dijit.form.RadioButton\" type=\"radio\" value=\"all\" name=\"tag_mode\"> All ";
- print " tags.";
+ "<input class=\"noborder\" dojoType=\"dijit.form.RadioButton\" type=\"radio\" checked value=\"any\" name=\"tag_mode\" id=\"tag_mode_any\">";
+ print "<label for=\"tag_mode_any\">".__("Any")."</label>";
+ print " ";
+ print "<input class=\"noborder\" dojoType=\"dijit.form.RadioButton\" type=\"radio\" value=\"all\" name=\"tag_mode\" id=\"tag_mode_all\">";
+ print "<label for=\"tag_mode_all\">".__("All tags.")."</input>";
print "<select id=\"all_tags\" name=\"all_tags\" title=\"" . __('Which Tags?') . "\" multiple=\"multiple\" size=\"10\" style=\"width : 100%\">";
$result = db_query($this->link, "SELECT DISTINCT tag_name FROM ttrss_tags WHERE owner_uid = ".$_SESSION['uid']."
__('Close this window') . "</button>";
print "</div>";
- print "]]></content>";
}
function generatedFeed() {
- print "<title>".__('View as RSS')."</title>";
- print "<content><![CDATA[";
-
$this->params = explode(":", $this->param, 3);
- $feed_id = db_escape_string($this->params[0]);
+ $feed_id = db_escape_string($this->link, $this->params[0]);
$is_cat = (bool) $this->params[1];
$key = get_feed_access_key($this->link, $feed_id, $is_cat);
$url_path = htmlspecialchars($this->params[2]) . "&key=" . $key;
- print "<div class=\"dialogNotice\">" . __("You can view this feed as RSS using the following URL:") . "</div>";
+ print "<h2>".__("You can view this feed as RSS using the following URL:")."</h2>";
print "<div class=\"tagCloudContainer\">";
print "<a id='gen_feed_url' href='$url_path' target='_blank'>$url_path</a>";
__('Close this window')."</button>";
print "</div>";
- print "]]></content>";
//return;
}
$version = $version_data['version'];
$id = $version_data['version_id'];
- print "<div class='tagCloudContainer'>";
+ if ($version && $id) {
+ print "<div class='tagCloudContainer'>";
- print T_sprintf("New version of Tiny Tiny RSS is available (%s).",
- "<b>$version</b>");
+ print T_sprintf("New version of Tiny Tiny RSS is available (%s).",
+ "<b>$version</b>");
- print "</div>";
+ print "</div>";
- $details = "http://tt-rss.org/redmine/versions/show/$id";
- $download = "http://tt-rss.org/#Download";
+ $details = "http://tt-rss.org/redmine/versions/$id";
+ $download = "http://tt-rss.org/#Download";
- print "<p align='center'>".__("You can update using built-in updater in the Preferences or by using update.php")."</p>";
+ print "<p align='center'>".__("You can update using built-in updater in the Preferences or by using update.php")."</p>";
- print "<div style='text-align : center'>";
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"return window.open('$details')\">".__("Details")."</button>";
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"return window.open('$download')\">".__("Download")."</button>";
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"return dijit.byId('newVersionDlg').hide()\">".
- __('Close this window')."</button>";
+ print "<div style='text-align : center'>";
+ print "<button dojoType=\"dijit.form.Button\"
+ onclick=\"return window.open('$details')\">".__("See the release notes")."</button>";
+ print "<button dojoType=\"dijit.form.Button\"
+ onclick=\"return window.open('$download')\">".__("Download")."</button>";
+ print "<button dojoType=\"dijit.form.Button\"
+ onclick=\"return dijit.byId('newVersionDlg').hide()\">".
+ __('Close this window')."</button>";
+
+ } else {
+ print "<div class='tagCloudContainer'>";
+
+ print "<p align='center'>".__("Error receiving version information or no new version available.")."</p>";
+
+ print "</div>";
+
+ print "<div style='text-align : center'>";
+ print "<button dojoType=\"dijit.form.Button\"
+ onclick=\"return dijit.byId('newVersionDlg').hide()\">".
+ __('Close this window')."</button>";
+ print "</div>";
+
+ }
print "</div>";
}
$value = str_replace("<br/>", "\n", $value);
- print "<div class=\"dialogNotice\">";
- print T_sprintf("You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline.", "tt-rss.css");
- print "</div>";
+ print_notice(T_sprintf("You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline.", "tt-rss.css"));
print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"rpc\">";
print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"setpref\">";
return;
}
- function dataImport() {
- header("Content-Type: text/html"); # required for iframe
-
- print "<div style='text-align : center'>";
-
- if (is_file($_FILES['export_file']['tmp_name'])) {
-
- perform_data_import($this->link, $_FILES['export_file']['tmp_name'], $_SESSION['uid']);
-
- } else {
- print "<p>" . T_sprintf("Could not upload file. You might need to adjust upload_max_filesize
- in PHP.ini (current value = %s)", ini_get("upload_max_filesize")) . " or use CLI import tool.</p>";
-
- }
-
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"dijit.byId('dataImportDlg').hide()\">".
- __('Close this window')."</button>";
-
- print "</div>";
-
- }
-
function batchSubscribe() {
print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"rpc\">";
print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"batchaddfeeds\">";