コード例 #1
0
ファイル: InitTest.php プロジェクト: kobabasu/rest-slim
 /**
  * 正常系 ヘッダに設定されるか
  *
  * @covers Lib\SwiftMailer\Init::addTextHeader()
  * @test testAddTextHeader()
  */
 public function testAddTextHeader()
 {
     $message = $this->object->setMessage('test add text hedaer', '*****@*****.**', 'add text header');
     $headers = $message->getHeaders();
     $res = $headers->has('X-Original-To');
     $this->assertTrue($res);
 }
コード例 #2
0
ファイル: cheese.php プロジェクト: hannenz/cheese
 public function hardcopy($filename)
 {
     $cmd = sprintf("lpr %s", $filename);
     exec($cmd, $out, $ret);
     if ($ret != 0) {
         $this->Response->setError($cmd . ' failed');
     } else {
         $this->Response->setMessage($cmd . ' ok');
     }
 }
コード例 #3
0
ファイル: MailerTest.php プロジェクト: kobabasu/rest-slim
 /**
  * 正常系 ログファイルのパスが取得できるか
  *
  * @covers Lib\SwiftMailer\Mailer::getPath()
  * @test testSetGetPath()
  */
 public function testSetGetPath()
 {
     $body = 'hello twig';
     $this->object->setFrom($GLOBALS['MAIL_FROM']);
     $this->object->setName($GLOBALS['MAIL_NAME']);
     $this->object->setMessage('タイトル', $body);
     $this->object->send('*****@*****.**');
     $res = $this->object->getPath();
     $this->assertInternalType('string', $res);
 }
コード例 #4
0
 /**
  * 正常系 添付画像を含むメッセージを返すか
  *
  * @covers Lib\SwiftMailer\Mailer::send()
  * @test testSetSendAttachmentNormal()
  */
 public function testSendAttachmentNormal()
 {
     $body = $this->object->setTemplate('defaultTest.twig', array('name' => '太郎'));
     $this->object->setAttachment('tests/imgs/test.jpg', 'image/jpeg', 'test');
     $this->object->setFrom($GLOBALS['MAIL_FROM']);
     $this->object->setName($GLOBALS['MAIL_NAME']);
     $this->object->setMessage('添付画像テスト', $body);
     $res = $this->object->send('*****@*****.**');
     $this->assertEquals(1, $res);
 }
コード例 #5
0
ファイル: kcp.controller.php プロジェクト: bjrambo/nurigo
 /**
  * @brief 가상계좌 입금시 처리
  */
 function processReport($order_srl)
 {
     $oEpayModel = getModel('epay');
     $transaction_info = $oEpayModel->getTransactionByOrderSrl($order_srl);
     if (!$transaction_info) {
         return new Object(-1, 'could not find transaction');
     }
     $payplushome = sprintf(_XE_PATH_ . "files/epay/kcp");
     $TEMP_IP = $_SERVER["REMOTE_ADDR"];
     $PG_IP = substr($TEMP_IP, 0, 10);
     //PG에서 보냈는지 IP로 체크
     if ($PG_IP != "203.238.36") {
         return new Object(-1, 'msg_invalid_request');
     }
     $logfile = fopen($payplushome . "/log/vbank_" . date("Ymd") . ".log", "a+");
     fwrite($logfile, "************************************************\n");
     $vars = Context::getRequestVars();
     foreach ($vars as $key => $val) {
         fwrite($logfile, $key . " : " . $val . "\n");
     }
     fwrite($logfile, "************************************************\n\n");
     fclose($logfile);
     $output = new Object();
     $output->order_srl = Context::get('ordr_idxx');
     $output->amount = Context::get('totl_mnyx');
     if ($output->amount == $transaction_info->payment_amount) {
         $output->add('state', '2');
         // successfully completed
         $output->add('result_code', '0');
         $output->add('result_message', 'Success');
     } else {
         $output->setError(-1);
         $output->setMessage('amount does not match');
         $output->add('state', '3');
         // failed
         $output->add('result_code', '1');
         $output->add('result_message', 'amount does not match');
     }
     $output->add('transaction_srl', $transaction_info->transaction_srl);
     $output->add('payment_method', 'VA');
     $output->add('payment_amount', $transaction_info->payment_amount);
     $output->add('pg_tid', $transaction_ifno->pg_tid);
     $output->add('vact_bankname', $transaction_info->vact_bankname);
     $output->add('vact_num', $transaction_info->vact_num);
     $output->add('vact_name', $transaction_info->vact_name);
     $output->add('vact_inputname', $transaction_info->vact_inputname);
     // doPayment will call an after trigger
     $oEpayController = getController('epay');
     $afterOutput = $oEpayController->afterPayment($output);
     if (!$afterOutput->toBool()) {
         return $afterOutput;
     }
     // OK를 출력하고 끝내야 한다.
     echo "OK";
     exit(0);
 }
コード例 #6
0
 /**
  * @brief 가상계좌 입금시 처리
  */
 function processReport($order_srl)
 {
     $oEpayModel =& getModel('epay');
     $transaction_info = $oEpayModel->getTransactionByOrderSrl($order_srl);
     if (!$transaction_info) {
         return new Object(-1, 'could not find transaction');
     }
     $TEMP_IP = $_SERVER["REMOTE_ADDR"];
     $PG_IP = substr($TEMP_IP, 0, 10);
     //PG에서 보냈는지 IP로 체크
     if ($PG_IP != "203.238.37" && $PG_IP != "210.98.138") {
         debugPrint($PG_IP . 'is not from inicis');
         return new Object(-1, 'msg_invalid_request');
     }
     /*
     // 이니시스에서 보내오는 request 변수들
     $msg_id = $msg_id;             //메세지 타입
     $no_tid = $no_tid;             //거래번호
     $no_oid = $no_oid;             //상점 주문번호
     $id_merchant = $id_merchant;   //상점 아이디
     $cd_bank = $cd_bank;           //거래 발생 기관 코드
     $cd_deal = $cd_deal;           //취급 기관 코드
     $dt_trans = $dt_trans;         //거래 일자
     $tm_trans = $tm_trans;         //거래 시간
     $no_msgseq = $no_msgseq;       //전문 일련 번호
     $cd_joinorg = $cd_joinorg;     //제휴 기관 코드
     
     $dt_transbase = $dt_transbase; //거래 기준 일자
     $no_transeq = $no_transeq;     //거래 일련 번호
     $type_msg = $type_msg;         //거래 구분 코드
     $cl_close = $cl_close;         //마감 구분코드
     $cl_kor = $cl_kor;             //한글 구분 코드
     $no_msgmanage = $no_msgmanage; //전문 관리 번호
     $no_vacct = $no_vacct;         //가상계좌번호
     $amt_input = $amt_input;       //입금금액
     $amt_check = $amt_check;       //미결제 타점권 금액
     $nm_inputbank = $nm_inputbank; //입금 금융기관명
     $nm_input = $nm_input;         //입금 의뢰인
     $dt_inputstd = $dt_inputstd;   //입금 기준 일자
     $dt_calculstd = $dt_calculstd; //정산 기준 일자
     $flg_close = $flg_close;       //마감 전화
     */
     /*
     //가상계좌채번시 현금영수증 자동발급신청시에만 전달
     $dt_cshr      = $dt_cshr;       //현금영수증 발급일자
     $tm_cshr      = $tm_cshr;       //현금영수증 발급시간
     $no_cshr_appl = $no_cshr_appl;  //현금영수증 발급번호
     $no_cshr_tid  = $no_cshr_tid;   //현금영수증 발급TID
     */
     $inipayhome = sprintf(_XE_PATH_ . "files/epay/%s", $transaction_info->module_srl);
     $logfile = fopen($inipayhome . "/log/vbank_" . date("Ymd") . ".log", "a+");
     $vars = Context::getRequestVars();
     foreach ($vars as $key => $val) {
         fwrite($logfile, $key . " : " . $val . "\n");
     }
     /*
     $output = $this->processPayment(Context::get('no_oid'), Context::get('amt_input'));
     if (!$output->toBool()) return $output;
     */
     fwrite($logfile, "************************************************\n\n");
     fclose($logfile);
     //위에서 상점 데이터베이스에 등록 성공유무에 따라서 성공시에는 "OK"를 이니시스로
     //리턴하셔야합니다. 아래 조건에 데이터베이스 성공시 받는 FLAG 변수를 넣으세요
     //(주의) OK를 리턴하지 않으시면 이니시스 지불 서버는 "OK"를 수신할때까지 계속 재전송을 시도합니다
     //기타 다른 형태의 PRINT( echo )는 하지 않으시기 바랍니다
     $output = new Object();
     $output->order_srl = Context::get('no_oid');
     $output->amount = Context::get('amt_input');
     if ($output->amount == $transaction_info->payment_amount) {
         $output->add('state', '2');
         // successfully completed
         $output->add('result_code', '0');
         $output->add('result_message', 'Success');
     } else {
         $output->setError(-1);
         $output->setMessage('amount does not match');
         $output->add('state', '3');
         // failed
         $output->add('result_code', '1');
         $output->add('result_message', 'amount does not match');
     }
     $output->add('transaction_srl', $transaction_info->transaction_srl);
     $output->add('payment_method', 'VA');
     $output->add('payment_amount', $transaction_info->payment_amount);
     $output->add('pg_tid', $transaction_ifno->pg_tid);
     $output->add('vact_bankname', $transaction_info->vact_bankname);
     $output->add('vact_num', $transaction_info->vact_num);
     $output->add('vact_name', $transaction_info->vact_name);
     $output->add('vact_inputname', $transaction_info->vact_inputname);
     // doPayment will call an after trigger
     $oEpayController =& getController('epay');
     $output = $oEpayController->afterPayment($output);
     if (!$output->toBool()) {
         return $output;
     }
     // OK를 출력하고 끝내야 한다.
     echo "OK";
     exit(0);
 }
コード例 #7
0
 function procEscrowDenyConfirm()
 {
     $inipayhome = sprintf(_XE_PATH_ . "files/epay/%s", $this->plugin_info->plugin_srl);
     $vars = Context::getRequestVars();
     debugPrint('procEscrowDenyConfirm');
     debugPrint($vars);
     extract(get_object_vars($vars));
     /**************************
      * 1. 라이브러리 인클루드 *
      **************************/
     require "libs/INILib.php";
     /***************************************
      * 2. INIpay50 클래스의 인스턴스 생성 *
      ***************************************/
     $iniescrow = new INIpay50();
     /*********************
      * 3. 지불 정보 설정 *
      *********************/
     $iniescrow->SetField("inipayhome", $inipayhome);
     $iniescrow->SetField("tid", Context::get('tid'));
     $iniescrow->SetField("mid", $this->plugin_info->inicis_id);
     $iniescrow->SetField("admin", $this->plugin_info->inicis_pass);
     $iniescrow->SetField("type", "escrow");
     $iniescrow->SetField("escrowtype", "dcnf");
     // 고정 (절대 수정 불가)
     $iniescrow->SetField("dcnf_name", $dcnf_name);
     $iniescrow->SetField("debug", "true");
     /*********************
      * 3. 거절확인 요청 *
      *********************/
     $iniescrow->startAction();
     /**********************
      * 4. 거절확인  결과 *
      **********************/
     debugPrint($iniescrow->m_Data);
     $tid = $iniescrow->GetResult("tid");
     // 거래번호
     $resultCode = $iniescrow->GetResult("ResultCode");
     // 결과코드 ("00"이면 지불 성공)
     $resultMsg = $iniescrow->GetResult("ResultMsg");
     // 결과내용 (지불결과에 대한 설명)
     $resultDate = $iniescrow->GetResult("DCNF_Date");
     // 처리 날짜
     $resultTime = $iniescrow->GetResult("DCNF_Time");
     // 처리 시각
     Context::set('tid', $tid);
     Context::set('resultCode', $resultCode);
     Context::set('resultMsg', $resultMsg);
     Context::set('resultDate', $resultDate);
     Context::set('resultTime', $resultTime);
     $oTemplate =& TemplateHandler::getInstance();
     $tpl_path = _XE_PATH_ . "modules/epay/plugins/iniescrow/tpl";
     $tpl_file = 'escrow_denyconfirm_result.html';
     $tpl = $oTemplate->compile($tpl_path, $tpl_file);
     $output = new Object();
     if (!$resultCode != '00') {
         $output->setError(-1);
     }
     $output->add('order_srl', Context::get('order_srl'));
     $output->add('denyconfirm_code', $resultCode);
     $output->add('denyconfirm_message', iconv('EUC-KR', 'UTF-8', $resultMsg));
     $output->add('denyconfirm_date', $resultDate . $resultTime);
     $output->setMessage($tpl);
     return $output;
 }
コード例 #8
0
ファイル: communicator.php プロジェクト: leehankyeol/JaWeTip
 function sendComment($args, $manual_data = null)
 {
     $result = new Object();
     set_time_limit(0);
     $oSocialxeModel =& getModel('socialxe');
     if ($manual_data) {
         $logged_provider_list = $manual_data->logged_provider_list;
         $master_provider = $manual_data->master_provider;
         $slave_provider = $manual_data->slave_provider;
     } else {
         $logged_provider_list = $this->providerManager->getLoggedProviderList();
         $master_provider = $this->providerManager->getMasterProvider();
         $slave_provider = $this->providerManager->getSlaveProvider();
     }
     $config = $this->config;
     // $logged_provider_list에서 xe 제외
     if ($logged_provider_list[0] == 'xe') {
         array_shift($logged_provider_list);
     }
     // 데이터 준비
     $comment->content = $args->content;
     $comment->content_link = $args->content_link;
     $comment->hashtag = $config->hashtag;
     $comment->content_title = $args->content_title;
     $comment->content_thumbnail = $args->content_thumbnail;
     // 대댓글이면 부모 댓글의 정보를 준비
     if ($args->parent_srl) {
         $output = $oSocialxeModel->getSocialByCommentSrl($args->parent_srl);
         $comment->parent = $output->data;
     }
     // 내용을 분석해서 각 소셜 서비스의 리플 형식이 들어있는지 확인
     $reply_provider_list = $this->providerManager->getReplyProviderList($comment->content);
     // 보낼 필요가 있는지 확인
     if (count($reply_provider_list) == 0) {
         // 대댓글이면
         if ($args->parent_srl) {
             // 부모 댓글에 소셜 정보가 없으면 리턴~
             if (!$comment->parent->provider || $comment->parent->provider == 'xe') {
                 return new Object();
             }
         } else {
             // 로그인한 소셜 서비스가 없으면 리턴~
             if (!count($logged_provider_list)) {
                 return new Object();
             }
         }
     }
     $args->url = $this->_getCommentUrl($comment->content_link, $comment->parent->comment_srl);
     if ($config->use_short_url != 'N') {
         // 생성된 짧은 주소가 있는지 확인한다.
         $output = executeQuery('socialxe.getBitlyByUrl', $args);
         $comment->short_link = $output->data->short_url;
         // 생성된 짧은 주소가 없으며 생성
         if ($this->config->bitly_username && $this->config->bitly_api_key && !$comment->short_link) {
             // bit.ly 라이브러리 로드
             if (!class_exists("bitly_SocialXE")) {
                 require_once _XE_PATH_ . 'modules/socialxe/bitly.php';
             }
             // 링크 생성
             $bitly = new bitly_SocialXE($this->config->bitly_username, $this->config->bitly_api_key);
             $content_link = $bitly->shorten(urlencode($this->_getCommentUrl($comment->content_link, $comment->parent->comment_srl)));
             if ($content_link) {
                 $comment->short_link = $content_link;
             }
         }
     } else {
         $comment->short_link = $args->url;
     }
     // API 요청 준비
     $data = array('client' => $config->client_token, 'comment' => $comment, 'logged_provider_list' => $logged_provider_list, 'reply_provider_list' => $reply_provider_list, 'master_provider' => $master_provider, 'uselang' => Context::getLangType());
     // 소셜 서비스 액세스 정보 준비
     if ($manual_data) {
         $accesses = $manual_data->access;
     } else {
         $accesses = $this->providerManager->getAccesses();
     }
     foreach ($accesses as $provider => $access) {
         $data[$provider] = serialize($access);
     }
     // URL 생성
     $url = $this->getURL('send', $data);
     // 요청
     $content = $this->httpRequest($url, 'POST');
     //debug :@kakikaki
     debugPrint('$url : ' . $url);
     debugPrint('$content : ' . $content);
     //end
     if (!$content) {
         $result->setError(-1);
         $result->setMessage('msg_request_error');
         //여기서 에러 발생 (댓글 작성 : XE-1.7.4)
         return $result;
     }
     // JSON 디코딩
     $json = new Services_JSON_SocialXE();
     $output = $json->decode($content);
     if (!$output) {
         return new Object(-1, $content);
     }
     // 오류 체크
     if ($output->error) {
         $result->setError(-1);
         $result->setMessage($output->message);
         return $result;
     }
     // 전송 결과를 체크
     $msg = array();
     $lang_provider = Context::getLang('provider');
     foreach ($this->providerManager->getProviderList() as $provider) {
         if ($output->result->{$provider}->error) {
             $msg[] = sprintf(Context::getLang('msg_send_failed'), $lang_provider[$provider], $output->result->{$provider}->error);
         }
     }
     if (count($msg)) {
         $msg = implode("\n", $msg);
         $result->add('msg', $msg);
     }
     if ($config->use_short_url != 'N') {
         // bit.ly 결과를 저장한다.
         if ($bitly) {
             $bitly_result = $bitly->getRawResults();
             $args->hash = $bitly_result['userHash'];
             $args->title = $comment->content_title;
             $args->short_url = $comment->short_link;
             $args->url = $this->_getCommentUrl($comment->content_link, $comment->parent->comment_srl);
             executeQuery('socialxe.insertBitly', $args);
         }
     }
     // 대표 계정의 댓글 번호를 세팅한다.
     if ($master_provider == 'xe' && $slave_provider) {
         $comment_id = $output->result->{$slave_provider}->id;
     } else {
         if ($master_provider) {
             $comment_id = $output->result->{$master_provider}->id;
         }
     }
     $result->add('comment_id', $comment_id);
     return $result;
 }
コード例 #9
0
ファイル: paypal.plugin.php プロジェクト: umjinsun12/dngshin
 function processReview($args)
 {
     require_once $this->module_path . 'CallerService.php';
     $cs = new CallerService();
     $currencyCodeType = $this->plugin_info->currency_code;
     $paymentType = 'Sale';
     $L_NAME0 = urlencode($args->order_title);
     $L_AMT0 = $args->price;
     if ($this->plugin_info->conversion_rate) {
         $L_AMT0 = round($args->price * $this->plugin_info->conversion_rate, 2);
     }
     $L_QTY0 = '1';
     $L_NUMBER0 = $args->order_srl;
     $returnURL = urlencode(getNotEncodedFullUrl('', 'module', 'epay', 'act', 'procEpayDoPayment', 'epay_module_srl', $args->epay_module_srl, 'plugin_srl', $args->plugin_srl, 'order_srl', $args->order_srl, 'currencyCodeType', $currencyCodeType, 'paymentType', $paymentType));
     $cancelURL = urlencode(getNotEncodedFullUrl(''));
     $itemamt = 0.0;
     $itemamt = $L_QTY0 * $L_AMT0;
     $amt = $itemamt;
     $maxamt = $amt + 25.0;
     $nvpstr = "";
     $nvpstr = "&L_NAME0=" . $L_NAME0 . "&L_AMT0=" . $L_AMT0 . "&L_QTY0=" . $L_QTY0 . "&MAXAMT=" . (string) $maxamt . "&AMT=" . (string) $amt . "&ITEMAMT=" . (string) $itemamt . "&CALLBACKTIMEOUT=4&L_NUMBER0=" . $L_NUMBER0 . "&L_DESC0=" . $L_NAME0 . "&RETURNURL=" . $returnURL . "&CANCELURL=" . $cancelURL . "&CURRENCYCODE=" . $currencyCodeType . "&PAYMENTACTION=" . $paymentType;
     if ($this->plugin_info->logo_image) {
         $nvpstr .= "&HDRIMG=" . getFullSiteUrl() . $this->plugin_info->logo_image;
     }
     $nvpstr = $nvpHeader . $nvpstr;
     debugPrint('$nvpstr');
     debugPrint($nvpstr);
     /* Make the call to PayPal to set the Express Checkout token
     		If the API call succeded, then redirect the buyer to PayPal
     		to begin to authorize payment.  If an error occured, show the
     		resulting errors
     		*/
     $resArray = $cs->hash_call("SetExpressCheckout", $nvpstr);
     $_SESSION['reshash'] = $resArray;
     $ack = strtoupper($resArray["ACK"]);
     Context::set('resArray', $resArray);
     if ($ack == "SUCCESS") {
         // Redirect to paypal.com here
         $token = urldecode($resArray["TOKEN"]);
         $payPalURL = PAYPAL_URL . $token;
         $output = new Object();
         $output->add('return_url', $payPalURL);
         return $output;
     } else {
         $errorCode = $_SESSION['curl_error_no'];
         $errorMessage = $_SESSION['curl_error_msg'];
         Context::set('errorCode', $errorCode);
         Context::set('errorMessage', $errorMessage);
         $oTemplate =& TemplateHandler::getInstance();
         $tpl_path = _XE_PATH_ . "modules/epay/plugins/paypal/tpl";
         $tpl_file = 'api_error.html';
         $html = $oTemplate->compile($tpl_path, $tpl_file);
         $output = new Object(-1);
         $output->data = $html;
         $output->setMessage($html);
         return $output;
     }
     return new Object();
 }
コード例 #10
0
 function setSlaveProvider($provider)
 {
     $result = new Object();
     // 제공하는 서비스인지 확인
     if (!$this->inProvider($provider) || $provider == 'xe') {
         $result->setError(-1);
         return $result->setMessage('msg_invalid_provider');
     }
     // 로그인되어 있는지 확인
     if ($this->isLogged($provider)) {
         // XE 로그인이 아니면 끝
         if ($this->provider['xe']->isLogged()) {
             // 부계정 설정
             $this->slave_provider = $provider;
             $this->session->setSession('slave', $provider);
         } else {
             $this->clearSlaveProvider();
         }
     } else {
         $this->setNextSlaveProvider();
     }
     return $result;
 }
コード例 #11
0
ファイル: comment.controller.php プロジェクト: rhymix/rhymix
 function procCommentVoteDownCancel()
 {
     if (!Context::get('logged_info')) {
         return new Object(-1, 'msg_invalid_request');
     }
     $comment_srl = Context::get('target_srl');
     if (!$comment_srl) {
         return new Object(-1, 'msg_invalid_request');
     }
     $oCommentModel = getModel('comment');
     $oComment = $oCommentModel->getComment($comment_srl, FALSE, FALSE);
     if ($oComment->get('blamed_count') >= 0) {
         return new Object(-1, 'msg_comment_blamed_cancel_not');
     }
     $point = -1;
     $output = $this->updateVotedCountCancel($comment_srl, $oComment, $point);
     $output = new Object();
     $output->setMessage('success_voted_canceled');
     return $output;
 }
コード例 #12
0
 function processReport(&$transaction)
 {
     $inipayhome = sprintf(_XE_PATH_ . "files/epay/%s", $transaction->plugin_srl);
     $TEMP_IP = $_SERVER["REMOTE_ADDR"];
     $PG_IP = substr($TEMP_IP, 0, 10);
     //PG에서 보냈는지 IP로 체크
     if ($PG_IP != "203.238.37" && $PG_IP != "210.98.138") {
         return new Object(-1, 'msg_invalid_request');
     }
     /*
     $msg_id = $msg_id;             //메세지 타입
     $no_tid = $no_tid;             //거래번호
     $no_oid = $no_oid;             //상점 주문번호
     $id_merchant = $id_merchant;   //상점 아이디
     $cd_bank = $cd_bank;           //거래 발생 기관 코드
     $cd_deal = $cd_deal;           //취급 기관 코드
     $dt_trans = $dt_trans;         //거래 일자
     $tm_trans = $tm_trans;         //거래 시간
     $no_msgseq = $no_msgseq;       //전문 일련 번호
     $cd_joinorg = $cd_joinorg;     //제휴 기관 코드
     
     $dt_transbase = $dt_transbase; //거래 기준 일자
     $no_transeq = $no_transeq;     //거래 일련 번호
     $type_msg = $type_msg;         //거래 구분 코드
     $cl_close = $cl_close;         //마감 구분코드
     $cl_kor = $cl_kor;             //한글 구분 코드
     $no_msgmanage = $no_msgmanage; //전문 관리 번호
     $no_vacct = $no_vacct;         //가상계좌번호
     $amt_input = $amt_input;       //입금금액
     $amt_check = $amt_check;       //미결제 타점권 금액
     $nm_inputbank = $nm_inputbank; //입금 금융기관명
     $nm_input = $nm_input;         //입금 의뢰인
     $dt_inputstd = $dt_inputstd;   //입금 기준 일자
     $dt_calculstd = $dt_calculstd; //정산 기준 일자
     $flg_close = $flg_close;       //마감 전화
     */
     /*
     //가상계좌채번시 현금영수증 자동발급신청시에만 전달
     $dt_cshr      = $dt_cshr;       //현금영수증 발급일자
     $tm_cshr      = $tm_cshr;       //현금영수증 발급시간
     $no_cshr_appl = $no_cshr_appl;  //현금영수증 발급번호
     $no_cshr_tid  = $no_cshr_tid;   //현금영수증 발급TID
     */
     $logfile = fopen($inipayhome . "/log/vbank_" . date("Ymd") . ".log", "a+");
     $vars = Context::getRequestVars();
     foreach ($vars as $key => $val) {
         fwrite($logfile, $key . " : " . $val . "\n");
     }
     /*
     $output = $this->processPayment(Context::get('no_oid'), Context::get('amt_input'));
     if (!$output->toBool()) return $output;
     */
     fwrite($logfile, "************************************************\n\n");
     fclose($logfile);
     //위에서 상점 데이터베이스에 등록 성공유무에 따라서 성공시에는 "OK"를 이니시스로
     //리턴하셔야합니다. 아래 조건에 데이터베이스 성공시 받는 FLAG 변수를 넣으세요
     //(주의) OK를 리턴하지 않으시면 이니시스 지불 서버는 "OK"를 수신할때까지 계속 재전송을 시도합니다
     //기타 다른 형태의 PRINT( echo )는 하지 않으시기 바랍니다
     $output = new Object();
     $output->order_srl = Context::get('no_oid');
     $output->amount = Context::get('amt_input');
     if ($output->amount == $transaction->payment_amount) {
         echo "OK";
         $output->setError(0);
         $output->state = '2';
         // successfully completed
     } else {
         $output->setError(-1);
         $output->setMessage('amount not match');
         $output->state = '1';
         // not completed
     }
     return $output;
 }
コード例 #13
0
ファイル: xpay.plugin.php プロジェクト: umjinsun12/dngshin
 function processReport(&$transaction)
 {
     $vars = Context::getRequestVars();
     $tid = Context::get('LGD_TID');
     $casflag = Context::get('LGD_CASFLAG');
     $output = new Object();
     // check for TID
     if ($transaction->pg_tid != $tid) {
         echo "TID mismatch";
         $output->setError(-1);
         $output->setMessage('TID mismatch');
         $output->state = '1';
         // not completed
         return $output;
     }
     /// LGD_CASFLAG가 'I' 이면 '입금'
     if ($casflag != 'I') {
         echo "CASFLAG mismatch : " . $casflag;
         $output->setError(-1);
         $output->setMessage('CASFLAG mismatch');
         $output->state = '1';
         // not completed
         return $output;
     }
     $output->order_srl = Context::get('LGD_OID');
     $output->amount = Context::get('LGD_CASTAMOUNT');
     if ($output->amount == $transaction->payment_amount) {
         echo "OK";
         $output->setError(0);
         $output->state = '2';
         // successfully completed
     } else {
         echo "Amount mismatch";
         $output->setError(-1);
         $output->setMessage('amount mismatch');
         $output->state = '1';
         // not completed
     }
     return $output;
 }
コード例 #14
0
ファイル: payplus6.plugin.php プロジェクト: bjrambo/nurigo
 function processReport(&$transaction)
 {
     $payplushome = sprintf(_XE_PATH_ . "files/epay/%s", $transaction->plugin_srl);
     $TEMP_IP = $_SERVER["REMOTE_ADDR"];
     $PG_IP = substr($TEMP_IP, 0, 10);
     //PG에서 보냈는지 IP로 체크
     if ($PG_IP != "203.238.36") {
         return new Object(-1, 'msg_invalid_request');
     }
     $logfile = fopen($payplushome . "/log/vbank_" . date("Ymd") . ".log", "a+");
     fwrite($logfile, "************************************************\n");
     $vars = Context::getRequestVars();
     foreach ($vars as $key => $val) {
         fwrite($logfile, $key . " : " . $val . "\n");
     }
     fwrite($logfile, "************************************************\n\n");
     fclose($logfile);
     $output = new Object();
     $output->order_srl = Context::get('ordr_idxx');
     $output->amount = Context::get('totl_mnyx');
     if ($output->amount == $transaction->payment_amount) {
         $output->setError(0);
         $output->state = '2';
     } else {
         $output->setError(-1);
         $output->setMessage('amount not match');
         $output->state = '1';
     }
     return $output;
 }
コード例 #15
0
 function sendApiRequest($resource, $parameters, $method, $basecamp = FALSE)
 {
     $oTextmessageModel =& getModel('textmessage');
     $config = $oTextmessageModel->getModuleConfig();
     if ($basecamp) {
         $parameters['coolsms_user'] = $config->cs_user_id;
         $api_secret = $config->cs_password;
     } else {
         $parameters['api_key'] = $config->api_key;
         $api_secret = $config->api_secret;
     }
     $parameters['salt'] = uniqid();
     $parameters['timestamp'] = strval(time());
     $parameters['User_Agent'] = 'RestTool';
     $parameters['signature'] = hash_hmac('md5', $parameters['timestamp'] . $parameters['salt'], $api_secret);
     //$parameters['handle_key'] = Context::get('handle_key');
     $query_string = sprintf("/senderid/1/%s", $resource);
     if ($method == 'GET') {
         $query_string = sprintf("%s?%s", $query_string, http_build_query($parameters));
     }
     require_once _XE_PATH_ . 'classes/httprequest/XEHttpRequest.class.php';
     $http = new XEHttpRequest('rest1.coolsms.co.kr', 80);
     $result = $http->send($query_string, $method, 10, $parameters);
     if (is_a($result, 'Object')) {
         return $result;
     }
     $output = new Object();
     $output->data = json_decode($result->body);
     if ($output->data->code) {
         $output->setError(-1);
         $output->setMessage(sprintf("%s : %s", $output->data->code, $output->data->message));
     }
     return $output;
 }
コード例 #16
0
 /**
  * set message
  * @param string $message a message string
  * @param string $type type of message (error, info, update)
  * @return void
  * */
 function setMessage($message, $type = NULL)
 {
     parent::setMessage($message);
     $this->setMessageType($type);
 }
コード例 #17
0
ファイル: document.controller.php プロジェクト: rhymix/rhymix
 /**
  * Increase the number of vote-up of the document
  * @param int $document_srl
  * @param int $point
  * @return Object
  */
 function updateVotedCount($document_srl, $point = 1)
 {
     if ($point > 0) {
         $failed_voted = 'failed_voted';
     } else {
         $failed_voted = 'failed_blamed';
     }
     // Return fail if session already has information about votes
     if ($_SESSION['voted_document'][$document_srl]) {
         return new Object(-1, $failed_voted);
     }
     // Get the original document
     $oDocumentModel = getModel('document');
     $oDocument = $oDocumentModel->getDocument($document_srl, false, false);
     // Pass if the author's IP address is as same as visitor's.
     if ($oDocument->get('ipaddress') == $_SERVER['REMOTE_ADDR']) {
         $_SESSION['voted_document'][$document_srl] = false;
         return new Object(-1, $failed_voted);
     }
     // Create a member model object
     $oMemberModel = getModel('member');
     $member_srl = $oMemberModel->getLoggedMemberSrl();
     // Check if document's author is a member.
     if ($oDocument->get('member_srl')) {
         // Pass after registering a session if author's information is same as the currently logged-in user's.
         if ($member_srl && $member_srl == abs($oDocument->get('member_srl'))) {
             $_SESSION['voted_document'][$document_srl] = false;
             return new Object(-1, $failed_voted);
         }
     }
     // Use member_srl for logged-in members and IP address for non-members.
     $args = new stdClass();
     if ($member_srl) {
         $args->member_srl = $member_srl;
     } else {
         $args->ipaddress = $_SERVER['REMOTE_ADDR'];
     }
     $args->document_srl = $document_srl;
     $output = executeQuery('document.getDocumentVotedLogInfo', $args);
     // Pass after registering a session if log information has vote-up logs
     if ($output->data->count) {
         $_SESSION['voted_document'][$document_srl] = false;
         return new Object(-1, $failed_voted);
     }
     // begin transaction
     $oDB = DB::getInstance();
     $oDB->begin();
     // Update the voted count
     if ($point < 0) {
         $args->blamed_count = $oDocument->get('blamed_count') + $point;
         // Leave in the session information
         $_SESSION['voted_document'][$document_srl] = $point;
         $output = executeQuery('document.updateBlamedCount', $args);
     } else {
         $args->voted_count = $oDocument->get('voted_count') + $point;
         // Leave in the session information
         $_SESSION['voted_document'][$document_srl] = $point;
         $output = executeQuery('document.updateVotedCount', $args);
     }
     if (!$output->toBool()) {
         return $output;
     }
     // Leave logs
     $args->point = $point;
     $output = executeQuery('document.insertDocumentVotedLog', $args);
     if (!$output->toBool()) {
         return $output;
     }
     $obj = new stdClass();
     $obj->member_srl = $oDocument->get('member_srl');
     $obj->module_srl = $oDocument->get('module_srl');
     $obj->document_srl = $oDocument->get('document_srl');
     $obj->update_target = $point < 0 ? 'blamed_count' : 'voted_count';
     $obj->point = $point;
     $obj->before_point = $point < 0 ? $oDocument->get('blamed_count') : $oDocument->get('voted_count');
     $obj->after_point = $point < 0 ? $args->blamed_count : $args->voted_count;
     ModuleHandler::triggerCall('document.updateVotedCount', 'after', $obj);
     $oDB->commit();
     //remove document item from cache
     Rhymix\Framework\Cache::delete('document_item:' . getNumberingPath($document_srl) . $document_srl);
     // Return result
     $output = new Object();
     if ($point > 0) {
         $output->setMessage('success_voted');
         $output->add('voted_count', $obj->after_point);
     } else {
         $output->setMessage('success_blamed');
         $output->add('blamed_count', $obj->after_point);
     }
     return $output;
 }
コード例 #18
0
ファイル: communicator.php プロジェクト: leehankyeol/JaWeTip
 function stop($msg)
 {
     $result = new Object();
     $result->setError(-1);
     $result->setMessage($msg);
     return $result;
 }