0byt3m1n1
Path:
/
data
/
17
/
1
/
18
/
11
/
1670011
/
user
/
1801231
/
htdocs
/
marketting
/
system
/
application
/
models
/
[
Home
]
File: reports_model.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); /* | ------------------------------------------------------------------------- | COPYRIGHT NOTICE | Copyright 2008 JROX Technologies, Inc. All Rights Reserved. | ------------------------------------------------------------------------- | This script may be only used and modified in accordance to the license | agreement attached (license.txt) except where expressly noted within | commented areas of the code body. This copyright notice and the | comments above and below must remain intact at all times. By using this | code you agree to indemnify JROX Technologies, Inc, its corporate agents | and affiliates from any liability that might arise from its use. | | Selling the code for this program without prior written consent is | expressly forbidden and in violation of Domestic and International | copyright laws. | | ------------------------------------------------------------------------- | FILENAME - reports_model.php | ------------------------------------------------------------------------- | | This model handles the functions for generating reports | */ class Reports_Model extends Model { function _generate_quick_stats_sales() { $fdate = explode(':', $this->config->item('sts_admin_date_format')); $sql = 'SELECT invoice_id as id, '; for ($i = 6; $i >=0; $i = $i - 1) { //day 7 $start = mktime(0, 0, 0, date("m") , date("d")-$i, date("Y")); $end = mktime(23, 59, 59, date("m") , date("d")-$i, date("Y")); $day = date('M_d', mktime(12, 0, 0, date("m") , date("d")-$i, date("Y"))); $sql .= '(SELECT SUM(sub_total+tax_amount+shipping_amount-discount_amount) FROM ' . $this->db->dbprefix('invoices') . ' WHERE date_purchased > ' . $start . ' AND date_purchased < ' . $end . ') as ' . $day; if ($i > 0) $sql .= ', '; } $sql .= ' FROM ' . $this->db->dbprefix('invoices') . ' LIMIT 1'; $query = $this->db->query($sql); if ($query->num_rows() > 0) { return $query->row_array(); } return false; } // ------------------------------------------------------------------------ function _generate_quick_stats_commissions() { $fdate = explode(':', $this->config->item('sts_admin_date_format')); $sql = 'SELECT comm_id as id, '; for ($i = 6; $i >=0; $i = $i - 1) { //day 7 $start = mktime(0, 0, 0, date("m") , date("d")-$i, date("Y")); $end = mktime(23, 59, 59, date("m") , date("d")-$i, date("Y")); $day = date('M_d', mktime(12, 0, 0, date("m") , date("d")-$i, date("Y"))); $sql .= '(SELECT SUM(commission_amount) FROM ' . $this->db->dbprefix('affiliate_commissions') . ' WHERE date > ' . $start . ' AND date < ' . $end . ') as ' . $day; if ($i > 0) $sql .= ', '; } $sql .= ' FROM ' . $this->db->dbprefix('affiliate_commissions') . ' LIMIT 1'; $query = $this->db->query($sql); if ($query->num_rows() > 0) { return $query->row_array(); } return false; } // ------------------------------------------------------------------------ function _get_reports($limit = 25, $offset = 0, $sort_column = '', $sort_order = '') { //get all the admins from db for list view if (!$sort_order) $sort_order = $this->config->item('dbs_rep_order'); if (!$sort_column) $sort_column = $this->config->item('dbs_rep_column'); $this->db->order_by($sort_column, $sort_order); $this->db->where('module_type', 'stats_reporting'); $this->db->where('module_status', '1'); $query = $this->db->get('modules', $limit, $offset); if ($query->num_rows() > 0) { return $query->result_array(); } return false; } // ------------------------------------------------------------------------ function _get_member_reports($limit = 25, $offset = 0, $sort_column = '', $sort_order = '') { //get all the admins from db for list view if (!$sort_order) $sort_order = $this->config->item('mem_dbs_rep_order'); if (!$sort_column) $sort_column = $this->config->item('mem_dbs_rep_column'); $this->db->order_by($sort_column, $sort_order); $this->db->where('module_type', 'member_reporting'); $this->db->where('module_status', '1'); $query = $this->db->get('modules', $limit, $offset); if ($query->num_rows() > 0) { $a = array(); foreach ($query->result_array() as $row) { $row['row_style'] = alternator('jroxRowStyle1', 'jroxRowStyle2'); array_push($a, $row); } return $a; } return false; } // ------------------------------------------------------------------------ function _get_reports_archive($limit = 25, $offset = 0, $sort_column = '', $sort_order = '') { //get all the admins from db for list view if (!$sort_order) $sort_order = $this->config->item('dbs_arc_order'); if (!$sort_column) $sort_column = $this->config->item('dbs_arc_column'); $this->db->order_by($sort_column, $sort_order); $query = $this->db->get('report_archive', $limit, $offset); if ($query->num_rows() > 0) { return $query->result_array(); } return false; } // ------------------------------------------------------------------------ function _get_archive_details($id = '') { $this->db->where('id', $id); $query = $this->db->get('report_archive'); if ($query->num_rows() > 0) { return $query->result_array(); } return false; } // ------------------------------------------------------------------------ function _delete_archived_report($id = '') { $this->db->where('id', $id); if ($query = $this->db->delete('report_archive')) { return true; } return false; } // ------------------------------------------------------------------------ function _generate_flash_data($srow = '', $currency = false, $bg_color = 'FFFFFF', $grid_color = 'EFEFEF') { $values = array(); $keys = array(); //generate data for flash table require_once(APPPATH . 'libraries/flashcharts/open-flash-chart.php'); foreach ($srow as $k =>$v) { if ($k == 'id') continue; if ($currency == false) { if (empty($v)) $v = '0.00'; } $tmp = new bar_3d_value(floatval($v)); $tmp->set_colour( $this->config->item('random_bg_color') ); if ($currency == false) { $tmp->set_tooltip( humanize($k) . ' - ' . format_amounts($v, $this->config->item('num_options')) ); } else { $tmp->set_tooltip(humanize($k) . ' - ' . $v); } array_push ($values, $tmp); $x = explode('_', $k); array_push ($keys, $x[1]); } //sort the values rsort($srow); $bar = new bar_glass(); $bar->set_values( $values ); $bar->colour = $this->config->item('random_bg_color'); $x_axis = new x_axis(); $x_axis->colour = '#909090'; $x_axis->set_labels_from_array($keys); $x_axis->set_grid_colour( '#' . $grid_color ); $y_axis = new y_axis(); $range = floor($srow[0] / 10); $height = $srow[0]; $y_axis->set_range( 0, $height, $range ); $y_axis->set_labels( '' ); $y_axis->set_grid_colour( '#' . $grid_color ); $chart = new open_flash_chart(); /* $y_legend = new y_legend( $this->lang->line('graph_y_legend') ); $y_legend->set_style( '{font-size: 22px; color: #778877}' ); $chart->set_y_legend( $y_legend ); */ $chart->set_title( '' ); $chart->add_element( $bar ); $chart->set_bg_colour( '#' . $bg_color ); $chart->set_x_axis( $x_axis ); $chart->set_y_axis( $y_axis ); return $chart->toPrettyString(); } // ------------------------------------------------------------------------ function _generate_flash_data_top($srow = '', $currency = false) { $values = array(); $keys = array(); //generate data for flash table require_once(APPPATH . 'libraries/flashcharts/open-flash-chart.php'); $i = 1; foreach ($srow as $k =>$v) { if ($currency == false) { if (empty($v['amount'])) $v['amount'] = '0.00'; } $tmp = new bar_3d_value(floatval($v['amount'])); $tmp->set_colour( $this->config->item('random_bg_color') ); if ($currency == false) { $tmp->set_tooltip( $v['name'] . ' - ' . format_amounts($v['amount'], $this->config->item('num_options')) ); } else { $tmp->set_tooltip($v['name'] . ' - ' . $v['amount']); } array_push ($values, $tmp); array_push ($keys, strval($i)); $i++; } $bar = new bar_glass(); $bar->set_values( $values ); $bar->colour = $this->config->item('random_bg_color'); $x_axis = new x_axis(); $x_axis->colour = '#909090'; $x_axis->set_labels_from_array($keys); $y_axis = new y_axis(); $range = floor($srow[0]['amount'] / 10); $height = $srow[0]['amount']; $y_axis->set_range( 0, $height, $range ); $y_axis->set_labels( '' ); $chart = new open_flash_chart(); /* $y_legend = new y_legend( $this->lang->line('graph_y_legend') ); $y_legend->set_style( '{font-size: 22px; color: #778877}' ); $chart->set_y_legend( $y_legend ); */ $chart->set_title( '' ); $chart->add_element( $bar ); $chart->set_bg_colour( '#FFFFFF' ); $chart->set_x_axis( $x_axis ); $chart->set_y_axis( $y_axis ); return $chart->toPrettyString(); } // ------------------------------------------------------------------------ function _generate_archive($name = '', $data = '') { $sdata = array( 'report_date' => _generate_timestamp(), 'report_name' => $name, 'report_html' => $data, ); if ($this->db->insert('report_archive', $sdata)) { return $this->db->insert_id(); } return false; } } ?>