✏️ 编辑:opGeneratePluginTask.class.php
路径:
/virtual/bigbrother/sns/lib/task/opGeneratePluginTask.class.php
大小:1.82 KB · 修改:2010-08-10 13:59:42 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
<?php /** * This file is part of the OpenPNE package. * (c) OpenPNE Project (http://www.openpne.jp/) * * For the full copyright and license information, please view the LICENSE * file and the NOTICE file that were distributed with this source code. */ class opGeneratePluginTask extends sfBaseTask { protected function configure() { $this->addArguments(array( new sfCommandArgument('plugin', sfCommandArgument::REQUIRED, 'The OpenPNE plugin name'), )); $this->namespace = 'opGenerate'; $this->name = 'plugin'; $this->briefDescription = 'Generates a new OpenPNE plugin'; $this->detailedDescription = <<<EOF The [opGenerate:plugin|INFO] task creates the basic directory structure for a new plugin in the OpenPNE project: [./symfony opGenerate:plugin opSamplePlugin|INFO] If a plugin with the same name already exists, it throws a [sfCommandException|COMMENT]. EOF; } protected function execute($arguments = array(), $options = array()) { $plugin = $arguments['plugin']; // Validate the application name if (!preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $plugin)) { throw new sfCommandException(sprintf('The OpenPNE plugin name "%s" is invalid.', $plugin)); } $opPluginDir = sfConfig::get('sf_plugins_dir').'/'.$plugin; if (is_dir($opPluginDir)) { throw new sfCommandException(sprintf('The OpenPNE plugin "%s" already exists.', $opPluginDir)); } // create basic opPlugin structure $finder = sfFinder::type('any')->discard('.sf'); $this->getFilesystem()->mirror(dirname(__FILE__).'/skeleton/opPlugin', $opPluginDir, $finder); $fixPerms = new sfProjectPermissionsTask($this->dispatcher, $this->formatter); $fixPerms->setCommandApplication($this->commandApplication); @$fixPerms->run(); } }
💾 保存
取消
保存为 UTF-8,换行统一为 LF