}
if ($obj->parent !== $parent) {
    return Ans::err($ans, 'Некорректно определён parent');
}
Crumb::change('test/hi');
$obj = Crumb::getInstance('test');
if (!$obj->is) {
    return Ans::err($ans, 'Не применилась крошка на втором уровне');
}
$root = Crumb::getInstance();
Crumb::change('');
$crumb = Crumb::getInstance('');
$f = $crumb->query;
Crumb::change('test');
$s =& Crumb::getInstance('some');
$s2 =& Crumb::getInstance('some');
$r = Each::isEqual($s, $s2);
$s = Crumb::$childs;
$r2 = Each::isEqual($s[''], Crumb::getInstance());
$r = $r && $r2;
$crumb = Crumb::getInstance('test');
$crumb2 = Crumb::getInstance('test2');
if (!($f == null && $r && !is_null($crumb->value) && is_null($crumb2->value))) {
    return Ans::err($ans, 'Изменения крошек');
}
Crumb::change('test/test');
$inst = Crumb::getInstance('test/test/test');
Crumb::change($query);
Layer::$start_id = 1;
Layer::$ids = array();
return Ans::ret($ans);
Ejemplo n.º 2
0
        if (!$res) {
            return false;
        }
    }
}, 'tplcheck:is');
Event::handler('Layer.isshow', function (&$layer) {
    //tpl depricated
    if (Layer::pop($layer, 'onlyclient')) {
        return;
    }
    return Tpl::jsoncheck($layer);
}, 'jsoncheck:is');
Run::runAddKeys('childs');
Run::runAddList('child');
Event::handler('Layer.oninit', function () {
    $root = Crumb::getInstance();
    if (!$root->is) {
        throw new \Exception('Crumb нужно инициализировать до запуска контроллера');
    }
    Sequence::set(Template::$scope, Sequence::right('infra.Crumb.query'), $root->query);
    Sequence::set(Template::$scope, Sequence::right('infra.Crumb.params'), Crumb::$params);
    Sequence::set(Template::$scope, Sequence::right('infra.Crumb.get'), Crumb::$get);
    $cl = function ($mix = null) {
        return ext\Crumb::getInstance($mix);
    };
    Sequence::set(Template::$scope, Sequence::right('infra.Crumb.getInstance'), $cl);
    External::add('child', 'layers');
    External::add('crumb', function (&$now, &$ext, &$layer, &$external, $i) {
        //проверка external в onchange
        Crumb::set($layer, 'crumb', $ext);
        return $layer[$i];
Ejemplo n.º 3
0
 public static function set(&$layer, $name, &$value)
 {
     if (!isset($layer['dyn'])) {
         $layer['dyn'] = array();
     }
     $layer['dyn'][$name] = $value;
     if (isset($layer['parent'])) {
         $root =& $layer['parent'][$name];
     } else {
         $root =& Crumb::getInstance();
     }
     if ($layer['dyn'][$name]) {
         $layer[$name] =& $root->getInst($layer['dyn'][$name]);
     } else {
         $layer[$name] =& $root;
     }
 }