21if (!defined(
'ALLOWED'))
22 die(
'Appel direct ne sont pas permis');
43}
catch (Exception
$e) {
44 echo
$e->getMessage();
76$msg =
_(
"La recherche par nom et numéro de TVA sont limitées à la Belgique");
78echo \HtmlInput::title_box(
_(
"Recherche PEPPOL Directory"),
'peppol_id_search_div');
81<form method=
"GET" id=
"peppol_id_search_div_frm" onsubmit=
"category_card.display_search_peppol('<?= $ctl_id ?>');return false;">
82 <
p class=
"text-muted">
86 echo \HtmlInput::hidden(
"op",
"search_peppol");
87 echo \HtmlInput::hidden(
"ctl_id",
$ctl_id);
92 ,
"entid" =>
_(
"Numéro entreprise")
93 ,
"peppolid" =>
_(
"Endpoint (PEPPOL ID)")
100 <ul
class=
"aligned-block">
103 echo \HtmlInput::submit(
"search",
_(
"Chercher"));
108 echo \HtmlInput::button_close(
'peppol_id_search_div');
126 $search = http_build_query([
"name" =>
$query,
'countryCode' =>
'BE']);
129 if (stripos(
"x" .
$query,
"BE") == 0)
131 print _(
"Numéro de TVA invalide: doit commencer par BE");
134 $search = http_build_query([
"participant" =>
'iso6523-actorid-upis::9925:' .
$query]);
137 if (strlen(trim(
$query ??
"")) != 10)
139 print _(
"Numéro entreprise belge valide: 10 chiffres");
142 $search = http_build_query([
"participant" =>
'iso6523-actorid-upis::0208:' .
$query]);
145 $search = http_build_query([
"participant" =>
'iso6523-actorid-upis::' .
$query]);
148 throw new \Exception(
"ASP129 unknown filter",129);
151 $curl = curl_init(
"https://directory.peppol.eu/search/1.0/xml?{$search}");
152 curl_setopt(
$curl, CURLOPT_RETURNTRANSFER,
true);
155 if ( curl_errno(
$curl) != 0 ) {
156 $info =
"AJX147 connexion fails";
159 $info = curl_error(
$curl) .
"\n----\n";
160 $info .= var_export(curl_getinfo(
$curl),
true);
162 throw new \Exception($info,147);
166}
catch (\Exception
$e) {
168 echo
p(
_(
"Vérification impossible"));
174file_put_contents(
"/tmp/alchimerys.xml",
$xml->saveXML());
176if (count(
$root) == 0)
178 echo
span(
_(
"Aucun résultat"),
' class="notice" ');
183 printf(
_(
"Résultat %d"),
$root[0]->getAttribute(
"total-result-count"));
194 for (
$e = 0;
$e < $node->childElementCount;
$e++)
196 if ($node->childNodes->item(
$e)->nodeType != XML_ELEMENT_NODE)
200 if ($node->childNodes->item(
$e)->tagName ==
'participantID')
202 $obj->participantID = $node->childNodes->item(
$e)->textContent;
203 }
elseif ($node->childNodes->item(
$e)->tagName ==
'docTypeID')
205 $obj->docTypeID[] = $node->childNodes->item(
$e)->textContent;
206 }
elseif ($node->childNodes->item(
$e)->tagName ==
'entity')
209 $obj->entity->contact=array();
210 $obj->entity->website=array();
211 for (
$f=0;
$f< $node->childNodes->item(
$e)->childElementCount;
$f++)
213 if ( $node->childNodes->item(
$e)->childNodes->item(
$f)->tagName ==
'name')
214 $obj->entity->name=$node->childNodes->item(
$e)->childNodes->item(
$f)->textContent;
215 if ($node->childNodes->item(
$e)->childNodes->item(
$f)->tagName==
'countryCode')
216 $obj->entity->countryCode=$node->childNodes->item(
$e)->childNodes->item(
$f)->textContent;
217 if ($node->childNodes->item(
$e)->childNodes->item(
$f)->tagName==
'regDate')
218 $obj->entity->regDate=$node->childNodes->item(
$e)->childNodes->item(
$f)->textContent;
219 if ($node->childNodes->item(
$e)->childNodes->item(
$f)->tagName==
'additionalInfo')
220 $obj->entity->additionalInfo=$node->childNodes->item(
$e)->childNodes->item(
$f)->textContent;
221 if ($node->childNodes->item(
$e)->childNodes->item(
$f)->tagName==
'additionalInfo')
222 $obj->entity->additionalInfo=$node->childNodes->item(
$e)->childNodes->item(
$f)->textContent;
223 if ($node->childNodes->item(
$e)->childNodes->item(
$f)->tagName==
'website')
224 $obj->entity->website[]=$node->childNodes->item(
$e)->childNodes->item(
$f)->textContent;
225 if ($node->childNodes->item(
$e)->childNodes->item(
$f)->tagName==
'contact')
227 $a[
'type']=$node->childNodes->item(
$e)->childNodes->item(
$f)->getAttribute(
"type");
228 $a[
'name']=$node->childNodes->item(
$e)->childNodes->item(
$f)->getAttribute(
"name");
229 $a[
'phone']=$node->childNodes->item(
$e)->childNodes->item(
$f)->getAttribute(
"phone");
230 $a[
'email']=$node->childNodes->item(
$e)->childNodes->item(
$f)->getAttribute(
"email");
232 $obj->entity->contact[]=
$a;
243 echo
span(
_(
"Aucun résultat"),
' class="notice" ');
257 $nb_website=count (
$result[
$i]->entity->website);
259 (
$result[
$i]->entity->website !=
"") ? :
"";
261<div
style=
"display:flex;align-content: space-evenly">
262<div
style=
"width:20rem;">
263 <a href=
"javascript:void(0)" onclick=
"$('<?=$ctl?>').value='<?=$result[$i]->participantID?>';removeDiv('peppol_id_search_div')">
274 <div
style=
"display:flex;align-content: space-evenly;gap:1rem">
275 <div
style=
"display:flex;flex-direction:column">
277 <?php
if ( $nb_website != 0)
279 for (
$x=0;
$x < $nb_website;
$x++ ) {
280 $str_url.=sprintf(
'<div><a href="%s" target="_blank" class="line">%s</a></div>',
$result[
$i]->entity->website[
$x],
$result[
$i]->entity->website[
$x]);
286<div
style=
"display:flex;flex-direction:column">
289 $nb_contact=count(
$result[
$i]->entity->contact);
290 for ($h=0;$h< $nb_contact;$h++) {
294 <?=
$result[
$i]->entity->contact[$h][
'type']?>
295 <?=
$result[
$i]->entity->contact[$h][
'name']?>
296 <?=
$result[
$i]->entity->contact[$h][
'phone']?>
mailTo($p_email)
compose a HTML string with email
span($p_string, $p_extra='')
p($p_string, $p_extra='')
record_log($p_message)
Record an error message into the log file of the server or in the log folder of NOALYSS Record also t...
for( $i=0;$i< $nb_match;$i++) if(empty($result)) $nb_result
if(trim($query)==''|| $filter=='') $search
_("actif, passif,charge,...")
Html Input , create a tag <SELECT> ... </SELECT> if readonly == true then display the label correspon...
Found PEPPOL Elements, inner class.
if( $delta< 0) elseif( $delta==0)