Bug fixed - Page position

This commit is contained in:
dignajar 2015-11-21 12:11:35 -03:00
parent e970b71d13
commit 3b6aac5ec2

View File

@ -14,7 +14,7 @@ $pagesParents = array(NO_PARENT_CHAR=>array());
// Functions
// ============================================================================
function orderChildren($a, $b)
function sortPages($a, $b)
{
if ($a->position() == $b->position()) {
return 0;
@ -23,10 +23,6 @@ function orderChildren($a, $b)
return ($a->position() < $b->position()) ? -1 : 1;
}
function orderParent($array, $values, $offset) {
return ( array_slice($array, 0, $offset, true) + $values + array_slice($array, $offset, NULL, true) );
}
function build_page($key)
{
global $dbPages;
@ -110,31 +106,27 @@ function build_all_pages()
}
}
// ======== Sort pages ========
// --- SORT PAGES ---
$tmpNoParents = $pagesParents[NO_PARENT_CHAR];
// Sort parents.
$parents = $pagesParents[NO_PARENT_CHAR];
uasort($parents, 'sortPages');
// Sort children.
unset($pagesParents[NO_PARENT_CHAR]);
// Sort children
$children = $pagesParents;
$tmpPageWithParent = array();
foreach($pagesParents as $parentKey=>$childrenPages)
foreach($children as $parentKey=>$childrenPages)
{
$tmpPageWithParent[$parentKey] = $childrenPages;
uasort($tmpPageWithParent[$parentKey], 'orderChildren');
}
// Sort parents
$tmp = array();
foreach($tmpNoParents as $parentKey=>$childrenPages)
{
// DEBUG: Workaround, Esto es un bug, cuando se usa el Cli mode
// DEBUG: Se genera un padre sin index.txt y adentro hay un hijo
if(isset($pages[$parentKey])) {
$tmp = orderParent($tmp, array($parentKey=>$childrenPages), $pages[$parentKey]->position());
// If the child doesn't have a valid parent, then doesn't included them.
if(isset($pages[$parentKey]))
{
$tmpPageWithParent[$parentKey] = $childrenPages;
uasort($tmpPageWithParent[$parentKey], 'sortPages');
}
}
$pagesParents = array(NO_PARENT_CHAR=>$tmp) + $tmpPageWithParent;
$pagesParents = array(NO_PARENT_CHAR=>$parents) + $tmpPageWithParent;
}
// ============================================================================