private static function getMessage($object, $text = '', $mode = 0) { if (is_int($text) && $text <= self::$MAX) { $mode = $text; $text = ''; } $message = ''; switch ($mode) { case self::$COUNT: if (is_array($object)) { oggetto_array: $message .= "ARRAY con " . count($object) . ' elementi'; break; } if ($object instanceof \Traversable) { $message .= "OGGETTO " + get_class($s) + " con " . count($object) . ' elementi'; break; } $message .= "Variabile non iterabile: "; case self::$CLASS: $message .= Debug::typeof($object, true); break; case self::$VD: $message .= Debug::var_dump($object, true); break; case self::$PR: $message .= Debug::print_r($object); break; case self::$STRING: if (is_bool($object)) { $message .= 'Valore booleano: '; $message .= $object ? 'TRUE' : 'FALSE'; } elseif (is_array($object)) { goto oggetto_array; } elseif (!is_object($object)) { $message .= $object; } else { $message .= Debug::typeof($object, true); $methods = get_class_methods($object); if (in_array('__toString', $methods)) { $message .= ': ' . $object . __toString(); } } break; } return ($text != '' ? "{$text}: " : '') . $message; }
private function buildHeaderMenu(MenuItem $menu, $voci, $route, $level = 0) { usort($voci, function ($a, $b) { if (!isset($a['order'])) { $a['order'] = 1000; } if (!isset($b['order'])) { $b['order'] = 1000; } return $a['order'] > $b['order']; }); foreach ($voci as $voce) { if (!isset($voce['show'])) { $voce['show'] = array('always' => true); } if ($this->show($voce['show'])) { if (isset($voce['route'])) { if (isset($voce['routeParameters'])) { $vm = $menu->addChild($voce['label'] . '.lbl', array('route' => $voce['route'], 'routeParameters' => $voce['routeParameters'])); } else { $vm = $menu->addChild($voce['label'] . '.lbl', array('route' => $voce['route'])); } if (strpos($route, $voce['route']) === 0) { $this->active($vm); } } else { if (isset($voce['submenu'])) { if (!isset($voce['label'])) { Debug::pr($voce); } $vm = $menu->addChild($voce['label'] . '.lbl', array('url' => 'javascript:void(0);')); $this->buildHeaderMenu($vm, $voce['submenu'], $route, $level + 1); $vm->setChildrenAttribute('class', 'sub-menu'); if (!$vm->hasChildren()) { $vm->setDisplay(false); } } else { if (isset($voce['url'])) { $vm = $menu->addChild($voce['label'] . '.lbl', array('uri' => $voce['url'])); } else { $vm = $menu->addChild($voce['label'] . '.lbl'); } } } if ($level == 0) { if (!isset($voce['a']['class'])) { $voce['a']['class'] = $voce['label'] . '.class'; } } else { if (!isset($voce['a']['class'])) { $voce['a']['class'] = $voce['label'] . '.class'; } } if (isset($voce['a'])) { foreach ($voce['a'] as $attr => $val) { $vm->setLinkAttribute($attr, $val); } } if (!isset($voce['icon'])) { $voce['icon'] = $voce['label'] . '.icon'; } if (isset($voce['icon'])) { $vm->setExtra('icon', $voce['icon']); } } } }