class extranetPage {\r
public static function header($args)\r
{\r
+ global $js;\r
global $core;\r
// Entête HTML\r
$res = '<html>';\r
foreach($onglets as $titre => $url) {\r
// Si cet onglet correspond à la page active, on le place actif\r
$active = ($args[0] == $url)?' class="active"':'';\r
- $res .= '<a href="' . SITE_PATH . $url . '" style="background-image:url(' . $core->typo->Onglet(mb_strtoupper($titre), '', false) . ');"' . $active . '>' . $titre . '</a>';\r
+ $res.='<a href="' . SITE_PATH . $url . '">'.cubeMedia::cssRollover($core->typo->Onglet($titre,'',false)).'</a>';\r
}\r
$res .= '</div>';\r
return $res;\r
extranetAjax::form('newBook', __("Créer une nouvelle publication à partir d'une existante"), wsUrl::chooseExistingBook(), __('Créer une nouvelle publication'), 3);\r
}\r
\r
+ public static function changeBookProprietaire($args, &$x)\r
+ {\r
+ extranetAjax::form('changeBookProprietaire', __("Modifier le propriétaire de la publication"), wsUrl::changeBookProprietaire($args[1]), __('Enregistrer'), 3);\r
+ }\r
+\r
public static function filtreBooks($args, &$x)\r
{\r
if (isset($args[1]) && $args[1] == 'efface') {\r
$res .= '<th>' . extranetUrl::orderby(__('Titre de la publication'), 'nom', $settings, 'sort' . $change) . '</th>';\r
$res .= '<th>' . extranetUrl::orderby(__(''), 'lang', $settings, 'sort' . $change) . '</th>';\r
$res .= '<th>' . extranetUrl::orderby(__('Proprietaire'), 'proprietaire_nom', $settings, 'sort' . $change) . '</th>';\r
- $res .= '<th>' . /*extranetUrl::orderby(__('Facturation'), 'facturable', $settings, 'sort' . $change) .*/ '</th>';\r
+ $res .= '<th>' ./*extranetUrl::orderby(__('Facturation'), 'facturable', $settings, 'sort' . $change) .*/ '</th>';\r
$res .= '<th>' . extranetUrl::orderby(__('Status'), 'status', $settings, 'sort' . $change) . '</th>';\r
$res .= '<th class="min"></th><th class="min"></th><th class="min"></th><th class="min"></th><th class="min"></th></tr>';\r
$i = 0;\r
\r
+ $btVoir = cubeMedia::cssRollover($core->typo->Voir('voir', '', false));\r
+ $btEdit = cubeMedia::cssRollover($core->typo->Editer('éditer', '', false));\r
+ $btStats = cubeMedia::cssRollover($core->typo->Stats('stats', '', false));\r
+ $btDownload = cubeMedia::cssRollover($core->typo->Telecharger('télécharger', '', false));\r
+ $btDel = cubeMedia::cssRollover($core->typo->Supprimer('suppr.', '', false));\r
+\r
foreach($liste as $id => $book) {\r
$odd = cubeMath::isOdd($i)?' class="odd"':'';\r
$res .= '<tr' . $odd . '>';\r
$res .= '<td>' . $book->book_id . '</td>';\r
$res .= '<td>' . $book->nom . '</td>';\r
$res .= '<td>' . mb_strtoupper($book->lang) . '</td>';\r
- $res .= '<td>' . $book->proprietaire . '</td>';\r
+ $res .= '<td><a href="#" class="popup" rel="changeBookProprietaire/' . $book->book_id . '" title="' . __('Mofifier le proprietaire') . '">' . $book->proprietaire . '</a></td>';\r
// $f = $book->facturable;\r
$res .= '<td>' ./* $f .*/ '</td>';\r
$res .= '<td>' . $core->books_status[$book->status] . '</td>';\r
- $res .= '<td class="bouton"><a href="' . SITE_PATH . 'voirbook/' . $book->book_id . '_' . $book->hash . '_' . TIME . '/" class="popupFS">' . cubeMedia::cssRollover($core->typo->Voir('voir', '', false)) . '</a></td>';\r
- $res .= '<td class="bouton"><a class="popupFS" href="' . SITE_PATH . 'editbook/' . $book->book_id . '">' . cubeMedia::cssRollover($core->typo->Editer('éditer', '', false)) . '</a></td>';\r
- $res .= '<td class="bouton"><a href="' . SITE_PATH . 'stats/' . $book->book_id . '">' . cubeMedia::cssRollover($core->typo->Stats('stats', '', false)) . '</a></td>';\r
- $res .= '<td class="bouton"><a href="' . SITE_PATH . 'supprimebook/' . $book->book_id . '">' . cubeMedia::cssRollover($core->typo->Telecharger('télécharger', '', false)) . '</a></td>';\r
- $res .= '<td class="bouton"><a href="#" rel="supprimeBook/' . $book->book_id . '" class="ajax" title="' . __('Êtes-vous certain de vouloir supprimer cette publication ?') . '">' . cubeMedia::cssRollover($core->typo->Supprimer('suppr.', '', false)) . '</a></td>';\r
+ $res .= '<td class="bouton"><a href="' . SITE_PATH . 'voirbook/' . $book->book_id . '_' . $book->hash . '_' . TIME . '/" class="popupFS">' . $btVoir . '</a></td>';\r
+ $res .= '<td class="bouton"><a class="popupFS" href="' . SITE_PATH . 'editbook/' . $book->book_id . '">' . $btEdit . '</a></td>';\r
+ $res .= '<td class="bouton"><a href="' . SITE_PATH . 'stats/' . $book->book_id . '">' . $btStats . '</a></td>';\r
+ $res .= '<td class="bouton"><a href="' . SITE_PATH . 'supprimebook/' . $book->book_id . '">' . $btDownload . '</a></td>';\r
+ $res .= '<td class="bouton"><a href="#" rel="supprimeBook/' . $book->book_id . '" class="ajax" title="' . __('Êtes-vous certain de vouloir supprimer cette publication ?') . '">' . $btDel . '</a></td>';\r
$res .= '</tr>';\r
$i++;\r
}\r
return $res;\r
}\r
\r
+ public static function changeBookProprietaire()\r
+ {\r
+ $res = '<tr><td>' . __('Rechercher un utilisateur') . ' : </td><td>' . form::field('book_proprietaire', 64, 1024) . form::hidden('proprietaire', '') . '</td></tr>';\r
+ return $res;\r
+ }\r
+\r
public static function testAS()\r
{\r
global $core;\r
\r
ob_clean();\r
\r
-$js[] = (JS_PATH . '/extranet.js');\r
+$js[] = JS_PATH . '/common.js';\r
+$js[] = JS_PATH . '/' . MODE . '.js';\r
$jsvar['IMG'] = IMG;\r
$jsvar['SITE_PATH'] = SITE_PATH;\r
$css[] = CSS_PATH . '/style.css';\r
--- /dev/null
+TO_LOAD_INDEX++;\r
+TO_LOAD[TO_LOAD_INDEX]='load_common_extranet();';\r
+FIRST_LOAD=true;\r
+function load_common_extranet(){\r
+ if($(".dashboard").length>=1 && $("#dash").length>=1){\r
+ $("#dash").sortable('destroy');\r
+ if(FIRST_LOAD){\r
+ FIRST_LOAD=false;\r
+ }else{\r
+ FIRST_LOAD=true;\r
+ $.ajax({\r
+ url : SITE_PATH+'ajax/reloadDashboards',\r
+ success : function(data){MyAjax(data);}\r
+ });\r
+ }\r
+\r
+ $("#dash").sortable({\r
+ opacity : 0.6,\r
+ axis : "y",\r
+ handle : ".caption",\r
+ stop : function(e,ui){\r
+ $.ajax({\r
+ url : SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')\r
+ });\r
+ resize();\r
+ }\r
+ });\r
+ }\r
+\r
+ $(".timereport_field").change(function(){\r
+ var val=parseInt($(this).val());\r
+ if(isNaN(val)){\r
+ val=0;\r
+ }\r
+ var f=this;\r
+ var id=$(this).attr('id');\r
+ var a=id.split('_');\r
+ $.ajax({\r
+ url : SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,\r
+ success : function(data){\r
+ FIRST_LOAD=true;\r
+ MyAjax(data);\r
+ var td=$(f).parents('td').get(0);\r
+ if(parseFloat($(f).val())>0){\r
+ $(td).addClass('filled');\r
+ }else{\r
+ $(td).removeClass('filled');\r
+ }\r
+ }\r
+ });\r
+ });\r
+\r
+ $("#dash .toggle").click(function(){\r
+ var rel=$(this).attr('rel');\r
+ var div=$(this).parents('.dashboard').get(0);\r
+ var liste=$(div).find('.liste');\r
+\r
+ $(liste).slideToggle('fast',function(){resize();});\r
+ $(this).toggleClass('close');\r
+\r
+ $.ajax({\r
+ url : SITE_PATH+'ajax/toggleDashboard/'+rel\r
+ });\r
+ return false;\r
+ });\r
+\r
+ $(".filtre .bt").click(function(){\r
+ var ul=$(this).parent().parent().children('ul');\r
+ $(ul).slideToggle('fast');\r
+ return false;\r
+ });\r
+\r
+ $(".filtre ul").click(function(e){\r
+ if(e.target.nodeName=='INPUT' || e.target.nodeName=='LABEL'){\r
+ return true;\r
+ }\r
+ $(this).slideToggle('fast');\r
+ });\r
+ $(".filtre span").click(function(){\r
+ var ul=$(this).parent().children('ul');\r
+ $(ul).slideToggle('fast');\r
+ });\r
+\r
+ $(".filtre input").change(function(){\r
+ var form=$(this).parents('form').get(0);\r
+ var uls=$(form).find("ul");\r
+ var divs=$(form).find(".input");\r
+ var spans=$(form).find("span");\r
+ var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;\r
+ for(i=0;i<uls.length;i++){\r
+ div=divs[i];\r
+ titre=Array();\r
+ ul=uls[i];\r
+ lis=$(ul).children("li");\r
+ allc=$(lis).get(0);\r
+ checked=0;\r
+ for(j=1;j<lis.length;j++){\r
+ li=lis[j];\r
+ input=$(li).find('input').get(0);\r
+ label=$(li).find('label').get(0);\r
+ if(input.checked){\r
+ checked++;\r
+ titre.push($(label).text());\r
+ }\r
+ }\r
+ if(checked==0){\r
+ $(div).find('span').text($(allc).text());\r
+ $(div).find('a').attr('title',$(allc).text());\r
+ $(div).removeClass('active');\r
+ inputs=$(ul).find('input');\r
+ for(k=0;k<inputs.length;k++){\r
+ inputs[k].checked=true;\r
+ }\r
+ }else if(checked==lis.length-1){\r
+ $(div).find('span').text($(allc).text());\r
+ $(div).find('a').attr('title',$(allc).text());\r
+ $(div).removeClass('active');\r
+ }else{\r
+ t=titre.join(', ');\r
+ if(t.length>20){\r
+ t1=t.substr(0,16)+'...';\r
+ }else{\r
+ t1=t;\r
+ }\r
+ $(div).find('span').text(t1);\r
+ $(div).find('a').attr('title',t);\r
+ $(div).addClass('active');\r
+ }\r
+ }\r
+ return true;\r
+ });\r
+\r
+ $(window).resize(function(){\r
+ resize();\r
+ });\r
+ resize();\r
+\r
+}\r
+\r
+function resize(){\r
+ var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;\r
+ var h=Math.max($(window).height(),allh);\r
+\r
+ var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;\r
+ mh=Math.max(mh,450);\r
+ $("#main").css('height',mh);\r
+}\r
});\r
}\r
\r
- if($("#book_nom").length){\r
- $("#book_nom").autocomplete(SITE_PATH+'autocomplete/book',{\r
- cacheLength : 0,\r
- maxItemsToShow : 15,\r
- onFindValue : findBook,\r
- onItemSelect : findBook\r
- });\r
- }\r
\r
- if($(".dashboard").length>=1 && $("#dash").length>=1){\r
- $("#dash").sortable('destroy');\r
- if(FIRST_LOAD){\r
- FIRST_LOAD=false;\r
- }else{\r
- FIRST_LOAD=true;\r
- $.ajax({\r
- url : SITE_PATH+'ajax/reloadDashboards',\r
- success : function(data){MyAjax(data);}\r
- });\r
- }\r
-\r
- $("#dash").sortable({\r
- opacity : 0.6,\r
- axis : "y",\r
- handle : ".caption",\r
- stop : function(e,ui){\r
- $.ajax({\r
- url : SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')\r
- });\r
- resize();\r
- }\r
- });\r
- }\r
\r
if($("#devisLignes").length>=1){\r
$("#devisLignes").sortable('destroy');\r
axis : "y"\r
});\r
}\r
-\r
-\r
-\r
- $(".timereport_field").change(function(){\r
- var val=parseInt($(this).val());\r
- if(isNaN(val)){\r
- val=0;\r
- }\r
- var f=this;\r
- var id=$(this).attr('id');\r
- var a=id.split('_');\r
- $.ajax({\r
- url : SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,\r
- success : function(data){\r
- FIRST_LOAD=true;\r
- MyAjax(data);\r
- var td=$(f).parents('td').get(0);\r
- if(parseFloat($(f).val())>0){\r
- $(td).addClass('filled');\r
- }else{\r
- $(td).removeClass('filled');\r
- }\r
- }\r
- });\r
- });\r
-\r
- $("#dash .toggle").click(function(){\r
- var rel=$(this).attr('rel');\r
- var div=$(this).parents('.dashboard').get(0);\r
- var liste=$(div).find('.liste');\r
-\r
- $(liste).slideToggle('fast',function(){resize();});\r
- $(this).toggleClass('close');\r
-\r
- $.ajax({\r
- url : SITE_PATH+'ajax/toggleDashboard/'+rel\r
- });\r
- return false;\r
- });\r
-\r
- $(".filtre .bt").click(function(){\r
- var ul=$(this).parent().parent().children('ul');\r
- $(ul).slideToggle('fast');\r
- return false;\r
- });\r
-\r
- $(".filtre ul").click(function(e){\r
- if(e.target.nodeName=='INPUT' || e.target.nodeName=='LABEL'){\r
- return true;\r
- }\r
- $(this).slideToggle('fast');\r
- });\r
- $(".filtre span").click(function(){\r
- var ul=$(this).parent().children('ul');\r
- $(ul).slideToggle('fast');\r
- });\r
-\r
- $(".filtre input").change(function(){\r
- var form=$(this).parents('form').get(0);\r
- var uls=$(form).find("ul");\r
- var divs=$(form).find(".input");\r
- var spans=$(form).find("span");\r
- var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;\r
- for(i=0;i<uls.length;i++){\r
- div=divs[i];\r
- titre=Array();\r
- ul=uls[i];\r
- lis=$(ul).children("li");\r
- allc=$(lis).get(0);\r
- checked=0;\r
- for(j=1;j<lis.length;j++){\r
- li=lis[j];\r
- input=$(li).find('input').get(0);\r
- label=$(li).find('label').get(0);\r
- if(input.checked){\r
- checked++;\r
- titre.push($(label).text());\r
- }\r
- }\r
- if(checked==0){\r
- $(div).find('span').text($(allc).text());\r
- $(div).find('a').attr('title',$(allc).text());\r
- $(div).removeClass('active');\r
- inputs=$(ul).find('input');\r
- for(k=0;k<inputs.length;k++){\r
- inputs[k].checked=true;\r
- }\r
- }else if(checked==lis.length-1){\r
- $(div).find('span').text($(allc).text());\r
- $(div).find('a').attr('title',$(allc).text());\r
- $(div).removeClass('active');\r
- }else{\r
- t=titre.join(', ');\r
- if(t.length>20){\r
- t1=t.substr(0,16)+'...';\r
- }else{\r
- t1=t;\r
- }\r
- $(div).find('span').text(t1);\r
- $(div).find('a').attr('title',t);\r
- $(div).addClass('active');\r
- }\r
- }\r
- return true;\r
- });\r
-\r
- $(window).resize(function(){\r
- resize();\r
- });\r
- resize();\r
-\r
}\r
\r
-function resize(){\r
- var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;\r
- var h=Math.max($(window).height(),allh);\r
-\r
- var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;\r
- mh=Math.max(mh,450);\r
- $("#main").css('height',mh);\r
-}\r
-\r
-\r
function findClient(li){\r
var client=li.selectValue.split(' - ');\r
if(client.length<=1){\r
});\r
}\r
\r
-function findBook(li){\r
- var book=li.selectValue.split(' - ');\r
- if(book.length<=1){\r
- return;\r
- }\r
- var book_id=parseInt(book[0]);\r
- $("#book").val(book_id);\r
-}\r
-\r
function refreshFiles(){\r
$.ajax({\r
url : SITE_PATH+'ajax/refreshFichiers',\r
--- /dev/null
+TO_LOAD_INDEX++;\r
+TO_LOAD[TO_LOAD_INDEX]='load_ws();';\r
+FIRST_LOAD=true;\r
+function load_ws(){\r
+ if($("#book_nom").length){\r
+ $("#book_nom").autocomplete(SITE_PATH+'autocomplete/book',{\r
+ cacheLength : 0,\r
+ maxItemsToShow : 15,\r
+ onFindValue : findBook,\r
+ onItemSelect : findBook\r
+ });\r
+ }\r
+\r
+ function findBook(li){\r
+ var book=li.selectValue.split(' - ');\r
+ if(book.length<=1){\r
+ return;\r
+ }\r
+ var book_id=parseInt(book[0]);\r
+ $("#book").val(book_id);\r
+ }\r
+}
\ No newline at end of file
+++ /dev/null
-*,body,html{padding:0;margin:0;}body,html{height:100%;}img{border:0;}hr{border:0;border-bottom:1px solid #ccc;}table{border-collapse:collapse;empty-cells:show;}input[type='checkbox'],input[type='radio']{margin:3px;margin-bottom:3px;}a:focus{-moz-outline:0px dotted !important;}.right{text-align:right !important;}.left{text-align:left !important;}.center{text-align:center !important;}.middle{vertical-align:middle !important;}.top{vertical-align:top !important;}.bottom{vertical-align:bottom !important;}.baseline{vertical-align:baseline !important;}.fullscreen{width:100%;height:100%;}.clear{clear:both;}.block{display:block;}.no-float{float:none !important;}.auto{width:auto !important;height:auto !important;}.wauto{width:auto !important;}.hauto{height:auto !important;}.max{width:100%}.hmax{height:100%;}.min{width:1px;}.hmin{height:1px;}.nowrap{white-space:nowrap;}.nomargin{padding:0;margin:0;}.hide{display:none;}.pemail{visibility:hidden;}.strong{font-weight:bold;}.popupOverlay{opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}#multimulti_0{display:inline;}textarea.markitup{width:640px;height:400px;}.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}.contextMenu li{border-bottom:1px solid #ccc;padding:5px;list-style-type:none;background:#fff;}.contextMenu li:hover{background:#ccc;}.contextMenu li a:hover{text-decoration:none;}.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}.contextMenu li.head{background:#ccc;font-weight:bold;color:#000;text-align:center;border-bottom:1px solid #000;}body{height:auto;}body,table{font-family:Verdana;font-size:12px;color:#fff;}a{color:#da4f24;text-decoration:underline;}a:hover{text-decoration:none;}abbr{cursor:help;border-bottom:1px dotted #fff;}td{height:30px;color:#333;}input[type="text"],input[type="password"],select,textarea{color:#666;font-family:Verdana;font-size:12px;}.message{text-align:center;font-size:11px;color:#da4f24;background:#fff;}.closePopup img{margin-top:4px;}.content{width:990px;margin:0 auto;position:relative;}#header{height:94px;background:url(bg-header.png) repeat-x;position:relative;}#logo{position:absolute;top:11px;}#welcome{position:absolute;top:25px;right:10px;font-size:11px;}#welcome.with-search{right:250px;}#search{background:url(search.png) no-repeat;width:229px;height:28px;position:absolute;right:10px;top:20px;}#search input{background:none;border:none;width:180px;position:absolute;top:7px;left:10px;color:#fff;}#search a{margin-left:5px;position:absolute;top:2px;right:3px;}#footer{height:5px;background:#2a303a;overflow:hidden;}#main{background:url(bg-page.png) repeat-x #dbdde2;position:relative;height:439px;padding-top:13px;padding-bottom:30px;}#logo-main{position:fixed;background:url(bg-logo.png) no-repeat;top:180px;left:0px;width:289px;height:419px;}#nav{height:31px;position:absolute;top:63px;width:960px;}#nav a{display:block;float:left;background-position:top left;width:119px;height:31px;margin-right:1px;text-indent:-6667px;}#nav a:hover{background-position:bottom left;}#nav a.active{background-position:bottom left;}.b{margin:0 auto;}.b-c{overflow:hidden;}.b-c>div{background:#fff;}.b-c>div table{width:100%;}.b-nw{background:url(b-nw.png) no-repeat transparent;}.b-n{background:url(b-n.png) repeat-x;}.b-ne{background:url(b-ne.png) no-repeat transparent;}.b-w{background:url(b-w.png) repeat-y transparent;}.b-e{background:url(b-e.png) repeat-y top right transparent;}.b-sw{background:url(b-sw.png) no-repeat bottom left transparent;}.b-s{background:url(b-s.png) repeat-x;}.b-se{background:url(b-se.png) no-repeat transparent;}.b-nw,.b-sw,.b-w{width:12px;max-width:12px;min-width:12px;}.b-ne,.b-se,.b-e{width:11px;max-width:11px;min-width:11px;}.b-n,.b-ne,.b-nw{height:11px;max-height:11px;min-height:11px;}.b-s,.b-se,.b-sw{height:10px;max-height:10px;min-height:10px;}.b-n,.b-s{width:auto;}.b-e,.b-w{height:auto;}.popupOverlay{background:#666;opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}.popupWindow .close{position:absolute;top:15px;right:15px;}.liste{width:100% !important;min-width:960px;}.liste.form{width:auto !important;min-width:0px !important;}.form th,.form td,.liste th,.liste td{text-align:left;border-bottom:1px solid #fff;font-weight:normal;padding-left:10px;padding-right:10px;}.form th,.form h1,.liste th,.liste h1{color:#fff;font-size:11px;height:31px;font-weight:normal;vertical-align:middle;background:url(b-h.png) repeat-x;padding-left:10px;}.form h1{padding-top:8px;height:22px;}.form td{background:#fff;}.liste td{color:#333;background:#dbdde2;vertical-align:middle;}.form tr.odd td,.liste tr.odd td{background:#ecedf0;}.liste tr.bold td{font-weight:bold;}.liste td.we{background:#DBDDE2 !important;}.liste td.filled,.liste td.highlight,.liste th.highlight{background:#da4f24 !important;}.liste .action{width:1px;}.liste th a{color:#fff;text-decoration:none;font-weight:bold;}.liste th a:hover{text-decoration:underline;}.form td a img,.liste td a img{margin-top:4px;}.listeTimereport input[type="text"]{width:12px;text-align:center;font-size:10px;}.listeTimereport td,.listeTimereport th{padding-left:4px;padding-right:4px;width:16px;}.listeTimereport th .spacer{float:left;}.listeTimereport .normal{text-align:left;vertical-align:middle;padding-left:10px;padding-right:10px;width:auto;}.listeTimereport .info{width:30px;}#devisTop{background:url(../images/devis.png) top left;width:960px;height:500px;}#devisMiddle{background:url(bg-document.png);width:960px;}#devisBottom{background:url(../images/devis.png) bottom left;width:960px;height:300px;}#factureAdresse,#devisAdresse{position:absolute;top:180px;left:520px;height:165px;width:360px;padding:0px;}#factureAdresse input[type="text"],#devisAdresse input[type="text"]{width:100%;}#factureAdresseDisplay,#devisAdresseDisplay{font-size:20px;padding:20px;position:relative;min-height:150px;}#factureAdresseDisplay .tva{font-size:12px;}#factureAdresse .edit,#devisAdresse .edit{position:absolute;top:20px;right:20px;}#devisTitre{position:absolute;left:56px;top:231px;width:411px;height:184px;}#devisLignes{margin-left:30px;}#devisMail{padding:30px;margin-top:30px;border-top:2px solid #000;}#devisMail td{color:#000 !important;}.pager-holder{padding:10px;padding-bottom:0px;float:none;}.pager{text-align:center;}.pager a,.pager strong{padding:2px;height:10px;font-weight:bold;}.pager a{text-decoration:none;}.pager a:hover{text-decoration:none;}.pager.pgleft a{background:#ecedf0;border:1px solid #d9e3ef;color:#5D626A;}.pager.pgleft a:hover,.pager.pgleft strong{background:#ffc600 url(pager-left-active.png) repeat-x bottom left;border:1px solid #ff9d00;color:#7F5500;}.formParPage{padding:5px;float:right;}#bar{background:url(bg-bar.png) repeat-x #fff bottom left;}#bar.vide{height:16px;}#bar .content{height:50px;}.shortcut .note{color:#333;padding:10px;}.shortcut{float:left;margin-left:5px;margin-top:10px;}.filtre{color:#5f6162;width:160px;float:left;margin-left:10px;padding-top:1px;position:relative;}.filtre span{font-size:9px;color:#5f6162;margin-left:5px;cursor:pointer;}.filtre .bt{position:absolute;top:2px;right:3px;width:155px;height:18px;}.filtre .input{width:135px;height:23px;background-image:url(filtres.png);background-repeat:no-repeat;padding:5px;padding-right:20px;margin-left:5px;position:relative;}.filtre .input.active{font-weight:bold;}.filtre ul{display:none;position:absolute;top:36px;left:5px;z-index:20;width:160px;cursor:pointer;}.filtre .input span{font-size:12px;}.filtre ul li.first{padding-top:2px;}.filtre ul li{list-style-type:none;padding-left:20px;background-image:url(filtre-list-m.png);}.filtre ul li.last{background-image:url(filtre-list-b.png);background-position:0 100%;padding-bottom:5px;}.filtre ul li.all{display:none;}.efface_filtres{padding-right:20px;padding-top:10px;float:right;}.dashboard{position:relative;margin-bottom:10px;}.dashboard .caption{position:relative;left:20px;top:10px;display:inline;cursor:move;}.dashboard .edit{position:absolute;right:40px;top:-17px;}.dashboard .delete{position:absolute;right:10px;top:-17px;}.dashboard .toggle{position:absolute;left:12px;top:-10px;background-image:url(arrows.png);background-position:0 0;width:18px;height:10px;}.dashboard .toggle.close{background-position:0 100%;}.dashboard div.close .liste{display:none;}.dashboard .b-c{width:960px !important;height:auto !important;}.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}.contextMenu li{border-bottom:1px solid #ccc;padding:12px;padding-left:20px;padding-right:20px;list-style-type:none;background:#fff;height:12px;}.contextMenu li:hover{background:#ccc;}.contextMenu li a:hover{text-decoration:none;}.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}.contextMenu li.head{background:#666b74;font-weight:bold;color:#fff;text-align:center;border-bottom:1px solid #000;}.ac_results{background:#fff;border:1px solid #acacac;color:#666;padding:2px;z-index:100000 !important;}.ac_results li{cursor:pointer;padding:2px;margin:1px;list-style-type:none;}.ac_results li:hover,.ac_over{background:#4e535e;color:#fff;}.ac_results iframe{display:none;}#traduction div table td{padding:5px;background:#dbdde2;color:#333;vertical-align:top;}#traduction div table .odd td{background:#ecedf0;}#traduction div table .save td{background-color:#4e535b;background-image:url(b-h.png);background-repeat:repeat-x;}.error{border:1px solid #f00;}
\ No newline at end of file
<left>auto</left>\r
<bottom>0</bottom>\r
<texte>$texte</texte>\r
+ <upper>1</upper>\r
</layer>\r
<layer>\r
<name>texte1</name>\r
<left>auto</left>\r
<bottom>0</bottom>\r
<texte>$texte</texte>\r
+ <upper>1</upper>\r
</layer>\r
</template>\r
<template>\r