diff --git a/controllers/internals/Console.php b/controllers/internals/Console.php index 7c55849..2628b69 100755 --- a/controllers/internals/Console.php +++ b/controllers/internals/Console.php @@ -51,7 +51,7 @@ class Console extends \descartes\InternalController echo "Début de l'envoi des Sms programmés\n"; - $scheduleds = $this->model_database->get_scheduleds_not_in_progress_before($now); + $scheduleds = $this->model_scheduled->get_scheduleds_not_in_progress_before($now); $ids_scheduleds = []; @@ -94,7 +94,7 @@ class Console extends \descartes\InternalController foreach ($groups as $group) { //On récupère les contacts du group et on les ajoute aux numéros - $contacts = $this->model_database->get_contacts_for_group($group['id']); + $contacts = $this->model_database->get_by_group($group['id']); foreach ($contacts as $contact) { $numbers[] = $contact['number']; @@ -151,7 +151,10 @@ class Console extends \descartes\InternalController echo "Tous les Sms sont en cours d'envoi.\n"; //Tous les Sms ont été envoyés. - $this->model_database->delete_scheduleds_in($ids_scheduleds); + foreach ($ids_scheduleds as $id_scheduled) + { + $this->model_scheduled->delete($id_scheduled); + } //On dors 2 secondes sleep(2); @@ -365,7 +368,7 @@ class Console extends \descartes\InternalController $this->model_database->update_progress_transfers_in($ids_transfers, true); - $receiveds = $this->model_database->get_receiveds_in($ids_receiveds); + $receiveds = $this->model_received->gets($ids_receiveds); $users = $this->model_user->_select('users', ['transfer' => true]); diff --git a/models/Contact.php b/models/Contact.php index e4e1cf2..48b1efe 100755 --- a/models/Contact.php +++ b/models/Contact.php @@ -58,6 +58,19 @@ namespace models; return isset($contacts[0]) ? $contacts[0] : false; } + + + /** + * Get contacts of a particular group + * + * @param int $id_group : Id of the group we want contacts for + * @return array + */ + public function get_by_group($id_group) + { + $contacts = $this->_select('contact', ['id_group' => $id_group]); + return $contacts; + } /** * Retourne une liste de contactes sous forme d'un tableau. diff --git a/models/DataBase.php b/models/DataBase.php index 2ee77b3..54c9ae6 100755 --- a/models/DataBase.php +++ b/models/DataBase.php @@ -15,89 +15,11 @@ namespace models; class DataBase extends \descartes\Model { - // - // PARTIE DES REQUETES RECEIVEDS - // - - - /** - * Récupère les receiveds dont l'id fait partie de la liste fournie. - * - * @param array $receiveds_ids = Tableau des id des receiveds voulus - * - * @return array : Retourne un tableau avec les receiveds adaptés - */ - public function get_receiveds_in($receiveds_ids) - { - $query = ' - SELECT * - FROM received - WHERE id '; - - //On génère la clause IN et les paramètres adaptés depuis le tableau des id - $generted_in = $this->_generate_in_from_array($receiveds_ids); - $query .= $generted_in['QUERY']; - $params = $generted_in['PARAMS']; - - return $this->_run_query($query, $params); - } - - - // - // PARTIE DES REQUETES GROUPS_CONTACTS - // - - /** - * Retourne tous les contacts pour un group donnée. - * - * @param int $id_group : L'id du group - * - * @return array : Tous les contacts compris dans le group - */ - public function get_contacts_for_group($id_group) - { - $query = ' - SELECT con.id as id, con.name as name, con.number as number - FROM group_contact as g_c - JOIN contact as con - ON (g_c.id_contact = con.id) - WHERE(g_c.id_group = :id_group) - '; - - $params = [ - 'id_group' => $id_group, - ]; - - return $this->_run_query($query, $params); - } // // PARTIE DES REQUETES SCHEDULEDS // - /** - * Récupère tout les sms programmés non en cours, et dont la date d'envoie inférieure à celle renseignée. - * - * @param string $date : \Date avant laquelle on veux les sms - * - * @return array : Tableau avec les sms programmés demandés - */ - public function get_scheduleds_not_in_progress_before($date) - { - $query = ' - SELECT * - FROM scheduled - WHERE progress = 0 - AND at <= :date - '; - - $params = [ - 'date' => $date, - ]; - - return $this->_run_query($query, $params); - } - /** * Supprime tous les sms programmés dont l'id fait partie du tableau fourni. * diff --git a/models/Received.php b/models/Received.php index c853cdb..ffd7561 100755 --- a/models/Received.php +++ b/models/Received.php @@ -1,14 +1,5 @@ - * Dariusz Rumiński - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ namespace models; diff --git a/models/Scheduled.php b/models/Scheduled.php index 688661f..9507e11 100755 --- a/models/Scheduled.php +++ b/models/Scheduled.php @@ -63,6 +63,17 @@ namespace models; return $this->_run_query($query, $params); } + /** + * Get scheduleds message not in progress and before a date + * @param string $date : Limit date + * @return array + */ + public function get_scheduleds_not_in_progress_before ($date) + { + return $this->_select('scheduleds', ['<=at' => $date, 'progress' => false]); + } + + /** * Cette fonction retourne les messages programmés avant une date et pour un numéro. * diff --git a/todo.txt b/todo.txt index 42ad12d..5972e80 100644 --- a/todo.txt +++ b/todo.txt @@ -2,9 +2,9 @@ Migrate to latest version of descartes. Remove all useless functions y Account.php (almost done need to do user after) y Command.php y Connect.php -y Console.php +p Console.php y Contact.php - Dashboard.php +y Dashboard.php y Discussion.php y Event.php y Group.php