From 318d75ac270879ddc8aef0f6aeb4f2cd0d7975d9 Mon Sep 17 00:00:00 2001 From: czaks Date: Wed, 30 Apr 2014 17:24:11 +0200 Subject: [PATCH] ukko: mod support for ukko; fixes #23 --- inc/config.php | 17 +++++++++++++++++ templates/themes/ukko/info.php | 19 ++++++++++--------- templates/themes/ukko/theme.php | 16 +++++++++------- templates/themes/ukko/ukko.js | 2 +- 4 files changed, 37 insertions(+), 17 deletions(-) diff --git a/inc/config.php b/inc/config.php index a4d1c6d5..0cd5bcdf 100644 --- a/inc/config.php +++ b/inc/config.php @@ -1521,6 +1521,23 @@ // // ... // }; + // You can also enable themes (like ukko) in mod panel like this: + // require_once("templates/themes/ukko/theme.php"); + // + // $config['mod']['custom_pages']['/\*/'] = function() { + // global $mod; + // + // $ukko = new ukko(); + // $ukko->settings = array(); + // $ukko->settings['uri'] = '*'; + // $ukko->settings['title'] = 'derp'; + // $ukko->settings['subtitle'] = 'derpity'; + // $ukko->settings['thread_limit'] = 15; + // $ukko->settings['exclude'] = ''; + // + // echo $ukko->build($mod); + // }; + // Example: Add links to dashboard (will all be in a new "Other" category). // $config['mod']['dashboard_links']['Something'] = '?/something'; diff --git a/templates/themes/ukko/info.php b/templates/themes/ukko/info.php index 34d59d4e..45a687fc 100644 --- a/templates/themes/ukko/info.php +++ b/templates/themes/ukko/info.php @@ -1,40 +1,41 @@ 'Board name', 'name' => 'title', 'type' => 'text', 'default' => 'Ukko' ); - $theme['config'][] = Array( + $theme['config'][] = array( 'title' => 'Board URI', 'name' => 'uri', 'type' => 'text', + 'default' => '*', 'comment' => '(ukko for example)' ); - $theme['config'][] = Array( + $theme['config'][] = array( 'title' => 'Subtitle', 'name' => 'subtitle', 'type' => 'text', 'comment' => '(%s = thread limit. for example "%s freshly bumped threads")' ); - $theme['config'][] = Array( + $theme['config'][] = array( 'title' => 'Excluded boards', 'name' => 'exclude', 'type' => 'text', 'comment' => '(space seperated)' ); - $theme['config'][] = Array( + $theme['config'][] = array( 'title' => 'Number of threads', 'name' => 'thread_limit', 'type' => 'text', diff --git a/templates/themes/ukko/theme.php b/templates/themes/ukko/theme.php index 1ca00014..5d887227 100644 --- a/templates/themes/ukko/theme.php +++ b/templates/themes/ukko/theme.php @@ -4,7 +4,9 @@ function ukko_build($action, $settings) { $ukko = new ukko(); $ukko->settings = $settings; - $ukko->build(); + + file_write($settings['uri'] . '/index.html', $ukko->build()); + file_write($settings['uri'] . '/ukko.js', Element('themes/ukko/ukko.js', array())); } class ukko { @@ -85,17 +87,17 @@ } $body .= ''; - $body .= ''; + $body .= ''; - file_write($this->settings['uri'] . '/index.html', Element('index.html', array( + return Element('index.html', array( 'config' => $config, 'board' => $board, 'no_post_form' => true, 'body' => $body, - 'boardlist' => createBoardlist($mod) - ))); - - file_write($this->settings['uri'] . '/ukko.js', Element('themes/ukko/ukko.js', array())); + 'mod' => $mod, + 'boardlist' => createBoardlist($mod), + 'return' => ($mod ? '?' . $board['url'] . $config['file_index'] : $config['root'] . $board['dir'] . $config['file_index']) + )); } }; diff --git a/templates/themes/ukko/ukko.js b/templates/themes/ukko/ukko.js index 490f67f0..b2668e0b 100644 --- a/templates/themes/ukko/ukko.js +++ b/templates/themes/ukko/ukko.js @@ -58,7 +58,7 @@ $(document).ready(function() { $('.pages').show().html(_("No more threads to display")); } while($(window).scrollTop() + $(window).height() + 1000 > $(document).height() && !loading && overflow.length > 0) { - var page = '../' + overflow[0].board + '/' + overflow[0].page; + var page = modRoot + overflow[0].board + '/' + overflow[0].page; thread = $('div#thread_' + overflow[0].id + '[data-board="' + overflow[0].board + '"]'); if (thread.length > 0 && thread.attr("data-cached") !== 'yes') { // already present overflow.shift();