action(); $this->sendResponse(); } /** * Page のアクション. * * @return void */ function action() { $objCustomer = new SC_Customer_Ex(); $objFormParam = new SC_FormParam_Ex(); $this->lfInitParam($objFormParam); $objFormParam->setParam($_POST); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $this->arrErr = $this->lfCheckError($objFormParam); if (empty($this->arrErr)) { $email_mobile = $this->lfRegistEmailMobile(strtolower($objFormParam->getValue('email_mobile')), $objCustomer->getValue('customer_id')); $objCustomer->setValue('email_mobile', $email_mobile); $this->tpl_mainpage = 'entry/email_mobile_complete.tpl'; $this->tpl_title = '携帯メール登録完了'; } } $this->tpl_name = $objCustomer->getValue('name01'); $this->arrForm = $objFormParam->getFormParamList(); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } /** * lfInitParam * * @access public * @return void */ function lfInitParam(&$objFormParam) { $objFormParam->addParam('メールアドレス', 'email_mobile', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'CHANGE_LOWER', 'EMAIL_CHAR_CHECK', 'EMAIL_CHECK', 'MOBILE_EMAIL_CHECK')); } /** * エラーチェックする * * @param mixed $objFormParam * @param mixed $objCustomer * @access private * @return array エラー情報の配列 */ function lfCheckError(&$objFormParam) { $objFormParam->convParam(); $objErr = new SC_CheckError_Ex(); $objErr->arrErr = $objFormParam->checkError(); // FIXME: lfInitParam() で設定すれば良いように感じる $objErr->doFunc(array('メールアドレス', 'email_mobile'), array('CHECK_REGIST_CUSTOMER_EMAIL')); return $objErr->arrErr; } /** * * 携帯メールアドレスが登録されていないユーザーに携帯アドレスを登録する * * 登録完了後にsessionのemail_mobileを更新する * * @param mixed $objFormParam * @param mixed $objCustomer * @access private * @return void */ function lfRegistEmailMobile($email_mobile, $customer_id) { $objQuery = SC_Query_Ex::getSingletonInstance(); $objQuery->update('dtb_customer', array('email_mobile' => $email_mobile), 'customer_id = ?', array($customer_id)); return $email_mobile; } }