Skip to content

Commit

Permalink
optimise UserConfig::get_for_user
Browse files Browse the repository at this point in the history
  • Loading branch information
shish committed Feb 10, 2025
1 parent 2c3c112 commit a274ee7
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 8 deletions.
2 changes: 1 addition & 1 deletion ext/avatar_post/main.php
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public function avatar_html(User $user): HTMLElement|null
public function get_avatar_html(User $user): HTMLElement|null
{
global $database, $config;
$user_config = new DatabaseConfig($database, "user_config", "user_id", (string)$user->id);
$user_config = UserConfig::get_for_user($user);
$id = $user_config->get_int(AvatarPostConfig::AVATAR_ID, 0);
if ($id === 0) {
return null;
Expand Down
2 changes: 1 addition & 1 deletion ext/biography/main.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public function onUserPageBuilding(UserPageBuildingEvent $event): void
{
global $page, $user;
$duser = $event->display_user;
$duser_config = UserConfig::get_for_user($event->display_user->id);
$duser_config = UserConfig::get_for_user($event->display_user);
$bio = $duser_config->get_string("biography", "");

if ($user->id == $duser->id) {
Expand Down
2 changes: 1 addition & 1 deletion ext/user/main.php
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ private function display_stats(UserPageBuildingEvent $event): void

if (!$user->is_anonymous()) {
if ($user->id == $event->display_user->id || $user->can("edit_user_info")) {
$user_config = UserConfig::get_for_user($event->display_user->id);
$user_config = UserConfig::get_for_user($event->display_user);

$uobe = send_event(new UserOperationsBuildingEvent($event->display_user, $user_config));
$page->add_block(new Block("Operations", $this->theme->build_operations($event->display_user, $uobe), "main", 60));
Expand Down
9 changes: 4 additions & 5 deletions ext/user_config/main.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,13 @@ public function onUserLogin(UserLoginEvent $event): void
{
global $user_config;

$user_config = self::get_for_user($event->user->id);
$user_config = self::get_for_user($event->user);
}

public static function get_for_user(int $id): Config
public static function get_for_user(User $user): Config
{
global $database;
$user = User::by_id($id);
$user_config = new DatabaseConfig($database, "user_config", "user_id", "$id");
$user_config = new DatabaseConfig($database, "user_config", "user_id", "{$user->id}");
send_event(new InitUserConfigEvent($user, $user_config));
return $user_config;
}
Expand Down Expand Up @@ -143,7 +142,7 @@ public function onPageRequest(PageRequestEvent $event): void
throw new PermissionDenied("You do not have permission to change other user's settings");
}

$target_config = UserConfig::get_for_user($duser->id);
$target_config = UserConfig::get_for_user($duser);
send_event(new ConfigSaveEvent($target_config, ConfigSaveEvent::postToSettings($event->POST)));
$page->flash("Config saved");
$page->set_mode(PageMode::REDIRECT);
Expand Down

0 comments on commit a274ee7

Please sign in to comment.