FIX CVE-2017-7886

This commit is contained in:
Laurent Destailleur 2017-06-10 21:37:27 +02:00
parent d037515e37
commit 9c482b9f2a
11 changed files with 99 additions and 99 deletions

View File

@ -39,7 +39,7 @@ if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1);
require_once '../main.inc.php'; require_once '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL by the main.inc.php if (GETPOST('lang', 'aZ09')) $langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL by the main.inc.php
$langs->load("main"); $langs->load("main");
$langs->load("agenda"); $langs->load("agenda");
$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); $right=($langs->trans("DIRECTION")=='rtl'?'left':'right');

View File

@ -35,7 +35,7 @@ if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1);
require_once '../main.inc.php'; require_once '../main.inc.php';
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL by the main.inc.php if (GETPOST('lang', 'aZ09')) $langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL by the main.inc.php
$langs->load("main"); $langs->load("main");
$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); $right=($langs->trans("DIRECTION")=='rtl'?'left':'right');
$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); $left=($langs->trans("DIRECTION")=='rtl'?'right':'left');

View File

@ -191,7 +191,7 @@ function getBrowserInfo($user_agent)
elseif (preg_match('/opera(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='opera'; $version=$reg[2]; } elseif (preg_match('/opera(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='opera'; $version=$reg[2]; }
elseif (preg_match('/(MSIE\s([0-9]+\.[0-9]))|.*(Trident\/[0-9]+.[0-9];\srv:([0-9]+\.[0-9]+))/i', $user_agent, $reg)) { $name='ie'; $version=end($reg); } // MS products at end elseif (preg_match('/(MSIE\s([0-9]+\.[0-9]))|.*(Trident\/[0-9]+.[0-9];\srv:([0-9]+\.[0-9]+))/i', $user_agent, $reg)) { $name='ie'; $version=end($reg); } // MS products at end
elseif (preg_match('/l(i|y)n(x|ks)(\(|\/|\s)*([\d\.]+)/i', $user_agent, $reg)) { $name='lynxlinks'; $version=$reg[4]; } elseif (preg_match('/l(i|y)n(x|ks)(\(|\/|\s)*([\d\.]+)/i', $user_agent, $reg)) { $name='lynxlinks'; $version=$reg[4]; }
if ($tablet) { if ($tablet) {
$layout = 'tablet'; $layout = 'tablet';
} elseif ($phone) { } elseif ($phone) {
@ -269,7 +269,7 @@ function GETPOST($paramname,$check='',$method=0,$filter=NULL,$options=NULL)
break; break;
case 'aZ09': case 'aZ09':
$out=trim($out); $out=trim($out);
if (preg_match('/[^a-z0-9]+/i',$out)) $out=''; if (preg_match('/[^a-z0-9_\-]+/i',$out)) $out='';
break; break;
case 'array': case 'array':
if (! is_array($out) || empty($out)) $out=array(); if (! is_array($out) || empty($out)) $out=array();
@ -290,13 +290,13 @@ function GETPOST($paramname,$check='',$method=0,$filter=NULL,$options=NULL)
* This prefix is unique for instance and avoid conflict between multi-instances, * This prefix is unique for instance and avoid conflict between multi-instances,
* even when having two instances with one root dir or two instances in virtual servers * even when having two instances with one root dir or two instances in virtual servers
* *
* @param string $mode '' or 'email' * @param string $mode '' or 'email'
* @return string A calculated prefix * @return string A calculated prefix
*/ */
function dol_getprefix($mode='') function dol_getprefix($mode='')
{ {
global $conf; global $conf;
// If MAIL_PREFIX_FOR_EMAIL_ID is set and prefix is for email // If MAIL_PREFIX_FOR_EMAIL_ID is set and prefix is for email
if ($mode == 'email' && ! empty($conf->global->MAIL_PREFIX_FOR_EMAIL_ID)) if ($mode == 'email' && ! empty($conf->global->MAIL_PREFIX_FOR_EMAIL_ID))
{ {
@ -378,15 +378,15 @@ function dol_buildpath($path, $type=0)
if ($type == 1) $res = DOL_URL_ROOT.'/'.$path; // Standard value if ($type == 1) $res = DOL_URL_ROOT.'/'.$path; // Standard value
if ($type == 2) $res = DOL_MAIN_URL_ROOT.'/'.$path; // Standard value if ($type == 2) $res = DOL_MAIN_URL_ROOT.'/'.$path; // Standard value
if ($type == 3) $res = DOL_URL_ROOT.'/'.$path; if ($type == 3) $res = DOL_URL_ROOT.'/'.$path;
foreach ($conf->file->dol_document_root as $key => $dirroot) // ex: array(["main"]=>"/home/main/htdocs", ["alt0"]=>"/home/dirmod/htdocs", ...) foreach ($conf->file->dol_document_root as $key => $dirroot) // ex: array(["main"]=>"/home/main/htdocs", ["alt0"]=>"/home/dirmod/htdocs", ...)
{ {
if ($key == 'main') if ($key == 'main')
{ {
if ($type == 3) if ($type == 3)
{ {
global $dolibarr_main_url_root; global $dolibarr_main_url_root;
// Define $urlwithroot // Define $urlwithroot
$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root));
$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file $urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
@ -413,12 +413,12 @@ function dol_buildpath($path, $type=0)
if ($type == 3) if ($type == 3)
{ {
global $dolibarr_main_url_root; global $dolibarr_main_url_root;
// Define $urlwithroot // Define $urlwithroot
$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root));
$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file $urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current //$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
$res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).$conf->file->dol_url_root[$key].'/'.$path; // Test on start with http is for old conf syntax $res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).$conf->file->dol_url_root[$key].'/'.$path; // Test on start with http is for old conf syntax
} }
break; break;
@ -957,7 +957,7 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r
$maxvisiblephotos=(isset($conf->global->PRODUCT_MAX_VISIBLE_PHOTO)?$conf->global->PRODUCT_MAX_VISIBLE_PHOTO:5); $maxvisiblephotos=(isset($conf->global->PRODUCT_MAX_VISIBLE_PHOTO)?$conf->global->PRODUCT_MAX_VISIBLE_PHOTO:5);
if ($conf->browser->phone) $maxvisiblephotos=1; if ($conf->browser->phone) $maxvisiblephotos=1;
if ($showimage) $morehtmlleft.='<div class="floatleft inline-block valignmiddle divphotoref">'.$object->show_photos($conf->product->multidir_output[$object->entity],'small',$maxvisiblephotos,0,0,0,$width,0).'</div>'; if ($showimage) $morehtmlleft.='<div class="floatleft inline-block valignmiddle divphotoref">'.$object->show_photos($conf->product->multidir_output[$object->entity],'small',$maxvisiblephotos,0,0,0,$width,0).'</div>';
else else
{ {
if (!empty($conf->global->PRODUCT_NODISPLAYIFNOPHOTO)) { if (!empty($conf->global->PRODUCT_NODISPLAYIFNOPHOTO)) {
$nophoto=''; $nophoto='';
@ -967,17 +967,17 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r
$nophoto='/public/theme/common/nophoto.png'; $nophoto='/public/theme/common/nophoto.png';
$morehtmlleft.='<div class="floatleft inline-block valignmiddle divphotoref"><img class="photo'.$modulepart.($cssclass?' '.$cssclass:'').'" alt="No photo" border="0"'.($width?' width="'.$width.'"':'').($height?' height="'.$height.'"':'').' src="'.DOL_URL_ROOT.$nophoto.'"></div>'; $morehtmlleft.='<div class="floatleft inline-block valignmiddle divphotoref"><img class="photo'.$modulepart.($cssclass?' '.$cssclass:'').'" alt="No photo" border="0"'.($width?' width="'.$width.'"':'').($height?' height="'.$height.'"':'').' src="'.DOL_URL_ROOT.$nophoto.'"></div>';
} }
} }
} }
else else
{ {
if ($showimage) $morehtmlleft.='<div class="floatleft inline-block valignmiddle divphotoref">'.$form->showphoto($modulepart,$object,0,0,0,'photoref','small',1,0,$maxvisiblephotos).'</div>'; if ($showimage) $morehtmlleft.='<div class="floatleft inline-block valignmiddle divphotoref">'.$form->showphoto($modulepart,$object,0,0,0,'photoref','small',1,0,$maxvisiblephotos).'</div>';
} }
if ($showbarcode) $morehtmlleft.='<div class="floatleft inline-block valignmiddle divphotoref">'.$form->showbarcode($object).'</div>'; if ($showbarcode) $morehtmlleft.='<div class="floatleft inline-block valignmiddle divphotoref">'.$form->showbarcode($object).'</div>';
if ($object->element == 'societe' && ! empty($conf->use_javascript_ajax) && $user->rights->societe->creer && ! empty($conf->global->MAIN_DIRECT_STATUS_UPDATE)) { if ($object->element == 'societe' && ! empty($conf->use_javascript_ajax) && $user->rights->societe->creer && ! empty($conf->global->MAIN_DIRECT_STATUS_UPDATE)) {
$morehtmlright.=ajax_object_onoff($object, 'status', 'status', 'InActivity', 'ActivityCeased'); $morehtmlright.=ajax_object_onoff($object, 'status', 'status', 'InActivity', 'ActivityCeased');
} }
elseif ($object->element == 'product') elseif ($object->element == 'product')
{ {
//$morehtmlright.=$langs->trans("Status").' ('.$langs->trans("Sell").') '; //$morehtmlright.=$langs->trans("Status").' ('.$langs->trans("Sell").') ';
@ -999,7 +999,7 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r
} }
if (! empty($object->name_alias)) $morehtmlref.='<div class="refidno">'.$object->name_alias.'</div>'; // For thirdparty if (! empty($object->name_alias)) $morehtmlref.='<div class="refidno">'.$object->name_alias.'</div>'; // For thirdparty
if (! empty($object->label)) $morehtmlref.='<div class="refidno">'.$object->label.'</div>'; // For product if (! empty($object->label)) $morehtmlref.='<div class="refidno">'.$object->label.'</div>'; // For product
if ($object->element != 'product') if ($object->element != 'product')
{ {
$morehtmlref.='<div class="refidno">'; $morehtmlref.='<div class="refidno">';
$morehtmlref.=$object->getBannerAddress('refaddress',$object); $morehtmlref.=$object->getBannerAddress('refaddress',$object);
@ -1184,9 +1184,9 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e
$reduceformat=(! empty($conf->dol_optimize_smallscreen) && in_array($format,array('day','dayhour')))?1:0; $reduceformat=(! empty($conf->dol_optimize_smallscreen) && in_array($format,array('day','dayhour')))?1:0;
$formatwithoutreduce = preg_replace('/reduceformat/','',$format); $formatwithoutreduce = preg_replace('/reduceformat/','',$format);
if ($formatwithoutreduce != $format) { $format = $formatwithoutreduce; $reduceformat=1; } // so format 'dayreduceformat' is processed like day if ($formatwithoutreduce != $format) { $format = $formatwithoutreduce; $reduceformat=1; } // so format 'dayreduceformat' is processed like day
// Change predefined format into computer format. If found translation in lang file we use it, otherwise we use default. // Change predefined format into computer format. If found translation in lang file we use it, otherwise we use default.
// TODO Add format daysmallyear and dayhoursmallyear // TODO Add format daysmallyear and dayhoursmallyear
if ($format == 'day') $format=($outputlangs->trans("FormatDateShort")!="FormatDateShort"?$outputlangs->trans("FormatDateShort"):$conf->format_date_short); if ($format == 'day') $format=($outputlangs->trans("FormatDateShort")!="FormatDateShort"?$outputlangs->trans("FormatDateShort"):$conf->format_date_short);
else if ($format == 'hour') $format=($outputlangs->trans("FormatHourShort")!="FormatHourShort"?$outputlangs->trans("FormatHourShort"):$conf->format_hour_short); else if ($format == 'hour') $format=($outputlangs->trans("FormatHourShort")!="FormatHourShort"?$outputlangs->trans("FormatHourShort"):$conf->format_hour_short);
else if ($format == 'hourduration') $format=($outputlangs->trans("FormatHourShortDuration")!="FormatHourShortDuration"?$outputlangs->trans("FormatHourShortDuration"):$conf->format_hour_short_duration); else if ($format == 'hourduration') $format=($outputlangs->trans("FormatHourShortDuration")!="FormatHourShortDuration"?$outputlangs->trans("FormatHourShortDuration"):$conf->format_hour_short_duration);
@ -1957,7 +1957,7 @@ function dol_print_graph($htmlid,$width,$height,$data,$showlegend=0,$type='pie',
print '<div class="nographyettext">'.$langs->trans("NotEnoughDataYet").'</div>'; print '<div class="nographyettext">'.$langs->trans("NotEnoughDataYet").'</div>';
return; return;
} }
if (empty($conf->use_javascript_ajax)) return; if (empty($conf->use_javascript_ajax)) return;
$jsgraphlib='flot'; $jsgraphlib='flot';
$datacolor=array(); $datacolor=array();
@ -2126,7 +2126,7 @@ function dol_trunc($string,$size=40,$trunc='right',$stringencoding='UTF-8',$nodo
global $conf; global $conf;
if ($size==0 || ! empty($conf->global->MAIN_DISABLE_TRUNC)) return $string; if ($size==0 || ! empty($conf->global->MAIN_DISABLE_TRUNC)) return $string;
if (empty($stringencoding)) $stringencoding='UTF-8'; if (empty($stringencoding)) $stringencoding='UTF-8';
// reduce for small screen // reduce for small screen
if ($conf->dol_optimize_smallscreen==1 && $display==1) $size = round($size/3); if ($conf->dol_optimize_smallscreen==1 && $display==1) $size = round($size/3);
@ -3076,7 +3076,7 @@ function load_fiche_titre($titre, $mesg='', $picto='title_generic.png', $pictois
* @param string $options parametres complementaires lien ('' par defaut) * @param string $options parametres complementaires lien ('' par defaut)
* @param string $sortfield champ de tri ('' par defaut) * @param string $sortfield champ de tri ('' par defaut)
* @param string $sortorder ordre de tri ('' par defaut) * @param string $sortorder ordre de tri ('' par defaut)
* @param string $center chaine du centre ('' par defaut). We often find here string $massaction comming from $form->selectMassAction() * @param string $center chaine du centre ('' par defaut). We often find here string $massaction comming from $form->selectMassAction()
* @param int $num number of records found by select with limit+1 * @param int $num number of records found by select with limit+1
* @param int $totalnboflines Total number of records/lines for all pages (if known). Use a negative value to no show number. * @param int $totalnboflines Total number of records/lines for all pages (if known). Use a negative value to no show number.
* @param string $picto Icon to use before title (should be a 32x32 transparent png file) * @param string $picto Icon to use before title (should be a 32x32 transparent png file)
@ -3090,11 +3090,11 @@ function load_fiche_titre($titre, $mesg='', $picto='title_generic.png', $pictois
function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $sortorder='', $center='', $num=-1, $totalnboflines=0, $picto='title_generic.png', $pictoisfullpath=0, $morehtml='', $morecss='', $limit=-1, $hideselectlimit=0) function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $sortorder='', $center='', $num=-1, $totalnboflines=0, $picto='title_generic.png', $pictoisfullpath=0, $morehtml='', $morecss='', $limit=-1, $hideselectlimit=0)
{ {
global $conf,$langs; global $conf,$langs;
$savlimit = $limit; $savlimit = $limit;
$savtotalnboflines = $totalnboflines; $savtotalnboflines = $totalnboflines;
$totalnboflines=abs($totalnboflines); $totalnboflines=abs($totalnboflines);
if ($picto == 'setup') $picto='title_setup.png'; if ($picto == 'setup') $picto='title_setup.png';
if (($conf->browser->name == 'ie') && $picto=='title_generic.png') $picto='title.gif'; if (($conf->browser->name == 'ie') && $picto=='title_generic.png') $picto='title.gif';
if ($limit < 0) $limit = $conf->liste_limit; if ($limit < 0) $limit = $conf->liste_limit;
@ -3107,7 +3107,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so
$nextpage = 0; $nextpage = 0;
} }
//print 'totalnboflines='.$totalnboflines.'-savlimit='.$savlimit.'-limit='.$limit.'-num='.$num.'-nextpage='.$nextpage; //print 'totalnboflines='.$totalnboflines.'-savlimit='.$savlimit.'-limit='.$limit.'-num='.$num.'-nextpage='.$nextpage;
print "\n"; print "\n";
print "<!-- Begin title '".$titre."' -->\n"; print "<!-- Begin title '".$titre."' -->\n";
print '<table width="100%" border="0" class="notopnoleftnoright'.($morecss?' '.$morecss:'').'" style="margin-bottom: 6px;"><tr>'; print '<table width="100%" border="0" class="notopnoleftnoright'.($morecss?' '.$morecss:'').'" style="margin-bottom: 6px;"><tr>';
@ -3206,7 +3206,7 @@ function print_fleche_navigation($page, $file, $options='', $nextpage=0, $betwee
//$pagesizechoices.=',0:'.$langs->trans("All"); // Not yet supported //$pagesizechoices.=',0:'.$langs->trans("All"); // Not yet supported
//$pagesizechoices.=',2:2'; //$pagesizechoices.=',2:2';
if (! empty($conf->global->MAIN_PAGESIZE_CHOICES)) $pagesizechoices=$conf->global->MAIN_PAGESIZE_CHOICES; if (! empty($conf->global->MAIN_PAGESIZE_CHOICES)) $pagesizechoices=$conf->global->MAIN_PAGESIZE_CHOICES;
print '<li class="pagination">'; print '<li class="pagination">';
print '<select class="flat selectlimit" name="limit">'; print '<select class="flat selectlimit" name="limit">';
$tmpchoice=explode(',',$pagesizechoices); $tmpchoice=explode(',',$pagesizechoices);
@ -3246,7 +3246,7 @@ function print_fleche_navigation($page, $file, $options='', $nextpage=0, $betwee
</script> </script>
'; ';
} }
print '</li>'; print '</li>';
} }
if ($page > 0) if ($page > 0)
{ {
@ -3285,7 +3285,7 @@ function print_fleche_navigation($page, $file, $options='', $nextpage=0, $betwee
function vatrate($rate,$addpercent=false,$info_bits=0,$usestarfornpr=0) function vatrate($rate,$addpercent=false,$info_bits=0,$usestarfornpr=0)
{ {
$morelabel=''; $morelabel='';
if (preg_match('/%/',$rate)) if (preg_match('/%/',$rate))
{ {
$rate=str_replace('%','',$rate); $rate=str_replace('%','',$rate);
@ -3488,7 +3488,7 @@ function price2num($amount,$rounding='',$alreadysqlnb=0)
/** /**
* Output a dimension with best unit * Output a dimension with best unit
* *
* @param float $dimension Dimension * @param float $dimension Dimension
* @param int $unit Unit of dimension (0, -3, ...) * @param int $unit Unit of dimension (0, -3, ...)
* @param string $type 'weight', 'volume', ... * @param string $type 'weight', 'volume', ...
@ -3500,16 +3500,16 @@ function price2num($amount,$rounding='',$alreadysqlnb=0)
function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs, $round=-1, $forceunitoutput='no') function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs, $round=-1, $forceunitoutput='no')
{ {
require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php';
if (($forceunitoutput == 'no' && $dimension < 1/10000) || (is_numeric($forceunitoutput) && $forceunitoutput == -6)) if (($forceunitoutput == 'no' && $dimension < 1/10000) || (is_numeric($forceunitoutput) && $forceunitoutput == -6))
{ {
$dimension = $dimension * 1000000; $dimension = $dimension * 1000000;
$unit = $unit - 6; $unit = $unit - 6;
} }
elseif (($forceunitoutput == 'no' && $dimension < 1/10) || (is_numeric($forceunitoutput) && $forceunitoutput == -3)) elseif (($forceunitoutput == 'no' && $dimension < 1/10) || (is_numeric($forceunitoutput) && $forceunitoutput == -3))
{ {
$dimension = $dimension * 1000; $dimension = $dimension * 1000;
$unit = $unit - 3; $unit = $unit - 3;
} }
elseif (($forceunitoutput == 'no' && $dimension > 100000000) || (is_numeric($forceunitoutput) && $forceunitoutput == 6)) elseif (($forceunitoutput == 'no' && $dimension > 100000000) || (is_numeric($forceunitoutput) && $forceunitoutput == 6))
{ {
@ -3521,9 +3521,9 @@ function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs, $round=
$dimension = $dimension / 1000; $dimension = $dimension / 1000;
$unit = $unit + 3; $unit = $unit + 3;
} }
$ret=price($dimension, 0, $outputlangs, 0, 0, $round).' '.measuring_units_string($unit, $type); $ret=price($dimension, 0, $outputlangs, 0, 0, $round).' '.measuring_units_string($unit, $type);
return $ret; return $ret;
} }
@ -3554,12 +3554,12 @@ function get_localtax($vatrate, $local, $thirdparty_buyer="", $thirdparty_seller
$vatratecleaned = trim($reg[1]); $vatratecleaned = trim($reg[1]);
$vatratecode = $reg[2]; $vatratecode = $reg[2];
} }
/*if ($thirdparty_buyer->country_code != $thirdparty_seller->country_code) /*if ($thirdparty_buyer->country_code != $thirdparty_seller->country_code)
{ {
return 0; return 0;
}*/ }*/
// Some test to guess with no need to make database access // Some test to guess with no need to make database access
if ($mysoc->country_code == 'ES') // For spain localtaxes 1 and 2, tax is qualified if buyer use local taxe if ($mysoc->country_code == 'ES') // For spain localtaxes 1 and 2, tax is qualified if buyer use local taxe
{ {
@ -3600,7 +3600,7 @@ function get_localtax($vatrate, $local, $thirdparty_buyer="", $thirdparty_seller
{ {
$conf->global->MAIN_GET_LOCALTAXES_VALUES_FROM_THIRDPARTY = 1; $conf->global->MAIN_GET_LOCALTAXES_VALUES_FROM_THIRDPARTY = 1;
} }
// Search local taxes // Search local taxes
if (! empty($conf->global->MAIN_GET_LOCALTAXES_VALUES_FROM_THIRDPARTY)) if (! empty($conf->global->MAIN_GET_LOCALTAXES_VALUES_FROM_THIRDPARTY))
{ {
@ -3657,7 +3657,7 @@ function get_localtax($vatrate, $local, $thirdparty_buyer="", $thirdparty_seller
if ($local==1) return $obj->localtax1; if ($local==1) return $obj->localtax1;
elseif ($local==2) return $obj->localtax2; elseif ($local==2) return $obj->localtax2;
} }
return 0; return 0;
} }
@ -3717,7 +3717,7 @@ function get_localtax_by_third($local)
/** /**
* Get vat rate and npr from id. * Get vat rate and npr from id.
* You can call getLocalTaxesFromRate after to get other fields * You can call getLocalTaxesFromRate after to get other fields
* *
* @param int $vatrowid Line ID into vat rate table. * @param int $vatrowid Line ID into vat rate table.
* @return array array(localtax_type1(1-6 / 0 if not found), rate of localtax1, ...) * @return array array(localtax_type1(1-6 / 0 if not found), rate of localtax1, ...)
@ -3771,7 +3771,7 @@ function getLocalTaxesFromRate($vatrate, $local, $buyer, $seller, $firstparamisi
$vatratecleaned = $reg[1]; $vatratecleaned = $reg[1];
$vatratecode = $reg[2]; $vatratecode = $reg[2];
} }
// Search local taxes // Search local taxes
$sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type, t.accountancy_code_sell, t.accountancy_code_buy"; $sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type, t.accountancy_code_sell, t.accountancy_code_buy";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t"; $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t";
@ -3784,7 +3784,7 @@ function getLocalTaxesFromRate($vatrate, $local, $buyer, $seller, $firstparamisi
$sql.= " AND t.taux = ".((float) $vatratecleaned)." AND t.active = 1"; $sql.= " AND t.taux = ".((float) $vatratecleaned)." AND t.active = 1";
if ($vatratecode) $sql.= " AND t.code ='".$vatratecode."'"; if ($vatratecode) $sql.= " AND t.code ='".$vatratecode."'";
} }
$resql=$db->query($sql); $resql=$db->query($sql);
if ($resql) if ($resql)
{ {
@ -4191,7 +4191,7 @@ function yn($yesno, $case=1, $color=0)
/** /**
* Return a path to have a directory according to object. * Return a path to have a directory according to object.
* New usage: $conf->product->multidir_output[$object->entity].'/'.get_exdir(0, 0, 0, 1, $object, 'modulepart') * New usage: $conf->product->multidir_output[$object->entity].'/'.get_exdir(0, 0, 0, 1, $object, 'modulepart')
* Old usage: '015' with level 3->"0/1/5/", '015' with level 1->"5/", 'ABC-1' with level 3 ->"0/0/1/" * Old usage: '015' with level 3->"0/1/5/", '015' with level 1->"5/", 'ABC-1' with level 3 ->"0/0/1/"
* *
* @param string $num Id of object (deprecated, $object will be used in future) * @param string $num Id of object (deprecated, $object will be used in future)
* @param int $level Level of subdirs to return (1, 2 or 3 levels). (deprecated, global option will be used in future) * @param int $level Level of subdirs to return (1, 2 or 3 levels). (deprecated, global option will be used in future)
@ -4208,7 +4208,7 @@ function get_exdir($num,$level,$alpha,$withoutslash,$object,$modulepart)
$path = ''; $path = '';
$arrayforoldpath=array('cheque','user','category','holiday','shipment', 'member','don','donation','supplier_invoice','invoice_supplier','mailing'); $arrayforoldpath=array('cheque','user','category','holiday','shipment', 'member','don','donation','supplier_invoice','invoice_supplier','mailing');
if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) $arrayforoldpath[]='product'; if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) $arrayforoldpath[]='product';
if (! empty($level) && in_array($modulepart, $arrayforoldpath)) if (! empty($level) && in_array($modulepart, $arrayforoldpath))
{ {
// This part should be removed once all code is using "get_exdir" to forge path, with all parameters provided // This part should be removed once all code is using "get_exdir" to forge path, with all parameters provided
@ -4360,7 +4360,7 @@ function dolGetFirstLineOfText($text)
{ {
$firstline=preg_replace('/<br[^>]*>.*$/s','',$text); // The s pattern modifier means the . can match newline characters $firstline=preg_replace('/<br[^>]*>.*$/s','',$text); // The s pattern modifier means the . can match newline characters
$firstline=preg_replace('/<div[^>]*>.*$/s','',$firstline); // The s pattern modifier means the . can match newline characters $firstline=preg_replace('/<div[^>]*>.*$/s','',$firstline); // The s pattern modifier means the . can match newline characters
} }
else else
{ {
@ -5386,11 +5386,11 @@ function printCommonFooter($zone='private')
{ {
print '<!-- Reposition management (does not work if a redirect is done after action of submission) -->'."\n"; print '<!-- Reposition management (does not work if a redirect is done after action of submission) -->'."\n";
print '<script type="text/javascript" language="javascript">jQuery(document).ready(function() {'."\n"; print '<script type="text/javascript" language="javascript">jQuery(document).ready(function() {'."\n";
print '<!-- If page_y set, we set scollbar with it -->'."\n"; print '<!-- If page_y set, we set scollbar with it -->'."\n";
print "page_y=getParameterByName('page_y', 0);"; print "page_y=getParameterByName('page_y', 0);";
print "if (page_y > 0) $('html, body').scrollTop(page_y);\n"; print "if (page_y > 0) $('html, body').scrollTop(page_y);\n";
print '<!-- Set handler to add page_y param on some a href links -->'."\n"; print '<!-- Set handler to add page_y param on some a href links -->'."\n";
print 'jQuery(".reposition").click(function() { print 'jQuery(".reposition").click(function() {
var page_y = $(document).scrollTop(); var page_y = $(document).scrollTop();
@ -5398,7 +5398,7 @@ function printCommonFooter($zone='private')
this.href=this.href+\'&page_y=\'+page_y; this.href=this.href+\'&page_y=\'+page_y;
});'."\n"; });'."\n";
print '});'."\n"; print '});'."\n";
if (empty($conf->dol_use_jmobile)) if (empty($conf->dol_use_jmobile))
{ {
print '<!-- Set handler to switch left menu page -->'."\n"; print '<!-- Set handler to switch left menu page -->'."\n";
@ -5407,10 +5407,10 @@ function printCommonFooter($zone='private')
if ($conf->theme == 'md') print " $('.login_block').toggle();"; if ($conf->theme == 'md') print " $('.login_block').toggle();";
print '});'."\n"; print '});'."\n";
} }
print '</script>'."\n"; print '</script>'."\n";
} }
// Google Analytics (need Google module) // Google Analytics (need Google module)
if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AN_ID)) if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AN_ID))
{ {
@ -5623,15 +5623,15 @@ function natural_search($fields, $value, $mode=0, $nofirstand=0)
$tmpcrit=trim($tmpcrit); $tmpcrit=trim($tmpcrit);
$tmpcrit2=$tmpcrit; $tmpcrit2=$tmpcrit;
$tmpbefore='%'; $tmpafter='%'; $tmpbefore='%'; $tmpafter='%';
if (preg_match('/^[\^\$]/', $tmpcrit)) if (preg_match('/^[\^\$]/', $tmpcrit))
{ {
$tmpbefore=''; $tmpbefore='';
$tmpcrit2 = preg_replace('/^[\^\$]/', '', $tmpcrit2); $tmpcrit2 = preg_replace('/^[\^\$]/', '', $tmpcrit2);
} }
if (preg_match('/[\^\$]$/', $tmpcrit)) if (preg_match('/[\^\$]$/', $tmpcrit))
{ {
$tmpafter=''; $tmpafter='';
$tmpcrit2 = preg_replace('/[\^\$]$/', '', $tmpcrit2); $tmpcrit2 = preg_replace('/[\^\$]$/', '', $tmpcrit2);
} }
$newres .= $tmpbefore; $newres .= $tmpbefore;
$newres .= $db->escape($tmpcrit2); $newres .= $db->escape($tmpcrit2);

View File

@ -35,7 +35,7 @@ if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1);
require_once '../main.inc.php'; require_once '../main.inc.php';
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL by the main.inc.php if (GETPOST('lang', 'aZ09')) $langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL by the main.inc.php
$langs->load("main"); $langs->load("main");
$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); $right=($langs->trans("DIRECTION")=='rtl'?'left':'right');
$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); $left=($langs->trans("DIRECTION")=='rtl'?'right':'left');
@ -76,11 +76,11 @@ if ($conf->use_javascript_ajax && 1 == 2) // select2 is ko with jmobile
else else
{ {
$conf->global->MAIN_HTML5_PLACEHOLDER = 1; $conf->global->MAIN_HTML5_PLACEHOLDER = 1;
$usedbyinclude = 1; // Used into next include $usedbyinclude = 1; // Used into next include
include DOL_DOCUMENT_ROOT.'/core/ajax/selectsearchbox.php'; include DOL_DOCUMENT_ROOT.'/core/ajax/selectsearchbox.php';
$accesskeyalreadyassigned=array(); $accesskeyalreadyassigned=array();
foreach($arrayresult as $key => $val) foreach($arrayresult as $key => $val)
{ {

View File

@ -38,7 +38,7 @@ $mainmenu=GETPOST('mainmenu', 'alpha');
$leftmenu=GETPOST('leftmenu', 'alpha'); $leftmenu=GETPOST('leftmenu', 'alpha');
$idmenu=GETPOST('idmenu', 'int'); $idmenu=GETPOST('idmenu', 'int');
$theme=GETPOST('theme', 'alpha'); $theme=GETPOST('theme', 'alpha');
$codelang=GETPOST('lang', 'alpha'); $codelang=GETPOST('lang', 'aZ09');
print " print "
<html> <html>

View File

@ -258,7 +258,7 @@ if (function_exists('get_magic_quotes_gpc')) // magic_quotes_* removed in PHP 5.
// Defini objet langs // Defini objet langs
$langs = new Translate('..',$conf); $langs = new Translate('..',$conf);
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); if (GETPOST('lang', 'aZ09')) $langs->setDefaultLang(GETPOST('lang', 'aZ09'));
else $langs->setDefaultLang('auto'); else $langs->setDefaultLang('auto');
$bc[false]=' class="bg1"'; $bc[false]=' class="bg1"';
@ -442,9 +442,9 @@ function pFooter($nonext=0,$setuplang='',$jscheckfunction='', $withpleasewait=0)
print '<div class="nextbutton" id="nextbutton">'; print '<div class="nextbutton" id="nextbutton">';
if ($nonext == '2') if ($nonext == '2')
{ {
print $langs->trans("ErrorFoundDuringMigration", $_SERVER["REQUEST_URI"].'&ignoreerrors=1').'<br><br>'; print $langs->trans("ErrorFoundDuringMigration", $_SERVER["REQUEST_URI"].'&ignoreerrors=1').'<br><br>';
} }
print '<input type="submit" '.($nonext == '2' ? 'disabled="disabled" ':'').'value="'.$langs->trans("NextStep").' ->"'; print '<input type="submit" '.($nonext == '2' ? 'disabled="disabled" ':'').'value="'.$langs->trans("NextStep").' ->"';
if ($jscheckfunction) print ' onClick="return '.$jscheckfunction.'();"'; if ($jscheckfunction) print ' onClick="return '.$jscheckfunction.'();"';
print '></div>'; print '></div>';

View File

@ -567,7 +567,7 @@ if (! defined('NOLOGIN'))
$paramsurl=array(); $paramsurl=array();
if (GETPOST('textbrowser')) $paramsurl[]='textbrowser='.GETPOST('textbrowser','int'); if (GETPOST('textbrowser')) $paramsurl[]='textbrowser='.GETPOST('textbrowser','int');
if (GETPOST('nojs')) $paramsurl[]='nojs='.GETPOST('nojs','int'); if (GETPOST('nojs')) $paramsurl[]='nojs='.GETPOST('nojs','int');
if (GETPOST('lang')) $paramsurl[]='lang='.GETPOST('lang','alpha'); if (GETPOST('lang')) $paramsurl[]='lang='.GETPOST('lang', 'aZ09');
header('Location: '.DOL_URL_ROOT.'/index.php'.(count($paramsurl)?'?'.implode('&',$paramsurl):'')); header('Location: '.DOL_URL_ROOT.'/index.php'.(count($paramsurl)?'?'.implode('&',$paramsurl):''));
exit; exit;
} }
@ -626,7 +626,7 @@ if (! defined('NOLOGIN'))
$paramsurl=array(); $paramsurl=array();
if (GETPOST('textbrowser')) $paramsurl[]='textbrowser='.GETPOST('textbrowser','int'); if (GETPOST('textbrowser')) $paramsurl[]='textbrowser='.GETPOST('textbrowser','int');
if (GETPOST('nojs')) $paramsurl[]='nojs='.GETPOST('nojs','int'); if (GETPOST('nojs')) $paramsurl[]='nojs='.GETPOST('nojs','int');
if (GETPOST('lang')) $paramsurl[]='lang='.GETPOST('lang','alpha'); if (GETPOST('lang')) $paramsurl[]='lang='.GETPOST('lang', 'aZ09');
header('Location: '.DOL_URL_ROOT.'/index.php'.(count($paramsurl)?'?'.implode('&',$paramsurl):'')); header('Location: '.DOL_URL_ROOT.'/index.php'.(count($paramsurl)?'?'.implode('&',$paramsurl):''));
exit; exit;
} }

View File

@ -246,7 +246,7 @@ if (! defined('NOREQUIREDB') && ! defined('NOREQUIRESOC'))
// Set default language (must be after the setValues setting global $conf->global->MAIN_LANG_DEFAULT. Page main.inc.php will overwrite langs->defaultlang with user value later) // Set default language (must be after the setValues setting global $conf->global->MAIN_LANG_DEFAULT. Page main.inc.php will overwrite langs->defaultlang with user value later)
if (! defined('NOREQUIRETRAN')) if (! defined('NOREQUIRETRAN'))
{ {
$langcode=(GETPOST('lang')?GETPOST('lang','alpha',1):(empty($conf->global->MAIN_LANG_DEFAULT)?'auto':$conf->global->MAIN_LANG_DEFAULT)); $langcode=(GETPOST('lang', 'aZ09')?GETPOST('lang', 'aZ09', 1):(empty($conf->global->MAIN_LANG_DEFAULT)?'auto':$conf->global->MAIN_LANG_DEFAULT));
$langs->setDefaultLang($langcode); $langs->setDefaultLang($langcode);
} }

View File

@ -142,7 +142,7 @@ if (empty($conf->db->user)) $conf->db->user='';
// Defini objet langs // Defini objet langs
$langs = new Translate('..',$conf); $langs = new Translate('..',$conf);
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); if (GETPOST('lang', 'aZ09')) $langs->setDefaultLang(GETPOST('lang', 'aZ09'));
else $langs->setDefaultLang('auto'); else $langs->setDefaultLang('auto');
$bc[false]=' class="bg1"'; $bc[false]=' class="bg1"';

View File

@ -53,7 +53,7 @@ else header('Cache-Control: no-cache');
// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. // On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1.
if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); }
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang', 'alpha')); // If language was forced on URL if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL
if (GETPOST('theme')) $conf->theme=GETPOST('theme', 'alpha'); // If theme was forced on URL if (GETPOST('theme')) $conf->theme=GETPOST('theme', 'alpha'); // If theme was forced on URL
$langs->load("main",0,1); $langs->load("main",0,1);
$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); $right=($langs->trans("DIRECTION")=='rtl'?'left':'right');
@ -1101,7 +1101,7 @@ div.menu_titre {
padding-top: 4px; padding-top: 4px;
padding-bottom: 4px; padding-bottom: 4px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.mainmenuaspan .mainmenuaspan
{ {
@ -1488,7 +1488,7 @@ a.vsmenu.addbookmarkpicto {
{ {
/* border-bottom: 1px solid #BBB; */ /* border-bottom: 1px solid #BBB; */
} }
div.blockvmenusearchphone div.blockvmenusearchphone
{ {
border-bottom: none !important; border-bottom: none !important;
} }
@ -2681,7 +2681,7 @@ div.liste_titre_bydiv {
border-top-width: <?php echo $borderwith ?>px; border-top-width: <?php echo $borderwith ?>px;
border-top-color: rgb(<?php echo $colortopbordertitle1 ?>); border-top-color: rgb(<?php echo $colortopbordertitle1 ?>);
border-top-style: solid; border-top-style: solid;
border-collapse: collapse; border-collapse: collapse;
display: table; display: table;
padding: 2px 0px 2px 0; padding: 2px 0px 2px 0;
@ -3288,7 +3288,7 @@ td.hidden {
border-bottom: 1px solid #888; border-bottom: 1px solid #888;
background: #eee; background: #eee;
} }
.websitebar .button, .websitebar .buttonDelete .websitebar .button, .websitebar .buttonDelete
{ {
padding: 2px 5px 3px 5px !important; padding: 2px 5px 3px 5px !important;
margin: 2px 4px 2px 4px !important; margin: 2px 4px 2px 4px !important;
@ -3297,7 +3297,7 @@ td.hidden {
.websiteselection { .websiteselection {
display: inline-block; display: inline-block;
padding-left: 10px; padding-left: 10px;
vertical-align: middle; vertical-align: middle;
line-height: 29px; line-height: 29px;
} }
.websitetools { .websitetools {

View File

@ -54,7 +54,7 @@ else header('Cache-Control: no-cache');
// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. // On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1.
if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); }
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL
if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL
$langs->load("main",0,1); $langs->load("main",0,1);
$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); $right=($langs->trans("DIRECTION")=='rtl'?'left':'right');
@ -520,7 +520,7 @@ div.divsearchfield {
margin-<?php print $left; ?>: 2px; margin-<?php print $left; ?>: 2px;
margin-top: 4px; margin-top: 4px;
margin-bottom: 4px; margin-bottom: 4px;
padding-left: 2px; padding-left: 2px;
} }
div.confirmmessage { div.confirmmessage {
padding-top: 6px; padding-top: 6px;
@ -545,8 +545,8 @@ div.myavailability {
} }
.checkallactions { .checkallactions {
vertical-align: top; vertical-align: top;
margin-top: 6px; margin-top: 6px;
margin-left: 4px; margin-left: 4px;
} }
.selectlimit { .selectlimit {
margin-right: 10px !important; margin-right: 10px !important;
@ -713,7 +713,7 @@ td.showDragHandle {
<?php if (GETPOST("optioncss") != 'print') { ?> <?php if (GETPOST("optioncss") != 'print') { ?>
padding-left: 229px; padding-left: 229px;
padding-top: 12px; padding-top: 12px;
<?php } ?> <?php } ?>
} }
.side-nav { .side-nav {
@ -919,7 +919,7 @@ table.noborder tr.liste_titre td {
padding-right: 1px; padding-right: 1px;
padding-top: 1px; padding-top: 1px;
padding-bottom: 1px; padding-bottom: 1px;
width: 44px; width: 44px;
} }
div.attacharea { div.attacharea {
padding-top: 10px; padding-top: 10px;
@ -934,7 +934,7 @@ div.arearef {
margin-bottom: 10px; margin-bottom: 10px;
} }
div.heightref { div.heightref {
min-height: 74px; min-height: 74px;
} }
div.divphotoref { div.divphotoref {
padding-right: 20px; padding-right: 20px;
@ -1131,7 +1131,7 @@ div.tmenucenter
div.menu_titre { div.menu_titre {
padding-bottom: 2px; padding-bottom: 2px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.mainmenuaspan .mainmenuaspan
{ {
@ -1493,8 +1493,8 @@ div.vmenu, td.vmenu {
width: 202px; width: 202px;
} }
.menu_contenu { .menu_contenu {
padding-top: 4px; padding-top: 4px;
padding-bottom: 3px; padding-bottom: 3px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -2005,8 +2005,8 @@ span.tabspan {
/* Boutons actions */ /* Boutons actions */
/* ============================================================================== */ /* ============================================================================== */
div.divButAction { div.divButAction {
margin-bottom: 1.4em; margin-bottom: 1.4em;
vertical-align: top; vertical-align: top;
} }
@ -2072,16 +2072,16 @@ span.butAction, span.butActionDelete {
text-shadow: none; text-shadow: none;
border-color: #555; border-color: #555;
cursor: not-allowed; cursor: not-allowed;
background-color: #f5f5f5; background-color: #f5f5f5;
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
background-repeat: repeat-x background-repeat: repeat-x
} }
.butActionDelete, .buttonDelete { .butActionDelete, .buttonDelete {
color: #ffffff !important; color: #ffffff !important;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
@ -2231,7 +2231,7 @@ table.liste, table.noborder, table.formdoc, div.noborder {
border-bottom-width: 1px; border-bottom-width: 1px;
border-bottom-color: #BBB; border-bottom-color: #BBB;
border-bottom-style: solid; border-bottom-style: solid;
margin: 0px 0px 8px 0px; margin: 0px 0px 8px 0px;
/* /*
-moz-box-shadow: 2px 2px 4px #CCC; -moz-box-shadow: 2px 2px 4px #CCC;
@ -2239,7 +2239,7 @@ table.liste, table.noborder, table.formdoc, div.noborder {
box-shadow: 2px 2px 4px #CCC; box-shadow: 2px 2px 4px #CCC;
*/ */
/* box-shadow: 0 0 3px rgba(0,0,0,0.16); */ /* box-shadow: 0 0 3px rgba(0,0,0,0.16); */
-moz-border-radius: 0.1em; -moz-border-radius: 0.1em;
-webkit-border-radius: 0.1em; -webkit-border-radius: 0.1em;
border-radius: 0.1em; border-radius: 0.1em;
@ -2495,7 +2495,7 @@ div.pagination li.paginationafterarrows {
margin-bottom: 1px; margin-bottom: 1px;
color: #202020; color: #202020;
min-height: 18px; /* seems to not be used */ min-height: 18px; /* seems to not be used */
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>; background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>;
} }
#GanttChartDIV { #GanttChartDIV {
@ -2562,7 +2562,7 @@ div.liste_titre_bydiv {
border-top-width: <?php echo $borderwith; ?>px; border-top-width: <?php echo $borderwith; ?>px;
border-top-color: rgb(<?php echo $colortopbordertitle1 ?>); border-top-color: rgb(<?php echo $colortopbordertitle1 ?>);
border-top-style: solid; border-top-style: solid;
box-shadow: none; box-shadow: none;
border-collapse: collapse; border-collapse: collapse;
display: table; display: table;
@ -2589,7 +2589,7 @@ div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.list
background: rgb(<?php echo $colorbacktitle1; ?>); background: rgb(<?php echo $colorbacktitle1; ?>);
<?php } ?> <?php } ?>
font-weight: <?php echo $useboldtitle?'bold':'normal'; ?>; font-weight: <?php echo $useboldtitle?'bold':'normal'; ?>;
color: rgb(<?php echo $colortexttitle; ?>); color: rgb(<?php echo $colortexttitle; ?>);
font-family: <?php print $fontlist ?>; font-family: <?php print $fontlist ?>;
border-bottom: 1px solid #FDFFFF; border-bottom: 1px solid #FDFFFF;
@ -2745,7 +2745,7 @@ span.dashboardlineko {
tr.box_titre { tr.box_titre {
height: 26px !important; height: 26px !important;
/* TO MATCH BOOTSTRAP */ /* TO MATCH BOOTSTRAP */
/*background: #ddd; /*background: #ddd;
color: #000 !important; */ color: #000 !important; */
@ -2760,7 +2760,7 @@ tr.box_titre {
<?php } else { ?> <?php } else { ?>
background: rgb(<?php echo $colorbacktitle1; ?>); background: rgb(<?php echo $colorbacktitle1; ?>);
<?php } ?> <?php } ?>
background-repeat: repeat-x; background-repeat: repeat-x;
color: rgb(<?php echo $colortexttitle; ?>); color: rgb(<?php echo $colortexttitle; ?>);
font-family: <?php print $fontlist ?>, sans-serif; font-family: <?php print $fontlist ?>, sans-serif;
@ -3184,7 +3184,7 @@ td.hidden {
border-bottom: 1px solid #888; border-bottom: 1px solid #888;
background: #eee; background: #eee;
} }
.websitebar .button, .websitebar .buttonDelete .websitebar .button, .websitebar .buttonDelete
{ {
padding: 2px 4px 2px 4px !important; padding: 2px 4px 2px 4px !important;
margin: 2px 4px 2px 4px !important; margin: 2px 4px 2px 4px !important;
@ -3193,7 +3193,7 @@ td.hidden {
.websiteselection { .websiteselection {
display: inline-block; display: inline-block;
padding-left: 10px; padding-left: 10px;
vertical-align: middle; vertical-align: middle;
line-height: 29px; line-height: 29px;
} }
.websitetools { .websitetools {
@ -4297,7 +4297,7 @@ img.demothumb {
@media only screen and (max-width: 767px) @media only screen and (max-width: 767px)
{ {
.imgopensurveywizard { width:95%; height: auto; } .imgopensurveywizard { width:95%; height: auto; }
#tooltip { #tooltip {
position: absolute; position: absolute;
width: <?php print dol_size(350,'width'); ?>px; width: <?php print dol_size(350,'width'); ?>px;
@ -4375,7 +4375,7 @@ img.demothumb {
div.mainmenu { div.mainmenu {
min-width: 20px; min-width: 20px;
} }
#tooltip { #tooltip {
position: absolute; position: absolute;
width: <?php print dol_size(300,'width'); ?>px; width: <?php print dol_size(300,'width'); ?>px;