<?php
/**
* Wapple Architect WAPL Wrapper class
*
* This class provides an interface into the waplBuilder and waplComms classes.
* It does error handling and allows configuration of the operation of the other classes.
*
* @author Rich Gubby
* @version 1.0
* @package WappleArchitect
*/
class wapl
{
/**
* Store the builder classes
*
* @access public
* @var object
*/
public $builder;
/**
* Store the communication class
*
* @access public
* @var object
*/
private $comms;
/**
* Are we in debug mode - cookies don't get set if you are
*
* @access public
* @var boolean
*/
public $debugMode = false;
/**
* Use cookies to remember mobile detection
*
* @access public
* @var boolean
*/
public $useCookies = true;
/**
* Developer key
*
* @access public
* @var string
*/
public $devKey = '';
/**
* Store error messages
*
* @access public
* @var array
*/
public $errorMessage = array('comms' => array(), 'builder' => array());
/**
* Constructor class
*
* @access public
* @return void
*/
public function __construct()
{
require_once('wapl_builder.php');
require_once('wapl_comms.php');
$this->builder = new waplBuilder($this);
$this->comms = new waplComms($this);
// Check if we've got an error in setup
if($this->getErrorMessage('comms'))
{
unset($this->comms);
}
}
/**
* Set the developer key
*
* @param string $devKey
* @access public
* @return void
*/
public function setDevKey($devKey)
{
$this->devKey = $devKey;
}
/**
* Set the debug mode
*
* @param boolean $debugMode
* @access public
* @return void
*/
public function setDebugMode($debugMode)
{
$this->debugMode = $debugMode;
}
/**
* Use cookies or not
*
* @param boolean $useCookies
* @access public
* @return void
*/
public function useCookies($useCookies)
{
$this->useCookies = $useCookies;
}
/**
* Set a cookie
* @param boolean $value
* @access public
* @return void
*/
public function setCookie($value)
{
if(!$this->debugMode)
{
setcookie("isMobile", $value, time()+3600);
}
}
/**
* Get any error messages
*
* @param string $type
* @access public
* @return string
*/
public function getErrorMessage($type = '')
{
if(isset($type) AND $type != '')
{
return implode('. ', $this->errorMessage[$type]);
}
$string = '';
foreach($this->errorMessage as $key => $val)
{
$string .= implode('. ', $val);
}
return $string;
}
/**
* Wrapper for checking mobile device
*
* @access public
* @return boolean
*/
public function isMobileDevice()
{
if(isset($this->comms))
{
return $this->comms->isMobileDevice();
}
return false;
}
/**
* Wrapper for getting a mobile device
*
* @access public
* @return mixed
*/
public function getMobileDevice()
{
if(isset($this->comms))
{
return $this->comms->getMobileDevice($url);
}
return false;
}
/**
* Wrapper for getting markup from WAPL
*
* @param string $wapl
* @access public
* @return mixed
*/
public function getMarkupFromWapl($wapl)
{
if(isset($this->comms))
{
return $this->comms->getMarkupFromWapl($wapl);
}
return false;
}
/**
* Wrapper for displaying markup from WAPL
*
* @param string $wapl
* @access public
* @return mixed
*/
public function displayMarkupFromWapl($wapl)
{
if(isset($this->comms))
{
return $this->comms->displayMarkupFromWapl($wapl);
}
return false;
}
/**
* Wrapper for getting markup from URL
*
* @param string $url
* @access public
* @return mixed
*/
public function getMarkupFromUrl($url)
{
if(isset($this->comms))
{
return $this->comms->getMarkupFromUrl($url);
}
return false;
}
/**
* Wrapper for displaying markup from URL
*
* @param string $url
* @access public
* @return mixed
*/
public function displayMarkupFromUrl($url)
{
if(isset($this->comms))
{
return $this->comms->displayMarkupFromUrl($url);
}
return false;
}
}
?>
|