From: nodiscc Date: Tue, 23 Jun 2015 12:18:31 +0000 (+0200) Subject: Merge remote-tracking branch 'ArthurHoaro/search-tag-awesomplete' into next X-Git-Tag: v0.5.0~38 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=0fe36414c86e8417974d847f8d6d28c90def9ccc;hp=-c;p=github%2Fshaarli%2FShaarli.git Merge remote-tracking branch 'ArthurHoaro/search-tag-awesomplete' into next --- 0fe36414c86e8417974d847f8d6d28c90def9ccc diff --combined index.php index 1d63efcd,021d93ff..b44ec463 --- a/index.php +++ b/index.php @@@ -794,12 -794,6 +794,12 @@@ class linkdb implements Iterator, Count // Read database from disk to memory private function readdb() { + // Public links are hidden and user not logged in => nothing to show + if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) { + $this->links = array(); + return; + } + // Read data $this->links=(file_exists($GLOBALS['config']['DATASTORE']) ? unserialize(gzinflate(base64_decode(substr(file_get_contents($GLOBALS['config']['DATASTORE']),strlen(PHPPREFIX),-strlen(PHPSUFFIX))))) : array() ); // Note that gzinflate is faster than gzuncompress. See: http://www.php.net/manual/en/function.gzdeflate.php#96439 @@@ -954,6 -948,9 +954,6 @@@ function showRSS( if (!empty($_GET['searchterm'])) $linksToDisplay = $LINKSDB->filterFulltext($_GET['searchterm']); else if (!empty($_GET['searchtags'])) $linksToDisplay = $LINKSDB->filterTags(trim($_GET['searchtags'])); else $linksToDisplay = $LINKSDB; - - if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) - $linksToDisplay = array(); $nblinksToDisplay = 50; // Number of links to display. if (!empty($_GET['nb'])) // In URL, you can specificy the number of links. Example: nb=200 or nb=all for all links. @@@ -1030,6 -1027,9 +1030,6 @@@ function showATOM( if (!empty($_GET['searchterm'])) $linksToDisplay = $LINKSDB->filterFulltext($_GET['searchterm']); else if (!empty($_GET['searchtags'])) $linksToDisplay = $LINKSDB->filterTags(trim($_GET['searchtags'])); else $linksToDisplay = $LINKSDB; - - if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) - $linksToDisplay = array(); $nblinksToDisplay = 50; // Number of links to display. if (!empty($_GET['nb'])) // In URL, you can specificy the number of links. Example: nb=200 or nb=all for all links. @@@ -1190,7 -1190,8 +1190,7 @@@ function showDaily( } $linksToDisplay=$LINKSDB->filterDay($day); - if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) - $linksToDisplay = array(); + // We pre-format some fields for proper output. foreach($linksToDisplay as $key=>$link) { @@@ -1269,6 -1270,9 +1269,6 @@@ function renderPage( if (!empty($_GET['searchterm'])) $links = $LINKSDB->filterFulltext($_GET['searchterm']); elseif (!empty($_GET['searchtags'])) $links = $LINKSDB->filterTags(trim($_GET['searchtags'])); else $links = $LINKSDB; - - if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) - $links = array(); $body=''; $linksToDisplay=array(); @@@ -1296,7 -1300,8 +1296,7 @@@ if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=tagcloud')) { $tags= $LINKSDB->allTags(); - if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) - $tags = array(); + // We sort tags alphabetically, then choose a font size according to count. // First, find max value. $maxcount=0; foreach($tags as $key=>$value) $maxcount=max($maxcount,$value); @@@ -1909,12 -1914,16 +1909,12 @@@ function buildLinkList($PAGE,$LINKSDB if (isset($_GET['searchterm'])) // Fulltext search { $linksToDisplay = $LINKSDB->filterFulltext(trim($_GET['searchterm'])); - if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) - $linksToDisplay = array(); $search_crits=htmlspecialchars(trim($_GET['searchterm'])); $search_type='fulltext'; } elseif (isset($_GET['searchtags'])) // Search by tag { $linksToDisplay = $LINKSDB->filterTags(trim($_GET['searchtags'])); - if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) - $linksToDisplay = array(); $search_crits=explode(' ',trim($_GET['searchtags'])); $search_type='tags'; } @@@ -1930,6 -1939,9 +1930,6 @@@ } $search_type='permalink'; } - // We chose to disable all private links and the user isn't logged in, do not return any link. - else if ($GLOBALS['config']['HIDE_PUBLIC_LINKS'] && !isLoggedIn()) - $linksToDisplay = array(); else $linksToDisplay = $LINKSDB; // Otherwise, display without filtering. @@@ -2006,6 -2018,7 +2006,7 @@@ $PAGE->assign('redirector',empty($GLOBALS['redirector']) ? '' : $GLOBALS['redirector']); // Optional redirector URL. $PAGE->assign('token',$token); $PAGE->assign('links',$linkDisp); + $PAGE->assign('tags', $LINKSDB->allTags()); return; }