X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FLinkDB.php;h=9488ac4582532f770da99072c52f0f02b12bea0a;hb=refs%2Fpull%2F486%2Fhead;hp=19ca64355052ba314ab7d9d29587662aa2d94dc7;hpb=55d0a5c445cbbd4fc322051b7753d0b2106cfe68;p=github%2Fshaarli%2FShaarli.git diff --git a/application/LinkDB.php b/application/LinkDB.php index 19ca6435..9488ac45 100644 --- a/application/LinkDB.php +++ b/application/LinkDB.php @@ -32,6 +32,9 @@ class LinkDB implements Iterator, Countable, ArrayAccess // Links are stored as a PHP serialized string private $_datastore; + // Link date storage format + const LINK_DATE_FORMAT = 'Ymd_His'; + // Datastore PHP prefix protected static $phpPrefix = 'linkdate up-to-date. $this->_urls = array(); - foreach ($this->_links as $link) { + foreach ($this->_links as &$link) { + // Keep the list of the mapping URLs-->linkdate up-to-date. $this->_urls[$link['url']] = $link['linkdate']; - } - // Escape links data - foreach($this->_links as &$link) { + // Sanitize data fields. sanitizeLink($link); + + // Remove private tags if the user is not logged in. + if (! $this->_loggedIn) { + $link['tags'] = preg_replace('/(^| )\.[^($| )]+/', '', $link['tags']); + } + // Do not use the redirector for internal links (Shaarli note URL starting with a '?'). if (!empty($this->_redirector) && !startsWith($link['url'], '?')) { $link['real_url'] = $this->_redirector . urlencode($link['url']); @@ -343,7 +350,7 @@ You use the community supported version of the original Shaarli project, by Seba * * @return array filtered links */ - public function filter($type, $request, $casesensitive = false, $privateonly = false) + public function filter($type = '', $request = '', $casesensitive = false, $privateonly = false) { $linkFilter = new LinkFilter($this->_links); $requestFilter = is_array($request) ? implode(' ', $request) : $request; @@ -381,6 +388,7 @@ You use the community supported version of the original Shaarli project, by Seba } $linkDays = array_keys($linkDays); sort($linkDays); + return $linkDays; } }