X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=includes%2Fajax.inc;h=a8a6981c8553e43c3dda82892094ddebea097e70;hb=8864b1ec0fd3321e510511ef22614bc36845540e;hp=ce8c965519e3ab62f0429649e8f0d50fe4ca4808;hpb=f513bee88bb7c734dd65486e230cc497c2fc8894;p=fa-stable.git diff --git a/includes/ajax.inc b/includes/ajax.inc index ce8c9655..a8a6981c 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 { @@ -25,15 +35,15 @@ 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'),$url); + $this->_addCommand(true, array('n'=>'pu'), absolute_url($url)); } // // Adds an executable Javascript code. @@ -142,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; +} ?>