Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class DokuController extends Controller
- {
- public function accessRules()
- {
- return array(
- array('allow',
- 'actions'=>array('Dokuprocess','Dokupersonalize','Dokucanvas','PhotoalbumCheckout','PersonalizeCheckout','CanvasCheckout', 'Info', 'Pdfinvoice'),
- 'users'=>array('@'),
- ),
- array('allow',
- 'actions'=>array('DokuNotify','Success','DokuRedirect', 'Successmail', 'Failedmail', 'Pendingmail','Testmail'),
- 'users'=>array('*'),
- ),
- array('deny',
- 'users'=>array('*'),
- ),
- );
- }
- public function actionPhotoalbumCheckout()
- {
- $data=Yii::app()->session[Yii::app()->User->name.'photoalbum'];
- $invoice=Yii::app()->session[Yii::app()->User->name.'photoalbuminv']=OrderPayment::model()->invoice();
- $size=PaketAlbum::model()->findByPk($data['size']);
- $model_order = new OrderPayment;
- $model_doku = new Doku;
- $model_order->invoice = $invoice;
- $model_order->customer_id = Yii::app()->user->id;
- $model_order->address = $data['delivery']['address'];
- $model_order->status_payment = 'requested';
- $model_order->order_type = 'Photobook Album';
- $model_order->total_price = $size['price'];
- $model_order->order_date = date("Y-m-d H:i:s");
- $model_order->payment_date = date("Y-m-d H:i:s");
- $model_order->child_dir = $data['child_dir'];
- $word=$data['total_city'].'.00'.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice;
- $words=Yii::app()->session[Yii::app()->User->name.'photoalbumwrd']=sha1($word);
- $model_doku->transidmerchant = $invoice;
- $model_doku->totalamount = $data['total_city'];
- $model_doku->words = $words;
- $model_doku->payment_date_time = date("Y-m-d H:i:s");
- $size=PaketAlbum::model()->findByPk(Yii::app()->session[Yii::app()->User->name.'photoalbum']['size']);
- $session = Yii::app()->session[Yii::app()->User->name.'photoalbum'] = array(
- 'directory' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['directory'],
- 'date' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['date'],
- // 'format' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['format'],
- 'size' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['size'],
- 'size_name' =>$size->name,
- 'colorcover' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['colorcover'],
- 'theme_id' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['theme_id'],
- 'themename' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['themename'],
- 'child_dir' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['child_dir'],
- 'orderdata' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['orderdata'],
- 'imagedirectory1' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory1'],
- 'itemorder1' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder1'],
- 'page1' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page1'],
- 'childpage1' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage1'],
- 'imagedirectory2' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory2'],
- 'itemorder2' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder2'],
- 'page2' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page2'],
- 'childpage2' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage2'],
- 'imagedirectory3' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory3'],
- 'itemorder3' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder3'],
- 'page3' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page3'],
- 'childpage3' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage3'],
- 'imagedirectory4' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory4'],
- 'itemorder4' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder4'],
- 'page4' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page4'],
- 'childpage4' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage4'],
- 'imagedirectory5' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory5'],
- 'itemorder5' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder5'],
- 'page5' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page5'],
- 'childpage5' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage5'],
- 'imagedirectory6' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory6'],
- 'itemorder6' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder6'],
- 'page6' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page6'],
- 'childpage6' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage6'],
- 'imagedirectory7' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory7'],
- 'itemorder7' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder7'],
- 'page7' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page7'],
- 'childpage7' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage7'],
- 'imagedirectory8' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory8'],
- 'itemorder8' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder8'],
- 'page8' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page8'],
- 'childpage8' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage8'],
- 'imagedirectory9' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory9'],
- 'itemorder9' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder9'],
- 'page9' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page9'],
- 'childpage9' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage9'],
- 'imagedirectory10' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory10'],
- 'itemorder10' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder10'],
- 'page10' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page10'],
- 'childpage10' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage10'],
- 'imagedirectory11' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory11'],
- 'itemorder11' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder11'],
- 'page11' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page11'],
- 'childpage11' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage11'],
- 'imagedirectory12' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['imagedirectory12'],
- 'itemorder12' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['itemorder12'],
- 'page12' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['page12'],
- 'childpage12' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['childpage12'],
- 'email' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['email'],
- 'shipping_method' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['shipping_method'],
- 'delivery' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['delivery'],
- 'total_city' =>Yii::app()->session[Yii::app()->User->name.'photoalbum']['total_city'],
- 'invoice' =>$invoice
- );
- // if($model->save() and $model_order->save() and $model_doku->save()){
- if($model_order->save() and $model_doku->save()){
- $this->redirect(array('dokuprocess'));
- }else{
- echo 'Error COC<br/>';
- }
- }
- public function actionPersonalizeCheckout()
- {
- $data =Yii::app()->session[Yii::app()->User->name.'personalize'];
- $modelPayment = new OrderPayment;
- $modelDoku = new Doku;
- /*echo "<pre>";
- var_dump($data);die();*/
- $total = $data['total_city'];
- if (9009!=Yii::app()->user->id) {
- $user=User::model()->findByPk(Yii::app()->user->id);
- } else {
- $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
- }
- $total_item = count($data['itemorder']);
- $invoice = OrderPayment::model()->invoice();
- $words = sha1($total.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice);
- //save to table order_payment
- $modelPayment->invoice = $invoice;
- $modelPayment->customer_id = Yii::app()->user->id;
- $modelPayment->address = $data['address'];
- $modelPayment->status_payment = 'Requested';
- $modelPayment->total_price = $total;
- $modelPayment->total_item = $total_item;
- $modelPayment->order_type = 'Online Print';
- $modelPayment->order_date = date('Y-m-d H:i:s');
- $modelPayment->payment_date = date('Y-m-d H:i:s');
- $modelPayment->child_dir = $data['child_dir'];
- //save to table doku
- $modelDoku->transidmerchant = $invoice;
- $modelDoku->totalamount = $data['total_city'];
- $modelDoku->words = $words;
- $modelDoku->payment_date_time = date('Y-m-d H:i:s');
- $modelDoku->trxstatus = 'Requested';
- $data = Yii::app()->session[Yii::app()->User->name.'personalize']= array(
- 'directory' =>Yii::app()->session[Yii::app()->User->name.'personalize']['directory'],
- //'formatsize' =>Yii::app()->session[Yii::app()->User->name.'personalize']['formatsize'],
- 'date' =>Yii::app()->session[Yii::app()->User->name.'personalize']['date'],
- 'child_dir' =>Yii::app()->session[Yii::app()->User->name.'personalize']['child_dir'],
- 'orderdata' =>Yii::app()->session[Yii::app()->User->name.'personalize']['orderdata'],
- 'itemorder' =>Yii::app()->session[Yii::app()->User->name.'personalize']['itemorder'],
- 'total_city' =>Yii::app()->session[Yii::app()->User->name.'personalize']['total_city'],
- //'theme' =>Yii::app()->session[Yii::app()->User->name.'personalize']['theme'],
- 'shipping_method' =>Yii::app()->session[Yii::app()->User->name.'personalize']['shipping_method'],
- 'email' =>Yii::app()->session[Yii::app()->User->name.'personalize']['email'],
- 'address' =>Yii::app()->session[Yii::app()->User->name.'personalize']['address'],
- 'telephone' =>Yii::app()->session[Yii::app()->User->name.'personalize']['telephone'],
- 'city_name' =>Yii::app()->session[Yii::app()->User->name.'personalize']['city_name'],
- 'city_price' =>Yii::app()->session[Yii::app()->User->name.'personalize']['city_price'],
- 'invoice' =>$invoice
- );
- if($modelPayment->save() and $modelDoku->save()){
- $this->redirect(array('dokupersonalize'));
- }else{
- echo 'Error COC<br/>';
- }
- }
- public function actionCanvasCheckout()
- {
- $data =Yii::app()->session[Yii::app()->User->name.'canvas'];
- $modelPayment = new OrderPayment;
- $modelDoku = new Doku;
- $total = '';
- /*echo"<pre>";
- var_dump($data);die;*/
- if (9009!=Yii::app()->user->id) {
- $user=User::model()->findByPk(Yii::app()->user->id);
- } else {
- $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
- }
- $total_item = count($data['itemorder']);
- $invoice = OrderPayment::model()->invoice();
- $words = sha1($data['total_city'].Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice);
- //save to table order_payment
- $modelPayment->invoice = $invoice;
- $modelPayment->customer_id = Yii::app()->user->id;
- $modelPayment->address = $data['address'];
- $modelPayment->status_payment = 'Requested';
- $modelPayment->total_price = $data['total_city'];
- $modelPayment->total_item = $total_item;
- $modelPayment->order_type = 'Canvas Print';
- $modelPayment->order_date = date('Y-m-d H:i:s');
- $modelPayment->payment_date = date('Y-m-d H:i:s');
- $modelPayment->child_dir = $data['child_dir'];
- //save to table doku
- $modelDoku->transidmerchant = $invoice;
- $modelDoku->totalamount = $data['total_city'];
- $modelDoku->words = $words;
- $modelDoku->payment_date_time = date('Y-m-d H:i:s');
- $data = Yii::app()->session[Yii::app()->User->name.'canvas']= array(
- 'directory' =>Yii::app()->session[Yii::app()->User->name.'canvas']['directory'],
- //'formatsize' =>Yii::app()->session[Yii::app()->User->name.'canvas']['formatsize'],
- 'date' =>Yii::app()->session[Yii::app()->User->name.'canvas']['date'],
- 'child_dir' =>Yii::app()->session[Yii::app()->User->name.'canvas']['child_dir'],
- 'orderdata' =>Yii::app()->session[Yii::app()->User->name.'canvas']['orderdata'],
- 'itemorder' =>Yii::app()->session[Yii::app()->User->name.'canvas']['itemorder'],
- //'total' =>Yii::app()->session[Yii::app()->User->name.'canvas']['total_city'],
- //'theme' =>Yii::app()->session[Yii::app()->User->name.'canvas']['theme'],
- 'shipping_method' =>Yii::app()->session[Yii::app()->User->name.'canvas']['email'],
- 'email' =>Yii::app()->session[Yii::app()->User->name.'canvas']['email'],
- 'address' =>Yii::app()->session[Yii::app()->User->name.'canvas']['address'],
- 'telephone' =>Yii::app()->session[Yii::app()->User->name.'canvas']['telephone'],
- 'city_name' =>Yii::app()->session[Yii::app()->User->name.'canvas']['city_name'],
- 'city_price' =>Yii::app()->session[Yii::app()->User->name.'canvas']['city_price'],
- 'total_city' =>Yii::app()->session[Yii::app()->User->name.'canvas']['total_city'],
- 'invoice' =>$invoice
- );
- if($modelPayment->save() and $modelDoku->save()){
- $this->redirect(array('dokucanvas'));
- }else{
- echo 'Something Error , Please Check<br/>';
- }
- }
- public function actionDokucanvas()
- {
- $data=Yii::app()->session[Yii::app()->User->name.'canvas'];
- $model = OrderPayment::model()->findAllByAttributes(array('invoice'=>$data['invoice']));
- if (9009!=Yii::app()->user->id) {
- $user=User::model()->findByPk(Yii::app()->user->id);
- } else {
- $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
- }
- $totalprice = $data['total_city'];
- $itemTotal = count($data['itemorder']);
- $itemname = 'Canvas Print';
- $now = date('Ymdhis');
- $email = $data['email'];
- $address = $data['address'];
- $telephone = $data['telephone'];
- $name = $user['firstname']." ".$user['lastname'];
- $invoice = $data['invoice'];
- $basket = $itemname.','.$totalprice.','.'1'.','.$totalprice;
- $word = $data['total_city'].'.00'.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice;
- $words = sha1($word);
- $this->render('dokucanvas',
- array(
- 'price'=>$totalprice,
- 'now'=>$now,
- 'words'=>$words,
- 'address'=>$address,
- 'name'=>$name,
- 'email'=>$email,
- 'invoice'=>$invoice,
- 'basket'=>$basket,
- 'data'=>$data,
- )
- );
- }
- public function actionDokupersonalize()
- {
- $data=Yii::app()->session[Yii::app()->User->name.'personalize'];
- $model = OrderPayment::model()->findAllByAttributes(array('invoice'=>$data['invoice']));
- if (9009!=Yii::app()->user->id) {
- $user=User::model()->findByPk(Yii::app()->user->id);
- } else {
- $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
- }
- $itemQty = '';
- //doku form
- $itemTotal = count($data['itemorder']);
- $itemname = 'Photo Print';
- $now = date('Ymdhis');
- $email = $data['email'];
- $address = $data['address'];
- $telephone = $data['telephone'];
- $name = $user['firstname']." ".$user['lastname'];
- $invoice = $data['invoice'];
- $basket = $itemname.','.$data['total_city'].','.'1'.','.$data['total_city'];
- $word = $data['total_city'].'.00'.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice;
- $words = sha1($word);
- $this->render('dokupersonalize',
- array(
- 'price'=>$data['total_city'],
- 'now'=>$now,
- 'words'=>$words,
- 'address'=>$address,
- 'name'=>$name,
- 'email'=>$email,
- 'invoice'=>$invoice,
- 'basket'=>$basket,
- 'data'=>$data,
- )
- );
- }
- public function actionDokuprocess()
- {
- $model = new DokuRedirect;
- $data=Yii::app()->session[Yii::app()->User->name.'photoalbum'];
- $size=PaketAlbum::model()->findByPk($data['size']);
- $id_paket = $size['id_paket'];
- $itemprice = $data['total_city'].'.00';
- $itemqty = '1';
- $itemtotal = $data['total_city'].'.00';
- $item=$size['name'];
- $now=date('Ymdhis');
- $invoice=Yii::app()->session[Yii::app()->User->name.'photoalbuminv'];
- if (9009!=Yii::app()->user->id) {
- $user=User::model()->findByPk(Yii::app()->user->id);
- } else {
- $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
- }
- $address=$user['address'];
- $name=$user['firstname']." ".$user['lastname'];
- $email=$user['email'];
- $basket = 'photobooks'.','.$itemtotal.','.$itemqty.','.$itemtotal;
- $words = Yii::app()->session[Yii::app()->User->name.'photoalbumwrd'];
- // $word=$size->price.Yii::app()->params['doku']['mallid'].Yii::app()->params['doku']['shared_key'].$invoice;
- // $words=sha1($word);
- $this->render('dokuprocess',
- array(
- 'model'=>$model,
- 'price'=>$itemprice,
- 'now'=>$now,
- 'words'=>$words,
- 'address'=>$address,
- 'name'=>$name,
- 'email'=>$email,
- 'invoice'=>$invoice,
- 'basket'=>$basket
- )
- );
- }
- public function actionDokuNotify()
- {
- if(isset($_POST['TRANSIDMERCHANT'])) {
- $order_number = $_POST['TRANSIDMERCHANT'];
- }else {
- $order_number = '0';
- }
- $totalamount = $_POST['AMOUNT'];
- $status = $_POST['RESULTMSG'];
- $data = array();
- $data["trxstatus"] = $_POST['RESULTMSG'];
- $data["words"] = $_POST['WORDS'];
- $data["statustype"] = $_POST['STATUSTYPE'];
- $data["response_code"] = $_POST['RESPONSECODE'];
- $data["approvalcode"] = $_POST['APPROVALCODE'];
- $data["payment_channel"]= $_POST['PAYMENTCHANNEL'];
- $data["paymentcode"] = $_POST['PAYMENTCODE'];
- $data["session_id"] = $_POST['SESSIONID'];
- $data["bank_issuer"] = $_POST['BANK'];
- $data["creditcard"] = $_POST['MCN'];
- $data["payment_date_time"] = $_POST['PAYMENTDATETIME'];
- $data["verifyid"] = $_POST['VERIFYID'];
- $data["verifyscore"] = $_POST['VERIFYSCORE'];
- $data["verifystatus"] = $_POST['VERIFYSTATUS'];
- $payment_channel = $_POST['PAYMENTCHANNEL'];
- /*$order_number = 'DMD00356';
- $payment_channel = '05';
- $status = 'SUCCESS';*/
- $model=Doku::model()->findAll(
- array(
- 'condition'=>'transidmerchant = :transidmerchant AND trxstatus = :trxstatus',
- 'params'=>array(':transidmerchant'=>$order_number, ':trxstatus'=>'Requested'),
- )
- );
- $rows = count($model);
- $datanya_ada = false;
- if($rows != 0){
- $datanya_ada = true;
- }
- /*var_dump($payment_channel);
- die();*/
- if ($datanya_ada == true) {
- if($status == "SUCCESS"){
- $update = Doku::model()->updateAll(array(
- 'totalamount'=>$totalamount,
- 'words'=>$data['words'],
- 'statustype'=>$data['statustype'],
- 'response_code'=>$data['response_code'],
- 'approvalcode'=>$data['approvalcode'],
- 'trxstatus'=>$data['trxstatus'],
- 'payment_channel'=>$data['payment_channel'],
- 'paymentcode'=>$data['paymentcode'],
- 'session_id'=>$data['session_id'],
- 'bank_issuer'=>$data['bank_issuer'],
- 'creditcard'=>$data['creditcard'],
- 'payment_date_time'=>$data['payment_date_time'],
- 'verifyid'=>$data['verifyid'],
- 'verifyscore'=>$data['verifyscore'],
- 'verifystatus'=>$data['verifystatus']), 'transidmerchant = "'.$order_number.'" ');
- OrderPayment::model()->updateAll(
- array(
- 'status_payment' => 'SUCCESS',
- 'payment_date' => date('Y-m-d H:i:s')
- ),
- 'invoice ="'.$order_number.'"'
- );
- if ($payment_channel == "05") {
- /*Dari script bawah hasilnya response 500 di mana mestinya 200*/
- file_get_contents(Yii::app()->request->baseUrl.'/doku/successmail'); /*Ini yg make file get content */
- //$this->actionSuccessmail($order_number); /*Ini yabng sebelumnya di bikin sama mas arya */
- }
- } else {
- $update = Doku::model()->updateAll(array( "trxstatus" => "FAILED"), "transidmerchant ='".$order_number."'" );
- /*Dari script bawah hasilnya response 500 di mana mestinya 200*/
- file_get_contents(Yii::app()->request->baseUrl.'/doku/failedmail');
- }
- $status = 'CONTINUE';
- } else {
- $status = 'STOP';
- }
- echo $status;
- /*ini barusan aku bikin ini tadi , status nya continue di log doku cuma email terkirim*/
- /*if ($status == 'CONTINUE' && $payment_channel == "05") {
- $this->redirect(array('successmail'));
- }else if($status == 'STOP' && $payment_channel == "05"){
- $this->redirect(array('failedmail'));
- }*/
- }
- public function actionDokuRedirect()
- {
- //Masuk URL Redirect
- $status_code = $_POST["STATUSCODE"];
- $invoice = $_POST['TRANSIDMERCHANT'];
- $data = array();
- $data["totalamount"] = $_POST['AMOUNT'];
- $data["transidmerchant"]= $_POST['TRANSIDMERCHANT'];
- $data["words"] = $_POST['WORDS'];
- $data["statustype"] = $_POST['STATUSCODE'];
- $data["payment_channel"]= $_POST['PAYMENTCHANNEL'];
- $data["session_id"] = $_POST['SESSIONID'];
- $data["paymentcode"] = $_POST['PAYMENTCODE'];
- $transaksi=OrderPayment::model()->findAll(
- array(
- 'condition'=>'invoice=:invoice',
- 'params'=>array(':invoice'=>$invoice),
- )
- );
- if(!empty($transaksi) or null!==$transaksi) {
- $data_transaksi_ada = true;
- }
- /*and $data_transaksi_ada*/
- if($status_code == "0000") {
- $this->redirect(array('successmail'));
- } else if ('5511'==$status_code) {
- $this->redirect(array('pendingmail','paymentcode'=>$data["paymentcode"]));
- }
- else {
- //jika pembayaran gagal
- $this->redirect(array('failedmail'));
- }
- }
- public function actionSuccessmail($order_number=null)
- {
- $size_data="";
- if (!empty($order_number)) {
- $order=OrderPayment::model()->findByAttributes(array('invoice'=>$order_number));
- $user=User::model()->findByPk($order->customer_id);
- $ordertype=$order->order_type;
- } else {
- if (9009!=Yii::app()->user->id) {
- $user=User::model()->findByPk(Yii::app()->user->id);
- } else {
- $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
- $data = Yii::app()->session[Yii::app()->User->name.'photoalbum'];
- $ordertype="Photobook Album";
- $ordertipe="PhotobookAlbum";
- $size_data=$data['size_name'];
- $cover=CoverPhotobooks::model()->findByPk(Yii::app()->session[Yii::app()->User->name.'photoalbum']['size']);
- $cover->stock=$cover->stock-1;
- $cover->save();
- // add to TXT FILE
- $file = Yii::app()->session[Yii::app()->User->name.'photoalbum']['directory']."/".Yii::app()->session[Yii::app()->User->name.'photoalbum']['orderdata'].".txt";
- $fh = fopen($file, 'a') or die("can't open file");
- $content_data= "\r\n";
- $content_data.= "Invoice\r\n";
- $content_data.= "----------------------------------------------\r\n";
- $content_data.= "Invoice : ".$data['invoice']."\r\n";
- fwrite($fh, $content_data);
- fclose($fh);
- }
- else if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
- $data = Yii::app()->session[Yii::app()->User->name.'canvas'];
- $ordertype="Canvas Print";
- $ordertipe="CanvasPrint";
- $size_data=Yii::app()->session[Yii::app()->User->name.'canvas']['itemorder'];
- //add to TXT FILE
- $content = '';
- $file = Yii::app()->session[Yii::app()->User->name.'canvas']['directory']."/".Yii::app()->session[Yii::app()->User->name.'canvas']['orderdata'].".txt";
- $fh = fopen($file, 'a') or die("can't open file");
- $content.= "Invoice\r\n";
- $content.= "----------------------------------------------\r\n";
- $content.= "Invoice : ".$data['invoice']."\r\n";
- $content.= "\r\n";
- fwrite($fh, $content);
- fclose($fh);
- }
- else if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
- $data = Yii::app()->session[Yii::app()->User->name.'personalize'];
- $ordertype="Online Print";
- $ordertipe="OnlinePrint";
- $size_data=Yii::app()->session[Yii::app()->User->name.'personalize']['itemorder'];
- //add to TXT FILE
- $file = Yii::app()->session[Yii::app()->User->name.'personalize']['directory']."/".Yii::app()->session[Yii::app()->User->name.'personalize']['orderdata'].".txt";
- $fh = fopen($file, 'a') or die("can't open file");
- $content.= "Invoice\r\n";
- $content.= "----------------------------------------------\r\n";
- $content.= "Invoice : ".$data['invoice']."\r\n";
- $content.= "\r\n";
- fwrite($fh, $content);
- fclose($fh);
- }
- }
- // get invoice pdf
- if (isset($size_data)) {
- if (is_array($size_data)) {
- $user->itemorder=serialize($size_data);
- $user->save();
- } else {
- $user->itemorder=$size_data;
- $user->save();
- }
- }
- $pdf_uri=Yii::app()->createAbsoluteUrl('doku/Pdfinvoice',array('invoice'=>$data['invoice'],'ordertipe'=>$ordertipe,'user'=>$user->id));
- $invoice_binary=file_get_contents($pdf_uri);
- $base_directory=Yii::app()->basePath . '/../sync';
- // $child_dir='/'.$ordertype.'/'.Yii::app()->User->name.'/'.$data['date'];
- $child_dir=$data['child_dir'];
- $syncdirectory=$base_directory.$child_dir;
- $copy=CFileHelper::copyDirectory($data['directory'], $syncdirectory);
- $name = $user->firstname." ".$user->lastname;
- // $email = $data['email'];
- $email = $user->email;
- $invoice = $data['invoice'];
- $totalprice = $data['total_city'];
- $status = "SUCCESS TRANSACTION ORDER";
- $type = $ordertype;
- //$theme = $data['theme'];
- $payment = "PAID";
- //$formatsize = $data['formatsize'];
- $logo = "<img src=http://diamonddigital.photo/onlineprint/themes/1screen/images/logo.png>";
- $message="Dear ".$name.", <br/><br/>";
- $message.="Thank You For Your Transaction With Diamond Digital Photo";
- $message.="<h1>Here Your Detail Order</h1>";
- $message.="<table border='0'>
- <tr>
- <td colspan='3'>".$logo."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Customer Name</td> <td style='background-color: #f9f9f9;'>".$name."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Invoice Number</td> <td style='background-color: #f9f9f9;'>".$invoice."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Order Type</td> <td style='background-color: #f9f9f9;'>".$type."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Transaction Status</td> <td style='background-color: #f9f9f9;'><b>".$status."</b></td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Total Price</td> <td style='background-color: #f9f9f9;'> IDR ".number_format($totalprice)."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Payment Status</td> <td style='background-color: #f9f9f9; color: red;'><b>".$payment."</b></td>
- </tr>
- </table>";
- // $message.='You also can download invoice <a href="'.$pdf_uri.'">here<a/>';
- $mail = new YiiMailer();
- // $mail->AddStringAttachment($invoice_binary, "Bali-Photo-Pro.pdf", 'base64', 'application/pdf');
- $mail->AddStringAttachment($invoice_binary, "Bali-Photo-Pro.pdf");
- $mail->IsSMTP();
- $mail->Host = Yii::app()->params['host'];
- $mail->Port = Yii::app()->params['port'];
- $mail->SMTPAuth = true;
- $mail->Username = Yii::app()->params['apiUser'];
- $mail->Password = Yii::app()->params['apiKey'];
- $mail->IsHTML(true);
- $mail->setFrom(Yii::app()->params['noReply']);
- $mail->setSubject(Yii::app()->name.'Diamond Digital Photo Transaction Order');
- $mail->setTo($email);
- $mail->setCc(Yii::app()->params['cc1']);
- // $mail->setCc("arya@alamaya.com");
- $mail->setBody($message);
- // $mail->setAttachment(array($invoice_binary,'Invoice.pdf','base64','application/pdf'));
- $mail->send();
- // echo $pdf_uri;die();
- if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
- unset(Yii::app()->session[Yii::app()->User->name.'personalize']);
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
- unset(Yii::app()->session[Yii::app()->User->name.'photoalbum']);
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
- unset(Yii::app()->session[Yii::app()->User->name.'canvas']);
- }
- Yii::app()->user->setFlash('success',"Your order has been processed, Please Check Your Email For Confirmation");
- $this->render('/site/common');
- }
- public function actionPendingmail()
- {
- // $user=User::model()->findByPk(Yii::app()->user->id);
- if (9009!=Yii::app()->user->id) {
- $user=User::model()->findByPk(Yii::app()->user->id);
- } else {
- $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
- $data = Yii::app()->session[Yii::app()->User->name.'photoalbum'];
- $ordertype="Photobook Album";
- }
- else if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
- $data = Yii::app()->session[Yii::app()->User->name.'canvas'];
- $ordertype="Canvas Print";
- }
- else if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
- $data = Yii::app()->session[Yii::app()->User->name.'personalize'];
- $ordertype="Online Print";
- }
- $base_directory=Yii::app()->basePath . '/../sync';
- // $child_dir='/'.$ordertype.'/'.Yii::app()->User->name.'/'.$data['date'];
- $child_dir=$data['child_dir'];
- $syncdirectory=$base_directory.$child_dir;
- // $copy=CFileHelper::copyDirectory($data['directory'], $syncdirectory);
- $name = $user->firstname." ".$user->lastname;
- // $email = $data['email'];
- $email = $user->email;
- $invoice = $data['invoice'];
- $totalprice = $data['total_city'];
- $status = "PENDING TRANSACTION ORDER";
- $type = $ordertype;
- //$theme = $data['theme'];
- $payment = "PENDING";
- //$formatsize = $data['formatsize'];
- $logo = "<img style='margin: 0 auto;display: block;' src=http://diamonddigital.photo/onlineprint/themes/1screen/images/logo.png>";
- $paymentcode=$_GET['paymentcode'];
- $message="Dear ".$name.", <br/><br/>";
- $message.="Thank You For Your Transaction With Diamond Digital Photo";
- $message.="<h1>Here Your Detail Order</h1>";
- $message.="<table border='0'>
- <tbody style='background-color: #bba671;'>
- <tr>
- <td colspan='3' style='padding: 15px;'>".$logo."</td>
- </tr>
- <tr>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Customer Name</td>
- <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>".$name."</td>
- </tr>
- <tr>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Invoice Number</td>
- <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>".$invoice."</td>
- </tr>
- <tr>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Order Type</td>
- <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>".$type."</td>
- </tr>
- <tr>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Payment Code</td>
- <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>".$paymentcode."</td>
- </tr>
- <tr>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Transaction Status</td>
- <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'><b>".$status."</b></td>
- </tr>
- <tr>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Total Price</td>
- <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'> IDR ".number_format($totalprice)."</td>
- </tr>
- <tr>
- <td style='background-color: #bba671;padding: 15px;color: #fff;font-size: 14px;font-weight: 600;'>Payment Status</td>
- <td style='text-align: center;font-size: 14px;font-weight: bold;color: #fff;'>:</td>
- <td style='background-color: #bba671;color: #e53935;padding: 15px;font-weight: bold;font-size: 14px;letter-spacing: 2px;'><b>".$payment."</b></td>
- </tr>
- </tbody>
- </table>";
- $message.='<br><br><b>Cara Melakukan Pembayaran Via ATM / Internet Banking</b><br>
- <br>
- <ul style="list-style: circle;">
- <li>Masukkan PIN</li>
- <li>Pilih <b>"TRANSAKSI LAINNYA"</b></li>
- <li>Pilih <b>"TRANSFER"</b></li>
- <li>Pilih <b>"KE REK BANK LAIN"</b></li>
- <li>Masukkan <b>Kode Bank Permata (013)</b> kemudian tekan <b>"Benar"</b></li>
- <li>Masukkan Jumlah pembayaran sesuai dengan yang ditagihkan
- (Jumlah yang ditransfer harus sama persis tidak boleh lebih
- dan kurang).<br><b>Jumlah nominal yang tidak sesuai dengan
- tagihan akan menyebabkan transaksi gagal.</b></li>
- <li>Masukkan Nomor Rekening tujuan dengan menggunakan Nomor Kode Pembayaran. Contoh : <b>8965011111111111</b>
- lalu tekan <b>"Benar"</b></li>
- <li>Muncul Layar Konfirmasi Transfer yang berisi nomor
- rekening tujuan Bank Permata dan Nama beserta jumlah yang
- dibayar, jika sudah benar, Tekan <b>"Benar"</b>.</li>
- <li>Selesai.</li>
- </ul>
- <br><br>
- <b>NOTE :</b><br>
- <ul style="list-style: circle;">
- <li>Pembayaran <b>hanya bisa dilakukan di ATM atau Internet Banking</b> yang terhubung
- ke jaringan <b>ATM Bersama, Prima atau ALTO.</b> </li>
- <li>Pelanggan dapat melakukan transfer melalui ATM ke bank-bank
- yang telah di tentukan dengan <b>batas maksimal waktu transfer 3
- jam</b>. </li>
- <li>
- Daftar Bank untuk Pembayaran Melalui ATM : BCA, MANDIRI, BNI,
- BII, BRI, DANAMON, PERMATA, MEGA, BUKOPIN, CIMB Niaga, PANIN,
- dan lain lain.<br>
- </li>
- </ul>';
- $mail = new YiiMailer();
- $mail->IsSMTP();
- $mail->Host = Yii::app()->params['host'];
- $mail->Port = Yii::app()->params['port'];
- $mail->SMTPAuth = true;
- $mail->Username = Yii::app()->params['apiUser'];
- $mail->Password = Yii::app()->params['apiKey'];
- $mail->IsHTML(true);
- $mail->setFrom(Yii::app()->params['noReply']);
- $mail->setSubject(Yii::app()->name.'Diamond Digital Photo Transaction Order');
- $mail->setTo($email);
- $mail->setBody($message);
- $mail->send();
- if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
- unset(Yii::app()->session[Yii::app()->User->name.'personalize']);
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
- unset(Yii::app()->session[Yii::app()->User->name.'photoalbum']);
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
- unset(Yii::app()->session[Yii::app()->User->name.'canvas']);
- }
- Yii::app()->user->setFlash('success',"Your order has been processed, Please Check Your Email For Confirmation");
- $this->render('/site/common');
- }
- public function actionFailedmail()
- {
- // $user=User::model()->findByPk(Yii::app()->user->id);
- if (9009!=Yii::app()->user->id) {
- $user=User::model()->findByPk(Yii::app()->user->id);
- } else {
- $user=User::model()->findByAttributes(array('email'=>Yii::app()->user->name));
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
- $data = Yii::app()->session[Yii::app()->User->name.'photoalbum'];
- $ordertype="Photobook Album";
- }
- else if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
- $data = Yii::app()->session[Yii::app()->User->name.'canvas'];
- $ordertype="Canvas Print";
- }
- else if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
- $data = Yii::app()->session[Yii::app()->User->name.'personalize'];
- $ordertype="Online Print";
- }
- $base_directory=Yii::app()->basePath . '/..';
- $child_dir='/sync/'.$ordertype.'/'.Yii::app()->User->name.'/'.$data['date'];
- $syncdirectory=$base_directory.$child_dir;
- // $copy=CFileHelper::copyDirectory($data['directory'], $syncdirectory);
- $name = $user->firstname." ".$user->lastname;
- // $email = $data['email'];
- $email = $user->email;
- $invoice = $data['invoice'];
- $totalprice = $data['total_city'];
- $status = "FAILED TRANSACTION ORDER";
- $type = $ordertype;
- //$theme = $data['theme'];
- $payment = "FAILED";
- //$formatsize = $data['formatsize'];
- $logo = "<img src=http://diamonddigital.photo/onlineprint/themes/1screen/images/logo.png>";
- $message="Dear ".$name.", <br/><br/>";
- $message.="Thank You For Your Transaction With Diamond Digital Photo";
- $message.="<h1>Here Your Detail Order</h1>";
- $message.="<table border='0'>
- <tr>
- <td colspan='3'>".$logo."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Customer Name</td> <td style='background-color: #f9f9f9;'>".$name."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Invoice Number</td> <td style='background-color: #f9f9f9;'>".$invoice."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Order Type</td> <td style='background-color: #f9f9f9;'>".$type."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Transaction Status</td> <td style='background-color: #f9f9f9;'><b>".$status."</b></td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Total Price</td> <td style='background-color: #f9f9f9;'> IDR ".number_format($totalprice)."</td>
- </tr>
- <tr>
- <td style='background-color: #f9f9f9;'>Payment Status</td> <td style='background-color: #f9f9f9; color: red;'><b>".$payment."</b></td>
- </tr>
- </table>";
- $mail = new YiiMailer();
- $mail->IsSMTP();
- $mail->Host = Yii::app()->params['host'];
- $mail->Port = Yii::app()->params['port'];
- $mail->SMTPAuth = true;
- $mail->Username = Yii::app()->params['apiUser'];
- $mail->Password = Yii::app()->params['apiKey'];
- $mail->IsHTML(true);
- $mail->setFrom(Yii::app()->params['noReply']);
- $mail->setSubject(Yii::app()->name.'Diamond Digital Photo Transaction Order');
- $mail->setTo($email);
- $mail->setBody($message);
- $mail->send();
- if (!empty(Yii::app()->session[Yii::app()->User->name.'personalize'])) {
- unset(Yii::app()->session[Yii::app()->User->name.'personalize']);
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'photoalbum'])){
- unset(Yii::app()->session[Yii::app()->User->name.'photoalbum']);
- }
- if(!empty(Yii::app()->session[Yii::app()->User->name.'canvas'])){
- unset(Yii::app()->session[Yii::app()->User->name.'canvas']);
- }
- Yii::app()->user->setFlash('error',"Sorry , Your Order Has Been Failed To Process . Please Check Your Email For Confirmation");
- $this->render('/site/common');
- }
- public function actionInfo()
- {
- Yii::app()->user->setFlash('info',"We Already Sent Email To You . Please Check Your Email To Confirmation");
- $this->render('/site/common');
- }
- public function actionPdfinvoice($invoice, $ordertipe, $user){
- // public function actionPdfinvoice(){
- // $invoice='DMD00149';
- $size_data="";
- $user=User::model()->findByPk((int)$user);
- if($ordertipe=="PhotobookAlbum"){
- $size_data=$user->itemorder;
- } else if($ordertipe=="CanvasPrint"){
- $size_data=unserialize($user->itemorder);
- } else if ($ordertipe=="OnlinePrint") {
- $size_data=unserialize($user->itemorder);
- }
- $transaksi=OrderPayment::model()->with('user')->findAll(
- array(
- 'condition'=>'invoice=:invoice',
- 'params'=>array(':invoice'=>$invoice),
- )
- );
- $print_data=array();
- foreach($transaksi as $key=>$trans) {
- $print_data["invoice"]=$trans["invoice"];
- $print_data["total_price"]=$trans["total_price"];
- $print_data["firstname"]=$trans["user"]["firstname"];
- $print_data["lastname"]=$trans["user"]["lastname"];
- $print_data["order_type"]=$trans["order_type"];
- // $print_data["status_payment"]=$trans["status_payment"];
- $print_data["status_trans"]='SUCCESS TRANSACTION ORDER';
- $print_data["status_payment"]='PAID';
- }
- Yii::import('application.extensions.tcpdf.*');
- require_once('tcpdf.php');
- require_once('config/lang/ind.php');
- $html= $this->renderPartial('pdfinvoice',array('print_data'=>$print_data,'size_data'=>$size_data),true);
- $pdf = new TCPDF();
- $pdf->SetCreator(PDF_CREATOR);
- $pdf->SetAuthor(Yii::app()->name);
- $pdf->SetTitle('Invoice Bali Photo Pro');
- $pdf->SetSubject('Invoice Bali Photo Pro');
- $pdf->setPrintHeader(false);
- //$pdf->setPrintFooter(false);
- $pdf->setFooterFont(Array('helvetica', '', 10));
- $pdf->SetMargins(12,8, 12);
- $pdf->SetHeaderMargin(1);
- $pdf->SetFooterMargin(10);
- // $pdf->SetAutoPageBreak(TRUE, 0);
- $pdf->SetFont('helvetica', '', 10);
- $pdf->AddPage();
- $pdf->writeHTML($html, true, false, false, false, '');
- $pdf->LastPage();
- $pdf->Output("Bali-Photo-Pro.pdf", "I");
- }
- public function actionTestmail()
- {
- $logo = "<img src=http://diamonddigital.photo/images/logo-fix.jpg>";
- $temail="arya@alamaya.com";
- $t2email="arya2@alamaya.com";
- $message="Dear tst, <br/><br/>";
- $message.="Thank You For Your Transaction With Diamond Digital Photo";
- $message.="<h1>TEST</h1>";
- $mail = new YiiMailer();
- $mail->IsSMTP();
- $mail->Host = Yii::app()->params['host'];
- $mail->Port = Yii::app()->params['port'];
- $mail->SMTPAuth = true;
- $mail->Username = Yii::app()->params['apiUser'];
- $mail->Password = Yii::app()->params['apiKey'];
- $mail->IsHTML(true);
- $mail->setFrom(Yii::app()->params['noReply']);
- $mail->setSubject(Yii::app()->name.'Diamond Digital Photo Transaction Order');
- $mail->setTo($temail);
- $mail->setCc($t2email);
- $mail->setBody($message);
- $mail->send();
- }
- }
Add Comment
Please, Sign In to add comment