/** * 重複しない会員登録キーを発行する。 * * @access public * @return string 会員登録キーの文字列 */ public function sfGetUniqSecretKey() { /* @var $objQuery Query*/ $objQuery = Application::alias('eccube.query'); do { $uniqid = Utils::sfGetUniqRandomId('r'); $exists = $objQuery->exists('dtb_customer', 'secret_key = ?', array($uniqid)); } while ($exists); return $uniqid; }
/** * 登録処理 * * @param array $objFormParam フォームパラメータークラス * @return integer エラー配列 */ public function lfRegistData(&$objFormParam) { // 登録用データ取得 $arrData = $objFormParam->getDbArray(); // 足りないものを作る if (!Utils::isBlank($objFormParam->getValue('year'))) { $arrData['birth'] = $objFormParam->getValue('year') . '/' . $objFormParam->getValue('month') . '/' . $objFormParam->getValue('day') . ' 00:00:00'; } if (!is_numeric($arrData['customer_id'])) { $arrData['secret_key'] = Utils::sfGetUniqRandomId('r'); } else { $arrOldCustomerData = Application::alias('eccube.helper.customer')->sfGetCustomerData($arrData['customer_id']); if ($arrOldCustomerData['status'] != $arrData['status']) { $arrData['secret_key'] = Utils::sfGetUniqRandomId('r'); } } return Application::alias('eccube.helper.customer')->sfEditCustomerData($arrData, $arrData['customer_id']); }
/** ユニークIDのセット **/ public function setUniqId() { // 予測されないようにランダム文字列を付与する。 $this->SetSession('uniqid', Utils::sfGetUniqRandomId()); }