function fetch_blacklist() { global $config, $g; $url = $config['installedpackages']['dansguardianblacklist']['config'][0]['url']; if (is_url($url)) { conf_mount_rw(); print "file download start.."; unlink_if_exists("/usr/local/etc/dansguardian/lists/blacklist.tgz"); exec("/usr/bin/fetch -o /usr/local/etc/dansguardian/lists/blacklist.tgz " . escapeshellarg($url)); chdir("/usr/local/etc/dansguardian/lists"); if (is_dir("blacklists.old")) { exec('rm -rf /usr/local/etc/dansguardian/lists/blacklists.old'); } rename("blacklists", "blacklists.old"); exec('/usr/bin/tar -xvzf /usr/local/etc/dansguardian/lists/blacklist.tgz 2>&1', $output, $return); if (preg_match("/x\\W+(\\w+)/", $output[0], $matches)) { if ($matches[1] != "blacklists") { rename("./" . $matches[1], "blacklists"); } read_lists(); } else { file_notice("Dansguardian - Could not determine Blacklist extract dir. Categories not updated", ""); } } else { file_notice("Dansguardian - Blacklist url is invalid.", ""); } }
function fetch_blacklist($log_notice = true, $install_process = false) { global $config, $g; if (is_array($config['installedpackages']['dansguardianblacklist']) && is_array($config['installedpackages']['dansguardianblacklist']['config'])) { $url = $config['installedpackages']['dansguardianblacklist']['config'][0]['url']; $uw = "Found a previouns install, checking Blacklist config..."; } else { $uw = "Found a clean install, reading default access lists..."; } conf_mount_rw(); if ($install_process == true) { update_output_window($uw); } if (isset($url) && is_url($url)) { if ($log_notice == true) { print "file download start.."; unlink_if_exists("/usr/local/pkg/blacklist.tgz"); exec("/usr/bin/fetch -o /usr/local/pkg/blacklist.tgz " . escapeshellarg($url), $output, $return); } else { #install process if (file_exists("/usr/local/pkg/blacklist.tgz")) { update_output_window("Found previous blacklist database, skipping download..."); $return = 0; } else { update_output_window("Fetching blacklist"); download_file_with_progress_bar($url, "/usr/local/pkg/blacklist.tgz"); if (file_exists("/usr/local/pkg/blacklist.tgz")) { $return = 0; } } } if ($return == 0) { chdir(DANSGUARDIAN_DIR . "/etc/dansguardian/lists"); if (is_dir("blacklists.old")) { exec('rm -rf ' . DANSGUARDIAN_DIR . '/etc/dansguardian/lists/blacklists.old'); } rename("blacklists", "blacklists.old"); exec('/usr/bin/tar -xvzf /usr/local/pkg/blacklist.tgz 2>&1', $output, $return); if (preg_match("/x\\W+(\\w+)/", $output[1], $matches)) { if ($matches[1] != "blacklists") { rename("./" . $matches[1], "blacklists"); } read_lists($log_notice); } else { file_notice("Dansguardian - Could not determine Blacklist extract dir. Categories not updated", ""); } } else { file_notice("Dansguardian - Could not fetch blacklists from url", ""); } } else { if ($install_process == true) { read_lists(false, $uw); } elseif (!empty($url)) { file_notice("Dansguardian - Blacklist url is invalid.", ""); } } }