|
18 | 18 | */
|
19 | 19 |
|
20 | 20 | use Gibbon\Module\DataAdmin\ImportType;
|
| 21 | +use Gibbon\Domain\System\LogGateway; |
21 | 22 |
|
22 | 23 | // Module Bootstrap
|
23 | 24 | require __DIR__ . '/module.php';
|
24 | 25 |
|
25 |
| -if (isActionAccessible($guid, $connection2, "/modules/Data Admin/import_history_view.php")==false) { |
26 |
| - //Acess denied |
27 |
| - echo "<div class='error'>" ; |
28 |
| - echo __("You do not have access to this action.") ; |
29 |
| - echo "</div>" ; |
| 26 | +if (isActionAccessible($guid, $connection2, "/modules/Data Admin/import_history_view.php") == false) { |
| 27 | + // Access denied |
| 28 | + $page->addError('You do not have access to this action.'); |
30 | 29 | } else {
|
31 |
| - $gibbonLogID = (isset($_GET['gibbonLogID']))? $_GET['gibbonLogID'] : -1; |
| 30 | + $gibbonLogID = $_GET['gibbonLogID'] ?? 0; |
32 | 31 |
|
33 |
| - $data = array('gibbonLogID' => $gibbonLogID); |
34 |
| - $sql = "SELECT gibbonLog.*, gibbonPerson.username, gibbonPerson.surname, gibbonPerson.preferredName |
35 |
| - FROM gibbonLog |
36 |
| - JOIN gibbonPerson ON (gibbonPerson.gibbonPersonID=gibbonLog.gibbonPersonID) |
37 |
| - WHERE gibbonLog.gibbonLogID=:gibbonLogID"; |
38 |
| - $result=$pdo->executeQuery($data, $sql); |
| 32 | + $logGateway = $container->get(LogGateway::class); |
| 33 | + $importLog = $logGateway->getLogByID($gibbonLogID); |
39 | 34 |
|
40 |
| - if ($result->rowCount() < 1) { |
41 |
| - echo "<div class='error'>" ; |
42 |
| - echo __("There are no records to display.") ; |
43 |
| - echo "</div>" ; |
44 |
| - } else { |
45 |
| - $importLog = $result->fetch(); |
46 |
| - $importData = isset($importLog['serialisedArray'])? unserialize($importLog['serialisedArray']) : []; |
47 |
| - $importResults = $importData['results'] ?? []; |
48 |
| - |
49 |
| - if (empty($importResults) || !isset($importData['type'])) { |
50 |
| - echo "<div class='error'>" ; |
51 |
| - echo __("There are no records to display.") ; |
52 |
| - echo "</div>" ; |
53 |
| - return; |
54 |
| - } |
55 |
| - |
56 |
| - $importType = ImportType::loadImportType($importData['type'], $pdo); ?> |
57 |
| - <h1> |
58 |
| - <?php echo __('Import History', 'Data Admin'); ?> |
59 |
| - </h1> |
60 |
| - |
61 |
| - <?php if (!empty($importResults['ignoreErrors'])) : ?> |
62 |
| - <div class="warning"> |
63 |
| - <?php echo __("Imported with errors ignored."); ?> |
64 |
| - </div> |
65 |
| - <?php endif; ?> |
66 |
| - |
67 |
| - <table class='blank fullWidth' cellspacing='0'> |
68 |
| - <tr> |
69 |
| - <td width="50%"> |
70 |
| - <?php echo __("Import Type", 'Data Admin').": "; ?><br/> |
71 |
| - <?php echo $importType->getDetail('name'); ?> |
72 |
| - </td> |
73 |
| - <td width="50%"> |
74 |
| - <?php echo __("Date").": "; ?><br/> |
75 |
| - <?php printf("<span title='%s'>%s</span>", $importLog['timestamp'], date('F j, Y, g:i a', strtotime($importLog['timestamp']))); ?> |
76 |
| - </td> |
77 |
| - </tr> |
78 |
| - <tr> |
79 |
| - <td width="50%"> |
80 |
| - <?php echo __("Details").": "; ?><br/> |
81 |
| - <?php echo ($importData['success'])? __("Success") : __("Failed"); ?> |
82 |
| - </td> |
83 |
| - <td width="50%"> |
84 |
| - <?php echo __("User").": "; ?><br/> |
85 |
| - <?php printf("<span title='%s'>%s %s</span>", $importLog['username'], $importLog['preferredName'], $importLog['surname']); ?> |
86 |
| - </td> |
87 |
| - </tr> |
88 |
| - </table> |
89 |
| - <br/> |
90 |
| - |
91 |
| - <table class='smallIntBorder fullWidth' cellspacing='0'> |
92 |
| - <tr <?php echo "class='". (($importResults['importSuccess'])? 'current' : 'error') ."'"; ?>> |
93 |
| - <td class="right" width="50%"> |
94 |
| - <?php echo __("Reading Spreadsheet", 'Data Admin').": "; ?> |
95 |
| - </td> |
96 |
| - <td> |
97 |
| - <?php echo ($importResults['importSuccess'])? __("Success", 'Data Admin') : __("Failed", 'Data Admin'); ?> |
98 |
| - </td> |
99 |
| - </tr> |
100 |
| - <tr> |
101 |
| - <td class="right"> |
102 |
| - <?php echo __("Execution time", 'Data Admin').": "; ?> |
103 |
| - </td> |
104 |
| - <td> |
105 |
| - <?php echo $importResults['executionTime']; ?> |
106 |
| - </td> |
107 |
| - </tr> |
108 |
| - <tr> |
109 |
| - <td class="right"> |
110 |
| - <?php echo __("Memory usage", 'Data Admin').": "; ?> |
111 |
| - </td> |
112 |
| - <td> |
113 |
| - <?php echo $importResults['memoryUsage']; ?> |
114 |
| - </td> |
115 |
| - </tr> |
116 |
| - </table><br/> |
117 |
| - <table class='smallIntBorder fullWidth' cellspacing='0'> |
118 |
| - <tr <?php echo "class='". (($importResults['buildSuccess'])? 'current' : 'error') ."'"; ?>> |
119 |
| - <td class="right" width="50%"> |
120 |
| - <?php echo __("Validating data", 'Data Admin').": "; ?> |
121 |
| - </td> |
122 |
| - <td> |
123 |
| - <?php echo ($importResults['buildSuccess'])? __("Success", 'Data Admin') : __("Failed", 'Data Admin'); ?> |
124 |
| - </td> |
125 |
| - </tr> |
126 |
| - <tr> |
127 |
| - <td class="right"> |
128 |
| - <?php echo __("Rows processed", 'Data Admin').": "; ?> |
129 |
| - </td> |
130 |
| - <td> |
131 |
| - <?php echo $importResults['rows']; ?> |
132 |
| - </td> |
133 |
| - </tr> |
134 |
| - <tr> |
135 |
| - <td class="right"> |
136 |
| - <?php echo __("Rows with errors", 'Data Admin').": "; ?> |
137 |
| - </td> |
138 |
| - <td> |
139 |
| - <?php echo $importResults['rowerrors']; ?> |
140 |
| - </td> |
141 |
| - </tr> |
142 |
| - <tr> |
143 |
| - <td class="right"> |
144 |
| - <?php echo __("Total errors", 'Data Admin').": "; ?> |
145 |
| - </td> |
146 |
| - <td> |
147 |
| - <?php echo $importResults['errors']; ?> |
148 |
| - </td> |
149 |
| - </tr> |
150 |
| - <?php if ($importResults['warnings'] > 0) : ?> |
151 |
| - <tr> |
152 |
| - <td class="right"> |
153 |
| - <?php echo __("Total warnings", 'Data Admin').": "; ?> |
154 |
| - </td> |
155 |
| - <td> |
156 |
| - <?php echo $importResults['warnings']; ?> |
157 |
| - </td> |
158 |
| - </tr> |
159 |
| - <?php endif; ?> |
160 |
| - </table><br/> |
161 |
| - |
162 |
| - <table class='smallIntBorder fullWidth' cellspacing='0'> |
163 |
| - <tr <?php echo "class='". (($importResults['databaseSuccess'])? 'current' : 'error') ."'"; ?>> |
164 |
| - <td class="right" width="50%"> |
165 |
| - <?php echo __("Querying database", 'Data Admin').": "; ?> |
166 |
| - </td> |
167 |
| - <td> |
168 |
| - <?php echo ($importResults['databaseSuccess'])? __("Success", 'Data Admin') : __("Failed", 'Data Admin'); ?> |
169 |
| - </td> |
170 |
| - </tr> |
171 |
| - <tr> |
172 |
| - <td class="right"> |
173 |
| - <?php echo __("Database Inserts", 'Data Admin').": "; ?> |
174 |
| - </td> |
175 |
| - <td> |
176 |
| - <?php |
177 |
| - echo $importResults['inserts']; |
178 |
| - if ($importResults['inserts_skipped'] > 0) { |
179 |
| - echo " (". $importResults['inserts_skipped'] ." ". __("skipped", 'Data Admin') .")"; |
180 |
| - } ?> |
181 |
| - </td> |
182 |
| - </tr> |
| 35 | + if (empty($importLog)) { |
| 36 | + $page->addError('There are no records to display.'); |
| 37 | + return; |
| 38 | + } |
183 | 39 |
|
184 |
| - <tr> |
185 |
| - <td class="right"> |
186 |
| - <?php echo __("Database Updates", 'Data Admin').": "; ?> |
187 |
| - </td> |
188 |
| - <td> |
189 |
| - <?php |
190 |
| - echo $importResults['updates']; |
191 |
| - if ($importResults['updates_skipped'] > 0) { |
192 |
| - echo " (". $importResults['updates_skipped'] ." ". __("skipped", 'Data Admin') .")"; |
193 |
| - } ?> |
194 |
| - </td> |
195 |
| - </tr> |
| 40 | + $importData = isset($importLog['serialisedArray'])? unserialize($importLog['serialisedArray']) : []; |
| 41 | + $importData['log'] = $importLog; |
| 42 | + $importResults = $importData['results'] ?? []; |
196 | 43 |
|
197 |
| - |
198 |
| - </table><br/> |
| 44 | + if (empty($importData['results']) || !isset($importData['type'])) { |
| 45 | + $page->addError('There are no records to display.'); |
| 46 | + return; |
| 47 | + } |
199 | 48 |
|
| 49 | + $importType = ImportType::loadImportType($importData['type'], $pdo); |
| 50 | + $importData['name'] = $importType->getDetail('name'); |
200 | 51 |
|
201 |
| - <?php |
202 |
| - } |
| 52 | + echo $page->fetchFromTemplate('importer.twig.html', array_merge($importData, $importResults)); |
203 | 53 | }
|
204 |
| -?> |
0 commit comments