web/lib/Zend/Tool/Project/Provider/Form.php
changeset 807 877f952ae2bd
parent 207 621fa6caec0c
child 1230 68c69c656a2c
equal deleted inserted replaced
805:5e7a0fedabdf 807:877f952ae2bd
    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 
    43             }
    43             }
    44             throw new Zend_Tool_Project_Provider_Exception($exceptionMessage);
    44             throw new Zend_Tool_Project_Provider_Exception($exceptionMessage);
    45         }
    45         }
    46 
    46 
    47         $newForm = $formsDirectory->createResource(
    47         $newForm = $formsDirectory->createResource(
    48             'formFile', 
    48             'formFile',
    49             array('formName' => $formName, 'moduleName' => $moduleName)
    49             array('formName' => $formName, 'moduleName' => $moduleName)
    50             );
    50             );
    51 
    51 
    52         return $newForm;
    52         return $newForm;
    53     }
    53     }
    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;