Пример #1
0
 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;
 }
Пример #3
0
 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;
     }
 }
Пример #5
0
function _db_c_member_id4pc_address($pc_address)
{
    return db_member_c_member_id4pc_address($pc_address);
}
Пример #6
0
 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');
 }