From 81b3e94e62dd60087d71efc42004f8222d9e1e7a Mon Sep 17 00:00:00 2001
From: Greg Burri
Date: Sun, 11 May 2008 23:27:57 +0000
Subject: [PATCH] =?utf8?q?ADD=20trolls,=20fin=20cot=C3=A9=20serveur=20et?=
=?utf8?q?=20d=C3=A9but=20cot=C3=A9=20client=20ADD=20possibilit=C3=A9=20de?=
=?utf8?q?=20mettre=20un=20message=20lors=20d'un=20slapping=20ou=20d'un=20?=
=?utf8?q?bannissement=20MOD=20maj=20TODO?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
---
css/1/euphorik.css | 47 +++++-
css/1/pageAbout.css | 43 ------
css/1/pageAdmin.css | 4 +
css/1/pageMinichat.css | 18 ++-
css/1/pageProfileRegister.css | 2 -
doc/TODO.txt | 2 +
doc/protocole3.txt | 102 +++++++++++--
index.html | 3 +-
js/euphorik.js | 19 ++-
js/pageAdmin.js | 40 +++++
js/pageMinichat.js | 25 ++--
modules/erl/euphorik_bd.erl | 125 +++++++++++++++-
.../erl/euphorik_minichat_conversation.erl | 36 ++---
modules/erl/euphorik_protocole.erl | 138 ++++++++++++++++--
modules/erl/euphorik_requests.erl | 8 +-
modules/include/euphorik_bd.hrl | 4 +-
modules/include/euphorik_defines.hrl | 6 +
pages/about.html | 9 +-
18 files changed, 514 insertions(+), 117 deletions(-)
create mode 100644 css/1/pageAdmin.css
create mode 100644 js/pageAdmin.js
diff --git a/css/1/euphorik.css b/css/1/euphorik.css
index 2630f1f..c3a4ace 100755
--- a/css/1/euphorik.css
+++ b/css/1/euphorik.css
@@ -1,5 +1,6 @@
@import url(../common.css);
-@import url(pageMinichat.css);
+@import url(pageMinichat.css);
+@import url(pageAdmin.css);
@import url(pageProfileRegister.css);
@import url(pageAbout.css);
@@ -59,9 +60,51 @@ body {
#page {
position: relative;
- padding: 25px 0px 15px 0px;
font-size: 12px;
background-color: #000000;
+ text-align : left;
+ padding: 30px 10px 15px 10px;
+}
+
+#page > h1 {
+ margin-top: 10px;
+ margin-left: 0px;
+ font-size: 18px;
+ color : #a6b80e
+}
+
+#page > h2 {
+ margin-top: 10px;
+ margin-left: 10px;
+ font-size: 16px;
+ color : #899714;
+}
+
+#page > h3 {
+ margin-top: 10px;
+ margin-left: 20px;
+ font-size: 14px;
+ color : #79841a;
+ background-color : #1e2201
+}
+
+#page > h4 {
+ margin-top: 10px;
+ margin-left: 25px;
+ font-size: 12px;
+ color : #646d1d
+}
+
+#page > p {
+ margin-top: 3px;
+ margin-left: 35px;
+ color : #e9e9e9
+}
+
+#page > ul {
+ margin-top: 3px;
+ margin-left: 45px;
+ color: #e9e9e9
}
#logo {
diff --git a/css/1/pageAbout.css b/css/1/pageAbout.css
index ffb958e..e661102 100644
--- a/css/1/pageAbout.css
+++ b/css/1/pageAbout.css
@@ -1,46 +1,3 @@
#page.about {
- text-align : left;
- padding: 30px 10px 10px 10px;
-}
-
-#page.about h1 {
- margin-top: 10px;
- margin-left: 0px;
- font-size: 18px;
- color : #a6b80e
-}
-
-#page.about h2 {
- margin-top: 10px;
- margin-left: 10px;
- font-size: 16px;
- color : #899714;
-}
-
-#page.about h3 {
- margin-top: 10px;
- margin-left: 20px;
- font-size: 14px;
- color : #79841a;
- background-color : #1e2201
-}
-
-#page.about h4 {
- margin-top: 10px;
- margin-left: 25px;
- font-size: 12px;
- color : #646d1d
-}
-
-#page.about p {
- margin-top: 3px;
- margin-left: 35px;
- color : #e9e9e9
-}
-
-#page.about ul {
- margin-top: 3px;
- margin-left: 45px;
- color: #e9e9e9
}
diff --git a/css/1/pageAdmin.css b/css/1/pageAdmin.css
new file mode 100644
index 0000000..82626ef
--- /dev/null
+++ b/css/1/pageAdmin.css
@@ -0,0 +1,4 @@
+/* La page d'administration */
+
+#page.admin {
+}
diff --git a/css/1/pageMinichat.css b/css/1/pageMinichat.css
index 234f9f5..80a2e33 100755
--- a/css/1/pageMinichat.css
+++ b/css/1/pageMinichat.css
@@ -1,3 +1,7 @@
+#page.minichat {
+ padding: 25px 0px 15px 0px;
+ text-align: center
+}
#page.minichat img {
margin: 0px;
@@ -29,10 +33,18 @@
position: absolute;
display: none;
}
-#outilsBan img {
+#outilsBan img,
+#outilsBan form {
float: right;
- vertical-align: middle;
- margin: 0px 0px 0px 0px;
+ cursor: pointer
+}
+#outilsBan p {
+ font-size: 2px;
+}
+#outilsBan input {
+ font-size: 9px;
+ margin-top: 1px;
+ margin-left: 1px
}
#page.minichat .titreSmiles:hover {
diff --git a/css/1/pageProfileRegister.css b/css/1/pageProfileRegister.css
index 48f5bc9..1b8b70a 100755
--- a/css/1/pageProfileRegister.css
+++ b/css/1/pageProfileRegister.css
@@ -2,6 +2,4 @@
#page.register,
#page.profile {
- text-align: left;
- padding: 30px 10px 10px 10px;
}
diff --git a/doc/TODO.txt b/doc/TODO.txt
index f08ffbc..3c086e7 100755
--- a/doc/TODO.txt
+++ b/doc/TODO.txt
@@ -173,6 +173,7 @@
* Pas sous Opera, apparemment Firefox recharge toute la page (donc impossible qu'il puisse remettre le message)
* Eventuellement sauvegarder le message en rédaction dans le profile...
[3] Le changement de page sous Firefox (pas essayé avec d'autre nav) es plutot moche, le texte est d'abors affiché puis le style est appliqué.
+[3] Quelques fichiers sont encore en iso-8859-1 (Makefile, euphorik_bd.hrl, etc..) tout passer en UTF-8
[3] Un message envoyé sans être authentifié ne sera pas taggé comme appartenant à l'utilisateur.
a) L'utilisateur attend des messages SANS donné de cookie car il n'est pas authentifié
b) L'utilisateur envoie un message
@@ -236,6 +237,7 @@ ok : Implémenté
* Pouvoir STFUER des personnes, lorsqu'elle envoie un message un autre truc à la con est écrit à la place
* la phrase à la con est piché parmis une liste éditable depuis le panneau d'admin
* La stfuation se fait depuis le panel de bannissement (slap, stfu, kick, ban)
+[4] Unifier tout le code en anglais (sauf les commentaires)
[4] Inscrire le nom de l'image dans les les liens vers des images (Ã la place de simplement [jpg] ou [gif])
[4] Réduire les pseudos trop long en mettant un ".." à la fin et permettre de le voir en entier lorsque le curseur le survol.
[4] Compatible OpenID pour l'identification
diff --git a/doc/protocole3.txt b/doc/protocole3.txt
index 99776a4..e553133 100644
--- a/doc/protocole3.txt
+++ b/doc/protocole3.txt
@@ -128,7 +128,7 @@ ou
-=== Wait event ===
+=== Wait event (page = chat) ===
Si "last_message_id" est absent alors le client ne possède pas de message.
Si "main_page" est absent alors est vaut 1.
"cookie" n'est pas obligatoire.
@@ -140,7 +140,8 @@ c -> s
"cookie" : "LKJDLAKSJBFLKASN",
"message_count" : 10,
"last_message_id" : 163,
- "main_page" : 1
+ "main_page" : 1,
+ "troll_id" : 45,
"conversations" : [
{
"racine" : 123,
@@ -185,26 +186,95 @@ ou
{
"reply" : "message_updated",
"message_id" : 123,
- "contenu" : "Salut +++ poulpe"
+ "content" : "Salut +++ poulpe"
+ }
+ou
+ {
+ "reply" : "new_troll",
+ "troll_id" : 123,
+ "content" : "Linux sera desktop ready en 2008 ?"
}
ou
+
+
+=== Wait event (page = admin) ===
+c -> s
+ {
+ "action" : "wait_event",
+ "page" : "admin",
+ "last_troll" : 5
+ ]
+ }
+
+s -> c
+ {
+ "reply" : "troll_modified",
+ "troll_id" : 3,
+ "content" : "plop"
+ }
+ou
+s -> c
+ {
+ "reply" : "troll_added",
+ "trolls" :
+ [
+ {
+ "troll_id" : 5,
+ "content" : "plop"
+ }
+ ]
+ }
+ou
+s -> c
+ {
+ "reply" : "troll_deleted",
+ "troll_id" : 2
+ }
-=== Envoie d'un troll ===
-TODO
+=== Envoie d'un troll ===
c -> s
{
"action" : "put_troll",
"cookie" : "LKJDLAKSJBFLKASN",
"content" : "Un bon troll velu !"
- }
-=== Modification d'un troll ===
-TODO
-=== Suppression d'un troll ===
-TODO
-=== Noter un troll ===
-TODO
+ }
+
+s -> c
+
+ou
+
+
+
+=== Modification d'un troll ===
+c -> s
+ {
+ "action" : "mod_troll",
+ "cookie" : "LKJDLAKSJBFLKASN",
+ "troll_id" : 3,
+ "content" : "Un bon troll velu 2 !"
+ }
+
+s -> c
+
+ou
+
+
+
+=== Suppression d'un troll ===
+c -> s
+ {
+ "action" : "del_troll",
+ "cookie" : "LKJDLAKSJBFLKASN",
+ "troll_id" : 3
+ }
+
+s -> c
+
+ou
+
+
=== Envoie message ===
Le client envoie un message, le message peut répondre à un certain nombre d'autres messages.
@@ -226,12 +296,12 @@ ou
=== Slapage ===
-
c -> s
{
"action" : "slap",
"cookie" : "LKJDLAKSJBFLKASN",
- "user_id" : 67
+ "user_id" : 67,
+ "reason" : "blablabla"
}
s -> c
@@ -241,13 +311,13 @@ ou
=== Bannissement ===
-
c -> s
{
"action" : "ban",
"cookie" : "LKJDLAKSJBFLKASN",
"duration" : 15, // en minute
- "user_id" : 67
+ "user_id" : 67,
+ "reason" : "blablabla"
}
s -> c
diff --git a/index.html b/index.html
index e388a93..a35a982 100755
--- a/index.html
+++ b/index.html
@@ -11,6 +11,7 @@
+
@@ -21,7 +22,7 @@
Présentation du document : CSS 2.1
Programmation de la partie dynamique : JavaScript
Méthode de communication avec le serveur : AJAX/COMET
- Bibliothèques JavaScript : jQuery et Lightbox
+ Bibliothèques JavaScript : jQuery et jQuery lightBox plugin
Coté serveur
Outils
@@ -72,7 +73,7 @@ voici mon email/jabberID : {EMAIL}
Comment est appelé le petit du gnou ?
-Le gaou
+Le gaou.
Versions à venir
--
2.45.2