Continued:
[core.git] / inc / main / classes / resolver / action / class_BaseActionResolver.php
index 0c4841b6a04cba3c91d63ca47239c8a4c7141477..45ec44c81071295c9592ee9d35c52fd0fbbb05cc 100644 (file)
@@ -67,22 +67,31 @@ class BaseActionResolver extends BaseResolver {
        /**
         * Checks whether the given action is valid
         *
-        * @param       $actionName     The default action we shall execute
+        * @param       $namespace              Namespace to look in
+        * @param       $actionName             The default action we shall execute
         * @return      $isValid                Whether the given action is valid
         * @throws      EmptyVariableException  Thrown if given action is not set
         */
-       public function isActionValid ($actionName) {
+       public function isActionValid ($namespace, $actionName) {
                // By default nothing shall be valid
                $isValid = FALSE;
 
                // Is a action set?
-               if (empty($actionName)) {
+               if (empty($namespace)) {
+                       // Then thrown an exception here
+                       throw new EmptyVariableException(array($this, 'namespace'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+               } elseif (empty($actionName)) {
                        // Then thrown an exception here
                        throw new EmptyVariableException(array($this, 'actionName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
                } // END - if
 
                // Create class name
-               $className = $this->getCapitalizedClassPrefix() . self::convertToClassName($actionName) . 'Action';
+               $className = sprintf(
+                       '%s\%s%sAction',
+                       $namespace,
+                       $this->getCapitalizedClassPrefix(),
+                       self::convertToClassName($actionName)
+               );
 
                // Now, let us create the full name of the action class
                $this->setClassName($className);
@@ -109,8 +118,13 @@ class BaseActionResolver extends BaseResolver {
                // Init action instance
                $actionInstance = NULL;
 
-               // Create action class name
-               $className = $this->getCapitalizedClassPrefix() . self::convertToClassName($this->getActionName()) . 'Action';
+               // Create class name
+               $className = sprintf(
+                       '%s\%s%sAction',
+                       $this->getNamespace(),
+                       $this->getCapitalizedClassPrefix(),
+                       self::convertToClassName($actionName)
+               );
 
                // ... and set it
                $this->setClassName($className);