53 |
// Distinct orders |
// Distinct orders |
54 |
$sql = "SELECT DISTINCT element_order FROM element WHERE page_id =" |
$sql = "SELECT DISTINCT element_order FROM element WHERE page_id =" |
55 |
. $page_id; |
. $page_id; |
56 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
57 |
$num_orders = mysql_num_rows($rs); |
$num_orders = xx_num_rows($rs); |
58 |
printf("Unique orders: %d<br>\n", $num_orders); |
printf("Unique orders: %d<br>\n", $num_orders); |
59 |
|
|
60 |
// Number of rows (should be the same) |
// Number of rows (should be the same) |
61 |
$sql = "SELECT element_id FROM element WHERE page_id = " |
$sql = "SELECT element_id FROM element WHERE page_id = " |
62 |
. $page_id; |
. $page_id; |
63 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
64 |
$num_rows = mysql_num_rows($rs); |
$num_rows = xx_num_rows($rs); |
65 |
printf("Number of rows: %d<BR>\n", $num_rows); |
printf("Number of rows: %d<BR>\n", $num_rows); |
66 |
|
|
67 |
// Smallest order (if rows present, should be 1) |
// Smallest order (if rows present, should be 1) |
68 |
$sql = "SELECT MIN(element_order) as min_order FROM element WHERE page_id = " |
$sql = "SELECT MIN(element_order) as min_order FROM element WHERE page_id = " |
69 |
. $page_id; |
. $page_id; |
70 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
71 |
$row = mysql_fetch_array ($rs); |
$row = xx_fetch_array ($rs); |
72 |
$min_order = $row["min_order"]; |
$min_order = $row["min_order"]; |
73 |
printf("First order: %d<br>\n", $min_order); |
printf("First order: %d<br>\n", $min_order); |
74 |
|
|
75 |
// Largest order (should equal distinct rows and number of rows |
// Largest order (should equal distinct rows and number of rows |
76 |
$sql = "SELECT MAX(element_order) as max_order FROM element WHERE page_id = " |
$sql = "SELECT MAX(element_order) as max_order FROM element WHERE page_id = " |
77 |
. $page_id; |
. $page_id; |
78 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
79 |
$row = mysql_fetch_array ($rs); |
$row = xx_fetch_array ($rs); |
80 |
$max_order = $row["max_order"]; |
$max_order = $row["max_order"]; |
81 |
printf("Last order: %d<br><br>\n", $max_order); |
printf("Last order: %d<br><br>\n", $max_order); |
82 |
|
|
88 |
$c1_sql = "SELECT element_id, parent_id, element_order, indent_level FROM element WHERE page_id = " |
$c1_sql = "SELECT element_id, parent_id, element_order, indent_level FROM element WHERE page_id = " |
89 |
. $page_id |
. $page_id |
90 |
. " AND parent_id > 0 ORDER BY element_order"; |
. " AND parent_id > 0 ORDER BY element_order"; |
91 |
$c1_rs = mysql_query($c1_sql, $con); |
$c1_rs = xx_query($c1_sql, $con); |
92 |
|
|
93 |
while ($c1_row = mysql_fetch_array ($c1_rs)) { |
while ($c1_row = xx_fetch_array ($c1_rs)) { |
94 |
$parent_id = $c1_row["parent_id"]; |
$parent_id = $c1_row["parent_id"]; |
95 |
$indent_level = $c1_row["indent_level"]; |
$indent_level = $c1_row["indent_level"]; |
96 |
$element_id = $c1_row["element_id"]; |
$element_id = $c1_row["element_id"]; |
99 |
// For each row returned, hunt for the parent |
// For each row returned, hunt for the parent |
100 |
$c2_sql ="SELECT element_id, element_order, indent_level FROM element WHERE element_id = " |
$c2_sql ="SELECT element_id, element_order, indent_level FROM element WHERE element_id = " |
101 |
. $parent_id; |
. $parent_id; |
102 |
$c2_rs = mysql_query($c2_sql, $con); |
$c2_rs = xx_query($c2_sql, $con); |
103 |
$c2_row = mysql_fetch_array ($c2_rs); |
$c2_row = xx_fetch_array ($c2_rs); |
104 |
$c2_indent_level = $c2_row["indent_level"]; |
$c2_indent_level = $c2_row["indent_level"]; |
105 |
$c2_element_id = $c2_row["element_id"]; |
$c2_element_id = $c2_row["element_id"]; |
106 |
$c2_element_order = $c2_row["element_order"]; |
$c2_element_order = $c2_row["element_order"]; |
172 |
. $page_id |
. $page_id |
173 |
. " ORDER BY element_order"; |
. " ORDER BY element_order"; |
174 |
|
|
175 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
176 |
|
|
177 |
while ($row = mysql_fetch_array ($rs)) { |
while ($row = xx_fetch_array ($rs)) { |
178 |
$element_id = $row["element_id"]; |
$element_id = $row["element_id"]; |
179 |
$indent_level = $row["indent_level"]; |
$indent_level = $row["indent_level"]; |
180 |
$parent_id = $row["parent_id"]; |
$parent_id = $row["parent_id"]; |
236 |
. " AND page_id = " |
. " AND page_id = " |
237 |
. $page_id; |
. $page_id; |
238 |
|
|
239 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
240 |
$row = mysql_fetch_array ($rs); |
$row = xx_fetch_array ($rs); |
241 |
$probe_parent_id = $row["parent_id"]; |
$probe_parent_id = $row["parent_id"]; |
242 |
$probe_element_id = $row["parent_id"]; |
$probe_element_id = $row["parent_id"]; |
243 |
|
|
290 |
// testing |
// testing |
291 |
// printf("orphan probe sql was: %s ", $sql); |
// printf("orphan probe sql was: %s ", $sql); |
292 |
|
|
293 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
294 |
$row = mysql_fetch_array ($rs); |
$row = xx_fetch_array ($rs); |
295 |
$par_found = $row["par_found"]; |
$par_found = $row["par_found"]; |
296 |
|
|
297 |
// Should have only one match. If none (or multiple) set to 0. |
// Should have only one match. If none (or multiple) set to 0. |
331 |
. $page_id |
. $page_id |
332 |
. " ORDER BY element_order"; |
. " ORDER BY element_order"; |
333 |
|
|
334 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
335 |
|
|
336 |
while ($row = mysql_fetch_array ($rs)) { |
while ($row = xx_fetch_array ($rs)) { |
337 |
$element_id = $row["element_id"]; |
$element_id = $row["element_id"]; |
338 |
$element_order = $row["element_order"]; |
$element_order = $row["element_order"]; |
339 |
$parent_id = $row["parent_id"]; |
$parent_id = $row["parent_id"]; |
353 |
|
|
354 |
// printf("delete sql wasd: %s<BR>", $sql); |
// printf("delete sql wasd: %s<BR>", $sql); |
355 |
|
|
356 |
if (!mysql_query ($sub_sql, $con)){ |
if (!xx_query ($sub_sql, $con)){ |
357 |
sql_err($sub_sql); |
sql_err($sub_sql); |
358 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
359 |
bailout(); |
bailout(); |
360 |
} |
} |
361 |
else { |
else { |
363 |
// Output |
// Output |
364 |
printf("Element %d was an orphan. Deleted it.<br>\n", $element_id); |
printf("Element %d was an orphan. Deleted it.<br>\n", $element_id); |
365 |
|
|
366 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
367 |
} // deleted this element |
} // deleted this element |
368 |
|
|
369 |
} // delete all elements which are orphaned |
} // delete all elements which are orphaned |
394 |
WHERE page_id = " |
WHERE page_id = " |
395 |
. $page_id; |
. $page_id; |
396 |
|
|
397 |
if (!mysql_query ($sql, $con)){ |
if (!xx_query ($sql, $con)){ |
398 |
sql_err($sql); |
sql_err($sql); |
399 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
400 |
bailout(); |
bailout(); |
401 |
} |
} |
402 |
else { |
else { |
403 |
|
|
404 |
printf("Purged all!<br>\n"); |
printf("Purged all!<br>\n"); |
405 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
406 |
} // purged all! |
} // purged all! |
407 |
|
|
408 |
|
|
494 |
. $page_id |
. $page_id |
495 |
. " ORDER BY element_order"; |
. " ORDER BY element_order"; |
496 |
|
|
497 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
498 |
|
|
499 |
while ($row = mysql_fetch_array ($rs)) { |
while ($row = xx_fetch_array ($rs)) { |
500 |
$element_id = $row["element_id"]; |
$element_id = $row["element_id"]; |
501 |
$indent_level = $row["indent_level"]; |
$indent_level = $row["indent_level"]; |
502 |
$parent_id = $row["parent_id"]; |
$parent_id = $row["parent_id"]; |
522 |
. " AND element_id = " |
. " AND element_id = " |
523 |
. $element_id; |
. $element_id; |
524 |
|
|
525 |
if (!mysql_query ($sub_sql, $con)){ |
if (!xx_query ($sub_sql, $con)){ |
526 |
sql_err($sub_sql); |
sql_err($sub_sql); |
527 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
528 |
bailout(); |
bailout(); |
529 |
} |
} |
530 |
else { |
else { |
531 |
// Output |
// Output |
532 |
printf("Element #%d reported generation of %d, but calculated at %d. Fixed.<br>\n", $element_id, $indent_level, $gen_level); |
printf("Element #%d reported generation of %d, but calculated at %d. Fixed.<br>\n", $element_id, $indent_level, $gen_level); |
533 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
534 |
|
|
535 |
} // fixed this element's indent |
} // fixed this element's indent |
536 |
|
|
571 |
. $page_id |
. $page_id |
572 |
. " ORDER BY element_order"; |
. " ORDER BY element_order"; |
573 |
|
|
574 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
575 |
|
|
576 |
while ($row = mysql_fetch_array ($rs)) { |
while ($row = xx_fetch_array ($rs)) { |
577 |
$element_id = $row["element_id"]; |
$element_id = $row["element_id"]; |
578 |
$element_order = $row["element_order"]; |
$element_order = $row["element_order"]; |
579 |
|
|
595 |
. " AND element_id = " |
. " AND element_id = " |
596 |
. $element_id; |
. $element_id; |
597 |
|
|
598 |
if (!mysql_query ($sub_sql, $con)){ |
if (!xx_query ($sub_sql, $con)){ |
599 |
sql_err($sub_sql); |
sql_err($sub_sql); |
600 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
601 |
bailout(); |
bailout(); |
602 |
} |
} |
603 |
else { |
else { |
604 |
|
|
605 |
// Output |
// Output |
606 |
printf("Row #%d reported cardinal order of %d, but calculated at %d. Fixed.<br>\n", $element_count, $element_order, $element_count); |
printf("Row #%d reported cardinal order of %d, but calculated at %d. Fixed.<br>\n", $element_count, $element_order, $element_count); |
607 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
608 |
} // fixed this element's order |
} // fixed this element's order |
609 |
|
|
610 |
} // if an order discrepancy was found |
} // if an order discrepancy was found |
645 |
. $page_id |
. $page_id |
646 |
. " ORDER BY element_order"; |
. " ORDER BY element_order"; |
647 |
|
|
648 |
$rs = mysql_query($sql, $con); |
$rs = xx_query($sql, $con); |
649 |
|
|
650 |
while ($row = mysql_fetch_array ($rs)) { |
while ($row = xx_fetch_array ($rs)) { |
651 |
$element_id = $row["element_id"]; |
$element_id = $row["element_id"]; |
652 |
$element_order = $row["element_order"]; |
$element_order = $row["element_order"]; |
653 |
$parent_id = $row["parent_id"]; |
$parent_id = $row["parent_id"]; |
671 |
. " AND element_id = " |
. " AND element_id = " |
672 |
. $element_id; |
. $element_id; |
673 |
|
|
674 |
if (!mysql_query ($sub_sql, $con)){ |
if (!xx_query ($sub_sql, $con)){ |
675 |
sql_err($sub_sql); |
sql_err($sub_sql); |
676 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
677 |
bailout(); |
bailout(); |
678 |
} |
} |
679 |
else { |
else { |
681 |
// Output |
// Output |
682 |
printf("Element #%d orphaned. Reassigned to parent #%d<br>\n", $element_id, $new_parent_id); |
printf("Element #%d orphaned. Reassigned to parent #%d<br>\n", $element_id, $new_parent_id); |
683 |
|
|
684 |
mysql_query ("UNLOCK TABLES", $con); |
xx_query ("UNLOCK TABLES", $con); |
685 |
} // reassigned this element |
} // reassigned this element |
686 |
|
|
687 |
} // reassign problematic elements |
} // reassign problematic elements |