diff -r bd595ad770fc -r 1c2f13fd785c web/enmi/Zend/Tool/Project/Provider/Application.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/enmi/Zend/Tool/Project/Provider/Application.php Thu Jan 20 19:30:54 2011 +0100 @@ -0,0 +1,87 @@ +_loadProfile(self::NO_PROFILE_THROW_EXCEPTION); + + $originalClassNamePrefix = $classNamePrefix; + + if (substr($classNamePrefix, -1) != '_') { + $classNamePrefix .= '_'; + } + + $configFileResource = $profile->search('ApplicationConfigFile'); + $zc = $configFileResource->getAsZendConfig('production'); + if ($zc->appnamespace == $classNamePrefix) { + throw new Zend_Tool_Project_Exception('The requested name ' . $classNamePrefix . ' is already the prefix.'); + } + + // remove the old + $configFileResource->removeStringItem('appnamespace', 'production'); + $configFileResource->create(); + + // add the new + $configFileResource->addStringItem('appnamespace', $classNamePrefix, 'production', true); + $configFileResource->create(); + + // update the project profile + $applicationDirectory = $profile->search('ApplicationDirectory'); + $applicationDirectory->setClassNamePrefix($classNamePrefix); + + $response = $this->_registry->getResponse(); + + if ($originalClassNamePrefix !== $classNamePrefix) { + $response->appendContent( + 'Note: the name provided "' . $originalClassNamePrefix . '" was' + . ' altered to "' . $classNamePrefix . '" for correctness.', + array('color' => 'yellow') + ); + } + + // note to the user + $response->appendContent('Note: All existing models will need to be altered to this new namespace by hand', array('color' => 'yellow')); + $response->appendContent('application.ini updated with new appnamespace ' . $classNamePrefix); + + // store profile + $this->_storeProfile(); + } + +}