public function index($params = false) { $data = file_get_contents('php://input'); $method = $_SERVER['REQUEST_METHOD']; $addr = $this->model('Addresses'); switch ($method) { case 'GET': $addresses = $addr->get($params); break; case 'POST': $data = !$_POST ? $data : $_POST; $addresses = $addr->post($data); break; case 'DELETE': $addresses = $addr->delete($params); break; case 'PUT': $addresses = $addr->put($data, $params); break; default: Router::error404("Unsupported method. Only get,post,put,delete available"); break; } $this->view('Addresses/index', $addresses); }
public function __construct() { $url = $this->ParseUrl(); $controller_name = isset($url[0]) ? ucfirst($url[0]) . 'Controller' : $this->controller; $controller_path = '../app/controllers/' . $controller_name . '.php'; unset($url[0]); if (file_exists($controller_path)) { require_once $controller_path; } else { Router::error404("Invalid controller"); } $controller = new $controller_name(); $parameters = $url ? array_values($url) : []; if (count($parameters) > 1) { Router::error404("Too many parameters, 1 expected"); } call_user_func_array([$controller, $this->method], $parameters); }
public function check_put_param($data = false, $id = false) { $data = json_decode($data); if ($data == null) { Router::error404("invalid data format"); } $data = (array) $data; if (!isset($data['ADDRESSID']) && !$id) { Router::error404("id not found"); } $this->id = isset($data['ADDRESSID']) ? (int) $data['ADDRESSID'] : (int) $id; $updated_params = array(); if (isset($data['LABEL'])) { $this->label = htmlspecialchars($data['LABEL']); $updated_params[] = 'LABEL'; } if (isset($data['STREET'])) { $this->street = htmlspecialchars($data['STREET']); $updated_params[] = 'STREET'; } if (isset($data['HOUSENUMBER'])) { $this->housenumber = htmlspecialchars($data['HOUSENUMBER']); $updated_params[] = 'HOUSENUMBER'; } if (isset($data['POSTALCODE'])) { $this->postalcode = htmlspecialchars($data['POSTALCODE']); $updated_params[] = 'POSTALCODE'; } if (isset($data['CITY'])) { $this->city = htmlspecialchars($data['CITY']); $updated_params[] = 'CITY'; } if (isset($data['COUNTRY'])) { $this->country = htmlspecialchars($data['COUNTRY']); $updated_params[] = 'COUNTRY'; } return array($this, $updated_params); }