PageRenderTime 53ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/upgrade-scripts/fix-billing-2758.inc.php

https://bitbucket.org/MelFlynn/observium
PHP | 85 lines | 75 code | 10 blank | 0 comment | 2 complexity | 63d50dbc74b444aafe048a8799577873 MD5 | raw file
Possible License(s): GPL-3.0, MIT
  1. <?php
  2. include("includes/defaults.inc.php");
  3. include("config.php");
  4. echo("Updating Billing...");
  5. $create_sql = "CREATE TABLE IF NOT EXISTS `bill_history` (
  6. `bill_hist_id` int(11) NOT NULL AUTO_INCREMENT,
  7. `bill_id` int(11) NOT NULL,
  8. `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  9. `bill_datefrom` datetime NOT NULL,
  10. `bill_dateto` datetime NOT NULL,
  11. `bill_type` text NOT NULL,
  12. `bill_allowed` bigint(20) NOT NULL,
  13. `bill_used` bigint(20) NOT NULL,
  14. `bill_overuse` bigint(20) NOT NULL,
  15. `bill_percent` decimal(10,2) NOT NULL,
  16. `rate_95th_in` bigint(20) NOT NULL,
  17. `rate_95th_out` bigint(20) NOT NULL,
  18. `rate_95th` bigint(20) NOT NULL,
  19. `dir_95th` varchar(3) NOT NULL,
  20. `rate_average` bigint(20) NOT NULL,
  21. `rate_average_in` bigint(20) NOT NULL,
  22. `rate_average_out` bigint(20) NOT NULL,
  23. `traf_in` bigint(20) NOT NULL,
  24. `traf_out` bigint(20) NOT NULL,
  25. `traf_total` bigint(20) NOT NULL,
  26. `pdf` longblob,
  27. PRIMARY KEY (`bill_hist_id`),
  28. UNIQUE KEY `unique_index` (`bill_id`,`bill_datefrom`,`bill_dateto`),
  29. KEY `bill_id` (`bill_id`)
  30. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;";
  31. mysql_query("DROP TABLE `bill_history`");
  32. mysql_query($create_sql);
  33. mysql_query("ALTER TABLE `bills` ADD `bill_quota` bigint(20) NOT NULL AFTER `bill_gb`;");
  34. mysql_query("ALTER TABLE `bills` DROP `rate_95th_in`;");
  35. mysql_query("ALTER TABLE `bills` DROP `rate_95th_out`;");
  36. mysql_query("ALTER TABLE `bills` DROP `rate_95th`;");
  37. mysql_query("ALTER TABLE `bills` DROP `dir_95th`;");
  38. mysql_query("ALTER TABLE `bills` DROP `total_data`;");
  39. mysql_query("ALTER TABLE `bills` DROP `total_data_in`;");
  40. mysql_query("ALTER TABLE `bills` DROP `total_data_out`;");
  41. mysql_query("ALTER TABLE `bills` DROP `rate_average_in`;");
  42. mysql_query("ALTER TABLE `bills` DROP `rate_average_out`;");
  43. mysql_query("ALTER TABLE `bills` DROP `rate_average`;");
  44. mysql_query("ALTER TABLE `bills` DROP `bill_last_calc`;");
  45. mysql_query("ALTER TABLE `bills` ADD `rate_95th_in` bigint(20) NOT NULL;");
  46. mysql_query("ALTER TABLE `bills` ADD `rate_95th_out` bigint(20) NOT NULL;");
  47. mysql_query("ALTER TABLE `bills` ADD `rate_95th` bigint(20) NOT NULL;");
  48. mysql_query("ALTER TABLE `bills` ADD `dir_95th` varchar(3) NOT NULL;");
  49. mysql_query("ALTER TABLE `bills` ADD `total_data` bigint(20) NOT NULL;");
  50. mysql_query("ALTER TABLE `bills` ADD `total_data_in` bigint(20) NOT NULL;");
  51. mysql_query("ALTER TABLE `bills` ADD `total_data_out` bigint(20) NOT NULL;");
  52. mysql_query("ALTER TABLE `bills` ADD `rate_average_in` bigint(20) NOT NULL;");
  53. mysql_query("ALTER TABLE `bills` ADD `rate_average_out` bigint(20) NOT NULL;");
  54. mysql_query("ALTER TABLE `bills` ADD `rate_average` bigint(20) NOT NULL;");
  55. mysql_query("ALTER TABLE `bills` ADD `bill_last_calc` datetime NOT NULL;");
  56. mysql_query("ALTER TABLE `bills` CHANGE `bill_cdr` bigint(20) NOT NULL;");
  57. foreach (dbFetchRows("SELECT * FROM `bills`") as $bill_data)
  58. {
  59. echo("Bill ".$bill['bill_id']." ".$bill['bill_name']);
  60. if($bill_data['bill_gb'] > 0)
  61. {
  62. $bill_data['bill_quota'] = $bill_data['bill_gb'] * $config['billing']['base'] * $config['billing']['base'];
  63. dbUpdate(array('bill_quota' => $bill_data['bill_quota']), 'bills', '`bill_id` = ?', array($bill_data['bill_id']));
  64. echo("Quota -> ".$bill_data['bill_quota']);
  65. }
  66. if($bill_data['bill_cdr'] > 0)
  67. {
  68. $bill_data['bill_cdr'] = $bill_data['bill_cdr'] * 1000;
  69. dbUpdate(array('bill_cdr' => $bill_data['bill_cdr']), 'bills', '`bill_id` = ?', array($bill_data['bill_id']));
  70. echo("CDR -> ".$bill_data['bill_cdr']);
  71. }
  72. echo("\n");
  73. }
  74. mysql_query("ALTER TABLE `bills` DROP `bill_gb`");
  75. ?>