本文整理汇总了PHP中SC_Helper_Purchase_Ex类的典型用法代码示例。如果您正苦于以下问题:PHP SC_Helper_Purchase_Ex类的具体用法?PHP SC_Helper_Purchase_Ex怎么用?PHP SC_Helper_Purchase_Ex使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SC_Helper_Purchase_Ex类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: action
/**
* Page のAction.
*
* @return void
*/
function action()
{
$objCustomer = new SC_Customer_Ex();
$objDb = new SC_Helper_DB_Ex();
$objPurchase = new SC_Helper_Purchase_Ex();
if (!SC_Utils_Ex::sfIsInt($_GET['order_id'])) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
$order_id = $_GET['order_id'];
//受注データの取得
$this->tpl_arrOrderData = $objPurchase->getOrder($order_id, $objCustomer->getValue('customer_id'));
if (empty($this->tpl_arrOrderData)) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
$this->arrShipping = $this->lfGetShippingDate($objPurchase, $order_id, $this->arrWDAY);
$this->isMultiple = count($this->arrShipping) > 1;
// 支払い方法の取得
$this->arrPayment = $objDb->sfGetIDValueList('dtb_payment', 'payment_id', 'payment_method');
// 受注商品明細の取得
$this->tpl_arrOrderDetail = $objPurchase->getOrderDetail($order_id);
$this->tpl_arrOrderDetail = $this->setMainListImage($this->tpl_arrOrderDetail);
$objPurchase->setDownloadableFlgTo($this->tpl_arrOrderDetail);
// モバイルダウンロード対応処理
$this->lfSetAU($this->tpl_arrOrderDetail);
// 受注メール送信履歴の取得
$this->tpl_arrMailHistory = $this->lfGetMailHistory($order_id);
}
开发者ID:nassos9090,项目名称:plugin,代码行数:32,代码来源:LC_Page_Mypage_History.php
示例2: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
SC_Response_Ex::sendRedirect(DIR_INDEX_PATH);
}
开发者ID:geany-y,项目名称:cube2,代码行数:12,代码来源:LC_Page_Original_Login.php
示例3: getModulePath
/**
* 受注IDをキーにして, 決済モジュールのパスを取得する.
*
* 決済モジュールが取得できた場合は, require 可能な決済モジュールのパスを返す.
* 受注IDが無効な場合, 取得したパスにファイルが存在しない場合は false
*
* @param integer $order_id 受注ID
* @return string|boolean 成功した場合は決済モジュールのパス;
* 失敗した場合 false
*/
public function getModulePath($order_id)
{
$objPurchase = new SC_Helper_Purchase_Ex();
$objPayment = new SC_Helper_Payment_Ex();
$order = $objPurchase->getOrder($order_id);
$payment = $objPayment->get($order['payment_id']);
$module_path = $payment['module_path'];
/*
* 2.12.x までは dtb_payment.module_path がフルパスとなっていた.
* 2.13.x より, MODULE_REALDIR からのパスでも対応できるよう修正
* http://svn.ec-cube.net/open_trac/ticket/2292
*/
if (realpath($module_path) !== false) {
$module_path = str_replace('\\', '/', realpath($module_path));
} else {
$module_path = str_replace('\\', '/', $module_path);
}
$module_realdir = str_replace('\\', '/', realpath(MODULE_REALDIR) . '/');
if (strpos($module_path, $module_realdir) !== false) {
$module_path = str_replace($module_realdir, '', $module_path);
}
$module_path = $module_realdir . $module_path;
if (file_exists($module_path)) {
return $module_path;
}
return false;
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:37,代码来源:LC_Page_Shopping_LoadPaymentModule.php
示例4: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
$objCustomer = new SC_Customer_Ex();
$customer_id = $objCustomer->getValue('customer_id');
//ページ送り用
$this->objNavi = new SC_PageNavi_Ex($_REQUEST['pageno'], $this->lfGetOrderHistory($customer_id), SEARCH_PMAX, 'eccube.movePage', NAVI_PMAX, 'pageno=#page#', SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE);
$this->arrOrder = $this->lfGetOrderHistory($customer_id, $this->objNavi->start_row);
switch ($this->getMode()) {
case 'getList':
echo SC_Utils_Ex::jsonEncode($this->arrOrder);
SC_Response_Ex::actionExit();
break;
default:
break;
}
// 支払い方法の取得
$this->arrPayment = SC_Helper_Payment_Ex::getIDValueList();
// 1ページあたりの件数
$this->dispNumber = SEARCH_PMAX;
$this->json_payment = SC_Utils::jsonEncode($this->arrPayment);
$this->json_customer_order_status = SC_Utils::jsonEncode($this->arrCustomerOrderStatus);
}
开发者ID:rateon,项目名称:twhk-ec,代码行数:30,代码来源:LC_Page_Mypage.php
示例5: action
/**
* Page のアクション.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
$this->tpl_title = '';
$objCustomer = new SC_Customer_Ex();
$this->isLogin = $objCustomer->isLoginSuccess(true);
}
开发者ID:rateon,项目名称:twhk-ec,代码行数:14,代码来源:LC_Page_Index.php
示例6: action
/**
* Page のアクション.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
$arrKiyaku = $this->lfGetKiyakuData();
$this->max = count($arrKiyaku);
// mobile時はGETでページ指定
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
$this->offset = $this->lfSetOffset($_GET['offset']);
}
$this->tpl_kiyaku_text = $this->lfMakeKiyakuText($arrKiyaku, $this->max, $this->offset);
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:18,代码来源:LC_Page_Entry_Kiyaku.php
示例7: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
//受注詳細データの取得
$arrOrderDetail = $this->lfGetOrderDetail($_POST['order_id']);
//ログインしていない、またはDBに情報が無い場合
if (empty($arrOrderDetail)) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
$this->lfAddCartProducts($arrOrderDetail);
SC_Response_Ex::sendRedirect(CART_URL);
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:19,代码来源:LC_Page_Mypage_Order.php
示例8: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
$objProduct = new SC_Product_Ex();
// パラメーター管理クラス
$objFormParam = new SC_FormParam_Ex();
// パラメーター情報の初期化
$this->lfInitParam($objFormParam);
// 値の設定
$objFormParam->setParam($_REQUEST);
// 入力値の変換
$objFormParam->convParam();
// 値の取得
$this->arrForm = $objFormParam->getHashArray();
//modeの取得
$this->mode = $this->getMode();
//表示条件の取得
$this->arrSearchData = array('category_id' => $this->lfGetCategoryId(intval($this->arrForm['category_id'])), 'maker_id' => intval($this->arrForm['maker_id']), 'name' => $this->arrForm['name']);
$this->orderby = $this->arrForm['orderby'];
//ページング設定
$this->tpl_pageno = $this->arrForm['pageno'];
$this->disp_number = $this->lfGetDisplayNum($this->arrForm['disp_number']);
// 画面に表示するサブタイトルの設定
$this->tpl_subtitle = $this->lfGetPageTitle($this->mode, $this->arrSearchData['category_id']);
// 画面に表示する検索条件を設定
$this->arrSearch = $this->lfGetSearchConditionDisp($this->arrSearchData);
// 商品一覧データの取得
$arrSearchCondition = $this->lfGetSearchCondition($this->arrSearchData);
$this->tpl_linemax = $this->lfGetProductAllNum($arrSearchCondition);
$urlParam = "category_id={$this->arrSearchData['category_id']}&pageno=#page#";
// モバイルの場合に検索条件をURLの引数に追加
if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_MOBILE) {
$searchNameUrl = urlencode(mb_convert_encoding($this->arrSearchData['name'], 'SJIS-win', 'UTF-8'));
$urlParam .= "&mode={$this->mode}&name={$searchNameUrl}&orderby={$this->orderby}";
}
$this->objNavi = new SC_PageNavi_Ex($this->tpl_pageno, $this->tpl_linemax, $this->disp_number, 'eccube.movePage', NAVI_PMAX, $urlParam, SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE);
$this->arrProducts = $this->lfGetProductsList($arrSearchCondition, $this->disp_number, $this->objNavi->start_row, $objProduct);
switch ($this->getMode()) {
case 'json':
$this->doJson($objProduct);
break;
default:
$this->doDefault($objProduct, $objFormParam);
break;
}
$this->tpl_rnd = SC_Utils_Ex::sfGetRandomString(3);
}
开发者ID:rateon,项目名称:twhk-ec,代码行数:54,代码来源:LC_Page_Products_List.php
示例9: action
/**
* Page のプロセス.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
$objSiteSess = new SC_SiteSession_Ex();
$objCartSess = new SC_CartSession_Ex();
$objCustomer = new SC_Customer_Ex();
$objFormParam = new SC_FormParam_Ex();
$objAddress = new SC_Helper_Address_Ex();
// 複数配送先指定が無効な場合はエラー
if (USE_MULTIPLE_SHIPPING === false) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
SC_Response_Ex::actionExit();
}
$this->tpl_uniqid = $objSiteSess->getUniqId();
$this->addrs = $this->getDelivAddrs($objCustomer, $objPurchase, $objAddress);
$this->tpl_addrmax = count($this->addrs) - 2;
// 「選択してください」と会員の住所をカウントしない
$this->lfInitParam($objFormParam);
$objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
switch ($this->getMode()) {
case 'confirm':
$objFormParam->setParam($_POST);
$this->arrErr = $this->lfCheckError($objFormParam);
if (SC_Utils_Ex::isBlank($this->arrErr)) {
// フォームの情報を一時保存しておく
$_SESSION['multiple_temp'] = $objFormParam->getHashArray();
$this->saveMultipleShippings($this->tpl_uniqid, $objFormParam, $objCustomer, $objPurchase, $objAddress);
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect('payment.php');
SC_Response_Ex::actionExit();
}
break;
default:
$this->setParamToSplitItems($objFormParam, $objCartSess);
}
// 前のページから戻ってきた場合
if ($_GET['from'] == 'multiple') {
$objFormParam->setParam($_SESSION['multiple_temp']);
}
$this->arrForm = $objFormParam->getFormParamList();
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:48,代码来源:LC_Page_Shopping_Multiple.php
示例10: action
function action()
{
parent::action();
if (is_array($this->arrResults) && count($this->arrResults) > 0) {
$objPurchase = new SC_Helper_Purchase_Ex();
$detect = new Mobile_Detect();
foreach ($this->arrResults as &$order) {
$order["detail"] = $objPurchase->getOrderDetail($order["order_id"]);
if (isset($order["useragent"])) {
$detect->setUserAgent($order["useragent"]);
$useragent = array();
if ($detect->is("AndroidOS")) {
preg_match("{.*;([^;]+) Build}", $order["useragent"], $useragent);
$order["device"] = $useragent[1];
}
}
}
}
}
开发者ID:alice-asahina,项目名称:kisekae_touch,代码行数:19,代码来源:LC_Page_Admin_Order_Ex.php
示例11: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
$objCustomer = new SC_Customer_Ex();
$objProduct = new SC_Product();
if (!SC_Utils_Ex::sfIsInt($_GET['order_id'])) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
$order_id = $_GET['order_id'];
$this->is_price_change = false;
//受注データの取得
$this->tpl_arrOrderData = $objPurchase->getOrder($order_id, $objCustomer->getValue('customer_id'));
if (empty($this->tpl_arrOrderData)) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
$this->arrShipping = $this->lfGetShippingDate($objPurchase, $order_id, $this->arrWDAY);
$this->isMultiple = count($this->arrShipping) > 1;
// 支払い方法の取得
$this->arrPayment = SC_Helper_Payment_Ex::getIDValueList();
// 受注商品明細の取得
$this->tpl_arrOrderDetail = $objPurchase->getOrderDetail($order_id);
foreach ($this->tpl_arrOrderDetail as $product_index => $arrOrderProductDetail) {
//必要なのは商品の販売金額のみなので、遅い場合は、別途SQL作成した方が良い
$arrTempProductDetail = $objProduct->getProductsClass($arrOrderProductDetail['product_class_id']);
// 税計算
$this->tpl_arrOrderDetail[$product_index]['price_inctax'] = $this->tpl_arrOrderDetail[$product_index]['price'] + SC_Helper_TaxRule_Ex::calcTax($this->tpl_arrOrderDetail[$product_index]['price'], $this->tpl_arrOrderDetail[$product_index]['tax_rate'], $this->tpl_arrOrderDetail[$product_index]['tax_rule']);
$arrTempProductDetail['price02_inctax'] = SC_Helper_TaxRule_Ex::sfCalcIncTax($arrTempProductDetail['price02'], $arrTempProductDetail['product_id'], $arrTempProductDetail['product_class_id']);
if ($this->tpl_arrOrderDetail[$product_index]['price_inctax'] != $arrTempProductDetail['price02_inctax']) {
$this->is_price_change = true;
}
$this->tpl_arrOrderDetail[$product_index]['product_price_inctax'] = $arrTempProductDetail['price02_inctax'] ? $arrTempProductDetail['price02_inctax'] : 0;
}
$this->tpl_arrOrderDetail = $this->setMainListImage($this->tpl_arrOrderDetail);
$objPurchase->setDownloadableFlgTo($this->tpl_arrOrderDetail);
// モバイルダウンロード対応処理
$this->lfSetAU($this->tpl_arrOrderDetail);
// 受注メール送信履歴の取得
$this->tpl_arrMailHistory = $this->lfGetMailHistory($order_id);
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:46,代码来源:LC_Page_Mypage_History.php
示例12: action
/**
* Page のアクション.
*
* @return void
*/
function action()
{
$objCartSess = new SC_CartSession_Ex();
$objSiteSess = new SC_SiteSession_Ex();
$objCustomer = new SC_Customer_Ex();
$objPurchase = new SC_Helper_Purchase_Ex();
$objHelperMail = new SC_Helper_Mail_Ex();
$this->is_multiple = $objPurchase->isMultiple();
// 前のページで正しく登録手続きが行われた記録があるか判定
if (!$objSiteSess->isPrePage()) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, $objSiteSess);
}
// ユーザユニークIDの取得と購入状態の正当性をチェック
$this->tpl_uniqid = $objSiteSess->getUniqId();
$objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
$this->cartKey = $objCartSess->getKey();
// カート内商品のチェック
$this->tpl_message = $objCartSess->checkProducts($this->cartKey);
if (!SC_Utils_Ex::isBlank($this->tpl_message)) {
SC_Response_Ex::sendRedirect(CART_URLPATH);
SC_Response_Ex::actionExit();
}
// カートの商品を取得
$this->arrShipping = $objPurchase->getShippingTemp($this->is_multiple);
$this->arrCartItems = $objCartSess->getCartList($this->cartKey);
// 合計金額
$this->tpl_total_inctax[$this->cartKey] = $objCartSess->getAllProductsTotal($this->cartKey);
// 税額
$this->tpl_total_tax[$this->cartKey] = $objCartSess->getAllProductsTax($this->cartKey);
// ポイント合計
$this->tpl_total_point[$this->cartKey] = $objCartSess->getAllProductsPoint($this->cartKey);
// 一時受注テーブルの読込
$arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid);
// カート集計を元に最終計算
$arrCalcResults = $objCartSess->calculate($this->cartKey, $objCustomer, $arrOrderTemp['use_point'], $objPurchase->getShippingPref($this->is_multiple), $arrOrderTemp['charge'], $arrOrderTemp['discount'], $arrOrderTemp['deliv_id']);
$this->arrForm = array_merge($arrOrderTemp, $arrCalcResults);
// 会員ログインチェック
if ($objCustomer->isLoginSuccess(true)) {
$this->tpl_login = '1';
$this->tpl_user_point = $objCustomer->getValue('point');
}
// 決済モジュールを使用するかどうか
$this->use_module = SC_Helper_Payment_Ex::useModule($this->arrForm['payment_id']);
switch ($this->getMode()) {
// 前のページに戻る
case 'return':
// 正常な推移であることを記録しておく
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect(SHOPPING_PAYMENT_URLPATH);
SC_Response_Ex::actionExit();
break;
case 'confirm':
/*
* 決済モジュールで必要なため, 受注番号を取得
*/
$this->arrForm['order_id'] = $objPurchase->getNextOrderID();
$_SESSION['order_id'] = $this->arrForm['order_id'];
// 集計結果を受注一時テーブルに反映
$objPurchase->saveOrderTemp($this->tpl_uniqid, $this->arrForm, $objCustomer);
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();
// 決済モジュールを使用する場合
if ($this->use_module) {
$objPurchase->completeOrder(ORDER_PENDING);
SC_Response_Ex::sendRedirect(SHOPPING_MODULE_URLPATH);
} else {
$objPurchase->completeOrder(ORDER_NEW);
$template_id = SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE ? 2 : 1;
$objHelperMail->sfSendOrderMail($this->arrForm['order_id'], $template_id);
SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);
}
SC_Response_Ex::actionExit();
break;
default:
break;
}
}
开发者ID:snguyenone,项目名称:ec-cube-ja-2.12.6,代码行数:82,代码来源:LC_Page_Shopping_Confirm.php
示例13: lfGetOrderData
private function lfGetOrderData($order_id)
{
if (SC_Utils_Ex::sfIsInt($order_id)) {
// DBから受注情報を読み込む
$objPurchase = new SC_Helper_Purchase_Ex();
$this->arrDisp = $objPurchase->getOrder($order_id);
list($point) = SC_Helper_Customer_Ex::sfGetCustomerPoint($order_id, $this->arrDisp['use_point'], $this->arrDisp['add_point']);
$this->arrDisp['point'] = $point;
// 受注詳細データの取得
$arrRet = $objPurchase->getOrderDetail($order_id);
$arrRet = SC_Utils_Ex::sfSwapArray($arrRet);
$this->arrDisp = array_merge($this->arrDisp, $arrRet);
// その他支払い情報を表示
if ($this->arrDisp['memo02'] != '') {
$this->arrDisp['payment_info'] = unserialize($this->arrDisp['memo02']);
}
$this->arrDisp['payment_type'] = 'お支払い';
}
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:19,代码来源:SC_Fpdf.php
示例14: lfStatusMove
/**
* 対応状況の更新
*/
function lfStatusMove($statusId, $arrOrderId)
{
$objPurchase = new SC_Helper_Purchase_Ex();
$objQuery =& SC_Query_Ex::getSingletonInstance();
if (!isset($arrOrderId) || !is_array($arrOrderId)) {
return false;
}
$masterData = new SC_DB_MasterData_Ex();
$arrORDERSTATUS = $masterData->getMasterData('mtb_order_status');
$objQuery->begin();
foreach ($arrOrderId as $orderId) {
$objPurchase->sfUpdateOrderStatus($orderId, $statusId);
}
$objQuery->commit();
$this->tpl_onload = "window.alert('" . t('c_The selected item was moved to T_ARG1._01', array('T_ARG1' => $arrORDERSTATUS[$statusId])) . "');";
return true;
}
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:20,代码来源:LC_Page_Admin_Order_Status.php
示例15: lfStatusMove
/**
* 対応状況の更新
*/
function lfStatusMove($statusId, $arrOrderId)
{
$objPurchase = new SC_Helper_Purchase_Ex();
$objQuery =& SC_Query_Ex::getSingletonInstance();
if (!isset($arrOrderId) || !is_array($arrOrderId)) {
return false;
}
$masterData = new SC_DB_MasterData_Ex();
$arrORDERSTATUS = $masterData->getMasterData('mtb_order_status');
$objQuery->begin();
foreach ($arrOrderId as $orderId) {
$objPurchase->sfUpdateOrderStatus($orderId, $statusId);
}
$objQuery->commit();
$this->tpl_onload = "window.alert('選択項目を" . $arrORDERSTATUS[$statusId] . "へ移動しました。');";
return true;
}
开发者ID:snguyenone,项目名称:ec-cube-ja-2.12.6,代码行数:20,代码来源:LC_Page_Admin_Order_Status.php
示例16: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
// 会員クラス
$objCustomer = new SC_Customer_Ex();
// パラメーター管理クラス
$this->objFormParam = new SC_FormParam_Ex();
// パラメーター情報の初期化
$this->arrForm = $this->lfInitParam($this->objFormParam);
// ファイル管理クラス
$this->objUpFile = new SC_UploadFile_Ex(IMAGE_TEMP_REALDIR, IMAGE_SAVE_REALDIR);
// ファイル情報の初期化
$this->objUpFile = $this->lfInitFile($this->objUpFile);
// プロダクトIDの正当性チェック
$product_id = $this->lfCheckProductId($this->objFormParam->getValue('admin'), $this->objFormParam->getValue('product_id'));
$this->mode = $this->getMode();
$objProduct = new SC_Product_Ex();
$objProduct->setProductsClassByProductIds(array($product_id));
// 規格1クラス名
$this->tpl_class_name1 = $objProduct->className1[$product_id];
// 規格2クラス名
$this->tpl_class_name2 = $objProduct->className2[$product_id];
// 規格1
$this->arrClassCat1 = $objProduct->classCats1[$product_id];
// 規格1が設定されている
$this->tpl_classcat_find1 = $objProduct->classCat1_find[$product_id];
// 規格2が設定されている
$this->tpl_classcat_find2 = $objProduct->classCat2_find[$product_id];
$this->tpl_stock_find = $objProduct->stock_find[$product_id];
$this->tpl_product_class_id = $objProduct->classCategories[$product_id]['__unselected']['__unselected']['product_class_id'];
$this->tpl_product_type = $objProduct->classCategories[$product_id]['__unselected']['__unselected']['product_type'];
// 在庫が無い場合は、OnLoadしない。(javascriptエラー防止)
if ($this->tpl_stock_find) {
// 規格選択セレクトボックスの作成
$this->js_lnOnload .= $this->lfMakeSelect();
}
$this->tpl_javascript .= 'eccube.classCategories = ' . SC_Utils_Ex::jsonEncode($objProduct->classCategories[$product_id]) . ';';
$this->tpl_javascript .= 'function lnOnLoad()
{' . $this->js_lnOnload . '}';
$this->tpl_onload .= 'lnOnLoad();';
// モバイル用 規格選択セレクトボックスの作成
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
$this->lfMakeSelectMobile($this, $product_id, $this->objFormParam->getValue('classcategory_id1'));
}
// 商品IDをFORM内に保持する
$this->tpl_product_id = $product_id;
switch ($this->mode) {
case 'cart':
$this->doCart();
break;
case 'add_favorite':
$this->doAddFavorite($objCustomer);
break;
case 'add_favorite_sphone':
$this->doAddFavoriteSphone($objCustomer);
break;
case 'select':
case 'select2':
case 'selectItem':
/**
* モバイルの数量指定・規格選択の際に、
* $_SESSION['cart_referer_url'] を上書きさせないために、
* 何もせずbreakする。
*/
break;
default:
$this->doDefault();
break;
}
// モバイル用 ポストバック処理
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
switch ($this->mode) {
case 'select':
$this->doMobileSelect();
break;
case 'select2':
$this->doMobileSelect2();
break;
case 'selectItem':
$this->doMobileSelectItem();
break;
case 'cart':
$this->doMobileCart();
break;
default:
$this->doMobileDefault();
break;
}
}
// 商品詳細を取得
$this->arrProduct = $objProduct->getDetail($product_id);
// サブタイトルを取得
$this->tpl_subtitle = $this->arrProduct['name'];
//.........这里部分代码省略.........
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:101,代码来源:LC_Page_Products_Detail.php
示例17: lfPurchaseHistory
/**
* 購入履歴情報の取得
*
* @return array( integer 全体件数, mixed 会員データ一覧配列, mixed SC_PageNaviオブジェクト)
*/
public function lfPurchaseHistory($customer_id, $pageno = 0)
{
if (SC_Utils_Ex::isBlank($customer_id)) {
return array('0', array(), NULL);
}
$objQuery =& SC_Query_Ex::getSingletonInstance();
$page_max = ADMIN_SEARCH_DEFAULT_NUM;
$table = 'dtb_order';
/*
* キャンセル、決済処理中を除く
*/
$where = 'customer_id = ? AND del_flg <> 1 AND status <> ? AND status <> ? ';
$arrVal = array($customer_id, ORDER_CANCEL, ORDER_PENDING);
// 購入履歴の件数取得
$linemax = $objQuery->count($table, $where, $arrVal);
// ページ送りの取得
$objNavi = new SC_PageNavi_Ex($pageno, $linemax, $page_max, 'eccube.moveSecondSearchPage', NAVI_PMAX);
// 取得範囲の指定(開始行番号、行数のセット)
$objQuery->setLimitOffset($page_max, $objNavi->start_row);
// 表示順序
$order = 'order_id DESC';
$objQuery->setOrder($order);
// 購入履歴情報の取得
$col = "*";
$objDb = new SC_Helper_DB_Ex();
if ($objDb->sfColumnExists("cp_dtb_point_history", "order_id")) {
$col .= ",(SELECT count(*) FROM cp_dtb_point_history WHERE order_id = dtb_order.order_id AND customer_id = dtb_order.customer_id ) AS download_count";
$col .= ",(SELECT min(create_date) FROM cp_dtb_point_history WHERE order_id = dtb_order.order_id AND customer_id = dtb_order.customer_id ) AS min_download_date";
$col .= ",(SELECT max(create_date) FROM cp_dtb_point_history WHERE order_id = dtb_order.order_id AND customer_id = dtb_order.customer_id ) AS max_download_date";
}
$arrPurchaseHistory = $objQuery->select($col, $table, $where, $arrVal);
$objPurchase = new SC_Helper_Purchase_Ex();
foreach ($arrPurchaseHistory as &$row) {
$row["detail"] = $objPurchase->getOrderDetail($row["order_id"]);
}
return array($linemax, $arrPurchaseHistory, $objNavi);
}
开发者ID:alice-asahina,项目名称:kisekae_touch,代码行数:42,代码来源:LC_Page_Admin_Customer_Edit_Ex.php
示例18: capture
/**
* 指定の注文について WebPay API で実売上化する
* エラーメッセージを返す。
*
* @param \WebPay\WebPay $objWebPay WebPay client
* @return string|null 決済時に発生したエラーを管理者に説明するメッセージ
* @throws \WebPay\ApiException 管理者に原因がないエラー(設定ミスによるもの、通信障害によるもの)
*/
public function capture($objWebPay)
{
$current_total = intval($this->arrOrder['payment_total'], 10);
if ($this->getAmount() < $current_total) {
return sprintf('仮売上金額(%s円)以上で実売上化することはできません。合計金額を仮売上金額以下にするか、金額を増額する場合は購入者に連絡し、再度購入処理を行ってください。', number_format($this->getAmount()));
}
try {
$objCharge = $objWebPay->chargeCapture(array('id' => $this->getChargeId(), 'amount' => $current_total));
} catch (\WebPay\ApiException $e) {
$objData = $e->getData();
if ($objData && $objData->error) {
$message = $objData->error->message;
switch ($objData->error->causedBy) {
case 'buyer':
return '購入者に起因する問題で決済できませんでした。購入者に連絡して状況をお訪ねください。' . $message;
case 'insufficient':
return '不正なリクエストがおこなわれました。WebPayのダッシュボードを確認してください。' . $message;
case 'missing':
return '操作対象の課金が見つかりませんでした。WebPayのダッシュボードを確認してください。';
case 'service':
default:
return '未知のエラーが発生しました。時間をおいてやりなおしてください。' . $message;
}
}
throw $e;
}
$objPurchase = new SC_Helper_Purchase_Ex();
$updateData = array(MDL_WEBPAY_CHARGE_DATA_COL => $this->lfConvertToDbChargeData($objCharge));
$objQuery = SC_Query_Ex::getSingletonInstance();
$objQuery->begin();
$objPurchase->sfUpdateOrderStatus($this->arrOrder['order_id'], ORDER_PRE_END, null, null, $updateData);
$objQuery->commit();
$objPurchase->sendOrderMail($this->arrOrder['order_id']);
return null;
}
开发者ID:ttsuru,项目名称:mdl_webpay,代码行数:43,代码来源:SC_Mdl_WebPay_Models_Charge.php
示例19: doCheckBuyAndDownload
function doCheckBuyAndDownload($config)
{
$objFormParam = new SC_FormParam();
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_REQUEST);
$objCustomer = new SC_Customer_Ex();
$objQuery = SC_Query::getSingletonInstance();
$detect = new Mobile_Detect();
$version = $detect->version("iOS", Mobile_Detect::VERSION_TYPE_FLOAT);
$contentid = $this->arrProduct["product_code_min"];
$curl = $this->curl_init(KISEKAE_TOUCH_IPHONE_API01);
$post = $this->getPost($config, array("contentid" => $contentid, "device" => $objFormParam->getValue("device_name", "iPhone6"), "version" => floor($version), "apiversion" => null, "operator" => "au", "lang" => "ja"));
$this->getDs($post, $config);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
GC_Utils_Ex::gfPrintLog(print_r($post, TRUE), DEBUG_LOG_REALFILE);
$result = curl_exec($curl);
$status = SC_XML::xpath($result, "//status/@value");
$vid = SC_XML::xpath($result, "//validation/@id");
switch ($status) {
default:
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR);
case "000":
GC_Utils_Ex::gfDebugLog($result);
$_COOKIE["product_ktc_vid"] = $vid;
break;
}
// API2
$openid = $objCustomer->getValue("au_open_id");
$curl = $this->curl_init(KISEKAE_TOUCH_IPHONE_API02);
$post = $this->getPost($config, array("contentid" => $contentid, "userid" => $openid, "vid" => $vid));
$this->getDs($post, $config);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
GC_Utils_Ex::gfPrintLog(print_r($post, TRUE), DEBUG_LOG_REALFILE);
$result = curl_exec($curl);
$status = SC_XML::xpath($result, "//status/@value");
switch ($status) {
default:
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR);
break;
case "000":
case "010":
// TEST
// /ios/products/detail.php?mode=check_buy_and_download&product_id=13&classcategory_id1=0&classcategory_id2=0&quantity=1&admin=&favorite_product_id=&product_class_id=&device_name=iPhone6Plus&device_height=736&device_width=414&device_rate=3&device_lang=ja&ignore_redownload=1
if ($_GET["ignore_redownload"] == "1") {
$status = "000";
}
break;
}
if ($status == "000") {
// FIXME 課金処理
// API03
$curl = $this->curl_init(KISEKAE_TOUCH_IPHONE_API03);
if ($objCustomer->getValue("buy_to_nopoint") == "1") {
$price = $this->arrProduct["price02_min"];
$settlementtype = "998";
$redownloaddate = date("Ymd");
} else {
$price = $this->arrProduct["price02_min"];
$settlementtype = "001";
$redownloaddate = date("Ymd", strtotime($this->downloadable_days2));
}
$post = $this->getPost($config, array("contentid" => $contentid, "price" => $price, "redownloaddate" => $redownloaddate, "userid" => $openid, "vid" => $vid, "settlementtype" => $settlementtype));
$this->getDs($post, $config);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
GC_Utils_Ex::gfPrintLog(print_r($post, TRUE), DEBUG_LOG_REALFILE);
$result = curl_exec($curl);
$authentication_id = SC_XML::xpath($result, "//authentication/@id");
$objFormParam = new SC_FormParam();
$this->setOrderParam($objFormParam, $vid, $authentication_id);
$objFormParam->convParam();
$message = '';
$arrValBef = array();
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->saveShippingTemp(array());
$order_id = $this->doRegister("", $objPurchase, $objFormParam, $message, $arrValBef);
$customer_id = $objCustomer->getValue("customer_id");
$this->addPointHistory($order_id, $customer_id, $objFormParam, $objQuery);
} else {
$authentication_id = SC_XML::xpath($result, "//authentication/@id");
}
$netUrl = new Net_URL(KISEKAE_TOUCH_IPHONE_CST02);
$netUrl->addQueryString("aid", $authentication_id);
$netUrl->addQueryString("cpid", $config["cpid"]);
$netUrl->addQueryString("siteid", $config["siteid"]);
$netUrl->addQueryString("contentid", $contentid);
$netUrl->addQueryString("ts", date("YmdHis"));
$post2 = $netUrl->querystring;
$this->getDs($post2, $config);
$netUrl->addRawQueryString(http_build_query($post2));
GC_Utils_Ex::gfPrintLog(print_r($post2, TRUE), DEBUG_LOG_REALFILE);
header("Location: " . $netUrl->getURL());
}
开发者ID:alice-asahina,项目名称:kisekae_touch,代码行数:92,代码来源:LC_Page_iOS_Products_Detail.php
示例20: sfGetRollbackPoint
/**
* 受注番号、最終ポイント、加算ポイント、利用ポイントから「オーダー前ポイント」を取得する
*
* @param integer $order_id 受注番号
* @param integer $use_point 利用ポイント
* @param integer $add_point 加算ポイント
* @param integer $order_status 対応状
|
请发表评论