diff options
Diffstat (limited to 'tpl/default')
30 files changed, 618 insertions, 203 deletions
diff --git a/tpl/default/404.html b/tpl/default/404.html index 09737b4b..7b696e4c 100644 --- a/tpl/default/404.html +++ b/tpl/default/404.html | |||
@@ -8,7 +8,7 @@ | |||
8 | {include="page.header"} | 8 | {include="page.header"} |
9 | <div id="pageError" class="page-error-container center"> | 9 | <div id="pageError" class="page-error-container center"> |
10 | <h2>{'Sorry, nothing to see here.'|t}</h2> | 10 | <h2>{'Sorry, nothing to see here.'|t}</h2> |
11 | <img src="img/sad_star.png" alt=""> | 11 | <img src="{$asset_path}/img/sad_star.png#" alt=""> |
12 | <p>{$error_message}</p> | 12 | <p>{$error_message}</p> |
13 | </div> | 13 | </div> |
14 | {include="page.footer"} | 14 | {include="page.footer"} |
diff --git a/tpl/default/addlink.html b/tpl/default/addlink.html index b4b4a0ec..4aac7ff1 100644 --- a/tpl/default/addlink.html +++ b/tpl/default/addlink.html | |||
@@ -9,7 +9,7 @@ | |||
9 | <div class="pure-u-lg-1-3 pure-u-1-24"></div> | 9 | <div class="pure-u-lg-1-3 pure-u-1-24"></div> |
10 | <div id="addlink-form" class="page-form page-form-light pure-u-lg-1-3 pure-u-22-24"> | 10 | <div id="addlink-form" class="page-form page-form-light pure-u-lg-1-3 pure-u-22-24"> |
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="{$base_path}/admin/shaare" name="addform" class="addform"> |
13 | <div> | 13 | <div> |
14 | <label for="shaare">{'URL or leave empty to post a note'|t}</label> | 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 | <input type="text" name="post" id="shaare" class="autofocus"> |
@@ -20,6 +20,62 @@ | |||
20 | </form> | 20 | </form> |
21 | </div> | 21 | </div> |
22 | </div> | 22 | </div> |
23 | |||
24 | <div class="pure-g addlink-batch-show-more-block pure-u-0"> | ||
25 | <div class="pure-u-lg-1-3 pure-u-1-24"></div> | ||
26 | <div class="pure-u-lg-1-3 pure-u-22-24 addlink-batch-show-more"> | ||
27 | <a href="#">{'BULK CREATION'|t} <i class="fa fa-plus-circle" aria-hidden="true"></i></a> | ||
28 | </div> | ||
29 | </div> | ||
30 | |||
31 | <div class="addlink-batch-form-block"> | ||
32 | {if="empty($async_metadata)"} | ||
33 | <div class="pure-g pure-alert pure-alert-warning pure-alert-closable"> | ||
34 | <div class="pure-u-2-24"></div> | ||
35 | <div class="pure-u-20-24"> | ||
36 | <p> | ||
37 | {'Metadata asynchronous retrieval is disabled.'|t} | ||
38 | {'We recommend that you enable the setting <em>general > enable_async_metadata</em> in your configuration file to use bulk link creation.'|t} | ||
39 | </p> | ||
40 | </div> | ||
41 | <div class="pure-u-2-24"> | ||
42 | <i class="fa fa-times pure-alert-close"></i> | ||
43 | </div> | ||
44 | </div> | ||
45 | {/if} | ||
46 | |||
47 | <div class="pure-g"> | ||
48 | <div class="pure-u-lg-1-3 pure-u-1-24"></div> | ||
49 | <div id="batch-addlink-form" class="page-form page-form-light pure-u-lg-1-3 pure-u-22-24"> | ||
50 | <h2 class="window-title">{"Shaare multiple new links"|t}</h2> | ||
51 | <form method="POST" action="{$base_path}/admin/shaare-batch" name="batch-addform" class="batch-addform"> | ||
52 | <div> | ||
53 | <label for="urls">{'Add one URL per line to create multiple bookmarks.'|t}</label> | ||
54 | <textarea name="urls" id="urls"></textarea> | ||
55 | |||
56 | <div> | ||
57 | <label for="tags">{'Tags'|t}</label> | ||
58 | </div> | ||
59 | <div> | ||
60 | <input type="text" name="tags" id="tags" class="lf_input" | ||
61 | data-list="{loop="$tags"}{$key}, {/loop}" data-multiple data-autofirst autocomplete="off"> | ||
62 | </div> | ||
63 | |||
64 | <div> | ||
65 | <input type="hidden" name="private" value="0"> | ||
66 | <input type="checkbox" name="private" {if="$default_private_links"} checked="checked"{/if}> | ||
67 | <label for="lf_private">{'Private'|t}</label> | ||
68 | </div> | ||
69 | </div> | ||
70 | <div> | ||
71 | <input type="hidden" name="token" value="{$token}"> | ||
72 | <input type="submit" value="{'Add links'|t}"> | ||
73 | </div> | ||
74 | </form> | ||
75 | </div> | ||
76 | </div> | ||
77 | </div> | ||
78 | |||
23 | {include="page.footer"} | 79 | {include="page.footer"} |
24 | </body> | 80 | </body> |
25 | </html> | 81 | </html> |
diff --git a/tpl/default/changepassword.html b/tpl/default/changepassword.html index ab579433..736774f3 100644 --- a/tpl/default/changepassword.html +++ b/tpl/default/changepassword.html | |||
@@ -9,7 +9,7 @@ | |||
9 | <div class="pure-u-lg-1-3 pure-u-1-24"></div> | 9 | <div class="pure-u-lg-1-3 pure-u-1-24"></div> |
10 | <div id="addlink-form" class="page-form page-form-light pure-u-lg-1-3 pure-u-22-24"> | 10 | <div id="addlink-form" class="page-form page-form-light pure-u-lg-1-3 pure-u-22-24"> |
11 | <h2 class="window-title">{"Change password"|t}</h2> | 11 | <h2 class="window-title">{"Change password"|t}</h2> |
12 | <form method="POST" action="#" name="changepasswordform" id="changepasswordform"> | 12 | <form method="POST" action="{$base_path}/admin/password" name="changepasswordform" id="changepasswordform"> |
13 | <div> | 13 | <div> |
14 | <input type="password" name="oldpassword" aria-label="{'Current password'|t}" placeholder="{'Current password'|t}" class="autofocus"> | 14 | <input type="password" name="oldpassword" aria-label="{'Current password'|t}" placeholder="{'Current password'|t}" class="autofocus"> |
15 | </div> | 15 | </div> |
diff --git a/tpl/default/changetag.html b/tpl/default/changetag.html index ec6e0b46..89d08e2c 100644 --- a/tpl/default/changetag.html +++ b/tpl/default/changetag.html | |||
@@ -9,7 +9,7 @@ | |||
9 | <div class="pure-u-lg-1-3 pure-u-1-24"></div> | 9 | <div class="pure-u-lg-1-3 pure-u-1-24"></div> |
10 | <div id="addlink-form" class="page-form page-form-light pure-u-lg-1-3 pure-u-22-24"> | 10 | <div id="addlink-form" class="page-form page-form-light pure-u-lg-1-3 pure-u-22-24"> |
11 | <h2 class="window-title">{"Manage tags"|t}</h2> | 11 | <h2 class="window-title">{"Manage tags"|t}</h2> |
12 | <form method="POST" action="#" name="changetag" id="changetag"> | 12 | <form method="POST" action="{$base_path}/admin/tags" name="changetag" id="changetag"> |
13 | <div> | 13 | <div> |
14 | <input type="text" name="fromtag" aria-label="{'Tag'|t}" placeholder="{'Tag'|t}" value="{$fromtag}" | 14 | <input type="text" name="fromtag" aria-label="{'Tag'|t}" placeholder="{'Tag'|t}" value="{$fromtag}" |
15 | list="tagsList" autocomplete="off" class="awesomplete autofocus" data-minChars="1"> | 15 | list="tagsList" autocomplete="off" class="awesomplete autofocus" data-minChars="1"> |
@@ -27,12 +27,12 @@ | |||
27 | <div><i class="fa fa-info-circle" aria-hidden="true"></i> {'Case sensitive'|t}</div> | 27 | <div><i class="fa fa-info-circle" aria-hidden="true"></i> {'Case sensitive'|t}</div> |
28 | <input type="hidden" name="token" value="{$token}"> | 28 | <input type="hidden" name="token" value="{$token}"> |
29 | <div> | 29 | <div> |
30 | <input type="submit" value="{'Rename'|t}" name="renametag"> | 30 | <input type="submit" value="{'Rename tag'|t}" name="renametag"> |
31 | <input type="submit" value="{'Delete'|t}" name="deletetag" class="button button-red confirm-delete"> | 31 | <input type="submit" value="{'Delete tag'|t}" name="deletetag" class="button button-red confirm-delete"> |
32 | </div> | 32 | </div> |
33 | </form> | 33 | </form> |
34 | 34 | ||
35 | <p>{'You can also edit tags in the'|t} <a href="?do=taglist&sort=usage">{'tag list'|t}</a>.</p> | 35 | <p>{'You can also edit tags in the'|t} <a href="{$base_path}/tags/list?sort=usage">{'tag list'|t}</a>.</p> |
36 | </div> | 36 | </div> |
37 | </div> | 37 | </div> |
38 | {include="page.footer"} | 38 | {include="page.footer"} |
diff --git a/tpl/default/configure.html b/tpl/default/configure.html index 8b75900d..bb2564af 100644 --- a/tpl/default/configure.html +++ b/tpl/default/configure.html | |||
@@ -11,7 +11,7 @@ | |||
11 | {$ratioInput='7-12'} | 11 | {$ratioInput='7-12'} |
12 | {$ratioInputMobile='1-8'} | 12 | {$ratioInputMobile='1-8'} |
13 | 13 | ||
14 | <form method="POST" action="#" name="configform" id="configform"> | 14 | <form method="POST" action="{$base_path}/admin/configure" name="configform" id="configform"> |
15 | <div class="pure-g"> | 15 | <div class="pure-g"> |
16 | <div class="pure-u-lg-1-8 pure-u-1-24"></div> | 16 | <div class="pure-u-lg-1-8 pure-u-1-24"></div> |
17 | <div class="pure-u-lg-3-4 pure-u-22-24 page-form page-form-complete"> | 17 | <div class="pure-u-lg-3-4 pure-u-22-24 page-form page-form-complete"> |
@@ -35,7 +35,7 @@ | |||
35 | <div class="form-label"> | 35 | <div class="form-label"> |
36 | <label for="titleLink"> | 36 | <label for="titleLink"> |
37 | <span class="label-name">{'Home link'|t}</span><br> | 37 | <span class="label-name">{'Home link'|t}</span><br> |
38 | <span class="label-desc">{'Default value'|t}: ?</span> | 38 | <span class="label-desc">{'Default value'|t}: {$base_path}/</span> |
39 | </label> | 39 | </label> |
40 | </div> | 40 | </div> |
41 | </div> | 41 | </div> |
@@ -289,7 +289,7 @@ | |||
289 | {if="! $gd_enabled"} | 289 | {if="! $gd_enabled"} |
290 | {'You need to enable the extension <code>php-gd</code> to use thumbnails.'|t} | 290 | {'You need to enable the extension <code>php-gd</code> to use thumbnails.'|t} |
291 | {elseif="$thumbnails_enabled"} | 291 | {elseif="$thumbnails_enabled"} |
292 | <a href="?do=thumbs_update">{'Synchronize thumbnails'|t}</a> | 292 | <a href="{$base_path}/admin/thumbnails">{'Synchronize thumbnails'|t}</a> |
293 | {/if} | 293 | {/if} |
294 | </span> | 294 | </span> |
295 | </label> | 295 | </label> |
diff --git a/tpl/default/daily.html b/tpl/default/daily.html index 6b5103a4..5e038c39 100644 --- a/tpl/default/daily.html +++ b/tpl/default/daily.html | |||
@@ -7,11 +7,24 @@ | |||
7 | {include="page.header"} | 7 | {include="page.header"} |
8 | 8 | ||
9 | <div class="pure-g"> | 9 | <div class="pure-g"> |
10 | <div class="pure-u-1 pure-alert pure-alert-success tag-sort"> | ||
11 | <a href="{$base_path}/daily?day">{'Daily'|t}</a> | ||
12 | <a href="{$base_path}/daily?week">{'Weekly'|t}</a> | ||
13 | <a href="{$base_path}/daily?month">{'Monthly'|t}</a> | ||
14 | </div> | ||
15 | </div> | ||
16 | |||
17 | |||
18 | <div class="pure-g"> | ||
10 | <div class="pure-u-lg-1-6 pure-u-1-24"></div> | 19 | <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" id="daily"> | 20 | <div class="pure-u-lg-2-3 pure-u-22-24 page-form page-visitor" id="daily"> |
12 | <h2 class="window-title"> | 21 | <h2 class="window-title"> |
13 | {'The Daily Shaarli'|t} | 22 | {$localizedType} Shaarli |
14 | <a href="?do=dailyrss" title="{'1 RSS entry per day'|t}"><i class="fa fa-rss"></i></a> | 23 | <a href="{$base_path}/daily-rss?{$type}" |
24 | title="{function="t('1 RSS entry per :type', '', 1, 'shaarli', [':type' => t($type)])"}" | ||
25 | > | ||
26 | <i class="fa fa-rss"></i> | ||
27 | </a> | ||
15 | </h2> | 28 | </h2> |
16 | 29 | ||
17 | <div id="plugin_zone_start_daily" class="plugin_zone"> | 30 | <div id="plugin_zone_start_daily" class="plugin_zone"> |
@@ -25,19 +38,19 @@ | |||
25 | <div class="pure-g"> | 38 | <div class="pure-g"> |
26 | <div class="pure-u-lg-1-3 pure-u-1 center"> | 39 | <div class="pure-u-lg-1-3 pure-u-1 center"> |
27 | {if="$previousday"} | 40 | {if="$previousday"} |
28 | <a href="?do=daily&day={$previousday}"> | 41 | <a href="{$base_path}/daily?{$type}={$previousday}"> |
29 | <i class="fa fa-arrow-left"></i> | 42 | <i class="fa fa-arrow-left"></i> |
30 | {'Previous day'|t} | 43 | {function="t('Previous :type', '', 1, 'shaarli', [':type' => t($type)], true)"} |
31 | </a> | 44 | </a> |
32 | {/if} | 45 | {/if} |
33 | </div> | 46 | </div> |
34 | <div class="daily-desc pure-u-lg-1-3 pure-u-1 center"> | 47 | <div class="daily-desc pure-u-lg-1-3 pure-u-1 center"> |
35 | {'All links of one day in a single page.'|t} | 48 | {function="t('All links of one :type in a single page.', '', 1, 'shaarli', [':type' => t($type)])"} |
36 | </div> | 49 | </div> |
37 | <div class="pure-u-lg-1-3 pure-u-1 center"> | 50 | <div class="pure-u-lg-1-3 pure-u-1 center"> |
38 | {if="$nextday"} | 51 | {if="$nextday"} |
39 | <a href="?do=daily&day={$nextday}"> | 52 | <a href="{$base_path}/daily?{$type}={$nextday}"> |
40 | {'Next day'|t} | 53 | {function="t('Next :type', '', 1, 'shaarli', [':type' => t($type)], true)"} |
41 | <i class="fa fa-arrow-right"></i> | 54 | <i class="fa fa-arrow-right"></i> |
42 | </a> | 55 | </a> |
43 | {/if} | 56 | {/if} |
@@ -45,10 +58,7 @@ | |||
45 | </div> | 58 | </div> |
46 | <div> | 59 | <div> |
47 | <h3 class="window-subtitle"> | 60 | <h3 class="window-subtitle"> |
48 | {if="!empty($dayDesc)"} | 61 | {$dayDesc} |
49 | {$dayDesc} - | ||
50 | {/if} | ||
51 | {function="format_date($dayDate, false)"} | ||
52 | </h3> | 62 | </h3> |
53 | 63 | ||
54 | <div id="plugin_zone_about_daily" class="plugin_zone"> | 64 | <div id="plugin_zone_about_daily" class="plugin_zone"> |
@@ -69,14 +79,14 @@ | |||
69 | {$link=$value} | 79 | {$link=$value} |
70 | <div class="daily-entry"> | 80 | <div class="daily-entry"> |
71 | <div class="daily-entry-title center"> | 81 | <div class="daily-entry-title center"> |
72 | <a href="?{$link.shorturl}" title="{'Permalink'|t}"> | 82 | <a href="{$base_path}/?{$link.shorturl}" title="{'Permalink'|t}"> |
73 | <i class="fa fa-link"></i> | 83 | <i class="fa fa-link"></i> |
74 | </a> | 84 | </a> |
75 | <a href="{$link.real_url}">{$link.title}</a> | 85 | <a href="{$link.real_url}">{$link.title}</a> |
76 | </div> | 86 | </div> |
77 | {if="$thumbnails_enabled && !empty($link.thumbnail)"} | 87 | {if="$thumbnails_enabled && !empty($link.thumbnail)"} |
78 | <div class="daily-entry-thumbnail"> | 88 | <div class="daily-entry-thumbnail"> |
79 | <img data-src="{$link.thumbnail}#" class="b-lazy" | 89 | <img data-src="{$root_path}/{$link.thumbnail}#" class="b-lazy" |
80 | src="" | 90 | src="" |
81 | alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" /> | 91 | alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" /> |
82 | </div> | 92 | </div> |
@@ -85,7 +95,7 @@ | |||
85 | {if="$link.tags"} | 95 | {if="$link.tags"} |
86 | <div class="daily-entry-tags center"> | 96 | <div class="daily-entry-tags center"> |
87 | {loop="link.taglist"} | 97 | {loop="link.taglist"} |
88 | <span class="label label-tag" title="Add tag"> | 98 | <span class="label label-tag"> |
89 | {$value} | 99 | {$value} |
90 | </span> | 100 | </span> |
91 | {/loop} | 101 | {/loop} |
@@ -116,7 +126,7 @@ | |||
116 | </div> | 126 | </div> |
117 | </div> | 127 | </div> |
118 | {include="page.footer"} | 128 | {include="page.footer"} |
119 | <script src="js/thumbnails.min.js?v={$version_hash}"></script> | 129 | <script src="{$asset_path}/js/thumbnails.min.js?v={$version_hash}#"></script> |
120 | </body> | 130 | </body> |
121 | </html> | 131 | </html> |
122 | 132 | ||
diff --git a/tpl/default/dailyrss.html b/tpl/default/dailyrss.html index f589b06e..871a3ba7 100644 --- a/tpl/default/dailyrss.html +++ b/tpl/default/dailyrss.html | |||
@@ -1,16 +1,35 @@ | |||
1 | <item> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <title>{$title} - {function="strftime('%A %e %B %Y', $daydate)"}</title> | 2 | <rss version="2.0"> |
3 | <guid>{$absurl}</guid> | 3 | <channel> |
4 | <link>{$absurl}</link> | 4 | <title>{$localizedType} - {$title}</title> |
5 | <pubDate>{$rssdate}</pubDate> | 5 | <link>{$index_url}</link> |
6 | <description><![CDATA[ | 6 | <description>{function="t('All links of one :type in a single page.', '', 1, 'shaarli', [':type' => t($type)])"}</description> |
7 | {loop="links"} | 7 | <language>{$language}</language> |
8 | <h3><a href="{$value.url}">{$value.title}</a></h3> | 8 | <copyright>{$index_url}</copyright> |
9 | <small>{if="!$hide_timestamps"}{function="strftime('%c', $value.timestamp)"} - {/if}{if="$value.tags"}{$value.tags}{/if}<br> | 9 | <generator>Shaarli</generator> |
10 | {$value.url}</small><br> | 10 | |
11 | {if="$value.thumbnail"}<img src="{$index_url}{$value.thumbnail}#" alt="thumbnail" />{/if}<br> | 11 | {loop="$days"} |
12 | {if="$value.description"}{$value.formatedDescription}{/if} | 12 | <item> |
13 | <br><br><hr> | 13 | <title>{$value.date_human} - {$title}</title> |
14 | {/loop} | 14 | <guid>{$value.absolute_url}</guid> |
15 | ]]></description> | 15 | <link>{$value.absolute_url}</link> |
16 | </item> | 16 | <pubDate>{$value.date_rss}</pubDate> |
17 | <description><![CDATA[ | ||
18 | {loop="$value.links"} | ||
19 | <h3><a href="{$value.url}">{$value.title}</a></h3> | ||
20 | <small> | ||
21 | {if="!$hide_timestamps"}{$value.created|format_date} — {/if} | ||
22 | <a href="{$index_url}shaare/{$value.shorturl}">{'Permalink'|t}</a> | ||
23 | {if="$value.tags"} — {$value.tags}{/if} | ||
24 | <br> | ||
25 | {$value.url} | ||
26 | </small><br> | ||
27 | {if="$value.thumbnail"}<img src="{$index_url}{$value.thumbnail}#" alt="thumbnail" />{/if}<br> | ||
28 | {if="$value.description"}{$value.description}{/if} | ||
29 | <br><hr> | ||
30 | {/loop} | ||
31 | ]]></description> | ||
32 | </item> | ||
33 | {/loop} | ||
34 | </channel> | ||
35 | </rss><!-- Cached version of {$page_url} --> | ||
diff --git a/tpl/default/editlink.batch.html b/tpl/default/editlink.batch.html new file mode 100644 index 00000000..b1f8e5bd --- /dev/null +++ b/tpl/default/editlink.batch.html | |||
@@ -0,0 +1,32 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html{if="$language !== 'auto'"} lang="{$language}"{/if}> | ||
3 | <head> | ||
4 | {include="includes"} | ||
5 | </head> | ||
6 | <body> | ||
7 | <div class="dark-layer"> | ||
8 | <div class="screen-center"> | ||
9 | <div><span class="progressbar-current"></span> / <span class="progressbar-max"></span></div> | ||
10 | <div class="progressbar"> | ||
11 | <div></div> | ||
12 | </div> | ||
13 | </div> | ||
14 | </div> | ||
15 | |||
16 | {include="page.header"} | ||
17 | |||
18 | <div class="center"> | ||
19 | <input type="submit" name="save_edit_batch" class="pure-button-shaarli" value="{'Save all'|t}"> | ||
20 | </div> | ||
21 | |||
22 | {loop="$links"} | ||
23 | {include="editlink"} | ||
24 | {/loop} | ||
25 | |||
26 | <div class="center"> | ||
27 | <input type="submit" name="save_edit_batch" class="pure-button-shaarli" value="{'Save all'|t}"> | ||
28 | </div> | ||
29 | |||
30 | {include="page.footer"} | ||
31 | {if="$async_metadata"}<script src="{$asset_path}/js/metadata.min.js?v={$version_hash}#"></script>{/if} | ||
32 | <script src="{$asset_path}/js/shaare_batch.min.js?v={$version_hash}#"></script> | ||
diff --git a/tpl/default/editlink.html b/tpl/default/editlink.html index d16059a3..83e541fd 100644 --- a/tpl/default/editlink.html +++ b/tpl/default/editlink.html | |||
@@ -1,3 +1,4 @@ | |||
1 | {if="empty($batch_mode)"} | ||
1 | <!DOCTYPE html> | 2 | <!DOCTYPE html> |
2 | <html{if="$language !== 'auto'"} lang="{$language}"{/if}> | 3 | <html{if="$language !== 'auto'"} lang="{$language}"{/if}> |
3 | <head> | 4 | <head> |
@@ -5,9 +6,19 @@ | |||
5 | </head> | 6 | </head> |
6 | <body> | 7 | <body> |
7 | {include="page.header"} | 8 | {include="page.header"} |
9 | {else} | ||
10 | {ignore}Lil hack: when included in a loop in batch mode, `$value` is assigned by RainTPL with template vars.{/ignore} | ||
11 | {function="extract($value) ? '' : ''"} | ||
12 | {/if} | ||
8 | <div id="editlinkform" class="edit-link-container" class="pure-g"> | 13 | <div id="editlinkform" class="edit-link-container" class="pure-g"> |
9 | <div class="pure-u-lg-1-5 pure-u-1-24"></div> | 14 | <div class="pure-u-lg-1-5 pure-u-1-24"></div> |
10 | <form method="post" name="linkform" class="page-form pure-u-lg-3-5 pure-u-22-24 page-form page-form-light"> | 15 | <form method="post" |
16 | name="linkform" | ||
17 | action="{$base_path}/admin/shaare" | ||
18 | class="page-form pure-u-lg-3-5 pure-u-22-24 page-form page-form-light" | ||
19 | > | ||
20 | {$asyncLoadClass=$link_is_new && $async_metadata && empty($link.title) ? 'loading-input' : ''} | ||
21 | |||
11 | <h2 class="window-title"> | 22 | <h2 class="window-title"> |
12 | {if="!$link_is_new"}{'Edit Shaare'|t}{else}{'New Shaare'|t}{/if} | 23 | {if="!$link_is_new"}{'Edit Shaare'|t}{else}{'New Shaare'|t}{/if} |
13 | </h2> | 24 | </h2> |
@@ -24,26 +35,37 @@ | |||
24 | <div> | 35 | <div> |
25 | <label for="lf_title">{'Title'|t}</label> | 36 | <label for="lf_title">{'Title'|t}</label> |
26 | </div> | 37 | </div> |
27 | <div> | 38 | <div class="{$asyncLoadClass}"> |
28 | <input type="text" name="lf_title" id="lf_title" value="{$link.title}" class="lf_input autofocus"> | 39 | <input type="text" name="lf_title" id="lf_title" value="{$link.title}" |
40 | class="lf_input {if="!$async_metadata"}autofocus{/if}" | ||
41 | > | ||
42 | <div class="icon-container"> | ||
43 | <i class="loader"></i> | ||
44 | </div> | ||
29 | </div> | 45 | </div> |
30 | <div> | 46 | <div> |
31 | <label for="lf_description">{'Description'|t}</label> | 47 | <label for="lf_description">{'Description'|t}</label> |
32 | </div> | 48 | </div> |
33 | <div> | 49 | <div class="{if="$retrieve_description"}{$asyncLoadClass}{/if}"> |
34 | <textarea name="lf_description" id="lf_description" class="autofocus">{$link.description}</textarea> | 50 | <textarea name="lf_description" id="lf_description" class="autofocus">{$link.description}</textarea> |
51 | <div class="icon-container"> | ||
52 | <i class="loader"></i> | ||
53 | </div> | ||
35 | </div> | 54 | </div> |
36 | <div> | 55 | <div> |
37 | <label for="lf_tags">{'Tags'|t}</label> | 56 | <label for="lf_tags">{'Tags'|t}</label> |
38 | </div> | 57 | </div> |
39 | <div> | 58 | <div class="{if="$retrieve_description"}{$asyncLoadClass}{/if}"> |
40 | <input type="text" name="lf_tags" id="lf_tags" value="{$link.tags}" class="lf_input autofocus" | 59 | <input type="text" name="lf_tags" id="lf_tags" value="{$link.tags}" class="lf_input autofocus" |
41 | data-list="{loop="$tags"}{$key}, {/loop}" data-multiple data-autofirst autocomplete="off" > | 60 | data-list="{loop="$tags"}{$key}, {/loop}" data-multiple data-autofirst autocomplete="off" > |
61 | <div class="icon-container"> | ||
62 | <i class="loader"></i> | ||
63 | </div> | ||
42 | </div> | 64 | </div> |
43 | 65 | ||
44 | <div> | 66 | <div> |
45 | <input type="checkbox" name="lf_private" id="lf_private" | 67 | <input type="checkbox" name="lf_private" id="lf_private" |
46 | {if="($link_is_new && $default_private_links || $link.private == true)"} | 68 | {if="$link.private === true"} |
47 | checked="checked" | 69 | checked="checked" |
48 | {/if}> | 70 | {/if}> |
49 | <label for="lf_private">{'Private'|t}</label> | 71 | <label for="lf_private">{'Private'|t}</label> |
@@ -66,10 +88,17 @@ | |||
66 | 88 | ||
67 | 89 | ||
68 | <div class="submit-buttons center"> | 90 | <div class="submit-buttons center"> |
91 | {if="!empty($batch_mode)"} | ||
92 | <a href="#" class="button button-grey" name="cancel-batch-link" | ||
93 | title="{'Remove this bookmark from batch creation/modification.'}" | ||
94 | > | ||
95 | {'Cancel'|t} | ||
96 | </a> | ||
97 | {/if} | ||
69 | <input type="submit" name="save_edit" class="" id="button-save-edit" | 98 | <input type="submit" name="save_edit" class="" id="button-save-edit" |
70 | value="{if="$link_is_new"}{'Save'|t}{else}{'Apply Changes'|t}{/if}"> | 99 | value="{if="$link_is_new"}{'Save'|t}{else}{'Apply Changes'|t}{/if}"> |
71 | {if="!$link_is_new"} | 100 | {if="!$link_is_new"} |
72 | <a href="?delete_link&lf_linkdate={$link.id}&token={$token}" | 101 | <a href="{$base_path}/admin/shaare/delete?id={$link.id}&token={$token}" |
73 | title="" name="delete_link" class="button button-red confirm-delete"> | 102 | title="" name="delete_link" class="button button-red confirm-delete"> |
74 | {'Delete'|t} | 103 | {'Delete'|t} |
75 | </a> | 104 | </a> |
@@ -77,11 +106,16 @@ | |||
77 | </div> | 106 | </div> |
78 | 107 | ||
79 | <input type="hidden" name="token" value="{$token}"> | 108 | <input type="hidden" name="token" value="{$token}"> |
109 | <input type="hidden" name="source" value="{$source}"> | ||
80 | {if="$http_referer"} | 110 | {if="$http_referer"} |
81 | <input type="hidden" name="returnurl" value="{$http_referer}"> | 111 | <input type="hidden" name="returnurl" value="{$http_referer}"> |
82 | {/if} | 112 | {/if} |
83 | </form> | 113 | </form> |
84 | </div> | 114 | </div> |
115 | |||
116 | {if="empty($batch_mode)"} | ||
85 | {include="page.footer"} | 117 | {include="page.footer"} |
118 | {if="$link_is_new && $async_metadata"}<script src="{$asset_path}/js/metadata.min.js?v={$version_hash}#"></script>{/if} | ||
86 | </body> | 119 | </body> |
87 | </html> | 120 | </html> |
121 | {/if} | ||
diff --git a/tpl/default/error.html b/tpl/default/error.html index ef1dfd73..c3e0c3c1 100644 --- a/tpl/default/error.html +++ b/tpl/default/error.html | |||
@@ -15,7 +15,7 @@ | |||
15 | </pre> | 15 | </pre> |
16 | {/if} | 16 | {/if} |
17 | 17 | ||
18 | <img src="img/sad_star.png" alt=""> | 18 | <img src="{$asset_path}/img/sad_star.png#" alt=""> |
19 | </div> | 19 | </div> |
20 | {include="page.footer"} | 20 | {include="page.footer"} |
21 | </body> | 21 | </body> |
diff --git a/tpl/default/export.html b/tpl/default/export.html index 99c01b11..c9c92943 100644 --- a/tpl/default/export.html +++ b/tpl/default/export.html | |||
@@ -6,14 +6,13 @@ | |||
6 | <body> | 6 | <body> |
7 | {include="page.header"} | 7 | {include="page.header"} |
8 | 8 | ||
9 | <form method="GET" action="#" name="exportform" id="exportform"> | 9 | <form method="POST" action="{$base_path}/admin/export" name="exportform" id="exportform"> |
10 | <div class="pure-g"> | 10 | <div class="pure-g"> |
11 | <div class="pure-u-lg-1-4 pure-u-1-24"></div> | 11 | <div class="pure-u-lg-1-4 pure-u-1-24"></div> |
12 | <div class="pure-u-lg-1-2 pure-u-22-24 page-form page-form-complete"> | 12 | <div class="pure-u-lg-1-2 pure-u-22-24 page-form page-form-complete"> |
13 | <div> | 13 | <div> |
14 | <h2 class="window-title">{"Export Database"|t}</h2> | 14 | <h2 class="window-title">{"Export Database"|t}</h2> |
15 | </div> | 15 | </div> |
16 | <input type="hidden" name="do" value="export"> | ||
17 | <input type="hidden" name="token" value="{$token}"> | 16 | <input type="hidden" name="token" value="{$token}"> |
18 | 17 | ||
19 | <div class="pure-g"> | 18 | <div class="pure-g"> |
diff --git a/tpl/default/feed.atom.html b/tpl/default/feed.atom.html index bcfa7012..dd58bd1e 100644 --- a/tpl/default/feed.atom.html +++ b/tpl/default/feed.atom.html | |||
@@ -6,6 +6,8 @@ | |||
6 | <updated>{$last_update}</updated> | 6 | <updated>{$last_update}</updated> |
7 | {/if} | 7 | {/if} |
8 | <link rel="self" href="{$self_link}#" /> | 8 | <link rel="self" href="{$self_link}#" /> |
9 | <link rel="search" type="application/opensearchdescription+xml" href="{$index_url}open-search#" | ||
10 | title="Shaarli search - {$shaarlititle}" /> | ||
9 | {loop="$plugins_feed_header"} | 11 | {loop="$plugins_feed_header"} |
10 | {$value} | 12 | {$value} |
11 | {/loop} | 13 | {/loop} |
diff --git a/tpl/default/feed.rss.html b/tpl/default/feed.rss.html index 66d9a869..85cec7f3 100644 --- a/tpl/default/feed.rss.html +++ b/tpl/default/feed.rss.html | |||
@@ -7,7 +7,9 @@ | |||
7 | <language>{$language}</language> | 7 | <language>{$language}</language> |
8 | <copyright>{$index_url}</copyright> | 8 | <copyright>{$index_url}</copyright> |
9 | <generator>Shaarli</generator> | 9 | <generator>Shaarli</generator> |
10 | <atom:link rel="self" href="{$self_link}" /> | 10 | <atom:link rel="self" href="{$self_link}" /> |
11 | <atom:link rel="search" type="application/opensearchdescription+xml" href="{$index_url}open-search#" | ||
12 | title="Shaarli search - {$shaarlititle}" /> | ||
11 | {loop="$plugins_feed_header"} | 13 | {loop="$plugins_feed_header"} |
12 | {$value} | 14 | {$value} |
13 | {/loop} | 15 | {/loop} |
diff --git a/tpl/default/import.html b/tpl/default/import.html index c41afcdb..156de71f 100644 --- a/tpl/default/import.html +++ b/tpl/default/import.html | |||
@@ -6,7 +6,7 @@ | |||
6 | <body> | 6 | <body> |
7 | {include="page.header"} | 7 | {include="page.header"} |
8 | 8 | ||
9 | <form method="POST" action="?do=import" enctype="multipart/form-data" name="uploadform" id="uploadform"> | 9 | <form method="POST" action="{$base_path}/admin/import" enctype="multipart/form-data" name="uploadform" id="uploadform"> |
10 | <div class="pure-g"> | 10 | <div class="pure-g"> |
11 | <div class="pure-u-lg-1-4 pure-u-1-24"></div> | 11 | <div class="pure-u-lg-1-4 pure-u-1-24"></div> |
12 | <div class="pure-u-lg-1-2 pure-u-22-24 page-form page-form-complete"> | 12 | <div class="pure-u-lg-1-2 pure-u-22-24 page-form page-form-complete"> |
diff --git a/tpl/default/includes.html b/tpl/default/includes.html index 3820a4f7..3e3fb664 100644 --- a/tpl/default/includes.html +++ b/tpl/default/includes.html | |||
@@ -3,21 +3,22 @@ | |||
3 | <meta name="format-detection" content="telephone=no" /> | 3 | <meta name="format-detection" content="telephone=no" /> |
4 | <meta name="viewport" content="width=device-width, initial-scale=1"> | 4 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
5 | <meta name="referrer" content="same-origin"> | 5 | <meta name="referrer" content="same-origin"> |
6 | <link rel="alternate" type="application/atom+xml" href="{$feedurl}?do=atom{$searchcrits}#" title="ATOM Feed" /> | 6 | <link rel="alternate" type="application/atom+xml" href="{$feedurl}feed/atom?{$searchcrits}#" title="ATOM Feed" /> |
7 | <link rel="alternate" type="application/rss+xml" href="{$feedurl}?do=rss{$searchcrits}#" title="RSS Feed" /> | 7 | <link rel="alternate" type="application/rss+xml" href="{$feedurl}feed/rss?{$searchcrits}#" title="RSS Feed" /> |
8 | <link href="img/favicon.png" rel="shortcut icon" type="image/png" /> | 8 | <link href="{$asset_path}/img/favicon.png#" rel="shortcut icon" type="image/png" /> |
9 | <link href="img/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180" /> | 9 | <link href="{$asset_path}/img/apple-touch-icon.png#" rel="apple-touch-icon" sizes="180x180" /> |
10 | <link type="text/css" rel="stylesheet" href="css/shaarli.min.css?v={$version_hash}" /> | 10 | <link type="text/css" rel="stylesheet" href="{$asset_path}/css/shaarli.min.css?v={$version_hash}#" /> |
11 | {if="$formatter==='markdown'"} | 11 | {if="strpos($formatter, 'markdown') !== false"} |
12 | <link type="text/css" rel="stylesheet" href="css/markdown.min.css?v={$version_hash}" /> | 12 | <link type="text/css" rel="stylesheet" href="{$asset_path}/css/markdown.min.css?v={$version_hash}#" /> |
13 | {/if} | 13 | {/if} |
14 | {loop="$plugins_includes.css_files"} | 14 | {loop="$plugins_includes.css_files"} |
15 | <link type="text/css" rel="stylesheet" href="{$value}?v={$version_hash}#"/> | 15 | <link type="text/css" rel="stylesheet" href="{$root_path}/{$value}?v={$version_hash}#"/> |
16 | {/loop} | 16 | {/loop} |
17 | {if="is_file('data/user.css')"} | 17 | {if="is_file('data/user.css')"} |
18 | <link type="text/css" rel="stylesheet" href="data/user.css#" /> | 18 | <link type="text/css" rel="stylesheet" href="{$root_path}/data/user.css#" /> |
19 | {/if} | 19 | {/if} |
20 | <link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle}"/> | 20 | <link rel="search" type="application/opensearchdescription+xml" href="{$base_path}/open-search#" |
21 | title="Shaarli search - {$shaarlititle}" /> | ||
21 | {if="! empty($links) && count($links) === 1"} | 22 | {if="! empty($links) && count($links) === 1"} |
22 | {$link=reset($links)} | 23 | {$link=reset($links)} |
23 | <meta property="og:title" content="{$link.title}" /> | 24 | <meta property="og:title" content="{$link.title}" /> |
diff --git a/tpl/default/install.html b/tpl/default/install.html index c6f501f0..4f98d49d 100644 --- a/tpl/default/install.html +++ b/tpl/default/install.html | |||
@@ -10,7 +10,7 @@ | |||
10 | {$ratioLabelMobile='7-8'} | 10 | {$ratioLabelMobile='7-8'} |
11 | {$ratioInputMobile='1-8'} | 11 | {$ratioInputMobile='1-8'} |
12 | 12 | ||
13 | <form method="POST" action="#" name="installform" id="installform"> | 13 | <form method="POST" action="{$base_path}/install" name="installform" id="installform"> |
14 | <div class="pure-g"> | 14 | <div class="pure-g"> |
15 | <div class="pure-u-lg-1-6 pure-u-1-24"></div> | 15 | <div class="pure-u-lg-1-6 pure-u-1-24"></div> |
16 | <div class="pure-u-lg-2-3 pure-u-22-24 page-form page-form-complete"> | 16 | <div class="pure-u-lg-2-3 pure-u-22-24 page-form page-form-complete"> |
@@ -163,6 +163,16 @@ | |||
163 | </div> | 163 | </div> |
164 | </div> | 164 | </div> |
165 | </form> | 165 | </form> |
166 | |||
167 | <div class="pure-g"> | ||
168 | <div class="pure-u-lg-1-6 pure-u-1-24"></div> | ||
169 | <div class="pure-u-lg-2-3 pure-u-22-24 page-form page-form-complete"> | ||
170 | <h2 class="window-title">{'Server requirements'|t}</h2> | ||
171 | |||
172 | {include="server.requirements"} | ||
173 | </div> | ||
174 | </div> | ||
175 | |||
166 | {include="page.footer"} | 176 | {include="page.footer"} |
167 | </body> | 177 | </body> |
168 | </html> | 178 | </html> |
diff --git a/tpl/default/linklist.html b/tpl/default/linklist.html index ffc236c7..e1115d49 100644 --- a/tpl/default/linklist.html +++ b/tpl/default/linklist.html | |||
@@ -94,7 +94,9 @@ | |||
94 | {'tagged'|t} | 94 | {'tagged'|t} |
95 | {loop="$exploded_tags"} | 95 | {loop="$exploded_tags"} |
96 | <span class="label label-tag" title="{'Remove tag'|t}"> | 96 | <span class="label label-tag" title="{'Remove tag'|t}"> |
97 | <a href="?removetag={function="urlencode($value)"}" aria-label="{'Remove tag'|t}">{$value}<span class="remove"><i class="fa fa-times" aria-hidden="true"></i></span></a> | 97 | <a href="{$base_path}/remove-tag/{function="$search_tags_url.$key1"}" aria-label="{'Remove tag'|t}"> |
98 | {$value}<span class="remove"><i class="fa fa-times" aria-hidden="true"></i></span> | ||
99 | </a> | ||
98 | </span> | 100 | </span> |
99 | {/loop} | 101 | {/loop} |
100 | {/if} | 102 | {/if} |
@@ -127,18 +129,23 @@ | |||
127 | {$strAddTag=t('Add tag')} | 129 | {$strAddTag=t('Add tag')} |
128 | {$strToggleSticky=t('Toggle sticky')} | 130 | {$strToggleSticky=t('Toggle sticky')} |
129 | {$strSticky=t('Sticky')} | 131 | {$strSticky=t('Sticky')} |
132 | {$strShaarePrivate=t('Share a private link')} | ||
130 | {ignore}End of translations{/ignore} | 133 | {ignore}End of translations{/ignore} |
131 | {loop="links"} | 134 | {loop="links"} |
132 | <div class="anchor" id="{$value.shorturl}"></div> | 135 | <div class="anchor" id="{$value.shorturl}"></div> |
133 | 136 | ||
134 | <div class="linklist-item linklist-item{if="$value.class"} {$value.class}{/if}" data-id="{$value.id}"> | 137 | <div class="linklist-item linklist-item{if="$value.class"} {$value.class}{/if}" data-id="{$value.id}"> |
135 | <div class="linklist-item-title"> | 138 | <div class="linklist-item-title"> |
136 | {if="$thumbnails_enabled && !empty($value.thumbnail)"} | 139 | {if="$thumbnails_enabled && $value.thumbnail !== false"} |
137 | <div class="linklist-item-thumbnail" style="width:{$thumbnails_width}px;height:{$thumbnails_height}px;"> | 140 | <div |
141 | class="linklist-item-thumbnail {if="$value.thumbnail === null"}hidden{/if}" | ||
142 | style="width:{$thumbnails_width}px;height:{$thumbnails_height}px;" | ||
143 | {if="$value.thumbnail === null"}data-async-thumbnail="1"{/if} | ||
144 | > | ||
138 | <div class="thumbnail"> | 145 | <div class="thumbnail"> |
139 | {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore} | 146 | {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore} |
140 | <a href="{$value.real_url}" aria-hidden="true" tabindex="-1"> | 147 | <a href="{$value.real_url}" aria-hidden="true" tabindex="-1"> |
141 | <img data-src="{$value.thumbnail}#" class="b-lazy" | 148 | <img data-src="{$root_path}/{$value.thumbnail}#" class="b-lazy" |
142 | src="" | 149 | src="" |
143 | alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" /> | 150 | alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" /> |
144 | </a> | 151 | </a> |
@@ -156,14 +163,14 @@ | |||
156 | </div> | 163 | </div> |
157 | 164 | ||
158 | <h2> | 165 | <h2> |
159 | <a href="{$value.real_url}"> | 166 | <a href="{$value.real_url}" class="linklist-real-url"> |
160 | {if="strpos($value.url, $value.shorturl) === false"} | 167 | {if="strpos($value.url, $value.shorturl) === false"} |
161 | <i class="fa fa-external-link" aria-hidden="true"></i> | 168 | <i class="fa fa-external-link" aria-hidden="true"></i> |
162 | {else} | 169 | {else} |
163 | <i class="fa fa-sticky-note" aria-hidden="true"></i> | 170 | <i class="fa fa-sticky-note" aria-hidden="true"></i> |
164 | {/if} | 171 | {/if} |
165 | 172 | ||
166 | <span class="linklist-link">{$value.title}</span> | 173 | <span class="linklist-link">{$value.title_html}</span> |
167 | </a> | 174 | </a> |
168 | </h2> | 175 | </h2> |
169 | </div> | 176 | </div> |
@@ -181,7 +188,7 @@ | |||
181 | {$tag_counter=count($value.taglist)} | 188 | {$tag_counter=count($value.taglist)} |
182 | {loop="value.taglist"} | 189 | {loop="value.taglist"} |
183 | <span class="label label-tag" title="{$strAddTag}"> | 190 | <span class="label label-tag" title="{$strAddTag}"> |
184 | <a href="?addtag={$value|urlencode}">{$value}</a> | 191 | <a href="{$base_path}/add-tag/{$value1.taglist_urlencoded.$key2}">{$value1.taglist_html.$key2}</a> |
185 | </span> | 192 | </span> |
186 | {if="$tag_counter - 1 != $counter"}·{/if} | 193 | {if="$tag_counter - 1 != $counter"}·{/if} |
187 | {/loop} | 194 | {/loop} |
@@ -196,16 +203,16 @@ | |||
196 | <input type="checkbox" class="link-checkbox" value="{$value.id}"> | 203 | <input type="checkbox" class="link-checkbox" value="{$value.id}"> |
197 | </span> | 204 | </span> |
198 | <span class="linklist-item-infos-controls-item ctrl-edit"> | 205 | <span class="linklist-item-infos-controls-item ctrl-edit"> |
199 | <a href="?edit_link={$value.id}" aria-label="{$strEdit}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link" aria-hidden="true"></i></a> | 206 | <a href="{$base_path}/admin/shaare/{$value.id}" aria-label="{$strEdit}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link" aria-hidden="true"></i></a> |
200 | </span> | 207 | </span> |
201 | <span class="linklist-item-infos-controls-item ctrl-delete"> | 208 | <span class="linklist-item-infos-controls-item ctrl-delete"> |
202 | <a href="?delete_link&lf_linkdate={$value.id}&token={$token}" aria-label="{$strDelete}" | 209 | <a href="{$base_path}/admin/shaare/delete?id={$value.id}&token={$token}" aria-label="{$strDelete}" |
203 | title="{$strDelete}" class="delete-link pure-u-0 pure-u-lg-visible confirm-delete"> | 210 | title="{$strDelete}" class="delete-link pure-u-0 pure-u-lg-visible confirm-delete"> |
204 | <i class="fa fa-trash" aria-hidden="true"></i> | 211 | <i class="fa fa-trash" aria-hidden="true"></i> |
205 | </a> | 212 | </a> |
206 | </span> | 213 | </span> |
207 | <span class="linklist-item-infos-controls-item ctrl-pin"> | 214 | <span class="linklist-item-infos-controls-item ctrl-pin"> |
208 | <a href="?do=pin&id={$value.id}&token={$token}" | 215 | <a href="{$base_path}/admin/shaare/{$value.id}/pin?token={$token}" |
209 | title="{$strToggleSticky}" aria-label="{$strToggleSticky}" class="pin-link {if="$value.sticky"}pinned-link{/if} pure-u-0 pure-u-lg-visible"> | 216 | title="{$strToggleSticky}" aria-label="{$strToggleSticky}" class="pin-link {if="$value.sticky"}pinned-link{/if} pure-u-0 pure-u-lg-visible"> |
210 | <i class="fa fa-thumb-tack" aria-hidden="true"></i> | 217 | <i class="fa fa-thumb-tack" aria-hidden="true"></i> |
211 | </a> | 218 | </a> |
@@ -222,7 +229,7 @@ | |||
222 | </div> | 229 | </div> |
223 | {/if} | 230 | {/if} |
224 | {/if} | 231 | {/if} |
225 | <a href="?{$value.shorturl}" title="{$strPermalink}"> | 232 | <a href="{$base_path}/shaare/{$value.shorturl}" title="{$strPermalink}"> |
226 | {if="!$hide_timestamps || $is_logged_in"} | 233 | {if="!$hide_timestamps || $is_logged_in"} |
227 | {$updated=$value.updated_timestamp ? $strEdited. format_date($value.updated) : $strPermalink} | 234 | {$updated=$value.updated_timestamp ? $strEdited. format_date($value.updated) : $strPermalink} |
228 | <span class="linkdate" title="{$updated}"> | 235 | <span class="linkdate" title="{$updated}"> |
@@ -235,6 +242,12 @@ | |||
235 | {$strPermalinkLc} | 242 | {$strPermalinkLc} |
236 | </a> | 243 | </a> |
237 | 244 | ||
245 | {if="$is_logged_in && $value.private"} | ||
246 | <a href="{$base_path}/admin/shaare/private/{$value.shorturl}?token={$token}" title="{$strShaarePrivate}"> | ||
247 | <i class="fa fa-share-alt"></i> | ||
248 | </a> | ||
249 | {/if} | ||
250 | |||
238 | <div class="pure-u-0 pure-u-lg-visible"> | 251 | <div class="pure-u-0 pure-u-lg-visible"> |
239 | {if="isset($value.link_plugin)"} | 252 | {if="isset($value.link_plugin)"} |
240 | · | 253 | · |
@@ -249,7 +262,7 @@ | |||
249 | {ignore}do not add space or line break between these div - Firefox issue{/ignore} | 262 | {ignore}do not add space or line break between these div - Firefox issue{/ignore} |
250 | class="linklist-item-infos-url pure-u-lg-5-12 pure-u-1"> | 263 | class="linklist-item-infos-url pure-u-lg-5-12 pure-u-1"> |
251 | <a href="{$value.real_url}" aria-label="{$value.title}" title="{$value.title}"> | 264 | <a href="{$value.real_url}" aria-label="{$value.title}" title="{$value.title}"> |
252 | <i class="fa fa-link" aria-hidden="true"></i> {$value.url} | 265 | <i class="fa fa-link" aria-hidden="true"></i> {$value.url_html} |
253 | </a> | 266 | </a> |
254 | <div class="linklist-item-buttons pure-u-0 pure-u-lg-visible"> | 267 | <div class="linklist-item-buttons pure-u-0 pure-u-lg-visible"> |
255 | <a href="#" aria-label="{$strFold}" title="{$strFold}" class="fold-button"><i class="fa fa-chevron-up" aria-hidden="true"></i></a> | 268 | <a href="#" aria-label="{$strFold}" title="{$strFold}" class="fold-button"><i class="fa fa-chevron-up" aria-hidden="true"></i></a> |
@@ -265,12 +278,22 @@ | |||
265 | {/if} | 278 | {/if} |
266 | {if="$is_logged_in"} | 279 | {if="$is_logged_in"} |
267 | · | 280 | · |
268 | <a href="?delete_link&lf_linkdate={$value.id}&token={$token}" aria-label="{$strDelete}" | 281 | <a href="{$base_path}/admin/shaare/delete?id={$value.id}&token={$token}" aria-label="{$strDelete}" |
269 | title="{$strDelete}" class="delete-link confirm-delete"> | 282 | title="{$strDelete}" class="delete-link confirm-delete"> |
270 | <i class="fa fa-trash" aria-hidden="true"></i> | 283 | <i class="fa fa-trash" aria-hidden="true"></i> |
271 | </a> | 284 | </a> |
272 | · | 285 | · |
273 | <a href="?edit_link={$value.id}" aria-label="{$strEdit}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link" aria-hidden="true"></i></a> | 286 | <a href="{$base_path}/admin/shaare/{$value.id}" aria-label="{$strEdit}" title="{$strEdit}"> |
287 | <i class="fa fa-pencil-square-o edit-link" aria-hidden="true"></i> | ||
288 | </a> | ||
289 | · | ||
290 | <a href="{$base_path}/admin/shaare/{$value.id}/pin?token={$token}" | ||
291 | aria-label="{$strToggleSticky}" | ||
292 | title="{$strToggleSticky}" | ||
293 | class="pin-link {if="$value.sticky"}pinned-link{/if}" | ||
294 | > | ||
295 | <i class="fa fa-thumb-tack" aria-hidden="true"></i> | ||
296 | </a> | ||
274 | {/if} | 297 | {/if} |
275 | </div> | 298 | </div> |
276 | </div> | 299 | </div> |
@@ -295,6 +318,7 @@ | |||
295 | </div> | 318 | </div> |
296 | 319 | ||
297 | {include="page.footer"} | 320 | {include="page.footer"} |
298 | <script src="js/thumbnails.min.js?v={$version_hash}"></script> | 321 | <script src="{$asset_path}/js/thumbnails.min.js?v={$version_hash}#"></script> |
322 | {if="$is_logged_in && $async_metadata"}<script src="{$asset_path}/js/metadata.min.js?v={$version_hash}#"></script>{/if} | ||
299 | </body> | 323 | </body> |
300 | </html> | 324 | </html> |
diff --git a/tpl/default/linklist.paging.html b/tpl/default/linklist.paging.html index 68947f92..aa637868 100644 --- a/tpl/default/linklist.paging.html +++ b/tpl/default/linklist.paging.html | |||
@@ -1,27 +1,29 @@ | |||
1 | <div class="linklist-paging"> | 1 | <div class="linklist-paging"> |
2 | <div class="paging pure-g"> | 2 | <div class="paging pure-g"> |
3 | <div class="linklist-filters pure-u-1-3"> | 3 | <div class="linklist-filters pure-u-1-3"> |
4 | {if="$is_logged_in or !empty($action_plugin)"} | 4 | <span class="linklist-filters-text pure-u-0 pure-u-lg-visible"> |
5 | <span class="linklist-filters-text pure-u-0 pure-u-lg-visible"> | 5 | {'Filters'|t} |
6 | {'Filters'|t} | 6 | </span> |
7 | </span> | 7 | {if="$is_logged_in"} |
8 | {if="$is_logged_in"} | 8 | <a href="{$base_path}/admin/visibility/private" aria-label="{'Only display private links'|t}" title="{'Only display private links'|t}" |
9 | <a href="?visibility=private" aria-label="{'Only display private links'|t}" title="{'Only display private links'|t}" | 9 | class="{if="$visibility==='private'"}filter-on{else}filter-off{/if}" |
10 | class="{if="$visibility==='private'"}filter-on{else}filter-off{/if}" | 10 | ><i class="fa fa-user-secret" aria-hidden="true"></i></a> |
11 | ><i class="fa fa-user-secret" aria-hidden="true"></i></a> | 11 | <a href="{$base_path}/admin/visibility/public" aria-label="{'Only display public links'|t}" title="{'Only display public links'|t}" |
12 | <a href="?visibility=public" aria-label="{'Only display public links'|t}" title="{'Only display public links'|t}" | 12 | class="{if="$visibility==='public'"}filter-on{else}filter-off{/if}" |
13 | class="{if="$visibility==='public'"}filter-on{else}filter-off{/if}" | 13 | ><i class="fa fa-globe" aria-hidden="true"></i></a> |
14 | ><i class="fa fa-globe" aria-hidden="true"></i></a> | 14 | {/if} |
15 | {/if} | 15 | <a href="{$base_path}/untagged-only" aria-label="{'Filter untagged links'|t}" title="{'Filter untagged links'|t}" |
16 | <a href="?untaggedonly" aria-label="{'Filter untagged links'|t}" title="{'Filter untagged links'|t}" | 16 | class={if="$untaggedonly"}"filter-on"{else}"filter-off"{/if} |
17 | class={if="$untaggedonly"}"filter-on"{else}"filter-off"{/if} | 17 | ><i class="fa fa-tag" aria-hidden="true"></i></a> |
18 | ><i class="fa fa-tag" aria-hidden="true"></i></a> | 18 | {if="$is_logged_in"} |
19 | <a href="#" aria-label="{'Select all'|t}" title="{'Select all'|t}" | 19 | <a href="#" aria-label="{'Select all'|t}" title="{'Select all'|t}" |
20 | class="filter-off select-all-button pure-u-0 pure-u-lg-visible" | 20 | class="filter-off select-all-button pure-u-0 pure-u-lg-visible" |
21 | ><i class="fa fa-check-square-o" aria-hidden="true"></i></a> | 21 | ><i class="fa fa-check-square-o" aria-hidden="true"></i></a> |
22 | <a href="#" class="filter-off fold-all pure-u-lg-0" aria-label="{'Fold all'|t}" title="{'Fold all'|t}"> | 22 | {/if} |
23 | <i class="fa fa-chevron-up" aria-hidden="true"></i> | 23 | <a href="#" class="filter-off fold-all pure-u-lg-0" aria-label="{'Fold all'|t}" title="{'Fold all'|t}"> |
24 | </a> | 24 | <i class="fa fa-chevron-up" aria-hidden="true"></i> |
25 | </a> | ||
26 | {if="!empty($action_plugin)"} | ||
25 | {loop="$action_plugin"} | 27 | {loop="$action_plugin"} |
26 | {$value.attr.class=isset($value.attr.class) ? $value.attr.class : ''} | 28 | {$value.attr.class=isset($value.attr.class) ? $value.attr.class : ''} |
27 | {$value.attr.class=!empty($value.on) ? $value.attr.class .' filter-on' : $value.attr.class .' filter-off'} | 29 | {$value.attr.class=!empty($value.on) ? $value.attr.class .' filter-on' : $value.attr.class .' filter-off'} |
@@ -53,11 +55,16 @@ | |||
53 | 55 | ||
54 | <div class="linksperpage pure-u-1-3"> | 56 | <div class="linksperpage pure-u-1-3"> |
55 | <div class="pure-u-0 pure-u-lg-visible">{'Links per page'|t}</div> | 57 | <div class="pure-u-0 pure-u-lg-visible">{'Links per page'|t}</div> |
56 | <a href="?linksperpage=20">20</a> | 58 | <a href="{$base_path}/links-per-page?nb=20" |
57 | <a href="?linksperpage=50">50</a> | 59 | {if="$links_per_page == 20"}class="selected"{/if}>20</a> |
58 | <a href="?linksperpage=100">100</a> | 60 | <a href="{$base_path}/links-per-page?nb=50" |
59 | <form method="GET" class="pure-u-0 pure-u-lg-visible"> | 61 | {if="$links_per_page == 50"}class="selected"{/if}>50</a> |
60 | <input type="text" name="linksperpage" placeholder="133"> | 62 | <a href="{$base_path}/links-per-page?nb=100" |
63 | {if="$links_per_page == 100"}class="selected"{/if}>100</a> | ||
64 | <form method="GET" class="pure-u-0 pure-u-lg-visible" action="{$base_path}/links-per-page"> | ||
65 | <input type="text" name="nb" placeholder="133" | ||
66 | {if="$links_per_page != 20 && $links_per_page != 50 && $links_per_page != 100"} | ||
67 | value="{$links_per_page}"{/if}> | ||
61 | </form> | 68 | </form> |
62 | <a href="#" class="filter-off fold-all pure-u-0 pure-u-lg-visible" aria-label="{'Fold all'|t}" title="{'Fold all'|t}"> | 69 | <a href="#" class="filter-off fold-all pure-u-0 pure-u-lg-visible" aria-label="{'Fold all'|t}" title="{'Fold all'|t}"> |
63 | <i class="fa fa-chevron-up" aria-hidden="true"></i> | 70 | <i class="fa fa-chevron-up" aria-hidden="true"></i> |
diff --git a/tpl/default/opensearch.html b/tpl/default/opensearch.html index 3fcc30b7..1c7f279b 100644 --- a/tpl/default/opensearch.html +++ b/tpl/default/opensearch.html | |||
@@ -3,8 +3,8 @@ | |||
3 | <ShortName>Shaarli search - {$pagetitle}</ShortName> | 3 | <ShortName>Shaarli search - {$pagetitle}</ShortName> |
4 | <Description>Shaarli search - {$pagetitle}</Description> | 4 | <Description>Shaarli search - {$pagetitle}</Description> |
5 | <Url type="text/html" template="{$serverurl}?searchterm={searchTerms}" /> | 5 | <Url type="text/html" template="{$serverurl}?searchterm={searchTerms}" /> |
6 | <Url type="application/atom+xml" template="{$serverurl}?do=atom&searchterm={searchTerms}"/> | 6 | <Url type="application/atom+xml" template="{$serverurl}feed/atom?searchterm={searchTerms}"/> |
7 | <Url type="application/rss+xml" template="{$serverurl}?do=rss&searchterm={searchTerms}"/> | 7 | <Url type="application/rss+xml" template="{$serverurl}feed/rss?searchterm={searchTerms}"/> |
8 | <InputEncoding>UTF-8</InputEncoding> | 8 | <InputEncoding>UTF-8</InputEncoding> |
9 | <Developer>Shaarli Community - https://github.com/shaarli/Shaarli/</Developer> | 9 | <Developer>Shaarli Community - https://github.com/shaarli/Shaarli/</Developer> |
10 | <Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAHRklE | 10 | <Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAHRklE |
diff --git a/tpl/default/page.footer.html b/tpl/default/page.footer.html index 0899826b..c153def0 100644 --- a/tpl/default/page.footer.html +++ b/tpl/default/page.footer.html | |||
@@ -10,7 +10,7 @@ | |||
10 | {/if} | 10 | {/if} |
11 | · | 11 | · |
12 | {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t} · | 12 | {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t} · |
13 | <a href="doc/html/index.html" rel="nofollow">{'Documentation'|t}</a> | 13 | <a href="{$root_path}/doc/html/index.html" rel="nofollow">{'Documentation'|t}</a> |
14 | {loop="$plugins_footer.text"} | 14 | {loop="$plugins_footer.text"} |
15 | {$value} | 15 | {$value} |
16 | {/loop} | 16 | {/loop} |
@@ -25,7 +25,7 @@ | |||
25 | {/loop} | 25 | {/loop} |
26 | 26 | ||
27 | {loop="$plugins_footer.js_files"} | 27 | {loop="$plugins_footer.js_files"} |
28 | <script src="{$value}#"></script> | 28 | <script src="{$root_path}/{$value}#"></script> |
29 | {/loop} | 29 | {/loop} |
30 | 30 | ||
31 | <div id="js-translations" class="hidden"> | 31 | <div id="js-translations" class="hidden"> |
@@ -33,10 +33,11 @@ | |||
33 | <span id="translation-fold-all">{'Fold all'|t}</span> | 33 | <span id="translation-fold-all">{'Fold all'|t}</span> |
34 | <span id="translation-expand">{'Expand'|t}</span> | 34 | <span id="translation-expand">{'Expand'|t}</span> |
35 | <span id="translation-expand-all">{'Expand all'|t}</span> | 35 | <span id="translation-expand-all">{'Expand all'|t}</span> |
36 | <span id="translation-delete-link">{'Are you sure you want to delete this link?'|t}</span> | 36 | <span id="translation-delete-link">{'Are you sure you want to delete this tag?'|t}</span> |
37 | <span id="translation-shaarli-desc"> | 37 | <span id="translation-shaarli-desc"> |
38 | {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t} | 38 | {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t} |
39 | </span> | 39 | </span> |
40 | </div> | 40 | </div> |
41 | 41 | ||
42 | <script src="js/shaarli.min.js?v={$version_hash}"></script> | 42 | <input type="hidden" name="js_base_path" value="{$base_path}" /> |
43 | <script src="{$asset_path}/js/shaarli.min.js?v={$version_hash}#"></script> | ||
diff --git a/tpl/default/page.header.html b/tpl/default/page.header.html index 82f8ebf1..a71464c7 100644 --- a/tpl/default/page.header.html +++ b/tpl/default/page.header.html | |||
@@ -21,24 +21,24 @@ | |||
21 | </li> | 21 | </li> |
22 | {if="$is_logged_in || $openshaarli"} | 22 | {if="$is_logged_in || $openshaarli"} |
23 | <li class="pure-menu-item"> | 23 | <li class="pure-menu-item"> |
24 | <a href="?do=addlink" class="pure-menu-link" id="shaarli-menu-shaare"> | 24 | <a href="{$base_path}/admin/add-shaare" class="pure-menu-link" id="shaarli-menu-shaare"> |
25 | <i class="fa fa-plus" aria-hidden="true"></i> {'Shaare'|t} | 25 | <i class="fa fa-plus" aria-hidden="true"></i> {'Shaare'|t} |
26 | </a> | 26 | </a> |
27 | </li> | 27 | </li> |
28 | <li class="pure-menu-item" id="shaarli-menu-tools"> | 28 | <li class="pure-menu-item" id="shaarli-menu-tools"> |
29 | <a href="?do=tools" class="pure-menu-link">{'Tools'|t}</a> | 29 | <a href="{$base_path}/admin/tools" class="pure-menu-link">{'Tools'|t}</a> |
30 | </li> | 30 | </li> |
31 | {/if} | 31 | {/if} |
32 | <li class="pure-menu-item" id="shaarli-menu-tags"> | 32 | <li class="pure-menu-item" id="shaarli-menu-tags"> |
33 | <a href="?do=tagcloud" class="pure-menu-link">{'Tag cloud'|t}</a> | 33 | <a href="{$base_path}/tags/cloud" class="pure-menu-link">{'Tag cloud'|t}</a> |
34 | </li> | 34 | </li> |
35 | {if="$thumbnails_enabled"} | 35 | {if="$thumbnails_enabled"} |
36 | <li class="pure-menu-item" id="shaarli-menu-picwall"> | 36 | <li class="pure-menu-item" id="shaarli-menu-picwall"> |
37 | <a href="?do=picwall{$searchcrits}" class="pure-menu-link">{'Picture wall'|t}</a> | 37 | <a href="{$base_path}/picture-wall?{function="ltrim($searchcrits, '&')"}" class="pure-menu-link">{'Picture wall'|t}</a> |
38 | </li> | 38 | </li> |
39 | {/if} | 39 | {/if} |
40 | <li class="pure-menu-item" id="shaarli-menu-daily"> | 40 | <li class="pure-menu-item" id="shaarli-menu-daily"> |
41 | <a href="?do=daily" class="pure-menu-link">{'Daily'|t}</a> | 41 | <a href="{$base_path}/daily" class="pure-menu-link">{'Daily'|t}</a> |
42 | </li> | 42 | </li> |
43 | {loop="$plugins_header.buttons_toolbar"} | 43 | {loop="$plugins_header.buttons_toolbar"} |
44 | <li class="pure-menu-item shaarli-menu-plugin"> | 44 | <li class="pure-menu-item shaarli-menu-plugin"> |
@@ -52,15 +52,15 @@ | |||
52 | </li> | 52 | </li> |
53 | {/loop} | 53 | {/loop} |
54 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-rss"> | 54 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-rss"> |
55 | <a href="?do={$feed_type}{$searchcrits}" class="pure-menu-link">{'RSS Feed'|t}</a> | 55 | <a href="{$base_path}/feed/{$feed_type}?{$searchcrits}" class="pure-menu-link">{'RSS Feed'|t}</a> |
56 | </li> | 56 | </li> |
57 | {if="$is_logged_in"} | 57 | {if="$is_logged_in"} |
58 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-logout"> | 58 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-logout"> |
59 | <a href="?do=logout" class="pure-menu-link">{'Logout'|t}</a> | 59 | <a href="{$base_path}/admin/logout" class="pure-menu-link">{'Logout'|t}</a> |
60 | </li> | 60 | </li> |
61 | {else} | 61 | {else} |
62 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-login"> | 62 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-login"> |
63 | <a href="/login" class="pure-menu-link">{'Login'|t}</a> | 63 | <a href="{$base_path}/login" class="pure-menu-link">{'Login'|t}</a> |
64 | </li> | 64 | </li> |
65 | {/if} | 65 | {/if} |
66 | </ul> | 66 | </ul> |
@@ -74,13 +74,13 @@ | |||
74 | </a> | 74 | </a> |
75 | </li> | 75 | </li> |
76 | <li class="pure-menu-item" id="shaarli-menu-desktop-rss"> | 76 | <li class="pure-menu-item" id="shaarli-menu-desktop-rss"> |
77 | <a href="?do={$feed_type}{$searchcrits}" class="pure-menu-link" title="{'RSS Feed'|t}" aria-label="{'RSS Feed'|t}"> | 77 | <a href="{$base_path}/feed/{$feed_type}?{$searchcrits}" class="pure-menu-link" title="{'RSS Feed'|t}" aria-label="{'RSS Feed'|t}"> |
78 | <i class="fa fa-rss" aria-hidden="true"></i> | 78 | <i class="fa fa-rss" aria-hidden="true"></i> |
79 | </a> | 79 | </a> |
80 | </li> | 80 | </li> |
81 | {if="!$is_logged_in"} | 81 | {if="!$is_logged_in"} |
82 | <li class="pure-menu-item" id="shaarli-menu-desktop-login"> | 82 | <li class="pure-menu-item" id="shaarli-menu-desktop-login"> |
83 | <a href="/login" class="pure-menu-link" | 83 | <a href="{$base_path}/login" class="pure-menu-link" |
84 | data-open-id="header-login-form" | 84 | data-open-id="header-login-form" |
85 | id="login-button" aria-label="{'Login'|t}" title="{'Login'|t}"> | 85 | id="login-button" aria-label="{'Login'|t}" title="{'Login'|t}"> |
86 | <i class="fa fa-user" aria-hidden="true"></i> | 86 | <i class="fa fa-user" aria-hidden="true"></i> |
@@ -88,7 +88,7 @@ | |||
88 | </li> | 88 | </li> |
89 | {else} | 89 | {else} |
90 | <li class="pure-menu-item" id="shaarli-menu-desktop-logout"> | 90 | <li class="pure-menu-item" id="shaarli-menu-desktop-logout"> |
91 | <a href="?do=logout" class="pure-menu-link" aria-label="{'Logout'|t}" title="{'Logout'|t}"> | 91 | <a href="{$base_path}/admin/logout" class="pure-menu-link" aria-label="{'Logout'|t}" title="{'Logout'|t}"> |
92 | <i class="fa fa-sign-out" aria-hidden="true"></i> | 92 | <i class="fa fa-sign-out" aria-hidden="true"></i> |
93 | </a> | 93 | </a> |
94 | </li> | 94 | </li> |
@@ -101,7 +101,7 @@ | |||
101 | 101 | ||
102 | <main id="content" class="container" role="main"> | 102 | <main id="content" class="container" role="main"> |
103 | <div id="search" class="subheader-form searchform-block header-search"> | 103 | <div id="search" class="subheader-form searchform-block header-search"> |
104 | <form method="GET" class="pure-form searchform" name="searchform"> | 104 | <form method="GET" class="pure-form searchform" name="searchform" action="{$base_path}/"> |
105 | <input type="text" id="searchform_value" name="searchterm" aria-label="{'Search text'|t}" placeholder="{'Search text'|t}" | 105 | <input type="text" id="searchform_value" name="searchterm" aria-label="{'Search text'|t}" placeholder="{'Search text'|t}" |
106 | {if="!empty($search_term)"} | 106 | {if="!empty($search_term)"} |
107 | value="{$search_term}" | 107 | value="{$search_term}" |
@@ -184,8 +184,22 @@ | |||
184 | </div> | 184 | </div> |
185 | {/if} | 185 | {/if} |
186 | 186 | ||
187 | {if="!empty($global_warnings) && $is_logged_in"} | 187 | {if="!empty($global_errors)"} |
188 | <div class="pure-g pure-alert pure-alert-warning pure-alert-closable" id="shaarli-warnings-alert"> | 188 | <div class="pure-g header-alert-message pure-alert pure-alert-error pure-alert-closable" id="shaarli-errors-alert"> |
189 | <div class="pure-u-2-24"></div> | ||
190 | <div class="pure-u-20-24"> | ||
191 | {loop="$global_errors"} | ||
192 | <p>{$value}</p> | ||
193 | {/loop} | ||
194 | </div> | ||
195 | <div class="pure-u-2-24"> | ||
196 | <i class="fa fa-times pure-alert-close"></i> | ||
197 | </div> | ||
198 | </div> | ||
199 | {/if} | ||
200 | |||
201 | {if="!empty($global_warnings)"} | ||
202 | <div class="pure-g header-alert-message pure-alert pure-alert-warning pure-alert-closable" id="shaarli-warnings-alert"> | ||
189 | <div class="pure-u-2-24"></div> | 203 | <div class="pure-u-2-24"></div> |
190 | <div class="pure-u-20-24"> | 204 | <div class="pure-u-20-24"> |
191 | {loop="global_warnings"} | 205 | {loop="global_warnings"} |
@@ -198,4 +212,18 @@ | |||
198 | </div> | 212 | </div> |
199 | {/if} | 213 | {/if} |
200 | 214 | ||
215 | {if="!empty($global_successes)"} | ||
216 | <div class="pure-g header-alert-message new-version-message pure-alert pure-alert-success pure-alert-closable" id="shaarli-success-alert"> | ||
217 | <div class="pure-u-2-24"></div> | ||
218 | <div class="pure-u-20-24"> | ||
219 | {loop="$global_successes"} | ||
220 | <p>{$value}</p> | ||
221 | {/loop} | ||
222 | </div> | ||
223 | <div class="pure-u-2-24"> | ||
224 | <i class="fa fa-times pure-alert-close"></i> | ||
225 | </div> | ||
226 | </div> | ||
227 | {/if} | ||
228 | |||
201 | <div class="clear"></div> | 229 | <div class="clear"></div> |
diff --git a/tpl/default/picwall.html b/tpl/default/picwall.html index 73359949..ac613b35 100644 --- a/tpl/default/picwall.html +++ b/tpl/default/picwall.html | |||
@@ -5,61 +5,55 @@ | |||
5 | </head> | 5 | </head> |
6 | <body> | 6 | <body> |
7 | {include="page.header"} | 7 | {include="page.header"} |
8 | {if="!$thumbnails_enabled"} | 8 | |
9 | <div class="pure-g pure-alert pure-alert-warning page-single-alert"> | 9 | {if="count($linksToDisplay)===0 && $is_logged_in"} |
10 | <div class="pure-u-1 center"> | 10 | <div class="pure-g pure-alert pure-alert-warning page-single-alert"> |
11 | {'Picture wall unavailable (thumbnails are disabled).'|t} | 11 | <div class="pure-u-1 center"> |
12 | </div> | 12 | {'There is no cached thumbnail.'|t} |
13 | </div> | 13 | <a href="{$base_path}/admin/thumbnails">{'Try to synchronize them.'|t}</a> |
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> | 14 | </div> |
21 | {/if} | 15 | </div> |
16 | {/if} | ||
22 | 17 | ||
23 | <div class="pure-g"> | 18 | <div class="pure-g"> |
24 | <div class="pure-u-lg-1-6 pure-u-1-24"></div> | 19 | <div class="pure-u-lg-1-6 pure-u-1-24"></div> |
25 | <div class="pure-u-lg-2-3 pure-u-22-24 page-form page-visitor"> | 20 | <div class="pure-u-lg-2-3 pure-u-22-24 page-form page-visitor"> |
26 | {$countPics=count($linksToDisplay)} | 21 | {$countPics=count($linksToDisplay)} |
27 | <h2 class="window-title">{'Picture Wall'|t} - {$countPics} {'pics'|t}</h2> | 22 | <h2 class="window-title">{'Picture Wall'|t} - {$countPics} {'pics'|t}</h2> |
28 | 23 | ||
29 | <div id="plugin_zone_start_picwall" class="plugin_zone"> | 24 | <div id="plugin_zone_start_picwall" class="plugin_zone"> |
30 | {loop="$plugin_start_zone"} | 25 | {loop="$plugin_start_zone"} |
31 | {$value} | 26 | {$value} |
32 | {/loop} | 27 | {/loop} |
33 | </div> | 28 | </div> |
34 | 29 | ||
35 | <div id="picwall-container" class="picwall-container" role="list"> | 30 | <div id="picwall-container" class="picwall-container" role="list"> |
36 | {loop="$linksToDisplay"} | 31 | {loop="$linksToDisplay"} |
37 | <div class="picwall-pictureframe" role="listitem"> | 32 | <div class="picwall-pictureframe" role="listitem"> |
38 | {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore} | 33 | {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore} |
39 | <img data-src="{$value.thumbnail}#" class="b-lazy" | 34 | <img data-src="{$root_path}/{$value.thumbnail}#" class="b-lazy" |
40 | src="" | 35 | src="" |
41 | alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" /> | 36 | alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" /> |
42 | <a href="{$value.real_url}"><span class="info">{$value.title}</span></a> | 37 | <a href="{$value.real_url}"><span class="info">{$value.title}</span></a> |
43 | {loop="$value.picwall_plugin"} | 38 | {loop="$value.picwall_plugin"} |
44 | {$value} | 39 | {$value} |
45 | {/loop} | 40 | {/loop} |
46 | </div> | 41 | </div> |
47 | {/loop} | 42 | {/loop} |
48 | <div class="clear"></div> | 43 | <div class="clear"></div> |
49 | </div> | 44 | </div> |
50 | 45 | ||
51 | <div id="plugin_zone_end_picwall" class="plugin_zone"> | 46 | <div id="plugin_zone_end_picwall" class="plugin_zone"> |
52 | {loop="$plugin_end_zone"} | 47 | {loop="$plugin_end_zone"} |
53 | {$value} | 48 | {$value} |
54 | {/loop} | 49 | {/loop} |
55 | </div> | ||
56 | </div> | 50 | </div> |
57 | <div class="pure-u-lg-1-6 pure-u-1-24"></div> | ||
58 | </div> | 51 | </div> |
59 | {/if} | 52 | <div class="pure-u-lg-1-6 pure-u-1-24"></div> |
53 | </div> | ||
60 | 54 | ||
61 | {include="page.footer"} | 55 | {include="page.footer"} |
62 | <script src="js/thumbnails.min.js?v={$version_hash}"></script> | 56 | <script src="{$asset_path}/js/thumbnails.min.js?v={$version_hash}#"></script> |
63 | </body> | 57 | </body> |
64 | </html> | 58 | </html> |
65 | 59 | ||
diff --git a/tpl/default/pluginsadmin.html b/tpl/default/pluginsadmin.html index 4bfaa934..5c073da6 100644 --- a/tpl/default/pluginsadmin.html +++ b/tpl/default/pluginsadmin.html | |||
@@ -16,7 +16,7 @@ | |||
16 | <div class="clear"></div> | 16 | <div class="clear"></div> |
17 | </noscript> | 17 | </noscript> |
18 | 18 | ||
19 | <form method="POST" action="?do=save_pluginadmin" name="pluginform" id="pluginform" class="pluginform-container"> | 19 | <form method="POST" action="{$base_path}/admin/plugins" name="pluginform" id="pluginform" class="pluginform-container"> |
20 | <div class="pure-g"> | 20 | <div class="pure-g"> |
21 | <div class="pure-u-lg-1-8 pure-u-1-24"></div> | 21 | <div class="pure-u-lg-1-8 pure-u-1-24"></div> |
22 | <div class="pure-u-lg-3-4 pure-u-22-24 page-form page-form-complete"> | 22 | <div class="pure-u-lg-3-4 pure-u-22-24 page-form page-form-complete"> |
@@ -117,7 +117,7 @@ | |||
117 | 117 | ||
118 | <div class="center more"> | 118 | <div class="center more"> |
119 | {"More plugins available"|t} | 119 | {"More plugins available"|t} |
120 | <a href="doc/html/Community-&-Related-software/#third-party-plugins">{"in the documentation"|t}</a>. | 120 | <a href="{$root_path}/doc/html/Community-&-Related-software/#third-party-plugins">{"in the documentation"|t}</a>. |
121 | </div> | 121 | </div> |
122 | <div class="center"> | 122 | <div class="center"> |
123 | <input type="submit" value="{'Save'|t}" name="save"> | 123 | <input type="submit" value="{'Save'|t}" name="save"> |
@@ -127,7 +127,7 @@ | |||
127 | <input type="hidden" name="token" value="{$token}"> | 127 | <input type="hidden" name="token" value="{$token}"> |
128 | </form> | 128 | </form> |
129 | 129 | ||
130 | <form action="?do=save_pluginadmin" method="POST"> | 130 | <form action="{$base_path}/admin/plugins" method="POST"> |
131 | <div class="pure-g"> | 131 | <div class="pure-g"> |
132 | <div class="pure-u-lg-1-8 pure-u-1-24"></div> | 132 | <div class="pure-u-lg-1-8 pure-u-1-24"></div> |
133 | <div class="pure-u-lg-3-4 pure-u-22-24 page-form page-form-light"> | 133 | <div class="pure-u-lg-3-4 pure-u-22-24 page-form page-form-light"> |
@@ -173,10 +173,11 @@ | |||
173 | </section> | 173 | </section> |
174 | </div> | 174 | </div> |
175 | </div> | 175 | </div> |
176 | <input type="hidden" name="token" value="{$token}"> | ||
176 | </form> | 177 | </form> |
177 | 178 | ||
178 | {include="page.footer"} | 179 | {include="page.footer"} |
179 | <script src="js/pluginsadmin.min.js?v={$version_hash}"></script> | 180 | <script src="{$asset_path}/js/pluginsadmin.min.js?v={$version_hash}#"></script> |
180 | 181 | ||
181 | </body> | 182 | </body> |
182 | </html> | 183 | </html> |
diff --git a/tpl/default/server.html b/tpl/default/server.html new file mode 100644 index 00000000..de1c8b53 --- /dev/null +++ b/tpl/default/server.html | |||
@@ -0,0 +1,129 @@ | |||
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="pure-g"> | ||
10 | <div class="pure-u-lg-1-4 pure-u-1-24"></div> | ||
11 | <div class="pure-u-lg-1-2 pure-u-22-24 page-form server-tables-page"> | ||
12 | <h2 class="window-title">{'Server administration'|t}</h2> | ||
13 | |||
14 | <h3 class="window-subtitle">{'General'|t}</h3> | ||
15 | |||
16 | <div class="pure-g server-row"> | ||
17 | <div class="pure-u-lg-1-2 pure-u-1 server-label"> | ||
18 | <p>{'Index URL'|t}</p> | ||
19 | </div> | ||
20 | <div class="pure-u-lg-1-2 pure-u-1"> | ||
21 | <p><a href="{$index_url}" title="{$pagetitle}">{$index_url}</a></p> | ||
22 | </div> | ||
23 | </div> | ||
24 | <div class="pure-g server-row"> | ||
25 | <div class="pure-u-lg-1-2 pure-u-1 server-label"> | ||
26 | <p>{'Base path'|t}</p> | ||
27 | </div> | ||
28 | <div class="pure-u-lg-1-2 pure-u-1"> | ||
29 | <p>{$base_path}</p> | ||
30 | </div> | ||
31 | </div> | ||
32 | <div class="pure-g server-row"> | ||
33 | <div class="pure-u-lg-1-2 pure-u-1 server-label"> | ||
34 | <p>{'Client IP'|t}</p> | ||
35 | </div> | ||
36 | <div class="pure-u-lg-1-2 pure-u-1"> | ||
37 | <p>{$client_ip}</p> | ||
38 | </div> | ||
39 | </div> | ||
40 | <div class="pure-g server-row"> | ||
41 | <div class="pure-u-lg-1-2 pure-u-1 server-label"> | ||
42 | <p>{'Trusted reverse proxies'|t}</p> | ||
43 | </div> | ||
44 | <div class="pure-u-lg-1-2 pure-u-1"> | ||
45 | {if="count($trusted_proxies) > 0"} | ||
46 | <p> | ||
47 | {loop="$trusted_proxies"} | ||
48 | {$value}<br> | ||
49 | {/loop} | ||
50 | </p> | ||
51 | {else} | ||
52 | <p>{'N/A'|t}</p> | ||
53 | {/if} | ||
54 | </div> | ||
55 | </div> | ||
56 | |||
57 | {include="server.requirements"} | ||
58 | |||
59 | <h3 class="window-subtitle">Version</h3> | ||
60 | |||
61 | <div class="pure-g server-row"> | ||
62 | <div class="pure-u-lg-1-2 pure-u-1 server-label"> | ||
63 | <p>Current version</p> | ||
64 | </div> | ||
65 | <div class="pure-u-lg-1-2 pure-u-1"> | ||
66 | <p>{$current_version}</p> | ||
67 | </div> | ||
68 | </div> | ||
69 | |||
70 | <div class="pure-g server-row"> | ||
71 | <div class="pure-u-lg-1-2 pure-u-1 server-label"> | ||
72 | <p>Latest release</p> | ||
73 | </div> | ||
74 | <div class="pure-u-lg-1-2 pure-u-1"> | ||
75 | <p> | ||
76 | <a href="{$release_url}" title="{'Visit releases page on Github'|t}"> | ||
77 | {$latest_version} | ||
78 | </a> | ||
79 | </p> | ||
80 | </div> | ||
81 | </div> | ||
82 | |||
83 | <h3 class="window-subtitle">Thumbnails</h3> | ||
84 | |||
85 | <div class="pure-g server-row"> | ||
86 | <div class="pure-u-lg-1-2 pure-u-1 server-label"> | ||
87 | <p>Thumbnails status</p> | ||
88 | </div> | ||
89 | <div class="pure-u-lg-1-2 pure-u-1"> | ||
90 | <p> | ||
91 | {if="$thumbnails_mode==='all'"} | ||
92 | {'All'|t} | ||
93 | {elseif="$thumbnails_mode==='common'"} | ||
94 | {'Only common media hosts'|t} | ||
95 | {else} | ||
96 | {'None'|t} | ||
97 | {/if} | ||
98 | </p> | ||
99 | </div> | ||
100 | </div> | ||
101 | |||
102 | {if="$thumbnails_mode!=='none'"} | ||
103 | <div class="center tools-item"> | ||
104 | <a href="{$base_path}/admin/thumbnails" title="{'Synchronize all link thumbnails'|t}"> | ||
105 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Synchronize thumbnails'|t}</span> | ||
106 | </a> | ||
107 | </div> | ||
108 | {/if} | ||
109 | |||
110 | <h3 class="window-subtitle">Cache</h3> | ||
111 | |||
112 | <div class="center tools-item"> | ||
113 | <a href="{$base_path}/admin/clear-cache?type=main"> | ||
114 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Clear main cache</span> | ||
115 | </a> | ||
116 | </div> | ||
117 | |||
118 | <div class="center tools-item"> | ||
119 | <a href="{$base_path}/admin/clear-cache?type=thumbnails"> | ||
120 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">Clear thumbnails cache</span> | ||
121 | </a> | ||
122 | </div> | ||
123 | </div> | ||
124 | </div> | ||
125 | |||
126 | {include="page.footer"} | ||
127 | |||
128 | </body> | ||
129 | </html> | ||
diff --git a/tpl/default/server.requirements.html b/tpl/default/server.requirements.html new file mode 100644 index 00000000..85def9b7 --- /dev/null +++ b/tpl/default/server.requirements.html | |||
@@ -0,0 +1,68 @@ | |||
1 | <div class="server-tables"> | ||
2 | <h3 class="window-subtitle">{'Permissions'|t}</h3> | ||
3 | |||
4 | {if="count($permissions) > 0"} | ||
5 | <p class="center"> | ||
6 | <i class="fa fa-close fa-color-red" aria-hidden="true"></i> | ||
7 | {'There are permissions that need to be fixed.'|t} | ||
8 | </p> | ||
9 | |||
10 | <p> | ||
11 | {loop="$permissions"} | ||
12 | <div class="center">{$value}</div> | ||
13 | {/loop} | ||
14 | </p> | ||
15 | {else} | ||
16 | <p class="center"> | ||
17 | <i class="fa fa-check fa-color-green" aria-hidden="true"></i> | ||
18 | {'All read/write permissions are properly set.'|t} | ||
19 | </p> | ||
20 | {/if} | ||
21 | |||
22 | <h3 class="window-subtitle">PHP</h3> | ||
23 | |||
24 | <p class="center"> | ||
25 | <strong>{'Running PHP'|t} {$php_version}</strong> | ||
26 | {if="$php_has_reached_eol"} | ||
27 | <i class="fa fa-circle fa-color-orange" aria-label="hidden"></i><br> | ||
28 | {'End of life: '|t} {$php_eol} | ||
29 | {else} | ||
30 | <i class="fa fa-circle fa-color-green" aria-label="hidden"></i><br> | ||
31 | {/if} | ||
32 | </p> | ||
33 | |||
34 | <table class="center"> | ||
35 | <thead> | ||
36 | <tr> | ||
37 | <th>{'Extension'|t}</th> | ||
38 | <th>{'Usage'|t}</th> | ||
39 | <th>{'Status'|t}</th> | ||
40 | <th>{'Loaded'|t}</th> | ||
41 | </tr> | ||
42 | </thead> | ||
43 | <tbody> | ||
44 | {loop="$php_extensions"} | ||
45 | <tr> | ||
46 | <td>{$value.name}</td> | ||
47 | <td>{$value.desc}</td> | ||
48 | <td>{$value.required ? t('Required') : t('Optional')}</td> | ||
49 | <td> | ||
50 | {if="$value.loaded"} | ||
51 | {$classLoaded="fa-color-green"} | ||
52 | {$strLoaded=t('Loaded')} | ||
53 | {else} | ||
54 | {$strLoaded=t('Not loaded')} | ||
55 | {if="$value.required"} | ||
56 | {$classLoaded="fa-color-red"} | ||
57 | {else} | ||
58 | {$classLoaded="fa-color-orange"} | ||
59 | {/if} | ||
60 | {/if} | ||
61 | |||
62 | <i class="fa fa-circle {$classLoaded}" aria-label="{$strLoaded}" title="{$strLoaded}"></i> | ||
63 | </td> | ||
64 | </tr> | ||
65 | {/loop} | ||
66 | </tbody> | ||
67 | </table> | ||
68 | </div> | ||
diff --git a/tpl/default/tag.cloud.html b/tpl/default/tag.cloud.html index 7839fcca..c067e1d4 100644 --- a/tpl/default/tag.cloud.html +++ b/tpl/default/tag.cloud.html | |||
@@ -15,7 +15,7 @@ | |||
15 | <h2 class="window-title">{'Tag cloud'|t} - {$countTags} {'tags'|t}</h2> | 15 | <h2 class="window-title">{'Tag cloud'|t} - {$countTags} {'tags'|t}</h2> |
16 | {if="!empty($search_tags)"} | 16 | {if="!empty($search_tags)"} |
17 | <p class="center"> | 17 | <p class="center"> |
18 | <a href="?searchtags={$search_tags|urlencode}" class="pure-button pure-button-shaarli"> | 18 | <a href="{$base_path}/?searchtags={$search_tags_url}" class="pure-button pure-button-shaarli"> |
19 | {'List all links with those tags'|t} | 19 | {'List all links with those tags'|t} |
20 | </a> | 20 | </a> |
21 | </p> | 21 | </p> |
@@ -48,8 +48,8 @@ | |||
48 | 48 | ||
49 | <div id="cloudtag" class="cloudtag-container"> | 49 | <div id="cloudtag" class="cloudtag-container"> |
50 | {loop="tags"} | 50 | {loop="tags"} |
51 | <a href="?searchtags={$key|urlencode} {$search_tags|urlencode}" style="font-size:{$value.size}em;">{$key}</a | 51 | <a href="{$base_path}/?searchtags={$tags_url.$key1} {$search_tags_url}" style="font-size:{$value.size}em;">{$key}</a |
52 | ><a href="?addtag={$key|urlencode}" title="{'Filter by tag'|t}" class="count">{$value.count}</a> | 52 | ><a href="{$base_path}/add-tag/{$tags_url.$key1}" title="{'Filter by tag'|t}" class="count">{$value.count}</a> |
53 | {loop="$value.tag_plugin"} | 53 | {loop="$value.tag_plugin"} |
54 | {$value} | 54 | {$value} |
55 | {/loop} | 55 | {/loop} |
diff --git a/tpl/default/tag.list.html b/tpl/default/tag.list.html index d5777465..96e7fbe0 100644 --- a/tpl/default/tag.list.html +++ b/tpl/default/tag.list.html | |||
@@ -15,7 +15,7 @@ | |||
15 | <h2 class="window-title">{'Tag list'|t} - {$countTags} {'tags'|t}</h2> | 15 | <h2 class="window-title">{'Tag list'|t} - {$countTags} {'tags'|t}</h2> |
16 | {if="!empty($search_tags)"} | 16 | {if="!empty($search_tags)"} |
17 | <p class="center"> | 17 | <p class="center"> |
18 | <a href="?searchtags={$search_tags|urlencode}" class="pure-button pure-button-shaarli"> | 18 | <a href="{$base_path}/?searchtags={$search_tags_url}" class="pure-button pure-button-shaarli"> |
19 | {'List all links with those tags'|t} | 19 | {'List all links with those tags'|t} |
20 | </a> | 20 | </a> |
21 | </p> | 21 | </p> |
@@ -47,17 +47,17 @@ | |||
47 | 47 | ||
48 | <div id="taglist" class="taglist-container"> | 48 | <div id="taglist" class="taglist-container"> |
49 | {loop="tags"} | 49 | {loop="tags"} |
50 | <div class="tag-list-item pure-g" data-tag="{$key}"> | 50 | <div class="tag-list-item pure-g" data-tag="{$key}" data-tag-url="{$tags_url.$key1}"> |
51 | <div class="pure-u-1"> | 51 | <div class="pure-u-1"> |
52 | {if="$is_logged_in===true"} | 52 | {if="$is_logged_in===true"} |
53 | <a href="#" class="delete-tag" aria-label="{'Delete'|t}"><i class="fa fa-trash" aria-hidden="true"></i></a> | 53 | <a href="#" class="delete-tag" aria-label="{'Delete'|t}"><i class="fa fa-trash" aria-hidden="true"></i></a> |
54 | <a href="?do=changetag&fromtag={$key|urlencode}" class="rename-tag" aria-label="{'Rename tag'|t}"> | 54 | <a href="{$base_path}/admin/tags?fromtag={$tags_url.$key1}" class="rename-tag" aria-label="{'Rename tag'|t}"> |
55 | <i class="fa fa-pencil-square-o {$key}" aria-hidden="true"></i> | 55 | <i class="fa fa-pencil-square-o {$key}" aria-hidden="true"></i> |
56 | </a> | 56 | </a> |
57 | {/if} | 57 | {/if} |
58 | 58 | ||
59 | <a href="?addtag={$key|urlencode}" title="{'Filter by tag'|t}" class="count">{$value}</a> | 59 | <a href="{$base_path}/add-tag/{$tags_url.$key1}" title="{'Filter by tag'|t}" class="count">{$value}</a> |
60 | <a href="?searchtags={$key|urlencode} {$search_tags|urlencode}" class="tag-link">{$key}</a> | 60 | <a href="{$base_path}/?searchtags={$tags_url.$key1} {$search_tags_url}" class="tag-link">{$key}</a> |
61 | 61 | ||
62 | {loop="$value.tag_plugin"} | 62 | {loop="$value.tag_plugin"} |
63 | {$value} | 63 | {$value} |
diff --git a/tpl/default/tag.sort.html b/tpl/default/tag.sort.html index d24c9f64..b3764e29 100644 --- a/tpl/default/tag.sort.html +++ b/tpl/default/tag.sort.html | |||
@@ -1,8 +1,8 @@ | |||
1 | <div class="pure-g"> | 1 | <div class="pure-g"> |
2 | <div class="pure-u-1 pure-alert pure-alert-success tag-sort"> | 2 | <div class="pure-u-1 pure-alert pure-alert-success tag-sort"> |
3 | {'Sort by:'|t} | 3 | {'Sort by:'|t} |
4 | <a href="?do=tagcloud">{'Cloud'|t}</a> · | 4 | <a href="{$base_path}/tags/cloud">{'Cloud'|t}</a> |
5 | <a href="?do=taglist&sort=usage">{'Most used'|t}</a> · | 5 | <a href="{$base_path}/tags/list?sort=usage">{'Most used'|t}</a> |
6 | <a href="?do=taglist&sort=alpha">{'Alphabetical'|t}</a> | 6 | <a href="{$base_path}/tags/list?sort=alpha">{'Alphabetical'|t}</a> |
7 | </div> | 7 | </div> |
8 | </div> \ No newline at end of file | 8 | </div> |
diff --git a/tpl/default/thumbnails.html b/tpl/default/thumbnails.html index 5f9bef08..504644ca 100644 --- a/tpl/default/thumbnails.html +++ b/tpl/default/thumbnails.html | |||
@@ -43,6 +43,6 @@ | |||
43 | </div> | 43 | </div> |
44 | 44 | ||
45 | {include="page.footer"} | 45 | {include="page.footer"} |
46 | <script src="js/thumbnails_update.min.js?v={$version_hash}"></script> | 46 | <script src="{$asset_path}/js/thumbnails_update.min.js?v={$version_hash}#"></script> |
47 | </body> | 47 | </body> |
48 | </html> | 48 | </html> |
diff --git a/tpl/default/tools.html b/tpl/default/tools.html index 20d0c893..2df73598 100644 --- a/tpl/default/tools.html +++ b/tpl/default/tools.html | |||
@@ -11,48 +11,46 @@ | |||
11 | <div class="pure-u-lg-1-3 pure-u-22-24 page-form page-form-light"> | 11 | <div class="pure-u-lg-1-3 pure-u-22-24 page-form page-form-light"> |
12 | <h2 class="window-title">{'Settings'|t}</h2> | 12 | <h2 class="window-title">{'Settings'|t}</h2> |
13 | <div class="tools-item"> | 13 | <div class="tools-item"> |
14 | <a href="?do=configure" title="{'Change Shaarli settings: title, timezone, etc.'|t}"> | 14 | <a href="{$base_path}/admin/configure" title="{'Change Shaarli settings: title, timezone, etc.'|t}"> |
15 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Configure your Shaarli'|t}</span> | 15 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Configure your Shaarli'|t}</span> |
16 | </a> | 16 | </a> |
17 | </div> | 17 | </div> |
18 | <div class="tools-item"> | 18 | <div class="tools-item"> |
19 | <a href="?do=pluginadmin" title="{'Enable, disable and configure plugins'|t}"> | 19 | <a href="{$base_path}/admin/plugins" title="{'Enable, disable and configure plugins'|t}"> |
20 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Plugin administration'|t}</span> | 20 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Plugin administration'|t}</span> |
21 | </a> | 21 | </a> |
22 | </div> | 22 | </div> |
23 | <div class="tools-item"> | ||
24 | <a href="{$base_path}/admin/server" | ||
25 | title="{'Check instance\'s server configuration'|t}"> | ||
26 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Server administration'|t}</span> | ||
27 | </a> | ||
28 | </div> | ||
23 | {if="!$openshaarli"} | 29 | {if="!$openshaarli"} |
24 | <div class="tools-item"> | 30 | <div class="tools-item"> |
25 | <a href="?do=changepasswd" title="{'Change your password'|t}"> | 31 | <a href="{$base_path}/admin/password" title="{'Change your password'|t}"> |
26 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Change password'|t}</span> | 32 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Change password'|t}</span> |
27 | </a> | 33 | </a> |
28 | </div> | 34 | </div> |
29 | {/if} | 35 | {/if} |
30 | <div class="tools-item"> | 36 | <div class="tools-item"> |
31 | <a href="?do=changetag" title="{'Rename or delete a tag in all links'|t}"> | 37 | <a href="{$base_path}/admin/tags" title="{'Rename or delete a tag in all links'|t}"> |
32 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Manage tags'|t}</span> | 38 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Manage tags'|t}</span> |
33 | </a> | 39 | </a> |
34 | </div> | 40 | </div> |
35 | <div class="tools-item"> | 41 | <div class="tools-item"> |
36 | <a href="?do=import" | 42 | <a href="{$base_path}/admin/import" |
37 | title="{'Import Netscape HTML bookmarks (as exported from Firefox, Chrome, Opera, delicious...)'|t}"> | 43 | title="{'Import Netscape HTML bookmarks (as exported from Firefox, Chrome, Opera, delicious...)'|t}"> |
38 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Import links'|t}</span> | 44 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Import links'|t}</span> |
39 | </a> | 45 | </a> |
40 | </div> | 46 | </div> |
41 | <div class="tools-item"> | 47 | <div class="tools-item"> |
42 | <a href="?do=export" | 48 | <a href="{$base_path}/admin/export" |
43 | title="{'Export Netscape HTML bookmarks (which can be imported in Firefox, Chrome, Opera, delicious...)'|t}"> | 49 | title="{'Export Netscape HTML bookmarks (which can be imported in Firefox, Chrome, Opera, delicious...)'|t}"> |
44 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Export database'|t}</span> | 50 | <span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Export database'|t}</span> |
45 | </a> | 51 | </a> |
46 | </div> | 52 | </div> |
47 | 53 | ||
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 | |||
56 | {loop="$tools_plugin"} | 54 | {loop="$tools_plugin"} |
57 | <div class="tools-item"> | 55 | <div class="tools-item"> |
58 | {$value} | 56 | {$value} |
@@ -86,7 +84,7 @@ | |||
86 | alert('{function="str_replace(' ', '%20', t('The selected text is too long, it will be truncated.'))"}'); | 84 | alert('{function="str_replace(' ', '%20', t('The selected text is too long, it will be truncated.'))"}'); |
87 | } | 85 | } |
88 | window.open( | 86 | window.open( |
89 | '{$pageabsaddr}?post='%20+%20encodeURIComponent(url)+ | 87 | '{$pageabsaddr}admin/shaare?post='%20+%20encodeURIComponent(url)+ |
90 | '&title='%20+%20encodeURIComponent(title)+ | 88 | '&title='%20+%20encodeURIComponent(title)+ |
91 | '&description='%20+%20encodeURIComponent(desc)+ | 89 | '&description='%20+%20encodeURIComponent(desc)+ |
92 | '&source=bookmarklet','_blank','menubar=no,height=800,width=600,toolbar=no,scrollbars=yes,status=no,dialog=1' | 90 | '&source=bookmarklet','_blank','menubar=no,height=800,width=600,toolbar=no,scrollbars=yes,status=no,dialog=1' |