]> git.wh0rd.org - tt-rss.git/blobdiff - classes/dlg.php
remove xml stuff from backend/dlg
[tt-rss.git] / classes / dlg.php
index d6a3a0fbeb0816c464eb8d7322a78f03b4472123..d13a9ecb6891d8b1859ef073a7d9f76c3a7cdc04 100644 (file)
@@ -4,39 +4,15 @@ class Dlg extends Handler_Protected {
 
        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\">";
@@ -50,6 +26,8 @@ class Dlg extends Handler_Protected {
 
                $opml->opml_import($_SESSION["uid"]);
 
+               db_query($this->link, "COMMIT");
+
                print "</ul>";
                print "</div>";
 
@@ -181,10 +159,7 @@ class Dlg extends Handler_Protected {
        }
 
        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:");
 
@@ -201,15 +176,11 @@ class Dlg extends Handler_Protected {
                        __('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) {
@@ -238,7 +209,6 @@ class Dlg extends Handler_Protected {
                        __('Close this window')."</button>";
 
                print "</div>";
-               print "]]></content>";
 
                //return;
        }
@@ -247,16 +217,15 @@ class Dlg extends Handler_Protected {
                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/>";
@@ -291,8 +260,7 @@ class Dlg extends Handler_Protected {
                                " <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>";
 
 
@@ -320,7 +288,7 @@ class Dlg extends Handler_Protected {
        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\">";
@@ -328,8 +296,7 @@ class Dlg extends Handler_Protected {
                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>
@@ -355,6 +322,8 @@ class Dlg extends Handler_Protected {
 
                $owner_uid = $_SESSION["uid"];
 
+               require_once "feedbrowser.php";
+
                print "<ul class='browseFeedList' id='browseFeedList'>";
                print make_feed_browser($this->link, $search, 25);
                print "</ul>";
@@ -367,7 +336,7 @@ class Dlg extends Handler_Protected {
        }
 
        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";
@@ -376,27 +345,9 @@ class Dlg extends Handler_Protected {
 
                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:')." ";
 
@@ -435,7 +386,7 @@ class Dlg extends Handler_Protected {
 
                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>";
                }
 
@@ -477,9 +428,6 @@ class Dlg extends Handler_Protected {
        }
 
        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
@@ -541,18 +489,16 @@ class Dlg extends Handler_Protected {
                        __('Close this window')."</button>";
                print "</div>";
 
-               print "]]></content>";
        }
 
        function printTagSelect() {
 
-               print "<title>" . __('Select item(s) by tags') . "</title>";
-               print "<content><![CDATA[";
-
                print __("Match:"). "&nbsp;" .
-                         "<input class=\"noborder\" dojoType=\"dijit.form.RadioButton\" type=\"radio\" checked value=\"any\" name=\"tag_mode\">&nbsp;Any&nbsp;";
-               print "<input class=\"noborder\" dojoType=\"dijit.form.RadioButton\" type=\"radio\" value=\"all\" name=\"tag_mode\">&nbsp;All&nbsp;";
-               print "&nbsp;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 "&nbsp;";
+               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']."
@@ -574,23 +520,19 @@ class Dlg extends Handler_Protected {
                        __('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>";
@@ -605,7 +547,6 @@ class Dlg extends Handler_Protected {
                        __('Close this window')."</button>";
 
                print "</div>";
-               print "]]></content>";
 
                //return;
        }
@@ -616,26 +557,42 @@ class Dlg extends Handler_Protected {
                $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>";
 
        }
@@ -645,9 +602,7 @@ class Dlg extends Handler_Protected {
 
                $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\">";
@@ -719,29 +674,6 @@ class Dlg extends Handler_Protected {
                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\">";