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