[pLog-svn] r3094 - in plog/trunk: class/action/admin locale templates/admin

oscar at devel.lifetype.net oscar at devel.lifetype.net
Wed Mar 22 12:12:53 GMT 2006


Author: oscar
Date: 2006-03-22 12:12:53 +0000 (Wed, 22 Mar 2006)
New Revision: 3094

Modified:
   plog/trunk/class/action/admin/adminlogoutaction.class.php
   plog/trunk/locale/locale_en_UK.php
   plog/trunk/templates/admin/globalsettings_general.template
Log:
allows site admins to configure where users should be directed after logging out, instead of going back to the login page.


Modified: plog/trunk/class/action/admin/adminlogoutaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminlogoutaction.class.php	2006-03-22 06:09:01 UTC (rev 3093)
+++ plog/trunk/class/action/admin/adminlogoutaction.class.php	2006-03-22 12:12:53 UTC (rev 3094)
@@ -2,6 +2,7 @@
 
 	include_once( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     include_once( PLOG_CLASS_PATH."class/view/admin/admindefaultview.class.php" );
+    include_once( PLOG_CLASS_PATH."class/view/redirectview.class.php" );
     include_once( PLOG_CLASS_PATH."class/net/http/httpvars.class.php" );
 
     /**
@@ -27,7 +28,7 @@
          */
         function perform()
         {
-        	$this->_view = new AdminDefaultView();
+            $config =& Config::getConfig();        	
 			
 			$this->notifyEvent( EVENT_PRE_LOGOUT );
 
@@ -38,14 +39,22 @@
             $session = Array();
             HttpVars::setSession( $session );
             session_destroy();
-
-            // and pass the locale to the template
-            $config =& Config::getConfig();
-            $locale =& Locales::getLocale( $config->getValue( "default_locale" ));
-            $url = $this->_blogInfo->getBlogRequestGenerator();
-            $blogTitle = $this->_blogInfo->getBlog();
-			$logoutMessage = $this->_locale->tr("logout_message")."<br/>".$locale->pr("logout_message_2", $url->blogLink(), $blogTitle);
-			$this->_view->setSuccessMessage( $logoutMessage );
+            
+            $destinationUrl = $config->getValue( "logout_destination_url", "" );
+            if( $destinationUrl == "" ) {
+	            // and pass the locale to the template
+	        	$this->_view = new AdminDefaultView();            
+	            $locale =& Locales::getLocale( $config->getValue( "default_locale" ));
+	            $url = $this->_blogInfo->getBlogRequestGenerator();
+	            $blogTitle = $this->_blogInfo->getBlog();
+				$logoutMessage = $this->_locale->tr("logout_message")."<br/>".$locale->pr("logout_message_2", $url->blogLink(), $blogTitle);
+				$this->_view->setSuccessMessage( $logoutMessage );
+			}
+			else {
+				// nothing else to do, just redirect the browser once we've cleaned up the session
+				$this->_view = new RedirectView( $destinationUrl );				
+			}
+		
 			
 			$this->notifyEvent( EVENT_POST_LOGOUT );
 

Modified: plog/trunk/locale/locale_en_UK.php
===================================================================
--- plog/trunk/locale/locale_en_UK.php	2006-03-22 06:09:01 UTC (rev 3093)
+++ plog/trunk/locale/locale_en_UK.php	2006-03-22 12:12:53 UTC (rev 3094)
@@ -1002,4 +1002,6 @@
 
 $messages['notification_subject'] = 'LifeType Notification System';
 $messages['error_no_trackback_links_sent'] = 'Warning: No Trackbacks where sent.';
+
+$messages['logout_destination_url'] = 'URL where users will be sent when logging out, like for examplethe front page of your service. Leave empty in order to use the default value (the login page) [Default = empty]';
 ?>
\ No newline at end of file

Modified: plog/trunk/templates/admin/globalsettings_general.template
===================================================================
--- plog/trunk/templates/admin/globalsettings_general.template	2006-03-22 06:09:01 UTC (rev 3093)
+++ plog/trunk/templates/admin/globalsettings_general.template	2006-03-22 12:12:53 UTC (rev 3094)
@@ -254,5 +254,11 @@
     <div class="formHelp">{$locale->tr("help_skip_dashboard")}</div>
     <input class="radio" type="radio" name="config[skip_dashboard]" value="1" {if $skip_dashboard == 1 } checked="checked" {/if} />{$locale->tr("yes")}
     <input class="radio" type="radio" name="config[skip_dashboard]" value="0" {if $skip_dashboard == 0 } checked="checked" {/if} />{$locale->tr("no")}
-   </div>   
+   </div>
+   <!-- logout_destination_url -->
+   <div class="field">
+    <label for="config[logout_destination_url]">logout_destination_url</label>
+    <div class="formHelp">{$locale->tr("help_logout_destination_url")}</div>	
+    <input style="width:100%" type="text" name="config[logout_destination_url]" value="{$logout_destination_url}"/>
+   </div>       
 </div>   
\ No newline at end of file



More information about the pLog-svn mailing list