| 7 | | $this->dispatcher->connect('view.configure_format', 'configure_format_foo'); |
|---|
| 8 | | $this->dispatcher->connect('request.filter_parameters', 'filter_parameters'); |
|---|
| 9 | | $this->dispatcher->connect('view.configure_format', 'configure_iphone_format'); |
|---|
| | 7 | $this->dispatcher->connect('view.configure_format', array($this, 'configure_format_foo')); |
|---|
| | 8 | $this->dispatcher->connect('request.filter_parameters', array($this, 'filter_parameters')); |
|---|
| | 9 | $this->dispatcher->connect('view.configure_format', array($this, 'configure_iphone_format')); |
|---|
| | 10 | } |
|---|
| | 11 | |
|---|
| | 12 | public function filter_parameters(sfEvent $event, $parameters) |
|---|
| | 13 | { |
|---|
| | 14 | if (false !== stripos($event->getSubject()->getHttpHeader('user-agent'), 'iPhone')) |
|---|
| | 15 | { |
|---|
| | 16 | $event->getSubject()->setRequestFormat('iphone'); |
|---|
| | 17 | } |
|---|
| | 18 | |
|---|
| | 19 | return $parameters; |
|---|
| | 20 | } |
|---|
| | 21 | |
|---|
| | 22 | public function configure_iphone_format(sfEvent $event) |
|---|
| | 23 | { |
|---|
| | 24 | if ('iphone' == $event['format']) |
|---|
| | 25 | { |
|---|
| | 26 | $event['response']->addStylesheet('iphone.css'); |
|---|
| | 27 | |
|---|
| | 28 | $event->getSubject()->setDecorator(true); |
|---|
| | 29 | } |
|---|
| | 30 | } |
|---|
| | 31 | |
|---|
| | 32 | public function configure_format_foo(sfEvent $event) |
|---|
| | 33 | { |
|---|
| | 34 | if ('foo' != $event['format']) |
|---|
| | 35 | { |
|---|
| | 36 | return; |
|---|
| | 37 | } |
|---|
| | 38 | |
|---|
| | 39 | $event['response']->setHttpHeader('x-foo', 'true'); |
|---|
| | 40 | $event->getSubject()->setExtension('.php'); |
|---|