/** * Compute all completenames of Dropdown Tree table * * @param $table : dropdown tree table to compute * * @return nothing **/ function regenerateTreeCompleteName($table) { global $DB; $query = "SELECT `id`\n FROM `{$table}`"; $result = $DB->query($query); if ($DB->numrows($result) > 0) { while ($data = $DB->fetch_assoc($result)) { list($name, $level) = getTreeValueName($table, $data['id']); $query = "UPDATE `{$table}`\n SET `completename` = '" . addslashes($name) . "',\n `level` = '{$level}'\n WHERE `id` = '" . $data['id'] . "'"; $DB->query($query); } } }
/** * Compute completename of Dropdown Tree table under the element of ID $ID * * @param $table : dropdown tree table to compute * @param $ID : root ID to used : regenerate all under this element * * @return nothing **/ function regenerateTreeCompleteNameUnderID($table, $ID) { global $DB; $parentIDfield = getForeignKeyFieldForTable($table); list($name, $level) = getTreeValueName($table, $ID); $query = "UPDATE `{$table}`\n SET `completename` = '" . addslashes($name) . "',\n `level` = '{$level}'\n WHERE `id` = '{$ID}'"; $DB->query($query); $query = "SELECT `id`\n FROM `{$table}`\n WHERE `{$parentIDfield}` = '{$ID}'"; $result = $DB->query($query); if ($DB->numrows($result) > 0) { while ($data = $DB->fetch_array($result)) { regenerateTreeCompleteNameUnderID($table, $data["id"]); } } }