public function rest($path) { View::setLayout('plain'); View::setTemplate('api'); $model = $this->getModel($path); $model->limit(Input::get('limit')); $model->offset((Input::get('page') - 1) * Input::get('limit')); header("X-Item-Count: " . $model->count()); View::set('response', $model->fetch()->toArray()); }
private function getLink($index) { if ($this->parameters['query'] == '') { $link = $this->parameters['base_url'] . $index; } else { $link = $this->parameters['base_url'] . '?'; $get = Input::get(); foreach ($get as $key => $value) { if ($key == $this->parameters['query']) { continue; } $link .= "{$key}=" . urlencode($value) . '&'; } $link .= "{$this->parameters['query']}={$index}"; } return $link; }
public function bind(Controller $controller, $type, $name) { $this->bound = false; $object = \ntentan\panie\InjectionContainer::resolve($type); if (is_a($object, '\\ntentan\\Model')) { $fields = $this->getModelFields($object); } else { $fields = $this->getClassFields($object); } $requestData = Input::post() + Input::get(); foreach ($fields as $field) { if (isset($requestData[$field])) { $object->{$field} = $requestData[$field] == '' ? null : $requestData[$field]; $this->bound = true; } } return $object; }
private function loadResource($parameters, $routeName) { if ($routeName == null) { return false; } foreach ($this->routes[$routeName]['parameters']['default'] as $parameter => $value) { // Only set the controller on default route, if no route is presented to the router. if ($routeName == 'default' && $this->route != '' && $parameter == 'controller') { continue; } if (!isset($parameters[$parameter])) { $parameters[$parameter] = $value; } else { if ($parameters[$parameter] === '') { $parameters[$parameter] = $value; } } } $parameters += Input::get() + Input::post(); if (isset($parameters['controller'])) { return $this->loadController($parameters); } return false; }