'; switch ($_config["charts"]) { case "doughnut": echo self::javascriptDoughnut($_config); break; case "bar": echo self::javascriptBar($_config); break; case "line": echo self::javascriptLine($_config); break; default: break; } } private static function constructData(array $_data) { $label = $nb = $backgroundColor = $borderColor = ""; $opacity = 0.5; $nbData = count($_data); $data["backgroundColor"] = array( "rgba(242, 84, 84, 0.6)", "rgba(242, 132, 84, 0.6)", "rgba(242, 179, 84, 0.6)", "rgba(242, 226, 84, 0.6)", "rgba(210, 242, 84, 0.6)", "rgba(163, 242, 84, 0.6)", "rgba(116, 242, 84, 0.6)", "rgba(84, 242, 100, 0.6)", "rgba(84, 242, 147, 0.6)", "rgba(84, 242, 195, 0.6)", "rgba(84, 242, 242, 0.6)", "rgba(84, 195, 242, 0.6)", "rgba(84, 147, 242, 0.6)", "rgba(84, 100, 242, 0.6)", "rgba(116, 84, 242, 0.6)", "rgba(163, 84, 242, 0.6)", "rgba(210, 84, 242, 0.6)", "rgba(242, 84, 226, 0.6)", "rgba(242, 84, 179, 0.6)", "rgba(242, 84, 132, 0.6)" ); $data["borderColor"] = array( "rgba(242, 84, 84, 1.0)", "rgba(242, 132, 84, 1.0)", "rgba(242, 179, 84, 1.0)", "rgba(242, 226, 84, 1.0)", "rgba(210, 242, 84, 1.0)", "rgba(163, 242, 84, 1.0)", "rgba(116, 242, 84, 1.0)", "rgba(84, 242, 100, 1.0)", "rgba(84, 242, 147, 1.0)", "rgba(84, 242, 195, 1.0)", "rgba(84, 242, 242, 1.0)", "rgba(84, 195, 242, 1.0)", "rgba(84, 147, 242, 1.0)", "rgba(84, 100, 242, 1.0)", "rgba(116, 84, 242, 1.0)", "rgba(163, 84, 242, 1.0)", "rgba(210, 84, 242, 1.0)", "rgba(242, 84, 226, 1.0)", "rgba(242, 84, 179, 1.0)", "rgba(242, 84, 132, 1.0)" ); for ($i = 0; $i < $nbData; $i++) { $backgroundColor .= '"' . $data["backgroundColor"][$i] . '"'; if ($i != $nbData) { $backgroundColor .= ", "; } } for ($i = 0; $i < $nbData; $i++) { $borderColor .= '"' . $data["borderColor"][$i] . '"'; if ($i != $nbData) { $borderColor .= ", "; } } for ($i = 0; $i < $nbData; $i++) { $label .= '"' . $_data[$i]["label"] . '"'; if ($i != $nbData) { $label .= ", "; } } for ($i = 0; $i < $nbData; $i++) { $nb .= '"' . $_data[$i]["nb"] . '"'; if ($i != $nbData) { $nb .= ", "; } } return array("label" => $label, "nb" => $nb, "backgroundColor" => $backgroundColor, "borderColor" => $borderColor); } private static function javascriptDoughnut(array $_config) { $sort = self::constructData($_config["data"]); return ''; } private static function javascriptBar(array $_config) { $sort = self::constructData($_config["data"]); return ''; } private static function constructDataLine(array $_data) { $return["labels"] = $return["data"] = NULL; foreach ($_data[0] as $key => $value) { $return["labels"] .= '"' . $key . '", '; $return["data"] .= $value . ', '; } return $return; } private static function javascriptLine(array $_config) { $sort = self::constructDataLine($_config["data"]); return ''; } }