1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
| PUBLIC SUB VoirSujet(sujet AS ForumSujet, idPage AS INTEGER, OPTIONAL membreConnecte AS Membre = NULL)
DIM tableau AS NEW HtmlTable DIM action AS HtmlAction DIM elmt AS XmlElement DIM $message AS Message DIM formreponse AS HtmlForm
IF sujet.Messages.Count > 1 THEN ThisPage.ActionsEnBas = TRUE
ThisPage.Titre.TextContent = sujet.Titre ThisPage.AppendFilAriane(["Les Forums", sujet.Forum.Titre, sujet.Titre], ["forum.html", sujet.Forum.URL(), ""])
ThisPage.Contenu.Id = "forum"
IF membreConnecte THEN IF membreConnecte.Id = sujet.Auteur.Id THEN action = NEW HtmlAction action.Alternate = If(sujet.Resolu, sujet.URLNonResolu, sujet.URLResolu) action.TextContent = If(Sujet.Resolu, "Ne plus marquer résolu" "Marquer résolu") action.ClassName = "resolu" ThisPage.AddAction(action) ENDIF
IF sujet.Abonne THEN action = NEW HtmlAction action.Alternate = Sujet.UrlDesAbonnement() action.TextContent = "Se désabonner" ELSE action = NEW HtmlAction action.Alternate = Sujet.UrlAbonnement() action.TextContent = "S'abonner" ENDIF ThisPage.AddAction(action) action = NEW HtmlAction IF NOT sujet.Ferme THEN action.Alternate = sujet.URLRepondre action.TextContent = "Répondre" ELSE action.AppendFromText("<img src='images/icones/verouiller.png' class='icone' alt='' /> Ce sujet est fermé" ENDIF ThisPage.AddAction(action) ENDIF IF sujet.Resolu THEN ThisPage.Contenu.AppendFromText("<p class='resolu'>Ce sujet est résolu.</p>" ENDIF
tableau.Head.AppendFromText("<tr><td class=\"pagechooser\" colspan=\"2\">" & sujet.PageChooser(idPage) & "</td></tr>" "<tr><th>Auteur</th><th>Messages</th></tr>") IF sujet.Messages.Count > 1 THEN tableau.Foot.AppendFromText("<tr><td class=\"pagechooser\" colspan=\"2\">" & sujet.PageChooser(idPage) & "</td></tr>") ENDIF tableau.Id = "messages" FOR EACH $message IN sujet.Messages tableau.AppendRow() 'En-tête tableau[tableau.Max, 0].TagName = "th" elmt = ThisPage.CreateElement("a") elmt.AppendText($message.Auteur.Pseudo) elmt.SetAttribute("href", $message.Auteur.URL) tableau[tableau.Max, 0].AppendChild(elmt) tableau[tableau.Max, 1].TagName = "th" elmt = ThisPage.CreateElement("a") elmt.TextContent = "#" & $message.Numero & " " elmt.SetAttribute("href", sujet.Url($message.Numero)) elmt.Id = "m" & $message.Numero tableau[tableau.Max, 1].AppendChild(elmt) tableau[tableau.Max, 1].AppendText("Posté " LCase($message.StrDatePost)) IF membreConnecte THEN elmt = ThisPage.CreateElement("a") elmt.ClassName = "action" elmt.AppendFromText("<img src='images/icones/quote.png' alt='' /> Citer") elmt.SetAttribute("href", $message.UrlCiter) elmt.SetAttribute("title", "Citer ce message") tableau[tableau.Max, 1].AppendChild(elmt) IF membreConnecte.Id = $message.Auteur.Id THEN elmt = ThisPage.CreateElement("a") elmt.ClassName = "action" elmt.AppendFromText("<img src='images/icones/edit.png' alt='' /> Modifier") elmt.SetAttribute("href", $message.UrlModifier) elmt.SetAttribute("title", "Modifier ce message") tableau[tableau.Max, 1].AppendChild(elmt) ENDIF ENDIF 'Contenu tableau.AppendRow() elmt = ThisPage.CreateElement("em") elmt.AppendText($message.Auteur.Citation) tableau[tableau.Max, 0].AppendChild(elmt) elmt = ThisPage.CreateElement("img") elmt.ClassName = "avatar" elmt.SetAttribute("src", $message.Auteur.Avatar) tableau[tableau.Max, 0].AppendChild(elmt) tableau[tableau.Max, 1].AppendChildren(CodeParser.ParseBBCode($message.Contenu)) IF $message.Auteur.Signature THEN elmt = NEW XmlElement("div") elmt.ClassName = "signature" elmt.AppendChildren(CodeParser.ParseBBCode($message.Auteur.Signature)) tableau[tableau.Max, 1].AppendChild(elmt) ENDIF NEXT
ThisPage.Contenu.AppendChild(tableau) IF membreConnecte THEN formreponse = NEW HtmlForm formreponse.Action = sujet.URLRepondre formreponse.AppendFromText("<h3>Réponse rapide</h3>" formreponse.ClassName = "reponseRapide" formreponse.AddTextArea("message") formreponse.AddSubmitButton("Envoyer") ThisPage.Contenu.AppendChild(formreponse) ENDIF
END
|