X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fajax.inc;h=ecee59cd2d3c3fefa8cba8ab4e552860d7df9b8e;hb=e94d9f21b624d215439f30b43383c641bbe51dd7;hp=135ee03df2dc91cd46d75d79d63a0d22f91adee3;hpb=a06949eb560d8d165c267069ee73d34059e68985;p=fa-stable.git diff --git a/includes/ajax.inc b/includes/ajax.inc index 135ee03d..ecee59cd 100644 --- a/includes/ajax.inc +++ b/includes/ajax.inc @@ -1,4 +1,14 @@ . +***********************************************************************/ require_once($path_to_root. "/includes/JsHttpRequest.php"); class Ajax extends JsHttpRequest { @@ -8,7 +18,7 @@ class Ajax extends JsHttpRequest { function Ajax() { - $this->JsHttpRequest($_SESSION['language']->encoding); + $this->JsHttpRequest(@$_SESSION['language']->encoding); } // // This function is used in ctrl routines to activate @@ -25,11 +35,17 @@ class Ajax extends JsHttpRequest { // function redirect($url) { if(in_ajax()) { - $this->_addCommand(true, array('n'=>'rd'),$url); - $this->run(); + $this->_addCommand(true, array('n'=>'rd'), absolute_url($url)); + $this->run(); } } // + // Popup window (target=_blank) + // + function popup($url) { + $this->_addCommand(true, array('n'=>'pu'), absolute_url($url)); + } + // // Adds an executable Javascript code. // function addScript($trigger, $sJS) @@ -117,7 +133,7 @@ class Ajax extends JsHttpRequest { $cmds = array($com); foreach( $this->aCommands as $k=> $cmd) { if ($cmd['n'] == 'fc') { // save focus - $cmds[] = $cmd; break; + $cmds[] = $cmd; //break; } } $this->aCommands = $cmds; @@ -136,4 +152,11 @@ function in_ajax() { return $Ajax->isActive(); } +// Returns absolute path of relative $url. To be used in ajax calls +// for proper redirection from any referer page. +// +function absolute_url($url) +{ + return strpos($url, '..')===0 ? dirname($_SERVER['PHP_SELF']).'/'.$url : $url; +} ?>