summaryrefslogtreecommitdiffstats
path: root/menu.rb
blob: 6471254c5370bb6a828e74c4dc194c1bdc5b6fcf (plain)
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
# encoding: utf-8
def menu_tpe(page_actuelle)

	html = <<HTML_TPE
		<nav id="menubar">
			<menu id="menu" style="width: $width$em">
HTML_TPE
	dans_sous_menu = 0
	dans_bon_sous_menu = 0
	lien = ""
	cur_page = ""
	if page_actuelle.is_a?(Integer)
		id = page_actuelle
	else
		id = 0
	end
	longueur_max = 0
	$db.execute("SELECT id, entree, sous_menu FROM pages ORDER BY id").each { |entree|
		entree["entree"].force_encoding('utf-8')
		longueur = entree["entree"].length + entree["sous_menu"]*3

		if longueur > longueur_max
			longueur_max = longueur
		end
		
		if entree["sous_menu"] < dans_sous_menu
			lien = lien.rpartition('/')[0]
			html = html + "				</ul>\n"*(dans_sous_menu-entree["sous_menu"])
		end
		
		if entree["sous_menu"] > dans_sous_menu
			html = html + "				<ul>\n"
		else
			lien = lien.rpartition('/')[0]
		end
		
		if lien != ""
			lien = lien + "/" + entree["entree"]
		else
			lien = entree["entree"]
		end
		
		if page_actuelle.is_a?(Integer)
			if entree["id"] == page_actuelle
				cur_page = lien
				html = html + "				<li><a href=\"#{$RepBase}/#{lien}\" class=\"emphase\">#{entree["entree"]}</a></li>\n"
			else
				html = html + "				<li><a href=\"#{$RepBase}/#{lien}\">#{entree["entree"]}</a></li>\n"
			end
		else

			if entree["sous_menu"] < dans_bon_sous_menu
				dans_bon_sous_menu = entree["sous_menu"]
			end

			if page_actuelle[entree["sous_menu"]] == entree["entree"] and entree["sous_menu"] == dans_bon_sous_menu
				dans_bon_sous_menu = entree["sous_menu"]+1
				id = entree["id"]
			end
			
			if entree["entree"] == page_actuelle[entree["sous_menu"]]
				cur_page = lien
				html = html + "				<li><a href=\"#{$RepBase}/#{lien}\" class=\"emphase\">#{entree["entree"]}</a></li>\n"
			else
				html = html + "				<li><a href=\"#{$RepBase}/#{lien}\">#{entree["entree"]}</a></li>\n"
			end
		end
		dans_sous_menu = entree["sous_menu"]
	}
	until dans_sous_menu == 0
		html = html + "				</ul>\n"
		dans_sous_menu -= 1
	end
	 
	html = html + <<HTML_TPE
			</menu>
		</nav>
HTML_TPE
	return html, longueur_max, id, cur_page
end