]> _ Git - cubeextranet.git/commitdiff
wait #4022 @2
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 9 Nov 2020 15:55:07 +0000 (15:55 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 9 Nov 2020 15:55:07 +0000 (15:55 +0000)
images/ws/link.svg [new file with mode: 0644]
inc/ws/Controlleur/class.ws.url.php
js/ws.js
style/ws/style.css

diff --git a/images/ws/link.svg b/images/ws/link.svg
new file mode 100644 (file)
index 0000000..9c817a7
--- /dev/null
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\r
+    <g>\r
+        <g>\r
+            <rect width="24" height="24" opacity="0"/>\r
+            <path d="M13.29 9.29l-4 4a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4-4a1 1 0 0 0-1.42-1.42z"/>\r
+            <path d="M12.28 17.4L11 18.67a4.2 4.2 0 0 1-5.58.4 4 4 0 0 1-.27-5.93l1.42-1.43a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-1.27 1.28a6.15 6.15 0 0 0-.67 8.07 6.06 6.06 0 0 0 9.07.6l1.42-1.42a1 1 0 0 0-1.42-1.42zM19.66 3.22a6.18 6.18 0 0 0-8.13.68L10.45 5a1.09 1.09 0 0 0-.17 1.61 1 1 0 0 0 1.42 0L13 5.3a4.17 4.17 0 0 1 5.57-.4 4 4 0 0 1 .27 5.95l-1.42 1.43a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.42-1.42a6.06 6.06 0 0 0-.6-9.06z"/>\r
+        </g>\r
+    </g>\r
+</svg>
\ No newline at end of file
index 7cfe9ec61dade1c631f9f9636c5817ad3992aa4b..88df4978e39763723f6c0f02650aba233e60949f 100644 (file)
@@ -27,7 +27,9 @@ class wsUrl
             $filtres[] = new commonFiltre(__('Administrateur'), 'admin_book', $settings['filtres']);
             $filtres[] = new commonFiltre(__('Revendeur'), 'revendeur_book', $settings['filtres']);
         }
-        $res = commonPage::barre($filtres, 'filtreBooks', 'books', $shortcuts, wsDroits::creation());
+        $res = '<script src="https://unpkg.com/@popperjs/core@2"></script>
+<script src="https://unpkg.com/tippy.js@6"></script>';
+        $res .= commonPage::barre($filtres, 'filtreBooks', 'books', $shortcuts, wsDroits::creation());
         $res .= commonPage::tMain(null, wsDroits::creation());
         $res .= commonPage::bh();
         $res .= '<div id="listeBooks">';
@@ -152,7 +154,7 @@ class wsUrl
                     $types[] = 'scorm';
                 }
 
-                $res .= '<td class="bouton"><a href="/' . $defaultPlayer . '/' . $book->book_id . '_' . $book->hash . '/" class="openContextMenu voir btbook" data-type="' . implode(',', $types) . '" rel="' . $context_view_id . '" rev="' . $book->book_id . '§' . $book->hash . '§' . TIME . '">' . $btVoir . '</a></td>';
+                $res .= '<td class="bouton"><a href="/' . $defaultPlayer . '/' . $book->book_id . '_' . $book->hash . '/" class="openContextMenu voir btbook nwjs-contextmenu" data-type="' . implode(',', $types) . '" rel="' . $context_view_id . '" rev="' . $book->book_id . '§' . $book->hash . '§' . TIME . '">' . $btVoir . '</a></td>';
                 $res .= '<td class="bouton"><a class="popupFSBar edit btbook" rel="toolbar=yes" rev="editor_' . $book->book_id . '" href="' . SITE_PATH . 'editor/' . $book->book_id . '_' . $book->hash . '">' . $btEdit . '</a></td>';
             } else {
                 $res .= '<td></td><td></td>';
@@ -666,7 +668,7 @@ class wsUrl
                 if (!isset($infos['pattern'])) {
                     $infos['pattern'] = '$1_$2';
                 }
-                $res .= '<li data-type="' . $infos['type'] . '"><a target="_blank" href="' . SITE_PATH . $infos['version'] . '/' . $infos['pattern'] . '/' . $infos['file'] . '">' . $infos['icon'] . $infos['title'] . '</a></li>';
+                $res .= '<li data-type="' . $infos['type'] . '"><a target="_blank" href="' . SITE_PATH . $infos['version'] . '/' . $infos['pattern'] . '/' . $infos['file'] . '">' . $infos['icon'] . $infos['title'] . '</a><a data-ok-content="' . __('URL copiée') . '" data-tippy-content="' . __("Copier l'URL dans le presse-papier") . '" class="clipboardurl" href="' . SITE_PATH . $infos['version'] . '/' . $infos['pattern'] . '/' . $infos['file'] . '"><img src="/images/ws/link.svg"></a></li>';
             }
         }
         $res .= '</ul></div>';
index ea8f3dc7eb14fc049394f600a8aeb1c775ad72a4..dfd1488106da810cc5c8ad650b137bf8f00100ee 100644 (file)
--- a/js/ws.js
+++ b/js/ws.js
@@ -2,172 +2,198 @@ TO_LOAD[TO_LOAD.length] = 'load_ws();';
 TO_LOAD_ONCE[TO_LOAD_ONCE.length] = 'load_ws_once();';
 FIRST_LOAD = true;
 
-function load_ws_once() {
-       $(document).on('change', 'form[action="exportbook"] select, form[action="exportbookExe"] select', function () {
-               var form = $(this).parents('form');
-               $(form).find('#changed').val($(this).attr('name'));
-               $(form).attr('action', 'exportbook').submit().attr('action', 'exportbookExe');
-       });
-
-       if ($("#collection").length > 0) {
-               $("#collection>form>ul").sortable({
-                       cancel: 'h1',
-                       axis: 'y',
-                       handle: '.move'
-               });
-
-
-               $(document).on('click', "#collection>form>ul a.delete", function () {
-                       $(this).parents('li:first').remove();
-                       return false;
-               });
-
-               $(document).on('click', "#collection>form>ul a.add", function () {
-                       var publication = $(this).parents('li:first');
-                       var group = $(publication).parents('.group');
-                       var clone = $(".group.empty .publication").clone().get(0).outerHTML;
-
-                       clone = clone.replace(/pnew_/gi, $(group).find('.publication').length);
-                       clone = clone.replace(/new_/gi, $(group).data('group'));
-
-                       $(publication).after(clone);
-
-                       initAutocompleteCollection();
-                       return false;
-               });
-
-               $("#collection>form>ul>li").each(function () {
-                       initGroup($(this));
-               });
-
-
-               var newCounter = 1;
+function qualifyURL(url) {
+    var img = document.createElement('img');
+    img.src = url; // set string url
+    url = img.src; // get qualified url
+    img.src = null; // no server request
+    return url;
+}
 
-               $("#newGroup").click(function () {
-                       var g = $(".group.empty").clone();
-                       var html = g.get(0).outerHTML;
-                       html = html.replace(/pnew_/gi, '0');
-                       html = html.replace(/new_/gi, "new_" + newCounter);
-                       g = $(html);
-                       $(g).removeClass('empty');
-                       $("#collection>form>ul").append(g);
+function load_ws_once() {
 
-                       initGroup(g);
 
-                       newCounter++;
-                       return false;
-               });
-       }
+    $(document).on('change', 'form[action="exportbook"] select, form[action="exportbookExe"] select', function () {
+        var form = $(this).parents('form');
+        $(form).find('#changed').val($(this).attr('name'));
+        $(form).attr('action', 'exportbook').submit().attr('action', 'exportbookExe');
+    });
+
+    $(document).on('click', 'a.clipboardurl', function () {
+        var e = this;
+        navigator.clipboard.writeText(qualifyURL($(this).attr('href'))).then(function () {
+            var i = e._tippy;
+            var formerContent = $(e).data('tippy-content');
+            i.setContent($(e).data('ok-content'));
+            i.show();
+            setTimeout(function () {
+                i.setContent(formerContent);
+            }, 2500);
+        }, function () {
+            /* clipboard write failed */
+        });
+        return false;
+    });
+
+    if ($("#collection").length > 0) {
+        $("#collection>form>ul").sortable({
+            cancel: 'h1',
+            axis: 'y',
+            handle: '.move'
+        });
+
+
+        $(document).on('click', "#collection>form>ul a.delete", function () {
+            $(this).parents('li:first').remove();
+            return false;
+        });
+
+        $(document).on('click', "#collection>form>ul a.add", function () {
+            var publication = $(this).parents('li:first');
+            var group = $(publication).parents('.group');
+            var clone = $(".group.empty .publication").clone().get(0).outerHTML;
+
+            clone = clone.replace(/pnew_/gi, $(group).find('.publication').length);
+            clone = clone.replace(/new_/gi, $(group).data('group'));
+
+            $(publication).after(clone);
+
+            initAutocompleteCollection();
+            return false;
+        });
+
+        $("#collection>form>ul>li").each(function () {
+            initGroup($(this));
+        });
+
+
+        var newCounter = 1;
+
+        $("#newGroup").click(function () {
+            var g = $(".group.empty").clone();
+            var html = g.get(0).outerHTML;
+            html = html.replace(/pnew_/gi, '0');
+            html = html.replace(/new_/gi, "new_" + newCounter);
+            g = $(html);
+            $(g).removeClass('empty');
+            $("#collection>form>ul").append(g);
+
+            initGroup(g);
+
+            newCounter++;
+            return false;
+        });
+    }
 }
 
 function initGroup(group) {
-       $(group).find("ul").sortable({
-               cancel: 'h1',
-               axis: 'y',
-               handle: '.move',
-               connectWith: '#collection>form>ul ul'
-       });
-
-       initAutocompleteCollection();
+    $(group).find("ul").sortable({
+        cancel: 'h1',
+        axis: 'y',
+        handle: '.move',
+        connectWith: '#collection>form>ul ul'
+    });
+
+    initAutocompleteCollection();
 }
 
 function initAutocompleteCollection() {
-       try {
-               $('.publication_id:visible').not('.ac_input').autocompletej(SITE_PATH + 'autocomplete/book', {
-                       cacheLength: 0,
-                       maxItemsToShow: 15,
-                       onFindValue: findBook,
-                       onItemSelect: findBook
-               });
-       } catch (err) {
-
-       }
+    try {
+        $('.publication_id:visible').not('.ac_input').autocompletej(SITE_PATH + 'autocomplete/book', {
+            cacheLength: 0,
+            maxItemsToShow: 15,
+            onFindValue: findBook,
+            onItemSelect: findBook
+        });
+    } catch (err) {
+
+    }
 }
 
 function load_ws() {
-       if ($("#book_nom").length) {
-               $("#book_nom").autocompletej(SITE_PATH + 'autocomplete/book', {
-                       cacheLength: 0,
-                       maxItemsToShow: 15,
-                       onFindValue: findBook,
-                       onItemSelect: findBook
-               });
-       }
-
-       if ($("#book_proprietaire").length) {
-               $("#book_proprietaire").autocompletej(SITE_PATH + 'autocomplete/wsuser', {
-                       cacheLength: 0,
-                       maxItemsToShow: 15,
-                       onFindValue: findProprietaire,
-                       onItemSelect: findProprietaire
-               });
-       }
-
-
-       if ($("#ws_admin_nom").length > 0) {
-               $("#ws_admin_nom").autocompletej(SITE_PATH + 'autocomplete/wsadmin', {
-                       cacheLength: 0,
-                       maxItemsToShow: 15,
-                       onFindValue: findWSAdmin,
-                       onItemSelect: findWSAdmin
-               });
-       }
-
-       $("#importLinksAsExcel,#offsetLinks").submit(function () {
-               $(this).ajaxSubmit({
-                       url: SITE_PATH + 'ajax/' + $(this).attr('action'),
-                       success: function (data) {
-                               window.opener.document.getElementById("composerSwf").reloadLinks();
-                               window.close();
-                       }
-               });
-               return false;
-       });
-
-       $(".restoreLink").click(restoreLink);
-
-       $(".hide_new_value").change(function () {
-               if ($(this).val() == 0) {
-                       $(".new").show();
-               } else {
-                       $(".new").hide();
-               }
-       });
+    if ($("#book_nom").length) {
+        $("#book_nom").autocompletej(SITE_PATH + 'autocomplete/book', {
+            cacheLength: 0,
+            maxItemsToShow: 15,
+            onFindValue: findBook,
+            onItemSelect: findBook
+        });
+    }
+
+    if ($("#book_proprietaire").length) {
+        $("#book_proprietaire").autocompletej(SITE_PATH + 'autocomplete/wsuser', {
+            cacheLength: 0,
+            maxItemsToShow: 15,
+            onFindValue: findProprietaire,
+            onItemSelect: findProprietaire
+        });
+    }
+
+
+    if ($("#ws_admin_nom").length > 0) {
+        $("#ws_admin_nom").autocompletej(SITE_PATH + 'autocomplete/wsadmin', {
+            cacheLength: 0,
+            maxItemsToShow: 15,
+            onFindValue: findWSAdmin,
+            onItemSelect: findWSAdmin
+        });
+    }
+
+    $("#importLinksAsExcel,#offsetLinks").submit(function () {
+        $(this).ajaxSubmit({
+            url: SITE_PATH + 'ajax/' + $(this).attr('action'),
+            success: function (data) {
+                window.opener.document.getElementById("composerSwf").reloadLinks();
+                window.close();
+            }
+        });
+        return false;
+    });
+
+    $(".restoreLink").click(restoreLink);
+
+    $(".hide_new_value").change(function () {
+        if ($(this).val() == 0) {
+            $(".new").show();
+        } else {
+            $(".new").hide();
+        }
+    });
 }
 
 function restoreLink() {
-       $.ajax({
-               url: SITE_PATH + 'ajax/restoreLinksVersion/' + $(this).attr('rel'),
-               success: function (data) {
-                       reloadLinks();
-                       window.close();
-               }
-       });
-       return false;
+    $.ajax({
+        url: SITE_PATH + 'ajax/restoreLinksVersion/' + $(this).attr('rel'),
+        success: function (data) {
+            reloadLinks();
+            window.close();
+        }
+    });
+    return false;
 }
 
 function reloadLinks() {
-       window.opener.document.getElementById("composerSwf").reloadLinks();
+    window.opener.document.getElementById("composerSwf").reloadLinks();
 }
 
 function findProprietaire(li) {
-       var p = li.selectValue.split(' - ');
-       if (p.length <= 1) {
-               return;
-       }
-       var user_id = parseInt(p[0]);
-       $("#proprietaire").val(user_id);
+    var p = li.selectValue.split(' - ');
+    if (p.length <= 1) {
+        return;
+    }
+    var user_id = parseInt(p[0]);
+    $("#proprietaire").val(user_id);
 }
 
 function findBook(li, input) {
 
-       var book = li.selectValue.split(' - ');
-       if (book.length <= 1) {
-               return;
-       }
+    var book = li.selectValue.split(' - ');
+    if (book.length <= 1) {
+        return;
+    }
 
-       var book_id = parseInt(book[0]);
-       var next = $(input).next('input[type="hidden"]:first');
-       fb(input);
-       $(next).val(book_id);
+    var book_id = parseInt(book[0]);
+    var next = $(input).next('input[type="hidden"]:first');
+    fb(input);
+    $(next).val(book_id);
 }
\ No newline at end of file
index 97b5c8557a174660a8b27f8b46f9112a0a6a609b..1e9d4f46386d3f0dd103999ee97c9fa51ad8a5b0 100644 (file)
 body {\r
-       height: auto;\r
-       background: #fff;\r
+    height: auto;\r
+    background: #fff;\r
 }\r
 \r
 body, table {\r
-       font-family: Verdana;\r
-       font-size: 12px;\r
-       color: #797d62;\r
+    font-family: Verdana;\r
+    font-size: 12px;\r
+    color: #797d62;\r
 }\r
 \r
 a {\r
-       color: #f54d00;\r
-       text-decoration: underline;\r
+    color: #f54d00;\r
+    text-decoration: underline;\r
 }\r
 \r
 a:hover {\r
-       text-decoration: none;\r
+    text-decoration: none;\r
 }\r
 \r
 abbr {\r
-       cursor: help;\r
-       border-bottom: 1px dotted #797D62;\r
+    cursor: help;\r
+    border-bottom: 1px dotted #797D62;\r
 }\r
 \r
 td {\r
-       height: 30px;\r
+    height: 30px;\r
 }\r
 \r
 h1 {\r
-       color: #989b85;\r
+    color: #989b85;\r
 }\r
 \r
 input[type="text"], input[type="password"], input[type="email"], input[type="search"], select, textarea {\r
-       color: #797D62;\r
+    color: #797D62;\r
 }\r
 \r
 .message {\r
-       text-align: center;\r
-       font-size: 11px;\r
-       color: #da4f24;\r
-       background: #fff;\r
+    text-align: center;\r
+    font-size: 11px;\r
+    color: #da4f24;\r
+    background: #fff;\r
 }\r
 \r
 .closePopup img {\r
-       margin-top: 4px;\r
+    margin-top: 4px;\r
 }\r
 \r
 .login h1 {\r
-       padding: 10px 10px 5px;\r
+    padding: 10px 10px 5px;\r
 }\r
 \r
 .content {\r
-       width: 990px;\r
-       margin: 0 auto;\r
-       position: relative;\r
+    width: 990px;\r
+    margin: 0 auto;\r
+    position: relative;\r
 }\r
 \r
 .content .swfPanel {\r
-       height: 100%;\r
+    height: 100%;\r
 }\r
 \r
 .big .liste td {\r
-       font-size: 11px !important;\r
-       padding-left: 5px;\r
-       padding-right: 5px;\r
+    font-size: 11px !important;\r
+    padding-left: 5px;\r
+    padding-right: 5px;\r
 }\r
 \r
 .big .liste th {\r
-       padding-left: 5px;\r
-       padding-right: 5px;\r
+    padding-left: 5px;\r
+    padding-right: 5px;\r
 }\r
 \r
 .big .content {\r
-       width: 1210px;\r
+    width: 1210px;\r
 }\r
 \r
 .liste .bouton a {\r
-       height: 16px;\r
+    height: 16px;\r
 }\r
 \r
 #header {\r
-       height: 94px;\r
-       background: url(bg-header.png) repeat-x;\r
-       position: relative;\r
+    height: 94px;\r
+    background: url(bg-header.png) repeat-x;\r
+    position: relative;\r
 }\r
 \r
 #logo {\r
-       position: absolute;\r
-       top: 11px;\r
+    position: absolute;\r
+    top: 11px;\r
 }\r
 \r
 #welcome {\r
-       position: absolute;\r
-       top: 25px;\r
-       right: 10px;\r
-       font-size: 11px;\r
-       color: #fff;\r
+    position: absolute;\r
+    top: 25px;\r
+    right: 10px;\r
+    font-size: 11px;\r
+    color: #fff;\r
 }\r
 \r
 #welcome.with-search {\r
-       right: 250px;\r
+    right: 250px;\r
 }\r
 \r
 #search {\r
-       background: url(search.png) no-repeat;\r
-       width: 229px;\r
-       height: 28px;\r
-       position: absolute;\r
-       right: 10px;\r
-       top: 20px;\r
+    background: url(search.png) no-repeat;\r
+    width: 229px;\r
+    height: 28px;\r
+    position: absolute;\r
+    right: 10px;\r
+    top: 20px;\r
 }\r
 \r
 #search input {\r
-       background: none;\r
-       border: none;\r
-       width: 180px;\r
-       position: absolute;\r
-       top: 7px;\r
-       left: 10px;\r
-       color: #fff;\r
+    background: none;\r
+    border: none;\r
+    width: 180px;\r
+    position: absolute;\r
+    top: 7px;\r
+    left: 10px;\r
+    color: #fff;\r
 }\r
 \r
 #search a {\r
-       margin-left: 5px;\r
-       position: absolute;\r
-       top: 2px;\r
-       right: 3px;\r
+    margin-left: 5px;\r
+    position: absolute;\r
+    top: 2px;\r
+    right: 3px;\r
 }\r
 \r
 #footer {\r
-       display: none;\r
+    display: none;\r
 }\r
 \r
 #main {\r
-       background: url(bg-page.png) repeat-x #fff;\r
-       position: relative;\r
-       height: 439px;\r
-       padding-top: 13px;\r
-       padding-bottom: 30px;\r
+    background: url(bg-page.png) repeat-x #fff;\r
+    position: relative;\r
+    height: 439px;\r
+    padding-top: 13px;\r
+    padding-bottom: 30px;\r
 }\r
 \r
 #logo-main {\r
-       /*position:fixed;\r
-       background:url(bg-logo.png) no-repeat;\r
-       top:180px;\r
-       left:0px;\r
-       width:289px;\r
-       height:419px;*/\r
+    /*position:fixed;\r
+    background:url(bg-logo.png) no-repeat;\r
+    top:180px;\r
+    left:0px;\r
+    width:289px;\r
+    height:419px;*/\r
 }\r
 \r
 #nav {\r
-       height: 31px;\r
-       position: absolute;\r
-       top: 63px;\r
-       width: 960px;\r
+    height: 31px;\r
+    position: absolute;\r
+    top: 63px;\r
+    width: 960px;\r
 }\r
 \r
 .popupOverlay {\r
-       background: #a8aa95;\r
-       opacity: 0;\r
-       position: fixed;\r
-       display: none;\r
-       top: 0px;\r
-       left: 0px;\r
-       width: 100%;\r
-       height: 100%;\r
+    background: #a8aa95;\r
+    opacity: 0;\r
+    position: fixed;\r
+    display: none;\r
+    top: 0px;\r
+    left: 0px;\r
+    width: 100%;\r
+    height: 100%;\r
 }\r
 \r
 .popupWindow {\r
-       display: none;\r
-       opacity: 1;\r
-       position: fixed;\r
+    display: none;\r
+    opacity: 1;\r
+    position: fixed;\r
 }\r
 \r
 /*.popupWindow>table{width:600px;}*/\r
 .popupWindow .close {\r
-       position: absolute;\r
-       top: 15px;\r
-       right: 15px;\r
+    position: absolute;\r
+    top: 15px;\r
+    right: 15px;\r
 }\r
 \r
 /* Tableaux */\r
 .liste {\r
-       width: 100% !important;\r
-       min-width: 960px;\r
+    width: 100% !important;\r
+    min-width: 960px;\r
 }\r
 \r
 .liste.light {\r
-       width: 100% !important;\r
-       min-width: 0px !important;\r
+    width: 100% !important;\r
+    min-width: 0px !important;\r
 }\r
 \r
 .liste.form {\r
-       width: auto !important;\r
-       min-width: 0px !important;\r
+    width: auto !important;\r
+    min-width: 0px !important;\r
 }\r
 \r
 .form h2, .form th, .form td, .liste th, .liste td {\r
-       text-align: left;\r
-       border-bottom: 1px solid #fff;\r
-       font-weight: normal;\r
-       padding-left: 10px;\r
-       padding-right: 10px;\r
-       font-size: 12px;\r
-       min-height: 50px;\r
-       height: 38px;\r
+    text-align: left;\r
+    border-bottom: 1px solid #fff;\r
+    font-weight: normal;\r
+    padding-left: 10px;\r
+    padding-right: 10px;\r
+    font-size: 12px;\r
+    min-height: 50px;\r
+    height: 38px;\r
 }\r
 \r
 .form th, .liste th, .liste h1 {\r
-       font-size: 12px;\r
-       height: 31px;\r
-       font-weight: bold;\r
-       vertical-align: middle;\r
-       background: #fff;\r
-       padding-left: 10px;\r
+    font-size: 12px;\r
+    height: 31px;\r
+    font-weight: bold;\r
+    vertical-align: middle;\r
+    background: #fff;\r
+    padding-left: 10px;\r
 }\r
 \r
 .form tr.big th {\r
-       height: 40px;\r
+    height: 40px;\r
 }\r
 \r
 .form h2 {\r
-       padding-top: 6px;\r
-       height: 26px;\r
+    padding-top: 6px;\r
+    height: 26px;\r
 }\r
 \r
 .form td {\r
-       background: #fff;\r
+    background: #fff;\r
 }\r
 \r
 .form h2, .liste td {\r
-       background: #eaeaea;\r
-       vertical-align: middle;\r
+    background: #eaeaea;\r
+    vertical-align: middle;\r
 }\r
 \r
 .form tr.odd td, .liste tr.odd td {\r
-       background: #f4f4f4;\r
+    background: #f4f4f4;\r
 }\r
 \r
 .liste td.bouton {\r
-       padding-left: 0px;\r
-       padding-right: 5px;\r
+    padding-left: 0px;\r
+    padding-right: 5px;\r
 }\r
 \r
 .form tr.light th, .liste tr.light th {\r
-       font-size: 12px;\r
-       background: #fff;\r
-       height: 22px;\r
-       border-bottom: 1px solid #707070;\r
-       margin-bottom: 1px;\r
-       padding-left: 3px;\r
+    font-size: 12px;\r
+    background: #fff;\r
+    height: 22px;\r
+    border-bottom: 1px solid #707070;\r
+    margin-bottom: 1px;\r
+    padding-left: 3px;\r
 }\r
 \r
 .liste tr.bold td {\r
-       font-weight: bold;\r
+    font-weight: bold;\r
 }\r
 \r
 .liste td.we {\r
-       background: #e3e3e3 !important;\r
+    background: #e3e3e3 !important;\r
 }\r
 \r
 .liste td.filled, .liste td.highlight, .liste th.highlight {\r
-       background: #9abf0c !important;\r
+    background: #9abf0c !important;\r
 }\r
 \r
 .liste .action {\r
-       width: 1px;\r
+    width: 1px;\r
 }\r
 \r
 .liste th a {\r
-       color: #797D62;\r
-       text-decoration: none;\r
-       font-weight: bold;\r
+    color: #797D62;\r
+    text-decoration: none;\r
+    font-weight: bold;\r
 }\r
 \r
 .liste th a:hover {\r
-       text-decoration: underline;\r
+    text-decoration: underline;\r
 }\r
 \r
 .liste td a.icon img {\r
-       vertical-align: middle;\r
-       margin-top: 0px;\r
+    vertical-align: middle;\r
+    margin-top: 0px;\r
 }\r
 \r
 .form td a img, .liste td a img {\r
-       margin-top: 4px;\r
+    margin-top: 4px;\r
 }\r
 \r
 .listeTimereport input[type="text"] {\r
-       width: 12px;\r
-       text-align: center;\r
-       font-size: 10px;\r
-       margin: 2px;\r
+    width: 12px;\r
+    text-align: center;\r
+    font-size: 10px;\r
+    margin: 2px;\r
 }\r
 \r
 .listeTimereport td, .listeTimereport th {\r
-       padding-left: 4px;\r
-       padding-right: 4px;\r
-       width: 16px;\r
+    padding-left: 4px;\r
+    padding-right: 4px;\r
+    width: 16px;\r
 }\r
 \r
 .listeTimereport th .spacer {\r
-       float: left;\r
+    float: left;\r
 }\r
 \r
 .listeTimereport .normal {\r
-       text-align: left;\r
-       vertical-align: middle;\r
-       padding-left: 10px;\r
-       padding-right: 10px;\r
-       width: auto;\r
+    text-align: left;\r
+    vertical-align: middle;\r
+    padding-left: 10px;\r
+    padding-right: 10px;\r
+    width: auto;\r
 }\r
 \r
 .listeTimereport .info {\r
-       width: 30px;\r
+    width: 30px;\r
 }\r
 \r
 .listeTimereport tr.bold td {\r
-       border-top: 1px solid #4e555c;\r
+    border-top: 1px solid #4e555c;\r
 }\r
 \r
 #devisTop {\r
-       background: url(../images/devis.png) top left;\r
-       width: 960px;\r
-       height: 500px;\r
+    background: url(../images/devis.png) top left;\r
+    width: 960px;\r
+    height: 500px;\r
 }\r
 \r
 #devisMiddle {\r
-       background: url(bg-document.png);\r
-       width: 960px;\r
-       padding-bottom: 20px;\r
+    background: url(bg-document.png);\r
+    width: 960px;\r
+    padding-bottom: 20px;\r
 }\r
 \r
 #devisBottom {\r
-       background: url(../images/devis.png) bottom left;\r
-       width: 960px;\r
-       height: 300px;\r
+    background: url(../images/devis.png) bottom left;\r
+    width: 960px;\r
+    height: 300px;\r
 }\r
 \r
 #factureAdresse, #devisAdresse {\r
-       position: absolute;\r
-       top: 180px;\r
-       left: 520px;\r
-       height: 165px;\r
-       width: 360px;\r
-       padding: 0px;\r
+    position: absolute;\r
+    top: 180px;\r
+    left: 520px;\r
+    height: 165px;\r
+    width: 360px;\r
+    padding: 0px;\r
 }\r
 \r
 #factureAdresse input[type="text"], #devisAdresse input[type="text"] {\r
-       width: 100%;\r
+    width: 100%;\r
 }\r
 \r
 #factureAdresseDisplay, #devisAdresseDisplay {\r
-       font-size: 20px;\r
-       padding: 20px;\r
-       position: relative;\r
-       min-height: 150px;\r
+    font-size: 20px;\r
+    padding: 20px;\r
+    position: relative;\r
+    min-height: 150px;\r
 }\r
 \r
 #factureAdresseDisplay .tva {\r
-       font-size: 12px;\r
+    font-size: 12px;\r
 }\r
 \r
 #factureAdresse .edit, #devisAdresse .edit {\r
-       position: absolute;\r
-       top: 20px;\r
-       right: 20px;\r
+    position: absolute;\r
+    top: 20px;\r
+    right: 20px;\r
 }\r
 \r
 #devisTitre {\r
-       position: absolute;\r
-       left: 56px;\r
-       top: 231px;\r
-       width: 411px;\r
-       height: 184px;\r
+    position: absolute;\r
+    left: 56px;\r
+    top: 231px;\r
+    width: 411px;\r
+    height: 184px;\r
 }\r
 \r
 #devisLignes {\r
-       padding-top: 20px;\r
+    padding-top: 20px;\r
 }\r
 \r
 .devisLigne {\r
-       border: 1px #9aa2ae dashed;\r
-       cursor: move;\r
-       margin-top: 20px;\r
-       margin-left: 20px;\r
-       margin-right: 20px;\r
+    border: 1px #9aa2ae dashed;\r
+    cursor: move;\r
+    margin-top: 20px;\r
+    margin-left: 20px;\r
+    margin-right: 20px;\r
 }\r
 \r
 .devisLigneLeft {\r
-       width: 700px;\r
-       padding: 20px;\r
+    width: 700px;\r
+    padding: 20px;\r
 }\r
 \r
 .devisLigneRight {\r
-       width: 120px;\r
-       float: right;\r
-       text-align: center;\r
-       padding: 20px;\r
+    width: 120px;\r
+    float: right;\r
+    text-align: center;\r
+    padding: 20px;\r
 }\r
 \r
 #devisMail {\r
-       padding: 30px;\r
-       margin-top: 30px;\r
-       border-top: 2px solid #000;\r
+    padding: 30px;\r
+    margin-top: 30px;\r
+    border-top: 2px solid #000;\r
 }\r
 \r
 #devisMail td {\r
-       color: #000 !important;\r
+    color: #000 !important;\r
 }\r
 \r
 /* Pagers */\r
 \r
 .pager-holder {\r
-       padding: 10px;\r
-       padding-bottom: 0px;\r
-       float: none;\r
+    padding: 10px;\r
+    padding-bottom: 0px;\r
+    float: none;\r
 }\r
 \r
 .pager {\r
-       text-align: center;\r
+    text-align: center;\r
 }\r
 \r
 .pager a, .pager strong {\r
-       padding: 2px;\r
-       height: 10px;\r
-       font-weight: bold;\r
+    padding: 2px;\r
+    height: 10px;\r
+    font-weight: bold;\r
 }\r
 \r
 .pager a {\r
-       text-decoration: none;\r
+    text-decoration: none;\r
 }\r
 \r
 .pager a:hover {\r
-       text-decoration: none;\r
+    text-decoration: none;\r
 }\r
 \r
 /* Pager Left */\r
 .pager.pgleft a {\r
-       background: transparent;\r
-       border: 1px solid #9abf0c;\r
-       color: #9abf0c;\r
+    background: transparent;\r
+    border: 1px solid #9abf0c;\r
+    color: #9abf0c;\r
 }\r
 \r
 .pager.pgleft a:hover,\r
 .pager.pgleft strong {\r
-       background: #cce56c url(pager-left-active.png) repeat-x bottom left;\r
-       border: 1px solid #9abf0c;\r
-       color: #797d62;\r
+    background: #cce56c url(pager-left-active.png) repeat-x bottom left;\r
+    border: 1px solid #9abf0c;\r
+    color: #797d62;\r
 }\r
 \r
 .formParPage {\r
-       padding: 5px;\r
-       float: right;\r
+    padding: 5px;\r
+    float: right;\r
 }\r
 \r
 /* Barre de raccourcis */\r
 #bar {\r
-       background: url(bg-bar.png) repeat-x #fff bottom left;\r
+    background: url(bg-bar.png) repeat-x #fff bottom left;\r
 }\r
 \r
 #bar.vide {\r
-       height: 16px;\r
-       background: url(bg-bar-vide.png) repeat-x #fff bottom left;\r
+    height: 16px;\r
+    background: url(bg-bar-vide.png) repeat-x #fff bottom left;\r
 }\r
 \r
 #bar .content {\r
-       height: 60px;\r
+    height: 60px;\r
 }\r
 \r
 .shortcut .note {\r
-       color: #333;\r
-       padding: 10px;\r
+    color: #333;\r
+    padding: 10px;\r
 }\r
 \r
 .shortcut {\r
-       float: left;\r
-       margin-left: 5px;\r
-       margin-top: 3px;\r
+    float: left;\r
+    margin-left: 5px;\r
+    margin-top: 3px;\r
 }\r
 \r
 .shortcut .step {\r
-       margin-top: 5px;\r
+    margin-top: 5px;\r
 }\r
 \r
 .shortcut .label {\r
-       margin: 15px 20px 0 5px;\r
-       font-size: 16px;\r
-       font-family: UniversCondensedBold;\r
-       text-transform: uppercase;\r
+    margin: 15px 20px 0 5px;\r
+    font-size: 16px;\r
+    font-family: UniversCondensedBold;\r
+    text-transform: uppercase;\r
 }\r
 \r
 /* Filtres */\r
 .filtre {\r
-       color: #5f6162;\r
-       width: 160px;\r
-       float: left;\r
-       margin-left: 10px;\r
-       padding-top: 1px;\r
-       position: relative;\r
+    color: #5f6162;\r
+    width: 160px;\r
+    float: left;\r
+    margin-left: 10px;\r
+    padding-top: 1px;\r
+    position: relative;\r
 }\r
 \r
 .filtre span {\r
-       font-size: 9px;\r
-       color: #5f6162;\r
-       margin-left: 5px;\r
-       cursor: pointer;\r
+    font-size: 9px;\r
+    color: #5f6162;\r
+    margin-left: 5px;\r
+    cursor: pointer;\r
 }\r
 \r
 .filtre .bt {\r
-       position: absolute;\r
-       top: 2px;\r
-       right: 3px;\r
-       width: 155px;\r
-       height: 18px;\r
+    position: absolute;\r
+    top: 2px;\r
+    right: 3px;\r
+    width: 155px;\r
+    height: 18px;\r
 }\r
 \r
 .filtre .input {\r
-       width: 135px;\r
-       height: 23px;\r
-       background-image: url(filtres.png);\r
-       background-repeat: no-repeat;\r
-       padding: 5px;\r
-       padding-right: 20px;\r
-       margin-left: 5px;\r
-       position: relative;\r
+    width: 135px;\r
+    height: 23px;\r
+    background-image: url(filtres.png);\r
+    background-repeat: no-repeat;\r
+    padding: 5px;\r
+    padding-right: 20px;\r
+    margin-left: 5px;\r
+    position: relative;\r
 }\r
 \r
 .filtre .input.active {\r
-       font-weight: bold;\r
+    font-weight: bold;\r
 }\r
 \r
 .filtre a {\r
-       color: #5f6162;\r
-       text-decoration: none;\r
-       height: 23px;\r
+    color: #5f6162;\r
+    text-decoration: none;\r
+    height: 23px;\r
 }\r
 \r
 .filtre ul {\r
-       display: none;\r
-       position: absolute;\r
-       top: 36px;\r
-       left: 5px;\r
-       z-index: 20;\r
-       width: 160px;\r
-       cursor: pointer;\r
+    display: none;\r
+    position: absolute;\r
+    top: 36px;\r
+    left: 5px;\r
+    z-index: 20;\r
+    width: 160px;\r
+    cursor: pointer;\r
 }\r
 \r
 .filtre .input span {\r
-       font-size: 12px;\r
+    font-size: 12px;\r
 }\r
 \r
 .filtre ul li.first {\r
-       padding-top: 2px;\r
+    padding-top: 2px;\r
 }\r
 \r
 .filtre ul li {\r
-       list-style-type: none;\r
-       padding-left: 20px;\r
-       background-image: url(filtre-list-m.png);\r
+    list-style-type: none;\r
+    padding-left: 20px;\r
+    background-image: url(filtre-list-m.png);\r
 }\r
 \r
 .filtre ul li.last {\r
-       background-image: url(filtre-list-b.png);\r
-       background-position: 0 100%;\r
-       padding-bottom: 5px;\r
+    background-image: url(filtre-list-b.png);\r
+    background-position: 0 100%;\r
+    padding-bottom: 5px;\r
 }\r
 \r
 .filtre ul li.all {\r
-       display: none;\r
+    display: none;\r
 }\r
 \r
 .efface_filtres {\r
-       padding-right: 20px;\r
-       padding-top: 10px;\r
-       float: right;\r
+    padding-right: 20px;\r
+    padding-top: 10px;\r
+    float: right;\r
 }\r
 \r
 /* Dashboard */\r
 .dashboard {\r
-       position: relative;\r
-       margin-bottom: 10px;\r
+    position: relative;\r
+    margin-bottom: 10px;\r
 }\r
 \r
 .dashboard .caption {\r
-       position: relative;\r
-       left: 20px;\r
-       display: inline;\r
-       cursor: move;\r
+    position: relative;\r
+    left: 20px;\r
+    display: inline;\r
+    cursor: move;\r
 }\r
 \r
 .dashboard .caption .edit {\r
-       position: absolute;\r
-       right: 73px;\r
-       top: -17px;\r
+    position: absolute;\r
+    right: 73px;\r
+    top: -17px;\r
 }\r
 \r
 .dashboard .caption .delete {\r
-       position: absolute;\r
-       right: 10px;\r
-       top: -17px;\r
+    position: absolute;\r
+    right: 10px;\r
+    top: -17px;\r
 }\r
 \r
 .dashboard .caption .settings {\r
-       position: absolute;\r
-       right: 40px;\r
-       top: -17px;\r
+    position: absolute;\r
+    right: 40px;\r
+    top: -17px;\r
 }\r
 \r
 .dashboard .toggle {\r
-       position: absolute;\r
-       left: 12px;\r
-       top: -10px;\r
-       background-image: url(arrows.png);\r
-       background-position: 0 0;\r
-       width: 18px;\r
-       height: 10px;\r
+    position: absolute;\r
+    left: 12px;\r
+    top: -10px;\r
+    background-image: url(arrows.png);\r
+    background-position: 0 0;\r
+    width: 18px;\r
+    height: 10px;\r
 }\r
 \r
 .dashboard .toggle.close {\r
-       background-position: 0 100%;\r
+    background-position: 0 100%;\r
 }\r
 \r
 .dashboard div.close .liste {\r
-       display: none;\r
+    display: none;\r
 }\r
 \r
 .dashboard .b-c {\r
-       width: 960px !important;\r
-       height: auto !important;\r
+    width: 960px !important;\r
+    height: auto !important;\r
 }\r
 \r
 /* Menu Contextuel */\r
 \r
 \r
 .contextMenu {\r
-       border: 1px solid #000;\r
-       float: left;\r
-       position: absolute;\r
-       display: none;\r
-       z-index: 100000;\r
+    border: 1px solid #000;\r
+    float: left;\r
+    position: absolute;\r
+    display: none;\r
+    z-index: 100000;\r
 }\r
 \r
-.contextMenu li.disabled a {\r
-       color: #ccc;\r
-       text-decoration: line-through;\r
+.contextMenu li {\r
+    position: relative;\r
 }\r
 \r
-.contextMenu li.disabled a:hover {\r
-       color: #fff;\r
-       text-decoration: line-through;\r
+.contextMenu li.disabled a:first-child {\r
+    color: #ccc;\r
+    text-decoration: line-through;\r
 }\r
 \r
-.contextMenu li a {\r
-       border-bottom: 1px solid #ccc;\r
-       padding: 12px;\r
-       padding-left: 20px;\r
-       padding-right: 20px;\r
-       background: #fff;\r
-       min-height: 12px;\r
-       text-decoration: none;\r
-       display: inline-block;\r
+.contextMenu li.disabled a:first-child:hover {\r
+    color: #fff;\r
+    text-decoration: line-through;\r
 }\r
 \r
-.contextMenu li a:hover {\r
-       background: #ccc;\r
+.contextMenu li a:first-child {\r
+    border-bottom: 1px solid #ccc;\r
+    padding: 12px;\r
+    padding-left: 20px;\r
+    padding-right: 20px;\r
+    background: #fff;\r
+    min-height: 12px;\r
+    text-decoration: none;\r
+    display: inline-block;\r
+    position: relative;\r
 }\r
 \r
-.contextMenu li img {\r
-       margin: 5px;\r
-       margin-right: 7px;\r
-       vertical-align: middle;\r
-       float: none;\r
+.contextMenu li a:first-child:hover {\r
+    background: #ccc;\r
+}\r
+\r
+.contextMenu li a:first-child img {\r
+    margin: 5px;\r
+    margin-right: 7px;\r
+    vertical-align: middle;\r
+    float: none;\r
 }\r
 \r
 .contextMenu li.head {\r
-       background: #666b74;\r
-       font-weight: bold;\r
-       color: #fff;\r
-       text-align: center;\r
-       border-bottom: 1px solid #000;\r
+    background: #666b74;\r
+    font-weight: bold;\r
+    color: #fff;\r
+    text-align: center;\r
+    border-bottom: 1px solid #000;\r
 }\r
 \r
 /* Autocomplete */\r
 .ac_results {\r
-       background: #fff;\r
-       border: 1px solid #acacac;\r
-       color: #666;\r
-       padding: 2px;\r
-       z-index: 100000 !important;\r
+    background: #fff;\r
+    border: 1px solid #acacac;\r
+    color: #666;\r
+    padding: 2px;\r
+    z-index: 100000 !important;\r
 }\r
 \r
 .ac_results li {\r
-       cursor: pointer;\r
-       padding: 2px;\r
-       margin: 1px;\r
-       list-style-type: none;\r
+    cursor: pointer;\r
+    padding: 2px;\r
+    margin: 1px;\r
+    list-style-type: none;\r
 }\r
 \r
 .ac_results li:hover, .ac_over {\r
-       background: #4e535e;\r
-       color: #fff;\r
+    background: #4e535e;\r
+    color: #fff;\r
 }\r
 \r
 .ac_results iframe {\r
-       display: none;\r
+    display: none;\r
 }\r
 \r
 /* Traduction */\r
 #traduction div table td {\r
-       padding: 5px;\r
-       background: #dbdde2;\r
-       color: #333;\r
-       vertical-align: top;\r
+    padding: 5px;\r
+    background: #dbdde2;\r
+    color: #333;\r
+    vertical-align: top;\r
 }\r
 \r
 #traduction div table .odd td {\r
-       background: #ecedf0;\r
+    background: #ecedf0;\r
 }\r
 \r
 #traduction div table .save td {\r
-       background-color: #4e535b;\r
-       background-image: url(b-h.png);\r
-       background-repeat: repeat-x;\r
+    background-color: #4e535b;\r
+    background-image: url(b-h.png);\r
+    background-repeat: repeat-x;\r
 }\r
 \r
 /* Erreur */\r
 .error {\r
-       border: 1px solid #f00;\r
+    border: 1px solid #f00;\r
 }\r
 \r
 #uploaderContainer {\r
-       width: 970px;\r
-       height: 50px;\r
+    width: 970px;\r
+    height: 50px;\r
 }\r
 \r
 .gris {\r
-       background-color: #ecedf0;\r
+    background-color: #ecedf0;\r
 }\r
 \r
 #listeBooks {\r
-       width: 100%;\r
-       height: auto;\r
+    width: 100%;\r
+    height: auto;\r
 }\r
 \r
 /* Stats */\r
 .graphStats table {\r
-       width: auto !important;\r
+    width: auto !important;\r
 }\r
 \r
 .graphStats td, .graphStats th {\r
-       padding: 0px;\r
-       background: none transparent;\r
-       height: auto;\r
+    padding: 0px;\r
+    background: none transparent;\r
+    height: auto;\r
 }\r
 \r
 .graphStats .echelle td {\r
-       text-align: center;\r
+    text-align: center;\r
 }\r
 \r
 .graphStats .graph-note {\r
-       position: absolute;\r
-       left: 900px;\r
-       color: #f54d00;\r
-       padding-left: 2px;\r
-       padding-right: 2px;\r
-       background: #fff;\r
+    position: absolute;\r
+    left: 900px;\r
+    color: #f54d00;\r
+    padding-left: 2px;\r
+    padding-right: 2px;\r
+    background: #fff;\r
 }\r
 \r
 .graphStats .legende {\r
-       margin-top: 10px;\r
-       margin-bottom: 10px;\r
+    margin-top: 10px;\r
+    margin-bottom: 10px;\r
 }\r
 \r
 .graphStats .legende td {\r
-       margin-top: 10px;\r
-       margin-bottom: 10px;\r
+    margin-top: 10px;\r
+    margin-bottom: 10px;\r
 }\r
 \r
 .graphStats .graph-container {\r
-       width: 944px;\r
-       height: 306px;\r
+    width: 944px;\r
+    height: 306px;\r
 }\r
 \r
 th.stats_col, td.stats_col {\r
-       text-align: center;\r
+    text-align: center;\r
 }\r
 \r
 th.stats_col {\r
-       width: 130px;\r
+    width: 130px;\r
 }\r
 \r
 .stats_col.max {\r
-       width: 600px;\r
-       text-align: left;\r
+    width: 600px;\r
+    text-align: left;\r
 }\r
 \r
 .stats_links .liste, .stats_country .liste, .stats_search .liste {\r
-       min-width: 315px;\r
-       width: 315px;\r
-       max-width: 315px;\r
-       max-height: 400px;\r
+    min-width: 315px;\r
+    width: 315px;\r
+    max-width: 315px;\r
+    max-height: 400px;\r
 }\r
 \r
 .stats_links, .stats_country, .stats_search {\r
-       float: left;\r
-       margin-left: 0px;\r
+    float: left;\r
+    margin-left: 0px;\r
 }\r
 \r
 .stats_country, .stats_search {\r
-       margin-left: 13px;\r
+    margin-left: 13px;\r
 }\r
 \r
 /* Download book contextMenu */\r
 .downbookContextMenu li {\r
-       height: auto;\r
+    height: auto;\r
 }\r
 \r
 .downbookContextMenu a {\r
-       text-decoration: none;\r
+    text-decoration: none;\r
 }\r
 \r
 .onglet:hover, .onglet.active {\r
-       color: #797D62;\r
+    color: #797D62;\r
 }\r
 \r
 #accepteDemandes {\r
-       padding: 10px;\r
+    padding: 10px;\r
 }\r
 \r
 #restoreLinks {\r
-       margin: 10px;\r
+    margin: 10px;\r
 }\r
 \r
 #restoreLinks hr {\r
-       margin: 10px 0;\r
+    margin: 10px 0;\r
 }\r
 \r
 #restoreLinks h2 {\r
-       margin: 5px 0 10px 0;\r
+    margin: 5px 0 10px 0;\r
 }\r
 \r
 a.btbook {\r
-       display: inline-block;\r
-       height: 16px;\r
-       padding: 2px 6px 2px 2px;\r
-       border: 1px solid #fff;\r
-       border-radius: 5px;\r
-       background-color: rgb(251, 251, 251);\r
-       background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSI2OCUiIHN0b3AtY29sb3I9IiNmYmZiZmIiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZTVlNmU2IiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==");\r
-       background-image: -moz-linear-gradient(top, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
-       background-image: -webkit-gradient(linear, left top, left bottom, color-stop(68%, rgba(251, 251, 251, 1)), color-stop(100%, rgba(229, 230, 230, 1)));\r
-       background-image: -webkit-linear-gradient(top, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
-       background-image: -o-linear-gradient(top, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
-       background-image: -ms-linear-gradient(top, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
-       background-image: linear-gradient(to bottom, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
-       line-height: 16px;\r
-       font-size: 13px;\r
-       color: #b1b5a0;\r
-       font-family: UniversCondensedBold;\r
-       text-decoration: none;\r
-       text-transform: uppercase;\r
-       white-space: nowrap;\r
-\r
-       -moz-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
-       -webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
-       -ms-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
-       -o-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
-       box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
+    display: inline-block;\r
+    height: 16px;\r
+    padding: 2px 6px 2px 2px;\r
+    border: 1px solid #fff;\r
+    border-radius: 5px;\r
+    background-color: rgb(251, 251, 251);\r
+    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSI2OCUiIHN0b3AtY29sb3I9IiNmYmZiZmIiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZTVlNmU2IiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==");\r
+    background-image: -moz-linear-gradient(top, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
+    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(68%, rgba(251, 251, 251, 1)), color-stop(100%, rgba(229, 230, 230, 1)));\r
+    background-image: -webkit-linear-gradient(top, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
+    background-image: -o-linear-gradient(top, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
+    background-image: -ms-linear-gradient(top, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
+    background-image: linear-gradient(to bottom, rgba(251, 251, 251, 1) 68%, rgba(229, 230, 230, 1) 100%);\r
+    line-height: 16px;\r
+    font-size: 13px;\r
+    color: #b1b5a0;\r
+    font-family: UniversCondensedBold;\r
+    text-decoration: none;\r
+    text-transform: uppercase;\r
+    white-space: nowrap;\r
+\r
+    -moz-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
+    -webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
+    -ms-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
+    -o-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
+    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);\r
 }\r
 \r
 a.btbook > div {\r
-       display: inline-block;\r
-       width: 16px;\r
-       height: 16px !important;\r
-       background-position: 0 0;\r
+    display: inline-block;\r
+    width: 16px;\r
+    height: 16px !important;\r
+    background-position: 0 0;\r
 }\r
 \r
 a.btbook > span {\r
-       display: inline-block;\r
-       vertical-align: top;\r
-       margin: 0 0 0 5px;\r
+    display: inline-block;\r
+    vertical-align: top;\r
+    margin: 0 0 0 5px;\r
 }\r
 \r
 a.btbook:hover > div {\r
-       background-position: 0 100%;\r
+    background-position: 0 100%;\r
 }\r
 \r
 a.btbook.suppr > div {\r
-       background-image: url("../../images/ws/btdel.png");\r
+    background-image: url("../../images/ws/btdel.png");\r
 }\r
 \r
 a.btbook.voir > div {\r
-       background-image: url("../../images/ws/btview.png");\r
+    background-image: url("../../images/ws/btview.png");\r
 }\r
 \r
 a.btbook.download > div {\r
-       background-image: url("../../images/ws/btdownload.png");\r
+    background-image: url("../../images/ws/btdownload.png");\r
 }\r
 \r
 a.btbook.stats > div {\r
-       background-image: url("../../images/ws/btstats.png");\r
+    background-image: url("../../images/ws/btstats.png");\r
 }\r
 \r
 a.btbook.edit > div {\r
-       background-image: url("../../images/ws/btedit.png");\r
+    background-image: url("../../images/ws/btedit.png");\r
 }\r
 \r
 /* Page tree */\r
 \r
 #collection {\r
-       padding: 5px;\r
+    padding: 5px;\r
 }\r
 \r
 #collection td.pad {\r
-       padding: 15px 0;\r
+    padding: 15px 0;\r
 }\r
 \r
 #collection .min.nowrap {\r
-       padding: 0 15px 0 0;\r
+    padding: 0 15px 0 0;\r
 }\r
 \r
 #collection h1 {\r
-       margin: 5px 0 10px;\r
-       padding: 0;\r
+    margin: 5px 0 10px;\r
+    padding: 0;\r
 }\r
 \r
 #collection .group.empty {\r
-       display: none;\r
+    display: none;\r
 }\r
 \r
 #collection .g {\r
-       padding: 2px 6px;\r
+    padding: 2px 6px;\r
 }\r
 \r
 #collection h3 {\r
-       margin: 10px 0 10px 0 !important;\r
-       border-top: 2px solid #BEBFB1;\r
-       padding: 10px 0 0 0;\r
+    margin: 10px 0 10px 0 !important;\r
+    border-top: 2px solid #BEBFB1;\r
+    padding: 10px 0 0 0;\r
 }\r
 \r
 #collection .group,\r
 #collection .publication {\r
-       padding: 5px;\r
-       border: 1px solid #ccc;\r
-       margin: 2px 0;\r
-       background-color: #eee;\r
+    padding: 5px;\r
+    border: 1px solid #ccc;\r
+    margin: 2px 0;\r
+    background-color: #eee;\r
 }\r
 \r
 #collection .publication {\r
-       background-color: #fff;\r
+    background-color: #fff;\r
 }\r
 \r
 #collection ul {\r
-       list-style: none;\r
+    list-style: none;\r
 }\r
 \r
 #collection div {\r
-       height: 20px;\r
+    height: 20px;\r
 }\r
 \r
 #collection div span,\r
 #collection div a {\r
-       display: block;\r
-       height: 16px;\r
-       float: left;\r
+    display: block;\r
+    height: 16px;\r
+    float: left;\r
 }\r
 \r
 #collection div .move,\r
 #collection div .add,\r
 #collection div .delete {\r
-       width: 16px;\r
+    width: 16px;\r
 }\r
 \r
 #collection div img {\r
-       vertical-align: bottom;\r
+    vertical-align: bottom;\r
 }\r
 \r
 #collection div .move {\r
-       margin-right: 10px;\r
-       background-image: url("/images/ws/tango16/actions/mail-send-receive.png")\r
+    margin-right: 10px;\r
+    background-image: url("/images/ws/tango16/actions/mail-send-receive.png")\r
 }\r
 \r
 #collection div .add {\r
-       float: right;\r
-       margin-right: 10px;\r
-       background-image: url("/images/ws/tango16/actions/list-add.png")\r
+    float: right;\r
+    margin-right: 10px;\r
+    background-image: url("/images/ws/tango16/actions/list-add.png")\r
 }\r
 \r
 #collection div .online {\r
-       float: right;\r
-       margin-right: 10px;\r
+    float: right;\r
+    margin-right: 10px;\r
 }\r
 \r
 #collection div .online .checkbox {\r
-       background-image: url("/CubeIT/images/online-offline.png");\r
-       background-repeat: no-repeat;\r
-       background-position: 0 100%;\r
-       width: 16px;\r
-       height: 16px;\r
-       cursor: pointer;\r
+    background-image: url("/CubeIT/images/online-offline.png");\r
+    background-repeat: no-repeat;\r
+    background-position: 0 100%;\r
+    width: 16px;\r
+    height: 16px;\r
+    cursor: pointer;\r
 }\r
 \r
 #collection div .online .checkbox[checked] {\r
-       background-position: 0 0;\r
+    background-position: 0 0;\r
 }\r
 \r
 #collection div .delete {\r
-       float: right;\r
-       margin-right: 10px;\r
-       background-image: url("/images/ws/tango16/actions/list-remove.png")\r
+    float: right;\r
+    margin-right: 10px;\r
+    background-image: url("/images/ws/tango16/actions/list-remove.png")\r
 }\r
 \r
 #collection div .id {\r
-       font-weight: bold;\r
-       margin-right: 10px;\r
+    font-weight: bold;\r
+    margin-right: 10px;\r
 }\r
 \r
 #collection div .name {\r
-       margin-right: 10px;\r
+    margin-right: 10px;\r
 }\r
 \r
 #collection input,\r
 #collection select {\r
-       width: auto;\r
+    width: auto;\r
 }\r
 \r
 #collection .submit {\r
-       float: right;\r
+    float: right;\r
 }\r
 \r
 .b {\r
 \r
-       -moz-box-shadow: none;\r
-       -ms-box-shadow: none;\r
-       -webkit-box-shadow: none;\r
-       -o-box-shadow: none;\r
-       box-shadow: none;\r
+    -moz-box-shadow: none;\r
+    -ms-box-shadow: none;\r
+    -webkit-box-shadow: none;\r
+    -o-box-shadow: none;\r
+    box-shadow: none;\r
+}\r
+\r
+.clipboardurl {\r
+    position: absolute;\r
+    width: 15px;\r
+    height: 15px;\r
+    top: 12px;\r
+    right: 10px;\r
 }
\ No newline at end of file