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

Changeset 2149


Ignore:
Timestamp:
Mar 18, 2007, 6:21:47 AM (16 years ago)
Author:
ishida
Message:

ブラックリスト管理
http://trac.openpne.jp/ticket/488
実装完了

Location:
OpenPNE/branches/ishida/prj_dev28
Files:
16 added
10 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/ishida/prj_dev28/webapp/lib/db/etc.php

    r2135 r2149  
    787787    return db_get_col($sql, $params);
    788788}
     789
     790
     791//ブラックリストに載っているかチェック
     792function db_is_c_black_list($address)
     793{
     794    $sql = 'SELECT c_black_list_id FROM c_black_list WHERE address = ?';
     795    $params = array(t_encrypt(strval($address)));
     796    return db_get_one($sql, $params);
     797}
     798
    789799?>
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/admin/do/send_invites.php

    r1856 r2149  
    4040            } elseif (is_ktai_mail_address($mail)) {
    4141                $ktais[] = $mail;
     42            } elseif (!db_is_c_black_list($mail)) {
     43                $pcs[] = $mail;
    4244            } else {
    43                 $pcs[] = $mail;
     45                $blacks[] = $mail;
    4446            }
    4547        }
     
    5153            $_REQUEST['ktai_mails'] = $ktais;
    5254            $_REQUEST['limit_domain_mails'] = $limits;
     55            $_REQUEST['black_list_mails'] = $blacks;
    5356            openpne_forward($module_name, 'page', 'send_invites_confirm');
    5457            exit;
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/admin/init.inc

    r2137 r2149  
    6767    'page_list_c_admin_user',
    6868    'page_list_c_member',
     69    'page_list_c_black_list',
     70    'page_edit_c_black_list',
     71    'page_delete_c_black_list_confirm',
    6972    'page_passwd',
    7073    'page_send_messages_all',
     
    7376    'do_delete_c_admin_user',
    7477    'do_delete_c_member',
     78    'do_delete_c_black_list',
    7579    'do_insert_c_admin_user',
     80    'do_insert_c_black_list',
    7681    'do_passwd',
    7782    'do_send_messages_all',
    7883    'do_send_messages',
    7984    'do_update_is_login_rejected',
     85    'do_update_c_black_list',
    8086),
    8187);
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/admin/lib/db_admin.php

    r2123 r2149  
    21602160    return $list;
    21612161}
     2162
     2163
     2164//ブラックリストを追加
     2165function db_admin_insert_c_black_list($address, $memo)
     2166{
     2167    $data = array(
     2168        'address' => t_encrypt(strval($address)),
     2169        'memo' => strval($memo),
     2170        'r_datetime' => db_now()
     2171    );
     2172    return db_insert('c_black_list', $data);
     2173}
     2174
     2175//ブラックリストを編集
     2176function db_admin_update_c_black_list($c_black_list_id, $address, $memo)
     2177{
     2178    $data = array(
     2179        'address' => t_encrypt(strval($address)),
     2180        'memo' => strval($memo),
     2181        'r_datetime' => db_now()
     2182    );
     2183    $where = array('c_black_list_id' => intval($c_black_list_id));
     2184    return db_update('c_black_list', $data, $where);
     2185}
     2186
     2187//ブラックリストを削除
     2188function db_admin_delete_c_black_list($c_black_list_id)
     2189{
     2190    $sql = "DELETE FROM c_black_list WHERE c_black_list_id = ?";
     2191    $params = array(intval($c_black_list_id));
     2192    return db_query($sql, $params);
     2193}
     2194
     2195
     2196//ブラックリストを全て取得(ページャー付き)
     2197function db_admin_get_c_black_list_all($page, $page_size, &$pager)
     2198{
     2199    $sql = 'SELECT * FROM c_black_list ORDER BY c_black_list_id';
     2200
     2201    $list = db_get_all_page($sql, $page, $page_size, $params);
     2202
     2203    foreach ($list as $key => $item) {
     2204        $list[$key]['address'] = t_decrypt($item['address']);
     2205    }
     2206
     2207    $sql = 'SELECT count(*) FROM c_black_list';
     2208    $total_num = db_get_one($sql, $params);
     2209    $pager = admin_make_pager($page, $page_size, $total_num);
     2210
     2211    return $list;
     2212}
     2213
     2214//ブラックリストを一つ取得
     2215function db_admin_get_c_black_list_one($c_black_list_id)
     2216{
     2217    $sql = 'SELECT * FROM c_black_list WHERE c_black_list_id = ?';
     2218    $params = array(intval($c_black_list_id));
     2219    $list = db_get_row($sql, $params);
     2220    $list['address'] = t_decrypt($list['address']);
     2221
     2222    return $list;
     2223}
     2224
    21622225?>
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/admin/templates/inc_header.tpl

    r2137 r2149  
    3636
    3737({if $auth_type == 'all' || $auth_type == ''})
     38
    3839<li id="adminSiteMember" onmouseover="menu('adminSiteMember','adminSiteMemberCont')" onmouseout="menu('adminSiteMember','adminSiteMemberCont')"><a class="tab" href="({if $auth_type == 'all'})?m=({$module_name})&amp;a=page_({$hash_tbl->hash('list_c_member')})({elseif $auth_type == 'all' || $auth_type == ''})?m=({$module_name})&amp;a=page_({$hash_tbl->hash('send_invites')})({else})?m=({$module_name})&amp;a=page_({$hash_tbl->hash('csv_download')})({/if})">メンバー管理</a>
    3940<ul id="adminSiteMemberCont" class="pull">
     
    4142<li><a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('list_c_member')})" title="メンバーリスト: ユーザ登録情報閲覧、メッセージ送信、強制退会">メンバーリスト</a></li>
    4243({/if})
    43 ({if $auth_type == 'all' || $auth_type == ''})
    4444<li><a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('send_invites')})" title="招待メール送信: 複数のメールアドレス宛に招待メールを送信">招待メール送信</a></li>
    45 ({/if})
    4645({if $auth_type == 'all'})
    4746<li><a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('csv_download')})">CSVダウンロード</a></li>
    4847({/if})
    4948<li><a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('import_c_member')})">CSVインポート</a></li>
     49({if $auth_type == 'all'})
     50<li><a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('list_c_black_list')})">ブラックリスト</a></li>
     51({/if})
     52
    5053</ul>
    5154</li>
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/admin/templates/inc_subnavi_adminSiteMember.tpl

    r2137 r2149  
    99<a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('csv_download')})" title="メンバー情報CSV形式でダウンロードします。">CSVダウンロード</a>&nbsp;|&nbsp;
    1010({/if})
    11 <a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('import_c_member')})" title="CSV形式のメンバー情報データをインポートします。">CSVインポート</a>
     11<a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('import_c_member')})" title="CSV形式のメンバー情報データをインポートします。">CSVインポート</a>&nbsp;|&nbsp;
     12({if $auth_type == 'all'})
     13<a href="?m=({$module_name})&amp;a=page_({$hash_tbl->hash('list_c_black_list')})">ブラックリスト</a>
     14({/if})
    1215</div>
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/admin/templates/send_invites_confirm.tpl

    r1477 r2149  
    3636        <dt><strong>以下のアドレスは登録済みのため送信されません。</strong></dt>
    3737        <dd>({foreach from=$requests.error_mails item=item name=em})<strong>({$item})</strong>({if !$smarty.foreach.em.last})&nbsp;/&nbsp;({/if})({/foreach})</dd>
     38</dl>
     39({/if})
     40({if $requests.black_list_mails})
     41<dl class="invitesAdd" id="warning">
     42        <dt><strong>以下のアドレスはブラックリストに登録済みのため送信されません。</strong></dt>
     43        <dd>({foreach from=$requests.black_list_mails item=item name=em})<strong>({$item})</strong>({if !$smarty.foreach.em.last})&nbsp;/&nbsp;({/if})({/foreach})</dd>
    3844</dl>
    3945({/if})
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/admin/validate/page/send_invites_confirm.ini

    r924 r2149  
    1515is_array = "1"
    1616
     17[black_list_mails]
     18type = "string"
     19is_array = "1"
     20
    1721[mails]
    1822type = "string"
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/ktai/do/h_invite_insert_c_invite.php

    r1856 r2149  
    1717        if (!IS_USER_INVITE) {
    1818            ktai_display_error(SNS_NAME . 'では、ユーザによる招待は行えません');
     19        } elseif (db_is_c_black_list($requests['mail_address'])) {
     20            ktai_display_error("このメールアドレスには招待状は送れません");
    1921        }
    2022
  • OpenPNE/branches/ishida/prj_dev28/webapp/modules/pc/page/h_invite_confirm.php

    r1856 r2149  
    3232            } elseif (!db_member_is_limit_domain4mail_address($form_val['mail'])) {
    3333                $msg = "そのアドレスは登録できません";
    34             } else {
     34            } elseif (!db_is_c_black_list($form_val['mail'])) {
    3535                if (is_ktai_mail_address($form_val['mail'])) {
    3636                    //<PCKTAI
     
    4848                    //>
    4949                }
     50            } else {
     51                $msg = "このメールアドレスには招待状は送れません";
    5052            }
    5153        }
Note: See TracChangeset for help on using the changeset viewer.