auto_import.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. ini_set('max_execution_time', 0);
  3. chdir(dirname(__FILE__));
  4. require_once 'init.php';
  5. require_once 'function.php';
  6. openLogger(basename(__FILE__));
  7. $tmpfname = tempnam("/tmp", "FOO");
  8. $dirfname = dirname($tmpfname);
  9. $d = dir($dirfname);
  10. while (false !== ($entry = $d->read())) {
  11. if (ereg('^tableData.*$', $entry)
  12. || ereg('^FOO.*', $entry)
  13. || ereg('^tableLog.*', $entry)
  14. || ereg('^tableTemp.*', $entry)) {
  15. $entry = $dirfname.DIRECTORY_SEPARATOR.$entry;
  16. $logger->info("Delete ".$entry);
  17. unlink($entry);
  18. }
  19. }
  20. $d->close();
  21. $sql = ("SELECT * FROM qb_config");
  22. $param = '';
  23. if (count($_SERVER['argv'])>1) {
  24. foreach ($_SERVER['argv'] as $k => $v) {
  25. if ($k > 0) {
  26. if ($param) $param .= ",";
  27. $param .= "'".$v."'";
  28. }
  29. }
  30. }
  31. if ($param) $sql .= " WHERE tableid IN (".$param.")";
  32. $rs = $adodb->Execute($sql);
  33. while (!$rs->EOF) {
  34. if ($s === date('s')) sleep(1);
  35. $s = date('s');
  36. //$adodb->Execute("DELETE FROM ".$rs->fields['tableid']);
  37. //crcTable($rs->fields);
  38. $ausgabe = importTable($rs->fields);
  39. if ( $ausgabe == 1 ) {
  40. if($rs->fields['history_mode'] == 2)
  41. updateTable($rs->fields);
  42. else if($rs->fields['history_mode'] == 1)
  43. replaceTable($rs->fields);
  44. else if($rs->fields['history_mode'] == 0)
  45. diffTable($rs->fields);
  46. } else {
  47. $logger->error("Fehler beim Import, Mails werden verschickt...");
  48. $logger->error($adodb->ErrorMsg());
  49. //include('smtpconnection/smtpconnection.class.php');
  50. ini_set('SMTP', 'mail.group-net.de');
  51. ini_set('smtp_port', 25);
  52. $msg = '
  53. <html>
  54. <head>
  55. <style type="text/css">
  56. body {
  57. font-family: Verdana;
  58. font-size: 0.7em;
  59. }
  60. </style>
  61. <title>Fehlerbenachrichtigung</title>
  62. </head>
  63. <body>
  64. Aufgrund eines Fehlers in der Tabelle <b>' . $param . '</b> wurde der automatische Import <b>abgebrochen</b>!
  65. <br><br>
  66. <table><tr><td style="border: 1px solid black; font-family: Verdana; font-size: 0.7em; padding: 5px;">Folgender Fehler war verantwortlich: <br>
  67. <b>' . $adodb->ErrorMsg() . '</b></td></tr></table><br><br>
  68. <table><tr><td style="border: 1px solid black; font-family: Verdana; font-size: 0.7em; padding: 5px;">Die Ausgabe des Scripts war wie folgt:<br>
  69. <b>' . $ausgabe . '</b></td></tr></table><br><br>
  70. <b>Dies ist eine vom qbuilder automatisch generierte Mail!</b>
  71. </body>
  72. </html>
  73. ';
  74. $headers = "MIME-Version: 1.0\r\n";
  75. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  76. /* zusätzliche Header */
  77. $headers .= "To: Matthias Winter <winter@global-cube.de>, Andreas Ankenbrand <ankenbrand@global-cube.de>\r\n";
  78. //$headers .= "To: Jens Karl <karl@global-cube.de>\r\n";
  79. $headers .= "From: qbuilder <qbuilder@global-cube.de>\r\n";
  80. mail('winter@global-cube.de, ankenbrand@global-cube.de', 'qbuilder - Fehlerbenachrichtigung', $msg, $headers);
  81. //mail('karl@global-cube.de', 'qbuilder - Fehlerbenachrichtigung', $msg, $headers);
  82. }
  83. $rs->MoveNext();
  84. }
  85. closeLogger();
  86. ?>