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); }
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); }