array('#00FF00','#00C90D', '#008209', '#238C47', '#00BB3F', '#37DD6F'), self::PROBLEM => array('#FF0000','#FF1300', '#FF4E40', '#A60C00', '#FF4500', '#A62D00'), self::WARNING => array('#FFFF00', 'B4B400' , '#A6A600', '#F5FF73', '#FFB300', '#BFA730'), self::NEUTRAL => array('#232323', '#009999', '#1D7373', '#ACACFF', '#8F9ABF', '#356AA6') ); /** * Return the next available color as an hex string for the given type * * @param string $type The type to receive a color from * * @return string The color in hex format */ public function getNext($type = self::NEUTRAL) { if (!isset($this->colorSets[$type])) { $type = self::NEUTRAL; } $color = current($this->colorSets[$type]); if ($color === false) { reset($this->colorSets[$type]); $color = current($this->colorSets[$type]); } next($this->colorSets[$type]); return $color; } }