Skip to content

Commit

Permalink
GH-126 Unify basic message details object creation for messages & con…
Browse files Browse the repository at this point in the history
…versations
  • Loading branch information
mdziekon committed Oct 27, 2020
1 parent 12bfdea commit 93fd929
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 70 deletions.
40 changes: 8 additions & 32 deletions ajax/messages.conversation.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,14 @@ function ajaxReturn($Array)
]);

foreach ($MsgCache as $CurMess) {
$parseMSG = [];
$parseMSG = Messages\Utils\_buildBasicMessageDetails(
$CurMess,
[
'isReadingThread' => true,
'displayedCategoryId' => $_ThisCategory,
'readerUserData' => &$_User,
]
);

// The assumption here is that we'll never encounter "non user created messages"
$messageDetails = Messages\Utils\_buildTypedUserMessageDetails(
Expand All @@ -100,37 +107,6 @@ function ajaxReturn($Array)
$parseMSG['CurrMSG_from'] = $messageDetails['from'];
$parseMSG['CurrMSG_text'] = $messageDetails['text'];

$parseMSG['CurrMSG_ID'] = $CurMess['id'];
if($CurMess['read'] == false)
{
$parseMSG['CurrMSG_IsUnread'] = ' class="isNew"';
}
$parseMSG['CurrMSG_date'] = date('d.m.Y', $CurMess['time']);
$parseMSG['CurrMSG_time'] = date('H:i:s', $CurMess['time']);

$parseMSG['CurrMSG_color'] = (
($_ThisCategory == 100) ?
Messages\Utils\formatMessageTypeColorClass($CurMess) :
''
);

if($CurMess['type'] == 80 OR $CurMess['id_sender'] == $_User['id'])
{
$parseMSG['CurrMSG_HideCheckbox'] = 'class="inv"';
}
$parseMSG['CurrMSG_send'] = sprintf(($CurMess['id_owner'] == $_User['id'] ? $_Lang['mess_send_date'] : $_Lang['mess_sendbyyou_date']), $parseMSG['CurrMSG_date'], $parseMSG['CurrMSG_time']);

$parseMSG['CurrMSG_buttons'] = (
($CurMess['id_owner'] == $_User['id']) ?
Messages\Utils\_buildMessageButtons(
$CurMess,
[
'readerUserData' => &$_User,
]
) :
null
);

$Messages[$CurMess['id']] = $parseMSG;
}

Expand Down
46 changes: 8 additions & 38 deletions messages.php
Original file line number Diff line number Diff line change
Expand Up @@ -434,44 +434,14 @@
]);

foreach ($MsgCache as $CurMess) {
$parseMSG = [
'CurrMSG_ID' => $CurMess['id'],
'CurrMSG_send' => sprintf(
$_Lang['mess_send_date'],
date('d.m.Y', $CurMess['time']),
date('H:i:s', $CurMess['time'])
),
'CurrMSG_color' => (
$isViewingAllMessageCategories ?
Messages\Utils\formatMessageTypeColorClass($CurMess) :
''
),
'CurrMSG_IsUnread' => (
!($CurMess['read']) ?
' class="isNew"' :
''
),
'CurrMSG_HideCheckbox' => (
($CurMess['type'] == 80) ?
'class="inv"' :
''
),
'CurrMSG_buttons' => Messages\Utils\_buildMessageButtons(
$CurMess,
[
'readerUserData' => &$_User,
]
),
'isAdditional' => (
isset($CurMess['isAdditional']) &&
$CurMess['isAdditional'] === true
),
// Properties set later
'CurrMSG_subject' => null,
'CurrMSG_from' => null,
'CurrMSG_text' => null,
'Thread_ID' => null,
];
$parseMSG = Messages\Utils\_buildBasicMessageDetails(
$CurMess,
[
'isReadingThread' => false,
'displayedCategoryId' => $_ThisCategory,
'readerUserData' => &$_User,
]
);

if (Messages\Utils\isSystemSentMessage($CurMess)) {
$messageDetails = Messages\Utils\_buildTypedSystemMessageDetails(
Expand Down
68 changes: 68 additions & 0 deletions modules/messages/utils/buildMessageDetails.utils.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,74 @@
use UniEngine\Engine\Includes\Helpers\Common\Collections;
use UniEngine\Engine\Modules\Messages;

function _buildBasicMessageDetails($dbMessageData, $params) {
global $_Lang;

$isReadingThread = $params['isReadingThread'];
$displayedCategoryId = $params['displayedCategoryId'];
$readerUserData = &$params['readerUserData'];

$isViewingAllMessageCategories = ($displayedCategoryId == 100);
$isOwnMessageInThread = (
$isReadingThread &&
$dbMessageData['id_sender'] == $readerUserData['id']
);

return [
'CurrMSG_ID' => $dbMessageData['id'],
'CurrMSG_send' => sprintf(
(
(
$dbMessageData['id_owner'] == $readerUserData['id'] ||
!$isOwnMessageInThread
) ?
$_Lang['mess_send_date'] :
$_Lang['mess_sendbyyou_date']
),
date('d.m.Y', $dbMessageData['time']),
date('H:i:s', $dbMessageData['time'])
),
'CurrMSG_color' => (
$isViewingAllMessageCategories ?
Messages\Utils\formatMessageTypeColorClass($dbMessageData) :
''
),
'CurrMSG_IsUnread' => (
!($dbMessageData['read']) ?
' class="isNew"' :
''
),
'CurrMSG_HideCheckbox' => (
(
$dbMessageData['type'] == 80 ||
$isOwnMessageInThread
) ?
'class="inv"' :
''
),
'CurrMSG_buttons' => (
!$isOwnMessageInThread ?
Messages\Utils\_buildMessageButtons(
$dbMessageData,
[
'readerUserData' => &$readerUserData,
]
) :
null
),
'isAdditional' => (
isset($dbMessageData['isAdditional']) &&
$dbMessageData['isAdditional'] === true
),

// Placeholders required by the template
'CurrMSG_subject' => null,
'CurrMSG_from' => null,
'CurrMSG_text' => null,
'Thread_ID' => null,
];
}

function _buildTypedSystemMessageDetails($dbMessageData, $params) {
global $_Lang;

Expand Down

0 comments on commit 93fd929

Please sign in to comment.