aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKnah Tsaeb <Knah-Tsaeb@knah-tsaeb.org>2016-12-07 11:58:25 +0100
committerArthurHoaro <arthur@hoa.ro>2017-01-05 12:04:02 +0100
commitadc4aee80f7cd3242f65f0b316af2b560a64712c (patch)
treeaf62f8bfb21232bc36dd6d12eb5bc2fc35c21146
parentfc11ab2f290a3712b766d78fdbcd354625a35d0a (diff)
downloadShaarli-adc4aee80f7cd3242f65f0b316af2b560a64712c.tar.gz
Shaarli-adc4aee80f7cd3242f65f0b316af2b560a64712c.tar.zst
Shaarli-adc4aee80f7cd3242f65f0b316af2b560a64712c.zip
Change templates set through administration UI
-rw-r--r--application/ApplicationUtils.php1
-rw-r--r--application/PageBuilder.php2
-rw-r--r--application/Utils.php10
-rw-r--r--application/config/ConfigManager.php1
-rw-r--r--application/config/ConfigPhp.php3
-rw-r--r--index.php7
-rw-r--r--tests/ApplicationUtilsTest.php3
-rw-r--r--tpl/default/404.html (renamed from tpl/404.html)0
-rw-r--r--tpl/default/addlink.html (renamed from tpl/addlink.html)0
-rw-r--r--tpl/default/changepassword.html (renamed from tpl/changepassword.html)0
-rw-r--r--tpl/default/changetag.html (renamed from tpl/changetag.html)2
-rw-r--r--tpl/default/configure.html (renamed from tpl/configure.html)17
-rw-r--r--tpl/default/daily.html (renamed from tpl/daily.html)8
-rw-r--r--tpl/default/dailyrss.html (renamed from tpl/dailyrss.html)0
-rw-r--r--tpl/default/editlink.html (renamed from tpl/editlink.html)2
-rw-r--r--tpl/default/export.bookmarks.html (renamed from tpl/export.bookmarks.html)0
-rw-r--r--tpl/default/export.html (renamed from tpl/export.html)0
-rw-r--r--tpl/default/feed.atom.html (renamed from tpl/feed.atom.html)0
-rw-r--r--tpl/default/feed.rss.html (renamed from tpl/feed.rss.html)0
-rw-r--r--tpl/default/images/50pc_transparent.png (renamed from images/50pc_transparent.png)bin599 -> 599 bytes
-rw-r--r--tpl/default/images/Paper_texture_v5_by_bashcorpo_w1000.jpg (renamed from images/Paper_texture_v5_by_bashcorpo_w1000.jpg)bin127449 -> 127449 bytes
-rw-r--r--tpl/default/images/calendar.png (renamed from images/calendar.png)bin650 -> 650 bytes
-rw-r--r--tpl/default/images/private.png (renamed from images/private.png)bin813 -> 813 bytes
-rw-r--r--tpl/default/images/tag_blue.png (renamed from images/tag_blue.png)bin714 -> 714 bytes
-rw-r--r--tpl/default/import.html (renamed from tpl/import.html)0
-rw-r--r--tpl/default/inc/reset.css (renamed from inc/reset.css)0
-rw-r--r--tpl/default/inc/shaarli.css (renamed from inc/shaarli.css)2
-rw-r--r--tpl/default/includes.html (renamed from tpl/includes.html)6
-rw-r--r--tpl/default/install.html (renamed from tpl/install.html)0
-rw-r--r--tpl/default/linklist.html (renamed from tpl/linklist.html)2
-rw-r--r--tpl/default/linklist.paging.html (renamed from tpl/linklist.paging.html)0
-rw-r--r--tpl/default/loginform.html (renamed from tpl/loginform.html)0
-rw-r--r--tpl/default/opensearch.html (renamed from tpl/opensearch.html)0
-rw-r--r--tpl/default/page.footer.html (renamed from tpl/page.footer.html)0
-rw-r--r--tpl/default/page.header.html (renamed from tpl/page.header.html)0
-rw-r--r--tpl/default/page.html (renamed from tpl/page.html)0
-rw-r--r--tpl/default/picwall.html (renamed from tpl/picwall.html)0
-rw-r--r--tpl/default/pluginsadmin.html (renamed from tpl/pluginsadmin.html)0
-rw-r--r--tpl/default/readme.txt (renamed from tpl/readme.txt)0
-rw-r--r--tpl/default/tagcloud.html (renamed from tpl/tagcloud.html)0
-rw-r--r--tpl/default/tools.html (renamed from tpl/tools.html)0
41 files changed, 52 insertions, 14 deletions
diff --git a/application/ApplicationUtils.php b/application/ApplicationUtils.php
index 7f963e97..a0f482b0 100644
--- a/application/ApplicationUtils.php
+++ b/application/ApplicationUtils.php
@@ -150,6 +150,7 @@ class ApplicationUtils
150 'inc', 150 'inc',
151 'plugins', 151 'plugins',
152 $conf->get('resource.raintpl_tpl'), 152 $conf->get('resource.raintpl_tpl'),
153 $conf->get('resource.raintpl_tpl').'/'.$conf->get('resource.theme'),
153 ) as $path) { 154 ) as $path) {
154 if (! is_readable(realpath($path))) { 155 if (! is_readable(realpath($path))) {
155 $errors[] = '"'.$path.'" directory is not readable'; 156 $errors[] = '"'.$path.'" directory is not readable';
diff --git a/application/PageBuilder.php b/application/PageBuilder.php
index 32c7f9f1..e226a77d 100644
--- a/application/PageBuilder.php
+++ b/application/PageBuilder.php
@@ -79,7 +79,7 @@ class PageBuilder
79 $this->tpl->assign('hide_timestamps', $this->conf->get('privacy.hide_timestamps', false)); 79 $this->tpl->assign('hide_timestamps', $this->conf->get('privacy.hide_timestamps', false));
80 $this->tpl->assign('token', getToken($this->conf)); 80 $this->tpl->assign('token', getToken($this->conf));
81 // To be removed with a proper theme configuration. 81 // To be removed with a proper theme configuration.
82 $this->tpl->assign('conf', $this->conf); 82 $this->tpl->assign('theme', $this->conf->get('resource.theme', 'default'));
83 } 83 }
84 84
85 /** 85 /**
diff --git a/application/Utils.php b/application/Utils.php
index 35d65224..7556d3c9 100644
--- a/application/Utils.php
+++ b/application/Utils.php
@@ -270,3 +270,13 @@ function normalize_spaces($string)
270{ 270{
271 return preg_replace('/\s{2,}/', ' ', trim($string)); 271 return preg_replace('/\s{2,}/', ' ', trim($string));
272} 272}
273
274function getAllTheme($raintpl_tpl)
275{
276 $allTheme = glob($raintpl_tpl.'/*', GLOB_ONLYDIR);
277 foreach ($allTheme as $value) {
278 $themes[] = str_replace($raintpl_tpl.'/', '', $value);
279 }
280
281 return $themes;
282}
diff --git a/application/config/ConfigManager.php b/application/config/ConfigManager.php
index ca8918b5..a401887c 100644
--- a/application/config/ConfigManager.php
+++ b/application/config/ConfigManager.php
@@ -299,6 +299,7 @@ class ConfigManager
299 $this->setEmpty('resource.log', 'data/log.txt'); 299 $this->setEmpty('resource.log', 'data/log.txt');
300 $this->setEmpty('resource.update_check', 'data/lastupdatecheck.txt'); 300 $this->setEmpty('resource.update_check', 'data/lastupdatecheck.txt');
301 $this->setEmpty('resource.raintpl_tpl', 'tpl/'); 301 $this->setEmpty('resource.raintpl_tpl', 'tpl/');
302 $this->setEmpty('resource.theme', 'default');
302 $this->setEmpty('resource.raintpl_tmp', 'tmp/'); 303 $this->setEmpty('resource.raintpl_tmp', 'tmp/');
303 $this->setEmpty('resource.thumbnails_cache', 'cache'); 304 $this->setEmpty('resource.thumbnails_cache', 'cache');
304 $this->setEmpty('resource.page_cache', 'pagecache'); 305 $this->setEmpty('resource.page_cache', 'pagecache');
diff --git a/application/config/ConfigPhp.php b/application/config/ConfigPhp.php
index 27187b66..2eb68d80 100644
--- a/application/config/ConfigPhp.php
+++ b/application/config/ConfigPhp.php
@@ -41,6 +41,7 @@ class ConfigPhp implements ConfigIO
41 'resource.log' => 'config.LOG_FILE', 41 'resource.log' => 'config.LOG_FILE',
42 'resource.update_check' => 'config.UPDATECHECK_FILENAME', 42 'resource.update_check' => 'config.UPDATECHECK_FILENAME',
43 'resource.raintpl_tpl' => 'config.RAINTPL_TPL', 43 'resource.raintpl_tpl' => 'config.RAINTPL_TPL',
44 'resource.theme' => 'config.theme',
44 'resource.raintpl_tmp' => 'config.RAINTPL_TMP', 45 'resource.raintpl_tmp' => 'config.RAINTPL_TMP',
45 'resource.thumbnails_cache' => 'config.CACHEDIR', 46 'resource.thumbnails_cache' => 'config.CACHEDIR',
46 'resource.page_cache' => 'config.PAGECACHE', 47 'resource.page_cache' => 'config.PAGECACHE',
@@ -99,7 +100,7 @@ class ConfigPhp implements ConfigIO
99 $configStr .= '$GLOBALS[\'' . $key . '\'] = ' . var_export($conf[$key], true) . ';' . PHP_EOL; 100 $configStr .= '$GLOBALS[\'' . $key . '\'] = ' . var_export($conf[$key], true) . ';' . PHP_EOL;
100 } 101 }
101 } 102 }
102 103
103 // Store all $conf['config'] 104 // Store all $conf['config']
104 foreach ($conf['config'] as $key => $value) { 105 foreach ($conf['config'] as $key => $value) {
105 $configStr .= '$GLOBALS[\'config\'][\''. $key .'\'] = '.var_export($conf['config'][$key], true).';'. PHP_EOL; 106 $configStr .= '$GLOBALS[\'config\'][\''. $key .'\'] = '.var_export($conf['config'][$key], true).';'. PHP_EOL;
diff --git a/index.php b/index.php
index 2ed14d4f..62d719e1 100644
--- a/index.php
+++ b/index.php
@@ -122,7 +122,8 @@ if (isset($_COOKIE['shaarli']) && !is_session_id_valid($_COOKIE['shaarli'])) {
122$conf = new ConfigManager(); 122$conf = new ConfigManager();
123$conf->setEmpty('general.timezone', date_default_timezone_get()); 123$conf->setEmpty('general.timezone', date_default_timezone_get());
124$conf->setEmpty('general.title', 'Shared links on '. escape(index_url($_SERVER))); 124$conf->setEmpty('general.title', 'Shared links on '. escape(index_url($_SERVER)));
125RainTPL::$tpl_dir = $conf->get('resource.raintpl_tpl'); // template directory 125$conf->setEmpty('resource.theme', 'default');
126RainTPL::$tpl_dir = $conf->get('resource.raintpl_tpl').'/'.$conf->get('resource.theme').'/'; // template directory
126RainTPL::$cache_dir = $conf->get('resource.raintpl_tmp'); // cache directory 127RainTPL::$cache_dir = $conf->get('resource.raintpl_tmp'); // cache directory
127 128
128$pluginManager = new PluginManager($conf); 129$pluginManager = new PluginManager($conf);
@@ -1124,6 +1125,7 @@ function renderPage($conf, $pluginManager, $LINKSDB)
1124 $conf->set('general.timezone', $tz); 1125 $conf->set('general.timezone', $tz);
1125 $conf->set('general.title', escape($_POST['title'])); 1126 $conf->set('general.title', escape($_POST['title']));
1126 $conf->set('general.header_link', escape($_POST['titleLink'])); 1127 $conf->set('general.header_link', escape($_POST['titleLink']));
1128 $conf->set('resource.theme', escape($_POST['theme']));
1127 $conf->set('redirector.url', escape($_POST['redirector'])); 1129 $conf->set('redirector.url', escape($_POST['redirector']));
1128 $conf->set('security.session_protection_disabled', !empty($_POST['disablesessionprotection'])); 1130 $conf->set('security.session_protection_disabled', !empty($_POST['disablesessionprotection']));
1129 $conf->set('privacy.default_private_links', !empty($_POST['privateLinkByDefault'])); 1131 $conf->set('privacy.default_private_links', !empty($_POST['privateLinkByDefault']));
@@ -1134,6 +1136,7 @@ function renderPage($conf, $pluginManager, $LINKSDB)
1134 $conf->set('api.secret', escape($_POST['apiSecret'])); 1136 $conf->set('api.secret', escape($_POST['apiSecret']));
1135 try { 1137 try {
1136 $conf->write(isLoggedIn()); 1138 $conf->write(isLoggedIn());
1139 invalidateCaches($conf->get('resource.page_cache'));
1137 } 1140 }
1138 catch(Exception $e) { 1141 catch(Exception $e) {
1139 error_log( 1142 error_log(
@@ -1151,6 +1154,8 @@ function renderPage($conf, $pluginManager, $LINKSDB)
1151 else // Show the configuration form. 1154 else // Show the configuration form.
1152 { 1155 {
1153 $PAGE->assign('title', $conf->get('general.title')); 1156 $PAGE->assign('title', $conf->get('general.title'));
1157 $PAGE->assign('theme', $conf->get('resource.theme'));
1158 $PAGE->assign('theme_available', getAllTheme($conf->get('resource.raintpl_tpl')));
1154 $PAGE->assign('redirector', $conf->get('redirector.url')); 1159 $PAGE->assign('redirector', $conf->get('redirector.url'));
1155 list($timezone_form, $timezone_js) = generateTimeZoneForm($conf->get('general.timezone')); 1160 list($timezone_form, $timezone_js) = generateTimeZoneForm($conf->get('general.timezone'));
1156 $PAGE->assign('timezone_form', $timezone_form); 1161 $PAGE->assign('timezone_form', $timezone_form);
diff --git a/tests/ApplicationUtilsTest.php b/tests/ApplicationUtilsTest.php
index 861b8d4e..634bd0ed 100644
--- a/tests/ApplicationUtilsTest.php
+++ b/tests/ApplicationUtilsTest.php
@@ -289,6 +289,7 @@ class ApplicationUtilsTest extends PHPUnit_Framework_TestCase
289 $conf->set('resource.page_cache', 'pagecache'); 289 $conf->set('resource.page_cache', 'pagecache');
290 $conf->set('resource.raintpl_tmp', 'tmp'); 290 $conf->set('resource.raintpl_tmp', 'tmp');
291 $conf->set('resource.raintpl_tpl', 'tpl'); 291 $conf->set('resource.raintpl_tpl', 'tpl');
292 $conf->set('resource.theme', 'default');
292 $conf->set('resource.update_check', 'data/lastupdatecheck.txt'); 293 $conf->set('resource.update_check', 'data/lastupdatecheck.txt');
293 294
294 $this->assertEquals( 295 $this->assertEquals(
@@ -312,10 +313,12 @@ class ApplicationUtilsTest extends PHPUnit_Framework_TestCase
312 $conf->set('resource.page_cache', 'null/pagecache'); 313 $conf->set('resource.page_cache', 'null/pagecache');
313 $conf->set('resource.raintpl_tmp', 'null/tmp'); 314 $conf->set('resource.raintpl_tmp', 'null/tmp');
314 $conf->set('resource.raintpl_tpl', 'null/tpl'); 315 $conf->set('resource.raintpl_tpl', 'null/tpl');
316 $conf->set('resource.raintpl_theme', 'null/tpl/default');
315 $conf->set('resource.update_check', 'null/data/lastupdatecheck.txt'); 317 $conf->set('resource.update_check', 'null/data/lastupdatecheck.txt');
316 $this->assertEquals( 318 $this->assertEquals(
317 array( 319 array(
318 '"null/tpl" directory is not readable', 320 '"null/tpl" directory is not readable',
321 '"null/tpl/default" directory is not readable',
319 '"null/cache" directory is not readable', 322 '"null/cache" directory is not readable',
320 '"null/cache" directory is not writable', 323 '"null/cache" directory is not writable',
321 '"null/data" directory is not readable', 324 '"null/data" directory is not readable',
diff --git a/tpl/404.html b/tpl/default/404.html
index 53e98e2e..53e98e2e 100644
--- a/tpl/404.html
+++ b/tpl/default/404.html
diff --git a/tpl/addlink.html b/tpl/default/addlink.html
index da50f45e..da50f45e 100644
--- a/tpl/addlink.html
+++ b/tpl/default/addlink.html
diff --git a/tpl/changepassword.html b/tpl/default/changepassword.html
index c40daf9d..c40daf9d 100644
--- a/tpl/changepassword.html
+++ b/tpl/default/changepassword.html
diff --git a/tpl/changetag.html b/tpl/default/changetag.html
index 13cc5cf1..a0df3328 100644
--- a/tpl/changetag.html
+++ b/tpl/default/changetag.html
@@ -1,7 +1,7 @@
1<!DOCTYPE html> 1<!DOCTYPE html>
2<html> 2<html>
3<head>{include="includes"} 3<head>{include="includes"}
4 <link type="text/css" rel="stylesheet" href="../inc/awesomplete.css" /> 4 <link type="text/css" rel="stylesheet" href="inc/awesomplete.css#" />
5 <script src="inc/awesomplete.min.js#"></script> 5 <script src="inc/awesomplete.min.js#"></script>
6</head> 6</head>
7<body onload="document.changetag.fromtag.focus();"> 7<body onload="document.changetag.fromtag.focus();">
diff --git a/tpl/configure.html b/tpl/default/configure.html
index b4197bf9..94f6df69 100644
--- a/tpl/configure.html
+++ b/tpl/default/configure.html
@@ -19,6 +19,23 @@
19 <td><input type="text" name="titleLink" id="titleLink" size="50" value="{$titleLink}"><br/><label 19 <td><input type="text" name="titleLink" id="titleLink" size="50" value="{$titleLink}"><br/><label
20 for="titleLink">(default value is: ?)</label></td> 20 for="titleLink">(default value is: ?)</label></td>
21 </tr> 21 </tr>
22
23 <tr>
24 <td><b>Theme:</b></td>
25 <td>
26 <select name="theme" id="theme">
27 {loop="$theme_available"}
28 {if="$value===$theme"}
29 <option selected value="{$value}">{$value|ucfirst}</option>
30 {else}
31 <option value="{$value}">{$value|ucfirst}</option>
32 {/if}
33 {/loop}
34 </select>
35 <label for="theme">(default value is: Default)</label>
36 </td>
37 </tr>
38
22 <tr> 39 <tr>
23 <td><b>Timezone:</b></td> 40 <td><b>Timezone:</b></td>
24 <td>{$timezone_form}</td> 41 <td>{$timezone_form}</td>
diff --git a/tpl/daily.html b/tpl/default/daily.html
index eba0af3b..024ee32e 100644
--- a/tpl/daily.html
+++ b/tpl/default/daily.html
@@ -28,9 +28,9 @@
28 </div> 28 </div>
29 29
30 <div class="dailyTitle"> 30 <div class="dailyTitle">
31 <img src="../images/floral_left.png" width="51" height="50" class="nomobile" alt="floral_left"> 31 <img src="../../images/floral_left.png" width="51" height="50" class="nomobile" alt="floral_left">
32 The Daily Shaarli 32 The Daily Shaarli
33 <img src="../images/floral_right.png" width="51" height="50" class="nomobile" alt="floral_right"> 33 <img src="../../images/floral_right.png" width="51" height="50" class="nomobile" alt="floral_right">
34 </div> 34 </div>
35 35
36 <div class="dailyDate"> 36 <div class="dailyDate">
@@ -50,7 +50,7 @@
50 <div class="dailyEntry"> 50 <div class="dailyEntry">
51 <div class="dailyEntryPermalink"> 51 <div class="dailyEntryPermalink">
52 <a href="?{$value.shorturl}"> 52 <a href="?{$value.shorturl}">
53 <img src="../images/squiggle2.png" width="25" height="26" title="permalink" alt="permalink"> 53 <img src="../../images/squiggle2.png" width="25" height="26" title="permalink" alt="permalink">
54 </a> 54 </a>
55 </div> 55 </div>
56 {if="!$hide_timestamps || isLoggedIn()"} 56 {if="!$hide_timestamps || isLoggedIn()"}
@@ -94,7 +94,7 @@
94 {$value} 94 {$value}
95 {/loop} 95 {/loop}
96 </div> 96 </div>
97 <div id="closing"><img src="../images/squiggle_closing.png" width="66" height="61" alt="-"></div> 97 <div id="closing"><img src="../../images/squiggle_closing.png" width="66" height="61" alt="-"></div>
98</div> 98</div>
99{include="page.footer"} 99{include="page.footer"}
100</body> 100</body>
diff --git a/tpl/dailyrss.html b/tpl/default/dailyrss.html
index ddbd6c5e..ddbd6c5e 100644
--- a/tpl/dailyrss.html
+++ b/tpl/default/dailyrss.html
diff --git a/tpl/editlink.html b/tpl/default/editlink.html
index 870cc168..d3f99fe6 100644
--- a/tpl/editlink.html
+++ b/tpl/default/editlink.html
@@ -1,7 +1,7 @@
1<!DOCTYPE html> 1<!DOCTYPE html>
2<html> 2<html>
3<head>{include="includes"} 3<head>{include="includes"}
4 <link type="text/css" rel="stylesheet" href="../inc/awesomplete.css" /> 4 <link type="text/css" rel="stylesheet" href="inc/awesomplete.css#" />
5</head> 5</head>
6<body 6<body
7{if="$link.title==''"}onload="document.linkform.lf_title.focus();" 7{if="$link.title==''"}onload="document.linkform.lf_title.focus();"
diff --git a/tpl/export.bookmarks.html b/tpl/default/export.bookmarks.html
index 127a5c20..127a5c20 100644
--- a/tpl/export.bookmarks.html
+++ b/tpl/default/export.bookmarks.html
diff --git a/tpl/export.html b/tpl/default/export.html
index 67c3d05f..67c3d05f 100644
--- a/tpl/export.html
+++ b/tpl/default/export.html
diff --git a/tpl/feed.atom.html b/tpl/default/feed.atom.html
index 49798e85..49798e85 100644
--- a/tpl/feed.atom.html
+++ b/tpl/default/feed.atom.html
diff --git a/tpl/feed.rss.html b/tpl/default/feed.rss.html
index ee3fef88..ee3fef88 100644
--- a/tpl/feed.rss.html
+++ b/tpl/default/feed.rss.html
diff --git a/images/50pc_transparent.png b/tpl/default/images/50pc_transparent.png
index 8d8f99de..8d8f99de 100644
--- a/images/50pc_transparent.png
+++ b/tpl/default/images/50pc_transparent.png
Binary files differ
diff --git a/images/Paper_texture_v5_by_bashcorpo_w1000.jpg b/tpl/default/images/Paper_texture_v5_by_bashcorpo_w1000.jpg
index dd8e67ac..dd8e67ac 100644
--- a/images/Paper_texture_v5_by_bashcorpo_w1000.jpg
+++ b/tpl/default/images/Paper_texture_v5_by_bashcorpo_w1000.jpg
Binary files differ
diff --git a/images/calendar.png b/tpl/default/images/calendar.png
index 81c74519..81c74519 100644
--- a/images/calendar.png
+++ b/tpl/default/images/calendar.png
Binary files differ
diff --git a/images/private.png b/tpl/default/images/private.png
index 8919d658..8919d658 100644
--- a/images/private.png
+++ b/tpl/default/images/private.png
Binary files differ
diff --git a/images/tag_blue.png b/tpl/default/images/tag_blue.png
index 7ec902fc..7ec902fc 100644
--- a/images/tag_blue.png
+++ b/tpl/default/images/tag_blue.png
Binary files differ
diff --git a/tpl/import.html b/tpl/default/import.html
index 071e1160..071e1160 100644
--- a/tpl/import.html
+++ b/tpl/default/import.html
diff --git a/inc/reset.css b/tpl/default/inc/reset.css
index e29699e2..e29699e2 100644
--- a/inc/reset.css
+++ b/tpl/default/inc/reset.css
diff --git a/inc/shaarli.css b/tpl/default/inc/shaarli.css
index a24d4b7c..45890f62 100644
--- a/inc/shaarli.css
+++ b/tpl/default/inc/shaarli.css
@@ -103,7 +103,7 @@ strong {
103} 103}
104 104
105#pageheader #logo { 105#pageheader #logo {
106 background-image: url('../images/logo.png'); 106 background-image: url('../../../images/logo.png');
107 background-repeat: no-repeat; 107 background-repeat: no-repeat;
108 float: left; 108 float: left;
109 margin: 0 10px 0 10px; 109 margin: 0 10px 0 10px;
diff --git a/tpl/includes.html b/tpl/default/includes.html
index 7b2997ce..2ff5d8df 100644
--- a/tpl/includes.html
+++ b/tpl/default/includes.html
@@ -6,9 +6,9 @@
6<link rel="alternate" type="application/rss+xml" href="{$feedurl}?do=rss{$searchcrits}#" title="RSS Feed" /> 6<link rel="alternate" type="application/rss+xml" href="{$feedurl}?do=rss{$searchcrits}#" title="RSS Feed" />
7<link rel="alternate" type="application/atom+xml" href="{$feedurl}?do=atom{$searchcrits}#" title="ATOM Feed" /> 7<link rel="alternate" type="application/atom+xml" href="{$feedurl}?do=atom{$searchcrits}#" title="ATOM Feed" />
8<link href="images/favicon.ico#" rel="shortcut icon" type="image/x-icon" /> 8<link href="images/favicon.ico#" rel="shortcut icon" type="image/x-icon" />
9<link type="text/css" rel="stylesheet" href="../inc/reset.css" /> 9<link type="text/css" rel="stylesheet" href="inc/reset.css" />
10<link type="text/css" rel="stylesheet" href="../inc/shaarli.css" /> 10<link type="text/css" rel="stylesheet" href="inc/shaarli.css" />
11{if="is_file('inc/user.css')"}<link type="text/css" rel="stylesheet" href="../inc/user.css" />{/if} 11{if="is_file('inc/user.css')"}<link type="text/css" rel="stylesheet" href="inc/user.css#" />{/if}
12{loop="$plugins_includes.css_files"} 12{loop="$plugins_includes.css_files"}
13<link type="text/css" rel="stylesheet" href="{$value}#"/> 13<link type="text/css" rel="stylesheet" href="{$value}#"/>
14{/loop} 14{/loop}
diff --git a/tpl/install.html b/tpl/default/install.html
index 42874dcd..42874dcd 100644
--- a/tpl/install.html
+++ b/tpl/default/install.html
diff --git a/tpl/linklist.html b/tpl/default/linklist.html
index d4232342..5accc92f 100644
--- a/tpl/linklist.html
+++ b/tpl/default/linklist.html
@@ -1,7 +1,7 @@
1<!DOCTYPE html> 1<!DOCTYPE html>
2<html> 2<html>
3<head> 3<head>
4 <link type="text/css" rel="stylesheet" href="../inc/awesomplete.css" /> 4 <link type="text/css" rel="stylesheet" href="inc/awesomplete.css#" />
5 {include="includes"} 5 {include="includes"}
6</head> 6</head>
7<body> 7<body>
diff --git a/tpl/linklist.paging.html b/tpl/default/linklist.paging.html
index 86019c01..86019c01 100644
--- a/tpl/linklist.paging.html
+++ b/tpl/default/linklist.paging.html
diff --git a/tpl/loginform.html b/tpl/default/loginform.html
index 84176385..84176385 100644
--- a/tpl/loginform.html
+++ b/tpl/default/loginform.html
diff --git a/tpl/opensearch.html b/tpl/default/opensearch.html
index 3fcc30b7..3fcc30b7 100644
--- a/tpl/opensearch.html
+++ b/tpl/default/opensearch.html
diff --git a/tpl/page.footer.html b/tpl/default/page.footer.html
index 006d1d68..006d1d68 100644
--- a/tpl/page.footer.html
+++ b/tpl/default/page.footer.html
diff --git a/tpl/page.header.html b/tpl/default/page.header.html
index cce61ec4..cce61ec4 100644
--- a/tpl/page.header.html
+++ b/tpl/default/page.header.html
diff --git a/tpl/page.html b/tpl/default/page.html
index 834915ec..834915ec 100644
--- a/tpl/page.html
+++ b/tpl/default/page.html
diff --git a/tpl/picwall.html b/tpl/default/picwall.html
index 4e227e37..4e227e37 100644
--- a/tpl/picwall.html
+++ b/tpl/default/picwall.html
diff --git a/tpl/pluginsadmin.html b/tpl/default/pluginsadmin.html
index ead1734e..ead1734e 100644
--- a/tpl/pluginsadmin.html
+++ b/tpl/default/pluginsadmin.html
diff --git a/tpl/readme.txt b/tpl/default/readme.txt
index b18deaed..b18deaed 100644
--- a/tpl/readme.txt
+++ b/tpl/default/readme.txt
diff --git a/tpl/tagcloud.html b/tpl/default/tagcloud.html
index 05e45273..05e45273 100644
--- a/tpl/tagcloud.html
+++ b/tpl/default/tagcloud.html
diff --git a/tpl/tools.html b/tpl/default/tools.html
index e06d239d..e06d239d 100644
--- a/tpl/tools.html
+++ b/tpl/default/tools.html