This repository has been archived on 2024-09-05. You can view files and clone it, but cannot push or open issues or pull requests.
shimmie2/ext/user/events.php

92 lines
1.8 KiB
PHP
Raw Normal View History

2020-01-26 13:19:35 +00:00
<?php declare(strict_types=1);
class UserBlockBuildingEvent extends Event
{
/** @var array */
public $parts = [];
public function add_link(string $name, string $link, int $position=50)
{
while (isset($this->parts[$position])) {
$position++;
}
$this->parts[$position] = ["name" => $name, "link" => $link];
}
}
class UserOptionsBuildingEvent extends Event
{
/** @var array */
public $parts = [];
2020-01-29 01:47:43 +00:00
public function add_html(string $html)
{
$this->parts[] = $html;
}
}
class UserPageBuildingEvent extends Event
{
/** @var User */
public $display_user;
/** @var array */
public $stats = [];
public function __construct(User $display_user)
{
2020-01-26 13:19:35 +00:00
parent::__construct();
$this->display_user = $display_user;
}
public function add_stats(string $html, int $position=50)
{
while (isset($this->stats[$position])) {
$position++;
}
$this->stats[$position] = $html;
}
}
class UserCreationEvent extends Event
{
/** @var string */
public $username;
/** @var string */
public $password;
/** @var string */
public $email;
2020-05-19 18:33:51 +00:00
/** @var bool */
public $login;
2020-05-19 18:33:51 +00:00
public function __construct(string $name, string $pass, string $email, bool $login)
{
2020-01-26 13:19:35 +00:00
parent::__construct();
$this->username = $name;
$this->password = $pass;
$this->email = $email;
2020-05-19 18:33:51 +00:00
$this->login = $login;
}
}
class UserLoginEvent extends Event
{
public $user;
public function __construct(User $user)
{
2020-01-26 13:19:35 +00:00
parent::__construct();
$this->user = $user;
}
}
class UserDeletionEvent extends Event
{
/** @var int */
public $id;
public function __construct(int $id)
{
2020-01-26 13:19:35 +00:00
parent::__construct();
$this->id = $id;
}
}