Esempio n. 1
0
 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());
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 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;
 }