Changeset 303 for Dev/branches/rest-dojo-ui/server
- Timestamp:
- 03/04/12 15:48:42 (13 years ago)
- Location:
- Dev/branches/rest-dojo-ui/server
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/branches/rest-dojo-ui/server/api.php
r292 r303 4 4 ini_set('display_errors', True); 5 5 6 define("RDFAPI_INCLUDE_DIR", "rdfapi/"); 6 7 require_once 'tonic/lib/tonic.php'; 8 require_once 'classes/Model.php'; 7 9 require_once 'classes/master.php'; 8 10 … … 13 15 14 16 function set_session_cookie($response, $user) { 15 $response->addHeader('Set-Cookie', 'rft_uid=' . $user-> uid. '; Max-Age: 3600; Path=' . $response->request->baseUri);17 $response->addHeader('Set-Cookie', 'rft_uid=' . $user->getUid() . '; Max-Age: 3600; Path=' . $response->request->baseUri); 16 18 } 17 19 … … 87 89 class DataResource extends Resource { 88 90 89 function getTypeAndUid($request) {91 private function getTypeAndUid($request) { 90 92 $uri = get_clean_uri($request); 91 93 $path = explode('/', $uri); … … 155 157 $object->$key = $val; 156 158 } 157 if (isset($object->creator)) { 158 $object->creator = $user; 159 } 160 if (!$object->save()) { 161 throw new ResponseException("Save failed", Response::INTERNALSERVERERROR); 162 } 159 $object->save(); 163 160 164 161 $response->body = $object; -
Dev/branches/rest-dojo-ui/server/classes/Auth.php
r274 r303 7 7 public static function register($email, $password) { 8 8 $user_results = User::get(array("email" => $email)); 9 if ( !empty($user_results)) {9 if (!empty($user_results)) { 10 10 throw new Exception("User with email $email already exists."); 11 11 } 12 12 $salt = rand(); 13 $user = new User(null,$email,sha1($password.$salt),$salt); 13 $user = new User(null, array( 14 'email' => $email, 15 'passwordHash' => sha1($password . $salt), 16 'passwordSalt' => $salt)); 14 17 $user->save(); 15 18 return $user; 16 19 } 17 20 18 21 public static function login($email, $password) { 19 22 $user_results = User::get(array("email" => $email)); … … 22 25 } 23 26 $user = $user_results[0]; 24 if (sha1($password .$user->passwordSalt) != $user->passwordHash) {27 if (sha1($password . $user->passwordSalt) != $user->passwordHash) { 25 28 throw new Exception("Wrong password."); 26 29 } … … 35 38 return $user_results[0]; 36 39 } 37 40 38 41 } 39 42 -
Dev/branches/rest-dojo-ui/server/classes/Marshaller.php
r274 r303 4 4 5 5 const OBJ_TYPE = '__objectType'; 6 const OBJ_UID = '__objectUid'; 7 const REF_TYPE = '__referenceType'; 8 const REF_UID = '__referenceUid'; 6 9 7 10 private static function isWrappedObject($obj) { … … 9 12 } 10 13 14 private static function isWrappedReference($obj) { 15 return isset($obj[self::REF_TYPE]); 16 } 17 11 18 public static function marshall($obj) { 12 19 switch (gettype($obj)) { 13 20 case 'array': 14 return array_map(array('Marshaller', 'marshall'), $obj);21 return array_map(array('Marshaller', 'marshall'), $obj); 15 22 case 'object': 16 23 return static::wrapObject($obj); … … 24 31 if ($objectType == 'DateTime') { 25 32 return array(self::OBJ_TYPE => 'DateTime', 'timestamp' => $obj->getTimestamp()); 33 } else if ($obj instanceof RdfObject) { 34 $array = array( 35 self::OBJ_TYPE => $obj->getType(), 36 self::OBJ_UID => $obj->getUid() 37 ); 38 foreach ($obj as $prop => $val) { 39 $array[$prop] = static::marshall($val); 40 } 41 return $array; 42 } else if ($obj instanceof RdfPointer) { 43 return array( 44 self::REF_TYPE => $obj->getType(), 45 self::REF_UID => $obj->getUid() 46 ); 26 47 } else { 27 $newObj = static::marshall((array) $obj); 28 $newObj[self::OBJ_TYPE] = get_class($obj); 29 return $newObj; 48 return static::marshall((array) $obj); 30 49 } 31 50 } … … 38 57 if (static::isWrappedObject($obj)) { 39 58 return static::unwrapObject($obj); 59 } else if (static::isWrappedReference($obj)) { 60 return static::unwrapReference($obj); 40 61 } else { 41 return array_map(array('Marshaller', 'unmarshall'), $obj);62 return array_map(array('Marshaller', 'unmarshall'), $obj); 42 63 } 43 64 default: … … 47 68 48 69 private static function unwrapObject($obj) { 49 $objectType = $obj[self::OBJ_TYPE]; 50 unset($obj[self::OBJ_TYPE]); 70 if (isset($obj[self::OBJ_TYPE])) { 71 $objectType = $obj[self::OBJ_TYPE]; 72 unset($obj[self::OBJ_TYPE]); 73 } 74 if (isset($obj[self::OBJ_UID])) { 75 $objectUid = $obj[self::OBJ_UID]; 76 unset($obj[self::OBJ_UID]); 77 } 51 78 if ($objectType == 'DateTime') { 52 79 $date = new DateTime(); 53 80 $date->setTimestamp($obj['timestamp']); 54 81 return $date; 55 } else if (is_subclass_of($objectType, 'ResearchToolObjectInterface')) { 56 return $objectType::create((object)static::unmarshall($obj)); 82 } else if (is_subclass_of($objectType, 'RdfObject')) { 83 $rdfObject = new $objectType($objectUid); 84 foreach ($obj as $prop => $val) { 85 $rdfObject->$prop = static::unmarshall($val); 86 } 87 return $rdfObject; 57 88 } else { 58 89 return $obj; … … 60 91 } 61 92 93 private static function unwrapReference($ref) { 94 $refType = $ref[self::REF_TYPE]; 95 $refUid = $ref[self::REF_UID]; 96 return new RdfPointer(RdfObject::typeAndUidToResourceUri($refType, $refUid)); 97 } 98 62 99 } 63 100 -
Dev/branches/rest-dojo-ui/server/classes/master.php
r256 r303 8 8 * @author fpvanagthoven 9 9 */ 10 // Determine our absolute document root11 define('DOC_ROOT', realpath(dirname(__FILE__) . '/../'));12 10 13 11 function __autoload($class_name) { 14 12 if (file_exists('classes/' . $class_name . '.php')) 15 require 'classes/' . $class_name . '.php'; 16 else if (file_exists('classes/models/' . $class_name . '.php')) 17 require 'classes/models/' . $class_name . '.php'; 18 else if (file_exists('classes/widgets/' . $class_name . '.php')) 19 require 'classes/widgets/' . $class_name . '.php'; 20 else if (file_exists('classes/styles/' . $class_name . '.php')) 21 require 'classes/styles/' . $class_name . '.php'; 13 require_once 'classes/' . $class_name . '.php'; 22 14 } 23 15 -
Dev/branches/rest-dojo-ui/server/rdfapi/syntax/RdfSerializer.php
r256 r303 196 196 } 197 197 // check if model is empty 198 if ($model->size() == 0) return "<". $this->rdf_qname_prefix . RDF_RDF ." xmlns:rdf='".RDF_NAMESPACE_URI."' />"; 198 if ($model->size() == 0) { 199 $elementStr = "<". $this->rdf_qname_prefix . RDF_RDF ." xmlns:rdf='".RDF_NAMESPACE_URI."' />"; 200 return $elementStr; 201 } 199 202 200 203 foreach($nsps as $ns => $pre){
Note: See TracChangeset
for help on using the changeset viewer.