Exemplo n.º 1
0
 /**
  * Insert a new part from templates/parts folder.
  *
  * @return void
  */
 public function new_element()
 {
     $input = JFactory::getApplication()->input;
     $ecr_project = $input->get('ecr_project');
     $group = $input->get('group');
     $part = $input->get('part');
     $element = $input->get('element');
     $scope = $input->get('element_scope');
     //$old_task = $input->get('old_task', 'stuffer');
     //-- Get the project
     try {
         $project = EcrProjectHelper::getProject();
     } catch (Exception $e) {
         EcrHtml::message($e);
         parent::display();
         return;
     }
     $input->set('view', 'stuffer');
     $input->set('file', '');
     if (!($ePart = EcrProjectHelper::getPart($group, $part, $element, $scope))) {
         EcrHtml::message(array(jgettext('Unable to load part') . ' [group, part]', $group, $part), 'error');
         parent::display();
         return;
     }
     if (!$project->prepareAddPart($ecr_project)) {
         EcrHtml::message(array(jgettext('Unable to prepare part') . ' [group, part]', $group, $part), 'error');
         parent::display();
         return;
     }
     //-- Setup logging
     $buildOpts = $input->get('buildopts', array(), 'array');
     $buildOpts['fileName'] = date('ymd_Hi') . '_add_part.log';
     $logger = EcrLogger::getInstance('ecr', $buildOpts);
     $options = new stdClass();
     $options->ecr_project = $ecr_project;
     $options->group = $group;
     $options->part = $part;
     $options->pathSource = JPath::clean(ECRPATH_PARTS . DS . $group . DS . $part . DS . 'tmpl');
     $string = '';
     $string .= '<h2>Add Element</h2>';
     $string .= 'Project: ' . $ecr_project . BR;
     $string .= 'Group: ' . $group . BR;
     $string .= 'Part:  ' . $part . BR;
     $string .= 'Source:' . BR . $options->pathSource;
     $string .= '<hr />';
     $logger->log($string);
     if (!$ePart->insert($project, $options, $logger)) {
         EcrHtml::message(array(jgettext('Unable to insert part') . ' [group, part]', $group, $part), 'error');
         $logger->writeLog();
     } else {
         EcrHtml::message(array(jgettext('Part added') . ' [group, part]', $group, $part));
         $logger->writeLog();
         $cache = JFactory::getCache();
         $cache->clean('EasyCreator_' . $ecr_project);
     }
     parent::display();
 }
Exemplo n.º 2
0
                            <?php 
echo jgettext('Extension templates parts');
?>
                        </div>
                        <ul>
                            <?php 
foreach (EcrProjectHelper::getPartsGroups() as $group) {
    $js = " onmousedown=\"setAction('', '" . $path . DS . "parts', '" . $group . "');\"";
    ?>
                                <li class="pft-directory"><?php 
    echo '<div' . $js . '>' . jgettext($group) . '</div>';
    ?>
                                    <ul>
                                        <?php 
    foreach (EcrProjectHelper::getParts($group) as $part) {
        $easyPart = EcrProjectHelper::getPart($group, $part, '', '');
        if ($easyPart) {
            $toolTip = $group . '::' . $part;
            $title = $part;
            if (method_exists($easyPart, 'info')) {
                $info = $easyPart->info();
                $title = $info->title;
                $toolTip = $info->title;
                if ($info->description) {
                    $toolTip .= '::' . $info->description;
                }
            }
            $js = " onmousedown=\"setAction('', '" . $path . DS . 'parts' . DS . $group . "', '" . $part . "');\"";
            echo '<li class="pft-directory">';
            echo '<div' . $js . ' class="hasTip" title="' . $toolTip . '">';
            echo '<span class="img icon16-info"/>' . $title;
Exemplo n.º 3
0
 /**
  * Executes a function inside a 'part' from templates/parts folder.
  *
  * @return void
  */
 public function part_task()
 {
     $input = JFactory::getApplication()->input;
     $group = $input->get('group');
     $part = $input->get('part');
     $element = $input->get('element');
     $scope = $input->get('scope');
     $partTask = $input->get('part_task');
     if (!($ecrPart = EcrProjectHelper::getPart($group, $part, $element, $scope))) {
         EcrHtml::message(array(jgettext('Unable to load part') . ' [group, part]', $group, $part), 'error');
         return;
     }
     if (!method_exists($ecrPart, $partTask)) {
         EcrHtml::message(array(jgettext('Function not found'), $partTask), 'error');
         return;
     }
     //-- Execute the task
     return $ecrPart->{$partTask}($element);
 }
Exemplo n.º 4
0
function drawAddElementTable()
{
    $ecr_project = JFactory::getApplication()->input->get('ecr_project');
    $link = 'index.php?option=com_easycreator&controller=ajax&task=show_part&tmpl=component';
    $link .= '&ecr_project=' . $ecr_project;
    ?>
<script type="text/javascript">
            function showPart(group, part)
            {
                document.id('addPartShow').className = ' img ajax_loading16';

                document.id('addPartShow').innerHTML = jgettext('Loading...');
                document.id('addElementMessage').innerHTML = '';

                new Request({
                    url: '<?php 
    echo $link;
    ?>
&group='+group+'&part='+part,
                    onComplete: function(response)
                    {
                        document.id('addPartShow').className = '';
                        document.id('addPartShow').set('html', response);
                        document.id('addElementMessage').innerHTML = '';
                        div_new_element.show();
                    }
                }).send();

                return false;
            }//function
        </script>
<div id="addElementMessage"></div>
<div id="addPartPartsList" style="float: left;"><?php 
    foreach (EcrProjectHelper::getPartsGroups() as $group) {
        echo '<strong style="color: blue;">' . ucfirst($group) . '</strong><br />';
        foreach (EcrProjectHelper::getParts($group) as $part) {
            $easyPart = EcrProjectHelper::getPart($group, $part, '', '');
            if ($easyPart) {
                $toolTip = $group . '::' . $part;
                $title = $part;
                if (method_exists($easyPart, 'info')) {
                    $info = $easyPart->info();
                    $title = $info->title;
                    $toolTip = $info->title;
                    if ($info->description) {
                        $toolTip .= '::' . $info->description;
                    }
                }
                echo '<div class="btn block hasTip" title="' . $toolTip . '" onclick="showPart(\'' . $group . '\', \'' . $part . '\');">' . $title . '</div>';
            }
        }
        //foreach
    }
    //foreach
    ?>
</div>
<div style="float: left; margin-left: 1em;">
	<div class="ecr_floatbox">
    	<div id="addPartShow">
    		<strong style="color: red;"><?php 
    echo jgettext('Select an element');
    ?>
</strong>
    	</div>
	</div>
</div>

<div style="clear: both;"></div>
<?php 
}