Welcome Guest, Not a member yet? Register   Sign In
OpenFlashChart with CI
#1

[eluser]vcool[/eluser]
--moved from previous section--

Using OpenFlashChart with CI

- Download OpenFlashChart at http://teethgrinder.co.uk/open-flash-chart/

- Create directory in CI root :
Code:
assets/
         --swf/
         --js/
- Extract OpenFlashChart to temporary folder

- Copy the php-ofc-library/open-flash-chart.php file to system/application/library/ and then rename it to graph.php

- Copy the open-flash-chart.swf file to assets/swf/

- Copy the js/swfobject.js to assets/js/

- Edit file graph.php, find this following lines :
Code:
$this->js_path = 'js/';
    $this->swf_path = '';
Edit to :
Code:
$this->js_path = base_url().'assets/js/';
      $this->swf_path = base_url().'assets/swf/';

- Example :

Contoller :
Code:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');


Class Statistic extends Controller {
    
    function Statistic(){
        parent::Controller();
        //$this->freakauth_light->check('user');
        
        //load the models
        $this->load->model('vouchermodel');
        $this->load->model('postpaidmodel');
        $this->load->model('billingplanmodel');
        $this->load->model('statisticmodel');
        
        //load radius helpers
        $this->load->helper('radius');
    }
    
    function index(){
        //security check
        $this->freakauth_light->check('user');
        
        $this->load->library('graph');
        
        //get billingplan
        $bp_qty = array();
        $bp_label = array();
        $data['billingplans'] = $this->billingplanmodel->getBillingPlanStat();
        foreach ($data['billingplans']->result() as $billingplan) {
            $bp_qty[] = $billingplan->qty;
            $bp_label[] = $billingplan->billingplan;
        }
        
        //PIE chart, 60% alpha
        //
        $this->graph->pie(80,'#505050','{font-size: 12px; color: #404040;');
        //
        // pass in two arrays, one of data, the other data labels
        //
        $this->graph->pie_values( $bp_qty, $bp_label );
        //
        // Colours for each slice, in this case some of the colours
        // will be re-used (3 colurs for 5 slices means the last two
        // slices will have colours colour[0] and colour[1]):
        //
        $this->graph->pie_slice_colours( array('#d9db35','#487daf','#d00000','#4ae331') );

        $this->graph->set_tool_tip( '#val# Vouchers' );
        $this->graph->bg_colour = '#040404';
        $this->graph->title( 'Voucher Created', '{font-size:14px; color: #7F7772}' );
        $this->graph->set_output_type('js');
        
                
        //get the vouchers data
        $data['voucher'] = $this->vouchermodel->getVoucherStatistics();
        
        //get the postpaid account data
        $data['postpaid'] =  $this->postpaidmodel->getAccountStatistic();
        
        //get the who's online list
        $data['onlineuser'] = radius_get_online_users();
        
        $data['title'] = "Hotspot Statistics";
        $data['h1'] = "Hotspot Statistics";
        
        //$this->output->enable_profiler();
        
        $this->load->view('statistic/statistic_view',$data);
    }
    
}

?>

view :
Code:
<?php $this->load->view('header') ?>

<h1>&lt;?=$h1?&gt;</h1>

<div id='voucher_info'>
<h3>Vouchers Info</h3>
<ul>
    <li><label>Vouchers Created</label>&lt;?=$voucher['created']?&gt;</li>
    <li><label>Used</label>&lt;?=$voucher['used']?&gt;</li>
    <li><label>Expired</label>&lt;?=$voucher['expired']?&gt;</li>
</ul>
<h3>Billing Plans</h3>
<ul>
    &lt;?php foreach($billingplans->result() as $row):?&gt;
    <li><label>&lt;?=$row->billingplan?&gt;</label>&lt;?=$row->qty?&gt;</li>
    &lt;?php endforeach; ?&gt;
</ul>
        <div id='graph'>
            &lt;?=$this->graph->render()?&gt;
        </div>
</div>


<div id='postpaid_info'>
<h3>Postpaid Account Info</h3>
<ul>
    <li><label>Account Created</label>&lt;?=$postpaid['created']?&gt;</li>
    <li><label>Used</label>&lt;?=$postpaid['used']?&gt;</li>
</ul>
</div>


&lt;? $this->load->view('footer'); ?&gt;

To find out of how to use OpenFlashChart in detail explanation, visit http://teethgrinder.co.uk/open-flash-chart/ .

cheers
-Rafeequl
#2

[eluser]Avatar[/eluser]
@vcool - very nice thank you
#3

[eluser]Lone[/eluser]
Nice contribution - I can see this being used down the track for certain!
#4

[eluser]vcool[/eluser]
@yingyes & @Lone thx guys .. i hope its useful for you
#5

[eluser]PedroGrilo[/eluser]
Pretty nice, vcool.
I will use this for displaying my stats.

Thanks! Smile
#6

[eluser]Majd Taby[/eluser]
yeah I wasn't even aware of this...I'm sure it'll come useful.
#7

[eluser]mironcho[/eluser]
Very nice contribution - thanks vcool!
#8

[eluser]BeingDefined[/eluser]
holy snap, this is nice! Thank!
#9

[eluser]JOKERz[/eluser]
GREAT!!!
Let me try it.... thanx a lot!!
#10

[eluser]Unknown[/eluser]
Hi,

thanks for the splendid setup help. But I still have trouble to figure out how to display two different charts on the same view-page. I sort of missed a step where I reset the graph data for a new instance. Could anybody post an example?

Thanks in advance,

Thomas

---&gt; The last entry in the orginial post suggest a working clear function.
Problem solved, thanks.




Theme © iAndrew 2016 - Forum software by © MyBB