Add private link counter

This commit is contained in:
ArthurHoaro 2016-05-11 00:05:22 +02:00
parent 03eb19ac60
commit 141a86c503
4 changed files with 30 additions and 15 deletions

View file

@ -77,3 +77,19 @@ function html_extract_charset($html)
return false; return false;
} }
/**
* Count private links in given linklist.
*
* @param array $links Linklist.
*
* @return int Number of private links.
*/
function count_private($links)
{
$cpt = 0;
foreach ($links as $link) {
$cpt = $link['private'] == true ? $cpt + 1 : $cpt;
}
return $cpt;
}

View file

@ -736,7 +736,6 @@ function showDaily($pageBuilder, $LINKSDB)
$dayDate = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $day.'_000000'); $dayDate = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $day.'_000000');
$data = array( $data = array(
'linksToDisplay' => $linksToDisplay, 'linksToDisplay' => $linksToDisplay,
'linkcount' => count($LINKSDB),
'cols' => $columns, 'cols' => $columns,
'day' => $dayDate->getTimestamp(), 'day' => $dayDate->getTimestamp(),
'previousday' => $previousday, 'previousday' => $previousday,
@ -792,6 +791,8 @@ function renderPage()
} }
$PAGE = new PageBuilder(); $PAGE = new PageBuilder();
$PAGE->assign('linkcount', count($LINKSDB));
$PAGE->assign('privateLinkcount', count_private($LINKSDB));
// Determine which page will be rendered. // Determine which page will be rendered.
$query = (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : ''; $query = (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : '';
@ -855,7 +856,6 @@ function renderPage()
} }
$data = array( $data = array(
'linkcount' => count($LINKSDB),
'linksToDisplay' => $linksToDisplay, 'linksToDisplay' => $linksToDisplay,
); );
$pluginManager->executeHooks('render_picwall', $data, array('loggedin' => isLoggedIn())); $pluginManager->executeHooks('render_picwall', $data, array('loggedin' => isLoggedIn()));
@ -905,7 +905,6 @@ function renderPage()
} }
$data = array( $data = array(
'linkcount' => count($LINKSDB),
'tags' => $tagList, 'tags' => $tagList,
); );
$pluginManager->executeHooks('render_tagcloud', $data, array('loggedin' => isLoggedIn())); $pluginManager->executeHooks('render_tagcloud', $data, array('loggedin' => isLoggedIn()));
@ -1099,7 +1098,6 @@ function renderPage()
if ($targetPage == Router::$PAGE_TOOLS) if ($targetPage == Router::$PAGE_TOOLS)
{ {
$data = array( $data = array(
'linkcount' => count($LINKSDB),
'pageabsaddr' => index_url($_SERVER), 'pageabsaddr' => index_url($_SERVER),
); );
$pluginManager->executeHooks('render_tools', $data); $pluginManager->executeHooks('render_tools', $data);
@ -1144,7 +1142,6 @@ function renderPage()
} }
else // show the change password form. else // show the change password form.
{ {
$PAGE->assign('linkcount',count($LINKSDB));
$PAGE->assign('token',getToken()); $PAGE->assign('token',getToken());
$PAGE->renderPage('changepassword'); $PAGE->renderPage('changepassword');
exit; exit;
@ -1192,7 +1189,6 @@ function renderPage()
} }
else // Show the configuration form. else // Show the configuration form.
{ {
$PAGE->assign('linkcount',count($LINKSDB));
$PAGE->assign('token',getToken()); $PAGE->assign('token',getToken());
$PAGE->assign('title', empty($GLOBALS['title']) ? '' : $GLOBALS['title'] ); $PAGE->assign('title', empty($GLOBALS['title']) ? '' : $GLOBALS['title'] );
$PAGE->assign('redirector', empty($GLOBALS['redirector']) ? '' : $GLOBALS['redirector'] ); $PAGE->assign('redirector', empty($GLOBALS['redirector']) ? '' : $GLOBALS['redirector'] );
@ -1208,7 +1204,6 @@ function renderPage()
if ($targetPage == Router::$PAGE_CHANGETAG) if ($targetPage == Router::$PAGE_CHANGETAG)
{ {
if (empty($_POST['fromtag']) || (empty($_POST['totag']) && isset($_POST['renametag']))) { if (empty($_POST['fromtag']) || (empty($_POST['totag']) && isset($_POST['renametag']))) {
$PAGE->assign('linkcount', count($LINKSDB));
$PAGE->assign('token', getToken()); $PAGE->assign('token', getToken());
$PAGE->assign('tags', $LINKSDB->allTags()); $PAGE->assign('tags', $LINKSDB->allTags());
$PAGE->renderPage('changetag'); $PAGE->renderPage('changetag');
@ -1257,7 +1252,6 @@ function renderPage()
// -------- User wants to add a link without using the bookmarklet: Show form. // -------- User wants to add a link without using the bookmarklet: Show form.
if ($targetPage == Router::$PAGE_ADDLINK) if ($targetPage == Router::$PAGE_ADDLINK)
{ {
$PAGE->assign('linkcount',count($LINKSDB));
$PAGE->renderPage('addlink'); $PAGE->renderPage('addlink');
exit; exit;
} }
@ -1383,7 +1377,6 @@ function renderPage()
$link = $LINKSDB[$_GET['edit_link']]; // Read database $link = $LINKSDB[$_GET['edit_link']]; // Read database
if (!$link) { header('Location: ?'); exit; } // Link not found in database. if (!$link) { header('Location: ?'); exit; } // Link not found in database.
$data = array( $data = array(
'linkcount' => count($LINKSDB),
'link' => $link, 'link' => $link,
'link_is_new' => false, 'link_is_new' => false,
'token' => getToken(), 'token' => getToken(),
@ -1451,7 +1444,6 @@ function renderPage()
} }
$data = array( $data = array(
'linkcount' => count($LINKSDB),
'link' => $link, 'link' => $link,
'link_is_new' => $link_is_new, 'link_is_new' => $link_is_new,
'token' => getToken(), // XSRF protection. 'token' => getToken(), // XSRF protection.
@ -1473,7 +1465,6 @@ function renderPage()
// Export links as a Netscape Bookmarks file // Export links as a Netscape Bookmarks file
if (empty($_GET['selection'])) { if (empty($_GET['selection'])) {
$PAGE->assign('linkcount',count($LINKSDB));
$PAGE->renderPage('export'); $PAGE->renderPage('export');
exit; exit;
} }
@ -1532,7 +1523,6 @@ function renderPage()
// -------- Show upload/import dialog: // -------- Show upload/import dialog:
if ($targetPage == Router::$PAGE_IMPORT) if ($targetPage == Router::$PAGE_IMPORT)
{ {
$PAGE->assign('linkcount',count($LINKSDB));
$PAGE->assign('token',getToken()); $PAGE->assign('token',getToken());
$PAGE->assign('maxfilesize',getMaxFileSize()); $PAGE->assign('maxfilesize',getMaxFileSize());
$PAGE->renderPage('import'); $PAGE->renderPage('import');
@ -1764,7 +1754,6 @@ function buildLinkList($PAGE,$LINKSDB)
// Fill all template fields. // Fill all template fields.
$data = array( $data = array(
'linkcount' => count($LINKSDB),
'previous_page_url' => $previous_page_url, 'previous_page_url' => $previous_page_url,
'next_page_url' => $next_page_url, 'next_page_url' => $next_page_url,
'page_current' => $page, 'page_current' => $page,
@ -2039,7 +2028,7 @@ function install()
$timezone_html = '<tr><td><b>Timezone:</b></td><td>'.$timezone_form.'</td></tr>'; $timezone_html = '<tr><td><b>Timezone:</b></td><td>'.$timezone_form.'</td></tr>';
} }
$PAGE = new pageBuilder; $PAGE = new PageBuilder();
$PAGE->assign('timezone_html',$timezone_html); $PAGE->assign('timezone_html',$timezone_html);
$PAGE->assign('timezone_js',$timezone_js); $PAGE->assign('timezone_js',$timezone_js);
$PAGE->renderPage('install'); $PAGE->renderPage('install');

View file

@ -84,4 +84,13 @@ public function testHtmlExtractNonExistentCharset()
$html = '<html><meta>stuff</meta><meta charset=""/></html>'; $html = '<html><meta>stuff</meta><meta charset=""/></html>';
$this->assertFalse(html_extract_charset($html)); $this->assertFalse(html_extract_charset($html));
} }
/**
* Test count_private.
*/
public function testCountPrivateLinks()
{
$refDB = new ReferenceLinkDB();
$this->assertEquals($refDB->countPrivateLinks(), count_private($refDB->getLinks()));
}
} }

View file

@ -2,7 +2,8 @@
<div id="logo" title="Share your links !" onclick="document.location='?';"></div> <div id="logo" title="Share your links !" onclick="document.location='?';"></div>
<div id="linkcount" class="nomobile"> <div id="linkcount" class="nomobile">
{if="!empty($linkcount)"}{$linkcount} links{/if} {if="!empty($linkcount)"}{$linkcount} links{/if}<br>
{if="!empty($privateLinkcount)"}{$privateLinkcount} private links{/if}
</div> </div>
<div id="menu"> <div id="menu">