Skip to content

Commit e050721

Browse files
committed
Internal: Avoid unnecessary loop condition in duplicate links deletion script - refs BT#22323
1 parent 13dbffa commit e050721

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

tests/scripts/delete_duplicate_links.php

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
* first place (they were probably duplicated through a short/broken process) and
2626
* this is where most of the time is spent during deletion.
2727
* @author Yannick Warnier <[email protected]>
28+
* @author Christian Fasanando <[email protected]>
2829
*/
2930
exit; //remove this line to execute from the command line
3031

@@ -62,6 +63,9 @@
6263
if (empty($course['id'])) {
6364
continue; // Skip invalid course IDs
6465
}
66+
if ($debug) {
67+
echo "\n-= Course ".$course['id']." (".$course['code'].") =-\n----\n";
68+
}
6569

6670
$sql2 = "SELECT iid, url, title, description, category_id, on_homepage, target, session_id
6771
FROM c_link
@@ -84,7 +88,14 @@
8488

8589
foreach ($links as $key => $original) {
8690
$originalsCount++;
91+
// Make sure we don't use a just-deleted link as original
92+
if (in_array($original['iid'], $processedDuplicates)) {
93+
continue;
94+
}
8795
foreach ($links as $key2 => $duplicate) {
96+
if ($debug) {
97+
echo "Checking potential duplicate link ".$duplicate['iid']." against original ".$original['iid']."\n";
98+
}
8899
if (
89100
$key !== $key2 &&
90101
!in_array($duplicate['iid'], $processedDuplicates) &&
@@ -99,8 +110,8 @@
99110
) {
100111
$duplicatesCount++;
101112
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";
104115
}
105116

106117
// Check if duplicate exists in c_lp_item
@@ -129,12 +140,16 @@
129140
}
130141
}
131142
}
143+
if ($debug) {
144+
echo "Ending course ".$course['id']."\n\n";
145+
}
132146
}
133147

134148
// 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

Comments
 (0)