MINI
C:
/
php5.2.9
/
PEAR
/
symfony
/
lib
/
plugins
/
sfPropelPlugin
/
lib
/
task
/
Upload File:
files >> C:/php5.2.9/PEAR/symfony/lib/plugins/sfPropelPlugin/lib/task/sfPropelInitAdminTask.class.php
<?php /* * This file is part of the symfony package. * (c) 2004-2006 Fabien Potencier <fabien.potencier@symfony-project.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ require_once(dirname(__FILE__).'/sfPropelBaseTask.class.php'); /** * Initializes a Propel admin module. * * @package symfony * @subpackage propel * @author Fabien Potencier <fabien.potencier@symfony-project.com> * @version SVN: $Id: sfPropelInitAdminTask.class.php 10527 2008-07-30 23:50:54Z dwhittle $ */ class sfPropelInitAdminTask extends sfPropelBaseTask { /** * @see sfTask */ protected function configure() { $this->addArguments(array( new sfCommandArgument('application', sfCommandArgument::REQUIRED, 'The application name'), new sfCommandArgument('module', sfCommandArgument::REQUIRED, 'The module name'), new sfCommandArgument('model', sfCommandArgument::REQUIRED, 'The model class name'), )); $this->addOptions(array( new sfCommandOption('theme', null, sfCommandOption::PARAMETER_REQUIRED, 'The theme name', 'default'), )); $this->aliases = array('propel-init-admin'); $this->namespace = 'propel'; $this->name = 'init-admin'; $this->briefDescription = 'Initializes a Propel admin module'; $this->detailedDescription = <<<EOF The [propel:init-admin|INFO] task generates a Propel admin module: [./symfony propel:init-admin frontend article Article|INFO] The task creates a [%module%|COMMENT] module in the [%application%|COMMENT] application for the model class [%model%|COMMENT]. The created module is an empty one that inherit its actions and templates from a runtime generated module in [%sf_app_cache_dir%/modules/auto%module%|COMMENT]. The generator can use a customized theme by using the [--theme|COMMENT] option: [./symfony propel:init-admin --theme="custom" frontend article Article|INFO] EOF; } /** * @see sfTask */ protected function execute($arguments = array(), $options = array()) { $databaseManager = new sfDatabaseManager($this->configuration); $properties = parse_ini_file(sfConfig::get('sf_config_dir').'/properties.ini', true); $constants = array( 'PROJECT_NAME' => isset($properties['symfony']['name']) ? $properties['symfony']['name'] : 'symfony', 'APP_NAME' => $arguments['application'], 'MODULE_NAME' => $arguments['module'], 'MODEL_CLASS' => $arguments['model'], 'AUTHOR_NAME' => isset($properties['symfony']['author']) ? $properties['symfony']['author'] : 'Your name here', 'THEME' => $options['theme'], ); $moduleDir = sfConfig::get('sf_app_module_dir').'/'.$arguments['module']; // create module structure $finder = sfFinder::type('any')->discard('.sf'); $dirs = $this->configuration->getGeneratorSkeletonDirs('sfPropelAdmin', $options['theme']); foreach ($dirs as $dir) { if (is_dir($dir)) { $this->getFilesystem()->mirror($dir, $moduleDir, $finder); break; } } // customize php and yml files $finder = sfFinder::type('file')->name('*.php', '*.yml'); $this->getFilesystem()->replaceTokens($finder->in($moduleDir), '##', '##', $constants); } }
Copyright ©2021 || Defacer Indonesia