4 <link type=
"text/css" rel=
"stylesheet" href=
"../inc/awesomplete.css" />
9 {
include="page.header"}
10 <div id=
"headerform" class=
"search">
11 <form method=
"GET" class=
"searchform" name=
"searchform">
12 <input type=
"text" tabindex=
"1" id=
"searchform_value" name=
"searchterm" placeholder=
"Search text" value=
""> <input type=
"submit" value=
"Search" class=
"bigbutton"></form>
13 <form method=
"GET" class=
"tagfilter" name=
"tagfilter">
14 <input type=
"text" tabindex=
"2" name=
"searchtags" id=
"tagfilter_value" placeholder=
"Filter by tag" value=
"" list=
"tagsList" autocomplete=
"off" class=
"awesomplete" data-minChars=
"1">
15 <datalist id=
"tagsList">
16 {
loop="$tags"}
<option>{$key}
</option>{/loop}
18 <input type=
"submit" value=
"Search" class=
"bigbutton">
25 {
include="linklist.paging"}
27 {
if="count($links)==
0"}
28 <div id=
"searchcriteria">Nothing found.
</i></div>
30 {
if="$search_type=='fulltext'"}
31 <div id=
"searchcriteria">{$result_count} results for
<i>{$search_crits}
</i></div>
33 {
if="$search_type=='tags'"}
34 <div id=
"searchcriteria">{$result_count} results for tags
<i>
36 <span class=
"linktag" title=
"Remove tag"><a href=
"?removetag={$value}">{$value}
<span class=
"remove">x
</span></a></span>
42 <li{
if=
"$value.class"}
class=
"{$value.class}"{/if}
>
43 <a id=
"{$value.linkdate|smallHash}"></a>
44 <div class=
"thumbnail">{$value.url|thumbnail}
</div>
45 <div class=
"linkcontainer">
47 <div class=
"linkeditbuttons">
48 <form method=
"GET" class=
"buttoneditform"><input type=
"hidden" name=
"edit_link" value=
"{$value.linkdate}"><input type=
"image" alt=
"Edit" src=
"images/edit_icon.png#" title=
"Edit" class=
"button_edit"></form><br>
49 <form method=
"POST" class=
"buttoneditform"><input type=
"hidden" name=
"lf_linkdate" value=
"{$value.linkdate}">
50 <input type=
"hidden" name=
"token" value=
"{$token}"><input type=
"hidden" name=
"delete_link"><input type=
"image" alt=
"Delete" src=
"images/delete_icon.png#" title=
"Delete" class=
"button_delete" onClick=
"return confirmDeleteLink();"></form>
53 <span class=
"linktitle"><a href=
"{$redirector}{$value.url}">{$value.title}
</a></span>
55 {
if="$value.description"}
<div class=
"linkdescription">{$value.description}
</div>{/if}
56 {
if="!$GLOBALS['config']['HIDE_TIMESTAMPS'] || isLoggedIn()"}
57 <span class=
"linkdate" title=
"Permalink"><a href=
"?{$value.linkdate|smallHash}">{
function="strftime('%c', $value.timestamp)"} - permalink
</a> -
</span>
59 <span class=
"linkdate" title=
"Short link here"><a href=
"?{$value.linkdate|smallHash}">permalink
</a> -
</span>
61 {
if="$GLOBALS['config']['ARCHIVE_ORG']"}
62 <span class=
"linkarchive"><a href=
"https://web.archive.org/web/{$value.url}">archive
</a> -
</span>
64 <div class=
"linkqrcode"><a href=
"http://qrfree.kaywa.com/?l=1&s=8&d={$scripturl|urlencode}%3F{$value.linkdate|smallHash}"
65 onclick=
"return showQrCode(this);" class=
"qrcode" data-permalink=
"{$scripturl}?{$value.linkdate|smallHash}">
66 <img src=
"images/qrcode.png#" alt=
"QR-Code" title=
"{function="strftime('%c', $value.timestamp)
"}"></a></div> -
67 <a href=
"{$value.url}"><span class=
"linkurl" title=
"Short link">{$value.url}
</span></a><br>
69 <div class=
"linktaglist">
70 {
loop="value.taglist"}
<span class=
"linktag" title=
"Add tag"><a href=
"?addtag={$value|urlencode}">{$value}
</a></span> {/loop}
78 {
include="linklist.paging"}
82 {
include="page.footer"}
85 // Remove any displayed QR-Code
86 function remove_qrcode()
88 var elem = document.getElementById("permalinkQrcode");
89 if (elem) elem.parentNode.removeChild(elem);
93 function isCanvasSupported(){
94 var elem = document.createElement('canvas');
95 return !!(elem.getContext && elem.getContext('
2d'));
98 // Show the QR-Code of a permalink (when the QR-Code icon is clicked).
99 function showQrCode(caller,loading)
101 if( !isCanvasSupported() ) return true;
103 // Dynamic javascript lib loading: We only load qr.js if the QR code icon is clicked:
104 if (typeof(qr)=='undefined') // Load qr.js only if not present.
106 loading = typeof loading !== 'undefined' ? loading : false;
107 if (!loading) // If javascript lib is still loading, do not append script to body.
109 var element = document.createElement("script");
110 element.src = "inc/qr-
1.1.3.min.js";
111 document.body.appendChild(element);
113 setTimeout(function() { showQrCode(caller,true);},
200); // Retry in
200 milliseconds.
117 // Remove previous qrcode if present.
120 // Build the div which contains the QR-Code:
121 var element = document.createElement('div');
122 element.
id="permalinkQrcode";
124 // Make QR-Code div commit sepuku when clicked:
125 element.addEventListener('click', remove_qrcode ); // Works on every canvas supported browser
127 // Build the QR-Code:
128 var image = qr.image({size:
8,value: caller.getAttribute('data-permalink')});
131 element.appendChild(image);
132 element.innerHTML+= "
<br>Click to close";
133 caller.parentNode.appendChild(element);
137 element.
innerHTML="Your browser does not seem to be HTML5 compatible.";
142 <script src=
"inc/awesomplete.min.js#"></script>