//\r
// You should have received a copy of the GNU General Public License\r
// along with Euphorik. If not, see <http://www.gnu.org/licenses/>.\r
- \r
+\r
euphorik.Reponse = function(id, nick, login) {\r
this.id = id;\r
this.nick = nick || "";\r
euphorik.Message = function(client, formater, element) {\r
this.client = client;\r
this.formater = formater;\r
- \r
+\r
this.id = element.id;\r
this.auteurId = element.user_id;\r
this.racineId = element.root;\r
this.nick = element.nick;\r
this.login = element.login;\r
this.contenu = element.content;\r
- \r
+\r
// l'ensemble des id des messages qui reponde à ce message, exemple : {45:true, 32:true} (le 'true' ne sert à rien ^_^)\r
// mis à jour au fur à mesure que des messages sont ajoutés aux conversations\r
this.estReponduPar = {};\r
- \r
+\r
this.appartientAuClient = element.owner;\r
this.clientARepondu = element.answered;\r
this.estUneReponse = element.is_a_reply;\r
euphorik.Message.prototype.setRepondA = function(repondAJSON) {\r
var thisMessage = this;\r
this.repondA = {};\r
- \r
+\r
repondAJSON.each(function(i, reponse) {\r
thisMessage.repondA[reponse.id] = new euphorik.Reponse(reponse.id, reponse.nick, reponse.login);\r
});\r
// les messages faisant partie de la conversation\r
var messagesEnEvidence = {};\r
messagesEnEvidence[this.id] = 1;\r
- \r
+\r
// parcours en profondeur\r
var f = function(ids, premierNiveau, ensemble, evidence) {\r
objectEach(ids, function(id) {\r
}\r
});\r
};\r
- \r
+\r
// remonte le temps\r
f(this.estReponduPar, true, "estReponduPar", 2);\r
- \r
+\r
// descent le temps\r
- f(this.repondA, true, "repondA", 3); \r
- \r
+ f(this.repondA, true, "repondA", 3);\r
+\r
return messagesEnEvidence;\r
};\r
\r
messagePair = true;\r
}\r
pre = pre || "";\r
- \r
+\r
thisMessage = this;\r
- \r
+\r
// construit l'identifiant de la personne\r
- var identifiant = \r
- this.client.nickFormat === "nick" || this.login === "" ? this.formater.completeProcessing(this.nick) : \r
- (this.client.nickFormat === "login" ? this.formater.completeProcessing(this.login) : \r
+ var identifiant =\r
+ this.client.nickFormat === "nick" || this.login === "" ? this.formater.completeProcessing(this.nick) :\r
+ (this.client.nickFormat === "login" ? this.formater.completeProcessing(this.login) :\r
this.formater.completeProcessing(this.nick) + "<span class=\"login\">(" + this.formater.completeProcessing(this.login) +")</span>" );\r
\r
var XHTMLrepondA = "";\r
if (XHTMLrepondA) {\r
XHTMLrepondA = "<span class=\"repondA\">" + XHTMLrepondA + "</span><span class=\"delimitationRepondA\"></span>";\r
}\r
- \r
+\r
return "<div id=\"" + this.getId(pre) + "\" class=\"" + (messagePair ? "messagePair" : "messageImpair") + " message" +\r
(this.appartientAuClient ? " proprietaire" : "") +\r
(this.clientARepondu ? " repondu" : "") +\r
"<span class=\"entete\">" +\r
"<span class=\"dateComplete\">[<span class=\"date\">" + this.date + "</span>]</span>" +\r
"<span class=\"nick\"><span class=\"id\" style=\"display: none\">" + this.auteurId + "</span><span class=\"ident\">" + identifiant + "</span></span>" +\r
- "</span>" + \r
+ "</span>" +\r
"<span class=\"delimitationEntete\"></span>" +\r
XHTMLrepondA +\r
"<span class=\"contenu\">" + this.formater.completeProcessing(this.contenu, this.nick) + "</span>" +\r