From f330312b55543f29cb8ea2a9a6e5b3affb48984c Mon Sep 17 00:00:00 2001
From: osaajani <>
Date: Sun, 21 Mar 2021 18:29:23 +0100
Subject: [PATCH] Add medias link to mms into received + sended + scheduled +
discussion
---
controllers/publics/Discussion.php | 40 +++++++++++++++++++++++++++++-
controllers/publics/Received.php | 10 ++++++++
controllers/publics/Scheduled.php | 7 ++++++
controllers/publics/Sended.php | 6 +++++
templates/discussion/show.php | 13 ++++++++--
templates/received/list.php | 20 ++++++++++++---
templates/scheduled/list.php | 16 +++++++++++-
templates/sended/list.php | 20 ++++++++++++---
8 files changed, 122 insertions(+), 10 deletions(-)
diff --git a/controllers/publics/Discussion.php b/controllers/publics/Discussion.php
index 7c7b79a..da30f5d 100644
--- a/controllers/publics/Discussion.php
+++ b/controllers/publics/Discussion.php
@@ -21,6 +21,7 @@ namespace controllers\publics;
private $internal_received;
private $internal_contact;
private $internal_phone;
+ private $internal_media;
/**
* Cette fonction est appelée avant toute les autres :
@@ -37,6 +38,7 @@ namespace controllers\publics;
$this->internal_received = new \controllers\internals\Received($bdd);
$this->internal_contact = new \controllers\internals\Contact($bdd);
$this->internal_phone = new \controllers\internals\Phone($bdd);
+ $this->internal_media = new \controllers\internals\Media($bdd);
\controllers\internals\Tool::verifyconnect();
}
@@ -112,12 +114,26 @@ namespace controllers\publics;
foreach ($sendeds as $sended)
{
- $messages[] = [
+ $medias = [];
+ if ($sended['mms'])
+ {
+ $medias = $this->internal_media->gets_for_sended($sended['id']);
+ foreach ($medias as &$media)
+ {
+ $media = HTTP_PWD_DATA . '/' . $media['path'];
+ }
+ }
+
+ $message = [
'date' => htmlspecialchars($sended['at']),
'text' => htmlspecialchars($sended['text']),
'type' => 'sended',
+ 'medias' => $medias,
'status' => $sended['status'],
];
+
+
+ $messages[] = $message;
}
foreach ($receiveds as $received)
@@ -126,21 +142,43 @@ namespace controllers\publics;
{
$this->internal_received->mark_as_read_for_user($id_user, $received['id']);
}
+
+ $medias = [];
+ if ($sended['mms'])
+ {
+ $medias = $this->internal_media->gets_for_received($received['id']);
+ foreach ($medias as &$media)
+ {
+ $media = HTTP_PWD_DATA . '/' . $media['path'];
+ }
+ }
$messages[] = [
'date' => htmlspecialchars($received['at']),
'text' => htmlspecialchars($received['text']),
'type' => 'received',
'md5' => md5($received['at'] . $received['text']),
+ 'medias' => $medias,
];
}
foreach ($scheduleds as $scheduled)
{
+ $medias = [];
+ if ($sended['mms'])
+ {
+ $medias = $this->internal_media->gets_for_scheduled($scheduled['id']);
+ foreach ($medias as &$media)
+ {
+ $media = HTTP_PWD_DATA . '/' . $media['path'];
+ }
+ }
+
$messages[] = [
'date' => htmlspecialchars($scheduled['at']),
'text' => htmlspecialchars($scheduled['text']),
'type' => 'inprogress',
+ 'medias' => $medias,
];
}
diff --git a/controllers/publics/Received.php b/controllers/publics/Received.php
index e5ba67e..d6ab5a4 100644
--- a/controllers/publics/Received.php
+++ b/controllers/publics/Received.php
@@ -19,6 +19,7 @@ namespace controllers\publics;
private $internal_received;
private $internal_contact;
private $internal_phone;
+ private $internal_media;
/**
* Cette fonction est appelée avant toute les autres :
@@ -32,6 +33,7 @@ namespace controllers\publics;
$this->internal_received = new \controllers\internals\Received($bdd);
$this->internal_contact = new \controllers\internals\Contact($bdd);
$this->internal_phone = new \controllers\internals\Phone($bdd);
+ $this->internal_media = new \controllers\internals\Media($bdd);
\controllers\internals\Tool::verifyconnect();
}
@@ -53,6 +55,10 @@ namespace controllers\publics;
foreach ($entities as &$entity)
{
$entity['origin_formatted'] = \controllers\internals\Tool::phone_link($entity['origin']);
+ if ($entity['mms'])
+ {
+ $entity['medias'] = $this->internal_media->gets_for_received($entity['id']);
+ }
}
header('Content-Type: application/json');
@@ -76,6 +82,10 @@ namespace controllers\publics;
foreach ($entities as &$entity)
{
$entity['origin_formatted'] = \controllers\internals\Tool::phone_link($entity['origin']);
+ if ($entity['mms'])
+ {
+ $entity['medias'] = $this->internal_media->gets_for_received($entity['id']);
+ }
}
header('Content-Type: application/json');
diff --git a/controllers/publics/Scheduled.php b/controllers/publics/Scheduled.php
index 81ccd3b..2e4d8a7 100644
--- a/controllers/publics/Scheduled.php
+++ b/controllers/publics/Scheduled.php
@@ -56,6 +56,13 @@ namespace controllers\publics;
public function list_json()
{
$entities = $this->internal_scheduled->list_for_user($_SESSION['user']['id']);
+ foreach ($entities as &$entity)
+ {
+ if ($entity['mms'])
+ {
+ $entity['medias'] = $this->internal_media->gets_for_scheduled($entity['id']);
+ }
+ }
header('Content-Type: application/json');
echo json_encode(['data' => $entities]);
diff --git a/controllers/publics/Sended.php b/controllers/publics/Sended.php
index fa0a67c..8227e38 100644
--- a/controllers/publics/Sended.php
+++ b/controllers/publics/Sended.php
@@ -19,6 +19,7 @@ namespace controllers\publics;
private $internal_sended;
private $internal_phone;
private $internal_contact;
+ private $internal_media;
/**
* Cette fonction est appelée avant toute les autres :
@@ -32,6 +33,7 @@ namespace controllers\publics;
$this->internal_sended = new \controllers\internals\Sended($bdd);
$this->internal_phone = new \controllers\internals\Phone($bdd);
$this->internal_contact = new \controllers\internals\Contact($bdd);
+ $this->internal_media = new \controllers\internals\Media($bdd);
\controllers\internals\Tool::verifyconnect();
}
@@ -55,6 +57,10 @@ namespace controllers\publics;
foreach ($entities as &$entity)
{
$entity['destination_formatted'] = \controllers\internals\Tool::phone_link($entity['destination']);
+ if ($entity['mms'])
+ {
+ $entity['medias'] = $this->internal_media->gets_for_sended($entity['id']);
+ }
}
header('Content-Type: application/json');
diff --git a/templates/discussion/show.php b/templates/discussion/show.php
index bb6a357..835761a 100644
--- a/templates/discussion/show.php
+++ b/templates/discussion/show.php
@@ -76,7 +76,7 @@
//On ajoute la detection de lien dans le texte du message
message.text = Autolinker.link(message.text, {newWindow:true});
-
+
switch (message.type)
{
@@ -85,7 +85,10 @@
'
' +
'
' +
'
' + message.text + '
' +
- '
' + message.date + '
' +
+ '
' +
+ '
' + message.date + '
' +
'
' +
'
';
@@ -101,6 +104,9 @@
'' +
'
' +
'
' + message.text + '
' +
+ '
' +
'
' + message.date + ' ' + (message.status == 'delivered' ? '' : (message.status == 'failed' ? '' : '' )) + '
' +
'
' +
'
';
@@ -111,6 +117,9 @@
'' +
'
' +
'
' + message.text + '
' +
+ '
' +
'
' + message.date + '
' +
'
' +
'';
diff --git a/templates/received/list.php b/templates/received/list.php
index 5611fb0..763a28e 100644
--- a/templates/received/list.php
+++ b/templates/received/list.php
@@ -45,8 +45,8 @@
- De |
- À |
+ Expéditeur |
+ Destinataire |
Message |
Date |
Status |
@@ -104,7 +104,21 @@ jQuery(document).ready(function ()
},
},
{data: 'phone_name', render: jQuery.fn.dataTable.render.text()},
- {data: 'text', render: jQuery.fn.dataTable.render.text()},
+ {
+ data: 'text',
+ render: function (data, type, row, meta) {
+ if (row.mms == 1) {
+ var medias = [];
+ for (i = 0; i < row.medias.length; i++) {
+ medias.push('Fichier ' + (i + 1) + '');
+ }
+ html = data + '
' + medias.join(' - ');
+ return html;
+ }
+
+ return data;
+ },
+ },
{data: 'at', render: jQuery.fn.dataTable.render.text()},
{
data: 'status',
diff --git a/templates/scheduled/list.php b/templates/scheduled/list.php
index cfeda14..ecfd708 100644
--- a/templates/scheduled/list.php
+++ b/templates/scheduled/list.php
@@ -87,7 +87,21 @@ jQuery(document).ready(function ()
},
"columns" : [
{data: 'at', render: jQuery.fn.dataTable.render.text()},
- {data: 'text', render: jQuery.fn.dataTable.render.text()},
+ {
+ data: 'text',
+ render: function (data, type, row, meta) {
+ if (row.mms == 1) {
+ var medias = [];
+ for (i = 0; i < row.medias.length; i++) {
+ medias.push('Fichier ' + (i + 1) + '');
+ }
+ html = data + '
' + medias.join(' - ');
+ return html;
+ }
+
+ return data;
+ },
+ },
{
data: 'id',
render: function (data, type, row, meta) {
diff --git a/templates/sended/list.php b/templates/sended/list.php
index 726cb2b..d8c6289 100644
--- a/templates/sended/list.php
+++ b/templates/sended/list.php
@@ -39,8 +39,8 @@
- De |
- À |
+ Expéditeur |
+ Destinataire |
Message |
Date |
Statut |
@@ -94,7 +94,21 @@ jQuery(document).ready(function ()
return row.destination_formatted;
},
},
- {data: 'text', render: jQuery.fn.dataTable.render.text()},
+ {
+ data: 'text',
+ render: function (data, type, row, meta) {
+ if (row.mms == 1) {
+ var medias = [];
+ for (i = 0; i < row.medias.length; i++) {
+ medias.push('Fichier ' + (i + 1) + '');
+ }
+ html = data + '
' + medias.join(' - ');
+ return html;
+ }
+
+ return data;
+ },
+ },
{data: 'at', render: jQuery.fn.dataTable.render.text()},
{
data: 'status',