Ejemplo n.º 1
0
function fixChildren($parent, $newLevel, $newParent)
{
    global $smcFunc;
    // Grab all children of $parent...
    $result = $smcFunc['db_query']('', '
		SELECT id_board
		FROM {db_prefix}boards
		WHERE id_parent = {int:parent_board}', array('parent_board' => $parent));
    $children = array();
    while ($row = $smcFunc['db_fetch_assoc']($result)) {
        $children[] = $row['id_board'];
    }
    $smcFunc['db_free_result']($result);
    // ...and set it to a new parent and child_level.
    $smcFunc['db_query']('', '
		UPDATE {db_prefix}boards
		SET id_parent = {int:new_parent}, child_level = {int:new_child_level}
		WHERE id_parent = {int:parent_board}', array('new_parent' => $newParent, 'new_child_level' => $newLevel, 'parent_board' => $parent));
    // Recursively fix the children of the children.
    foreach ($children as $child) {
        fixChildren($child, $newLevel + 1, $child);
    }
}
Ejemplo n.º 2
0
function fixChildren($parent, $newLevel, $newParent)
{
    global $db_prefix;
    // Grab all children of $parent...
    $result = db_query("\n\t\tSELECT ID_BOARD\n\t\tFROM {$db_prefix}boards\n\t\tWHERE ID_PARENT = {$parent}", __FILE__, __LINE__);
    $children = array();
    while ($row = mysql_fetch_assoc($result)) {
        $children[] = $row['ID_BOARD'];
    }
    mysql_free_result($result);
    // ...and set it to a new parent and childLevel.
    db_query("\n\t\tUPDATE {$db_prefix}boards\n\t\tSET ID_PARENT = {$newParent}, childLevel = {$newLevel}\n\t\tWHERE ID_PARENT = {$parent}\n\t\tLIMIT " . count($children), __FILE__, __LINE__);
    // Recursively fix the children of the children.
    foreach ($children as $child) {
        fixChildren($child, $newLevel + 1, $child);
    }
}