From 46c278c3603765b623fa441e2435274fbeda05ad Mon Sep 17 00:00:00 2001 From: cash Date: Sun, 22 Aug 2010 20:58:21 +0000 Subject: Merged r6620:6653 from 1.7 branch into trunk git-svn-id: http://code.elgg.org/elgg/trunk@6846 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/views.php | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'engine/lib/views.php') diff --git a/engine/lib/views.php b/engine/lib/views.php index d946e159d..68ddf49e1 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -1062,4 +1062,32 @@ function elgg_is_valid_view_type($view_type) { global $CONFIG; return in_array($view_type, $CONFIG->view_types); -} \ No newline at end of file +} + + +/** + * Initialize viewtypes on system boot event + * This ensures simplecache is cleared during upgrades. See #2252 + */ +function elgg_views_boot() { + global $CONFIG; + + elgg_view_register_simplecache('css'); + elgg_view_register_simplecache('js/friendsPickerv1'); + elgg_view_register_simplecache('js/initialise_elgg'); + + // discover the built-in view types + // @todo cache this + $view_path = $CONFIG->viewpath; + $CONFIG->view_types = array(); + + $views = scandir($view_path); + + foreach ($views as $view) { + if ('.' !== substr($view, 0, 1) && is_dir($view_path . $view)) { + $CONFIG->view_types[] = $view; + } + } +} + +register_elgg_event_handler('boot', 'system', 'elgg_views_boot', 1000); -- cgit v1.2.3