Ejemplo n.º 1
0
function test_Env_ParcelPoint($userData)
{
    $result = default_value();
    $start = microtime_float();
    /* Initialisation */
    $env = new Env_ParcelPoint(array("user" => $userData["login"], "pass" => $userData["password"], "key" => $userData["api_key"]));
    $env->setEnv('test');
    $env->constructList = true;
    $env->getParcelPoint("dropoff_point", "SOGP-C3084");
    $env->getParcelPoint("dropoff_point", "SOGP-C3159");
    $env->getParcelPoint("dropoff_point", "SOGP-C3065");
    $env->getParcelPoint("dropoff_point", "SOGP-C3137");
    $env->getParcelPoint("pickup_point", "SOGP-C3059");
    $env->getParcelPoint("pickup_point", "SOGP-C3210");
    $env->getParcelPoint("pickup_point", "SOGP-C3138");
    /* Reception test */
    if ($env->curlError) {
        $result['reception'] = max($result['reception'], ERROR);
        $result['reception_info'][count($result['reception_info'])] = 'Error while sending the query';
    } else {
        if ($env->respError) {
            $result['reception'] = max($result['reception'], ERROR);
            $result['reception_info'][count($result['reception_info'])] = 'Invalid query : ' . $userData["api_key"];
            foreach ($env->respErrorsList as $message) {
                $result['reception_info'][count($result['reception_info'])] = $message['message'];
            }
        } else {
            $result['reception'] = max($result['reception'], OK);
            $result['reception_info'][count($result['reception_info'])] = 'Reception time : ' . (microtime_float() - $start) . 's';
        }
    }
    /* Additionals test */
    /* Test for the result structure */
    $result['additionals'][0]['name'] = 'Structure';
    $result['additionals'][0]['state'] = OK;
    if (count($env->points) != 2) {
        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING);
        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$points should contains 2 elements, contains ' . count($env->points) . ' instead';
    } else {
        foreach ($env->points as $type => $points) {
            if (count($env->points[$type]) == 0) {
                $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING);
                $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$points["' . $type . '"] array is empty';
            } else {
                foreach ($env->points[$type] as $x => $content) {
                    if (!isset($env->points[$type][$x]['code'])) {
                        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR);
                        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"code" not defined in $points["' . $type . '"][' . $x . '] array';
                    }
                    if (!isset($env->points[$type][$x]['name'])) {
                        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR);
                        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"name" not defined in $points["' . $type . '"][' . $x . '] array';
                    }
                    if (!isset($env->points[$type][$x]['address'])) {
                        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR);
                        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"address" not defined in $points["' . $type . '"][' . $x . '] array';
                    }
                    if (!isset($env->points[$type][$x]['city'])) {
                        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR);
                        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"city" not defined in $points["' . $type . '"][' . $x . '] array';
                    }
                    if (!isset($env->points[$type][$x]['zipcode'])) {
                        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR);
                        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"zipcode" not defined in $points["' . $type . '"][' . $x . '] array';
                    }
                    if (!isset($env->points[$type][$x]['country'])) {
                        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR);
                        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"country" not defined in $points["' . $type . '"][' . $x . '] array';
                    }
                    if (!isset($env->points[$type][$x]['description'])) {
                        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR);
                        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"description" not defined in $points["' . $type . '"][' . $x . '] array';
                    }
                    if (!isset($env->points[$type][$x]['schedule'])) {
                        $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR);
                        $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"days" not defined in $points["' . $type . '"][' . $x . '] array';
                    } else {
                        if (count($env->points[$type][$x]['schedule']) != 7) {
                            $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING);
                            $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"days" should contains 7 days info, but contains ' . count($env->contents[$x]['days']) . ' instead';
                        }
                    }
                    if (isset($env->points[$type][$x]['schedule'])) {
                        foreach ($env->points[$type][$x]['schedule'] as $j => $day) {
                            if (!isset($env->points[$type][$x]['schedule'][$j]['weekday'])) {
                                $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING);
                                $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"weekday" not defined in $points["' . $type . '"][' . $x . ']["days"][' . $j . '] array';
                            }
                            if (!isset($env->points[$type][$x]['schedule'][$j]['open_am'])) {
                                $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING);
                                $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"open_am" not defined in $points["' . $type . '"][' . $x . ']["days"][' . $j . '] array';
                            }
                            if (!isset($env->points[$type][$x]['schedule'][$j]['close_am'])) {
                                $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING);
                                $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"close_am" not defined in $points["' . $type . '"][' . $x . ']["days"][' . $j . '] array';
                            }
                            if (!isset($env->points[$type][$x]['schedule'][$j]['open_pm'])) {
                                $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING);
                                $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"open_pm" not defined in $points["' . $type . '"][' . $x . ']["days"][' . $j . '] array';
                            }
                            if (!isset($env->points[$type][$x]['schedule'][$j]['close_pm'])) {
                                $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING);
                                $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"close_pm" not defined in $points["' . $type . '"][' . $x . ']["days"][' . $j . '] array';
                            }
                        }
                    }
                }
            }
        }
    }
    $result['duration'] = microtime_float() - $start;
    return $result;
}
Ejemplo n.º 2
0
} elseif ($cotCl->respError) {
    echo "La requête n'est pas valide : ";
    foreach ($cotCl->respErrorsList as $m => $message) {
        echo "<br />" . $message['message'];
    }
} else {
    echo "<b>Une erreur pendant l'envoi de la requête </b> : " . $cotCl->curlErrorText;
}
?>

<h3>LISTE POINT RELAIS API (file: get_point_simple_api.php)</h3>
<?php 
// Exemple de traduction pour les codes d'erreur
$codesTranslated = array("http_file_not_found" => "Page n'existe pas", "type_not_correct" => "Please, select the right point type");
// Initialisation de la classe points relais
$pointCl = new Env_ParcelPoint(array("user" => $userData["login"], "pass" => $userData["password"], "key" => $userData["api_key"]));
// Example avec deux points relais, un pour RelaisColis, l'autre pour Sernam; pour ce faire
// on doit mettre $constructList en true
$pointCl->constructList = true;
// Récupération des points relais, un par un
// Chaque point relai est rajouté avec les autres dans $pointCl->points
$typesTrad = array("exp" => "pickup_point", "dest" => "dropoff_point");
/* Dans le cas ou aucune variable get n'est specifiée => valeurs par defaut */
$points = isset($_GET['points']) ? $_GET['points'] : 'SOGP-C3084,SOGP-C3159';
$qui = isset($_GET['qui']) ? $_GET['qui'] : 'dest';
$pointsGet = explode(",", $points);
foreach ($pointsGet as $p => $point) {
    $pointCl->getParcelPoint($typesTrad[$qui], trim($point));
}
foreach ($pointCl->points[$typesTrad[$qui]] as $p => $point) {
    ?>
Ejemplo n.º 3
0
<?php

/*  Ce document a pour but d'exploiter des différentes méthodes de récupération des points de livraisons ou de retraits
 *  Chaque requête doit se faire une par une, et tous les résultat sont stoqués dans une même variable 
 */
ob_start();
header('Content-Type: text/html; charset=utf-8');
error_reporting(E_ERROR | E_WARNING | E_PARSE);
require_once '../utils/header.php';
require_once '../utils/autoload.php';
$parcelPointsStyle = 'style="font-weight:bold;"';
// Exemple de traduction pour les codes d'erreur
$codesTranslated = array("http_file_not_found" => "Page n'existe pas", "type_not_correct" => "Please, select the right point type");
// Initialisation de la classe points relais
$pointCl = new Env_ParcelPoint(array("user" => $userData["login"], "pass" => $userData["password"], "key" => $userData["api_key"]));
// Example avec deux points relais, un pour RelaisColis, l'autre pour Sernam; pour ce faire
// on doit mettre $constructList en true
$pointCl->constructList = true;
// Récupération des points relais, un par un
// Chaque point relai est rajouté avec les autres dans $pointCl->points
$pointCl->getParcelPoint("dropoff_point", "SOGP-C3084");
$pointCl->getParcelPoint("dropoff_point", "SOGP-C3159");
$pointCl->getParcelPoint("dropoff_point", "SOGP-C3065");
$pointCl->getParcelPoint("dropoff_point", "SOGP-C3137");
$pointCl->getParcelPoint("pickup_point", "SOGP-C3059");
$pointCl->getParcelPoint("pickup_point", "SOGP-C3210");
$pointCl->getParcelPoint("pickup_point", "SOGP-C3138");
// Vérificiation si la requête n'a pas provoqué d'erreur; sinon, on affiche les informations
if (!$pointCl->curlError && !$pointCl->respError) {
    // print_r($pointCl->points);
    ?>