f->disableLog(); // ajoute une tâche en fonction des données reçues // vérifie que la clé 'task' existe if(!isset($request_data['task'])){ $this->setMessage(__( "Le paramètre 'task' n'est pas présent dans les données, ". "mais est obligatoire")); return $this->BAD_DATA; } // prépartion et vérification des données reçues $return_code = $this->OK; $params = array(); foreach(array('type', 'json_payload', 'stream', 'category', ) as $key) { // if ($key === 'category') { if (isset($request_data['task'][$key]) === true) { $params['val'][$key] = $request_data['task'][$key]; } else { $params['val'][$key] = PLATAU; } break; } // si le paramètre requis n'est pas présent if (!isset($request_data['task'][$key])) { $this->setMessage(__( "Le paramètre '$key' n'est pas présent dans les données, ". "mais est obligatoire")); $return_code = $this->BAD_DATA; break; } // s'il est vide elseif (empty($request_data['task'][$key])) { $this->setMessage(__("Le paramètre '$key' ne peut être vide")); $return_code = $this->BAD_DATA; break; } // vérifie le type elseif(!is_string($request_data['task'][$key])) { $this->setMessage(__( "Le paramètre '$key' doit être de type string ". "(et non '".gettype($request_data['task'][$key])."')")); $return_code = $this->BAD_DATA; break; } else { // ajoute l'éléments aux données de la future tâche $params['val'][$key] = $request_data['task'][$key]; } } // instanciation et ajout de la tâche if ($return_code === $this->OK) { $tache = new task(null); $result = $tache->add_task($params); if ($result === false) { $return_code = $this->BAD_DATA; $this->setMessage($this->filtreBalisesHtml($tache->msg)); } else { $this->setMessage(sprintf( __("Tâche '%s' ajoutée avec succès"), $tache->getVal($tache->clePrimaire))); } } return $return_code; } }