e5d854d5e75d6c3f985158e5559c545ac48401f7
[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 header(self, d, **kw):
22         """ Assemble wiki header
23         
24         @param d: parameter dictionary
25         @rtype: unicode
26         @return: page header html
27         """
28         html = [
29             # Pre header custom html
30             self.emit_custom_html(self.cfg.page_header1),
31
32             # Header
33             u'<div id="header">',
34             #self.logo(),
35             #self.searchform(d),
36             #self.username(d),
37             u'<div id="locationline">',
38             #self.interwiki(d),
39             self.title(d),
40             u'</div>',
41             self.trail(d),
42             #self.navibar(d),
43             #u'<hr id="pageline">',
44             #u'<div id="pageline"><hr style="display:none;"></div>',
45             self.msg(d),
46             self.editbar(d),
47             u'</div>',
48
49             # Post header custom html (not recommended)
50             self.emit_custom_html(self.cfg.page_header2),
51
52             # Start of page
53             self.startPage(),
54         ]
55         return u'\n'.join(html)
56
57     def editorheader(self, d, **kw):
58         """ Assemble wiki header for editor
59         
60         @param d: parameter dictionary
61         @rtype: unicode
62         @return: page header html
63         """
64         html = [
65             # Pre header custom html
66             self.emit_custom_html(self.cfg.page_header1),
67
68             # Header
69             u'<div id="header">',
70             self.title(d),
71             self.msg(d),
72             u'</div>',
73
74             # Post header custom html (not recommended)
75             self.emit_custom_html(self.cfg.page_header2),
76
77             # Start of page
78             self.startPage(),
79         ]
80         return u'\n'.join(html)
81
82     def footer(self, d, **keywords):
83         """ Assemble wiki footer
84         
85         @param d: parameter dictionary
86         @keyword ...:...
87         @rtype: unicode
88         @return: page footer html
89         """
90         page = d['page']
91         html = [
92             # End of page
93             self.pageinfo(page),
94             self.endPage(),
95
96             # Pre footer custom html (not recommended!)
97             self.emit_custom_html(self.cfg.page_footer1),
98
99             # Footer
100             u'<div id="footer">',
101             self.username(d),
102             #self.editbar(d),
103             #self.credits(d),
104             #self.showversion(d, **keywords),
105             u'</div>',
106
107             # Post footer custom html
108             self.emit_custom_html(self.cfg.page_footer2),
109             ]
110         return u'\n'.join(html)
111
112
113 def execute(request):
114     """
115     Generate and return a theme object
116         
117     @param request: the request object
118     @rtype: MoinTheme
119     @return: Theme object
120     """
121     return Theme(request)
122