function execute($requests) { //外部認証の場合はリダイレクト check_action4pne_slave(true); // --- リクエスト変数 $session = $requests['session']; $id = $requests['id']; // ---------- // ハッシュ化されたIDを戻す $c_member_id = t_decrypt($id); // 権限チェック if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid')) { handle_kengen_error(); } if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid_time')) { handle_kengen_error(); } $c_member_config = db_member_c_member_config4c_member_id($c_member_id); // 権限チェック if ($c_member_config['password_reset_sid'] != $session) { handle_kengen_error(); } // 有効期限は24時間 $one_day_time = 86400; $limit_password_reset_sid_time = $c_member_config['password_reset_sid_time'] + $one_day_time; // 権限チェック if (time() > $limit_password_reset_sid_time) { $p = array('msg' => 55); openpne_redirect('ktai', 'page_o_login', $p); } $this->set('session', $session); $this->set('id', $id); return 'success'; }
function execute($requests) { //外部認証の場合はリダイレクト check_action4pne_slave(false); // --- リクエスト変数 $session = $requests['session']; $id = $requests['id']; $new_password = $requests['new_password']; $new_password2 = $requests['new_password2']; // ---------- // ハッシュ化されたIDを戻す $c_member_id = t_decrypt($id); // 権限チェック if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid')) { handle_kengen_error(); } if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid_time')) { handle_kengen_error(); } $c_member_config = db_member_c_member_config4c_member_id($c_member_id); // 権限チェック if ($c_member_config['password_reset_sid'] != $session) { handle_kengen_error(); } // 有効期限は24時間 $one_day_time = 86400; $limit_password_reset_sid_time = $c_member_config['password_reset_sid_time'] + $one_day_time; // 権限チェック if (time() > $limit_password_reset_sid_time) { $p = array('msg_code' => 'password_reset_timeout'); openpne_redirect('pc', 'page_o_tologin', $p); } $msg_list = array(); if (!$new_password) { $msg_list[] = "パスワードを入力してください"; } if (!$new_password2) { $msg_list[] = "パスワード(確認)を入力してください"; } if ($new_password !== $new_password2) { $msg_list[] = "パスワードが一致しません"; } if (!ctype_alnum($new_password) || strlen($new_password) < 6 || strlen($new_password) > 12) { $msg_list[] = "パスワードは6~12文字の半角英数で入力してください"; } // error if ($msg_list) { $p = array('msg' => array_shift($msg_list), 'session' => $session, 'id' => $id); openpne_redirect('pc', 'page_o_password_reset', $p); exit; } db_member_update_password($c_member_id, $new_password); db_member_delete_c_member_config($c_member_id, 'password_reset_sid_time'); db_member_delete_c_member_config($c_member_id, 'password_reset_sid'); $p = array('msg_code' => 'change_password'); openpne_redirect('pc', 'page_o_tologin', $p); }
function execute($requests) { //外部認証の場合はリダイレクト check_action4pne_slave(true); // --- リクエスト変数 $session = $requests['session']; $id = $requests['id']; $new_password = $requests['new_password']; // ---------- // ハッシュ化されたIDを戻す $c_member_id = t_decrypt($id); // 権限チェック if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid')) { handle_kengen_error(); } if (!db_member_c_member_config4name($c_member_id, 'password_reset_sid_time')) { handle_kengen_error(); } $c_member_config = db_member_c_member_config4c_member_id($c_member_id); // 権限チェック if ($c_member_config['password_reset_sid'] != $session) { handle_kengen_error(); } // 有効期限は24時間 $one_day_time = 86400; $limit_password_reset_sid_time = $c_member_config['password_reset_sid_time'] + $one_day_time; // 権限チェック if (time() > $limit_password_reset_sid_time) { $p = array('msg' => 55); openpne_redirect('ktai', 'page_o_login', $p); } // 新しいパスワードは有効な文字列か if (!ctype_alnum($new_password) || strlen($new_password) < 6 || strlen($new_password) > 12) { $p = array('msg' => 20, 'session' => $session, 'id' => $id); openpne_redirect('ktai', 'page_o_password_reset', $p); } db_member_update_password($c_member_id, $new_password); db_member_delete_c_member_config($c_member_id, 'password_reset_sid_time'); db_member_delete_c_member_config($c_member_id, 'password_reset_sid'); $p = array('msg' => 21); openpne_redirect('ktai', 'page_o_login', $p); }
function execute($requests) { if (util_is_unused_mail('m_ktai_rank_up')) { handle_kengen_error(); } $u = $GLOBALS['KTAI_C_MEMBER_ID']; $c_member_secure = db_member_c_member_secure4c_member_id($u); $c_member_config = db_member_c_member_config4c_member_id($u); if (isset($c_member_config['SEND_RANK_UP_MAIL_KTAI'])) { $SEND_RANK_UP_MAIL_KTAI = (bool) $c_member_config['SEND_RANK_UP_MAIL_KTAI']; } else { if ($c_member_secure['pc_address']) { $SEND_RANK_UP_MAIL_KTAI = false; } else { $SEND_RANK_UP_MAIL_KTAI = true; } } $this->set('SEND_RANK_UP_MAIL_KTAI', $SEND_RANK_UP_MAIL_KTAI); return 'success'; }
function send_mail_pcktai_rank_up($c_member_id, $before_rank, $after_rank) { $c_member = db_member_c_member4c_member_id($c_member_id, true); if (!empty($c_member['secure']['pc_address'])) { $to_rank_up_mail_pc = true; $to_rank_up_mail_ktai = false; } else { $to_rank_up_mail_pc = false; $to_rank_up_mail_ktai = true; } // メンバーの受信設定を取得 $c_member_config = db_member_c_member_config4c_member_id($c_member_id); if (isset($c_member_config['SEND_RANK_UP_MAIL_PC'])) { $to_rank_up_mail_pc = (bool) $c_member_config['SEND_RANK_UP_MAIL_PC']; } if (isset($c_member_config['SEND_RANK_UP_MAIL_KTAI'])) { $to_rank_up_mail_ktai = (bool) $c_member_config['SEND_RANK_UP_MAIL_KTAI']; } $result_pc = true; $result_ktai = true; // PCに送信 if ($to_rank_up_mail_pc) { $to = $c_member['secure']['pc_address']; $params = array('c_member' => $c_member, 'before_rank' => $before_rank, 'after_rank' => $after_rank); $result_pc = fetch_send_mail($to, 'm_pc_rank_up', $params); } // 携帯に送信 if ($to_rank_up_mail_ktai) { $to = $c_member['secure']['ktai_address']; $p = array('kad' => t_encrypt(db_member_username4c_member_id($c_member_id, true))); $login_url = openpne_gen_url('ktai', 'page_o_login', $p); $params = array('c_member' => $c_member, 'before_rank' => $before_rank, 'after_rank' => $after_rank, 'login_url' => $login_url); $result_ktai = fetch_send_mail($to, 'm_ktai_rank_up', $params); } return $result_pc && $result_ktai; }
function util_get_c_member_config($c_member_id) { $default_config = util_get_c_member_config_default(); $member_config = array_merge($default_config, db_member_c_member_config4c_member_id($c_member_id)); return $member_config; }
/** * DBから前回POST情報を取得する * * @param int $u * @return array */ function db_etc_get_post_info($u) { $result = db_member_c_member_config4c_member_id($u); return array($result['last_post_time'], $result['last_post_count']); }