forked from Cavemanon/cavepaintings
PSR-2. I'm not a huge fan, but ugly consistency beats no consistency...
This commit is contained in:
@ -15,69 +15,77 @@
|
||||
* alongside the default choices.
|
||||
*/
|
||||
|
||||
class Home extends Extension {
|
||||
public function onPageRequest(PageRequestEvent $event) {
|
||||
global $config, $page;
|
||||
if($event->page_matches("home")) {
|
||||
$base_href = get_base_href();
|
||||
$sitename = $config->get_string('title');
|
||||
$theme_name = $config->get_string('theme');
|
||||
class Home extends Extension
|
||||
{
|
||||
public function onPageRequest(PageRequestEvent $event)
|
||||
{
|
||||
global $config, $page;
|
||||
if ($event->page_matches("home")) {
|
||||
$base_href = get_base_href();
|
||||
$sitename = $config->get_string('title');
|
||||
$theme_name = $config->get_string('theme');
|
||||
|
||||
$body = $this->get_body();
|
||||
$body = $this->get_body();
|
||||
|
||||
$this->theme->display_page($page, $sitename, $base_href, $theme_name, $body);
|
||||
}
|
||||
}
|
||||
$this->theme->display_page($page, $sitename, $base_href, $theme_name, $body);
|
||||
}
|
||||
}
|
||||
|
||||
public function onSetupBuilding(SetupBuildingEvent $event) {
|
||||
$counters = array();
|
||||
foreach(glob("ext/home/counters/*") as $counter_dirname) {
|
||||
$name = str_replace("ext/home/counters/", "", $counter_dirname);
|
||||
$counters[ucfirst($name)] = $name;
|
||||
}
|
||||
public function onSetupBuilding(SetupBuildingEvent $event)
|
||||
{
|
||||
$counters = [];
|
||||
foreach (glob("ext/home/counters/*") as $counter_dirname) {
|
||||
$name = str_replace("ext/home/counters/", "", $counter_dirname);
|
||||
$counters[ucfirst($name)] = $name;
|
||||
}
|
||||
|
||||
$sb = new SetupBlock("Home Page");
|
||||
$sb->add_longtext_option("home_links", 'Page Links (Use BBCode, leave blank for defaults)');
|
||||
$sb->add_longtext_option("home_text", "<br>Page Text:<br>");
|
||||
$sb->add_choice_option("home_counter", $counters, "<br>Counter: ");
|
||||
$event->panel->add_block($sb);
|
||||
}
|
||||
$sb = new SetupBlock("Home Page");
|
||||
$sb->add_longtext_option("home_links", 'Page Links (Use BBCode, leave blank for defaults)');
|
||||
$sb->add_longtext_option("home_text", "<br>Page Text:<br>");
|
||||
$sb->add_choice_option("home_counter", $counters, "<br>Counter: ");
|
||||
$event->panel->add_block($sb);
|
||||
}
|
||||
|
||||
|
||||
private function get_body() {
|
||||
// returns just the contents of the body
|
||||
global $config;
|
||||
$base_href = get_base_href();
|
||||
$sitename = $config->get_string('title');
|
||||
$contact_link = contact_link();
|
||||
if(is_null($contact_link)) $contact_link = "";
|
||||
$counter_dir = $config->get_string('home_counter', 'default');
|
||||
private function get_body()
|
||||
{
|
||||
// returns just the contents of the body
|
||||
global $config;
|
||||
$base_href = get_base_href();
|
||||
$sitename = $config->get_string('title');
|
||||
$contact_link = contact_link();
|
||||
if (is_null($contact_link)) {
|
||||
$contact_link = "";
|
||||
}
|
||||
$counter_dir = $config->get_string('home_counter', 'default');
|
||||
|
||||
$total = Image::count_images();
|
||||
$strtotal = "$total";
|
||||
$num_comma = number_format($total);
|
||||
$total = Image::count_images();
|
||||
$strtotal = "$total";
|
||||
$num_comma = number_format($total);
|
||||
|
||||
$counter_text = "";
|
||||
$length = strlen($strtotal);
|
||||
for($n=0; $n<$length; $n++) {
|
||||
$cur = $strtotal[$n];
|
||||
$counter_text .= " <img alt='$cur' src='$base_href/ext/home/counters/$counter_dir/$cur.gif' /> ";
|
||||
}
|
||||
$counter_text = "";
|
||||
$length = strlen($strtotal);
|
||||
for ($n=0; $n<$length; $n++) {
|
||||
$cur = $strtotal[$n];
|
||||
$counter_text .= " <img alt='$cur' src='$base_href/ext/home/counters/$counter_dir/$cur.gif' /> ";
|
||||
}
|
||||
|
||||
// get the homelinks and process them
|
||||
if(strlen($config->get_string('home_links', '')) > 0) {
|
||||
$main_links = $config->get_string('home_links');
|
||||
}
|
||||
else {
|
||||
$main_links = '[url=site://post/list]Posts[/url] [url=site://comment/list]Comments[/url] [url=site://tags]Tags[/url]';
|
||||
if(class_exists("Pools")) {$main_links .= ' [url=site://pool]Pools[/url]';}
|
||||
if(class_exists("Wiki")) {$main_links .= ' [url=site://wiki]Wiki[/url]';}
|
||||
$main_links .= ' [url=site://ext_doc]Documentation[/url]';
|
||||
}
|
||||
$main_links = format_text($main_links);
|
||||
$main_text = $config->get_string('home_text', '');
|
||||
// get the homelinks and process them
|
||||
if (strlen($config->get_string('home_links', '')) > 0) {
|
||||
$main_links = $config->get_string('home_links');
|
||||
} else {
|
||||
$main_links = '[url=site://post/list]Posts[/url] [url=site://comment/list]Comments[/url] [url=site://tags]Tags[/url]';
|
||||
if (class_exists("Pools")) {
|
||||
$main_links .= ' [url=site://pool]Pools[/url]';
|
||||
}
|
||||
if (class_exists("Wiki")) {
|
||||
$main_links .= ' [url=site://wiki]Wiki[/url]';
|
||||
}
|
||||
$main_links .= ' [url=site://ext_doc]Documentation[/url]';
|
||||
}
|
||||
$main_links = format_text($main_links);
|
||||
$main_text = $config->get_string('home_text', '');
|
||||
|
||||
return $this->theme->build_body($sitename, $main_links, $main_text, $contact_link, $num_comma, $counter_text);
|
||||
}
|
||||
return $this->theme->build_body($sitename, $main_links, $main_text, $contact_link, $num_comma, $counter_text);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,12 +1,14 @@
|
||||
<?php
|
||||
class HomeTest extends ShimmiePHPUnitTestCase {
|
||||
public function testHomePage() {
|
||||
$this->get_page('home');
|
||||
class HomeTest extends ShimmiePHPUnitTestCase
|
||||
{
|
||||
public function testHomePage()
|
||||
{
|
||||
$this->get_page('home');
|
||||
|
||||
// FIXME: this page doesn't use blocks; need assert_data_contains
|
||||
//$this->assert_title('Shimmie');
|
||||
//$this->assert_text('Shimmie');
|
||||
// FIXME: this page doesn't use blocks; need assert_data_contains
|
||||
//$this->assert_title('Shimmie');
|
||||
//$this->assert_text('Shimmie');
|
||||
|
||||
# FIXME: test search box
|
||||
}
|
||||
# FIXME: test search box
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,14 @@
|
||||
<?php
|
||||
|
||||
class HomeTheme extends Themelet {
|
||||
public function display_page(Page $page, $sitename, $base_href, $theme_name, $body) {
|
||||
$page->set_mode("data");
|
||||
$page->add_auto_html_headers();
|
||||
$hh = $page->get_all_html_headers();
|
||||
$page->set_data(<<<EOD
|
||||
class HomeTheme extends Themelet
|
||||
{
|
||||
public function display_page(Page $page, $sitename, $base_href, $theme_name, $body)
|
||||
{
|
||||
$page->set_mode("data");
|
||||
$page->add_auto_html_headers();
|
||||
$hh = $page->get_all_html_headers();
|
||||
$page->set_data(
|
||||
<<<EOD
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
@ -20,14 +23,15 @@ class HomeTheme extends Themelet {
|
||||
</html>
|
||||
EOD
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public function build_body(string $sitename, string $main_links, string $main_text, string $contact_link, $num_comma, string $counter_text) {
|
||||
$main_links_html = empty($main_links) ? "" : "<div class='space' id='links'>$main_links</div>";
|
||||
$message_html = empty($main_text) ? "" : "<div class='space' id='message'>$main_text</div>";
|
||||
$counter_html = empty($counter_text) ? "" : "<div class='space' id='counter'>$counter_text</div>";
|
||||
$contact_link = empty($contact_link) ? "" : "<br><a href='$contact_link'>Contact</a> –";
|
||||
$search_html = "
|
||||
public function build_body(string $sitename, string $main_links, string $main_text, string $contact_link, $num_comma, string $counter_text)
|
||||
{
|
||||
$main_links_html = empty($main_links) ? "" : "<div class='space' id='links'>$main_links</div>";
|
||||
$message_html = empty($main_text) ? "" : "<div class='space' id='message'>$main_text</div>";
|
||||
$counter_html = empty($counter_text) ? "" : "<div class='space' id='counter'>$counter_text</div>";
|
||||
$contact_link = empty($contact_link) ? "" : "<br><a href='$contact_link'>Contact</a> –";
|
||||
$search_html = "
|
||||
<div class='space' id='search'>
|
||||
<form action='".make_link("post/list")."' method='GET'>
|
||||
<input name='search' size='30' type='search' value='' class='autocomplete_tags' autofocus='autofocus' autocomplete='off' />
|
||||
@ -36,7 +40,7 @@ EOD
|
||||
</form>
|
||||
</div>
|
||||
";
|
||||
return "
|
||||
return "
|
||||
<div id='front-page'>
|
||||
<h1><a style='text-decoration: none;' href='".make_link()."'><span>$sitename</span></a></h1>
|
||||
$main_links_html
|
||||
@ -50,6 +54,5 @@ EOD
|
||||
</small></small>
|
||||
</div>
|
||||
</div>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user