MOD adaptation du skin dark
authorGreg Burri <greg.burri@gmail.com>
Tue, 12 Aug 2008 20:31:57 +0000 (20:31 +0000)
committerGreg Burri <greg.burri@gmail.com>
Tue, 12 Aug 2008 20:31:57 +0000 (20:31 +0000)
MOD cleanage

js/conf.js
js/pageMinichat/commandes.js
js/pageMinichat/conversation.js
js/pageMinichat/pageMinichat.js
styles/1/pageMinichat.css
styles/2/euphorik.css
styles/2/pageMinichat.css
tools/tools.rb

index f69d281..0decfb9 100644 (file)
@@ -21,7 +21,6 @@
   */\r
 euphorik.conf = {\r
    versionProtocole : 3, // version du protcole\r
-   nickDefaut : "<nick>",\r
    nbMessageAffiche : 10, // (par page)\r
    pseudoDefaut : "<nick>",\r
    tempsAffichageMessageDialogue : 4000, // en ms\r
index bae4604..f49ce9a 100644 (file)
@@ -35,7 +35,7 @@ euphorik.Commandes.statut = {ok : 0, pas_une_commande : 1, erreur_commande : 2};
 
 euphorik.Commandes.liste = {
    "nick" : {
-      usage : "\\nick <nouveau pseudo",
+      usage : "/nick <nouveau pseudo>",
       exec : function(args, client) {
          
          if (args.length === 0) {
@@ -73,5 +73,5 @@ euphorik.Commandes.prototype.exec = function(chaine) {
       return euphorik.Commandes.liste[nomCommande].exec(args, this.client);
    }
    
-   return [euphorik.Commandes.statut.erreur_commande, 'La commande \\' + nomCommande + ' est inconnue'];
+   return [euphorik.Commandes.statut.erreur_commande, 'La commande /' + nomCommande + ' est inconnue'];
 };
index 70be515..73b8d3a 100644 (file)
@@ -56,7 +56,7 @@ euphorik.Conversation = function(conversations, num) {
          '<div class="titre">' +\r
             (reverse ? messageRacineXHTML : "") +\r
             '<div class="nav">' +\r
-               (this.num === 0 ? '' : '<div class="fermer"></div><div class="lien"></div>') + //</div><div class="reduire">\r
+               (this.num === 0 ? '' : '<div class="fermer"></div><div class="creerLien"></div>') + //</div><div class="reduire">\r
                '<span class="next">&lt;</span><span class="numPage">1</span><span class="prev">&gt;</span>' +\r
             '</div>' +\r
             (reverse ? "" : messageRacineXHTML) +\r
@@ -70,13 +70,13 @@ euphorik.Conversation = function(conversations, num) {
    // les infos bulles\r
    this.util.infoBulle("Aller à la première page", $("#" + this.getId() + " .titre .numPage"), euphorik.Util.positionBulleType.haut);\r
    if (this.num !== 0) {\r
-      this.util.infoBulle("Créer un lien vers la conversation", $("#" + this.getId() + " .titre .lien"));\r
+      this.util.infoBulle("Créer un lien vers la conversation", $("#" + this.getId() + " .titre .creerLien"));\r
       this.util.infoBulle("Fermer la conversation", $("#" + this.getId() + " .titre .fermer"));\r
    }\r
    \r
     // les différents événements liés à la conversation\r
    var thisConversation = this;   \r
-   $("#" + this.getId() + " .titre .lien").click(function() {\r
+   $("#" + this.getId() + " .titre .creerLien").click(function() {\r
         thisConversation.util.replaceSelection(\r
            $("form#posterMessage input.message")[0],\r
            "{" + thisConversation.client.conversations[thisConversation.num - 1].root.toString(36) + "}"\r
@@ -286,6 +286,7 @@ euphorik.Conversation.prototype.flush = function() {
 \r
 /**\r
   * Attache des événements à un message donné.\r
+  * Utilisé lorsqu'un message est ajouté au document HTML.\r
   * @element le message du DOM\r
   */\r
 euphorik.Conversation.prototype.attacherEventsSurMessage = function(element) {\r
@@ -326,8 +327,15 @@ euphorik.Conversation.prototype.attacherEventsSurMessage = function(element) {
       $("form input.message").focus();\r
    }).hover(function() { // affiche les outils liées au message\r
       var top = $(this).offset().top\r
-      var left = $(this).offset().left + $(this).width() - thisConversation.util.outilsMessage.largeur\r
-      thisConversation.util.outilsMessage.css("top", top + 1).css("left", left).prependTo(this).show();\r
+      var left = $(this).offset().left + $(this).outerWidth() - thisConversation.util.outilsMessage.largeur\r
+      $(".extraire", thisConversation.util.outilsMessage).unbind();\r
+      $(".extraireCompletement", thisConversation.util.outilsMessage).unbind();\r
+      // TODO : ces deux appels devraient se trouver dans "PageMinichat" lors de la création de thisConversation.util\r
+      // malheureusement lors de la modification du DOM (suppression des conversations) les événements liés sont supprimés\r
+      thisConversation.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", thisConversation.util.outilsMessage));\r
+      thisConversation.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", thisConversation.util.outilsMessage));\r
+      thisConversation.util.outilsMessage.css("top", top).css("left", left).prependTo(this).show();\r
+      thisConversation.util.outilsMessage.largeur = thisConversation.util.outilsMessage.outerWidth();\r
    }, function() {\r
       thisConversation.util.outilsMessage.hide()\r
    });\r
index 64914b1..703931c 100755 (executable)
@@ -41,7 +41,7 @@ euphorik.PageMinichat.prototype.contenu = function() {
       '<form method="post" action="" id ="posterMessage">' +
       ' <p>' +
       '  <input class="captcha" name="captcha" type="text" size="8" maxlength="8"></input>' +
-      '  <input class="pseudo" name="pseudo" type="text" maxlength="50" value="' + encodeURI(euphorik.conf.nickDefaut) + '"></input>' +
+      '  <input class="pseudo" name="pseudo" type="text" maxlength="50" value="' + encodeURI(euphorik.conf.pseudoDefaut) + '"></input>' +
       '  <span id="repondA"><span class="nb">0</span><span class="messages"></span></span>' +
       '  <input class="message" name="message" type="text" maxlength="500" value=""></input>' +
       '  <button class="smiles"></button>' +
@@ -97,10 +97,9 @@ euphorik.PageMinichat.prototype.charger = function() {
    }
    
    // la barre d'outils liée à chaque message
-   this.util.outilsMessage = $('<div class="outilsMess"><div class="extraire"></div><div class="extraireCompletement"></div></div>').prependTo("#page.minichat")
-   this.util.outilsMessage.largeur = this.util.outilsMessage.width(); // TODO : gros cheat pas beau :O
-   this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", this.util.outilsMessage));
-   this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", this.util.outilsMessage));
+   this.util.outilsMessage = $('<div id="outilsMess"><div class="extraire"></div><div class="extraireCompletement"></div></div>').prependTo("#page.minichat");
+   this.util.outilsMessage.largeur = this.util.outilsMessage.outerWidth(); // TODO : gros cheat pas beau :O
+   //console.log(this.util.outilsMessage.largeur)
    
    this.util.infoBulle("Ouvrir la conversation liée au troll de la semaine", $("#trollCourant .troll"));
    
@@ -234,8 +233,8 @@ euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) {
    // (un pseudo vide est autorisé)
    pseudo = this.formateur.filtrerInputPseudo(pseudo);
    
-   if (pseudo === euphorik.conf.nickDefaut) {
-      this.util.messageDialogue("Le pseudo ne peut pas être " + euphorik.conf.nickDefaut);
+   if (pseudo === euphorik.conf.pseudoDefaut) {
+      this.util.messageDialogue("Le pseudo ne peut pas être " + euphorik.conf.pseudoDefaut);
       return;
    }
    
index ea8ef3b..4dd2c3e 100755 (executable)
@@ -1,3 +1,5 @@
+/* coding: utf-8 */
+
 #page.minichat {
        padding: 0px;
 }
        vertical-align: top;
        margin-right: 5px;
 }
+/* La boite montrant les messages auquels l'utilisateur répond */
 #page.minichat form#posterMessage #repondA {
        background-color: #f0df95; 
        border: #841919 1px solid;
-   margin-right: 5px;
-   padding-right: 2px;
-   padding-left: 2px;
-   cursor: pointer;
-   display: none;
+    margin-right: 5px;
+    padding-right: 2px;
+    padding-left: 2px;
+    cursor: pointer;
+    display: none;
 }
 #page.minichat form#posterMessage #repondA .messages {
-   position: absolute;
+    position: absolute;
        border: #841919 1px solid;
-   width: 50%;
-   display:none;
+    width: 50%;
+    display:none;
 }
 #page.minichat form#posterMessage #repondA .messages div.message:hover .outilsMess {
-   display: none
+    display: none
 }
 
 /***** Les conversations *****/
 #page.minichat #conversations {        
        overflow: hidden;
        width: 100%;
-   border-spacing: 0px;
-   background-color:#E19671;
+    border-spacing: 0px;
+    background-color:#E19671;
 }
 #page.minichat.orderChrono #conversations td
 {
        background-color: #e19671;
        color: #ffffff;
 }
-
-#page.minichat #conversations .titre .nav .reduire {
+/*#page.minichat #conversations .titre .nav .reduire {
        margin-top: 1px;
        margin-left: 5px;
        float: right;
 }
 #page.minichat #conversations .titre .nav .reduire:hover {
        background-image: url(img/reduire_conv_hover.png);
-}      
-
-#page.minichat #conversations .fermer {
-   background-image: url(img/fermer_conv.png);    
-}
+}*/
    
 #page.minichat #conversations .titre .nav .fermer {
        margin-top: 1px;
 #page.minichat #conversations .titre .nav .fermer:hover {
        background-image: url(img/fermer_conv_hover.png);
 }      
-#page.minichat #conversations .titre .nav .lien {
+#page.minichat #conversations .titre .nav .creerLien {
        margin-top: 1px;
        margin-left: 5px;
        float: right;
        background-image: url(img/copier_conv.png);
        cursor: pointer;
 }
-#page.minichat #conversations .titre .nav .lien:hover {
+#page.minichat #conversations .titre .nav .creerLien:hover {
        background-image: url(img/copier_conv_hover.png);
 }      
 #page.minichat #conversations .titre .nav .next,
 #page.minichat .contenu {
        margin-left: 5px;
 }
-#page.minichat .outilsMess {
-   position: absolute;
+#page.minichat #outilsMess {
+       position: absolute;
+       padding-top: 1px;
+       padding-right: 2px;
        display: none;
 }
-#page.minichat .extraire {
+#page.minichat #outilsMess .extraire {
        float: right;
        width: 13px;
        height: 13px;
        background-image: url(img/extraction.png);
        margin-top: 2px;
 }
-#page.minichat .extraire:hover {
+#page.minichat #outilsMess .extraire:hover {
        background-image: url(img/extraction_hover.png);
 }
-#page.minichat .extraireCompletement {
+#page.minichat #outilsMess .extraireCompletement {
        float: right;
        width: 13px;
        height: 13px;
        background-image: url(img/extraction_complete.png);
        margin-top: 2px;
-   margin-right: 2px;
+    margin-right: 2px;
 }
-#page.minichat .extraireCompletement:hover {
+#page.minichat #outilsMess .extraireCompletement:hover {
        background-image: url(img/extraction_complete_hover.png);
 }
index 46e143e..52f959f 100755 (executable)
@@ -235,7 +235,7 @@ form input[readonly] {
 
 /***** Les liens *****/
 .lien, a {
-   text-decoration: none;
+       text-decoration: none;
        color: #7664ff;
 }
 .lien {
index 8b9f617..366023a 100755 (executable)
        vertical-align: top;
        margin-right: 5px;
 }
+/* La boite montrant les messages auquels l'utilisateur répond */
+#page.minichat form#posterMessage #repondA {
+       background-color: #164200; 
+       border: #2d8800 1px solid;
+    margin-right: 5px;
+    padding-right: 2px;
+    padding-left: 2px;
+    cursor: pointer;
+    display: none;
+}
+#page.minichat form#posterMessage #repondA .messages {
+    position: absolute;
+       border: #841919 1px solid;
+    width: 50%;
+    display:none;
+}
+#page.minichat #outilsMess {
+       position: absolute;
+       display: none
+}
+#page.minichat #outilsMess .extraire,
+#page.minichat #outilsMess .extraireCompletement {
+       float: right;
+       padding-right: 2px;
+       padding-left: 2px;
+       background-color: #4f5519;
+}
+#page.minichat #outilsMess .extraire:hover,
+#page.minichat #outilsMess .extraireCompletement:hover:hover {
+       background-color: #818c27
+}
+#page.minichat #outilsMess .extraire:after {
+       content: ">"
+}
+#page.minichat #outilsMess .extraireCompletement:after {
+       content: "#"
+}
 
 /***** Les conversations *****/
 /* voir pour l'astuce css "float left" des conversations : http://www.quirksmode.org/css/clearing.html */
 #page.minichat #conversations {        
        overflow: hidden;
-       width: 100%
+       width: 100%;
+    border-spacing: 0px;
+    background-color:#000000;
+}
+#page.minichat.orderChrono #conversations td
+{
+    vertical-align: bottom
+}
+#page.minichat.orderReverse  #conversations td
+{
+    vertical-align: top
+}
+#page.minichat.orderChrono #conversations .titre {
+   border-bottom: 1px dashed white
+}
+#page.minichat.orderReverse #conversations .titre {
+   border-top: 1px dashed white
+}
+#page.minichat #conversations .titre .nav {
+       text-align: center;
+       padding-right: 8px;
+       background-color: #4b4215;
 }
-#page.minichat #conversations .conversation {
+/*#page.minichat #conversations .conversation {
        border-width: 0px;
        border-style: solid;
        border-color: white;
        float: left;
        width: 100%;
+}*/
+#page.minichat #conversations .titre .nav .fermer {
+       float: right;
+       padding-right: 5px;
+       padding-left: 5px;
+       background-color: #7d1b1b;
+       cursor: pointer;
+}
+#page.minichat #conversations .titre .nav .fermer:after {
+       content: "x"
+}
+#page.minichat #conversations .titre .nav .fermer:hover {
+       background-color: #c95656
+}
+#page.minichat #conversations .titre .nav .creerLien {
+       float: right
+}
+#page.minichat #conversations .titre .nav .creerLien:after {
+       content: "c"
+}
+#page.minichat #conversations .titre .nav .next,
+#page.minichat #conversations .titre .nav .prev {
+       display: none;
+}
+#page.minichat #conversations .titre .nav .creerLien,
+#page.minichat #conversations .titre .nav .next,
+#page.minichat #conversations .titre .nav .prev,
+#page.minichat #conversations .titre .nav .numPage {
+       background-color: #42380b;
+       cursor: pointer;
+       padding-right: 5px;
+       padding-left: 5px;
 }
-#page.minichat #conversations div.message {
+#page.minichat #conversations .titre .nav .creerLien:hover,
+#page.minichat #conversations .titre .nav .next:hover,
+#page.minichat #conversations .titre .nav .prev:hover,
+#page.minichat #conversations .titre .nav .numPage:hover {
+       background-color: #7c6e2e
+}
+
+/***** Les messages *****/
+#page.minichat div.message {
        border-left-width: 5px;
        border-left-style: solid;
        border-color: transparent;
        padding-left: 4px;
        cursor: pointer;
 }
-#page.minichat #conversations div.messageImpair {
+#page.minichat div.messageImpair {
    background-color: #05002c;
 }
-#page.minichat #conversations div.messagePair {
+#page.minichat div.messagePair {
    background-color: #080047;
 }
 #page.minichat #conversations div.cache {
        filter: alpha(opacity = 30);
        zoom: 1
 }
-#page.minichat #conversations div.reponse {
+#page.minichat div.reponse {
        border-color: #bf2911
 }
-#page.minichat #conversations div.repondu {
+#page.minichat div.repondu {
        border-color: #84196c   
 }
-#page.minichat #conversations div.proprietaire {
+#page.minichat div.proprietaire {
        border-color: #31732f
 }
-#page.minichat #conversations div.systeme {
+#page.minichat div.systeme {
        background-color: #555555
 }
-#page.minichat #conversations .titre {
-       text-align: center;
-       padding-right: 8px;
-       background-color: #4b4215
-}
-#page.minichat #conversations .titre .fermer {
-       float: right;
-       padding-right: 5px;
-       padding-left: 5px;
-       background-color: #7d1b1b;
-       cursor: pointer;
-}
-#page.minichat #conversations .titre .fermer:after {
-       content: "x"
-}
-#page.minichat #conversations .titre .fermer:hover {
-       background-color: #c95656
-}      
-#page.minichat #conversations .titre .next,
-#page.minichat #conversations .titre .prev {
-       display: none;
-}
-#page.minichat #conversations .titre .lien {
-       float: right
-}
-#page.minichat #conversations .titre .lien:after {
-       content: "c"
-}
-#page.minichat #conversations .titre .lien,
-#page.minichat #conversations .titre .next,
-#page.minichat #conversations .titre .prev,
-#page.minichat #conversations .titre .numPage {
-       background-color: #42380b;
-       cursor: pointer;
-       padding-right: 5px;
-       padding-left: 5px;
-}
-#page.minichat #conversations .titre .lien:hover,
-#page.minichat #conversations .titre .next:hover,
-#page.minichat #conversations .titre .prev:hover,
-#page.minichat #conversations .titre .numPage:hover {
-       background-color: #7c6e2e
-}
-
-/***** Les messages *****/
 #page.minichat div.message a {
        font-weight: bold;
 }
 #page.minichat div.systeme .pseudo {
        color: #CCCCCC
 }
-#page.minichat #conversations .repondA {
+#page.minichat .repondA {
    color: #bd7a11;
    margin-right: 3px;
 }
-#page.minichat #conversations .repondA:after {
-       content: ">"
-}
-#page.minichat #conversations .extraire {
-       float: right;
-       padding-right: 2px;
-       padding-left: 2px;
-       background-color: #4f5519;
-}
-#page.minichat #conversations .extraire:after {
+#page.minichat.repondA:after {
        content: ">"
 }
-#page.minichat #conversations .extraire:hover {
-       background-color: #818c27
-}
index 3fa7497..127e3f3 100644 (file)
@@ -28,9 +28,9 @@ along with Euphorik.  If not, see <http://www.gnu.org/licenses/>.
 #  - Mise en production et en preproduction
 # tools.rb peut s'utiliser à la ligne de commande, exemples :
 # * Mise en production :
-#  ./tools.rb --doprod gburri@euphorik.ch:/var/www/euphorik
+#  ./tools.rb prod gburri@euphorik.ch:/var/www/euphorik
 # * Mise en préproduction, l'emplacement de production peut être indiqué pour copier la base
-#  ./tools.rb --dopreprod gburri@euphorik.ch:/var/www/euphorik_preprod --prod gburri@euphorik.ch:/var/www/euphorik
+#  ./tools.rb pre gburri@euphorik.ch:/var/www/euphorik_preprod gburri@euphorik.ch:/var/www/euphorik
 
 # voir : http://net-ssh.rubyforge.org/ssh/v2/api/index.html
 # require 'net/ssh'
@@ -55,7 +55,9 @@ class VerifJS
             end
          elsif fichier[-3, 3] == '.js'
             puts "== Vérification de #{dossier}/#{fichier} =="
-            system("java org.mozilla.javascript.tools.shell.Main jslint.js #{dossier}/#{fichier}")
+            # TODO : mettre un if pour la version windows si dessous 
+            #system("java org.mozilla.javascript.tools.shell.Main jslint.js #{dossier}/#{fichier}")
+            system("rhino jslint.js #{dossier}/#{fichier}")
             # puts $?.exitstatus
             if $?.exitstatus > 0
                return false
@@ -181,8 +183,34 @@ end
 
 # Traite la ligne de commande lorsque tools.rb est utilisé comme tel
 class Commande
+   def initialize   
+      @miseEnProd = MiseEnProd.new(
+         "gburri@euphorik.ch:/var/www/euphorik",
+         "gburri@euphorik.ch:/var/www/euphorik_preprod"
+      )
+      @verifJS = VerifJS.new("../js")
+      @version = Version.new("..")
+   end
+   
    def traiter
-      #ARGV
+      if ARGV.size == 0
+         afficherUsage
+         return
+      end
+      
+      case ARGV[0]
+         when 'prod'
+            @version.maj()
+            @miseEnProd.miseEnProd()
+         when 'pre'
+            @version.maj()
+            @miseEnProd.miseEnPreProd()
+         when 'js'
+            @verifJS.verifier()
+         when 'version'
+            @version.maj()
+      end
+      
 =begin
       Net::SSH.start('euphorik.ch', 'gburri') {|ssh|
          output = ssh.exec!("hostname")
@@ -191,18 +219,16 @@ class Commande
             stdout << data if stream == :stdout
          }
          puts stdout
-      }\r
+      }
 =end
-      
-      
-      #miseEnProd = MiseEnProd.new("gburri@euphorik.ch:/var/www/euphorik", "gburri@euphorik.ch:/var/www/euphorik_preprod")
-      #miseEnProd.miseEnPreProd()
-
-      verifJS = VerifJS.new("../js")
-      verifJS.verifier()
-
-      #version = Version.new("..")
-      #version.maj()
+   end
+   
+   def afficherUsage
+      puts "Usage : tools.rb (prod | pre | js | version)\n" +
+         "   prod : Mise en production\n" +
+         "   preprod : Mise en préproduction, copie les données en production\n" +
+         "   js : vérification des fichiers JavaScript\n" +
+         "   version : met à jour la version à partir du fichier VERSION"
    end
 end