Page MenuHomeCode

TryAutoSelect.php
No OneTemporary

TryAutoSelect.php

<?php
namespace Zed\Engines\Perso\Events;
use Perso;
class TryAutoSelect extends BaseEvent {
/**
* @var Perso[]
*/
private array $persos;
public function isTriggered (): bool {
return !$this->selector->hasPerso;
}
public function handle () : void {
$this->persos = Perso::get_persos($this->selector->user->id);
$count = count($this->persos);
if ($count === 0) {
$this->askUserToCreatePerso();
} elseif ($count === 1) {
$this->autoselect();
} else {
$this->askUserToSelectPerso();
}
}
private function askUserToCreatePerso () : never {
$this->selector->smarty
->display("perso_create.tpl");
exit;
}
private function autoselect () : void {
$this->selector->selectAndSetPerso($this->persos[0]);
}
private function askUserToSelectPerso () : never {
$this->selector->smarty
->assign("PERSOS", $this->persos)
->display("perso_select.tpl");
$_SESSION['UserWithSeveralPersos'] = true;
exit;
}
}

File Metadata

Mime Type
text/x-php
Expires
Jul 8 2025, 20:44 (4 w, 4 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
22338
Default Alt Text
TryAutoSelect.php (1 KB)

Event Timeline