13 * to license@zend.com so we can send you a copy immediately. |
13 * to license@zend.com so we can send you a copy immediately. |
14 * |
14 * |
15 * @category Zend |
15 * @category Zend |
16 * @package Zend_Tool |
16 * @package Zend_Tool |
17 * @subpackage Framework |
17 * @subpackage Framework |
18 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
18 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
19 * @license http://framework.zend.com/license/new-bsd New BSD License |
19 * @license http://framework.zend.com/license/new-bsd New BSD License |
20 * @version $Id: Form.php 23209 2010-10-21 16:09:34Z ralph $ |
20 * @version $Id: Form.php 24593 2012-01-05 20:35:02Z matthew $ |
21 */ |
21 */ |
22 |
22 |
23 /** |
23 /** |
24 * @category Zend |
24 * @category Zend |
25 * @package Zend_Tool |
25 * @package Zend_Tool |
26 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
26 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
27 * @license http://framework.zend.com/license/new-bsd New BSD License |
27 * @license http://framework.zend.com/license/new-bsd New BSD License |
28 */ |
28 */ |
29 class Zend_Tool_Project_Provider_Form extends Zend_Tool_Project_Provider_Abstract |
29 class Zend_Tool_Project_Provider_Form extends Zend_Tool_Project_Provider_Abstract |
30 { |
30 { |
31 |
31 |
67 } |
67 } |
68 |
68 |
69 $formsDirectory = self::_getFormsDirectoryResource($profile, $moduleName); |
69 $formsDirectory = self::_getFormsDirectoryResource($profile, $moduleName); |
70 return (($formsDirectory->search(array('formFile' => array('formName' => $formName)))) instanceof Zend_Tool_Project_Profile_Resource); |
70 return (($formsDirectory->search(array('formFile' => array('formName' => $formName)))) instanceof Zend_Tool_Project_Profile_Resource); |
71 } |
71 } |
72 |
72 |
73 /** |
73 /** |
74 * _getFormsDirectoryResource() |
74 * _getFormsDirectoryResource() |
75 * |
75 * |
76 * @param Zend_Tool_Project_Profile $profile |
76 * @param Zend_Tool_Project_Profile $profile |
77 * @param string $moduleName |
77 * @param string $moduleName |
87 |
87 |
88 $profileSearchParams[] = 'formsDirectory'; |
88 $profileSearchParams[] = 'formsDirectory'; |
89 |
89 |
90 return $profile->search($profileSearchParams); |
90 return $profile->search($profileSearchParams); |
91 } |
91 } |
92 |
92 |
93 public function enable($module = null) |
93 public function enable($module = null) |
94 { |
94 { |
95 $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION); |
95 $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION); |
96 |
96 |
97 // determine if testing is enabled in the project |
97 // determine if testing is enabled in the project |
98 $testingEnabled = Zend_Tool_Project_Provider_Test::isTestingEnabled($this->_loadedProfile); |
98 $testingEnabled = Zend_Tool_Project_Provider_Test::isTestingEnabled($this->_loadedProfile); |
99 |
99 |
100 $formDirectoryResource = self::_getFormsDirectoryResource($this->_loadedProfile, $module); |
100 $formDirectoryResource = self::_getFormsDirectoryResource($this->_loadedProfile, $module); |
101 |
101 |
102 if ($formDirectoryResource->isEnabled()) { |
102 if ($formDirectoryResource->isEnabled()) { |
103 throw new Zend_Tool_Project_Provider_Exception('This project already has forms enabled.'); |
103 throw new Zend_Tool_Project_Provider_Exception('This project already has forms enabled.'); |
104 } else { |
104 } else { |
105 if ($this->_registry->getRequest()->isPretend()) { |
105 if ($this->_registry->getRequest()->isPretend()) { |
106 $this->_registry->getResponse()->appendContent('Would enable forms directory at ' . $formDirectoryResource->getContext()->getPath()); |
106 $this->_registry->getResponse()->appendContent('Would enable forms directory at ' . $formDirectoryResource->getContext()->getPath()); |
107 } else { |
107 } else { |
108 $this->_registry->getResponse()->appendContent('Enabling forms directory at ' . $formDirectoryResource->getContext()->getPath()); |
108 $this->_registry->getResponse()->appendContent('Enabling forms directory at ' . $formDirectoryResource->getContext()->getPath()); |
109 $formDirectoryResource->setEnabled(true); |
109 $formDirectoryResource->setEnabled(true); |
110 $formDirectoryResource->create(); |
110 $formDirectoryResource->create(); |
111 $this->_storeProfile(); |
111 $this->_storeProfile(); |
112 } |
112 } |
113 |
113 |
114 } |
114 } |
115 } |
115 } |
116 |
116 |
117 /** |
117 /** |
118 * Create a new form |
118 * Create a new form |
119 * |
119 * |
120 * @param string $name |
120 * @param string $name |
121 * @param string $module |
121 * @param string $module |
133 |
133 |
134 // Check that there is not a dash or underscore, return if doesnt match regex |
134 // Check that there is not a dash or underscore, return if doesnt match regex |
135 if (preg_match('#[_-]#', $name)) { |
135 if (preg_match('#[_-]#', $name)) { |
136 throw new Zend_Tool_Project_Provider_Exception('Form names should be camel cased.'); |
136 throw new Zend_Tool_Project_Provider_Exception('Form names should be camel cased.'); |
137 } |
137 } |
138 |
138 |
139 $name = ucwords($name); |
139 $name = ucwords($name); |
140 |
140 |
141 try { |
141 try { |
142 $formResource = self::createResource($this->_loadedProfile, $name, $module); |
142 $formResource = self::createResource($this->_loadedProfile, $name, $module); |
143 |
143 |
144 if ($testingEnabled) { |
144 if ($testingEnabled) { |
145 $testFormResource = null; |
145 $testFormResource = null; |