SF.net SVN: phpwiki:[10884] trunk/lib/plugin/UserPreferences.php

vargenau--- via phpwiki-checkins <[email protected]> Wed, 12 Jan 2022 11:36:57 +0000
Newsgroups gmane.comp.web.wiki.phpwiki.checkins
Message-ID <[email protected]>
Revision: 10884
          http://sourceforge.net/p/phpwiki/code/10884
Author:   vargenau
Date:     2022-01-12 11:36:57 +0000 (Wed, 12 Jan 2022)
Log Message:
-----------
UserPreferences: If user has changed theme, we redirect so that the display is not ugly (mix of old and new templates)

Modified Paths:
--------------
    trunk/lib/plugin/UserPreferences.php

Modified: trunk/lib/plugin/UserPreferences.php
===================================================================
--- trunk/lib/plugin/UserPreferences.php	2022-01-11 11:37:40 UTC (rev 10883)
+++ trunk/lib/plugin/UserPreferences.php	2022-01-12 11:36:57 UTC (rev 10884)
@@ -74,6 +74,8 @@
      */
     function run($dbi, $argstr, &$request, $basepage)
     {
+        $pref = &$request->_prefs;
+        $old_theme = $pref->get('theme');
         $args = $this->getArgs($argstr, $request);
         $user =& $request->_user;
         $user->_request = $request;
@@ -111,6 +113,10 @@
                     $request->_setUser($user);
                     $request->setArg("verify", false);
                     $request->setArg("delete", false);
+                    if ($old_theme != THEME) {
+                        return HTML($request->redirect(WikiURL(__("UserPreferences"), array(), 'absurl'), false));
+                    }
+
                     $errmsg .= _("Your UserPreferences have been successfully reset to default.");
                     $args['errmsg'] = HTML::div(array('class' => 'feedback'), HTML::p($errmsg));
                     return Template('userprefs', $args);
@@ -172,6 +178,12 @@
                         $args['errmsg'] = HTML::div(array('class' => 'error'), HTML::p($errmsg));
                     } else {
                         $args['errmsg'] = HTML::div(array('class' => 'feedback'), HTML::p($errmsg));
+                        $new_theme = $rp['theme'];
+                        // If user has changed theme, we redirect so that the display is not ugly
+                        // (mix of old and new templates)
+                        if ($new_theme && ($new_theme != $old_theme)) {
+                            return HTML($request->redirect(WikiURL(__("UserPreferences"), array(), 'absurl'), false));
+                        }
                     }
 
                 }

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.