#8374: Removed unnecessary template variable
[friendica-addons.git/.git] / showmore_dyn / showmore_dyn.php
1 <?php
2 /**
3  * Name: Showmore Dynamic
4  * Description: Dynamically limits height of posts
5  * Version: 1.0
6  * Author: Christian Wiwie
7  *
8  */
9
10 use Friendica\App;
11 use Friendica\Core\Hook;
12 use Friendica\Core\L10n;
13 use Friendica\Core\Logger;
14 use Friendica\Core\Renderer;
15 use Friendica\Database\DBA;
16 use Friendica\DI;
17
18 function showmore_dyn_install()
19 {
20         Hook::register('page_end',  __FILE__, 'showmore_dyn_script');
21         Hook::register('head', __FILE__, 'showmore_dyn_head');
22         Hook::register('footer', __FILE__, 'showmore_dyn_footer');
23         Hook::register('addon_settings',  __FILE__, 'showmore_dyn_settings');
24         Hook::register('addon_settings_post',  __FILE__, 'showmore_dyn_settings_post');
25 }
26
27 function showmore_dyn_head(App $a, &$b)
28 {
29         DI::page()->registerStylesheet(__DIR__ . '/showmore_dyn.css');
30 }
31
32 function showmore_dyn_footer(App $a, &$b)
33 {
34         DI::page()->registerFooterScript(__DIR__ . '/showmore_dyn.js');
35 }
36
37 function showmore_dyn_settings_post()
38 {
39         if(!local_user()) {
40                 return;
41         }
42
43         if (isset($_POST['showmore_dyn-submit'])) {
44                 $limitHeight = $_POST['limitHeight'];
45                 if ($limitHeight && is_numeric($limitHeight)) {
46                         DI::pConfig()->set(local_user(), 'showmore_dyn', 'limitHeight', $limitHeight);
47                 }
48         }
49 }
50
51 function showmore_dyn_settings(App &$a, &$o)
52 {
53         if(!local_user()) {
54                 return;
55         }
56
57         $limitHeight = DI::pConfig()->get(local_user(), 'showmore_dyn', 'limitHeight', 250);
58         DI::pConfig()->set(local_user(), 'showmore_dyn', 'limitHeight', $limitHeight);
59
60         $t = Renderer::getMarkupTemplate('settings.tpl', 'addon/showmore_dyn/');
61         $o .= Renderer::replaceMacros($t, [
62                 '$submit' => DI::l10n()->t('Save Settings'),
63                 '$title' => 'Showmore Dynamic',
64                 '$limitHeight' => ['limitHeight', DI::l10n()->t('Limit Height'), $limitHeight, 'The maximal height of posts when collapsed', '', '', 'number'],
65         ]);
66
67 }
68
69 function showmore_dyn_script()
70 {
71         $limitHeight = DI::pConfig()->get(local_user(), 'showmore_dyn', 'limitHeight', 250);
72         $showmore_dyn_showmore_linktext = DI::l10n()->t('Show more ...');
73         DI::page()['htmlhead'] .= <<<EOT
74 <script>
75         var postLimitHeight = $limitHeight;
76         var showmore_dyn_showmore_linktext = "$showmore_dyn_showmore_linktext";
77 </script>
78 EOT;
79 }