479a258c31c52ce7858eaddbe5fb070f30b3904b
[matthijs/projects/wipi.git] / plugin / theme / exodus.py
1 # -*- coding: iso-8859-1 -*-
2 """
3     MoinMoin - modern theme
4
5     @copyright: 2003-2005 Nir Soffer, Thomas Waldmann
6     @license: GNU GPL, see COPYING for details.
7 """
8
9 from MoinMoin.theme import ThemeBase
10
11 class Theme(ThemeBase):
12
13     name = "exodus"
14
15     def editbar(self, d):
16         if self.request.user.valid:
17             return ThemeBase.editbar(self, d)
18         else:
19             return ''
20
21     def searchform(self, d):
22         if self.request.user.valid:
23             return ThemeBase.searchform(self, d)
24         else:
25             return ''
26
27     def header(self, d, **kw):
28         """ Assemble wiki header
29         
30         @param d: parameter dictionary
31         @rtype: unicode
32         @return: page header html
33         """
34         html = [
35             # Pre header custom html
36             self.emit_custom_html(self.cfg.page_header1),
37
38             # Header
39             u'<div id="header">',
40             #self.logo(),
41             self.searchform(d),
42             #self.username(d),
43             u'<div id="locationline">',
44             #self.interwiki(d),
45             self.title(d),
46             u'</div>',
47             self.trail(d),
48             #self.navibar(d),
49             #u'<hr id="pageline">',
50             #u'<div id="pageline"><hr style="display:none;"></div>',
51             self.msg(d),
52             self.editbar(d),
53             u'</div>',
54
55             # Post header custom html (not recommended)
56             self.emit_custom_html(self.cfg.page_header2),
57
58             # Start of page
59             self.startPage(),
60         ]
61         return u'\n'.join(html)
62
63     def editorheader(self, d, **kw):
64         """ Assemble wiki header for editor
65         
66         @param d: parameter dictionary
67         @rtype: unicode
68         @return: page header html
69         """
70         html = [
71             # Pre header custom html
72             self.emit_custom_html(self.cfg.page_header1),
73
74             # Header
75             u'<div id="header">',
76             self.title(d),
77             self.msg(d),
78             u'</div>',
79
80             # Post header custom html (not recommended)
81             self.emit_custom_html(self.cfg.page_header2),
82
83             # Start of page
84             self.startPage(),
85         ]
86         return u'\n'.join(html)
87
88     def footer(self, d, **keywords):
89         """ Assemble wiki footer
90         
91         @param d: parameter dictionary
92         @keyword ...:...
93         @rtype: unicode
94         @return: page footer html
95         """
96         page = d['page']
97         html = [
98             # End of page
99             self.pageinfo(page),
100             self.endPage(),
101
102             # Pre footer custom html (not recommended!)
103             self.emit_custom_html(self.cfg.page_footer1),
104
105             # Footer
106             u'<div id="footer">',
107             self.username(d),
108             #self.editbar(d),
109             #self.credits(d),
110             #self.showversion(d, **keywords),
111             u'</div>',
112
113             # Post footer custom html
114             self.emit_custom_html(self.cfg.page_footer2),
115             ]
116         return u'\n'.join(html)
117
118
119 def execute(request):
120     """
121     Generate and return a theme object
122         
123     @param request: the request object
124     @rtype: MoinTheme
125     @return: Theme object
126     """
127     return Theme(request)
128