Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/wyrihaximus/twig-view/src/Shell/Task/TwigTemplateTask.php
<?php

/**
 * This file is part of TwigView.
 *
 ** (c) 2014 Cees-Jan Kiewiet
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace WyriHaximus\TwigView\Shell\Task;

use
Bake\Shell\Task\TemplateTask;
use
Cake\Console\Shell;
use
Cake\Core\Configure;
use
Cake\Utility\Inflector;

/**
 * Task class for creating and updating twig view template files.
 *
 */
class TwigTemplateTask extends TemplateTask
{

    public function
name()
    {
        return
'twig_template';
    }

   
/**
     * Assembles and writes bakes the twig view file.
     *
     * @param string $template Template to generate content with.
     * @param string $content Content to write.
     * @param string $outputFile The destination action name. If null, will fallback to $template.
     * @return string Generated file content.
     */
   
public function bake($template, $content = '', $outputFile = null)
    {
        if (
$outputFile === null) {
           
$outputFile = $template;
        }
        if (
$content === true) {
           
$content = $this->getContent($template);
        }
        if (empty(
$content)) {
           
$this->err("<warning>No generated content for '{$template}.ctp', not generating template.</warning>");

            return
false;
        }
       
$this->out("\n" . sprintf('Baking `%s` view twig template file...', $outputFile), 1, Shell::QUIET);
       
$path = $this->getPath();
       
$filename = $path . Inflector::underscore($outputFile) . '.twig';
       
$this->createFile($filename, $content);

        return
$content;
    }
}