2
0
forked from Wavyzz/dolibarr

Fix: useing "preg_quote" is more simpler

This commit is contained in:
Regis Houssin
2009-10-23 15:26:45 +00:00
parent b980adc4ee
commit 81464c0cf5
10 changed files with 19 additions and 30 deletions

View File

@@ -120,8 +120,7 @@ print "<br>";
// Show message // Show message
$message=''; $message='';
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',$dolibarr_main_url_root);
$urlwithouturlroot=preg_replace('/'.$pattern.'$/i','',$dolibarr_main_url_root);
$urlvcal='<a href="'.DOL_URL_ROOT.'/comm/action/agendaexport.php?format=vcal&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY):'...').'" target="_blank">'.$urlwithouturlroot.DOL_URL_ROOT.'/comm/action/agendaexport.php?format=vcal&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY):'KEYNOTDEFINED').'</a>'; $urlvcal='<a href="'.DOL_URL_ROOT.'/comm/action/agendaexport.php?format=vcal&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY):'...').'" target="_blank">'.$urlwithouturlroot.DOL_URL_ROOT.'/comm/action/agendaexport.php?format=vcal&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY):'KEYNOTDEFINED').'</a>';
$message.=$langs->trans("WebCalUrlForVCalExport",'vcal',$urlvcal); $message.=$langs->trans("WebCalUrlForVCalExport",'vcal',$urlvcal);
$message.='<br>'; $message.='<br>';

View File

@@ -160,9 +160,7 @@ print '<br><br>';
print '<u>'.$langs->trans("FollowingUrlAreAvailableToMakePayments").':</u><br>'; print '<u>'.$langs->trans("FollowingUrlAreAvailableToMakePayments").':</u><br>';
// Should work with DOL_URL_ROOT='' or DOL_URL_ROOT='/dolibarr' // Should work with DOL_URL_ROOT='' or DOL_URL_ROOT='/dolibarr'
$firstpart=$dolibarr_main_url_root; $firstpart=$dolibarr_main_url_root;
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $firstpart=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',$firstpart);
$regex='/'.$pattern.'$/i';
$firstpart=preg_replace($regex,'',$firstpart);
print '<br>'; print '<br>';
print img_picto('','puce.png').' '.$langs->trans("ToOfferALinkForOnlinePaymentOnFreeAmount",$servicename).':<br>'; print img_picto('','puce.png').' '.$langs->trans("ToOfferALinkForOnlinePaymentOnFreeAmount",$servicename).':<br>';
print '<b>'.$firstpart.DOL_URL_ROOT.'/public/paybox/newpayment.php?amount=<i>9.99</i>&tag=<i>your_free_tag</i></b>'."<br>\n"; print '<b>'.$firstpart.DOL_URL_ROOT.'/public/paybox/newpayment.php?amount=<i>9.99</i>&tag=<i>your_free_tag</i></b>'."<br>\n";

View File

@@ -313,8 +313,7 @@ print "<br>";
// Show message // Show message
$message=''; $message='';
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',$dolibarr_main_url_root);
$urlwithouturlroot=preg_replace('/'.$pattern.'$/i','',$dolibarr_main_url_root);
$urlvcal='<a href="'.DOL_URL_ROOT.'/webcal/webcalexport.php?format=vcal&exportkey='.$conf->global->PHPWEBCALENDAR_PASSWORD_VCALEXPORT.'" target="_blank">'.$urlwithouturlroot.DOL_URL_ROOT.'/webcal/webcalexport.php?format=vcal&exportkey='.$conf->global->PHPWEBCALENDAR_PASSWORD_VCALEXPORT.'</a>'; $urlvcal='<a href="'.DOL_URL_ROOT.'/webcal/webcalexport.php?format=vcal&exportkey='.$conf->global->PHPWEBCALENDAR_PASSWORD_VCALEXPORT.'" target="_blank">'.$urlwithouturlroot.DOL_URL_ROOT.'/webcal/webcalexport.php?format=vcal&exportkey='.$conf->global->PHPWEBCALENDAR_PASSWORD_VCALEXPORT.'</a>';
$message.=$langs->trans("WebCalUrlForVCalExport",'vcal',$urlvcal); $message.=$langs->trans("WebCalUrlForVCalExport",'vcal',$urlvcal);
$message.='<br>'; $message.='<br>';

View File

@@ -92,9 +92,7 @@ print '<br><br>';
// Should work with DOL_URL_ROOT='' or DOL_URL_ROOT='/dolibarr' // Should work with DOL_URL_ROOT='' or DOL_URL_ROOT='/dolibarr'
$firstpart=$dolibarr_main_url_root; $firstpart=$dolibarr_main_url_root;
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $firstpart=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',$firstpart);
$regex='/'.$pattern.'$/i';
$firstpart=preg_replace($regex,'',$firstpart);
print '<u>'.$langs->trans("WSDLCanBeDownloadedHere").':</u><br>'; print '<u>'.$langs->trans("WSDLCanBeDownloadedHere").':</u><br>';
$url=$firstpart.DOL_URL_ROOT.'/webservices/server.php?wsdl'; $url=$firstpart.DOL_URL_ROOT.'/webservices/server.php?wsdl';

View File

@@ -1091,8 +1091,7 @@ class Categorie
{ {
$dir = dirname($file).'/'; // Chemin du dossier contenant l'image d'origine $dir = dirname($file).'/'; // Chemin du dossier contenant l'image d'origine
$dirthumb = $dir.'/thumbs/'; // Chemin du dossier contenant la vignette $dirthumb = $dir.'/thumbs/'; // Chemin du dossier contenant la vignette
$dir = str_replace('/','\/',$dir); // Add backslashes for regular expression $filename = preg_replace('/'.preg_quote($dir,'/').'/i','',$file); // Nom du fichier
$filename = preg_replace('/'.$dir.'/i','',$file); // Nom du fichier
// On efface l'image d'origine // On efface l'image d'origine
dol_delete_file($file,1); dol_delete_file($file,1);

View File

@@ -292,8 +292,8 @@ class MenuTop {
if (! empty($conf->telephonie->enabled) && $user->rights->telephonie->lire) if (! empty($conf->telephonie->enabled) && $user->rights->telephonie->lire)
{ {
$class=""; $class="";
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $path = DOL_URL_ROOT.'/telephonie/';
if (preg_match("/^".$pattern."\/telephonie\//",$_SERVER["PHP_SELF"])) if (preg_match("/^".preg_quote($path,'/')."/i",$_SERVER["PHP_SELF"]))
{ {
$class='class="tmenusel"'; $_SESSION['idmenu']=''; $class='class="tmenusel"'; $_SESSION['idmenu']='';
} }
@@ -313,8 +313,8 @@ class MenuTop {
{ {
$langs->load("energy"); $langs->load("energy");
$class=""; $class="";
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $path = DOL_URL_ROOT.'/energie/';
if (preg_match("/^".$pattern."\/energie\//",$_SERVER["PHP_SELF"])) if (preg_match('/^'.preg_quote($path,'/').'/i',$_SERVER["PHP_SELF"]))
{ {
$class='class="tmenusel"'; $_SESSION['idmenu']=''; $class='class="tmenusel"'; $_SESSION['idmenu']='';
} }

View File

@@ -292,8 +292,8 @@ class MenuTop {
if (! empty($conf->telephonie->enabled) && $user->rights->telephonie->lire) if (! empty($conf->telephonie->enabled) && $user->rights->telephonie->lire)
{ {
$class=""; $class="";
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $path = DOL_URL_ROOT.'/telephonie/';
if (preg_match("/^".$pattern."\/telephonie\//",$_SERVER["PHP_SELF"])) if (preg_match('/^'.preg_quote($path,'/').'/i',$_SERVER["PHP_SELF"]))
{ {
$class='class="tmenusel"'; $_SESSION['idmenu']=''; $class='class="tmenusel"'; $_SESSION['idmenu']='';
} }
@@ -313,8 +313,8 @@ class MenuTop {
{ {
$langs->load("energy"); $langs->load("energy");
$class=""; $class="";
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $path = DOL_URL_ROOT.'/energie/';
if (preg_match("/^".$pattern."\/energie\//",$_SERVER["PHP_SELF"])) if (preg_match('/^'.preg_quote($path,'/').'/i',$_SERVER["PHP_SELF"]))
{ {
$class='class="tmenusel"'; $_SESSION['idmenu']=''; $class='class="tmenusel"'; $_SESSION['idmenu']='';
} }

View File

@@ -249,8 +249,8 @@ class MenuTop {
if ($conf->telephonie->enabled && $user->rights->telephonie->lire) if ($conf->telephonie->enabled && $user->rights->telephonie->lire)
{ {
$class=""; $class="";
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $path = DOL_URL_ROOT.'/telephonie/';
if (preg_match("/^".$pattern."\/telephonie\//",$_SERVER["PHP_SELF"])) if (preg_match('/^'.preg_quote($path,'/').'/i',$_SERVER["PHP_SELF"]))
{ {
$class='class="tmenusel"'; $_SESSION['idmenu']=''; $class='class="tmenusel"'; $_SESSION['idmenu']='';
} }
@@ -268,8 +268,8 @@ class MenuTop {
{ {
$langs->load("energy"); $langs->load("energy");
$class=""; $class="";
$pattern = str_replace('/','\/',DOL_URL_ROOT); // Add backslashes for regular expression $path = DOL_URL_ROOT.'/energie/';
if (preg_match("/^".$pattern."\/energie\//",$_SERVER["PHP_SELF"])) if (preg_match('/^'.preg_quote($path,'/').'/i',$_SERVER["PHP_SELF"]))
{ {
$class='class="tmenusel"'; $_SESSION['idmenu']=''; $class='class="tmenusel"'; $_SESSION['idmenu']='';
} }

View File

@@ -301,11 +301,8 @@ function clean_url($url,$http=1)
} }
} }
// Add backslashes for regular expression
$proto = str_replace('/','\/',$proto);
// On passe le nom de domaine en minuscule // On passe le nom de domaine en minuscule
$CleanUrl = preg_replace('/^'.$proto.$domain.'/i', $newproto.strtolower($domain), $url); $CleanUrl = preg_replace('/^'.preg_quote($proto.$domain,'/').'/i', $newproto.strtolower($domain), $url);
return $CleanUrl; return $CleanUrl;
} }

View File

@@ -2546,8 +2546,7 @@ class Product extends CommonObject
{ {
$dir = dirname($file).'/'; // Chemin du dossier contenant l'image d'origine $dir = dirname($file).'/'; // Chemin du dossier contenant l'image d'origine
$dirthumb = $dir.'/thumbs/'; // Chemin du dossier contenant la vignette $dirthumb = $dir.'/thumbs/'; // Chemin du dossier contenant la vignette
$pattern = str_replace('/','\/',$dir); // Add backslashes for regular expression $filename = preg_replace('/'.preg_quote($dir,'/').'/i','',$file); // Nom du fichier
$filename = preg_replace('/'.$pattern.'/i','',$file); // Nom du fichier
// On efface l'image d'origine // On efface l'image d'origine
dol_delete_file($file); dol_delete_file($file);