本文整理汇总了PHP中SC_Helper_Purchase_Ex::saveShippingTemp方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Helper_Purchase_Ex::saveShippingTemp方法的具体用法?PHP SC_Helper_Purchase_Ex::saveShippingTemp怎么用?PHP SC_Helper_Purchase_Ex::saveShippingTemp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Helper_Purchase_Ex
的用法示例。
在下文中一共展示了SC_Helper_Purchase_Ex::saveShippingTemp方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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());
}
示例2: 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();
$this->tpl_uniqid = $objSiteSess->getUniqId();
$objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
$this->cartKey = $objCartSess->getKey();
// ログインチェック
if (!$objCustomer->isLoginSuccess(true)) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
// ダウンロード商品の場合は、支払方法画面に転送
if ($this->cartKey == PRODUCT_TYPE_DOWNLOAD) {
$objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping');
$objPurchase->saveShippingTemp($sqlval);
$objPurchase->saveOrderTemp($this->tpl_uniqid, $sqlval, $objCustomer);
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect('payment.php');
SC_Response_Ex::actionExit();
}
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_POST);
$objFormParam->convParam();
$arrErr = $objFormParam->checkError();
if (!SC_Utils_Ex::isBlank($arrErr)) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
SC_Response_Ex::actionExit();
}
$arrForm = $objFormParam->getHashArray();
switch ($this->getMode()) {
// 削除
case 'delete':
if (!$objAddress->deleteAddress($arrForm['other_deliv_id'], $objCustomer->getValue('customer_id'))) {
SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を削除できませんでした。');
SC_Response_Ex::actionExit();
}
break;
// 会員登録住所に送る
// 会員登録住所に送る
case 'customer_addr':
$objPurchase->unsetShippingTemp();
$shipping_id = $arrForm['deliv_check'] == -1 ? 0 : $arrForm['deliv_check'];
$success = $this->registerDeliv($shipping_id, $this->tpl_uniqid, $objPurchase, $objCustomer, $objAddress);
if (!$success) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
}
$objPurchase->setShipmentItemTempForSole($objCartSess, $shipping_id);
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect(SHOPPING_PAYMENT_URLPATH);
SC_Response_Ex::actionExit();
break;
// 前のページに戻る
// 前のページに戻る
case 'return':
// 確認ページへ移動
SC_Response_Ex::sendRedirect(CART_URL);
SC_Response_Ex::actionExit();
break;
// お届け先複数指定
// お届け先複数指定
case 'multiple':
// 複数配送先指定が無効な場合はエラー
if (USE_MULTIPLE_SHIPPING === false) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
SC_Response_Ex::actionExit();
}
SC_Response_Ex::sendRedirect('multiple.php');
SC_Response_Ex::actionExit();
break;
default:
// 配送IDの取得
$shippingData = $objPurchase->getShippingTemp();
if (!SC_Utils_Ex::isBlank($shippingData)) {
$arrShippingId = array_keys($shippingData);
}
if (isset($arrShippingId[0])) {
$this->arrForm['deliv_check']['value'] = $arrShippingId[0] == 0 ? -1 : $arrShippingId[0];
}
break;
}
// 登録済み住所を取得
$addr = array(array('other_deliv_id' => NULL, 'customer_id' => $objCustomer->getValue('customer_id'), 'name01' => $objCustomer->getValue('name01'), 'name02' => $objCustomer->getValue('name02'), 'kana01' => $objCustomer->getValue('kana01'), 'kana02' => $objCustomer->getValue('kana02'), 'company_name' => $objCustomer->getValue('company_name'), 'country_id' => $objCustomer->getValue('country_id'), 'zipcode' => $objCustomer->getValue('zipcode'), 'zip01' => $objCustomer->getValue('zip01'), 'zip02' => $objCustomer->getValue('zip02'), 'pref' => $objCustomer->getValue('pref'), 'addr01' => $objCustomer->getValue('addr01'), 'addr02' => $objCustomer->getValue('addr02'), 'tel01' => $objCustomer->getValue('tel01'), 'tel02' => $objCustomer->getValue('tel02'), 'tel03' => $objCustomer->getValue('tel03')));
$this->arrAddr = array_merge($addr, $objAddress->getList($objCustomer->getValue('customer_id')));
$this->tpl_addrmax = count($this->arrAddr) - 1;
// 会員の住所をカウントしない
}
示例3: doCheckBuyAndDownloadOk
function doCheckBuyAndDownloadOk($config, $re_download = false)
{
$objCustomer = new SC_Customer_Ex();
$objQuery = SC_Query_Ex::getSingletonInstance();
if (empty($_REQUEST["product_ktc_vid"])) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR);
}
$vid = $_REQUEST["product_ktc_vid"];
$curl = $this->curl_init(KISEKAE_TOUCH_API02);
$post = $this->getPost($config, array("contentid" => $this->arrProduct["product_code_min"], "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":
break;
}
if ($status == "000") {
// FIXME 課金処理
// API03
$curl = $this->curl_init(KISEKAE_TOUCH_API03);
if ($objCustomer->getValue("buy_to_nopoint") == "1") {
$price = $this->arrProduct["price02_min"];
$settlementtype = "998";
$redownloaddate = date("Ymd");
} elseif ($re_download) {
$price = 0;
$settlementtype = "900";
$redownloaddate = date("Ymd");
} else {
$price = $this->arrProduct["price02_min"];
$settlementtype = "001";
$redownloaddate = date("Ymd", strtotime($this->downloadable_days2));
}
$contentid = $this->arrProduct["product_code_min"];
$post = compact("contentid", "price", "redownloaddate", "vid", "settlementtype");
$post = $this->getPost($config, $post);
$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_CST02);
$netUrl->addQueryString("aid", $authentication_id);
$netUrl->addQueryString("cpid", $post["cpid"]);
$netUrl->addQueryString("siteid", $post["siteid"]);
$netUrl->addQueryString("contentid", $post["contentid"]);
$netUrl->addQueryString("ts", $post["ts"]);
$post2 = $netUrl->querystring;
$this->getDs($post2, $config);
$netUrl->addRawQueryString(http_build_query($post2));
header("Location: " . $netUrl->getURL());
}
示例4: action
/**
* Page のプロセス.
*
* @return void
*/
function action()
{
$objSiteSess = new SC_SiteSession_Ex();
$objCartSess = new SC_CartSession_Ex();
$objCustomer = new SC_Customer_Ex();
$objPurchase = new SC_Helper_Purchase_Ex();
$objFormParam = new SC_FormParam_Ex();
$this->tpl_uniqid = $objSiteSess->getUniqId();
$objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
$this->cartKey = $objCartSess->getKey();
// ログインチェック
if (!$objCustomer->isLoginSuccess(true)) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
// ダウンロード商品の場合は、支払方法画面に転送
if ($this->cartKey == PRODUCT_TYPE_DOWNLOAD) {
$objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping');
$objPurchase->saveShippingTemp($sqlval);
$objPurchase->saveOrderTemp($this->tpl_uniqid, $sqlval, $objCustomer);
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect('payment.php');
SC_Response_Ex::actionExit();
}
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_POST);
$objFormParam->convParam();
$arrErr = $objFormParam->checkError();
if (!SC_Utils_Ex::isBlank($arrErr)) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
SC_Response_Ex::actionExit();
}
$arrForm = $objFormParam->getHashArray();
switch ($this->getMode()) {
// 削除
case 'delete':
$this->doDelete($arrForm['other_deliv_id']);
break;
// 会員登録住所に送る
// 会員登録住所に送る
case 'customer_addr':
$objPurchase->unsetShippingTemp();
$shipping_id = $arrForm['deliv_check'] == -1 ? 0 : $arrForm['deliv_check'];
$success = $this->registerDeliv($shipping_id, $this->tpl_uniqid, $objPurchase, $objCustomer);
if (!$success) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
}
$objPurchase->setShipmentItemTempForSole($objCartSess, $shipping_id);
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect(SHOPPING_PAYMENT_URLPATH);
SC_Response_Ex::actionExit();
break;
// 前のページに戻る
// 前のページに戻る
case 'return':
// 確認ページへ移動
SC_Response_Ex::sendRedirect(CART_URLPATH);
SC_Response_Ex::actionExit();
break;
// お届け先複数指定
// お届け先複数指定
case 'multiple':
// 複数配送先指定が無効な場合はエラー
if (USE_MULTIPLE_SHIPPING === false) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
SC_Response_Ex::actionExit();
}
SC_Response_Ex::sendRedirect('multiple.php');
SC_Response_Ex::actionExit();
break;
default:
// 配送IDの取得
$shippingData = $objPurchase->getShippingTemp();
$arrShippingId = array_keys($shippingData);
if (isset($arrShippingId[0])) {
$this->arrForm['deliv_check']['value'] = $arrShippingId[0] == 0 ? -1 : $arrShippingId[0];
}
break;
}
// 登録済み住所を取得
$this->arrAddr = $objCustomer->getCustomerAddress($objCustomer->getValue('customer_id'));
$this->tpl_addrmax = count($this->arrAddr);
}
示例5: action
/**
* Page のプロセス.
*
* @return void
*/
function action()
{
$objSiteSess = new SC_SiteSession_Ex();
$objCartSess = new SC_CartSession_Ex();
$objCustomer = new SC_Customer_Ex();
$objPurchase = new SC_Helper_Purchase_Ex();
$objFormParam = new SC_FormParam_Ex();
$objCookie = new SC_Cookie_Ex(COOKIE_EXPIRE);
$this->tpl_uniqid = $objSiteSess->getUniqId();
$objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
$this->cartKey = $objCartSess->getKey();
// ログインチェック
if (!$objCustomer->isLoginSuccess(true)) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
// ダウンロード商品の場合は、支払方法画面に転送
if ($this->cartKey == PRODUCT_TYPE_DOWNLOAD) {
$objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping');
$objPurchase->saveShippingTemp($sqlval);
$objPurchase->saveOrderTemp($this->tpl_uniqid, $sqlval, $objCustomer);
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect('payment.php');
exit;
}
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_POST);
$objFormParam->convParam();
$arrErr = $objFormParam->checkError();
if (!SC_Utils_Ex::isBlank($arrErr)) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true);
exit;
}
$arrForm = $objFormParam->getHashArray();
switch ($this->getMode()) {
// 削除
case 'delete':
$this->doDelete($arrForm['other_deliv_id']);
break;
// 会員登録住所に送る
// 会員登録住所に送る
case 'customer_addr':
$objPurchase->unsetShippingTemp();
if ($this->registerDeliv($arrForm['deliv_check'], $this->tpl_uniqid, $objPurchase, $objCustomer)) {
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect(SHOPPING_PAYMENT_URLPATH);
exit;
} else {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true);
}
break;
// 前のページに戻る
// 前のページに戻る
case 'return':
// 確認ページへ移動
SC_Response_Ex::sendRedirect(CART_URLPATH);
exit;
break;
// お届け先複数指定
// お届け先複数指定
case 'multiple':
SC_Response_Ex::sendRedirect('multiple.php');
exit;
break;
}
// 登録済み住所を取得
$this->arrAddr = $objCustomer->getCustomerAddress($objCustomer->getValue('customer_id'));
$this->tpl_addrmax = count($this->arrAddr);
}