mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-20 16:37:48 +02:00
Ajout du système d'envoie des requêtes Webhook_queries
This commit is contained in:
parent
9f5e143356
commit
3f8f39989e
2 changed files with 59 additions and 0 deletions
|
@ -436,4 +436,38 @@
|
||||||
|
|
||||||
$db->deleteTransfersIn($ids_transfers);
|
$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";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -602,6 +602,31 @@
|
||||||
return $this->runQuery($query, $params);
|
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
|
* Supprime tous les webhooks dont l'id fait partie du tableau fourni
|
||||||
* @param $webhooks_ids : Tableau des id des webhooks à supprimer
|
* @param $webhooks_ids : Tableau des id des webhooks à supprimer
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue