Implemented customizable authentication timeout.
[fa-stable.git] / sql / alter2.2.php
index 3f557aae94edebca3bcfc1b8b41977e773535352..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 "
@@ -28,8 +28,60 @@ class fa2_2 {
                        ."dflt_inventory_act = '" . $prefs['default_inventory_act'] . "',"
                        ."dflt_adjustment_act = '" . $prefs['default_adj_act'] . "',"
                        ."dflt_assembly_act = '" . $prefs['default_assembly_act']."'";
-               $ret = db_query($sql, "Cannot update category default GL accounts");
-               return $ret;
+               if (db_query($sql)==false) {
+                       display_error("Cannot update category default GL accounts"
+                       .':<br>'. db_error_msg($db));
+                       return false;
+               }
+               // 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;
        }
        //
        //      Checking before install
@@ -42,9 +94,12 @@ 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;
-               return true;
+               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;
        }
 };