function GetGraphImageTag($_data, $_texts, $_metric = true) { if (!StatisticProvider::$DrawChartImages || !function_exists("gd_info")) { return ""; } require_once LIVEZILLA_PATH . "_lib/trdp/pchart/class/pData.class.php"; require_once LIVEZILLA_PATH . "_lib/trdp/pchart/class/pDraw.class.php"; require_once LIVEZILLA_PATH . "_lib/trdp/pchart/class/pImage.class.php"; $MyData = new pData(); $dobject = array(); foreach ($_data as $obid => $values) { foreach ($values as $key => $val) { $values[$key] = round($val, 1); } $dv1[] = $values[0]; if (count($values) > 1) { $dv2[] = $values[1]; } if (count($values) > 2) { $dv3[] = $values[2]; } if (count($values) > 3) { $dv4[] = $values[3]; } $dobject[] = $obid; if (count($dobject) == 5) { break; } } $MyData->addPoints($dv1, $_texts[1] . " "); if (isset($dv2)) { $MyData->addPoints($dv2, $_texts[2] . " "); } if (isset($dv3)) { $MyData->addPoints($dv3, $_texts[3] . " "); } if (isset($dv4)) { $MyData->addPoints($dv4, $_texts[4] . " "); } $MyData->setAxisName(0, $_texts[0]); $MyData->setAxisDisplay(0, $_metric ? AXIS_FORMAT_METRIC : AXIS_FORMAT_RAW); $MyData->addPoints($dobject, "Groups"); $MyData->setSerieDescription("Groups", "Group"); $MyData->setAbscissa("Groups"); $myPicture = new pImage(630, 210, $MyData); $myPicture->Antialias = FALSE; $myPicture->setFontProperties(array("FontName" => LIVEZILLA_PATH . "_lib/trdp/pchart/fonts/arimo.ttf", "FontSize" => 8, "R" => 120, "G" => 120, "B" => 120)); $myPicture->setGraphArea(46, 0, 620, 160); $scaleSettings = array("GridR" => 200, "GridG" => 200, "GridB" => 200, "DrawSubTicks" => TRUE, "YMargin" => 12, "CycleBackground" => TRUE); $myPicture->drawScale($scaleSettings); $myPicture->drawLegend(40, 190, array("Style" => LEGEND_BOX, "Mode" => LEGEND_HORIZONTAL, "BoxSize" => 4, "R" => 200, "G" => 200, "B" => 200, "Surrounding" => 20, "Alpha" => 30)); $myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10)); $myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10)); $settings = array("Surrounding" => -30, "InnerSurrounding" => 30, "DisplayValues" => TRUE); $myPicture->drawBarChart($settings); $file = PATH_STATS . $this->Type . "/temp.png"; $myPicture->render($file); return "<img src=\"data:image/png;base64," . IOStruct::ToBase64($file) . "\" />"; }
static function ImportButtons($_folder, $_prefix, $_connection) { try { Logging::SecurityLog("ServerManager::ImportButtons", "", CALLER_SYSTEM_ID); $buttons = IOStruct::ReadDirectory($_folder, ".php", true); foreach ($buttons as $button) { $parts = explode("_", $button); if (count($parts) == 3) { $type = $parts[0] == "overlay" ? $parts[0] : "inlay"; $id = intval($parts[1]); $online = explode(".", $parts[2]); $online = $online[0]; $parts = explode(".", $button); $itype = $parts[1]; $_connection->Query(false, "INSERT INTO `" . DBManager::RealEscape($_prefix) . DATABASE_IMAGES . "` (`id`,`online`,`button_type`,`image_type`,`data`) VALUES ('" . DBManager::RealEscape($id) . "','" . DBManager::RealEscape($online) . "','" . DBManager::RealEscape($type) . "','" . DBManager::RealEscape($itype) . "','" . DBManager::RealEscape(IOStruct::ToBase64($_folder . $button)) . "');"); } } } catch (Exception $e) { Logging::GeneralLog(serialize($e)); } }