adHoc - Lien téléphone dans adHoc

Ma bidouille sans fork avec iframe

J'ai trouvé une solution pour que adHoc n'ajoute pas l'adresse du site avant le lien tel:
Je crée une page html avec le bon code, je la place à la racine et j'appelle cette page en iframe, dans une boîte ou dans une page. Et le lien tel: fonctionne depuis toutes les pages de adHoc, accueil ou intérieur.

Voici le code de la page html
 
73d4ece8cfd54de9999f641db61c6cd9
 

Voici le code de l'iframe pour appeler la page

be7d43e9ce8940c4a1bc3abc0bafca32

 Après, reste plus qu'à donner du style.


Mon fork de adHoc

Après mes modifications de whizzywig.js et de includes/functions.inc, voici mes nouveaux protocoles callto et tel qui fonctionnent dans mon adHoc. (Note pour le test : sur un ordinateur, le lien ouvre une application du type Skype, selon ce que l'on a paramétré. Sur un smartphone, cela lance un appel téléphonique)


Nouveau test callto

Nouveau test tel: clic ici



Ma modification de whizzywig.js


C'est seulement pour créer des boutons pratiques dans l'éditeur quand on crée un lien, cela ajoute les boutons call:to et tel: après  le bouton mailto: Pourquoi les deux ? parce que les webmestres peuvent vouloir choisir l'un ou l'autre. Donc, la ligne 82 de admin/editor/whizzywig.js est modifiée comme suit : (en fait du code est simplement ajouté sur le modèle de mailto, le code existant n'est pas modifié stricto sensu.)


Code modifié dans whizzywig.js


et voilà ce que cela affiche dans l'éditeur


Affichage dans l'éditeur



Ma modification de includes/functions.inc


Jusqu'ici, j'ai seulement facilité l'insertion de liens téléphone dans la page. Pour que adHoc l'interprète correctement, il faut modifier include/functions.inc, toujours sur le modèle de mailto:, pour que adHoc fasse une exception à son insertion automatique de l'url du site pour tous les liens courts qu'il considère en principe comme des url relatives, donc internes au site.


Je vais donc ouvrir ce fichier javascript et chaque fois que je vais rencontrer mailto:, je vais ajouter la même chose pour les protocoles callto: et pour tel: On en trouve 4 occurences, dont la première ligne 96 :


$protocols = array("http", "https", "ftp", "mailto", "callto", "tel");


Après la ligne qui est devenue 117, on ajoute 2 lignes, ainsi :


      if ($comp['scheme'] == 'mailto') $result .= $comp['scheme'].':';
      if ($comp['scheme'] == 'callto') $result .= $comp['scheme'].':';
      if ($comp['scheme'] == 'tel') $result .= $comp['scheme'].':';


puis après la ligne 133, on ajoute 2 lignes


    if ($scheme == 'mailto') $func_encode = $func_rawurlencode;
    if ($scheme == 'callto') $func_encode = $func_rawurlencode;
    if ($scheme == 'tel') $func_encode = $func_rawurlencode;


Sur la ligne qui est devenue 441 dans la fonction ConvPath($text)

$out = preg_replace("/ (src|href)=('|\")(?!(http|mailto|callto|tel|ftp|#|javascript))/", " $1=$2".PATH_LNK, $text);


Téléchargements : whizzywig.js  functions.inc






Index |Info | Permalien | PDF

Technique

Installer

Sécuriser

Référencer

Fabriquer le web

adHoc

Astuces CSS

Mail, Webmail, courrier etc ...

Piwigo

Écolibre