1<?php 2class ControllerStartupRouter extends Controller { 3 public function index() { 4 // Route 5 if (isset($this->request->get['route']) && $this->request->get['route'] != 'startup/router') { 6 $route = $this->request->get['route']; 7 } else { 8 $route = $this->config->get('action_default'); 9 } 10 11 $data = array(); 12 13 // Sanitize the call 14 $route = preg_replace('/[^a-zA-Z0-9_\/]/', '', (string)$route); 15 16 // Trigger the pre events 17 $result = $this->event->trigger('controller/' . $route . '/before', array(&$route, &$data)); 18 19 if (!is_null($result)) { 20 return $result; 21 } 22 23 $action = new Action($route); 24 25 // Any output needs to be another Action object. 26 $output = $action->execute($this->registry, $data); 27 28 // Trigger the post events 29 $result = $this->event->trigger('controller/' . $route . '/after', array(&$route, &$output)); 30 31 if (!is_null($result)) { 32 return $result; 33 } 34 35 return $output; 36 } 37} 38