[pLog-svn] r6024 - plog/trunk/class/action/admin

mark at devel.lifetype.net mark at devel.lifetype.net
Wed Oct 31 23:21:02 EDT 2007


Author: mark
Date: 2007-10-31 23:21:02 -0400 (Wed, 31 Oct 2007)
New Revision: 6024

Modified:
   plog/trunk/class/action/admin/admindeletefriendaction.class.php
Log:
Ajaxified Friend done!

Modified: plog/trunk/class/action/admin/admindeletefriendaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeletefriendaction.class.php	2007-10-31 16:54:42 UTC (rev 6023)
+++ plog/trunk/class/action/admin/admindeletefriendaction.class.php	2007-11-01 03:21:02 UTC (rev 6024)
@@ -1,11 +1,5 @@
 <?php
 
-	
-    
-	
-	
-	
-
     /**
      * \ingroup Action
      * @private
@@ -28,21 +22,51 @@
 			
 			$this->_op = $actionInfo->getActionParamValue();
 			
-			$view = new AdminFriendsListView( $this->_blogInfo );			
+			$view = new AdminFriendsListView( $this->_blogInfo );
 			if( $this->_op == "deleteFriend" ) {
 				$this->registerFieldValidator( "friendId", new IntegerValidator());
 				$view->setErrorMessage( $this->_locale->tr("error_incorrect_friend_id"));	
 			}
 			else {
-				$this->registerFieldValidator( "friendIds", new ArrayValidator());
+				$this->registerFieldValidator( "friendIds", new ArrayValidator( new IntegerValidator()));
 				$view->setErrorMessage( $this->_locale->tr("error_no_friends_selected"));
 			}
 			$this->setValidationErrorView( $view );
-			
         }
 		
 		function perform()
 		{
+			$results = $this->_deleteFriends();
+
+            $this->_view = new AdminFriendsListView( $this->_blogInfo );
+            if( $results["errorMessage"] != "" ) $this->_view->setErrorMessage( $results["errorMessage"] );
+			if( $results["successMessage"] != "" ) $this->_view->setSuccessMessage( $results["successMessage"] );
+            $this->setCommonData();
+			
+            return true;
+		}
+
+		/**
+		 * Ajax-specific behaviour
+		 */
+		function performAjax()
+		{
+			$results = $this->_deleteFriends();
+
+            $this->_view = new AdminAjaxView( $this->_blogInfo );
+			$this->_view->setMessage( $results );
+			$this->_view->setSuccess( true );
+
+            // better to return true if everything fine
+            return true;			
+		} 
+
+        /**
+         * Carries out the specified action
+		 * @private
+         */
+        function _deleteFriends()
+        {
 			if( $this->_op == "deleteFriend" ) {
 				$this->_friendIds = Array();
 				$this->_friendId = $this->_request->getValue( "friendId" );
@@ -50,16 +74,7 @@
 			}
 			else
 				$this->_friendIds = $this->_request->getValue( "friendIds" );
-				
-			$this->_deleteFriends();
-		}
 
-        /**
-         * Carries out the specified action
-		 * @private
-         */
-        function _deleteFriends()
-        {
         	// delete the friend
             $friends = new Friends();
 
@@ -86,16 +101,11 @@
 				}
             }
 
-            $this->_view = new AdminFriendsListView( $this->_blogInfo );
-            if( $errorMessage != "" ) $this->_view->setErrorMessage( $errorMessage );
-			if( $successMessage != "" ) $this->_view->setSuccessMessage( $successMessage );
-            $this->setCommonData();
-			
 			// clear the cache
 			CacheControl::resetBlogCache( $this->_blogInfo->getId(), false );
 
             // better to return true if everything fine
-            return true;
+            return( Array( "errorMessage" => $errorMessage, "successMessage" => $successMessage ));
         }
     }
 ?>



More information about the pLog-svn mailing list