issue 2119. supporting php 5.4. display classes.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12687 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
flyskyko 2013-02-04 09:48:05 +00:00
parent 41fdaf00c3
commit 1de3e9cd17
6 changed files with 258 additions and 117 deletions

View file

@ -1,12 +1,13 @@
<?php
class VirtualXMLDisplayHandler
{
/**
* Produce virtualXML compliant content given a module object.\n
* @param ModuleObject $oModule the module object
* @return string
*/
function toDoc(&$oModule)
{
$error = $oModule->getError();
@ -14,29 +15,49 @@ class VirtualXMLDisplayHandler
$redirect_url = $oModule->get('redirect_url');
$request_uri = Context::get('xeRequestURI');
$request_url = Context::get('xeVirtualRequestUrl');
if(substr($request_url,-1)!='/') $request_url .= '/';
if(substr($request_url, -1) != '/')
{
$request_url .= '/';
}
if($error === 0)
{
if($message != 'success') $output->message = $message;
if($redirect_url) $output->url = $redirect_url;
else $output->url = $request_uri;
if($message != 'success')
{
$output->message = $message;
}
if($redirect_url)
{
$output->url = $redirect_url;
}
else
{
$output->url = $request_uri;
}
}
else
{
if($message != 'fail') $output->message = $message;
if($message != 'fail')
{
$output->message = $message;
}
}
$html = '<script>'."\n";
if($output->message) $html .= 'alert("'.$output->message.'");'."\n";
$html = '<script>' . "\n";
if($output->message)
{
$html .= 'alert("' . $output->message . '");' . "\n";
}
if($output->url)
{
$url = preg_replace('/#(.+)$/i','',$output->url);
$html .= 'self.location.href = "'.$request_url.'common/tpl/redirect.html?redirect_url='.urlencode($url).'";'."\n";
$url = preg_replace('/#(.+)$/i', '', $output->url);
$html .= 'self.location.href = "' . $request_url . 'common/tpl/redirect.html?redirect_url=' . urlencode($url) . '";' . "\n";
}
$html .= '</script>'."\n";
$html .= '</script>' . "\n";
return $html;
}
}
/* End of file VirtualXMLDisplayHandler.class.php */
/* Location: ./classes/display/VirtualXMLDisplayHandler.class.php */