1 <:# utility definitions :>
2 <:-.define make_select-:>
3 <:-.if !default.defined -:>
4 <:-.set default = "" -:>
6 <select name="<:= name | html :>">
8 <option value="<:= i.$id | html :>"
9 <:- .if i.$id eq default :> selected="selected"<:.end if -:>
17 base - base url for links
18 pages - the result of the bse.pages call
20 <:-.define page_list-:>
21 <:.set sep = base =~ /\?/ ? "&" : "?" -:>
22 <:.set base = base _ sep :>
23 <div class="pagelist">
24 Page <:= pages.page :> of <:= pages.pagecount :>
25 <:.if pages.previous_page -:>
26 <a href="<:= base |html:><:= pages.pname | uri :>=1&<:= pages.ppname | uri :>=<:= pages.pp | uri :>"><<</a>
27 <a href="<:= base |html:><:= pages.pname | uri :>=<:= pages.previous_page |uri:>&<:= pages.ppname | uri :>=<:= pages.pp | uri :>"><</a>
32 <:.for p in pcats.pages :>
34 <a href="<:= base |html :><:= pages.pname | uri:>=<:= p.page | uri :>&<:=pages.ppname | uri :>=<:= pages.pp | uri :>"><:= p.page |html :></a>
36 <span><:= p.page |html:></span>
39 <:.if pages.next_page -:>
40 <a href="<:= base |html:><:= pages.pname | uri :>=<:= pages.next_page |uri:>&<:= pages.ppname | uri :>=<:= pages.pp | uri :>">></a>
41 <a href="<:= base |html:><:= pages.pname | uri :>=<:= pages.pagecount |uri:>&<:= pages.ppname | uri :>=<:= pages.pp | uri :>">>></a>
50 <:# parameters: field, default -:>
51 <: .if cgi.param(field).defined -:>
52 <:= cgi.param(field) -:>
54 <:= default | html -:>
58 <:.define error_img -:>
59 <:# parameters: field -:>
60 <:# this implementation should probably change -:>
61 <:= ("error_img " _ field).evaltag -:>
67 fields - hash of fields (may be set by page instead)
68 object - source for defaults in edit mode
70 <: .set f = fields[name] -:>
72 <: .set default = object.get(name) -:>
73 <: .elsif f.default -:>
74 <: .set default = f.default -:>
76 <: .set default = "" -:>
78 <: .if f.htmltype eq "textarea" -:>
79 <textarea id="<:= name | html :>" name="<:= name | html :>" rows="<:= f.height ? f.height : cfg.entry("forms", "textarea_rows", 10) :>" cols=<:= f.width ? f.width : cfg.entry("textarea_cols", 60) | html :>>
80 <:- .call "old", "field":name, "default":default -:>
82 <: .elsif f.htmltype eq "checkbox" -:>
83 <:.set is_checked = request.method() eq 'post' ? cgi.param(name).defined : default -:>
84 <input id="<:= name | html :>" type="checkbox" name="<:= name | html :>"<:= is_checked ? ' checked="checked"' : '' :> value="<:= f.value ? f.value : 1 | html :>" />
85 <: .elsif f.htmltype eq "select" -:>
86 <:.set values = f.select["values"] -:>
87 <:.set values = values.is_code ? values() : values -:>
88 <:.call "make_select",
96 <input id="<:= name | html :>" type="text" name="<:= name | html :>" value="<:.call "old", "field":name, "default":default :>"
97 <:-= f.maxlength ? ' maxlength="' _ f.maxlength _ '"' : '' :>
98 <:= f.width ? 'size="' _ f.width _ '"' : '' :> />
105 fields - hash of fields (may be set by page instead)
107 <:.set f = fields[name] -:>
109 <label for="<:= field | html :>"><:= f.nolabel ? "" : f.description | html :>:</label>
110 <span><:.call "input", "name":name -:><:.call "error_img", "field":name :></span>
114 <:.define messages -:>
115 <: .if request.messages.size -:>
116 <div class="messages">
117 <: .for m in request.messages -:>
118 <div class="<:= m.class :>"><:= m.html :></div>
124 <:- include includes/custom/preload.tmpl optional -:>