Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion cron/helloasso-woocommerce-cron.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
<?php

// Durée de validité du refresh token : 30 jours en secondes
define('HELLOASSO_REFRESH_TOKEN_LIFETIME', 30 * 24 * 60 * 60); // 2592000 secondes
if (!defined('HELLOASSO_REFRESH_TOKEN_LIFETIME')) {
define('HELLOASSO_REFRESH_TOKEN_LIFETIME', 30 * 24 * 60 * 60); // 2592000 secondes
}

function hello_asso_cron_refresh_token()
{
Expand Down
4 changes: 3 additions & 1 deletion helloasso-api/helloasso-woocommerce-api.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
}

// Durée de validité du refresh token : 30 jours en secondes
define('HELLOASSO_REFRESH_TOKEN_LIFETIME', 30 * 24 * 60 * 60); // 2592000 secondes
if (!defined('HELLOASSO_REFRESH_TOKEN_LIFETIME')) {
define('HELLOASSO_REFRESH_TOKEN_LIFETIME', 30 * 24 * 60 * 60); // 2592000 secondes
}

function helloasso_get_oauth_token($client_id, $client_secret, $api_url)
{
Expand Down
21 changes: 14 additions & 7 deletions inc/Gateway/WC_HelloAsso_Gateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -481,27 +481,29 @@ public function validate_fields()
return false;
}

if (in_array($firstName, array('firstname', 'lastname', 'unknown', 'first_name', 'last_name', 'anonyme', 'user', 'admin', 'name', 'nom', 'prénom', 'test'))) {
$forbiddenNames = array('firstname', 'lastname', 'unknown', 'first_name', 'last_name', 'anonyme', 'user', 'admin', 'name', 'nom', 'prénom', 'test');

if (in_array(mb_strtolower(trim($firstName)), $forbiddenNames, true)) {
wc_add_notice('Le prénom ne peut pas être ' . $firstName, 'error');
return false;
}

if (in_array($lastName, array('firstname', 'lastname', 'unknown', 'first_name', 'last_name', 'anonyme', 'user', 'admin', 'name', 'nom', 'prénom', 'test'))) {
if (in_array(mb_strtolower(trim($lastName)), $forbiddenNames, true)) {
wc_add_notice('Le nom ne peut pas être ' . $lastName, 'error');
return false;
}

if (preg_match('/[^a-zA-ZéèêëáàâäúùûüçÇ\' -]/', $firstName)) {
if (preg_match('/[^a-zA-ZÀ-ÿ\' -]/u', $firstName)) {
wc_add_notice('Le prénom ne doit pas contenir de caractères spéciaux ni de caractères n\'appartenant pas à l\'alphabet latin', 'error');
return false;
}

if (preg_match('/[^a-zA-ZéèêëáàâäúùûüçÇ\' -]/', $lastName)) {
if (preg_match('/[^a-zA-ZÀ-ÿ\' -]/u', $lastName)) {
wc_add_notice('Le nom ne doit pas contenir de caractères spéciaux ni de caractères n\'appartenant pas à l\'alphabet latin', 'error');
return false;
}

if ($firstName === $lastName) {
if (mb_strtolower(trim($firstName)) === mb_strtolower(trim($lastName))) {
wc_add_notice('Le prénom et le nom ne peuvent pas être identiques', 'error');
return false;
}
Expand Down Expand Up @@ -864,8 +866,13 @@ public function process_payment($order_id)
'response_body' => $response_body,
'response_code' => $response_code
));
wc_add_notice('Réponse inattendue de HelloAsso. Veuillez réessayer.', 'error');
return array('result' => 'failure');
$message = 'Réponse inattendue de HelloAsso. Veuillez réessayer.';
if (isset($response_data->errors[0]->message)) {
$message = $response_data->errors[0]->message;
}

wc_add_notice($message, 'error');
return array('result' => 'failure', 'messages' => $message);
}

helloasso_log_info('Paiement traité avec succès', array(
Expand Down
4 changes: 3 additions & 1 deletion wc-api/helloasso-woocommerce-wc-api.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
}

// Durée de validité du refresh token : 30 jours en secondes
define('HELLOASSO_REFRESH_TOKEN_LIFETIME', 30 * 24 * 60 * 60); // 2592000 secondes
if (!defined('HELLOASSO_REFRESH_TOKEN_LIFETIME')) {
define('HELLOASSO_REFRESH_TOKEN_LIFETIME', 30 * 24 * 60 * 60); // 2592000 secondes
}

add_action('woocommerce_api_helloasso', 'helloasso_endpoint');
function helloasso_endpoint()
Expand Down