109 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php declare(strict_types=1);
 | |
| use function \MicroHTML\emptyHTML;
 | |
| use function \MicroHTML\rawHTML;
 | |
| use function \MicroHTML\TABLE;
 | |
| use function \MicroHTML\TBODY;
 | |
| use function \MicroHTML\TFOOT;
 | |
| use function \MicroHTML\TR;
 | |
| use function \MicroHTML\TH;
 | |
| use function \MicroHTML\TD;
 | |
| use function \MicroHTML\LABEL;
 | |
| use function \MicroHTML\INPUT;
 | |
| use function \MicroHTML\SMALL;
 | |
| use function \MicroHTML\A;
 | |
| use function \MicroHTML\BR;
 | |
| use function \MicroHTML\P;
 | |
| use function \MicroHTML\SELECT;
 | |
| use function \MicroHTML\OPTION;
 | |
| 
 | |
| class CustomUserPageTheme extends UserPageTheme
 | |
| {
 | |
|     public function display_user_block(Page $page, User $user, $parts)
 | |
|     {
 | |
|         $h_name = html_escape($user->name);
 | |
|         $lines = [];
 | |
|         foreach ($parts as $part) {
 | |
|             $lines[] = "<a href='{$part["link"]}'>{$part["name"]}</a>";
 | |
|         }
 | |
|         if (count($lines) < 6) {
 | |
|             $html = implode("\n<br>", $lines);
 | |
|         } else {
 | |
|             $html = implode(" | \n", $lines);
 | |
|         }
 | |
|         $page->add_block(new Block("Logged in as $h_name", $html, "head", 90, "UserBlockhead"));
 | |
|         $page->add_block(new Block("Logged in as $h_name", $html, "left", 15, "UserBlockleft"));
 | |
|     }
 | |
| 
 | |
|     public function display_login_block(Page $page)
 | |
|     {
 | |
|         global $config;
 | |
|         $html = "
 | |
| 			<form action='".make_link("user_admin/login")."' method='POST'>
 | |
| 				<table class='form' style='width: 100%;'>
 | |
| 					<tr><th>Name</th><td><input type='text' name='user'></td></tr>
 | |
| 					<tr><th>Password</th><td><input type='password' name='pass'></td></tr>
 | |
| 					<tr><td colspan='2'><input type='submit' name='gobu' value='Log In'></td></tr>
 | |
| 				</table>
 | |
| 			</form>
 | |
| 		";
 | |
|         if ($config->get_bool("login_signup_enabled")) {
 | |
|             $html .= "<small><a href='".make_link("user_admin/create")."'>Create Account</a></small>";
 | |
|         }
 | |
|         $page->add_block(new Block("Login", $html, "head", 90));
 | |
|         $page->add_block(new Block("Login", $html, "left", 15));
 | |
|     }
 | |
| 
 | |
|     public function display_signup_page(Page $page)
 | |
|     {
 | |
|         global $config;
 | |
|         $tac = $config->get_string("login_tac", "");
 | |
| 
 | |
|         if ($config->get_bool("login_tac_bbcode")) {
 | |
|             $tfe = new TextFormattingEvent($tac);
 | |
|             send_event($tfe);
 | |
|             $tac = $tfe->formatted;
 | |
|         }
 | |
| 
 | |
|         $form = SHM_SIMPLE_FORM(
 | |
|             "user_admin/create",
 | |
|             TABLE(
 | |
|                 ["class"=>"form"],
 | |
|                 TBODY(
 | |
|                     TR(
 | |
|                         TH("Name"),
 | |
|                         TD(INPUT(["type"=>'text', "name"=>'name', "required"=>true]))
 | |
|                     ),
 | |
|                     TR(
 | |
|                         TH("Password"),
 | |
|                         TD(INPUT(["type"=>'password', "name"=>'pass1', "required"=>true]))
 | |
|                     ),
 | |
|                     TR(
 | |
|                         TH(rawHTML("Repeat Password")),
 | |
|                         TD(INPUT(["type"=>'password', "name"=>'pass2', "required"=>true]))
 | |
|                     ),
 | |
|                     TR(
 | |
|                         TH(rawHTML("Email")),
 | |
|                         TD(INPUT(["type"=>'email', "name"=>'email', "required"=>true]))
 | |
|                     ),
 | |
|                     TR(
 | |
|                         TD(["colspan"=>"2"], rawHTML(captcha_get_html()))
 | |
|                     ),
 | |
|                 ),
 | |
|                 TFOOT(
 | |
|                     TR(TD(["colspan"=>"2"], INPUT(["type"=>"submit", "value"=>"Create Account"])))
 | |
|                 )
 | |
|             )
 | |
|         );
 | |
| 
 | |
|         $html = emptyHTML(
 | |
|             $tac ? P(rawHTML($tac)) : null,
 | |
|             $form
 | |
|         );
 | |
| 
 | |
|         $page->set_title("Create Account");
 | |
|         $page->set_heading("Create Account");
 | |
|         $page->add_block(new NavBlock());
 | |
|         $page->add_block(new Block("Signup", (string)$html));
 | |
|     }
 | |
| }
 |