$expd = true; $pm_to = $convers['user_id_dest']; } elseif ($convers['user_id_dest'] == $current_user->get_id()) { $expd = false; $pm_to = $convers['user_id']; } $view = false; if ($pm['view_status'] == '1') { //Le membre a déjà lu le message => échec. $view = true; } //Le destinataire n'a pas lu le message => on peut éditer. if ($view === false) { $id_first = PersistenceContext::get_querier()->get_column_value(DB_TABLE_PM_MSG, 'MIN(id)', 'WHERE idconvers = :id', array('id' => $pm['idconvers'])); if ($pm_del > $id_first) { $pm_last_msg = PrivateMsg::delete($pm_to, $pm_del, $pm['idconvers']); AppContext::get_response()->redirect('/user/pm' . url('.php?id=' . $pm['idconvers'], '-0-' . $pm['idconvers'] . '.php', '&') . '#m' . $pm_last_msg); } elseif ($pm_del == $id_first) { PrivateMsg::delete_conversation($pm_to, $pm['idconvers'], $expd, PrivateMsg::DEL_PM_CONVERS, PrivateMsg::UPDATE_MBR_PM); AppContext::get_response()->redirect('/user/pm.php'); } } else { $controller = new UserErrorController(LangLoader::get_message('error', 'status-messages-common'), $LANG['e_pm_nodel']); DispatchManager::redirect($controller); } } else { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } } else { $error_controller = PHPBoostErrors::unexisting_page();
if (AmpConfig::get('demo_mode')) { break; } $msgs = scrub_out($_REQUEST['msgs']); show_confirmation(T_('Message Deletion'), T_('Are you sure you want to permanently delete the selected messages?'), AmpConfig::get('web_path') . "/pvmsg.php?action=confirm_delete&msgs=" . $msgs, 1, 'delete_message'); break; case 'confirm_delete': if (AmpConfig::get('demo_mode')) { break; } $msgs = split(",", $_REQUEST['msgs']); foreach ($msgs as $msg_id) { $msg_id = intval($msg_id); $pvmsg = new PrivateMsg($msg_id); if ($pvmsg->id && $pvmsg->to_user === $GLOBALS['user']->id) { $pvmsg->delete(); } else { debug_event('UI::access_denied', 'Unknown or unauthorized private message #' . $msg_id . '.', '3'); UI::access_denied(); exit; } } show_confirmation(T_('Messages Deletion'), T_('Messages have been deleted.'), AmpConfig::get('web_path') . "/browse.php?action=pvmsg"); break; case 'show': default: $msg_id = intval($_REQUEST['pvmsg_id']); $pvmsg = new PrivateMsg($msg_id); if ($pvmsg->id && $pvmsg->to_user === $GLOBALS['user']->id) { $pvmsg->format(); if (!$pvmsg->is_read) {
if ($pm_del == $convers['last_msg_id']) { if ($convers['user_id'] == $User->get_attribute('user_id')) { $expd = true; $pm_to = $convers['user_id_dest']; } elseif ($convers['user_id_dest'] == $User->get_attribute('user_id')) { $expd = false; $pm_to = $convers['user_id']; } $view = false; if ($pm['view_status'] == '1') { $view = true; } if ($view === false) { $id_first = $Sql->query("SELECT MIN(id) FROM " . DB_TABLE_PM_MSG . " WHERE idconvers = '" . $pm['idconvers'] . "'", __LINE__, __FILE__); if ($pm_del > $id_first) { $pm_last_msg = $Privatemsg->delete($pm_to, $pm_del, $pm['idconvers']); redirect(HOST . DIR . '/member/pm' . url('.php?id=' . $pm['idconvers'], '-0-' . $pm['idconvers'] . '.php', '&') . '#m' . $pm_last_msg); } elseif ($pm_del == $id_first) { $Privatemsg->delete_conversation($pm_to, $pm['idconvers'], $expd, DEL_PM_CONVERS, UPDATE_MBR_PM); redirect(HOST . DIR . '/member/pm.php' . SID2); } } else { $Errorh->handler('e_pm_nodel', E_USER_REDIRECT); } } else { $Errorh->handler('e_auth', E_USER_REDIRECT); } } else { $Errorh->handler('e_auth', E_USER_REDIRECT); } } elseif (!empty($pm_edit)) {