Changeset 14489

Show
Ignore:
Timestamp:
01/17/08 21:52:17 (11 months ago)
Author:
rambo
Message:

bulletproofing

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/MidCOM_2_8/midcom.helper.reflector/reflector.php

    r14481 r14489  
    343343    function get_create_icon($type) 
    344344    { 
    345         static $config_icon_map = false
    346         if (!$config_icon_map
     345        static $config_icon_map = array()
     346        if (empty($config_icon_map)
    347347        { 
    348348            $icons2classes = $this->_config->get('create_type_magic'); 
    349             foreach ($icons2classes as $icon => $classes) 
    350             { 
    351                 foreach ($classes as $class) 
    352                 { 
    353                     $config_icon_map[$class] = $icon; 
    354                 } 
    355             } 
    356             unset($icons2classes, $classes, $class, $icon); 
     349            //sanity 
     350            if (!is_array($icons2classes)) 
     351            { 
     352                debug_push_class(__CLASS__, __FUNCTION__); 
     353                debug_add('Config key "create_type_magic" is not an array', MIDCOM_LOG_ERROR); 
     354                debug_print_r("\$this->_config->get('create_type_magic')", $icons2classes, MIDCOM_LOG_INFO); 
     355                debug_pop(); 
     356                unset($icons2classes); 
     357            } 
     358            else 
     359            { 
     360                foreach ($icons2classes as $icon => $classes) 
     361                { 
     362                    foreach ($classes as $class) 
     363                    { 
     364                        $config_icon_map[$class] = $icon; 
     365                    } 
     366                } 
     367                unset($icons2classes, $classes, $class, $icon); 
     368            } 
    357369        } 
    358370 
     
    395407    function get_object_icon(&$obj) 
    396408    { 
    397         $properties = get_object_vars($obj); 
    398         if (empty($properties)) 
    399         { 
    400             debug_push_class(__CLASS__, __FUNCTION__); 
    401             debug_add("Could not list object properties, aborting", MIDCOM_LOG_ERROR); 
    402             debug_pop(); 
    403             return false; 
    404         } 
    405          
    406         static $config_icon_map = false; 
    407         if (!$config_icon_map) 
     409        static $config_icon_map = array(); 
     410        if (empty($config_icon_map)) 
    408411        { 
    409412            $icons2classes = $this->_config->get('object_icon_magic'); 
    410             foreach ($icons2classes as $icon => $classes) 
    411             { 
    412                 foreach ($classes as $class) 
    413                 { 
    414                     $config_icon_map[$class] = $icon; 
    415                 } 
    416             } 
    417             unset($icons2classes, $classes, $class, $icon); 
     413            //sanity 
     414            if (!is_array($icons2classes)) 
     415            { 
     416                debug_push_class(__CLASS__, __FUNCTION__); 
     417                debug_add('Config key "object_icon_magic" is not an array', MIDCOM_LOG_ERROR); 
     418                debug_print_r("\$this->_config->get('object_icon_magic')", $icons2classes, MIDCOM_LOG_INFO); 
     419                debug_pop(); 
     420                unset($icons2classes); 
     421            } 
     422            else 
     423            { 
     424                foreach ($icons2classes as $icon => $classes) 
     425                { 
     426                    foreach ($classes as $class) 
     427                    { 
     428                        $config_icon_map[$class] = $icon; 
     429                    } 
     430                } 
     431                unset($icons2classes, $classes, $class, $icon); 
     432            } 
    418433        } 
    419434