Skip to content

Commit

Permalink
Refactor message grid see BT#15983
Browse files Browse the repository at this point in the history
  • Loading branch information
jmontoyaa committed Aug 15, 2019
1 parent 319bf79 commit d88e0b6
Show file tree
Hide file tree
Showing 8 changed files with 328 additions and 327 deletions.
489 changes: 299 additions & 190 deletions main/inc/lib/message.lib.php

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions main/inc/lib/social.lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -917,7 +917,7 @@ public static function show_social_menu(
];

// get count unread message and total invitations
$count_unread_message = MessageManager::getNumberOfMessages(['message_status' => [MESSAGE_STATUS_UNREAD]]);
$count_unread_message = MessageManager::getCountNewMessagesFromDB(api_get_user_id());
$count_unread_message = !empty($count_unread_message) ? Display::badge($count_unread_message) : null;

$number_of_new_messages_of_friend = self::get_message_number_invitation_by_user_id(api_get_user_id());
Expand Down Expand Up @@ -1950,7 +1950,7 @@ public static function getAttachmentPreviewList($message)
}
}
} else {
$list = MessageManager::getAttachmentLinkList($messageId);
$list = MessageManager::getAttachmentLinkList($messageId, 0);
}

return $list;
Expand Down
1 change: 0 additions & 1 deletion main/inc/lib/sortable_table.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -1012,7 +1012,6 @@ public function get_total_number_of_items()
$this->getDataFunctionParams()
);
}

return $this->total_number_of_items;
}

Expand Down
11 changes: 6 additions & 5 deletions main/messages/download.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
require_once __DIR__.'/../inc/global.inc.php';

$file_url = isset($_GET['file']) ? $_GET['file'] : '';
$type = isset($_GET['type']) ? $_GET['type'] : '';

if (empty($file_url)) {
api_not_allowed();
Expand Down Expand Up @@ -52,13 +53,13 @@

// get message user id for inbox/outbox
$message_uid = '';
$message_type = ['inbox', 'outbox'];
if (in_array($_GET['type'], $message_type)) {
if ($_GET['type'] == 'inbox') {
switch ($type) {
case MessageManager::MESSAGE_TYPE_INBOX:
$message_uid = $row_users['user_receiver_id'];
} else {
break;
case MessageManager::MESSAGE_TYPE_OUTBOX:
$message_uid = $row_users['user_sender_id'];
}
break;
}

// allow to the correct user for download this file
Expand Down
84 changes: 1 addition & 83 deletions main/messages/inbox.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,74 +23,6 @@
$allowSocial = api_get_setting('allow_social_tool') == 'true';
$allowMessage = api_get_setting('allow_message_tool') == 'true';

if (isset($_GET['messages_page_nr'])) {
if ($allowSocial && $allowMessage) {
header('Location:inbox.php');
exit;
}
}

$nameTools = get_lang('Messages');
$show_message = null;
if (isset($_GET['form_reply']) || isset($_GET['form_delete'])) {
$info_reply = [];
$info_delete = [];

if (isset($_GET['form_reply'])) {
//allow to insert messages
$info_reply = explode(base64_encode('&%ff..x'), $_GET['form_reply']);
$count_reply = count($info_reply);
$button_sent = urldecode($info_reply[4]);
}

if (isset($_GET['form_delete'])) {
//allow to delete messages
$info_delete = explode(',', $_GET['form_delete']);
$count_delete = (count($info_delete) - 1);
}

if (isset($button_sent)) {
$title = urldecode($info_reply[0]);
$content = str_replace("\\", '', urldecode($info_reply[1]));

$user_reply = $info_reply[2];
$user_email_base = str_replace(')', '(', $info_reply[5]);
$user_email_prepare = explode('(', $user_email_base);
if (count($user_email_prepare) == 1) {
$user_email = trim($user_email_prepare[0]);
} elseif (count($user_email_prepare) == 3) {
$user_email = trim($user_email_prepare[1]);
}
$user_id_by_email = MessageManager::get_user_id_by_email($user_email);

if ($info_reply[6] == 'save_form') {
$user_id_by_email = $info_reply[2];
}
if (isset($user_reply) && !is_null($user_id_by_email) && strlen($info_reply[0]) > 0) {
MessageManager::send_message($user_id_by_email, $title, $content);
$show_message .= MessageManager::return_message($user_id_by_email, 'confirmation');
$social_right_content .= MessageManager::inboxDisplay();
exit;
} elseif (is_null($user_id_by_email)) {
$message_box = get_lang('ErrorSendingMessage');
$show_message .= Display::return_message(api_xml_http_response_encode($message_box), 'error');
$social_right_content .= MessageManager::inboxDisplay();
exit;
}
} elseif (trim($info_delete[0]) == 'delete') {
for ($i = 1; $i <= $count_delete; $i++) {
MessageManager::delete_message_by_user_receiver(
api_get_user_id(),
$info_delete[$i]
);
}
$message_box = get_lang('SelectedMessagesDeleted');
$show_message .= Display::return_message(api_xml_http_response_encode($message_box));
$social_right_content .= MessageManager::inboxDisplay();
exit;
}
}

if ($allowSocial) {
$this_section = SECTION_SOCIAL;
$interbreadcrumb[] = [
Expand Down Expand Up @@ -147,21 +79,7 @@
$social_right_content .= Display::toolbarAction('toolbar', [$actionsLeft, $actionsRight]);
}

if (!isset($_GET['del_msg'])) {
$social_right_content .= MessageManager::inboxDisplay($keyword);
} else {
$num_msg = (int) $_POST['total'];
for ($i = 0; $i < $num_msg; $i++) {
if ($_POST[$i]) {
// The user_id was necessary to delete a message??
$show_message .= MessageManager::delete_message_by_user_receiver(
api_get_user_id(),
$_POST['_'.$i]
);
}
}
$social_right_content .= MessageManager::inboxDisplay();
}
$social_right_content .= MessageManager::inboxDisplay($keyword);

$tpl = new Template(null);

Expand Down
2 changes: 1 addition & 1 deletion main/messages/new_message.php
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ function manageForm($default, $select_from_user_list = null, $sent_to = '', $tpl
if (isset($_GET['forward_id'])) {
$forwardId = (int) $_GET['forward_id'];
$message_reply_info = MessageManager::get_message_by_id($forwardId);
$attachments = MessageManager::getAttachmentLinkList($forwardId);
$attachments = MessageManager::getAttachmentLinkList($forwardId, MessageManager::MESSAGE_TYPE_INBOX);
if (!empty($attachments)) {
$fileListToString = !empty($attachments) ? implode('<br />', $attachments) : '';
$form->addLabel('', $fileListToString);
Expand Down
33 changes: 2 additions & 31 deletions main/messages/outbox.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,6 @@
Display::return_icon('outbox.png', get_lang('Outbox')).'</a>';
}

$action = null;
if (isset($_REQUEST['action'])) {
$action = $_REQUEST['action'];
}

$keyword = '';
$social_right_content = '';
if ($allowSocial) {
Expand All @@ -79,32 +74,8 @@
[$actionsLeft, $actionsRight]
);
}
//MAIN CONTENT
if ($action == 'delete') {
$delete_list_id = [];
if (isset($_POST['out'])) {
$delete_list_id = $_POST['out'];
}
if (isset($_POST['id'])) {
$delete_list_id = $_POST['id'];
}
for ($i = 0; $i < count($delete_list_id); $i++) {
MessageManager::delete_message_by_user_sender(
api_get_user_id(),
$delete_list_id[$i]
);
}
MessageManager::outbox_display($keyword);
header("Location: ".api_get_self());
exit;
} elseif ($action == 'deleteone') {
MessageManager::delete_message_by_user_sender(api_get_user_id(), $_GET['id']);
MessageManager::outbox_display($keyword);
header("Location: ".api_get_self());
exit;
} else {
$social_right_content = MessageManager::outbox_display($keyword);
}

$social_right_content .= MessageManager::outBoxDisplay($keyword);

$tpl = new Template(get_lang('Outbox'));
// Block Social Avatar
Expand Down
31 changes: 17 additions & 14 deletions main/messages/view_message.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,19 @@
require_once __DIR__.'/../inc/global.inc.php';
api_block_anonymous_users();

if (api_get_setting('allow_message_tool') != 'true') {
$allowSocial = api_get_setting('allow_social_tool') === 'true';
$allowMessage = api_get_setting('allow_message_tool') === 'true';

if (!$allowMessage) {
api_not_allowed(true);
}

$messageId = isset($_GET['id']) ? (int) $_GET['id'] : 0;

if (empty($messageId)) {
api_not_allowed(true);
}

$allowSocial = api_get_setting('allow_social_tool') === 'true';
$allowMessage = api_get_setting('allow_message_tool') === 'true';

if ($allowSocial) {
$this_section = SECTION_SOCIAL;
Expand All @@ -25,7 +32,7 @@
$interbreadcrumb[] = ['url' => 'inbox.php', 'name' => get_lang('Messages')];

$social_right_content = '<div class="actions">';
if (api_get_setting('allow_message_tool') === 'true') {
if ($allowMessage === 'true') {
$social_right_content .= '<a href="'.api_get_path(WEB_PATH).'main/messages/new_message.php">'.
Display::return_icon('new-message.png', get_lang('ComposeMessage')).'</a>';
$social_right_content .= '<a href="'.api_get_path(WEB_PATH).'main/messages/inbox.php">'.
Expand All @@ -34,22 +41,18 @@
Display::return_icon('outbox.png', get_lang('Outbox')).'</a>';
}
$social_right_content .= '</div>';
$type = isset($_GET['type']) ? (int) $_GET['type'] : MessageManager::MESSAGE_TYPE_INBOX;

if (empty($_GET['id'])) {
$messageId = $_GET['id_send'];
$source = 'outbox';
$show_menu = 'messages_inbox';
if ($type === MessageManager::MESSAGE_TYPE_OUTBOX) {
$show_menu = 'messages_outbox';
} else {
$messageId = $_GET['id'];
$source = 'inbox';
$show_menu = 'messages_inbox';
}

$message = '';

$logInfo = [
'tool' => 'Messages',
'action' => $source,
'tool_id' => $messageId,
'action' => 'view-message',
'action_details' => 'view-message',
];
Event::registerLog($logInfo);
Expand All @@ -60,7 +63,7 @@
$social_menu_block = SocialManager::show_social_menu($show_menu);
}
// MAIN CONTENT
$message .= MessageManager::showMessageBox($messageId, $source);
$message .= MessageManager::showMessageBox($messageId, $type);

if (!empty($message)) {
$social_right_content .= $message;
Expand Down

0 comments on commit d88e0b6

Please sign in to comment.