<?php $rMethod = isset ( $_SERVER ['REQUEST_METHOD'] ) ? $_SERVER ['REQUEST_METHOD'] : "FAIL"; switch ($rMethod) { case 'POST' : processPost ( file_get_contents ( "php://input" ) ); break; default : Header ( "Location: http://www.Zirror.com" ); exit ( 0 ); } function processPost($jData) { $pData = json_decode ( $jData ); if (! isset ( $pData->module )) { $rData = array (); $rData ['result'] = 'EXCEPTION'; $rData ['resultCode'] = - 1; $rData ['resultString'] = 'FOOBAR'; $rData ['accessToken'] = 0; print (json_encode ( $rData )) ; exit ( 0 ); } switch ($pData->module) { case 'user' : userModule ( $pData ); break; case 'session' : sessionModule ( $pData ); break; default : $rData = array (); $rData ['result'] = 'EXCEPTION'; $rData ['resultCode'] = - 1; $rData ['resultString'] = 'INVALID MODULE: ' . $pData->module; $rData ['accessToken'] = 0; print (json_encode ( $rData )) ; } } function userModule($pData) { if (! isset ( $pData->cmd )) { Header ( "Location: http://www.Zirror.com" ); exit ( 0 ); } $rData = array (); switch ($pData->cmd) { case "register" : if ($pData->username != "test@zirror.com") { $rData ['result'] = 'GRANTED'; $rData ['resultCode'] = 0; $rData ['resultString'] = "Account " . $pData->username . " created."; } else { $rData ['result'] = 'DENIED'; $rData ['resultCode'] = 2; $rData ['resultString'] = "Account " . $pData->username . " already exissts."; } break; case "login" : if ($pData->username == "test@zirror.com" && $pData->password == "osx") { $rData ['result'] = 'GRANTED'; $rData ['resultCode'] = 0; $rData ['resultString'] = "Access Granted"; $rData ['accessToken'] = time (); } else { $rData ['result'] = 'DENIED'; $rData ['resultCode'] = 1; $rData ['resultString'] = "Access Denied"; $rData ['accessToken'] = 0; } break; default : $rData ['result'] = 'EXCEPTION'; $rData ['resultCode'] = - 1; $rData ['resultString'] = 'FOOBAR'; $rData ['accessToken'] = 0; } print (json_encode ( $rData )) ; } function sessionModule($pData) { $rData = array (); switch ($pData->cmd) { case 'newSession' : $rData ['result'] = 'GRANTED'; $rData ['resultCode'] = 0; $rData ['resultString'] = 'Number Sequence'; $rData ['accessToken'] = time (); break; default : $rData ['result'] = 'EXCEPTION'; $rData ['resultCode'] = - 1; $rData ['resultString'] = 'F00BAR'; $rData ['accessToken'] = 0; } print (json_encode ( $rData )) ; } ?>