Guest User

Doku Controller

a guest
Apr 20th, 2016
2,919
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 42.68 KB | None | 0 0
  1. <?php
  2. class DokuController extends Controller
  3. {
  4.     public function accessRules()
  5.     {
  6.         return array(
  7.             array('allow',
  8.                 'actions'=>array('Dokuprocess','Dokupersonalize','Dokucanvas','PhotoalbumCheckout','PersonalizeCheckout','CanvasCheckout', 'Info', 'Pdfinvoice'),
  9.                 'users'=>array('@'),
  10.             ),
  11.             array('allow',
  12.                 'actions'=>array('DokuNotify','Success','DokuRedirect', 'Successmail', 'Failedmail', 'Pendingmail','Testmail'),
  13.                 'users'=>array('*'),
  14.             ),
  15.             array('deny',
  16.                 'users'=>array('*'),
  17.             ),
  18.         );
  19.     }
  20.  
  21.     public function actionPhotoalbumCheckout()
  22.     {
  23.         $data=Yii::app()->session[Yii::app()->User->name.'photoalbum'];
  24.         $invoice=Yii::app()->session[Yii::app()->User->name.'photoalbuminv']=OrderPayment::model()->invoice();
  25.         $size=PaketAlbum::model()->findByPk($data['size']);
  26.  
  27.         $model_order = new OrderPayment;
  28.         $model_doku = new Doku;
  29.  
  30.         $model_order->invoice = $invoice;
  31.         $model_order->customer_id = Yii::app()->user->id;
  32.         $model_order->address = $data['delivery']['address'];
  33.         $model_order->status_payment = 'requested';
  34.         $model_order->order_type = 'Photobook Album';
  35.         $model_order->total_price = $size['price'];
  36.         $model_order->order_date = date("Y-m-d H:i:s");
  37.         $model_order->payment_date = date("Y-m-d H:i:s");
  38.         $model_order->child_dir = $data['child_dir'];
  39.  
  40.         $word=$data['total_city'].'.00'.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice;
  41.         $words=Yii::app()->session[Yii::app()->User->name.'photoalbumwrd']=sha1($word);
  42.  
  43.         $model_doku->transidmerchant = $invoice;
  44.         $model_doku->totalamount = $data['total_city'];
  45.         $model_doku->words = $words;
  46.         $model_doku->payment_date_time = date("Y-m-d H:i:s");
  47.  
  48.  
  49.         $size=PaketAlbum::model()->findByPk(Yii::app()->session[Yii::app()->User->name.'photoalbum']['size']);
  50.         $session = Yii::app()->session[Yii::app()->User->name.'photoalbum'] = array(
  51.                 'directory'         =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['directory'],
  52.                 'date'              =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['date'],
  53.                 // 'format'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['format'],
  54.                 'size'              =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['size'],
  55.                 'size_name'         =>$size->name,
  56.                 'colorcover'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['colorcover'],
  57.                 'theme_id'          =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['theme_id'],
  58.                 'themename'         =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['themename'],
  59.                 'child_dir'         =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['child_dir'],
  60.                 'orderdata'         =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['orderdata'],
  61.  
  62.                 'imagedirectory1'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory1'],
  63.                 'itemorder1'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder1'],
  64.                 'page1'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page1'],
  65.                 'childpage1'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage1'],
  66.                
  67.                 'imagedirectory2'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory2'],
  68.                 'itemorder2'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder2'],
  69.                 'page2'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page2'],
  70.                 'childpage2'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage2'],
  71.  
  72.                 'imagedirectory3'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory3'],
  73.                 'itemorder3'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder3'],
  74.                 'page3'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page3'],
  75.                 'childpage3'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage3'],
  76.  
  77.                 'imagedirectory4'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory4'],
  78.                 'itemorder4'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder4'],
  79.                 'page4'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page4'],
  80.                 'childpage4'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage4'],
  81.  
  82.                 'imagedirectory5'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory5'],
  83.                 'itemorder5'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder5'],
  84.                 'page5'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page5'],
  85.                 'childpage5'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage5'],
  86.  
  87.                 'imagedirectory6'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory6'],
  88.                 'itemorder6'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder6'],
  89.                 'page6'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page6'],
  90.                 'childpage6'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage6'],
  91.  
  92.                 'imagedirectory7'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory7'],
  93.                 'itemorder7'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder7'],
  94.                 'page7'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page7'],
  95.                 'childpage7'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage7'],
  96.  
  97.                 'imagedirectory8'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory8'],
  98.                 'itemorder8'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder8'],
  99.                 'page8'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page8'],
  100.                 'childpage8'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage8'],
  101.  
  102.                 'imagedirectory9'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory9'],
  103.                 'itemorder9'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder9'],
  104.                 'page9'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page9'],
  105.                 'childpage9'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage9'],
  106.  
  107.                 'imagedirectory10'  =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory10'],
  108.                 'itemorder10'       =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder10'],
  109.                 'page10'            =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page10'],
  110.                 'childpage10'       =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage10'],
  111.  
  112.                 'imagedirectory11'  =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory11'],
  113.                 'itemorder11'       =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder11'],
  114.                 'page11'            =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page11'],
  115.                 'childpage11'       =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage11'],
  116.  
  117.                 'imagedirectory12'  =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory12'],
  118.                 'itemorder12'       =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder12'],
  119.                 'page12'            =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page12'],
  120.                 'childpage12'       =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage12'],
  121.  
  122.                 'email'             =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['email'],
  123.                 'shipping_method'   =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['shipping_method'],
  124.                 'delivery'          =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['delivery'],
  125.                 'total_city'        =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['total_city'],
  126.                 'invoice'           =>$invoice
  127.             );
  128.  
  129.         // if($model->save() and $model_order->save() and $model_doku->save()){
  130.         if($model_order->save() and $model_doku->save()){
  131.             $this->redirect(array('dokuprocess'));
  132.         }else{
  133.             echo 'Error COC<br/>';
  134.         }
  135.     }
  136.  
  137.     public function actionPersonalizeCheckout()
  138.     {
  139.         $data =Yii::app()->session[Yii::app()->User->name.'personalize'];
  140.         $modelPayment = new OrderPayment;
  141.         $modelDoku = new Doku;
  142.         /*echo "<pre>";
  143.         var_dump($data);die();*/
  144.         $total = $data['total_city'];
  145.  
  146.         if (9009!=Yii::app()->user->id) {
  147.             $user=User::model()->findByPk(Yii::app()->user->id);
  148.         } else {
  149.             $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
  150.         }
  151.  
  152.         $total_item = count($data['itemorder']);
  153.         $invoice    = OrderPayment::model()->invoice();
  154.         $words      = sha1($total.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice);
  155.  
  156.         //save to table order_payment
  157.         $modelPayment->invoice = $invoice;
  158.         $modelPayment->customer_id  = Yii::app()->user->id;
  159.         $modelPayment->address   = $data['address'];
  160.         $modelPayment->status_payment = 'Requested';
  161.         $modelPayment->total_price  = $total;
  162.         $modelPayment->total_item  = $total_item;
  163.         $modelPayment->order_type = 'Online Print';
  164.         $modelPayment->order_date  = date('Y-m-d H:i:s');
  165.         $modelPayment->payment_date = date('Y-m-d H:i:s');
  166.         $modelPayment->child_dir = $data['child_dir'];
  167.  
  168.         //save to table doku
  169.         $modelDoku->transidmerchant = $invoice;
  170.         $modelDoku->totalamount = $data['total_city'];
  171.         $modelDoku->words = $words;
  172.         $modelDoku->payment_date_time = date('Y-m-d H:i:s');
  173.         $modelDoku->trxstatus = 'Requested';
  174.  
  175.         $data = Yii::app()->session[Yii::app()->User->name.'personalize']= array(
  176.             'directory'             =>Yii::app()->session[Yii::app()->User->name.'personalize']['directory'],
  177.             //'formatsize'          =>Yii::app()->session[Yii::app()->User->name.'personalize']['formatsize'],
  178.             'date'                  =>Yii::app()->session[Yii::app()->User->name.'personalize']['date'],
  179.             'child_dir'             =>Yii::app()->session[Yii::app()->User->name.'personalize']['child_dir'],
  180.             'orderdata'             =>Yii::app()->session[Yii::app()->User->name.'personalize']['orderdata'],
  181.             'itemorder'             =>Yii::app()->session[Yii::app()->User->name.'personalize']['itemorder'],
  182.             'total_city'            =>Yii::app()->session[Yii::app()->User->name.'personalize']['total_city'],
  183.             //'theme'               =>Yii::app()->session[Yii::app()->User->name.'personalize']['theme'],
  184.             'shipping_method'       =>Yii::app()->session[Yii::app()->User->name.'personalize']['shipping_method'],
  185.             'email'                 =>Yii::app()->session[Yii::app()->User->name.'personalize']['email'],
  186.             'address'               =>Yii::app()->session[Yii::app()->User->name.'personalize']['address'],
  187.             'telephone'             =>Yii::app()->session[Yii::app()->User->name.'personalize']['telephone'],
  188.             'city_name'             =>Yii::app()->session[Yii::app()->User->name.'personalize']['city_name'],
  189.             'city_price'            =>Yii::app()->session[Yii::app()->User->name.'personalize']['city_price'],
  190.             'invoice'               =>$invoice
  191.         );
  192.  
  193.         if($modelPayment->save() and $modelDoku->save()){
  194.             $this->redirect(array('dokupersonalize'));
  195.         }else{
  196.             echo 'Error COC<br/>';
  197.         }
  198.     }
  199.  
  200.     public function actionCanvasCheckout()
  201.     {
  202.         $data =Yii::app()->session[Yii::app()->User->name.'canvas'];
  203.         $modelPayment = new OrderPayment;
  204.         $modelDoku = new Doku;
  205.         $total = '';
  206.         /*echo"<pre>";
  207.         var_dump($data);die;*/
  208.  
  209.         if (9009!=Yii::app()->user->id) {
  210.             $user=User::model()->findByPk(Yii::app()->user->id);
  211.         } else {
  212.             $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
  213.         }
  214.  
  215.         $total_item = count($data['itemorder']);
  216.         $invoice    = OrderPayment::model()->invoice();
  217.         $words      = sha1($data['total_city'].Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice);
  218.  
  219.         //save to table order_payment
  220.         $modelPayment->invoice = $invoice;
  221.         $modelPayment->customer_id  = Yii::app()->user->id;
  222.         $modelPayment->address   = $data['address'];
  223.         $modelPayment->status_payment = 'Requested';
  224.         $modelPayment->total_price  = $data['total_city'];
  225.         $modelPayment->total_item  = $total_item;
  226.         $modelPayment->order_type = 'Canvas Print';
  227.         $modelPayment->order_date  = date('Y-m-d H:i:s');
  228.         $modelPayment->payment_date = date('Y-m-d H:i:s');
  229.         $modelPayment->child_dir = $data['child_dir'];
  230.  
  231.         //save to table doku
  232.         $modelDoku->transidmerchant = $invoice;
  233.         $modelDoku->totalamount = $data['total_city'];
  234.         $modelDoku->words = $words;
  235.         $modelDoku->payment_date_time = date('Y-m-d H:i:s');
  236.  
  237.         $data = Yii::app()->session[Yii::app()->User->name.'canvas']= array(
  238.             'directory'             =>Yii::app()->session[Yii::app()->User->name.'canvas']['directory'],
  239.             //'formatsize'          =>Yii::app()->session[Yii::app()->User->name.'canvas']['formatsize'],
  240.             'date'                  =>Yii::app()->session[Yii::app()->User->name.'canvas']['date'],
  241.             'child_dir'             =>Yii::app()->session[Yii::app()->User->name.'canvas']['child_dir'],
  242.             'orderdata'             =>Yii::app()->session[Yii::app()->User->name.'canvas']['orderdata'],
  243.             'itemorder'             =>Yii::app()->session[Yii::app()->User->name.'canvas']['itemorder'],
  244.             //'total'               =>Yii::app()->session[Yii::app()->User->name.'canvas']['total_city'],
  245.             //'theme'               =>Yii::app()->session[Yii::app()->User->name.'canvas']['theme'],
  246.             'shipping_method'       =>Yii::app()->session[Yii::app()->User->name.'canvas']['email'],
  247.             'email'                 =>Yii::app()->session[Yii::app()->User->name.'canvas']['email'],
  248.             'address'               =>Yii::app()->session[Yii::app()->User->name.'canvas']['address'],
  249.             'telephone'             =>Yii::app()->session[Yii::app()->User->name.'canvas']['telephone'],
  250.             'city_name'             =>Yii::app()->session[Yii::app()->User->name.'canvas']['city_name'],
  251.             'city_price'            =>Yii::app()->session[Yii::app()->User->name.'canvas']['city_price'],
  252.             'total_city'            =>Yii::app()->session[Yii::app()->User->name.'canvas']['total_city'],
  253.             'invoice'               =>$invoice
  254.         );
  255.    
  256.         if($modelPayment->save() and $modelDoku->save()){
  257.             $this->redirect(array('dokucanvas'));
  258.         }else{
  259.             echo 'Something Error , Please Check<br/>';
  260.         }
  261.     }
  262.  
  263.     public function actionDokucanvas()
  264.     {
  265.         $data=Yii::app()->session[Yii::app()->User->name.'canvas'];
  266.         $model = OrderPayment::model()->findAllByAttributes(array('invoice'=>$data['invoice']));
  267.        
  268.         if (9009!=Yii::app()->user->id) {
  269.             $user=User::model()->findByPk(Yii::app()->user->id);
  270.         } else {
  271.             $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
  272.         }
  273.  
  274.    
  275.         $totalprice = $data['total_city'];
  276.         $itemTotal  = count($data['itemorder']);
  277.         $itemname   = 'Canvas Print';
  278.         $now        = date('Ymdhis');
  279.         $email      = $data['email'];
  280.         $address    = $data['address'];
  281.         $telephone  = $data['telephone'];
  282.         $name       = $user['firstname']." ".$user['lastname'];
  283.         $invoice    = $data['invoice'];
  284.         $basket     = $itemname.','.$totalprice.','.'1'.','.$totalprice;
  285.         $word       = $data['total_city'].'.00'.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice;
  286.         $words      = sha1($word);
  287.  
  288.         $this->render('dokucanvas',
  289.             array(
  290.                 'price'=>$totalprice,
  291.                 'now'=>$now,
  292.                 'words'=>$words,
  293.                 'address'=>$address,
  294.                 'name'=>$name,
  295.                 'email'=>$email,
  296.                 'invoice'=>$invoice,
  297.                 'basket'=>$basket,
  298.                 'data'=>$data,
  299.             )
  300.         );
  301.     }
  302.  
  303.  
  304.     public function actionDokupersonalize()
  305.     {
  306.         $data=Yii::app()->session[Yii::app()->User->name.'personalize'];
  307.         $model = OrderPayment::model()->findAllByAttributes(array('invoice'=>$data['invoice']));
  308.        
  309.         if (9009!=Yii::app()->user->id) {
  310.             $user=User::model()->findByPk(Yii::app()->user->id);
  311.         } else {
  312.             $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
  313.         }
  314.        
  315.         $itemQty = '';
  316.  
  317.         //doku form
  318.         $itemTotal  = count($data['itemorder']);
  319.         $itemname   = 'Photo Print';
  320.         $now        = date('Ymdhis');
  321.         $email      = $data['email'];
  322.         $address    = $data['address'];
  323.         $telephone  = $data['telephone'];
  324.         $name       = $user['firstname']." ".$user['lastname'];
  325.         $invoice    = $data['invoice'];
  326.         $basket     = $itemname.','.$data['total_city'].','.'1'.','.$data['total_city'];
  327.         $word       = $data['total_city'].'.00'.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice;
  328.         $words      = sha1($word);
  329.  
  330.         $this->render('dokupersonalize',
  331.             array(
  332.                 'price'=>$data['total_city'],
  333.                 'now'=>$now,
  334.                 'words'=>$words,
  335.                 'address'=>$address,
  336.                 'name'=>$name,
  337.                 'email'=>$email,
  338.                 'invoice'=>$invoice,
  339.                 'basket'=>$basket,
  340.                 'data'=>$data,
  341.             )
  342.         );
  343.     }
  344.  
  345.     public function actionDokuprocess()
  346.     {
  347.         $model = new DokuRedirect;
  348.         $data=Yii::app()->session[Yii::app()->User->name.'photoalbum'];
  349.  
  350.         $size=PaketAlbum::model()->findByPk($data['size']);
  351.         $id_paket = $size['id_paket'];
  352.         $itemprice = $data['total_city'].'.00';
  353.         $itemqty = '1';
  354.         $itemtotal = $data['total_city'].'.00';
  355.         $item=$size['name'];
  356.  
  357.         $now=date('Ymdhis');
  358.         $invoice=Yii::app()->session[Yii::app()->User->name.'photoalbuminv'];
  359.        
  360.         if (9009!=Yii::app()->user->id) {
  361.             $user=User::model()->findByPk(Yii::app()->user->id);
  362.         } else {
  363.             $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
  364.         }
  365.        
  366.         $address=$user['address'];
  367.         $name=$user['firstname']." ".$user['lastname'];
  368.         $email=$user['email'];
  369.         $basket = 'photobooks'.','.$itemtotal.','.$itemqty.','.$itemtotal;
  370.         $words = Yii::app()->session[Yii::app()->User->name.'photoalbumwrd'];
  371.         // $word=$size->price.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice;
  372.         // $words=sha1($word);
  373.  
  374.         $this->render('dokuprocess',
  375.             array(
  376.                 'model'=>$model,
  377.                 'price'=>$itemprice,
  378.                 'now'=>$now,
  379.                 'words'=>$words,
  380.                 'address'=>$address,
  381.                 'name'=>$name,
  382.                 'email'=>$email,
  383.                 'invoice'=>$invoice,
  384.                 'basket'=>$basket
  385.             )
  386.         );
  387.     }
  388.  
  389.     public function actionDokuNotify()
  390.     {
  391.         if(isset($_POST['TRANSIDMERCHANT'])) {
  392.             $order_number = $_POST['TRANSIDMERCHANT'];
  393.         }else {
  394.             $order_number = '0';
  395.         }
  396.  
  397.         $totalamount = $_POST['AMOUNT'];
  398.         $status      = $_POST['RESULTMSG'];
  399.  
  400.         $data = array();
  401.  
  402.         $data["trxstatus"]      = $_POST['RESULTMSG'];
  403.         $data["words"]          = $_POST['WORDS'];
  404.         $data["statustype"]     = $_POST['STATUSTYPE'];
  405.         $data["response_code"]  = $_POST['RESPONSECODE'];
  406.         $data["approvalcode"]   = $_POST['APPROVALCODE'];
  407.         $data["payment_channel"]= $_POST['PAYMENTCHANNEL'];
  408.         $data["paymentcode"]    = $_POST['PAYMENTCODE'];
  409.         $data["session_id"]     = $_POST['SESSIONID'];
  410.         $data["bank_issuer"]    = $_POST['BANK'];
  411.         $data["creditcard"]     = $_POST['MCN'];
  412.         $data["payment_date_time"] = $_POST['PAYMENTDATETIME'];
  413.         $data["verifyid"]       = $_POST['VERIFYID'];
  414.         $data["verifyscore"]    = $_POST['VERIFYSCORE'];
  415.         $data["verifystatus"]   = $_POST['VERIFYSTATUS'];
  416.  
  417.         $payment_channel        = $_POST['PAYMENTCHANNEL'];
  418.  
  419.         /*$order_number = 'DMD00356';
  420.         $payment_channel = '05';
  421.         $status = 'SUCCESS';*/
  422.  
  423.         $model=Doku::model()->findAll(
  424.             array(
  425.                 'condition'=>'transidmerchant = :transidmerchant AND trxstatus = :trxstatus',
  426.                 'params'=>array(':transidmerchant'=>$order_number, ':trxstatus'=>'Requested'),
  427.             )
  428.         );
  429.        
  430.         $rows = count($model);
  431.  
  432.         $datanya_ada = false;
  433.  
  434.         if($rows != 0){
  435.             $datanya_ada = true;
  436.         }
  437.  
  438.         /*var_dump($payment_channel);
  439.         die();*/
  440.  
  441.         if ($datanya_ada == true) {
  442.             if($status == "SUCCESS"){
  443.                 $update = Doku::model()->updateAll(array(
  444.                     'totalamount'=>$totalamount,
  445.                     'words'=>$data['words'],
  446.                     'statustype'=>$data['statustype'],
  447.                     'response_code'=>$data['response_code'],
  448.                     'approvalcode'=>$data['approvalcode'],
  449.                     'trxstatus'=>$data['trxstatus'],
  450.                     'payment_channel'=>$data['payment_channel'],
  451.                     'paymentcode'=>$data['paymentcode'],
  452.                     'session_id'=>$data['session_id'],
  453.                     'bank_issuer'=>$data['bank_issuer'],
  454.                     'creditcard'=>$data['creditcard'],
  455.                     'payment_date_time'=>$data['payment_date_time'],
  456.                     'verifyid'=>$data['verifyid'],
  457.                     'verifyscore'=>$data['verifyscore'],
  458.                     'verifystatus'=>$data['verifystatus']), 'transidmerchant = "'.$order_number.'" ');
  459.  
  460.                 OrderPayment::model()->updateAll(
  461.                     array(
  462.                         'status_payment' => 'SUCCESS',
  463.                         'payment_date' => date('Y-m-d H:i:s')
  464.                     ),
  465.                     'invoice ="'.$order_number.'"'
  466.                 );
  467.  
  468.                 if ($payment_channel == "05") {
  469.                     /*Dari script bawah hasilnya response 500 di mana mestinya 200*/
  470.                     file_get_contents(Yii::app()->request->baseUrl.'/doku/successmail'); /*Ini yg make file get content */
  471.                     //$this->actionSuccessmail($order_number); /*Ini yabng sebelumnya di bikin sama mas arya */
  472.                 }
  473.  
  474.             } else {
  475.                 $update = Doku::model()->updateAll(array( "trxstatus" => "FAILED"), "transidmerchant ='".$order_number."'" );
  476.                 /*Dari script bawah hasilnya response 500 di mana mestinya 200*/
  477.                 file_get_contents(Yii::app()->request->baseUrl.'/doku/failedmail');
  478.             }
  479.             $status = 'CONTINUE';
  480.         }   else {
  481.             $status = 'STOP';
  482.         }
  483.         echo $status;
  484.  
  485.         /*ini barusan aku bikin ini tadi , status nya continue di log doku cuma email terkirim*/
  486.         /*if ($status == 'CONTINUE' && $payment_channel == "05") {
  487.             $this->redirect(array('successmail'));
  488.         }else if($status == 'STOP' && $payment_channel == "05"){
  489.             $this->redirect(array('failedmail'));
  490.         }*/
  491.     }
  492.  
  493.     public function actionDokuRedirect()
  494.     {
  495.         //Masuk URL Redirect
  496.         $status_code            = $_POST["STATUSCODE"];
  497.         $invoice                = $_POST['TRANSIDMERCHANT'];
  498.  
  499.         $data = array();
  500.  
  501.         $data["totalamount"]    = $_POST['AMOUNT'];
  502.         $data["transidmerchant"]= $_POST['TRANSIDMERCHANT'];
  503.         $data["words"]          = $_POST['WORDS'];
  504.         $data["statustype"]     = $_POST['STATUSCODE'];
  505.         $data["payment_channel"]= $_POST['PAYMENTCHANNEL'];
  506.         $data["session_id"]     = $_POST['SESSIONID'];
  507.         $data["paymentcode"]    = $_POST['PAYMENTCODE'];
  508.  
  509.         $transaksi=OrderPayment::model()->findAll(
  510.             array(
  511.                 'condition'=>'invoice=:invoice',
  512.                 'params'=>array(':invoice'=>$invoice),
  513.             )
  514.         );
  515.  
  516.         if(!empty($transaksi) or null!==$transaksi) {
  517.             $data_transaksi_ada = true;
  518.         }
  519.  
  520.         /*and $data_transaksi_ada*/
  521.         if($status_code == "0000") {
  522.  
  523.             $this->redirect(array('successmail'));
  524.        
  525.         } else if ('5511'==$status_code)  {
  526.             $this->redirect(array('pendingmail','paymentcode'=>$data["paymentcode"]));
  527.         }
  528.         else {
  529.             //jika pembayaran gagal
  530.             $this->redirect(array('failedmail'));
  531.         }
  532.  
  533.     }
  534.  
  535.     public function actionSuccessmail($order_number=null)
  536.     {
  537.         $size_data="";
  538.         if (!empty($order_number)) {
  539.             $order=OrderPayment::model()->findByAttributes(array('invoice'=>$order_number));
  540.             $user=User::model()->findByPk($order->customer_id);
  541.             $ordertype=$order->order_type;
  542.         } else {
  543.             if (9009!=Yii::app()->user->id) {
  544.                 $user=User::model()->findByPk(Yii::app()->user->id);
  545.             } else {
  546.                 $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
  547.             }
  548.  
  549.             if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
  550.                 $data = Yii::app()->session[Yii::app()->User->name.'photoalbum'];
  551.                 $ordertype="Photobook Album";
  552.                 $ordertipe="PhotobookAlbum";
  553.                 $size_data=$data['size_name'];
  554.                
  555.                 $cover=CoverPhotobooks::model()->findByPk(Yii::app()->session[Yii::app()->User->name.'photoalbum']['size']);
  556.                 $cover->stock=$cover->stock-1;
  557.                 $cover->save();
  558.  
  559.                 // add to TXT FILE
  560.                 $file = Yii::app()->session[Yii::app()->User->name.'photoalbum']['directory']."/".Yii::app()->session[Yii::app()->User->name.'photoalbum']['orderdata'].".txt";
  561.                 $fh = fopen($file, 'a') or die("can't open file");
  562.                 $content_data= "\r\n";
  563.                
  564.                 $content_data.= "Invoice\r\n";
  565.                 $content_data.= "----------------------------------------------\r\n";
  566.                 $content_data.= "Invoice : ".$data['invoice']."\r\n";
  567.                 fwrite($fh, $content_data);
  568.                 fclose($fh);
  569.             }
  570.             else if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
  571.                 $data = Yii::app()->session[Yii::app()->User->name.'canvas'];
  572.                 $ordertype="Canvas Print";
  573.                 $ordertipe="CanvasPrint";
  574.                 $size_data=Yii::app()->session[Yii::app()->User->name.'canvas']['itemorder'];
  575.  
  576.                 //add to TXT FILE
  577.                 $content = '';
  578.                 $file = Yii::app()->session[Yii::app()->User->name.'canvas']['directory']."/".Yii::app()->session[Yii::app()->User->name.'canvas']['orderdata'].".txt";
  579.                 $fh = fopen($file, 'a') or die("can't open file");
  580.                
  581.                 $content.= "Invoice\r\n";
  582.                 $content.= "----------------------------------------------\r\n";
  583.                 $content.= "Invoice : ".$data['invoice']."\r\n";
  584.                 $content.= "\r\n";
  585.                 fwrite($fh, $content);
  586.                 fclose($fh);
  587.             }
  588.             else if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
  589.                 $data = Yii::app()->session[Yii::app()->User->name.'personalize'];
  590.                 $ordertype="Online Print";
  591.                 $ordertipe="OnlinePrint";
  592.                 $size_data=Yii::app()->session[Yii::app()->User->name.'personalize']['itemorder'];
  593.  
  594.                 //add to TXT FILE
  595.                 $file = Yii::app()->session[Yii::app()->User->name.'personalize']['directory']."/".Yii::app()->session[Yii::app()->User->name.'personalize']['orderdata'].".txt";              
  596.                 $fh = fopen($file, 'a') or die("can't open file");
  597.  
  598.                 $content.= "Invoice\r\n";
  599.                 $content.= "----------------------------------------------\r\n";
  600.                 $content.= "Invoice : ".$data['invoice']."\r\n";
  601.                 $content.= "\r\n";
  602.                 fwrite($fh, $content);
  603.                 fclose($fh);
  604.             }
  605.         }
  606.  
  607.         // get invoice pdf
  608.         if (isset($size_data)) {
  609.             if (is_array($size_data)) {
  610.                 $user->itemorder=serialize($size_data);
  611.                 $user->save();
  612.             } else {
  613.                 $user->itemorder=$size_data;
  614.                 $user->save();
  615.             }
  616.         }
  617.         $pdf_uri=Yii::app()->createAbsoluteUrl('doku/Pdfinvoice',array('invoice'=>$data['invoice'],'ordertipe'=>$ordertipe,'user'=>$user->id));
  618.         $invoice_binary=file_get_contents($pdf_uri);
  619.  
  620.         $base_directory=Yii::app()->basePath . '/../sync';
  621.         // $child_dir='/'.$ordertype.'/'.Yii::app()->User->name.'/'.$data['date'];
  622.         $child_dir=$data['child_dir'];
  623.         $syncdirectory=$base_directory.$child_dir;
  624.  
  625.         $copy=CFileHelper::copyDirectory($data['directory'], $syncdirectory);
  626.  
  627.         $name = $user->firstname." ".$user->lastname;
  628.         // $email = $data['email'];
  629.         $email = $user->email;
  630.         $invoice = $data['invoice'];
  631.         $totalprice = $data['total_city'];
  632.         $status = "SUCCESS TRANSACTION ORDER";
  633.         $type = $ordertype;
  634.         //$theme = $data['theme'];
  635.         $payment = "PAID";
  636.         //$formatsize = $data['formatsize'];
  637.         $logo = "<img src=http://diamonddigital.photo/onlineprint/themes/1screen/images/logo.png>";
  638.  
  639.         $message="Dear ".$name.", <br/><br/>";
  640.         $message.="Thank You For Your Transaction With Diamond Digital Photo";
  641.         $message.="<h1>Here Your Detail Order</h1>";
  642.         $message.="<table border='0'>
  643.                     <tr>
  644.                         <td colspan='3'>".$logo."</td>
  645.                     </tr>
  646.                     <tr>
  647.                         <td style='background-color: #f9f9f9;'>Customer Name</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'>".$name."</td>
  648.                     </tr>
  649.                     <tr>
  650.                         <td style='background-color: #f9f9f9;'>Invoice Number</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'>".$invoice."</td>
  651.                     </tr>
  652.                     <tr>
  653.                         <td style='background-color: #f9f9f9;'>Order Type</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'>".$type."</td>
  654.                     </tr>
  655.                     <tr>
  656.                         <td style='background-color: #f9f9f9;'>Transaction Status</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'><b>".$status."</b></td>
  657.                     </tr>
  658.                     <tr>
  659.                         <td style='background-color: #f9f9f9;'>Total Price</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'> IDR ".number_format($totalprice)."</td>
  660.                     </tr>
  661.                     <tr>
  662.                         <td style='background-color: #f9f9f9;'>Payment Status</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9; color: red;'><b>".$payment."</b></td>
  663.                     </tr>
  664.                     </table>";
  665.         // $message.='You also can download invoice <a href="'.$pdf_uri.'">here<a/>';
  666.  
  667.         $mail = new YiiMailer();
  668.         // $mail->AddStringAttachment($invoice_binary, "Bali-Photo-Pro.pdf", 'base64', 'application/pdf');
  669.         $mail->AddStringAttachment($invoice_binary, "Bali-Photo-Pro.pdf");
  670.         $mail->IsSMTP();
  671.         $mail->Host = Yii::app()->params['host'];
  672.         $mail->Port = Yii::app()->params['port'];
  673.         $mail->SMTPAuth = true;
  674.         $mail->Username = Yii::app()->params['apiUser'];
  675.         $mail->Password = Yii::app()->params['apiKey'];
  676.         $mail->IsHTML(true);
  677.         $mail->setFrom(Yii::app()->params['noReply']);
  678.         $mail->setSubject(Yii::app()->name.'Diamond Digital Photo Transaction Order');
  679.         $mail->setTo($email);
  680.         $mail->setCc(Yii::app()->params['cc1']);
  681.         // $mail->setCc("arya@alamaya.com");
  682.         $mail->setBody($message);
  683.         // $mail->setAttachment(array($invoice_binary,'Invoice.pdf','base64','application/pdf'));
  684.         $mail->send();
  685.  
  686.         // echo $pdf_uri;die();
  687.  
  688.         if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
  689.             unset(Yii::app()->session[Yii::app()->User->name.'personalize']);
  690.         }
  691.         if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
  692.             unset(Yii::app()->session[Yii::app()->User->name.'photoalbum']);
  693.         }
  694.         if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
  695.             unset(Yii::app()->session[Yii::app()->User->name.'canvas']);
  696.         }
  697.  
  698.         Yii::app()->user->setFlash('success',"Your order has been processed, Please Check Your Email For Confirmation");
  699.         $this->render('/site/common');
  700.     }
  701.  
  702.     public function actionPendingmail()
  703.     {
  704.         // $user=User::model()->findByPk(Yii::app()->user->id);
  705.         if (9009!=Yii::app()->user->id) {
  706.             $user=User::model()->findByPk(Yii::app()->user->id);
  707.         } else {
  708.             $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
  709.         }
  710.  
  711.         if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
  712.             $data = Yii::app()->session[Yii::app()->User->name.'photoalbum'];
  713.             $ordertype="Photobook Album";
  714.         }
  715.         else if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
  716.             $data = Yii::app()->session[Yii::app()->User->name.'canvas'];
  717.             $ordertype="Canvas Print";
  718.         }
  719.         else if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
  720.             $data = Yii::app()->session[Yii::app()->User->name.'personalize'];
  721.             $ordertype="Online Print";
  722.         }
  723.  
  724.         $base_directory=Yii::app()->basePath . '/../sync';
  725.         // $child_dir='/'.$ordertype.'/'.Yii::app()->User->name.'/'.$data['date'];
  726.         $child_dir=$data['child_dir'];
  727.         $syncdirectory=$base_directory.$child_dir;
  728.  
  729.         // $copy=CFileHelper::copyDirectory($data['directory'], $syncdirectory);
  730.  
  731.         $name = $user->firstname." ".$user->lastname;
  732.         // $email = $data['email'];
  733.         $email = $user->email;
  734.         $invoice = $data['invoice'];
  735.         $totalprice = $data['total_city'];
  736.         $status = "PENDING TRANSACTION ORDER";
  737.         $type = $ordertype;
  738.         //$theme = $data['theme'];
  739.         $payment = "PENDING";
  740.         //$formatsize = $data['formatsize'];
  741.         $logo = "<img style='margin: 0 auto;display: block;' src=http://diamonddigital.photo/onlineprint/themes/1screen/images/logo.png>";
  742.         $paymentcode=$_GET['paymentcode'];
  743.  
  744.         $message="Dear ".$name.", <br/><br/>";
  745.         $message.="Thank You For Your Transaction With Diamond Digital Photo";
  746.         $message.="<h1>Here Your Detail Order</h1>";
  747.         $message.="<table border='0'>
  748.                     <tbody style='background-color: #bba671;'>
  749.                     <tr>
  750.                         <td colspan='3' style='padding: 15px;'>".$logo."</td>
  751.                     </tr>
  752.                     <tr>
  753.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Customer Name</td>
  754.                         <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
  755.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>".$name."</td>
  756.                     </tr>
  757.                     <tr>
  758.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Invoice Number</td>
  759.                         <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
  760.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>".$invoice."</td>
  761.                     </tr>
  762.                     <tr>
  763.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Order Type</td>
  764.                         <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
  765.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>".$type."</td>
  766.                     </tr>
  767.                     <tr>
  768.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Payment Code</td>
  769.                         <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
  770.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>".$paymentcode."</td>
  771.                     </tr>
  772.                     <tr>
  773.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Transaction Status</td>
  774.                         <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
  775.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'><b>".$status."</b></td>
  776.                     </tr>
  777.                     <tr>
  778.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Total Price</td>
  779.                         <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
  780.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'> IDR ".number_format($totalprice)."</td>
  781.                     </tr>
  782.                     <tr>
  783.                         <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Payment Status</td>
  784.                         <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
  785.                         <td style='background-color: #bba671;color: #e53935;padding: 15px;font-weight: bold;font-size: 14px;letter-spacing: 2px;'><b>".$payment."</b></td>
  786.                     </tr>
  787.                     </tbody>
  788.                     </table>";
  789.         $message.='<br><br><b>Cara Melakukan Pembayaran Via ATM / Internet Banking</b><br>
  790.                 <br>
  791.                 <ul style="list-style: circle;">
  792.                     <li>Masukkan PIN</li>
  793.                     <li>Pilih <b>"TRANSAKSI LAINNYA"</b></li>
  794.                     <li>Pilih <b>"TRANSFER"</b></li>
  795.                     <li>Pilih <b>"KE REK BANK LAIN"</b></li>
  796.                     <li>Masukkan <b>Kode Bank Permata (013)</b> kemudian tekan <b>"Benar"</b></li>
  797.                     <li>Masukkan Jumlah pembayaran sesuai dengan yang ditagihkan
  798.                     (Jumlah yang ditransfer harus sama persis tidak boleh lebih
  799.                     dan kurang).<br><b>Jumlah nominal yang tidak sesuai dengan
  800.                     tagihan akan menyebabkan transaksi gagal.</b></li>
  801.                     <li>Masukkan Nomor Rekening tujuan dengan menggunakan Nomor Kode Pembayaran. Contoh : <b>8965011111111111</b>
  802.                     lalu tekan <b>"Benar"</b></li>
  803.                     <li>Muncul Layar Konfirmasi Transfer yang berisi nomor
  804.                     rekening tujuan Bank Permata dan Nama beserta jumlah yang
  805.                     dibayar, jika sudah benar, Tekan <b>"Benar"</b>.</li>
  806.                     <li>Selesai.</li>
  807.                 </ul>
  808.  
  809.                 <br><br>
  810.                 <b>NOTE :</b><br>
  811.                 <ul style="list-style: circle;">
  812.                     <li>Pembayaran <b>hanya bisa dilakukan di ATM atau Internet Banking</b> yang terhubung
  813.                     ke jaringan <b>ATM Bersama, Prima atau ALTO.</b> </li>
  814.  
  815.                     <li>Pelanggan dapat melakukan transfer melalui ATM ke bank-bank
  816.                     yang telah di tentukan dengan <b>batas maksimal waktu transfer 3
  817.                     jam</b>. </li>
  818.  
  819.                     <li>                                  
  820.                     Daftar Bank untuk Pembayaran Melalui ATM : BCA, MANDIRI, BNI,
  821.                     BII, BRI, DANAMON, PERMATA, MEGA, BUKOPIN, CIMB Niaga, PANIN,
  822.                     dan lain lain.<br>
  823.                     </li>
  824.                 </ul>';
  825.  
  826.         $mail = new YiiMailer();
  827.         $mail->IsSMTP();
  828.         $mail->Host = Yii::app()->params['host'];
  829.         $mail->Port = Yii::app()->params['port'];
  830.         $mail->SMTPAuth = true;
  831.         $mail->Username = Yii::app()->params['apiUser'];
  832.         $mail->Password = Yii::app()->params['apiKey'];
  833.         $mail->IsHTML(true);
  834.         $mail->setFrom(Yii::app()->params['noReply']);
  835.         $mail->setSubject(Yii::app()->name.'Diamond Digital Photo Transaction Order');
  836.         $mail->setTo($email);
  837.         $mail->setBody($message);
  838.         $mail->send();
  839.  
  840.         if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
  841.             unset(Yii::app()->session[Yii::app()->User->name.'personalize']);
  842.         }
  843.         if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
  844.             unset(Yii::app()->session[Yii::app()->User->name.'photoalbum']);
  845.         }
  846.         if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
  847.             unset(Yii::app()->session[Yii::app()->User->name.'canvas']);
  848.         }
  849.  
  850.         Yii::app()->user->setFlash('success',"Your order has been processed, Please Check Your Email For Confirmation");
  851.         $this->render('/site/common');
  852.     }
  853.    
  854.     public function actionFailedmail()
  855.     {
  856.         // $user=User::model()->findByPk(Yii::app()->user->id);
  857.         if (9009!=Yii::app()->user->id) {
  858.             $user=User::model()->findByPk(Yii::app()->user->id);
  859.         } else {
  860.             $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
  861.         }
  862.  
  863.         if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
  864.             $data = Yii::app()->session[Yii::app()->User->name.'photoalbum'];
  865.             $ordertype="Photobook Album";
  866.         }
  867.         else if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
  868.             $data = Yii::app()->session[Yii::app()->User->name.'canvas'];
  869.             $ordertype="Canvas Print";
  870.         }
  871.         else if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
  872.             $data = Yii::app()->session[Yii::app()->User->name.'personalize'];
  873.             $ordertype="Online Print";
  874.         }
  875.  
  876.         $base_directory=Yii::app()->basePath . '/..';
  877.         $child_dir='/sync/'.$ordertype.'/'.Yii::app()->User->name.'/'.$data['date'];
  878.         $syncdirectory=$base_directory.$child_dir;
  879.  
  880.         // $copy=CFileHelper::copyDirectory($data['directory'], $syncdirectory);
  881.  
  882.         $name = $user->firstname." ".$user->lastname;
  883.         // $email = $data['email'];
  884.         $email = $user->email;
  885.         $invoice = $data['invoice'];
  886.         $totalprice = $data['total_city'];
  887.         $status = "FAILED TRANSACTION ORDER";
  888.         $type = $ordertype;
  889.         //$theme = $data['theme'];
  890.         $payment = "FAILED";
  891.         //$formatsize = $data['formatsize'];
  892.         $logo = "<img src=http://diamonddigital.photo/onlineprint/themes/1screen/images/logo.png>";
  893.  
  894.         $message="Dear ".$name.", <br/><br/>";
  895.         $message.="Thank You For Your Transaction With Diamond Digital Photo";
  896.         $message.="<h1>Here Your Detail Order</h1>";
  897.         $message.="<table border='0'>
  898.                     <tr>
  899.                         <td colspan='3'>".$logo."</td>
  900.                     </tr>
  901.                     <tr>
  902.                         <td style='background-color: #f9f9f9;'>Customer Name</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'>".$name."</td>
  903.                     </tr>
  904.                     <tr>
  905.                         <td style='background-color: #f9f9f9;'>Invoice Number</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'>".$invoice."</td>
  906.                     </tr>
  907.                     <tr>
  908.                         <td style='background-color: #f9f9f9;'>Order Type</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'>".$type."</td>
  909.                     </tr>
  910.                     <tr>
  911.                         <td style='background-color: #f9f9f9;'>Transaction Status</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'><b>".$status."</b></td>
  912.                     </tr>
  913.                     <tr>
  914.                         <td style='background-color: #f9f9f9;'>Total Price</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9;'> IDR ".number_format($totalprice)."</td>
  915.                     </tr>
  916.                     <tr>
  917.                         <td style='background-color: #f9f9f9;'>Payment Status</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style='background-color: #f9f9f9; color: red;'><b>".$payment."</b></td>
  918.                     </tr>
  919.                     </table>";
  920.  
  921.         $mail = new YiiMailer();
  922.         $mail->IsSMTP();
  923.         $mail->Host = Yii::app()->params['host'];
  924.         $mail->Port = Yii::app()->params['port'];
  925.         $mail->SMTPAuth = true;
  926.         $mail->Username = Yii::app()->params['apiUser'];
  927.         $mail->Password = Yii::app()->params['apiKey'];
  928.         $mail->IsHTML(true);
  929.         $mail->setFrom(Yii::app()->params['noReply']);
  930.         $mail->setSubject(Yii::app()->name.'Diamond Digital Photo Transaction Order');
  931.         $mail->setTo($email);
  932.         $mail->setBody($message);
  933.         $mail->send();
  934.  
  935.         if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
  936.             unset(Yii::app()->session[Yii::app()->User->name.'personalize']);
  937.         }
  938.         if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
  939.             unset(Yii::app()->session[Yii::app()->User->name.'photoalbum']);
  940.         }
  941.         if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
  942.             unset(Yii::app()->session[Yii::app()->User->name.'canvas']);
  943.         }
  944.  
  945.         Yii::app()->user->setFlash('error',"Sorry , Your Order Has Been Failed To Process . Please Check Your Email For Confirmation");
  946.         $this->render('/site/common');
  947.     }
  948.  
  949.     public function actionInfo()
  950.     {
  951.         Yii::app()->user->setFlash('info',"We Already Sent Email To You . Please Check Your Email To Confirmation");
  952.         $this->render('/site/common');
  953.     }
  954.  
  955.     public function actionPdfinvoice($invoice, $ordertipe, $user){
  956.     // public function actionPdfinvoice(){
  957.         // $invoice='DMD00149';
  958.         $size_data="";
  959.         $user=User::model()->findByPk((int)$user);
  960.         if($ordertipe=="PhotobookAlbum"){
  961.             $size_data=$user->itemorder;
  962.         } else if($ordertipe=="CanvasPrint"){
  963.             $size_data=unserialize($user->itemorder);
  964.         } else if ($ordertipe=="OnlinePrint") {
  965.             $size_data=unserialize($user->itemorder);
  966.         }
  967.  
  968.         $transaksi=OrderPayment::model()->with('user')->findAll(
  969.             array(
  970.                 'condition'=>'invoice=:invoice',
  971.                 'params'=>array(':invoice'=>$invoice),
  972.             )
  973.         );
  974.  
  975.         $print_data=array();
  976.  
  977.         foreach($transaksi as $key=>$trans) {
  978.             $print_data["invoice"]=$trans["invoice"];
  979.             $print_data["total_price"]=$trans["total_price"];
  980.             $print_data["firstname"]=$trans["user"]["firstname"];
  981.             $print_data["lastname"]=$trans["user"]["lastname"];
  982.             $print_data["order_type"]=$trans["order_type"];
  983.             // $print_data["status_payment"]=$trans["status_payment"];
  984.             $print_data["status_trans"]='SUCCESS TRANSACTION ORDER';
  985.             $print_data["status_payment"]='PAID';
  986.         }
  987.  
  988.         Yii::import('application.extensions.tcpdf.*');
  989.         require_once('tcpdf.php');
  990.         require_once('config/lang/ind.php');
  991.         $html= $this->renderPartial('pdfinvoice',array('print_data'=>$print_data,'size_data'=>$size_data),true);
  992.         $pdf = new TCPDF();
  993.         $pdf->SetCreator(PDF_CREATOR);
  994.         $pdf->SetAuthor(Yii::app()->name);
  995.         $pdf->SetTitle('Invoice Bali Photo Pro');
  996.         $pdf->SetSubject('Invoice Bali Photo Pro');
  997.         $pdf->setPrintHeader(false);
  998.         //$pdf->setPrintFooter(false);
  999.         $pdf->setFooterFont(Array('helvetica', '', 10));
  1000.         $pdf->SetMargins(12,8, 12);
  1001.         $pdf->SetHeaderMargin(1);
  1002.         $pdf->SetFooterMargin(10);
  1003.         // $pdf->SetAutoPageBreak(TRUE, 0);
  1004.         $pdf->SetFont('helvetica', '', 10);
  1005.         $pdf->AddPage();
  1006.         $pdf->writeHTML($html, true, false, false, false, '');
  1007.         $pdf->LastPage();
  1008.         $pdf->Output("Bali-Photo-Pro.pdf", "I");
  1009.     }
  1010.  
  1011.     public function actionTestmail()
  1012.     {
  1013.         $logo = "<img src=http://diamonddigital.photo/images/logo-fix.jpg>";
  1014.         $temail="arya@alamaya.com";
  1015.         $t2email="arya2@alamaya.com";
  1016.  
  1017.         $message="Dear tst, <br/><br/>";
  1018.         $message.="Thank You For Your Transaction With Diamond Digital Photo";
  1019.         $message.="<h1>TEST</h1>";
  1020.  
  1021.         $mail = new YiiMailer();
  1022.         $mail->IsSMTP();
  1023.         $mail->Host = Yii::app()->params['host'];
  1024.         $mail->Port = Yii::app()->params['port'];
  1025.         $mail->SMTPAuth = true;
  1026.         $mail->Username = Yii::app()->params['apiUser'];
  1027.         $mail->Password = Yii::app()->params['apiKey'];
  1028.         $mail->IsHTML(true);
  1029.         $mail->setFrom(Yii::app()->params['noReply']);
  1030.         $mail->setSubject(Yii::app()->name.'Diamond Digital Photo Transaction Order');
  1031.         $mail->setTo($temail);
  1032.         $mail->setCc($t2email);
  1033.         $mail->setBody($message);
  1034.         $mail->send();
  1035.     }
  1036. }
Add Comment
Please, Sign In to add comment