Example #1
0
function flage_modifier_escape($flage, $arg0, $arguments, $line, $col)
{
    $parsedArgs = flage_generate_args(array('filter' => false, 'firstword' => false), $arguments, $line, $col);
    $filters = $parsedArgs['filter'];
    if (!$filters) {
        //throw new FlageException("Unknown filter is required",$line,$col);
        $filters = 'html';
    }
    foreach (explode(',', $filters) as $filter) {
        switch ($filter) {
            case "html":
                $arg0 = htmlspecialchars($arg0);
                break;
            case "capitalize":
                /** @noinspection SpellCheckingInspection */
                $firstWord = $parsedArgs['firstword'];
                $items = preg_split('/(\\s+)/', $arg0, -1, PREG_SPLIT_DELIM_CAPTURE);
                foreach ($items as &$v) {
                    if ($v) {
                        $v = ucfirst($v);
                        if ($firstWord) {
                            break;
                        }
                    }
                }
                $arg0 = implode('', $items);
                break;
            default:
                throw new FlageException("Unknown escape filter {$filter}", $line, $col);
        }
    }
    return $arg0;
}
Example #2
0
/**
 * @param Flage $flage
 * @param mixed $arguments
 * @param int $line
 * @param int $col
 * @return null|string
 */
function flage_function_include($flage, $arguments, $line, $col)
{
    $parsedArgs = flage_generate_args(array('filename', 'inline' => array('default' => false)), $arguments, $line, $col);
    $filename = $parsedArgs['filename'];
    $inline = $parsedArgs['inline'];
    $path = array();
    foreach (explode('/', str_replace('\\', '/', $filename)) as $segment) {
        if ($segment == '' || $segment == '.') {
            continue;
        }
        if ($segment == '..') {
            array_pop($path);
        } else {
            array_push($path, $segment);
        }
    }
    $filename = implode('/', $path);
    $inst = clone $flage;
    //new Flage();
    return $inst->Parse($filename);
}