42beb0d37649911c4ab9d082a5c426b80a356845
[civicrm-core.git] / CRM / Event / Import / Form / Summary.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12 /**
13 *
14 * @package CRM
15 * @copyright CiviCRM LLC https://civicrm.org/licensing
16 */
17
18 /**
19 * This class summarizes the import results
20 */
21 class CRM_Event_Import_Form_Summary extends CRM_Import_Form_Summary {
22
23 /**
24 * Set variables up before form is built.
25 *
26 * @return void
27 */
28 public function preProcess() {
29 // set the error message path to display
30 $this->assign('errorFile', $this->get('errorFile'));
31
32 $totalRowCount = $this->get('totalRowCount');
33 $relatedCount = $this->get('relatedCount');
34 $totalRowCount += $relatedCount;
35 $this->set('totalRowCount', $totalRowCount);
36
37 $invalidRowCount = $this->get('invalidRowCount');
38 $conflictRowCount = $this->get('conflictRowCount');
39 $duplicateRowCount = $this->get('duplicateRowCount');
40 $onDuplicate = $this->get('onDuplicate');
41 $mismatchCount = $this->get('unMatchCount');
42 if ($duplicateRowCount > 0) {
43 $urlParams = 'type=' . CRM_Import_Parser::DUPLICATE . '&parser=CRM_Event_Import_Parser';
44 $this->set('downloadDuplicateRecordsUrl', CRM_Utils_System::url('civicrm/export', $urlParams));
45 }
46 elseif ($mismatchCount) {
47 $urlParams = 'type=' . CRM_Import_Parser::NO_MATCH . '&parser=CRM_Event_Import_Parser';
48 $this->set('downloadMismatchRecordsUrl', CRM_Utils_System::url('civicrm/export', $urlParams));
49 }
50 else {
51 $duplicateRowCount = 0;
52 $this->set('duplicateRowCount', $duplicateRowCount);
53 }
54
55 $this->assign('dupeError', FALSE);
56
57 if ($onDuplicate == CRM_Import_Parser::DUPLICATE_UPDATE) {
58 $dupeActionString = ts('These records have been updated with the imported data.');
59 }
60 elseif ($onDuplicate == CRM_Import_Parser::DUPLICATE_FILL) {
61 $dupeActionString = ts('These records have been filled in with the imported data.');
62 }
63 else {
64 /* Skip by default */
65
66 $dupeActionString = ts('These records have not been imported.');
67
68 $this->assign('dupeError', TRUE);
69
70 /* only subtract dupes from successful import if we're skipping */
71
72 $this->set('validRowCount', $totalRowCount - $invalidRowCount -
73 $conflictRowCount - $duplicateRowCount - $mismatchCount
74 );
75 }
76 $this->assign('dupeActionString', $dupeActionString);
77
78 $properties = [
79 'totalRowCount',
80 'validRowCount',
81 'invalidRowCount',
82 'conflictRowCount',
83 'downloadConflictRecordsUrl',
84 'downloadErrorRecordsUrl',
85 'duplicateRowCount',
86 'downloadDuplicateRecordsUrl',
87 'downloadMismatchRecordsUrl',
88 'groupAdditions',
89 'unMatchCount',
90 ];
91 foreach ($properties as $property) {
92 $this->assign($property, $this->get($property));
93 }
94 }
95
96 }