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) { $specify_type = $requests['specify_type']; $id_list_string = $requests['c_member_id_list']; if (!$id_list_string) { $error_msg = 'IDまたはメールアドレスを入力してください'; $this->handleError($error_msg); } //改行をスペースに $id_list_string = str_replace("\r\n", ' ', $id_list_string); $id_list_string = str_replace("\n", ' ', $id_list_string); $id_list_string = str_replace("\r", ' ', $id_list_string); $id_list_string = str_replace(" ", ' ', $id_list_string); $id_list_parsed = explode(' ', $id_list_string); $c_member_id_list = array(); foreach ($id_list_parsed as $each_id) { if (!$each_id) { continue; } switch ($specify_type) { case 'c_member_id': $each_c_member_id = $each_id; break; case 'mail_address': if (!is_ktai_mail_address($each_id)) { $each_c_member_id = db_member_c_member_id4pc_address($each_id); } else { $each_c_member_id = db_member_c_member_id4ktai_address2($each_id); } if (!$each_c_member_id) { $error_msg = '無効なメールアドレスが含まれています: ' . $each_id; $this->handleError($error_msg); } break; default: $this->handleError(''); break; } if (!is_numeric($each_c_member_id)) { $error_msg = 'IDは整数値で指定してください: ' . $each_c_member_id; $this->handleError($error_msg); } if (!db_member_is_active_c_member_id($each_c_member_id)) { $error_msg = '無効なIDが含まれています: ' . $each_c_member_id; $this->handleError($error_msg); } //重複チェック if (in_array($each_c_member_id, $c_member_id_list)) { continue; } $c_member_id_list[] = intval($each_c_member_id); } $_REQUEST['c_member_ids'] = $c_member_id_list; openpne_forward(ADMIN_MODULE_NAME, 'page', 'send_messages'); exit; }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $pc_address = $requests['pc_address']; $pc_address2 = $requests['pc_address2']; // ---------- $msg_list = array(); if (!$pc_address) { $msg_list[] = "メールアドレスを入力してください"; } if (!$pc_address2) { $msg_list[] = "メールアドレス(確認)を入力してください"; } if ($pc_address != $pc_address2) { $msg_list[] = "メールアドレスが一致しません"; } if (!db_common_is_mailaddress($pc_address)) { $msg_list[] = "メールアドレスを正しく入力してください"; } if ($msg_list) { $msg = array_shift($msg_list); $p = array('msg' => $msg); openpne_redirect('pc', 'page_h_regist_address', $p); } $c_member_id = db_member_c_member_id4pc_address($pc_address); if ($c_member_id == $u) { //自分のメールアドレス $p = array('msg' => "入力されたメールアドレスは既に登録されています"); openpne_redirect('pc', 'page_h_regist_address', $p); } elseif ($c_member_id) { //既に使われている $p = array('msg' => "入力されたメールアドレスは既に登録されています"); openpne_redirect('pc', 'page_h_regist_address', $p); } if (!db_member_is_limit_domain4mail_address($pc_address)) { $msg = "そのメールアドレスでは登録できません"; $p = array('msg' => $msg); openpne_redirect('pc', 'page_h_regist_address', $p); } if (is_ktai_mail_address($pc_address)) { $p = array('msg' => '携帯メールアドレスは記入できません'); openpne_redirect('pc', 'page_h_regist_address', $p); } db_member_h_regist_mail($u, $pc_address); $GLOBALS['AUTH']->logout(); openpne_redirect('pc', 'page_o_h_regist_mail'); }
/** * Shibboleth login using setAuth * * @access public * @return true/false */ public function login($is_save_cookie = false, $is_encrypt_username = false) { $this->auth =& $this->factory(true); $address = $this->get_attribute(); // Login fail if essential attribute is empty. if (!$address) { return false; } if (!IS_SLAVEPNE) { // IS_SLAVEPNE is false on Shibboleth if ($is_encrypt_username) { $this->auth->post[$this->auth->_postUsername] = t_encrypt($address); } } // Is $address existing? if (db_member_c_member_id4pc_address($address)) { $this->auth->setAuth($this->auth->post[$this->auth->_postUsername]); if (OPENPNE_SESSION_CHECK_URL) { $this->auth->setAuthData('OPENPNE_URL', OPENPNE_URL); } $this->sess_id = session_id(); if ($is_save_cookie) { $expire = time() + 2592000; } else { $expire = 0; } // Shibboleth don't consider the ktai, because $this->ktai is false. setcookie(session_name(), session_id(), $expire, $this->cookie_path); $this->adjust_cookie(); return true; } else { if (OPENPNE_SHIB_AUTO_REGIST) { $this->register_user($address); } return false; } }
function _db_c_member_id4pc_address($pc_address) { return db_member_c_member_id4pc_address($pc_address); }
function execute($requests) { // オープン制のSNS以外では無効 if (IS_CLOSED_SNS) { client_redirect_login(); } //<PCKTAI if (OPENPNE_AUTH_MODE == 'slavepne' || !(OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_PC)) { client_redirect_login(); } //> // --- リクエスト変数 $pc_address = $requests['pc_address']; $pc_address2 = $requests['pc_address2']; // ---------- //新規登録時の招待者(c_member_id=1) $c_member_id_invite = 1; if (OPENPNE_USE_CAPTCHA) { @session_start(); if (empty($_SESSION['captcha_keystring']) || $_SESSION['captcha_keystring'] != $requests['captcha']) { unset($_SESSION['captcha_keystring']); $msg = "確認キーワードが誤っています"; $p = array('msg' => $msg); openpne_redirect('pc', 'page_o_public_invite', $p); } unset($_SESSION['captcha_keystring']); } if (!db_common_is_mailaddress($pc_address)) { $msg = 'メールアドレスを正しく入力してください'; $p = array('msg' => $msg); openpne_redirect('pc', 'page_o_public_invite', $p); } if (is_ktai_mail_address($pc_address)) { $msg = '携帯メールアドレスは入力できません'; $p = array('msg' => $msg); openpne_redirect('pc', 'page_o_public_invite', $p); } if ($pc_address != $pc_address2) { $msg = 'メールアドレスが一致していません'; $p = array('msg' => $msg); openpne_redirect('pc', 'page_o_public_invite', $p); } if (db_member_c_member_id4pc_address($pc_address)) { $msg = 'そのメールアドレスは既に登録されています'; $p = array('msg' => $msg); openpne_redirect('pc', 'page_o_public_invite', $p); } if (!db_member_is_limit_domain4mail_address($pc_address)) { $msg = 'そのメールアドレスでは登録できません'; $p = array('msg' => $msg); openpne_redirect('pc', 'page_o_public_invite', $p); } $session = create_hash(); if (db_member_c_member_pre4pc_address($pc_address)) { db_member_update_c_invite($c_member_id_invite, $pc_address, '', $session); } else { db_member_insert_c_invite($c_member_id_invite, $pc_address, '', $session); } do_h_invite_insert_c_invite_mail_send($c_member_id_invite, $session, '', $pc_address); // delete cookie setcookie(session_name(), '', time() - 3600, ini_get('session.cookie_path')); openpne_redirect('pc', 'page_o_public_invite_end'); }