function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; $errors = array(); $validator = new OpenPNE_Validator(); $validator->addRequests($_REQUEST); $validator->addRules($this->_getValidateRules()); if (!$validator->validate()) { $errors = $validator->getErrors(); } $prof = $validator->getParams(); //--- c_profile の項目をチェック $validator = new OpenPNE_Validator(); $validator->addRequests($_REQUEST['profile']); $validator->addRules(util_get_validate_rules_profile('regist')); if (!$validator->validate()) { $errors = array_merge($errors, $validator->getErrors()); } // 値の整合性をチェック(DB) $c_member_profile_list = db_member_check_profile($validator->getParams(), $_REQUEST['public_flag']); // 必須項目チェック $profile_list = db_member_c_profile_list4null(); foreach ($profile_list as $profile) { $value = $c_member_profile_list[$profile['name']]['value']; if ($profile['disp_config'] && $profile['is_required']) { if (is_null($value) || $value === '' || $value === array()) { $errors[$profile['name']] = $profile['caption'] . 'を入力してください'; } } } // 生年月日のチェック if (!t_checkdate($prof['birth_month'], $prof['birth_day'], $prof['birth_year'])) { $errors[] = '生年月日を正しく入力してください'; } if (t_isFutureDate($prof['birth_day'], $prof['birth_month'], $prof['birth_year'])) { $errors[] = '生年月日を未来に設定することはできません'; } // 入力エラー if ($errors) { ktai_display_error($errors); } db_member_config_prof_new($u, $prof); // insert c_member_profile db_member_update_c_member_profile($u, $c_member_profile_list); //管理画面で指定したコミュニティに強制参加 $c_commu_id_list = db_commu_regist_join_list(); foreach ($c_commu_id_list as $c_commu_id) { db_commu_join_c_commu($c_commu_id, $u); } openpne_redirect('ktai', 'page_h_home'); }
function do_config_prof_new($c_member_id, $prof_list) { return db_member_config_prof_new($c_member_id, $prof_list); }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); $mode = $requests['mode']; $errors = array(); $validator = new OpenPNE_Validator(); $validator->addRequests($_REQUEST); $validator->addRules($this->_getValidateRules()); if (!$validator->validate()) { $errors = array_merge($errors, $validator->getErrors()); } $prof = $validator->getParams(); //--- c_profile の項目をチェック $validator = new OpenPNE_Validator(); $validator->addRequests($_REQUEST['profile']); $validator->addRules(util_get_validate_rules_profile('config')); if (!$validator->validate()) { $errors = array_merge($errors, $validator->getErrors()); } // 値の整合性をチェック(DB) $c_member_profile_list = db_member_check_profile($validator->getParams(), $_REQUEST['public_flag']); // 必須項目チェック $profile_list = db_member_c_profile_list4null(); foreach ($profile_list as $profile) { $value = $c_member_profile_list[$profile['name']]['value']; if ($profile['disp_config'] && $profile['is_required']) { if (is_null($value) || $value === '' || $value === array()) { $errors[$profile['name']] = $profile['caption'] . 'を入力してください'; } } } // 生年月日のチェック if (!t_checkdate($prof['birth_month'], $prof['birth_day'], $prof['birth_year'])) { $errors[] = '生年月日を正しく入力してください'; } if (t_isFutureDate($prof['birth_day'], $prof['birth_month'], $prof['birth_year'])) { $errors[] = '生年月日を未来に設定することはできません'; } if ($errors) { $_REQUEST['msg'] = array_shift($errors); $mode = "input"; } switch ($mode) { case "input": $prof['profile'] = $c_member_profile_list; $_REQUEST['prof'] = $prof; openpne_forward('pc', 'page', "h_config_prof"); exit; break; default: case "confirm": $prof['profile'] = $c_member_profile_list; $_REQUEST['prof'] = $prof; // page:h_config_prof_confirm への値の引渡し openpne_forward('pc', 'page', "h_config_prof_confirm"); exit; break; case "register": db_member_config_prof_new($u, $prof); db_member_update_c_member_profile($u, $c_member_profile_list); db_member_update_c_member_config($u, 'IS_SEARCH_RESULT', $prof['is_search_result']); openpne_redirect('pc', 'page_h_prof'); break; } }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); $mode = $requests['mode']; $errors = array(); $validator = new OpenPNE_Validator(); if ($mode == 'register') { $validator->addRequests($_SESSION['prof_req']); } else { $validator->addRequests($_REQUEST); } $validator->addRules($this->_getValidateRules()); if (!$validator->validate()) { $errors = array_merge($errors, $validator->getErrors()); } $prof = $validator->getParams(); //--- c_profile の項目をチェック $validator = new OpenPNE_Validator(); if ($mode == 'register') { $validator->addRequests($_SESSION['prof_req']['profile']); $request_public_flags = $_SESSION['prof_req']['public_flag']; } else { $validator->addRequests($_REQUEST['profile']); $request_public_flags = $_REQUEST['public_flag']; } $validator->addRules(util_get_validate_rules_profile('regist')); if (!$validator->validate()) { $errors = array_merge($errors, $validator->getErrors()); } // 値の整合性をチェック(DB) $c_member_profile_list = db_member_check_profile($validator->getParams(), $request_public_flags); // 必須項目チェック $profile_list = db_member_c_profile_list4null(); foreach ($profile_list as $profile) { $value = $c_member_profile_list[$profile['name']]['value']; if ($profile['disp_config'] && $profile['is_required']) { if (is_null($value) || $value === '' || $value === array()) { $errors[$profile['name']] = $profile['caption'] . 'を入力してください'; } } } // 生年月日のチェック if (!t_checkdate($prof['birth_month'], $prof['birth_day'], $prof['birth_year'])) { $errors[] = '生年月日を正しく入力してください'; } if (t_isFutureDate($prof['birth_day'], $prof['birth_month'], $prof['birth_year'])) { $errors[] = '生年月日を未来に設定することはできません'; } $prof['profile'] = $c_member_profile_list; if ($errors && $mode != "input") { $_REQUEST['msg'] = array_shift($errors); $mode = "input"; $_SESSION['prof'] = $prof; unset($_SESSION['prof_req']); } switch ($mode) { case "input": openpne_forward('pc', 'page', "h_regist_prof"); exit; break; default: case "confirm": $_SESSION['prof_req'] = $_REQUEST; $_SESSION['prof'] = $prof; openpne_forward('pc', 'page', "h_regist_prof_confirm"); exit; break; case "register": db_member_config_prof_new($u, $prof); db_member_update_c_member_profile($u, $c_member_profile_list); //管理画面で指定したコミュニティに強制参加 $c_commu_id_list = db_commu_regist_join_list(); foreach ($c_commu_id_list as $c_commu_id) { db_commu_join_c_commu($c_commu_id, $u); } unset($_SESSION['prof']); openpne_redirect('pc', 'page_h_home'); break; } }