This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/plugins/registrar/_directi/response.class.php
2008-11-26 14:50:40 -08:00

188 lines
3.1 KiB
PHP

<?php
/**
* This class is basically used to get formatted o/p.
*/
class Response
{
/**
* Holds an Error code.
*
* @access public
* @var string
*/
var $errorCode;
/**
* Holds an Class which throws Error.
*
* @access public
* @var string
*/
var $errorClass;
/**
* Holds an Error Description.
*
* @access public
* @var string
*/
var $errorMsg;
/**
* Holds an Error Level.
*
* @access public
* @var string
*/
var $errorLevel;
/**
* @access private
*/
var $seperator = "#~#"; // seperator used in Error string.
/**
* @access private
*/
var $data; // Holds data.
/**
* @access private
*/
var $error = false; //Holds error string.
/**
* The constructor which takes data to be analysed as a parameter.
*
* @param string data to be analysed
*
*/
function Response($value)
{
$this->data = $value;
if(is_array($this->data))
{
$this->errorAnalyse();
}
}
/**
* @access private
*
*/
// This function analyse the data for error.
// If data consists of Error string it fills the variables $errorCode,$errorClass,$errorMsg $errorLevel and $error.
function errorAnalyse()
{
foreach($this->data as $key => $value)
{
if ($key == "faultstring")
{
$error = array();
$counter = 1;
$start = 0;
while($pos = strpos($value,$this->seperator,$start))
{
$error[$counter] = substr($value,$start,$pos-$start);
$start = $pos+strlen($this->seperator);
$counter = $counter+1;
}
$this->errorCode = $error[1];
$this->errorClass = $error[2];
$this->errorMsg = $error[3];
$this->errorLevel = $error[4];
$this->error = true;
}
}
}
/**
* This function returns true/false depending upon whether data is an error string or not.
*
* @return boolean
*
*/
function isError()
{
return $this->error;
}
/**
* This function returns the data if no error occured .
*
* @return Any
*
*/
function getResult()
{
if(!$this->error)
{
return $this->data;
}
else
{
return "<b>Error Occured</b>.<br><br> Access Member Variables of the Response class for Error Description<br>";
}
}
/**
* This fuction print the Error in proper format.
*
* @return void
*
*/
function printError()
{
if($this->error)
{
print "<b>Error Code:</b><br>" . $this->errorCode . "<br>";
print "<b>Error Class:</b><br>" . $this->errorClass. "<br>";
print "<b>Error Description:</b><br>" . $this->errorMsg . "<br>";
print "<b>Error Level:</b><br>" . $this->errorLevel . "<br>";
}
else
{
print "<b>No Error:</b> Call printData(\$dataToPrint) to print Result<br><br>";
}
}
/**
* This fuction print the passed data in proper format.
*
* @return void
* @param string Data to print.
*
*/
function printData($dataToPrint)
{
if(!$this->error)
{
if(is_array($dataToPrint))
{
foreach($dataToPrint as $key => $value)
{
if(is_array($value))
{
$this->printData($value);
}
else
{
print "$key ---><b> $value </b><br>";
}
}
}
else
{
print "$dataToPrint<br>";
}
}
else
{
print "<b>Error Occured:</b> Call printError() to print Error<br><br>";
}
}
}
?>