Blame view

framework/control/RequestProcessor.php 1.04 KB
0084d336   Administrator   Importers CRUD
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
38
39
40
41
42
43
44
45
46
47
48
  <?php
  
  /**
   * Represents a request processer that delegates pre and post request handling to nested request filters
   * 
   * @package framework
   * @subpackage control
   */
  class RequestProcessor implements RequestFilter {
  
  	/**
  	 * List of currently assigned request filters
  	 *
  	 * @var array
  	 */
  	private $filters = array();
  
  	public function __construct($filters = array()) {
  		$this->filters = $filters;
  	}
  
  	/**
  	 * Assign a list of request filters
  	 * 
  	 * @param array $filters
  	 */
  	public function setFilters($filters) {
  		$this->filters = $filters;
  	}
  
  	public function preRequest(SS_HTTPRequest $request, Session $session, DataModel $model) {
  		foreach ($this->filters as $filter) {
  			$res = $filter->preRequest($request, $session, $model);
  			if ($res === false) {
  				return false;
  			}
  		}
  	}
  
  	public function postRequest(SS_HTTPRequest $request, SS_HTTPResponse $response, DataModel $model) {
  		foreach ($this->filters as $filter) {
  			$res = $filter->postRequest($request, $response, $model);
  			if ($res === false) {
  				return false;
  			}
  		}
  	}
  }