[cookienotice] Move user addon settings to admin page

- Reformat code
- Remove uninstall function which doesn't include any specific uninstalling code besides hooks
pull/854/head
Hypolite Petovan 2019-05-08 00:43:27 -04:00
parent 582bec6415
commit 31e89b43fe
4 changed files with 41 additions and 69 deletions

View File

@ -2,6 +2,8 @@ Cookie Notice
For server admins only. For server admins only.
Configure, show and handle a simple cookie usage notice. This absolute annoying but eventually necessary notification about the usage of cookies. This kind of things you klick ok on but don't read. Configure, show and handle a simple cookie usage notice.
This absolute annoying but eventually necessary notification about the usage of cookies.
This kind of things you click ok on but don't read.
Author: Peter liebetrau <https://socivitas.com/profile/peerteer> Author: Peter Liebetrau <https://socivitas.com/profile/peerteer>

View File

@ -5,10 +5,11 @@
* Description: Configure, show and handle a simple cookie notice * Description: Configure, show and handle a simple cookie notice
* Version: 1.0 * Version: 1.0
* Author: Peter Liebetrau <https://socivitas/profile/peerteer> * Author: Peter Liebetrau <https://socivitas/profile/peerteer>
*
*/ */
use Friendica\Core\Hook;
use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook;
use Friendica\Core\L10n; use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -22,53 +23,31 @@ function cookienotice_install()
{ {
Hook::register('page_content_top', __FILE__, 'cookienotice_page_content_top'); Hook::register('page_content_top', __FILE__, 'cookienotice_page_content_top');
Hook::register('page_end', __FILE__, 'cookienotice_page_end'); Hook::register('page_end', __FILE__, 'cookienotice_page_end');
Hook::register('addon_settings', __FILE__, 'cookienotice_addon_settings');
Hook::register('addon_settings_post', __FILE__, 'cookienotice_addon_settings_post');
} }
/** /**
* cookienotice_uninstall * cookienotice_addon_admin
* unregisters hooks
*
* @return void
*/
function cookienotice_uninstall()
{
Hook::unregister('page_content_top', __FILE__, 'cookienotice_page_content_top');
Hook::unregister('page_end', __FILE__, 'cookienotice_page_end');
Hook::unregister('addon_settings', __FILE__, 'cookienotice_addon_settings');
Hook::unregister('addon_settings_post', __FILE__, 'cookienotice_addon_settings_post');
}
/**
* cookienotice_addon_settings
* addon_settings hook
* creates the admins config panel * creates the admins config panel
* *
* @param \Friendica\App $a * @param App $a
* @param string $s The existing config panel html so far * @param string $s The existing config panel html so far
* *
* @return void * @return void
*/ */
function cookienotice_addon_settings(\Friendica\App $a, &$s) function cookienotice_addon_admin(App $a, &$s)
{ {
if (!is_site_admin()) { if (!is_site_admin()) {
return; return;
} }
/* Add our stylesheet to the page so we can make our settings look nice */
$stylesheetPath = 'addon/cookienotice/cookienotice.css';
$a->registerStylesheet($stylesheetPath);
$text = Config::get('cookienotice', 'text', L10n::t('This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.')); $text = Config::get('cookienotice', 'text', L10n::t('This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.'));
$oktext = Config::get('cookienotice', 'oktext', L10n::t('OK')); $oktext = Config::get('cookienotice', 'oktext', L10n::t('OK'));
$t = Renderer::getMarkupTemplate("settings.tpl", "addon/cookienotice/"); $t = Renderer::getMarkupTemplate('admin.tpl', __DIR__);
$s .= Renderer::replaceMacros($t, [ $s .= Renderer::replaceMacros($t, [
'$title' => L10n::t('"cookienotice" Settings'),
'$description' => L10n::t('<b>Configure your cookie usage notice.</b> It should just be a notice, saying that the website uses cookies. It is shown as long as a user didnt confirm clicking the OK button.'), '$description' => L10n::t('<b>Configure your cookie usage notice.</b> It should just be a notice, saying that the website uses cookies. It is shown as long as a user didnt confirm clicking the OK button.'),
'$text' => ['cookienotice-text', L10n::t('Cookie Usage Notice'), $text, L10n::t('The cookie usage notice')], '$text' => ['cookienotice-text', L10n::t('Cookie Usage Notice'), $text],
'$oktext' => ['cookienotice-oktext', L10n::t('OK Button Text'), $oktext, L10n::t('The OK Button text')], '$oktext' => ['cookienotice-oktext', L10n::t('OK Button Text'), $oktext],
'$submit' => L10n::t('Save Settings') '$submit' => L10n::t('Save Settings')
]); ]);
@ -76,16 +55,16 @@ function cookienotice_addon_settings(\Friendica\App $a, &$s)
} }
/** /**
* cookienotice_addon_settings_post * cookienotice_addon_admin_post
* addon_settings_post hook * addon_settings_post hook
* handles the post request from the admin panel * handles the post request from the admin panel
* *
* @param \Friendica\App $a * @param App $a
* @param string $b * @param string $b
* *
* @return void * @return void
*/ */
function cookienotice_addon_settings_post(\Friendica\App $a, &$b) function cookienotice_addon_admin_post(App $a, &$b)
{ {
if (!is_site_admin()) { if (!is_site_admin()) {
return; return;
@ -103,15 +82,15 @@ function cookienotice_addon_settings_post(\Friendica\App $a, &$b)
* page_content_top hook * page_content_top hook
* adds css and scripts to the <head> section of the html * adds css and scripts to the <head> section of the html
* *
* @param \Friendica\App $a * @param App $a
* @param string $b unnused - the header html incl. nav * @param string $b unused - the header html incl. nav
* *
* @return void * @return void
*/ */
function cookienotice_page_content_top(\Friendica\App $a, &$b) function cookienotice_page_content_top(App $a, &$b)
{ {
$stylesheetPath = 'addon/cookienotice/cookienotice.css'; $stylesheetPath = __DIR__ . '/cookienotice.css';
$footerscriptPath = 'addon/cookienotice/cookienotice.js'; $footerscriptPath = __DIR__ . '/cookienotice.js';
$a->registerStylesheet($stylesheetPath); $a->registerStylesheet($stylesheetPath);
$a->registerFooterScript($footerscriptPath); $a->registerFooterScript($footerscriptPath);
@ -122,17 +101,17 @@ function cookienotice_page_content_top(\Friendica\App $a, &$b)
* page_end hook * page_end hook
* ads our cookienotice box to the end of the html * ads our cookienotice box to the end of the html
* *
* @param \Friendica\App $a * @param App $a
* @param string $b the page html * @param string $b the page html
* *
* @return void * @return void
*/ */
function cookienotice_page_end(\Friendica\App $a, &$b) function cookienotice_page_end(App $a, &$b)
{ {
$text = (string)Config::get('cookienotice', 'text', L10n::t('This website uses cookies to recognize revisiting and logged in users. You accept the usage of these cookies by continue browsing this website.')); $text = (string)Config::get('cookienotice', 'text', L10n::t('This website uses cookies to recognize revisiting and logged in users. You accept the usage of these cookies by continue browsing this website.'));
$oktext = (string)Config::get('cookienotice', 'oktext', L10n::t('OK')); $oktext = (string)Config::get('cookienotice', 'oktext', L10n::t('OK'));
$page_end_tpl = Renderer::getMarkupTemplate("cookienotice.tpl", "addon/cookienotice/"); $page_end_tpl = Renderer::getMarkupTemplate('cookienotice.tpl', __DIR__);
$page_end = Renderer::replaceMacros($page_end_tpl, [ $page_end = Renderer::replaceMacros($page_end_tpl, [
'$text' => $text, '$text' => $text,

View File

@ -0,0 +1,6 @@
<p>{{$description nofilter}}</p>
{{include file="field_textarea.tpl" field=$text}}
{{include file="field_input.tpl" field=$oktext}}
<div class="settings-submit-wrapper" >
<input type="submit" id="cookienotice-submit" name="cookienotice-submit" class="settings-submit" value="{{$submit}}" />
</div>

View File

@ -1,15 +0,0 @@
<span id="settings_cookienotice_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose('settings_cookienotice_expanded'); openClose('settings_cookienotice_inflated');">
<h3>{{$title}}</h3>
</span>
<div id="settings_cookienotice_expanded" class="settings-block" style="display: none;">
<span class="fakelink" onclick="openClose('settings_cookienotice_expanded'); openClose('settings_cookienotice_inflated');">
<h3>{{$title}}</h3>
</span>
<p>{{$description nofilter}}</p>
{{include file="field_textarea.tpl" field=$text}}
{{include file="field_input.tpl" field=$oktext}}
<div class="settings-submit-wrapper" >
<input type="submit" id="cookienotice-submit" name="cookienotice-submit" class="settings-submit" value="{{$submit}}" />
</div>
</div>
<div class="clear"></div>