disable themes in safe mode; rework safe mode warning/login prompt
This commit is contained in:
parent
74986d1ac6
commit
848bc57f29
|
@ -202,6 +202,6 @@ class Dlg extends Handler_Protected {
|
||||||
print "<button dojoType='dijit.form.Button'
|
print "<button dojoType='dijit.form.Button'
|
||||||
onclick=\"return dijit.byId('defaultPasswordDlg').hide();\">".
|
onclick=\"return dijit.byId('defaultPasswordDlg').hide();\">".
|
||||||
__('Close this window')."</button>";
|
__('Close this window')."</button>";
|
||||||
print "</footeer>";
|
print "</footer>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -454,6 +454,7 @@ class RPC extends Handler_Protected {
|
||||||
$params[strtolower($param)] = (int) get_pref($param);
|
$params[strtolower($param)] = (int) get_pref($param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$params["safe_mode"] = !empty($_SESSION["safe_mode"]);
|
||||||
$params["check_for_updates"] = CHECK_FOR_UPDATES;
|
$params["check_for_updates"] = CHECK_FOR_UPDATES;
|
||||||
$params["icons_url"] = ICONS_URL;
|
$params["icons_url"] = ICONS_URL;
|
||||||
$params["cookie_lifetime"] = SESSION_COOKIE_LIFETIME;
|
$params["cookie_lifetime"] = SESSION_COOKIE_LIFETIME;
|
||||||
|
|
|
@ -153,11 +153,14 @@
|
||||||
<fieldset class="narrow">
|
<fieldset class="narrow">
|
||||||
<label> </label>
|
<label> </label>
|
||||||
|
|
||||||
<label ><input dojoType="dijit.form.CheckBox" name="safe_mode" id="safe_mode"
|
<label id="safe_mode_label"><input dojoType="dijit.form.CheckBox" name="safe_mode" id="safe_mode"
|
||||||
type="checkbox">
|
type="checkbox">
|
||||||
<?php echo __("Safe mode (no plugins)") ?></label>
|
<?php echo __("Safe mode") ?></label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<div dojoType="dijit.Tooltip" connectId="safe_mode_label" position="below" style="display:none">
|
||||||
|
<?php echo __("Uses default theme and prevents all plugins from loading."); ?>
|
||||||
|
</div>
|
||||||
<?php if (SESSION_COOKIE_LIFETIME > 0) { ?>
|
<?php if (SESSION_COOKIE_LIFETIME > 0) { ?>
|
||||||
|
|
||||||
<fieldset class="narrow">
|
<fieldset class="narrow">
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<title>Tiny Tiny RSS</title>
|
<title>Tiny Tiny RSS</title>
|
||||||
<meta name="viewport" content="initial-scale=1,width=device-width" />
|
<meta name="viewport" content="initial-scale=1,width=device-width" />
|
||||||
|
|
||||||
<?php if ($_SESSION["uid"] && !isset($_REQUEST["ignore-theme"])) {
|
<?php if ($_SESSION["uid"] && empty($_SESSION["safe_mode"])) {
|
||||||
$theme = get_pref("USER_CSS_THEME", false, false);
|
$theme = get_pref("USER_CSS_THEME", false, false);
|
||||||
if ($theme && theme_exists("$theme")) {
|
if ($theme && theme_exists("$theme")) {
|
||||||
echo stylesheet_tag(get_theme_path($theme), 'theme_css');
|
echo stylesheet_tag(get_theme_path($theme), 'theme_css');
|
||||||
|
|
32
js/Feeds.js
32
js/Feeds.js
|
@ -247,6 +247,38 @@ const Feeds = {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dijit.byId("safeModeDlg"))
|
||||||
|
dijit.byId("safeModeDlg").destroyRecursive();
|
||||||
|
|
||||||
|
if (App.getInitParam("safe_mode")) {
|
||||||
|
const dialog = new dijit.Dialog({
|
||||||
|
title: __("Safe mode"),
|
||||||
|
content: `
|
||||||
|
<div class='alert alert-info'>
|
||||||
|
${__('Tiny Tiny RSS is running in safe mode. All themes and plugins are disabled. You will need to log out and back in to disable it.')}
|
||||||
|
</div>
|
||||||
|
<footer class='text-center'>
|
||||||
|
<button dojoType='dijit.form.Button' type='submit'>
|
||||||
|
${__('Close this window')}
|
||||||
|
</button>
|
||||||
|
</footer>
|
||||||
|
`,
|
||||||
|
id: 'safeModeDlg',
|
||||||
|
style: "width: 600px",
|
||||||
|
onCancel: function () {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
onExecute: function () {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
onClose: function () {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
dialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
// bw_limit disables timeout() so we request initial counters separately
|
// bw_limit disables timeout() so we request initial counters separately
|
||||||
if (App.getInitParam("bw_limit")) {
|
if (App.getInitParam("bw_limit")) {
|
||||||
this.requestCounters(true);
|
this.requestCounters(true);
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<title>Tiny Tiny RSS : <?php echo __("Preferences") ?></title>
|
<title>Tiny Tiny RSS : <?php echo __("Preferences") ?></title>
|
||||||
<meta name="viewport" content="initial-scale=1,width=device-width" />
|
<meta name="viewport" content="initial-scale=1,width=device-width" />
|
||||||
|
|
||||||
<?php if ($_SESSION["uid"] && !isset($_REQUEST["ignore-theme"])) {
|
<?php if ($_SESSION["uid"] && empty($_SESSION["safe_mode"])) {
|
||||||
$theme = get_pref("USER_CSS_THEME", false, false);
|
$theme = get_pref("USER_CSS_THEME", false, false);
|
||||||
if ($theme && theme_exists("$theme")) {
|
if ($theme && theme_exists("$theme")) {
|
||||||
echo stylesheet_tag(get_theme_path($theme), 'theme_css');
|
echo stylesheet_tag(get_theme_path($theme), 'theme_css');
|
||||||
|
|
Loading…
Reference in New Issue