/** * run the normal cms check and then follow * it up by finding specific items in the section * tree */ public function cms() { parent::cms(); $this->primary_section = $this->section(0); $this->secondary_section = $this->section(1); }
protected function event_setup() { parent::event_setup(); //look for cms content by calling functions etc WaxEvent::clear("cms.content.lookup"); WaxEvent::add("cms.content.lookup", function () { $obj = WaxEvent::data(); $dealer_lookup = false; //check domain name $server = $_SERVER['HTTP_HOST']; if ($server != Config::get("domains/live") && $server != Config::get("domains/dev")) { $dclass = $obj->domain_class; $domain = new $dclass(); if (($found = $domain->filter("webaddress", $server)->filter("status", 1)->first()) && ($dealer = $found->dealers) && ($dealer = $dealer->first()) && ($page = $dealer->pages) && ($page = $page->scope("live")->first())) { $dealer_lookup = $page; $obj->setup_dealer_vars($page, $dealer); } } if (!$dealer_lookup) { $obj->content_lookup($obj); if (in_array("dealers", $obj->cms_stack) && count($obj->cms_stack) > 1) { $obj->dealer_checked = "/" . trim(implode("/", array_slice($obj->cms_stack, 0, 2)), "/") . "/"; $obj->dealer_check(); } } //lookin for dealer, so push the dealer urls on to the stack if ($dealer_lookup) { $obj->dealer_checked = $dealer_lookup->permalink; $original_stack = $obj->cms_stack; foreach (array_reverse(explode("/", trim($dealer_lookup->permalink, "/"))) as $push) { array_unshift($obj->cms_stack, $push); } $obj->content_lookup($obj); //this might be one of those magic internal pages then... if ($obj->cms_throw_missing_content) { $obj->cms_throw_missing_content = false; $obj->cms_stack = $original_stack; $obj->content_lookup($obj); $obj->canonical_url = "/" . trim(implode("/", $original_stack), "/") . "/"; } } //check for dealer urls /dealer/xx if ($obj->cms_throw_missing_content) { $stack = $obj->cms_stack; //if this is a dealer url, then pop off the first 2 if (array_shift($stack) == "dealers" && count($stack)) { $dealer = array_shift($stack); $obj->cms_stack = $stack; if (!$obj->dealer_checked) { $obj->dealer_checked = "/dealers/" . $dealer . "/"; } $obj->cms_throw_missing_content = false; $obj->canonical_url = "/" . trim(implode("/", $stack), "/") . "/"; WaxEvent::run("cms.content.lookup", $obj); } } if (($dealer_model = $obj->dealer_model) && defined("UVL")) { WaxEvent::add("uvl.vehicle.filters", function () use($dealer_model) { $model = WaxEvent::data(); $model->filter("dealer_id", $dealer_model->id); }); } }); }