| 1 | <?cs def:hdf_select(options, name, selected) ?> |
|---|
| 2 | <select size="1" id="<?cs var:name ?>" name="<?cs var:name ?>"><?cs |
|---|
| 3 | each:option = options ?><?cs |
|---|
| 4 | if option.name == $selected ?> |
|---|
| 5 | <option selected="selected"><?cs var:option.name ?></option><?cs |
|---|
| 6 | else ?> |
|---|
| 7 | <option><?cs var:option.name ?></option><?cs |
|---|
| 8 | /if ?><?cs |
|---|
| 9 | /each ?> |
|---|
| 10 | </select><?cs |
|---|
| 11 | /def?> |
|---|
| 12 | |
|---|
| 13 | <?cs def:hdf_select_multiple(options, name, size) ?> |
|---|
| 14 | <select size="<?cs var:size ?>" id="<?cs var:name ?>" name="<?cs |
|---|
| 15 | var:name ?>" multiple="multiple"><?cs |
|---|
| 16 | each:option = options ?> |
|---|
| 17 | <option<?cs if:option.selected ?> selected="selected"<?cs /if ?>><?cs |
|---|
| 18 | var:option.name ?></option><?cs |
|---|
| 19 | /each ?> |
|---|
| 20 | </select><?cs |
|---|
| 21 | /def ?> |
|---|
| 22 | |
|---|
| 23 | <?cs def:browser_path_links(path, file) ?><?cs |
|---|
| 24 | set:first = #1 ?> |
|---|
| 25 | <h1><?cs |
|---|
| 26 | each:part = path ?><?cs |
|---|
| 27 | set:last = name(part) == len(path) - #1 ?><a<?cs |
|---|
| 28 | if:first ?> class="first" title="Go to root directory"<?cs |
|---|
| 29 | set:first = #0 ?><?cs |
|---|
| 30 | else ?> title="Go to directory"<?cs |
|---|
| 31 | /if ?> href="<?cs var:part.url ?>"><?cs var:part ?></a><?cs |
|---|
| 32 | if:file.filename || !last ?><span class="sep">/</span><?cs /if ?><?cs |
|---|
| 33 | /each ?><?cs |
|---|
| 34 | if:file.filename ?><span class="filename"><?cs var:file.filename ?></span><?cs |
|---|
| 35 | /if ?></h1> |
|---|
| 36 | <?cs /def ?> |
|---|
| 37 | |
|---|
| 38 | <?cs def:diff_display(change, style) ?><?cs |
|---|
| 39 | if:style == 'sidebyside' ?><?cs |
|---|
| 40 | each:block = change.blocks ?><?cs |
|---|
| 41 | if:block.type == 'unmod' ?><tbody class="unmod"><?cs |
|---|
| 42 | each:line = block.base.lines ?><tr> |
|---|
| 43 | <th class="base"><?cs var:#block.base.offset + name(line) + 1 ?></th> |
|---|
| 44 | <td class="base"><span><?cs var:line ?></span> </td> |
|---|
| 45 | <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> |
|---|
| 46 | <td class="chg"><span><?cs var:line ?></span> </td> |
|---|
| 47 | </tr><?cs /each ?> |
|---|
| 48 | </tbody><?cs |
|---|
| 49 | elif:block.type == 'mod' ?><tbody class="mod"><?cs |
|---|
| 50 | if:len(block.base.lines) >= len(block.changed.lines) ?><?cs |
|---|
| 51 | each:line = block.base.lines ?><tr> |
|---|
| 52 | <th class="base"><?cs var:#block.base.offset + name(line) + 1 ?></th> |
|---|
| 53 | <td class="base"><?cs var:line ?> </td><?cs |
|---|
| 54 | if:len(block.changed.lines) >= name(line) + 1 ?><?cs |
|---|
| 55 | each:changedline = block.changed.lines ?><?cs |
|---|
| 56 | if:name(changedline) == name(line) ?> |
|---|
| 57 | <th class="chg"><?cs var:#block.changed.offset + name(changedline) + 1 ?></th> |
|---|
| 58 | <td class="chg"><?cs var:changedline ?> </td><?cs |
|---|
| 59 | /if ?><?cs |
|---|
| 60 | /each ?><?cs |
|---|
| 61 | else ?> |
|---|
| 62 | <th class="chg"> </th> |
|---|
| 63 | <td class="chg"> </td><?cs |
|---|
| 64 | /if ?> |
|---|
| 65 | </tr><?cs /each ?><?cs |
|---|
| 66 | else ?><?cs |
|---|
| 67 | each:line = block.changed.lines ?><tr><?cs |
|---|
| 68 | if:len(block.base.lines) >= name(line) + 1 ?><?cs |
|---|
| 69 | each:baseline = block.base.lines ?><?cs |
|---|
| 70 | if:name(baseline) == name(line) ?> |
|---|
| 71 | <th class="base"><?cs var:#block.base.offset + name(baseline) + 1 ?></th> |
|---|
| 72 | <td class="base"><?cs var:baseline ?> </td><?cs |
|---|
| 73 | /if ?><?cs |
|---|
| 74 | /each ?><?cs |
|---|
| 75 | else ?> |
|---|
| 76 | <th class="base"> </th> |
|---|
| 77 | <td class="base"> </td><?cs |
|---|
| 78 | /if ?> |
|---|
| 79 | <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> |
|---|
| 80 | <td class="chg"><?cs var:line ?> </td> |
|---|
| 81 | </tr><?cs /each ?><?cs |
|---|
| 82 | /if ?> |
|---|
| 83 | </tbody><?cs |
|---|
| 84 | elif:block.type == 'add' ?><tbody class="add"><?cs |
|---|
| 85 | each:line = block.changed.lines ?><tr> |
|---|
| 86 | <th class="base"> </th> |
|---|
| 87 | <td class="base"> </td> |
|---|
| 88 | <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> |
|---|
| 89 | <td class="chg"><ins><?cs var:line ?></ins> </td> |
|---|
| 90 | </tr><?cs /each ?><?cs |
|---|
| 91 | elif:block.type == 'rem' ?><tbody class="rem"><?cs |
|---|
| 92 | each:line = block.base.lines ?><tr> |
|---|
| 93 | <th class="base"><?cs var:#block.base.offset + name(line) + 1 ?></th> |
|---|
| 94 | <td class="base"><del><?cs var:line ?></del> </td> |
|---|
| 95 | <th class="chg"> </th> |
|---|
| 96 | <td class="chg"> </td> |
|---|
| 97 | </tr><?cs /each ?><?cs |
|---|
| 98 | /if ?> |
|---|
| 99 | </tbody><?cs |
|---|
| 100 | /each ?><?cs |
|---|
| 101 | else ?><?cs |
|---|
| 102 | each:block = change.blocks ?> |
|---|
| 103 | <?cs if:block.type == 'unmod' ?><tbody class="unmod"><?cs |
|---|
| 104 | each:line = block.base.lines ?><tr> |
|---|
| 105 | <th class="base"><?cs var:#block.base.offset + name(line) + #1 ?></th> |
|---|
| 106 | <th class="chg"><?cs var:#block.changed.offset + name(line) + #1 ?></th> |
|---|
| 107 | <td class="base"><span><?cs var:line ?></span> </td> |
|---|
| 108 | </tr><?cs /each ?> |
|---|
| 109 | </tbody> |
|---|
| 110 | <?cs elif:block.type == 'mod' ?><tbody class="mod"><?cs |
|---|
| 111 | each:line = block.base.lines ?><tr class="<?cs |
|---|
| 112 | if:name(line) == 0 ?>first<?cs /if ?>"> |
|---|
| 113 | <th class="base"><?cs var:#block.base.offset + name(line) + #1 ?></th> |
|---|
| 114 | <th class="chg"> </th> |
|---|
| 115 | <td class="base"><?cs var:line ?> </td> |
|---|
| 116 | </tr><?cs /each ?><?cs |
|---|
| 117 | each:line = block.changed.lines ?><tr class="<?cs |
|---|
| 118 | if:name(line) + 1 == len(block.changed.lines) ?> last<?cs /if ?>"> |
|---|
| 119 | <th class="base"> </th> |
|---|
| 120 | <th class="chg"><?cs var:#block.changed.offset + name(line) + #1 ?></th> |
|---|
| 121 | <td class="chg"><?cs var:line ?> </td> |
|---|
| 122 | </tr><?cs /each ?> |
|---|
| 123 | </tbody> |
|---|
| 124 | <?cs elif:block.type == 'add' ?><tbody class="add"><?cs |
|---|
| 125 | each:line = block.changed.lines ?><tr class="<?cs |
|---|
| 126 | if:name(line) == 0 ?>first<?cs /if ?><?cs |
|---|
| 127 | if:name(line) + 1 == len(block.changed.lines) ?> last ?><?cs /if ?>"> |
|---|
| 128 | <th class="base"> </th> |
|---|
| 129 | <th class="chg"><?cs var:#block.changed.offset + name(line) + #1 ?></th> |
|---|
| 130 | <td class="chg"><ins><?cs var:line ?></ins> </td> |
|---|
| 131 | </tr><?cs /each ?> |
|---|
| 132 | </tbody> |
|---|
| 133 | <?cs elif:block.type == 'rem' ?><tbody class="rem"><?cs |
|---|
| 134 | each:line = block.base.lines ?><tr class="<?cs |
|---|
| 135 | if:name(line) == 0 ?>first<?cs /if ?><?cs |
|---|
| 136 | if:name(line) + 1 == len(block.base.lines) ?> last ?><?cs /if ?>"> |
|---|
| 137 | <th class="base"><?cs var:#block.base.offset + name(line) + 1 ?></th> |
|---|
| 138 | <th class="chg"> </th> |
|---|
| 139 | <td class="base"><del><?cs var:line ?></del> </td> |
|---|
| 140 | </tr><?cs /each ?> |
|---|
| 141 | </tbody> |
|---|
| 142 | <?cs /if ?><?cs |
|---|
| 143 | /each ?><?cs |
|---|
| 144 | /if ?><?cs |
|---|
| 145 | /def ?> |
|---|
| 146 | |
|---|
| 147 | <?cs def:session_name_email() ?><?cs |
|---|
| 148 | if trac.authname != "anonymous" ?><?cs |
|---|
| 149 | var:trac.authname ?><?cs |
|---|
| 150 | elif trac.session.var.name && trac.session.var.email ?><?cs |
|---|
| 151 | var:trac.session.var.name ?> <<?cs var:trac.session.var.email ?>><?cs |
|---|
| 152 | elif !trac.session.var.name && trac.session.var.email ?><?cs |
|---|
| 153 | var:trac.session.var.email ?><?cs |
|---|
| 154 | else ?><?cs |
|---|
| 155 | var:trac.authname ?><?cs |
|---|
| 156 | /if ?><?cs |
|---|
| 157 | /def ?> |
|---|
| 158 | |
|---|
| 159 | <?cs def:ticket_custom_props(ticket) ?><?cs |
|---|
| 160 | each c=ticket.custom ?> |
|---|
| 161 | <div class="field custom_<?cs var c.name ?>"><?cs |
|---|
| 162 | if c.type == 'text' || c.type == 'select' ?> |
|---|
| 163 | <label for="custom_<?cs var c.name ?>"><?cs alt c.label ?><?cs |
|---|
| 164 | var c.name ?><?cs /alt ?></label>:<?cs |
|---|
| 165 | /if ?><?cs |
|---|
| 166 | if c.type == 'text' ?> |
|---|
| 167 | <input type="text" id="custom_<?cs var c.name ?>" name="custom_<?cs |
|---|
| 168 | var c.name ?>" value="<?cs var c.value ?>" /><?cs |
|---|
| 169 | elif c.type == 'textarea' ?> |
|---|
| 170 | <label for="custom_<?cs var c.name ?>"><?cs alt c.label ?><?cs |
|---|
| 171 | var c.name ?><?cs /alt ?></label>:<br /> |
|---|
| 172 | <textarea cols="<?cs alt c.width ?>60<?cs /alt ?>" rows="<?cs |
|---|
| 173 | alt c.height ?>12<?cs /alt ?>" name="custom_<?cs var c.name ?>"><?cs |
|---|
| 174 | var c.value ?></textarea><?cs |
|---|
| 175 | elif c.type == 'checkbox' ?> |
|---|
| 176 | <input type="hidden" name="checkbox_<?cs var c.name ?>" value="custom_<?cs |
|---|
| 177 | var c.name ?>" /> |
|---|
| 178 | <input type="checkbox" id="custom_<?cs var c.name ?>" name="custom_<?cs |
|---|
| 179 | var c.name ?>" value="1" <?cs if c.selected ?>checked="checked"<?cs /if ?> /> |
|---|
| 180 | <label for="custom_<?cs var c.name ?>"><?cs alt c.label ?><?cs |
|---|
| 181 | var c.name ?><?cs /alt ?></label><?cs |
|---|
| 182 | elif c.type == 'select' ?> |
|---|
| 183 | <select name="custom_<?cs var c.name ?>"><?cs each v = c.option ?> |
|---|
| 184 | <option <?cs if v.selected ?>selected="selected"<?cs /if ?>><?cs |
|---|
| 185 | var v ?></option><?cs /each ?> |
|---|
| 186 | </select><?cs |
|---|
| 187 | elif c.type == 'radio' ?> |
|---|
| 188 | <fieldset class="radio"> |
|---|
| 189 | <legend><?cs alt c.label ?><?cs var c.name ?><?cs /alt ?>:</legend><?cs |
|---|
| 190 | each v = c.option ?> |
|---|
| 191 | <input type="radio" id="custom_<?cs var c.name ?>_<?cs |
|---|
| 192 | var v ?>" name="custom_<?cs var c.name ?>"<?cs |
|---|
| 193 | if v.selected ?> checked="checked"<?cs /if ?> value="<?cs var v ?>"/> |
|---|
| 194 | <label for="custom_<?cs var c.name ?>_<?cs var v ?>"><?cs |
|---|
| 195 | var v ?></label><?cs |
|---|
| 196 | /each ?> |
|---|
| 197 | </fieldset><?cs |
|---|
| 198 | /if ?> |
|---|
| 199 | </div><?cs |
|---|
| 200 | /each ?><?cs |
|---|
| 201 | /def ?> |
|---|
| 202 | |
|---|
| 203 | <?cs def:wiki_toolbar(textarea_id) ?> |
|---|
| 204 | <script type='text/javascript'> |
|---|
| 205 | addWikiFormattingToolbar(document.getElementById("<?cs var:textarea_id ?>")); |
|---|
| 206 | </script> |
|---|
| 207 | <?cs /def ?> |
|---|