Salve a tutti ragazzi,

vorre iestendere phpGraphLib in modo che posso passare tutti i colori che voglio alla funzione setBarColor e non soltanto tre colori, io vorrei passargli un array chiave valore. Cosi se ho n barre sul grafico non devo scrivere nuovi colori nel codice!!! non so se sono stato chiaro: vi posto le funzioni interessate:

Codice PHP:
Sopra ho messo tutte le variabili della classe padre e l'estensione della classe 

 function PHPGraphLibExtended($width='', $height='')
    {
            PHPGraphLib::PHPGraphLib($width,$height);
    }
    function initialize()
    {
            PHPGraphLib::initialize();
    }

      function setBarColor($color, $color2='',$color3='')
    {
            if(!is_array($color)){
            
            PHPGraphLib::setBarColor($color, $color2, $color3);
        } else {
            
            foreach($color as $k => $value) {
                if(!empty($color)) {
                    $this->setGenericColor($color, '
$this->multi_bar_colors[]', "Bar color  not specified properly afanculo.");
                }
            }

            /*$this->setGenericColor($color, '
$this->multi_bar_colors[]', "Bar color not specified properly.");
            if(!empty($color2)){
                    $this->setGenericColor($color2, '
$this->multi_bar_colors[]', "Bar color 2 not specified properly.");
            }
            if(!empty($color3)){
                    $this->setGenericColor($color3, '
$this->multi_bar_colors[]', "Bar color 3 not specified properly.");
            }
            if (!empty($color4)){
                    $this->setGenericColor($color4, '
$this->multi_bar_colors[]', "Bar color 4 not specified properly.");
            }*/
        }
    }


    function setGenericColor($inputColor, $var, $errorMsg)
    {
            //CAN BE USED FOR MOST COLOR SETTING OPTIONS
            if(!empty($inputColor)&&$arr=$this->returnColorArray($inputColor))
            {
                    eval($var . ' 
imagecolorallocate($this->image$arr[0], $arr[1], $arr[2]);');
                    return true;
            }
            else
            {
                    $this->error[]=$errorMsg;
                    return false;
            }
    }

    function returnColorArray($color)
    {
            //CHECK TO SEE IF NUMERIC COLOR PASSED THROUGH IN FORM '
128,128,128'
            
            if(strpos($color,'
,')!==false)
            {
                    return explode('
,',$color);
            } 
            switch($color)
            {
                    //NAMED COLORS BASED ON W3C'
s RECOMMENDED HTML COLORS
                    
case 'black': return array(0,0,0); break;
                    case 
'silver': return array(192,192,192); break;
                    case 
'gray': return array(128,128,128); break;
                    case 
'white': return array(255,255,255); break;
                    case 
'maroon': return array(128,0,0); break;
                    case 
'red': return array(255,0,0); break;
                    case 
'purple': return array(128,0,128); break;
                    case 
'fuscia': return array(255,0,255); break;
                    case 
'green': return array(0,128,0); break;
                    case 
'lime': return array(0,255,0); break;
                    case 
'olive': return array(128,128,0); break;
                    case 
'yellow': return array(255,255,0); break;
                    case 
'navy': return array(0,0,128); break;
                    case 
'blue': return array(0,0,255); break;
                    case 
'teal': return array(0,128,128); break;
                    case 
'aqua': return array(0,255,255); break;
                    case 
'pastel_orange_1': return array(238,197,145); break;
                    case 
'pastel_orange_2': return array(238,180,34); break;
                    case 
'pastel_blue_1': return array(122,197,205); break;
                    case 
'pastel_green_1': return array(102,205,0); break;
                    case 
'pastel_blue_2': return array(125,167,217); break;
                    case 
'pastel_green_2': return array(196,223,155); break;
                    case 
'clay': return array(246,142,85); break;
                    case 
'pastel_yellow': return array(255,247,153); break;
                    case 
'pastel_purple': return array(135,129,189); break;
                    case 
'brown': return array(166,124,81); break;
            }

        
$this->error[]="Color name \"$this->$color\" not recogized.";
        return 
false;
    }

Mi date una mano??? Grazie!!!