diff --git a/VERSION b/VERSION index e5e2ba2..ed530b3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.1.7 +v3.1.5 diff --git a/adapters/OctopushVirtualNumberAdapter.php b/adapters/OctopushVirtualNumberAdapter.php index 1715937..33473f9 100644 --- a/adapters/OctopushVirtualNumberAdapter.php +++ b/adapters/OctopushVirtualNumberAdapter.php @@ -44,11 +44,6 @@ class OctopushVirtualNumberAdapter implements AdapterInterface */ private $api_url = 'https://api.octopush.com/v1/public'; - /** - * Octopush phone number - */ - private $number; - /** * Adapter constructor, called when instanciated by RaspiSMS. diff --git a/controllers/internals/Received.php b/controllers/internals/Received.php index b9b6cfc..60aefba 100644 --- a/controllers/internals/Received.php +++ b/controllers/internals/Received.php @@ -68,14 +68,6 @@ namespace controllers\internals; return false; } - //Check if the received message is a SMS STOP and we must register it - $internal_smsstop = new SmsStop($this->bdd); - $is_stop = $internal_smsstop->check_for_stop($received['text']); - if ($is_stop) - { - $internal_smsstop->create($id_user, $origin); - } - //Link medias $internal_media = new Media($this->bdd); foreach ($media_ids as $media_id) diff --git a/controllers/internals/Scheduled.php b/controllers/internals/Scheduled.php index 9282aed..1a0c75c 100644 --- a/controllers/internals/Scheduled.php +++ b/controllers/internals/Scheduled.php @@ -285,9 +285,7 @@ namespace controllers\internals; $internal_group = new \controllers\internals\Group($this->bdd); $internal_conditional_group = new \controllers\internals\ConditionalGroup($this->bdd); $internal_phone = new \controllers\internals\Phone($this->bdd); - $internal_smsstop = new \controllers\internals\SmsStop($this->bdd); - $users_smsstops = []; $users_settings = []; $users_phones = []; $users_mms_phones = []; @@ -308,17 +306,6 @@ namespace controllers\internals; } } - if (!isset($users_smsstops[$scheduled['id_user']]) && $users_settings[$scheduled['id_user']]['smsstop']) - { - $users_smsstops[$scheduled['id_user']] = []; - - $smsstops = $internal_smsstop->gets_for_user($scheduled['id_user']); - foreach ($smsstops as $smsstop) - { - $users_smsstops[$scheduled['id_user']][] = $smsstop['number']; - } - } - if (!isset($users_phones[$scheduled['id_user']])) { $phones = $internal_phone->gets_for_user($scheduled['id_user']); @@ -480,12 +467,6 @@ namespace controllers\internals; continue; } - //Remove messages to smsstops numbers - if (in_array($message['destination'], $users_smsstops[$scheduled['id_user']])) - { - continue; - } - $smss_to_send[] = $message; } } diff --git a/controllers/internals/SmsStop.php b/controllers/internals/SmsStop.php index 1cfc649..6ea87ae 100644 --- a/controllers/internals/SmsStop.php +++ b/controllers/internals/SmsStop.php @@ -73,15 +73,4 @@ namespace controllers\internals; return $this->model; } - - /** - * Parse a string to check if its a SMS stop - * - * @param string $str : The string to check - * @return bool : true if sms stop, false else - */ - public function check_for_stop (string $str) - { - return trim(mb_strtolower($str)) == 'stop'; - } } diff --git a/controllers/publics/Account.php b/controllers/publics/Account.php index bcd4327..84e8d55 100644 --- a/controllers/publics/Account.php +++ b/controllers/publics/Account.php @@ -204,25 +204,4 @@ namespace controllers\publics; return $this->redirect(\descartes\Router::url('Connect', 'login')); } - - /** - * Allow to stop impersonating a user - * @param mixed $csrf - */ - public function stop_impersonate() - { - $old_session = $_SESSION['old_session'] ?? false; - if (!$old_session) - { - \FlashMessage\FlashMessage::push('danger', 'Impossible de récupérer l\'identité originale, vous avez été deconnecté à la place.'); - - return $this->redirect(\descartes\Router::url('Connect', 'logout')); - } - - $user_email = $_SESSION['user']['email']; - $_SESSION = $old_session; - - \FlashMessage\FlashMessage::push('success', 'Vous n\'incarnez plus l\'utilisateur ' . $user_email . '.'); - return $this->redirect(\descartes\Router::url('Dashboard', 'show')); - } } diff --git a/controllers/publics/Connect.php b/controllers/publics/Connect.php index 8c5faf2..d254b97 100644 --- a/controllers/publics/Connect.php +++ b/controllers/publics/Connect.php @@ -164,5 +164,4 @@ namespace controllers\publics; return $this->redirect(\descartes\Router::url('Connect', 'login')); } - } diff --git a/controllers/publics/Sended.php b/controllers/publics/Sended.php index 4079f19..8227e38 100644 --- a/controllers/publics/Sended.php +++ b/controllers/publics/Sended.php @@ -53,7 +53,7 @@ namespace controllers\publics; */ public function list_json() { - $entities = $this->internal_sended->list_for_user($_SESSION['user']['id'], 10000); + $entities = $this->internal_sended->list_for_user($_SESSION['user']['id']); foreach ($entities as &$entity) { $entity['destination_formatted'] = \controllers\internals\Tool::phone_link($entity['destination']); diff --git a/controllers/publics/User.php b/controllers/publics/User.php index 0581548..ab4df63 100644 --- a/controllers/publics/User.php +++ b/controllers/publics/User.php @@ -18,7 +18,6 @@ class User extends \descartes\Controller { private $internal_user; private $internal_quota; - private $internal_setting; /** * Cette fonction est appelée avant toute les autres : @@ -31,7 +30,6 @@ class User extends \descartes\Controller $bdd = \descartes\Model::_connect(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD); $this->internal_user = new \controllers\internals\User($bdd); $this->internal_quota = new \controllers\internals\Quota($bdd); - $this->internal_setting = new \controllers\internals\Setting($bdd); \controllers\internals\Tool::verifyconnect(); @@ -409,68 +407,4 @@ class User extends \descartes\Controller return $this->redirect(\descartes\Router::url('User', 'list')); } - - - /** - * Allow an admin to impersonate a user - * @param mixed $csrf - * @param array int $_GET['user_ids'] : Ids of users to impersonate, the array should actually contain one id only, we keep use of array for simpler compatibility in UI - */ - public function impersonate ($csrf) - { - if (!$this->verify_csrf($csrf)) - { - \FlashMessage\FlashMessage::push('danger', 'Jeton CSRF invalid !'); - - return $this->redirect(\descartes\Router::url('User', 'list')); - } - - if (count($_GET['user_ids']) != 1) - { - \FlashMessage\FlashMessage::push('danger', 'Vous devez séléctionner un et un seul utilisateur à incarner !'); - - return $this->redirect(\descartes\Router::url('User', 'list')); - } - - $id_user = (int) $_GET['user_ids'][0]; - - //Check if this user exists - $user = $this->internal_user->get($id_user); - if (!$user) - { - \FlashMessage\FlashMessage::push('danger', 'Cet utilisateur n\'existe pas !'); - - return $this->redirect(\descartes\Router::url('User', 'list')); - } - - $settings = $this->internal_setting->gets_for_user($id_user); - if (!$settings) - { - \FlashMessage\FlashMessage::push('danger', 'Impossible de charger les settings de cet utilisateur !'); - - return $this->redirect(\descartes\Router::url('User', 'list')); - } - - if (\models\User::STATUS_ACTIVE !== $user['status']) - { - \FlashMessage\FlashMessage::push('danger', 'Impossible d\'incarner cet utilisateur car il est actuellement suspendu'); - - return $this->redirect(\descartes\Router::url('User', 'list')); - } - - $user['settings'] = $settings; - - //Save old session to get it back later - $old_session = $_SESSION; - $_SESSION = [ - 'old_session' => $old_session, - 'impersonate' => true, - 'connect' => true, - 'user' => $user, - ]; - - \FlashMessage\FlashMessage::push('success', 'Vous incarnez désormais l\'utilisateur ' . $user['email'] . '.'); - return $this->redirect(\descartes\Router::url('Dashboard', 'show')); - } - } diff --git a/routes.php b/routes.php index 5ddf90b..a0fab1f 100644 --- a/routes.php +++ b/routes.php @@ -21,7 +21,6 @@ 'update_api_key' => '/account/update_api_key/{csrf}/', 'delete' => '/account/delete/{csrf}/', 'logout' => '/logout/', - 'stop_impersonate' => '/stop_impersonate/{csrf}/', ], 'Command' => [ @@ -149,7 +148,6 @@ 'edit' => '/user/edit/', 'update' => '/user/update/{csrf}/', 'update_status' => '/user/delete/{status}/{csrf}/', - 'impersonate' => '/user/impersonate/{csrf}/', ], 'Phone' => [ diff --git a/templates/incs/nav.php b/templates/incs/nav.php index 91e2340..a40d176 100644 --- a/templates/incs/nav.php +++ b/templates/incs/nav.php @@ -21,13 +21,7 @@