[pLog-svn] r3655 - in plog/trunk: . class/controller class/summary class/summary/action class/summary/controller templates/summary

oscar at devel.lifetype.net oscar at devel.lifetype.net
Mon Jun 26 21:00:17 GMT 2006


Author: oscar
Date: 2006-06-26 21:00:16 +0000 (Mon, 26 Jun 2006)
New Revision: 3655

Added:
   plog/trunk/class/controller/sequentialcontroller.class.php
   plog/trunk/class/summary/action/summaryregistrationaction.class.php
   plog/trunk/class/summary/controller/
   plog/trunk/class/summary/controller/registrationcontroller.class.php
   plog/trunk/class/summary/controller/summarycontroller.class.php
   plog/trunk/register.php
Removed:
   plog/trunk/class/summary/action/summaryregistrationdisabledaction.class.php
Modified:
   plog/trunk/class/summary/action/chooseblogtemplateaction.class.php
   plog/trunk/class/summary/action/dofinishregister.class.php
   plog/trunk/class/summary/action/doreadagreement.class.php
   plog/trunk/class/summary/action/douserregister.class.php
   plog/trunk/templates/summary/header.template
   plog/trunk/templates/summary/registerstep0.template
   plog/trunk/templates/summary/registerstep1.template
   plog/trunk/templates/summary/registerstep2.template
   plog/trunk/templates/summary/registerstep3.template
   plog/trunk/templates/summary/registerstep4.template
   plog/trunk/templates/summary/registerstep5.template
Log:
fixed issues 942 and 521, where it was possible to skip right to steps 3 or 4 of the registration process without any sort of checks of controls. I could have chosen to hack something quickly and get this sorted but I decided to fix it the right way once and for all :)

There is now a new "sequential" controller that keeps its own internal status (via the session) so it's impossible to skip any steps or jump straight to a certain step because the step parameter is just not accessible anymore. The sequential controller has a list with the sequence of action classes that need to be executed and keeps its own internal pointer, which is only moved forward if the last action class that was eexecuted did not return with an error (and its validation worked) There is more documentation in the class itself (class/controller/sequentialcontroller.class.php) and the registration controller is a fine example of how to use this class (class/summary/controller/registrationcontroller.class.php)

The only problem is that since this is a completely different controller, register.php is back but hopefully in a way that should be transparent for most users (disuised in a "dummy" action)

I've also cleaned up summary.php and moved its controller code to its own class under class/summary/controller/.

The only thing that isn't working yet is the possibility to disable registration, but that shouldn't be too difficult anymore.


Added: plog/trunk/class/controller/sequentialcontroller.class.php
===================================================================
--- plog/trunk/class/controller/sequentialcontroller.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/controller/sequentialcontroller.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -0,0 +1,143 @@
+<?php
+	
+	include_once( PLOG_CLASS_PATH."class/controller/controller.class.php" );
+	include_once( PLOG_CLASS_PATH."class/object/exception.class.php" );	
+	include_once( PLOG_CLASS_PATH."class/net/http/session/sessionmanager.class.php" );
+	include_once( PLOG_CLASS_PATH."class/net/http/httpvars.class.php" );	
+	
+	define( "SEQUENTIAL_CONTROLLER_SESSION_PARAMETER", "ltSeqControllerCurrentStep" );
+
+	/**
+	 * \ingroup Controller
+	 *
+	 * This is a simplified version of the Controller pattern that executes its actions in a
+	 * pre-defined sequence. This allows to easily create multi-step forms that are executed
+	 * only in the pre-defined order.
+	 *
+	 * This controller uses the session to store its current step (so that it can compute the)
+	 * next step after the next request so support for sessions both on the client side and the
+	 * server side is required.
+	 *
+     * The next step in the sequence will be calculated based on the outcome of the action that
+	 * was last executed: if the validate() method or the perform() method both returned true, then
+	 * the controller will proceed to execute the next action. If either of the conditions above
+	 * was not true, this controller will keep retrying the current step until successful.
+	 *
+	 * If you'd like to restart the sequence of this controller, please include a "start=1" parameter
+	 * in any request.
+	 *
+	 * Please see the RegistrationController class for a simple example of how to use
+	 * this controller.
+	 *
+	 * @author The LifeType Project
+	 * @see RegistrationController
+	 */
+	class SequentialController extends Controller
+	{
+	
+		var $_steps;
+		
+		/**
+		 * Constructor of the class.
+		 *
+		 * @param steps An array containing the name of the action classes that are going to be
+		 * executedin sequence. Please do not use an associative array but a normal array, since
+		 * controller will internally use an integer counter to store the current position.
+		 * @return Nothing
+		 */
+		function SequentialController( $steps )
+		{
+			$this->Controller( Array());		
+			$this->_steps = $steps;
+		}
+		
+		/**
+		 * Returns the next step in the sequence based on the current step
+		 *
+		 * @param currentStep The current step in the sequence
+		 * @private
+		 * @return
+		 */
+		function getNextStep( $currentStep )
+		{
+			return(($currentStep + 1) % count($this->_steps ));
+		}
+		
+		/**
+		 * Returns the current step, based on the contents from the session. If there is
+		 * no information in the session, processing will start at the action class whose
+		 * index in the sequence array is '0'
+		 *
+		 * @return The current step in the sequence
+		 */
+		function getCurrentStep()
+		{
+			$curStep = SessionManager::getSessionValue( SEQUENTIAL_CONTROLLER_SESSION_PARAMETER );
+			$request = HttpVars::getRequest();
+			if( !$curStep || $request["start"] == "1" ) {
+				$curStep = 0;	
+			}
+			
+			return( $curStep );
+		}
+
+		/**
+		 * Main method of the controller, as it processes the current HTTP request. Since this is a sequential
+		 * controller, it does not take into account any of the parameters in the request (as opposed to a normal
+		 * Controller class, which would for example check the "op" parameter) but it instead relies on its
+		 * internal counter and the outcome of the last action to find out which action to execute next.
+		 *
+		 * @param httpRequest The current HTTP Request
+		 * @return Always true
+		 */
+		function process( $httpRequest )
+		{
+            include_once( PLOG_CLASS_PATH."class/net/request.class.php" );
+
+            // get the name of the action
+            $request = new Request( $httpRequest );
+
+            include_once( PLOG_CLASS_PATH."class/action/actioninfo.class.php" );
+            
+            $currentStep = $this->getCurrentStep();
+            $actionClass = $this->_steps[ $currentStep ];
+            
+            $this->loadActionClass( $actionClass );
+
+            $actionInfo   = new ActionInfo( $this->_actionParam, "sequential" );
+            $actionObject = new $actionClass( $actionInfo, $httpRequest );
+			$actionObject->setPreviousAction( $_plogController_previousAction );
+
+            // we can use the validate method to check the values of the form variables. If validate()
+            // returns 'true', then we call the 'perform' method. If not, then we won't :)
+            if( $actionObject->validate()) {
+                if( $actionObject->perform()) {
+					// if everything went ok, let's move to the next step
+                	$actionObject->setSuccess( true );
+                	$nextStep = $this->getNextStep( $currentStep );
+            	}
+                else {
+					// if there was an issue in the perform() method, let's retry the current step
+                	$actionObject->setSuccess( false );
+					$nextStep = $currentStep;	                	
+				}
+            }
+            else {
+				// retry the current step if there was a validation issue
+            	$nextStep = $currentStep;	
+            }
+
+            // store the next step in the sequence, regardless of what it was
+			SessionManager::setSessionValue( SEQUENTIAL_CONTROLLER_SESSION_PARAMETER, $nextStep );            
+			
+            $view = $actionObject->getView();
+
+            if( empty( $view )) {
+                $e = new Exception( 'The view is empty after calling the perform method.' );
+                throw( $e );
+            }
+            else
+                $view->render();
+		}
+	}
+?>
\ No newline at end of file


Property changes on: plog/trunk/class/controller/sequentialcontroller.class.php
___________________________________________________________________
Name: svn:executable
   + *

Modified: plog/trunk/class/summary/action/chooseblogtemplateaction.class.php
===================================================================
--- plog/trunk/class/summary/action/chooseblogtemplateaction.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/summary/action/chooseblogtemplateaction.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -1,12 +1,12 @@
 <?php
 
 	include_once( PLOG_CLASS_PATH."class/summary/action/registeraction.class.php" );
-    include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
+
     include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
     include_once( PLOG_CLASS_PATH."class/dao/blogs.class.php" );
     include_once( PLOG_CLASS_PATH."class/summary/view/summaryview.class.php" );
-    include_once( PLOG_CLASS_PATH."class/summary/view/blogtemplatechooserview.class.php" );
 
+
 	/**
 	 * shows a form where users can choose a new blog template
 	 * for their blog, to start with
@@ -19,33 +19,12 @@
         {
         	$this->RegisterAction( $actionInfo, $request );
         	
-        	// data validation, but very simple... this is not meant to 
-        	// be ever triggered
         	$this->registerFieldValidator( "templateId", new StringValidator());
-        	//$this->registerFieldValidator( "blogId", new IntegerValidator());
         	$this->setValidationErrorView( new BlogTemplateChooserView());
         }
 
         function perform()
         {
-	        // get the data from the request, as it's already been validated
-			$this->templateId = $this->_request->getValue( "templateId" );
-            $this->blogName = $this->_request->getValue( "blogName" );
-            $this->blogCategoryId = $this->_request->getValue( "blogCategoryId" );
-            $this->blogLocale = $this->_request->getValue( "blogLocale" );
-            $this->userName = $this->_request->getValue( "userName" );
-            $this->userPassword = $this->_request->getValue( "userPassword" );
-            $this->userEmail = $this->_request->getValue( "userEmail" );
-			$this->userFullName = $this->_request->getValue( "userFullName" );
-			
-			// show some info, and we're all happy!
-			//$this->_view = new SummaryView( "registerstep4" );
-            //$rg =$blogInfo->getBlogRequestGenerator();
-            //$blogUrl = $rg->blogLink($blogInfo);
-            //$this->_view->setValue( "blogurl", $blogUrl );
-            //$this->setValues();
-			
-			SummaryController::setForwardAction( "RegisterStep5" );
         }
     }
-?>
+?>
\ No newline at end of file

Modified: plog/trunk/class/summary/action/dofinishregister.class.php
===================================================================
--- plog/trunk/class/summary/action/dofinishregister.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/summary/action/dofinishregister.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -10,9 +10,19 @@
     include_once( PLOG_CLASS_PATH."class/dao/article.class.php" );
 	include_once( PLOG_CLASS_PATH."class/dao/articles.class.php" );
 	include_once( PLOG_CLASS_PATH."class/summary/mail/summarymailer.class.php" );
+    include_once( PLOG_CLASS_PATH."class/summary/view/blogtemplatechooserview.class.php" );
+    include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );    
+    include_once( PLOG_CLASS_PATH."class/net/http/subdomains.class.php" );
 
     /**
-     * finish the user and blog registration process
+     * Finish the user and blog registration process.
+ 	 *
+ 	 * In case you need to blog creation process, take a look at the methods
+	 * preBlogCreatHook, postBlogCreateHook, preUserCreateHook and postUserCreateHook. Unfortunately
+	 * plugins are not supported in summary.php/register.php so implementing your custom
+	 * code in this methods will be considered the cleanest way to customize this process for the
+	 * time being.
+	 *
      * @package summary
      * @subpackage action
      */
@@ -20,24 +30,27 @@
     {
         var $need_confirm;
 
-        //{{{function doFinishRegister( $actionInfo, $request )
         /**
          * constructor
          */
         function doFinishRegister( $actionInfo, $request )
         {
-            $this->RegisterAction( $actionInfo, $request );         
-            $this->_view = new SummaryView( "registererror" );
-            $this->need_confirm = $this->_config->getValue("need_email_confirm_registration");
+            $this->RegisterAction( $actionInfo, $request );
+            
+        	$this->registerFieldValidator( "templateId", new StringValidator());
+        	$this->setValidationErrorView( new BlogTemplateChooserView());        	            
         }   
-        //}}}
 
-        //{{{function perform()
         /**
          * perform
+ 	     * 
+		 * @private
          */
         function perform()
         {
+            $this->_view = new SummaryView( "registererror" );
+            $this->need_confirm = $this->_config->getValue("need_email_confirm_registration");	        
+	        
             $userId = $this->createUser();
             if( !$userId )
                 return false;
@@ -52,11 +65,11 @@
             // reset the summary cache, since there's new information to show
             CacheControl::resetSummaryCache();              
         }
-        //}}}
 
-        //{{{function createUser(){
         /**
          * create the user
+		 *
+		 * @private
          */
         function createUser()
 		{
@@ -81,6 +94,9 @@
                 $user->setStatus(USER_STATUS_ACTIVE);
             }
 
+			// pre-user create hook
+			$this->preUserCreateHook( $user );
+
             $userId = $users->addUser( $user );
             if( !$userId ) {
                 $this->_view = new SummaryView( "registererror" );
@@ -89,13 +105,16 @@
                 return false;
             }
 
+			// post-user create hook
+			$this->postUserCreateHook( $user );
+
             return $userId;
         }
-        //}}}
 
-        //{{{function createBlog($userId){
         /**
          * create the blog
+         *
+		 * @private
          */
         function createBlog($userId)
 		{
@@ -125,6 +144,9 @@
 				$blogInfo->setCustomDomain( $blogDomain );
             }			
 
+			// pre-blog create hook
+			$this->preBlogCreateHook( $blogInfo );
+
             $newblogId = $blogs->addBlog( $blogInfo );
 
             if( !$newblogId ) {
@@ -196,13 +218,16 @@
             $linksCategories = new MyLinksCategories();
             $linksCategories->addMyLinksCategory( $linksCategory ); 
 
+			// post-blog create hook
+			$this->postBlogCreateHook( $blogInfo );
+
             return true;
         }
-        //}}}
 
-        //{{{function doneRegister(){
         /**
          * finished registaration
+		 *
+		 * @private
          */
         function doneRegister()
 		{
@@ -220,11 +245,58 @@
             $this->setCommonData();
             return true;
         }
-        //}}}
+
+		/**
+		 * This method will be called prior to saving the new user to the database. Please
+		 * place here your custom code if needed.
+		 *
+		 * @param user By reference, the UserInfo object with information about the user who we are
+		 * going to create
+		 * @return Always true
+		 */
+		function preUserCreateHook( &$user )
+		{
+			// please implement here your custom code if needed
+		}
+
+		/**
+		 * This method will be called after to saving the new user to the database. Please
+		 * place here your custom code if needed.
+		 *
+		 * @param user By reference, the UserInfo object with information about the user who was
+		 * just saved to the database
+		 * @return Always true
+		 */		
+		function postUserCreateHook( &$user )
+		{
+			// please implement here your custom code if needed
+		}
+
+		/**
+		 * This method will be called prior to saving the new blog to the database. Please
+		 * place here your custom code if needed.
+		 *
+		 * @param blog By reference, the BlogInfo object with information about the blog that we are
+		 * going to create
+		 * @return Always true
+		 */		
+		function preBlogCreateHook( &$blog )
+		{
+			// please implement here your custom code if needed
+		}
+
+		/**
+		 * At this point the blog has already been created, as well as the default albums, link categories,
+		 * and so on. This method could be used to create some new custom fields, activate some plugins
+		 * by default, etc.
+		 *
+		 * @param blog By reference, the BlogInfo object with information about the blog that was just
+		 * created to the database
+		 * @return Always true
+		 */		
+		function postBlogCreateHook( &$blog )
+		{
+			// please implement here your custom code if needed
+		}		
     }
-
-    /*
-     * vim600:  et sw=4 ts=4 fdm=marker expandtab
-     * vim<600: et sw=4 ts=4 expandtab
-     */
-?>
+?>
\ No newline at end of file

Modified: plog/trunk/class/summary/action/doreadagreement.class.php
===================================================================
--- plog/trunk/class/summary/action/doreadagreement.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/summary/action/doreadagreement.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -17,6 +17,8 @@
 	    	else {
 	    		SummaryController::setForwardAction( "RegisterStep1" );
 		    }
+		    
+		    return( true );
         }
     }	 
 ?>

Modified: plog/trunk/class/summary/action/douserregister.class.php
===================================================================
--- plog/trunk/class/summary/action/douserregister.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/summary/action/douserregister.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -12,6 +12,8 @@
         {
            $this->_view = new SummaryUserCreationView();
            $this->setCommonData();
+           
+           return( true );
         }
     }	 
 ?>

Added: plog/trunk/class/summary/action/summaryregistrationaction.class.php
===================================================================
--- plog/trunk/class/summary/action/summaryregistrationaction.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/summary/action/summaryregistrationaction.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -0,0 +1,16 @@
+<?php
+	
+	include_once( PLOG_CLASS_PATH."class/summary/action/summaryaction.class.php" );
+
+	/**
+	 * a very stupid action
+	 */
+	class SummaryRegistrationAction extends SummaryAction
+	{
+		function perform()
+		{
+			include_once( PLOG_CLASS_PATH."register.php" );
+			die();
+		}
+	}
+?>
\ No newline at end of file

Deleted: plog/trunk/class/summary/action/summaryregistrationdisabledaction.class.php
===================================================================
--- plog/trunk/class/summary/action/summaryregistrationdisabledaction.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/summary/action/summaryregistrationdisabledaction.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -1,22 +0,0 @@
-<?php
-	
-	include_once( PLOG_CLASS_PATH."class/summary/action/summaryaction.class.php" );
-	include_once( PLOG_CLASS_PATH."class/summary/view/summarymessageview.class.php" );
-
-	/**
-	 * a very stupid action that only shows a view with an error message, but it was easier
-	 * to do this than to modify all the registration actions to perform a check...
-	 *
-	 * @see SummaryAction
-	 * @see SummaryMessageView
-	 */
-	class SummaryRegistrationDisabledAction extends SummaryAction
-	{
-		function perform()
-		{
-			$this->_view = new SummaryMessageView();
-			$this->_view->setErrorMessage( $this->_locale->tr("error_registration_disabled"));
-			$this->setCommonData();
-		}
-	}
-?>
\ No newline at end of file

Added: plog/trunk/class/summary/controller/registrationcontroller.class.php
===================================================================
--- plog/trunk/class/summary/controller/registrationcontroller.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/summary/controller/registrationcontroller.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -0,0 +1,33 @@
+<?php
+
+	include_once( PLOG_CLASS_PATH."class/controller/sequentialcontroller.class.php" );
+	
+	/**
+	 * \ingroup Controller
+	 *
+	 * Controller for the registration process. It doesn't really do much, other than
+	 * setting the array with the sequence with the action classes and telling the resource
+	 * loader of the controller in which folder it can find the classes.
+	 *
+	 * @author The LifeType Project
+	 * @see SequentialController
+	 */	
+	class RegistrationController extends SequentialController
+	{
+		/**
+		 * Constructor of the class.
+		 */
+		function RegistrationController()
+		{
+			$this->SequentialController( Array (
+				"doReadAgreement",
+				"doUserRegister",
+				"doUserCreation",
+				"doBlogRegistration",
+				"doFinishRegister"
+			));
+			
+			$this->setActionFolderPath( PLOG_CLASS_PATH."class/summary/action/" );			
+		}	
+	}	
+?>
\ No newline at end of file


Property changes on: plog/trunk/class/summary/controller/registrationcontroller.class.php
___________________________________________________________________
Name: svn:executable
   + *

Added: plog/trunk/class/summary/controller/summarycontroller.class.php
===================================================================
--- plog/trunk/class/summary/controller/summarycontroller.class.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/class/summary/controller/summarycontroller.class.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -0,0 +1,43 @@
+<?php
+
+	include_once( PLOG_CLASS_PATH."class/controller/controller.class.php" );
+	
+	/**
+	 * \ingroup Controller
+	 *
+	 * Basic controller for the summary. It specifies the action map as well as as the folder
+	 * where action classes for the summary can be found.
+	 *
+	 * @author The LifeType Project
+	 * @see Controller
+	 */	
+	class SummaryController extends Controller
+	{
+		function SummaryController()
+		{
+			
+			// action map array for the controller
+			$actions = Array(
+			    "Default" => "SummaryDefaultAction",
+			    "BlogList" => "BlogListAction",
+			    "PostList" => "PostListAction",
+				"UserList" => "UserListAction",	
+				"UserProfile" => "UserProfileAction",
+				"BlogProfile" => "BlogProfileAction",
+				"checkUserNameAjax" => "checkUserNameAjaxAction",
+				"Register" => "SummaryRegistrationAction",
+				"resetPasswordForm" => "SummaryShowResetPasswordForm",
+				"sendResetEmail" => "SummarySendResetEmail",
+				"setNewPassword" => "SummarySetNewPassword",
+				"updatePassword" => "SummaryUpdatePassword",
+				"rss" => "SummaryRssAction",
+				"summarySearch" => "SummarySearchAction",
+				"activeAccount" => "ActiveAccountAction",
+				"display" => "SummaryCustomPageAction"
+			);
+
+			$this->Controller( $actions, "op" );
+			$this->setActionFolderPath( PLOG_CLASS_PATH."class/summary/action/" );
+		}
+	}	
+?>
\ No newline at end of file

Added: plog/trunk/register.php
===================================================================
--- plog/trunk/register.php	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/register.php	2006-06-26 21:00:16 UTC (rev 3655)
@@ -0,0 +1,21 @@
+<?php
+
+	/**
+	 * This script handles the registration process.
+	 */
+
+    if (!defined( "PLOG_CLASS_PATH" )) {
+        define( "PLOG_CLASS_PATH", dirname(__FILE__)."/");
+    }
+
+	include_once( PLOG_CLASS_PATH."class/summary/controller/registrationcontroller.class.php" );
+    include_once( PLOG_CLASS_PATH."class/bootstrap.php" );
+    include_once( PLOG_CLASS_PATH."class/misc/version.class.php" );    		
+    include_once( PLOG_CLASS_PATH."class/net/http/httpvars.class.php" );    
+	
+	// initialiaze the session
+	SessionManager::init();	
+	// and the registration/sequential controller
+	$r = new RegistrationController();
+	$r->process( HttpVars::getRequest());	
+?>
\ No newline at end of file


Property changes on: plog/trunk/register.php
___________________________________________________________________
Name: svn:executable
   + *

Modified: plog/trunk/templates/summary/header.template
===================================================================
--- plog/trunk/templates/summary/header.template	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/templates/summary/header.template	2006-06-26 21:00:16 UTC (rev 3655)
@@ -41,11 +41,11 @@
     <div id="menubar">
         <div id="menu">
           <ul class="menuTop">
-             <li class="menuOption"><a href="?op=Summary">{$locale->tr("summary")}</a></li>
-             <li class="menuOption"><a href="?op=RegisterStep0">{$locale->tr("register")}</a></li>
-             <li class="menuOption"><a href="?op=PostList">{$locale->tr("post")}</a></li>
-             <li class="menuOption"><a href="?op=BlogList">{$locale->tr("blogs")}</a></li>
-             <li class="menuOption"><a href="?op=UserList">{$locale->tr("users")}</a></li>
+             <li class="menuOption"><a href="summary.php?op=Summary">{$locale->tr("summary")}</a></li>
+             <li class="menuOption"><a href="summary.php?op=Register&amp;start=1">{$locale->tr("register")}</a></li>
+             <li class="menuOption"><a href="summary.php?op=PostList">{$locale->tr("post")}</a></li>
+             <li class="menuOption"><a href="summary.php?op=BlogList">{$locale->tr("blogs")}</a></li>
+             <li class="menuOption"><a href="summary.php?op=UserList">{$locale->tr("users")}</a></li>
           </ul>
         </div>
     </div>
@@ -57,4 +57,4 @@
       <br style="clear:both;" />
     </div>
 	{/if}
-    <div id="content" >
+    <div id="content" >
\ No newline at end of file

Modified: plog/trunk/templates/summary/registerstep0.template
===================================================================
--- plog/trunk/templates/summary/registerstep0.template	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/templates/summary/registerstep0.template	2006-06-26 21:00:16 UTC (rev 3655)
@@ -1,5 +1,5 @@
 {include file="summary/header.template" section=$locale->tr("register_step0_title")}
-<form action="summary.php" method="post">
+<form action="register.php" method="post">
   <fieldset class="inputField">
    <legend>{$locale->tr("agreement")}</legend>
    <div class="field">

Modified: plog/trunk/templates/summary/registerstep1.template
===================================================================
--- plog/trunk/templates/summary/registerstep1.template	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/templates/summary/registerstep1.template	2006-06-26 21:00:16 UTC (rev 3655)
@@ -6,7 +6,7 @@
   	var errorCheckUserNameMessage = "{$locale->tr("error_username_exist")}";
   	var emptyUserNameMessage = "{$locale->tr("error_empty_name")}";
   </script>
-  <form name="newUser" action="summary.php" method="post">
+  <form name="newUser" action="register.php" method="post">
     <fieldset class="inputField">
         <legend>{$locale->tr("step1")}</legend>
         <p>

Modified: plog/trunk/templates/summary/registerstep2.template
===================================================================
--- plog/trunk/templates/summary/registerstep2.template	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/templates/summary/registerstep2.template	2006-06-26 21:00:16 UTC (rev 3655)
@@ -1,5 +1,5 @@
 {include file="summary/header.template" section=$locale->tr("register_step2_title")}
- <form name="createBlog" action="summary.php" method="post">
+ <form name="createBlog" action="register.php" method="post">
   <fieldset class="inputField">
    <legend>{$locale->tr("step2")}</legend>
    {include file="summary/formvalidate.template" message=$locale->tr("error_adding_blog")}     

Modified: plog/trunk/templates/summary/registerstep3.template
===================================================================
--- plog/trunk/templates/summary/registerstep3.template	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/templates/summary/registerstep3.template	2006-06-26 21:00:16 UTC (rev 3655)
@@ -28,7 +28,7 @@
   </fieldset>  
   <div class="buttons">
     <input type="hidden" name="op" value="RegisterStep4"/>
-    <!-- <input type="button" onClick="javascript:window.location='summary.php?op=RegisterStep3'" value="&laquo; {$locale->tr("register_back")}" name="Register"/> -->
+    <!-- <input type="button" onClick="javascript:window.location='register.php?op=RegisterStep3'" value="&laquo; {$locale->tr("register_back")}" name="Register"/> -->
     <input type="submit" name="{$locale->tr("register_next")}" value="{$locale->tr("register_next")} &raquo;"/>
     <input type="hidden" name="userName" value="{$userName}"/>
     <input type="hidden" name="blogDomain" value="{$blogDomain}"/>

Modified: plog/trunk/templates/summary/registerstep4.template
===================================================================
--- plog/trunk/templates/summary/registerstep4.template	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/templates/summary/registerstep4.template	2006-06-26 21:00:16 UTC (rev 3655)
@@ -1,7 +1,7 @@
 {include file="summary/header.template" section=$locale->tr("register_new_blog_step4_title")}
    {$locale->tr("register_new_blog_step4_description")}
 <div id="onecolumn">
- <form name="createBlog" action="summary.php" method="post">
+ <form name="createBlog" action="register.php" method="post">
   <fieldset class="inputField">
    <legend>{$locale->tr("step4")}</legend>
 

Modified: plog/trunk/templates/summary/registerstep5.template
===================================================================
--- plog/trunk/templates/summary/registerstep5.template	2006-06-25 19:35:40 UTC (rev 3654)
+++ plog/trunk/templates/summary/registerstep5.template	2006-06-26 21:00:16 UTC (rev 3655)
@@ -1,6 +1,6 @@
 {include file="summary/header.template" section=$locale->tr("register_step5_title")}
 <div id="onecolumn">
- <form name="formDone"> 
+ <form name="formDone" action="summary.php" method="post"> 
   <fieldset class="inputField">
    <p>
     <b>{$locale->tr("register_step5_help")}</b>



More information about the pLog-svn mailing list