diff --git a/VERSION b/VERSION index 903cd9f..d95827c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.1.1 +v3.1.2 diff --git a/controllers/internals/Received.php b/controllers/internals/Received.php index c7c2b79..048f1d6 100644 --- a/controllers/internals/Received.php +++ b/controllers/internals/Received.php @@ -306,32 +306,37 @@ namespace controllers\internals; } } - $received_id = $this->create($id_user, $id_phone, $at, $text, $origin, $status, $is_command, $mms, $media_ids); - if (!$received_id) + //Cut received messages by 1000 chars max + $text_parts = mb_str_split($text, 1000); + foreach ($text_parts as $text) { - $return['error'] = true; - $return['error_message'] = 'Impossible to insert the sms in database.'; + $received_id = $this->create($id_user, $id_phone, $at, $text, $origin, $status, $is_command, $mms, $media_ids); + if (!$received_id) + { + $return['error'] = true; + $return['error_message'] = 'Impossible to insert the sms in database.'; - return $return; + return $return; + } + + $received = [ + 'id' => $received_id, + 'at' => $at, + 'text' => $text, + 'destination' => $id_phone, + 'origin' => $origin, + 'command' => $is_command, + 'mms' => $mms, + 'medias' => $internal_media->gets_in_for_user($id_user, $media_ids), + ]; + + $internal_webhook = new Webhook($this->bdd); + $internal_webhook->trigger($id_user, \models\Webhook::TYPE_RECEIVE_SMS, $received); + + $internal_user = new User($this->bdd); + $internal_user->transfer_received($id_user, $received); } - $received = [ - 'id' => $received_id, - 'at' => $at, - 'text' => $text, - 'destination' => $id_phone, - 'origin' => $origin, - 'command' => $is_command, - 'mms' => $mms, - 'medias' => $internal_media->gets_in_for_user($id_user, $media_ids), - ]; - - $internal_webhook = new Webhook($this->bdd); - $internal_webhook->trigger($id_user, \models\Webhook::TYPE_RECEIVE_SMS, $received); - - $internal_user = new User($this->bdd); - $internal_user->transfer_received($id_user, $received); - return $return; }