Changeset 274 for Dev/branches/rest-dojo-ui/server/api.php
- Timestamp:
- 02/20/12 16:27:19 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/branches/rest-dojo-ui/server/api.php
r263 r274 46 46 47 47 $user = null; 48 $data = null;49 48 if (!empty($request->data)) { 50 $data = json_decode($request->data, true); 51 } 52 if (!empty($data)) { 53 $user = Auth::login($data['username'], sha1($data['password'])); 49 $user = Auth::login($request->data['email'], $request->data['password']); 54 50 if (!$user) { 55 throw new ResponseException("Incorrect usernameand password", Response::UNAUTHORIZED);51 throw new ResponseException("Incorrect email and password", Response::UNAUTHORIZED); 56 52 } 57 53 set_session_cookie($response, $user); … … 59 55 $user = restore_session($response); 60 56 } 61 $response->body = json_encode($user); 57 $response->body = $user; 58 return $response; 59 } 60 61 } 62 63 /** 64 * @uri /register 65 */ 66 class RegisterResource extends Resource { 67 68 function post($request) { 69 $response = new Response($request); 70 71 $user = null; 72 if (!empty($request->data)) { 73 $user = Auth::register($request->data['email'], $request->data['password']); 74 set_session_cookie($response, $user); 75 } else { 76 throw new ResponseException("No email and password provided.",Response::BADREQUEST); 77 } 78 $response->body = $user; 62 79 return $response; 63 80 } … … 83 100 $type = $this->getType($request); 84 101 $objects = $type::get(array()); 85 //$objects = array_map(function($val) { return array('uid' => $val->uid); }, $objects); 86 87 $response->body = json_encode($objects); 102 103 $response->body = $objects; 88 104 return $response; 89 105 } … … 94 110 95 111 $type = $this->getType($request); 96 $data = json_decode($request->data);97 112 $onlyAdd = $request->ifNoneMatch('*'); 98 113 $onlyUpdate = $request->ifMatch('*'); 99 114 100 115 $object = FALSE; 101 if (isset($ data->uid)) {102 $objects = $type::get(array('uid' => $ data->uid));116 if (isset($request->data->uid)) { 117 $objects = $type::get(array('uid' => $request->data->uid)); 103 118 if (!empty($objects)) { 104 119 $object = $objects[0]; … … 116 131 $response->code = Response::OK; 117 132 } 118 foreach ($ data as $key => $val) {133 foreach ($request->data as $key => $val) { 119 134 $object->$key = $val; 120 135 } 121 $object->save(); 122 123 $response->body = json_encode($object); 136 if (!$object->save()) { 137 throw new ResponseException("Save failed", Response::INTERNALSERVERERROR); 138 } 139 140 $response->body = $object; 124 141 return $response; 125 142 } … … 150 167 } 151 168 152 $response->body = json_encode($objects[0]);169 $response->body = $objects[0]; 153 170 return $response; 154 171 } … … 159 176 160 177 $info = $this->getTypeAndUid($request); 161 $data = json_decode($request->data);162 178 $onlyAdd = $request->ifNoneMatch('*'); 163 179 $onlyUpdate = $request->ifMatch('*'); … … 179 195 $response->code = Response::OK; 180 196 } 181 foreach ($ data as $key => $val) {197 foreach ($request->data as $key => $val) { 182 198 $object->$key = $val; 183 199 } 184 $object->save(); 185 186 $response->body = json_encode($object); 200 if (!$object->save()) { 201 throw new ResponseException("Save failed", Response::INTERNALSERVERERROR); 202 } 203 204 $response->body = $object; 187 205 return $response; 188 206 } 189 207 190 208 function delete($request) { 191 restore_session( );209 restore_session(new Response($request)); 192 210 throw new ReponseException("Delete not implemented", Response::METHODNOTALLOWED); 193 211 } … … 202 220 $request->baseUri = $baseUri; 203 221 } 204 222 $request->data = Marshaller::unmarshall(json_decode($request->data)); 205 223 try { 206 224 $resource = $request->loadResource(); … … 208 226 } catch (ResponseException $e) { 209 227 $response = $e->response($request); 210 $response->body = json_encode(array('errorMsg' => $response->body));228 $response->body = array('errorMsg' => $response->body); 211 229 } catch (Exception $e) { 212 230 $response = new Response($request); 213 231 $response->code = Response::INTERNALSERVERERROR; 214 $response->body = json_encode(array('errorMsg' => "Unhandled exception: " . $e));232 $response->body = array('errorMsg' => "Unhandled exception: " . $e); 215 233 } 216 234 add_default_headers($response); 235 $response->body = json_encode(Marshaller::marshall($response->body)); 217 236 $response->output(); 237 218 238 ?>
Note: See TracChangeset
for help on using the changeset viewer.