|
25 | 25 | * first place (they were probably duplicated through a short/broken process) and
|
26 | 26 | * this is where most of the time is spent during deletion.
|
27 | 27 | * @author Yannick Warnier <[email protected]>
|
| 28 | + * @author Christian Fasanando <[email protected]> |
28 | 29 | */
|
29 | 30 | exit; //remove this line to execute from the command line
|
30 | 31 |
|
|
62 | 63 | if (empty($course['id'])) {
|
63 | 64 | continue; // Skip invalid course IDs
|
64 | 65 | }
|
| 66 | + if ($debug) { |
| 67 | + echo "\n-= Course ".$course['id']." (".$course['code'].") =-\n----\n"; |
| 68 | + } |
65 | 69 |
|
66 | 70 | $sql2 = "SELECT iid, url, title, description, category_id, on_homepage, target, session_id
|
67 | 71 | FROM c_link
|
|
84 | 88 |
|
85 | 89 | foreach ($links as $key => $original) {
|
86 | 90 | $originalsCount++;
|
| 91 | + // Make sure we don't use a just-deleted link as original |
| 92 | + if (in_array($original['iid'], $processedDuplicates)) { |
| 93 | + continue; |
| 94 | + } |
87 | 95 | foreach ($links as $key2 => $duplicate) {
|
| 96 | + if ($debug) { |
| 97 | + echo "Checking potential duplicate link ".$duplicate['iid']." against original ".$original['iid']."\n"; |
| 98 | + } |
88 | 99 | if (
|
89 | 100 | $key !== $key2 &&
|
90 | 101 | !in_array($duplicate['iid'], $processedDuplicates) &&
|
|
99 | 110 | ) {
|
100 | 111 | $duplicatesCount++;
|
101 | 112 | if ($debug) {
|
102 |
| - echo "\nDuplicate found in Course ID: " . $course['id'] . "\n"; |
103 |
| - echo "Original IID=" . $original['iid'] . ", Duplicate IID=" . $duplicate['iid'] . "\n"; |
| 113 | + echo "\n[".date('Y-m-d h:i:s')."]\nDuplicate found in Course ID: " . $course['id'] . "\n"; |
| 114 | + echo "Original IID=" . $original['iid'] . ", Duplicate IID=" . $duplicate['iid'] . " ($duplicatesCount)\n"; |
104 | 115 | }
|
105 | 116 |
|
106 | 117 | // Check if duplicate exists in c_lp_item
|
|
129 | 140 | }
|
130 | 141 | }
|
131 | 142 | }
|
| 143 | + if ($debug) { |
| 144 | + echo "Ending course ".$course['id']."\n\n"; |
| 145 | + } |
132 | 146 | }
|
133 | 147 |
|
134 | 148 | // Summary
|
135 |
| -echo "\nSummary:\n"; |
136 |
| -echo "- Total duplicates detected: $duplicatesCount\n"; |
137 |
| -echo "- Duplicates ignored (in learning paths): $itemsInLP\n"; |
138 |
| -echo "- Duplicates deleted: $deletedCount\n"; |
139 |
| - |
140 |
| -echo "[" . time() . "] Process complete.\n"; |
| 149 | +if ($debug) { |
| 150 | + echo "\nSummary:\n"; |
| 151 | + echo "- Total duplicates detected: $duplicatesCount\n"; |
| 152 | + echo "- Duplicates ignored (in learning paths): $itemsInLP\n"; |
| 153 | + echo "- Duplicates deleted: $deletedCount\n"; |
| 154 | + echo "[".time()."] Process complete.\n"; |
| 155 | +} |
0 commit comments