Subversion Repositories SmartDukaan

Rev

Rev 17849 | Rev 17878 | 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 ShippingsController extends AppController {

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

        public function beforeFilter() {
                parent::beforeFilter();
                $this->apihost = Configure::read('pythonapihost');
                $this->mobileapihost = Configure::read('saholicapihost');
                $this->Auth->allow('isServicable');
        }
        

        public function index(){
                $userId = $this->Auth->User('id');
                $dataGiven = json_decode($this->request->data['cart_details']);
                if ($this->request->is('post')) {
                        $data = $this->request->data;
                }
                
                $suserId = base64_decode($_COOKIE['s_id']);
                $scartId = base64_decode($_COOKIE['s_cart']);
                $semailId = base64_decode($_COOKIE['s_email']);
                
                $pincode = 0;
                
                if($pincode==0 && isset($_COOKIE['s_pincode'])){
                        $pincode = base64_decode($_COOKIE['s_pincode']);
                }
                
                $cartItems = array();
                
                foreach ($dataGiven->cartItems as $key=>$obj) {
                    $itemobj = array(
                                        'itemId'   => $key,
                                'quantity' => $obj->quantity);
                        array_push($cartItems, $itemobj);
                }
                $postData = array(
                                        'cartItems'     =>      $cartItems
                                        );
                                        
                $params = array(
                                'cartMap' => urlencode(json_encode($postData)));
                
                $this->layout = 'cartinnerpages';
                $url = Configure::read('saholicapihost').'cart!validateCart?isLoggedIn=true&privateDealUser=true&userId='.$suserId.'&id='.$scartId.'&email='.$semailId;
                if($pincode!='0'){
                        $url = $url.'&pinCode='.$pincode;
                }
                print_r('Cart Vaildation');
                $cartskus = $this->post_cartinfo_request($url,$params);
                print_r(count($cartskus['cartMessages']));
                if(isset($cartskus['response']) && $cartskus['response']=='error'){
                        $this->set(compact('cartskus'));
                        $this->render('/Users/cartdetails');
                        
                }elseif(isset($cartskus['cartMessages']) && count($cartskus['cartMessages'])>0){
                        setcookie('s_pincode', base64_encode($cartskus['pincode']), -1, '/');
                        $this->set(compact('cartskus'));
                        $this->render('/Users/cartdetails');
                }else{
                        print_r('Shipping Vaildation');
                        $totalPayable = intval($dataGiven->totalCartValue) + intval($dataGiven->shippingCharges);
                        $this->Session->write('totalPayable', $totalPayable);
                        $this->layout = 'innerpages';
                        $suserId = base64_decode($_COOKIE['s_id']);
                        $url = Configure::read('saholicapihost').'address?isLoggedIn=true&privateDealUser=true&userId='.$suserId;
                        $response = $this->make_request($url,null);
                        //debug($response);
                        if(empty($response['addresses'])){
                                $this->redirect(array('action' => 'add'));
                        }
        
                        $firstshowaddress = array();
                        
                        $defaultaddressid = $response['defaultAddress'];
                        if(!empty($defaultaddressid)){
                                $defaultaddressid = intval($defaultaddressid);
                        }else{
                                $defaultaddressid = -1;
                        }
                        
                        $defaultAddress = array();
                        $similarAddress = array();
                        $otherAddress = array();
                        $defaultPinAddress = array();
                        $defaultAddressFound = false;
                        
                        foreach ($response['addresses'] as $key => $value) {
                                if($defaultaddressid>-1 && $value['id']==$defaultaddressid && $value['pin']== $pincode){
                                        array_push($defaultAddress, $value);
                                        $defaultAddressFound = true;
                                }
                                else if($value['pin']== $pincode){
                                        array_push($similarAddress, $value);
                                        $defaultAddressFound = true;
                                }
                                else if($value['id'] == $defaultaddressid)
                                {
                                        array_push($defaultPinAddress, $value);
                                }       
                                else{
                                        array_push($otherAddress, $value);
                                }
                        }
                        for($i= 0; $i<count($defaultAddress);$i++)
                        {
                                array_push($firstshowaddress,$defaultAddress[$i]);
                        }
                        for($i= 0; $i<count($similarAddress);$i++)
                        {
                                array_push($firstshowaddress,$similarAddress[$i]);
                        }
                        for($i= 0; $i<count($defaultPinAddress);$i++)
                        {
                                array_push($firstshowaddress,$defaultPinAddress[$i]);
                        }
                        for($i= 0; $i<count($otherAddress);$i++)
                        {
                                array_push($firstshowaddress,$otherAddress[$i]);
                        }
                        
                        $this->set(compact('firstshowaddress','defaultAddressFound', 'defaultaddressid', 'totalPayable'));
                }
                

        }

        public function add() {
                $this->layout = 'innerpages';
                $pinval = 232104;
                setcookie('pin', $pinval, -1, '/');
                $nameval = "Roman";
                setcookie('name', $nameval, -1, '/');

                if ($this->request->is('post')) {
                        $data = $this->request->data;
                        if($data['name'] == "")
                        {
                                $senddata['name'] = $_COOKIE['name'];   
                        }
                        else
                        {
                                $senddata['name'] = $data['name'];      
                        }
                        
                        $senddata['line1'] = $data['line1'];
                        $senddata['line2'] = "";
                        $senddata['city'] = $data['city'];
                        $senddata['state'] = $data['state'];
                        if($data['pin'] == "")
                        {
                                $senddata['pin'] = $_COOKIE['pin'];     
                        }
                        else
                        {
                                $senddata['pin'] = $data['pin'];        
                        }
                        $senddata['phone'] = $data['phone'];
                        $senddata['country'] = 'India';
                        // debug($senddata);
                        $url  = "http://shop2020.in:8080/mobileapi/address?userId=41&isLoggedIn=true&cartId=41&isPrivateDealUser=true";
                        $response = $this->post_request($url,$senddata);
                        $this->redirect(array('action' => 'index'));
                        
                }
                
                // debug($_COOKIE['pin']);
                $url = "http://dtr:8057/pincodeValidation/".$_COOKIE['pin'];
                $getstate =$this->make_request($url , null);
                // debug($getstate);
                $getstateval = "";
                if($getstate != "{}"){
                        $getstateval =ucwords(strtolower($getstate['state']));
                }
                $this->set(compact('getstateval'));
        }
         public function change(){
                $this->layout = 'innerpages';
                if($this->request->is('post'))
                {
                        echo "Hello";
                }
         }

         public function getstate($pin_val){
                $this->autoRender = false;      
                $this->request->onlyAllow('ajax');
                $url = $this->apihost."pincodeValidation/".$pin_val;
                $getstate =$this->make_request($url , null);
                // $getstate['state'] =  ucwords(strtolower($getstate['state']));
                $nothing = "nothing";
                if($getstate != "{}"){
                        $getstate['state'] =  ucwords(strtolower($getstate['state']));
                        
                }
                return json_encode($getstate);
         }

         public function isServicable($pin){
                $this->autoRender = false;      
                $this->request->onlyAllow('ajax');
                // $url = "http://shop2020.in:8080/mobileapi/address!serviceable?pincode=".$pin;
                // $response = $this->make_request($url,null);
                if($pin == 110019)
                {$res = 'false';}
                else
                        {$res = 'true';}
                return $res;
         }
         
         public function checkout(){
                $addressid = json_decode($this->request->data['addressid']);
                $pincode = 0;
                $cod = $this->request->query('cod');
                $userId = $this->request->query('user_id');
                
                if(isset($this->request->data->pincode)){
                        $pincode = $this->request->data->pincode;
                }
                if($pincode==0 && isset($_COOKIE['s_pincode'])){
                        $pincode = base64_decode($_COOKIE['s_pincode']);
                }
                
                $suserId = base64_decode($_COOKIE['s_id']);
                $scartId = base64_decode($_COOKIE['s_cart']);
                $semailId = base64_decode($_COOKIE['s_email']);
                
                if(isset($_COOKIE['txn_comp'])) {
                        unset($_COOKIE['txn_comp']);
                }
                
                if($cod==1){
                        $url = Configure::read('saholicapihost').'order?payment_option=3000&isLoggedIn=true&privateDealUser=true&userId='.$suserId.'&id='.$scartId.'&email='.$semailId.'&addressid='.$addressid;
                        if($pincode!='0'){
                                $url = $url.'&pinCode='.$pincode;
                        }
                        $orderCreationResponse = $this->post_cartinfo_request($url, null);
                        //{"response":{"success":true,"redirectUrl":"pay-success?paymentId=998593"}}
                        $redirecturl = $orderCreationResponse['response']['redirectUrl'];
                        if (strpos($redirecturl,'pay-success') === false) {
                            setcookie('txn_comp', 0, -1, '/');
                        }
                        $this->layout = 'innerpages';
                        $next = $redirecturl;                                   
                        $redirectUrl = $this->getAutoLoginUrl($userId,$next);
                        $this->log($redirectUrl,'headers');
                        $this->set(compact('redirectUrl','next'));
                }else{
                        $dataGiven = json_decode($this->request->data['cart_details']);
                        $totalSkus= intval($dataGiven->totalSkus);
                        setcookie('txn_comp', 0, -1, '/');
                        $this->layout = 'innerpages';
                        $next = "payment?cq=".$totalSkus;                                       
                        $redirectUrl = $this->getAutoLoginUrl($userId,$next);
                        $this->log($redirectUrl,'headers');
                        $this->set(compact('redirectUrl','next'));
                }
         }

}