コード例 #1
0
ファイル: Log.php プロジェクト: ephp/utility
 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;
 }
コード例 #2
0
 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']);
             }
         }
     }
 }