blackout addon: bugfix translation was not applied #823

Merged
tobiasd merged 1 commit from 20190312-blackout into 2019.03-RC 2019-03-12 10:26:51 +01:00
4 changed files with 91 additions and 88 deletions

View file

@ -2,7 +2,7 @@ blackout addon
============== ==============
* Description: Blackout your ~friendica node during a given period * Description: Blackout your ~friendica node during a given period
* License: [MIT](http://opensource.org/licenses/MIT) * License: [MIT](http://opensource.org/licenses/MIT)
* Version: 1.0 * Version: 1.1
* Author: Tobias Diekershoff * Author: Tobias Diekershoff
About About
@ -21,11 +21,6 @@ out they can't login again. That way you dear admin can double check
the entered time periode and fix typos without having to hack the the entered time periode and fix typos without having to hack the
database directly. database directly.
Requirements
-------------
**THIS ADDON REQUIRES PHP VERSION 5.3 OR HIGHER.**
License License
------- -------

View file

@ -1,10 +1,10 @@
<?php <?php
/** /**
* Name: blackout * Name: blackout
* Description: Blackout your ~friendica node during a given period, requires PHP >= 5.3 * Description: Blackout your ~friendica node during a given period
* License: MIT * License: MIT
* Version: 1.0 * Version: 1.1
* Author: Tobias Diekershoff <https://f.diekershoff.de/~tobias> * Author: Tobias Diekershoff <https://social.diekershoff.de/~tobias>
* *
* About * About
* ===== * =====
@ -22,11 +22,6 @@
* the entered time periode and fix typos without having to hack the * the entered time periode and fix typos without having to hack the
* database directly. * database directly.
* *
* Requirements
* ============
*
* THIS ADDON REQUIRES PHP VERSION 5.3 OR HIGHER.
*
* License * License
* ======= * =======
* *
@ -57,70 +52,70 @@ use Friendica\Core\Renderer;
use Friendica\Core\System; use Friendica\Core\System;
function blackout_install() { function blackout_install() {
Hook::register('page_header', 'addon/blackout/blackout.php', 'blackout_redirect'); Hook::register('page_header', 'addon/blackout/blackout.php', 'blackout_redirect');
} }
function blackout_uninstall() { function blackout_uninstall() {
Hook::unregister('page_header', 'addon/blackout/blackout.php', 'blackout_redirect'); Hook::unregister('page_header', 'addon/blackout/blackout.php', 'blackout_redirect');
} }
function blackout_redirect ($a, $b) { function blackout_redirect ($a, $b) {
// if we have a logged in user, don't throw her out // if we have a logged in user, don't throw her out
if (local_user()) { if (local_user()) {
return true;
}
if (! (version_compare(PHP_VERSION, '5.3.0') >= 0))
return true; return true;
}
// else... // else...
$mystart = Config::get('blackout','begindate'); $mystart = Config::get('blackout','begindate');
$myend = Config::get('blackout','enddate'); $myend = Config::get('blackout','enddate');
$myurl = Config::get('blackout','url'); $myurl = Config::get('blackout','url');
$now = time(); $now = time();
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart); $date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart);
$date2 = DateTime::createFromFormat('Y-m-d G:i', $myend); $date2 = DateTime::createFromFormat('Y-m-d G:i', $myend);
if ( $date1 && $date2 ) { if ( $date1 && $date2 ) {
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart)->format('U'); $date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart)->format('U');
$date2 = DateTime::createFromFormat('Y-m-d G:i', $myend)->format('U'); $date2 = DateTime::createFromFormat('Y-m-d G:i', $myend)->format('U');
} else { } else {
$date1 = 0; $date1 = 0;
$date2 = 0; $date2 = 0;
} }
if (( $date1 <= $now ) && ( $now <= $date2 )) { if (( $date1 <= $now ) && ( $now <= $date2 )) {
Logger::log('redirecting user to blackout page'); Logger::log('redirecting user to blackout page');
System::externalRedirect($myurl); System::externalRedirect($myurl);
} }
} }
function blackout_addon_admin(&$a, &$o) { function blackout_addon_admin(&$a, &$o) {
$mystart = Config::get('blackout','begindate'); $mystart = Config::get('blackout','begindate');
if (! is_string($mystart)) { $mystart = "YYYY-MM-DD:hhmm"; } if (! is_string($mystart)) { $mystart = "YYYY-MM-DD hh:mm"; }
$myend = Config::get('blackout','enddate'); $myend = Config::get('blackout','enddate');
if (! is_string($myend)) { $myend = "YYYY-MM-DD:hhmm"; } if (! is_string($myend)) { $myend = "YYYY-MM-DD hh:mm"; }
$myurl = Config::get('blackout','url'); $myurl = Config::get('blackout','url');
if (! is_string($myurl)) { $myurl = "http://www.example.com"; } if (! is_string($myurl)) { $myurl = "https://www.example.com"; }
$t = Renderer::getMarkupTemplate( "admin.tpl", "addon/blackout/" ); $t = Renderer::getMarkupTemplate( "admin.tpl", "addon/blackout/" );
$o = Renderer::replaceMacros($t, [ $date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart);
'$submit' => L10n::t('Save Settings'), $date2 = DateTime::createFromFormat('Y-m-d G:i', $myend);
'$rurl' => ["rurl", "Redirect URL", $myurl, "all your visitors from the web will be redirected to this URL"], // a note for the admin
'$startdate' => ["startdate", "Begin of the Blackout<br />(YYYY-MM-DD hh:mm)", $mystart, "format is <em>YYYY</em> year, <em>MM</em> month, <em>DD</em> day, <em>hh</em> hour and <em>mm</em> minute"], $adminnote = "";
'$enddate' => ["enddate", "End of the Blackout<br />(YYYY-MM-DD hh:mm)", $myend, ""], if ($date2 < $date1) {
$adminnote = L10n::t("The end-date is prior to the start-date of the blackout, you should fix this");
]); } else {
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart); $adminnote = L10n::t("Please double check that the current settings for the blackout. Begin will be <strong>%s</strong> and it will end <strong>%s</strong>.", $mystart, $myend);
$date2 = DateTime::createFromFormat('Y-m-d G:i', $myend); }
if ($date2 < $date1) { $o = Renderer::replaceMacros($t, [
$o = "<div style='border: 2px solid #f00; bakckground: #b00; text-align: center; padding: 10px; margin: 30px;'>The end-date is prior to the start-date of the blackout, you should fix this.</div>" . $o; '$submit' => L10n::t('Save Settings'),
} else { '$rurl' => ["rurl", L10n::t("Redirect URL"), $myurl, L10n::t("all your visitors from the web will be redirected to this URL"), "", "", "url"],
$o = '<p>Please double check that the current settings for the blackout. Begin will be <strong>'.$mystart.'</strong> and it will end <strong>'.$myend.'</strong>.</p>' . $o; '$startdate' => ["startdate", L10n::t("Begin of the Blackout"), $mystart, L10n::t("Format is <tt>YYYY-MM-DD hh:mm</tt>; <em>YYYY</em> year, <em>MM</em> month, <em>DD</em> day, <em>hh</em> hour and <em>mm</em> minute.")],
} '$enddate' => ["enddate", L10n::t("End of the Blackout"), $myend, ""],
'$adminnote' => $adminnote,
'$aboutredirect' => L10n::t("<strong>Note</strong>: The redirect will be active from the moment you press the submit button. Users currently logged in will <strong>not</strong> be thrown out but can't login again after logging out should the blackout is still in place."),
]);
} }
function blackout_addon_admin_post (&$a) { function blackout_addon_admin_post (&$a) {
$begindate = trim($_POST['startdate']); $begindate = trim($_POST['startdate']);
$enddate = trim($_POST['enddate']); $enddate = trim($_POST['enddate']);
$url = trim($_POST['rurl']); $url = trim($_POST['rurl']);
Config::set('blackout','begindate',$begindate); Config::set('blackout','begindate',$begindate);
Config::set('blackout','enddate',$enddate); Config::set('blackout','enddate',$enddate);
Config::set('blackout','url',$url); Config::set('blackout','url',$url);
} }

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-22 13:18+0200\n" "POT-Creation-Date: 2019-03-12 09:26+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,33 +17,48 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: blackout.php:99 #: blackout.php:101
msgid ""
"The end-date is prior to the start-date of the blackout, you should fix this"
msgstr ""
#: blackout.php:103
#, php-format
msgid ""
"Please double check that the current settings for the blackout. Begin will "
"be <strong>%s</strong> and it will end <strong>%s</strong>."
msgstr ""
#: blackout.php:106
msgid "Save Settings" msgid "Save Settings"
msgstr "" msgstr ""
#: blackout.php:100 #: blackout.php:107
msgid "Redirect URL" msgid "Redirect URL"
msgstr "" msgstr ""
#: blackout.php:100 #: blackout.php:107
msgid "all your visitors from the web will be redirected to this URL" msgid "all your visitors from the web will be redirected to this URL"
msgstr "" msgstr ""
#: blackout.php:101 #: blackout.php:108
msgid "Begin of the Blackout" msgid "Begin of the Blackout"
msgstr "" msgstr ""
#: blackout.php:101
msgid ""
"format is <em>YYYY</em> year, <em>MM</em> month, <em>DD</em> day, <em>hh</"
"em> hour and <em>mm</em> minute"
msgstr ""
#: blackout.php:102
msgid "End of the Blackout"
msgstr ""
#: blackout.php:108 #: blackout.php:108
msgid "" msgid ""
"The end-date is prior to the start-date of the blackout, you should fix this." "Format is <tt>YYYY-MM-DD hh:mm</tt>; <em>YYYY</em> year, <em>MM</em> month, "
"<em>DD</em> day, <em>hh</em> hour and <em>mm</em> minute."
msgstr ""
#: blackout.php:109
msgid "End of the Blackout"
msgstr ""
#: blackout.php:111
msgid ""
"<strong>Note</strong>: The redirect will be active from the moment you press "
"the submit button. Users currently logged in will <strong>not</strong> be "
"thrown out but can't login again after logging out should the blackout is "
"still in place."
msgstr "" msgstr ""

View file

@ -1,11 +1,9 @@
<div class="warning-message">{{$adminnote nofilter}}</div>
{{include file="field_input.tpl" field=$startdate}} {{include file="field_input.tpl" field=$startdate}}
{{include file="field_input.tpl" field=$enddate}} {{include file="field_input.tpl" field=$enddate}}
{{include file="field_input.tpl" field=$rurl}} {{include file="field_input.tpl" field=$rurl}}
<div style="border: 2px solid #f00; padding: 10px; margin: <div class="warning-message">{{$aboutredirect nofilter}}</div>
10px;font-size: 1.2em;"><strong>Note</strong>: The redirect will be active from the moment you
press the submit button. Users currently logged in will <strong>not</strong> be
thrown out but can't login again after logging out should the blackout is
still in place.</div>
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div> <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>