Esempio n. 1
0
 function mkCacheData($date_from, $date_to, $product_id)
 {
     $conditions = array();
     $info = $this->dbstuff->GetRow("SELECT * FROM " . $this->table_prefix . "products WHERE id='" . $product_id . "'");
     if (!empty($info)) {
         $_GET['pn'] = $info['name'];
     }
     $mdt = date("Ymd") . "_" . substr(md5($_GET['pn'] . $_GET['ds'] . $_GET['de']), 0, 6);
     $file_item = $mdt;
     $file_path = DATA_PATH . "tmp/" . $file_item . $this->cache_ext;
     if (!file_exists($file_path)) {
         // use the chart class to build the chart:
         include_once LIB_PATH . 'ofc/chart.php';
         $g = new graph();
         $result = $this->dbstuff->GetArray("SELECT DATE_FORMAT(FROM_UNIXTIME(created),'%m') as mn,avg(max_price) AS avmax,avg(min_price) AS avmin FROM " . $this->table_prefix . "quotes WHERE product_id=" . $product_id . " AND created BETWEEN {$date_from} AND {$date_to} group by mn ORDER BY created ASC");
         if (!empty($result)) {
             foreach ($result as $val) {
                 $data[] = floor(($val['avmax'] + $val['avmin']) / 2);
             }
             $title = L("stat_charts", "tpl") . $_GET['ds'] . L("arrive_to", "tpl") . $_GET['de'];
         } elseif ($info['name']) {
             $title = $info['name'];
         } else {
             $title = L("data_not_exists") . df();
         }
         $g->title($title, '{font-size: 24px;color: #0000FF}');
         $g->set_data($data);
         $g->line_hollow(2, 4, '0x80a033', $_GET['pn'], 10);
         // label each point with its value
         //$g->set_x_labels( explode(",", L("months", "tpl")) );
         $x_result = $this->dbstuff->GetArray("select CONCAT(FROM_UNIXTIME(created, '%Y'),'/',FROM_UNIXTIME(created, '%m')) as m from " . $this->table_prefix . "quotes WHERE created BETWEEN {$date_from} AND {$date_to} group by DATE_FORMAT(FROM_UNIXTIME(created),'%m') ORDER BY created ASC");
         foreach ($x_result as $val) {
             $x_tmp[] = $val['m'];
         }
         $g->set_x_labels($x_tmp);
         $label_y = $this->dbstuff->GetRow("select max(max_price) as price_max,min(min_price) as price_min from " . $this->table_prefix . "quotes WHERE product_id=" . $product_id . " AND created BETWEEN {$date_from} AND {$date_to}");
         $y_max = !empty($label_y['price_max']) ? $label_y['price_max'] : 100;
         // set the Y max
         $this->max_price = $label_y['price_max'];
         $this->min_price = $label_y['price_min'];
         $g->set_y_max($label_y['price_max']);
         // label every 20 (0,20,40,60)
         $g->y_label_steps(6);
         // display the data
         file_put_contents($file_path, $g->render());
     }
     $this->cache_datafile = $file_item . $this->cache_ext;
 }
Esempio n. 2
0
function PN_BlogStatisticsProcess($target)
{
    global $blogid, $pluginURL, $defaultURL, $blog;
    if (doesHaveOwnership()) {
        include_once 'lib/open-flash-chart.php';
        $grpStyle = $_GET['grpStyle'];
        $grpData = explode("|", $_GET['grpData']);
        $grpTotal = $_GET['grpTotal'];
        $grpYear = $_GET['grpYear'];
        $grpTypeName = $_GET['grpTypeName'];
        $grpLinkType = $_GET['grpLinkType'];
        $grpXLabelType = isset($_GET['grpXLabelType']) ? $_GET['grpXLabelType'] : 0;
        $grpLabel = explode("|", $_GET['grpLabel']);
        $grpSubTitle = array();
        $grpLabelTemp = array();
        if (!empty($_GET['grpData'])) {
            if ($grpTypeName == "category") {
                for ($i = 0; $i < count($grpLabel); $i++) {
                    $grpSubTitle[] = rawurlencode($grpLabel[$i] == 0 ? _t('분류없음') : htmlspecialchars(UTF8::lessenAsEm(getCategoryNameById($blogid, $grpLabel[$i]), 15)));
                }
            } else {
                if ($grpTypeName == "hits" || $grpTypeName == "cmmax" || $grpTypeName == "tbmax" || $grpTypeName == "tagmax") {
                    for ($i = 0; $i < count($grpLabel); $i++) {
                        $grpSubTitle[] = rawurlencode(htmlspecialchars(UTF8::lessenAsEm(str_replace(",", "-", getEntryTitleById($blogid, $grpLabel[$i])), 25)));
                    }
                } else {
                    if ($grpTypeName == "commenter" || $grpTypeName == "tag") {
                        for ($i = 0; $i < count($grpLabel); $i++) {
                            $grpSubTitle[] = htmlspecialchars(UTF8::lessenAsEm($grpLabel[$i], 15));
                            $grpLabelTemp[] = htmlspecialchars(UTF8::lessenAsEm($grpLabel[$i], 6, ''));
                        }
                        $grpLabel = $grpLabelTemp;
                    } else {
                        if ($grpTypeName == "time") {
                            for ($i = 0; $i < count($grpLabel); $i++) {
                                $grpSubTitle[] = rawurlencode($grpLabel[$i] . "시");
                            }
                        } else {
                            if ($grpTypeName == "refer") {
                                for ($i = 0; $i < count($grpLabel); $i++) {
                                    $tmpHost = explode('.', $grpLabel[$i]);
                                    $tmpHostCnt = count($tmpHost) - 1;
                                    $tmpDomain = (strlen($tmpHost[$tmpHostCnt]) < 3 ? $tmpHost[$tmpHostCnt - 2] . '.' : '') . $tmpHost[$tmpHostCnt - 1] . '.' . $tmpHost[$tmpHostCnt];
                                    $cutDomain = explode('.', $tmpDomain);
                                    $grpSubTitle[] = htmlspecialchars($grpLabel[$i]);
                                    $grpLabelTemp[] = htmlspecialchars(UTF8::lessenAsEm($cutDomain[0], 6, ''));
                                }
                                $grpLabel = $grpLabelTemp;
                            } else {
                                if ($grpTypeName == "referkey") {
                                    for ($i = 0; $i < count($grpLabel); $i++) {
                                        $tmpLabel = explode('(', $grpLabel[$i]);
                                        $grpSubTitle[] = htmlspecialchars(UTF8::lessenAsEm($grpLabel[$i], 15));
                                        $grpLabelTemp[] = htmlspecialchars(UTF8::lessenAsEm($tmpLabel[0], 6, ''));
                                    }
                                    $grpLabel = $grpLabelTemp;
                                }
                            }
                        }
                    }
                }
            }
            $g = new graph();
            $g->bg_colour = '#FFFFFF';
            if ($grpStyle == "pie") {
                $grpClickLink = "";
                $grpPercent = array();
                $grpLink = array();
                for ($i = 0; $i < count($grpData); $i++) {
                    $grpPercent[] = round($grpData[$i] / $grpTotal * 100, 0);
                }
                if ($grpLinkType == "archiveYear") {
                    for ($i = 0; $i < count($grpLabel); $i++) {
                        $permalink = $defaultURL . "/archive/" . substr($grpLabel[$i], 0, 4);
                        $grpLink[] = "javascript:window.open('{$permalink}');void(0)";
                    }
                    $grpClickLink = "<br>click on the pie.";
                } else {
                    if ($grpLinkType == "archiveMonth" && $grpYear != "9999") {
                        for ($i = 0; $i < count($grpLabel); $i++) {
                            $cutMonth = str_replace("월", "", $grpLabel[$i]);
                            $tmpMonth = strlen($cutMonth) == 1 ? "0" . $cutMonth : $cutMonth;
                            $permalink = $defaultURL . "/archive/" . $grpYear . $tmpMonth;
                            $grpLink[] = "javascript:window.open('{$permalink}');void(0)";
                        }
                        $grpClickLink = "<br>click on the pie.";
                    } else {
                        if ($grpLinkType == "category") {
                            for ($i = 0; $i < count($grpLabel); $i++) {
                                $permalink = $defaultURL . "/category/" . getCategoryLabelById($blogid, $grpLabel[$i]);
                                $grpLink[] = "javascript:window.open('{$permalink}');void(0)";
                            }
                            $grpClickLink = "<br>click on the pie.";
                        } else {
                            if ($grpLinkType == "entry") {
                                for ($i = 0; $i < count($grpLabel); $i++) {
                                    $permalink = $defaultURL . ($blog['useSlogan'] ? "/entry/" . getEntrySloganById($blogid, $grpLabel[$i]) : "/" . $grpLabel[$i]);
                                    $grpLink[] = "javascript:window.open('{$permalink}');void(0)";
                                }
                                $grpClickLink = "<br>click on the pie.";
                            } else {
                                if ($grpLinkType == "tag") {
                                    for ($i = 0; $i < count($grpLabel); $i++) {
                                        $permalink = $defaultURL . "/tag/" . $grpLabel[$i];
                                        $grpLink[] = "javascript:window.open('{$permalink}');void(0)";
                                    }
                                    $grpClickLink = "<br>click on the pie.";
                                }
                            }
                        }
                    }
                }
                $g->pie(75, '#ffffff', '#000000', false, 1);
                $g->pie_values($grpData, $grpLabel, $grpLink, $grpSubTitle);
                $g->pie_slice_colours(array('#B9D2E6', '#E2B11C', '#A3CF22', '#EC7122', '#4FC0C0', '#D45E5E', '#A275A2', '#52A7D2', '#9F373B', '#B4ADA5', '#5FC97E', '#CFB85D', '#9DC64E', '#FFAB29', '#E23838', '#43CEA9', '#4CA9D9', '#BA4ECA', '#6C79DA', '#CCCCCC', '#AB5C06', '#C06868', '#5FC97E', 'CFB85D'));
                $g->set_tool_tip((count($grpSubTitle) ? '#x_title#<br>' : '#x_label#<br>') . '#val#(#percent#%25)' . $grpClickLink);
            } else {
                if ($grpStyle == "bar") {
                    $g->title('&nbsp;', '{font-size:12px; color:#000000;margin-top:0px;padding:3px;}');
                    $g->set_data($grpData);
                    $g->set_bar_titles($grpSubTitle);
                    $g->bar_glass(70, '#68B1D9', '#62A0C1', '', 12);
                    $g->bar_colours(array('#B9D2E6', '#E2B11C', '#A3CF22', '#EC7122', '#4FC0C0', '#D45E5E', '#A275A2', '#52A7D2', '#9F373B', '#B4ADA5', '#5FC97E', '#CFB85D', '#9DC64E', '#FFAB29', '#E23838', '#43CEA9', '#4CA9D9', '#BA4ECA', '#6C79DA', '#CCCCCC', '#AB5C06', '#C06868', '#5FC97E', 'CFB85D'));
                    $g->x_axis_colour('#909090', '#D2D2FB');
                    $g->y_axis_colour('#909090', '#D2D2FB');
                    $g->set_x_labels($grpLabel);
                    $g->set_x_label_style(10, '#000000', $grpXLabelType, -1);
                    $g->set_y_label_style(9, '#888888');
                    $tmp_data_max = floor(Max($grpData) * 1.2);
                    if ($tmp_y_max = $tmp_data_max % 10) {
                        $tmp_data_max = $tmp_data_max + (10 - $tmp_y_max);
                    }
                    $g->set_y_max($tmp_data_max);
                    $g->set_y_legend('', 11, '#736AFF');
                    $g->set_tool_tip((count($grpSubTitle) ? '#x_title#<br>' : '#x_label#<br>') . '#val#');
                } else {
                    if ($grpStyle == "line") {
                        $g->title('', '{font-size:1px; color:#000000;}');
                        $g->set_data($grpData);
                        $g->line_dot(2, 4, '#6FBBC6', _t('최근 7일간 방문자 수'), 11);
                        // <-- 3px thick + dots
                        $g->set_x_labels($grpLabel);
                        $g->set_x_label_style(8, '#333333', $grpXLabelType, -1);
                        $g->x_axis_colour('#909090', '#e7e7e7');
                        $g->y_axis_colour('#909090', '#e7e7e7');
                        $tmp_data_max = floor(Max($grpData) * 1.2);
                        if ($tmp_y_max = $tmp_data_max % 10) {
                            $tmp_data_max = $tmp_data_max + (10 - $tmp_y_max);
                        }
                        $g->set_y_max($tmp_data_max);
                        $g->set_y_legend('', 1, '#736AFF');
                        $g->y_label_steps(4);
                        $g->set_y_label_style(8, '#333333', $grpXLabelType, -1);
                        $g->set_tool_tip((count($grpSubTitle) ? '#x_title#<br>' : '#x_label#<br>') . '#val#');
                    }
                }
            }
            echo $g->render();
            flush();
        }
    }
}
while( $row = $db->fetch_assoc($query) ){
	
	$data_1[] = $row['vr_totalvenda'];
  	$data_2[] = $row['vr_custo'];
  	$data_3[] = $row['vr_totalvenda']-$row['vr_custo'];
  	
  	$labels[] = date('d/m/Y',strtotime($row['data_venda']));

  	$max_value = ($max_value<$row['vr_totalvenda'])?$row['vr_totalvenda']:$max_value;
  	
}


$g = new graph();

$g->set_data( $data_1 );
$g->set_data( $data_2 );
$g->set_data( $data_3 );

$g->line_hollow( 3, 5, '0x9933CC', 'Venda', 10 );
$g->line_hollow( 3, 5, '0xCC3399', 'Custo', 10);    // <-- 3px thick + dots
$g->line_hollow( 3, 5, '0x80a033', 'Lucro', 10 );

$g->set_x_labels( $labels );
$g->set_x_label_style( 10, '0x000000', 0, 2 );

$g->set_y_max( $max_value );
$g->y_label_steps( 4 );
$g->set_y_legend( 'Valores em Real - R$', 12, '#000000' );
$g->bg_colour = '#FFFFFF';
}
// on enlève les valeurs nulles
foreach ($cat_fils_annee as $key => $value) {
    if ($value != 0) {
        $tmp["{$key}"] = $value;
    }
}
$cat_fils_annee = $tmp;
$debug = $cat_fils_annee;
include_once 'ofc-library/open-flash-chart.php';
/************************* Graph sur mois de chaque sous-catégorie *************/
$g = new graph();
// Spoon sales, March 2007
$g->title($cat_name, '{font-size: 26px;}');
foreach ($cat_fils_mois as $key => $value) {
    $g->set_data($value);
    $id = $oCat->getId($key);
    $color = $oCat->getColor($id);
    $g->line(2, "{$color}", $key, 10);
}
//$g->set_data( $cat_fils_mois['Alimentation'] );
//$g->set_data( $cat_fils_mois['Logement'] );
//$g->line( 2, '0x9933CC', 'Alimentation', 10 );
//$g->line( 2, '0x990000', 'Logement', 10 );
// label each point with its value
$g->set_x_labels(array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'));
// set the Y max
$g->set_y_max($cat_fils_mois_max);
// label every 20 (0,20,40,60)
#$g->y_label_steps( 10 );
$g->set_width(650);
Esempio n. 5
0
function return_ofc_data($styles)
{
    global $cms, $ps;
    $ofc = $cms->input['ofc'];
    $data = array();
    $data_avg = array();
    $avg = 0;
    $interval = 1000;
    $maxlimit = 1000;
    $minlimit = 0;
    $max = 21;
    $field = $ofc == 'skill' ? 'dayskill' : $ofc;
    if (!in_array($field, array('skill', 'kills', 'onlinetime'))) {
        $field = 'dayskill';
    }
    $plrid = $cms->input['id'];
    $ps->db->query("SELECT statdate,{$field} FROM {$ps->t_plr_data} WHERE plrid=" . $ps->db->escape($plrid, true) . " ORDER BY statdate DESC LIMIT {$max}");
    $i = 1;
    while (list($statdate, $skill) = $ps->db->fetch_row(0)) {
        $skill = round($skill);
        $sum += $skill;
        $data[] = $skill;
        $labels[] = $statdate;
    }
    if ($data) {
        $data = array_reverse($data);
        $labels = array_reverse($labels);
        $avg = $sum / count($data);
        $data_avg[] = $avg;
        $data_avg = array_pad($data_avg, count($data) - 1, 'null');
        // yes, 'null' is a string
        $data_avg[] = $avg;
        $minlimit = floor(min($data) / $interval) * $interval;
        $maxlimit = ceil(max($data) / $interval) * $interval;
    }
    include_once PS_ROOTDIR . '/includes/ofc/open-flash-chart.php';
    $g = new graph();
    $g->bg_colour = $styles->val('flash.plrskill.bgcolor', 'flash.bgcolor');
    $g->title($styles->val('flash.plrskill.title'), '{' . $styles->val('flash.plrskill.title.style', 'font-size: 12px', true) . '}');
    $g->set_data($data_avg);
    $g->set_data($data);
    $lines = $styles->attr('flash.plrskill.lines.line');
    $g->line(coalesce($lines[0]['width'], 1), coalesce($lines[0]['color'], '#9999ee'), coalesce($lines[0]['key'], $cms->trans('Average')), coalesce($lines[0]['key_size'], $styles->val('flash.plrskill.lines.key_size'), 9));
    $g->line(coalesce($lines[1]['width'], 1), coalesce($lines[1]['color'], '#9999ee'), coalesce($lines[1]['key'], $cms->trans('Skill')), coalesce($lines[1]['key_size'], $styles->val('flash.plrskill.lines.key_size'), 9));
    // label each point with its value
    $g->set_x_labels($labels);
    //	$g->set_x_axis_steps(count($labels) / 3 + 1);
    //	$g->set_x_tick_size(1);
    //	$g->set_x_label_style( 10, '0x000000', 0, 2 );
    //	$g->set_x_label_style('none');
    $g->set_x_label_style(8, '#000000', 2);
    $g->set_inner_background(coalesce($styles->val('flash.plrskill.bg_inner1', 'flash.bg_inner1'), '#E3F0FD'), coalesce($styles->val('flash.plrskill.bg_inner2', 'flash.bg_inner2'), '#CBD7E6'), coalesce($styles->val('flash.plrskill.bg_inner_angle', 'flash.bg_inner_angle'), 90));
    $g->x_axis_colour('#eeeeee', '#eeeeee');
    $g->y_axis_colour('#eeeeee', '#eeeeee');
    //	$g->set_x_offset( false );
    // set the Y max
    $g->set_y_max($maxlimit);
    $g->set_y_min($minlimit);
    // label every 20 (0,20,40,60)
    //	$g->x_label_steps( 2 );
    // display the data
    print $g->render();
}
Esempio n. 6
0
function return_ofc_24()
{
    global $cms, $ps;
    $styles =& $cms->theme->styles;
    $hours = array();
    $labels = array();
    $data = array();
    $data_avg = array();
    $conns = array();
    $conns_avg = array();
    $sum = 0;
    $avg = 0;
    $maxlimit = 100;
    $maxlimit2 = 100;
    $minlimit = 0;
    $max = 24;
    list($newest) = $ps->db->fetch_list("SELECT hour FROM {$ps->t_map_hourly} ORDER BY statdate DESC,hour DESC LIMIT 1");
    if ($newest === null) {
        $newest = date("H");
    }
    // build a list of hours in the proper order
    for ($h = $newest; count($hours) < 24; $h--) {
        if ($h < 0) {
            $h = 23;
        }
        $hours[sprintf('%02d:00', $h)] = 'null';
    }
    $hours = array_reverse($hours);
    // get the last 24 hours of data
    $ps->db->query("SELECT statdate,hour,SUM(kills),SUM(connections) " . "FROM {$ps->t_map_hourly} " . "GROUP BY statdate,hour " . "ORDER BY statdate DESC,hour DESC LIMIT {$max}");
    // build our data and labels
    $data = $hours;
    $conns = $hours;
    $maxdata = 0;
    $maxconn = 0;
    while (list($statdate, $hour, $kills, $connections) = $ps->db->fetch_row(0)) {
        $hh = sprintf('%02d:00', $hour);
        $sum += $kills;
        $data[$hh] = $kills;
        $conns[$hh] = $connections;
        $maxdata = max($maxdata, $kills);
        $maxconn = max($maxconn, $connections);
    }
    $labels = array_keys($hours);
    #	print_r($hours);
    #	print_r($data);
    #	print_r($conns);
    #	print_r($labels);
    if ($data) {
        $avg = $sum / count($data);
        $data_avg = array_pad(array(), count($data), $avg);
        #		$maxlimit  = ceil(ceil($maxdata / 100) * 100);
    }
    if ($conns) {
        $avg = $sum / count($conns);
        $conns_avg = array_pad(array(), count($conns), $avg);
        #		$maxlimit2 = ceil(ceil($maxconn / 100) * 100);
    }
    include_once PS_ROOTDIR . '/includes/ofc/open-flash-chart.php';
    $g = new graph();
    $g->bg_colour = $styles->val('flash.last24.bgcolor', 'flash.bgcolor');
    $g->title($styles->val('flash.last24.title', $cms->trans('Last 24 Hours'), true), '{' . $styles->val('flash.last24.title.style', 'font-size: 16px', true) . '}');
    $g->set_data($data_avg);
    $g->set_data($data);
    //	$g->set_data($conns_avg);
    $g->set_data($conns);
    $g->attach_to_y_right_axis(3);
    $lines = $styles->attr('flash.last24.lines.line');
    $g->line(coalesce($lines[0]['width'], 1), coalesce($lines[0]['color'], '#9999ee'), coalesce($lines[0]['key'], $cms->trans('Average Kills')), coalesce($lines[0]['key_size'], $styles->val('flash.last24.lines.key_size'), 9));
    $g->line_dot(coalesce($lines[1]['width'], 2), coalesce($lines[1]['dot_size'], 5), coalesce($lines[1]['color'], '#5555ff'), coalesce($lines[1]['key'], $cms->trans('Kills')), coalesce($lines[1]['key_size'], $styles->val('flash.last24.lines.key_size'), 9));
    $g->line_dot(coalesce($lines[2]['width'], 1), coalesce($lines[2]['dot_size'], 3), coalesce($lines[2]['color'], '#000000'), coalesce($lines[2]['key'], $cms->trans('Connections')), coalesce($lines[2]['key_size'], $styles->val('flash.last24.lines.key_size'), 9));
    // label each point with its value
    $g->set_x_labels($labels);
    //	$g->set_x_axis_steps(count($labels) / 3 + 1);
    //	$g->set_x_tick_size(1);
    $g->set_x_label_style(10, '#000000', 0, 3, '#cccccc');
    //	$g->set_x_label_style( 10, '0x000000', 0, 2 );
    //	$g->set_x_label_style('none');
    #	$g->set_x_label_style( 8, '#000000', 2 );
    $g->set_inner_background(coalesce($styles->val('flash.last24.bg_inner1', 'flash.bg_inner1'), '#E3F0FD'), coalesce($styles->val('flash.last24.bg_inner2', 'flash.bg_inner2'), '#CBD7E6'), coalesce($styles->val('flash.last24.bg_inner_angle', 'flash.bg_inner_angle'), 90));
    $g->x_axis_colour('#eeeeee', '#eeeeee');
    $g->y_axis_colour('#5555ff', '#eeeeee');
    $g->y_right_axis_colour('#000000', '#eeeeee');
    //	$g->set_x_offset( false );
    // set the Y max
    $g->set_y_max($maxdata);
    $g->set_y_min(0);
    $g->set_y_right_max($maxconn);
    $g->set_y_right_min(0);
    /*
    	$g->set_y_max($maxlimit);
    	$g->set_y_min($minlimit);
    	$g->set_y_right_min($minlimit);
    	$g->set_y_right_max($maxlimit2);
    */
    $g->set_y_legend(coalesce($lines[1]['key'], $cms->trans('Kills')), 12, coalesce($lines[1]['color'], '#5555ff'));
    $g->set_y_right_legend(coalesce($lines[2]['key'], $cms->trans('Connections')), 12, coalesce($lines[2]['color'], '#000000'));
    //	$g->y_label_steps();
    $g->set_tool_tip($styles->val('flash.last24.tooltip', '#key#<br>#val# (#x_label#)', true));
    // label every 20 (0,20,40,60)
    //	$g->x_label_steps( 2 );
    // display the data
    print $g->render();
}
Esempio n. 7
0
function umc_donation_java_chart()
{
    global $UMC_SETTING;
    $sql_chart = "SELECT SUM(amount) as monthly, year(date) as date_year, month(date) as date_month FROM minecraft_srvr.`donations` GROUP BY YEAR(date), MONTH(date);";
    $D = umc_mysql_fetch_all($sql_chart);
    $lastdate = "2010-11";
    $ydata = array();
    $legend = array();
    $minval = $maxval = 0;
    $sum = 0;
    foreach ($D as $row) {
        $month = sprintf("%02d", $row['date_month']);
        $date = $row['date_year'] . '-' . $month;
        $datetime1 = new DateTime("{$lastdate}-01");
        $datetime2 = new DateTime("{$date}-01");
        $interval = $datetime1->diff($datetime2);
        $int = $interval->format('%m');
        $int--;
        for ($i = $int; $i > 0; $i--) {
            // echo "$i $int - ";
            $e_date = date("Y-m", mktime(0, 0, 0, $row['date_month'] - $i, 01, $row['date_year']));
            // $e_month = $row['date_month'] - $i;
            // $e_date = $row['date_year'] . '-' . $e_month;
            $sum = $sum - 135;
            $ydata[] = $sum;
            //echo $e_date . ": " . $sum . "<br>";
            $legend[] = $e_date . "-01";
            $maxval = max($sum, $maxval);
            $minval = min($sum, $minval);
        }
        $sum = $sum + $row['monthly'] - 135;
        //echo $date . ": " . $sum . "<br>";
        $ydata[] = $sum;
        $legend[] = $date . "-01";
        $lastdate = $date;
        $maxval = max($sum, $maxval);
        $minval = min($sum, $minval);
    }
    $outstanding = $sum * -1;
    require_once $UMC_SETTING['path']['html'] . '/admin/flash/open-flash-chart.php';
    $g = new graph();
    //$g->title("Donation Stats", '{font-size: 15px; color: #000000}');
    $g->bg_colour = '#FFFFFF';
    // Some data (line 1):
    $g->set_data($ydata);
    $legend1 = "Cost vs. donations balance in USD";
    $g->line(1, '#0000FF', $legend1, 10);
    // $g->set_y_legend( $legend1, 12, '#0000FF' );
    $g->set_y_max($maxval);
    $g->set_y_min($minval);
    $g->y_axis_colour('#0000FF', '#DFDFDF');
    $g->x_axis_colour('#DFDFDF', '#FFFFFF');
    $g->set_x_legend('Uncovery Minecraft Server uptime', 12, '#000000');
    // The X Axis labels are the time, 00:00, 01:00, 02:00 etc...
    $g->set_x_labels($legend);
    $g->set_x_label_style(8, '#000000', 1, 1, '#DFDFDF');
    // lines in the background
    $g->y_label_steps(10);
    $g->set_width('100%');
    $g->set_height(300);
    $g->set_output_type('js');
    $g->set_js_path('/admin/flash/');
    $g->set_swf_path('/admin/flash/');
    return array('chart' => $g->render(), 'outstanding' => $outstanding);
}
Esempio n. 8
0
                $tab["$name"][$i] += $valeur;
                $total["$name"] += $valeur;
            }
        }
 	}
}


/******************************************************************************/
// generate some random data:
die;
srand((double) microtime() * 1000000);
$max = 50;
$data = array();
for ($i = 0; $i < 12; $i++) {
    $data[] = rand(0, $max);
}
// use the chart class to build the chart:
include_once 'ofc-library/open-flash-chart.php';
$g = new graph();
// Spoon sales, March 2007
$g->title('Chaussures de Jie ' . date("Y"), '{font-size: 26px;}');
$g->set_data($data);
// label each point with its value
$g->set_x_labels(array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'));
// set the Y max
$g->set_y_max(60);
// label every 20 (0,20,40,60)
$g->y_label_steps(6);
// display the data
echo $g->render();
Esempio n. 9
0
 /**
  */
 function chart_flash($data, $params)
 {
     if (empty($data)) {
         return;
     }
     include_once YF_PATH . 'libs/yf_open_flash_chart/open-flash-chart.php';
     $width = isset($params['width']) ? $params['width'] : '90%';
     $height = isset($params['height']) ? $params['height'] : '90%';
     $g = new graph();
     $g->js_path = isset($params['js_path']) ? $params['js_path'] : '/js/';
     $g->swf_path = isset($params['swf_path']) ? $params['swf_path'] : '/js/';
     $g->title(' ', '{font-size: 20px;}');
     $g->bg_colour = '#e9e9e9';
     $g->x_axis_colour('#000000', '#c1c1c1');
     $g->y_axis_colour('#000000', '#c1c1c1');
     $g->set_data($data);
     // Find maximal strlen of x axis label
     foreach ((array) $data as $k => $v) {
         $xlabel_len[] = _strlen($k);
     }
     if (max($xlabel_len) > 7) {
         $orientation = 2;
     } else {
         $orientation = 0;
     }
     $g->set_x_labels(array_keys($data));
     $g->set_x_label_style(10, '#000000', $orientation, 2);
     $g->set_y_max(max($data));
     $g->set_y_label_style(10, '#000000', 0, 2);
     $g->set_y_legend('Price', 10, '#000000');
     $g->set_x_legend('Date', 10, '#000000');
     $g->set_tool_tip('#val# EUR on #x_label#');
     $g->line_dot(2, 3, '#0750D9', '', 10);
     // формат значений
     $g->set_num_decimals(0);
     $g->set_y_format('#val#&euro;');
     $g->set_width($width);
     $g->set_height($height);
     $g->set_output_type('js');
     return $g->render();
 }
Esempio n. 10
0
 /**
  * Generates report of projects created
  *
  * @access	public
  * @param	nil
  * @return	void
  */
 function projectsCreated()
 {
     //Load Language File For this
     $this->lang->load('enduser/reports', $this->config->item('language_code'));
     //Load Library File
     $this->load->library('graph');
     // generate some random data
     srand((double) microtime() * 1000000);
     // NOTE: how we are filling 3 arrays full of data,
     //       one for each line on the graph
     $data_1 = array();
     $mon = array();
     for ($i = 0; $i < 6; $i++) {
         $lastmonth = mktime(0, 0, 0, date("m") - $i, date("d"), date("Y"));
         $month = date('n', $lastmonth);
         $year = date('Y', $lastmonth);
         $data_1[] = $this->skills_model->getNumProjectsByMonth($month, $year);
         $mon[] = date('M', $lastmonth);
     }
     $g = new graph();
     $g->title($this->lang->line('Projects added last 6 months'), '{font-size: 20px; color: #999999}');
     // we add 2 sets of data:
     $g->set_data($data_1);
     $g->set_bg_colour('0xFFFFFF');
     // we add the 3 line types and key labels
     $g->line_dot(3, 5, 'FF6633', 'Projects', 12);
     // <-- 3px thick + dots
     $g->set_x_labels($mon);
     $g->set_x_label_style(10, '0x000000', 0, 1);
     $g->set_y_max(50);
     $g->y_label_steps(4);
     echo $g->render();
 }
Esempio n. 11
0
$max = 0;
for ($i = -4; $i < 1; $i++) {
    $date = date('Y-m-d', strtotime($i . ' days'));
    if ($i == 0) {
        $daysRow[] = t('Today');
    } else {
        $daysRow[] = strftime('%a', strtotime($i . ' days'));
    }
    $total = PageStatistics::getTotalPageViewsForOthers($u, $date);
    $viewsArray[] = $total;
    if ($total > $max) {
        $max = $total;
    }
}
$g = new graph();
$g->set_title('&nbsp;', '{color: #ffffff}');
$g->set_data($viewsArray);
$g->bg_colour = '#ffffff';
$g->set_inner_background('#ffffff', "#cccccc", 90);
// we add the 3 line types and key labels
$g->line_dot(3, 5, '#4C85BB', false, 10);
$g->set_x_labels($daysRow);
$g->set_x_label_style(10, '#ababab', 0, 2);
$g->x_axis_colour('#333333', '#bebebe');
$g->y_axis_colour('#333333', '#bebebe');
$g->set_y_max($max);
$g->num_decimals = 0;
$g->is_fixed_num_decimals_forced = true;
$g->y_label_steps(5);
$g->set_y_legend(t('Views'), 12, '#333333');
echo $g->render();
Esempio n. 12
0
     $data_count[] = $report->info[$i]['count'];
     //$data_avg[] = $report->info[$i]['avg'];
     $data_sum[] = number_format($report->info[$i]['sum'], 0, '', '');
 }
 $data_date = array();
 for ($i = 0; $i < $report->size; $i++) {
     $data_date[] = $report->info[$i]['text'];
 }
 // use the chart class to build the chart:
 include_once DIR_WS_CLASSES . 'ofc-library/open-flash-chart.php';
 $g = new graph();
 $g->bg_colour = '0xFFFFFF';
 $g->x_grid_colour = '0xd8d8d8';
 $g->y_grid_colour = '0xd8d8d8';
 $g->title(HEADING_TITLE . ': ' . $report_desc, '{font-size: 18px;}');
 $g->set_data($data_count);
 $g->line_hollow(3, 4, '0x0077cc', TEXT_NUMBER_OF_ORDERS, 12);
 $g->set_data($data_sum);
 $g->line_dot(3, 4, '0xff9900', TEXT_TOTAL_SUMM, 12);
 //
 // Attach the second data line (Free Ram) to the right axis:
 //
 $g->attach_to_y_right_axis(2);
 //
 // label each point with its value
 $g->set_x_labels($data_date);
 $g->set_x_label_style(10, '0x000000', 0, 2);
 // set the Y max
 $g->set_y_max(max($data_count) / 10 + max($data_count));
 $g->set_y_right_max(max($data_sum) / 10 + max($data_sum));
 // label every 20 (0,20,40,60)