load->model('postmodel'); } function index() { $request_method = $_SERVER['REQUEST_METHOD']; $id = (int) $this->uri->segment("3"); if($id == NULL) { switch($request_method) { case "GET": $data = $this->postmodel->get_post(); $this->response($data); break; case "POST": $this->postmodel->create_post($_POST); $message = array('message' => 'Added!'); $this->response($message); break; } } else { switch($request_method) { case "GET": $data = $this->postmodel->get_post($id); $this->response($data); break; case "PUT": parse_str(file_get_contents("php://input"), $put_data); $this->postmodel->update_post($put_data, $id); $message = array('id' => $id, 'message' => 'Edited!'); $this->response($message); break; case "DELETE": $this->postmodel->delete_post($id); $message = array('message' => 'Deleted!'); $this->response($message); break; } } } function array2xml( $arr, $indent = '', $escape = true ) { $buff = ''; foreach ( $arr as $k => $v ) { //for a tag if ( !is_array( $v ) ) { $buff .= "$indent<$k>" . ($escape ? utf8_encode( htmlspecialchars($v) ) : $v ) . "\n"; } else { //for a list. if ( isset( $v[0] ) ) { foreach ( $v as $_k => $_v ) { if ( is_array( $_v ) ) { $buff .= "$indent<$k>\n" . $this->array2xml( $_v, $indent . "\t", $escape ) . "$indent\n"; } else { $buff .= "$indent<$k>" . ($escape ? utf8_encode( htmlspecialchars($_v) ) : $_v ) . "\n"; } } } else { $buff .= "$indent<$k>\n" . $this->array2xml( $v, $indent . "\t", $escape ) . "$indent\n"; } } } return $buff; } function response($d) { echo "\n\n".$this->array2xml($d).""; } } ?>