Newer
Older
Zirror-API / docroot / index.php
<?php

/* Main include info */
ini_set ( 'include_path', $_SERVER ['DOCUMENT_ROOT'] . "./include/" );
include ("config.php");

include_once "include/core/ZirrorAPI.php";

$ZirrorAPI = new ZirrorAPI ();
$ZirrorAPI->process ( new ZirrorAPI_Request () );

if (! isset ( $ZirrorAPI->module )) {
  $rData = array ();
  $rData ['result'] = 'EXCEPTION';
  $rData ['resultCode'] = - 1;
  $rData ['resultString'] = 'FOOBAR';
  $rData ['accessToken'] = 0;
  print (json_encode ( $rData )) ;
  exit ( 0 );
}

switch ($ZirrorAPI->request->get ( "module" )) {
  case 'user' :
    userModule ( $ZirrorAPI->request );
    break;
  case 'session' :
    sessionModule ( $ZirrorAPI->request );
    break;
  default :
    $rData = array ();
    $rData ['result'] = 'EXCEPTION';
    $rData ['resultCode'] = - 1;
    $rData ['resultString'] = 'INVALID MODULE: ' . $ZirrorAPI->request->get ( "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 )) ;

}

?>