protected function setThemeEvents($events, $siteId, $theme) { foreach ($events as $key => $event) { foreach (is_array($event) ? $event : array($event) as $oneEvent) { $c = \Veer\Models\Component::firstOrCreate(["route_name" => $oneEvent, "components_type" => "events", "components_src" => $key, "sites_id" => $siteId]); $c->theme = $theme; $c->save(); } } }
/** * Register components & events based on current route name & site. It allows * us to have different components and actions for different routes [and events * on different sites]. * * */ public function registerComponents($routeName, $params = null) { $this->cachingQueries->make(Component::validComponents($this->siteId, $routeName)); $c = $this->cachingQueries->remember(1, 'get'); foreach ($c as $component) { $this->{camel_case('register ' . $component->components_type)}($component->components_src, $params); } }