From 14cd233d92b8498749bb05a4e8bca52ea17079ef Mon Sep 17 00:00:00 2001 From: osaajani <> Date: Thu, 14 Jan 2021 03:25:58 +0100 Subject: [PATCH 1/6] Add api for create and delete phone --- controllers/internals/Phone.php | 6 +- controllers/publics/Api.php | 174 +++++++++++++++++++++++++++++++- controllers/publics/Phone.php | 4 - routes.php | 6 ++ templates/phone/list.php | 2 +- 5 files changed, 183 insertions(+), 9 deletions(-) diff --git a/controllers/internals/Phone.php b/controllers/internals/Phone.php index 68b9429..6abe70b 100644 --- a/controllers/internals/Phone.php +++ b/controllers/internals/Phone.php @@ -60,9 +60,9 @@ namespace controllers\internals; * @param string $adapter : The adapter to use the phone * @param string json $adapter_datas : A JSON string representing adapter's datas (for example credentials for an api) * - * @return bool : false on error, true on success + * @return int|bool : false on error, new id on success */ - public function create(int $id_user, string $name, string $adapter, string $adapter_datas): bool + public function create(int $id_user, string $name, string $adapter, string $adapter_datas) { $phone = [ 'id_user' => $id_user, @@ -71,7 +71,7 @@ namespace controllers\internals; 'adapter_datas' => $adapter_datas, ]; - return (bool) $this->get_model()->insert($phone); + return $this->get_model()->insert($phone); } /** diff --git a/controllers/publics/Api.php b/controllers/publics/Api.php index b93d612..3d7907e 100644 --- a/controllers/publics/Api.php +++ b/controllers/publics/Api.php @@ -35,7 +35,7 @@ namespace controllers\publics; ]; const ERROR_MESSAGES = [ - 'INVALID_CREDENTIALS' => 'Invalid API Key. Please provide a valid API key as GET or POST parameter "api_key".', + 'INVALID_CREDENTIALS' => 'Invalid API Key. Please provide a valid API key as GET or POST parameter "api_key" or a HTTP "X-Api-Key".', 'INVALID_PARAMETER' => 'You have specified an invalid parameter : ', 'MISSING_PARAMETER' => 'One require parameter is missing : ', 'CANNOT_CREATE' => 'Cannot create a new entry.', @@ -51,6 +51,7 @@ namespace controllers\publics; private $internal_contact; private $internal_group; private $internal_conditional_group; + private $internal_adapter; private $user; /** @@ -71,6 +72,7 @@ namespace controllers\publics; $this->internal_contact = new \controllers\internals\Contact($bdd); $this->internal_group = new \controllers\internals\Group($bdd); $this->internal_conditional_group = new \controllers\internals\ConditionalGroup($bdd); + $this->internal_adapter = new \controllers\internals\Adapter(); //If no user, quit with error $this->user = false; @@ -303,4 +305,174 @@ namespace controllers\publics; return $this->json($return); } + + /** + * Create a new phone + * + * @param string $_POST['name'] : Phone name + * @param string $_POST['adapter'] : Phone adapter + * @param array $_POST['adapter_datas'] : Phone adapter datas + * + * @return int : id phone the new phone on success + */ + public function post_phone() + { + $return = self::DEFAULT_RETURN; + + $name = $_POST['name'] ?? false; + $adapter = $_POST['adapter'] ?? false; + $adapter_datas = !empty($_POST['adapter_datas']) ? $_POST['adapter_datas'] : []; + + if (!$name) + { + $return['error'] = self::ERROR_CODES['MISSING_PARAMETER']; + $return['message'] = self::ERROR_MESSAGES['MISSING_PARAMETER'] . ' You must specify phone name.'; + $this->auto_http_code(false); + + return $this->json($return); + } + + if (!$adapter) + { + $return['error'] = self::ERROR_CODES['MISSING_PARAMETER']; + $return['message'] = self::ERROR_MESSAGES['MISSING_PARAMETER'] . ' You must specify adapter name.'; + $this->auto_http_code(false); + + return $this->json($return); + } + + $name_exist = $this->internal_phone->get_by_name($name); + if ($name_exist) + { + $return['error'] = self::ERROR_CODES['INVALID_PARAMETER']; + $return['message'] = self::ERROR_MESSAGES['INVALID_PARAMETER'] . ' This name is already used for another phone.'; + $this->auto_http_code(false); + + return $this->json($return); + } + + $adapters = $this->internal_adapter->list_adapters(); + $find_adapter = false; + foreach ($adapters as $metas) + { + if ($metas['meta_classname'] === $adapter) + { + $find_adapter = $metas; + + break; + } + } + + if (!$find_adapter) + { + $return['error'] = self::ERROR_CODES['INVALID_PARAMETER']; + $return['message'] = self::ERROR_MESSAGES['INVALID_PARAMETER'] . ' adapter. Adapter "' . $adapter . '" does not exists.'; + $this->auto_http_code(false); + + return $this->json($return); + } + + //If missing required data fields, error + foreach ($find_adapter['meta_datas_fields'] as $field) + { + if (false === $field['required']) + { + continue; + } + + if (!empty($adapter_datas[$field['name']])) + { + continue; + } + + $return['error'] = self::ERROR_CODES['MISSING_PARAMETER']; + $return['message'] = self::ERROR_MESSAGES['MISSING_PARAMETER'] . ' You must speicify param ' . $field['name'] . ' (' . $field['description'] . ') for this phone.'; + $this->auto_http_code(false); + + return $this->json($return); + } + + //If field phone number is invalid + foreach ($find_adapter['meta_datas_fields'] as $field) + { + if (false === ($field['number'] ?? false)) + { + continue; + } + + if (!empty($adapter_datas[$field['name']])) + { + $adapter_datas[$field['name']] = \controllers\internals\Tool::parse_phone($adapter_datas[$field['name']]); + + if ($adapter_datas[$field['name']]) + { + continue; + } + } + + $return['error'] = self::ERROR_CODES['INVALID_PARAMETER']; + $return['message'] = self::ERROR_MESSAGES['INVALID_PARAMETER'] . ' field ' . $field['name'] . ' is not a valid phone number.'; + $this->auto_http_code(false); + + return $this->json($return); + } + + $adapter_datas = json_encode($adapter_datas); + + //Check adapter is working correctly with thoses names and datas + $adapter_classname = $find_adapter['meta_classname']; + $adapter_instance = new $adapter_classname($adapter_datas); + $adapter_working = $adapter_instance->test(); + + if (!$adapter_working) + { + $return['error'] = self::ERROR_CODES['CANNOT_CREATE']; + $return['message'] = self::ERROR_MESSAGES['CANNOT_CREATE'] . ' : Impossible to validate this phone, verify adapters parameters.'; + $this->auto_http_code(false); + + return $this->json($return); + } + + $phone_id = $this->internal_phone->create($this->user['id'], $name, $adapter, $adapter_datas); + if ($phone_id === false) + { + $return['error'] = self::ERROR_CODES['CANNOT_CREATE']; + $return['message'] = self::ERROR_MESSAGES['CANNOT_CREATE']; + $this->auto_http_code(false); + + return $this->json($return); + } + + $return['response'] = $phone_id; + $this->auto_http_code(true); + + return $this->json($return); + } + + /** + * Delete a phone. + * + * @param int $id : Id of phond to delete + * + * @return bool : void + */ + public function delete_phone(int $id) + { + $return = self::DEFAULT_RETURN; + $success = $this->internal_phone->delete_for_user($this->user['id'], $id); + + if (!$success) + { + $return['error'] = self::ERROR_CODES['CANNOT_DELETE']; + $return['message'] = self::ERROR_MESSAGES['CANNOT_DELETE']; + $this->auto_http_code(false); + + return $this->json($return); + } + + $return['response'] = true; + $this->auto_http_code(true); + + return $this->json($return); + } } diff --git a/controllers/publics/Phone.php b/controllers/publics/Phone.php index b942062..9429884 100644 --- a/controllers/publics/Phone.php +++ b/controllers/publics/Phone.php @@ -245,10 +245,6 @@ class Phone extends \descartes\Controller } } - var_dump($field); - var_dump($adapter_datas[$field['name']]); - die(); - \FlashMessage\FlashMessage::push('danger', 'Vous avez fourni un numéro de téléphone avec un format invalide.'); return $this->redirect(\descartes\Router::url('Phone', 'add')); diff --git a/routes.php b/routes.php index 08e4fa4..e359e2d 100644 --- a/routes.php +++ b/routes.php @@ -182,6 +182,12 @@ 'delete_scheduled' => [ '/api/scheduled/{id}/', ], + 'post_phone' => [ + '/api/phone/', + ], + 'delete_phone' => [ + '/api/phone/{id}/', + ], ], ); diff --git a/templates/phone/list.php b/templates/phone/list.php index 19cffce..c1f934b 100644 --- a/templates/phone/list.php +++ b/templates/phone/list.php @@ -88,7 +88,7 @@ jQuery(document).ready(function () "columns" : [ {data: 'id', render: jQuery.fn.dataTable.render.text()}, {data: 'name', render: jQuery.fn.dataTable.render.text()}, - {data: 'name', render: jQuery.fn.dataTable.render.text()}, + {data: 'adapter', render: jQuery.fn.dataTable.render.text()}, { data: '_', render: function (data, type, row, meta) { From cc233f726aedc7521b284fe51550d13c2e72c48d Mon Sep 17 00:00:00 2001 From: osaajani <> Date: Thu, 14 Jan 2021 03:32:04 +0100 Subject: [PATCH 2/6] update php-cs-fixer --- tests/php-cs-fixer/php-cs-fixer.phar | Bin 1756192 -> 2020623 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/php-cs-fixer/php-cs-fixer.phar b/tests/php-cs-fixer/php-cs-fixer.phar index 638b2184f99efdf67bce158789b06b070687187d..5f7b5f026b4a06d13cd341afbf2d0efb69d82b1c 100644 GIT binary patch delta 239774 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%0DI@XZ7GZmvB^p#bX0m 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 W?|k+X&;HqlytlmNEn7G2*zmt&78Q8_ delta 86682 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 cH$xwP{l@-oKB>>V Date: Thu, 14 Jan 2021 03:32:17 +0100 Subject: [PATCH 3/6] fix style --- adapters/OctopushShortcodeAdapter.php | 2 ++ adapters/OctopushVirtualNumberAdapter.php | 2 ++ adapters/OvhSmsShortcodeAdapter.php | 2 ++ adapters/OvhSmsVirtualNumberAdapter.php | 2 ++ adapters/TestAdapter.php | 2 ++ adapters/TwilioVirtualNumberAdapter.php | 2 ++ controllers/internals/ConditionalGroup.php | 6 ++-- controllers/internals/Console.php | 19 ++++++++----- controllers/internals/Phone.php | 2 +- controllers/internals/Scheduled.php | 10 +++---- controllers/internals/Tool.php | 21 +++++++++++++- controllers/publics/Api.php | 22 +++++++-------- controllers/publics/Callback.php | 1 + controllers/publics/Command.php | 4 +-- controllers/publics/ConditionalGroup.php | 4 +-- controllers/publics/Contact.php | 10 +++++-- controllers/publics/Discussion.php | 4 +-- controllers/publics/Event.php | 4 +-- controllers/publics/Group.php | 5 ++-- controllers/publics/Phone.php | 2 +- controllers/publics/Received.php | 20 ++++++------- controllers/publics/Scheduled.php | 4 +-- controllers/publics/Sended.php | 3 +- controllers/publics/SmsStop.php | 4 +-- controllers/publics/Templating.php | 3 +- controllers/publics/User.php | 4 +-- controllers/publics/Webhook.php | 4 +-- daemons/AbstractDaemon.php | 2 ++ models/Group.php | 15 +++++----- models/Media.php | 14 ++++----- models/Received.php | 33 +++++++++++----------- models/Sended.php | 16 +++++------ models/StandardModel.php | 4 +-- models/User.php | 2 +- 34 files changed, 147 insertions(+), 107 deletions(-) diff --git a/adapters/OctopushShortcodeAdapter.php b/adapters/OctopushShortcodeAdapter.php index 4147066..24c42e0 100644 --- a/adapters/OctopushShortcodeAdapter.php +++ b/adapters/OctopushShortcodeAdapter.php @@ -355,6 +355,7 @@ class OctopushShortcodeAdapter implements AdapterInterface $status = \models\Sended::STATUS_DELIVERED; break; + case 'NOT_ALLOWED': case 'INVALID_DESTINATION_ADDRESS': case 'OUT_OF_DATE': @@ -363,6 +364,7 @@ class OctopushShortcodeAdapter implements AdapterInterface $status = \models\Sended::STATUS_FAILED; break; + default: $status = \models\Sended::STATUS_UNKNOWN; diff --git a/adapters/OctopushVirtualNumberAdapter.php b/adapters/OctopushVirtualNumberAdapter.php index 8a36d96..f3b1aec 100644 --- a/adapters/OctopushVirtualNumberAdapter.php +++ b/adapters/OctopushVirtualNumberAdapter.php @@ -355,6 +355,7 @@ class OctopushVirtualNumberAdapter implements AdapterInterface $status = \models\Sended::STATUS_DELIVERED; break; + case 'NOT_ALLOWED': case 'INVALID_DESTINATION_ADDRESS': case 'OUT_OF_DATE': @@ -363,6 +364,7 @@ class OctopushVirtualNumberAdapter implements AdapterInterface $status = \models\Sended::STATUS_FAILED; break; + default: $status = \models\Sended::STATUS_UNKNOWN; diff --git a/adapters/OvhSmsShortcodeAdapter.php b/adapters/OvhSmsShortcodeAdapter.php index 10172a6..f23019a 100644 --- a/adapters/OvhSmsShortcodeAdapter.php +++ b/adapters/OvhSmsShortcodeAdapter.php @@ -347,11 +347,13 @@ namespace adapters; $status = \models\Sended::STATUS_DELIVERED; break; + case 2: case 16: $status = \models\Sended::STATUS_FAILED; break; + default: $status = \models\Sended::STATUS_UNKNOWN; diff --git a/adapters/OvhSmsVirtualNumberAdapter.php b/adapters/OvhSmsVirtualNumberAdapter.php index bc2d27d..48df00d 100644 --- a/adapters/OvhSmsVirtualNumberAdapter.php +++ b/adapters/OvhSmsVirtualNumberAdapter.php @@ -346,11 +346,13 @@ namespace adapters; $status = \models\Sended::STATUS_DELIVERED; break; + case 2: case 16: $status = \models\Sended::STATUS_FAILED; break; + default: $status = \models\Sended::STATUS_UNKNOWN; diff --git a/adapters/TestAdapter.php b/adapters/TestAdapter.php index 240ed32..1856a6e 100644 --- a/adapters/TestAdapter.php +++ b/adapters/TestAdapter.php @@ -257,10 +257,12 @@ namespace adapters; $return['status'] = \models\Sended::STATUS_DELIVERED; break; + case \models\Sended::STATUS_FAILED: $return['status'] = \models\Sended::STATUS_FAILED; break; + default: $return['status'] = \models\Sended::STATUS_UNKNOWN; diff --git a/adapters/TwilioVirtualNumberAdapter.php b/adapters/TwilioVirtualNumberAdapter.php index 3faac6a..4120bdc 100644 --- a/adapters/TwilioVirtualNumberAdapter.php +++ b/adapters/TwilioVirtualNumberAdapter.php @@ -325,10 +325,12 @@ class TwilioVirtualNumberAdapter implements AdapterInterface $status = \models\Sended::STATUS_DELIVERED; break; + case 'failed': $status = \models\Sended::STATUS_FAILED; break; + default: $status = \models\Sended::STATUS_UNKNOWN; diff --git a/controllers/internals/ConditionalGroup.php b/controllers/internals/ConditionalGroup.php index 4cba89d..e22707d 100644 --- a/controllers/internals/ConditionalGroup.php +++ b/controllers/internals/ConditionalGroup.php @@ -114,11 +114,11 @@ namespace controllers\internals; { $contact['datas'] = json_decode($contact['datas']); $contact = (object) $contact; - + //Add metas of contact by adding contact without datas $metas = clone $contact; - unset($metas->datas); - unset($metas->id_user); + $metas->datas = null; + $metas->id_user = null; $datas = ['contact' => $contact->datas, 'contact_metas' => $metas]; $is_valid = $ruler->evaluate_condition($condition, $datas); diff --git a/controllers/internals/Console.php b/controllers/internals/Console.php index dcb16d3..86b0cca 100644 --- a/controllers/internals/Console.php +++ b/controllers/internals/Console.php @@ -68,9 +68,10 @@ namespace controllers\internals; } /** - * Check if a user exists based on email + * Check if a user exists based on email. + * + * @param string $email : User email * - * @param string $email : User email * @return exit code 1 on false, 0 else */ public function user_exists(string $email) @@ -79,6 +80,7 @@ namespace controllers\internals; $internal_user = new \controllers\internals\User($bdd); $user = $internal_user->get_by_email($email); + exit($user ? 0 : 1); } @@ -105,18 +107,20 @@ namespace controllers\internals; $api_key = $api_key ?? $internal_user->generate_random_api_key(); $success = $internal_user->update($user['id'], $email, $password, $admin, $api_key, $status, $encrypt_password); echo json_encode(['id' => $user['id']]); + exit($success ? 0 : 1); } $new_user_id = $internal_user->create($email, $password, $admin, $api_key, $status, $encrypt_password); echo json_encode(['id' => $new_user_id]); + exit($new_user_id ? 0 : 1); } /** * Update a user status. * - * @param string $id : User id + * @param string $id : User id * @param string $status : User status, default \models\User::STATUS_ACTIVE */ public function update_user_status(string $id, string $status) @@ -131,14 +135,14 @@ namespace controllers\internals; } $success = $internal_user->update_status($user['id'], $status); + exit($success ? 0 : 1); } - - + /** - * Delete a user + * Delete a user. * - * @param string $id : User id + * @param string $id : User id */ public function delete_user(string $id) { @@ -146,6 +150,7 @@ namespace controllers\internals; $internal_user = new \controllers\internals\User($bdd); $success = $internal_user->delete($id); + exit($success ? 0 : 1); } } diff --git a/controllers/internals/Phone.php b/controllers/internals/Phone.php index 6abe70b..80cc079 100644 --- a/controllers/internals/Phone.php +++ b/controllers/internals/Phone.php @@ -60,7 +60,7 @@ namespace controllers\internals; * @param string $adapter : The adapter to use the phone * @param string json $adapter_datas : A JSON string representing adapter's datas (for example credentials for an api) * - * @return int|bool : false on error, new id on success + * @return bool|int : false on error, new id on success */ public function create(int $id_user, string $name, string $adapter, string $adapter_datas) { diff --git a/controllers/internals/Scheduled.php b/controllers/internals/Scheduled.php index 9c9b596..7f4ac6a 100644 --- a/controllers/internals/Scheduled.php +++ b/controllers/internals/Scheduled.php @@ -244,7 +244,7 @@ namespace controllers\internals; if (!isset($users_phones[$scheduled['id_user']])) { $phones = $internal_phone->gets_for_user($scheduled['id_user']); - $users_phones[$scheduled['id_user']] = $phones ? $phones : []; + $users_phones[$scheduled['id_user']] = $phones ?: []; } $phone_to_use = null; @@ -335,14 +335,12 @@ namespace controllers\internals; if ((int) ($users_settings[$scheduled['id_user']]['templating'] ?? false)) { $contact['datas'] = json_decode($contact['datas'], true); - + //Add metas of contact by adding contact without datas $metas = $contact; - unset($metas['datas']); - unset($metas['id_user']); - - $datas = ['contact' => $contact['datas'], 'contact_metas' => $metas]; + unset($metas['datas'], $metas['id_user']); + $datas = ['contact' => $contact['datas'], 'contact_metas' => $metas]; $render = $internal_templating->render($scheduled['text'], $datas); diff --git a/controllers/internals/Tool.php b/controllers/internals/Tool.php index f1bdb75..ad48153 100644 --- a/controllers/internals/Tool.php +++ b/controllers/internals/Tool.php @@ -97,26 +97,32 @@ namespace controllers\internals; $logo = 'fa-user'; break; + case 'CONTACT_ADD': $logo = 'fa-user'; break; + case 'GROUP_ADD': $logo = 'fa-group'; break; + case 'CONDITIONAL_GROUP_ADD': $logo = 'fa-bullseye'; break; + case 'SCHEDULED_ADD': $logo = 'fa-calendar'; break; + case 'COMMAND_ADD': $logo = 'fa-terminal'; break; + default: $logo = 'fa-question'; } @@ -169,7 +175,8 @@ namespace controllers\internals; if (!isset($_SESSION['connect']) || !$_SESSION['connect']) { header('Location: /'); - die(); + + exit(); } } @@ -217,26 +224,32 @@ namespace controllers\internals; $result['content'] = 'Impossible de télécharger le fichier car il dépasse les ' . ini_get('upload_max_filesize') / (1000 * 1000) . ' Mégaoctets.'; break; + case UPLOAD_ERR_FORM_SIZE: $result['content'] = 'Le fichier dépasse la limite de taille.'; break; + case UPLOAD_ERR_PARTIAL: $result['content'] = 'L\'envoi du fichier a été interrompu.'; break; + case UPLOAD_ERR_NO_FILE: $result['content'] = 'Aucun fichier n\'a été envoyé.'; break; + case UPLOAD_ERR_NO_TMP_DIR: $result['content'] = 'Le serveur ne dispose pas de fichier temporaire permettant l\'envoi de fichiers.'; break; + case UPLOAD_ERR_CANT_WRITE: $result['content'] = 'Impossible d\'envoyer le fichier car il n\'y a plus de place sur le serveur.'; break; + case UPLOAD_ERR_EXTENSION: $result['content'] = 'Le serveur a interrompu l\'envoi du fichier.'; @@ -284,26 +297,32 @@ namespace controllers\internals; $result['content'] = 'Impossible de télécharger le fichier car il dépasse les ' . ini_get('upload_max_filesize') / (1000 * 1000) . ' Mégaoctets.'; break; + case UPLOAD_ERR_FORM_SIZE: $result['content'] = 'Le fichier dépasse la limite de taille.'; break; + case UPLOAD_ERR_PARTIAL: $result['content'] = 'L\'envoi du fichier a été interrompu.'; break; + case UPLOAD_ERR_NO_FILE: $result['content'] = 'Aucun fichier n\'a été envoyé.'; break; + case UPLOAD_ERR_NO_TMP_DIR: $result['content'] = 'Le serveur ne dispose pas de fichier temporaire permettant l\'envoi de fichiers.'; break; + case UPLOAD_ERR_CANT_WRITE: $result['content'] = 'Impossible d\'envoyer le fichier car il n\'y a plus de place sur le serveur.'; break; + case UPLOAD_ERR_EXTENSION: $result['content'] = 'Le serveur a interrompu l\'envoi du fichier.'; diff --git a/controllers/publics/Api.php b/controllers/publics/Api.php index 3d7907e..d97beba 100644 --- a/controllers/publics/Api.php +++ b/controllers/publics/Api.php @@ -307,18 +307,18 @@ namespace controllers\publics; } /** - * Create a new phone - * - * @param string $_POST['name'] : Phone name - * @param string $_POST['adapter'] : Phone adapter - * @param array $_POST['adapter_datas'] : Phone adapter datas + * Create a new phone. + * + * @param string $_POST['name'] : Phone name + * @param string $_POST['adapter'] : Phone adapter + * @param array $_POST['adapter_datas'] : Phone adapter datas * * @return int : id phone the new phone on success */ public function post_phone() { $return = self::DEFAULT_RETURN; - + $name = $_POST['name'] ?? false; $adapter = $_POST['adapter'] ?? false; $adapter_datas = !empty($_POST['adapter_datas']) ? $_POST['adapter_datas'] : []; @@ -331,7 +331,7 @@ namespace controllers\publics; return $this->json($return); } - + if (!$adapter) { $return['error'] = self::ERROR_CODES['MISSING_PARAMETER']; @@ -409,7 +409,7 @@ namespace controllers\publics; continue; } } - + $return['error'] = self::ERROR_CODES['INVALID_PARAMETER']; $return['message'] = self::ERROR_MESSAGES['INVALID_PARAMETER'] . ' field ' . $field['name'] . ' is not a valid phone number.'; $this->auto_http_code(false); @@ -434,7 +434,7 @@ namespace controllers\publics; } $phone_id = $this->internal_phone->create($this->user['id'], $name, $adapter, $adapter_datas); - if ($phone_id === false) + if (false === $phone_id) { $return['error'] = self::ERROR_CODES['CANNOT_CREATE']; $return['message'] = self::ERROR_MESSAGES['CANNOT_CREATE']; @@ -445,10 +445,10 @@ namespace controllers\publics; $return['response'] = $phone_id; $this->auto_http_code(true); - + return $this->json($return); } - + /** * Delete a phone. * diff --git a/controllers/publics/Callback.php b/controllers/publics/Callback.php index 9f5b6ae..a41df9e 100644 --- a/controllers/publics/Callback.php +++ b/controllers/publics/Callback.php @@ -52,6 +52,7 @@ use Monolog\Logger; http_response_code(401); echo json_encode(['error' => 'Invalid API key. You must provide a valid GET or POST api_key param.']); $this->logger->error('Callback call failed with invalid api key : ' . $api_key); + exit(1); } diff --git a/controllers/publics/Command.php b/controllers/publics/Command.php index 7536aa9..27a42e7 100644 --- a/controllers/publics/Command.php +++ b/controllers/publics/Command.php @@ -44,9 +44,9 @@ namespace controllers\publics; { $this->render('command/list'); } - + /** - * Return commands as json + * Return commands as json. */ public function list_json() { diff --git a/controllers/publics/ConditionalGroup.php b/controllers/publics/ConditionalGroup.php index a486a66..4fc0fd5 100644 --- a/controllers/publics/ConditionalGroup.php +++ b/controllers/publics/ConditionalGroup.php @@ -48,9 +48,9 @@ namespace controllers\publics; { $this->render('conditional_group/list'); } - + /** - * Return conditionnals groups as json + * Return conditionnals groups as json. */ public function list_json() { diff --git a/controllers/publics/Contact.php b/controllers/publics/Contact.php index e931750..3e93380 100644 --- a/controllers/publics/Contact.php +++ b/controllers/publics/Contact.php @@ -42,9 +42,9 @@ namespace controllers\publics; { return $this->render('contact/list'); } - + /** - * Return contacts as json + * Return contacts as json. */ public function list_json() { @@ -288,16 +288,19 @@ namespace controllers\publics; //Try to import file $invalid_type = false; + switch ($read_file['mime_type']) { case 'text/csv': $result = $this->internal_contact->import_csv($id_user, $read_file['content']); break; + case 'application/json': $result = $this->internal_contact->import_json($id_user, $read_file['content']); break; + default: $invalid_type = true; } @@ -338,16 +341,19 @@ namespace controllers\publics; //Try to export contacts $invalid_type = false; + switch ($format) { case 'csv': $result = $this->internal_contact->export_csv($id_user); break; + case 'json': $result = $this->internal_contact->export_json($id_user); break; + default: $invalid_type = true; } diff --git a/controllers/publics/Discussion.php b/controllers/publics/Discussion.php index 81e540e..7c7b79a 100644 --- a/controllers/publics/Discussion.php +++ b/controllers/publics/Discussion.php @@ -48,9 +48,9 @@ namespace controllers\publics; { $this->render('discussion/list'); } - + /** - * Return discussions as json + * Return discussions as json. */ public function list_json() { diff --git a/controllers/publics/Event.php b/controllers/publics/Event.php index 84445c6..3d6d9a4 100644 --- a/controllers/publics/Event.php +++ b/controllers/publics/Event.php @@ -44,7 +44,7 @@ namespace controllers\publics; } /** - * Return events as json + * Return events as json. */ public function list_json() { @@ -74,7 +74,7 @@ namespace controllers\publics; return $this->redirect(\descartes\Router::url('Event', 'list')); } - + if (!\controllers\internals\Tool::is_admin()) { \FlashMessage\FlashMessage::push('danger', 'Vous devez être administrateur pour supprimer un event !'); diff --git a/controllers/publics/Group.php b/controllers/publics/Group.php index 95dbf47..97dbc52 100644 --- a/controllers/publics/Group.php +++ b/controllers/publics/Group.php @@ -44,10 +44,9 @@ namespace controllers\publics; { $this->render('group/list'); } - - + /** - * Return groups as json + * Return groups as json. */ public function list_json() { diff --git a/controllers/publics/Phone.php b/controllers/publics/Phone.php index 9429884..9843d4b 100644 --- a/controllers/publics/Phone.php +++ b/controllers/publics/Phone.php @@ -73,7 +73,7 @@ class Phone extends \descartes\Controller } /** - * Return phones as json with additionnals datas about callbacks + * Return phones as json with additionnals datas about callbacks. */ public function list_json() { diff --git a/controllers/publics/Received.php b/controllers/publics/Received.php index 28bd2b4..e5ba67e 100644 --- a/controllers/publics/Received.php +++ b/controllers/publics/Received.php @@ -43,9 +43,9 @@ namespace controllers\publics; { $this->render('received/list', ['is_unread' => false]); } - + /** - * Return received as json + * Return received as json. */ public function list_json() { @@ -66,9 +66,9 @@ namespace controllers\publics; { $this->render('received/list', ['is_unread' => true]); } - + /** - * Return unred received as json + * Return unred received as json. */ public function list_unread_json() { @@ -83,15 +83,15 @@ namespace controllers\publics; } /** - * Mark messages as + * Mark messages as. * - * @param string $status : New status of the message, read or unread + * @param string $status : New status of the message, read or unread * @param array int $_GET['ids'] : Ids of receiveds to delete * @param mixed $csrf * * @return boolean; */ - public function mark_as ($status, $csrf) + public function mark_as($status, $csrf) { if (!$this->verify_csrf($csrf)) { @@ -99,15 +99,15 @@ namespace controllers\publics; return $this->redirect(\descartes\Router::url('Received', 'list')); } - + $ids = $_GET['ids'] ?? []; foreach ($ids as $id) { - if ($status === \models\Received::STATUS_UNREAD) + if (\models\Received::STATUS_UNREAD === $status) { $this->internal_received->mark_as_unread_for_user($_SESSION['user']['id'], $id); } - elseif ($status === \models\Received::STATUS_READ) + elseif (\models\Received::STATUS_READ === $status) { $this->internal_received->mark_as_read_for_user($_SESSION['user']['id'], $id); } diff --git a/controllers/publics/Scheduled.php b/controllers/publics/Scheduled.php index 8755cf6..fba8db9 100644 --- a/controllers/publics/Scheduled.php +++ b/controllers/publics/Scheduled.php @@ -49,9 +49,9 @@ namespace controllers\publics; { $this->render('scheduled/list'); } - + /** - * Return scheduleds as json + * Return scheduleds as json. */ public function list_json() { diff --git a/controllers/publics/Sended.php b/controllers/publics/Sended.php index 58c5913..4fc7822 100644 --- a/controllers/publics/Sended.php +++ b/controllers/publics/Sended.php @@ -46,7 +46,7 @@ namespace controllers\publics; } /** - * Return sendeds as json + * Return sendeds as json. */ public function list_json() { @@ -59,7 +59,6 @@ namespace controllers\publics; header('Content-Type: application/json'); echo json_encode(['data' => $entities]); } - /** * Cette fonction va supprimer une liste de sendeds. diff --git a/controllers/publics/SmsStop.php b/controllers/publics/SmsStop.php index 1dcb102..38dd40a 100644 --- a/controllers/publics/SmsStop.php +++ b/controllers/publics/SmsStop.php @@ -41,9 +41,9 @@ namespace controllers\publics; { $this->render('smsstop/list'); } - + /** - * Return smsstops as json + * Return smsstops as json. */ public function list_json() { diff --git a/controllers/publics/Templating.php b/controllers/publics/Templating.php index 50b475e..c8f78fb 100644 --- a/controllers/publics/Templating.php +++ b/controllers/publics/Templating.php @@ -70,8 +70,7 @@ namespace controllers\publics; //Add metas of contact by adding contact without datas $metas = $contact; - unset($metas['datas']); - unset($metas['id_user']); + unset($metas['datas'], $metas['id_user']); $datas = [ 'contact' => $contact['datas'], diff --git a/controllers/publics/User.php b/controllers/publics/User.php index bd6132c..2b22a6a 100644 --- a/controllers/publics/User.php +++ b/controllers/publics/User.php @@ -44,9 +44,9 @@ class User extends \descartes\Controller { $this->render('user/list'); } - + /** - * Return users as json + * Return users as json. */ public function list_json() { diff --git a/controllers/publics/Webhook.php b/controllers/publics/Webhook.php index 20ad309..836b3ee 100644 --- a/controllers/publics/Webhook.php +++ b/controllers/publics/Webhook.php @@ -38,9 +38,9 @@ namespace controllers\publics; { $this->render('webhook/list'); } - + /** - * Return commands as json + * Return commands as json. */ public function list_json() { diff --git a/daemons/AbstractDaemon.php b/daemons/AbstractDaemon.php index 93e3530..9ff146f 100644 --- a/daemons/AbstractDaemon.php +++ b/daemons/AbstractDaemon.php @@ -125,6 +125,7 @@ abstract class AbstractDaemon if (-1 === $sid) { //Error $this->logger->critical("Cannot make the child process with pid {$pid} independent."); + exit(1); } @@ -138,6 +139,7 @@ abstract class AbstractDaemon if (!$success) { $this->logger->critical('Cannot create PID directory : ' . $this->pid_dir); + exit(2); } } diff --git a/models/Group.php b/models/Group.php index eb47dae..d247b93 100644 --- a/models/Group.php +++ b/models/Group.php @@ -15,9 +15,9 @@ namespace models; { /** * Return a list of groups for a user. - * Add a column nb_contacts + * Add a column nb_contacts. * - * @param int $id_user : user id + * @param int $id_user : user id * @param ?int $limit : Number of entry to return or null * @param ?int $offset : Number of entry to ignore or null * @@ -30,28 +30,29 @@ namespace models; FROM `group` as g LEFT JOIN group_contact as gc ON g.id = gc.id_group - WHERE id_user = :id_user + WHERE id_user = :id_user GROUP BY g.id '; - if ($limit !== null) + if (null !== $limit) { $limit = (int) $limit; $query .= ' LIMIT ' . $limit; - if ($offset !== null) + if (null !== $offset) { $offset = (int) $offset; $query .= ' OFFSET ' . $offset; } } - + $params = [ 'id_user' => $id_user, ]; return $this->_run_query($query, $params); } + /** * Return a group by his name for a user. * @@ -102,7 +103,7 @@ namespace models; public function get_contacts(int $id_group) { $query = ' - SELECT * + SELECT * FROM `contact` WHERE id IN (SELECT id_contact FROM `group_contact` WHERE id_group = :id_group) '; diff --git a/models/Media.php b/models/Media.php index 68ca4df..253ed44 100644 --- a/models/Media.php +++ b/models/Media.php @@ -26,7 +26,7 @@ namespace models; */ public function get_for_user(int $id_user, int $id) { - $query = ' + $query = ' SELECT * FROM `' . $this->get_table_name() . '` WHERE id_scheduled IN (SELECT id FROM scheduled WHERE id_user = :id_user) AND id = :id @@ -51,7 +51,7 @@ namespace models; */ public function gets_for_user(int $id_user) { - $query = ' + $query = ' SELECT * FROM `' . $this->get_table_name() . '` WHERE id_scheduled IN (SELECT id FROM scheduled WHERE id_user = :id_user) '; @@ -73,7 +73,7 @@ namespace models; */ public function get_for_scheduled_and_user(int $id_user, int $id_scheduled) { - $query = ' + $query = ' SELECT * FROM `' . $this->get_table_name() . '` WHERE id_scheduled IN (SELECT id FROM scheduled WHERE id_user = :id_user) AND id_scheduled = :id_scheduled @@ -105,7 +105,7 @@ namespace models; $limit = (int) $limit; $offset = (int) $offset; - $query = ' + $query = ' SELECT * FROM media WHERE id_scheduled IN (SELECT id FROM scheduled WHERE id_user = :id_user) LIMIT ' . $limit . ' OFFSET ' . $offset; @@ -127,7 +127,7 @@ namespace models; */ public function gets_in_for_user(int $id_user, $ids) { - $query = ' + $query = ' SELECT * FROM media WHERE id_scheduled IN (SELECT id FROM scheduled WHERE id_user = :id_user) AND id '; @@ -151,7 +151,7 @@ namespace models; */ public function delete_for_user(int $id_user, int $id) { - $query = ' + $query = ' DELETE FROM media WHERE id = :id AND id_scheduled IN (SELECT id FROM scheduled WHERE id_user = :id_user) @@ -172,7 +172,7 @@ namespace models; */ public function delete_for_scheduled_and_user(int $id_user, int $id_scheduled) { - $query = ' + $query = ' DELETE FROM media WHERE id_scheduled = :id_scheduled AND id_scheduled IN (SELECT id FROM scheduled WHERE id_user = :id_user) diff --git a/models/Received.php b/models/Received.php index aa76325..23a8c05 100644 --- a/models/Received.php +++ b/models/Received.php @@ -18,12 +18,12 @@ namespace models; { const STATUS_UNREAD = 'unread'; const STATUS_READ = 'read'; - + /** * Return a list of received messages for a user. - * Add a column contact_name and phone_name when available + * Add a column contact_name and phone_name when available. * - * @param int $id_user : user id + * @param int $id_user : user id * @param ?int $limit : Number of entry to return or null * @param ?int $offset : Number of entry to ignore or null * @@ -42,31 +42,30 @@ namespace models; WHERE received.id_user = :id_user '; - if ($limit !== null) + if (null !== $limit) { $limit = (int) $limit; $query .= ' LIMIT ' . $limit; - if ($offset !== null) + if (null !== $offset) { $offset = (int) $offset; $query .= ' OFFSET ' . $offset; } } - + $params = [ 'id_user' => $id_user, ]; return $this->_run_query($query, $params); } - - + /** * Return a list of unread received messages for a user. - * Add a column contact_name and phone_name when available + * Add a column contact_name and phone_name when available. * - * @param int $id_user : user id + * @param int $id_user : user id * @param ?int $limit : Number of entry to return or null * @param ?int $offset : Number of entry to ignore or null * @@ -86,18 +85,18 @@ namespace models; AND status = :status '; - if ($limit !== null) + if (null !== $limit) { $limit = (int) $limit; $query .= ' LIMIT ' . $limit; - if ($offset !== null) + if (null !== $offset) { $offset = (int) $offset; $query .= ' OFFSET ' . $offset; } } - + $params = [ 'id_user' => $id_user, 'status' => self::STATUS_UNREAD, @@ -190,7 +189,7 @@ namespace models; */ public function count_by_day_since_for_user(int $id_user, $date) { - $query = " + $query = " SELECT COUNT(id) as nb, DATE_FORMAT(at, '%Y-%m-%d') as at_ymd FROM received WHERE at > :date @@ -215,7 +214,7 @@ namespace models; */ public function get_discussions_for_user(int $id_user) { - $query = ' + $query = ' SELECT discussions.at, discussions.number, contact.name as contact_name FROM ( SELECT at, destination as number FROM sended @@ -246,7 +245,7 @@ namespace models; */ public function get_since_by_date_for_user(int $id_user, $date) { - $query = " + $query = " SELECT * FROM received WHERE at > STR_TO_DATE(:date, '%Y-%m-%d %h:%i:%s') @@ -272,7 +271,7 @@ namespace models; */ public function get_since_by_date_for_origin_and_user(int $id_user, $date, string $origin) { - $query = " + $query = " SELECT * FROM received WHERE at > STR_TO_DATE(:date, '%Y-%m-%d %h:%i:%s') diff --git a/models/Sended.php b/models/Sended.php index 8d5e61d..f0235ba 100644 --- a/models/Sended.php +++ b/models/Sended.php @@ -19,12 +19,12 @@ namespace models; const STATUS_UNKNOWN = 'unknown'; const STATUS_DELIVERED = 'delivered'; const STATUS_FAILED = 'failed'; - + /** * Return a list of sended messages for a user. - * Add a column contact_name and phone_name when available + * Add a column contact_name and phone_name when available. * - * @param int $id_user : user id + * @param int $id_user : user id * @param ?int $limit : Number of entry to return or null * @param ?int $offset : Number of entry to ignore or null * @@ -43,18 +43,18 @@ namespace models; WHERE sended.id_user = :id_user '; - if ($limit !== null) + if (null !== $limit) { $limit = (int) $limit; $query .= ' LIMIT ' . $limit; - if ($offset !== null) + if (null !== $offset) { $offset = (int) $offset; $query .= ' OFFSET ' . $offset; } } - + $params = [ 'id_user' => $id_user, ]; @@ -137,7 +137,7 @@ namespace models; */ public function count_by_day_since_for_user($id_user, $date) { - $query = " + $query = " SELECT COUNT(id) as nb, DATE_FORMAT(at, '%Y-%m-%d') as at_ymd FROM sended WHERE at > :date @@ -163,7 +163,7 @@ namespace models; */ public function get_since_by_date_for_user($date, $id_user) { - $query = " + $query = " SELECT * FROM sended WHERE at > STR_TO_DATE(:date, '%Y-%m-%d %h:%i:%s') diff --git a/models/StandardModel.php b/models/StandardModel.php index 8ae077f..8c3b07c 100644 --- a/models/StandardModel.php +++ b/models/StandardModel.php @@ -93,9 +93,9 @@ namespace models; return []; } - $query = ' + $query = ' SELECT * FROM `' . $this->get_table_name() . '` - WHERE id_user = :id_user + WHERE id_user = :id_user AND id '; $params = []; diff --git a/models/User.php b/models/User.php index ff3c659..1394855 100644 --- a/models/User.php +++ b/models/User.php @@ -67,7 +67,7 @@ namespace models; } /** - * Delete a user + * Delete a user. * * @param int $id : Id de l'utilisateur a supprimer * From ce4f5baaaa24cc17bd1c9503c75feb95f1e50742 Mon Sep 17 00:00:00 2001 From: osaajani <> Date: Thu, 14 Jan 2021 03:52:54 +0100 Subject: [PATCH 4/6] fix expression provider for exists --- controllers/internals/ExpressionProvider.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/controllers/internals/ExpressionProvider.php b/controllers/internals/ExpressionProvider.php index b7cb49b..fa40361 100644 --- a/controllers/internals/ExpressionProvider.php +++ b/controllers/internals/ExpressionProvider.php @@ -27,14 +27,14 @@ class ExpressionProvider implements ExpressionFunctionProviderInterface { return null; }); - + //Exists must be personnalized because it inverse is_null - $exists = new ExpressionFunction('exists', function ($var) + $exists = new ExpressionFunction('exists', function ($str) { - return sprintf('!is_null(%1$s)', $str); + return sprintf('isset(%1$s)', $str); }, function ($arguments, $var) { - return null !== $var; + return isset($var); }); return [ From 4eaeefdcfae342befc3efe5532b45c3a7de3908b Mon Sep 17 00:00:00 2001 From: osaajani <> Date: Thu, 14 Jan 2021 03:57:21 +0100 Subject: [PATCH 5/6] fix alt message for html was not activating html flag --- controllers/internals/Mailer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/controllers/internals/Mailer.php b/controllers/internals/Mailer.php index aed0c8d..052b6ef 100755 --- a/controllers/internals/Mailer.php +++ b/controllers/internals/Mailer.php @@ -52,7 +52,7 @@ class Mailer extends \descartes\Controller * @param array $destinations : Destinations address * @param string $subject : Message subject * @param string $message : Message - * @param ?string $alt_message : Alt Message if no html support. Null if message is not html. + * @param ?string $alt_message : Alt Message for clients with no html support. Use default (null) if mail to send is textonly and not html. * @param array $attachments : List of path to attachment files * * @return bool : false on error, true else @@ -79,7 +79,7 @@ class Mailer extends \descartes\Controller if ($alt_message) { - $mail->isHTML($html); + $mail->isHTML(true); $mail->AltBody = $alt_message; } From e0eed18794f3c00e98206841c15eaba9512fd500 Mon Sep 17 00:00:00 2001 From: osaajani <> Date: Thu, 14 Jan 2021 03:58:28 +0100 Subject: [PATCH 6/6] fix few phpstan alerts --- controllers/internals/Console.php | 2 +- controllers/publics/Sended.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/controllers/internals/Console.php b/controllers/internals/Console.php index 86b0cca..0ce0ac1 100644 --- a/controllers/internals/Console.php +++ b/controllers/internals/Console.php @@ -72,7 +72,7 @@ namespace controllers\internals; * * @param string $email : User email * - * @return exit code 1 on false, 0 else + * @return void : exit code 1 on false, 0 else */ public function user_exists(string $email) { diff --git a/controllers/publics/Sended.php b/controllers/publics/Sended.php index 4fc7822..fa0a67c 100644 --- a/controllers/publics/Sended.php +++ b/controllers/publics/Sended.php @@ -18,6 +18,7 @@ namespace controllers\publics; { private $internal_sended; private $internal_phone; + private $internal_contact; /** * Cette fonction est appelée avant toute les autres :