X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=showmore_dyn%2Fshowmore_dyn.php;h=bf8f5608dc1d80004c35509cdd97660568937f4b;hb=2dbcc42384b85e5253b939f528236f41909b1596;hp=9b0ec24e7f77ee469aca457c1952edbedf18848d;hpb=8ff88b2eee0001ea6ff29bf92709aefe7905fc98;p=friendica-addons.git diff --git a/showmore_dyn/showmore_dyn.php b/showmore_dyn/showmore_dyn.php index 9b0ec24e..bf8f5608 100644 --- a/showmore_dyn/showmore_dyn.php +++ b/showmore_dyn/showmore_dyn.php @@ -9,26 +9,68 @@ use Friendica\App; use Friendica\Core\Hook; +use Friendica\Core\L10n; +use Friendica\Core\Logger; +use Friendica\Core\Renderer; +use Friendica\Database\DBA; use Friendica\DI; -function showmore_dyn_install() { - Hook::register('head' , __FILE__, 'showmore_dyn_head'); - Hook::register('footer', __FILE__, 'showmore_dyn_footer'); -} - -function showmore_dyn_uninstall() +function showmore_dyn_install() { - Hook::unregister('head' , __FILE__, 'showmore_dyn_head'); - Hook::unregister('footer', __FILE__, 'showmore_dyn_footer'); + Hook::register('page_end', __FILE__, 'showmore_dyn_script'); + Hook::register('head', __FILE__, 'showmore_dyn_head'); + Hook::register('footer', __FILE__, 'showmore_dyn_footer'); + Hook::register('addon_settings', __FILE__, 'showmore_dyn_settings'); + Hook::register('addon_settings_post', __FILE__, 'showmore_dyn_settings_post'); } function showmore_dyn_head(App $a, &$b) { - DI::page()->registerStylesheet(__DIR__ . '/showmore_dyn.css'); + DI::page()->registerStylesheet(__DIR__ . '/showmore_dyn.css'); } function showmore_dyn_footer(App $a, &$b) { - DI::page()->registerFooterScript(__DIR__ . '/showmore_dyn.js'); + DI::page()->registerFooterScript(__DIR__ . '/showmore_dyn.js'); +} + +function showmore_dyn_settings_post() +{ + if(!local_user()) { + return; + } + + if (isset($_POST['showmore_dyn-submit'])) { + DI::pConfig()->set(local_user(), 'showmore_dyn', 'limitHeight', $_POST['limitHeight'] ?? 0); + } +} + +function showmore_dyn_settings(App &$a, &$o) +{ + if(!local_user()) { + return; + } + + $limitHeight = DI::pConfig()->get(local_user(), 'showmore_dyn', 'limitHeight', 250); + DI::pConfig()->set(local_user(), 'showmore_dyn', 'limitHeight', $limitHeight); + + $t = Renderer::getMarkupTemplate('settings.tpl', 'addon/showmore_dyn/'); + $o .= Renderer::replaceMacros($t, [ + '$submit' => DI::l10n()->t('Save Settings'), + '$header' => DI::l10n()->t('Show More Dynamic'), + '$limitHeight' => ['limitHeight', DI::l10n()->t('Limit Height'), $limitHeight, DI::l10n()->t('The maximal pixel height of posts before the Show More link is added, 0 to disable'), '', '', 'number'], + ]); + } +function showmore_dyn_script() +{ + $limitHeight = intval(DI::pConfig()->get(local_user(), 'showmore_dyn', 'limitHeight', 250)); + $showmore_dyn_showmore_linktext = DI::l10n()->t('Show more...'); + DI::page()['htmlhead'] .= << + var postLimitHeight = $limitHeight; + var showmore_dyn_showmore_linktext = "$showmore_dyn_showmore_linktext"; + +EOT; +}