function BuildRules()
{
    $dans = new dansguardian();
    $sql = "SELECT RuleID,RuleName,RuleText FROM dansguardian_rules WHERE RuleID>1 ORDER BY RuleID";
    $q = new mysql();
    $results = $q->QUERY_SQL($sql, "artica_backup");
    while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) {
        if ($ligne["RuleID"] == 1) {
            continue;
        }
        $count = $count + 1;
        $GLOBALS["DANSGUARDIAN_RULES_INDEX"][$ligne["RuleID"]] = $count;
        $dansguardian = new dansguardian_rules(null, $ligne["RuleID"]);
        $ligne["RuleText"] = $dansguardian->BuildMainRule();
        events(__FUNCTION__ . ":: ----------------------------------------------------------------------------------------");
        events(__FUNCTION__ . ":: Writing /etc/dansguardian/dansguardianf{$count}.conf ID:{$ligne["RuleID"]} Name:{$ligne["RuleName"]} " . strlen($ligne["RuleText"]) . " bytes");
        events(__FUNCTION__ . ":: ----------------------------------------------------------------------------------------");
        @file_put_contents("/etc/dansguardian/dansguardianf{$count}.conf", $ligne["RuleText"]);
        CheckFilesDatabases($ligne["RuleText"], $ligne["RuleID"]);
        ChangeRuleName($count, $ligne["RuleName"]);
        if ($dans->ContentScannerMustEnabled()) {
            events(__FUNCTION__ . ":: clamav is enabled checkit");
            WriteConfigFile("/etc/dansguardian/dansguardianf{$count}.conf", "contentscanner", "'/etc/dansguardian/contentscanners/clamdscan.conf'");
        } else {
            events(__FUNCTION__ . ":: clamav is disbaled delete it");
            DeleteConfigFile("/etc/dansguardian/dansguardianf{$count}.conf", "contentscanner");
        }
    }
    if (!is_file("/etc/dansguardian/dansguardianf1.conf")) {
        copy("/etc/dansguardian/dansguardian.conf /etc/dansguardian/dansguardianf1.conf");
    }
}