ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/2.8.x/webapp/modules/admin/do/send_invites.php @ 2913

Last change on this file since 2913 was 2913, checked in by ogawa, 14 years ago

#762:違うメンバーで同じ携帯メールアドレスを登録することが可能

File size: 3.4 KB
Line 
1<?php
2/**
3 * @copyright 2005-2007 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7// 招待メール一括送信
8class admin_do_send_invites extends OpenPNE_Action
9{
10    function execute($requests)
11    {
12        $module_name = ADMIN_MODULE_NAME;
13
14        if ($requests['input'] || empty($requests['mails'])) {
15            openpne_forward($module_name, 'page', 'send_invites');
16            exit;
17        }
18
19        $mails = $requests['mails'];
20        $mails = str_replace("\r\n", "\n", $mails);
21        $mails = str_replace("\r", "\n", $mails);
22        $mail_list = explode("\n", $mails);
23
24        // filtering
25        $errors = array();
26        $pcs = array();
27        $ktais = array();
28        $limits = array();
29
30        foreach ($mail_list as $mail) {
31            // メールアドレスとして正しくない
32            if (!db_common_is_mailaddress($mail)) {
33                continue;
34            }
35
36            if (db_member_is_sns_join4mail_address($mail)) { // 登録済み
37                $errors[] = $mail;
38            } elseif (!db_member_is_limit_domain4mail_address($mail)) { // ドメイン制限
39                $limits[] = $mail;
40            } elseif (is_ktai_mail_address($mail)) {
41                $ktais[] = $mail;
42            } else {
43                $pcs[] = $mail;
44            }
45        }
46
47        if (empty($requests['complete'])) {
48            // 確認画面へ
49            $_REQUEST['error_mails'] = $errors;
50            $_REQUEST['pc_mails'] = $pcs;
51            $_REQUEST['ktai_mails'] = $ktais;
52            $_REQUEST['limit_domain_mails'] = $limits;
53            openpne_forward($module_name, 'page', 'send_invites_confirm');
54            exit;
55
56        } else {
57            // 送信者はとりあえず1番で固定
58            $c_member_id_invite = 1;
59
60            //<PCKTAI
61            if ((OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_KTAI) >> 1) {
62                // 携帯へ招待メール
63                foreach ($ktais as $mail) {
64                    $session = create_hash();
65
66                    // c_member_ktai_pre に追加
67                    if (db_member_c_member_ktai_pre4ktai_address($mail)) {
68                        db_member_update_c_member_ktai_pre($session, $mail, $c_member_id_invite);
69                    } else {
70                        db_member_insert_c_member_ktai_pre($session, $mail, $c_member_id_invite);
71                    }
72
73                    h_invite_insert_c_invite_mail_send($session, $c_member_id_invite, $mail, $requests['message']);
74                }
75            }
76            //>
77
78            //<PCKTAI
79            if ((OPENPNE_REGIST_FROM & OPENPNE_REGIST_FROM_PC)) {
80                // PCへ招待メール
81                foreach ($pcs as $mail) {
82                    $session = create_hash();
83
84                    // c_member_pre に追加
85                    if (db_member_c_member_pre4pc_address($mail)) {
86                        db_member_update_c_invite($c_member_id_invite, $mail, $requests['message'], $session);
87                    } else {
88                        db_member_insert_c_invite($c_member_id_invite, $mail, $requests['message'], $session);
89                    }
90
91                    do_h_invite_insert_c_invite_mail_send($c_member_id_invite, $session, $requests['message'], $mail);
92                }
93            }
94            //>
95
96            admin_client_redirect('top', '招待メールを送信しました');
97        }
98    }
99}
100
101?>
Note: See TracBrowser for help on using the repository browser.