Fix: Bad url link

This commit is contained in:
Laurent Destailleur 2008-11-14 19:20:24 +00:00
parent 8c870e6185
commit 4ab16dd3a6
2 changed files with 602 additions and 582 deletions

View File

@ -759,7 +759,7 @@ function dolibarr_print_phone($phone,$country="FR",$cid=0,$socid=0,$nolinks=fals
{ {
$newphone='<a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&amp;backtopage=1&amp;actioncode=AC_TEL&amp;contactid='.$cid.'&amp;socid='.$socid.'">'.$newphone.'</a>'; $newphone='<a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&amp;backtopage=1&amp;actioncode=AC_TEL&amp;contactid='.$cid.'&amp;socid='.$socid.'">'.$newphone.'</a>';
} }
$clicktodiallink=dol_phone_link($phone); $clicktodiallink=dol_print_phone_link($phone);
if ($clicktodiallink) if ($clicktodiallink)
{ {
$newphone='<table class="nobordernopadding"><tr><td>'.$newphone.' </td><td>'.$clicktodiallink.'</td></tr></table>'; $newphone='<table class="nobordernopadding"><tr><td>'.$newphone.' </td><td>'.$clicktodiallink.'</td></tr></table>';
@ -783,13 +783,32 @@ function dol_print_size($size)
} }
/**
* \brief Show Url link
* \param url Url to show
* \param target Target for link
* \param max Max number of characters to show
* \return string HTML Link
*/
function dol_print_url($url,$target='_blank',$max=32)
{
$link='<a href="';
if (! eregi('^http',$url)) $link.='http://';
$link.=$url;
if ($target) $link.='" target="'.$target.'">';
if (! eregi('^http',$url)) $link.='http://';
$link.=dolibarr_trunc($url,$max);
$link.='</a>';
return $link;
}
/** /**
* \brief Show click to dial link * \brief Show click to dial link
* \param phone Phone to call * \param phone Phone to call
* \param option Type of picto * \param option Type of picto
* \return string Link * \return string Link
*/ */
function dol_phone_link($phone,$option=0) function dol_print_phone_link($phone,$option=0)
{ {
global $conf,$user; global $conf,$user;
@ -2604,20 +2623,22 @@ function clean_url($url,$http=1)
$domain=$regs[2]; $domain=$regs[2];
$port=$regs[3]; $port=$regs[3];
//print $url." -> ".$proto." - ".$domain." - ".$port; //print $url." -> ".$proto." - ".$domain." - ".$port;
$url = dol_string_nospecial(trim($url)); //$url = dol_string_nospecial(trim($url));
$url = trim($url);
// Si http: defini on supprime le http (Si https on ne supprime pas) // Si http: defini on supprime le http (Si https on ne supprime pas)
$newproto=$proto;
if ($http==0) if ($http==0)
{ {
if (eregi('^http:[\\\/]+',$url)) if (eregi('^http:[\\\/]+',$url))
{ {
$url = eregi_replace('^http:[\\\/]+','',$url); $url = eregi_replace('^http:[\\\/]+','',$url);
$proto = ''; $newproto = '';
} }
} }
// On passe le nom de domaine en minuscule // On passe le nom de domaine en minuscule
$url = eregi_replace('^(https?:[\\\/]+)?'.$domain,$proto.strtolower($domain),$url); $url = eregi_replace('^'.$proto.$domain, $newproto.strtolower($domain), $url);
return $url; return $url;
} }

View File

@ -22,11 +22,11 @@
*/ */
/** /**
\file htdocs/soc.php * \file htdocs/soc.php
\ingroup societe * \ingroup societe
\brief Third party card page * \brief Third party card page
\version $Id$ * \version $Id$
*/ */
require("pre.inc.php"); require("pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
@ -62,7 +62,7 @@ if ($_POST["getsuppliercode"])
} }
if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"]) if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
&& ($_POST["action"] == 'add' || $_POST["action"] == 'update') && $user->rights->societe->creer) && ($_POST["action"] == 'add' || $_POST["action"] == 'update') && $user->rights->societe->creer)
{ {
$error=0; $error=0;
@ -260,8 +260,8 @@ if ($_REQUEST["action"] == 'confirm_delete' && $_REQUEST["confirm"] == 'yes' &&
/* /*
* View * View
*/ */
llxHeader(); llxHeader();
@ -270,7 +270,7 @@ $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("Se
if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] || if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] ||
$_GET["action"] == 'create' || $_POST["action"] == 'create') $_GET["action"] == 'create' || $_POST["action"] == 'create')
{ {
/* /*
* Fiche en mode creation * Fiche en mode creation
@ -1029,8 +1029,7 @@ else
else print '&nbsp;'; else print '&nbsp;';
print '</td>'; print '</td>';
print '<td>'.$langs->trans('Web').'</td><td>'; print '<td>'.$langs->trans('Web').'</td><td>';
if ($soc->url) { print '<a href="http://'.$soc->url.'" target="_blank">http://'.dolibarr_trunc($soc->url,32).'</a>'; } print dol_print_url($soc->url);
else print '&nbsp;';
print '</td></tr>'; print '</td></tr>';
// ProfId1 (SIREN pour France) // ProfId1 (SIREN pour France)