]> _ Git - cubeextranet.git/commitdiff
done #1047 @3
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 19 Dec 2016 19:38:19 +0000 (19:38 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 19 Dec 2016 19:38:19 +0000 (19:38 +0000)
inc/commons/class.common.tools.php
inc/commons/class.common.url.php
js/common.js
style/common.css [deleted file]
style/common.less [new file with mode: 0644]
style/extranet/style.css [deleted file]
style/extranet/style.less [new file with mode: 0644]

index 68a54ecde22a24b4b471da238010743a9268e978..3f465449fab10808c51e3aea6089f249282bc51b 100644 (file)
@@ -840,8 +840,8 @@ class commonTools {
                $openssl->setArg('-outform', 'PEM');
                $openssl->execute();
 
-               fb($openssl->commande);
-               fb($openssl->output);
+               print($openssl->commande);
+               print($openssl->output);
 
                // Generate p12 file
                $openssl = new cubeCommandLine('openssl');
index 8b756fe24949f3c85498228c0eb167f7d7323ffd..cf344266a27a715f005267ad4a1e11a6bfe09de9 100644 (file)
@@ -348,20 +348,17 @@ class commonUrl {
                $res .= '<div class="gris form">';\r
                $res .= '<h1>' . $texte . '</h1>';\r
 \r
+\r
                if ($for == 'client') {\r
-                       $fv = array('url' => SITE_PATH . 'upload');\r
+                       $action = SITE_PATH . 'upload';\r
                } else {\r
-                       $fv = array('url' => SITE_PATH . 'upload/' . $for);\r
-               }\r
-               $fv['browseText'] = __('Parcourir') . ' ...';\r
-               $fv['finishedText'] = __('Transfert terminé');\r
-               $fv['totalText'] = __('Total');\r
-               $fv['loadingFileText'] = __('Chargement du fichier');\r
-               // $fv['debug']='true';\r
-               $fv['PHPSESSID'] = session_id();\r
-               $fv['theme'] = MODE;\r
 \r
-               $res .= cubeMedia::flash(WEBROOT . '/swf/uploader.swf', '970', '50', $fv, 'uploaderContainer', '', '9', '#ffffff', '', 'true', 'noscale', 'transparent');\r
+                       $action = SITE_PATH . 'upload/' . $for;\r
+               }\r
+               $res .= '<form id="upload" action="' . $action . '" method="post" enctype="multipart/form-data" class="notajax">';\r
+               $res .= '<input type="file" name="files[]" multiple="multiple" />';\r
+               $res .= '<div class="progress"><div class="back"></div><div class="bar"></div><div class="status">Veuillez sélectionner un ou plusieurs fichier</div> </div><a href="#" class="button">' . __('Parcourir') . '...</a>';\r
+               $res .= '</form>';\r
                $res .= '</div>';\r
                $res .= commonPage::bf();\r
                $res .= '</div>';\r
@@ -372,7 +369,7 @@ class commonUrl {
                commonDroits::min(array('extranet' => 0, 'ws' => 1));\r
 \r
                global $core;\r
-               if ($core->user->ws_grade <= 0  && isset($_SESSION['entreprise_fichiers'])) {\r
+               if ($core->user->ws_grade <= 0 && isset($_SESSION['entreprise_fichiers'])) {\r
                        $entreprise = $core->user->entreprise;\r
                } else {\r
                        $entreprise = $_SESSION['entreprise_fichiers'];\r
@@ -581,14 +578,16 @@ class commonUrl {
                        mkdir($dest, 0755, true);\r
                }\r
 \r
-               if (!isset($_SESSION['files_uploaded'])) {\r
-                       $_SESSION['files_uploaded'] = array();\r
-               }\r
-               foreach ($_FILES as $f) {\r
-                       if ($f['error']) {\r
+               $files_uploaded = array();\r
+\r
+               print_r($_FILES);\r
+\r
+\r
+               foreach ($_FILES['files']['name'] as $k=>$ffname) {\r
+                       if ($_FILES['files']['error'][$k]) {\r
                                continue;\r
                        }\r
-                       $fname = cubeFiles::tidyName($f['name']);\r
+                       $fname = cubeFiles::tidyName($ffname);\r
                        while (file_exists($dest . '/' . $fname)) {\r
                                $name = cubeFiles::getName($fname);\r
                                $ext = files::getExtension($fname);\r
@@ -597,44 +596,44 @@ class commonUrl {
                                $fname = $name . '.' . $ext;\r
                        }\r
 \r
-                       move_uploaded_file($f['tmp_name'], $dest . '/' . $fname);\r
-                       $_SESSION['files_uploaded'][] = $destrel . '/' . $fname;\r
-\r
-                       if (isset($_POST['last']) && $_POST['last'] == '1') {\r
-                               $mail = new cubeMail();\r
-                               $mail->charset = 'UTF-8';\r
-                               $mail->from = FROM_NAME . '<' . FROM_EMAIL . '>';\r
-                               if (!$for) {\r
-                                       $mail->to = TEAM_EMAIL;\r
-                                       $mail->subject = '[' . EMAIL_SUBJECT . '] Nouveaux fichiers uploadés par ' . $core->user->prenom . ' ' . $core->user->nom;\r
-                                       $body = 'Tous les fichiers de ' . $core->user->prenom . ' ' . $core->user->nom . ' : https://' . $_SERVER['HTTP_HOST'] . '/fichiers/' . $core->user->utilisateur_id . "\n\n";\r
-                                       $body .= 'Fichiers chargés : ' . "\n";\r
-                                       foreach ($_SESSION['files_uploaded'] as $f) {\r
-                                               $body .= ' - https://' . $_SERVER['HTTP_HOST'] . '/telecharger/' . $f . "\n";\r
-                                       }\r
-                               } else {\r
-                                       $dao = new commonDAOClient($core->con);\r
-                                       $client = $dao->selectById($for);\r
-\r
-                                       $mail->to = $core->user->email;\r
-                                       $mail->subject = '[' . EMAIL_SUBJECT . '] Nouveaux fichiers uploadés pour ' . $client->prenom . ' ' . $client->nom;\r
-\r
-                                       $body = 'Tous les fichiers de ' . $client->prenom . ' ' . $client->nom . ' : https://' . $_SERVER['HTTP_HOST'] . '/fichiers/' . $client->utilisateur_id . "\n\n";\r
-                                       $body .= 'Fichiers chargés : ' . "\n";\r
-                                       foreach ($_SESSION['files_uploaded'] as $f) {\r
-                                               $body .= ' - https://' . $_SERVER['HTTP_HOST'] . '/telecharger/' . commonUrl::hashFile($f) . '/' . $f . "\n";\r
-                                       }\r
-                                       $body .= "\n" . RAPPEL . " : \n";\r
-                                       $body .= ' - Adresse : https://' . $_SERVER['HTTP_HOST'] . '/' . "\n";\r
-                                       $body .= ' - Login : ' . $client->email . "\n";\r
-                                       $body .= ' - Mot de passe : ' . $client->password . "\n";\r
+                       move_uploaded_file($_FILES['files']['tmp_name'][$k], $dest . '/' . $fname);\r
+                       $files_uploaded[] = $destrel . '/' . $fname;\r
+               }\r
+\r
+               if (count($files_uploaded) > 0) {\r
+                       $mail = new cubeMail();\r
+                       $mail->charset = 'UTF-8';\r
+                       $mail->from = FROM_NAME . '<' . FROM_EMAIL . '>';\r
+                       if (!$for) {\r
+                               $mail->to = TEAM_EMAIL;\r
+                               $mail->subject = '[' . EMAIL_SUBJECT . '] Nouveaux fichiers uploadés par ' . $core->user->prenom . ' ' . $core->user->nom;\r
+                               $body = 'Tous les fichiers de ' . $core->user->prenom . ' ' . $core->user->nom . ' : https://' . $_SERVER['HTTP_HOST'] . '/fichiers/' . $core->user->utilisateur_id . "\n\n";\r
+                               $body .= 'Fichiers chargés : ' . "\n";\r
+                               foreach ($files_uploaded as $f) {\r
+                                       $body .= ' - https://' . $_SERVER['HTTP_HOST'] . '/telecharger/' . $f . "\n";\r
                                }\r
-                               $mail->body = $body;\r
-                               $ok = $mail->send();\r
+                       } else {\r
+                               $dao = new commonDAOClient($core->con);\r
+                               $client = $dao->selectById($for);\r
+\r
+                               $mail->to = $core->user->email;\r
+                               $mail->subject = '[' . EMAIL_SUBJECT . '] Nouveaux fichiers uploadés pour ' . $client->prenom . ' ' . $client->nom;\r
 \r
-                               $_SESSION['files_uploaded'] = array();\r
+                               $body = 'Tous les fichiers de ' . $client->prenom . ' ' . $client->nom . ' : https://' . $_SERVER['HTTP_HOST'] . '/fichiers/' . $client->utilisateur_id . "\n\n";\r
+                               $body .= 'Fichiers chargés : ' . "\n";\r
+                               foreach ($files_uploaded as $f) {\r
+                                       $body .= ' - https://' . $_SERVER['HTTP_HOST'] . '/telecharger/' . commonUrl::hashFile($f) . '/' . $f . "\n";\r
+                               }\r
+                               $body .= "\n" . RAPPEL . " : \n";\r
+                               $body .= ' - Adresse : https://' . $_SERVER['HTTP_HOST'] . '/' . "\n";\r
+                               $body .= ' - Login : ' . $client->email . "\n";\r
+                               $body .= ' - Mot de passe : ' . $client->password . "\n";\r
                        }\r
+                       $mail->body = $body;\r
+                       $ok = $mail->send();\r
                }\r
+\r
+\r
                ob_clean();\r
                exit;\r
        }\r
index 484c33d662d565fcc9f69bf19ac8577f202c118a..3fe67954a40ae78aac899453c7115eb4e1c16704 100644 (file)
 TO_LOAD[TO_LOAD.length] = 'load_common_extranet();';\r
 FIRST_LOAD = true;\r
 var DEFAULT_WAIT_MESSAGE = "";\r
+ADVANCED_UPLOAD = !(window.FileReader == undefined && window.FormData == undefined);\r
 \r
 function load_common_extranet() {\r
-       DEFAULT_WAIT_MESSAGE = $("#ajaxLoader .c p").text();\r
-\r
-       var viewportWidth = 1030;\r
-       if ($("#main.big").length > 0) {\r
-               $("#header").addClass('big');\r
-               viewportWidth = 1250;\r
-       }\r
-\r
-       var is = screen.width / viewportWidth;\r
-       $('meta[name="viewport"]').attr('content', 'width=' + viewportWidth + 'px,initial-scale=' + is + ',maximum-scale:2.0');\r
-\r
-       if ($(".dashboard").length >= 1 && $("#dash").length >= 1) {\r
-               try {\r
-                       $("#dash").sortable('destroy');\r
-               } catch (err) {\r
-\r
-               }\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) {\r
-                                       MyAjax(data);\r
-                               }\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
-\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() {\r
-                       resize();\r
-               });\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
-       $("#copywsassets").off('change blur').on('change blur', "#source", function() {\r
-               $.ajax({\r
-                       url: SITE_PATH + 'ajax/fluidbookAssets/' + $(this).val(),\r
-                       success: function(data) {\r
-                               MyAjax(data);\r
-                       }\r
-               });\r
-       });\r
-\r
-\r
-       $(window).resize(function() {\r
-               resize();\r
-       });\r
-       resize();\r
+    DEFAULT_WAIT_MESSAGE = $("#ajaxLoader .c p").text();\r
+\r
+\r
+    var viewportWidth = 1030;\r
+    if ($("#main.big").length > 0) {\r
+        $("#header").addClass('big');\r
+        viewportWidth = 1250;\r
+    }\r
+\r
+    var is = screen.width / viewportWidth;\r
+    $('meta[name="viewport"]').attr('content', 'width=' + viewportWidth + 'px,initial-scale=' + is + ',maximum-scale:2.0');\r
+\r
+    if ($(".dashboard").length >= 1 && $("#dash").length >= 1) {\r
+        try {\r
+            $("#dash").sortable('destroy');\r
+        } catch (err) {\r
+\r
+        }\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) {\r
+                    MyAjax(data);\r
+                }\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
+\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 () {\r
+            resize();\r
+        });\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
+    $("#copywsassets").off('change blur').on('change blur', "#source", function () {\r
+        $.ajax({\r
+            url: SITE_PATH + 'ajax/fluidbookAssets/' + $(this).val(),\r
+            success: function (data) {\r
+                MyAjax(data);\r
+            }\r
+        });\r
+    });\r
+\r
+    if ($('form#upload').length > 0) {\r
+        var bar = $('form#upload .bar');\r
+        var status = $('form#upload .status');\r
+\r
+        $('form#upload').ajaxForm({\r
+            beforeSend: function () {\r
+                status.empty();\r
+                var percentVal = '0%';\r
+                status.html('Chargement en cours | <span class="perc">' + percentVal + '</span>');\r
+                bar.css('width', percentVal);\r
+            },\r
+            uploadProgress: function (event, position, total, percentComplete) {\r
+                var percentVal = percentComplete + '%';\r
+                bar.css('width', percentVal);\r
+                status.html('Chargement en cours | <span class="perc">' + percentVal + '</span>');\r
+            },\r
+            success: function () {\r
+                var percentVal = '100%';\r
+                bar.css('width', percentVal);\r
+                status.html('Chargement en cours | <span class="perc">' + percentVal + '</span>');\r
+            },\r
+            complete: function (xhr) {\r
+                window.location = window.location;\r
+            }\r
+        });\r
+\r
+        $(document).on('click', "form#upload a.button", function () {\r
+            $('form#upload input[type="file"]').trigger('click');\r
+            return false;\r
+        });\r
+\r
+        $(document).on('change', 'form#upload input[type="file"]', function () {\r
+            console.log($(this));\r
+            $(this).closest('form').submit();\r
+        });\r
+    }\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
+    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
+    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 refreshFiles() {\r
-       $.ajax({\r
-               url: SITE_PATH + 'ajax/refreshFichiers',\r
-               success: function(data) {\r
-                       MyAjax(data);\r
-               }\r
-       });\r
+    $.ajax({\r
+        url: SITE_PATH + 'ajax/refreshFichiers',\r
+        success: function (data) {\r
+            MyAjax(data);\r
+        }\r
+    });\r
 }\r
 \r
 \r
 function findWSAdmin(li) {\r
-       var p = li.selectValue.split(' - ');\r
-       if (p.length <= 1) {\r
-               return;\r
-       }\r
-       var user_id = parseInt(p[0]);\r
-       $("#ws_admin").val(user_id);\r
+    var p = li.selectValue.split(' - ');\r
+    if (p.length <= 1) {\r
+        return;\r
+    }\r
+    var user_id = parseInt(p[0]);\r
+    $("#ws_admin").val(user_id);\r
 }\r
 \r
 function resizeLoader() {\r
-       $("#ajaxLoader").css('height', $(window).height());\r
-       $("#ajaxLoader").css('width', $(window).width());\r
+    $("#ajaxLoader").css('height', $(window).height());\r
+    $("#ajaxLoader").css('width', $(window).width());\r
 }\r
 \r
 function displayLoader(message) {\r
-       if (message != undefined) {\r
-               $("#ajaxLoader .c p").html(message);\r
-       }\r
-\r
-       resizeLoader();\r
-       $("#ajaxLoader").show();\r
-       var h = $("#ajaxLoader .c").outerHeight();\r
-       $("#ajaxLoader").css('top', -h);\r
-       $("#ajaxLoader").animate({\r
-               top: 0\r
-       }, 400);\r
+    if (message != undefined) {\r
+        $("#ajaxLoader .c p").html(message);\r
+    }\r
+\r
+    resizeLoader();\r
+    $("#ajaxLoader").show();\r
+    var h = $("#ajaxLoader .c").outerHeight();\r
+    $("#ajaxLoader").css('top', -h);\r
+    $("#ajaxLoader").animate({\r
+        top: 0\r
+    }, 400);\r
 }\r
 \r
 function hideLoader() {\r
-       resizeLoader();\r
-\r
-       var h = $("#ajaxLoader .c").outerHeight();\r
-       $("#ajaxLoader").animate({\r
-               top: -h\r
-       }, 400, null, function() {\r
-               $(this).hide();\r
-               $("#ajaxLoader .c p").html(DEFAULT_WAIT_MESSAGE);\r
-       });\r
+    resizeLoader();\r
+\r
+    var h = $("#ajaxLoader .c").outerHeight();\r
+    $("#ajaxLoader").animate({\r
+        top: -h\r
+    }, 400, null, function () {\r
+        $(this).hide();\r
+        $("#ajaxLoader .c p").html(DEFAULT_WAIT_MESSAGE);\r
+    });\r
 }
\ No newline at end of file
diff --git a/style/common.css b/style/common.css
deleted file mode 100644 (file)
index e90fc90..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-input[type="text"],input[type="password"],input[type="email"],input[type="search"],textarea{
-       font-family:Verdana;
-       font-size:12px;
-       -webkit-appearance: textfield;
-       outline: none;
-}
-
-select{
-       font-family:Verdana;
-       font-size:12px;
-       outline: none;
-}
-
-h1{
-       font-family: UniversCondensedBold;
-       font-weight: normal;
-       text-transform: uppercase;
-       font-size:16px;
-       padding:10px 0 5px;
-}
-
-@font-face {
-    font-family: 'UniversCondensedBold';
-    src: url('univers-condensedbold-webfont.eot');
-    src: url('univers-condensedbold-webfont.eot?#iefix') format('embedded-opentype'),
-               url('univers-condensedbold-webfont.woff') format('woff'),
-               url('univers-condensedbold-webfont.ttf') format('truetype'),
-               url('univers-condensedbold-webfont.svg#UniversCondensedBold') format('svg');
-    font-weight: normal;
-    font-style: normal;
-}
-
-.b{padding:3px;
-   background:#ffffff;
-   border-radius:7px;
-   -ms-box-shadow:0px 0px 5px #999fab;
-   -o-box-shadow:0px 0px 5px #999fab;
-   -moz-box-shadow:0px 0px 5px #999fab;
-   -webkit-box-shadow:0px 0px 5px #999fab;
-   box-shadow:0px 0px 5px #999fab;
-   margin-bottom: 10px;
-}
-
-.b table{
-       width:100%;
-}
-
-/* Top left */
-.b table tr:first-child th:first-child{
-       border-radius:6px 0 0 0;
-}
-.b table tr:first-child th:last-child{
-       border-radius:0 6px 0 0;
-}
-.b table tr:last-child td:first-child{
-       border-radius:0 0 0 6px;
-}
-.b table tr:last-child td:last-child{
-       border-radius:0 0 6px 0;
-}
-
-.b table.legende tr td,
-.b table.legende tr th{
-       border-radius: 0 !important;
-}
-
-.b.login{
-       width:325px;
-       margin:0 auto;
-}
-
-
-.onglet{
-       background:url('onglet.png');
-       background-position: top left;
-       background-repeat:repeat-x;
-       text-align: center;
-       border-radius:7px 7px 0 0;
-       color:#ffffff;
-       font-size:14px;
-       width:119px;
-       text-transform: uppercase;
-       font-family: UniversCondensedBold, Arial, Helvetica,sans-serif;
-       display:inline-block;
-       height: 24px;
-    margin-right: 1px;
-       text-decoration: none;
-       padding:7px 0 0 0;
-       font-weight: normal;
-}
-
-.onglet.active, .onglet:hover{
-       background-position:bottom left;
-
-}
-
-#ajaxLoader{
-       position:fixed;
-       display:none;
-       top:0px;
-       left:0px;
-       width:100%;
-       height:100%;
-       z-index: 10000000;
-}
-
-#ajaxLoader .c{
-       background:#fff;
-       font-size:16px;
-       padding:20px;
-       width:300px;
-       height:50px;
-       margin:0 auto;
-       border-radius: 0 0 10px 10px;
-       box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
-       -moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
-       -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
-       -ms-box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
-       -o-box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
-}
-
-#ajaxLoader .c img{
-       vertical-align: middle;
-       display: block;
-       float:left;
-} 
-
-#ajaxLoader .c p{
-       width:240px;
-       float:left;
-       margin-left:20px;
-       text-align: center;
-}
\ No newline at end of file
diff --git a/style/common.less b/style/common.less
new file mode 100644 (file)
index 0000000..bbf08f8
--- /dev/null
@@ -0,0 +1,206 @@
+input[type="text"], input[type="password"], input[type="email"], input[type="search"], textarea {
+       font-family: Verdana;
+       font-size: 12px;
+       -webkit-appearance: textfield;
+       outline: none;
+}
+
+select {
+       font-family: Verdana;
+       font-size: 12px;
+       outline: none;
+}
+
+h1 {
+       font-family: UniversCondensedBold;
+       font-weight: normal;
+       text-transform: uppercase;
+       font-size: 16px;
+       padding: 10px 0 5px;
+}
+
+@font-face {
+       font-family: 'UniversCondensedBold';
+       src: url('univers-condensedbold-webfont.eot');
+       src: url('univers-condensedbold-webfont.eot?#iefix') format('embedded-opentype'),
+       url('univers-condensedbold-webfont.woff') format('woff'),
+       url('univers-condensedbold-webfont.ttf') format('truetype'),
+       url('univers-condensedbold-webfont.svg#UniversCondensedBold') format('svg');
+       font-weight: normal;
+       font-style: normal;
+}
+
+.b {
+       padding: 3px;
+       background: #ffffff;
+       border-radius: 7px;
+       -ms-box-shadow: 0px 0px 5px #999fab;
+       -o-box-shadow: 0px 0px 5px #999fab;
+       -moz-box-shadow: 0px 0px 5px #999fab;
+       -webkit-box-shadow: 0px 0px 5px #999fab;
+       box-shadow: 0px 0px 5px #999fab;
+       margin-bottom: 10px;
+}
+
+.b table {
+       width: 100%;
+}
+
+/* Top left */
+.b table tr:first-child th:first-child {
+       border-radius: 6px 0 0 0;
+}
+
+.b table tr:first-child th:last-child {
+       border-radius: 0 6px 0 0;
+}
+
+.b table tr:last-child td:first-child {
+       border-radius: 0 0 0 6px;
+}
+
+.b table tr:last-child td:last-child {
+       border-radius: 0 0 6px 0;
+}
+
+.b table.legende tr td,
+.b table.legende tr th {
+       border-radius: 0 !important;
+}
+
+.b.login {
+       width: 325px;
+       margin: 0 auto;
+}
+
+.onglet {
+       background: url('onglet.png');
+       background-position: top left;
+       background-repeat: repeat-x;
+       text-align: center;
+       border-radius: 7px 7px 0 0;
+       color: #ffffff;
+       font-size: 14px;
+       width: 119px;
+       text-transform: uppercase;
+       font-family: UniversCondensedBold, Arial, Helvetica, sans-serif;
+       display: inline-block;
+       height: 24px;
+       margin-right: 1px;
+       text-decoration: none;
+       padding: 7px 0 0 0;
+       font-weight: normal;
+}
+
+.onglet.active, .onglet:hover {
+       background-position: bottom left;
+
+}
+
+#ajaxLoader {
+       position: fixed;
+       display: none;
+       top: 0px;
+       left: 0px;
+       width: 100%;
+       height: 100%;
+       z-index: 10000000;
+}
+
+#ajaxLoader .c {
+       background: #fff;
+       font-size: 16px;
+       padding: 20px;
+       width: 300px;
+       height: 50px;
+       margin: 0 auto;
+       border-radius: 0 0 10px 10px;
+       box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+       -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+       -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+       -ms-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+       -o-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+}
+
+#ajaxLoader .c img {
+       vertical-align: middle;
+       display: block;
+       float: left;
+}
+
+#ajaxLoader .c p {
+       width: 240px;
+       float: left;
+       margin-left: 20px;
+       text-align: center;
+}
+
+form#upload {
+       width: 600px;
+       margin: 0 auto;
+       padding: 0 0 20px;
+       input[type="file"] {
+               position: absolute;
+               top: 0;
+               left: 0;
+               opacity: 0;
+               width: 1px;
+               height: 1px;
+       }
+
+       a.button {
+               height: 30px;
+               box-sizing: border-box;
+               color: #fff;
+               font-weight: 700;
+               background-color: #9cc10e;
+               display: inline-block;
+               padding: 7px 10px;
+               text-decoration: none;
+               border-radius: 5px;
+               text-align: center;
+               width: 120px;
+               vertical-align: top;
+       }
+
+       .progress {
+               border: 1px solid #ccc;
+               border-radius: 5px;
+
+               width: 430px;
+               height: 30px;
+               margin-right: 10px;
+               display: inline-block;
+               vertical-align: top;
+               position: relative;
+
+               .back {
+                       position: absolute;
+                       background-color: #fff;
+                       width: 100%;
+                       height: 30px;
+                       top: 0;
+                       left: 0;
+                       z-index: 1;
+               }
+
+               .bar {
+                       position: absolute;
+                       background-color: #1F222A;
+                       width: 0%;
+                       height: 30px;
+                       top: 0;
+                       left: 0;
+                       z-index: 2;
+               }
+
+               .status {
+                       position: absolute;
+                       width: 100%;
+                       text-align: center;
+                       color: #9cc10e;
+                       top: 7px;
+                       z-index: 3;
+               }
+       }
+}
\ No newline at end of file
diff --git a/style/extranet/style.css b/style/extranet/style.css
deleted file mode 100644 (file)
index 249fa81..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-body{\r
-       height:auto;\r
-}\r
-\r
-body,table{\r
-       font-family:Verdana;\r
-       font-size:12px;\r
-       color:#fff;\r
-}\r
-\r
-a{\r
-       color:#da4f24;\r
-       text-decoration:underline;\r
-}\r
-\r
-a:hover{\r
-       text-decoration:none;\r
-}\r
-\r
-abbr{cursor:help;border-bottom:1px dotted #fff;}\r
-td{height:30px;color:#333;}\r
-\r
-h1{\r
-       padding:6px 5px;\r
-}\r
-\r
-.login h1{\r
-       color:#5F6162;\r
-       padding: 10px 10px 5px;\r
-}\r
-\r
-\r
-input[type="text"],input[type="password"],input[type="email"],input[type="search"],select,textarea{\r
-       color:#666;\r
-}\r
-\r
-.message{text-align:center;font-size:11px;color:#da4f24;background:#fff;}\r
-\r
-.content{\r
-       width:990px;\r
-       margin:0 auto;\r
-       position:relative;\r
-}\r
-\r
-#header{\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
-}\r
-\r
-#welcome{\r
-       position:absolute;\r
-       top:25px;\r
-       right:10px;\r
-       font-size:11px;\r
-}\r
-\r
-#welcome.with-search{\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
-}\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
-}\r
-\r
-#search a{\r
-       margin-left:5px;\r
-       position:absolute;\r
-       top:2px;\r
-       right:3px;\r
-}\r
-\r
-#footer{\r
-       height:5px;\r
-       background:#2a303a;\r
-       overflow:hidden;\r
-}\r
-\r
-#main{\r
-       background:url(bg-page.png) repeat-x #dbdde2 ;\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
-}\r
-\r
-#nav{\r
-       height:31px;\r
-       position:absolute;\r
-       top:63px;\r
-       width:960px;\r
-}\r
-\r
-.popupOverlay{background:#666;opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}\r
-.popupWindow{display:none;opacity:1;position:fixed;}\r
-/*.popupWindow>table{width:600px;}*/\r
-.popupWindow .close{position:absolute;top:15px;right:15px;}\r
-\r
-/* Tableaux */\r
-\r
-.liste{width:100% !important;min-width:960px;}\r
-.liste.light{width:100% !important;min-width:0px !important;}\r
-.liste.form{width:auto !important;min-width:0px !important;}\r
-.form h2,.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;font-size:12px;}\r
-.form th,.liste th,.liste h1{color:#fff;font-size:11px;height:31px;font-weight:normal;vertical-align:middle;background:#4e535b url(b-h.png) repeat-x;padding-left:10px;}\r
-.form tr.big th{height:40px;}\r
-.form h2{padding-top:6px;height:26px;}\r
-.form td{background:#fff;}\r
-.form h2,.liste td{color:#333;background:#dbdde2;vertical-align:middle;}\r
-.form tr.odd td,.liste tr.odd td{background:#ecedf0;}\r
-\r
-.form tr.light th,.liste tr.light th{\r
-       color:#333;font-size:12px;background:#fff;height:22px;\r
-       border-bottom:1px solid #707070;\r
-       margin-bottom:1px;\r
-       padding-left:3px;\r
-}\r
-\r
-\r
-.liste tr.bold td{font-weight:bold;}\r
-.liste td.we{background:#DBDDE2 !important;}\r
-.liste td.filled,.liste td.highlight, .liste th.highlight{background:#da4f24 !important;}\r
-.liste .action{width:1px;}\r
-.liste th a{color:#fff;text-decoration:none;font-weight:bold;}\r
-.liste th a:hover{text-decoration:underline;}\r
-\r
-.form td a img, .liste td a img{margin-top:4px;}\r
-\r
-.listeTimereport input[type="text"]{width:12px;text-align:center;font-size:10px;margin:2px;}\r
-.listeTimereport td, .listeTimereport th{padding-left:4px;padding-right:4px;width:16px;}\r
-.listeTimereport th .spacer{float:left;}\r
-.listeTimereport .normal{text-align:left;vertical-align:middle;padding-left:10px;padding-right:10px;width:auto;}\r
-.listeTimereport .info{width:30px;}\r
-.listeTimereport tr.bold td{border-top:1px solid #4e555c;}\r
-\r
-#devisTop{background:url(../../images/extranet/devis.png) top left;width:960px;height:500px;}\r
-#devisMiddle{background:url(bg-document.png);width:960px;padding-bottom:20px;}\r
-#devisBottom{background:url(../../images/extranet/devis.png) bottom left;width:960px;height:300px;}\r
-#factureAdresse,#devisAdresse{position:absolute;top:180px;left:520px;height:165px;width:360px;padding:0px;}\r
-#factureAdresse input[type="text"],#devisAdresse input[type="text"]{width:100%;}\r
-#factureAdresseDisplay,#devisAdresseDisplay{font-size:20px;padding:20px;position:relative;min-height:150px;}\r
-#factureAdresseDisplay .tva{font-size:12px;}\r
-#factureAdresse .edit,#devisAdresse .edit{position:absolute;top:20px;right:20px;}\r
-#devisTitre{position:absolute;left:56px;top:231px;width:411px;height:184px;}\r
-#devisLignes{padding-top:20px;}\r
-.devisLigne{border:1px #9aa2ae dashed;cursor:move;margin-top:20px;margin-left:20px;margin-right:20px;}\r
-.devisLigneLeft{width:700px;padding:20px;}\r
-.devisLigneRight{width:120px;float:right;text-align:center;padding:20px;}\r
-\r
-.devisLigneLeft textarea,\r
-.devisLigneLeft input[type="text"]{\r
-       width:700px;\r
-}\r
-\r
-#devisMail{padding:30px;margin-top:30px;border-top:2px solid #000;}\r
-#devisMail td{color:#000 !important;}\r
-\r
-/* Pagers */\r
-\r
-.pager-holder{\r
-       padding:10px;\r
-       padding-bottom:0px;\r
-       float:none;\r
-}\r
-.pager{\r
-       text-align:center;\r
-}\r
-.pager a, .pager strong{\r
-       padding:2px;\r
-       height:10px;\r
-       font-weight:bold;\r
-}\r
-.pager a{text-decoration:none;}\r
-.pager a:hover{text-decoration:none;}\r
-\r
-/* Pager Left */\r
-.pager.pgleft a{\r
-       background:#ecedf0;\r
-       border:1px solid #d9e3ef;\r
-       color:#5D626A;\r
-}\r
-.pager.pgleft a:hover,\r
-.pager.pgleft strong{\r
-       background:#ffc600 url(pager-left-active.png) repeat-x bottom left;\r
-       border:1px solid #ff9d00;\r
-       color:#7F5500;\r
-}\r
-\r
-.formParPage{\r
-       padding:5px;\r
-       float:right;\r
-}\r
-\r
-\r
-/* Barre de raccourcis */\r
-#bar{\r
-       background:url(bg-bar.png) repeat-x #fff bottom left;\r
-}\r
-\r
-#bar.vide{\r
-       height:16px;\r
-}\r
-\r
-#bar .content{\r
-       height:50px;\r
-}\r
-\r
-.shortcut .note{color:#333;padding:10px;}\r
-.shortcut{float:left;margin-left:5px;margin-top:10px;}\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
-}\r
-.filtre span{\r
-       font-size:9px;\r
-       color:#5f6162;\r
-       margin-left:5px;\r
-       cursor:pointer;\r
-}\r
-.filtre .bt{\r
-       position:absolute;\r
-       top:2px;\r
-       right:3px;\r
-       width:155px;\r
-       height:18px;\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
-}\r
-.filtre .input.active{\r
-       font-weight:bold;\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
-}\r
-\r
-.filtre .input span{\r
-       font-size:12px;\r
-}\r
-.filtre ul li.first{\r
-       padding-top:2px;\r
-}\r
-.filtre ul li{\r
-       list-style-type:none;\r
-       padding-left:20px;\r
-       background-image:url(filtre-list-m.png);\r
-}\r
-.filtre ul li.last{\r
-       background-image:url(filtre-list-b.png);\r
-       background-position:0 100%;\r
-       padding-bottom:5px;\r
-}\r
-.filtre ul li.all{\r
-       display:none;\r
-}\r
-.efface_filtres{padding-right:20px;padding-top:10px;float:right;}\r
-\r
-/* Dashboard */\r
-.dashboard{\r
-       position:relative;\r
-       margin-bottom:10px;\r
-}\r
-.dashboard .caption{\r
-       position:relative;\r
-       left:20px;\r
-       display:inline;\r
-       cursor:move;\r
-}\r
-\r
-.dashboard .edit{\r
-       position:absolute;\r
-       right:40px;\r
-       top:-17px;\r
-}\r
-\r
-.dashboard .delete{\r
-       position:absolute;\r
-       right:10px;\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
-}\r
-\r
-.dashboard .toggle.close{\r
-       background-position:0 100%;\r
-}\r
-\r
-.dashboard div.close .liste{\r
-       display:none;\r
-}\r
-\r
-.dashboard .b-c{\r
-       width:960px !important;\r
-       height:auto !important;\r
-}\r
-\r
-/* Menu Contextuel */\r
-.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}\r
-.contextMenu li{border-bottom:1px solid #ccc;padding:12px;padding-left:20px;padding-right:20px;list-style-type:none;background:#fff;height:12px;}\r
-.contextMenu li:hover{background:#ccc;}\r
-.contextMenu li a:hover{text-decoration:none;}\r
-.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}\r
-.contextMenu li.head{background:#666b74;font-weight:bold;color:#fff;text-align:center;border-bottom:1px solid #000;}\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
-}\r
-\r
-.ac_results li{\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
-}\r
-\r
-.ac_results iframe{\r
-       display:none;\r
-}\r
-\r
-/* Traduction */\r
-#traduction div table td{padding:5px;background:#dbdde2;color:#333;vertical-align:top;}\r
-#traduction div table .odd td{background:#ecedf0;}\r
-#traduction div table .save td{background-color:#4e535b;background-image:url(b-h.png);background-repeat:repeat-x;}\r
-\r
-/* Erreur */\r
-.error{border:1px solid #f00;}\r
-\r
-#uploaderContainer{width:970px;height:50px;}\r
-\r
-.gris{background-color:#ecedf0;}\r
-\r
-.onglet:hover, .onglet.active{\r
-       color:#5f6162;\r
-}\r
-\r
-#urlDecoder textarea{\r
-       width:100%;\r
-}\r
-\r
-#ajaxLoader{\r
-       color:#333333;\r
-}
\ No newline at end of file
diff --git a/style/extranet/style.less b/style/extranet/style.less
new file mode 100644 (file)
index 0000000..ea752cc
--- /dev/null
@@ -0,0 +1,713 @@
+body {\r
+       height: auto;\r
+}\r
+\r
+body, table {\r
+       font-family: Verdana;\r
+       font-size: 12px;\r
+       color: #fff;\r
+}\r
+\r
+a {\r
+       color: #da4f24;\r
+       text-decoration: underline;\r
+}\r
+\r
+a:hover {\r
+       text-decoration: none;\r
+}\r
+\r
+abbr {\r
+       cursor: help;\r
+       border-bottom: 1px dotted #fff;\r
+}\r
+\r
+td {\r
+       height: 30px;\r
+       color: #333;\r
+}\r
+\r
+h1 {\r
+       padding: 6px 5px;\r
+}\r
+\r
+.login h1 {\r
+       color: #5F6162;\r
+       padding: 10px 10px 5px;\r
+}\r
+\r
+input[type="text"], input[type="password"], input[type="email"], input[type="search"], select, textarea {\r
+       color: #666;\r
+}\r
+\r
+.message {\r
+       text-align: center;\r
+       font-size: 11px;\r
+       color: #da4f24;\r
+       background: #fff;\r
+}\r
+\r
+.content {\r
+       width: 990px;\r
+       margin: 0 auto;\r
+       position: relative;\r
+}\r
+\r
+#header {\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
+}\r
+\r
+#welcome {\r
+       position: absolute;\r
+       top: 25px;\r
+       right: 10px;\r
+       font-size: 11px;\r
+}\r
+\r
+#welcome.with-search {\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
+}\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
+}\r
+\r
+#search a {\r
+       margin-left: 5px;\r
+       position: absolute;\r
+       top: 2px;\r
+       right: 3px;\r
+}\r
+\r
+#footer {\r
+       height: 5px;\r
+       background: #2a303a;\r
+       overflow: hidden;\r
+}\r
+\r
+#main {\r
+       background: url(bg-page.png) repeat-x #dbdde2;\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
+}\r
+\r
+#nav {\r
+       height: 31px;\r
+       position: absolute;\r
+       top: 63px;\r
+       width: 960px;\r
+}\r
+\r
+.popupOverlay {\r
+       background: #666;\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
+}\r
+\r
+/*.popupWindow>table{width:600px;}*/\r
+.popupWindow .close {\r
+       position: absolute;\r
+       top: 15px;\r
+       right: 15px;\r
+}\r
+\r
+/* Tableaux */\r
+\r
+.liste {\r
+       width: 100% !important;\r
+       min-width: 960px;\r
+}\r
+\r
+.liste.light {\r
+       width: 100% !important;\r
+       min-width: 0px !important;\r
+}\r
+\r
+.liste.form {\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
+}\r
+\r
+.form th, .liste th, .liste h1 {\r
+       color: #fff;\r
+       font-size: 11px;\r
+       height: 31px;\r
+       font-weight: normal;\r
+       vertical-align: middle;\r
+       background: #4e535b url(b-h.png) repeat-x;\r
+       padding-left: 10px;\r
+}\r
+\r
+.form tr.big th {\r
+       height: 40px;\r
+}\r
+\r
+.form h2 {\r
+       padding-top: 6px;\r
+       height: 26px;\r
+}\r
+\r
+.form td {\r
+       background: #fff;\r
+}\r
+\r
+.form h2, .liste td {\r
+       color: #333;\r
+       background: #dbdde2;\r
+       vertical-align: middle;\r
+}\r
+\r
+.form tr.odd td, .liste tr.odd td {\r
+       background: #ecedf0;\r
+}\r
+\r
+.form tr.light th, .liste tr.light th {\r
+       color: #333;\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
+}\r
+\r
+.liste td.we {\r
+       background: #DBDDE2 !important;\r
+}\r
+\r
+.liste td.filled, .liste td.highlight, .liste th.highlight {\r
+       background: #da4f24 !important;\r
+}\r
+\r
+.liste .action {\r
+       width: 1px;\r
+}\r
+\r
+.liste th a {\r
+       color: #fff;\r
+       text-decoration: none;\r
+       font-weight: bold;\r
+}\r
+\r
+.liste th a:hover {\r
+       text-decoration: underline;\r
+}\r
+\r
+.form td a img, .liste td a img {\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
+}\r
+\r
+.listeTimereport td, .listeTimereport th {\r
+       padding-left: 4px;\r
+       padding-right: 4px;\r
+       width: 16px;\r
+}\r
+\r
+.listeTimereport th .spacer {\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
+}\r
+\r
+.listeTimereport .info {\r
+       width: 30px;\r
+}\r
+\r
+.listeTimereport tr.bold td {\r
+       border-top: 1px solid #4e555c;\r
+}\r
+\r
+#devisTop {\r
+       background: url(../../images/extranet/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
+}\r
+\r
+#devisBottom {\r
+       background: url(../../images/extranet/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
+}\r
+\r
+#factureAdresse input[type="text"], #devisAdresse input[type="text"] {\r
+       width: 100%;\r
+}\r
+\r
+#factureAdresseDisplay, #devisAdresseDisplay {\r
+       font-size: 20px;\r
+       padding: 20px;\r
+       position: relative;\r
+       min-height: 150px;\r
+}\r
+\r
+#factureAdresseDisplay .tva {\r
+       font-size: 12px;\r
+}\r
+\r
+#factureAdresse .edit, #devisAdresse .edit {\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
+}\r
+\r
+#devisLignes {\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
+}\r
+\r
+.devisLigneLeft {\r
+       width: 700px;\r
+       padding: 20px;\r
+}\r
+\r
+.devisLigneRight {\r
+       width: 120px;\r
+       float: right;\r
+       text-align: center;\r
+       padding: 20px;\r
+}\r
+\r
+.devisLigneLeft textarea,\r
+.devisLigneLeft input[type="text"] {\r
+       width: 700px;\r
+}\r
+\r
+#devisMail {\r
+       padding: 30px;\r
+       margin-top: 30px;\r
+       border-top: 2px solid #000;\r
+}\r
+\r
+#devisMail td {\r
+       color: #000 !important;\r
+}\r
+\r
+/* Pagers */\r
+\r
+.pager-holder {\r
+       padding: 10px;\r
+       padding-bottom: 0px;\r
+       float: none;\r
+}\r
+\r
+.pager {\r
+       text-align: center;\r
+}\r
+\r
+.pager a, .pager strong {\r
+       padding: 2px;\r
+       height: 10px;\r
+       font-weight: bold;\r
+}\r
+\r
+.pager a {\r
+       text-decoration: none;\r
+}\r
+\r
+.pager a:hover {\r
+       text-decoration: none;\r
+}\r
+\r
+/* Pager Left */\r
+.pager.pgleft a {\r
+       background: #ecedf0;\r
+       border: 1px solid #d9e3ef;\r
+       color: #5D626A;\r
+}\r
+\r
+.pager.pgleft a:hover,\r
+.pager.pgleft strong {\r
+       background: #ffc600 url(pager-left-active.png) repeat-x bottom left;\r
+       border: 1px solid #ff9d00;\r
+       color: #7F5500;\r
+}\r
+\r
+.formParPage {\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
+}\r
+\r
+#bar.vide {\r
+       height: 16px;\r
+}\r
+\r
+#bar .content {\r
+       height: 50px;\r
+}\r
+\r
+.shortcut .note {\r
+       color: #333;\r
+       padding: 10px;\r
+}\r
+\r
+.shortcut {\r
+       float: left;\r
+       margin-left: 5px;\r
+       margin-top: 10px;\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
+}\r
+\r
+.filtre span {\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
+}\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
+}\r
+\r
+.filtre .input.active {\r
+       font-weight: bold;\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
+}\r
+\r
+.filtre .input span {\r
+       font-size: 12px;\r
+}\r
+\r
+.filtre ul li.first {\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
+}\r
+\r
+.filtre ul li.last {\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
+}\r
+\r
+.efface_filtres {\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
+}\r
+\r
+.dashboard .caption {\r
+       position: relative;\r
+       left: 20px;\r
+       display: inline;\r
+       cursor: move;\r
+}\r
+\r
+.dashboard .edit {\r
+       position: absolute;\r
+       right: 40px;\r
+       top: -17px;\r
+}\r
+\r
+.dashboard .delete {\r
+       position: absolute;\r
+       right: 10px;\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
+}\r
+\r
+.dashboard .toggle.close {\r
+       background-position: 0 100%;\r
+}\r
+\r
+.dashboard div.close .liste {\r
+       display: none;\r
+}\r
+\r
+.dashboard .b-c {\r
+       width: 960px !important;\r
+       height: auto !important;\r
+}\r
+\r
+/* Menu Contextuel */\r
+.contextMenu {\r
+       border: 1px solid #000;\r
+       float: left;\r
+       position: absolute;\r
+       display: none;\r
+       z-index: 100000;\r
+}\r
+\r
+.contextMenu li {\r
+       border-bottom: 1px solid #ccc;\r
+       padding: 12px;\r
+       padding-left: 20px;\r
+       padding-right: 20px;\r
+       list-style-type: none;\r
+       background: #fff;\r
+       height: 12px;\r
+}\r
+\r
+.contextMenu li:hover {\r
+       background: #ccc;\r
+}\r
+\r
+.contextMenu li a:hover {\r
+       text-decoration: none;\r
+}\r
+\r
+.contextMenu li 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
+}\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
+}\r
+\r
+.ac_results li {\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
+}\r
+\r
+.ac_results iframe {\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
+}\r
+\r
+#traduction div table .odd td {\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
+}\r
+\r
+/* Erreur */\r
+.error {\r
+       border: 1px solid #f00;\r
+}\r
+\r
+#uploaderContainer {\r
+       width: 970px;\r
+       height: 50px;\r
+}\r
+\r
+.gris {\r
+       background-color: #ecedf0;\r
+}\r
+\r
+.onglet:hover, .onglet.active {\r
+       color: #5f6162;\r
+}\r
+\r
+#urlDecoder textarea {\r
+       width: 100%;\r
+}\r
+\r
+#ajaxLoader {\r
+       color: #333333;\r
+}\r
+\r
+form#upload {\r
+       a.button {\r
+               background-color: #FFB200;\r
+               color:#79560A;\r
+       }\r
+\r
+       .progress {\r
+               border: 1px solid #ccc;\r
+               .back {\r
+                       background-color: #fff;\r
+               }\r
+\r
+               .bar {\r
+                       background-color: #666B74;\r
+               }\r
+\r
+               .status {\r
+                       color: #FFB200;\r
+               }\r
+       }\r
+}
\ No newline at end of file