diff options
author | ArthurHoaro <arthur@hoa.ro> | 2015-12-07 11:25:11 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2015-12-08 15:51:49 +0100 |
commit | 38603b2450e983edfab5770bd3dd681c6073f898 (patch) | |
tree | 0c11b70421847e8886fa1eaf5ae8486fd35ff0f2 | |
parent | 4c3df9aa1250df86a4897169a8d4be0d33b2c9f6 (diff) | |
download | Shaarli-38603b2450e983edfab5770bd3dd681c6073f898.tar.gz Shaarli-38603b2450e983edfab5770bd3dd681c6073f898.tar.zst Shaarli-38603b2450e983edfab5770bd3dd681c6073f898.zip |
Fixes #403: build the daily page through renderPage()
* new entry in the Router for daily page.
* add an always displayed button in demo_plugin
-rw-r--r-- | application/Router.php | 6 | ||||
-rw-r--r-- | index.php | 20 | ||||
-rw-r--r-- | plugins/demo_plugin/demo_plugin.php | 2 |
3 files changed, 22 insertions, 6 deletions
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 | |||
13 | 13 | ||
14 | public static $PAGE_TAGCLOUD = 'tagcloud'; | 14 | public static $PAGE_TAGCLOUD = 'tagcloud'; |
15 | 15 | ||
16 | public static $PAGE_DAILY = 'daily'; | ||
17 | |||
16 | public static $PAGE_TOOLS = 'tools'; | 18 | public static $PAGE_TOOLS = 'tools'; |
17 | 19 | ||
18 | public static $PAGE_CHANGEPASSWORD = 'changepasswd'; | 20 | public static $PAGE_CHANGEPASSWORD = 'changepasswd'; |
@@ -69,6 +71,10 @@ class Router | |||
69 | return self::$PAGE_OPENSEARCH; | 71 | return self::$PAGE_OPENSEARCH; |
70 | } | 72 | } |
71 | 73 | ||
74 | if (startsWith($query, 'do='. self::$PAGE_DAILY)) { | ||
75 | return self::$PAGE_DAILY; | ||
76 | } | ||
77 | |||
72 | // At this point, only loggedin pages. | 78 | // At this point, only loggedin pages. |
73 | if (!$loggedIn) { | 79 | if (!$loggedIn) { |
74 | return self::$PAGE_LINKLIST; | 80 | return self::$PAGE_LINKLIST; |
@@ -995,8 +995,12 @@ function showDailyRSS() { | |||
995 | exit; | 995 | exit; |
996 | } | 996 | } |
997 | 997 | ||
998 | // "Daily" page. | 998 | /** |
999 | function showDaily() | 999 | * Show the 'Daily' page. |
1000 | * | ||
1001 | * @param PageBuilder $pageBuilder Template engine wrapper. | ||
1002 | */ | ||
1003 | function showDaily($pageBuilder) | ||
1000 | { | 1004 | { |
1001 | $LINKSDB = new LinkDB( | 1005 | $LINKSDB = new LinkDB( |
1002 | $GLOBALS['config']['DATASTORE'], | 1006 | $GLOBALS['config']['DATASTORE'], |
@@ -1059,7 +1063,7 @@ function showDaily() | |||
1059 | array_push($columns[$index],$link); // Put entry in this column. | 1063 | array_push($columns[$index],$link); // Put entry in this column. |
1060 | $fill[$index]+=$length; | 1064 | $fill[$index]+=$length; |
1061 | } | 1065 | } |
1062 | $PAGE = new pageBuilder; | 1066 | |
1063 | $data = array( | 1067 | $data = array( |
1064 | 'linksToDisplay' => $linksToDisplay, | 1068 | 'linksToDisplay' => $linksToDisplay, |
1065 | 'linkcount' => count($LINKSDB), | 1069 | 'linkcount' => count($LINKSDB), |
@@ -1072,10 +1076,10 @@ function showDaily() | |||
1072 | $pluginManager->executeHooks('render_daily', $data, array('loggedin' => isLoggedIn())); | 1076 | $pluginManager->executeHooks('render_daily', $data, array('loggedin' => isLoggedIn())); |
1073 | 1077 | ||
1074 | foreach ($data as $key => $value) { | 1078 | foreach ($data as $key => $value) { |
1075 | $PAGE->assign($key, $value); | 1079 | $pageBuilder->assign($key, $value); |
1076 | } | 1080 | } |
1077 | 1081 | ||
1078 | $PAGE->renderPage('daily'); | 1082 | $pageBuilder->renderPage('daily'); |
1079 | exit; | 1083 | exit; |
1080 | } | 1084 | } |
1081 | 1085 | ||
@@ -1209,6 +1213,11 @@ function renderPage() | |||
1209 | exit; | 1213 | exit; |
1210 | } | 1214 | } |
1211 | 1215 | ||
1216 | // Daily page. | ||
1217 | if ($targetPage == Router::$PAGE_DAILY) { | ||
1218 | showDaily($PAGE); | ||
1219 | } | ||
1220 | |||
1212 | // Display openseach plugin (XML) | 1221 | // Display openseach plugin (XML) |
1213 | if ($targetPage == Router::$PAGE_OPENSEARCH) { | 1222 | if ($targetPage == Router::$PAGE_OPENSEARCH) { |
1214 | header('Content-Type: application/xml; charset=utf-8'); | 1223 | header('Content-Type: application/xml; charset=utf-8'); |
@@ -2456,7 +2465,6 @@ if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=g | |||
2456 | if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=rss')) { showRSS(); exit; } | 2465 | if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=rss')) { showRSS(); exit; } |
2457 | if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=atom')) { showATOM(); exit; } | 2466 | if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=atom')) { showATOM(); exit; } |
2458 | if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=dailyrss')) { showDailyRSS(); exit; } | 2467 | if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=dailyrss')) { showDailyRSS(); exit; } |
2459 | if (isset($_SERVER["QUERY_STRING"]) && startswith($_SERVER["QUERY_STRING"],'do=daily')) { showDaily(); exit; } | ||
2460 | if (!isset($_SESSION['LINKS_PER_PAGE'])) $_SESSION['LINKS_PER_PAGE']=$GLOBALS['config']['LINKS_PER_PAGE']; | 2468 | if (!isset($_SESSION['LINKS_PER_PAGE'])) $_SESSION['LINKS_PER_PAGE']=$GLOBALS['config']['LINKS_PER_PAGE']; |
2461 | renderPage(); | 2469 | renderPage(); |
2462 | ?> | 2470 | ?> |
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) | |||
40 | // Fields in toolbar | 40 | // Fields in toolbar |
41 | $data['fields_toolbar'][] = 'DEMO_fields_toolbar'; | 41 | $data['fields_toolbar'][] = 'DEMO_fields_toolbar'; |
42 | } | 42 | } |
43 | // Another button always displayed | ||
44 | $data['buttons_toolbar'][] = '<li><a href="#">DEMO</a></li>'; | ||
43 | 45 | ||
44 | return $data; | 46 | return $data; |
45 | } | 47 | } |