diff --git a/application/Router.php b/application/Router.php index 1e6a3983..0c813847 100644 --- a/application/Router.php +++ b/application/Router.php @@ -13,6 +13,8 @@ class Router public static $PAGE_TAGCLOUD = 'tagcloud'; + public static $PAGE_DAILY = 'daily'; + public static $PAGE_TOOLS = 'tools'; public static $PAGE_CHANGEPASSWORD = 'changepasswd'; @@ -69,6 +71,10 @@ public static function findPage($query, $get, $loggedIn) 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; diff --git a/index.php b/index.php index 81ab7676..1850e40c 100644 --- a/index.php +++ b/index.php @@ -995,8 +995,12 @@ function showDailyRSS() { exit; } -// "Daily" page. -function showDaily() +/** + * Show the 'Daily' page. + * + * @param PageBuilder $pageBuilder Template engine wrapper. + */ +function showDaily($pageBuilder) { $LINKSDB = new LinkDB( $GLOBALS['config']['DATASTORE'], @@ -1059,7 +1063,7 @@ function showDaily() array_push($columns[$index],$link); // Put entry in this column. $fill[$index]+=$length; } - $PAGE = new pageBuilder; + $data = array( 'linksToDisplay' => $linksToDisplay, 'linkcount' => count($LINKSDB), @@ -1072,10 +1076,10 @@ function showDaily() $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; } @@ -1209,6 +1213,11 @@ function renderPage() 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'); @@ -2456,7 +2465,6 @@ function resizeImage($filepath) 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(); ?> diff --git a/plugins/demo_plugin/demo_plugin.php b/plugins/demo_plugin/demo_plugin.php index 84763c2b..9384c21f 100644 --- a/plugins/demo_plugin/demo_plugin.php +++ b/plugins/demo_plugin/demo_plugin.php @@ -40,6 +40,8 @@ function hook_demo_plugin_render_header($data) // Fields in toolbar $data['fields_toolbar'][] = 'DEMO_fields_toolbar'; } + // Another button always displayed + $data['buttons_toolbar'][] = '