1: <?php
2: /**
3: * Created by PhpStorm.
4: * User: manus
5: * Date: 7/03/16
6: * Time: 10:39
7: */
8:
9: namespace GLFramework\Utils;
10:
11:
12: use GLFramework\Model;
13:
14: class DataTablesManager
15: {
16: /**
17: * @var Model[]
18: */
19: var $dataSource;
20:
21: var $callback;
22:
23: /**
24: * DataTablesManager constructor.
25: * @param $callback
26: */
27: public function __construct($callback)
28: {
29: $this->callback = $callback;
30: }
31:
32: public function row($row)
33: {
34: return call_user_func($this->callback, $row);
35: }
36:
37: public function process($fields)
38: {
39: $data = array();
40: foreach($fields as $model)
41: {
42: $data[] = $this->row($model);
43: }
44: header("Content-Type: text/json");
45:
46: echo json_encode(array("data" => $data));
47: die();
48: }
49:
50:
51: }