aboutsummaryrefslogtreecommitdiffhomepage
path: root/tpl/default/linklist.html
diff options
context:
space:
mode:
Diffstat (limited to 'tpl/default/linklist.html')
-rw-r--r--tpl/default/linklist.html331
1 files changed, 213 insertions, 118 deletions
diff --git a/tpl/default/linklist.html b/tpl/default/linklist.html
index 5accc92f..a9712704 100644
--- a/tpl/default/linklist.html
+++ b/tpl/default/linklist.html
@@ -1,151 +1,246 @@
1<!DOCTYPE html> 1<!DOCTYPE html>
2<html> 2<html>
3<head> 3<head>
4 <link type="text/css" rel="stylesheet" href="inc/awesomplete.css#" /> 4 {include="includes"}
5 {include="includes"}
6</head> 5</head>
7<body> 6<body>
8<div id="pageheader"> 7{include="page.header"}
9 {include="page.header"}
10 8
11 <div id="headerform" class="search"> 9<div class="linkcount pure-u-0 pure-u-lg-visible">
12 <form method="GET" class="searchform" name="searchform"> 10 {if="!empty($linkcount)"}
13 <input type="text" tabindex="1" id="searchform_value" name="searchterm" placeholder="Search text" 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<div id="search-linklist">
19
20 <div class="pure-g">
21 <div class="pure-u-1 pure-u-lg-1-2">
22 <form method="GET" class="searchform" name="searchform">
23 <input type="text" tabindex="1" name="searchterm" placeholder="{'Search text'|t}"
14 {if="!empty($search_term)"} 24 {if="!empty($search_term)"}
15 value="{$search_term}" 25 value="{$search_term}"
16 {/if} 26 {/if}
17 > 27 >
18 <input type="submit" value="Search" class="bigbutton"> 28 <button type="submit" class="search-button"><i class="fa fa-search"></i></button>
19 </form> 29 </form>
20 <form method="GET" class="tagfilter" name="tagfilter">
21 <input type="text" tabindex="2" name="searchtags" id="tagfilter_value" placeholder="Filter by tag"
22 {if="!empty($search_tags)"}
23 value="{$search_tags}"
24 {/if}
25 autocomplete="off" class="awesomplete" data-multiple data-minChars="1"
26 data-list="{loop="$tags"}{$key}, {/loop}"
27 >
28 <input type="submit" value="Search" class="bigbutton">
29 </form>
30 {loop="$plugins_header.fields_toolbar"}
31 <form
32 {loop="$value.attr"}
33 {$key}="{$value}"
34 {/loop}>
35 {loop="$value.inputs"}
36 <input
37 {loop="$value"}
38 {$key}="{$value}"
39 {/loop}>
40 {/loop}
41 </form>
42 {/loop}
43 </div> 30 </div>
31 <div class="pure-u-1 pure-u-lg-1-2">
32 <form method="GET" class="tagfilter" name="tagfilter">
33 <input type="text" tabindex="2" name="searchtags" placeholder="{'Filter by tag'|t}"
34 {if="!empty($search_tags)"}
35 value="{$search_tags}"
36 {/if}
37 autocomplete="off" data-multiple data-minChars="1"
38 data-list="{loop="$tags"}{$key}, {/loop}"
39 >
40 <button type="submit" class="search-button"><i class="fa fa-search"></i></button>
41 </form>
42 </div>
43 </div>
44</div> 44</div>
45 45
46{loop="$plugins_header.fields_toolbar"}
47 <form
48 {loop="$value.attr"}
49 {$key}="{$value}"
50 {/loop}>
51 <div class="toolbar-plugin pure-u-lg-1">
52 {loop="$value.inputs"}
53 <input
54 {loop="$value"}
55 {$key}="{$value}"
56 {/loop}>
57 {/loop}
58 </div>
59 </form>
60{/loop}
61
46<div id="linklist"> 62<div id="linklist">
63 <div class="pure-g">
64 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
65 <div class="pure-u-lg-20-24 pure-u-22-24">
66 <div class="linkcount pure-u-lg-0 center">
67 {if="!empty($linkcount)"}
68 <span class="strong">{$linkcount}</span> {function="t('shaare', 'shaares', $linkcount)"}
69 {if="$privateLinkcount>0"}
70 &middot; <span class="strong">{$privateLinkcount}</span> {function="t('private link', 'private links', $privateLinkcount)"}
71 {/if}
72 {/if}
73 </div>
47 74
48 {include="linklist.paging"} 75 {include="linklist.paging"}
49 76
50 <div id="plugin_zone_start_linklist" class="plugin_zone"> 77 <div id="plugin_zone_start_linklist" class="plugin_zone">
51 {loop="$plugin_start_zone"} 78 {loop="$plugin_start_zone"}
52 {$value} 79 {$value}
53 {/loop} 80 {/loop}
81 </div>
54 </div> 82 </div>
83 </div>
55 84
56 {if="count($links)==0"} 85 {if="count($links)==0"}
57 <div id="searchcriteria">Nothing found.</div> 86 <div class="pure-g pure-alert pure-alert-error search-result">
58 {elseif="!empty($search_term) or !empty($search_tags)"} 87 <div class="pure-u-2-24"></div>
59 <div id="searchcriteria"> 88 <div class="pure-u-20-24">
60 {$result_count} results 89 <div id="searchcriteria">{'Nothing found.'|t}</div>
61 {if="!empty($search_term)"} 90 </div>
62 for <em>{$search_term}</em> 91 </div>
63 {/if} 92 {elseif="!empty($search_term) or !empty($search_tags)"}
64 {if="!empty($search_tags)"} 93 <div class="pure-g pure-alert pure-alert-success search-result">
65 {$exploded_tags=explode(' ', $search_tags)} 94 <div class="pure-u-2-24"></div>
66 tagged 95 <div class="pure-u-20-24">
67 {loop="$exploded_tags"} 96 {function="t('%s result', '%s results', $result_count)"}
68 <span class="linktag" title="Remove tag"> 97 {if="!empty($search_term)"}
69 <a href="?removetag={function="urlencode($value)"}">{$value} <span class="remove">x</span></a> 98 {'for'|t} <em><strong>{$search_term}</strong></em>
70 </span> 99 {/if}
71 {/loop} 100 {if="!empty($search_tags)"}
72 {/if} 101 {$exploded_tags=explode(' ', $search_tags)}
73 </div> 102 {'tagged'|t}
74 {/if} 103 {loop="$exploded_tags"}
75 <ul> 104 <span class="label label-tag" title="{'Remove tag'|t}">
76 {loop="$links"} 105 <a href="?removetag={function="urlencode($value)"}">{$value}<span class="remove"><i class="fa fa-times"></i></span></a>
77 <li{if="$value.class"} class="{$value.class}"{/if}> 106 </span>
78 <a id="{$value.shorturl}"></a> 107 {/loop}
79 <div class="thumbnail">{$value.url|thumbnail}</div> 108 {/if}
80 <div class="linkcontainer"> 109 </div>
81 {if="isLoggedIn()"} 110 </div>
82 <div class="linkeditbuttons"> 111 {/if}
83 <form method="GET" class="buttoneditform"> 112
84 <input type="hidden" name="edit_link" value="{$value.id}"> 113 <div class="pure-g">
85 <input type="image" alt="Edit" src="images/edit_icon.png#" title="Edit" class="button_edit"> 114 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
86 </form><br> 115 <div class="pure-u-lg-20-24 pure-u-22-24">
87 <form method="GET" class="buttoneditform"> 116 {loop="links"}
88 <input type="hidden" name="lf_linkdate" value="{$value.id}"> 117 <div class="anchor" id="{$value.shorturl}"></div>
89 <input type="hidden" name="token" value="{$token}"> 118 <div class="linklist-item{if="$value.class"} {$value.class}{/if}">
90 <input type="hidden" name="delete_link"> 119
91 <input type="image" alt="Delete" src="images/delete_icon.png#" title="Delete" 120 <div class="linklist-item-title">
92 class="button_delete" onClick="return confirmDeleteLink();"> 121 {if="isLoggedIn()"}
93 </form> 122 <div class="linklist-item-editbuttons">
94 </div> 123 {if="$value.private"}
124 <span class="label label-private">{'Private'|t}</span>
95 {/if} 125 {/if}
96 <span class="linktitle"> 126 <!-- FIXME! JS translation -->
97 <a href="{$value.real_url}">{$value.title}</a> 127 <a href="?edit_link={$value.id}" title="{'Edit'|t}"><i class="fa fa-pencil-square-o edit-link"></i></a>
98 </span> 128 <a href="#" title="{'Fold'|t}" class="fold-button"><i class="fa fa-chevron-up"></i></a>
99 <br> 129 </div>
100 {if="$value.description"}<div class="linkdescription">{$value.description}</div>{/if} 130 {/if}
101 {if="!$hide_timestamps || isLoggedIn()"} 131
102 {$updated=$value.updated_timestamp ? 'Edited: '. strftime('%c', $value.updated_timestamp) : 'Permalink'} 132 <h2>
103 <span class="linkdate" title="Permalink"> 133 <a href="{$value.real_url}">
104 <a href="?{$value.shorturl}"> 134 {if="strpos($value.url, $value.shorturl) === false"}
105 <span title="{$updated}"> 135 <i class="fa fa-external-link"></i>
106 {function="strftime('%c', $value.timestamp)"}
107 {if="$value.updated_timestamp"}*{/if}
108 </span>
109 - permalink
110 </a> -
111 </span>
112 {else} 136 {else}
113 <span class="linkdate" title="Short link here"><a href="?{$value.shorturl}">permalink</a> - </span> 137 <i class="fa fa-sticky-note"></i>
114 {/if} 138 {/if}
115 139
116 {loop="$value.link_plugin"} 140 <span class="linklist-link">{$value.title}</span>
117 <span>{$value}</span> - 141 </a>
118 {/loop} 142 </h2>
119 143 </div>
120 <a href="{$value.real_url}"><span class="linkurl" title="Short link">{$value.url}</span></a><br>
121 {if="$value.tags"}
122 <div class="linktaglist">
123 {loop="$value.taglist"}<span class="linktag" title="Add tag"><a href="?addtag={$value|urlencode}">{$value}</a></span> {/loop}
124 </div>
125 {/if}
126 144
145 {$thumb=thumbnail($value.url)}
146 {if="$thumb!=false"}
147 <div class="linklist-item-thumbnail">{$thumb}</div>
148 {/if}
127 149
150 {if="$value.description"}
151 <div class="linklist-item-description">
152 {$value.description}
128 </div> 153 </div>
129 </li> 154 {/if}
130 {/loop}
131 </ul>
132 155
133 <div id="plugin_zone_end_linklist" class="plugin_zone"> 156 <div class="linklist-item-infos clear">
134 {loop="$plugin_end_zone"} 157 {if="$value.tags"}
135 {$value} 158 <div class="linklist-item-tags">
136 {/loop} 159 <i class="fa fa-tags"></i>
137 </div> 160 {$tag_counter=count($value.taglist)}
161 {loop="value.taglist"}
162 <span class="label label-tag" title="Add tag">
163 <a href="?addtag={$value|urlencode}">{$value}</a>
164 </span>
165 {if="$tag_counter - 1 != $counter"}&middot;{/if}
166 {/loop}
167 </div>
168 {/if}
138 169
139 {include="linklist.paging"} 170 <div class="pure-g">
171 <div class="linklist-item-infos-dateblock pure-u-lg-3-8 pure-u-1">
172 <a href="?{$value.shorturl}" title="{'Permalink'|t}">
173 {if="!$hide_timestamps || isLoggedIn()"}
174 {$updated=$value.updated_timestamp ? 'Edited: '. strftime('%c', $value.updated_timestamp) : 'Permalink'}
175 <span class="linkdate" title="{$updated}">
176 <i class="fa fa-clock-o"></i>
177 {function="strftime('%c', $value.timestamp)"}{if="$value.updated_timestamp"}*{/if}
178 &middot;
179 </span>
180 {/if}
181 {'permalink'|t}
182 </a>
140 183
184 <div class="pure-u-0 pure-u-lg-visible">
185 {if="isset($value.link_plugin)"}
186 &middot;
187 {$link_plugin_counter=count($value.link_plugin)}
188 {loop="$value.link_plugin"}
189 {$value}
190 {if="$link_plugin_counter - 1 != $counter"}&middot;{/if}
191 {/loop}
192 {/if}
193 </div>
194 </div><div
195 {ignore}do not add space or line break between these div - Firefox issue{/ignore}
196 class="linklist-item-infos-url pure-u-lg-5-8 pure-u-1">
197 <a href="{$value.real_url}" title="{$value.title}">
198 <i class="fa fa-link"></i> {$value.url}
199 </a>
200 {if="isLoggedIn()"}
201 <a href="?delete_link&amp;lf_linkdate={$value.id}&amp;token={$token}"
202 title="{'Delete'|t}" class="delete-link pure-u-0 pure-u-lg-visible confirm-delete">
203 <i class="fa fa-trash"></i>
204 </a>
205 {/if}
206 </div>
207 <div class="mobile-buttons pure-u-1 pure-u-lg-0">
208 {if="isset($value.link_plugin)"}
209 {$link_plugin_counter=count($value.link_plugin)}
210 {loop="$value.link_plugin"}
211 {$value}
212 {if="$link_plugin_counter - 1 != $counter"}&middot;{/if}
213 {/loop}
214 {/if}
215 {if="isLoggedIn()"}
216 &middot;
217 <a href="?delete_link&amp;lf_linkdate={$value.id}&amp;token={$token}"
218 title="{'Delete'|t}" class="delete-link confirm-delete">
219 <i class="fa fa-trash"></i>
220 </a>
221 {/if}
222 </div>
223 </div>
224 </div>
225 </div>
226 {/loop}
227 </div>
228 </div>
141</div> 229</div>
142 230
143 {include="page.footer"} 231 <div id="plugin_zone_end_linklist" class="plugin_zone">
232 {loop="$plugin_end_zone"}
233 {$value}
234 {/loop}
235 </div>
236
237<div class="pure-g">
238 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
239 <div class="pure-u-lg-20-24 pure-u-22-24">
240 {include="linklist.paging"}
241 </div>
242</div>
144 243
145<script src="inc/awesomplete.min.js#"></script> 244{include="page.footer"}
146<script src="inc/awesomplete-multiple-tags.js#"></script>
147<script>
148 awesompleteUniqueTag('#tagfilter_value');
149</script>
150</body> 245</body>
151</html> 246</html>