]>
Commit | Line | Data |
---|---|---|
1 | <!DOCTYPE html> | |
2 | <html{if="$language !== 'auto'"} lang="{$language}"{/if}> | |
3 | <head> | |
4 | {include="includes"} | |
5 | </head> | |
6 | <body> | |
7 | {include="page.header"} | |
8 | ||
9 | <div class="linkcount pure-u-0 pure-u-lg-visible"> | |
10 | {if="!empty($linkcount)"} | |
11 | <span class="strong">{$linkcount}</span> {function="t('shaare', 'shaares', $linkcount)"} | |
12 | {if="$privateLinkcount>0"} | |
13 | <br><span class="strong">{$privateLinkcount}</span> {function="t('private link', 'private links', $privateLinkcount)"} | |
14 | {/if} | |
15 | {/if} | |
16 | </div> | |
17 | ||
18 | <input type="hidden" name="token" value="{$token}"> | |
19 | <div id="search-linklist" class="searchform-block search-linklist"> | |
20 | ||
21 | <form method="GET" class="pure-form searchform" name="searchform"> | |
22 | <input type="text" name="searchterm" class="searchterm" aria-label="{'Search text'|t}" placeholder="{'Search text'|t}" | |
23 | {if="!empty($search_term)"} | |
24 | value="{$search_term}" | |
25 | {/if} | |
26 | > | |
27 | <input type="text" name="searchtags" class="searchtags" aria-label="{'Filter by tag'|t}" placeholder="{'Filter by tag'|t}" | |
28 | {if="!empty($search_tags)"} | |
29 | value="{$search_tags}" | |
30 | {/if} | |
31 | autocomplete="off" data-multiple data-autofirst data-minChars="1" | |
32 | data-list="{loop="$tags"}{$key}, {/loop}" | |
33 | > | |
34 | <button type="submit" class="search-button" aria-label="{'Search'|t}"><i class="fa fa-search" aria-hidden="true"></i></button> | |
35 | </form> | |
36 | </div> | |
37 | ||
38 | {loop="$plugins_header.fields_toolbar"} | |
39 | <form | |
40 | {loop="$value.attr"} | |
41 | {$key}="{$value}" | |
42 | {/loop}> | |
43 | <div class="toolbar-plugin pure-u-lg-1"> | |
44 | {loop="$value.inputs"} | |
45 | <input | |
46 | {loop="$value"} | |
47 | {$key}="{$value}" | |
48 | {/loop}> | |
49 | {/loop} | |
50 | </div> | |
51 | </form> | |
52 | {/loop} | |
53 | ||
54 | <div id="linklist"> | |
55 | <div id="link-count-block" class="pure-g link-count-block"> | |
56 | <div class="pure-u-lg-2-24 pure-u-1-24"></div> | |
57 | <div id="link-count-content" class="pure-u-lg-20-24 pure-u-22-24"> | |
58 | <div class="linkcount pure-u-lg-0 center"> | |
59 | {if="!empty($linkcount)"} | |
60 | <span class="strong">{$linkcount}</span> {function="t('shaare', 'shaares', $linkcount)"} | |
61 | {if="$privateLinkcount>0"} | |
62 | · <span class="strong">{$privateLinkcount}</span> {function="t('private link', 'private links', $privateLinkcount)"} | |
63 | {/if} | |
64 | {/if} | |
65 | </div> | |
66 | ||
67 | {include="linklist.paging"} | |
68 | ||
69 | <div id="plugin_zone_start_linklist" class="plugin_zone"> | |
70 | {loop="$plugin_start_zone"} | |
71 | {$value} | |
72 | {/loop} | |
73 | </div> | |
74 | </div> | |
75 | </div> | |
76 | ||
77 | {if="count($links)==0"} | |
78 | <div id="search-result-block" class="pure-g pure-alert pure-alert-error search-result"> | |
79 | <div class="pure-u-2-24"></div> | |
80 | <div id="search-result-content" class="pure-u-20-24"> | |
81 | <div id="searchcriteria">{'Nothing found.'|t}</div> | |
82 | </div> | |
83 | </div> | |
84 | {elseif="!empty($search_term) or $search_tags !== '' or !empty($visibility) or $untaggedonly"} | |
85 | <div id="search-result-block" class="pure-g pure-alert pure-alert-success search-result"> | |
86 | <div class="pure-u-2-24"></div> | |
87 | <div id="search-result-content" class="pure-u-20-24 search-result-main"> | |
88 | {function="sprintf(t('%s result', '%s results', $result_count), $result_count)"} | |
89 | {if="!empty($search_term)"} | |
90 | {'for'|t} <em><strong>{$search_term}</strong></em> | |
91 | {/if} | |
92 | {if="!empty($search_tags)"} | |
93 | {$exploded_tags=explode(' ', $search_tags)} | |
94 | {'tagged'|t} | |
95 | {loop="$exploded_tags"} | |
96 | <span class="label label-tag" title="{'Remove tag'|t}"> | |
97 | <a href="{$base_path}/remove-tag/{function="urlencode($value)"}" aria-label="{'Remove tag'|t}"> | |
98 | {$value}<span class="remove"><i class="fa fa-times" aria-hidden="true"></i></span> | |
99 | </a> | |
100 | </span> | |
101 | {/loop} | |
102 | {/if} | |
103 | {if="!empty($visibility)"} | |
104 | {'with status'|t} | |
105 | <span class="label label-private"> | |
106 | {$visibility|t} | |
107 | </span> | |
108 | {/if} | |
109 | {if="$untaggedonly"} | |
110 | <span class="label label-private"> | |
111 | {'without any tag'|t} | |
112 | </span> | |
113 | {/if} | |
114 | </div> | |
115 | </div> | |
116 | {/if} | |
117 | ||
118 | <div id="linklist-loop-block" class="pure-g"> | |
119 | <div class="pure-u-lg-2-24 pure-u-1-24"></div> | |
120 | <div id="linklist-loop-content" class="pure-u-lg-20-24 pure-u-22-24"> | |
121 | {ignore}Set translation here, for performances{/ignore} | |
122 | {$strPrivate=t('Private')} | |
123 | {$strEdit=t('Edit')} | |
124 | {$strDelete=t('Delete')} | |
125 | {$strFold=t('Fold')} | |
126 | {$strEdited=t('Edited: ')} | |
127 | {$strPermalink=t('Permalink')} | |
128 | {$strPermalinkLc=t('permalink')} | |
129 | {$strAddTag=t('Add tag')} | |
130 | {$strToggleSticky=t('Toggle sticky')} | |
131 | {$strSticky=t('Sticky')} | |
132 | {ignore}End of translations{/ignore} | |
133 | {loop="links"} | |
134 | <div class="anchor" id="{$value.shorturl}"></div> | |
135 | ||
136 | <div class="linklist-item linklist-item{if="$value.class"} {$value.class}{/if}" data-id="{$value.id}"> | |
137 | <div class="linklist-item-title"> | |
138 | {if="$thumbnails_enabled && !empty($value.thumbnail)"} | |
139 | <div class="linklist-item-thumbnail" style="width:{$thumbnails_width}px;height:{$thumbnails_height}px;"> | |
140 | <div class="thumbnail"> | |
141 | {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore} | |
142 | <a href="{$value.real_url}" aria-hidden="true" tabindex="-1"> | |
143 | <img data-src="{$value.thumbnail}#" class="b-lazy" | |
144 | src="" | |
145 | alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" /> | |
146 | </a> | |
147 | </div> | |
148 | </div> | |
149 | {/if} | |
150 | ||
151 | <div class="linklist-item-editbuttons"> | |
152 | {if="$value.sticky"} | |
153 | <span class="label label-sticky">{$strSticky}</span> | |
154 | {/if} | |
155 | {if="$value.private"} | |
156 | <span class="label label-private">{$strPrivate}</span> | |
157 | {/if} | |
158 | </div> | |
159 | ||
160 | <h2> | |
161 | <a href="{$value.real_url}"> | |
162 | {if="strpos($value.url, $value.shorturl) === false"} | |
163 | <i class="fa fa-external-link" aria-hidden="true"></i> | |
164 | {else} | |
165 | <i class="fa fa-sticky-note" aria-hidden="true"></i> | |
166 | {/if} | |
167 | ||
168 | <span class="linklist-link">{$value.title}</span> | |
169 | </a> | |
170 | </h2> | |
171 | </div> | |
172 | ||
173 | {if="$value.description"} | |
174 | <div class="linklist-item-description"> | |
175 | {$value.description} | |
176 | </div> | |
177 | {/if} | |
178 | ||
179 | <div class="linklist-item-infos clear"> | |
180 | {if="$value.tags"} | |
181 | <div class="linklist-item-tags"> | |
182 | <i class="fa fa-tags" aria-hidden="true"></i> | |
183 | {$tag_counter=count($value.taglist)} | |
184 | {loop="value.taglist"} | |
185 | <span class="label label-tag" title="{$strAddTag}"> | |
186 | <a href="{$base_path}/add-tag/{$value|urlencode}">{$value}</a> | |
187 | </span> | |
188 | {if="$tag_counter - 1 != $counter"}·{/if} | |
189 | {/loop} | |
190 | </div> | |
191 | {/if} | |
192 | ||
193 | <div class="linklist-item-infos-date-url-block pure-g"> | |
194 | <div class="linklist-item-infos-dateblock pure-u-lg-7-12 pure-u-1"> | |
195 | {if="$is_logged_in"} | |
196 | <div class="linklist-item-infos-controls-group pure-u-0 pure-u-lg-visible"> | |
197 | <span class="linklist-item-infos-controls-item ctrl-checkbox"> | |
198 | <input type="checkbox" class="link-checkbox" value="{$value.id}"> | |
199 | </span> | |
200 | <span class="linklist-item-infos-controls-item ctrl-edit"> | |
201 | <a href="{$base_path}/?edit_link={$value.id}" aria-label="{$strEdit}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link" aria-hidden="true"></i></a> | |
202 | </span> | |
203 | <span class="linklist-item-infos-controls-item ctrl-delete"> | |
204 | <a href="{$base_path}/?delete_link&lf_linkdate={$value.id}&token={$token}" aria-label="{$strDelete}" | |
205 | title="{$strDelete}" class="delete-link pure-u-0 pure-u-lg-visible confirm-delete"> | |
206 | <i class="fa fa-trash" aria-hidden="true"></i> | |
207 | </a> | |
208 | </span> | |
209 | <span class="linklist-item-infos-controls-item ctrl-pin"> | |
210 | <a href="{$base_path}/?do=pin&id={$value.id}&token={$token}" | |
211 | title="{$strToggleSticky}" aria-label="{$strToggleSticky}" class="pin-link {if="$value.sticky"}pinned-link{/if} pure-u-0 pure-u-lg-visible"> | |
212 | <i class="fa fa-thumb-tack" aria-hidden="true"></i> | |
213 | </a> | |
214 | </span> | |
215 | </div> | |
216 | {else} | |
217 | {if="$value.sticky"} | |
218 | <div class="linklist-item-infos-controls-group pure-u-0 pure-u-lg-visible"> | |
219 | <span class="linklist-item-infos-controls-item ctrl-pin"> | |
220 | <span title="{$strSticky}" class="pin-link pinned-link pure-u-0 pure-u-lg-visible"> | |
221 | <i class="fa fa-thumb-tack" aria-hidden="true"></i> | |
222 | </span> | |
223 | </span> | |
224 | </div> | |
225 | {/if} | |
226 | {/if} | |
227 | <a href="{$base_path}/?{$value.shorturl}" title="{$strPermalink}"> | |
228 | {if="!$hide_timestamps || $is_logged_in"} | |
229 | {$updated=$value.updated_timestamp ? $strEdited. format_date($value.updated) : $strPermalink} | |
230 | <span class="linkdate" title="{$updated}"> | |
231 | <i class="fa fa-clock-o" aria-hidden="true"></i> | |
232 | {$value.created|format_date} | |
233 | {if="$value.updated_timestamp"}*{/if} | |
234 | · | |
235 | </span> | |
236 | {/if} | |
237 | {$strPermalinkLc} | |
238 | </a> | |
239 | ||
240 | <div class="pure-u-0 pure-u-lg-visible"> | |
241 | {if="isset($value.link_plugin)"} | |
242 | · | |
243 | {$link_plugin_counter=count($value.link_plugin)} | |
244 | {loop="$value.link_plugin"} | |
245 | {$value} | |
246 | {if="$link_plugin_counter - 1 != $counter"}·{/if} | |
247 | {/loop} | |
248 | {/if} | |
249 | </div> | |
250 | </div><div | |
251 | {ignore}do not add space or line break between these div - Firefox issue{/ignore} | |
252 | class="linklist-item-infos-url pure-u-lg-5-12 pure-u-1"> | |
253 | <a href="{$value.real_url}" aria-label="{$value.title}" title="{$value.title}"> | |
254 | <i class="fa fa-link" aria-hidden="true"></i> {$value.url} | |
255 | </a> | |
256 | <div class="linklist-item-buttons pure-u-0 pure-u-lg-visible"> | |
257 | <a href="#" aria-label="{$strFold}" title="{$strFold}" class="fold-button"><i class="fa fa-chevron-up" aria-hidden="true"></i></a> | |
258 | </div> | |
259 | </div> | |
260 | <div class="mobile-buttons pure-u-1 pure-u-lg-0"> | |
261 | {if="isset($value.link_plugin)"} | |
262 | {$link_plugin_counter=count($value.link_plugin)} | |
263 | {loop="$value.link_plugin"} | |
264 | {$value} | |
265 | {if="$link_plugin_counter - 1 != $counter"}·{/if} | |
266 | {/loop} | |
267 | {/if} | |
268 | {if="$is_logged_in"} | |
269 | · | |
270 | <a href="{$base_path}/?delete_link&lf_linkdate={$value.id}&token={$token}" aria-label="{$strDelete}" | |
271 | title="{$strDelete}" class="delete-link confirm-delete"> | |
272 | <i class="fa fa-trash" aria-hidden="true"></i> | |
273 | </a> | |
274 | · | |
275 | <a href="{$base_path}/?edit_link={$value.id}" aria-label="{$strEdit}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link" aria-hidden="true"></i></a> | |
276 | {/if} | |
277 | </div> | |
278 | </div> | |
279 | </div> | |
280 | </div> | |
281 | {/loop} | |
282 | </div> | |
283 | </div> | |
284 | </div> | |
285 | ||
286 | <div id="plugin_zone_end_linklist" class="plugin_zone"> | |
287 | {loop="$plugin_end_zone"} | |
288 | {$value} | |
289 | {/loop} | |
290 | </div> | |
291 | ||
292 | <div id="linklist-paging-bottom-block" class="pure-g link-count-block"> | |
293 | <div class="pure-u-lg-2-24 pure-u-1-24"></div> | |
294 | <div id="linklist-paging-bottom-content" class="pure-u-lg-20-24 pure-u-22-24"> | |
295 | {include="linklist.paging"} | |
296 | </div> | |
297 | </div> | |
298 | ||
299 | {include="page.footer"} | |
300 | <script src="{$asset_path}/js/thumbnails.min.js?v={$version_hash}#"></script> | |
301 | </body> | |
302 | </html> |