. * */ namespace Vvveb\Component; use function Vvveb\session as sess; use Vvveb\System\Component\ComponentBase; use Vvveb\System\Event; use Vvveb\System\Sites as SitesList; use Vvveb\System\User\Admin; class Sites extends ComponentBase { public static $defaultOptions = [ 'limit' => 1000, 'page' => 1, 'site_access' => 1, ]; protected $options = []; public $cacheExpire = 0; //seconds function cacheKey() { //disable caching return false; } function results() { $results = []; $results['sites'] = SitesList::getSites(); $results['states'] = SitesList::getStates(); $results['site_id'] = sess('site_id'); $results['active'] = SitesList::getSiteById($results['site_id']); $results['count'] = count($results['sites']); if ($this->options['site_access']) { $site_access = Admin::siteAccess(); if ($site_access) { foreach ($results['sites'] as $key => $site) { if (! in_array($site['id'], $site_access)) { unset($results['sites'][$key]); } } } } list($results) = Event :: trigger(__CLASS__,__FUNCTION__, $results); return $results; } }