<?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 ['errorCode'] = - 1;
$rData ['errorString'] = '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 ['errorCode'] = - 1;
$rData ['errorString'] = '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 ['errorCode'] = 0;
$rData ['errorString'] = "Account " . $pData->username . " created.";
} else {
$rData ['result'] = 'DENIED';
$rData ['errorCode'] = 2;
$rData ['errorString'] = "Account " . $pData->username . " already exissts.";
}
break;
case "login" :
if ($pData->username == "test@zirror.com" && $pData->password == "osx") {
$rData ['result'] = 'GRANTED';
$rData ['errorCode'] = 0;
$rData ['errorString'] = "Access Granted";
$rData ['accessToken'] = time ();
} else {
$rData ['result'] = 'DENIED';
$rData ['errorCode'] = 1;
$rData ['errorString'] = "Access Denied";
$rData ['accessToken'] = 0;
}
break;
default :
$rData ['result'] = 'EXCEPTION';
$rData ['errorCode'] = - 1;
$rData ['errorString'] = 'FOOBAR';
$rData ['accessToken'] = 0;
}
print (json_encode ( $rData )) ;
}
function sessionModule($pData) {
$rData = array ();
switch ($pData->cmd) {
case 'newSession' :
$rData ['result'] = 'GRANTED';
$rData ['errorCode'] = 0;
$rData ['errorString'] = 'Number Sequence';
$rData ['accessToken'] = time ();
break;
default :
$rData ['result'] = 'EXCEPTION';
$rData ['errorCode'] = - 1;
$rData ['errorString'] = 'F00BAR';
$rData ['accessToken'] = 0;
}
print (json_encode ( $rData )) ;
}
?>