本文整理汇总了PHP中SC_FormParam::getDbArray方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_FormParam::getDbArray方法的具体用法?PHP SC_FormParam::getDbArray怎么用?PHP SC_FormParam::getDbArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_FormParam
的用法示例。
在下文中一共展示了SC_FormParam::getDbArray方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: lfRegistDataNonMember
/**
* @param SC_FormParam $objFormParam
*/
public function lfRegistDataNonMember($objFormParam)
{
$arrRegistColumn = $objFormParam->getDbArray();
foreach ($arrRegistColumn as $key => $val) {
$arrRegist['shipping_' . $key] = $val;
}
if (count($_SESSION['shipping']) >= DELIV_ADDR_MAX) {
SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先最大登録数に達しています。');
} else {
$_SESSION['shipping'][] = $arrRegist;
}
}
示例2: doRegister
/**
* DB更新処理
*
* @param integer $order_id 受注ID
* @param SC_Helper_Purchase $objPurchase SC_Helper_Purchase インスタンス
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param string $message 通知メッセージ
* @param array $arrValuesBefore 更新前の受注情報
* @return integer $order_id 受注ID
*
* エラー発生時は負数を返す。
*/
function doRegister($order_id, &$objPurchase, &$objFormParam, &$message, &$arrValuesBefore)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$arrValues = $objFormParam->getDbArray();
$where = 'order_id = ?';
$objQuery->begin();
// 支払い方法が変更されたら、支払い方法名称も更新
if ($arrValues['payment_id'] != $arrValuesBefore['payment_id']) {
$arrValues['payment_method'] = $this->arrPayment[$arrValues['payment_id']];
$arrValuesBefore['payment_id'] = NULL;
}
// 受注テーブルの更新
$order_id = $objPurchase->registerOrder($order_id, $arrValues);
$arrDetail = $objFormParam->getSwapArray(array('product_id', 'product_class_id', 'product_code', 'product_name', 'price', 'quantity', 'point_rate', 'classcategory_name1', 'classcategory_name2'));
// 変更しようとしている商品情報とDBに登録してある商品情報を比較することで、更新すべき数量を計算
$max = count($arrDetail);
$k = 0;
$arrStockData = array();
for ($i = 0; $i < $max; $i++) {
if (!empty($arrDetail[$i]['product_id'])) {
$arrPreDetail = $objQuery->select('*', 'dtb_order_detail', 'order_id = ? AND product_class_id = ?', array($order_id, $arrDetail[$i]['product_class_id']));
if (!empty($arrPreDetail) && $arrPreDetail[0]['quantity'] != $arrDetail[$i]['quantity']) {
// 数量が変更された商品
$arrStockData[$k]['product_class_id'] = $arrDetail[$i]['product_class_id'];
$arrStockData[$k]['quantity'] = $arrPreDetail[0]['quantity'] - $arrDetail[$i]['quantity'];
++$k;
} elseif (empty($arrPreDetail)) {
// 新しく追加された商品 もしくは 違う商品に変更された商品
$arrStockData[$k]['product_class_id'] = $arrDetail[$i]['product_class_id'];
$arrStockData[$k]['quantity'] = -$arrDetail[$i]['quantity'];
++$k;
}
$objQuery->delete('dtb_order_detail', 'order_id = ? AND product_class_id = ?', array($order_id, $arrDetail[$i]['product_class_id']));
}
}
// 上記の新しい商品のループでDELETEされなかった商品は、注文より削除された商品
$arrPreDetail = $objQuery->select('*', 'dtb_order_detail', 'order_id = ?', array($order_id));
foreach ($arrPreDetail as $key => $val) {
$arrStockData[$k]['product_class_id'] = $val['product_class_id'];
$arrStockData[$k]['quantity'] = $val['quantity'];
++$k;
}
// 受注詳細データの更新
$objPurchase->registerOrderDetail($order_id, $arrDetail);
// 在庫数調整
if (ORDER_DELIV != $arrValues['status'] && ORDER_CANCEL != $arrValues['status']) {
foreach ($arrStockData as $stock) {
$objQuery->update('dtb_products_class', array(), 'product_class_id = ?', array($stock['product_class_id']), array('stock' => 'stock + ?'), array($stock['quantity']));
}
}
$arrAllShipping = $objFormParam->getSwapArray($this->arrShippingKeys);
$arrAllShipmentItem = $objFormParam->getSwapArray($this->arrShipmentItemKeys);
$arrDelivTime = $objPurchase->getDelivTime($objFormParam->getValue('deliv_id'));
$arrShippingValues = array();
foreach ($arrAllShipping as $shipping_index => $arrShipping) {
$shipping_id = $arrShipping['shipping_id'];
$arrShippingValues[$shipping_index] = $arrShipping;
$arrShippingValues[$shipping_index]['shipping_date'] = SC_Utils_Ex::sfGetTimestamp($arrShipping['shipping_date_year'], $arrShipping['shipping_date_month'], $arrShipping['shipping_date_day']);
// 配送業者IDを取得
$arrShippingValues[$shipping_index]['deliv_id'] = $objFormParam->getValue('deliv_id');
// お届け時間名称を取得
$arrShippingValues[$shipping_index]['shipping_time'] = $arrDelivTime[$arrShipping['time_id']];
// 複数配送の場合は配送商品を登録
if (!SC_Utils_Ex::isBlank($arrAllShipmentItem)) {
$arrShipmentValues = array();
foreach ($arrAllShipmentItem[$shipping_index] as $key => $arrItem) {
$i = 0;
foreach ($arrItem as $item) {
$arrShipmentValues[$shipping_index][$i][str_replace('shipment_', '', $key)] = $item;
$i++;
}
}
$objPurchase->registerShipmentItem($order_id, $shipping_id, $arrShipmentValues[$shipping_index]);
}
}
$objPurchase->registerShipping($order_id, $arrShippingValues, false);
$objQuery->commit();
return $order_id;
}
示例3: lfRegistReviewData
/**
* レビュー情報の更新
*
* @param integer $review_id レビューID
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @return void
*/
function lfRegistReviewData($review_id, &$objFormParam)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$arrValues = $objFormParam->getDbArray();
$arrValues['update_date'] = 'CURRENT_TIMESTAMP';
$objQuery->update('dtb_review', $arrValues, 'review_id = ?', array($review_id));
}
示例4: lfRegistData
/**
* データの一時登録を行う.
*
* 非会員向けの処理
* @param integer $uniqid 受注一時テーブルのユニークID
* @param SC_Helper_Purchase $objPurchase SC_Helper_Purchase インスタンス
* @param SC_Customer $objCustomer SC_Customer インスタンス
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param boolean $isMultiple 複数配送の場合 true
*/
function lfRegistData($uniqid, &$objPurchase, &$objCustomer, &$objFormParam, $isMultiple = false)
{
$arrParams = $objFormParam->getHashArray();
// 注文者をお届け先とする配列を取得
$arrShippingOwn = array();
$objPurchase->copyFromOrder($arrShippingOwn, $arrParams);
// 都度入力されたお届け先
$arrShipping = $objPurchase->extractShipping($arrParams);
if ($isMultiple) {
$objPurchase->unsetOneShippingTemp(0);
$objPurchase->unsetOneShippingTemp(1);
$objPurchase->saveShippingTemp($arrShippingOwn, 0);
if ($arrParams['deliv_check'] == '1') {
$objPurchase->saveShippingTemp($arrShipping, 1);
}
} else {
$objPurchase->unsetAllShippingTemp(true);
if ($arrParams['deliv_check'] == '1') {
$objPurchase->saveShippingTemp($arrShipping, 1);
} else {
$objPurchase->saveShippingTemp($arrShippingOwn, 0);
}
}
$arrValues = $objFormParam->getDbArray();
// 登録データの作成
$arrValues['order_birth'] = SC_Utils_Ex::sfGetTimestamp($arrParams['year'], $arrParams['month'], $arrParams['day']);
$arrValues['update_date'] = 'CURRENT_TIMESTAMP';
$arrValues['customer_id'] = '0';
$objPurchase->saveOrderTemp($uniqid, $arrValues, $objCustomer);
}
示例5: lfRegistData
/**
* メルマガテンプレートデータの登録・更新を行う
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param integer template_id 更新時は指定
* @return void
*/
function lfRegistData(&$objFormParam, $template_id = null)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$sqlval = $objFormParam->getDbArray();
$sqlval['creator_id'] = $_SESSION['member_id'];
$sqlval['update_date'] = 'CURRENT_TIMESTAMP';
if (SC_Utils_Ex::sfIsInt($template_id)) {
// 更新時
$objQuery->update('dtb_mailmaga_template', $sqlval, 'template_id = ?', array($template_id));
} else {
// 新規登録時
$sqlval['create_date'] = 'CURRENT_TIMESTAMP';
$sqlval['template_id'] = $objQuery->nextVal('dtb_mailmaga_template_template_id');
$objQuery->insert('dtb_mailmaga_template', $sqlval);
}
}
开发者ID:nanasess,项目名称:eccube-WindowsAzureBlob-plugin,代码行数:23,代码来源:LC_Page_Admin_Mail_TemplateInput.php
示例6: lfRegistCustomerData
/**
* 会員情報を登録する
*
* @param SC_FormParam $objFormParam
* @param mixed $customer_id
* @access private
* @return void
*/
public function lfRegistCustomerData(&$objFormParam, $customer_id)
{
$arrRet = $objFormParam->getHashArray();
$sqlval = $objFormParam->getDbArray();
$sqlval['birth'] = SC_Utils_Ex::sfGetTimestamp($arrRet['year'], $arrRet['month'], $arrRet['day']);
SC_Helper_Customer_Ex::sfEditCustomerData($sqlval, $customer_id);
}
示例7: lfRegistData
/**
* データの一時登録を行う.
*
* @param integer $uniqid 受注一時テーブルのユニークID
* @param SC_Helper_Purchase $objPurchase SC_Helper_Purchase インスタンス
* @param SC_Customer $objCustomer SC_Customer インスタンス
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param boolean $isMultiple 複数配送の場合 true
*/
function lfRegistData($uniqid, &$objPurchase, &$objCustomer, &$objFormParam, $isMultiple = false)
{
$arrParams = $objFormParam->getHashArray();
$arrValues = $objFormParam->getDbArray();
// 登録データの作成
$arrValues['order_birth'] = SC_Utils_Ex::sfGetTimestamp($arrParams['year'], $arrParams['month'], $arrParams['day']);
$arrValues['update_date'] = 'CURRENT_TIMESTAMP';
$arrValues['customer_id'] = '0';
// お届け先を指定しない場合、
if ($arrParams['deliv_check'] != '1') {
// order_* を shipping_* へコピー
$objPurchase->copyFromOrder($arrValues, $arrParams);
}
/*
* order_* と shipping_* をそれぞれ $_SESSION['shipping'][$shipping_id]
* に, shipping_* というキーで保存
*/
foreach ($arrValues as $key => $val) {
if (preg_match('/^order_/', $key)) {
$arrOrder['shipping_' . str_replace('order_', '', $key)] = $val;
} elseif (preg_match('/^shipping_/', $key)) {
$arrShipping[$key] = $val;
}
}
if ($isMultiple) {
$objPurchase->saveShippingTemp($arrOrder, 0);
if ($arrParams['deliv_check'] == '1') {
$objPurchase->saveShippingTemp($arrShipping, 1);
}
} else {
if ($arrParams['deliv_check'] == '1') {
$objPurchase->saveShippingTemp($arrShipping, 0);
} else {
$objPurchase->saveShippingTemp($arrOrder, 0);
}
}
$objPurchase->saveOrderTemp($uniqid, $arrValues, $objCustomer);
}
示例8: lfMakeSqlVal
/**
* 会員登録に必要なSQLパラメーターの配列を生成する.
*
* フォームに入力された情報を元に, SQLパラメーターの配列を生成する.
* モバイル端末の場合は, email を email_mobile にコピーし,
* mobile_phone_id に携帯端末IDを格納する.
*
* @param SC_FormParam $objFormParam
* @access private
* @return $arrResults
*/
public function lfMakeSqlVal(&$objFormParam)
{
$arrForm = $objFormParam->getHashArray();
$arrResults = $objFormParam->getDbArray();
// 生年月日の作成
$arrResults['birth'] = SC_Utils_Ex::sfGetTimestamp($arrForm['year'], $arrForm['month'], $arrForm['day']);
// 仮会員 1 本会員 2
$arrResults['status'] = CUSTOMER_CONFIRM_MAIL == true ? '1' : '2';
/*
* secret_keyは、テーブルで重複許可されていない場合があるので、
* 本会員登録では利用されないがセットしておく。
*/
$arrResults['secret_key'] = SC_Helper_Customer_Ex::sfGetUniqSecretKey();
// 入会時ポイント
$CONF = SC_Helper_DB_Ex::sfGetBasisData();
$arrResults['point'] = $CONF['welcome_point'];
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
// 携帯メールアドレス
$arrResults['email_mobile'] = $arrResults['email'];
// PHONE_IDを取り出す
$arrResults['mobile_phone_id'] = SC_MobileUserAgent_Ex::getId();
}
return $arrResults;
}
示例9: doRegister
protected function doRegister($order_id, SC_Helper_Purchase &$objPurchase, SC_FormParam &$objFormParam, &$message, &$arrValuesBefore)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$arrValues = $objFormParam->getDbArray();
$objQuery->begin();
// 支払い方法(固定)
$arrValues['payment_method'] = 'ポイント購入';
// 購入時情報を付与
$arrValues["add_point"] = 0;
$arrValues["carrier"] = $_SESSION["customer"]["carrier"];
$arrValues["useragent"] = $_SERVER["HTTP_USER_AGENT"];
// 受注テーブルの更新
$order_id = $objPurchase->registerOrder($order_id, $arrValues);
$arrDetail = $objFormParam->getHashArray();
$arrDetail = $objQuery->extractOnlyColsOf("dtb_order_detail", $arrDetail);
array_walk($arrDetail, function ($v, $k) use(&$arrDetail) {
if (is_array($v)) {
$arrDetail[$k] = array_shift($v);
} else {
$arrDetail[$k] = $v;
}
});
$arrDetail = array(0 => $arrDetail);
// 受注詳細データの更新
$objPurchase->registerOrderDetail($order_id, $arrDetail);
$objQuery->commit();
if ($order_id > 0) {
$objPurchase->sfUpdateOrderStatus($order_id, ORDER_PRE_END, 0, $objFormParam->getValue("use_point"));
} else {
$this->order_id = $order_id;
GC_Utils_Ex::gfPrintLog(print_r($objFormParam->getHashArray(), true), ERROR_LOG_REALFILE);
SC_Utils_Ex::sfDispSiteError(CANCEL_PURCHASE);
}
return $order_id;
}
示例10: doEdit
function doEdit(SC_Query $objQuery, SC_FormParam &$objFormParam)
{
if (is_array($this->arrErr)) {
$this->arrErr = array_filter($this->arrErr);
if (count($this->arrErr)) {
GC_Utils_Ex::gfPrintLog(print_r($this->arrErr, TRUE), ERROR_LOG_REALFILE);
return;
}
}
$this->arrErr = $objFormParam->checkError();
if (!SC_Utils_Ex::isBlank($this->arrErr)) {
return;
}
$device_id = $objFormParam->getValue("device_id");
$sqldata = $objFormParam->getDbArray();
$arrDateColumn = $this->ARR_DATE_COLUMN;
foreach ($arrDateColumn as $column) {
$date_keys = $this->date_keys($column);
$date = $objFormParam->getHashArray(array_values($date_keys));
$date = array_map("intval", $date);
if (checkdate($date[$date_keys["month"]], $date[$date_keys["day"]], $date[$date_keys["year"]])) {
$sqldata[$column] = SC_Utils_Ex::sfGetTimestamp($date[$date_keys["year"]], $date[$date_keys["month"]], $date[$date_keys["day"]], FALSE);
}
}
$has_insert = false;
$sqldata["update_date"] = "CURRENT_TIMESTAMP";
$device_id = intval($device_id);
if ($device_id == 0) {
$sqldata["device_id"] = $objQuery->nextVal("cp_dtb_device_device_id");
$sqldata["create_date"] = "CURRENT_TIMESTAMP";
$sqldata["del_flg"] = 0;
$objQuery->insert("cp_dtb_device", $sqldata);
$device_id = $sqldata["device_id"];
// 端末情報初期設定
$objFormParam->addParam("edit_device_id", "edit_device_id");
$objFormParam->setValue("edit_device_id", $device_id);
$has_insert = true;
} else {
$sqldata["update_date"] = "CURRENT_TIMESTAMP";
$objQuery->update("cp_dtb_device", $sqldata, "device_id=?", (array) $device_id);
$objQuery->delete("cp_dtb_device_categories", "device_id=?", (array) $device_id);
}
$form = $objFormParam->getHashArray(array("category_id"));
if (is_array($form["category_id"]) && count($form["category_id"])) {
foreach ($form["category_id"] as $category_id) {
$sqldata = compact("category_id", "device_id");
$objQuery->insert("cp_dtb_device_categories", $sqldata);
}
if ($has_insert) {
// 初回登録時のみ
$this->doProductSupportinitial($objQuery, $objFormParam);
}
}
$this->tpl_onload = "eccube.setValueAndSubmit('search_form', 'mode', 'return');";
return $device_id;
}