~xibo-maintainers/xibo/tempel

« back to all changes in this revision

Viewing changes to lib/Middleware/ApiView.php

  • Committer: Dan Garner
  • Date: 2015-08-11 09:29:02 UTC
  • mto: This revision was merged to the branch mainline in revision 453.
  • Revision ID: git-v1:a86fb4369b7395c13367577d23b14c0ab4528c1a
Transitions fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
 
12
12
use Slim\Slim;
13
13
use Slim\View;
14
 
use Xibo\Helper\HttpsDetect;
 
14
use Xibo\Helper\Log;
 
15
use Xibo\Helper\Sanitize;
15
16
 
16
17
class ApiView extends View
17
18
{
55
56
            // Are we successful?
56
57
            if (!$this->has('success') || !$this->get('success')) {
57
58
                // Error condition
58
 
                $response = [
59
 
                    'error' => [
60
 
                        'message' => $this->get('message'),
61
 
                        'code' => intval($this->get('status')),
62
 
                        'data' => $this->get('data')
63
 
                    ]
64
 
                ];
 
59
                $response = [];
 
60
                $app->response()->body($this->get('message'));
 
61
                $app->stop();
65
62
            }
66
63
            else {
 
64
 
67
65
                // Are we a grid?
68
66
                if ($this->get('grid') == true) {
69
67
                    // Set the response to our data['data'] object
74
72
                    $totalRows = $grid['recordsTotal'];
75
73
 
76
74
                    // Set some headers indicating our next/previous pages
77
 
                    $start = $app->sanitizerService->getInt('start', 0);
78
 
                    $size = $app->sanitizerService->getInt('length', 10);
 
75
                    $start = Sanitize::getInt('start', 0);
 
76
                    $size = Sanitize::getInt('size', 10);
79
77
 
80
78
                    $linkHeader = '';
81
 
                    $url = (new HttpsDetect())->getUrl() . $app->request()->getPath();
 
79
                    $url = $app->request()->getUrl() . $app->request()->getPath();
82
80
 
83
81
                    // Is there a next page?
84
82
                    if ($start + $size < $totalRows)
85
 
                        $linkHeader .= '<' . $url . '?start=' . ($start + $size * 2) . '&length=' . $size . '>; rel="next", ';
 
83
                        $linkHeader .= '<' . $url . '?start' . ($start + $size * 2) . '&size=' . $size . '>; rel="next", ';
86
84
 
87
85
                    // Is there a previous page?
88
86
                    if ($start > 0)
89
 
                        $linkHeader .= '<' . $url . '?start=' . ($start - $size) . '&length=' . $size . '>; rel="prev", ';
 
87
                        $linkHeader .= '<' . $url . '?start' . ($start - $size) . '&size=' . $size . '>; rel="prev", ';
90
88
 
91
89
                    // The first page
92
 
                    $linkHeader .= '<' . $url . '?start=0&length=' . $size . '>; rel="first"';
 
90
                    $linkHeader .= '<' . $url . '?start=0&size=' . $size . '>; rel="first"';
93
91
 
94
92
                    $app->response()->header('X-Total-Count', $totalRows);
95
93
                    $app->response()->header('Link', $linkHeader);