]> git.mxchange.org Git - friendica-addons.git/blobdiff - startpage/startpage.php
[various] Remove App dependency from hook functions
[friendica-addons.git] / startpage / startpage.php
index 872fb234d1298d5c02d469e3f987e9cd1129ead8..e4d80c0c20f831649c1f028424eacd2e7cc58cbe 100644 (file)
@@ -6,33 +6,28 @@
  * Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
  *
  */
-use Friendica\Core\Addon;
-use Friendica\Core\PConfig;
-
-function startpage_install() {
-       Addon::registerHook('home_init', 'addon/startpage/startpage.php', 'startpage_home_init');
-       Addon::registerHook('addon_settings', 'addon/startpage/startpage.php', 'startpage_settings');
-       Addon::registerHook('addon_settings_post', 'addon/startpage/startpage.php', 'startpage_settings_post');
-}
 
+use Friendica\App;
+use Friendica\Core\Hook;
+use Friendica\Core\Renderer;
+use Friendica\DI;
 
-function startpage_uninstall() {
-       Addon::unregisterHook('home_init', 'addon/startpage/startpage.php', 'startpage_home_init');
-       Addon::unregisterHook('addon_settings', 'addon/startpage/startpage.php', 'startpage_settings');
-       Addon::unregisterHook('addon_settings_post', 'addon/startpage/startpage.php', 'startpage_settings_post');
+function startpage_install() {
+       Hook::register('home_init', 'addon/startpage/startpage.php', 'startpage_home_init');
+       Hook::register('addon_settings', 'addon/startpage/startpage.php', 'startpage_settings');
+       Hook::register('addon_settings_post', 'addon/startpage/startpage.php', 'startpage_settings_post');
 }
 
-
-
-function startpage_home_init($a, $b) {
-       if(! local_user())
+function startpage_home_init($b)
+{
+       if (!DI::userSession()->getLocalUserId()) {
                return;
+       }
 
-       $page = PConfig::get(local_user(),'startpage','startpage');
-       if(strlen($page)) {
-               goaway($page);
+       $page = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'startpage', 'startpage');
+       if ($page) {
+               DI::baseUrl()->redirect($page);
        }
-       return;
 }
 
 /**
@@ -44,13 +39,16 @@ function startpage_home_init($a, $b) {
  *
  */
 
-function startpage_settings_post($a,$post) {
-       if(! local_user())
+function startpage_settings_post($post)
+{
+       if (!DI::userSession()->getLocalUserId()) {
                return;
-       if($_POST['startpage-submit'])
-               PConfig::set(local_user(),'startpage','startpage',strip_tags(trim($_POST['startpage'])));
-}
+       }
 
+       if (!empty($_POST['startpage-submit'])) {
+               DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'startpage', 'startpage', strip_tags(trim($_POST['startpage'])));
+       }
+}
 
 /**
  *
@@ -58,40 +56,22 @@ function startpage_settings_post($a,$post) {
  * Add our own settings info to the page.
  *
  */
-
-
-
-function startpage_settings(&$a,&$s) {
-
-       if(! local_user())
+function startpage_settings(array &$data)
+{
+       if (!DI::userSession()->getLocalUserId()) {
                return;
+       }
 
-       /* Add our stylesheet to the page so we can make our settings look nice */
-
-       $a->page['htmlhead'] .= '<link rel="stylesheet"  type="text/css" href="' . $a->get_baseurl() . '/addon/startpage/startpage.css' . '" media="all" />' . "\r\n";
-
-       /* Get the current state of our config variable */
-
-       $page = PConfig::get(local_user(),'startpage','startpage');
-
-
-       /* Add some HTML to the existing form */
-
-       $s .= '<span id="settings_startpage_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_startpage_expanded\'); openClose(\'settings_startpage_inflated\');">';
-       $s .= '<h3>' . t('Startpage') . '</h3>';
-       $s .= '</span>';
-       $s .= '<div id="settings_startpage_expanded" class="settings-block" style="display: none;">';
-       $s .= '<span class="fakelink" onclick="openClose(\'settings_startpage_expanded\'); openClose(\'settings_startpage_inflated\');">';
-       $s .= '<h3>' . t('Startpage') . '</h3>';
-       $s .= '</span>';
-       $s .= '<div id="startpage-page-wrapper">';
-       $s .= '<label id="startpage-page-label" for="startpage-page">' . t('Home page to load after login  - leave blank for profile wall') . '</label>';
-       $s .= '<input id="startpage-page" type="text" name="startpage" value="' . $page . '" />';
-       $s .= '</div><div class="clear"></div>';
-       $s .= '<div id="startpage-desc">' . t('Examples: &quot;network&quot; or &quot;notifications/system&quot;') . '</div>';
-
-       /* provide a submit button */
+       $startpage = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'startpage', 'startpage');
 
-       $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="startpage-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
+       $t    = Renderer::getMarkupTemplate('settings.tpl', 'addon/startpage/');
+       $html = Renderer::replaceMacros($t, [
+               '$startpage' => ['startpage', DI::l10n()->t('Home page to load after login  - leave blank for profile wall'), $startpage, DI::l10n()->t('Examples: "network" or "notifications/system"')],
+       ]);
 
+       $data = [
+               'addon' => 'startpage',
+               'title' => DI::l10n()->t('Startpage'),
+               'html'  => $html,
+       ];
 }