コード例 #1
0
 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) . "\" />";
 }
コード例 #2
0
 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));
     }
 }