]> git.mxchange.org Git - friendica-addons.git/blobdiff - startpage/startpage.php
Bluesky: Support personal data servers
[friendica-addons.git] / startpage / startpage.php
index 6c266ca82964460140691ba9465880ebd099054f..e4d80c0c20f831649c1f028424eacd2e7cc58cbe 100644 (file)
@@ -4,37 +4,30 @@
  * Description: Set a preferred page to load on login from home page
  * Version: 1.0
  * Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
- * 
+ *
  */
 
+use Friendica\App;
+use Friendica\Core\Hook;
+use Friendica\Core\Renderer;
+use Friendica\DI;
 
 function startpage_install() {
-       register_hook('home_init', 'addon/startpage/startpage.php', 'startpage_home_init');
-       register_hook('plugin_settings', 'addon/startpage/startpage.php', 'startpage_settings');
-       register_hook('plugin_settings_post', 'addon/startpage/startpage.php', 'startpage_settings_post');
-}
-
-
-function startpage_uninstall() {
-       unregister_hook('home_init', 'addon/startpage/startpage.php', 'startpage_home_init');
-       unregister_hook('plugin_settings', 'addon/startpage/startpage.php', 'startpage_settings');
-       unregister_hook('plugin_settings_post', 'addon/startpage/startpage.php', 'startpage_settings_post');
+       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 = get_pconfig(local_user(),'startpage','startpage');
-       if(strlen($page)) {
-               $slash = ((strpos($page,'/') === 0) ? true : false);
-               if(stristr($page,'://'))
-                       goaway($page);
-               goaway($a->get_baseurl() . (($slash) ? '' : '/') . $page);
+       $page = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'startpage', 'startpage');
+       if ($page) {
+               DI::baseUrl()->redirect($page);
        }
-       return;
 }
 
 /**
@@ -46,54 +39,39 @@ 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'])
-               set_pconfig(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'])));
+       }
+}
 
 /**
  *
- * Called from the Plugin Setting form. 
+ * Called from the Addon Setting form.
  * 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 = get_pconfig(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 Settings') . '</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 Settings') . '</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,
+       ];
 }