function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $c_message_id = $requests['c_message_id'];
     // ----------
     $c_message = db_message_c_message4c_message_id($c_message_id);
     $is_deleted = false;
     // 削除済みのメッセージかどうか
     $is_sent = false;
     // メッセージの送信者かどうか
     if (!util_is_readable_message($u, $c_message_id)) {
         handle_kengen_error();
     }
     // $u がメッセージを削除したかどうかを判定する
     if ($c_message['c_member_id_to'] == $u && !empty($c_message['is_deleted_to'])) {
         // 受信メッセージ
         $is_deleted = true;
     } elseif ($c_message['c_member_id_from'] == $u && !empty($c_message['is_deleted_from'])) {
         // 送信メッセージ
         $is_deleted = true;
         $is_sent = true;
     }
     if ($is_deleted === true) {
         // メッセージをごみ箱から戻す
         db_message_move_message($c_message_id, $u);
         if ($is_sent === true) {
             // 遷移先は送信ボックス
             $p = array('box' => 'outbox');
         } else {
             // 遷移先は受信ボックス
             $p = array('box' => 'inbox');
         }
     } else {
         // メッセージをごみ箱に入れる
         db_message_delete_c_message4c_message_id($c_message_id, $u);
         $p = array('box' => 'trash');
         // 遷移先はごみ箱
     }
     openpne_redirect('ktai', 'page_h_message_box', $p);
 }
示例#2
0
function _do_delete_c_message4c_message_id($c_message_id, $c_member_id)
{
    return db_message_delete_c_message4c_message_id($c_message_id, $c_member_id);
}
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $c_message_id = $requests['c_message_id'];
     $box = $requests['box'];
     // ----------
     //--- 権限チェック
     //TODO: if / foreachの中に入っている
     //---
     //削除するメッセージを選択してない
     if (count($c_message_id) == 0) {
         $p = array('box' => $box);
         openpne_redirect('pc', 'page_h_message_box', $p);
     }
     if ($box == "trash") {
         //ごみ箱から
         if (!empty($requests['move'])) {
             //ごみ箱から移動
             foreach ($c_message_id as $val) {
                 if (!util_is_readable_message($u, $val)) {
                     handle_kengen_error();
                 }
                 $c_message = db_message_c_message4c_message_id($val);
                 if ($c_message['c_member_id_from'] != $u && $c_message['c_member_id_to'] != $u) {
                     handle_kengen_error();
                 }
                 db_message_move_message($val, $u);
             }
             $p = array('box' => $box);
             openpne_redirect('pc', 'page_h_message_box', $p);
         } else {
             //ごみ箱から完全削除 復元方法なし
             foreach ($c_message_id as $val) {
                 if (!util_is_readable_message($u, $val)) {
                     handle_kengen_error();
                 }
                 $c_message = db_message_c_message4c_message_id($val);
                 if ($c_message['c_member_id_from'] == $u) {
                     db_message_delete_c_message_from_trash($val, $u);
                 } elseif ($c_message['c_member_id_to'] == $u) {
                     db_message_delete_c_message_to_trash($val);
                 } else {
                     handle_kengen_error();
                 }
             }
             $p = array('box' => $box);
             openpne_redirect('pc', 'page_h_message_box', $p);
         }
     } else {
         // メッセージをごみ箱へ移動
         foreach ($c_message_id as $val) {
             if (!util_is_readable_message($u, $val)) {
                 handle_kengen_error();
             }
             $c_message = db_message_c_message4c_message_id($val);
             if ($c_message['c_member_id_from'] != $u) {
                 if ($c_message['c_member_id_to'] != $u || !$c_message['is_send']) {
                     handle_kengen_error();
                 }
             }
             db_message_update_c_message_is_read4c_message_id($val, $u);
             db_message_delete_c_message4c_message_id($val, $u);
         }
     }
     $p = array('box' => $box);
     openpne_redirect('pc', 'page_h_message_box', $p);
 }