X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fajax.inc;h=b95d1928a353b702c882b1c266eed11b43b2e117;hb=88b14706dd1d133fe7734f66e9c4980e36d6bc9f;hp=ce8c965519e3ab62f0429649e8f0d50fe4ca4808;hpb=f513bee88bb7c734dd65486e230cc497c2fc8894;p=fa-stable.git diff --git a/includes/ajax.inc b/includes/ajax.inc index ce8c9655..b95d1928 100644 --- a/includes/ajax.inc +++ b/includes/ajax.inc @@ -25,15 +25,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 +142,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; +} ?>