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

Changeset 7224


Ignore:
Timestamp:
May 15, 2008, 4:03:42 PM (11 years ago)
Author:
ebihara
Message:

#2318:コミュニティトピック・コミュニティイベント・日記コメントが1000番を超えた場合、それ以上のコメントの投稿ができないようにした

Location:
OpenPNE/trunk
Files:
21 edited
8 copied

Legend:

Unmodified
Added
Removed
  • OpenPNE/trunk/public_html/xhtml_style.php

    r7203 r7224  
    21382138
    21392139/*==============================================================================
     2140 * alertLine
     2141 *----------------------------------------------------------------------------*/
     2142.alertLine p {
     2143    text-align: center;
     2144    color: #ff0000;
     2145}
     2146
     2147
     2148/*==============================================================================
    21402149 * 文字装飾
    21412150 *----------------------------------------------------------------------------*/
  • OpenPNE/trunk/webapp/lib/db/commu.php

    r7083 r7224  
    120120 * max
    121121 */
    122 function db_commu_get_max_number4topic($c_commu_topic_id)
     122function db_commu_get_max_c_commu_topic_comment_number4c_topic_id($c_commu_topic_id)
    123123{
    124124    $sql = 'SELECT MAX(number) FROM c_commu_topic_comment WHERE c_commu_topic_id = ?';
     
    135135function db_commu_c_commu_topic_comment_number4c_commu_topic_id($c_commu_topic_id)
    136136{
    137     return db_commu_get_max_number4topic($c_commu_topic_id) + 1;
     137    return db_commu_get_max_c_commu_topic_comment_number4c_topic_id($c_commu_topic_id) + 1;
    138138}
    139139
     
    523523
    524524    foreach ($list as $key => $value) {
    525         $list[$key]['count_comments'] = db_commu_get_max_number4topic($value['c_commu_topic_id']);
     525        $list[$key]['count_comments'] = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($value['c_commu_topic_id']);
    526526        $last_comment = db_commu_get_last_c_topic_comment($value['c_commu_topic_id']);
    527527        $list[$key]['image_filename1'] = $last_comment['image_filename1'];
     
    833833
    834834        //最新の書き込み番号
    835         $number = db_commu_get_max_number4topic($value['c_commu_topic_id']);
     835        $number = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($value['c_commu_topic_id']);
    836836
    837837        $c_commu_topic_list[$key]['number'] = $number;
     
    873873
    874874        //最新の書き込み番号
    875         $number = db_commu_get_max_number4topic($value['c_commu_topic_id']);
     875        $number = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($value['c_commu_topic_id']);
    876876
    877877        $c_commu_topic_list[$key]['number'] = $number;
     
    937937        $lst[$key]['is_c_event_member'] = db_commu_is_c_event_member($value['c_commu_topic_id'], $c_member_id);
    938938        $lst[$key]['is_c_topic_admin'] = db_commu_is_c_topic_admin($value['c_commu_topic_id'], $c_member_id);
    939         $lst[$key]['write_num'] = db_commu_get_max_number4topic($value['c_commu_topic_id']);
     939        $lst[$key]['write_num'] = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($value['c_commu_topic_id']);
    940940    }
    941941
     
    14451445        $c_commu_name = db_get_one($sql, $value['c_commu_id']);
    14461446
    1447         $c_commu_topic_list[$key]['number'] = db_commu_get_max_number4topic($value['c_commu_topic_id']);
     1447        $c_commu_topic_list[$key]['number'] = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($value['c_commu_topic_id']);
    14481448        $c_commu_topic_list[$key]['c_commu_name'] = $c_commu_name;
    14491449    }
     
    26482648}
    26492649
     2650function db_commu_is_event_join_capacity($c_commu_topic_id)
     2651{
     2652    $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id);
     2653
     2654    if (!$c_topic['capacity']) {
     2655        return true;
     2656    }
     2657
     2658    if ($c_topic['capacity'] >= $c_topic['member_num']) {
     2659        return true;
     2660    }
     2661
     2662    return false;
     2663}
     2664
    26502665//--- commu_member
    26512666
     
    29432958        $sql = 'SELECT body FROM c_commu_topic_comment WHERE number = 0 AND c_commu_topic_id = ?';
    29442959        $list[$key]['body'] = db_get_one($sql, $p);
    2945         $number = db_commu_get_max_number4topic($value['c_commu_topic_id']);
     2960        $number = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($value['c_commu_topic_id']);
    29462961        $list[$key]['max_number'] = $number;
    29472962    }
     
    29742989    $c_topic_all_list = db_get_all_limit($sql,0,$limit);
    29752990    foreach($c_topic_all_list as $key=>$value) {
    2976         $number = db_commu_get_max_number4topic($value['c_commu_topic_id']);
     2991        $number = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($value['c_commu_topic_id']);
    29772992        $c_topic_all_list[$key]['number'] = $number;
    29782993    }
     
    30483063        $sql = 'SELECT body FROM c_commu_topic_comment WHERE number = 0 AND c_commu_topic_id = ?';
    30493064        $list[$key]['body'] = db_get_one($sql, $p);
    3050         $number = db_commu_get_max_number4topic($value['c_commu_topic_id']);
     3065        $number = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($value['c_commu_topic_id']);
    30513066        $list[$key]['max_number'] = $number;
    30523067    }
     
    30683083}
    30693084
     3085function db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)
     3086{
     3087    $max_c_commu_topic_comment_number = db_commu_get_max_c_commu_topic_comment_number4c_topic_id($c_commu_topic_id);
     3088    if ($max_c_commu_topic_comment_number >= 1000) {
     3089        return false;
     3090    }
     3091
     3092    return true;
     3093}
     3094
    30703095?>
  • OpenPNE/trunk/webapp/lib/db/diary.php

    r6805 r7224  
    11131113        'image_filename_2' => '',
    11141114        'image_filename_3' => '',
    1115         'number' => db_diary_get_max_number4diary($c_diary_id)+1,
     1115        'number' => db_diary_get_max_c_diary_comment_number4diary($c_diary_id)+1,
    11161116    );
    11171117    return db_insert('c_diary_comment', $data);
     
    11721172 * 現在の日記へのコメントのナンバーの最大値を返す
    11731173 */
    1174 function db_diary_get_max_number4diary($c_diary_id)
     1174function db_diary_get_max_c_diary_comment_number4diary($c_diary_id)
    11751175{
    11761176    $sql = 'SELECT MAX(number) FROM c_diary_comment WHERE c_diary_id = ?';
     
    12751275}
    12761276
     1277function db_diary_is_writable_comment4c_diary_id($c_diary_id)
     1278{
     1279    $max_c_diary_comment_number = db_diary_get_max_c_diary_comment_number4diary($c_diary_id);
     1280    if ($max_c_diary_comment_number >= 1000) {
     1281        return false;
     1282    }
     1283
     1284    return true;
     1285}
     1286
    12771287?>
  • OpenPNE/trunk/webapp/lib/util/ktai.php

    r6630 r7224  
    6060        45  => "イベントの参加者数制限を超えています",
    6161        46  => "ログアウトしました",
     62        47  => "コメントが1000番に達したので、これ以上のコメントはできません",
    6263    );
    6364
  • OpenPNE/trunk/webapp/modules/ktai/do/c_event_drop_c_commu_event.php

    r7219 r7224  
    2727            handle_kengen_error();
    2828        }
     29        if (db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
     30            handle_kengen_error();
     31        }
    2932
    3033        $is_c_event_member = db_commu_is_c_event_member($c_commu_topic_id, $u);
    3134        if (!$is_c_event_member) {
    32             ktai_display_error('すでにイベントに参加していません');
     35            ktai_display_error('イベントに参加していません');
     36        }
     37
     38        if (!db_commu_is_event_join_date($c_commu_topic_id)) {
     39            ktai_display_error('イベントの募集期限が過ぎています');
    3340        }
    3441
  • OpenPNE/trunk/webapp/modules/ktai/do/c_event_join_c_commu_event.php

    r7219 r7224  
    2727            handle_kengen_error();
    2828        }
     29        if (db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
     30            handle_kengen_error();
     31        }
    2932
    3033        $is_c_event_member = db_commu_is_c_event_member($c_commu_topic_id, $u);
  • OpenPNE/trunk/webapp/modules/ktai/do/fh_diary_insert_c_diary_comment.php

    r6642 r7224  
    4141            }
    4242        }
     43
     44        if (!db_diary_is_writable_comment4c_diary_id($target_c_diary_id)) {
     45            $p = array('target_c_diary_id' => $target_c_diary_id, 'msg' => 47);
     46            openpne_redirect('ktai', 'page_fh_diary', $p);
     47        }
    4348        //---
    4449
  • OpenPNE/trunk/webapp/modules/ktai/page/c_bbs.php

    r6779 r7224  
    5858        $this->set('is_c_event_admin', db_commu_is_c_event_admin($c_commu_topic_id, $u));
    5959        $this->set('is_event_join_date', db_commu_is_event_join_date($c_commu_topic_id));
     60        $this->set('is_writable_comment', db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id));
    6061
    6162        //メンバーがコミュニティ管理者かどうか
  • OpenPNE/trunk/webapp/modules/ktai/page/fh_diary.php

    r6778 r7224  
    6767        $this->set('page', $page);
    6868
     69        $this->set('is_writable_comment', db_diary_is_writable_comment4c_diary_id($target_c_diary_id));
     70
    6971        $start_comment = reset($c_diary_comment_list);
    7072        $end_comment = end($c_diary_comment_list);
  • OpenPNE/trunk/webapp/modules/ktai/templates/c_bbs.tpl

    r6779 r7224  
    135135({/if})
    136136
    137 
     137({if $is_writable_comment})
    138138({t_form m=ktai a=do_c_bbs_insert_c_commu_topic_comment})
    139139<input type="hidden" name="ksid" value="({$PHPSESSID})">
     
    162162写真も添付できます。<br>
    163163<font color="#({$ktai_color_config.font_09})">※メール投稿では絵文字が反映されません</font>
     164({else})
     165({if $c_commu_topic.event_flag})
     166コメントが1000番に達したので、このイベントにはコメントできません。
     167<hr color="#({$ktai_color_config.border_01})">
     168({if !$is_c_event_member})
     169({if !$c_commu_topic.capacity || ($c_commu_topic.capacity > $c_commu_topic.member_num)})
     170<center>
     171このイベントに参加しますか?<br>
     172({t_form m=ktai a=do_c_event_join_c_commu_event})
     173<input type="hidden" name="ksid" value="({$PHPSESSID})">
     174<input type="hidden" name="target_c_commu_topic_id" value="({$c_commu_topic_id})">
     175<input type="submit" value="イベントに参加する"><br>
     176</form>
     177</center>
     178({/if})
     179({else})
     180<center>
     181このイベントの参加をキャンセルしますか?<br>
     182({t_form m=ktai a=do_c_event_drop_c_commu_event})
     183<input type="hidden" name="ksid" value="({$PHPSESSID})">
     184<input type="hidden" name="target_c_commu_topic_id" value="({$c_commu_topic_id})">
     185<input type="submit" value="参加をキャンセルする"><br>
     186</form>
     187</center>
     188({/if})
     189({else})
     190コメントが1000番に達したので、このトピックにはコメントできません。
     191({/if})
     192({/if})
    164193({/if})
    165194({/if})
  • OpenPNE/trunk/webapp/modules/ktai/templates/fh_diary.tpl

    r6779 r7224  
    8787({/if})
    8888({/if})
     89({if $is_writable_comment})
    8990<hr color="#({$ktai_color_config.border_01})">
    9091<a name="write"></a>
     
    101102写真も添付できます。<br>
    102103<font color="#({$ktai_color_config.font_09})">※メール投稿では絵文字が反映されません</font>
     104({else})
     105<hr color="#({$ktai_color_config.border_01})">
     106({if $msg})<font color="#({$ktai_color_config.font_09})">({$msg})</font><br>
     107({else})コメントが1000番に達したので、この({$WORD_DIARY_HALF})にはコメントできません。({/if})
     108
     109({/if})
    103110
    104111<hr color="#({$ktai_color_config.border_01})">
  • OpenPNE/trunk/webapp/modules/pc/do/c_event_drop_c_commu_event.php

    r7215 r7224  
    2929        }
    3030
     31        if (db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
     32            handle_kengen_error();
     33        }
     34
    3135        $is_c_event_member = db_commu_is_c_event_member($c_commu_topic_id, $u);
    3236        if (!$is_c_event_member) {
     
    3438            $_REQUEST['err_msg'] = $err_msg;
    3539            openpne_forward('pc', 'page', 'c_event_detail');
     40            exit;
     41        }
     42
     43        if (!db_commu_is_event_join_date($c_commu_topic_id)) {
     44            $err_msg[] = 'イベントの募集期限が過ぎています';
     45            $_REQUEST['err_msg'] = $err_msg;
     46            openpne_forward('pc', 'page', "c_event_detail");
    3647            exit;
    3748        }
  • OpenPNE/trunk/webapp/modules/pc/do/c_event_join_c_commu_event.php

    r7215 r7224  
    2626
    2727        if (!$c_topic['event_flag']) {
     28            handle_kengen_error();
     29        }
     30
     31        if (db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
    2832            handle_kengen_error();
    2933        }
  • OpenPNE/trunk/webapp/modules/pc/do/c_event_write_insert_c_commu_topic_comment.php

    r6630 r7224  
    2929        if (!$status['is_commu_member']) {
    3030            handle_kengen_error();
     31        }
     32        if (!db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
     33            $err_msg[] = 'コメントが1000番に達したので、このイベントにはコメントできません';
     34            $_REQUEST['err_msg'] = $err_msg;
     35            openpne_forward('pc', 'page', "c_event_detail");
     36            exit;
    3137        }
    3238        //---
  • OpenPNE/trunk/webapp/modules/pc/do/c_topic_write_insert_c_commu_topic_comment.php

    r6630 r7224  
    4444        if (!$status['is_commu_member']) {
    4545            handle_kengen_error();
     46        }
     47
     48        if (!db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
     49            $err_msg[] = 'コメントが1000番に達したので、このトピックにはコメントできません';
     50            $_REQUEST['err_msg'] = $err_msg;
     51            openpne_forward('pc', 'page', "c_topic_detail");
     52            exit;
    4653        }
    4754        //---
  • OpenPNE/trunk/webapp/modules/pc/do/fh_diary_insert_c_diary_comment.php

    r6642 r7224  
    4242                openpne_redirect('pc', 'page_h_access_block');
    4343            }
     44        }
     45
     46        if (!db_diary_is_writable_comment4c_diary_id($target_c_diary_id)) {
     47            $_REQUEST['msg'] = 'コメントが1000番に達したので、この' . WORD_DIARY . 'にはコメントできません';
     48            openpne_forward('pc', 'page', 'fh_diary');
     49            exit;
    4450        }
    4551        //---
  • OpenPNE/trunk/webapp/modules/pc/page/c_event_detail.php

    r6779 r7224  
    6565        $this->set('is_c_event_admin', db_commu_is_c_event_admin($c_commu_topic_id, $u));
    6666        $this->set('is_event_join_date', db_commu_is_event_join_date($c_commu_topic_id));
     67        $this->set('is_event_join_capacity', db_commu_is_event_join_capacity($c_commu_topic_id));
     68        $this->set('is_writable_comment', db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id));
    6769
    6870        $this->set('err_msg', $err_msg);
  • OpenPNE/trunk/webapp/modules/pc/page/c_event_write_confirm.php

    r5234 r7224  
    2626        if (!db_commu_is_c_commu_view4c_commu_idAc_member_id($c_commu_id, $u)) {
    2727            handle_kengen_error();
     28        }
     29        if (!db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
     30            $err_msg[] = 'コメントが1000番に達したので、このイベントにはコメントできません';
     31            $_REQUEST['err_msg'] = $err_msg;
     32            openpne_forward('pc', 'page', "c_event_detail");
     33            exit;
    2834        }
    2935        //---
  • OpenPNE/trunk/webapp/modules/pc/page/c_topic_detail.php

    r6779 r7224  
    8080        $this->set('is_c_topic_admin', db_commu_is_c_topic_admin($c_commu_topic_id, $u));
    8181        $this->set('c_member_id', $u);
     82        $this->set('is_writable_comment', db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id));
    8283
    8384        // 許可されている拡張子のリスト
  • OpenPNE/trunk/webapp/modules/pc/page/c_topic_write_confirm.php

    r6630 r7224  
    7979            handle_kengen_error();
    8080        }
     81        if (!db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
     82            $err_msg[] = 'コメントが1000番に達したので、このトピックにはコメントできません';
     83            $_REQUEST['err_msg'] = $err_msg;
     84            openpne_forward('pc', 'page', "c_topic_detail");
     85            exit;
     86        }
    8187        //---
    8288
  • OpenPNE/trunk/webapp/modules/pc/page/fh_diary.php

    r6778 r7224  
    8686        $this->set('page', $page);
    8787
     88        $this->set('is_writable_comment', db_diary_is_writable_comment4c_diary_id($target_c_diary_id));
     89
    8890        $start_comment = reset($c_diary_comment_list);
    8991        $end_comment = end($c_diary_comment_list);
  • OpenPNE/trunk/webapp/modules/pc/page/fh_diary_comment_confirm.php

    r5234 r7224  
    4747        }
    4848
     49        if (!db_diary_is_writable_comment4c_diary_id($target_c_diary_id)) {
     50            $_REQUEST['msg'] = 'コメントが1000番に達したので、この' . WORD_DIARY . 'にはコメントできません';
     51            openpne_forward('pc', 'page', 'fh_diary');
     52            exit;
     53        }
     54
    4955        $sessid = session_id();
    5056        t_image_clear_tmp($sessid);
  • OpenPNE/trunk/webapp/modules/pc/templates/c_event_detail.tpl

    r7065 r7224  
    44<div id="Center">
    55
    6 ({if !$err_msg})
     6({if !$err_msg || !$is_writable_comment})
    77
    88({* {{{ infoBox *})
     
    153153
    154154({if $is_c_commu_member})
     155({if $is_writable_comment})
    155156({* {{{ formTable *})
    156157<div class="dparts formTable" id="commentForm"><div class="parts">
     
    170171    ({if $is_c_event_member})
    171172        <li><input type="submit" class="input_submit" name="button" value="参加をキャンセルする" /></li>
    172     ({elseif !$c_topic.capacity || ($c_topic.capacity > $c_topic.member_num)})
     173    ({elseif $is_event_join_capacity})
    173174        <li><input type="submit" class="input_submit" name="button" value="イベントに参加する" /></li>
    174175    ({/if})
     
    181182</div></div>
    182183({* }}} *})
     184({else})
     185({* {{{ alertLine *})
     186<div class="parts alertLine">
     187<p>コメントが1000番に達したので、このイベントにはコメントできません。</p>
     188</div>
     189({* }}} *})
     190
     191({if $is_event_join_date})
     192({if $is_c_event_member})
     193({* {{{ infoButtonBox *})
     194<div class="dparts infoButtonBox"><div class="parts">
     195<div class="partsHeading"><h3>参加をキャンセルする</h3></div>
     196<div class="block">
     197
     198<p>イベント「({$c_topic.name})」の参加をキャンセルしますか?</p>
     199
     200({t_form_block m=pc a=do_c_event_drop_c_commu_event})
     201<input type="hidden" name="target_c_commu_topic_id" value="({$c_topic.c_commu_topic_id})" />
     202<ul class="moreInfo button">
     203<li><input type="submit" class="input_submit" value="参加をキャンセルする" /></li>
     204</ul>
     205({/t_form_block})
     206</div>
     207</div></div>
     208({* }}} *})
     209({elseif $is_event_join_capacity})
     210({* {{{ infoButtonBox *})
     211<div class="dparts infoButtonBox"><div class="parts">
     212<div class="partsHeading"><h3>このイベントに参加</h3></div>
     213<div class="block">
     214
     215<p>イベント「({$c_topic.name})」に参加しますか?</p>
     216
     217({t_form_block m=pc a=do_c_event_join_c_commu_event})
     218<input type="hidden" name="target_c_commu_topic_id" value="({$c_topic.c_commu_topic_id})" />
     219<ul class="moreInfo button">
     220<li><input type="submit" class="input_submit" value="イベントに参加する" /></li>
     221</ul>
     222({/t_form_block})
     223</div>
     224</div></div>
     225({* }}} *})
     226({/if})
     227({/if})
     228
     229({/if})
    183230({/if})
    184231
  • OpenPNE/trunk/webapp/modules/pc/templates/c_topic_detail.tpl

    r6779 r7224  
    125125
    126126({if $is_c_commu_member})
     127({if $is_writable_comment})
    127128({* {{{ formTable *})
    128129<div class="dparts formTable" id="commentForm"><div class="parts">
     
    165166</div></div>
    166167({* }}} *})
     168({else})
     169({* {{{ simpleBox *})
     170<div class="dparts simpleBox"><div class="parts">
     171<div class="partsHeading"><h3>コメントを書く</h3></div>
     172<div class="block">
     173<p>コメントが1000番に達したので、このトピックにはコメントできません。</p>
     174</div>
     175</div></div>
     176({* }}} *})
     177({/if})
    167178({/if})
    168179
  • OpenPNE/trunk/webapp/modules/pc/templates/fh_diary.tpl

    r7160 r7224  
    219219({/if})
    220220
     221({if $is_writable_comment})
    221222({* {{{ formTable *})
    222223<div class="dparts formTable" id="commentForm"><div class="parts">
     
    241242</div></div>
    242243({* }}} *})
     244({else})
     245({* {{{ simpleBox *})
     246<div class="dparts simpleBox"><div class="parts">
     247<div class="partsHeading"><h3>コメントを書く</h3></div>
     248<div class="block">
     249<p>コメントが1000番に達したので、この({$WORD_DIARY})にはコメントできません。</p>
     250</div>
     251</div></div>
     252({* }}} *})
     253({/if})
    243254
    244255</div><!-- Center -->
Note: See TracChangeset for help on using the changeset viewer.