ukko: mod support for ukko; fixes #23

This commit is contained in:
czaks 2014-04-30 17:24:11 +02:00
parent 8a73c084de
commit 318d75ac27
4 changed files with 37 additions and 17 deletions

View File

@ -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';

View File

@ -1,40 +1,41 @@
<?php
$theme = Array();
$theme = array();
// Theme name
$theme['name'] = 'Ukko';
$theme['name'] = 'Overboard (Ukko)';
// Description (you can use Tinyboard markup here)
$theme['description'] = 'Board with threads and messages from all boards';
$theme['version'] = 'v0.1';
$theme['version'] = 'v0.2';
// Theme configuration
$theme['config'] = Array();
$theme['config'] = array();
$theme['config'][] = Array(
$theme['config'][] = array(
'title' => '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',

View File

@ -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 .= '<script> var overflow = ' . json_encode($overflow) . '</script>';
$body .= '<script type="text/javascript" src="ukko.js"></script>';
$body .= '<script type="text/javascript" src="/'.$this->settings['uri'].'/ukko.js"></script>';
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'])
));
}
};

View File

@ -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();