aboutsummaryrefslogtreecommitdiffhomepage
path: root/tpl
diff options
context:
space:
mode:
Diffstat (limited to 'tpl')
-rw-r--r--tpl/default/addlink.html3
-rw-r--r--tpl/default/configure.html31
-rw-r--r--tpl/default/daily.html12
-rw-r--r--tpl/default/dailyrss.html2
-rw-r--r--tpl/default/includes.html20
-rw-r--r--tpl/default/linklist.html35
-rw-r--r--tpl/default/linklist.paging.html3
-rw-r--r--tpl/default/page.header.html28
-rw-r--r--tpl/default/picwall.html74
-rw-r--r--tpl/default/thumbnails.html48
-rw-r--r--tpl/default/tools.html36
-rw-r--r--tpl/vintage/configure.html31
-rw-r--r--tpl/vintage/daily.html9
-rw-r--r--tpl/vintage/dailyrss.html4
-rw-r--r--tpl/vintage/includes.html20
-rw-r--r--tpl/vintage/linklist.html12
-rw-r--r--tpl/vintage/picwall.html8
-rw-r--r--tpl/vintage/thumbnails.html28
-rw-r--r--tpl/vintage/tools.html32
19 files changed, 322 insertions, 114 deletions
diff --git a/tpl/default/addlink.html b/tpl/default/addlink.html
index 2f956e06..55864a02 100644
--- a/tpl/default/addlink.html
+++ b/tpl/default/addlink.html
@@ -11,7 +11,8 @@
11 <h2 class="window-title">{"Shaare a new link"|t}</h2> 11 <h2 class="window-title">{"Shaare a new link"|t}</h2>
12 <form method="GET" action="#" name="addform" class="addform"> 12 <form method="GET" action="#" name="addform" class="addform">
13 <div> 13 <div>
14 <input type="text" name="post" placeholder="{'URL or leave empty to post a note'|t}" class="autofocus"> 14 <label for="shaare">{'URL or leave empty to post a note'|t}</label>
15 <input type="text" name="post" id="shaare" class="autofocus">
15 </div> 16 </div>
16 <div> 17 <div>
17 <input type="submit" value="{'Add link'|t}"> 18 <input type="submit" value="{'Add link'|t}">
diff --git a/tpl/default/configure.html b/tpl/default/configure.html
index a63c7ad3..42e32230 100644
--- a/tpl/default/configure.html
+++ b/tpl/default/configure.html
@@ -242,6 +242,37 @@
242 </div> 242 </div>
243 </div> 243 </div>
244 </div> 244 </div>
245 <div class="pure-g">
246 <div class="pure-u-lg-{$ratioLabel} pure-u-{$ratioLabelMobile}">
247 <div class="form-label">
248 <label for="enableThumbnails">
249 <span class="label-name">{'Enable thumbnails'|t}</span><br>
250 <span class="label-desc">
251 {if="! $gd_enabled"}
252 {'You need to enable the extension <code>php-gd</code> to use thumbnails.'|t}
253 {elseif="$thumbnails_enabled"}
254 <a href="?do=thumbs_update">{'Synchronize thumbnails'|t}</a>
255 {/if}
256 </span>
257 </label>
258 </div>
259 </div>
260 <div class="pure-u-lg-{$ratioInput} pure-u-{$ratioInputMobile}">
261 <div class="form-input">
262 <select name="enableThumbnails" id="enableThumbnails" class="align">
263 <option value="all" {if="$thumbnails_mode=='all'"}selected{/if}>
264 {'All'|t}
265 </option>
266 <option value="common" {if="$thumbnails_mode=='common'"}selected{/if}>
267 {'Only common media hosts'|t}
268 </option>
269 <option value="none" {if="$thumbnails_mode=='none'"}selected{/if}>
270 {'None'|t}
271 </option>
272 </select>
273 </div>
274 </div>
275 </div>
245 <div class="center"> 276 <div class="center">
246 <input type="submit" value="{'Save'|t}" name="save"> 277 <input type="submit" value="{'Save'|t}" name="save">
247 </div> 278 </div>
diff --git a/tpl/default/daily.html b/tpl/default/daily.html
index 29d845d5..2c409478 100644
--- a/tpl/default/daily.html
+++ b/tpl/default/daily.html
@@ -69,9 +69,12 @@
69 </a> 69 </a>
70 <a href="{$link.real_url}">{$link.title}</a> 70 <a href="{$link.real_url}">{$link.title}</a>
71 </div> 71 </div>
72 {$thumb=thumbnail($value.url)} 72 {if="$thumbnails_enabled && !empty($link.thumbnail)"}
73 {if="$thumb!=false"} 73 <div class="daily-entry-thumbnail">
74 <div class="daily-entry-thumbnail">{$thumb}</div> 74 <img data-src="{$link.thumbnail}#" class="b-lazy"
75 src=""
76 alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" />
77 </div>
75 {/if} 78 {/if}
76 <div class="daily-entry-description">{$link.formatedDescription}</div> 79 <div class="daily-entry-description">{$link.formatedDescription}</div>
77 {if="$link.tags"} 80 {if="$link.tags"}
@@ -83,7 +86,7 @@
83 {/loop} 86 {/loop}
84 </div> 87 </div>
85 {/if} 88 {/if}
86 <div class="dailyEntryFooter"> 89 <div class="dailyEntryFooter clear">
87 {loop="$link.link_plugin"} 90 {loop="$link.link_plugin"}
88 {$value} 91 {$value}
89 {/loop} 92 {/loop}
@@ -108,6 +111,7 @@
108 </div> 111 </div>
109</div> 112</div>
110{include="page.footer"} 113{include="page.footer"}
114<script src="js/thumbnails.min.js?v={$version_hash}"></script>
111</body> 115</body>
112</html> 116</html>
113 117
diff --git a/tpl/default/dailyrss.html b/tpl/default/dailyrss.html
index b14a3859..f589b06e 100644
--- a/tpl/default/dailyrss.html
+++ b/tpl/default/dailyrss.html
@@ -8,7 +8,7 @@
8 <h3><a href="{$value.url}">{$value.title}</a></h3> 8 <h3><a href="{$value.url}">{$value.title}</a></h3>
9 <small>{if="!$hide_timestamps"}{function="strftime('%c', $value.timestamp)"} - {/if}{if="$value.tags"}{$value.tags}{/if}<br> 9 <small>{if="!$hide_timestamps"}{function="strftime('%c', $value.timestamp)"} - {/if}{if="$value.tags"}{$value.tags}{/if}<br>
10 {$value.url}</small><br> 10 {$value.url}</small><br>
11 {if="$value.thumbnail"}{$value.thumbnail}{/if}<br> 11 {if="$value.thumbnail"}<img src="{$index_url}{$value.thumbnail}#" alt="thumbnail" />{/if}<br>
12 {if="$value.description"}{$value.formatedDescription}{/if} 12 {if="$value.description"}{$value.formatedDescription}{/if}
13 <br><br><hr> 13 <br><br><hr>
14 {/loop} 14 {/loop}
diff --git a/tpl/default/includes.html b/tpl/default/includes.html
index 5ccacaaf..6c30d1bf 100644
--- a/tpl/default/includes.html
+++ b/tpl/default/includes.html
@@ -15,3 +15,23 @@
15 <link type="text/css" rel="stylesheet" href="data/user.css#" /> 15 <link type="text/css" rel="stylesheet" href="data/user.css#" />
16{/if} 16{/if}
17<link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle}"/> 17<link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle}"/>
18{if="! empty($links) && count($links) === 1"}
19 {$link=reset($links)}
20 <meta property="og:title" content="{$link.title}" />
21 <meta property="og:type" content="article" />
22 <meta property="og:url" content="{$index_url}?{$link.shorturl}" />
23 {$ogDescription=isset($link.description_src) ? $link.description_src : $link.description}
24 <meta property="og:description" content="{function="substr(strip_tags($ogDescription), 0, 300)"}" />
25 {if="$link.thumbnail"}
26 <meta property="og:image" content="{$index_url}{$link.thumbnail}" />
27 {/if}
28 {if="!$hide_timestamps || $is_logged_in"}
29 <meta property="article:published_time" content="{$link.created->format(DateTime::ATOM)}" />
30 {if="$link.updated"}
31 <meta property="article:modified_time" content="{$link.updated->format(DateTime::ATOM)}" />
32 {/if}
33 {/if}
34 {loop="link.taglist"}
35 <meta property="article:tag" content="{$value}" />
36 {/loop}
37{/if}
diff --git a/tpl/default/linklist.html b/tpl/default/linklist.html
index 322cddd5..ed78f40a 100644
--- a/tpl/default/linklist.html
+++ b/tpl/default/linklist.html
@@ -125,15 +125,25 @@
125 {$strPermalink=t('Permalink')} 125 {$strPermalink=t('Permalink')}
126 {$strPermalinkLc=t('permalink')} 126 {$strPermalinkLc=t('permalink')}
127 {$strAddTag=t('Add tag')} 127 {$strAddTag=t('Add tag')}
128 {$strToggleSticky=t('Toggle sticky')}
129 {$strSticky=t('Sticky')}
128 {ignore}End of translations{/ignore} 130 {ignore}End of translations{/ignore}
129 {loop="links"} 131 {loop="links"}
130 <div class="anchor" id="{$value.shorturl}"></div> 132 <div class="anchor" id="{$value.shorturl}"></div>
131 133
132 <div class="linklist-item linklist-item{if="$value.class"} {$value.class}{/if}" data-id="{$value.id}"> 134 <div class="linklist-item linklist-item{if="$value.class"} {$value.class}{/if}" data-id="{$value.id}">
133 <div class="linklist-item-title"> 135 <div class="linklist-item-title">
134 {$thumb=thumbnail($value.url)} 136 {if="$thumbnails_enabled && !empty($value.thumbnail)"}
135 {if="$thumb!=false"} 137 <div class="linklist-item-thumbnail" style="width:{$thumbnails_width}px;height:{$thumbnails_height}px;">
136 <div class="linklist-item-thumbnail">{$thumb}</div> 138 <div class="thumbnail">
139 <a href="{$value.real_url}">
140 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore}
141 <img data-src="{$value.thumbnail}#" class="b-lazy"
142 src=""
143 alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" />
144 </a>
145 </div>
146 </div>
137 {/if} 147 {/if}
138 148
139 {if="$is_logged_in"} 149 {if="$is_logged_in"}
@@ -182,7 +192,7 @@
182 {if="$is_logged_in"} 192 {if="$is_logged_in"}
183 <div class="linklist-item-infos-controls-group pure-u-0 pure-u-lg-visible"> 193 <div class="linklist-item-infos-controls-group pure-u-0 pure-u-lg-visible">
184 <span class="linklist-item-infos-controls-item ctrl-checkbox"> 194 <span class="linklist-item-infos-controls-item ctrl-checkbox">
185 <input type="checkbox" class="delete-checkbox" value="{$value.id}"> 195 <input type="checkbox" class="link-checkbox" value="{$value.id}">
186 </span> 196 </span>
187 <span class="linklist-item-infos-controls-item ctrl-edit"> 197 <span class="linklist-item-infos-controls-item ctrl-edit">
188 <a href="?edit_link={$value.id}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link"></i></a> 198 <a href="?edit_link={$value.id}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link"></i></a>
@@ -193,7 +203,23 @@
193 <i class="fa fa-trash"></i> 203 <i class="fa fa-trash"></i>
194 </a> 204 </a>
195 </span> 205 </span>
206 <span class="linklist-item-infos-controls-item ctrl-pin">
207 <a href="?do=pin&amp;id={$value.id}&amp;token={$token}"
208 title="{$strToggleSticky}" class="pin-link {if="$value.sticky"}pinned-link{/if} pure-u-0 pure-u-lg-visible">
209 <i class="fa fa-thumb-tack"></i>
210 </a>
211 </span>
196 </div> 212 </div>
213 {else}
214 {if="$value.sticky"}
215 <div class="linklist-item-infos-controls-group pure-u-0 pure-u-lg-visible">
216 <span class="linklist-item-infos-controls-item ctrl-pin">
217 <span title="{$strSticky}" class="pin-link pinned-link pure-u-0 pure-u-lg-visible">
218 <i class="fa fa-thumb-tack"></i>
219 </span>
220 </span>
221 </div>
222 {/if}
197 {/if} 223 {/if}
198 <a href="?{$value.shorturl}" title="{$strPermalink}"> 224 <a href="?{$value.shorturl}" title="{$strPermalink}">
199 {if="!$hide_timestamps || $is_logged_in"} 225 {if="!$hide_timestamps || $is_logged_in"}
@@ -268,5 +294,6 @@
268</div> 294</div>
269 295
270{include="page.footer"} 296{include="page.footer"}
297<script src="js/thumbnails.min.js?v={$version_hash}"></script>
271</body> 298</body>
272</html> 299</html>
diff --git a/tpl/default/linklist.paging.html b/tpl/default/linklist.paging.html
index 5309e348..fe665a84 100644
--- a/tpl/default/linklist.paging.html
+++ b/tpl/default/linklist.paging.html
@@ -16,6 +16,9 @@
16 <a href="?untaggedonly" title="{'Filter untagged links'|t}" 16 <a href="?untaggedonly" title="{'Filter untagged links'|t}"
17 class={if="$untaggedonly"}"filter-on"{else}"filter-off"{/if} 17 class={if="$untaggedonly"}"filter-on"{else}"filter-off"{/if}
18 ><i class="fa fa-tag"></i></a> 18 ><i class="fa fa-tag"></i></a>
19 <a href="#" title="{'Select all'|t}"
20 class="filter-off select-all-button"
21 ><i class="fa fa-check-square-o"></i></a>
19 <a href="#" class="filter-off fold-all pure-u-lg-0" title="{'Fold all'|t}"> 22 <a href="#" class="filter-off fold-all pure-u-lg-0" title="{'Fold all'|t}">
20 <i class="fa fa-chevron-up"></i> 23 <i class="fa fa-chevron-up"></i>
21 </a> 24 </a>
diff --git a/tpl/default/page.header.html b/tpl/default/page.header.html
index 82568d63..4f6dd4d8 100644
--- a/tpl/default/page.header.html
+++ b/tpl/default/page.header.html
@@ -2,7 +2,7 @@
2 <div class="pure-u-lg-0 pure-u-1"> 2 <div class="pure-u-lg-0 pure-u-1">
3 <div class="pure-menu"> 3 <div class="pure-menu">
4 <a href="{$titleLink}" class="pure-menu-link shaarli-title" id="shaarli-title-mobile"> 4 <a href="{$titleLink}" class="pure-menu-link shaarli-title" id="shaarli-title-mobile">
5 <img src="img/icon.png" width="16" height="16" class="head-logo" alt="logo" /> 5 <img src="img/icon.png" width="16" height="16" class="head-logo" alt="" />
6 {$shaarlititle} 6 {$shaarlititle}
7 </a> 7 </a>
8 <a href="#" class="menu-toggle" id="menu-toggle"><s class="bar"></s><s class="bar"></s></a> 8 <a href="#" class="menu-toggle" id="menu-toggle"><s class="bar"></s><s class="bar"></s></a>
@@ -13,7 +13,7 @@
13 <ul class="pure-menu-list pure-u-lg-5-6 pure-u-1"> 13 <ul class="pure-menu-list pure-u-lg-5-6 pure-u-1">
14 <li class="pure-menu-item pure-u-0 pure-u-lg-visible"> 14 <li class="pure-menu-item pure-u-0 pure-u-lg-visible">
15 <a href="{$titleLink}" class="pure-menu-link shaarli-title" id="shaarli-title-desktop"> 15 <a href="{$titleLink}" class="pure-menu-link shaarli-title" id="shaarli-title-desktop">
16 <img src="img/icon.png" width="16" height="16" class="head-logo" alt="logo" /> 16 <img src="img/icon.png" width="16" height="16" class="head-logo" alt="" />
17 {$shaarlititle} 17 {$shaarlititle}
18 </a> 18 </a>
19 </li> 19 </li>
@@ -30,9 +30,11 @@
30 <li class="pure-menu-item" id="shaarli-menu-tags"> 30 <li class="pure-menu-item" id="shaarli-menu-tags">
31 <a href="?do=tagcloud" class="pure-menu-link">{'Tag cloud'|t}</a> 31 <a href="?do=tagcloud" class="pure-menu-link">{'Tag cloud'|t}</a>
32 </li> 32 </li>
33 <li class="pure-menu-item" id="shaarli-menu-picwall"> 33 {if="$thumbnails_enabled"}
34 <a href="?do=picwall{$searchcrits}" class="pure-menu-link">{'Picture wall'|t}</a> 34 <li class="pure-menu-item" id="shaarli-menu-picwall">
35 </li> 35 <a href="?do=picwall{$searchcrits}" class="pure-menu-link">{'Picture wall'|t}</a>
36 </li>
37 {/if}
36 <li class="pure-menu-item" id="shaarli-menu-daily"> 38 <li class="pure-menu-item" id="shaarli-menu-daily">
37 <a href="?do=daily" class="pure-menu-link">{'Daily'|t}</a> 39 <a href="?do=daily" class="pure-menu-link">{'Daily'|t}</a>
38 </li> 40 </li>
@@ -116,7 +118,7 @@
116 <div id="actions" class="subheader-form"> 118 <div id="actions" class="subheader-form">
117 <div class="pure-g"> 119 <div class="pure-g">
118 <div class="pure-u-1"> 120 <div class="pure-u-1">
119 <a href="" id="actions-delete" class="button">Delete</a> 121 <a href="" id="actions-delete" class="button">{'Delete'|t}</a>
120 </div> 122 </div>
121 </div> 123 </div>
122 </div> 124 </div>
@@ -169,4 +171,18 @@
169 </div> 171 </div>
170{/if} 172{/if}
171 173
174{if="!empty($global_warnings) && $is_logged_in"}
175 <div class="pure-g pure-alert pure-alert-warning pure-alert-closable" id="shaarli-warnings-alert">
176 <div class="pure-u-2-24"></div>
177 <div class="pure-u-20-24">
178 {loop="global_warnings"}
179 <p>{$value}</p>
180 {/loop}
181 </div>
182 <div class="pure-u-2-24">
183 <i class="fa fa-times pure-alert-close"></i>
184 </div>
185 </div>
186{/if}
187
172 <div class="clear"></div> 188 <div class="clear"></div>
diff --git a/tpl/default/picwall.html b/tpl/default/picwall.html
index 2f7e03dc..4c325487 100644
--- a/tpl/default/picwall.html
+++ b/tpl/default/picwall.html
@@ -5,41 +5,61 @@
5</head> 5</head>
6<body> 6<body>
7{include="page.header"} 7{include="page.header"}
8{if="!$thumbnails_enabled"}
9<div class="pure-g pure-alert pure-alert-warning page-single-alert">
10 <div class="pure-u-1 center">
11 {'Picture wall unavailable (thumbnails are disabled).'|t}
12 </div>
13</div>
14{else}
15 {if="count($linksToDisplay)===0 && $is_logged_in"}
16 <div class="pure-g pure-alert pure-alert-warning page-single-alert">
17 <div class="pure-u-1 center">
18 {'There is no cached thumbnail. Try to <a href="?do=thumbs_update">synchronize them</a>.'|t}
19 </div>
20 </div>
21 {/if}
8 22
9<div class="pure-g"> 23 <div class="pure-g">
10 <div class="pure-u-lg-1-6 pure-u-1-24"></div> 24 <div class="pure-u-lg-1-6 pure-u-1-24"></div>
11 <div class="pure-u-lg-2-3 pure-u-22-24 page-form page-visitor"> 25 <div class="pure-u-lg-2-3 pure-u-22-24 page-form page-visitor">
12 {$countPics=count($linksToDisplay)} 26 {$countPics=count($linksToDisplay)}
13 <h2 class="window-title">{'Picture Wall'|t} - {$countPics} {'pics'|t}</h2> 27 <h2 class="window-title">{'Picture Wall'|t} - {$countPics} {'pics'|t}</h2>
14 28
15 <div id="plugin_zone_start_picwall" class="plugin_zone"> 29 <div id="plugin_zone_start_picwall" class="plugin_zone">
16 {loop="$plugin_start_zone"} 30 {loop="$plugin_start_zone"}
17 {$value} 31 {$value}
18 {/loop} 32 {/loop}
19 </div> 33 </div>
20 34
21 <div id="picwall_container" class="picwall-container"> 35 <div id="picwall-container" class="picwall-container">
22 {loop="$linksToDisplay"} 36 {loop="$linksToDisplay"}
23 <div class="picwall-pictureframe"> 37 <div class="picwall-pictureframe">
24 {$value.thumbnail}<a href="{$value.real_url}"><span class="info">{$value.title}</span></a> 38 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore}
25 {loop="$value.picwall_plugin"} 39 <img data-src="{$value.thumbnail}#" class="b-lazy"
26 {$value} 40 src=""
27 {/loop} 41 alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" />
28 </div> 42 <a href="{$value.real_url}"><span class="info">{$value.title}</span></a>
29 {/loop} 43 {loop="$value.picwall_plugin"}
30 <div class="clear"></div> 44 {$value}
31 </div> 45 {/loop}
46 </div>
47 {/loop}
48 <div class="clear"></div>
49 </div>
32 50
33 <div id="plugin_zone_end_picwall" class="plugin_zone"> 51 <div id="plugin_zone_end_picwall" class="plugin_zone">
34 {loop="$plugin_end_zone"} 52 {loop="$plugin_end_zone"}
35 {$value} 53 {$value}
36 {/loop} 54 {/loop}
55 </div>
37 </div> 56 </div>
57 <div class="pure-u-lg-1-6 pure-u-1-24"></div>
38 </div> 58 </div>
39</div> 59{/if}
40 60
41{include="page.footer"} 61{include="page.footer"}
42<script src="js/picwall.min.js?v={$version_hash}"></script> 62<script src="js/thumbnails.min.js?v={$version_hash}"></script>
43</body> 63</body>
44</html> 64</html>
45 65
diff --git a/tpl/default/thumbnails.html b/tpl/default/thumbnails.html
new file mode 100644
index 00000000..a8cf904e
--- /dev/null
+++ b/tpl/default/thumbnails.html
@@ -0,0 +1,48 @@
1<!DOCTYPE html>
2<html>
3<head>
4 {include="includes"}
5</head>
6<body>
7{include="page.header"}
8
9<div class="pure-g thumbnails-page-container">
10 <div class="pure-u-lg-1-3 pure-u-1-24"></div>
11 <div class="pure-u-lg-1-3 pure-u-22-24 page-form page-form-light">
12 <h2 class="window-title">{'Thumbnails update'|t}</h2>
13
14 <div class="pure-g">
15 <div class="pure-u-lg-1-3 pure-u-1-24"></div>
16 <div class="pure-u-lg-1-3 pure-u-22-24">
17 <div class="thumbnail-placeholder" style="width: {$thumbnails_width}px; height: {$thumbnails_height}px;"></div>
18 </div>
19 </div>
20
21 <div class="pure-g">
22 <div class="pure-u-1-12"></div>
23 <div class="pure-u-5-6">
24 <div class="thumbnail-link-title"></div>
25
26 <div class="progressbar">
27 <div></div>
28 </div>
29 </div>
30 </div>
31
32 <div class="pure-g">
33 <div class="pure-u-lg-1-3 pure-u-1-24"></div>
34 <div class="pure-u-lg-1-3 pure-u-22-24">
35 <div class="progress-counter">
36 <span class="progress-current">0</span> / <span class="progress-total">{$ids|count}</span>
37 </div>
38 </div>
39 </div>
40
41 <input type="hidden" name="ids" value="{function="implode($ids, ',')"}" />
42 </div>
43</div>
44
45{include="page.footer"}
46<script src="js/thumbnails_update.min.js?v={$version_hash}"></script>
47</body>
48</html>
diff --git a/tpl/default/tools.html b/tpl/default/tools.html
index ece66884..c9ce1eaf 100644
--- a/tpl/default/tools.html
+++ b/tpl/default/tools.html
@@ -45,6 +45,14 @@
45 </a> 45 </a>
46 </div> 46 </div>
47 47
48 {if="$thumbnails_enabled"}
49 <div class="tools-item">
50 <a href="?do=thumbs_update" title="{'Synchronize all link thumbnails'|t}">
51 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Synchronize thumbnails'|t}</span>
52 </a>
53 </div>
54 {/if}
55
48 {loop="$tools_plugin"} 56 {loop="$tools_plugin"}
49 <div class="tools-item"> 57 <div class="tools-item">
50 {$value} 58 {$value}
@@ -112,47 +120,27 @@
112 </div> 120 </div>
113</div> 121</div>
114 122
115{if="$sslenabled"}
116 <div class="pure-g">
117 <div class="pure-u-lg-1-3 pure-u-1-24"></div>
118 <div class="pure-u-lg-1-3 pure-u-22-24 page-form page-form-light">
119 <h2 class="window-title">Firefox Social API</h2>
120 <p>{'You need to browse your Shaarli over <strong>HTTPS</strong> to use this functionality.'|t}</p>
121
122 <div class="tools-item">
123 <a title="{'Click on this button to add Shaarli to the 'Share this page' button in Firefox"
124 id="ff-social-button">
125 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">✚ {'Add to'|t} Firefox Social</span>
126 </a>
127 </div>
128 </div>
129 </div>
130{/if}
131
132<div class="pure-g"> 123<div class="pure-g">
133 <div class="pure-u-lg-1-3 pure-u-1-24"></div> 124 <div class="pure-u-lg-1-3 pure-u-1-24"></div>
134 <div class="pure-u-lg-1-3 pure-u-22-24 page-form page-form-light"> 125 <div class="pure-u-lg-1-3 pure-u-22-24 page-form page-form-light">
135 <h2 class="window-title">{'3rd party'|t}</h2> 126 <h2 class="window-title">{'3rd party'|t}</h2>
136 <div class="tools-item"> 127 <div class="tools-item">
137 <a href="https://addons.mozilla.org/fr/firefox/addon/shaarli/" title="Firefox {'Plugin'|t}"> 128 <a href="https://addons.mozilla.org/fr/firefox/addon/shaarli/">
138 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Firefox {'plugin'|t}</span> 129 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Firefox {'plugin'|t}</span>
139 </a> 130 </a>
140 </div> 131 </div>
141 <div class="tools-item"> 132 <div class="tools-item">
142 <a href="https://chrome.google.com/webstore/detail/shiny-shaarli/hajdfkmbdmadjmmpkkbbcnllepomekin" 133 <a href="https://chrome.google.com/webstore/detail/shiny-shaarli/hajdfkmbdmadjmmpkkbbcnllepomekin">
143 title="Chrome {'Plugin'|t}">
144 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Chrome {'plugin'|t}</span> 134 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Chrome {'plugin'|t}</span>
145 </a> 135 </a>
146 </div> 136 </div>
147 <div class="tools-item"> 137 <div class="tools-item">
148 <a href="https://play.google.com/store/apps/details?id=com.dimtion.shaarlier&hl=fr" 138 <a href="https://play.google.com/store/apps/details?id=com.dimtion.shaarlier&hl=fr">
149 title="Android Shaarlier">
150 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Android Shaarlier</span> 139 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Android Shaarlier</span>
151 </a> 140 </a>
152 </div> 141 </div>
153 <div class="tools-item"> 142 <div class="tools-item">
154 <a href="https://stakali.toneiv.eu/" 143 <a href="https://stakali.toneiv.eu/">
155 title="Android Stakali">
156 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Android Stakali</span> 144 <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Android Stakali</span>
157 </a> 145 </a>
158 </div> 146 </div>
diff --git a/tpl/vintage/configure.html b/tpl/vintage/configure.html
index 479284eb..f1892fa1 100644
--- a/tpl/vintage/configure.html
+++ b/tpl/vintage/configure.html
@@ -59,14 +59,6 @@
59 </tr> 59 </tr>
60 60
61 <tr> 61 <tr>
62 <td><b>Redirector</b></td>
63 <td>
64 <input type="text" name="redirector" id="redirector" size="50" value="{$redirector}"><br>
65 (e.g. <i>http://anonym.to/?</i> will mask the HTTP_REFERER)
66 </td>
67 </tr>
68
69 <tr>
70 <td><b>Security:</b></td> 62 <td><b>Security:</b></td>
71 <td> 63 <td>
72 <input type="checkbox" name="disablesessionprotection" id="disablesessionprotection" 64 <input type="checkbox" name="disablesessionprotection" id="disablesessionprotection"
@@ -128,6 +120,29 @@
128 <input type="text" name="apiSecret" id="apiSecret" size="50" value="{$api_secret}" /> 120 <input type="text" name="apiSecret" id="apiSecret" size="50" value="{$api_secret}" />
129 </td> 121 </td>
130 </tr> 122 </tr>
123 <tr>
124 <td valign="top"><b>Enable thumbnails</b></td>
125 <td>
126 <select name="enableThumbnails" id="enableThumbnails" class="align">
127 <option value="all" {if="$thumbnails_mode=='all'"}selected{/if}>
128 {'All'|t}
129 </option>
130 <option value="common" {if="$thumbnails_mode=='common'"}selected{/if}>
131 {'Only common media hosts'|t}
132 </option>
133 <option value="none" {if="$thumbnails_mode=='none'"}selected{/if}>
134 {'None'|t}
135 </option>
136 </select>
137 <label for="enableThumbnails">
138 {if="! $gd_enabled"}
139 {'You need to enable the extension <code>php-gd</code> to use thumbnails.'|t}
140 {elseif="$thumbnails_enabled"}
141 <a href="?do=thumbs_update">{'Synchonize thumbnails'|t}</a>
142 {/if}
143 </label>
144 </td>
145 </tr>
131 146
132 <tr> 147 <tr>
133 <td></td> 148 <td></td>
diff --git a/tpl/vintage/daily.html b/tpl/vintage/daily.html
index ede35910..71d84475 100644
--- a/tpl/vintage/daily.html
+++ b/tpl/vintage/daily.html
@@ -68,8 +68,12 @@
68 <div class="dailyEntryTitle"> 68 <div class="dailyEntryTitle">
69 <a href="{$link.real_url}">{$link.title}</a> 69 <a href="{$link.real_url}">{$link.title}</a>
70 </div> 70 </div>
71 {if="$link.thumbnail"} 71 {if="$thumbnails_enabled && !empty($link.thumbnail)"}
72 <div class="dailyEntryThumbnail">{$link.thumbnail}</div> 72 <div class="dailyEntryThumbnail">
73 <img data-src="{$link.thumbnail}#" class="b-lazy"
74 src=""
75 alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" />
76 </div>
73 {/if} 77 {/if}
74 <div class="dailyEntryDescription">{$link.formatedDescription}</div> 78 <div class="dailyEntryDescription">{$link.formatedDescription}</div>
75 79
@@ -97,5 +101,6 @@
97 <div id="closing"><img src="img/squiggle_closing.png" width="66" height="61" alt="-"></div> 101 <div id="closing"><img src="img/squiggle_closing.png" width="66" height="61" alt="-"></div>
98</div> 102</div>
99{include="page.footer"} 103{include="page.footer"}
104<script src="js/thumbnails.min.js?v={$version_hash}"></script>
100</body> 105</body>
101</html> 106</html>
diff --git a/tpl/vintage/dailyrss.html b/tpl/vintage/dailyrss.html
index ddbd6c5e..f589b06e 100644
--- a/tpl/vintage/dailyrss.html
+++ b/tpl/vintage/dailyrss.html
@@ -4,11 +4,11 @@
4 <link>{$absurl}</link> 4 <link>{$absurl}</link>
5 <pubDate>{$rssdate}</pubDate> 5 <pubDate>{$rssdate}</pubDate>
6 <description><![CDATA[ 6 <description><![CDATA[
7 {loop="$links"} 7 {loop="links"}
8 <h3><a href="{$value.url}">{$value.title}</a></h3> 8 <h3><a href="{$value.url}">{$value.title}</a></h3>
9 <small>{if="!$hide_timestamps"}{function="strftime('%c', $value.timestamp)"} - {/if}{if="$value.tags"}{$value.tags}{/if}<br> 9 <small>{if="!$hide_timestamps"}{function="strftime('%c', $value.timestamp)"} - {/if}{if="$value.tags"}{$value.tags}{/if}<br>
10 {$value.url}</small><br> 10 {$value.url}</small><br>
11 {if="$value.thumbnail"}{$value.thumbnail}{/if}<br> 11 {if="$value.thumbnail"}<img src="{$index_url}{$value.thumbnail}#" alt="thumbnail" />{/if}<br>
12 {if="$value.description"}{$value.formatedDescription}{/if} 12 {if="$value.description"}{$value.formatedDescription}{/if}
13 <br><br><hr> 13 <br><br><hr>
14 {/loop} 14 {/loop}
diff --git a/tpl/vintage/includes.html b/tpl/vintage/includes.html
index 410b466b..2efb6b10 100644
--- a/tpl/vintage/includes.html
+++ b/tpl/vintage/includes.html
@@ -12,3 +12,23 @@
12{/loop} 12{/loop}
13{if="is_file('data/user.css')"}<link type="text/css" rel="stylesheet" href="data/user.css#" />{/if} 13{if="is_file('data/user.css')"}<link type="text/css" rel="stylesheet" href="data/user.css#" />{/if}
14<link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle|htmlspecialchars}"/> 14<link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle|htmlspecialchars}"/>
15{if="! empty($links) && count($links) === 1"}
16 {$link=reset($links)}
17 <meta property="og:title" content="{$link.title}" />
18 <meta property="og:type" content="article" />
19 <meta property="og:url" content="{$index_url}?{$link.shorturl}" />
20 {$ogDescription=isset($link.description_src) ? $link.description_src : $link.description}
21 <meta property="og:description" content="{function="mb_substr(strip_tags($ogDescription), 0, 300)"}" />
22 {if="$link.thumbnail"}
23 <meta property="og:image" content="{$index_url}{$link.thumbnail}" />
24 {/if}
25 {if="!$hide_timestamps || $is_logged_in"}
26 <meta property="article:published_time" content="{$link.created->format(DateTime::ATOM)}" />
27 {if="$link.updated"}
28 <meta property="article:modified_time" content="{$link.updated->format(DateTime::ATOM)}" />
29 {/if}
30 {/if}
31 {loop="link.taglist"}
32 <meta property="article:tag" content="{$value}" />
33 {/loop}
34{/if}
diff --git a/tpl/vintage/linklist.html b/tpl/vintage/linklist.html
index 1ca51be3..dcb14e90 100644
--- a/tpl/vintage/linklist.html
+++ b/tpl/vintage/linklist.html
@@ -80,7 +80,16 @@
80 {loop="$links"} 80 {loop="$links"}
81 <li{if="$value.class"} class="{$value.class}"{/if}> 81 <li{if="$value.class"} class="{$value.class}"{/if}>
82 <a id="{$value.shorturl}"></a> 82 <a id="{$value.shorturl}"></a>
83 <div class="thumbnail">{$value.url|thumbnail}</div> 83 {if="$thumbnails_enabled && !empty($value.thumbnail)"}
84 <div class="thumbnail">
85 <a href="{$value.real_url}">
86 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore}
87 <img data-src="{$value.thumbnail}#" class="b-lazy"
88 src=""
89 alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" />
90 </a>
91 </div>
92 {/if}
84 <div class="linkcontainer"> 93 <div class="linkcontainer">
85 {if="$is_logged_in"} 94 {if="$is_logged_in"}
86 <div class="linkeditbuttons"> 95 <div class="linkeditbuttons">
@@ -145,6 +154,7 @@
145</div> 154</div>
146 155
147 {include="page.footer"} 156 {include="page.footer"}
157<script src="js/thumbnails.min.js"></script>
148 158
149</body> 159</body>
150</html> 160</html>
diff --git a/tpl/vintage/picwall.html b/tpl/vintage/picwall.html
index 29688914..b3a16791 100644
--- a/tpl/vintage/picwall.html
+++ b/tpl/vintage/picwall.html
@@ -15,7 +15,11 @@
15 <div id="picwall_container"> 15 <div id="picwall_container">
16 {loop="$linksToDisplay"} 16 {loop="$linksToDisplay"}
17 <div class="picwall_pictureframe"> 17 <div class="picwall_pictureframe">
18 {$value.thumbnail}<a href="{$value.real_url}"><span class="info">{$value.title}</span></a> 18 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore}
19 <img data-src="{$value.thumbnail}#" class="b-lazy"
20 src=""
21 alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" />
22 <a href="{$value.real_url}"><span class="info">{$value.title}</span></a>
19 {loop="$value.picwall_plugin"} 23 {loop="$value.picwall_plugin"}
20 {$value} 24 {$value}
21 {/loop} 25 {/loop}
@@ -34,6 +38,6 @@
34 38
35{include="page.footer"} 39{include="page.footer"}
36 40
37<script src="js/picwall.min.js"></script> 41<script src="js/thumbnails.min.js"></script>
38</body> 42</body>
39</html> 43</html>
diff --git a/tpl/vintage/thumbnails.html b/tpl/vintage/thumbnails.html
new file mode 100644
index 00000000..79aebf8d
--- /dev/null
+++ b/tpl/vintage/thumbnails.html
@@ -0,0 +1,28 @@
1<!DOCTYPE html>
2<html>
3<head>{include="includes"}</head>
4<body>
5<div id="pageheader">
6{include="page.header"}
7</div>
8
9<div class="center thumbnails-update-container">
10 <div class="thumbnail-placeholder" style="width: {$thumbnails_width}px; height: {$thumbnails_height}px;"></div>
11
12 <div class="thumbnail-link-title"></div>
13
14 <div class="progressbar">
15 <div></div>
16 </div>
17
18 <div class="progress-counter">
19 <span class="progress-current">0</span> / <span class="progress-total">{$ids|count}</span>
20 </div>
21</div>
22
23<input type="hidden" name="ids" value="{function="implode($ids, ',')"}" />
24
25{include="page.footer"}
26<script src="js/thumbnails_update.min.js?v={$version_hash}"></script>
27</body>
28</html>
diff --git a/tpl/vintage/tools.html b/tpl/vintage/tools.html
index 3194844a..1cef726e 100644
--- a/tpl/vintage/tools.html
+++ b/tpl/vintage/tools.html
@@ -55,13 +55,6 @@
55 </span> 55 </span>
56 </a><br><br> 56 </a><br><br>
57 57
58 {if="$sslenabled"}
59 <a class="smallbutton" onclick="activateFirefoxSocial(this)"><b>✚Add to Firefox social</b></a>
60 <a href="#">
61 <span>&#x21D0; Click on this button to add Shaarli to the "Share this page" button in Firefox.</span>
62 </a><br><br>
63 {/if}
64
65 {loop="$tools_plugin"} 58 {loop="$tools_plugin"}
66 {$value} 59 {$value}
67 {/loop} 60 {/loop}
@@ -69,31 +62,6 @@
69 <div class="clear"></div> 62 <div class="clear"></div>
70 63
71 <script> 64 <script>
72 {if="$sslenabled"}
73 function activateFirefoxSocial(node) {
74 var loc = location.href;
75 var baseURL = loc.substring(0, loc.lastIndexOf("/"));
76
77 // Keeping the data separated (ie. not in the DOM) so that it's maintainable and diffable.
78 var data = {
79 name: "{$shaarlititle}",
80 description: "The personal, minimalist, super-fast, no-database delicious clone.",
81 author: "Shaarli",
82 version: "1.0.0",
83
84 iconURL: baseURL + "/img/favicon.ico",
85 icon32URL: baseURL + "/img/favicon.ico",
86 icon64URL: baseURL + "/img/favicon.ico",
87
88 shareURL: baseURL + "{noparse}?post=%{url}&title=%{title}&description=%{text}&source=firefoxsocialapi{/noparse}",
89 homepageURL: baseURL
90 };
91 node.setAttribute("data-service", JSON.stringify(data));
92
93 var activate = new CustomEvent("ActivateSocialFeature");
94 node.dispatchEvent(activate);
95 }
96 {/if}
97 function alertBookmarklet() { 65 function alertBookmarklet() {
98 alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...'); 66 alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...');
99 return false; 67 return false;