ODE STYLE Formating gulliver/system/class.controller.php

Change format files in gulliver/system/class.controller.php
This commit is contained in:
norahmollo
2012-10-17 15:38:04 +00:00
parent 1d7954bcc6
commit 5c6d1230bc

View File

@@ -1,7 +1,9 @@
<?php <?php
/** /**
* Controller Class * Controller Class
* Implementing MVC Pattern * Implementing MVC Pattern
*
* @author Erik Amaru Ortiz <erik@colosa.com, aortiz.erik@gmail.com> * @author Erik Amaru Ortiz <erik@colosa.com, aortiz.erik@gmail.com>
* @package gulliver.system * @package gulliver.system
* @access private * @access private
@@ -9,30 +11,36 @@
class Controller class Controller
{ {
/** /**
*
* @var boolean debug switch for general purpose * @var boolean debug switch for general purpose
*/ */
public $debug = null; public $debug = null;
/** /**
*
* @var array - private array to store proxy data * @var array - private array to store proxy data
*/ */
private $__data__ = array(); private $__data__ = array ();
/** /**
*
* @var object - private object to store the http request data * @var object - private object to store the http request data
*/ */
private $__request__; private $__request__;
/** /**
*
* @var object - headPublisher object to handle the output * @var object - headPublisher object to handle the output
*/ */
private $headPublisher = null; private $headPublisher = null;
/** /**
*
* @var string - response type var. possibles values: json|plain * @var string - response type var. possibles values: json|plain
*/ */
private $responseType = ''; private $responseType = '';
/** /**
*
* @var string - layout to pass skinEngine * @var string - layout to pass skinEngine
*/ */
private $layout = ''; private $layout = '';
@@ -43,7 +51,7 @@ class Controller
* @param string $name * @param string $name
* @param string $value * @param string $value
*/ */
public function __set($name, $value) public function __set ($name, $value)
{ {
$this->__data__[$name] = $value; $this->__data__[$name] = $value;
} }
@@ -54,215 +62,235 @@ class Controller
* @param string $name * @param string $name
* @return string or NULL if the internal var doesn't exist * @return string or NULL if the internal var doesn't exist
*/ */
public function __get($name) public function __get ($name)
{ {
if (array_key_exists($name, $this->__data__)) { if (array_key_exists( $name, $this->__data__ )) {
return $this->__data__[$name]; return $this->__data__[$name];
} }
$trace = debug_backtrace(); $trace = debug_backtrace();
trigger_error( trigger_error( 'Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_NOTICE );
'Undefined property via __get(): ' . $name .
' in ' . $trace[0]['file'] .
' on line ' . $trace[0]['line'],
E_USER_NOTICE);
return null; return null;
} }
/** /**
* Magic isset method * Magic isset method
*
* @param string $name * @param string $name
*/ */
public function __isset($name) public function __isset ($name)
{ {
return isset($this->__data__[$name]); return isset( $this->__data__[$name] );
} }
/** /**
* Magic unset method * Magic unset method
*
* @param string $name * @param string $name
*/ */
public function __unset($name) public function __unset ($name)
{ {
unset($this->__data__[$name]); unset( $this->__data__[$name] );
} }
/** /**
* Set Response type method * Set Response type method
*
* @param string $type contains : json|plain * @param string $type contains : json|plain
*/ */
public function setResponseType($type) public function setResponseType ($type)
{ {
$this->responseType = $type; $this->responseType = $type;
} }
/** /**
* call to execute a internal proxy method and handle its exceptions * call to execute a internal proxy method and handle its exceptions
*
* @param string $name * @param string $name
*/ */
public function call($name) public function call ($name)
{ {
try { try {
$result = $this->$name($this->__request__); $result = $this->$name( $this->__request__ );
if ($this->responseType == 'json') { if ($this->responseType == 'json') {
print G::json_encode($result); print G::json_encode( $result );
} }
} catch (Exception $e) { } catch (Exception $e) {
if ($this->responseType != 'json') { if ($this->responseType != 'json') {
$result->exception->class = get_class($e); $result->exception->class = get_class( $e );
$result->exception->code = $e->getCode(); $result->exception->code = $e->getCode();
$template = new TemplatePower(PATH_TEMPLATE . 'controller.exception.tpl'); $template = new TemplatePower( PATH_TEMPLATE . 'controller.exception.tpl' );
$template->prepare(); $template->prepare();
$template->assign('controller', (function_exists('get_called_class') ? get_called_class() : 'Controller')); $template->assign( 'controller', (function_exists( 'get_called_class' ) ? get_called_class() : 'Controller') );
$template->assign('message', $e->getMessage()); $template->assign( 'message', $e->getMessage() );
$template->assign('file', $e->getFile()); $template->assign( 'file', $e->getFile() );
$template->assign('line', $e->getLine()); $template->assign( 'line', $e->getLine() );
$template->assign('trace', $e->getTraceAsString()); $template->assign( 'trace', $e->getTraceAsString() );
echo $template->getOutputContent(); echo $template->getOutputContent();
} else { } else {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
switch(get_class($e)) { switch (get_class( $e )) {
case 'Exception': $error = "SYSTEM ERROR"; break; case 'Exception':
case 'PMException': $error = "PROCESSMAKER ERROR"; break; $error = "SYSTEM ERROR";
case 'PropelException': $error = "DATABASE ERROR"; break; break;
case 'UserException': $error = "USER ERROR"; break; case 'PMException':
$error = "PROCESSMAKER ERROR";
break;
case 'PropelException':
$error = "DATABASE ERROR";
break;
case 'UserException':
$error = "USER ERROR";
break;
} }
$result->error = $error; $result->error = $error;
$result->exception->class = get_class($e); $result->exception->class = get_class( $e );
$result->exception->code = $e->getCode(); $result->exception->code = $e->getCode();
print G::json_encode($result); print G::json_encode( $result );
} }
} }
} }
/** /**
* Set the http request data * Set the http request data
*
* @param array $data * @param array $data
*/ */
public function setHttpRequestData($data) public function setHttpRequestData ($data)
{ {
if (!is_object($this->__request__)) { if (! is_object( $this->__request__ )) {
$this->__request__ = new stdclass(); $this->__request__ = new stdclass();
} }
if( is_array($data) ) { if (is_array( $data )) {
while( $var = each($data) ) while ($var = each( $data )) {
$this->__request__->$var['key'] = $var['value']; $this->__request__->$var['key'] = $var['value'];
} else }
} else {
$this->__request__ = $data; $this->__request__ = $data;
} }
}
/** /**
* Get debug var. method * Get debug var.
* method
*
* @param boolan $val boolean value for debug var. * @param boolan $val boolean value for debug var.
*/ */
public function setDebug($val) public function setDebug ($val)
{ {
$this->debug = $val; $this->debug = $val;
} }
/** /**
* Get debug var. method * Get debug var.
* method
*/ */
public function getDebug() public function getDebug ()
{ {
if ($this->debug === null) { if ($this->debug === null) {
$this->debug = defined('DEBUG') && DEBUG ? true : false; $this->debug = defined( 'DEBUG' ) && DEBUG ? true : false;
} }
return $this->debug; return $this->debug;
} }
/**
/*** HeadPublisher Functions Binding ***/ * * HeadPublisher Functions Binding **
*/
/** /**
* Include a particular extjs library or extension to the main output * Include a particular extjs library or extension to the main output
*
* @param string $srcFile path of a extjs library or extension * @param string $srcFile path of a extjs library or extension
* @param boolean $debug debug flag to indicate if the js output will be minifield or not * @param boolean $debug debug flag to indicate if the js output will be minifield or not
* $debug: true -> the js content will be not minified (readable) * $debug: true -> the js content will be not minified (readable)
* false -> the js content will be minified * false -> the js content will be minified
*/ */
public function includeExtJSLib($srcFile, $debug=false) public function includeExtJSLib ($srcFile, $debug = false)
{ {
$this->getHeadPublisher()->usingExtJs($srcFile, ($debug ? $debug : $this->getDebug())); $this->getHeadPublisher()->usingExtJs( $srcFile, ($debug ? $debug : $this->getDebug()) );
} }
/** /**
* Include a javascript file that is using extjs framework to the main output * Include a javascript file that is using extjs framework to the main output
*
* @param string $srcFile path of javascrit file to include * @param string $srcFile path of javascrit file to include
* @param boolean $debug debug flag to indicate if the js output will be minifield or not * @param boolean $debug debug flag to indicate if the js output will be minifield or not
* $debug: true -> the js content will be not minified (readable) * $debug: true -> the js content will be not minified (readable)
* false -> the js content will be minified * false -> the js content will be minified
*/ */
public function includeExtJS($srcFile, $debug=false) public function includeExtJS ($srcFile, $debug = false)
{ {
$this->getHeadPublisher()->addExtJsScript($srcFile, ($debug ? $debug : $this->getDebug())); $this->getHeadPublisher()->addExtJsScript( $srcFile, ($debug ? $debug : $this->getDebug()) );
} }
/** /**
* Include a Html file to the main output * Include a Html file to the main output
*
* @param string $file path of html file to include to the main output * @param string $file path of html file to include to the main output
*/ */
public function setView($file) public function setView ($file)
{ {
$this->getHeadPublisher()->addContent($file); $this->getHeadPublisher()->addContent( $file );
} }
/** /**
* Set variables to be accesible by javascripts * Set variables to be accesible by javascripts
*
* @param string $name contains var. name * @param string $name contains var. name
* @param string $value conatins var. value * @param string $value conatins var. value
*/ */
public function setJSVar($name, $value) public function setJSVar ($name, $value)
{ {
$this->getHeadPublisher()->assign($name, $value); $this->getHeadPublisher()->assign( $name, $value );
} }
/** /**
* Set variables to be accesible by the extjs layout template * Set variables to be accesible by the extjs layout template
*
* @param string $name contains var. name * @param string $name contains var. name
* @param string $value conatins var. value * @param string $value conatins var. value
*/ */
public function setVar($name, $value) public function setVar ($name, $value)
{ {
$this->getHeadPublisher()->assignVar($name, $value); $this->getHeadPublisher()->assignVar( $name, $value );
} }
/** /**
* method to get the local getHeadPublisher object * method to get the local getHeadPublisher object
*/ */
public function getHeadPublisher() public function getHeadPublisher ()
{ {
if (!is_object($this->headPublisher)) { if (! is_object( $this->headPublisher )) {
$this->headPublisher = headPublisher::getSingleton(); $this->headPublisher = headPublisher::getSingleton();
} }
return $this->headPublisher; return $this->headPublisher;
} }
public function setLayout($layout) public function setLayout ($layout)
{ {
$this->layout = $layout; $this->layout = $layout;
} }
public function render($type='mvc') public function render ($type = 'mvc')
{ {
G::RenderPage('publish', $type, null, $this->layout); G::RenderPage( 'publish', $type, null, $this->layout );
} }
public function header($header) public function header ($header)
{ {
G::header($header); G::header( $header );
} }
public function redirect($url) public function redirect ($url)
{ {
G::header("Location: $url"); G::header( "Location: $url" );
} }
} }