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