]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Merge pull request #1016 from virtualtam/refactor/session
authorVirtualTam <virtualtam+github@flibidi.net>
Fri, 24 Nov 2017 22:53:15 +0000 (23:53 +0100)
committerGitHub <noreply@github.com>
Fri, 24 Nov 2017 22:53:15 +0000 (23:53 +0100)
Improve SessionManager constructor and tests

Makefile
application/Updater.php
doc/md/Download-and-Installation.md
doc/md/Unit-tests.md
inc/languages/fr/LC_MESSAGES/shaarli.po
tpl/default/css/shaarli.css
tpl/default/img/apple-touch-icon.png [new file with mode: 0644]
tpl/default/includes.html
tpl/default/pluginsadmin.html
tpl/default/tag.cloud.html
tpl/default/tag.list.html

index c2d5594605943f87e16da7dee295acfff5e074ab..d659d908e45aad561638d8f7617b30b3ed51c35a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,6 @@
 # The personal, minimalist, super-fast, database free, bookmarking service.
 # Makefile for PHP code analysis & testing, documentation and release generation
 
-# Prerequisites:
-# - install Composer, either:
-#   - from your distro's package manager;
-#   - from the official website (https://getcomposer.org/download/);
-# - install/update test dependencies:
-#   $ composer install  # 1st setup
-#   $ composer update
-# - install Xdebug for PHPUnit code coverage reports:
-#   - see http://xdebug.org/docs/install
-#   - enable in php.ini
-
 BIN = vendor/bin
 PHP_SOURCE = index.php application tests plugins
 PHP_COMMA_SOURCE = index.php,application,tests,plugins
index bc859536f61a846d9a5923e03f35ea33e9fae77d..8d2bd577d1a27c3f60588f9949f4ab5a311da433 100644 (file)
@@ -443,6 +443,7 @@ class Updater
     public function updateMethodReorderDatastore()
     {
         $this->linkDB->save($this->conf->get('resource.page_cache'));
+        return true;
     }
 }
 
index be848c97e9ab44f8629b5ffbeb2ad69d82c67b31..e64d1a43e25b55c4d53e64579e625335eb02b2b4 100644 (file)
@@ -17,40 +17,44 @@ Using one of the following methods:
 - by cloning the Git repository
 - using Docker: [see the documentation](docker/shaarli-images)
 
----
+--------------------------------------------------------------------------------
 
 ## Latest release (recommended)
+
 ### Download as an archive
-Get the latest released version from the [releases](https://github.com/shaarli/Shaarli/releases) page.
 
-**Download our *shaarli-full* archive** to include dependencies.
+In most cases, you should download the latest Shaarli release from the [releases](https://github.com/shaarli/Shaarli/releases) page. **Download our *shaarli-full* archive** to include dependencies.
 
 The current latest released version is `v0.9.1`
 
-Or in command lines:
-
 ```bash
 $ wget https://github.com/shaarli/Shaarli/releases/download/v0.9.1/shaarli-v0.9.1-full.zip
 $ unzip shaarli-v0.9.1-full.zip
 $ mv Shaarli /path/to/shaarli/
 ```
 
-In most cases, download Shaarli from the [releases](https://github.com/shaarli/Shaarli/releases) page. 
-Cloning using `git` or downloading Github branches as zip files requires additional steps (see below).
-
 ### Using git
 
+Cloning using `git` or downloading Github branches as zip files requires additional steps:
+
+ * Install [Composer](Unit-tests.md#install_composer) to manage Shaarli dependencies.
+ * Install [python3-virtualenv](https://pypi.python.org/pypi/virtualenv) to build the local HTML documentation.
+
 ```
 $ mkdir -p /path/to/shaarli && cd /path/to/shaarli/
 $ git clone -b latest https://github.com/shaarli/Shaarli.git .
 $ composer install --no-dev --prefer-dist
 $ make translate
+$ make htmldoc
 ```
 
+--------------------------------------------------------------------------------
+
 ## Stable version
 
 The stable version has been experienced by Shaarli users, and will receive security updates.
 
+
 ### Download as an archive
 
 As a .zip archive:
@@ -69,9 +73,9 @@ $ tar xvf stable.tar.gz
 $ mv Shaarli-stable /path/to/shaarli/
 ```
 
-### Clone with Git 
+### Using git
 
-[Composer](https://getcomposer.org/) is required to build a functional Shaarli installation when pulling from git.
+Install [Composer](Unit-tests.md#install_composer) to manage Shaarli dependencies.
 
 ```bash
 $ git clone https://github.com/shaarli/Shaarli.git -b stable /path/to/shaarli/
@@ -80,10 +84,15 @@ $ cd /path/to/shaarli/
 $ composer install --no-dev --prefer-dist
 ```
 
+
+--------------------------------------------------------------------------------
+
 ## Development version (mainline)
 
 _Use at your own risk!_
 
+Install [Composer](Unit-tests.md#install_composer) to manage Shaarli dependencies.
+
 To get the latest changes from the `master` branch:
 
 ```bash
@@ -93,8 +102,11 @@ $ git clone https://github.com/shaarli/Shaarli.git -b master /path/to/shaarli/
 $ cd /path/to/shaarli
 $ composer install --no-dev --prefer-dist
 $ make translate
+$ make htmldoc
 ```
 
+-------------------------------------------------------------------------------
+
 ## Finish Installation
 
 Once Shaarli is downloaded and files have been placed at the correct location, open it this location your favorite browser.
index d200634f6ea6513ff5094abc7971e0752cd2b543..f6030d5c2f6134848b58ed8987f1458c8dd4df23 100644 (file)
@@ -2,12 +2,12 @@
 
 The framework used is [PHPUnit](https://phpunit.de/); it can be installed with [Composer](https://getcomposer.org/), which is a dependency management tool.
 
-Regarding Composer, you can either use:
+### Install composer
 
-- a system-wide version, e.g. installed through your distro's package manager
-- a local version, downloadable [here](https://getcomposer.org/download/)
+You can either use:
 
-#### Sample usage
+- a system-wide version, e.g. installed through your distro's package manager
+- a local version, downloadable [here](https://getcomposer.org/download/).
 
 ```bash
 # system-wide version
@@ -29,6 +29,8 @@ $ composer update
 
 #### Install and enable Xdebug to generate PHPUnit coverage reports
 
+See http://xdebug.org/docs/install
+
 For Debian-based distros:
 ```bash
 $ aptitude install php5-xdebug
index 6b2de950a095f9b39325e304de014c608ae5c8c2..323c6111ed793681084d19059c2458c8ba62d959 100644 (file)
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Shaarli\n"
-"POT-Creation-Date: 2017-10-22 13:13+0200\n"
-"PO-Revision-Date: 2017-10-22 13:14+0200\n"
+"POT-Creation-Date: 2017-11-11 10:59+0100\n"
+"PO-Revision-Date: 2017-11-11 11:00+0100\n"
 "Last-Translator: \n"
 "Language-Team: Shaarli\n"
 "Language: fr_FR\n"
@@ -161,11 +161,11 @@ msgstr ""
 "a été importé avec succès en %d secondes : %d liens importés, %d liens "
 "écrasés, %d liens ignorés."
 
-#: application/PageBuilder.php:165
+#: application/PageBuilder.php:167
 msgid "The page you are trying to reach does not exist or has been deleted."
 msgstr "La page que vous essayez de consulter n'existe pas ou a été supprimée."
 
-#: application/PageBuilder.php:167
+#: application/PageBuilder.php:169
 msgid "404 Not Found"
 msgstr "404 Introuvable"
 
@@ -178,44 +178,44 @@ msgstr "Les fichiers de l'extension \"%s\" sont introuvables."
 msgid "Couldn't retrieve Updater class methods."
 msgstr "Impossible de récupérer les méthodes de la classe Updater."
 
-#: application/Updater.php:485
+#: application/Updater.php:493
 msgid "An error occurred while running the update "
 msgstr "Une erreur s'est produite lors de l'exécution de la mise à jour "
 
-#: application/Updater.php:525
+#: application/Updater.php:533
 msgid "Updates file path is not set, can't write updates."
 msgstr ""
 "Le chemin vers le fichier de mise à jour n'est pas défini, impossible "
 "d'écrire les mises à jour."
 
-#: application/Updater.php:530
+#: application/Updater.php:538
 msgid "Unable to write updates in "
 msgstr "Impossible d'écrire les mises à jour dans "
 
-#: application/Utils.php:406 tests/UtilsTest.php:398
+#: application/Utils.php:376 tests/UtilsTest.php:340
 msgid "Setting not set"
 msgstr "Paramètre non défini"
 
-#: application/Utils.php:413 tests/UtilsTest.php:396 tests/UtilsTest.php:397
+#: application/Utils.php:383 tests/UtilsTest.php:338 tests/UtilsTest.php:339
 msgid "Unlimited"
 msgstr "Illimité"
 
-#: application/Utils.php:416 tests/UtilsTest.php:393 tests/UtilsTest.php:394
-#: tests/UtilsTest.php:408
+#: application/Utils.php:386 tests/UtilsTest.php:335 tests/UtilsTest.php:336
+#: tests/UtilsTest.php:350
 msgid "B"
 msgstr "o"
 
-#: application/Utils.php:416 tests/UtilsTest.php:387 tests/UtilsTest.php:388
-#: tests/UtilsTest.php:395
+#: application/Utils.php:386 tests/UtilsTest.php:329 tests/UtilsTest.php:330
+#: tests/UtilsTest.php:337
 msgid "kiB"
 msgstr "ko"
 
-#: application/Utils.php:416 tests/UtilsTest.php:389 tests/UtilsTest.php:390
-#: tests/UtilsTest.php:406 tests/UtilsTest.php:407
+#: application/Utils.php:386 tests/UtilsTest.php:331 tests/UtilsTest.php:332
+#: tests/UtilsTest.php:348 tests/UtilsTest.php:349
 msgid "MiB"
 msgstr "Mo"
 
-#: application/Utils.php:416 tests/UtilsTest.php:391 tests/UtilsTest.php:392
+#: application/Utils.php:386 tests/UtilsTest.php:333 tests/UtilsTest.php:334
 msgid "GiB"
 msgstr "Go"
 
@@ -249,62 +249,62 @@ msgstr "Vous n'êtes pas autorisé à modifier la configuration."
 msgid "Error accessing"
 msgstr "Une erreur s'est produite en accédant à"
 
-#: index.php:133
+#: index.php:135
 msgid "Shared links on "
 msgstr "Liens partagés sur "
 
-#: index.php:155
+#: index.php:157
 msgid "Insufficient permissions:"
 msgstr "Permissions insuffisantes :"
 
-#: index.php:382
+#: index.php:384
 msgid "I said: NO. You are banned for the moment. Go away."
 msgstr "NON. Vous êtes banni pour le moment. Revenez plus tard."
 
-#: index.php:447
+#: index.php:449
 msgid "Wrong login/password."
 msgstr "Nom d'utilisateur ou mot de passe incorrects."
 
-#: index.php:1107
+#: index.php:1092
 msgid "You are not supposed to change a password on an Open Shaarli."
 msgstr ""
 "Vous n'êtes pas censé modifier le mot de passe d'un Shaarli en mode ouvert."
 
-#: index.php:1112 index.php:1153 index.php:1229 index.php:1259 index.php:1359
+#: index.php:1097 index.php:1138 index.php:1214 index.php:1244 index.php:1344
 msgid "Wrong token."
 msgstr "Jeton invalide."
 
-#: index.php:1117
+#: index.php:1102
 msgid "The old password is not correct."
 msgstr "L'ancien mot de passe est incorrect."
 
-#: index.php:1137
+#: index.php:1122
 msgid "Your password has been changed"
 msgstr "Votre mot de passe a été modifié"
 
-#: index.php:1190
+#: index.php:1175
 msgid "Configuration was saved."
 msgstr "La configuration a été sauvegardé."
 
-#: index.php:1241
+#: index.php:1226
 #, php-format
 msgid "The tag was removed from %d link."
 msgid_plural "The tag was removed from %d links."
 msgstr[0] "Le tag a été supprimé de %d lien."
 msgstr[1] "Le tag a été supprimé de %d liens."
 
-#: index.php:1242
+#: index.php:1227
 #, php-format
 msgid "The tag was renamed in %d link."
 msgid_plural "The tag was renamed in %d links."
 msgstr[0] "Le tag a été renommé dans %d lien."
 msgstr[1] "Le tag a été renommé dans %d liens."
 
-#: index.php:1458
+#: index.php:1443
 msgid "Note: "
 msgstr "Note : "
 
-#: index.php:1567
+#: index.php:1552
 #, php-format
 msgid ""
 "The file you are trying to upload is probably bigger than what this "
@@ -314,7 +314,7 @@ msgstr ""
 "le serveur web peut accepter (%s). Merci de l'envoyer en parties plus "
 "légères."
 
-#: index.php:1983
+#: index.php:1972
 #, php-format
 msgid ""
 "<pre>Sessions do not seem to work correctly on your server.<br>Make sure the "
@@ -333,7 +333,7 @@ msgstr ""
 "cookies. Nous vous recommandons d'accéder à votre serveur depuis son adresse "
 "IP ou un <em>Fully Qualified Domain Name</em>.<br>"
 
-#: index.php:1993
+#: index.php:1982
 msgid "Click to try again."
 msgstr "Cliquer ici pour réessayer."
 
@@ -608,84 +608,72 @@ msgstr "Continent"
 msgid "City"
 msgstr "Ville"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:163
-msgid "Redirector"
-msgstr "Redirecteur"
-
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:164
-msgid "e. g."
-msgstr "ex :"
-
 #: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:164
-msgid "will mask the HTTP_REFERER"
-msgstr "masque le HTTP_REFERER"
-
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:179
 msgid "Disable session cookie hijacking protection"
 msgstr "Désactiver la protection contre le détournement de cookies"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:181
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:166
 msgid "Check this if you get disconnected or if your IP address changes often"
 msgstr ""
 "Cocher cette case si vous êtes souvent déconnecté ou si votre adresse IP "
 "change souvent"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:198
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:183
 msgid "Private links by default"
 msgstr "Liens privés par défaut"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:199
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:184
 msgid "All new links are private by default"
 msgstr "Tous les nouveaux liens sont privés par défaut"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:214
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:199
 msgid "RSS direct links"
 msgstr "Liens directs dans le flux RSS"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:215
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:200
 msgid "Check this to use direct URL instead of permalink in feeds"
 msgstr ""
 "Cocher cette case pour utiliser des liens directs au lieu des permaliens "
 "dans le flux RSS"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:230
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:215
 msgid "Hide public links"
 msgstr "Cacher les liens publics"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:231
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:216
 msgid "Do not show any links if the user is not logged in"
 msgstr "N'afficher aucun lien sans être connecté"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:246
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:231
 #: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:150
 msgid "Check updates"
 msgstr "Vérifier les mises à jour"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:247
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:232
 #: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:152
 msgid "Notify me when a new release is ready"
 msgstr "Me notifier lorsqu'une nouvelle version est disponible"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:262
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:247
 #: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169
 msgid "Enable REST API"
 msgstr "Activer l'API REST"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:263
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:248
 #: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:170
 msgid "Allow third party software to use Shaarli such as mobile application"
 msgstr ""
 "Permets aux applications tierces d'utiliser Shaarli, par exemple les "
 "applications mobiles"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:278
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:263
 msgid "API secret"
 msgstr "Clé d'API secrète"
 
-#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:289
+#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:274
 #: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74
 #: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:139
-#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:192
+#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:199
 msgid "Save"
 msgstr "Enregistrer"
 
@@ -1130,6 +1118,10 @@ msgstr "dans la documentation"
 msgid "Plugin configuration"
 msgstr "Configuration des extensions"
 
+#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:195
+msgid "No parameter available."
+msgstr "Aucun paramètre disponible."
+
 #: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19
 #: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19
 msgid "tags"
@@ -1292,6 +1284,15 @@ msgstr ""
 "Glisser ce lien dans votre barre de favoris ou cliquer droit dessus et « "
 "Ajouter aux favoris »"
 
+#~ msgid "Redirector"
+#~ msgstr "Redirecteur"
+
+#~ msgid "e. g."
+#~ msgstr "ex :"
+
+#~ msgid "will mask the HTTP_REFERER"
+#~ msgstr "masque le HTTP_REFERER"
+
 #~ msgid ""
 #~ "An error occurred while parsing JSON configuration file (%s): error code #"
 #~ "%d"
index 9065f8877a24f151ea0143a67bc98bbcfe8953b8..14439402f26237b9694add9ba9e7205dd1e61e81 100644 (file)
@@ -1327,4 +1327,22 @@ form[name="linkform"].page-form {
 
 .markdown *:last-child {
     margin-bottom: 5px !important;
-}
\ No newline at end of file
+}
+
+/**
+ * Pure Button
+ */
+.pure-button-success,
+.pure-button-error,
+.pure-button-warning,
+.pure-button-primary,
+.pure-button-shaarli,
+.pure-button-secondary {
+    color: white !important;
+    border-radius: 4px;
+    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+}
+
+.pure-button-shaarli {
+    background-color: #1B926C;
+}
diff --git a/tpl/default/img/apple-touch-icon.png b/tpl/default/img/apple-touch-icon.png
new file mode 100644 (file)
index 0000000..f29210c
Binary files /dev/null and b/tpl/default/img/apple-touch-icon.png differ
index 80c083331d10a31dced6a4188cfa3f858fbf5397..b2bfec30918281104cacf6c50cae5441fcc26903 100644 (file)
@@ -5,6 +5,7 @@
 <link rel="alternate" type="application/atom+xml" href="{$feedurl}?do=atom{$searchcrits}#" title="ATOM Feed" />
 <link rel="alternate" type="application/rss+xml" href="{$feedurl}?do=rss{$searchcrits}#" title="RSS Feed" />
 <link href="img/favicon.png" rel="shortcut icon" type="image/png" />
+<link href="img/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180" />
 <link type="text/css" rel="stylesheet" href="css/pure.min.css?v={$version_hash}" />
 <link type="text/css" rel="stylesheet" href="css/grids-responsive.min.css?v={$version_hash}">
 <link type="text/css" rel="stylesheet" href="css/pure-extras.css?v={$version_hash}">
@@ -17,4 +18,4 @@
 {loop="$plugins_includes.css_files"}
   <link type="text/css" rel="stylesheet" href="{$value}?v={$version_hash}#"/>
 {/loop}
-<link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle}"/>
\ No newline at end of file
+<link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle}"/>
index 717cb517dfafde4021b697dd697eb3cba957bef7..ca17b435cd3fdff42cca0d5d1b65269ca406ce6b 100644 (file)
@@ -27,7 +27,7 @@
 
         <div>
           {if="count($enabledPlugins)==0"}
-          <p>{'No plugin enabled.'|t}</p>
+            <p class="center">{'No plugin enabled.'|t}</p>
           {else}
           <table id="plugin_table">
             <thead>
@@ -77,7 +77,7 @@
 
         <div>
           {if="count($disabledPlugins)==0"}
-          <p>{'No plugin disabled.'|t}</p>
+            <p class="center">{'No plugin disabled.'|t}</p>
           {else}
           <table>
             <thead>
       <section id="plugin_parameters">
         <div>
           {if="count($enabledPlugins)==0"}
-            <p>{'No plugin enabled.'|t}</p>
+            <p class="center">{'No plugin enabled.'|t}</p>
           {else}
+            {$counter=0}
             {loop="$enabledPlugins"}
+              {$counter=$counter+count($value.parameters)}
               {if="count($value.parameters) > 0"}
                 <div class="plugin_parameters">
                   <h3 class="window-subtitle">{function="str_replace('_', ' ', $key)"}</h3>
                 </div>
               {/if}
             {/loop}
+            {if="$counter===0"}
+              <p class="center">{'No parameter available.'|t}</p>
+            {else}
+              <div class="center">
+                <input type="submit" name="parameters_form" value="{'Save'|t}"/>
+              </div>
+            {/if}
           {/if}
-          <div class="center">
-            <input type="submit" name="parameters_form" value="{'Save'|t}"/>
-          </div>
         </div>
       </section>
     </div>
index 68335c709ba90b5be6b79e80e2cabd9c03b05b9f..12701465e3b07704d9ab5a20c66ab24a9256ac5e 100644 (file)
     {$countTags=count($tags)}
     <h2 class="window-title">{'Tag cloud'|t} - {$countTags} {'tags'|t}</h2>
     {if="!empty($search_tags)"}
-    <p class="enter">
-      <a href="?searchtags={$search_tags|urlencode}">{'List all links with those tags'|t}</a>
+    <p class="center">
+      <a href="?searchtags={$search_tags|urlencode}" class="pure-button pure-button-shaarli">
+        {'List all links with those tags'|t}
+      </a>
     </p>
     {/if}
 
index a3e741d394588ebe8730e6ba73e91c89ef06397a..7140c67a8e174647ffbb8581bb9863faf880f880 100644 (file)
@@ -15,7 +15,9 @@
     <h2 class="window-title">{'Tag list'|t} - {$countTags} {'tags'|t}</h2>
     {if="!empty($search_tags)"}
       <p class="center">
-        <a href="?searchtags={$search_tags|urlencode}">{'List all links with those tags'|t}</a>
+        <a href="?searchtags={$search_tags|urlencode}" class="pure-button pure-button-shaarli">
+          {'List all links with those tags'|t}
+        </a>
       </p>
     {/if}