3 var $version = '2.1'; // version installed
4 var $description = 'Version 2.1';
5 var $sql = 'alter2.1.sql';
7 // Install procedure. All additional changes
8 // not included in sql file should go here.
10 function install($pref, $force)
14 Statement below is allowed only for MySQL >=4.0.4:
15 UPDATE `0_bank_trans`, `0_bank_accounts`
16 SET 0_bank_trans.bank_act=0_bank_accounts.id
17 WHERE 0_bank_trans.bank_act=0_bank_accounts.account_code;
19 $sql = "SELECT id, account_code FROM ".$pref."bank_accounts";
20 if(!($res = db_query($sql))) {
21 display_error(_("Cannot retrieve bank accounts codes")
22 .':<br>'. db_error_msg($db));
25 while ($acc = db_fetch($res)) {
26 $sql = "UPDATE ".$pref."bank_trans SET bank_act='"
27 .$acc['id']."' WHERE bank_act=".$acc['account_code'];
28 if (db_query($sql)==false) {
29 display_error(_("Cannot update bank transactions")
30 .':<br>'. db_error_msg($db));
34 // copy all item codes from stock_master into item_codes
35 $sql = "SELECT `stock_id`,`description`,`category_id` FROM ".$pref."stock_master";
36 $result = db_query($sql);
38 display_error(_("Cannot select stock identificators")
39 .':<br>'. db_error_msg($db));
42 while ($row = db_fetch_assoc($result)) {
43 $sql = "INSERT IGNORE "
44 .$pref."item_codes (`item_code`,`stock_id`,`description`,`category_id`)
45 VALUES('".$row['stock_id']."','".$row['stock_id']."','"
46 .$row['description']."','".$row['category_id']."')";
47 $res2 = db_query($sql);
49 display_error(_("Cannot insert stock id into item_codes")
50 .':<br>'. db_error_msg($db));
55 // remove obsolete bank_trans_types table
56 // (DROP queries are skipped during non-forced upgrade)
57 $sql = "DROP TABLE IF EXISTS `0_bank_trans_types`";
63 // Checking before install
65 function pre_check($pref)
67 return true; // true when ok, fail otherwise
70 // Test if patch was applied before.
72 function installed($pref) {
73 if (check_table($pref, 'item_codes')) return false;
74 if (check_table($pref, 'company', 'foreign_codes')) return false;