function execute($requests) { //外部認証の場合はリダイレクト check_action4pne_slave(false); // --- リクエスト変数 $pc_address = $requests['pc_address']; $q_id = $requests['c_password_query_id']; $q_answer = $requests['c_password_query_answer']; // ---------- if (OPENPNE_USE_CAPTCHA) { @session_start(); if (empty($_SESSION['captcha_keystring']) || $_SESSION['captcha_keystring'] !== $requests['captcha']) { unset($_SESSION['captcha_keystring']); $p = array('msg' => "確認キーワードが誤っています"); openpne_redirect('pc', 'page_o_password_query', $p); } unset($_SESSION['captcha_keystring']); } if (!$pc_address) { $p = array('msg' => 'メールアドレスを入力してください'); openpne_redirect('pc', 'page_o_password_query', $p); } if (!db_common_is_mailaddress($pc_address)) { $p = array('msg' => 'メールアドレスの形式が正しくありません'); openpne_redirect('pc', 'page_o_password_query', $p); } if (IS_PASSWORD_QUERY_ANSWER) { if (!$q_id) { $p = array('msg' => '秘密の質問を選択してください'); openpne_redirect('pc', 'page_o_password_query', $p); } if (!$q_answer) { $p = array('msg' => '秘密の質問の答えを入力してください'); openpne_redirect('pc', 'page_o_password_query', $p); } } //--- 権限チェック if (IS_PASSWORD_QUERY_ANSWER) { $c_member_id = db_member_is_password_query_complete($pc_address, $q_id, $q_answer); $msg = '正しい値を入力してください'; if (!$c_member_id) { $p = array('msg' => $msg); openpne_redirect('pc', 'page_o_password_query', $p); } } else { $c_member_id = db_member_c_member_id4pc_address($pc_address); if (!$c_member_id) { openpne_redirect('pc', 'page_o_password_query_end'); } } //--- // パスワード再発行用のハッシュをDBに登録し再設定用のメールを送信 $session = create_hash(); db_member_update_c_member_config($c_member_id, 'password_reset_sid', $session); db_member_update_c_member_config($c_member_id, 'password_reset_sid_time', time()); do_password_reset_query_mail_send($c_member_id, $pc_address, $session); openpne_redirect('pc', 'page_o_password_query_end'); }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; // コメントメール通知 db_member_update_c_member_config($u, 'SEND_DIARY_COMMENT_MAIL_KTAI', $requests['SEND_DIARY_COMMENT_MAIL_KTAI']); $p = array('msg' => 48); openpne_redirect('ktai', 'page_h_config', $p); }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; if (util_is_unused_mail('m_ktai_rank_up')) { handle_kengen_error(); } db_member_update_c_member_config($u, 'SEND_RANK_UP_MAIL_KTAI', $requests['SEND_RANK_UP_MAIL_KTAI']); $p = array('msg' => 48); openpne_redirect('ktai', 'page_h_config', $p); }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); $default_config = util_get_c_member_config_default(); foreach ($requests as $key => $value) { if (!is_null($value) && array_key_exists($key, $default_config)) { db_member_update_c_member_config($u, $key, $value); } } openpne_redirect('pc', 'page_h_home'); }
function execute($requests) { if (!DISPLAY_NEWDIARYTOPIC_HOME) { handle_kengen_error(); } $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; db_member_update_c_member_config($u, 'IS_DISPLAY_NEWDIARY_HOME_KTAI', $requests['IS_DISPLAY_NEWDIARY_HOME_KTAI']); db_member_update_c_member_config($u, 'IS_DISPLAY_NEWTOPIC_HOME_KTAI', $requests['IS_DISPLAY_NEWTOPIC_HOME_KTAI']); $p = array('msg' => 48); openpne_redirect('ktai', 'page_h_config', $p); }
function execute($requests) { //外部認証の場合はリダイレクト check_action4pne_slave(true); // --- リクエスト変数 $ktai_address = $requests['ktai_address']; $q_id = $requests['c_password_query_id']; $q_answer = $requests['password_query_answer']; // ---------- if (!$ktai_address) { $p = array('msg' => 25); openpne_redirect('ktai', 'page_o_password_query', $p); } if (!is_ktai_mail_address($ktai_address)) { $p = array('msg' => 31); openpne_redirect('ktai', 'page_o_password_query', $p); } if (IS_PASSWORD_QUERY_ANSWER) { if (!$q_id) { $p = array('msg' => 22); openpne_redirect('ktai', 'page_o_password_query', $p); } if (is_null($q_answer) || $q_answer === '') { $p = array('msg' => 23); openpne_redirect('ktai', 'page_o_password_query', $p); } } //--- 権限チェック if (IS_PASSWORD_QUERY_ANSWER) { $c_member_id = db_member_is_password_query_complete2($ktai_address, $q_id, $q_answer); if (!$c_member_id) { $p = array('msg' => 25); openpne_redirect('ktai', 'page_o_password_query', $p); } } else { $c_member_id = db_member_c_member_id4ktai_address($ktai_address); // メールアドレスが一致しない場合でも正常に完了した時と同じ画面にする if (!$c_member_id) { $p = array('msg' => 26); openpne_redirect('ktai', 'page_o_login', $p); } } //--- // パスワード再発行 $session = create_hash(); db_member_update_c_member_config($c_member_id, 'password_reset_sid', $session); db_member_update_c_member_config($c_member_id, 'password_reset_sid_time', time()); db_mail_send_m_ktai_password_reset_query($c_member_id, $session); $p = array('msg' => 26); openpne_redirect('ktai', 'page_o_login', $p); }
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 = 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) { ktai_display_error($errors); } 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('ktai', 'page_h_prof'); }
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; } }
/** * DBにPOST情報を設定する * * @param int $u * @param int $post_time * @param int $post_count * */ function db_etc_set_post_info($u, $post_time, $post_count) { db_member_update_c_member_config($u, 'last_post_time', $post_time); db_member_update_c_member_config($u, 'last_post_count', $post_count); }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $rss = $requests['rss']; $is_receive_daily_news = $requests['is_receive_daily_news']; $is_receive_mail = $requests['is_receive_mail']; $ashiato_mail_num = $requests['ashiato_mail_num']; $c_member_id_block = $requests['c_member_id_block']; $public_flag_diary = util_cast_public_flag_diary($requests['public_flag_diary']); $is_shinobiashi = $requests['is_shinobiashi']; $schedule_start_day = $requests['schedule_start_day']; $c_password_query_id = $requests['c_password_query_id']; $c_password_query_answer = $requests['c_password_query_answer']; // ---------- $c_member = db_member_c_member4c_member_id($u); $error_messages = array(); if (OPENPNE_AUTH_MODE == 'slavepne') { $c_password_query_id = 0; $c_password_query_answer = ''; } else { if (IS_PASSWORD_QUERY_ANSWER) { if (!strlen($requests['c_password_query_answer'])) { if (!$c_member['c_password_query_id']) { $c_password_query_id = 0; } else { if ($c_password_query_id != $c_member['c_password_query_id']) { $error_messages[] = '秘密の質問の答えを入力してください。'; } } } } } if ($rss) { if (!preg_match('|^https?://|', $rss)) { $error_messages[] = 'BlogのURLを正しく入力してください'; } else { include_once 'OpenPNE/RSS.php'; if (!($rss_url = OpenPNE_RSS::auto_discovery($rss))) { $error_messages[] = 'BlogのURLが無効です'; } } } $filtered_id = db_member_filter_c_access_block_id($u, $c_member_id_block); foreach ($c_member_id_block as $each_id) { if (!in_array($each_id, $filtered_id)) { $error_messages[] = 'アクセスブロックに無効なメンバーIDが含まれています'; break; } } // error if ($error_messages) { $_REQUEST['msg'] = array_shift($error_messages); openpne_forward('pc', 'page', 'h_config'); exit; } if ($rss_url) { if ($rss_url != $c_member['rss']) { //異なるBlogを登録すると過去のrssは全て削除する db_rss_delete_rss_cache($u); } //c_rss_cacheへ登録 db_rss_insert_rss_cache($rss_url, $u); } else { $rss_url = ''; db_rss_delete_rss_cache($u); } //秘密の質問使用モード = true //または、設定画面表示時はtrueだったけど、設定変更ボタンを押す時にはfalse //になっていた場合、 //秘密の質問は登録する db_member_h_config_3($u, $is_receive_mail, $rss_url, $ashiato_mail_num, $is_receive_daily_news, $c_password_query_id, $c_password_query_answer, $public_flag_diary, $is_shinobiashi, $schedule_start_day); db_member_insert_c_access_block($u, $c_member_id_block); // ランクアップメール設定 if (!util_is_unused_mail('m_pc_rank_up')) { db_member_update_c_member_config($u, 'SEND_RANK_UP_MAIL_PC', $requests['SEND_RANK_UP_MAIL_PC']); } openpne_redirect('pc', 'page_h_home'); }
/** * 指定したメンバーのメール受信設定を無効にする * * 以下の設定項目を無効にする。 * + メール/携帯メール/デイリーニュース受信設定 * + コミュニティ管理者からのメッセージ/書き込みのメッセージ受信設定 * + スケジュール通知メール受信設定 * + 日記コメントメール受信設定 * * @param int $c_member_id */ function db_admin_stop_receive_mail4c_member_id($c_member_id) { $where = array('c_member_id' => intval($c_member_id)); // プロフィールでのメール受信設定項目 $data = array('is_receive_mail' => 0, 'is_receive_daily_news' => 0, 'is_receive_ktai_mail' => 0); db_update('c_member', $data, $where); // コミュニティでのメール受信設定項目 $data = array('is_receive_mail' => 0, 'is_receive_mail_pc' => 0, 'is_receive_message' => 0); db_update('c_commu_member', $data, $where); // スケジュール通知メール受信設定 $data = array('is_receive_mail' => 0); db_update('c_schedule', $data, $where); // 日記コメントメール受信設定 db_member_update_c_member_config($c_member_id, 'SEND_DIARY_COMMENT_MAIL_KTAI', 0); }