diff --git a/VERSION b/VERSION index ecbc73c..021c7c6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.1.13 +v3.1.11 diff --git a/controllers/internals/Scheduled.php b/controllers/internals/Scheduled.php index 941c01b..09dc566 100644 --- a/controllers/internals/Scheduled.php +++ b/controllers/internals/Scheduled.php @@ -274,11 +274,11 @@ namespace controllers\internals; /** * Get all messages to send and the number to use to send theme. * - * @return array : List of smss to send at this time per scheduled id ['1' => [['id_scheduled', 'text', 'id_phone', 'destination', 'flash', 'mms', 'medias'], ...], ...] + * @return array : [['id_scheduled', 'text', 'id_phone', 'destination', 'flash', 'mms', 'medias'], ...] */ public function get_smss_to_send() { - $smss_to_send_per_scheduled = []; + $smss_to_send = []; $internal_templating = new \controllers\internals\Templating(); $internal_setting = new \controllers\internals\Setting($this->bdd); @@ -297,8 +297,6 @@ namespace controllers\internals; $scheduleds = $this->get_model()->gets_before_date($now); foreach ($scheduleds as $scheduled) { - $smss_to_send_per_scheduled[$scheduled['id']] = []; - if (!isset($users_settings[$scheduled['id_user']])) { $users_settings[$scheduled['id_user']] = []; @@ -330,7 +328,6 @@ namespace controllers\internals; } //Add medias to mms - $scheduled['medias'] = []; if ($scheduled['mms']) { $internal_media = new Media($this->bdd); @@ -484,16 +481,16 @@ namespace controllers\internals; } //Remove messages to smsstops numbers - if (($users_smsstops[$scheduled['id_user']] ?? false) && in_array($message['destination'], $users_smsstops[$scheduled['id_user']])) + if (in_array($message['destination'], $users_smsstops[$scheduled['id_user']])) { continue; } - $smss_to_send_per_scheduled[$scheduled['id']][] = $message; + $smss_to_send[] = $message; } } - return $smss_to_send_per_scheduled; + return $smss_to_send; } /** diff --git a/daemons/Sender.php b/daemons/Sender.php index 91eb3ee..a5504bb 100644 --- a/daemons/Sender.php +++ b/daemons/Sender.php @@ -47,8 +47,8 @@ class Sender extends AbstractDaemon $this->internal_scheduled = new \controllers\internals\Scheduled($this->bdd); //Get smss and transmit order to send to appropriate phone daemon - $smss_per_scheduled = $this->internal_scheduled->get_smss_to_send(); - $this->transmit_smss($smss_per_scheduled); //Add new queue to array of queues + $smss = $this->internal_scheduled->get_smss_to_send(); + $this->transmit_smss($smss); //Add new queue to array of queues usleep(0.5 * 1000000); } @@ -56,38 +56,34 @@ class Sender extends AbstractDaemon /** * Function to transfer smss to send to phones daemons. * - * @param array $smss_per_scheduled : Smss to send per scheduled id + * @param array $smss : Smss to send */ - public function transmit_smss(array $smss_per_scheduled): void + public function transmit_smss(array $smss): void { - foreach ($smss_per_scheduled as $id_scheduled => $smss) + foreach ($smss as $sms) { - foreach ($smss as $sms) + //If queue not already exists + $queue_id = (int) (QUEUE_ID_PHONE_PREFIX . $sms['id_phone']); + if (!msg_queue_exists($queue_id) || !isset($queues[$queue_id])) { - //If queue not already exists - $queue_id = (int) (QUEUE_ID_PHONE_PREFIX . $sms['id_phone']); - if (!msg_queue_exists($queue_id) || !isset($queues[$queue_id])) - { - $this->queues[$queue_id] = msg_get_queue($queue_id); - } - - $msg = [ - 'id_user' => $sms['id_user'], - 'id_scheduled' => $sms['id_scheduled'], - 'text' => $sms['text'], - 'id_phone' => $sms['id_phone'], - 'destination' => $sms['destination'], - 'flash' => $sms['flash'], - 'mms' => $sms['mms'], - 'medias' => $sms['medias'] ?? [], - ]; - - msg_send($this->queues[$queue_id], QUEUE_TYPE_SEND_MSG, $msg); - $this->logger->info('Transmit sms send signal to phone ' . $sms['id_phone'] . ' on queue ' . $queue_id . '.'); + $this->queues[$queue_id] = msg_get_queue($queue_id); } - $this->logger->info('Scheduled ' . $id_scheduled . ' treated and deleted.'); - $this->internal_scheduled->delete($id_scheduled); + $msg = [ + 'id_user' => $sms['id_user'], + 'id_scheduled' => $sms['id_scheduled'], + 'text' => $sms['text'], + 'id_phone' => $sms['id_phone'], + 'destination' => $sms['destination'], + 'flash' => $sms['flash'], + 'mms' => $sms['mms'], + 'medias' => $sms['medias'] ?? [], + ]; + + msg_send($this->queues[$queue_id], QUEUE_TYPE_SEND_MSG, $msg); + + $this->logger->info('Transmit sms send signal to phone ' . $sms['id_phone'] . ' on queue ' . $queue_id . '.'); + $this->internal_scheduled->delete($sms['id_scheduled']); } }