Re: Problème pour insérer une commande bash dans un script p…

Page principale

Répondre à ce message
Auteur: anne.guilde@free.fr
Date:  
À: guilde
Sujet: Re: Problème pour insérer une commande bash dans un script php
Le 27/12/2019 à 20:19, Dominique Fournier a écrit :
> Bonjour Anne
>
> str_replace ('"', "", $vcf)
> ne suffirait pas ?
>
> Dom
>


Où mettre cette ligne?
Anne


> Le 27/12/2019 à 20:16, anne.guilde@??? a écrit :
>> bonjour,
>>
>> Quand je récupère un fichier vcf à partir de nextcloud j'ai un
>> problème avec les "
>>
>> TEL;TYPE="HOME,VOICE":12345678
>>
>> Le numéro n'est pas récupéré à cause des "
>>
>> La solution trouvée grâce à Marc
>>
>> cat fichier.vcf | tr -d '"' > new_fichier.vcf
>>
>> J'aimerais inclure cette commande dans le php
>>
>> https://github.com/thomascube/vcfconvert
>>
>> les fichiers :
>>
>> -rw-rw-r-- 1 admin shared 26008 26 févr.  2019 Contact_Vcard_Parse.php
>> -rw-rw-r-- 1 admin shared  5617 27 déc.  02:49 index.php
>> -rw-rw-r-- 1 admin shared  7300 27 déc.  02:47 page.html
>> -rw-rw-r-- 1 admin shared  2129 26 févr.  2019 README.md
>> drwxrwsr-x 2 admin shared  4096 11 déc.  23:08 tmp
>> -rw-rw-r-- 1 admin shared  1259 26 févr.  2019 utils.php
>> -rw-rw-r-- 1 admin shared 35687 27 déc.  01:04 vcard_convert.php
>> -rw-rw-r-- 1 admin shared  5487 26 févr.  2019 vcf2csv_logo.jpg
>> -rw-rw-r-- 1 admin shared  3675 26 févr.  2019 vcfconvert.sh
>>
>>
>> # ./vcfconvert.sh help
>> Usage: convert [-hilmpv] [-d delimiter] [-b identifier] [-o
>> output_file] -f format file
>>    -f Target format (ldif,ldap,csv,gmail,libdlusb)
>>    -b LDAP identifier added to dn:
>>    -l Generate just a list of DN objects (only works with -b)
>>    -o Output file (write to stdout by default)
>>    -d CSV col delimiter
>>    -h Include header line in CSV output
>>    -i Convert CSV output to ISO-8859-1 encoding
>>    -m Only convert cards with an e-mail address
>>    -p Only convert cards with phone numbers
>>    -v Verbose output
>>
>> Pas essayé : en ligne de commande.
>>
>> J'ai mis les php sur mon serveur.
>>
>> J'ai modifié index.php et page.html pour inclure les 2 modifications
>> que j'ai fait.
>>
>> index.php
>> ...
>>          $conv = new vcard_convert(array(
>>                  'mailonly' => !empty($_POST['_mailonly']),
>>                  'phoneonly' => !empty($_POST['_phoneonly']),
>>                  'accesscode' => preg_replace('/[^1-9]/', '',
>> $_POST['_accesscode']),
>>                  'mobilephone' => !empty($_POST['_mobilephone']),  <=
>> ajouté
>>                  'nextcloudvcf' => !empty($_POST['_nextcloudvcf']), <=
>> ajouté
>>          ));
>> ...
>>
>> mobilephone C'est pour savoir si le fichier vient du smartphone ou de
>> nextcloud
>> Je m'en sers pour la catégorie des vcard.
>>
>> nextcloudvcf c'est pour modifier les " des vcard quand le vcf vient de
>> nextcloud.
>> Je pense que cela fait double emploi. Je vais certainement l'enlever.
>>
>> page.html
>> ...
>> <td class="cell label">Groupe Mobile  phone:</td>
>> <td class="cell">
>>    <input type="checkbox" name="_mobilephone" id="checkmobilephone"
>> value="1"><label for="checkmobilephone">&nbsp;vCards with mobile phone
>> (group)</label>
>> </td>
>>
>> </tr><tr>
>>
>> <td class="cell label">Nexctcloud VCF:</td>
>> <td class="cell">
>>    <input type="checkbox" name="_nextcloudvcf" id="checknextcloudvcf"
>> value="1"><label for="checknextcloudvcf">&nbsp;vCards with nextcloud
>> vcf</label>
>> </td>
>>
>> </tr><tr>
>> ...
>>
>> C'est la page html qui s'affiche à l'écran.
>>
>>
>> vcard_convert.php
>> ...
>> function normalize()
>>
>> - avant
>>              $vcard->categories = join(',',
>> (array)$card['CATEGORIES'][0]['value'][0]);
>>
>> - après
>>                          if ($this->mobilephone)
>>                          {
>>                                  $vcard->categories = join(',',
>> (array)$card['X-GROUP-MEMBERSHIP'][0]['value'][0]);
>>                          } else
>>                          {
>>                                  $vcard->categories = join(',',
>> (array)$card['CATEGORIES'][0]['value'][0]);
>>                          }
>> ...
>>
>> J'ai ajouté le test pour savoir si le fichier vient du smartphone ou non
>>
>> La catégorie avec le vcard qui vient de nextcloud c'est : CATEGORIES
>> exemple : CATEGORIES:Family
>> La catégorie avec le vcard qui vient du smartphone c'est :
>> X-GROUP-MEMBERSHIP
>> exemple : X-GROUP-MEMBERSHIP:Family
>>
>> Pour cela c'est ok. Cela fonctionne, j'ai trouvé ce qu'il faut modifier.
>> Je pense avoir modifié correctement.
>>
>> -------------------
>>
>> Quand le vcf vient de Nextcloud, pour l'instant je fais cette commande
>> cat fichier.vcf | tr -d '"' > new_fichier.vcf
>> C'est pour enlever les " de, par exemple,
>> TEL;TYPE="HOME,VOICE":12345678 qui vient du vcf de nextcloud.
>> (Merci à Marc)
>>
>> J'aimerais bien inclure cela dans le programme vcfconvert
>>
>> C'est dans le pgm vcard_convert.php
>> ...
>> function normalize()
>>
>>                          // extract phones
>>                          if (is_array($card['TEL']))
>>                                  $this->parse_tel($card['TEL'], $vcard);
>> ...
>>          /**
>>           * Helper method to parse an phone number node
>>           *
>>           * @access private
>>           */
>>          function parse_tel(&$node, &$vcard)
>> ...
>>
>> C'est peut-être dans un autre pgm php que je pourrais inclure la modif.
>>
>> Si quelqu'un a du courage pour jeter avec un ou 2 yeux ...
>>
>> Merci
>> Anne
>>
>