1 | <?php
|
---|
2 |
|
---|
3 | ini_set('memory_limit', '100M');
|
---|
4 |
|
---|
5 | include_once(dirname(__FILE__).'/../../includes/global.php');
|
---|
6 | include_once(dirname(__FILE__).'/../../includes/zip.lib.php');
|
---|
7 |
|
---|
8 | include_once('Export.php');
|
---|
9 | include_once('ExportOutput.php');
|
---|
10 |
|
---|
11 | //LoadCommandLineParameters();
|
---|
12 | $System = new System();
|
---|
13 | $System->DoNotShowPage = true;
|
---|
14 | $System->Run();
|
---|
15 |
|
---|
16 | function SetProgres($Export,$per) {
|
---|
17 | $File = new FileStream();
|
---|
18 | $File->CreateFile($Export->TempDir.'progress');
|
---|
19 | $File->WriteLine(10);
|
---|
20 | }
|
---|
21 |
|
---|
22 | while(1)
|
---|
23 | {
|
---|
24 | //DBC files
|
---|
25 | $DbResult = $System->Database->query('SELECT `ExportTask`.`Export`, `Export`.`Id` AS `ExportId` FROM `ExportTask` LEFT JOIN `Export` ON `Export`.`Id` = `ExportTask`.`Export` WHERE `Export`.`OutputType` = 9 AND `ExportTask`.`TimeFinish` IS NULL');
|
---|
26 | while($DbRow = $DbResult->fetch_assoc())
|
---|
27 | {
|
---|
28 | echo(StrFTime("%d/%m/%Y %H:%M:%S", time()).': Generování DBC souborů pro export '.$DbRow['ExportId'].'.. '."\n");
|
---|
29 | if($DbRow['ExportId'] != '')
|
---|
30 | {
|
---|
31 | try
|
---|
32 | {
|
---|
33 | $Export = new Export($System);
|
---|
34 | $Export->Id = $DbRow['ExportId'];
|
---|
35 | $Export->Init();
|
---|
36 |
|
---|
37 | SetProgres($Export,10);
|
---|
38 |
|
---|
39 | echo('Mazání starých souborů...'."\n");
|
---|
40 |
|
---|
41 | // Delete old files
|
---|
42 | if(file_exists($Export->TempDir.'dbc/'))
|
---|
43 | {
|
---|
44 | $Dir = opendir($Export->TempDir.'dbc/') ;
|
---|
45 | while(($File = readdir($Dir)) !== false)
|
---|
46 | {
|
---|
47 | if(($File != '..') and ($File != '.')) unlink($Export->TempDir.'dbc/'.$File);
|
---|
48 | }
|
---|
49 | closedir($Dir);
|
---|
50 | }
|
---|
51 | if(file_exists($Export->TempDir.'CzWoW_DBC.zip')) unlink($Export->TempDir.'CzWoW_DBC.zip');
|
---|
52 |
|
---|
53 | SetProgres($Export,20);
|
---|
54 | if(function_exists('gzcompress'))
|
---|
55 | {
|
---|
56 | $Export->ExportToDBC();
|
---|
57 | echo('Komprese...'."\n");
|
---|
58 | exec('zip -r -j '.$Export->TempDir.'CzWoW_DBC.zip '.$Export->TempDir.'dbc/');
|
---|
59 | echo('Hotovo'."\n");
|
---|
60 | SetProgres($Export,80);
|
---|
61 | } else echo('Funkce pro tvorbu Zip souboru není podporována!'."\n");
|
---|
62 | $System->Database->query('UPDATE `ExportTask` SET `TimeFinish`=NOW() WHERE `Export`='.$Export->Id);
|
---|
63 | } catch (Exception $e)
|
---|
64 | {
|
---|
65 | echo 'Caught exception: ', $e->getMessage(), "\n";
|
---|
66 | }
|
---|
67 | SetProgres($Export,100);
|
---|
68 | } else
|
---|
69 | {
|
---|
70 | $System->Database->query('DELETE FROM `ExportTask` WHERE `Export`='.$DbRow['Export']);
|
---|
71 | echo('Export '.$DbRow['Export'].' nenalezen. Jeho úloha smazána.'."\n");
|
---|
72 | }
|
---|
73 | }
|
---|
74 |
|
---|
75 | //EXE files
|
---|
76 | $DbResult = $System->Database->query('SELECT `ExportTask`.`Export`, `Export`.`Id` AS `ExportId` FROM `ExportTask` LEFT JOIN `Export` ON `Export`.`Id` = `ExportTask`.`Export` WHERE `Export`.`OutputType` = 10 AND `ExportTask`.`TimeFinish` IS NULL');
|
---|
77 | while($DbRow = $DbResult->fetch_assoc())
|
---|
78 | {
|
---|
79 | echo(StrFTime("%d/%m/%Y %H:%M:%S", time()).': Generování EXE souboru pro export '.$DbRow['ExportId'].'.. '."\n");
|
---|
80 | if($DbRow['ExportId'] != '')
|
---|
81 | {
|
---|
82 | echo shell_exec('"'.dirname(__FILE__).'./client_cz_export.sh" '.$DbRow['ExportId'].'');
|
---|
83 | $System->Database->query('UPDATE `ExportTask` SET `TimeFinish`=NOW() WHERE `Export`='.$DbRow['Export']);
|
---|
84 | } else
|
---|
85 | {
|
---|
86 | $System->Database->query('DELETE FROM `ExportTask` WHERE `Export`='.$DbRow['Export']);
|
---|
87 | echo('Export '.$DbRow['Export'].' nenalezen. Jeho úloha smazána.'."\n");
|
---|
88 | }
|
---|
89 | }
|
---|
90 | sleep($Config['ExportTaskProcessPeriod']);
|
---|
91 | }
|
---|
92 |
|
---|
93 | // WriteLog('Generování dbc úloh', LOG_TYPE_DOWNLOAD);
|
---|