Ajout du système d'envoie des requêtes Webhook_queries

This commit is contained in:
OsaAjani 2016-01-21 14:05:38 +01:00
parent 9f5e143356
commit 3f8f39989e
2 changed files with 59 additions and 0 deletions

View File

@ -436,4 +436,38 @@
$db->deleteTransfersIn($ids_transfers);
}
/**
* Cette fonction permet d'envoyer toutes les requêtes des Webhook_queries
*/
public function sendWebhookQueries ()
{
global $db;
$webhookQueries = $db->getFromTableWhere('webhook_queries', ['progress' => false]);
$webhookQueriesIds = [];
foreach ($webhookQueries as $webhookQuerie)
{
$webhookQueriesIds[] = $webhookQuerie['id'];
}
$db->updateProgressWebhookQueries($webhookQueriesIds, true);
foreach ($webhookQueries as $webhookQuerie)
{
//On remap les datas
$datas = json_decode($webhookQuerie['datas'], true);
$datas = http_build_query($datas);
//On fait la requete
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $webhookQuerie['url']);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $datas);
curl_exec($curl);
curl_close($curl); //On ferme CURL
echo "Query do to " . $webhookQuerie['url'] . " with datas " . $datas . "\n";
}
}
}

View File

@ -602,6 +602,31 @@
return $this->runQuery($query, $params);
}
/***************************************/
/* PARTIE DES REQUETES WEBHOOK_QUERIES */
/***************************************/
/**
* Change le statut des webhook_queries dont l'id est fourni dans $webhookQueriesId
* @param array $webhookQueriesId = Tableau des id des webhook_queries voulus
* @return int : Retourne le nombre de lignes mises à jour
*/
public function updateWebhookQueriesIn($webhookQueriesId, $progress)
{
$query = "
UPDATE webhook_queries
SET progress = :progress
WHERE id ";
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
$generted_in = $this->generateInFromArray($webhookQueriesId);
$query .= $generted_in['QUERY'];
$params = $generted_in['PARAMS'];
$params['progress'] = (boolean)$progress;
return $this->runQuery($query, $params, self::ROWCOUNT);
}
/**
* Supprime tous les webhooks dont l'id fait partie du tableau fourni
* @param $webhooks_ids : Tableau des id des webhooks à supprimer