Changeset 7691
- Timestamp:
- 02/29/08 17:56:22 (6 months ago)
- Files:
-
- branches/1.1/UPGRADE (modified) (1 diff)
- branches/1.1/lib/action/sfAction.class.php (modified) (1 diff)
- branches/1.1/lib/config/config/autoload.yml (modified) (1 diff)
- branches/1.1/lib/config/sfApplicationConfiguration.class.php (modified) (14 diffs)
- branches/1.1/lib/config/sfCompileConfigHandler.class.php (modified) (1 diff)
- branches/1.1/lib/config/sfConfigCache.class.php (modified) (3 diffs)
- branches/1.1/lib/config/sfGeneratorConfigHandler.class.php (modified) (1 diff)
- branches/1.1/lib/config/sfLoader.class.php (modified) (1 diff)
- branches/1.1/lib/config/sfProjectConfiguration.class.php (modified) (5 diffs)
- branches/1.1/lib/controller/sfController.class.php (modified) (4 diffs)
- branches/1.1/lib/i18n/extract/sfI18nApplicationExtract.class.php (modified) (1 diff)
- branches/1.1/lib/i18n/extract/sfI18nModuleExtract.class.php (modified) (2 diffs)
- branches/1.1/lib/plugins/sfCompat10Plugin/lib/filter/sfValidationExecutionFilter.class.php (modified) (1 diff)
- branches/1.1/lib/plugins/sfCompat10Plugin/lib/helper/ObjectAdminHelper.php (modified) (1 diff)
- branches/1.1/lib/plugins/sfCompat10Plugin/lib/helper/PartialHelper.php (modified) (1 diff)
- branches/1.1/lib/plugins/sfCompat10Plugin/lib/view/sfMailView.class.php (modified) (1 diff)
- branches/1.1/lib/plugins/sfPropelPlugin/lib/task/sfPropelBaseTask.class.php (modified) (1 diff)
- branches/1.1/lib/plugins/sfPropelPlugin/lib/task/sfPropelGenerateCrudTask.class.php (modified) (2 diffs)
- branches/1.1/lib/plugins/sfPropelPlugin/lib/task/sfPropelInitAdminTask.class.php (modified) (1 diff)
- branches/1.1/lib/task/cache/sfCacheClearTask.class.php (modified) (1 diff)
- branches/1.1/lib/task/generator/sfGenerateAppTask.class.php (modified) (1 diff)
- branches/1.1/lib/task/generator/sfGenerateModuleTask.class.php (modified) (1 diff)
- branches/1.1/lib/task/i18n/sfI18nFindTask.class.php (modified) (1 diff)
- branches/1.1/lib/util/sfContext.class.php (modified) (1 diff)
- branches/1.1/lib/view/sfPHPView.class.php (modified) (1 diff)
- branches/1.1/lib/view/sfViewCacheManager.class.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1.1/UPGRADE
r7614 r7691 538 538 If you've added some cutomizations in `config.php` files, you will have to migrate them 539 539 to those new classes. 540 541 Directory structure 542 ------------------- 543 544 All `sfConfig` constants ending with `_dir_name` have been removed. branches/1.1/lib/action/sfAction.class.php
r7614 r7691 36 36 37 37 // include security configuration 38 if ($file = $context->getConfigCache()->checkConfig( sfConfig::get('sf_app_module_dir_name').'/'.$this->getModuleName().'/'.sfConfig::get('sf_app_module_config_dir_name').'/security.yml', true))38 if ($file = $context->getConfigCache()->checkConfig('modules/'.$this->getModuleName().'/config/security.yml', true)) 39 39 { 40 40 require($file); branches/1.1/lib/config/config/autoload.yml
r7243 r7691 21 21 project_model: 22 22 name: project model 23 path: %SF_ MODEL_LIB_DIR%23 path: %SF_LIB_DIR%/model 24 24 recursive: on 25 25 branches/1.1/lib/config/sfApplicationConfiguration.class.php
r7670 r7691 38 38 parent::__construct($rootDir); 39 39 40 $this->configure(); 41 40 42 if (sfConfig::get('sf_check_lock')) 41 43 { … … 60 62 $this->debug = (boolean) $debug; 61 63 $this->application = str_replace('Configuration', '', get_class($this)); 62 63 $this->configure();64 64 } 65 65 … … 118 118 119 119 // load base settings 120 include($configCache->checkConfig( sfConfig::get('sf_app_config_dir_name').'/settings.yml'));121 if ($file = $configCache->checkConfig( sfConfig::get('sf_app_config_dir_name').'/app.yml', true))122 { 123 include($configCache->checkConfig( sfConfig::get('sf_app_config_dir_name').'/app.yml'));120 include($configCache->checkConfig('config/settings.yml')); 121 if ($file = $configCache->checkConfig('config/app.yml', true)) 122 { 123 include($configCache->checkConfig('config/app.yml')); 124 124 } 125 125 … … 127 127 if (!sfConfig::get('sf_debug') && !sfConfig::get('sf_test')) 128 128 { 129 $configCache->import( sfConfig::get('sf_app_config_dir_name').'/core_compile.yml', false);129 $configCache->import('config/core_compile.yml', false); 130 130 } 131 131 … … 194 194 195 195 /** 196 * Sets the project root directory. 197 * 198 * @param string The project root directory 199 */ 200 public function setRootDir($rootDir) 201 { 202 parent::setRootDir($rootDir); 203 204 sfConfig::add(array( 205 'sf_app' => $this->getApplication(), 206 'sf_environment' => $this->getEnvironment(), 207 'sf_debug' => $this->isDebug(), 208 )); 209 210 $this->setAppDir(sfConfig::get('sf_apps_dir').DIRECTORY_SEPARATOR.$this->getApplication()); 211 } 212 213 /** 214 * Sets the app directory. 215 * 216 * @param string The absolute path to the app dir. 217 */ 218 public function setAppDir($appDir) 219 { 220 sfConfig::add(array( 221 'sf_app_dir' => $appDir, 222 223 // SF_APP_DIR directory structure 224 'sf_app_config_dir' => $appDir.DIRECTORY_SEPARATOR.'config', 225 'sf_app_lib_dir' => $appDir.DIRECTORY_SEPARATOR.'lib', 226 'sf_app_module_dir' => $appDir.DIRECTORY_SEPARATOR.'modules', 227 'sf_app_template_dir' => $appDir.DIRECTORY_SEPARATOR.'templates', 228 'sf_app_i18n_dir' => $appDir.DIRECTORY_SEPARATOR.'i18n', 229 )); 230 } 231 232 /** 196 233 * @see sfProjectConfiguration 197 234 */ 198 public function getDirectoryStructure() 199 { 200 $config = parent::getDirectoryStructure(); 201 202 return array_merge($config, array( 203 'sf_app' => $sf_app = $this->getApplication(), 204 'sf_environment' => $sf_environment = $this->getEnvironment(), 205 'sf_debug' => $this->isDebug(), 206 207 'sf_app_dir' => $sf_app_dir = $this->getRootDir().DIRECTORY_SEPARATOR.$config['sf_apps_dir_name'].DIRECTORY_SEPARATOR.$sf_app, 208 'sf_app_base_cache_dir' => $config['sf_cache_dir'].DIRECTORY_SEPARATOR.$sf_app, 209 'sf_app_cache_dir' => $sf_app_cache_dir = $config['sf_cache_dir'].DIRECTORY_SEPARATOR.$sf_app.DIRECTORY_SEPARATOR.$sf_environment, 210 211 // SF_APP_DIR directory structure 212 'sf_app_config_dir' => $sf_app_dir.DIRECTORY_SEPARATOR.$config['sf_app_config_dir_name'], 213 'sf_app_lib_dir' => $sf_app_dir.DIRECTORY_SEPARATOR.$config['sf_app_lib_dir_name'], 214 'sf_app_module_dir' => $sf_app_dir.DIRECTORY_SEPARATOR.$config['sf_app_module_dir_name'], 215 'sf_app_template_dir' => $sf_app_dir.DIRECTORY_SEPARATOR.$config['sf_app_template_dir_name'], 216 'sf_app_i18n_dir' => $sf_app_dir.DIRECTORY_SEPARATOR.$config['sf_app_i18n_dir_name'], 235 public function setCacheDir($cacheDir) 236 { 237 parent::setCacheDir($cacheDir); 238 239 sfConfig::add(array( 240 'sf_app_base_cache_dir' => $cacheDir.DIRECTORY_SEPARATOR.$this->getApplication(), 241 'sf_app_cache_dir' => $appCacheDir = $cacheDir.DIRECTORY_SEPARATOR.$this->getApplication().DIRECTORY_SEPARATOR.$this->getEnvironment(), 217 242 218 243 // SF_CACHE_DIR directory structure 219 'sf_template_cache_dir' => $ sf_app_cache_dir.DIRECTORY_SEPARATOR.'template',220 'sf_i18n_cache_dir' => $ sf_app_cache_dir.DIRECTORY_SEPARATOR.'i18n',221 'sf_config_cache_dir' => $ sf_app_cache_dir.DIRECTORY_SEPARATOR.$config['sf_config_dir_name'],222 'sf_test_cache_dir' => $ sf_app_cache_dir.DIRECTORY_SEPARATOR.'test',223 'sf_module_cache_dir' => $ sf_app_cache_dir.DIRECTORY_SEPARATOR.'modules',244 'sf_template_cache_dir' => $appCacheDir.DIRECTORY_SEPARATOR.'template', 245 'sf_i18n_cache_dir' => $appCacheDir.DIRECTORY_SEPARATOR.'i18n', 246 'sf_config_cache_dir' => $appCacheDir.DIRECTORY_SEPARATOR.'config', 247 'sf_test_cache_dir' => $appCacheDir.DIRECTORY_SEPARATOR.'test', 248 'sf_module_cache_dir' => $appCacheDir.DIRECTORY_SEPARATOR.'modules', 224 249 )); 225 250 } … … 234 259 public function getControllerDirs($moduleName) 235 260 { 236 $suffix = $moduleName.'/'.sfConfig::get('sf_app_module_action_dir_name');237 238 261 $dirs = array(); 239 262 foreach (sfConfig::get('sf_module_dirs', array()) as $key => $value) 240 263 { 241 $dirs[$key.'/'.$ suffix] = $value;242 } 243 244 $dirs[sfConfig::get('sf_app_module_dir').'/'.$ suffix] = false; // application245 246 if ($pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/modules/'.$ suffix))264 $dirs[$key.'/'.$moduleName.'/actions'] = $value; 265 } 266 267 $dirs[sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/actions'] = false; // application 268 269 if ($pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/modules/'.$moduleName.'/actions')) 247 270 { 248 271 $dirs = array_merge($dirs, array_combine($pluginDirs, array_fill(0, count($pluginDirs), true))); // plugins 249 272 } 250 273 251 $dirs[sfConfig::get('sf_symfony_lib_dir').'/controller/'.$ suffix] = true; // core modules274 $dirs[sfConfig::get('sf_symfony_lib_dir').'/controller/'.$moduleName.'/actions'] = true; // core modules 252 275 253 276 return $dirs; … … 263 286 public function getTemplateDirs($moduleName) 264 287 { 265 $suffix = $moduleName.'/'.sfConfig::get('sf_app_module_template_dir_name');266 267 288 $dirs = array(); 268 289 foreach (sfConfig::get('sf_module_dirs', array()) as $key => $value) 269 290 { 270 $dirs[] = $key.'/'.$ suffix;271 } 272 273 $dirs[] = sfConfig::get('sf_app_module_dir').'/'.$ suffix; // application274 275 if ($pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/modules/'.$ suffix))276 { 277 $dirs = array_merge($dirs, $pluginDirs); // plugins278 } 279 280 $dirs[] = sfConfig::get('sf_symfony_lib_dir').'/controller/'.$ suffix; // core modules281 $dirs[] = sfConfig::get('sf_module_cache_dir').'/auto'.ucfirst($ suffix); // generated templates in cache291 $dirs[] = $key.'/'.$moduleName.'/templates'; 292 } 293 294 $dirs[] = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/templates'; // application 295 296 if ($pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/modules/'.$moduleName.'/templates')) 297 { 298 $dirs = array_merge($dirs, $pluginDirs); // plugins 299 } 300 301 $dirs[] = sfConfig::get('sf_symfony_lib_dir').'/controller/'.$moduleName.'/templates'; // core modules 302 $dirs[] = sfConfig::get('sf_module_cache_dir').'/auto'.ucfirst($moduleName.'/templates'); // generated templates in cache 282 303 283 304 return $dirs; … … 294 315 public function getTemplateDir($moduleName, $templateFile) 295 316 { 296 $dirs = $this->getTemplateDirs($moduleName); 297 foreach ($dirs as $dir) 317 foreach ($this->getTemplateDirs($moduleName) as $dir) 298 318 { 299 319 if (is_readable($dir.'/'.$templateFile)) … … 331 351 332 352 // application 333 if (is_dir($dir = sfConfig::get('sf_app_dir').'/ '.sfConfig::get('sf_app_module_i18n_dir_name')))353 if (is_dir($dir = sfConfig::get('sf_app_dir').'/i18n')) 334 354 { 335 355 $dirs[] = $dir; … … 337 357 338 358 // plugins 339 $pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/ '.sfConfig::get('sf_app_module_i18n_dir_name'));359 $pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/i18n'); 340 360 if (isset($pluginDirs[0])) 341 361 { … … 358 378 359 379 // module 360 if (is_dir($dir = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/ '.sfConfig::get('sf_app_module_i18n_dir_name')))380 if (is_dir($dir = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/i18n')) 361 381 { 362 382 $dirs[] = $dir; … … 364 384 365 385 // application 366 if (is_dir($dir = sfConfig::get('sf_app_dir').'/ '.sfConfig::get('sf_app_module_i18n_dir_name')))386 if (is_dir($dir = sfConfig::get('sf_app_dir').'/i18n')) 367 387 { 368 388 $dirs[] = $dir; … … 370 390 371 391 // module in plugins 372 $pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/modules/'.$moduleName.'/ '.sfConfig::get('sf_app_module_i18n_dir_name'));392 $pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/modules/'.$moduleName.'/i18n'); 373 393 if (isset($pluginDirs[0])) 374 394 { … … 377 397 378 398 // plugins 379 $pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/ '.sfConfig::get('sf_app_module_i18n_dir_name'));399 $pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/i18n'); 380 400 if (isset($pluginDirs[0])) 381 401 { branches/1.1/lib/config/sfCompileConfigHandler.class.php
r7614 r7691 101 101 protected function insertConfigFileCallback($matches) 102 102 { 103 $configFile = sfConfig::get('sf_app_config_dir_name').'/'.$matches[4];103 $configFile = 'config/'.$matches[4]; 104 104 105 105 $configCache = sfContext::getInstance()->getConfigCache(); branches/1.1/lib/config/sfConfigCache.class.php
r7614 r7691 272 272 // application configuration handlers 273 273 274 require $this->checkConfig( sfConfig::get('sf_app_config_dir_name').'/config_handlers.yml');274 require $this->checkConfig('config/config_handlers.yml'); 275 275 276 276 // module level configuration handlers … … 296 296 } 297 297 298 $configPath = $sf_app_modules_dir.'/'.$directory.'/ '.sfConfig::get('sf_app_module_config_dir_name').'/config_handlers.yml';298 $configPath = $sf_app_modules_dir.'/'.$directory.'/config/config_handlers.yml'; 299 299 300 300 if (is_readable($configPath)) … … 307 307 // replace module dir path with a special keyword that 308 308 // checkConfig knows how to use 309 $configPath = sfConfig::get('sf_app_modules_dir_name').'/'.$directory.'/'.sfConfig::get('sf_app_module_config_dir_name').'/config_handlers.yml';309 $configPath = 'modules/'.$directory.'/config/config_handlers.yml'; 310 310 311 311 require $this->checkConfig($configPath); branches/1.1/lib/config/sfGeneratorConfigHandler.class.php
r7614 r7691 66 66 67 67 // hack to find the module name 68 preg_match('# '.sfConfig::get('sf_app_module_dir_name').'/([^/]+)/#', $configFiles[1], $match);68 preg_match('#modules/([^/]+)/#', $configFiles[1], $match); 69 69 $generatorParam['moduleName'] = $match[1]; 70 70 branches/1.1/lib/config/sfLoader.class.php
r7614 r7691 32 32 if ($moduleName) 33 33 { 34 $dirs[] = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/ '.sfConfig::get('sf_app_module_lib_dir_name').'/helper'; // module34 $dirs[] = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/lib/helper'; // module 35 35 36 36 if ($pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/modules/'.$moduleName.'/lib/helper')) 37 37 { 38 $dirs = array_merge($dirs, $pluginDirs); // module plugins38 $dirs = array_merge($dirs, $pluginDirs); // module plugins 39 39 } 40 40 } 41 41 42 $dirs[] = sfConfig::get('sf_app_lib_dir').'/helper'; // application42 $dirs[] = sfConfig::get('sf_app_lib_dir').'/helper'; // application 43 43 44 $dirs[] = sfConfig::get('sf_lib_dir').'/helper'; // project44 $dirs[] = sfConfig::get('sf_lib_dir').'/helper'; // project 45 45 46 46 if ($pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/lib/helper')) 47 47 { 48 $dirs = array_merge($dirs, $pluginDirs); // plugins48 $dirs = array_merge($dirs, $pluginDirs); // plugins 49 49 } 50 50 branches/1.1/lib/config/sfProjectConfiguration.class.php
r7670 r7691 20 20 { 21 21 protected 22 $rootDir = null, 23 $symfonyLibDir = null, 24 $config = array(); 22 $rootDir = null, 23 $symfonyLibDir = null; 25 24 26 25 static protected … … 34 33 sfProjectConfiguration::$active = $this; 35 34 36 $this->setRootDir($rootDir); 37 38 $this->rootDir = realpath($this->getRootDir()); 35 if (is_null($rootDir)) 36 { 37 $r = new ReflectionObject($this); 38 39 $this->rootDir = realpath(dirname($r->getFileName()).'/..'); 40 } 41 else 42 { 43 $this->rootDir = realpath($rootDir); 44 } 45 39 46 $this->symfonyLibDir = realpath(dirname(__FILE__).'/..'); 40 47 … … 61 68 public function initConfiguration() 62 69 { 63 // directory layout64 sfConfig::add($this->getDirectoryStructure());65 66 70 ini_set('magic_quotes_runtime', 'off'); 67 71 ini_set('register_globals', 'off'); 68 } 69 70 /** 71 * Returns the directory structure for the current configuration. 72 * 73 * @return array An array containing the basic directory structure of the current configuration 74 */ 75 public function getDirectoryStructure() 76 { 77 return array( 78 'sf_symfony_lib_dir' => $this->getSymfonyLibDir(), 79 'sf_root_dir' => $sf_root_dir = $this->getRootDir(), 80 81 // root directory names 82 'sf_bin_dir_name' => $sf_bin_dir_name = 'batch', 83 'sf_cache_dir_name' => $sf_cache_dir_name = 'cache', 84 'sf_log_dir_name' => $sf_log_dir_name = 'log', 85 'sf_lib_dir_name' => $sf_lib_dir_name = 'lib', 86 'sf_web_dir_name' => $sf_web_dir_name = 'web', 87 'sf_upload_dir_name' => $sf_upload_dir_name = 'uploads', 88 'sf_data_dir_name' => $sf_data_dir_name = 'data', 89 'sf_config_dir_name' => $sf_config_dir_name = 'config', 90 'sf_apps_dir_name' => $sf_apps_dir_name = 'apps', 91 'sf_test_dir_name' => $sf_test_dir_name = 'test', 92 'sf_doc_dir_name' => $sf_doc_dir_name = 'doc', 93 'sf_plugins_dir_name' => $sf_plugins_dir_name = 'plugins', 72 73 sfConfig::set('sf_symfony_lib_dir', $this->symfonyLibDir); 74 75 $this->setRootDir($this->rootDir); 76 } 77 78 /** 79 * Sets the project root directory. 80 * 81 * @param string The project root directory 82 */ 83 public function setRootDir($rootDir) 84 { 85 $this->rootDir = $rootDir; 86 87 sfConfig::add(array( 88 'sf_root_dir' => $rootDir, 94 89 95 90 // global directory structure 96 'sf_apps_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_apps_dir_name, 97 'sf_lib_dir' => $sf_lib_dir = $sf_root_dir.DIRECTORY_SEPARATOR.$sf_lib_dir_name, 98 'sf_bin_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_bin_dir_name, 99 'sf_web_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name, 100 'sf_upload_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name.DIRECTORY_SEPARATOR.$sf_upload_dir_name, 101 'sf_log_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_log_dir_name, 102 'sf_data_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_data_dir_name, 103 'sf_config_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_config_dir_name, 104 'sf_test_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_test_dir_name, 105 'sf_doc_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.'data'.DIRECTORY_SEPARATOR.$sf_doc_dir_name, 106 'sf_plugins_dir' => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_plugins_dir_name, 107 'sf_cache_dir' => $sf_cache_dir = $sf_root_dir.DIRECTORY_SEPARATOR.$sf_cache_dir_name, 108 109 // lib directory names 110 'sf_model_dir_name' => $sf_model_dir_name = 'model', 111 112 // lib directory structure 113 'sf_model_lib_dir' => $sf_lib_dir.DIRECTORY_SEPARATOR.$sf_model_dir_name, 114 115 // SF_APP_DIR sub-directories names 116 'sf_app_i18n_dir_name' => $sf_app_i18n_dir_name = 'i18n', 117 'sf_app_config_dir_name' => $sf_app_config_dir_name = 'config', 118 'sf_app_lib_dir_name' => $sf_app_lib_dir_name = 'lib', 119 'sf_app_module_dir_name' => $sf_app_module_dir_name = 'modules', 120 'sf_app_template_dir_name' => $sf_app_template_dir_name = 'templates', 121 122 // SF_APP_MODULE_DIR sub-directories names 123 'sf_app_module_action_dir_name' => 'actions', 124 'sf_app_module_template_dir_name' => 'templates', 125 'sf_app_module_lib_dir_name' => 'lib', 126 'sf_app_module_view_dir_name' => 'views', 127 'sf_app_module_validate_dir_name' => 'validate', 128 'sf_app_module_config_dir_name' => 'config', 129 'sf_app_module_i18n_dir_name' => 'i18n', 130 ); 91 'sf_apps_dir' => $rootDir.DIRECTORY_SEPARATOR.'apps', 92 'sf_lib_dir' => $rootDir.DIRECTORY_SEPARATOR.'lib', 93 'sf_bin_dir' => $rootDir.DIRECTORY_SEPARATOR.'batch', 94 'sf_log_dir' => $rootDir.DIRECTORY_SEPARATOR.'log', 95 'sf_data_dir' => $rootDir.DIRECTORY_SEPARATOR.'data', 96 'sf_config_dir' => $rootDir.DIRECTORY_SEPARATOR.'config', 97 'sf_test_dir' => $rootDir.DIRECTORY_SEPARATOR.'test', 98 'sf_doc_dir' => $rootDir.DIRECTORY_SEPARATOR.'doc', 99 'sf_plugins_dir' => $rootDir.DIRECTORY_SEPARATOR.'plugins', 100 )); 101 102 $this->setWebDir($rootDir.DIRECTORY_SEPARATOR.'web'); 103 $this->setCacheDir($rootDir.DIRECTORY_SEPARATOR.'cache'); 104 } 105 106 /** 107 * Returns the project root directory. 108 * 109 * @return string The project root directory 110 */ 111 public function getRootDir() 112 { 113 return $this->rootDir; 114 } 115 116 /** 117 * Sets the cache root directory. 118 * 119 * @param string The absolute path to the cache dir. 120 */ 121 public function setCacheDir($cacheDir) 122 { 123 sfConfig::set('sf_cache_dir', $cacheDir); 124 } 125 126 /** 127 * Sets the log directory. 128 * 129 * @param string The absolute path to the log dir. 130 */ 131 public function setLogDir($logDir) 132 { 133 sfConfig::set('sf_log_dir', $logDir); 134 } 135 136 /** 137 * Sets the web root directory. 138 * 139 * @param string The absolute path to the web dir. 140 */ 141 public function setWebDir($webDir) 142 { 143 sfConfig::add(array( 144 'sf_web_dir' => $webDir, 145 'sf_upload_dir' => $webDir.DIRECTORY_SEPARATOR.'uploads', 146 )); 131 147 } 132 148 … … 138 154 public function getModelDirs() 139 155 { 140 $dirs = array(sfConfig::get('sf_lib_dir').'/model' ? sfConfig::get('sf_lib_dir').'/model' : 'lib/model');// project156 $dirs = array(sfConfig::get('sf_lib_dir').'/model'); // project 141 157 if ($pluginDirs = glob(sfConfig::get('sf_plugins_dir').'/*/lib/model')) 142 158 { 143 $dirs = array_merge($dirs, $pluginDirs); // plugins159 $dirs = array_merge($dirs, $pluginDirs); // plugins 144 160 } 145 161 … … 243 259 244 260 /** 245 * Sets the project root directory.246 *247 * @param string The project root directory248 */249 public function setRootDir($rootDir)250 {251 $this->rootDir = $rootDir;252 }253 254 /**255 * Returns the project root directory.256 *257 * @return string The project root directory258 */259 public function getRootDir()260 {261 if (is_null($this->rootDir))262 {263 $r = new ReflectionObject($this);264 265 $this->rootDir = realpath(dirname($r->getFileName()).'/..');266 }267 268 return $this->rootDir;269 }270 271 /**272 261 * Returns the active configuration. 273 262 * branches/1.1/lib/controller/sfController.class.php
r7640 r7691 195 195 196 196 // check for a module generator config file 197 $this->context->getConfigCache()->import( sfConfig::get('sf_app_module_dir_name').'/'.$moduleName.'/'.sfConfig::get('sf_app_module_config_dir_name').'/generator.yml', true, true);197 $this->context->getConfigCache()->import('modules/'.$moduleName.'/config/generator.yml', true, true); 198 198 199 199 if (!$this->actionExists($moduleName, $actionName)) … … 215 215 216 216 // include module configuration 217 require($this->context->getConfigCache()->checkConfig( sfConfig::get('sf_app_module_dir_name').'/'.$moduleName.'/'.sfConfig::get('sf_app_module_config_dir_name').'/module.yml'));217 require($this->context->getConfigCache()->checkConfig('modules/'.$moduleName.'/config/module.yml')); 218 218 219 219 // check if this module is internal … … 227 227 { 228 228 // check for a module config.php 229 $moduleConfig = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/ '.sfConfig::get('sf_app_module_config_dir_name').'/config.php';229 $moduleConfig = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/config/config.php'; 230 230 if (is_readable($moduleConfig)) 231 231 { … … 357 357 { 358 358 // user view exists? 359 $file = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/ '.sfConfig::get('sf_app_module_view_dir_name').'/'.$actionName.$viewName.'View.class.php';359 $file = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/view/'.$actionName.$viewName.'View.class.php'; 360 360 361 361 if (is_readable($file)) branches/1.1/lib/i18n/extract/sfI18nApplicationExtract.class.php
r7430 r7691 27 27 28 28 // Modules 29 $moduleNames = sfFinder::type('dir')->maxdepth(0)->ignore_version_control()->relative()->in(sfConfig::get('sf_app_ dir').'/modules');29 $moduleNames = sfFinder::type('dir')->maxdepth(0)->ignore_version_control()->relative()->in(sfConfig::get('sf_app_module_dir')); 30 30 foreach ($moduleNames as $moduleName) 31 31 { branches/1.1/lib/i18n/extract/sfI18nModuleExtract.class.php
r7614 r7691 44 44 $moduleDir = sfConfig::get('sf_app_module_dir').'/'.$this->module; 45 45 $this->extractFromPhpFiles(array( 46 $moduleDir.'/ '.sfConfig::get('sf_app_module_action_dir_name'),47 $moduleDir.'/ '.sfConfig::get('sf_app_module_lib_dir_name'),48 $moduleDir.'/ '.sfConfig::get('sf_app_module_template_dir_name'),46 $moduleDir.'/actions', 47 $moduleDir.'/lib', 48 $moduleDir.'/templates', 49 49 )); 50 50 51 51 // Extract from generator.yml files 52 $generator = $moduleDir.'/ '.sfConfig::get('sf_app_module_config_dir_name').'/generator.yml';52 $generator = $moduleDir.'/config/generator.yml'; 53 53 if (file_exists($generator)) 54 54 { … … 58 58 59 59 // Extract from validate/*.yml files 60 $validateFiles = glob($moduleDir.'/ '.sfConfig::get('sf_app_module_validate_dir_name').'/*.yml');60 $validateFiles = glob($moduleDir.'/validate/*.yml'); 61 61 if (is_array($validateFiles)) 62 62 { branches/1.1/lib/plugins/sfCompat10Plugin/lib/filter/sfValidationExecutionFilter.class.php
r7614 r7691 109 109 110 110 // get the current action validation configuration 111 $validationConfig = $moduleName.'/ '.sfConfig::get('sf_app_module_validate_dir_name').'/'.$actionName.'.yml';111 $validationConfig = $moduleName.'/validate/'.$actionName.'.yml'; 112 112 113 113 // load validation configuration 114 114 // do NOT use require_once 115 if (null !== $validateFile = $this->context->getConfigCache()->checkConfig( sfConfig::get('sf_app_module_dir_name').'/'.$validationConfig, true))115 if (null !== $validateFile = $this->context->getConfigCache()->checkConfig('modules/'.$validationConfig, true)) 116 116 { 117 117 // create validator manager branches/1.1/lib/plugins/sfCompat10Plugin/lib/helper/ObjectAdminHelper.php
r5855 r7691 33 33 if ($include_link = _get_option($options, 'include_link')) 34 34 { 35 $image_path = image_path('/'.sfConfig::get('sf_upload_dir_name').'/'.$include_link.'/'.$value); 35 $relativeUploadDirName = str_replace(sfConfig::get('sf_web_dir'), '', sfConfig::get('sf_upload_dir')); 36 $image_path = image_path('/'.$relativeUploadDirName.'/'.$include_link.'/'.$value); 36 37 $image_text = ($include_text = _get_option($options, 'include_text')) ? __($include_text) : __('[show file]'); 37 38 branches/1.1/lib/plugins/sfCompat10Plugin/lib/helper/PartialHelper.php
r7614 r7691 133 133 134 134 // load component's module config file 135 require(sfContext::getInstance()->getConfigCache()->checkConfig( sfConfig::get('sf_app_module_dir_name').'/'.$moduleName.'/'.sfConfig::get('sf_app_module_config_dir_name').'/module.yml'));135 require(sfContext::getInstance()->getConfigCache()->checkConfig('modules/'.$moduleName.'/config/module.yml')); 136 136 137 137 $componentInstance->getVarHolder()->add($vars); branches/1.1/lib/plugins/sfCompat10Plugin/lib/view/sfMailView.class.php
r7614 r7691 40 40 // require our configuration 41 41 $moduleName = $this->moduleName; 42 require($this->context->getConfigCache()->checkConfig( sfConfig::get('sf_app_module_dir_name').'/'.$this->moduleName.'/'.sfConfig::get('sf_app_module_config_dir_name').'/mailer.yml'));42 require($this->context->getConfigCache()->checkConfig('modules/'.$this->moduleName.'/config/mailer.yml')); 43 43 } 44 44 branches/1.1/lib/plugins/sfPropelPlugin/lib/task/sfPropelBaseTask.class.php
r7614 r7691 43 43 $autoloader->addDirectory($libDir.'/propel'); 44 44 $autoloader->setClassPath('Propel', $libDir.'/propel/sfPropelAutoload.php'); 45 $autoloader->addDirectory(sfConfig::get('sf_ model_lib_dir'));45 $autoloader->addDirectory(sfConfig::get('sf_lib_dir').'/model'); 46 46 $autoloader->addDirectory(sfConfig::get('sf_lib_dir').'/form'); 47 47 $autoloader->register(); branches/1.1/lib/plugins/sfPropelPlugin/lib/task/sfPropelGenerateCrudTask.class.php
r7614 r7691 103 103 )); 104 104 105 $moduleDir = sfConfig::get('sf_app s_dir').'/'.$arguments['application'].'/'.sfConfig::get('sf_app_module_dir_name').'/'.$arguments['module'];105 $moduleDir = sfConfig::get('sf_app_module_dir').'/'.$arguments['module']; 106 106 107 107 // copy our generated module … … 132 132 protected function executeInit($arguments = array(), $options = array()) 133 133 { 134 $moduleDir = sfConfig::get('sf_app s_dir').'/'.$arguments['application'].'/'.sfConfig::get('sf_app_module_dir_name').'/'.$arguments['module'];134 $moduleDir = sfConfig::get('sf_app_module_dir').'/'.$arguments['module']; 135 135 136 136 // create basic application structure branches/1.1/lib/plugins/sfPropelPlugin/lib/task/sfPropelInitAdminTask.class.php
r7614 r7691 74 74 ); 75 75 76 $moduleDir = sfConfig::get('sf_app s_dir').'/'.$arguments['application'].'/'.sfConfig::get('sf_app_module_dir_name').'/'.$arguments['module'];76 $moduleDir = sfConfig::get('sf_app_module_dir').'/'.$arguments['module']; 77 77 78 78 // create module structure branches/1.1/lib/task/cache/sfCacheClearTask.class.php
r7401 r7691 84 84 85 85 // declare type that must be cleaned safely (with a lock file during cleaning) 86 $safeTypes = array( sfConfig::get('sf_app_config_dir_name'), sfConfig::get('sf_app_i18n_dir_name'));86 $safeTypes = array('config', 'i18n'); 87 87 88 88 // finder to remove all files in a cache directory branches/1.1/lib/task/generator/sfGenerateAppTask.class.php
r7614 r7691 96 96 // Set no_script_name value in settings.yml for production environment 97 97 $finder = sfFinder::type('file')->name('settings.yml'); 98 $this->getFilesystem()->replaceTokens($finder->in($appDir.'/ '.sfConfig::get('sf_app_config_dir_name')), '##', '##', array('NO_SCRIPT_NAME' => ($firstApp ? 'on' : 'off')));98 $this->getFilesystem()->replaceTokens($finder->in($appDir.'/config'), '##', '##', array('NO_SCRIPT_NAME' => ($firstApp ? 'on' : 'off'))); 99 99 100 100 $this->getFilesystem()->copy(dirname(__FILE__).'/skeleton/app/web/index.php', sfConfig::get('sf_web_dir').'/'.$indexName.'.php'); branches/1.1/lib/task/generator/sfGenerateModuleTask.class.php
r7401 r7691 67 67 protected function execute($arguments = array(), $options = array()) 68 68 { 69 $app = $arguments['application'];70 $module = $arguments['module'];69 $app = $arguments['application']; 70 $module = $arguments['module']; 71 71 72 $moduleDir = sfConfig::get('sf_app s_dir').'/'.$app.'/'.sfConfig::get('sf_app_module_dir_name').'/'.$module;72 $moduleDir = sfConfig::get('sf_app_module_dir').'/'.$module; 73 73 74 74 if (is_dir($moduleDir)) branches/1.1/lib/task/i18n/sfI18nFindTask.class.php
r7614 r7691 48 48 49 49 // Look in templates 50 $moduleNames = sfFinder::type('dir')->maxdepth(0)->ignore_version_control()->relative()->in(sfConfig::get('sf_app_ dir').'/modules');50 $moduleNames = sfFinder::type('dir')->maxdepth(0)->ignore_version_control()->relative()->in(sfConfig::get('sf_app_module_dir')); 51 51 $strings = array(); 52 52 foreach ($moduleNames as $moduleName) 53 53 { 54 $dir = sfConfig::get('sf_app_ dir').'/modules/'.$moduleName.'/templates';54 $dir = sfConfig::get('sf_app_module_dir').'/'.$moduleName.'/templates'; 55 55 $templates = sfFinder::type('file')->name('*.php')->relative()->in($dir); 56 56 foreach ($templates as $template) branches/1.1/lib/util/sfContext.class.php
r7614 r7691 154 154 155 155 // include the factories configuration 156 require($this->configuration->getConfigCache()->checkConfig( sfConfig::get('sf_app_config_dir_name').'/factories.yml'));156 require($this->configuration->getConfigCache()->checkConfig('config/factories.yml')); 157 157 158 158 $this->dispatcher->notify(new sfEvent($this, 'context.load_factories')); branches/1.1/lib/view/sfPHPView.class.php
r7614 r7691 104 104 105 105 // require our configuration 106 require($this->context->getConfigCache()->checkConfig( sfConfig::get('sf_app_module_dir_name').'/'.$this->moduleName.'/'.sfConfig::get('sf_app_module_config_dir_name').'/view.yml'));106 require($this->context->getConfigCache()->checkConfig('modules/'.$this->moduleName.'/config/view.yml')); 107 107 108 108 // decorator configuration branches/1.1/lib/view/sfViewCacheManager.class.php
r7614 r7691 194 194 if (!isset($this->loaded[$moduleName])) 195 195 { 196 require($this->context->getConfigCache()->checkConfig( sfConfig::get('sf_app_module_dir_name').'/'.$moduleName.'/'.sfConfig::get('sf_app_module_config_dir_name').'/cache.yml'));196 require($this->context->getConfigCache()->checkConfig('modules/'.$moduleName.'/config/cache.yml')); 197 197 $this->loaded[$moduleName] = true; 198 198 }