本文整理汇总了PHP中SC_FormParam类的典型用法代码示例。如果您正苦于以下问题:PHP SC_FormParam类的具体用法?PHP SC_FormParam怎么用?PHP SC_FormParam使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SC_FormParam类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initForm
/**
* フォームパラメータ初期化
*
* @return void
*/
function initForm()
{
$objForm = new SC_FormParam();
$objForm->addParam('mode', 'mode', INT_LEN, '', array('ALPHA_CHECK', 'MAX_LENGTH_CHECK'));
$objForm->setParam($_GET);
$this->objForm = $objForm;
}
示例2: initParam
function initParam()
{
$objForm = new SC_FormParam();
$objForm->addParam('pageno', 'pageno', INT_LEN, '', array('NUM_CHECK', 'MAX_LENGTH_CHECK', 'EXIST_CHECK'));
$objForm->addParam('id', 'id', INT_LEN, '', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
$objForm->setParam($_GET);
$this->objForm = $objForm;
}
示例3: setOrderToFormParam
/**
* 受注データを取得して, SC_FormParam へ設定する.
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param integer $order_id 取得元の受注ID
* @return void
*/
function setOrderToFormParam(&$objFormParam, $order_id)
{
$objPurchase = new SC_Helper_Purchase_Ex();
// 受注詳細を設定
$arrOrderDetail = $objPurchase->getOrderDetail($order_id, false);
$objFormParam->setParam(SC_Utils_Ex::sfSwapArray($arrOrderDetail));
$arrShippingsTmp = $objPurchase->getShippings($order_id);
$arrShippings = array();
foreach ($arrShippingsTmp as $row) {
// お届け日の処理
if (!SC_Utils_Ex::isBlank($row['shipping_date'])) {
$ts = strtotime($row['shipping_date']);
$row['shipping_date_year'] = date('Y', $ts);
$row['shipping_date_month'] = date('n', $ts);
$row['shipping_date_day'] = date('j', $ts);
}
$arrShippings[$row['shipping_id']] = $row;
}
$objFormParam->setValue('shipping_quantity', count($arrShippings));
$objFormParam->setParam(SC_Utils_Ex::sfSwapArray($arrShippings));
/*
* 配送商品を設定
*
* $arrShipmentItem['shipment_(key)'][$shipping_id][$item_index] = 値
* $arrProductQuantity[$shipping_id] = 配送先ごとの配送商品数量
*/
$arrProductQuantity = array();
$arrShipmentItem = array();
foreach ($arrShippings as $shipping_id => $arrShipping) {
$arrProductQuantity[$shipping_id] = count($arrShipping['shipment_item']);
foreach ($arrShipping['shipment_item'] as $item_index => $arrItem) {
foreach ($arrItem as $item_key => $item_val) {
$arrShipmentItem['shipment_' . $item_key][$shipping_id][$item_index] = $item_val;
}
}
}
$objFormParam->setValue('shipping_product_quantity', $arrProductQuantity);
$objFormParam->setParam($arrShipmentItem);
/*
* 受注情報を設定
* $arrOrderDetail と項目が重複しており, $arrOrderDetail は連想配列の値
* が渡ってくるため, $arrOrder で上書きする.
*/
$arrOrder = $objPurchase->getOrder($order_id);
$objFormParam->setParam($arrOrder);
// ポイントを設定
list($db_point, $rollback_point) = SC_Helper_DB_Ex::sfGetRollbackPoint($order_id, $arrOrder['use_point'], $arrOrder['add_point'], $arrOrder['status']);
$objFormParam->setValue('total_point', $db_point);
$objFormParam->setValue('point', $rollback_point);
if (!SC_Utils_Ex::isBlank($objFormParam->getValue('customer_id'))) {
$arrCustomer = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($objFormParam->getValue('customer_id'));
$objFormParam->setValue('customer_point', $arrCustomer['point']);
}
}
示例4: checkErrorDispFile
/**
* 表示するファイルにエラーチェックを行う
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @return boolean $file_check_flg エラーチェックの結果
*/
public function checkErrorDispFile($objFormParam)
{
$file_check_flg = false;
// FIXME パスのチェック関数が必要
$file = $objFormParam->getValue('file');
$path_exists = SC_Utils::checkFileExistsWithInBasePath($file, USER_REALDIR);
if ($path_exists) {
$file_check_flg = true;
}
return $file_check_flg;
}
示例5: checkErrorDispFile
/**
* 表示するファイルにエラーチェックを行う
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @return boolen $file_check_flg エラーチェックの結果
*/
function checkErrorDispFile($objFormParam)
{
$file_check_flg = false;
// FIXME パスのチェック関数が必要
$file = $objFormParam->getValue('file');
if (!preg_match('|\\./|', $file)) {
$file_check_flg = true;
}
return $file_check_flg;
}
示例6: lfCheckError
/**
* 入力内容のチェックを行う.
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @return array エラーメッセージの配列
*/
function lfCheckError(&$objFormParam)
{
$arrErr = $objFormParam->checkError();
$arrForm = $objFormParam->getHashArray();
// 重複メッセージの判定
$objQuery =& SC_Query_Ex::getSingletonInstance();
$exists = $objQuery->exists('dtb_review', 'product_id = ? AND title = ? ', array($arrForm['product_id'], $arrForm['title']));
if ($exists) {
$arrErr['title'] .= '重複したタイトルは登録できません。';
}
if (REVIEW_ALLOW_URL == false) {
$objErr = new SC_CheckError_Ex($objFormParam->getHashArray());
// コメント欄へのURLの入力を禁止
$objErr->doFunc(array('URL', 'comment', $this->arrReviewDenyURL), array('PROHIBITED_STR_CHECK'));
$arrErr += $objErr->arrErr;
}
return $arrErr;
}
示例7: doRegister
/**
* 登録を実行する.
*
* ファイルの作成に失敗した場合は, エラーメッセージを出力し,
* データベースをロールバックする.
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param SC_Helper_PageLayout $objLayout SC_Helper_PageLayout インスタンス
* @return integer|boolean 登録が成功した場合, 登録したページID;
* 失敗した場合 false
*/
function doRegister(&$objFormParam, &$objLayout)
{
$filename = $objFormParam->getValue('filename');
$arrParams['device_type_id'] = $objFormParam->getValue('device_type_id');
$arrParams['page_id'] = $objFormParam->getValue('page_id');
$arrParams['header_chk'] = intval($objFormParam->getValue('header_chk')) === 1 ? 1 : 2;
$arrParams['footer_chk'] = intval($objFormParam->getValue('footer_chk')) === 1 ? 1 : 2;
$arrParams['tpl_data'] = $objFormParam->getValue('tpl_data');
$arrParams['page_name'] = $objFormParam->getValue('page_name');
$arrParams['url'] = USER_DIR . $filename . '.php';
$arrParams['filename'] = USER_DIR . $filename;
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->begin();
$page_id = $this->registerPage($arrParams, $objLayout);
$objBlob = new SC_Helper_Blob_Ex();
$containerName = $objBlob->getTemplateContainerName($arrParams['device_type_id']);
/*
* 新規登録時
* or 編集可能な既存ページ編集時かつ, PHP ファイルが存在しない場合に,
* PHP ファイルを作成する.
*/
if (SC_Utils_Ex::isBlank($arrParams['page_id']) || $objLayout->isEditablePage($arrParams['device_type_id'], $arrParams['page_id'])) {
if (!$this->createPHPFile($filename)) {
$this->arrErr['err'] = '※ PHPファイルの作成に失敗しました<br />';
$objQuery->rollback();
return false;
}
// 新規登録時のみ $page_id を代入
$arrParams['page_id'] = $page_id;
}
if ($objLayout->isEditablePage($arrParams['device_type_id'], $page_id)) {
$tpl_path = $objLayout->getTemplatePath($arrParams['device_type_id']) . $arrParams['filename'] . '.tpl';
} else {
$tpl_path = $objLayout->getTemplatePath($arrParams['device_type_id']) . $filename . '.tpl';
}
if (!$objBlob->putBlobData($containerName, $arrParams['filename'] . '.tpl', $arrParams['tpl_data'])) {
$this->arrErr['err'] = '※ TPLファイルの書き込みに失敗しました<br />';
$objQuery->rollback();
return false;
}
//既存のTPLが存在する場合は削除しておく
if (file_exists($tpl_path)) {
unlink($tpl_path);
}
$objQuery->commit();
return $arrParams['page_id'];
}
示例8: saveShippings
/**
* 配送情報を保存する.
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param array $arrDelivTime 配送時間の配列
*/
function saveShippings(&$objFormParam, $arrDelivTime)
{
$deliv_id = $objFormParam->getValue('deliv_id');
/* TODO
* SC_Purchase::getShippingTemp() で取得して,
* リファレンスで代入すると, セッションに添字を追加できない?
*/
foreach ($_SESSION['shipping'] as $key => $value) {
$shipping_id = $_SESSION['shipping'][$key]['shipping_id'];
$time_id = $objFormParam->getValue('deliv_time_id' . $shipping_id);
$_SESSION['shipping'][$key]['deliv_id'] = $deliv_id;
$_SESSION['shipping'][$key]['time_id'] = $time_id;
$_SESSION['shipping'][$key]['shipping_time'] = $arrDelivTime[$time_id];
$_SESSION['shipping'][$key]['shipping_date'] = $objFormParam->getValue('deliv_date' . $shipping_id);
}
}
示例9: setDispTree
/**
* ディレクトリツリー生成
*
* @param object $objFileManager SC_Helper_FileManager_Exインスタンス
* @param SC_FormParam $objFormParam SC_FormParamインスタンス
* @return void
*/
function setDispTree($objFileManager, $objFormParam)
{
$tpl_onload = '';
// ツリーを表示する divタグid, ツリー配列変数名, 現在ディレクトリ, 選択ツリーhidden名, ツリー状態hidden名, mode hidden名
$now_dir = $objFormParam->getValue('now_dir');
$treeView = "fnTreeView('tree', arrTree, '{$now_dir}', 'tree_select_file', 'tree_status', 'move');";
if (!empty($this->tpl_onload)) {
$tpl_onload .= $treeView;
} else {
$tpl_onload = $treeView;
}
$this->setTplOnLoad($tpl_onload);
$tpl_javascript = '';
$arrTree = $objFileManager->sfGetFileTree($objFormParam->getValue('top_dir'), $objFormParam->getValue('tree_status'));
$tpl_javascript .= "arrTree = new Array();\n";
foreach ($arrTree as $arrVal) {
$tpl_javascript .= "arrTree[" . $arrVal['count'] . "] = new Array(" . $arrVal['count'] . ", '" . $arrVal['type'] . "', '" . $arrVal['path'] . "', " . $arrVal['rank'] . ",";
if ($arrVal['open']) {
$tpl_javascript .= "true);\n";
} else {
$tpl_javascript .= "false);\n";
}
}
$this->setDispParam('tpl_javascript', $tpl_javascript);
}
示例10: saveMultipleShippings
/**
* 複数配送情報を一時保存する.
*
* 会員ログインしている場合は, その他のお届け先から住所情報を取得する.
*
* @param integer $uniqid 一時受注テーブルのユニークID
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param SC_Customer $objCustomer SC_Customer インスタンス
* @param SC_Helper_Purchase $objPurchase SC_Helper_Purchase インスタンス
* @return void
*/
public function saveMultipleShippings($uniqid, &$objFormParam, &$objCustomer, &$objPurchase, &$objAddress)
{
$arrParams = $objFormParam->getSwapArray();
foreach ($arrParams as $arrParam) {
$other_deliv_id = $arrParam['shipping'];
if ($objCustomer->isLoginSuccess(true)) {
if ($other_deliv_id != 0) {
$otherDeliv = $objAddress->getAddress($other_deliv_id, $objCustomer->getValue('customer_id'));
if (!$otherDeliv) {
SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。<br />正しい値を入力してください。");
SC_Response_Ex::actionExit();
}
foreach ($otherDeliv as $key => $val) {
$arrValues[$other_deliv_id]['shipping_' . $key] = $val;
}
} else {
$objPurchase->copyFromCustomer($arrValues[0], $objCustomer, 'shipping');
}
} else {
$arrValues = $objPurchase->getShippingTemp();
}
$arrItemTemp[$other_deliv_id][$arrParam['product_class_id']] += $arrParam['quantity'];
}
$objPurchase->clearShipmentItemTemp();
foreach ($arrValues as $shipping_id => $arrVal) {
$objPurchase->saveShippingTemp($arrVal, $shipping_id);
}
foreach ($arrItemTemp as $other_deliv_id => $arrProductClassIds) {
foreach ($arrProductClassIds as $product_class_id => $quantity) {
if ($quantity == 0) {
continue;
}
$objPurchase->setShipmentItemTemp($other_deliv_id, $product_class_id, $quantity);
}
}
//不必要な配送先を削除
foreach ($_SESSION['shipping'] as $id => $arrShipping) {
if (!isset($arrShipping['shipment_item'])) {
$objPurchase->unsetOneShippingTemp($id);
}
}
// $arrValues[0] には, 購入者の情報が格納されている
$objPurchase->saveOrderTemp($uniqid, $arrValues[0], $objCustomer);
}
示例11: doRegister
/**
* 登録を実行する.
*
* ファイルの作成に失敗した場合は, エラーメッセージを出力する.
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @return boolean 登録が成功した場合 true; 失敗した場合 false
*/
public function doRegister(&$objFormParam)
{
$division = $objFormParam->getValue('division');
$contents = $objFormParam->getValue($division);
$tpl_path = $this->getTemplatePath($objFormParam->getValue('device_type_id'), $division);
if ($tpl_path === false || !SC_Helper_FileManager_Ex::sfWriteFile($tpl_path, $contents)) {
$this->arrErr['err'] = '※ ファイルの書き込みに失敗しました<br />';
return false;
}
return true;
}
示例12: initParam
/**
* パラメーターの初期化を行う
*
* @param SC_FormParam $objFormParam
* @return void
*/
function initParam(&$objFormParam)
{
$objFormParam->addParam('親カテゴリID', 'parent_category_id', null, null, array());
$objFormParam->addParam('カテゴリID', 'category_id', null, null, array());
$objFormParam->addParam('カテゴリ名', 'category_name', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
}
示例13: buildQuery
/**
* クエリを構築する.
*
* 検索条件のキーに応じた WHERE 句と, クエリパラメーターを構築する.
* クエリパラメーターは, SC_FormParam の入力値から取得する.
*
* 構築内容は, 引数の $where 及び $arrValues にそれぞれ追加される.
*
* @param string $key 検索条件のキー
* @param string $where 構築する WHERE 句
* @param array $arrValues 構築するクエリパラメーター
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @return void
*/
public function buildQuery($key, &$where, &$arrValues, &$objFormParam)
{
switch ($key) {
case "search_year":
case "search_month":
case "search_day":
if ($key != "search_year") {
break;
}
$y = $objFormParam->getValue('search_year');
$m = $objFormParam->getValue('search_month');
$d = $objFormParam->getValue('search_day');
$where .= ' AND create_date BETWEEN ? AND ? ';
$arrValues[] = SC_Utils_Ex::sfGetTimestamp($y, $m, $d);
$arrValues[] = SC_Utils_Ex::sfGetTimestamp($y, $m, $d, true);
break;
case 'search_order_id':
$where .= ' AND order_id = ?';
$arrValues[] = sprintf('%d', $objFormParam->getValue($key));
break;
case 'search_customer_id':
$where .= ' AND customer_id = ?';
$arrValues[] = sprintf('%d', $objFormParam->getValue($key));
break;
case 'search_product_id':
$where .= ' AND EXISTS (SELECT 1 FROM dtb_order_detail od WHERE od.order_id = dtb_order.order_id AND od.product_id = ?)';
$arrValues[] = sprintf('%d', $objFormParam->getValue($key));
break;
default:
parent::buildQuery($key, $where, $arrValues, $objFormParam);
break;
}
}
示例14: search
static function search(LC_Page $objPage, SC_FormParam $objFormParam, SC_Query $objQuery)
{
// edit_** を除外する
$objSql = new SC_DeviceAndroidSelect_Ex($objFormParam->getSearchArray(), "master");
$objPage->tpl_linemax = $objSql->getCount();
if ($objPage->tpl_linemax == 0) {
return;
}
$objPage->page_max = $objFormParam->getValue("search_page_max", SEARCH_PMAX);
$objPage->page = $objFormParam->getValue("search_pageno", 1);
$objPage->objPageNavi = new SC_PageNavi_Ex($objPage->page, $objPage->tpl_linemax, $objPage->page_max, 'eccube.moveSearchPage', NAVI_PMAX);
$objPage->arrPagenavi = $objPage->objPageNavi->arrPagenavi;
$objSql->setOrder("device_name ASC");
$objPage->arrData = $objSql->getList($objPage->objPageNavi, $objPage->page_max);
$objPage->arrData = SC_Utils_Ex::makeArrayIDToKey("device_id", $objPage->arrData);
foreach ($objPage->arrData as $device_id => &$arrData) {
$arrData["category_id"] = $objQuery->getCol("category_id", "cp_dtb_device_categories", "device_id=?", (array) $device_id);
$release_date = SC_Utils_Ex::sfDispDBDate($arrData["release_date"], false);
if ($release_date) {
$arrData["release_date"] = str_replace("1970/01/01", "", $release_date);
}
$last_access_date = SC_Utils_Ex::sfDispDBDate($arrData["last_access_date"], false);
if ($last_access_date) {
$arrData["last_access_date"] = str_replace("1970/01/01", "", $last_access_date);
}
$device_name = trim($arrData["device_name"]);
$arrData["disp_device_name"] = str_replace("(", "\n(", $device_name);
}
}
示例15: lfCheckError
/**
* エラーチェックを行う.
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @return array エラーメッセージの配列
*/
function lfCheckError(&$objFormParam, &$arrErr)
{
$arrParams = $objFormParam->getHashArray();
$objErr = new SC_CheckError_Ex($arrParams);
$objErr->arrErr =& $arrErr;
$objErr->doFunc(array(t('c_CSS file name_01'), 'css_name', STEXT_LEN), array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK', 'FILE_NAME_CHECK_BY_NOUPLOAD'));
$device_type_id = $objFormParam->getValue('device_type_id');
$css_name = $objFormParam->getValue('css_name');
$old_css_name = $objFormParam->getValue('old_css_name', $css_name);
$is_error = false;
// 重複チェック
if (!SC_Utils_Ex::isBlank($objErr->arrErr['css_name'])) {
$arrCSSList = $this->getCSSList($this->getCSSDir());
foreach ($arrCSSList as $val) {
if ($val['css_name'] == $css_name) {
if (SC_Utils_Ex::isBlank($old_css_name) || $old_css_name != $css_name) {
$is_error = true;
}
}
}
if ($is_error) {
$objErr->arrErr['css_name'] = t('c_* Data for the same file name exists. Enter a different file name.<br />_01');
}
}
return $objErr->arrErr;
}