Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SC_Initial::stripslashesDeepGpc() を削除 #396

Merged
merged 2 commits into from
May 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 36 additions & 36 deletions ctests/acceptance/admin/total/AdminTotalCept.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,50 +31,50 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-term']);
$I->waitForElement(['id' => 'total-term']);

$I->amGoingTo('売上集計>期間別集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-term']);
$I->waitForElement(['id' => 'total-term']);

$I->amGoingTo('売上集計>期間別集計>期間集計>月別');
$I->click('月別');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-term']);
$I->waitForElement(['id' => 'total-term']);

$I->amGoingTo('売上集計>期間別集計>期間集計>年別');
$I->click('年別');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-term']);
$I->waitForElement(['id' => 'total-term']);

$I->amGoingTo('売上集計>期間別集計>期間集計>曜日別');
$I->click('曜日別');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-term']);
$I->waitForElement(['id' => 'total-term']);

$I->amGoingTo('売上集計>期間別集計>期間集計>時間別');
$I->click('時間別');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-term']);
$I->waitForElement(['id' => 'total-term']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
Expand All @@ -99,34 +99,34 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-products']);
$I->waitForElement(['id' => 'total-products']);

$I->amGoingTo('売上集計>商品集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-products']);
$I->waitForElement(['id' => 'total-products']);

$I->amGoingTo('売上集計>商品集計>期間集計>会員');
$I->click('会員');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-products']);
$I->waitForElement(['id' => 'total-products']);

$I->amGoingTo('売上集計>商品集計>期間集計>非会員');
$I->click('非会員');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-products']);
$I->waitForElement(['id' => 'total-products']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
Expand All @@ -151,34 +151,34 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-age']);
$I->waitForElement(['id' => 'total-age']);

$I->amGoingTo('売上集計>年代別集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-age']);
$I->waitForElement(['id' => 'total-age']);

$I->amGoingTo('売上集計>年代別集計>期間集計>会員');
$I->click('会員');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-age']);
$I->waitForElement(['id' => 'total-age']);

$I->amGoingTo('売上集計>年代別集計>期間集計>非会員');
$I->click('非会員');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-age']);
$I->waitForElement(['id' => 'total-age']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
Expand All @@ -203,18 +203,18 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-job']);
$I->waitForElement(['id' => 'total-job']);

$I->amGoingTo('売上集計>職業別集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-job']);
$I->waitForElement(['id' => 'total-job']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
Expand All @@ -239,18 +239,18 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-member']);
$I->waitForElement(['id' => 'total-member']);

$I->amGoingTo('売上集計会員別集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->seeElement(['css' => '#graph-image > img']);
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->seeElement(['id' => 'total-member']);
$I->waitForElement(['id' => 'total-member']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
Expand Down
33 changes: 0 additions & 33 deletions data/class/SC_Initial.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ public function init()
$this->complementParameter(); // defineConstants メソッドより後で実行
$this->phpconfigInit(); // defineConstants メソッドより後で実行
$this->createCacheDir(); // defineConstants メソッドより後で実行
$this->stripslashesDeepGpc();
$this->resetSuperglobalsRequest(); // stripslashesDeepGpc メソッドより後で実行
$this->setTimezone(); // 本当はエラーハンドラーより先に読みたい気も
$this->normalizeHostname(); // defineConstants メソッドより後で実行
Expand Down Expand Up @@ -447,38 +446,6 @@ public function defineConstants()
define('UNLIMITED_FLG_LIMITED', '0');
}

/**
* クォートされた文字列のクォート部分を再帰的に取り除く.
*
* {@link http://jp2.php.net/manual/ja/function.get-magic-quotes-gpc.php PHP Manual} の記事を参考に実装。
* $_REQUEST は後続の処理で再構成されるため、本処理では外している。
* この関数は, PHP5以上を対象とし, PHP4 の場合は何もしない.
*
* @return void
*/
public function stripslashesDeepGpc()
{
// Strip magic quotes from request data.
if (get_magic_quotes_gpc()
&& version_compare(PHP_VERSION, '5.0.0', '>=')) {
// Create lamba style unescaping function (for portability)
$quotes_sybase = strtolower(ini_get('magic_quotes_sybase'));
$unescape_function = (empty($quotes_sybase) || $quotes_sybase === 'off') ? 'stripslashes($value)' : 'str_replace("\'\'","\'",$value)';
$stripslashes_deep = create_function('&$value, $fn', '
if (is_string($value)) {
$value = ' . $unescape_function . ';
} elseif (is_array($value)) {
foreach ($value as &$v) $fn($v, $fn);
}
');

// Unescape data
$stripslashes_deep($_POST, $stripslashes_deep);
$stripslashes_deep($_GET, $stripslashes_deep);
$stripslashes_deep($_COOKIE, $stripslashes_deep);
}
}

/**
* スーパーグローバル変数「$_REQUEST」を再セット
*
Expand Down