. * */ namespace Vvveb\Component; use Vvveb\System\Component\ComponentBase; use Vvveb\System\Event; use Vvveb\System\Images; use Vvveb\System\User\Admin as AdminClass; use function Vvveb\url; class Admin extends ComponentBase { public static $defaultOptions = [ 'admin_id' => null, 'username' => null, ]; protected $options = []; public $cacheExpire = 0; //seconds /* function cacheKey() { //disable caching return false; } */ function results() { if (isset($this->options['admin_id']) || isset($this->options['username'])) { $admins = new \Vvveb\Sql\AdminSQL(); $results = $admins->get($this->options); } else { $results = AdminClass::current(); } if ($results) { unset($results['password'], $results['token']); foreach (['avatar', 'cover'] as $image) { if (isset($results[$image])) { $results[$image . '_url']= Images::image($results[$image], 'admin'); } } $results['website'] = $results['website'] ?? $results['url']; $results['url'] = url('content/user/index', ['username' => $results['username']]); } else { $results = []; } list($results) = Event :: trigger(__CLASS__,__FUNCTION__, $results); return $results; } }