/**
  * Prepare regiter and redirect to register page.
  * This method is called if OPENPNE_SHIB_AUTO_REGIST is true.
  *
  * @access protected
  */
 protected function register_user($address)
 {
     $c_member_id_invite = OPENPNE_SHIB_INVITE_ID;
     // Do $address register?
     if (!db_member_is_limit_domain4mail_address($address)) {
         $msg = "{$address} is unregistrable address.";
         $p = array('msg' => $msg);
         openpne_redirect('pc', 'page_o_public_invite', $p);
     }
     $session = create_hash();
     // Do $address exist prepare register?
     if (db_member_c_member_pre4pc_address($address)) {
         db_member_update_c_invite($c_member_id_invite, $address, '', $session);
     } else {
         db_member_insert_c_invite($c_member_id_invite, $address, '', $session);
     }
     setcookie(session_name(), '', time() - 3600, ini_get('session.cookie_path'));
     openpne_redirect('pc', 'page_o_ri', array('sid' => $session));
 }
Example #2
0
function do_common_c_member_pre4pc_address($pc_address)
{
    return db_member_c_member_pre4pc_address($pc_address);
}
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     if (!IS_USER_INVITE) {
         ktai_display_error(SNS_NAME . 'では、メンバーによる招待は行えません');
     }
     // --- リクエスト変数
     $mail = $requests['mail_address'];
     $body = $requests['body'];
     // ----------
     if (is_ktai_mail_address($mail)) {
         $mail = str_replace('"', '', $mail);
     }
     if (!$mail) {
         $p = array('msg' => 12);
         openpne_redirect('ktai', 'page_h_invite', $p);
     }
     if (!db_common_is_mailaddress($mail)) {
         $p = array('msg' => 31);
         openpne_redirect('ktai', 'page_h_invite', $p);
     }
     if (db_member_is_sns_join4mail_address($mail)) {
         $p = array('msg' => 9);
         openpne_redirect('ktai', 'page_h_invite', $p);
     }
     if (!db_member_is_limit_domain4mail_address($mail)) {
         $p = array('msg' => 37);
         openpne_redirect('ktai', 'page_h_invite', $p);
     }
     $session = create_hash();
     if (is_ktai_mail_address($mail)) {
         //<PCKTAI
         if (!((OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_KTAI) >> 1)) {
             $p = array('msg' => 13);
             openpne_redirect('ktai', 'page_h_invite', $p);
         }
         //>
         if (OPENPNE_AUTH_MODE != 'slavepne') {
             // c_member_ktai_pre に追加
             if (db_member_c_member_ktai_pre4ktai_address($mail)) {
                 db_member_update_c_member_ktai_pre($session, $mail, $u);
             } else {
                 db_member_insert_c_member_ktai_pre($session, $mail, $u);
             }
         }
         h_invite_insert_c_invite_mail_send($session, $u, $mail, $body);
     } else {
         //<PCKTAI
         if (!(OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_PC)) {
             $p = array('msg' => 16);
             openpne_redirect('ktai', 'page_h_invite', $p);
         }
         //>
         if (OPENPNE_AUTH_MODE != 'slavepne') {
             // c_member_pre に追加
             if (db_member_c_member_pre4pc_address($mail)) {
                 db_member_update_c_invite($u, $mail, $body, $session);
             } else {
                 db_member_insert_c_invite($u, $mail, $body, $session);
             }
         }
         do_h_invite_insert_c_invite_mail_send($u, $session, $body, $mail);
     }
     $p = array('msg' => 30);
     openpne_redirect('ktai', 'page_h_invite', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     if (!IS_USER_INVITE) {
         openpne_forward('pc', 'page', 'h_err_invite');
         exit;
     }
     // --- リクエスト変数
     $mail = $requests['mail'];
     $message = $requests['message'];
     // ----------
     if (is_ktai_mail_address($mail)) {
         $mail = str_replace('"', '', $mail);
     }
     if (OPENPNE_USE_CAPTCHA) {
         if (empty($_SESSION['captcha_confirm']) || $requests['captcha_confirm'] != md5($_SESSION['captcha_confirm'])) {
             unset($_SESSION['captcha_confirm']);
             $msg = "確認キーワードが誤っています";
             $p = array('msg' => $msg);
             openpne_redirect('pc', 'page_h_invite', $p);
         }
         unset($_SESSION['captcha_confirm']);
     }
     if (!db_common_is_mailaddress($mail)) {
         $msg = "メールアドレスを入力してください";
         $p = array('msg' => $msg);
         openpne_redirect('pc', 'page_h_invite', $p);
     }
     if (db_member_is_sns_join4mail_address($mail)) {
         $msg = "そのメールアドレスは既に登録済みです";
         $p = array('msg' => $msg);
         openpne_redirect('pc', 'page_h_invite', $p);
     }
     if (!db_member_is_limit_domain4mail_address($mail)) {
         $msg = "そのメールアドレスでは登録できません";
         $p = array('msg' => $msg);
         openpne_redirect('pc', 'page_h_invite', $p);
     }
     $session = create_hash();
     $c_member_id_invite = $u;
     if (is_ktai_mail_address($mail)) {
         //<PCKTAI
         if (!((OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_KTAI) >> 1)) {
             $msg = '携帯メールアドレスには招待を送ることができません';
             $p = array('msg' => $msg);
             openpne_redirect('pc', 'page_h_invite', $p);
         }
         //>
         if (OPENPNE_AUTH_MODE != 'slavepne') {
             // c_member_ktai_pre に追加
             if (db_member_c_member_ktai_pre4ktai_address($mail)) {
                 db_member_update_c_member_ktai_pre($session, $mail, $c_member_id_invite);
             } else {
                 db_member_insert_c_member_ktai_pre($session, $mail, $c_member_id_invite);
             }
         }
         h_invite_insert_c_invite_mail_send($session, $c_member_id_invite, $mail, $message);
     } else {
         //<PCKTAI
         if (!(OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_PC)) {
             $msg = 'PCメールアドレスには招待を送ることができません';
             $p = array('msg' => $msg);
             openpne_redirect('pc', 'page_h_invite', $p);
         }
         //>
         if (OPENPNE_AUTH_MODE != 'slavepne') {
             // c_member_pre に追加
             if (db_member_c_member_pre4pc_address($mail)) {
                 db_member_update_c_invite($c_member_id_invite, $mail, $message, $session);
             } else {
                 db_member_insert_c_invite($c_member_id_invite, $mail, $message, $session);
             }
         }
         do_h_invite_insert_c_invite_mail_send($c_member_id_invite, $session, $message, $mail);
     }
     openpne_redirect('pc', 'page_h_invite_end');
 }
Example #5
0
 function execute($requests)
 {
     $module_name = ADMIN_MODULE_NAME;
     if ($requests['input'] || empty($requests['mails'])) {
         openpne_forward($module_name, 'page', 'send_invites');
         exit;
     }
     $mails = $requests['mails'];
     $mails = str_replace("\r\n", "\n", $mails);
     $mails = str_replace("\r", "\n", $mails);
     $mail_list = explode("\n", $mails);
     $is_disable_regist_easy_access_id = $requests['is_disable_regist_easy_access_id'];
     // filtering
     $errors = array();
     $pcs = array();
     $ktais = array();
     $limits = array();
     foreach ($mail_list as $mail) {
         if (is_ktai_mail_address($mail)) {
             $mail = str_replace('"', '', $mail);
         }
         if (!db_common_is_mailaddress($mail)) {
             // メールアドレスとして正しくない
             $errors[] = $mail;
         } elseif (db_member_is_sns_join4mail_address($mail)) {
             // 登録済み
             $registered[] = $mail;
         } elseif (!db_member_is_limit_domain4mail_address($mail)) {
             // ドメイン制限
             $limits[] = $mail;
         } elseif (is_ktai_mail_address($mail)) {
             $ktais[] = $mail;
         } else {
             $pcs[] = $mail;
         }
     }
     if (isset($requests['complete'])) {
         // 送信者はとりあえず1番で固定
         $c_member_id_invite = 1;
         // 送信完了メール数確認用
         $send_complete = array();
         //<PCKTAI
         if ((OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_KTAI) >> 1) {
             // 携帯へ招待メール
             foreach ($ktais as $mail) {
                 $session = create_hash();
                 // c_member_ktai_pre に追加
                 if (db_member_c_member_ktai_pre4ktai_address($mail)) {
                     db_member_update_c_member_ktai_pre($session, $mail, $c_member_id_invite, $is_disable_regist_easy_access_id);
                 } else {
                     db_member_insert_c_member_ktai_pre($session, $mail, $c_member_id_invite, $is_disable_regist_easy_access_id);
                 }
                 h_invite_insert_c_invite_mail_send($session, $c_member_id_invite, $mail, $requests['message']);
                 $send_complete[] = $mail;
             }
         }
         //>
         //<PCKTAI
         if (OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_PC) {
             // PCへ招待メール
             foreach ($pcs as $mail) {
                 $session = create_hash();
                 // c_member_pre に追加
                 if (db_member_c_member_pre4pc_address($mail)) {
                     db_member_update_c_invite($c_member_id_invite, $mail, $requests['message'], $session, $is_disable_regist_easy_access_id);
                 } else {
                     db_member_insert_c_invite($c_member_id_invite, $mail, $requests['message'], $session, $is_disable_regist_easy_access_id);
                 }
                 do_h_invite_insert_c_invite_mail_send($c_member_id_invite, $session, $requests['message'], $mail);
                 $send_complete[] = $mail;
             }
         }
         //>
         // メール送信完了数が1件以上ある時は、完了画面へ
         if ($send_complete) {
             admin_client_redirect('top', '招待メールを送信しました');
         }
     }
     $_REQUEST['error_mails'] = $errors;
     $_REQUEST['registered_mails'] = $registered;
     $_REQUEST['pc_mails'] = $pcs;
     $_REQUEST['ktai_mails'] = $ktais;
     $_REQUEST['limit_domain_mails'] = $limits;
     openpne_forward($module_name, 'page', 'send_invites_confirm');
     exit;
 }
 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');
 }