[0004212] Work Order Entry: fixed error when voided WO refence is reused.
[fa-stable.git] / includes / ajax.inc
index a018b12f9604c040ce4ccde34f0f65cd0a6a1eee..a89b55876f83eb355257f2bed324b54ad1452959 100644 (file)
@@ -1,13 +1,13 @@
 <?php
 /**********************************************************************
     Copyright (C) FrontAccounting, LLC.
-       Released under the terms of the GNU Affero General Public License,
-       AGPL, as published by the Free Software Foundation, either version 
-       of the License, or (at your option) any later version.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
-    See the License here <http://www.gnu.org/licenses/agpl-3.0.html>.
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
 require_once($path_to_root. "/includes/JsHttpRequest.php");
 
@@ -16,9 +16,9 @@ class Ajax extends JsHttpRequest {
        var $aCommands = array();
        var $triggers = array();
        
-    function Ajax() 
+    function __construct() 
     {
-         $this->JsHttpRequest($_SESSION['language']->encoding);
+         parent::__construct(@$_SESSION['language']->encoding);
     }
        //
        //      This function is used in ctrl routines to activate
@@ -98,52 +98,37 @@ class Ajax extends JsHttpRequest {
        //
        function _addCommand($trigger, $aAttributes, $mData)
        {
-         if ($this->isActive() && ($trigger !== false)) {
-//             display_error('adding '.$trigger.':'.htmlentities($mData));
+               if ($this->isActive() && ($trigger !== false)) {
 
-               $aAttributes['why'] = $trigger;
-               $aAttributes['data'] = $mData;
-               $this->aCommands[] = $aAttributes;
-         }
+                       $aAttributes['why'] = $trigger;
+                       $aAttributes['data'] = $mData;
+                       $this->aCommands[] = $aAttributes;
+               }
        }
-       /*
-       * Register binds function with ajax call parameter
-       
-       function register($trigger, $function) 
+
+       function run() 
        {
-           if (isset($_REQUEST[$trigger])) {
-               $function(&$this);
-           }
-       }
-       */
-       function run() {
-           
            if (!$this->isActive()) return;
 
                // remove not active commands
                foreach ($this->aCommands as $idx => $com) {
 // If we should reload whole page content ignore all commands but the update.
 // This is page repost equivalent, although header and footer are not reloaded.
-                 if ($com['why'] !== true && !isset($this->triggers[$com['why']])) {
-                       unset($this->aCommands[$idx]);
-//                     display_error('unset '.$com['t']);
-                 }
-                 else
-                 if($com['n'] == 'up' && $com['t'] == '_page_body') {
-                         $cmds = array($com);
-                         foreach( $this->aCommands as $k=> $cmd) {
-                               if ($cmd['n'] == 'fc') {        // save focus
-                                       $cmds[] = $cmd; break;
-                               }
-                         }
-                         $this->aCommands = $cmds;
-                         break;
-                 }
+                       if ($com['why'] !== true && !isset($this->triggers[$com['why']])) {
+                               unset($this->aCommands[$idx]);
+                       }
+                       elseif($com['n'] == 'up' && $com['t'] == '_page_body') {
+                               $cmds = array($com);
+                               foreach( $this->aCommands as $k=> $cmd) {
+                                       if ($cmd['n'] == 'fc' || $cmd['n'] == 'js') {   // save focus
+                                               $cmds[] = $cmd; //break;
+                                       }
+                               }
+                               $this->aCommands = $cmds;
+                               break;
+                       }
                }
-//             display_error('Activate:'.htmlentities(print_r($this->triggers, true)));
-//             display_error('Commands :'.htmlentities(print_r($this->aCommands, true)));
            $GLOBALS['_RESULT'] = $this->aCommands;
-//         exit();
        }
 }
 
@@ -159,4 +144,3 @@ function absolute_url($url)
 {
    return strpos($url, '..')===0 ? dirname($_SERVER['PHP_SELF']).'/'.$url : $url;
 }
-?>