diff --git a/ext/user/main.php b/ext/user/main.php
index 21a5af3f..6075bfa1 100644
--- a/ext/user/main.php
+++ b/ext/user/main.php
@@ -83,6 +83,12 @@ class UserPage extends Extension {
global $user;
global $config;
$this->theme->display_user_page($event->page, $event->user, $user);
+ if($user->id == $event->user->id) {
+ $ubbe = new UserBlockBuildingEvent($event->user);
+ send_event($ubbe);
+ ksort($ubbe->parts);
+ $this->theme->display_user_links($event->page, $event->user, $ubbe->parts);
+ }
if(($user->is_admin() || $user->id == $event->user->id) && ($user->id != $config->get_int('anon_id'))) {
$this->theme->display_ip_list($event->page, $this->count_upload_ips($event->user), $this->count_comment_ips($event->user));
}
diff --git a/ext/user/theme.php b/ext/user/theme.php
index 9714f267..decab2e7 100644
--- a/ext/user/theme.php
+++ b/ext/user/theme.php
@@ -9,6 +9,10 @@ class UserPageTheme extends Themelet {
"There should be a login box to the left"));
}
+ public function display_user_links($page, $user, $parts) {
+ # $page->add_block(new Block("User Links", join(", ", $parts), "main", 10));
+ }
+
public function display_user_block($page, $user, $parts) {
$h_name = html_escape($user->name);
$html = "Logged in as $h_name
";
@@ -94,7 +98,7 @@ class UserPageTheme extends Themelet {
if(!$user->is_anonymous()) {
if($user->id == $duser->id || $user->is_admin()) {
- $page->add_block(new Block("Options", $this->build_options($duser), "main", 0));
+ $page->add_block(new Block("Options", $this->build_options($duser), "main", 20));
}
if($user->is_admin()) {
$page->add_block(new Block("More Options", $this->build_more_options($duser)));
diff --git a/themes/danbooru/user.theme.php b/themes/danbooru/user.theme.php
new file mode 100644
index 00000000..45c49867
--- /dev/null
+++ b/themes/danbooru/user.theme.php
@@ -0,0 +1,174 @@
+set_title("Login");
+ $page->set_heading("Login");
+ $page->add_block(new NavBlock());
+ $page->add_block(new Block("Login There",
+ "There should be a login box to the left"));
+ }
+
+ public function display_user_links($page, $user, $parts) {
+ $page->add_block(new Block("User Links", join(", ", $parts), "main", 10));
+ }
+
+ public function display_user_block($page, $user, $parts) {
+# $h_name = html_escape($user->name);
+# $html = "Logged in as $h_name
";
+# $html .= join("\n
", $parts);
+# $page->add_block(new Block("User Links", $html, "left", 90));
+ }
+
+ public function display_signup_page($page) {
+ global $config;
+ $tac = $config->get_string("login_tac", "");
+
+ $tfe = new TextFormattingEvent($tac);
+ send_event($tfe);
+ $tac = $tfe->formatted;
+
+ if(empty($tac)) {$html = "";}
+ else {$html = "
$tac
";} + + $html .= " + + "; + + $page->set_title("Create Account"); + $page->set_heading("Create Account"); + $page->add_block(new NavBlock()); + $page->add_block(new Block("Signup", $html)); + } + + public function display_signups_disabled($page) { + $page->set_title("Signups Disabled"); + $page->set_heading("Signups Disabled"); + $page->add_block(new NavBlock()); + $page->add_block(new Block("Signups Disabled", + "The board admin has disabled the ability to create new accounts~")); + } + + public function display_login_block($page) { + global $config; + $html = " + + "; + if($config->get_bool("login_signup_enabled")) { + $html .= "Create Account"; + } + $page->add_block(new Block("Login", $html, "left", 90)); + } + + public function display_ip_list($page, $uploads, $comments) { + $html = "Uploaded from: ";
+ foreach($uploads as $ip => $count) {
+ $html .= " $ip ($count)"; + } + $html .= " | Commented from:";
+ foreach($comments as $ip => $count) {
+ $html .= " $ip ($count)"; + } + $html .= " |
(Most recent at top) |