Esempio n. 1
0
 public static function checkExt(&$layer, &$external)
 {
     if (!$external) {
         return;
     }
     unset($layer['external']);
     Each::fora($external, function (&$exter) use(&$layer) {
         if (is_string($exter)) {
             $external =& Load::loadJSON($exter);
         } else {
             $external = $exter;
         }
         if ($external) {
             foreach ($external as $i => &$v) {
                 external::merge($layer, $external, $i);
             }
         }
     });
 }
Esempio n. 2
0
 **/
Path::req('*controller/infra.php');
Event::handler('oninit', function () {
    Run::runAddKeys('divs');
    External::add('divs', function (&$now, $ext) {
        //Если уже есть пропускаем
        if (!$now) {
            $now = array();
        }
        foreach ($ext as $i => $v) {
            if (isset($now[$i])) {
                continue;
            }
            $now[$i] = array();
            Each::fora($ext[$i], function (&$l) use(&$now, $i) {
                array_push($now[$i], array('external' => $l));
            });
        }
        return $now;
    });
}, 'div:layer');
Event::handler('layer.oncheck', function (&$layer) {
    //В onchange слоя может не быть див// Это нужно чтобы в external мог быть определён div перед тем как наследовать div от родителя
    if (@(!$layer['div']) && @$layer['parent']) {
        $layer['div'] = $layer['parent']['div'];
    }
}, 'div');
Event::handler('layer.oncheck', function (&$layer) {
    //Без этого не показывается окно cо стилями.. только его заголовок..
    Each::forx($layer['divs'], function (&$l, $div) {
        if (@(!$l['div'])) {
Esempio n. 3
0
 public static function &forx(&$obj, $callback, $back = false)
 {
     //Бежим сначало по объекту а потом по его свойствам как по массивам
     return Each::foro($obj, function &(&$v, $key) use(&$obj, $callback, $back) {
         return Each::fora($v, function &(&$el, $i, &$group) use($callback, $key) {
             $r =& $callback($el, $key, $group, $i);
             return $r;
         }, $back);
     }, $back);
 }