Implemented customizable authentication timeout.
[fa-stable.git] / sql / alter2.2.php
index 72a26840713d4475567153e67b46748fbd84c976..9e4eaacb6f412d1bd534f83db9b808f7dad8ce8d 100644 (file)
@@ -19,7 +19,7 @@ class fa2_2 {
        //
        function install($pref, $force) 
        {
-               global $db;
+               global $db, $systypes_array;
                // set item category dflt accounts to values from company GL setup
                $prefs = get_company_prefs();
                $sql = "UPDATE {$pref}stock_category SET "
@@ -33,14 +33,54 @@ class fa2_2 {
                        .':<br>'. db_error_msg($db));
                        return false;
                }
-/*     FIX
-               // add audit_trail data for all transactions
-               $datatbl = array ("gl_trans", "purch_orders", "sales_orders",
-                       "workorders");
-               $sql = "INSERT INTO ".$pref."audit_trail"
-               ." (type, trans_no, user, fiscal_year, gl_date) VALUES ("
-               . "$type,$trans_no,$user,$year,$date)";
-*/
+               // add all references to refs table for easy searching via journal interface
+               foreach($systypes_array as $typeno => $typename) {
+                       $info = get_systype_db_info($typeno);
+                       if ($info == null || $info[3] == null) continue;
+                       $tbl = str_replace(TB_PREF, $pref, $info[0]);
+                       $sql = "SELECT {$info[2]} as id,{$info[3]} as ref FROM $tbl";
+                       if ($info[1])
+                               $sql .= " WHERE {$info[1]}=$typeno";
+                       $result = db_query($sql);
+                       if (db_num_rows($result)) {
+                               while ($row = db_fetch($result)) {
+                                       $res2 = db_query("INSERT INTO {$pref}refs VALUES("
+                                               . $row['id'].",".$typeno.",'".$row['ref']."')");
+                                       if (!$res2) {
+                                               display_error(_("Cannot copy references from $tbl")
+                                                       .':<br>'. db_error_msg($db));
+                                               return false;
+                                       }
+                               }
+                       }
+               }
+/* FIX         // restore/init audit_trail data 
+               $datatbl = array (
+                       "gl_trans"=> array("type", "type_no","tran_date"),
+                       "purch_orders" => array("order_no", "'18'", "ord_date"), 
+                       "sales_orders" => array("order_no", "'30'", "ord_date"),
+                       "workorders" => array("id", "'26'", "date_") );
+               foreach ( $datatbl as $tblname => $tbl) {
+                 $sql = "SELECT {$tbl[0]} as type, {$tbl[1]} as trans, {$tbl[2]} as dat"
+                       . " FROM {$pref}{$tblname}";
+                 $result = db_query($sql);
+                 if (db_num_rows($result)) {
+                       $user = ;
+                       $year = ;
+                       while ($row = db_fetch($result)) {
+                               $sql2 = "INSERT INTO ".$pref."audit_trail"
+                               ." (type, trans_no, user, fiscal_year, gl_date, gl_seq) VALUES ("
+                               . "{$row['type']},{$row['trans']},$user,$year,{$row['dat']},0)";
+                               $res2 = db_query($sql2);
+                               if (!$res2) {
+                                       display_error(_("Cannot init audit_trail data")
+                                               .':<br>'. db_error_msg($db));
+                                       return false;
+                               }
+                       }
+                 }
+               }
+*/             
                return true;
        }
        //
@@ -54,10 +94,11 @@ class fa2_2 {
        //      Test if patch was applied before.
        //
        function installed($pref) {
-               if (check_table($pref, 'company', 'default_delivery_required')) return false;
+               if (check_table($pref, 'company', 'login_tout')) return false;
                if (check_table($pref, 'stock_category', 'dflt_dim2')) return false;
                if (check_table($pref, 'users', 'sticky_doc_date')) return false;
                if (check_table($pref, 'audit_trail')) return false;
+               if (check_table($pref, 'stock_master','no_sale')) return false;
                        return true;
        }
 };