Ejemplo n.º 1
0
             $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();
Ejemplo n.º 2
0
     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) {
Ejemplo n.º 3
0
        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)) {