Newer
Older
Zirror-API / docroot / index.php
<?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 )) ;

}

?>