Subversion Repositories SmartDukaan

Rev

Rev 15456 | Rev 15472 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
App::uses('AppController', 'Controller');
/**
 * Exceptionalnlcs Controller
 *
 * @property Exceptionalnlc $Exceptionalnlc
 * @property PaginatorComponent $Paginator
 */
class ReportsController extends AppController {

/**
 * Components
 *
 * @var array
 */
        public $components = array('Paginator');

        public function beforeFilter() {
                parent::beforeFilter();
//              Configure::load('live');
                $this->apihost = Configure::read('pythonapihost');
        }

        public function admin_orders() {
                $page = $this->request->query('page');
                if(!isset($page)){
                        $page = 1;
                }
                $limit = Configure::read('admindashboardlimit');
                $params = array(
                        'fields' => array('_id','subOrders','storeId', 'userId', 'merchantOrderId'),
                        // 'conditions' => array('source_id' => array('$ne' => 0)),
                        'order' => array('_id' => -1),
                        'limit' => $limit,
                        'page' => $page,
                );
                $orders = $this->Report->find('all', $params);
                // $this->loadModel('Category');
                // $categories = $this->Category->find('list');
                // $storemapping = Configure::read('storemapping');
                $this->set(compact('orders'));
        }       

        public function admin_ordersjson() {    
                $this->layout = 'ajax';
                $page = $this->request->query('page');
                if(!isset($page)){
                        $page = 1;
                }
                $limit = $this->request->query('limit');
                $limit = Configure::read('admindashboardlimit');
                $params = array(
                        'fields' => array('_id','subOrders','storeId', 'userId', 'merchantOrderId'),
                        // 'conditions' => array('source_id' => array('$ne' => 0)),
                        'order' => array('_id' => -1),
                        'limit' => $limit,
                        'page' => $page,
                );
                $orders = $this->Report->find('all', $params);
                $result = array('orders'=>$orders);
                $this->set(array(
                    'result' => $result,
                    '_serialize' => array('result')
                ));
                $this->render('/Elements/json');
        }

        public function admin_activations() {
                /*$data = $this->request->data;
                if(!empty($data)){
                        $date = $data['Report']['date']['year'].'-'.$data['Report']['date']['month'].'-'.$data['Report']['date']['day'];
                        #$sql = "SELECT DATE( created ) AS date, referrer , COUNT( id ) AS count FROM users WHERE DATE(created ) = '$date' AND referrer IS NOT NULL GROUP BY DATE( created ) , referrer";
                        $sql = "SELECT DATE( created ) AS date, utm_campaign,referrer , COUNT( id ) AS count FROM users WHERE DATE(created) = '$date' AND  (utm_campaign IS NOT NULL OR referrer IS NOT NULL) GROUP BY DATE( created) ,utm_campaign,referrer";
                } else{
                        $date = date('Y-m-d',time()-86400);
                        #$sql = "SELECT DATE( created ) AS date, referrer , COUNT( id ) AS count FROM users WHERE DATEDIFF( NOW( ) , created ) = 1 AND referrer IS NOT NULL GROUP BY DATE( created ) , referrer";
                        $sql = "SELECT DATE( created ) AS date, utm_campaign,referrer , COUNT( id ) AS count FROM users WHERE DATEDIFF( NOW( ) , created ) = 1 AND  (utm_campaign IS NOT NULL OR referrer IS NOT NULL) GROUP BY DATE( created) ,utm_campaign,referrer";
                }
                $this->loadModel('User');               
                $activations = $this->User->query($sql);
                $this->set(compact('activations','date'));*/
                $data = $this->request->data;
                if(!empty($data)){
                        $date = $data['Report']['date']['year'].'-'.$data['Report']['date']['month'].'-'.$data['Report']['date']['day'];
                        #$sql = "SELECT DATE( created ) AS date, referrer , COUNT( id ) AS count FROM users WHERE DATE(created ) = '$date' AND referrer IS NOT NULL GROUP BY DATE( created ) , referrer";
                        $otherSql="SELECT a.name,count(*) as count from users u join retailerlinks rl join agents a on ((rl.code =upper( u.referrer) or rl.code=u.utm_campaign) and rl.agent_id = a.id) where date(rl.activated)='$date' group by rl.agent_id";
                        $sql = "SELECT DATE( created ) AS date, utm_campaign,referrer , COUNT( id ) AS count FROM users WHERE DATE(created) = '$date' AND  (utm_campaign IS NOT NULL OR referrer IS NOT NULL) GROUP BY DATE( created) ,utm_campaign,referrer";
                } else{
                        // $date = date('Y-m-d',time()-86400);
                        #$sql = "SELECT DATE( created ) AS date, referrer , COUNT( id ) AS count FROM users WHERE DATEDIFF( NOW( ) , created ) = 1 AND referrer IS NOT NULL GROUP BY DATE( created ) , referrer";
                        $otherSql="SELECT a.name,count(*) as count from users u join retailerlinks rl join agents a on ((rl.code =upper( u.referrer) or rl.code=u.utm_campaign) and rl.agent_id = a.id) where date(rl.activated)=NOW() group by rl.agent_id";
                        $sql = "SELECT DATE( created ) AS date, utm_campaign,referrer , COUNT( id ) AS count FROM users WHERE  DATE( created ) = CURDATE() AND  (utm_campaign IS NOT NULL OR referrer IS NOT NULL) GROUP BY DATE( created) ,utm_campaign,referrer";
                }
                $this->loadModel('User');               
                $activations = $this->User->query($sql);
                foreach ($activations as $key => $value) {
                        if(isset($value['users']['utm_campaign'])){
                                #debug($value['users']['utm_campaign']);                
                                $val=$value['users']['utm_campaign'];
                                $sql = "SELECT name from agents where id = (select agent_id from retailerlinks where code=upper('$val'));";
                                $this->loadModel('Agent');      
                                $agentname = $this->Agent->query($sql);
                                array_push($activations[$key], $agentname[0]['agents']['name']);
                        }else{
                                #debug($value['users']['referrer']);                    
                                $val=$value['users']['referrer'];
                                $sql1 = "SELECT name from agents where id = (select agent_id from retailerlinks where code=upper('$val'));";
                                $this->loadModel('Agent');      
                                $agentname = $this->Agent->query($sql1);
                                array_push($activations[$key], $agentname[0]['agents']['name']);
                        }
                }
                $agentActivations = $this->User->query($otherSql);
                $this->set('agentActivations',$agentActivations);
                $this->set(compact('activations','date'));
        }
}