} //Récupération de l'id du destinataire. $user_id_dest = $convers['user_id_dest'] == $current_user->get_id() ? $convers['user_id'] : $convers['user_id_dest']; if ($convers['user_convers_status'] == '0' && $user_id_dest > '0') { //Vu par exp et pas par dest => 1 //Vu par dest et pas par exp => 2 if ($convers['user_id'] == $current_user->get_id()) { //Le membre est le créateur de la conversation. $status = 1; } elseif ($convers['user_id_dest'] == $current_user->get_id()) { //Le membre est le destinataire de la conversation. $status = 2; } $contents = FormatingHelper::strparse($contents, array(), false); //Envoi du message privé. $pm_msg_id = PrivateMsg::send($user_id_dest, $pm_id_get, $contents, $current_user->get_id(), $status); //Envoi d'un mail si l'utilisateur a activé l'option $pmtomail_field = ExtendedFieldsCache::load()->get_extended_field_by_field_name('user_pmtomail'); if (!empty($pmtomail_field) && $pmtomail_field['display']) { if (PersistenceContext::get_querier()->get_column_value(DB_TABLE_MEMBER_EXTENDED_FIELDS, 'user_pmtomail', 'WHERE user_id = :id', array('id' => $user_id_dest))) { $email_dest = PersistenceContext::get_querier()->get_column_value(DB_TABLE_MEMBER, 'email', 'WHERE user_id = :id', array('id' => $user_id_dest)); AppContext::get_mail_service()->send_from_properties($email_dest, $LANG['new_pm'] . ' : ' . $convers['title'], $contents); } } //Calcul de la page vers laquelle on redirige. $last_page = ceil(($convers['nbr_msg'] + 1) / 25); $last_page_rewrite = $last_page > 1 ? '-' . $last_page : ''; $last_page = $last_page > 1 ? '&p=' . $last_page : ''; AppContext::get_response()->redirect('/user/pm' . url('.php?id=' . $pm_id_get . $last_page, '-0-' . $pm_id_get . $last_page_rewrite . '.php', '&') . '#m' . $pm_msg_id); } else { //Le destinataire a supprimé la conversation.
$Template->assign_vars(array('LANG' => get_ulang(), 'KERNEL_EDITOR' => display_editor(), 'L_REQUIRE_MESSAGE' => $LANG['require_text'], 'L_DELETE_MESSAGE' => $LANG['alert_delete_msg'], 'L_PRIVATE_MESSAGE' => $LANG['private_message'], 'L_SUBMIT' => $LANG['submit'], 'L_PREVIEW' => $LANG['preview'], 'L_RESET' => $LANG['reset'])); $Template->assign_block_vars('show_pm', array('DATE' => gmdate_format('date_format'), 'CONTENTS' => second_parse(stripslashes(strparse($_POST['contents']))), 'U_PM_BOX' => '<a href="pm.php' . SID . '">' . $LANG['pm_box'] . '</a>', 'U_TITLE_CONVERS' => '<a href="pm' . url('.php?id=' . $pm_id_get, '-0-' . $pm_id_get . '.php') . '">' . $convers_title . '</a>', 'U_USER_VIEW' => '<a href="' . url('member.php?id=' . $User->get_attribute('user_id') . '&view=1', 'member-' . $User->get_attribute('user_id') . '.php?view=1') . '">' . $LANG['member_area'] . '</a>')); $Template->assign_block_vars('post_pm', array('CONTENTS' => !empty($_POST['contents']) ? stripslashes($_POST['contents']) : '', 'U_PM_ACTION_POST' => url('.php?id=' . $pm_id_get . '&token=' . $Session->get_token()))); $Template->pparse('pm'); } elseif (!empty($_POST['pm']) && !empty($pm_id_get) && empty($pm_edit) && empty($pm_del)) { $contents = retrieve(POST, 'contents', '', TSTRING_UNCHANGE); if (!empty($contents)) { $convers = $Sql->query_array(DB_TABLE_PM_TOPIC, 'user_id', 'user_id_dest', 'user_convers_status', 'nbr_msg', 'user_view_pm', 'last_user_id', "WHERE id = '" . $pm_id_get . "'", __LINE__, __FILE__); $user_id_dest = $convers['user_id_dest'] == $User->get_attribute('user_id') ? $convers['user_id'] : $convers['user_id_dest']; if ($convers['user_convers_status'] == '0' && $user_id_dest > '0') { if ($convers['user_id'] == $User->get_attribute('user_id')) { $status = 1; } elseif ($convers['user_id_dest'] == $User->get_attribute('user_id')) { $status = 2; } $Privatemsg->send($user_id_dest, $pm_id_get, $contents, $User->get_attribute('user_id'), $status); $last_page = ceil(($convers['nbr_msg'] + 1) / 25); $last_page_rewrite = $last_page > 1 ? '-' . $last_page : ''; $last_page = $last_page > 1 ? '&p=' . $last_page : ''; redirect(HOST . DIR . '/member/pm' . url('.php?id=' . $pm_id_get . $last_page, '-0-' . $pm_id_get . $last_page_rewrite . '.php', '&') . '#m' . $Privatemsg->pm_msg_id); } else { redirect(HOST . DIR . '/member/pm' . url('.php?id=' . $pm_id_get . '&error=e_pm_del', '-0-' . $pm_id_get . '-0.php?error=e_pm_del', '&') . '#errorh'); } } else { redirect(HOST . DIR . '/member/pm' . url('.php?id=' . $pm_id_get . '&error=e_incomplete', '-0-' . $pm_id_get . '-0-e_incomplete.php', '&') . '#errorh'); } } elseif ($pm_del_convers) { $Session->csrf_get_protect(); import('util/pagination'); $Pagination = new Pagination(); $pagination_pm = 25;