--- a/web/lib/Zend/Tool/Project/Provider/Controller.php Thu Mar 21 17:31:31 2013 +0100
+++ b/web/lib/Zend/Tool/Project/Provider/Controller.php Thu Mar 21 19:50:53 2013 +0100
@@ -15,15 +15,15 @@
* @category Zend
* @package Zend_Tool
* @subpackage Framework
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id: Controller.php 20851 2010-02-02 21:45:51Z ralph $
+ * @version $Id: Controller.php 24593 2012-01-05 20:35:02Z matthew $
*/
/**
* @category Zend
* @package Zend_Tool
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Tool_Project_Provider_Controller
@@ -57,7 +57,7 @@
}
$newController = $controllersDirectory->createResource(
- 'controllerFile',
+ 'controllerFile',
array('controllerName' => $controllerName, 'moduleName' => $moduleName)
);
@@ -70,7 +70,7 @@
* @param Zend_Tool_Project_Profile $profile
* @param string $controllerName
* @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
+ * @return boolean
*/
public static function hasResource(Zend_Tool_Project_Profile $profile, $controllerName, $moduleName = null)
{
@@ -79,7 +79,7 @@
}
$controllersDirectory = self::_getControllersDirectoryResource($profile, $moduleName);
- return (($controllersDirectory->search(array('controllerFile' => array('controllerName' => $controllerName)))) instanceof Zend_Tool_Project_Profile_Resource);
+ return ($controllersDirectory &&($controllersDirectory->search(array('controllerFile' => array('controllerName' => $controllerName)))) instanceof Zend_Tool_Project_Profile_Resource);
}
/**
@@ -112,10 +112,25 @@
{
$this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
+ // get request & response
+ $request = $this->_registry->getRequest();
+ $response = $this->_registry->getResponse();
+
// determine if testing is enabled in the project
require_once 'Zend/Tool/Project/Provider/Test.php';
$testingEnabled = Zend_Tool_Project_Provider_Test::isTestingEnabled($this->_loadedProfile);
+ if ($testingEnabled && !Zend_Tool_Project_Provider_Test::isPHPUnitAvailable()) {
+ $testingEnabled = false;
+ $response->appendContent(
+ 'Note: PHPUnit is required in order to generate controller test stubs.',
+ array('color' => array('yellow'))
+ );
+ }
+
+ $originalName = $name;
+ $name = ucfirst($name);
+
if (self::hasResource($this->_loadedProfile, $name, $module)) {
throw new Zend_Tool_Project_Provider_Exception('This project already has a controller named ' . $name);
}
@@ -124,14 +139,7 @@
if (preg_match('#[_-]#', $name)) {
throw new Zend_Tool_Project_Provider_Exception('Controller names should be camel cased.');
}
-
- $originalName = $name;
- $name = ucfirst($name);
-
- // get request & response
- $request = $this->_registry->getRequest();
- $response = $this->_registry->getResponse();
-
+
try {
$controllerResource = self::createResource($this->_loadedProfile, $name, $module);
if ($indexActionIncluded) {
@@ -139,7 +147,7 @@
$indexActionViewResource = Zend_Tool_Project_Provider_View::createResource($this->_loadedProfile, 'index', $name, $module);
}
if ($testingEnabled) {
- $testControllerResource = Zend_Tool_Project_Provider_Test::createApplicationResource($this->_loadedProfile, $name, 'index', $module);
+ $testActionResource = Zend_Tool_Project_Provider_Test::createApplicationResource($this->_loadedProfile, $name, 'index', $module);
}
} catch (Exception $e) {
@@ -158,19 +166,19 @@
);
unset($tense);
}
-
+
// do the creation
if ($request->isPretend()) {
-
+
$response->appendContent('Would create a controller at ' . $controllerResource->getContext()->getPath());
if (isset($indexActionResource)) {
$response->appendContent('Would create an index action method in controller ' . $name);
$response->appendContent('Would create a view script for the index action method at ' . $indexActionViewResource->getContext()->getPath());
}
-
- if ($testControllerResource) {
- $response->appendContent('Would create a controller test file at ' . $testControllerResource->getContext()->getPath());
+
+ if ($testingEnabled) {
+ $response->appendContent('Would create a controller test file at ' . $testActionResource->getParentResource()->getContext()->getPath());
}
} else {
@@ -185,9 +193,10 @@
$indexActionViewResource->create();
}
- if ($testControllerResource) {
- $response->appendContent('Creating a controller test file at ' . $testControllerResource->getContext()->getPath());
- $testControllerResource->create();
+ if ($testingEnabled) {
+ $response->appendContent('Creating a controller test file at ' . $testActionResource->getParentResource()->getContext()->getPath());
+ $testActionResource->getParentResource()->create();
+ $testActionResource->create();
}
$this->_storeProfile();