function showPanel($chart_id, $panel_id, $help_msg, $analysis_msg) { $panel_db = new PanelDB(); $p = $panel_db->selectPanel($panel_id); if ($p["ishide"] == 1) { return; } $panel = new Panel(); $panel->data = $p; $panel->data["left"] = $p["x"] . "px"; $panel->data["top"] = $p["y"] . "px"; //截图不需要显示这些 if (!isset($_GET["snap"])) { $permission = new Permission(); $isEditable = $permission->checkBoardEditPermission(DASHBOARD_ID, $_SESSION["email"]); $panel->addOptionHelp(); if ($isEditable) { $panel->addOptionEdit(); $panel->addOptionDataLock(); if ($panel->data["analysis_show"] == "1") { $panel->addOptionAnalysis(1); } else { $panel->addOptionAnalysis(); } //$panel->addOptionChangeSize(); //$panel->data["dragable"]='dragable'; } } //data["analysis_show"]=="1" 表示显示分析数据 ,如果显示分析数据:chart宽度60%,图标为打开;否则:width默认,图标为折叠样式 if ($panel->data["analysis_show"] == "1") { $panel->data["content"] = "<div class='ichart' style='width:70%' id='chart{$chart_id}'></div>"; $panel->data["content"] .= "<div class='ichart_analysis_msg showing'>{$analysis_msg}</div>"; $panel->data["content"] .= "<div class='ichart_help_msg' style='width:70%'>{$help_msg}</div>"; } else { $panel->data["content"] = "<div class='ichart' id='chart{$chart_id}'></div>"; $panel->data["content"] .= "<div class='ichart_analysis_msg' style='display:none;'>{$analysis_msg}</div>"; $panel->data["content"] .= "<div class='ichart_help_msg'>{$help_msg}</div>"; } $panel->show(); }
if ($_GET["action"] == "update_options") { $data = $_GET; $id = $_GET["chart_id"]; #从数据库取表数据 $db = new ChartDB(); $chart_from_db = $db->selectChart($id); #拿到数据源类和图表类 $data_machine = $chart_from_db["data_machine"]; $chart_type = $chart_from_db["type"]; #利用工厂实例化图表对象 $chart = ChartFactory::getChart($chart_type); #json字符转化为图Array型数据 $chart->setChartArray($chart_from_db["data"]); $chart->optionsEditAction($data); $db->updateChart($id, $chart->getChartJson()); $panel_db = new PanelDB(); $panel_db->updatePaneltDataLock($id, 1); echo $chart->getChartJson(); } else { if ($_GET["action"] == "update_help_msg") { $id = $_GET["chart_id"]; $help_msg = $_GET["help_msg"]; $db = new ChartDB(); if ($db->updateChartHelpMsg($id, $help_msg)) { echo "Y"; } else { echo "N"; } } else { if ($_GET["action"] == "update_analysis_msg") { $id = $_GET["chart_id"];
//跟新图表panel的位置 $id = $_GET["panel_id"]; $islock = $_GET["lock"]; $db = new PanelDB(); if ($db->updatePaneltDataLock($id, $islock)) { echo "Y"; } else { echo "N"; } } else { if ($_GET["action"] == "update_praise") { //点赞 $panel_id = $_GET["panel_id"]; $praise = $_GET["praise"]; $username = $_SESSION["email"]; $db = new PanelDB(); if ($praise == 1) { if ($db->insertPraise($username, $panel_id, $praise)) { echo "Y"; } else { echo "N"; } } else { if ($praise == 0) { if ($db->updatePraise($username, $panel_id, $praise)) { echo "Y"; } else { echo "N"; } } else { echo "N";
<?php session_start(); require_once "class.db.Chart.php"; require_once "class.db.Panel.php"; require_once "class.ui.Charts.php"; require_once "class.bean.Datafresh.php"; require_once "class.bean.Reflect.php"; #ajax.Dashboard 是dashboard的动态部分实现 if (isset($_GET["action"])) { if ($_GET["action"] == "fresh_chart") { $id = $_GET["chart_id"]; $username = $_SESSION["email"]; $p_db = new PanelDB(); $datalock = $p_db->selectPanel($id, $username); $datalock = $datalock["data_lock"]; if (isset($_GET["stroe"])) { $datalock = 0; } #从数据库取表数据 $db = new ChartDB(); $chart_from_db = $db->selectChart($id); #拿到数据源类和图表类 $data_machine = $chart_from_db["data_machine"]; $chart_type = $chart_from_db["type"]; #利用工厂实例化图表对象 $chart = ChartFactory::getChart($chart_type); #json字符转化为图Array型数据 $chart->setChartArray($chart_from_db["data"]); #利用工厂实例化图表对象 $machine = DataMachineFactory::getDataMachine($data_machine);