dialogs: use semantic markup instead of dlgsec stuff

continue unifying quoting style for html strings
master
Andrew Dolgov 6 years ago
parent e9f58427c0
commit 335147e572

@ -211,8 +211,6 @@ class Article extends Handler_Protected {
function editArticleTags() { function editArticleTags() {
print __("Tags for this article (separated by commas):")."<br>";
$param = clean($_REQUEST['param']); $param = clean($_REQUEST['param']);
$tags = Article::get_article_tags($param); $tags = Article::get_article_tags($param);
@ -223,23 +221,22 @@ class Article extends Handler_Protected {
print_hidden("op", "article"); print_hidden("op", "article");
print_hidden("method", "setArticleTags"); print_hidden("method", "setArticleTags");
print "<table width='100%'><tr><td>"; print "<header class='horizontal'>" . __("Tags for this article (separated by commas):")."</header>";
print "<textarea dojoType=\"dijit.form.SimpleTextarea\" rows='4' print "<section>";
style='height : 100px; font-size : 12px; width : 98%' id=\"tags_str\" print "<textarea dojoType='dijit.form.SimpleTextarea' rows='4'
style='height : 100px; font-size : 12px; width : 98%' id='tags_str'
name='tags_str'>$tags_str</textarea> name='tags_str'>$tags_str</textarea>
<div class=\"autocomplete\" id=\"tags_choices\" <div class='autocomplete' id='tags_choices'
style=\"display:none\"></div>"; style='display:none'></div>";
print "</section>";
print "</td></tr></table>";
print "<footer>";
print "<div class='dlgButtons'>"; print "<button dojoType='dijit.form.Button'
type='submit' class='alt-primary' onclick=\"dijit.byId('editTagsDlg').execute()\">".__('Save')."</button> ";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
onclick=\"dijit.byId('editTagsDlg').execute()\">".__('Save')."</button> ";
print "<button dojoType=\"dijit.form.Button\"
onclick=\"dijit.byId('editTagsDlg').hide()\">".__('Cancel')."</button>"; onclick=\"dijit.byId('editTagsDlg').hide()\">".__('Cancel')."</button>";
print "</div>"; print "</footer>";
} }

@ -149,13 +149,13 @@ class Backend extends Handler {
print "</ul>"; print "</ul>";
} }
print "<div class='dlgButtons'>"; print "<footer>";
print "<button dojoType='dijit.form.Button' style='float : left' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/InterfaceTips\")'> print "<button dojoType='dijit.form.Button' style='float : left' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/InterfaceTips\")'>
<i class='material-icons'>help</i> ".__("More info...")."</button>"; <i class='material-icons'>help</i> ".__("More info...")."</button>";
print "<button dojoType='dijit.form.Button' print "<button dojoType='dijit.form.Button'
onclick=\"return dijit.byId('helpDlg').hide()\">".__('Close this window')."</button>"; onclick=\"return dijit.byId('helpDlg').hide()\">".__('Close this window')."</button>";
print "</div>"; print "</footer>";
} }
} }

@ -14,7 +14,7 @@ class Dlg extends Handler_Protected {
} }
function importOpml() { function importOpml() {
print __("If you have imported labels and/or filters, you might need to reload preferences to see your new data.") . "</p>"; print_notice("If you have imported labels and/or filters, you might need to reload preferences to see your new data.");
print "<div class='panel panel-scrollable'>"; print "<div class='panel panel-scrollable'>";
@ -24,11 +24,11 @@ class Dlg extends Handler_Protected {
print "</div>"; print "</div>";
print "<div align='center'>"; print "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
onclick=\"dijit.byId('opmlImportDlg').execute()\">". onclick=\"dijit.byId('opmlImportDlg').execute()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footer>";
print "</div>"; print "</div>";
@ -38,25 +38,25 @@ class Dlg extends Handler_Protected {
function pubOPMLUrl() { function pubOPMLUrl() {
$url_path = Opml::opml_publish_url(); $url_path = Opml::opml_publish_url();
print "<div class='dlgSec'>" . __("Your Public OPML URL is:") . "</div>"; print "<header>" . __("Your Public OPML URL is:") . "</header>";
print "<div class='dlgSecCont'>"; print "<section>";
print "<div class='panel text-center'>"; print "<div class='panel text-center'>";
print "<a id='pub_opml_url' href='$url_path' target='_blank'>$url_path</a>"; print "<a id='pub_opml_url' href='$url_path' target='_blank'>$url_path</a>";
print "</div>"; print "</div>";
print "</div>"; print "</section>";
print "<div align='center'>"; print "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return Helpers.OPML.changeKey()\">". print "<button dojoType='dijit.form.Button' onclick=\"return Helpers.OPML.changeKey()\">".
__('Generate new URL')."</button> "; __('Generate new URL')."</button> ";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return CommonDialogs.closeInfoBox()\">". print "<button dojoType='dijit.form.Button' onclick=\"return CommonDialogs.closeInfoBox()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footer>";
//return; //return;
} }
@ -84,12 +84,10 @@ class Dlg extends Handler_Protected {
print "</div>"; print "</div>";
print "<div align='center'>"; print "<footer class='text-center'>";
print "<button onclick=\"return CommonDialogs.closeInfoBox()\">". print "<button onclick=\"return CommonDialogs.closeInfoBox()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</footer>";
print "</div>";
//return; //return;
} }
@ -149,11 +147,11 @@ class Dlg extends Handler_Protected {
print "</div>"; print "</div>";
print "<div align='center'>"; print "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
onclick=\"return CommonDialogs.closeInfoBox()\">". onclick=\"return CommonDialogs.closeInfoBox()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footer>";
} }
@ -169,15 +167,15 @@ class Dlg extends Handler_Protected {
$feed_title = Feeds::getFeedTitle($feed_id, $is_cat); $feed_title = Feeds::getFeedTitle($feed_id, $is_cat);
print "<div class='dlgSec'>".T_sprintf("%s can be accessed via the following secret URL:", $feed_title)."</div>"; print "<header>".T_sprintf("%s can be accessed via the following secret URL:", $feed_title)."</header>";
print "<div class='dlgSecCont'>"; print "<section>";
print "<div class='panel text-center'>"; print "<div class='panel text-center'>";
print "<a id='gen_feed_url' href='$url_path' target='_blank'>$url_path</a>"; print "<a id='gen_feed_url' href='$url_path' target='_blank'>$url_path</a>";
print "</div>"; print "</div>";
print "</div>"; print "</section>";
print "<div class='dlgButtons'>"; print "<footer>";
print "<button dojoType='dijit.form.Button' style='float : left' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/GeneratedFeeds\")'> print "<button dojoType='dijit.form.Button' style='float : left' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/GeneratedFeeds\")'>
<i class='material-icons'>help</i> ".__("More info...")."</button>"; <i class='material-icons'>help</i> ".__("More info...")."</button>";
@ -188,7 +186,7 @@ class Dlg extends Handler_Protected {
print "<button dojoType='dijit.form.Button' onclick=\"return CommonDialogs.closeInfoBox()\">". print "<button dojoType='dijit.form.Button' onclick=\"return CommonDialogs.closeInfoBox()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footer>";
//return; //return;
} }
@ -197,12 +195,12 @@ class Dlg extends Handler_Protected {
print_warning(__("You are using default tt-rss password. Please change it in the Preferences (Personal data / Authentication).")); print_warning(__("You are using default tt-rss password. Please change it in the Preferences (Personal data / Authentication)."));
print "<div align='center'>"; print "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"document.location.href = 'prefs.php'\">". print "<button dojoType='dijit.form.Button' onclick=\"document.location.href = 'prefs.php'\">".
__('Open Preferences')."</button> "; __('Open Preferences')."</button> ";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
onclick=\"return CommonDialogs.closeInfoBox()\">". onclick=\"return CommonDialogs.closeInfoBox()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footeer>";
} }
} }

@ -645,18 +645,13 @@ class Feeds extends Handler_Protected {
print_notice("Provided URL is a HTML page referencing multiple feeds, please select required feed from the dropdown menu below."); print_notice("Provided URL is a HTML page referencing multiple feeds, please select required feed from the dropdown menu below.");
print "<p></div>"; print "<p></div>";
//print "<div class=\"dlgSec\">".__("Feed or site URL")."</div>"; print "<section>";
print "<div class=\"dlgSecCont\">";
print "<div style='float : right'>
<img style='display : none'
id='feed_add_spinner' src='images/indicator_white.gif'></div>";
print "<fieldset>"; print "<fieldset>";
print "<div style='float : right'><img style='display : none' id='feed_add_spinner' src='images/indicator_white.gif'></div>";
print "<input style=\"font-size : 16px; width : 540px;\" print "<input style='font-size : 16px; width : 500px;'
placeHolder=\"".__("Feed or site URL")."\" placeHolder=\"".__("Feed or site URL")."\"
dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" name=\"feed\" id=\"feedDlg_feedUrl\">"; dojoType='dijit.form.ValidationTextBox' required='1' name='feed' id='feedDlg_feedUrl'>";
print "</fieldset>"; print "</fieldset>";
@ -669,12 +664,11 @@ class Feeds extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
print '<div id="feedDlg_feedsContainer" style="display : none"> print '<div id="feedDlg_feedsContainer" style="display : none">
<header>' . __('Available feeds') . '</header>
<div class="dlgSec">' . __('Available feeds') . '</div> <section>
<div class="dlgSecCont">
<fieldset> <fieldset>
<select id="feedDlg_feedContainerSelect" <select id="feedDlg_feedContainerSelect"
dojoType="dijit.form.Select" size="3"> dojoType="dijit.form.Select" size="3">
@ -683,46 +677,45 @@ class Feeds extends Handler_Protected {
</script> </script>
</select> </select>
</fieldset> </fieldset>
</div></div>'; </section>
</div>';
print "<div id='feedDlg_loginContainer' style='display : none'> print "<div id='feedDlg_loginContainer' style='display : none'>
<header>".__("Authentication")."</header>
<div class=\"dlgSec\">".__("Authentication")."</div> <section>
<div class=\"dlgSecCont\">
<fieldset> <fieldset>
<input dojoType=\"dijit.form.TextBox\" name='login'\" <input dojoType=\"dijit.form.TextBox\" name='login'\"
placeHolder=\"".__("Login")."\" placeHolder=\"".__("Login")."\"
autocomplete=\"new-password\" autocomplete=\"new-password\"
style=\"width : 10em;\"> style=\"width : 10em;\">
</fieldset><fieldset>
<input <input
placeHolder=\"".__("Password")."\" placeHolder=\"".__("Password")."\"
dojoType=\"dijit.form.TextBox\" type='password' dojoType=\"dijit.form.TextBox\" type='password'
autocomplete=\"new-password\" autocomplete=\"new-password\"
style=\"width : 10em;\" name='pass'\"> style=\"width : 10em;\" name='pass'\">
</fieldset> </fieldset>
</div></div>"; </section>
</div>";
print "<div style=\"clear : both\"> print "<section>";
<input type=\"checkbox\" name=\"need_auth\" dojoType=\"dijit.form.CheckBox\" id=\"feedDlg_loginCheck\" print "<label>
<label class='checkbox'><input type='checkbox' name='need_auth' dojoType='dijit.form.CheckBox' id='feedDlg_loginCheck'
onclick='displayIfChecked(this, \"feedDlg_loginContainer\")'> onclick='displayIfChecked(this, \"feedDlg_loginContainer\")'>
<label for=\"feedDlg_loginCheck\">". ".__('This feed requires authentication.')."</label>";
__('This feed requires authentication.')."</div>"; print "</section>";
print "<div class=\"dlgButtons\"> print "<footer>";
<button dojoType=\"dijit.form.Button\" class=\"alt-primary\" type=\"submit\" onclick=\"return dijit.byId('feedAddDlg').execute()\">".__('Subscribe')."</button>"; print "<button dojoType='dijit.form.Button' class='alt-primary' type='submit'
onclick=\"return dijit.byId('feedAddDlg').execute()\">".__('Subscribe')."</button>";
if (!(defined('_DISABLE_FEED_BROWSER') && _DISABLE_FEED_BROWSER)) { if (!(defined('_DISABLE_FEED_BROWSER') && _DISABLE_FEED_BROWSER)) {
print "<button dojoType=\"dijit.form.Button\" onclick=\"return CommonDialogs.feedBrowser()\">".__('More feeds')."</button>"; print "<button dojoType='dijit.form.Button' onclick=\"return CommonDialogs.feedBrowser()\">".__('More feeds')."</button>";
} }
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedAddDlg').hide()\">".__('Cancel')."</button> print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('feedAddDlg').hide()\">".__('Cancel')."</button>";
</div>"; print "</footer>";
print "</form>"; print "</form>";
//return;
} }
function feedBrowser() { function feedBrowser() {
@ -737,19 +730,19 @@ class Feeds extends Handler_Protected {
<div style='float : right'> <div style='float : right'>
<img style='display : none' <img style='display : none'
id='feed_browser_spinner' src='images/indicator_white.gif'> id='feed_browser_spinner' src='images/indicator_white.gif'>
<input name=\"search\" dojoType=\"dijit.form.TextBox\" size=\"20\" type=\"search\" <input name='search' dojoType='dijit.form.TextBox' size='20' type='search'
onchange=\"dijit.byId('feedBrowserDlg').update()\" value=\"$browser_search\"> onchange=\"dijit.byId('feedBrowserDlg').update()\" value=\"$browser_search\">
<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('feedBrowserDlg').update()\">".__('Search')."</button> <button dojoType='dijit.form.Button' onclick=\"dijit.byId('feedBrowserDlg').update()\">".__('Search')."</button>
</div>"; </div>";
print " <select name=\"mode\" dojoType=\"dijit.form.Select\" onchange=\"dijit.byId('feedBrowserDlg').update()\"> print " <select name='mode' dojoType='dijit.form.Select' onchange=\"dijit.byId('feedBrowserDlg').update()\">
<option value='1'>" . __('Popular feeds') . "</option> <option value='1'>" . __('Popular feeds') . "</option>
<option value='2'>" . __('Feed archive') . "</option> <option value='2'>" . __('Feed archive') . "</option>
</select> "; </select> ";
print __("limit:"); print __("limit:");
print " <select dojoType=\"dijit.form.Select\" name=\"limit\" onchange=\"dijit.byId('feedBrowserDlg').update()\">"; print " <select dojoType='dijit.form.Select' name='limit' onchange=\"dijit.byId('feedBrowserDlg').update()\">";
foreach (array(25, 50, 100, 200) as $l) { foreach (array(25, 50, 100, 200) as $l) {
//$issel = ($l == $limit) ? "selected=\"1\"" : ""; //$issel = ($l == $limit) ? "selected=\"1\"" : "";
@ -766,10 +759,11 @@ class Feeds extends Handler_Protected {
print make_feed_browser("", 25); print make_feed_browser("", 25);
print "</ul>"; print "</ul>";
print "<div align='center'> print "<footer class='text-center'>
<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('feedBrowserDlg').execute()\">".__('Subscribe')."</button> <button dojoType='dijit.form.Button' type='submit' class='alt-primary' onclick=\"dijit.byId('feedBrowserDlg').execute()\">".__('Subscribe')."</button>
<button dojoType=\"dijit.form.Button\" style='display : none' id='feed_archive_remove' onclick=\"dijit.byId('feedBrowserDlg').removeFromArchive()\">".__('Remove')."</button> <button dojoType='dijit.form.Button' style='display : none' id='feed_archive_remove' onclick=\"dijit.byId('feedBrowserDlg').removeFromArchive()\">".__('Remove')."</button>
<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('feedBrowserDlg').hide()\" >".__('Cancel')."</button></div>"; <button dojoType='dijit.form.Button' onclick=\"dijit.byId('feedBrowserDlg').hide()\" >".__('Cancel')."</button>
</footer>";
} }
@ -781,18 +775,15 @@ class Feeds extends Handler_Protected {
print "<form onsubmit='return false;'>"; print "<form onsubmit='return false;'>";
//print "<div class=\"dlgSec\">".__('Look for')."</div>"; print "<section>";
print "<div class=\"dlgSecCont\">";
print "<fieldset>"; print "<fieldset>";
print "<input dojoType=\"dijit.form.ValidationTextBox\" print "<input dojoType='dijit.form.ValidationTextBox'
style=\"font-size : 16px; width : 540px;\" style='font-size : 16px; width : 540px;'
placeHolder=\"".T_sprintf("Search %s...", $this->getFeedTitle($active_feed_id, $is_cat))."\" placeHolder=\"".T_sprintf("Search %s...", $this->getFeedTitle($active_feed_id, $is_cat))."\"
required=\"1\" name=\"query\" type=\"search\" value=''>"; required='1' name='query' type='search' value=''>";
print "</fieldset>"; print "</fieldset>";
if (DB_TYPE == "pgsql") { if (DB_TYPE == "pgsql") {
print "<fieldset>"; print "<fieldset>";
print "<label>" . __("Language:") . "</label>"; print "<label>" . __("Language:") . "</label>";
@ -801,18 +792,19 @@ class Feeds extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
} }
print "</div>"; print "</section>";
print "<div class=\"dlgButtons\">"; print "<footer>";
if (count(PluginHost::getInstance()->get_hooks(PluginHost::HOOK_SEARCH)) == 0) { if (count(PluginHost::getInstance()->get_hooks(PluginHost::HOOK_SEARCH)) == 0) {
print "<button dojoType='dijit.form.Button' style='float : left' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/SearchSyntax\")'> print "<button dojoType='dijit.form.Button' style='float : left' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/SearchSyntax\")'>
<i class='material-icons'>help</i> ".__("Search syntax")."</button>"; <i class='material-icons'>help</i> ".__("Search syntax")."</button>";
} }
print "<button dojoType=\"dijit.form.Button\" type=\"submit\" class=\"alt-primary\" onclick=\"dijit.byId('searchDlg').execute()\">".__('Search')."</button> print "<button dojoType='dijit.form.Button' type='submit' class='alt-primary' onclick=\"dijit.byId('searchDlg').execute()\">".__('Search')."</button>
<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('searchDlg').hide()\">".__('Cancel')."</button> <button dojoType='dijit.form.Button' onclick=\"dijit.byId('searchDlg').hide()\">".__('Cancel')."</button>";
</div>";
print "</footer>";
print "</form>"; print "</form>";
} }

@ -531,16 +531,16 @@ class Pref_Feeds extends Handler_Protected {
print_hidden("op", "pref-feeds"); print_hidden("op", "pref-feeds");
print_hidden("method", "editSave"); print_hidden("method", "editSave");
print "<div class=\"dlgSec\">".__("Feed")."</div>"; print "<header>".__("Feed")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
/* Title */ /* Title */
print "<fieldset>"; print "<fieldset>";
print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" print "<input dojoType='dijit.form.ValidationTextBox' required='1'
placeHolder=\"".__("Feed Title")."\" placeHolder=\"".__("Feed Title")."\"
style=\"font-size : 16px; width: 500px\" name=\"title\" value=\"$title\">"; style='font-size : 16px; width: 500px' name='title' value=\"$title\">";
print "</fieldset>"; print "</fieldset>";
@ -551,10 +551,10 @@ class Pref_Feeds extends Handler_Protected {
print "<fieldset>"; print "<fieldset>";
print "<label>" . __('URL:') . "</label> "; print "<label>" . __('URL:') . "</label> ";
print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" print "<input dojoType='dijit.form.ValidationTextBox' required='1'
placeHolder=\"".__("Feed URL")."\" placeHolder=\"".__("Feed URL")."\"
regExp='^(http|https)://.*' style=\"width : 300px\" regExp='^(http|https)://.*' style='width : 300px'
name=\"feed_url\" value=\"$feed_url\">"; name='feed_url' value=\"$feed_url\">";
$last_error = $row["last_error"]; $last_error = $row["last_error"];
@ -588,10 +588,10 @@ class Pref_Feeds extends Handler_Protected {
print "<fieldset>"; print "<fieldset>";
print "<label>" . __('Site URL:') . "</label> "; print "<label>" . __('Site URL:') . "</label> ";
print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" print "<input dojoType='dijit.form.ValidationTextBox' required='1'
placeHolder=\"".__("Site URL")."\" placeHolder=\"".__("Site URL")."\"
regExp='^(http|https)://.*' style=\"width : 300px\" regExp='^(http|https)://.*' style='width : 300px'
name=\"site_url\" value=\"$site_url\">"; name='site_url' value=\"$site_url\">";
print "</fieldset>"; print "</fieldset>";
@ -609,10 +609,10 @@ class Pref_Feeds extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
} }
print "</div>"; print "</section>";
print "<div class=\"dlgSec\">".__("Update")."</div>"; print "<header>".__("Update")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
/* Update Interval */ /* Update Interval */
@ -641,7 +641,7 @@ class Pref_Feeds extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
$auth_login = htmlspecialchars($row["auth_login"]); $auth_login = htmlspecialchars($row["auth_login"]);
$auth_pass = htmlspecialchars($row["auth_pass"]); $auth_pass = htmlspecialchars($row["auth_pass"]);
@ -650,44 +650,39 @@ class Pref_Feeds extends Handler_Protected {
$auth_style = $auth_enabled ? '' : 'display: none'; $auth_style = $auth_enabled ? '' : 'display: none';
print "<div id='feedEditDlg_loginContainer' style='$auth_style'>"; print "<div id='feedEditDlg_loginContainer' style='$auth_style'>";
print "<div class=\"dlgSec\">".__("Authentication")."</div>"; print "<header>".__("Authentication")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
print "<fieldset>"; print "<fieldset>";
print "<input dojoType=\"dijit.form.TextBox\" id=\"feedEditDlg_login\" print "<input dojoType='dijit.form.TextBox' id='feedEditDlg_login'
placeHolder=\"".__("Login")."\" placeHolder='".__("Login")."'
autocomplete=\"new-password\" autocomplete='new-password'
name=\"auth_login\" value=\"$auth_login\">"; name='auth_login' value=\"$auth_login\">";
print "</fieldset>"; print "</fieldset><fieldset>";
print "<fieldset>";
print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" name=\"auth_pass\" print "<input dojoType='dijit.form.TextBox' type='password' name='auth_pass'
autocomplete=\"new-password\" autocomplete='new-password'
placeHolder=\"".__("Password")."\" placeHolder='".__("Password")."'
value=\"$auth_pass\">"; value=\"$auth_pass\">";
print "<div dojoType=\"dijit.Tooltip\" connectId=\"feedEditDlg_login\" position=\"below\"> print "<div dojoType='dijit.Tooltip' connectId='feedEditDlg_login' position='below'>
".__('<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds.')." ".__('<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds.')."
</div>"; </div>";
print "</fieldset>"; print "</fieldset>";
print "</div></div>"; print "</section></div>";
$auth_checked = $auth_enabled ? 'checked' : ''; $auth_checked = $auth_enabled ? 'checked' : '';
print "<div style=\"clear : both\"> print "<label class='checkbox'>
<input type=\"checkbox\" $auth_checked name=\"need_auth\" dojoType=\"dijit.form.CheckBox\" id=\"feedEditDlg_loginCheck\" <input type='checkbox' $auth_checked name='need_auth' dojoType='dijit.form.CheckBox' id='feedEditDlg_loginCheck'
onclick='displayIfChecked(this, \"feedEditDlg_loginContainer\")'> onclick='displayIfChecked(this, \"feedEditDlg_loginContainer\")'>
<label for=\"feedEditDlg_loginCheck\">". ".__('This feed requires authentication.')."</label>";
__('This feed requires authentication.')."</div>";
print '</div><div dojoType="dijit.layout.ContentPane" title="'.__('Options').'">'; print '</div><div dojoType="dijit.layout.ContentPane" title="'.__('Options').'">';
//print "<div class=\"dlgSec\">".__("Options")."</div>";
print "<div class=\"dlgSecSimple\">";
$private = $row["private"]; $private = $row["private"];
if ($private) { if ($private) {
@ -745,9 +740,8 @@ class Pref_Feeds extends Handler_Protected {
print "<fieldset class='narrow'>"; print "<fieldset class='narrow'>";
print "<label class='checkbox'><input dojoType=\"dijit.form.CheckBox\" type=\"checkbox\" id=\"hide_images\" print "<label class='checkbox'><input dojoType='dijit.form.CheckBox' type='checkbox' id='hide_images'
name=\"hide_images\" name='hide_images' $checked> ".__('Do not embed media')."</label>";
$checked> ".__('Do not embed media')."</label>";
print "</fieldset>"; print "</fieldset>";
@ -761,9 +755,8 @@ class Pref_Feeds extends Handler_Protected {
print "<fieldset class='narrow'>"; print "<fieldset class='narrow'>";
print "<label class='checkbox'><input dojoType=\"dijit.form.CheckBox\" type=\"checkbox\" id=\"cache_images\" print "<label class='checkbox'><input dojoType='dijit.form.CheckBox' type='checkbox' id='cache_images'
name=\"cache_images\" name='cache_images' $checked> ". __('Cache media')."</label>";
$checked> ". __('Cache media')."</label>";
print "</fieldset>"; print "</fieldset>";
@ -777,42 +770,35 @@ class Pref_Feeds extends Handler_Protected {
print "<fieldset class='narrow'>"; print "<fieldset class='narrow'>";
print "<label class='checkbox'><input dojoType=\"dijit.form.CheckBox\" type=\"checkbox\" id=\"mark_unread_on_update\" print "<label class='checkbox'><input dojoType='dijit.form.CheckBox' type='checkbox' id='mark_unread_on_update'
name=\"mark_unread_on_update\" name='mark_unread_on_update' $checked> ".__('Mark updated articles as unread')."</label>";
$checked> ".__('Mark updated articles as unread')."</label>";
print "</fieldset>"; print "</fieldset>";
print "</div>";
print '</div><div dojoType="dijit.layout.ContentPane" title="'.__('Icon').'">'; print '</div><div dojoType="dijit.layout.ContentPane" title="'.__('Icon').'">';
/* Icon */ /* Icon */
print "<div class=\"dlgSecSimple\">"; print "<img class='feedIcon' src=\"".Feeds::getFeedIcon($feed_id)."\">";
print "<img class=\"feedIcon\" src=\"".Feeds::getFeedIcon($feed_id)."\">";
print "<iframe name=\"icon_upload_iframe\" print "<iframe name='icon_upload_iframe'
style=\"width: 400px; height: 100px; display: none;\"></iframe>"; style='width: 400px; height: 100px; display: none;'></iframe>";
print "<form style='display : block' target=\"icon_upload_iframe\" print "<form style='display : block' target='icon_upload_iframe'
enctype=\"multipart/form-data\" method=\"POST\" enctype='multipart/form-data' method='POST'
action=\"backend.php\"> action='backend.php'>
<label class=\"dijitButton\">".__("Choose file...")." <label class='dijitButton'>".__("Choose file...")."
<input style=\"display: none\" id=\"icon_file\" size=\"10\" name=\"icon_file\" type=\"file\"> <input style='display: none' id='icon_file' size='10' name='icon_file' type='file'>
</label> </label>
<input type=\"hidden\" name=\"op\" value=\"pref-feeds\"> <input type='hidden' name='op' value='pref-feeds'>
<input type=\"hidden\" name=\"feed_id\" value=\"$feed_id\"> <input type='hidden' name='feed_id' value=\"$feed_id\">
<input type=\"hidden\" name=\"method\" value=\"uploadicon\"> <input type='hidden' name='method' value=\"uploadicon\">
<button class=\"\" dojoType=\"dijit.form.Button\" onclick=\"return CommonDialogs.uploadFeedIcon();\" <button dojoType='dijit.form.Button' onclick=\"return CommonDialogs.uploadFeedIcon();\"
type=\"submit\">".__('Replace')."</button> type='submit'>".__('Replace')."</button>
<button class=\"alt-danger\" dojoType=\"dijit.form.Button\" onclick=\"return CommonDialogs.removeFeedIcon($feed_id);\" <button class='alt-danger' dojoType='dijit.form.Button' onclick=\"return CommonDialogs.removeFeedIcon($feed_id);\"
type=\"submit\">".__('Remove')."</button> type='submit'>".__('Remove')."</button>
</form>"; </form>";
print "</div>";
print '</div><div dojoType="dijit.layout.ContentPane" title="'.__('Plugins').'">'; print '</div><div dojoType="dijit.layout.ContentPane" title="'.__('Plugins').'">';
PluginHost::getInstance()->run_hooks(PluginHost::HOOK_PREFS_EDIT_FEED, PluginHost::getInstance()->run_hooks(PluginHost::HOOK_PREFS_EDIT_FEED,
@ -822,16 +808,12 @@ class Pref_Feeds extends Handler_Protected {
$title = htmlspecialchars($title, ENT_QUOTES); $title = htmlspecialchars($title, ENT_QUOTES);
print "<div class='dlgButtons'> print "<footer>
<div style=\"float : left\"> <button style='float : left' class='alt-danger' dojoType='dijit.form.Button' onclick='return CommonDialogs.unsubscribeFeed($feed_id, \"$title\")'>".
<button class=\"alt-danger\" dojoType=\"dijit.form.Button\" onclick='return CommonDialogs.unsubscribeFeed($feed_id, \"$title\")'>". __('Unsubscribe')."</button>
__('Unsubscribe')."</button>"; <button dojoType='dijit.form.Button' onclick=\"return dijit.byId('feedEditDlg').execute()\">".__('Save')."</button>
<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('feedEditDlg').hide()\">".__('Cancel')."</button>
print "</div>"; </footer>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').execute()\">".__('Save')."</button>
<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').hide()\">".__('Cancel')."</button>
</div>";
} }
} }
@ -849,8 +831,8 @@ class Pref_Feeds extends Handler_Protected {
print_hidden("op", "pref-feeds"); print_hidden("op", "pref-feeds");
print_hidden("method", "batchEditSave"); print_hidden("method", "batchEditSave");
print "<div class=\"dlgSec\">".__("Feed")."</div>"; print "<header>".__("Feed")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
/* Category */ /* Category */
@ -882,10 +864,10 @@ class Pref_Feeds extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
} }
print "</div>"; print "</section>";
print "<div class=\"dlgSec\">".__("Update")."</div>"; print "<header>".__("Update")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
/* Update Interval */ /* Update Interval */
@ -916,93 +898,85 @@ class Pref_Feeds extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
} }
print "</div>"; print "</section>";
print "<div class=\"dlgSec\">".__("Authentication")."</div>"; print "<header>".__("Authentication")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
print "<fieldset>"; print "<fieldset>";
print "<input dojoType=\"dijit.form.TextBox\" print "<input dojoType='dijit.form.TextBox'
placeHolder=\"".__("Login")."\" disabled=\"1\" placeHolder=\"".__("Login")."\" disabled='1'
autocomplete=\"new-password\" autocomplete='new-password'
name=\"auth_login\" value=\"\">"; name='auth_login' value=''>";
$this->batch_edit_cbox("auth_login"); $this->batch_edit_cbox("auth_login");
print "</fieldset>"; print "<input dojoType='dijit.form.TextBox' type='password' name='auth_pass'
print "<fieldset>"; autocomplete='new-password'
placeHolder=\"".__("Password")."\" disabled='1'
print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" name=\"auth_pass\" value=''>";
autocomplete=\"new-password\"
placeHolder=\"".__("Password")."\" disabled=\"1\"
value=\"\">";
$this->batch_edit_cbox("auth_pass"); $this->batch_edit_cbox("auth_pass");
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
print "<div class=\"dlgSec\">".__("Options")."</div>"; print "<header>".__("Options")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
print "<fieldset class='narrow'>"; print "<fieldset class='narrow'>";
print "<label class='checkbox'><input disabled=\"1\" type=\"checkbox\" name=\"private\" id=\"private\" print "<label class='checkbox'><input disabled='1' type='checkbox' name='private' id='private'
dojoType=\"dijit.form.CheckBox\">&nbsp;".__('Hide from Popular feeds')."</label>"; dojoType='dijit.form.CheckBox'>&nbsp;".__('Hide from Popular feeds')."</label>";
print "&nbsp;"; $this->batch_edit_cbox("private", "private_l"); print "&nbsp;"; $this->batch_edit_cbox("private", "private_l");
print "</fieldset><fieldset class='narrow'>"; print "</fieldset><fieldset class='narrow'>";
print "<label class='checkbox'><input disabled=\"1\" type=\"checkbox\" id=\"include_in_digest\" print "<label class='checkbox'><input disabled='1' type='checkbox' id='include_in_digest'
name=\"include_in_digest\" name='include_in_digest' dojoType='dijit.form.CheckBox'>&nbsp;".__('Include in e-mail digest')."</label>";
dojoType=\"dijit.form.CheckBox\">&nbsp;".__('Include in e-mail digest')."</label>";
print "&nbsp;"; $this->batch_edit_cbox("include_in_digest", "include_in_digest_l"); print "&nbsp;"; $this->batch_edit_cbox("include_in_digest", "include_in_digest_l");
print "</fieldset><fieldset class='narrow'>"; print "</fieldset><fieldset class='narrow'>";
print "<label class='checkbox'><input disabled=\"1\" type=\"checkbox\" id=\"always_display_enclosures\" print "<label class='checkbox'><input disabled='1' type='checkbox' id='always_display_enclosures'
name=\"always_display_enclosures\" name='always_display_enclosures' dojoType='dijit.form.CheckBox'>&nbsp;".__('Always display image attachments')."</label>";
dojoType=\"dijit.form.CheckBox\">&nbsp;".__('Always display image attachments')."</label>";
print "&nbsp;"; $this->batch_edit_cbox("always_display_enclosures", "always_display_enclosures_l"); print "&nbsp;"; $this->batch_edit_cbox("always_display_enclosures", "always_display_enclosures_l");
print "</fieldset><fieldset class='narrow'>"; print "</fieldset><fieldset class='narrow'>";
print "<label class='checkbox'><input disabled=\"1\" type=\"checkbox\" id=\"hide_images\" print "<label class='checkbox'><input disabled='1' type='checkbox' id='hide_images'
name=\"hide_images\" name='hide_images' dojoType='dijit.form.CheckBox'>&nbsp;". __('Do not embed media')."</label>";
dojoType=\"dijit.form.CheckBox\">&nbsp;". __('Do not embed media')."</label>";
print "&nbsp;"; $this->batch_edit_cbox("hide_images", "hide_images_l"); print "&nbsp;"; $this->batch_edit_cbox("hide_images", "hide_images_l");
print "</fieldset><fieldset class='narrow'>"; print "</fieldset><fieldset class='narrow'>";
print "<label class='checkbox'><input disabled=\"1\" type=\"checkbox\" id=\"cache_images\" print "<label class='checkbox'><input disabled='1' type='checkbox' id='cache_images'
name=\"cache_images\" name='cache_images' dojoType='dijit.form.CheckBox'>&nbsp;".__('Cache media')."</label>";
dojoType=\"dijit.form.CheckBox\">&nbsp;".__('Cache media')."</label>";
print "&nbsp;"; $this->batch_edit_cbox("cache_images", "cache_images_l"); print "&nbsp;"; $this->batch_edit_cbox("cache_images", "cache_images_l");
print "</fieldset><fieldset class='narrow'>"; print "</fieldset><fieldset class='narrow'>";
print "<label class='checkbox'><input disabled=\"1\" type=\"checkbox\" id=\"mark_unread_on_update\" print "<label class='checkbox'><input disabled='1' type='checkbox' id='mark_unread_on_update'
name=\"mark_unread_on_update\" name='mark_unread_on_update' dojoType='dijit.form.CheckBox'>&nbsp;".__('Mark updated articles as unread')."</label>";
dojoType=\"dijit.form.CheckBox\">&nbsp;".__('Mark updated articles as unread')."</label>";
print "&nbsp;"; $this->batch_edit_cbox("mark_unread_on_update", "mark_unread_on_update_l"); print "&nbsp;"; $this->batch_edit_cbox("mark_unread_on_update", "mark_unread_on_update_l");
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
print "<div class='dlgButtons'> print "<footer>
<button dojoType=\"dijit.form.Button\" type='submit' class='alt-primary' <button dojoType='dijit.form.Button' type='submit' class='alt-primary'
onclick=\"return dijit.byId('feedEditDlg').execute()\">". onclick=\"return dijit.byId('feedEditDlg').execute()\">".
__('Save')."</button> __('Save')."</button>
<button dojoType=\"dijit.form.Button\" <button dojoType='dijit.form.Button'
onclick=\"return dijit.byId('feedEditDlg').hide()\">". onclick=\"return dijit.byId('feedEditDlg').hide()\">".
__('Cancel')."</button> __('Cancel')."</button>
</div>"; </footer>";
return; return;
} }
@ -1499,16 +1473,14 @@ class Pref_Feeds extends Handler_Protected {
ORDER BY last_article"); ORDER BY last_article");
$sth->execute([$_SESSION['uid']]); $sth->execute([$_SESSION['uid']]);
print "<p" .__("These feeds have not been updated with new content for 3 months (oldest first):") . "</p>"; print "<div dojoType='dijit.Toolbar'>";
print "<div dojoType='dijit.form.DropDownButton'>".
print "<div dojoType=\"dijit.Toolbar\">";
print "<div dojoType=\"dijit.form.DropDownButton\">".
"<span>" . __('Select')."</span>"; "<span>" . __('Select')."</span>";
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; print "<div dojoType='dijit.Menu' style='display: none'>";
print "<div onclick=\"Tables.select('inactive-feeds-list', true)\" print "<div onclick=\"Tables.select('inactive-feeds-list', true)\"
dojoType=\"dijit.MenuItem\">".__('All')."</div>"; dojoType='dijit.MenuItem'>".__('All')."</div>";
print "<div onclick=\"Tables.select('inactive-feeds-list', false)\" print "<div onclick=\"Tables.select('inactive-feeds-list', false)\"
dojoType=\"dijit.MenuItem\">".__('None')."</div>"; dojoType='dijit.MenuItem'>".__('None')."</div>";
print "</div></div>"; print "</div></div>";
print "</div>"; #toolbar print "</div>"; #toolbar
@ -1524,16 +1496,16 @@ class Pref_Feeds extends Handler_Protected {
print "<tr data-row-id='$feed_id'>"; print "<tr data-row-id='$feed_id'>";
print "<td width='5%' align='center'><input print "<td width='5%' align='center'><input
onclick='Tables.onRowChecked(this);' dojoType=\"dijit.form.CheckBox\" onclick='Tables.onRowChecked(this);' dojoType='dijit.form.CheckBox'
type=\"checkbox\"></td>"; type='checkbox'></td>";
print "<td>"; print "<td>";
print "<a class=\"visibleLink\" href=\"#\" ". print "<a href='#' ".
"title=\"".__("Click to edit feed")."\" ". "title=\"".__("Click to edit feed")."\" ".
"onclick=\"CommonDialogs.editFeed(".$line["id"].")\">". "onclick=\"CommonDialogs.editFeed(".$line["id"].")\">".
htmlspecialchars($line["title"])."</a>"; htmlspecialchars($line["title"])."</a>";
print "</td><td class=\"insensitive\" align='right'>"; print "</td><td class='insensitive' align='right'>";
print make_local_datetime($line['last_article'], false); print make_local_datetime($line['last_article'], false);
print "</td>"; print "</td>";
print "</tr>"; print "</tr>";
@ -1544,16 +1516,12 @@ class Pref_Feeds extends Handler_Protected {
print "</table>"; print "</table>";
print "</div>"; print "</div>";
print "<div class='dlgButtons'>"; print "<footer>
print "<div style='float : left'>"; <button style='float : left' class=\"alt-danger\" dojoType='dijit.form.Button' onclick=\"dijit.byId('inactiveFeedsDlg').removeSelected()\">"
print "<button class=\"alt-danger\" dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('inactiveFeedsDlg').removeSelected()\">" .__('Unsubscribe from selected feeds')."</button>
.__('Unsubscribe from selected feeds')."</button> "; <button dojoType='dijit.form.Button' onclick=\"dijit.byId('inactiveFeedsDlg').hide()\">"
print "</div>"; .__('Close this window')."</button>
</footer>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('inactiveFeedsDlg').hide()\">".
__('Close this window')."</button>";
print "</div>";
} }
@ -1607,16 +1575,14 @@ class Pref_Feeds extends Handler_Protected {
print "</table>"; print "</table>";
print "</div>"; print "</div>";
print "<div class='dlgButtons'>"; print "<footer>";
print "<div style='float : left'>"; print "<button style='float : left' class=\"alt-danger\" dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('errorFeedsDlg').removeSelected()\">"
print "<button class=\"alt-danger\" dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('errorFeedsDlg').removeSelected()\">"
.__('Unsubscribe from selected feeds')."</button> "; .__('Unsubscribe from selected feeds')."</button> ";
print "</div>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('errorFeedsDlg').hide()\">". print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('errorFeedsDlg').hide()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footer>";
} }
private function remove_feed_category($id, $owner_uid) { private function remove_feed_category($id, $owner_uid) {
@ -1710,9 +1676,8 @@ class Pref_Feeds extends Handler_Protected {
print_hidden("op", "pref-feeds"); print_hidden("op", "pref-feeds");
print_hidden("method", "batchaddfeeds"); print_hidden("method", "batchaddfeeds");
print "<div class='dlgSecHoriz'>".__("One valid feed per line (no detection is done)")."</div>"; print "<header class='horizontal'>".__("One valid feed per line (no detection is done)")."</header>";
print "<section>";
print "<div class='dlgSecCont'>";
print "<textarea print "<textarea
style='font-size : 12px; width : 98%; height: 200px;' style='font-size : 12px; width : 98%; height: 200px;'
@ -1725,16 +1690,18 @@ class Pref_Feeds extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
} }
print "</section>";
print "<div id='feedDlg_loginContainer' style='display : none'>"; print "<div id='feedDlg_loginContainer' style='display : none'>";
print "<div class='dlgSec'>" . __("Authentication") . "</div>"; print "<header>" . __("Authentication") . "</header>";
print "<div class='dlgSecCont'>"; print "<section>";
print "<input dojoType='dijit.form.TextBox' name='login' placeHolder=\"".__("Login")."\"> print "<input dojoType='dijit.form.TextBox' name='login' placeHolder=\"".__("Login")."\">
<input placeHolder=\"".__("Password")."\" dojoType=\"dijit.form.TextBox\" type='password' <input placeHolder=\"".__("Password")."\" dojoType=\"dijit.form.TextBox\" type='password'
autocomplete='new-password' name='pass''></div>"; autocomplete='new-password' name='pass''></div>";
print "</div>"; print "</section>";
print "</div>"; print "</div>";
print "<fieldset class='narrow'> print "<fieldset class='narrow'>
@ -1743,10 +1710,10 @@ class Pref_Feeds extends Handler_Protected {
__('Feeds require authentication.')."</label></div>"; __('Feeds require authentication.')."</label></div>";
print "</fieldset>"; print "</fieldset>";
print "<div class='dlgButtons'> print "<footer>
<button dojoType='dijit.form.Button' type='submit' class='alt-primary' onclick=\"return dijit.byId('batchSubDlg').execute()\">".__('Subscribe')."</button> <button dojoType='dijit.form.Button' type='submit' class='alt-primary' onclick=\"return dijit.byId('batchSubDlg').execute()\">".__('Subscribe')."</button>
<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('batchSubDlg').hide()\">".__('Cancel')."</button> <button dojoType='dijit.form.Button' onclick=\"return dijit.byId('batchSubDlg').hide()\">".__('Cancel')."</button>
</div>"; </footer>";
} }
function batchAddFeeds() { function batchAddFeeds() {

@ -170,10 +170,10 @@ class Pref_Filters extends Handler_Protected {
print "<ul class='panel panel-scrollable list list-unstyled' id='prefFilterTestResultList'>"; print "<ul class='panel panel-scrollable list list-unstyled' id='prefFilterTestResultList'>";
print "</ul>"; print "</ul>";
print "<div style='text-align : center'>"; print "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('filterTestDlg').hide()\">". print "<button dojoType='dijit.form.Button' onclick=\"dijit.byId('filterTestDlg').hide()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footer>";
} }
@ -346,15 +346,13 @@ class Pref_Filters extends Handler_Protected {
print_hidden("method", "editSave"); print_hidden("method", "editSave");
print_hidden("csrf_token", $_SESSION['csrf_token']); print_hidden("csrf_token", $_SESSION['csrf_token']);
print "<div class='dlgSec'>".__("Caption")."</div>"; print "<header>".__("Caption")."</header>";
print "<div class='dlgSecCont'>"; print "<section>";
print "<input required=\"true\" dojoType=\"dijit.form.ValidationTextBox\" style=\"width : 20em;\" name=\"title\" value=\"$title\">"; print "<input required=\"true\" dojoType=\"dijit.form.ValidationTextBox\" style=\"width : 20em;\" name=\"title\" value=\"$title\">";
print "</section>";
print "</div>"; print "<header class='horizontal'>".__("Match")."</header>";
print "<section>";
print "<div class='dlgSecHoriz'>".__("Match")."</div>";
print "<div class='dlgSecCont'>";
print "<div dojoType=\"dijit.Toolbar\">"; print "<div dojoType=\"dijit.Toolbar\">";
@ -410,11 +408,11 @@ class Pref_Filters extends Handler_Protected {
print "</ul>"; print "</ul>";
print "</div>"; print "</section>";
print "<div class='dlgSecHoriz'>".__("Apply actions")."</div>"; print "<header class='horizontal'>".__("Apply actions")."</header>";
print "<div class='dlgSecCont'>"; print "<section>";
print "<div dojoType=\"dijit.Toolbar\">"; print "<div dojoType=\"dijit.Toolbar\">";
@ -456,10 +454,10 @@ class Pref_Filters extends Handler_Protected {
print "</ul>"; print "</ul>";
print "</div>"; print "</section>";
print "<div class='dlgSec'>".__("Options")."</div>"; print "<header>".__("Options")."</header>";
print "<div class='dlgSecCont'>"; print "<section>";
if ($enabled) { if ($enabled) {
$checked = "checked=\"1\""; $checked = "checked=\"1\"";
@ -495,9 +493,9 @@ class Pref_Filters extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
print "<div class=\"dlgButtons\">"; print "<footer>";
print "<div style=\"float : left\">"; print "<div style=\"float : left\">";
print "<button dojoType=\"dijit.form.Button\" class=\"alt-danger\" onclick=\"return dijit.byId('filterEditDlg').removeFilter()\">". print "<button dojoType=\"dijit.form.Button\" class=\"alt-danger\" onclick=\"return dijit.byId('filterEditDlg').removeFilter()\">".
@ -513,7 +511,7 @@ class Pref_Filters extends Handler_Protected {
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('filterEditDlg').hide()\">". print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('filterEditDlg').hide()\">".
__('Cancel')."</button>"; __('Cancel')."</button>";
print "</div>"; print "</footer>";
print "</form>"; print "</form>";
} }
@ -849,31 +847,30 @@ class Pref_Filters extends Handler_Protected {
print_hidden("method", "add"); print_hidden("method", "add");
print_hidden("csrf_token", $_SESSION['csrf_token']); print_hidden("csrf_token", $_SESSION['csrf_token']);
print "<div class='dlgSec'>".__("Caption")."</div>"; print "<header>".__("Caption")."</header>";
print "<div class='dlgSecCont'>"; print "<section>";
print "<input required=\"true\" dojoType=\"dijit.form.ValidationTextBox\" style=\"width : 20em;\" name=\"title\" value=\"\">"; print "<input required='true' dojoType='dijit.form.ValidationTextBox' style='width : 20em;' name='title' value=''>";
print "</div>"; print "</section>";
print "<div class='dlgSecHoriz'>".__("Match")."</div>"; print "<header class='horizontal'>".__("Match")."</header >";
print "<section>";
print "<div class='dlgSecCont'>"; print "<div dojoType='dijit.Toolbar'>";
print "<div dojoType=\"dijit.Toolbar\">";
print "<div dojoType=\"dijit.form.DropDownButton\">". print "<div dojoType='dijit.form.DropDownButton'>".
"<span>" . __('Select')."</span>"; "<span>" . __('Select')."</span>";
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; print "<div dojoType='dijit.Menu' style='display: none'>";
print "<div onclick=\"dijit.byId('filterEditDlg').selectRules(true)\" print "<div onclick=\"dijit.byId('filterEditDlg').selectRules(true)\"
dojoType=\"dijit.MenuItem\">".__('All')."</div>"; dojoType='dijit.MenuItem'>".__('All')."</div>";
print "<div onclick=\"dijit.byId('filterEditDlg').selectRules(false)\" print "<div onclick=\"dijit.byId('filterEditDlg').selectRules(false)\"
dojoType=\"dijit.MenuItem\">".__('None')."</div>"; dojoType='dijit.MenuItem'>".__('None')."</div>";
print "</div></div>"; print "</div></div>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('filterEditDlg').addRule()\">". print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('filterEditDlg').addRule()\">".
__('Add')."</button> "; __('Add')."</button> ";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('filterEditDlg').deleteRule()\">". print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('filterEditDlg').deleteRule()\">".
__('Delete')."</button> "; __('Delete')."</button> ";
print "</div>"; print "</div>";
@ -882,74 +879,69 @@ class Pref_Filters extends Handler_Protected {
# print "<li>No rules</li>"; # print "<li>No rules</li>";
print "</ul>"; print "</ul>";
print "</div>"; print "</section>";
print "</div>";
print "<div class='dlgSecHoriz'>".__("Apply actions")."</div>"; print "<header class='horizontal'>".__("Apply actions")."</header>";
print "<div class='dlgSecCont'>"; print "<section>";
print "<div dojoType=\"dijit.Toolbar\">"; print "<div dojoType='dijit.Toolbar'>";
print "<div dojoType=\"dijit.form.DropDownButton\">". print "<div dojoType='dijit.form.DropDownButton'>".
"<span>" . __('Select')."</span>"; "<span>" . __('Select')."</span>";
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; print "<div dojoType='dijit.Menu' style='display: none'>";
print "<div onclick=\"dijit.byId('filterEditDlg').selectActions(true)\" print "<div onclick=\"dijit.byId('filterEditDlg').selectActions(true)\"
dojoType=\"dijit.MenuItem\">".__('All')."</div>"; dojoType='dijit.MenuItem'>".__('All')."</div>";
print "<div onclick=\"dijit.byId('filterEditDlg').selectActions(false)\" print "<div onclick=\"dijit.byId('filterEditDlg').selectActions(false)\"
dojoType=\"dijit.MenuItem\">".__('None')."</div>"; dojoType='dijit.MenuItem'>".__('None')."</div>";
print "</div></div>"; print "</div></div>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('filterEditDlg').addAction()\">". print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('filterEditDlg').addAction()\">".
__('Add')."</button> "; __('Add')."</button> ";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('filterEditDlg').deleteAction()\">". print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('filterEditDlg').deleteAction()\">".
__('Delete')."</button> "; __('Delete')."</button> ";
print "</div>"; print "</div>";
print "<ul id='filterDlg_Actions'>"; print "<ul id='filterDlg_Actions'>";
# print "<li>No actions</li>"; # print "<li>No actions</li>";
print "</ul>"; print "</ul>";
print "</div>";
print "<div class='dlgSec'>".__("Options")."</div>"; print "</section>";
print "<div class='dlgSecCont'>"; print "<header>".__("Options")."</header>";
print "<section>";
print "<fieldset class='narrow'>"; print "<fieldset class='narrow'>";
print "<label class='checkbox'><input dojoType=\"dijit.form.CheckBox\" type=\"checkbox\" name=\"enabled\" id=\"enabled\" checked=\"1\"> print "<label class='checkbox'><input dojoType='dijit.form.CheckBox' type='checkbox' name='enabled' id='enabled' checked='1'>
".__('Enabled')."</label>"; ".__('Enabled')."</label>";
print "</fieldset><fieldset class='narrow'>"; print "</fieldset><fieldset class='narrow'>";
print "<label class='checkbox'><input dojoType=\"dijit.form.CheckBox\" type=\"checkbox\" name=\"match_any_rule\" id=\"match_any_rule\"> print "<label class='checkbox'><input dojoType='dijit.form.CheckBox' type='checkbox' name='match_any_rule' id='match_any_rule'>
".__('Match any rule')."</label>"; ".__('Match any rule')."</label>";
print "</fieldset><fieldset class='narrow'>"; print "</fieldset><fieldset class='narrow'>";
print "<label class='checkbox'><input dojoType=\"dijit.form.CheckBox\" type=\"checkbox\" name=\"inverse\" id=\"inverse\"> print "<label class='checkbox'><input dojoType='dijit.form.CheckBox' type='checkbox' name='inverse' id='inverse'>
".__('Inverse matching')."</label>"; ".__('Inverse matching')."</label>";
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
// print "</div>"; print "<footer>";
print "<div class=\"dlgButtons\">"; print "<button dojoType='dijit.form.Button' class='alt-info' onclick=\"return dijit.byId('filterEditDlg').test()\">".
print "<button dojoType=\"dijit.form.Button\" class=\"alt-info\" onclick=\"return dijit.byId('filterEditDlg').test()\">".
__('Test')."</button> "; __('Test')."</button> ";
print "<button dojoType='dijit.form.Button' type='submit' class='alt-primary' onclick=\"return dijit.byId('filterEditDlg').execute()\">".
print "<button dojoType=\"dijit.form.Button\" type=\"submit\" class=\"alt-primary\" onclick=\"return dijit.byId('filterEditDlg').execute()\">".
__('Create')."</button> "; __('Create')."</button> ";
print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('filterEditDlg').hide()\">".
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('filterEditDlg').hide()\">".
__('Cancel')."</button>"; __('Cancel')."</button>";
print "</div>"; print "</footer>";
} }
@ -979,9 +971,9 @@ class Pref_Filters extends Handler_Protected {
$filter_types[$line["id"]] = __($line["description"]); $filter_types[$line["id"]] = __($line["description"]);
} }
print "<div class=\"dlgSec\">".__("Match")."</div>"; print "<header>".__("Match")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
print "<input dojoType=\"dijit.form.ValidationTextBox\" print "<input dojoType=\"dijit.form.ValidationTextBox\"
required=\"true\" id=\"filterDlg_regExp\" required=\"true\" id=\"filterDlg_regExp\"
@ -1015,9 +1007,9 @@ class Pref_Filters extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
print "<div class='dlgButtons'>"; print "<footer>";
print "<button dojoType='dijit.form.Button' style='float : left' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/ContentFilters\")'> print "<button dojoType='dijit.form.Button' style='float : left' class='alt-info' onclick='window.open(\"https://tt-rss.org/wiki/ContentFilters\")'>
<i class='material-icons'>help</i> ".__("More info...")."</button>"; <i class='material-icons'>help</i> ".__("More info...")."</button>";
@ -1028,7 +1020,7 @@ class Pref_Filters extends Handler_Protected {
print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('filterNewRuleDlg').hide()\">". print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('filterNewRuleDlg').hide()\">".
__('Cancel')."</button>"; __('Cancel')."</button>";
print "</div>"; print "</footer>";
print "</form>"; print "</form>";
} }
@ -1046,12 +1038,12 @@ class Pref_Filters extends Handler_Protected {
print "<form name='filter_new_action_form' id='filter_new_action_form' onsubmit='return false;'>"; print "<form name='filter_new_action_form' id='filter_new_action_form' onsubmit='return false;'>";
print "<div class=\"dlgSec\">".__("Perform Action")."</div>"; print "<header>".__("Perform Action")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
print "<select name=\"action_id\" dojoType=\"dijit.form.Select\" print "<select name='action_id' dojoType='dijit.form.Select'
onchange=\"Filters.filterDlgCheckAction(this)\">"; onchange='Filters.filterDlgCheckAction(this)'>";
$res = $this->pdo->query("SELECT id,description FROM ttrss_filter_actions $res = $this->pdo->query("SELECT id,description FROM ttrss_filter_actions
ORDER BY name"); ORDER BY name");
@ -1072,16 +1064,16 @@ class Pref_Filters extends Handler_Protected {
$label_param_hidden = ($action_id == 7) ? "" : "display : none"; $label_param_hidden = ($action_id == 7) ? "" : "display : none";
$plugin_param_hidden = ($action_id == 9) ? "" : "display : none"; $plugin_param_hidden = ($action_id == 9) ? "" : "display : none";
print "<span id=\"filterDlg_paramBox\" style=\"$param_box_hidden\">"; print "<span id='filterDlg_paramBox' style=\"$param_box_hidden\">";
print " "; print " ";
//print " " . __("with parameters:") . " "; //print " " . __("with parameters:") . " ";
print "<input dojoType=\"dijit.form.TextBox\" print "<input dojoType='dijit.form.TextBox'
id=\"filterDlg_actionParam\" style=\"$param_hidden\" id='filterDlg_actionParam' style=\"$param_hidden\"
name=\"action_param\" value=\"$action_param\">"; name='action_param' value=\"$action_param\">";
print_label_select("action_param_label", $action_param, print_label_select("action_param_label", $action_param,
"id=\"filterDlg_actionParamLabel\" style=\"$label_param_hidden\" "id='filterDlg_actionParamLabel' style=\"$label_param_hidden\"
dojoType=\"dijit.form.Select\""); dojoType='dijit.form.Select'");
$filter_actions = PluginHost::getInstance()->get_filter_actions(); $filter_actions = PluginHost::getInstance()->get_filter_actions();
$filter_action_hash = array(); $filter_action_hash = array();
@ -1104,24 +1096,24 @@ class Pref_Filters extends Handler_Protected {
} }
print_select_hash("filterDlg_actionParamPlugin", $action_param, $filter_action_hash, print_select_hash("filterDlg_actionParamPlugin", $action_param, $filter_action_hash,
"style=\"$plugin_param_hidden\" dojoType=\"dijit.form.Select\" $filter_plugin_disabled", "style=\"$plugin_param_hidden\" dojoType='dijit.form.Select' $filter_plugin_disabled",
"action_param_plugin"); "action_param_plugin");
print "</span>"; print "</span>";
print "&nbsp;"; // tiny layout hack print "&nbsp;"; // tiny layout hack
print "</div>"; print "</section>";
print "<div class=\"dlgButtons\">"; print "<footer>";
print "<button dojoType=\"dijit.form.Button\" class=\"alt-primary\" type=\"submit\" onclick=\"return dijit.byId('filterNewActionDlg').execute()\">". print "<button dojoType='dijit.form.Button' class='alt-primary' type='submit' onclick=\"return dijit.byId('filterNewActionDlg').execute()\">".
($action ? __("Save action") : __('Add action'))."</button> "; ($action ? __("Save action") : __('Add action'))."</button> ";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('filterNewActionDlg').hide()\">". print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('filterNewActionDlg').hide()\">".
__('Cancel')."</button>"; __('Cancel')."</button>";
print "</div>"; print "</footer>";
print "</form>"; print "</form>";
} }

@ -22,9 +22,9 @@ class Pref_Labels extends Handler_Protected {
print "<form onsubmit='return false;'>"; print "<form onsubmit='return false;'>";
print "<div class=\"dlgSec\">".__("Caption")."</div>"; print "<header>".__("Caption")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
$fg_color = $line['fg_color']; $fg_color = $line['fg_color'];
$bg_color = $line['bg_color'] ? $line['bg_color'] : '#fff7d5'; $bg_color = $line['bg_color'] ? $line['bg_color'] : '#fff7d5';
@ -33,53 +33,47 @@ class Pref_Labels extends Handler_Protected {
id='labelEdit_caption' name='caption' dojoType='dijit.form.ValidationTextBox' id='labelEdit_caption' name='caption' dojoType='dijit.form.ValidationTextBox'
required='true' value=\"".htmlspecialchars($line['caption'])."\">"; required='true' value=\"".htmlspecialchars($line['caption'])."\">";
print "</div>"; print "</section>";
print "<div class=\"dlgSec\">" . __("Colors") . "</div>";
print "<div class=\"dlgSecCont\">";
print "<table cellspacing=\"0\">"; print "<header>" . __("Colors") . "</header>";
print "<section>";
print "<tr><th style='text-align : left'>".__("Foreground:")."</th><th style='text-align : left'>".__("Background:").
"</td></tr>";
print "<table>";
print "<tr><th style='text-align : left'>".__("Foreground:")."</th><th style='text-align : left'>".__("Background:")."</th></tr>";
print "<tr><td style='padding-right : 10px'>"; print "<tr><td style='padding-right : 10px'>";
print "<input dojoType=\"dijit.form.TextBox\" print "<input dojoType='dijit.form.TextBox'
style=\"display : none\" id=\"labelEdit_fgColor\" style='display : none' id='labelEdit_fgColor'
name=\"fg_color\" value=\"$fg_color\">"; name='fg_color' value='$fg_color'>";
print "<input dojoType=\"dijit.form.TextBox\" print "<input dojoType='dijit.form.TextBox'
style=\"display : none\" id=\"labelEdit_bgColor\" style='display : none' id='labelEdit_bgColor'
name=\"bg_color\" value=\"$bg_color\">"; name='bg_color' value='$bg_color'>";
print "<div dojoType=\"dijit.ColorPalette\"> print "<div dojoType='dijit.ColorPalette'>
<script type=\"dojo/method\" event=\"onChange\" args=\"fg_color\"> <script type='dojo/method' event='onChange' args='fg_color'>
dijit.byId('labelEdit_fgColor').attr('value', fg_color); dijit.byId('labelEdit_fgColor').attr('value', fg_color);
dijit.byId('labelEdit_caption').domNode.setStyle({color: fg_color}); dijit.byId('labelEdit_caption').domNode.setStyle({color: fg_color});
</script> </script>
</div>"; </div>";
print "</div>";
print "</td><td>"; print "</td><td>";
print "<div dojoType=\"dijit.ColorPalette\"> print "<div dojoType='dijit.ColorPalette'>
<script type=\"dojo/method\" event=\"onChange\" args=\"bg_color\"> <script type='dojo/method' event='onChange' args='bg_color'>
dijit.byId('labelEdit_bgColor').attr('value', bg_color); dijit.byId('labelEdit_bgColor').attr('value', bg_color);
dijit.byId('labelEdit_caption').domNode.setStyle({backgroundColor: bg_color}); dijit.byId('labelEdit_caption').domNode.setStyle({backgroundColor: bg_color});
</script> </script>
</div>"; </div>";
print "</div>";
print "</td></tr></table>"; print "</td></tr></table>";
print "</div>"; print "</section>";
# print "</form>";
print "<div class=\"dlgButtons\">"; print "<footer>";
print "<button dojoType=\"dijit.form.Button\" type=\"submit\" class=\"alt-primary\" onclick=\"dijit.byId('labelEditDlg').execute()\">". print "<button dojoType='dijit.form.Button' type='submit' class='alt-primary' onclick=\"dijit.byId('labelEditDlg').execute()\">".
__('Save')."</button>"; __('Save')."</button>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('labelEditDlg').hide()\">". print "<button dojoType='dijit.form.Button' onclick=\"dijit.byId('labelEditDlg').hide()\">".
__('Cancel')."</button>"; __('Cancel')."</button>";
print "</div>"; print "</footer>";
print "</form>"; print "</form>";
} }

@ -1039,35 +1039,34 @@ class Pref_Prefs extends Handler_Protected {
print_hidden("key", "USER_STYLESHEET"); print_hidden("key", "USER_STYLESHEET");
print "<textarea class='panel user-css-editor' dojoType='dijit.form.SimpleTextarea' print "<textarea class='panel user-css-editor' dojoType='dijit.form.SimpleTextarea'
style='font-size : 12px;' style='font-size : 12px;' name='value'>$value</textarea>";
name='value'>$value</textarea>";
print "<div class='dlgButtons'>"; print "<footer>";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
onclick=\"dijit.byId('cssEditDlg').execute()\">".__('Save')."</button> "; onclick=\"dijit.byId('cssEditDlg').execute()\">".__('Save')."</button> ";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
onclick=\"dijit.byId('cssEditDlg').hide()\">".__('Cancel')."</button>"; onclick=\"dijit.byId('cssEditDlg').hide()\">".__('Cancel')."</button>";
print "</div>"; print "</footer>";
} }
function editPrefProfiles() { function editPrefProfiles() {
print "<div dojoType=\"dijit.Toolbar\">"; print "<div dojoType='dijit.Toolbar'>";
print "<div dojoType=\"dijit.form.DropDownButton\">". print "<div dojoType='dijit.form.DropDownButton'>".
"<span>" . __('Select')."</span>"; "<span>" . __('Select')."</span>";
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; print "<div dojoType='dijit.Menu' style='display: none'>";
print "<div onclick=\"Tables.select('pref-profiles-list', true)\" print "<div onclick=\"Tables.select('pref-profiles-list', true)\"
dojoType=\"dijit.MenuItem\">".__('All')."</div>"; dojoType='dijit.MenuItem'>".__('All')."</div>";
print "<div onclick=\"Tables.select('pref-profiles-list', false)\" print "<div onclick=\"Tables.select('pref-profiles-list', false)\"
dojoType=\"dijit.MenuItem\">".__('None')."</div>"; dojoType='dijit.MenuItem'>".__('None')."</div>";
print "</div></div>"; print "</div></div>";
print "<div style=\"float : right\">"; print "<div style='float : right'>";
print "<input name=\"newprofile\" dojoType=\"dijit.form.ValidationTextBox\" print "<input name='newprofile' dojoType='dijit.form.ValidationTextBox'
required=\"1\"> required='1'>
<button dojoType=\"dijit.form.Button\" <button dojoType='dijit.form.Button'
onclick=\"dijit.byId('profileEditDlg').addProfile()\">". onclick=\"dijit.byId('profileEditDlg').addProfile()\">".
__('Create profile')."</button></div>"; __('Create profile')."</button></div>";
@ -1113,10 +1112,10 @@ class Pref_Prefs extends Handler_Protected {
$is_active = ""; $is_active = "";
} }
print "<td><span dojoType=\"dijit.InlineEditBox\" print "<td><span dojoType='dijit.InlineEditBox'
width=\"300px\" autoSave=\"false\" width='300px' autoSave='false'
profile-id=\"$profile_id\">" . $edit_title . profile-id='$profile_id'>" . $edit_title .
"<script type=\"dojo/method\" event=\"onChange\" args=\"item\"> "<script type='dojo/method' event='onChange' args='item'>
var elem = this; var elem = this;
dojo.xhrPost({ dojo.xhrPost({
url: 'backend.php', url: 'backend.php',
@ -1137,17 +1136,14 @@ class Pref_Prefs extends Handler_Protected {
print "</form>"; print "</form>";
print "</div>"; print "</div>";
print "<div class='dlgButtons'> print "<footer>
<div style='float : left'> <button style='float : left' class='alt-danger' dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('profileEditDlg').removeSelected()\">".
<button class=\"alt-danger\" dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('profileEditDlg').removeSelected()\">".
__('Remove selected profiles')."</button> __('Remove selected profiles')."</button>
<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('profileEditDlg').activateProfile()\">". <button dojoType='dijit.form.Button' class='alt-primary' type='submit' onclick=\"dijit.byId('profileEditDlg').activateProfile()\">".
__('Activate profile')."</button> __('Activate profile')."</button>
</div>"; <button dojoType='dijit.form.Button' onclick=\"dijit.byId('profileEditDlg').hide()\">".
__('Cancel')."</button>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('profileEditDlg').hide()\">". print "</footer>";
__('Close this window')."</button>";
print "</div>";
} }

@ -44,26 +44,29 @@ class Pref_Users extends Handler_Protected {
$sel_disabled = ($id == $_SESSION["uid"] || $login == "admin") ? "disabled" : ""; $sel_disabled = ($id == $_SESSION["uid"] || $login == "admin") ? "disabled" : "";
print "<div class=\"dlgSec\">".__("User")."</div>"; print "<header>".__("User")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
if ($sel_disabled) { if ($sel_disabled) {
print_hidden("login", "$login"); print_hidden("login", "$login");
} }
print "<input size=\"30\" style=\"font-size : 16px\" print "<fieldset>";
dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" print "<label>" . __("Login:") . "</label>";
print "<input style='font-size : 16px'
dojoType='dijit.form.ValidationTextBox' required='1'
$sel_disabled $sel_disabled
name=\"login\" value=\"$login\">"; name='login' value=\"$login\">";
print "</fieldset>";
print "</div>"; print "</section>";
print "<div class=\"dlgSec\">".__("Authentication")."</div>"; print "<header>".__("Authentication")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
print "<fieldset>"; print "<fieldset>";
print __('Access level: ') . " "; print "<label>" . __('Access level: ') . "</label> ";
if (!$sel_disabled) { if (!$sel_disabled) {
print_select_hash("access_level", $access_level, $access_level_names, print_select_hash("access_level", $access_level, $access_level_names,
@ -77,20 +80,24 @@ class Pref_Users extends Handler_Protected {
print "</fieldset>"; print "</fieldset>";
print "<fieldset>"; print "<fieldset>";
print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" size=\"20\" placeholder=\"Change password\" print "<label>" . __("New password:") . "</label> ";
print "<input dojoType='dijit.form.TextBox' type='password' size='20' placeholder='Change password'
name=\"password\">"; name=\"password\">";
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
print "<div class=\"dlgSec\">".__("Options")."</div>"; print "<header>".__("Options")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
print "<input dojoType=\"dijit.form.TextBox\" size=\"30\" name=\"email\" placeholder=\"E-mail\" print "<fieldset>";
value=\"$email\">"; print "<label>" . __("E-mail:") . "</label> ";
print "<input dojoType='dijit.form.TextBox' size='30' name='email'
value=\"$email\">";
print "</fieldset>";
print "</div>"; print "</section>";
print "</table>"; print "</table>";
@ -103,11 +110,12 @@ class Pref_Users extends Handler_Protected {
print '</div>'; print '</div>';
print '</div>'; print '</div>';
print "<div class=\"dlgButtons\"> print "<footer>
<button dojoType=\"dijit.form.Button\" class=\"alt-primary\" type=\"submit\" onclick=\"dijit.byId('userEditDlg').execute()\">". <button dojoType=\"dijit.form.Button\" class=\"alt-primary\" type=\"submit\" onclick=\"dijit.byId('userEditDlg').execute()\">".
__('Save')."</button> __('Save')."</button>
<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('userEditDlg').hide()\">". <button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('userEditDlg').hide()\">".
__('Cancel')."</button></div>"; __('Cancel')."</button>
</footer>";
print "</form>"; print "</form>";

@ -426,6 +426,7 @@ body.ttrss_main div#headlines-frame.wide .title {
body.ttrss_main div#headlines-frame.wide .hl .feed { body.ttrss_main div#headlines-frame.wide .hl .feed {
display: none; display: none;
} }
body.ttrss_main .dijitDialog header,
body.ttrss_main .dijitDialog .dlgSec, body.ttrss_main .dijitDialog .dlgSec,
body.ttrss_main .dijitDialog .dlgSecHoriz { body.ttrss_main .dijitDialog .dlgSecHoriz {
font-size: 16px; font-size: 16px;
@ -433,12 +434,15 @@ body.ttrss_main .dijitDialog .dlgSecHoriz {
color: #555; color: #555;
font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
} }
body.ttrss_main .dijitDialog section,
body.ttrss_main .dijitDialog .dlgSecCont { body.ttrss_main .dijitDialog .dlgSecCont {
margin: 10px 20px; margin: 10px 20px;
} }
body.ttrss_main .dijitDialog header.horizontal + section,
body.ttrss_main .dijitDialog .dlgSecHoriz + .dlgSecCont { body.ttrss_main .dijitDialog .dlgSecHoriz + .dlgSecCont {
margin: 10px 0px; margin: 10px 0px;
} }
body.ttrss_main .dijitDialog section fieldset > label,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label, body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label {
font-weight: bold; font-weight: bold;
@ -447,28 +451,35 @@ body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label {
min-width: 140px; min-width: 140px;
text-align: right; text-align: right;
} }
body.ttrss_main .dijitDialog section fieldset > label.checkbox,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label.checkbox, body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label.checkbox,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label.checkbox { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label.checkbox {
font-weight: normal; font-weight: normal;
display: inline; display: inline;
} }
body.ttrss_main .dijitDialog section fieldset,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset, body.ttrss_main .dijitDialog div.dlgSecCont fieldset,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset {
border-width: 0px; border-width: 0px;
padding: 5px 0px; padding: 5px 0px;
} }
body.ttrss_main .dijitDialog section fieldset.narrow,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset.narrow, body.ttrss_main .dijitDialog div.dlgSecCont fieldset.narrow,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.narrow { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.narrow {
padding: 2px 0px; padding: 2px 0px;
} }
body.ttrss_main .dijitDialog section fieldset.align-right,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset.align-right, body.ttrss_main .dijitDialog div.dlgSecCont fieldset.align-right,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.align-right { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.align-right {
text-align: right; text-align: right;
} }
body.ttrss_main .dijitDialog footer,
body.ttrss_main .dijitDialog .dlgButtons { body.ttrss_main .dijitDialog .dlgButtons {
margin-top: 5px; margin-top: 5px;
text-align: right; text-align: right;
clear: both; }
body.ttrss_main .dijitDialog footer.text-center {
text-align: center;
} }
body.ttrss_main i.icon-label { body.ttrss_main i.icon-label {
color: #fff7d5; color: #fff7d5;

File diff suppressed because one or more lines are too long

@ -496,6 +496,7 @@ body.ttrss_main {
.dijitDialog { .dijitDialog {
header,
.dlgSec, .dlgSecHoriz { .dlgSec, .dlgSecHoriz {
font-size : 16px; font-size : 16px;
font-weight : 600; font-weight : 600;
@ -503,14 +504,17 @@ body.ttrss_main {
font-family: @fonts-ui-bold; font-family: @fonts-ui-bold;
} }
section,
.dlgSecCont { .dlgSecCont {
margin : 10px 20px; margin : 10px 20px;
} }
header.horizontal + section,
.dlgSecHoriz + .dlgSecCont { .dlgSecHoriz + .dlgSecCont {
margin : 10px 0px; margin : 10px 0px;
} }
section,
div.dlgSecCont, div.dlgSecSimple { div.dlgSecCont, div.dlgSecSimple {
fieldset { fieldset {
@ -542,10 +546,14 @@ body.ttrss_main {
} }
} }
footer,
.dlgButtons { .dlgButtons {
margin-top : 5px; margin-top : 5px;
text-align: right; text-align: right;
clear: both; }
footer.text-center {
text-align: center;
} }
} }

@ -107,9 +107,9 @@ class Af_Psql_Trgm extends Plugin {
} }
print "<div style='text-align : center'>"; print "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('trgmRelatedDlg').hide()\">".__('Close this window')."</button>"; print "<button dojoType='dijit.form.Button' onclick=\"dijit.byId('trgmRelatedDlg').hide()\">".__('Close this window')."</button>";
print "</div>"; print "</footer>";
} }
@ -214,8 +214,8 @@ class Af_Psql_Trgm extends Plugin {
} }
function hook_prefs_edit_feed($feed_id) { function hook_prefs_edit_feed($feed_id) {
print "<div class=\"dlgSec\">".__("Similarity (pg_trgm)")."</div>"; print "<header>".__("Similarity (pg_trgm)")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
$enabled_feeds = $this->host->get($this, "enabled_feeds"); $enabled_feeds = $this->host->get($this, "enabled_feeds");
if (!array($enabled_feeds)) $enabled_feeds = array(); if (!array($enabled_feeds)) $enabled_feeds = array();
@ -225,13 +225,12 @@ class Af_Psql_Trgm extends Plugin {
print "<fieldset>"; print "<fieldset>";
print "<label class='checkbox'><input dojoType=\"dijit.form.CheckBox\" type=\"checkbox\" id=\"trgm_similarity_enabled\" print "<label class='checkbox'><input dojoType='dijit.form.CheckBox' type='checkbox' id='trgm_similarity_enabled'
name=\"trgm_similarity_enabled\" name='trgm_similarity_enabled' $checked> ".__('Mark similar articles as read')."</label>";
$checked> ".__('Mark similar articles as read')."</label>";
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
} }
function hook_prefs_save_feed($feed_id) { function hook_prefs_save_feed($feed_id) {

@ -104,8 +104,8 @@ class Af_Readability extends Plugin {
} }
function hook_prefs_edit_feed($feed_id) { function hook_prefs_edit_feed($feed_id) {
print "<div class=\"dlgSec\">".__("Readability")."</div>"; print "<header>".__("Readability")."</header>";
print "<div class=\"dlgSecCont\">"; print "<section>";
$enabled_feeds = $this->host->get($this, "enabled_feeds"); $enabled_feeds = $this->host->get($this, "enabled_feeds");
if (!is_array($enabled_feeds)) $enabled_feeds = array(); if (!is_array($enabled_feeds)) $enabled_feeds = array();
@ -121,7 +121,7 @@ class Af_Readability extends Plugin {
print "</fieldset>"; print "</fieldset>";
print "</div>"; print "</section>";
} }
function hook_prefs_save_feed($feed_id) { function hook_prefs_save_feed($feed_id) {

@ -437,24 +437,23 @@ class Import_Export extends Plugin implements IHandler {
print "<p style='text-align : center' id='export_status_message'>You need to prepare exported data first by clicking the button below.</p>"; 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 "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
type='submit' class='alt-primary'
onclick=\"dijit.byId('dataExportDlg').prepare()\">". onclick=\"dijit.byId('dataExportDlg').prepare()\">".
__('Prepare data')."</button>"; __('Prepare data')."</button>";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
onclick=\"dijit.byId('dataExportDlg').hide()\">". onclick=\"dijit.byId('dataExportDlg').hide()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footer>";
} }
function dataImport() { function dataImport() {
header("Content-Type: text/html"); # required for iframe header("Content-Type: text/html"); # required for iframe
print "<div style='text-align : center'>"; print "<footer class='text-center'>";
if ($_FILES['export_file']['error'] != 0) { if ($_FILES['export_file']['error'] != 0) {
print_error(T_sprintf("Upload failed with error code %d (%s)", print_error(T_sprintf("Upload failed with error code %d (%s)",
@ -486,7 +485,7 @@ class Import_Export extends Plugin implements IHandler {
} }
} }
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType='dijit.form.Button'
onclick=\"dijit.byId('dataImportDlg').hide()\">". onclick=\"dijit.byId('dataImportDlg').hide()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";

@ -162,22 +162,21 @@ class Mail extends Plugin {
print "</td><td>"; print "</td><td>";
print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"true\" print "<input dojoType='dijit.form.ValidationTextBox' required='true'
style=\"width : 30em;\" style='width : 30em;' name='subject' value=\"$subject\" id='subject'>";
name=\"subject\" value=\"$subject\" id=\"subject\">";
print "</td></tr>"; print "</td></tr>";
print "<tr><td colspan='2'><textarea dojoType=\"dijit.form.SimpleTextarea\" print "<tr><td colspan='2'><textarea dojoType='dijit.form.SimpleTextarea'
style='height : 200px; font-size : 12px; width : 98%' rows=\"20\" style='height : 200px; font-size : 12px; width : 98%' rows=\"20\"
name='content'>$content</textarea>"; name='content'>$content</textarea>";
print "</td></tr></table>"; print "</td></tr></table>";
print "<div class='dlgButtons'>"; print "<footer>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('emailArticleDlg').execute()\">".__('Send e-mail')."</button> "; print "<button dojoType='dijit.form.Button' onclick=\"dijit.byId('emailArticleDlg').execute()\">".__('Send e-mail')."</button> ";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('emailArticleDlg').hide()\">".__('Cancel')."</button>"; print "<button dojoType='dijit.form.Button' onclick=\"dijit.byId('emailArticleDlg').hide()\">".__('Cancel')."</button>";
print "</div>"; print "</footer>";
//return; //return;
} }

@ -81,9 +81,9 @@ class MailTo extends Plugin {
print "<p>"; print "<p>";
print "<div style='text-align : center'>"; print "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('emailArticleDlg').hide()\">".__('Close this dialog')."</button>"; print "<button dojoType='dijit.form.Button' onclick=\"dijit.byId('emailArticleDlg').hide()\">".__('Close this dialog')."</button>";
print "</div>"; print "</footer>";
//return; //return;
} }

@ -42,21 +42,18 @@ class Note extends Plugin {
print_hidden("method", "setNote"); print_hidden("method", "setNote");
print_hidden("plugin", "note"); print_hidden("plugin", "note");
print "<table width='100%'><tr><td>"; print "<textarea dojoType='dijit.form.SimpleTextarea'
print "<textarea dojoType=\"dijit.form.SimpleTextarea\"
style='font-size : 12px; width : 98%; height: 100px;' style='font-size : 12px; width : 98%; height: 100px;'
placeHolder='body#ttrssMain { font-size : 14px; };'
name='note'>$note</textarea>"; name='note'>$note</textarea>";
print "</td></tr></table>";
} }
print "<div class='dlgButtons'>"; print "<footer class='text-center'>";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType=\"dijit.form.Button\"
onclick=\"dijit.byId('editNoteDlg').execute()\">".__('Save')."</button> "; onclick=\"dijit.byId('editNoteDlg').execute()\">".__('Save')."</button> ";
print "<button dojoType=\"dijit.form.Button\" print "<button dojoType=\"dijit.form.Button\"
onclick=\"dijit.byId('editNoteDlg').hide()\">".__('Cancel')."</button>"; onclick=\"dijit.byId('editNoteDlg').hide()\">".__('Cancel')."</button>";
print "</div>"; print "</footer>";
} }
@ -78,4 +75,4 @@ class Note extends Plugin {
return 2; return 2;
} }
} }

@ -100,16 +100,16 @@ class Share extends Plugin {
$sth->execute([$uuid, $param, $_SESSION['uid']]); $sth->execute([$uuid, $param, $_SESSION['uid']]);
} }
print "<div class='dlgSec'>" . __("You can share this article by the following unique URL:") . "</div>"; print "<header>" . __("You can share this article by the following unique URL:") . "</header>";
$url_path = get_self_url_prefix(); $url_path = get_self_url_prefix();
$url_path .= "/public.php?op=share&key=$uuid"; $url_path .= "/public.php?op=share&key=$uuid";
print "<div class='dlgSecCont'> print "<section>
<div class='panel text-center'> <div class='panel text-center'>
<a id='gen_article_url' href='$url_path' target='_blank' rel='noopener noreferrer'>$url_path</a> <a id='gen_article_url' href='$url_path' target='_blank' rel='noopener noreferrer'>$url_path</a>
</div> </div>
</div>"; </section>";
/* if (!label_find_id(__('Shared'), $_SESSION["uid"])) /* if (!label_find_id(__('Shared'), $_SESSION["uid"]))
label_create(__('Shared'), $_SESSION["uid"]); label_create(__('Shared'), $_SESSION["uid"]);
@ -121,7 +121,7 @@ class Share extends Plugin {
print "Article not found."; print "Article not found.";
} }
print "<div align='center'>"; print "<footer class='text-center'>";
print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('shareArticleDlg').unshare()\">". print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('shareArticleDlg').unshare()\">".
__('Unshare article')."</button>"; __('Unshare article')."</button>";
@ -132,7 +132,7 @@ class Share extends Plugin {
print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('shareArticleDlg').hide()\">". print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('shareArticleDlg').hide()\">".
__('Close this window')."</button>"; __('Close this window')."</button>";
print "</div>"; print "</footer>";
} }
function api_version() { function api_version() {

@ -427,6 +427,7 @@ body.ttrss_main div#headlines-frame.wide .title {
body.ttrss_main div#headlines-frame.wide .hl .feed { body.ttrss_main div#headlines-frame.wide .hl .feed {
display: none; display: none;
} }
body.ttrss_main .dijitDialog header,
body.ttrss_main .dijitDialog .dlgSec, body.ttrss_main .dijitDialog .dlgSec,
body.ttrss_main .dijitDialog .dlgSecHoriz { body.ttrss_main .dijitDialog .dlgSecHoriz {
font-size: 16px; font-size: 16px;
@ -434,12 +435,15 @@ body.ttrss_main .dijitDialog .dlgSecHoriz {
color: #ccc; color: #ccc;
font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
} }
body.ttrss_main .dijitDialog section,
body.ttrss_main .dijitDialog .dlgSecCont { body.ttrss_main .dijitDialog .dlgSecCont {
margin: 10px 20px; margin: 10px 20px;
} }
body.ttrss_main .dijitDialog header.horizontal + section,
body.ttrss_main .dijitDialog .dlgSecHoriz + .dlgSecCont { body.ttrss_main .dijitDialog .dlgSecHoriz + .dlgSecCont {
margin: 10px 0px; margin: 10px 0px;
} }
body.ttrss_main .dijitDialog section fieldset > label,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label, body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label {
font-weight: bold; font-weight: bold;
@ -448,28 +452,35 @@ body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label {
min-width: 140px; min-width: 140px;
text-align: right; text-align: right;
} }
body.ttrss_main .dijitDialog section fieldset > label.checkbox,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label.checkbox, body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label.checkbox,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label.checkbox { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label.checkbox {
font-weight: normal; font-weight: normal;
display: inline; display: inline;
} }
body.ttrss_main .dijitDialog section fieldset,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset, body.ttrss_main .dijitDialog div.dlgSecCont fieldset,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset {
border-width: 0px; border-width: 0px;
padding: 5px 0px; padding: 5px 0px;
} }
body.ttrss_main .dijitDialog section fieldset.narrow,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset.narrow, body.ttrss_main .dijitDialog div.dlgSecCont fieldset.narrow,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.narrow { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.narrow {
padding: 2px 0px; padding: 2px 0px;
} }
body.ttrss_main .dijitDialog section fieldset.align-right,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset.align-right, body.ttrss_main .dijitDialog div.dlgSecCont fieldset.align-right,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.align-right { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.align-right {
text-align: right; text-align: right;
} }
body.ttrss_main .dijitDialog footer,
body.ttrss_main .dijitDialog .dlgButtons { body.ttrss_main .dijitDialog .dlgButtons {
margin-top: 5px; margin-top: 5px;
text-align: right; text-align: right;
clear: both; }
body.ttrss_main .dijitDialog footer.text-center {
text-align: center;
} }
body.ttrss_main i.icon-label { body.ttrss_main i.icon-label {
color: #fff7d5; color: #fff7d5;

File diff suppressed because one or more lines are too long

@ -427,6 +427,7 @@ body.ttrss_main div#headlines-frame.wide .title {
body.ttrss_main div#headlines-frame.wide .hl .feed { body.ttrss_main div#headlines-frame.wide .hl .feed {
display: none; display: none;
} }
body.ttrss_main .dijitDialog header,
body.ttrss_main .dijitDialog .dlgSec, body.ttrss_main .dijitDialog .dlgSec,
body.ttrss_main .dijitDialog .dlgSecHoriz { body.ttrss_main .dijitDialog .dlgSecHoriz {
font-size: 16px; font-size: 16px;
@ -434,12 +435,15 @@ body.ttrss_main .dijitDialog .dlgSecHoriz {
color: #ccc; color: #ccc;
font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
} }
body.ttrss_main .dijitDialog section,
body.ttrss_main .dijitDialog .dlgSecCont { body.ttrss_main .dijitDialog .dlgSecCont {
margin: 10px 20px; margin: 10px 20px;
} }
body.ttrss_main .dijitDialog header.horizontal + section,
body.ttrss_main .dijitDialog .dlgSecHoriz + .dlgSecCont { body.ttrss_main .dijitDialog .dlgSecHoriz + .dlgSecCont {
margin: 10px 0px; margin: 10px 0px;
} }
body.ttrss_main .dijitDialog section fieldset > label,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label, body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label {
font-weight: bold; font-weight: bold;
@ -448,28 +452,35 @@ body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label {
min-width: 140px; min-width: 140px;
text-align: right; text-align: right;
} }
body.ttrss_main .dijitDialog section fieldset > label.checkbox,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label.checkbox, body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label.checkbox,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label.checkbox { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label.checkbox {
font-weight: normal; font-weight: normal;
display: inline; display: inline;
} }
body.ttrss_main .dijitDialog section fieldset,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset, body.ttrss_main .dijitDialog div.dlgSecCont fieldset,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset {
border-width: 0px; border-width: 0px;
padding: 5px 0px; padding: 5px 0px;
} }
body.ttrss_main .dijitDialog section fieldset.narrow,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset.narrow, body.ttrss_main .dijitDialog div.dlgSecCont fieldset.narrow,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.narrow { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.narrow {
padding: 2px 0px; padding: 2px 0px;
} }
body.ttrss_main .dijitDialog section fieldset.align-right,
body.ttrss_main .dijitDialog div.dlgSecCont fieldset.align-right, body.ttrss_main .dijitDialog div.dlgSecCont fieldset.align-right,
body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.align-right { body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.align-right {
text-align: right; text-align: right;
} }
body.ttrss_main .dijitDialog footer,
body.ttrss_main .dijitDialog .dlgButtons { body.ttrss_main .dijitDialog .dlgButtons {
margin-top: 5px; margin-top: 5px;
text-align: right; text-align: right;
clear: both; }
body.ttrss_main .dijitDialog footer.text-center {
text-align: center;
} }
body.ttrss_main i.icon-label { body.ttrss_main i.icon-label {
color: #fff7d5; color: #fff7d5;

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save