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

Changeset 3940


Ignore:
Timestamp:
Sep 10, 2007, 4:57:54 PM (12 years ago)
Author:
ebihara
Message:

#1025:完全削除したメッセージが表示できないようにした

Location:
OpenPNE/branches/stable-2.6.x/webapp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/stable-2.6.x/webapp/lib/util/util.php

    r2912 r3940  
    531531}
    532532
     533/**
     534 * 参照可能なメッセージかどうか
     535 *
     536 * ・指定メンバーが送信者で、完全削除済でない
     537 * ・指定メンバーが受信者で、送信済であり完全削除済でない
     538 *
     539 * @param int $c_member_id
     540 * @param int $c_message_id
     541 * @return bool
     542 */
     543function util_is_readable_message($c_member_id, $c_message_id)
     544{
     545    $c_message = db_message_c_message4c_message_id($c_message_id);
     546
     547    if ($c_message['c_member_id_from'] == $c_member_id) {  // 自分が送信者
     548        if (!$c_message['is_kanzen_sakujo_from']) {  // 完全削除済でない
     549            return true;
     550        }
     551    } elseif ($c_message['c_member_id_to'] == $c_member_id)  { // 自分が受信者
     552        if ($c_message['is_send'] && !$c_message['is_kanzen_sakujo_to']) {  // 送信済であり完全削除済でない
     553            return true;
     554        }
     555    }
     556
     557    return false;
     558}
     559
    533560?>
  • OpenPNE/branches/stable-2.6.x/webapp/modules/ktai/page/h_message.php

    r1268 r3940  
    2121
    2222        //--- 権限チェック
    23         if ($c_message['c_member_id_from'] != $u) {
    24             if ($c_message['c_member_id_to'] != $u || !$c_message['is_send']) {
    25                 handle_kengen_error();
    26             }
    27         }
     23        if (!util_is_readable_message($u, $target_c_message_id)) {
     24            handle_kengen_error();     
     25        }     
    2826        //---
    2927
  • OpenPNE/branches/stable-2.6.x/webapp/modules/pc/do/h_message_box_delete_message.php

    r1268 r3940  
    3434                //ごみ箱から移動
    3535                foreach ($c_message_id as $val) {
     36                    if (!util_is_readable_message($u, $val)) {
     37                        handle_kengen_error();
     38                    }
     39
    3640                    $c_message = db_message_c_message4c_message_id($val);
    3741                    if ($c_message['c_member_id_from'] != $u
     
    4650                //ごみ箱から完全削除 復元方法なし
    4751                foreach ($c_message_id as $val) {
     52                    if (!util_is_readable_message($u, $val)) {
     53                        handle_kengen_error();
     54                    }
     55
    4856                    $c_message = db_message_c_message4c_message_id($val);
    4957                    if ($c_message['c_member_id_from'] == $u) {
     
    6169            // メッセージをごみ箱へ移動
    6270            foreach ($c_message_id as $val) {
     71                if (!util_is_readable_message($u, $val)) {
     72                    handle_kengen_error();
     73                }
     74
    6375                $c_message = db_message_c_message4c_message_id($val);
    6476                if ($c_message['c_member_id_from'] != $u) {
  • OpenPNE/branches/stable-2.6.x/webapp/modules/pc/page/h_message.php

    r1268 r3940  
    3535
    3636        //--- 権限チェック
    37         if ($c_message['c_member_id_from'] != $u) {
    38             if ($c_message['c_member_id_to'] != $u || !$c_message['is_send']) {
    39                 handle_kengen_error();
    40             }
     37        if (!util_is_readable_message($u, $target_c_message_id)) {
     38            handle_kengen_error();         
    4139        }
    4240        //---
Note: See TracChangeset for help on using the changeset viewer.