]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - doc/Example-patch---add-new-via-field-for-links.html
Bump version to v0.8.0
[github/shaarli/Shaarli.git] / doc / Example-patch---add-new-via-field-for-links.html
index 7df9d25390aacd354c6e9fd274a3f08e5b66843f..133224e200ea3d1d0d9c0b3d004cc2c2a1f2a7b8 100644 (file)
@@ -4,20 +4,71 @@
   <meta charset="utf-8">
   <meta name="generator" content="pandoc">
   <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
-  <title></title>
+  <title>Shaarli – Example patch   add new via field for links</title>
   <style type="text/css">code{white-space: pre;}</style>
+  <link rel="stylesheet" href="github-markdown.css">
   <!--[if lt IE 9]>
-    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
   <![endif]-->
-  <link rel="stylesheet" href="github-markdown.css">
 </head>
 <body>
+<div id="local-sidebar">
+<ul>
+<li><a href="Home.html">Home</a></li>
+<li>Setup
+<ul>
+<li><a href="Download-and-Installation.html">Download and Installation</a></li>
+<li><a href="Upgrade-and-migration.html">Upgrade and migration</a></li>
+<li><a href="Server-requirements.html">Server requirements</a></li>
+<li><a href="Server-configuration.html">Server configuration</a></li>
+<li><a href="Server-security.html">Server security</a></li>
+<li><a href="Shaarli-configuration.html">Shaarli configuration</a></li>
+<li><a href="Plugins.html">Plugins</a></li>
+</ul></li>
+<li><a href="Docker.html">Docker</a></li>
+<li><a href="Usage.html">Usage</a>
+<ul>
+<li><a href="Sharing-button.html">Sharing button</a> (bookmarklet)</li>
+<li><a href="Browsing-and-Searching.html">Browsing and Searching</a></li>
+<li><a href="Firefox-share.html">Firefox share</a></li>
+<li><a href="RSS-feeds.html">RSS feeds</a></li>
+</ul></li>
+<li>How To
+<ul>
+<li><a href="Backup,-restore,-import-and-export.html">Backup, restore, import and export</a></li>
+<li><a href="Copy-an-existing-installation-over-SSH-and-serve-it-locally.html">Copy an existing installation over SSH and serve it locally</a></li>
+<li><a href="Create-and-serve-multiple-Shaarlis-(farm).html">Create and serve multiple Shaarlis (farm)</a></li>
+<li><a href="Download-CSS-styles-from-an-OPML-list.html">Download CSS styles from an OPML list</a></li>
+<li><a href="Datastore-hacks.html">Datastore hacks</a></li>
+</ul></li>
+<li><a href="Troubleshooting.html">Troubleshooting</a></li>
+<li><a href="Development.html">Development</a>
+<ul>
+<li><a href="GnuPG-signature.html">GnuPG signature</a></li>
+<li><a href="Coding-guidelines.html">Coding guidelines</a></li>
+<li><a href="Directory-structure.html">Directory structure</a></li>
+<li><a href="3rd-party-libraries.html">3rd party libraries</a></li>
+<li><a href="Plugin-System.html">Plugin System</a></li>
+<li><a href="Release-Shaarli.html">Release Shaarli</a></li>
+<li><a href="Security.html">Security</a></li>
+<li><a href="Static-analysis.html">Static analysis</a></li>
+<li><a href="Theming.html">Theming</a></li>
+<li><a href="Unit-tests.html">Unit tests</a></li>
+</ul></li>
+<li>About
+<ul>
+<li><a href="FAQ.html">FAQ</a></li>
+<li><a href="Community-&amp;-Related-software.html">Community &amp; Related software</a></li>
+</ul></li>
+</ul>
+</div>
+<h1 id="example-patch-add-new-via-field-for-links">Example patch add new via field for links</h1>
 <p>Example patch to add a new field (&quot;via&quot;) for links, an input field to set the &quot;via&quot; property from the &quot;edit link&quot; dialog, and display the &quot;via&quot; field in the link list display. <strong>Untested, use at your own risk</strong></p>
-<p>Thanks to @Knah-Tsaeb in <a href="https://github.com/sebsauvage/Shaarli/pull/158">https://github.com/sebsauvage/Shaarli/pull/158</a></p>
+<p>Thanks to @Knah-Tsaeb in <a href="https://github.com/sebsauvage/Shaarli/pull/158" class="uri">https://github.com/sebsauvage/Shaarli/pull/158</a></p>
 <pre><code>From e0f363c18e8fe67990ed2bb1a08652e24e70bbcb Mon Sep 17 00:00:00 2001
 From: Knah Tsaeb &lt;knah-tsaeb@knah-tsaeb.org&gt;
 Date: Fri, 11 Oct 2013 15:18:37 +0200
-Subject: [PATCH] Add a &quot;via&quot;/origin property for links, add new input in &quot;edit link&quot; dialog
+Subject: [PATCH] Add a &quot;via&quot;/origin property for links, add new input in &quot;edit link&quot; dialog[](.html)
 Thanks to:
 * https://github.com/Knah-Tsaeb/Shaarli/commit/040eb18ec8cdabd5ea855e108f81f97fbf0478c4
 * https://github.com/Knah-Tsaeb/Shaarli/commit/4123658eae44d7564d1128ce52ddd5689efee813
@@ -33,27 +84,27 @@ diff --git a/index.php b/index.php
 index 6fae2f8..53f798e 100644
 --- a/index.php
 +++ b/index.php
-@@ -436,6 +436,12 @@ if (isset($_POST[&#39;login&#39;]))
+@@ -436,6 +436,12 @@ if (isset($_POST[&#39;login&#39;]))[](.html)
  // ------------------------------------------------------------------------------------------
  // Misc utility functions:
  
 +// Try to get just domain for @via
 +function getJustDomain($url){
 +    $parts = parse_url($url);   
-+    return trim($parts[&#39;host&#39;]);
++    return trim($parts[&#39;host&#39;]);[](.html)
 +    }
 +
  // Returns the server URL (including port and http/https), without path.
  // e.g. &quot;http://myserver.com:8080&quot;
- // You can append $_SERVER[&#39;SCRIPT_NAME&#39;] to get the current script URL.
+ // You can append $_SERVER[&#39;SCRIPT_NAME&#39;] to get the current script URL.[](.html)
 @@ -799,7 +805,8 @@ class linkdb implements Iterator, Countable, ArrayAccess
-             $found=   (strpos(strtolower($l[&#39;title&#39;]),$s)!==false)
-                    || (strpos(strtolower($l[&#39;description&#39;]),$s)!==false)
-                    || (strpos(strtolower($l[&#39;url&#39;]),$s)!==false)
--                   || (strpos(strtolower($l[&#39;tags&#39;]),$s)!==false);
-+                   || (strpos(strtolower($l[&#39;tags&#39;]),$s)!==false)
-+                   || (!empty($l[&#39;via&#39;]) &amp;&amp; (strpos(strtolower($l[&#39;via&#39;]),$s)!==false));
-             if ($found) $filtered[$l[&#39;linkdate&#39;]] = $l;
+             $found=   (strpos(strtolower($l[&#39;title&#39;]),$s)!==false)[](.html)
+                    || (strpos(strtolower($l[&#39;description&#39;]),$s)!==false)[](.html)
+                    || (strpos(strtolower($l[&#39;url&#39;]),$s)!==false)[](.html)
+-                   || (strpos(strtolower($l[&#39;tags&#39;]),$s)!==false);[](.html)
++                   || (strpos(strtolower($l[&#39;tags&#39;]),$s)!==false)[](.html)
++                   || (!empty($l[&#39;via&#39;]) &amp;&amp; (strpos(strtolower($l[&#39;via&#39;]),$s)!==false));[](.html)
+             if ($found) $filtered[$l[&#39;linkdate&#39;[ = $l;](-=-$l;.html)
          }
          krsort($filtered);
 @@ -814,7 +821,7 @@ class linkdb implements Iterator, Countable, ArrayAccess
@@ -63,74 +114,74 @@ index 6fae2f8..53f798e 100644
 -        foreach($this-&gt;links as $l)
 +        foreach($this-&gt; links as $l)
          {
-             $linktags = explode(&#39; &#39;,($casesensitive?$l[&#39;tags&#39;]:strtolower($l[&#39;tags&#39;])));
+             $linktags = explode(&#39; &#39;,($casesensitive?$l[&#39;tags&#39;]:strtolower($l[&#39;tags&#39;])));[](.html)
              if (count(array_intersect($linktags,$searchtags)) == count($searchtags))
 @@ -905,7 +912,7 @@ function showRSS()
      else $linksToDisplay = $LINKSDB;
      $nblinksToDisplay = 50;  // Number of links to display.
-     if (!empty($_GET[&#39;nb&#39;]))  // In URL, you can specificy the number of links. Example: nb=200 or nb=all for all links.
+     if (!empty($_GET[&#39;nb&#39;]))  // In URL, you can specificy the number of links. Example: nb=200 or nb=all for all links.[](.html)
 -    { 
 +    {
-         $nblinksToDisplay = $_GET[&#39;nb&#39;]==&#39;all&#39; ? count($linksToDisplay) : max($_GET[&#39;nb&#39;]+0,1) ;
+         $nblinksToDisplay = $_GET[&#39;nb&#39;]==&#39;all&#39; ? count($linksToDisplay) : max($_GET[&#39;nb&#39;]+0,1) ;[](.html)
      }
  
 @@ -944,7 +951,12 @@ function showRSS()
          // If user wants permalinks first, put the final link in description
          if ($usepermalinks===true) $descriptionlink = &#39;(&lt;a href=&quot;&#39;.$absurl.&#39;&quot;&gt;Link&lt;/a&gt;)&#39;;
-         if (strlen($link[&#39;description&#39;])&gt;0) $descriptionlink = &#39;&lt;br&gt;&#39;.$descriptionlink;
--        echo &#39;&lt;description&gt;&lt;![CDATA[&#39;.nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link[&#39;description&#39;])))).$descriptionlink.&#39;]]&gt;&lt;/description&gt;&#39;.&quot;\n&lt;/item&gt;\n&quot;;
-+        if(!empty($link[&#39;via&#39;])){
-+          $via = &#39;&lt;br&gt;Origine =&gt; &lt;a href=&quot;&#39;.htmlspecialchars($link[&#39;via&#39;]).&#39;&quot;&gt;&#39;.htmlspecialchars(getJustDomain($link[&#39;via&#39;])).&#39;&lt;/a&gt;&#39;;
+         if (strlen($link[&#39;description&#39;])&gt;0) $descriptionlink = &#39;&lt;br&gt;&#39;.$descriptionlink;[](.html)
+-        echo &#39;&lt;description&gt;&lt;![CDATA[&#39;.nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link[&#39;description&#39;])))).$descriptionlink.&#39;[&gt;&lt;/description&gt;&#39;.&quot;\n&lt;/item&gt;\n&quot;;](&gt;&lt;/description&gt;&#39;.&quot;\n&lt;/item&gt;\n&quot;;.html)
++        if(!empty($link[&#39;via&#39;])){[](.html)
++          $via = &#39;&lt;br&gt;Origine =&gt; &lt;a href=&quot;&#39;.htmlspecialchars($link[&#39;via&#39;]).&#39;&quot;&gt;&#39;.htmlspecialchars(getJustDomain($link[&#39;via&#39;])).&#39;&lt;/a&gt;&#39;;[](.html)
 +        } else {
 +         $via = &#39;&#39;;
 +        }
-+        echo &#39;&lt;description&gt;&lt;![CDATA[&#39;.nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link[&#39;description&#39;])))).$via.$descriptionlink.&#39;]]&gt;&lt;/description&gt;&#39;.&quot;\n&lt;/item&gt;\n&quot;;
++        echo &#39;&lt;description&gt;&lt;![CDATA[&#39;.nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link[&#39;description&#39;])))).$via.$descriptionlink.&#39;[&gt;&lt;/description&gt;&#39;.&quot;\n&lt;/item&gt;\n&quot;;](&gt;&lt;/description&gt;&#39;.&quot;\n&lt;/item&gt;\n&quot;;.html)
          $i++;
      }
      echo &#39;&lt;/channel&gt;&lt;/rss&gt;&lt;!-- Cached version of &#39;.htmlspecialchars(pageUrl()).&#39; --&gt;&#39;;
 @@ -980,7 +992,7 @@ function showATOM()
      else $linksToDisplay = $LINKSDB;
      $nblinksToDisplay = 50;  // Number of links to display.
-     if (!empty($_GET[&#39;nb&#39;]))  // In URL, you can specificy the number of links. Example: nb=200 or nb=all for all links.
+     if (!empty($_GET[&#39;nb&#39;]))  // In URL, you can specificy the number of links. Example: nb=200 or nb=all for all links.[](.html)
 -    { 
 +    {
-         $nblinksToDisplay = $_GET[&#39;nb&#39;]==&#39;all&#39; ? count($linksToDisplay) : max($_GET[&#39;nb&#39;]+0,1) ;
+         $nblinksToDisplay = $_GET[&#39;nb&#39;]==&#39;all&#39; ? count($linksToDisplay) : max($_GET[&#39;nb&#39;]+0,1) ;[](.html)
      }
  
 @@ -1006,11 +1018,16 @@ function showATOM()
  
          // Add permalink in description
          $descriptionlink = htmlspecialchars(&#39;(&lt;a href=&quot;&#39;.$guid.&#39;&quot;&gt;Permalink&lt;/a&gt;)&#39;);
-+        if(isset($link[&#39;via&#39;]) &amp;&amp; !empty($link[&#39;via&#39;])){
-+          $via = htmlspecialchars(&#39;&lt;/br&gt; Origine =&gt; &lt;a href=&quot;&#39;.$link[&#39;via&#39;].&#39;&quot;&gt;&#39;.getJustDomain($link[&#39;via&#39;]).&#39;&lt;/a&gt;&#39;);
++        if(isset($link[&#39;via&#39;]) &amp;&amp; !empty($link[&#39;via&#39;])){[](.html)
++          $via = htmlspecialchars(&#39;&lt;/br&gt; Origine =&gt; &lt;a href=&quot;&#39;.$link[&#39;via&#39;].&#39;&quot;&gt;&#39;.getJustDomain($link[&#39;via&#39;]).&#39;&lt;/a&gt;&#39;);[](.html)
 +        } else {
 +          $via = &#39;&#39;;
 +        }
          // If user wants permalinks first, put the final link in description
          if ($usepermalinks===true) $descriptionlink = htmlspecialchars(&#39;(&lt;a href=&quot;&#39;.$absurl.&#39;&quot;&gt;Link&lt;/a&gt;)&#39;);
-         if (strlen($link[&#39;description&#39;])&gt;0) $descriptionlink = &#39;&amp;lt;br&amp;gt;&#39;.$descriptionlink;
+         if (strlen($link[&#39;description&#39;])&gt;0) $descriptionlink = &#39;&amp;lt;br&amp;gt;&#39;.$descriptionlink;[](.html)
  
--        $entries.=&#39;&lt;content type=&quot;html&quot;&gt;&#39;.htmlspecialchars(nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link[&#39;description&#39;]))))).$descriptionlink.&quot;&lt;/content&gt;\n&quot;;
-+        $entries.=&#39;&lt;content type=&quot;html&quot;&gt;&#39;.htmlspecialchars(nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link[&#39;description&#39;]))))).$descriptionlink.$via.&quot;&lt;/content&gt;\n&quot;;
-         if ($link[&#39;tags&#39;]!=&#39;&#39;) // Adding tags to each ATOM entry (as mentioned in ATOM specification)
+-        $entries.=&#39;&lt;content type=&quot;html&quot;&gt;&#39;.htmlspecialchars(nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link[&#39;description&#39;]))))).$descriptionlink.&quot;&lt;/content&gt;\n&quot;;[](.html)
++        $entries.=&#39;&lt;content type=&quot;html&quot;&gt;&#39;.htmlspecialchars(nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link[&#39;description&#39;]))))).$descriptionlink.$via.&quot;&lt;/content&gt;\n&quot;;[](.html)
+         if ($link[&#39;tags&#39;]!=&#39;&#39;) // Adding tags to each ATOM entry (as mentioned in ATOM specification)[](.html)
          {
-             foreach(explode(&#39; &#39;,$link[&#39;tags&#39;]) as $tag)
+             foreach(explode(&#39; &#39;,$link[&#39;tags&#39;]) as $tag)[](.html)
 @@ -1478,7 +1495,7 @@ function renderPage()
          if (!startsWith($url,&#39;http:&#39;) &amp;&amp; !startsWith($url,&#39;https:&#39;) &amp;&amp; !startsWith($url,&#39;ftp:&#39;) &amp;&amp; !startsWith($url,&#39;magnet:&#39;) &amp;&amp; !startsWith($url,&#39;?&#39;))
              $url = &#39;http://&#39;.$url;
-         $link = array(&#39;title&#39;=&gt;trim($_POST[&#39;lf_title&#39;]),&#39;url&#39;=&gt;$url,&#39;description&#39;=&gt;trim($_POST[&#39;lf_description&#39;]),&#39;private&#39;=&gt;(isset($_POST[&#39;lf_private&#39;]) ? 1 : 0),
+         $link = array(&#39;title&#39;=&gt;trim($_POST[&#39;lf_title&#39;]),&#39;url&#39;=&gt;$url,&#39;description&#39;=&gt;trim($_POST[&#39;lf_description&#39;]),&#39;private&#39;=&gt;(isset($_POST[&#39;lf_private&#39;]) ? 1 : 0),[](.html)
 -                      &#39;linkdate&#39;=&gt;$linkdate,&#39;tags&#39;=&gt;str_replace(&#39;,&#39;,&#39; &#39;,$tags));
-+                      &#39;linkdate&#39;=&gt;$linkdate,&#39;tags&#39;=&gt;str_replace(&#39;,&#39;,&#39; &#39;,$tags), &#39;via&#39;=&gt;trim($_POST[&#39;lf_via&#39;]));
-         if ($link[&#39;title&#39;]==&#39;&#39;) $link[&#39;title&#39;]=$link[&#39;url&#39;]; // If title is empty, use the URL as title.
-         $LINKSDB[$linkdate] = $link;
++                      &#39;linkdate&#39;=&gt;$linkdate,&#39;tags&#39;=&gt;str_replace(&#39;,&#39;,&#39; &#39;,$tags), &#39;via&#39;=&gt;trim($_POST[&#39;lf_via&#39;]));[](.html)
+         if ($link[&#39;title&#39;]==&#39;&#39;) $link[&#39;title&#39;]=$link[&#39;url&#39;]; // If title is empty, use the URL as title.[](.html)
+         $LINKSDB[$linkdate] = $link;[](.html)
          $LINKSDB-&gt;savedb(); // Save to disk.
 @@ -1556,7 +1573,8 @@ function renderPage()
-             $title = (empty($_GET[&#39;title&#39;]) ? &#39;&#39; : $_GET[&#39;title&#39;] ); // Get title if it was provided in URL (by the bookmarklet).
-             $description = (empty($_GET[&#39;description&#39;]) ? &#39;&#39; : $_GET[&#39;description&#39;]); // Get description if it was provided in URL (by the bookmarklet). [Bronco added that]
-             $tags = (empty($_GET[&#39;tags&#39;]) ? &#39;&#39; : $_GET[&#39;tags&#39;] ); // Get tags if it was provided in URL
--            $private = (!empty($_GET[&#39;private&#39;]) &amp;&amp; $_GET[&#39;private&#39;] === &quot;1&quot; ? 1 : 0); // Get private if it was provided in URL 
-+            $via = (empty($_GET[&#39;via&#39;]) ? &#39;&#39; : $_GET[&#39;via&#39;] );
-+            $private = (!empty($_GET[&#39;private&#39;]) &amp;&amp; $_GET[&#39;private&#39;] === &quot;1&quot; ? 1 : 0); // Get private if it was provided in URL
+             $title = (empty($_GET[&#39;title&#39;]) ? &#39;&#39; : $_GET[&#39;title&#39;] ); // Get title if it was provided in URL (by the bookmarklet).[](.html)
+             $description = (empty($_GET[&#39;description&#39;]) ? &#39;&#39; : $_GET[&#39;description&#39;]); // Get description if it was provided in URL (by the bookmarklet). [Bronco added that][](.html)
+             $tags = (empty($_GET[&#39;tags&#39;]) ? &#39;&#39; : $_GET[&#39;tags&#39;] ); // Get tags if it was provided in URL[](.html)
+-            $private = (!empty($_GET[&#39;private&#39;]) &amp;&amp; $_GET[&#39;private&#39;] === &quot;1&quot; ? 1 : 0); // Get private if it was provided in URL [](.html)
++            $via = (empty($_GET[&#39;via&#39;]) ? &#39;&#39; : $_GET[&#39;via&#39;] );[](.html)
++            $private = (!empty($_GET[&#39;private&#39;]) &amp;&amp; $_GET[&#39;private&#39;] === &quot;1&quot; ? 1 : 0); // Get private if it was provided in URL[](.html)
              if (($url!=&#39;&#39;) &amp;&amp; parse_url($url,PHP_URL_SCHEME)==&#39;&#39;) $url = &#39;http://&#39;.$url;
              // If this is an HTTP link, we try go get the page to extract the title (otherwise we will to straight to the edit form.)
              if (empty($title) &amp;&amp; parse_url($url,PHP_URL_SCHEME)==&#39;http&#39;)
@@ -141,10 +192,10 @@ index 6fae2f8..53f798e 100644
 - 
 +
                         // If found, extract encoding.
-                        if (!empty($meta[0]))
+                        if (!empty($meta[0]))[](.html)
                         {
 @@ -1577,7 +1595,7 @@ function renderPage()
-                            $html_charset = (!empty($enc[1])) ? strtolower($enc[1]) : &#39;utf-8&#39;;
+                            $html_charset = (!empty($enc[1])) ? strtolower($enc[1]) : &#39;utf-8&#39;;[](.html)
                         }
                         else { $html_charset = &#39;utf-8&#39;; }
 - 
@@ -162,13 +213,13 @@ index 6fae2f8..53f798e 100644
  
          $PAGE = new pageBuilder;
 @@ -1842,6 +1860,9 @@ function buildLinkList($PAGE,$LINKSDB)
-         $taglist = explode(&#39; &#39;,$link[&#39;tags&#39;]);
+         $taglist = explode(&#39; &#39;,$link[&#39;tags&#39;]);[](.html)
          uasort($taglist, &#39;strcasecmp&#39;);
-         $link[&#39;taglist&#39;]=$taglist;
-+        if(!empty($link[&#39;via&#39;])){
-+          $link[&#39;via&#39;]=htmlspecialchars($link[&#39;via&#39;]);
+         $link[&#39;taglist&#39;]=$taglist;[](.html)
++        if(!empty($link[&#39;via&#39;])){[](.html)
++          $link[&#39;via&#39;]=htmlspecialchars($link[&#39;via&#39;]);[](.html)
 +        }
-         $linkDisp[$keys[$i]] = $link;
+         $linkDisp[$keys[$i[ = $link;](-=-$link;.html)
          $i++;
      }
 diff --git a/tpl/editlink.html b/tpl/editlink.html
@@ -180,7 +231,7 @@ index 4a2c30c..14d4f9c 100644
             &lt;i&gt;Description&lt;/i&gt;&lt;br&gt;&lt;textarea name=&quot;lf_description&quot; rows=&quot;4&quot; cols=&quot;25&quot; style=&quot;width:100%&quot;&gt;{$link.description|htmlspecialchars}&lt;/textarea&gt;&lt;br&gt;
             &lt;i&gt;Tags&lt;/i&gt;&lt;br&gt;&lt;input type=&quot;text&quot; id=&quot;lf_tags&quot; name=&quot;lf_tags&quot; value=&quot;{$link.tags|htmlspecialchars}&quot; style=&quot;width:100%&quot;&gt;&lt;br&gt;
 +           &lt;i&gt;Origine&lt;/i&gt;&lt;br&gt;&lt;input type=&quot;text&quot; name=&quot;lf_via&quot; value=&quot;{$link.via|htmlspecialchars}&quot; style=&quot;width:100%&quot;&gt;&lt;br&gt;
-            {if condition=&quot;($link_is_new &amp;&amp; $GLOBALS[&#39;privateLinkByDefault&#39;]==true) || $link.private == true&quot;}
+            {if condition=&quot;($link_is_new &amp;&amp; $GLOBALS[&#39;privateLinkByDefault&#39;]==true) || $link.private == true&quot;}[](.html)
              &lt;input type=&quot;checkbox&quot; checked=&quot;checked&quot; name=&quot;lf_private&quot; id=&quot;lf_private&quot;&gt;
              &amp;nbsp;&lt;label for=&quot;lf_private&quot;&gt;&lt;i&gt;Private&lt;/i&gt;&lt;/label&gt;&lt;br&gt;
 diff --git a/tpl/linklist.html b/tpl/linklist.html
@@ -192,7 +243,7 @@ index ddc38cb..0a8475f 100644
                  &lt;br&gt;
                  {if=&quot;$value.description&quot;}&lt;div class=&quot;linkdescription&quot;{if condition=&quot;$search_type==&#39;permalink&#39;&quot;} style=&quot;max-height:none !important;&quot;{/if}&gt;{$value.description}&lt;/div&gt;{/if}
 +                {if condition=&quot;isset($value.via) &amp;&amp; !empty($value.via)&quot;}&lt;div&gt;&lt;a href=&quot;{$value.via}&quot;&gt;Origine =&gt; {$value.via|getJustDomain}&lt;/a&gt;&lt;/div&gt;{/if}
-                 {if=&quot;!$GLOBALS[&#39;config&#39;][&#39;HIDE_TIMESTAMPS&#39;] || isLoggedIn()&quot;}
+                 {if=&quot;!$GLOBALS[&#39;config&#39;[&#39;HIDE_TIMESTAMPS&#39;] || isLoggedIn()&quot;}](&#39;HIDE_TIMESTAMPS&#39;]-||-isLoggedIn()&quot;}.html)
                      &lt;span class=&quot;linkdate&quot; title=&quot;Permalink&quot;&gt;&lt;a href=&quot;?{$value.linkdate|smallHash}&quot;&gt;{$value.localdate|htmlspecialchars} - permalink&lt;/a&gt; - &lt;/span&gt;
                  {else}
 --