-#underDevelopment {\r
- position: fixed;\r
- top: 0px;\r
- z-index: 15;\r
- padding: 2px 10px 2px 10px;\r
- background-color: #FF6666;\r
- color: #FFFFFF;\r
- opacity: 0.8;\r
-}
\ No newline at end of file
== TODO ==\r
\r
=== v1.0 ===\r
-* Problème de rafraichissement des couleurs des messages auquels on répond\r
* Problème dans l'alternance des couleurs des messages\r
* Rendre compatible IE 7\r
* Tester avec des caractères accentués sur Firefox, Safari, Opera et IE7. Les messages doivent être envoyés en UTF8.\r
[ok] Les id ne sont plus passés en base 36\r
[ok] Flusher le profil lors du déchargement de la page ? -> oui\r
[ok] Envoyer les infos des conversations avec l'attente d'events ? -> oui
+[ok] Problème de rafraichissement des couleurs des messages auquels on répond
=== Bugs ===
1 : Critique
"main_page" : 1,
"conversations" : [
{
- "racine" : 123,
+ "root" : 123,
"page" : 1
}
]\r
<script type="text/javascript" src="js/pageRegister.js" ></script>
<script type="text/javascript" src="js/euphorik.js" ></script>
</head>
- <body>\r
- <div id="underDevelopment">! Under heavy development !</div>
+ <body>
<div id="container">
<div id="logo"></div>\r
<div id="info" style="display:none" ><div id="icone"></div><div class="fermer" ></div><div class="message" ></div><div class="boutons"></div></div>
{
// vérification s'il elle n'existe pas déjà
for (var i = 0; i < this.conversations.length; i++)
- if (this.conversations[i].racine == racine)
+ if (this.conversations[i].root == racine)
return false
- this.conversations.push({racine : racine, page : 1})
+ this.conversations.push({root : racine, page : 1})
return true
}
{
var conversations = new Array()
for (var i = 0; i < this.conversations.length; i++)
- conversations.push({ "racine" : this.conversations[i].racine, "page" : this.conversations[i].page})
+ conversations.push({ "root" : this.conversations[i].root, "page" : this.conversations[i].page})
return conversations
}
var idDernierMessageAffiche = jQuery("#conversations #" + this.getId() + " div:first").attr("id")
idDernierMessageAffiche = (idDernierMessageAffiche == undefined ? 0 : parseInt(idDernierMessageAffiche, 36))
+ // est-ce que le prochain message est pair ? (permet d'alterner le style des messages)
+ var messagePair = (idDernierMessageAffiche == undefined ? true :
+ (jQuery("#conversations #" + this.getId() + " div:first").attr("class").search("messagePair") == -1)
+ )
+
// construction de l'XHTML des messages
var XHTML = ""
for (var i = this.messages.length - 1; i >= 0; i--)
if (this.messages[i].id > idDernierMessageAffiche)
{
var message = this.messages[i]
+
var XHTMLrepondA = ""
for (var id in message.repondA)
XHTMLrepondA += this.formateur.traitementComplet(message.repondA[id].pseudo) + "> "
XHTMLrepondA = "<span class=\"repondA\">" + XHTMLrepondA + "</span>"
XHTML +=
- "<div id=\"" + message.id.toString(36) + "\" class=\"" + (message.id % 2 == 0 ? "messagePair" : "messageImpair") + " message" +
- (this.messages[i].appartientAuClient ? " proprietaire" : "") + (this.messages[i].clientARepondu ? " repondu" : "") + (this.messages[i].estUneReponse ? " reponse" : "") + (this.messages[i].systeme ? " systeme" : "") +
+ "<div id=\"" + message.id.toString(36) + "\" class=\"" + (messagePair ? "messagePair" : "messageImpair") + " message" +
+ (this.messages[i].appartientAuClient ? " proprietaire" : "") +
+ (this.messages[i].clientARepondu ? " repondu" : "") +
+ (this.messages[i].estUneReponse ? " reponse" : "") +
+ (this.messages[i].systeme ? " systeme" : "") +
"\">" +
"<div class=\"extraire\">></div>" +
"[<span class=\"date\">" + message.date + "</span>]" +
XHTMLrepondA +
"<span class=\"contenu\">" + (message.systeme ? this.formateur.remplacerBalisesHTML(message.contenu) : this.formateur.traitementComplet(message.contenu, message.pseudo)) + "</span>" +
"</div>"
+
+ messagePair = !messagePair
}
jQuery("#conversations #" + this.getId()).prepend(XHTML)
{
thisPage.util.replaceSelection(
jQuery("form input.message")[0],
- "{" + thisMessages.client.conversations[num-1].racine + "}"
+ "{" + thisMessages.client.conversations[num-1].root + "}"
)
}
)
{email, Email},
{css, Css},
{main_page, Main_page},
- {conversations, Conversations_json}
+ {conversations, {array, Conversations_json}}
]
) ->
% est-ce que les messages auquel on répond existent ?
Conversations = lists:foldr(
- fun([struct, {root, Root}, {page, Page}], Acc) ->
+ fun({struct, [{root, Root}, {page, Page}]}, Acc) ->
Message_existe = euphorik_minichat:message_existe(Root),
if Message_existe ->
[{Root, Page} | Acc];
{value, {_, Message_count}} = lists:keysearch(message_count, 1, Data),
Main_page = case lists:keysearch(main_page, 1, Data) of {value, {_, P}} -> P; _ -> 1 end,
{value, {_, {array, Conversations_json}}} = lists:keysearch(conversations, 1, Data),
- Conversations = lists:map(fun({struct, [{racine, Racine}, {page, Page}]}) -> {Racine, Page} end, Conversations_json),
+ Conversations = lists:map(fun({struct, [{root, Racine}, {page, Page}]}) -> {Racine, Page} end, Conversations_json),
User = case euphorik_minichat:user_by_cookie(Cookie) of\r
{ok, U} -> U;\r
_ -> inconnu\r
lists:map(
fun(C) ->
{struct,
- {root, element(1, C)},
- {page, element(2, C)}
+ [
+ {root, element(1, C)},
+ {page, element(2, C)}
+ ]
}
end,
User#user.conversations
# SciTE session file
buffer.1.path=/home/gburri/projets/euphorik/js/euphorik.js
-buffer.1.position=7787
+buffer.1.position=22818
buffer.2.path=/home/gburri/projets/euphorik/js/pageMinichat.js
-buffer.2.position=1044
-buffer.2.current=1
+buffer.2.position=7496
buffer.3.path=/home/gburri/projets/euphorik/js/pageProfile.js
buffer.3.position=1
buffer.4.path=/home/gburri/projets/euphorik/js/pageRegister.js
buffer.4.position=1
-buffer.5.path=/home/gburri/projets/euphorik/css/1/euphorik.css
+buffer.5.path=/home/gburri/projets/euphorik/js/debug.js
buffer.5.position=1
-
-buffer.6.path=/home/gburri/projets/euphorik/css/1/pageMinichat.css
-buffer.6.position=1
-
-buffer.7.path=/home/gburri/projets/euphorik/css/1/pageProfileRegister.css
-buffer.7.position=1
+buffer.5.current=1