From 641f925dfebf2540a6d7e94e23e302c4a30dc58b Mon Sep 17 00:00:00 2001 From: Savetheinternet Date: Thu, 14 Apr 2011 20:43:34 +1000 Subject: better rebuilding system for themes --- templates/homepage/frameset/theme.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'templates/homepage/frameset/theme.php') diff --git a/templates/homepage/frameset/theme.php b/templates/homepage/frameset/theme.php index 8b96402d..6c82f0b1 100644 --- a/templates/homepage/frameset/theme.php +++ b/templates/homepage/frameset/theme.php @@ -28,18 +28,28 @@ Users never have to leave the homepage; they can do all their browsing from the // Unique function name for building everything $theme['build_function'] = 'frameset_build'; - function frameset_build($settings) { - Frameset::build($settings); + function frameset_build($action, $settings) { + // Possible values for $action: + // - all (rebuild everything, initialization) + // - news (news has been updated) + // - boards (board list changed) + + Frameset::build($action, $settings); } // Wrap functions in a class so they don't interfere with normal Tinyboard operations class Frameset { - public static function build($settings) { + public static function build($action, $settings) { global $config; - file_put_contents($config['dir']['home'] . $config['file_index'], Frameset::homepage($settings)); - file_put_contents($config['dir']['home'] . 'sidebar.html', Frameset::sidebar($settings)); - file_put_contents($config['dir']['home'] . 'news.html', Frameset::news($settings)); + if($action == 'all') + file_put_contents($config['dir']['home'] . $config['file_index'], Frameset::homepage($settings)); + + if($action == 'all' || $action == 'boards') + file_put_contents($config['dir']['home'] . 'sidebar.html', Frameset::sidebar($settings)); + + if($action == 'all' || $action == 'news') + file_put_contents($config['dir']['home'] . 'news.html', Frameset::news($settings)); } // Build homepage -- cgit v1.3