Ejemplo n.º 1
0
    return $ret;
}
${'@at'}->fn('on', fn('_on', array(FALSE, fn::ph(), fn::ph())));
${'@at'}->fn('on!', fn('_on', array(TRUE, fn::ph(), fn::ph())));
function _on($not, $cond, $block)
{
    if ($not === empty($GLOBALS['@' . trim($cond)])) {
        return $GLOBALS['@at']->run($block);
    }
}
// filters
${'@filter:texy'} = fn(array(new Texy(), 'process'), array(fn::ph()));
${'@filter:escape'} = fn('htmlspecialchars', array(fn::ph(), ENT_QUOTES));
${'@filter:date'} = fn('date', array('j. n. Y, H:i:s', fn::ph()));
${'@filter:mailize'} = fn('_mailize', array(fn::ph(), FALSE));
${'@filter:mailto'} = fn('_mailize', array(fn::ph(), TRUE));
function _mailize($email, $mailto = FALSE)
{
    $ret = '';
    if ($mailto) {
        $email = 'mailto:' . $email;
    }
    for ($i = 0, $len = strlen($email); $i < $len; ++$i) {
        $ord = ord($email[$i]);
        if ($ord <= 0x7f && $ord !== 64 && $ord !== 46 && $i % 15 !== 0) {
            $ret .= chr($ord);
            continue;
        }
        if (!$mailto && $i & 1) {
            $ret .= '<!---->';
        }