/** * Display the template list. * * @return void */ private function templates() { $input = JFactory::getApplication()->input; $profiling = false; if ($profiling) { // jimport('joomla.error.profiler'); $this->profiler = JProfiler::getInstance('EasyCreator'); } $this->task = $input->get('task'); $this->ecr_project = $input->get('ecr_project'); $this->path = ECRPATH_EXTENSIONTEMPLATES; $this->file_path = $input->getPath('file_path'); $this->file_name = $input->getPath('file_name'); $this->com_type = $input->get('com_type'); $this->template = $input->get('template'); $this->comTypes = EcrProjectHelper::getProjectTypes(); $cache = JFactory::getCache(); $cache->setCaching(1); if ($profiling) { $this->profiler->mark('start get templates'); } $this->templates = EcrProjectTemplateHelper::getTemplateList(); if ($profiling) { $this->profiler->mark('end get cached templates'); } if ($profiling) { echo '<pre>' . print_r($this->profiler->getBuffer(), true) . '</pre>'; } $this->setLayout('templates'); }
/** * DoIt * * @throws Exception * @return void */ public function doExecute() { require JPATH_BASE . '/helpers/loader.php'; require JPATH_BASE . '/includes/defines.php'; jimport('joomla.filesystem.folder'); jimport('joomla.filesystem.file'); var_dump(getcwd()); var_dump($this->input->args); // Known project types $types = EcrProjectHelper::getProjectTypes(); // Known project "Tags" - short forms $tags = EcrProjectHelper::getProjectTypesTags(); // Predefined actions $actions = $this->getActions(); var_dump($actions); var_dump($tags); // @todo What do you want to do today ? =;) return; $this->input->set('ecr_project', 'wap_fuuuschubidu'); $builder = new EcrProjectBuilder(); $type = 'webapp'; //getCmd('tpl_type'); $name = 'mvc_1'; //getCmd('tpl_name'); $comName = 'wap_gugugugu'; //getCmd('com_name'); if (in_array($type, array('cliapp', 'webapp'))) { define('JPATH_SITE', __DIR__); } $newProject = $builder->build($type, $name, $comName); if (!$newProject) { //-- Error $this->out('An error happened while creating your project'); // JFactory::getApplication()->enqueueMessage(jgettext('An error happened while creating your project'), 'error'); // $builder->printErrors(); $errors = $builder->getErrors(); var_dump($errors); //EcrHtml::formEnd(); return; } if ('test' == JFactory::getApplication()->input->get('ecr_test_mode')) { //-- Exiting in test mode echo '<h2>Exiting in test mode...</h2>'; echo $builder->printLog(); $builder->printErrors(); EcrHtml::formEnd(); return; } $ecr_project = JFile::stripExt($newProject->getEcrXmlFileName()); // $uri = 'index.php?option=com_easycreator&controller=stuffer&ecr_project='.$ecr_project; $this->out('Your project has been created'); echo ECRPATH_DATA; $project = EcrProjectHelper::getProject(); var_dump($project); }
/** * Draws a project selector * * @return void */ public static function project() { $projects = EcrProjectHelper::getProjectList(); $projectTypes = EcrProjectHelper::getProjectTypes(); $ecr_project = JFactory::getApplication()->input->get('ecr_project'); $class = ''; if ($ecr_project == 'ecr_new_project') { $class = 'img3 icon16-add'; } else { if ($ecr_project == 'ecr_register_project') { $class = 'img3 icon16-import'; } else { if ($ecr_project) { try { $project = EcrProjectHelper::getProject(); $class = 'img3 icon12-' . $project->type; } catch (Exception $e) { $do = 'nothing'; unset($do); } } } } echo '<span class="' . $class . '">'; echo NL . '<select style="font-size: 1.2em;" name="ecr_project" id="ecr_project" onchange="switchProject();">'; echo NL . '<option value="">' . jgettext('Project') . '...</option>'; $selected = $ecr_project == 'ecr_new_project' ? ' selected="selected"' : ''; $class = ' class="img3 icon16-add"'; echo NL . '<option' . $class . ' value="ecr_new_project"' . $selected . '>' . jgettext('New Project') . '</option>'; $selected = $ecr_project == 'ecr_register_project' ? ' selected="selected"' : ''; $class = ' class="img3 icon16-import"'; echo NL . '<option' . $class . ' value="ecr_register_project"' . $selected . '>' . jgettext('Register Project') . '</option>'; /* @var EcrProjectBase $pType */ foreach ($projectTypes as $pTag => $pType) { if (isset($projects[$pTag]) && count($projects[$pTag])) { echo NL . '<optgroup label="' . $pType->translateTypePlural() . '">'; /* @var EcrProjectBase $project */ foreach ($projects[$pTag] as $project) { $displayName = $project->name; if ($project->scope) { $displayName .= ' (' . $project->scope . ')'; } $selected = $project->fileName == $ecr_project ? ' selected="selected"' : ''; $class = ' class="img12 icon12-' . $pTag . '"'; echo NL . '<option' . $class . ' value="' . $project->fileName . '" label="' . $project->name . '"' . $selected . '>' . $displayName . '</option>'; } echo NL . '</optgroup>'; } } echo NL . '</select></span>'; }
$projects = EcrProjectHelper::getProjectList(); $toolImgBase = '<span class=\'img icon16-%s\' style=\'padding-left: 20px; height: 14px;\'></span>'; $toolImg = new stdClass(); $toolImg->config = sprintf($toolImgBase, 'ecr_config'); $toolImg->language = sprintf($toolImgBase, 'locale'); $toolImg->codeeye = sprintf($toolImgBase, 'xeyes'); $toolImg->ziper = sprintf($toolImgBase, 'package'); $toolImg->deploy = sprintf($toolImgBase, 'deploy'); ?> <div class="projectListHeader registered"><?php echo jgettext('Registered Projects'); ?> </div> <?php /* @var EcrProjectBase $pType */ foreach (EcrProjectHelper::getProjectTypes() as $pTag => $pType) { if (!isset($projects[$pTag]) || !count($projects[$pTag])) { continue; } ?> <div class="ecr_floatbox"> <?php $count = isset($projects[$pTag]) ? count($projects[$pTag]) : 0; echo '<div class="boxHeader img icon12-' . $pTag . '">'; echo sprintf($pType->translateTypeCount($count), $count); echo '</div>'; foreach ($projects[$pTag] as $project) { ?> <div class="projectListRow btn hasTip" title="<?php echo jgettext('Configure') . $toolImg->config . '::' . $project->name;
<?php defined('_JEXEC') || die('=;)'); /** * @package EasyCreator * @subpackage Views * @author Nikolai Plath * @author Created on 24-Mar-2010 * @license GNU/GPL, see JROOT/LICENSE.php */ $projectTypes = EcrProjectHelper::getProjectTypes(); $projectScopes = EcrProjectHelper::getProjectScopes(); $input = JFactory::getApplication()->input; $task = $input->get('task'); $showCore = $input->get('show_core') == 'show_core' ? true : false; $checked = $showCore ? ' checked="checked"' : ''; ?> <div class="projectListHeader unregistered"> <div style="float: right;"> <input type="checkbox" name="show_core" id="show_core" value="show_core" <?php echo $checked; ?> onchange="submitbutton('<?php echo $task; ?> ');"/> <label for="show_core" class="inline"> <i class="img icon16-joomla"></i><?php echo jgettext('Show Joomla core projects'); ?>
/** * Register an existing project. * * @param string $type Project type * @param string $name Project name * @param string $scope Project scope e.g. admin, site * * @return EcrProjectBase on success | false on error */ public function registerProject($type, $name, $scope = '') { //--Get component parameters $comParams = JComponentHelper::getParams('com_easycreator'); //-- Setup logging $options = array(); $opts = array('logging', 'hotlogging', 'files', 'profile'); foreach ($opts as $o) { if ($comParams->get($o)) { $options[] = $o; } } $options['fileName'] = date('ymd_Hi') . '_register.log'; $this->logger = EcrLogger::getInstance('ecr', $options); if (false == array_key_exists($type, EcrProjectHelper::getProjectTypes())) { JFactory::getApplication()->enqueueMessage(sprintf(jgettext('The project type %s is not defined yet'), $type), 'error'); $this->setError(sprintf(jgettext('The project type %s is not defined yet'), $type)); return false; } $project = EcrProjectHelper::newProject($type); $project->comName = $name; $project->scope = $scope; foreach (EcrEasycreator::$packFormats as $name => $ext) { if ($comParams->get($name)) { $project->buildOpts[$name] = '1'; } } for ($i = 1; $i < 5; $i++) { $project->buildOpts['custom_name_' . $i] = $comParams->get('custom_name_' . $i); } //-- Set the Joomla! compatibility version to the version we are actually running on $project->JCompat = ECR_JVERSION; $xmlPath = EcrProjectHelper::findManifest($project); if (false == $xmlPath) { JFactory::getApplication()->enqueueMessage(jgettext('No manifest file found'), 'error'); $this->setError(jgettext('No manifest file found')); return false; } $data = EcrProjectHelper::parseXMLInstallFile(JPATH_ROOT . DS . $xmlPath); $project->name = $data->name; $this->logger->log('Registering: ' . $project->type . ' - ' . $project->name . '<br />' . 'aka "' . $project->comName . '"<br />scope: ' . $project->scope); $pXml = $project->update(); if (false == $pXml) { $this->logger->log('', 'Unable to create EasyCreator manifest'); $this->logger->writeLog(); return false; } else { $this->logger->log('EasyCreator manifest created'); $this->logger->logFileWrite('', '', $pXml); } $this->logger->log('FINISHED'); $this->logger->writeLog(); return $project; }