2
0
forked from Wavyzz/dolibarr

New: Always use th for table head

This commit is contained in:
Laurent Destailleur
2011-09-02 21:56:37 +00:00
parent e045b9ade7
commit 269fa5742c
5 changed files with 80 additions and 70 deletions

View File

@@ -2572,78 +2572,70 @@ function print_liste_field_titre($name, $file="", $field="", $begin="", $morepar
/** /**
* Get title line of an array * Get title line of an array
*
* @param name Label of field * @param name Label of field
* @param thead For thead format * @param thead For thead format
* @param file Url used when we click on sort picto * @param file Url used when we click on sort picto
* @param field Field to use for new sorting * @param field Field to use for new sorting
* @param begin ("" by defaut) * @param begin ("" by defaut)
* @param moreparam Add more parameters on sort url links ("" by default) * @param moreparam Add more parameters on sort url links ("" by default)
* @param td Options of attribute td ("" by defaut) * @param moreattrib Add more attributes on th ("" by defaut)
* @param sortfield Current field used to sort * @param sortfield Current field used to sort
* @param sortorder Current sort order * @param sortorder Current sort order
*/ */
function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $moreparam="", $td="", $sortfield="", $sortorder="") function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="")
{ {
global $conf; global $conf;
//print "$name, $file, $field, $begin, $options, $td, $sortfield, $sortorder<br>\n"; //print "$name, $file, $field, $begin, $options, $moreattrib, $sortfield, $sortorder<br>\n";
$out=''; $out='';
// If field is used as sort criteria we use a specific class
if ($thead) // Example if (sortfield,field)=("nom","xxx.nom") or (sortfield,field)=("nom","nom")
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field)))
{ {
$out.= '<th>'.$name.'</th>'; $out.= '<th class="liste_titre_sel" '. $moreattrib.'>';
} }
else else
{ {
// Le champ de tri est mis en evidence. $out.= '<th class="liste_titre" '. $moreattrib.'>';
// Exemple si (sortfield,field)=("nom","xxx.nom") ou (sortfield,field)=("nom","nom")
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field)))
{
$out.= '<td class="liste_titre_sel" '. $td.'>';
}
else
{
$out.= '<td class="liste_titre" '. $td.'>';
}
$out.= $name;
// If this is a sort field
if ($field)
{
$options=preg_replace('/sortfield=([a-zA-Z0-9,\s\.]+)/i','',$moreparam);
$options=preg_replace('/sortorder=([a-zA-Z0-9,\s\.]+)/i','',$options);
$options=preg_replace('/&+/i','&',$options);
if (! preg_match('/^&/',$options)) $options='&'.$options;
//print "&nbsp;";
$out.= '<img width="2" src="'.DOL_URL_ROOT.'/theme/common/transparent.png" alt="">';
if (! $sortorder)
{
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
}
else
{
if ($field != $sortfield)
{
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
}
else {
$sortorder=strtoupper($sortorder);
if ($sortorder == 'DESC' ) {
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",1).'</a>';
}
if ($sortorder == 'ASC' ) {
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",1).'</a>';
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
}
}
}
}
$out.= "</td>";
} }
$out.=$name;
if (empty($thead) && $field) // If this is a sort field
{
$options=preg_replace('/sortfield=([a-zA-Z0-9,\s\.]+)/i','',$moreparam);
$options=preg_replace('/sortorder=([a-zA-Z0-9,\s\.]+)/i','',$options);
$options=preg_replace('/&+/i','&',$options);
if (! preg_match('/^&/',$options)) $options='&'.$options;
//print "&nbsp;";
$out.= '<img width="2" src="'.DOL_URL_ROOT.'/theme/common/transparent.png" alt="">';
if (! $sortorder)
{
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
}
else
{
if ($field != $sortfield)
{
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
}
else {
$sortorder=strtoupper($sortorder);
if ($sortorder == 'DESC' ) {
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",1).'</a>';
}
if ($sortorder == 'ASC' ) {
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",1).'</a>';
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
}
}
}
}
$out.='</th>';
return $out; return $out;
} }
@@ -2672,6 +2664,7 @@ function print_fiche_titre($titre, $mesg='', $picto='title.png', $pictoisfullpat
/** /**
* Load a title with picto * Load a title with picto
*
* @param titre Title to show * @param titre Title to show
* @param mesg Added message to show on right * @param mesg Added message to show on right
* @param picto Icon to use before title (should be a 32x32 transparent png file) * @param picto Icon to use before title (should be a 32x32 transparent png file)
@@ -2704,6 +2697,7 @@ function load_fiche_titre($titre, $mesg='', $picto='title.png', $pictoisfullpath
/** /**
* Print a title with navigation controls for pagination * Print a title with navigation controls for pagination
*
* @param titre Title to show (required) * @param titre Title to show (required)
* @param page Numero of page (required) * @param page Numero of page (required)
* @param file Url of page (required) * @param file Url of page (required)
@@ -2813,6 +2807,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so
/** /**
* Fonction servant a afficher les fleches de navigation dans les pages de listes * Fonction servant a afficher les fleches de navigation dans les pages de listes
*
* @param page Numero of page * @param page Numero of page
* @param file Lien * @param file Lien
* @param options Autres parametres d'url a propager dans les liens ("" par defaut) * @param options Autres parametres d'url a propager dans les liens ("" par defaut)
@@ -2837,6 +2832,7 @@ function print_fleche_navigation($page,$file,$options='',$nextpage,$betweenarrow
/** /**
* Fonction qui retourne un taux de tva formate pour visualisation * Fonction qui retourne un taux de tva formate pour visualisation
* Utilisee dans les pdf et les pages html * Utilisee dans les pdf et les pages html
*
* @param rate Rate value to format (19.6 19,6 19.6% 19,6%,...) * @param rate Rate value to format (19.6 19,6 19.6% 19,6%,...)
* @param addpercent Add a percent % sign in output * @param addpercent Add a percent % sign in output
* @param info_bits Miscellanous information on vat * @param info_bits Miscellanous information on vat
@@ -2865,6 +2861,7 @@ function vatrate($rate,$addpercent=false,$info_bits=0)
/** /**
* Fonction qui formate un montant pour visualisation * Fonction qui formate un montant pour visualisation
* Fonction utilisee dans les pdf et les pages html * Fonction utilisee dans les pdf et les pages html
*
* @param amount Montant a formater * @param amount Montant a formater
* @param html Type de formatage, html ou pas (par defaut) * @param html Type de formatage, html ou pas (par defaut)
* @param outlangs Objet langs pour formatage text * @param outlangs Objet langs pour formatage text
@@ -2937,7 +2934,8 @@ function price($amount, $html=0, $outlangs='', $trunc=1, $rounding=-1, $forcerou
/** /**
* Function that return a number with universal decimal format (decimal separator is '.') from * Function that return a number with universal decimal format (decimal separator is '.') from
* an amount typed by a user. * an amount typed by a user.
* Function to use on each input amount before any numeric test or database insert. * Function to use on each input amount before any numeric test or database insert
*
* @param amount Amount to convert/clean * @param amount Amount to convert/clean
* @param rounding ''=No rounding * @param rounding ''=No rounding
* 'MU'=Round to Max unit price (MAIN_MAX_DECIMALS_UNIT) * 'MU'=Round to Max unit price (MAIN_MAX_DECIMALS_UNIT)
@@ -3022,6 +3020,7 @@ function price2num($amount,$rounding='',$alreadysqlnb=0)
/** /**
* Return localtaxe rate for a particular tva * Return localtaxe rate for a particular tva
*
* @param tva Vat taxe * @param tva Vat taxe
* @param local Local taxe to search and return * @param local Local taxe to search and return
* @param societe_acheteuse Object of buying third party * @param societe_acheteuse Object of buying third party
@@ -3060,7 +3059,8 @@ function get_localtax($tva, $local, $societe_acheteuse="")
/** /**
* Return vat rate of a product in a particular selling country or default country * Return vat rate of a product in a particular selling country or default country
* vat if product is unknown. * vat if product is unknown
*
* @param idprod Id of product or 0 if not a predefined product * @param idprod Id of product or 0 if not a predefined product
* @param countrycode Country code (FR, US, IT, ...) * @param countrycode Country code (FR, US, IT, ...)
* @return int <0 if KO, Vat rate if OK * @return int <0 if KO, Vat rate if OK
@@ -3119,6 +3119,7 @@ function get_product_vat_for_country($idprod, $countrycode)
/** /**
* Return localtax rate of a product in a particular selling country * Return localtax rate of a product in a particular selling country
*
* @param idprod Id of product * @param idprod Id of product
* @package local 1 for localtax1, 2 for localtax 2 * @package local 1 for localtax1, 2 for localtax 2
* @param countrycode Country code (FR, US, IT, ...) * @param countrycode Country code (FR, US, IT, ...)
@@ -3276,6 +3277,7 @@ function get_default_localtax($societe_vendeuse, $societe_acheteuse, $local, $id
/** /**
* Return yes or no in current language * Return yes or no in current language
*
* @param yesno Value to test (1, 'yes', 'true' or 0, 'no', 'false') * @param yesno Value to test (1, 'yes', 'true' or 0, 'no', 'false')
* @param case 1=Yes/No, 0=yes/no * @param case 1=Yes/No, 0=yes/no
* @param color 0=texte only, 1=Text is formated with a color font style ('ok' or 'error'), 2=Text is formated with 'ok' color. * @param color 0=texte only, 1=Text is formated with a color font style ('ok' or 'error'), 2=Text is formated with 'ok' color.
@@ -3304,6 +3306,7 @@ function yn($yesno, $case=1, $color=0)
* Return a path to have a directory according to an id * Return a path to have a directory according to an id
* Examples: '001' with level 3->"0/0/1/", '015' with level 3->"0/1/5/" * Examples: '001' with level 3->"0/0/1/", '015' with level 3->"0/1/5/"
* Examples: 'ABC-1' with level 3 ->"0/0/1/", '015' with level 1->"5/" * Examples: 'ABC-1' with level 3 ->"0/0/1/", '015' with level 1->"5/"
*
* @param $num Id to develop * @param $num Id to develop
* @param $level Level of development (1, 2 or 3 level) * @param $level Level of development (1, 2 or 3 level)
* @param $alpha Use alpha ref * @param $alpha Use alpha ref
@@ -3330,6 +3333,7 @@ function create_exdir($dir)
/** /**
* Creation of a directory (recursive) * Creation of a directory (recursive)
*
* @param $dir Directory to create * @param $dir Directory to create
* @return int < 0 if KO, 0 = already exists, > 0 if OK * @return int < 0 if KO, 0 = already exists, > 0 if OK
*/ */
@@ -3391,6 +3395,7 @@ function dol_mkdir($dir)
/** /**
* Return picto saying a field is required * Return picto saying a field is required
*
* @return string Chaine avec picto obligatoire * @return string Chaine avec picto obligatoire
*/ */
function picto_required() function picto_required()
@@ -3401,6 +3406,7 @@ function picto_required()
/** /**
* Clean a string from all HTML tags and entities * Clean a string from all HTML tags and entities
*
* @param StringHtml String to clean * @param StringHtml String to clean
* @param removelinefeed Replace also all lines feeds by a space * @param removelinefeed Replace also all lines feeds by a space
* @return string String cleaned * @return string String cleaned
@@ -3425,7 +3431,8 @@ function dol_string_nohtmltag($StringHtml,$removelinefeed=1)
/** /**
* Replace CRLF in string with a HTML BR tag. * Replace CRLF in string with a HTML BR tag
*
* @param stringtoencode String to encode * @param stringtoencode String to encode
* @param nl2brmode 0=Adding br before \n, 1=Replacing \n by br * @param nl2brmode 0=Adding br before \n, 1=Replacing \n by br
* @param forxml false=Use <br>, true=Use <br /> * @param forxml false=Use <br>, true=Use <br />
@@ -3455,7 +3462,8 @@ function dol_nl2br($stringtoencode,$nl2brmode=0,$forxml=false)
* - writeHTMLCell -> param must be encoded into HTML. * - writeHTMLCell -> param must be encoded into HTML.
* - MultiCell -> param must not be encoded into HTML. * - MultiCell -> param must not be encoded into HTML.
* Because writeHTMLCell convert also \n into <br>, if function * Because writeHTMLCell convert also \n into <br>, if function
* is used to build PDF, nl2brmode must be 1. * is used to build PDF, nl2brmode must be 1
*
* @param stringtoencode String to encode * @param stringtoencode String to encode
* @param nl2brmode 0=Adding br before \n, 1=Replacing \n by br (for use with FPDF writeHTMLCell function for example) * @param nl2brmode 0=Adding br before \n, 1=Replacing \n by br (for use with FPDF writeHTMLCell function for example)
* @param pagecodefrom Pagecode stringtoencode is encoded * @param pagecodefrom Pagecode stringtoencode is encoded
@@ -3482,6 +3490,7 @@ function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8')
/** /**
* This function is called to decode a HTML string (it decodes entities and br tags) * This function is called to decode a HTML string (it decodes entities and br tags)
*
* @param stringtodecode String to decode * @param stringtodecode String to decode
* @param pagecodeto Page code for result * @param pagecodeto Page code for result
*/ */
@@ -3497,6 +3506,7 @@ function dol_htmlentitiesbr_decode($stringtodecode,$pagecodeto='UTF-8')
/** /**
* This function remove all ending \n and br at end * This function remove all ending \n and br at end
*
* @param stringtodecode String to decode * @param stringtodecode String to decode
*/ */
function dol_htmlcleanlastbr($stringtodecode) function dol_htmlcleanlastbr($stringtodecode)
@@ -3507,6 +3517,7 @@ function dol_htmlcleanlastbr($stringtodecode)
/** /**
* This function is called to decode a string with HTML entities (it decodes entities tags) * This function is called to decode a string with HTML entities (it decodes entities tags)
*
* @param stringhtml stringhtml * @param stringhtml stringhtml
* @param pagecodeto Encoding of input string * @param pagecodeto Encoding of input string
* @return string decodestring * @return string decodestring
@@ -3519,6 +3530,7 @@ function dol_entity_decode($stringhtml,$pagecodeto='UTF-8')
/** /**
* Replace html_entity_decode functions to manage errors * Replace html_entity_decode functions to manage errors
*
* @param a * @param a
* @param b * @param b
* @param c * @param c
@@ -3533,6 +3545,7 @@ function dol_html_entity_decode($a,$b,$c)
/** /**
* Replace htmlentities functions to manage errors * Replace htmlentities functions to manage errors
*
* @param a * @param a
* @param b * @param b
* @param c * @param c
@@ -3549,7 +3562,8 @@ function dol_htmlentities($a,$b,$c)
/** /**
* Check if a string is a correct iso string * Check if a string is a correct iso string
* If not, it will we considered not HTML encoded even if it is by FPDF. * If not, it will we considered not HTML encoded even if it is by FPDF.
* Example, if string contains euro symbol that has ascii code 128. * Example, if string contains euro symbol that has ascii code 128
*
* @param s String to check * @param s String to check
* @return int 0 if bad iso, 1 if good iso * @return int 0 if bad iso, 1 if good iso
*/ */
@@ -3570,6 +3584,7 @@ function dol_string_is_good_iso($s)
/** /**
* Return nb of lines of a clear text * Return nb of lines of a clear text
*
* @param s String to check * @param s String to check
* @param maxchar Not yet used * @param maxchar Not yet used
* @return int Number of lines * @return int Number of lines
@@ -3586,6 +3601,7 @@ function dol_nboflines($s,$maxchar=0)
/** /**
* Return nb of lines of a formated text with \n and <br> * Return nb of lines of a formated text with \n and <br>
*
* @param text Text * @param text Text
* @param maxlinesize Largeur de ligne en caracteres (ou 0 si pas de limite - defaut) * @param maxlinesize Largeur de ligne en caracteres (ou 0 si pas de limite - defaut)
* @param charset Give the charset used to encode the $text variable in memory. * @param charset Give the charset used to encode the $text variable in memory.
@@ -3622,6 +3638,7 @@ function dol_nboflines_bis($text,$maxlinesize=0,$charset='UTF-8')
/** /**
* Same function than microtime in PHP 5 but compatible with PHP4 * Same function than microtime in PHP 5 but compatible with PHP4
*
* @return float Time (millisecondes) with microsecondes in decimal part * @return float Time (millisecondes) with microsecondes in decimal part
*/ */
function dol_microtime_float() function dol_microtime_float()
@@ -3632,6 +3649,7 @@ function dol_microtime_float()
/** /**
* Return if a text is a html content * Return if a text is a html content
*
* @param msg Content to check * @param msg Content to check
* @param option 0=Full detection, 1=Fast check * @param option 0=Full detection, 1=Fast check
* @return boolean true/false * @return boolean true/false
@@ -4094,7 +4112,8 @@ function verifCond($strRights)
/** /**
* Replace eval function to add more security. * Replace eval function to add more security.
* This function is called by verifCond(). * This function is called by verifCond()
*
* @param string $s * @param string $s
*/ */
function dol_eval($s) function dol_eval($s)

View File

@@ -1248,7 +1248,6 @@ th.liste_titre, td.liste_titre
font-weight: normal; font-weight: normal;
/* border-bottom: 1px solid #FDFFFF; */ /* border-bottom: 1px solid #FDFFFF; */
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
th.liste_titre_sel, td.liste_titre_sel th.liste_titre_sel, td.liste_titre_sel
{ {
@@ -1261,7 +1260,6 @@ th.liste_titre_sel, td.liste_titre_sel
/* text-decoration: underline; */ /* text-decoration: underline; */
/* border-bottom: 1px solid #FDFFFF; */ /* border-bottom: 1px solid #FDFFFF; */
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {
background: transparent; background: transparent;

View File

@@ -1439,7 +1439,6 @@ th.liste_titre, td.liste_titre
white-space: nowrap; white-space: nowrap;
background-image: none; background-image: none;
background: none; background: none;
text-align: <?php echo $left; ?>;
} }
/*tr.liste_titre select.flat { /*tr.liste_titre select.flat {
@@ -1455,8 +1454,7 @@ tr.liste_titre input.button {
/*margin: 30px 10px 10px 0px;*/ /*margin: 30px 10px 10px 0px;*/
} }
th.liste_titre_sel, td.liste_titre_sel td.liste_titre_sel {
{
background: #505050; background: #505050;
background-repeat: repeat-x; background-repeat: repeat-x;
color: #FFFFFF; color: #FFFFFF;
@@ -1465,7 +1463,6 @@ th.liste_titre_sel, td.liste_titre_sel
/* text-decoration: underline; */ /* text-decoration: underline; */
/* border-bottom: 1px solid #FDFFFF; */ /* border-bottom: 1px solid #FDFFFF; */
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {

View File

@@ -1355,7 +1355,6 @@ th.liste_titre, td.liste_titre
padding-left: 6px; padding-left: 6px;
padding-right: 6px; padding-right: 6px;
/*vertical-align: text-top;*/ /*vertical-align: text-top;*/
text-align: <?php echo $left; ?>;
} }
th.liste_titre_sel, td.liste_titre_sel th.liste_titre_sel, td.liste_titre_sel
{ {
@@ -1363,7 +1362,6 @@ th.liste_titre_sel, td.liste_titre_sel
color: #A51B00; color: #A51B00;
font-weight: bold; font-weight: bold;
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {

View File

@@ -1266,7 +1266,6 @@ th.liste_titre, td.liste_titre
font-weight: normal; font-weight: normal;
border-bottom: 1px solid #FDFFFF; border-bottom: 1px solid #FDFFFF;
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
th.liste_titre_sel, td.liste_titre_sel th.liste_titre_sel, td.liste_titre_sel
{ {
@@ -1278,7 +1277,6 @@ th.liste_titre_sel, td.liste_titre_sel
font-weight: normal; font-weight: normal;
border-bottom: 1px solid #FDFFFF; border-bottom: 1px solid #FDFFFF;
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {
background: #7699A9; background: #7699A9;