class UploadCSV extends AbstractAdminPage

商品登録CSVのページクラス.

Properties

$tpl_mainpage メインテンプレート from AbstractPage
$tpl_column_num テンプレートのカラム数 from AbstractPage
$tpl_mainno メインナンバー from AbstractPage
$tpl_css CSS のパス from AbstractPage
$tpl_javascript JavaScript from AbstractPage
$tpl_title タイトル from AbstractPage
$tpl_login_email ログインメールアドレス from AbstractPage
$tpl_onload HTML ロード後に実行する JavaScript コード from AbstractPage
$transactionid トランザクションID from AbstractPage
$template メインテンプレート名 from AbstractPage
$arrSiteInfo 店舗基本情報 from AbstractPage
$plugin_activate_flg プラグインを実行フラグ from AbstractPage
$arrLimitPostMode POST に限定する mode from AbstractPage
$skip_load_page_layout ページレイアウトを読み込むか from AbstractPage
$load_legacy_js 2.12.x 以前のJavaScript関数を読み込むかどうか from AbstractPage
$tpl_page_class_name from AbstractPage
$arrForm from AbstractPage
$arrErr from AbstractPage
Display $objDisplay from AbstractAdminPage
$tpl_subno from AbstractAdminPage
$tpl_maintitle from AbstractAdminPage
$tpl_subtitle from AbstractAdminPage
$arrTagCheckItem TAGエラーチェックフィールド情報
$arrProductColumn 商品テーブルカラム情報 (登録処理用) *
$arrProductClassColumn 商品規格テーブルカラム情報 (登録処理用) *
$arrFormKeyList 登録フォームカラム情報 *
$arrRowErr
$arrRowResult

Methods

__construct($app = null)

No description

void
init()

Page を初期化する.

void
process()

Page のプロセス.

void
sendResponse()

Page のレスポンス送信.

void
sendResponseCSV(string $file_name, string $data)

Page のレスポンス送信(ダウンロード).

void
__destruct()

デストラクタ

void
doLocalHookpointBefore(PluginHelper $objPlugin)

ローカルフックポイントを生成し、実行します.

void
doLocalHookpointAfter(PluginHelper $objPlugin)

ローカルフックポイントを生成し、実行します.

getTemplate()

テンプレート取得

setTemplate($template)

テンプレート設定(ポップアップなどの場合)

string
getLocation(string $path, array $param = array(), mixed $useSSL = 'escape')

$path から URL を取得する.

string
getRootPath(string $path)

EC-CUBE のWEBルート(/html/)を / としたパスを返す

void
allowClientCache() deprecated

互換性確保用メソッド

void
httpCacheControl(string $mode = '')

クライアント・プロキシのキャッシュを制御する.

string|null
getMode()

リクエストパラメーター 'mode' を取得する.

void
doValidToken(boolean $is_admin = false)

POST アクセスの妥当性を検証する.

void
setTokenTo()

トランザクショントークンを取得し, 設定する.

log($mess, $log_level = 'Info') deprecated

前方互換用

void
p(mixed $val)

デバック出力を行う.

void
checkLimitPostMode()

POST に限定された mode か検証する。

void
action()

Page のアクション.

void
addRowResult(integer $line_count, stirng $message)

登録/編集結果のメッセージをプロパティへ追加する

void
addRowErr(integer $line_count, stirng $message)

登録/編集結果のエラーメッセージをプロパティへ追加する

boolean
lfReadCSVFile($objFormParam, $fp, $objQuery = null)

CSVファイルを読み込んで、保存処理を行う

void
doUploadCsv($objFormParam, $objUpFile)

CSVアップロードを実行します.

void
lfInitFile($objUpFile)

ファイル情報の初期化を行う.

void
lfInitParam($objFormParam, $arrCSVFrame)

入力情報の初期化を行う.

void
lfCheckError($objFormParam)

入力チェックを行う.

void
lfInitTableInfo()

保存先テーブル情報の初期化を行う.

void
lfRegistProduct($objQuery, $line = '', $objFormParam)

商品登録を行う.

void
lfRegistProductClass(Query $objQuery, array $arrList, integer $product_id, integer $product_class_id)

商品規格登録を行う.

void
lfRegistReccomendProducts(Query $objQuery, array $arrList, integer $product_id)

関連商品登録を行う.

array
lfSetParamDefaultValue(array $arrCSVFrame)

初期値の設定

$sqlval
lfSetProductDefaultData(array $sqlval)

商品データ登録前に特殊な値の持ち方をする部分のデータ部分の初期値補正を行う

$sqlval
lfSetProductClassDefaultData(array $sqlval, boolean $upload_flg = false)

商品規格データ登録前に特殊な値の持ち方をする部分のデータ部分の初期値補正を行う

array
lfCheckErrorDetail(array $item, array $arrErr)

このフォーム特有の複雑な入力チェックを行う.

string
lfGetDbFormatTimeWithLine(string $line_no = '')

指定された行番号をmicrotimeに付与してDB保存用の時間を生成する。 トランザクション内のCURRENT_TIMESTAMPは全てcommit()時の時間に統一されてしまう為。

boolean
lfIsArrayRecordMulti(string $arr, string $keyname, array $item, string $delimiter = ',')

指定されたキーと複数値の有効性の配列内確認

boolean
lfIsDbRecordMulti(string $table, string $tblkey, string $keyname, array $item, string $delimiter = ',')

指定されたキーと複数値の有効性のDB確認

boolean
lfIsDbRecord(string $table, string $keyname, array $item)

指定されたキーと値の有効性のDB確認

boolean
lfIsArrayRecord(string $arr, string $keyname, array $item)

指定されたキーと値の有効性の配列内確認

Details

in AbstractPage at line 102
__construct($app = null)

Parameters

$app

at line 72
void init()

Page を初期化する.

Return Value

void

at line 99
void process()

Page のプロセス.

Return Value

void

in AbstractAdminPage at line 110
void sendResponse()

Page のレスポンス送信.

Return Value

void

in AbstractPage at line 190
void sendResponseCSV(string $file_name, string $data)

Page のレスポンス送信(ダウンロード).

Parameters

string $file_name
string $data

Return Value

void

in AbstractPage at line 209
void __destruct()

デストラクタ

・ブロックの基底クラス (Ecube\Page\Bloc) では、継承していない。

Return Value

void

in AbstractPage at line 229
void doLocalHookpointBefore(PluginHelper $objPlugin)

ローカルフックポイントを生成し、実行します.

Parameters

PluginHelper $objPlugin

Return Value

void

in AbstractPage at line 250
void doLocalHookpointAfter(PluginHelper $objPlugin)

ローカルフックポイントを生成し、実行します.

Parameters

PluginHelper $objPlugin

Return Value

void

in AbstractPage at line 269
getTemplate()

テンプレート取得

in AbstractPage at line 278
setTemplate($template)

テンプレート設定(ポップアップなどの場合)

Parameters

$template

in AbstractPage at line 303
string getLocation(string $path, array $param = array(), mixed $useSSL = 'escape')

$path から URL を取得する.

以下の順序で 引数 $path から URL を取得する. 1. realpath($path) で $path の 絶対パスを取得 2. $SERVER['DOCUMENTROOT'] と一致する文字列を削除 3. $useSSL の値に応じて, HTTPURL 又は, HTTPSURL を付与する.

返り値に, QUERY_STRING を含めたい場合は, key => value 形式 の配列を $param へ渡す.

Parameters

string $path 結果を取得するためのパス
array $param URL に付与するパラメーターの配列
mixed $useSSL 結果に HTTPSURL を使用する場合 true, HTTPURL を使用する場合 false, デフォルト 'escape' 現在のスキーマを使用

Return Value

string $path の存在する http(s):// から始まる絶対パス

See also

\Net_URL

in AbstractPage at line 337
string getRootPath(string $path)

EC-CUBE のWEBルート(/html/)を / としたパスを返す

Parameters

string $path 結果を取得するためのパス

Return Value

string EC-CUBE のWEBルート(/html/)からのパス。

in AbstractPage at line 367
void allowClientCache() deprecated

deprecated 決済モジュール互換のため

互換性確保用メソッド

Return Value

void

in AbstractPage at line 379
void httpCacheControl(string $mode = '')

クライアント・プロキシのキャッシュを制御する.

Parameters

string $mode (nocache/private)

Return Value

void

in AbstractPage at line 414
string|null getMode()

リクエストパラメーター 'mode' を取得する.

  1. $_REQUEST['mode'] の値を取得する.
  2. 存在しない場合は null を返す.

mode に, 半角英数字とアンダーバー(_) 以外の文字列が検出された場合は null を 返す.

Return Value

string|null $_REQUEST['mode'] の文字列

in AbstractPage at line 440
void doValidToken(boolean $is_admin = false)

POST アクセスの妥当性を検証する.

生成されたトランザクショントークンの妥当性を検証し, 不正な場合はエラー画面へ遷移する.

この関数は, 基本的に init() 関数で呼び出され, POST アクセスの場合は自動的に トランザクショントークンを検証する. ページによって検証タイミングなどを制御する必要がある場合は, この関数を オーバーライドし, 個別に設定を行うこと.

Parameters

boolean $is_admin 管理画面でエラー表示をする場合 true

Return Value

void

in AbstractPage at line 460
void setTokenTo()

トランザクショントークンを取得し, 設定する.

Return Value

void

in AbstractAdminPage at line 136
log($mess, $log_level = 'Info') deprecated

deprecated 2.12.0 GcUtils::gfPrintLog を使用すること

前方互換用

Parameters

$mess
$log_level

in AbstractPage at line 491
void p(mixed $val)

デバック出力を行う.

デバック用途のみに使用すること.

Parameters

mixed $val デバックする要素

Return Value

void

in AbstractPage at line 502
void checkLimitPostMode()

POST に限定された mode か検証する。

POST 以外で、POST に限定された mode を実行しようとした場合、落とす。

Return Value

void

at line 110
void action()

Page のアクション.

Return Value

void

at line 160
void addRowResult(integer $line_count, stirng $message)

登録/編集結果のメッセージをプロパティへ追加する

Parameters

integer $line_count 行数
stirng $message メッセージ

Return Value

void

at line 172
void addRowErr(integer $line_count, stirng $message)

登録/編集結果のエラーメッセージをプロパティへ追加する

Parameters

integer $line_count 行数
stirng $message メッセージ

Return Value

void

at line 185
boolean lfReadCSVFile($objFormParam, $fp, $objQuery = null)

CSVファイルを読み込んで、保存処理を行う

Parameters

$objFormParam
$fp CSVファイルポインタ
$objQuery 保存を行うためのクエリ(指定がない場合、テストのみを行う)

Return Value

boolean errFlag. 読み込みに失敗した場合true

at line 261
void doUploadCsv($objFormParam, $objUpFile)

CSVアップロードを実行します.

Parameters

$objFormParam
$objUpFile

Return Value

void

at line 325
void lfInitFile($objUpFile)

ファイル情報の初期化を行う.

Parameters

$objUpFile

Return Value

void

at line 336
void lfInitParam($objFormParam, $arrCSVFrame)

入力情報の初期化を行う.

Parameters

$objFormParam
$arrCSVFrame

Return Value

void

at line 382
void lfCheckError($objFormParam)

入力チェックを行う.

Parameters

$objFormParam

Return Value

void

at line 406
void lfInitTableInfo()

保存先テーブル情報の初期化を行う.

Return Value

void

at line 422
void lfRegistProduct($objQuery, $line = '', $objFormParam)

商品登録を行う.

FIXME: 商品登録の実処理自体は、LCPageAdminProductsProductと共通化して欲しい。

Parameters

$objQuery
$line
$objFormParam

Return Value

void

at line 494
void lfRegistProductClass(Query $objQuery, array $arrList, integer $product_id, integer $product_class_id)

商品規格登録を行う.

FIXME: 商品規格登録の実処理自体は、LCPageAdminProductsProductと共通化して欲しい。

Parameters

Query $objQuery Queryインスタンス
array $arrList 商品規格情報配列
integer $product_id 商品ID
integer $product_class_id 商品規格ID

Return Value

void

at line 541
void lfRegistReccomendProducts(Query $objQuery, array $arrList, integer $product_id)

関連商品登録を行う.

FIXME: 商品規格登録の実処理自体は、LCPageAdminProductsProductと共通化して欲しい。 DELETE/INSERT ではなく UPDATEへの変更も・・・

Parameters

Query $objQuery Queryインスタンス
array $arrList 商品規格情報配列
integer $product_id 商品ID

Return Value

void

at line 570
array lfSetParamDefaultValue(array $arrCSVFrame)

初期値の設定

Parameters

array $arrCSVFrame CSV構造配列

Return Value

array $arrCSVFrame CSV構造配列

at line 602
$sqlval lfSetProductDefaultData(array $sqlval)

商品データ登録前に特殊な値の持ち方をする部分のデータ部分の初期値補正を行う

Parameters

array $sqlval 商品登録情報配列

Return Value

$sqlval 登録情報配列

at line 628
$sqlval lfSetProductClassDefaultData(array $sqlval, boolean $upload_flg = false)

商品規格データ登録前に特殊な値の持ち方をする部分のデータ部分の初期値補正を行う

Parameters

array $sqlval 商品登録情報配列
boolean $upload_flg 更新フラグ(更新の場合true)

Return Value

$sqlval 登録情報配列

at line 687
array lfCheckErrorDetail(array $item, array $arrErr)

このフォーム特有の複雑な入力チェックを行う.

Parameters

array $item 確認対象データ
array $arrErr エラー配列

Return Value

array エラー配列

at line 814
string lfGetDbFormatTimeWithLine(string $line_no = '')

指定された行番号をmicrotimeに付与してDB保存用の時間を生成する。 トランザクション内のCURRENT_TIMESTAMPは全てcommit()時の時間に統一されてしまう為。

Parameters

string $line_no 行番号

Return Value

string $time DB保存用の時間文字列

at line 835
boolean lfIsArrayRecordMulti(string $arr, string $keyname, array $item, string $delimiter = ',')

指定されたキーと複数値の有効性の配列内確認

Parameters

string $arr チェック対象配列
string $keyname フォームキー名
array $item 入力データ配列
string $delimiter 分割文字

Return Value

boolean true:有効なデータがある false:有効ではない

at line 868
boolean lfIsDbRecordMulti(string $table, string $tblkey, string $keyname, array $item, string $delimiter = ',')

指定されたキーと複数値の有効性のDB確認

Parameters

string $table テーブル名
string $tblkey テーブルキー名
string $keyname フォームキー名
array $item 入力データ配列
string $delimiter 分割文字

Return Value

boolean true:有効なデータがある false:有効ではない

at line 901
boolean lfIsDbRecord(string $table, string $keyname, array $item)

指定されたキーと値の有効性のDB確認

Parameters

string $table テーブル名
string $keyname キー名
array $item 入力データ配列

Return Value

boolean true:有効なデータがある false:有効ではない

at line 921
boolean lfIsArrayRecord(string $arr, string $keyname, array $item)

指定されたキーと値の有効性の配列内確認

Parameters

string $arr チェック対象配列
string $keyname キー名
array $item 入力データ配列

Return Value

boolean true:有効なデータがある false:有効ではない