Browse Source

QUAL group all flag images into 1 sprite file. (#26459)

* add flag sprite

* add missing

* wip

* wip

* add script used to generate flags sprite

* add script used to generate flags sprite

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
Frédéric FRANCE 1 năm trước cách đây
mục cha
commit
22a37bf36a

+ 57 - 0
dev/tools/make_sprite.sh

@@ -0,0 +1,57 @@
+#!/bin/bash
+
+# Based of: https://gist.github.com/jaymzcd/342399 and https://github.com/buren/flag-sprite-maker
+
+# uses imagemagick to stich together all images in a folder and
+# then writes a css file with the correct offsets along with a
+# test html page for verification that its all good
+
+# Usage:
+# $ ./make_sprite.sh path class_name image_extension
+
+set -euo pipefail
+IFS=$'\n\t'
+
+name='output'; # output will be placed in a folder named this
+path="${1:-}"  # Path to flag images
+classname=${2:-flag}"-sprite"
+ext="."${3:-png}; # the extension to iterate over for input files
+
+css="$name/$classname.css";
+html="$name/test.html";
+
+rm -fr $name;
+mkdir $name;
+touch $css $html;
+
+echo "Generating sprite file...";
+convert $path*$ext -append $name/$classname$ext;
+echo "Sprite complete! - Creating css & test output...";
+
+echo -e "<html>\n<head>\n\t<link rel=\"stylesheet\" href=\"`basename $css`\" />\n</head>\n<body>\n\t<h1>Sprite test page</h1>\n" >> $html
+
+echo -e ".$classname {\n\tbackground:url('$classname$ext') no-repeat top left; display:inline-block;\n}" >> $css;
+counter=0;
+offset=0;
+for file in $path*$ext
+do
+    width=`identify -format "%[fx:w]" "$file"`;
+    height=`identify -format "%[fx:h]" "$file"`;
+    idname=`basename "$file" $ext`;
+    clean=${idname// /-}
+    echo -e ".$classname.$clean {" >> $css;
+    echo -e "\tbackground-position:0 -${offset}px;" >> $css;
+    echo -e "\twidth: ${width}px;" >> $css;
+    echo -e "\theight: ${height}px;\n}" >> $css;
+
+    echo -e "<div style=\"display:inline-block;width:100px;\"><div style=\"overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;\">$clean</div> <a href=\"#\" class=\"$classname $clean\"></a></div>\n" >> $html;
+
+    let offset+=$height;
+    let counter+=1;
+    echo -e "\t#$counter done";
+done
+
+echo -e "<h2>Full sprite:</h2>\n<img src=\"$classname$ext\" />" >> $html;
+echo -e "</body>\n</html>" >> $html;
+
+echo -e "\nComplete! - $counter sprites created, css written & test page output.";

+ 2 - 1
htdocs/core/lib/functions.lib.php

@@ -9627,7 +9627,8 @@ function picto_from_langcode($codelang, $moreatt = '', $notitlealt = 0)
 		$flagImage = empty($tmparray[1]) ? $tmparray[0] : $tmparray[1];
 	}
 
-	return img_picto_common($codelang, 'flags/'.strtolower($flagImage).'.png', $moreatt, 0, $notitlealt);
+	// return img_picto_common($codelang, 'flags/'.strtolower($flagImage).'.png', $moreatt, 0, $notitlealt);
+	return '<span class="flag-sprite '.strtolower($flagImage).'"'.($moreatt ? ' '.$moreatt : '').(!$notitlealt ? ' title="'.$codelang.'"' : '').'></span>';
 }
 
 /**

BIN
htdocs/theme/common/flags/flag-sprite.png


+ 1279 - 0
htdocs/theme/eldy/flags-sprite.inc.php

@@ -0,0 +1,1279 @@
+<?php
+if (!defined('ISLOADEDBYSTEELSHEET')) {
+	die('Must be call by steelsheet');
+} ?>
+/* <style type="text/css" > dont remove this line it's an ide hack */
+
+.flag-sprite {
+	background:url(<?php echo dol_buildpath($path.'/theme/common/flags/flag-sprite.png', 1) ?>) no-repeat top left; display:inline-block;
+}
+.flag-sprite.ad {
+	background-position:0 -0px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ae {
+	background-position:0 -11px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.af {
+	background-position:0 -22px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ag {
+	background-position:0 -33px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ai {
+	background-position:0 -44px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.al {
+	background-position:0 -55px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.am {
+	background-position:0 -66px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.an {
+	background-position:0 -77px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ao {
+	background-position:0 -88px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ar {
+	background-position:0 -99px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.as {
+	background-position:0 -110px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.at {
+	background-position:0 -121px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.au {
+	background-position:0 -132px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.aw {
+	background-position:0 -143px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ax {
+	background-position:0 -154px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.az {
+	background-position:0 -165px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ba {
+	background-position:0 -176px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bb {
+	background-position:0 -187px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bd {
+	background-position:0 -198px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.be {
+	background-position:0 -209px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bf {
+	background-position:0 -220px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bg {
+	background-position:0 -231px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bh {
+	background-position:0 -242px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bi {
+	background-position:0 -253px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bj {
+	background-position:0 -264px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bm {
+	background-position:0 -275px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bn {
+	background-position:0 -286px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bo {
+	background-position:0 -297px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.br {
+	background-position:0 -308px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bs {
+	background-position:0 -319px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bt {
+	background-position:0 -330px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bv {
+	background-position:0 -341px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bw {
+	background-position:0 -352px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.by {
+	background-position:0 -363px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bz {
+	background-position:0 -374px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ca {
+	background-position:0 -385px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.catalonia {
+	background-position:0 -396px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cc {
+	background-position:0 -407px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cd {
+	background-position:0 -418px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cf {
+	background-position:0 -429px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cg {
+	background-position:0 -440px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ch {
+	background-position:0 -451px;
+	width: 11px;
+	height: 11px;
+}
+.flag-sprite.ci {
+	background-position:0 -462px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ck {
+	background-position:0 -473px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cl {
+	background-position:0 -484px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cm {
+	background-position:0 -495px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cn {
+	background-position:0 -506px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.co {
+	background-position:0 -517px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cr {
+	background-position:0 -528px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cs {
+	background-position:0 -539px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cu {
+	background-position:0 -550px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cv {
+	background-position:0 -561px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cx {
+	background-position:0 -572px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cy {
+	background-position:0 -583px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cz {
+	background-position:0 -594px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.de {
+	background-position:0 -605px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.dj {
+	background-position:0 -616px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.dk {
+	background-position:0 -627px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.dm {
+	background-position:0 -638px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.do {
+	background-position:0 -649px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.dz {
+	background-position:0 -660px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ec {
+	background-position:0 -671px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ee {
+	background-position:0 -682px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.eg {
+	background-position:0 -693px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.eh {
+	background-position:0 -704px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.england {
+	background-position:0 -715px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.en {
+	background-position:0 -726px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.er {
+	background-position:0 -737px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.es {
+	background-position:0 -748px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.et {
+	background-position:0 -759px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.eu {
+	background-position:0 -770px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fam {
+	background-position:0 -781px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fi {
+	background-position:0 -792px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fj {
+	background-position:0 -803px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fk {
+	background-position:0 -814px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fm {
+	background-position:0 -825px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fo {
+	background-position:0 -836px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fr {
+	background-position:0 -847px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ga {
+	background-position:0 -858px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gb {
+	background-position:0 -869px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gd {
+	background-position:0 -880px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ge {
+	background-position:0 -891px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gf {
+	background-position:0 -902px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gg {
+	background-position:0 -913px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gh {
+	background-position:0 -924px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gi {
+	background-position:0 -935px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gl {
+	background-position:0 -946px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gm {
+	background-position:0 -957px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gn {
+	background-position:0 -968px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gp {
+	background-position:0 -979px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gq {
+	background-position:0 -990px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gr {
+	background-position:0 -1001px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gs {
+	background-position:0 -1012px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gt {
+	background-position:0 -1023px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gu {
+	background-position:0 -1034px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gw {
+	background-position:0 -1045px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gy {
+	background-position:0 -1056px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hk {
+	background-position:0 -1067px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hm {
+	background-position:0 -1078px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hn {
+	background-position:0 -1089px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hr {
+	background-position:0 -1100px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ht {
+	background-position:0 -1111px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hu {
+	background-position:0 -1122px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.id {
+	background-position:0 -1133px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ie {
+	background-position:0 -1144px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.il {
+	background-position:0 -1155px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.in {
+	background-position:0 -1166px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.int {
+	background-position:0 -1177px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.io {
+	background-position:0 -1188px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.iq {
+	background-position:0 -1199px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ir {
+	background-position:0 -1210px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.is {
+	background-position:0 -1221px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.it {
+	background-position:0 -1232px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.jm {
+	background-position:0 -1243px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.jo {
+	background-position:0 -1254px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.jp {
+	background-position:0 -1265px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ke {
+	background-position:0 -1276px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kg {
+	background-position:0 -1287px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kh {
+	background-position:0 -1298px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ki {
+	background-position:0 -1309px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.km {
+	background-position:0 -1320px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kn {
+	background-position:0 -1331px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kp {
+	background-position:0 -1342px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kr {
+	background-position:0 -1353px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kw {
+	background-position:0 -1364px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ky {
+	background-position:0 -1375px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kz {
+	background-position:0 -1386px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.la {
+	background-position:0 -1397px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lb {
+	background-position:0 -1408px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lc {
+	background-position:0 -1419px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.li {
+	background-position:0 -1430px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lk {
+	background-position:0 -1441px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lr {
+	background-position:0 -1452px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ls {
+	background-position:0 -1463px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lt {
+	background-position:0 -1474px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lu {
+	background-position:0 -1485px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lv {
+	background-position:0 -1496px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ly {
+	background-position:0 -1507px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ma {
+	background-position:0 -1518px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mc {
+	background-position:0 -1529px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.md {
+	background-position:0 -1540px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.me {
+	background-position:0 -1551px;
+	width: 16px;
+	height: 12px;
+}
+.flag-sprite.mg {
+	background-position:0 -1563px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mh {
+	background-position:0 -1574px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mk {
+	background-position:0 -1585px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ml {
+	background-position:0 -1596px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mm {
+	background-position:0 -1607px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mn {
+	background-position:0 -1618px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mo {
+	background-position:0 -1629px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mp {
+	background-position:0 -1640px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mq {
+	background-position:0 -1651px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mr {
+	background-position:0 -1662px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ms {
+	background-position:0 -1673px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mt {
+	background-position:0 -1684px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mu {
+	background-position:0 -1695px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mv {
+	background-position:0 -1706px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mw {
+	background-position:0 -1717px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mx {
+	background-position:0 -1728px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.my {
+	background-position:0 -1739px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mz {
+	background-position:0 -1750px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.na {
+	background-position:0 -1761px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nc {
+	background-position:0 -1772px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ne {
+	background-position:0 -1783px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nf {
+	background-position:0 -1794px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ng {
+	background-position:0 -1805px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ni {
+	background-position:0 -1816px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nl {
+	background-position:0 -1827px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.no {
+	background-position:0 -1838px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.np {
+	background-position:0 -1849px;
+	width: 9px;
+	height: 11px;
+}
+.flag-sprite.nr {
+	background-position:0 -1860px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nu {
+	background-position:0 -1871px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nz {
+	background-position:0 -1882px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.om {
+	background-position:0 -1893px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pa {
+	background-position:0 -1904px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pe {
+	background-position:0 -1915px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pf {
+	background-position:0 -1926px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pg {
+	background-position:0 -1937px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ph {
+	background-position:0 -1948px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pk {
+	background-position:0 -1959px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pl {
+	background-position:0 -1970px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pm {
+	background-position:0 -1981px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pn {
+	background-position:0 -1992px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pr {
+	background-position:0 -2003px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ps {
+	background-position:0 -2014px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pt {
+	background-position:0 -2025px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pw {
+	background-position:0 -2036px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.py {
+	background-position:0 -2047px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.qa {
+	background-position:0 -2058px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.re {
+	background-position:0 -2069px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ro {
+	background-position:0 -2080px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.rs {
+	background-position:0 -2091px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ru {
+	background-position:0 -2102px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.rw {
+	background-position:0 -2113px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sa {
+	background-position:0 -2124px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sb {
+	background-position:0 -2135px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.scotland {
+	background-position:0 -2146px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sc {
+	background-position:0 -2157px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sd {
+	background-position:0 -2168px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.se {
+	background-position:0 -2179px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sg {
+	background-position:0 -2190px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sh {
+	background-position:0 -2201px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.si {
+	background-position:0 -2212px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sj {
+	background-position:0 -2223px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sk {
+	background-position:0 -2234px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sl {
+	background-position:0 -2245px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sm {
+	background-position:0 -2256px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sn {
+	background-position:0 -2267px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.so {
+	background-position:0 -2278px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sr {
+	background-position:0 -2289px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.st {
+	background-position:0 -2300px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sv {
+	background-position:0 -2311px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sy {
+	background-position:0 -2322px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sz {
+	background-position:0 -2333px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tc {
+	background-position:0 -2344px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.td {
+	background-position:0 -2355px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tf {
+	background-position:0 -2366px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tg {
+	background-position:0 -2377px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.th {
+	background-position:0 -2388px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tj {
+	background-position:0 -2399px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tk {
+	background-position:0 -2410px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tl {
+	background-position:0 -2421px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tm {
+	background-position:0 -2432px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tn {
+	background-position:0 -2443px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.to {
+	background-position:0 -2454px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.trans {
+	background-position:0 -2465px;
+	width: 1px;
+	height: 1px;
+}
+.flag-sprite.tr {
+	background-position:0 -2466px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tt {
+	background-position:0 -2477px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tv {
+	background-position:0 -2488px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tw {
+	background-position:0 -2499px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tz {
+	background-position:0 -2510px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ua {
+	background-position:0 -2521px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ug {
+	background-position:0 -2532px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.uk {
+	background-position:0 -2543px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.um {
+	background-position:0 -2554px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.unknown {
+	background-position:0 -2565px;
+	width: 16px;
+	height: 16px;
+}
+.flag-sprite.us {
+	background-position:0 -2581px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.uy {
+	background-position:0 -2592px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.uz {
+	background-position:0 -2603px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.va {
+	background-position:0 -2614px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vc {
+	background-position:0 -2625px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ve {
+	background-position:0 -2636px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vg {
+	background-position:0 -2647px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vi {
+	background-position:0 -2658px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vn {
+	background-position:0 -2669px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vu {
+	background-position:0 -2680px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.wales {
+	background-position:0 -2691px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.wf {
+	background-position:0 -2702px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ws {
+	background-position:0 -2713px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.xk {
+	background-position:0 -2724px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ye {
+	background-position:0 -2735px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.yt {
+	background-position:0 -2746px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.za {
+	background-position:0 -2757px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.zm {
+	background-position:0 -2768px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.zw {
+	background-position:0 -2779px;
+	width: 16px;
+	height: 11px;
+}

+ 1 - 0
htdocs/theme/eldy/global.inc.php

@@ -1068,6 +1068,7 @@ span.fa.fa-plus-circle.paddingleft {
 /* Themes for badges */
 
 <?php include dol_buildpath($path.'/theme/'.$theme.'/badges.inc.php', 0); ?>
+<?php include dol_buildpath($path.'/theme/'.$theme.'/flags-sprite.inc.php', 0); ?>
 
 .borderrightlight
 {

+ 1279 - 0
htdocs/theme/md/flags-sprite.inc.php

@@ -0,0 +1,1279 @@
+<?php
+if (!defined('ISLOADEDBYSTEELSHEET')) {
+	die('Must be call by steelsheet');
+} ?>
+/* <style type="text/css" > dont remove this line it's an ide hack */
+
+.flag-sprite {
+	background:url(<?php echo dol_buildpath($path.'/theme/common/flags/flag-sprite.png', 1) ?>) no-repeat top left; display:inline-block;
+}
+.flag-sprite.ad {
+	background-position:0 -0px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ae {
+	background-position:0 -11px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.af {
+	background-position:0 -22px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ag {
+	background-position:0 -33px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ai {
+	background-position:0 -44px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.al {
+	background-position:0 -55px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.am {
+	background-position:0 -66px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.an {
+	background-position:0 -77px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ao {
+	background-position:0 -88px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ar {
+	background-position:0 -99px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.as {
+	background-position:0 -110px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.at {
+	background-position:0 -121px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.au {
+	background-position:0 -132px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.aw {
+	background-position:0 -143px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ax {
+	background-position:0 -154px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.az {
+	background-position:0 -165px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ba {
+	background-position:0 -176px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bb {
+	background-position:0 -187px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bd {
+	background-position:0 -198px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.be {
+	background-position:0 -209px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bf {
+	background-position:0 -220px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bg {
+	background-position:0 -231px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bh {
+	background-position:0 -242px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bi {
+	background-position:0 -253px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bj {
+	background-position:0 -264px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bm {
+	background-position:0 -275px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bn {
+	background-position:0 -286px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bo {
+	background-position:0 -297px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.br {
+	background-position:0 -308px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bs {
+	background-position:0 -319px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bt {
+	background-position:0 -330px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bv {
+	background-position:0 -341px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bw {
+	background-position:0 -352px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.by {
+	background-position:0 -363px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.bz {
+	background-position:0 -374px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ca {
+	background-position:0 -385px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.catalonia {
+	background-position:0 -396px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cc {
+	background-position:0 -407px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cd {
+	background-position:0 -418px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cf {
+	background-position:0 -429px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cg {
+	background-position:0 -440px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ch {
+	background-position:0 -451px;
+	width: 11px;
+	height: 11px;
+}
+.flag-sprite.ci {
+	background-position:0 -462px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ck {
+	background-position:0 -473px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cl {
+	background-position:0 -484px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cm {
+	background-position:0 -495px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cn {
+	background-position:0 -506px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.co {
+	background-position:0 -517px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cr {
+	background-position:0 -528px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cs {
+	background-position:0 -539px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cu {
+	background-position:0 -550px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cv {
+	background-position:0 -561px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cx {
+	background-position:0 -572px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cy {
+	background-position:0 -583px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.cz {
+	background-position:0 -594px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.de {
+	background-position:0 -605px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.dj {
+	background-position:0 -616px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.dk {
+	background-position:0 -627px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.dm {
+	background-position:0 -638px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.do {
+	background-position:0 -649px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.dz {
+	background-position:0 -660px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ec {
+	background-position:0 -671px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ee {
+	background-position:0 -682px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.eg {
+	background-position:0 -693px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.eh {
+	background-position:0 -704px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.england {
+	background-position:0 -715px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.en {
+	background-position:0 -726px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.er {
+	background-position:0 -737px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.es {
+	background-position:0 -748px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.et {
+	background-position:0 -759px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.eu {
+	background-position:0 -770px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fam {
+	background-position:0 -781px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fi {
+	background-position:0 -792px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fj {
+	background-position:0 -803px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fk {
+	background-position:0 -814px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fm {
+	background-position:0 -825px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fo {
+	background-position:0 -836px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.fr {
+	background-position:0 -847px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ga {
+	background-position:0 -858px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gb {
+	background-position:0 -869px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gd {
+	background-position:0 -880px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ge {
+	background-position:0 -891px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gf {
+	background-position:0 -902px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gg {
+	background-position:0 -913px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gh {
+	background-position:0 -924px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gi {
+	background-position:0 -935px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gl {
+	background-position:0 -946px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gm {
+	background-position:0 -957px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gn {
+	background-position:0 -968px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gp {
+	background-position:0 -979px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gq {
+	background-position:0 -990px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gr {
+	background-position:0 -1001px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gs {
+	background-position:0 -1012px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gt {
+	background-position:0 -1023px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gu {
+	background-position:0 -1034px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gw {
+	background-position:0 -1045px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.gy {
+	background-position:0 -1056px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hk {
+	background-position:0 -1067px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hm {
+	background-position:0 -1078px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hn {
+	background-position:0 -1089px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hr {
+	background-position:0 -1100px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ht {
+	background-position:0 -1111px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.hu {
+	background-position:0 -1122px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.id {
+	background-position:0 -1133px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ie {
+	background-position:0 -1144px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.il {
+	background-position:0 -1155px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.in {
+	background-position:0 -1166px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.int {
+	background-position:0 -1177px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.io {
+	background-position:0 -1188px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.iq {
+	background-position:0 -1199px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ir {
+	background-position:0 -1210px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.is {
+	background-position:0 -1221px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.it {
+	background-position:0 -1232px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.jm {
+	background-position:0 -1243px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.jo {
+	background-position:0 -1254px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.jp {
+	background-position:0 -1265px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ke {
+	background-position:0 -1276px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kg {
+	background-position:0 -1287px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kh {
+	background-position:0 -1298px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ki {
+	background-position:0 -1309px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.km {
+	background-position:0 -1320px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kn {
+	background-position:0 -1331px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kp {
+	background-position:0 -1342px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kr {
+	background-position:0 -1353px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kw {
+	background-position:0 -1364px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ky {
+	background-position:0 -1375px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.kz {
+	background-position:0 -1386px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.la {
+	background-position:0 -1397px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lb {
+	background-position:0 -1408px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lc {
+	background-position:0 -1419px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.li {
+	background-position:0 -1430px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lk {
+	background-position:0 -1441px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lr {
+	background-position:0 -1452px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ls {
+	background-position:0 -1463px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lt {
+	background-position:0 -1474px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lu {
+	background-position:0 -1485px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.lv {
+	background-position:0 -1496px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ly {
+	background-position:0 -1507px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ma {
+	background-position:0 -1518px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mc {
+	background-position:0 -1529px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.md {
+	background-position:0 -1540px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.me {
+	background-position:0 -1551px;
+	width: 16px;
+	height: 12px;
+}
+.flag-sprite.mg {
+	background-position:0 -1563px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mh {
+	background-position:0 -1574px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mk {
+	background-position:0 -1585px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ml {
+	background-position:0 -1596px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mm {
+	background-position:0 -1607px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mn {
+	background-position:0 -1618px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mo {
+	background-position:0 -1629px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mp {
+	background-position:0 -1640px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mq {
+	background-position:0 -1651px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mr {
+	background-position:0 -1662px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ms {
+	background-position:0 -1673px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mt {
+	background-position:0 -1684px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mu {
+	background-position:0 -1695px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mv {
+	background-position:0 -1706px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mw {
+	background-position:0 -1717px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mx {
+	background-position:0 -1728px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.my {
+	background-position:0 -1739px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.mz {
+	background-position:0 -1750px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.na {
+	background-position:0 -1761px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nc {
+	background-position:0 -1772px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ne {
+	background-position:0 -1783px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nf {
+	background-position:0 -1794px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ng {
+	background-position:0 -1805px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ni {
+	background-position:0 -1816px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nl {
+	background-position:0 -1827px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.no {
+	background-position:0 -1838px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.np {
+	background-position:0 -1849px;
+	width: 9px;
+	height: 11px;
+}
+.flag-sprite.nr {
+	background-position:0 -1860px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nu {
+	background-position:0 -1871px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.nz {
+	background-position:0 -1882px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.om {
+	background-position:0 -1893px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pa {
+	background-position:0 -1904px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pe {
+	background-position:0 -1915px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pf {
+	background-position:0 -1926px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pg {
+	background-position:0 -1937px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ph {
+	background-position:0 -1948px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pk {
+	background-position:0 -1959px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pl {
+	background-position:0 -1970px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pm {
+	background-position:0 -1981px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pn {
+	background-position:0 -1992px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pr {
+	background-position:0 -2003px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ps {
+	background-position:0 -2014px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pt {
+	background-position:0 -2025px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.pw {
+	background-position:0 -2036px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.py {
+	background-position:0 -2047px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.qa {
+	background-position:0 -2058px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.re {
+	background-position:0 -2069px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ro {
+	background-position:0 -2080px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.rs {
+	background-position:0 -2091px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ru {
+	background-position:0 -2102px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.rw {
+	background-position:0 -2113px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sa {
+	background-position:0 -2124px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sb {
+	background-position:0 -2135px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.scotland {
+	background-position:0 -2146px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sc {
+	background-position:0 -2157px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sd {
+	background-position:0 -2168px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.se {
+	background-position:0 -2179px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sg {
+	background-position:0 -2190px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sh {
+	background-position:0 -2201px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.si {
+	background-position:0 -2212px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sj {
+	background-position:0 -2223px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sk {
+	background-position:0 -2234px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sl {
+	background-position:0 -2245px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sm {
+	background-position:0 -2256px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sn {
+	background-position:0 -2267px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.so {
+	background-position:0 -2278px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sr {
+	background-position:0 -2289px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.st {
+	background-position:0 -2300px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sv {
+	background-position:0 -2311px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sy {
+	background-position:0 -2322px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.sz {
+	background-position:0 -2333px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tc {
+	background-position:0 -2344px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.td {
+	background-position:0 -2355px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tf {
+	background-position:0 -2366px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tg {
+	background-position:0 -2377px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.th {
+	background-position:0 -2388px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tj {
+	background-position:0 -2399px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tk {
+	background-position:0 -2410px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tl {
+	background-position:0 -2421px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tm {
+	background-position:0 -2432px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tn {
+	background-position:0 -2443px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.to {
+	background-position:0 -2454px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.trans {
+	background-position:0 -2465px;
+	width: 1px;
+	height: 1px;
+}
+.flag-sprite.tr {
+	background-position:0 -2466px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tt {
+	background-position:0 -2477px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tv {
+	background-position:0 -2488px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tw {
+	background-position:0 -2499px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.tz {
+	background-position:0 -2510px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ua {
+	background-position:0 -2521px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ug {
+	background-position:0 -2532px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.uk {
+	background-position:0 -2543px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.um {
+	background-position:0 -2554px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.unknown {
+	background-position:0 -2565px;
+	width: 16px;
+	height: 16px;
+}
+.flag-sprite.us {
+	background-position:0 -2581px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.uy {
+	background-position:0 -2592px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.uz {
+	background-position:0 -2603px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.va {
+	background-position:0 -2614px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vc {
+	background-position:0 -2625px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ve {
+	background-position:0 -2636px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vg {
+	background-position:0 -2647px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vi {
+	background-position:0 -2658px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vn {
+	background-position:0 -2669px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.vu {
+	background-position:0 -2680px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.wales {
+	background-position:0 -2691px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.wf {
+	background-position:0 -2702px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ws {
+	background-position:0 -2713px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.xk {
+	background-position:0 -2724px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.ye {
+	background-position:0 -2735px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.yt {
+	background-position:0 -2746px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.za {
+	background-position:0 -2757px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.zm {
+	background-position:0 -2768px;
+	width: 16px;
+	height: 11px;
+}
+.flag-sprite.zw {
+	background-position:0 -2779px;
+	width: 16px;
+	height: 11px;
+}

+ 1 - 1
htdocs/theme/md/style.css.php

@@ -1322,6 +1322,7 @@ span.fa.fa-plus-circle.paddingleft {
 
 /* Themes for badges */
 <?php include dol_buildpath($path.'/theme/'.$theme.'/badges.inc.php', 0); ?>
+<?php include dol_buildpath($path.'/theme/'.$theme.'/flags-sprite.inc.php', 0); ?>
 
 .borderrightlight
 {
@@ -7959,4 +7960,3 @@ if (is_object($db)) {
 div.flot-text .flot-tick-label .tickLabel, .fa-color-unset {
 	color: unset;
 }
-