public static $PAGE_TAGCLOUD = 'tagcloud';
+ public static $PAGE_DAILY = 'daily';
+
public static $PAGE_TOOLS = 'tools';
public static $PAGE_CHANGEPASSWORD = 'changepasswd';
return self::$PAGE_OPENSEARCH;
}
+ if (startsWith($query, 'do='. self::$PAGE_DAILY)) {
+ return self::$PAGE_DAILY;
+ }
+
// At this point, only loggedin pages.
if (!$loggedIn) {
return self::$PAGE_LINKLIST;
exit;
}
-// "Daily" page.
-function showDaily()
+/**
+ * Show the 'Daily' page.
+ *
+ * @param PageBuilder $pageBuilder Template engine wrapper.
+ */
+function showDaily($pageBuilder)
{
$LINKSDB = new LinkDB(
$GLOBALS['config']['DATASTORE'],
array_push($columns[$index],$link); // Put entry in this column.
$fill[$index]+=$length;
}
- $PAGE = new pageBuilder;
+
$data = array(
'linksToDisplay' => $linksToDisplay,
'linkcount' => count($LINKSDB),
$pluginManager->executeHooks('render_daily', $data, array('loggedin' => isLoggedIn()));
foreach ($data as $key => $value) {
- $PAGE->assign($key, $value);
+ $pageBuilder->assign($key, $value);
}
- $PAGE->renderPage('daily');
+ $pageBuilder->renderPage('daily');
exit;
}
exit;
}
+ // Daily page.
+ if ($targetPage == Router::$PAGE_DAILY) {
+ showDaily($PAGE);
+ }
+
// Display openseach plugin (XML)
if ($targetPage == Router::$PAGE_OPENSEARCH) {
header('Content-Type: application/xml; charset=utf-8');
// Fill all template fields.
$data = array(
- 'pagetitle' => $GLOBALS['pagetitle'],
'linkcount' => count($LINKSDB),
'previous_page_url' => $previous_page_url,
'next_page_url' => $next_page_url,
'links' => $linkDisp,
'tags' => $LINKSDB->allTags(),
);
+ // FIXME! temporary fix - see #399.
+ if (!empty($GLOBALS['pagetitle']) && count($linkDisp) == 1) {
+ $data['pagetitle'] = $GLOBALS['pagetitle'];
+ }
$pluginManager = PluginManager::getInstance();
$pluginManager->executeHooks('render_linklist', $data, array('loggedin' => isLoggedIn()));
if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=rss')) { showRSS(); exit; }
if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=atom')) { showATOM(); exit; }
if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=dailyrss')) { showDailyRSS(); exit; }
-if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=daily')) { showDaily(); exit; }
if (!isset($_SESSION['LINKS_PER_PAGE'])) $_SESSION['LINKS_PER_PAGE']=$GLOBALS['config']['LINKS_PER_PAGE'];
renderPage();
?>
.upper_plugin_demo {
float: left;
+}
+
+#demo_marquee {
+ background: darkmagenta;
+ color: white;
+ font-weight: bold;
}
\ No newline at end of file
// Fields in toolbar
$data['fields_toolbar'][] = 'DEMO_fields_toolbar';
}
+ // Another button always displayed
+ $data['buttons_toolbar'][] = '<li><a href="#">DEMO</a></li>';
return $data;
}
*
* Template placeholders:
* - text
+ * - endofpage
* - js_files
*
* Data:
// footer text
$data['text'][] = 'Shaarli is now enhanced by the awesome demo_plugin.';
+ // Free elements at the end of the page.
+ $data['endofpage'][] = '<marquee id="demo_marquee">' .
+ 'DEMO: it\'s 1999 all over again!' .
+ '</marquee>';
+
// List of plugin's JS files.
// Note that you just need to specify CSS path.
$data['js_files'][] = PluginManager::$PLUGINS_PATH . '/demo_plugin/demo_plugin.js';
{$value}
{/loop}
</div>
+
+{loop="$plugins_footer.endofpage"}
+ {$value}
+{/loop}
+
{if="$newVersion"}
<div id="newversion">
<span id="version_id">●</span> Shaarli {$newVersion} is
<a href="?do=changetag"><b>Rename/delete tags</b> <span>: Rename or delete a tag in all links</span></a><br><br>
<a href="?do=import"><b>Import</b> <span>: Import Netscape html bookmarks (as exported from Firefox, Chrome, Opera, delicious...)</span></a> <br><br>
<a href="?do=export"><b>Export</b> <span>: Export Netscape html bookmarks (which can be imported in Firefox, Chrome, Opera, delicious...)</span></a><br><br>
- <a class="smallbutton" onclick="alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...');return false;" href="javascript:javascript:(function(){var%20url%20=%20location.href;var%20title%20=%20document.title%20||%20url;window.open('{$pageabsaddr}?post='%20+%20encodeURIComponent(url)+'&title='%20+%20encodeURIComponent(title)+'&description='%20+%20encodeURIComponent(document.getSelection())+'&source=bookmarklet','_blank','menubar=no,height=390,width=600,toolbar=no,scrollbars=no,status=no,dialog=1');})();"><b>✚Shaare link</b></a> <a href="#" style="clear:none;"><span>⇐ Drag this link to your bookmarks toolbar (or right-click it and choose Bookmark This Link....).<br> Then click "✚Shaare link" button in any page you want to share.</span></a><br><br>
- <a class="smallbutton" onclick="alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...');return false;" href="?private=1&post="><b>✚Add Note</b></a> <a href="#" style="clear:none;"><span>⇐ Drag this link to your bookmarks toolbar (or right-click it and choose Bookmark This Link....).<br> Then click "✚Add Note" button anytime to start composing a (default private) Note (text post) to your Shaarli.</span></a><br><br>
- <a class="smallbutton" onclick="activateFirefoxSocial(this)"><b>✚Add to Firefox social</b></a> <a href="#" style="clear:none;"><span>⇐ Click on this button to add Shaarli to the "Share this page" button in Firefox.</span></a><br><br>
- {loop="$tools_plugin"}
+ <a class="smallbutton"
+ onclick="return alertBookmarklet();"
+ href="javascript:(
+ function(){
+ var%20url%20=%20location.href;
+ var%20title%20=%20document.title%20||%20url;
+ window.open(
+ '{$pageabsaddr}?post='%20+%20encodeURIComponent(url)+
+ '&title='%20+%20encodeURIComponent(title)+
+ '&description='%20+%20encodeURIComponent(document.getSelection())+
+ '&source=bookmarklet','_blank','menubar=no,height=390,width=600,toolbar=no,scrollbars=no,status=no,dialog=1'
+ );
+ }
+ )();">
+ <b>✚Shaare link</b>
+ </a>
+ <a href="#" onclick="return alertBookmarklet();">
+ <span>
+ ⇐ Drag this link to your bookmarks toolbar (or right-click it and choose Bookmark This Link....).<br>
+ Then click "✚Shaare link" button in any page you want to share.
+ </span>
+ </a><br><br>
+ <a class="smallbutton"
+ onclick="return alertBookmarklet();"
+ href="?private=1&post=">
+ <b>✚Add Note</b>
+ </a>
+ <a href="#" onclick="return alertBookmarklet();">
+ <span>
+ ⇐ Drag this link to your bookmarks toolbar (or right-click it and choose Bookmark This Link....).<br>
+ Then click "✚Add Note" button anytime to start composing a private Note (text post) to your Shaarli.
+ </span>
+ </a><br><br>
+ <a class="smallbutton" onclick="activateFirefoxSocial(this)">
+ <b>✚Add to Firefox social</b>
+ </a>
+ <a href="#">
+ <span>⇐ Click on this button to add Shaarli to the "Share this page" button in Firefox.</span>
+ </a><br><br>
+
+ {loop="$tools_plugin"}
{$value}
{/loop}
+
<div class="clear"></div>
<script>
var activate = new CustomEvent("ActivateSocialFeature");
node.dispatchEvent(activate);
}
+
+ function alertBookmarklet() {
+ alert('Drag this link to your bookmarks toolbar, or right-click it and choose Bookmark This Link...');
+ return false;
+ }
</script>
</div>
</div>