function build_ufdbguard_config() { checksVersion(); $sock = new sockets(); $DenyUfdbWriteConf = $sock->GET_INFO("DenyUfdbWriteConf"); if (!is_numeric($DenyUfdbWriteConf)) { $DenyUfdbWriteConf = 0; } $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance"); if (!is_numeric($EnableRemoteStatisticsAppliance)) { $EnableRemoteStatisticsAppliance = 0; } if ($EnableRemoteStatisticsAppliance == 1) { return; } $unix = new unix(); $chmod = $unix->find_program("chmod"); $chown = $unix->find_program("chown"); $ln = $unix->find_program("ln"); $trace = debug_backtrace(); if (isset($trace[1])) { $called = " called by " . basename($trace[1]["file"]) . " {$trace[1]["function"]}() line {$trace[1]["line"]}"; } $unix->send_email_events("Order to rebuild ufdbGuard config", $called, "proxy"); $sock = new sockets(); $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance"); $EnableWebProxyStatsAppliance = $sock->GET_INFO("EnableWebProxyStatsAppliance"); if (!is_numeric($EnableRemoteStatisticsAppliance)) { $EnableRemoteStatisticsAppliance = 0; } if (!is_numeric($EnableWebProxyStatsAppliance)) { $EnableWebProxyStatsAppliance = 0; } $users = new usersMenus(); @mkdir("/var/tmp", 0775, true); @mkdir("/etc/ufdbguard", 0777, true); @mkdir("/etc/squid3", 0755, true); @mkdir("/var/log/squid", 0755, true); @mkdir("/var/lib/ufdbartica", 0755, true); @unlink("/etc/ufdbguard/ufdbGuard.conf"); @unlink("/etc/squid3/ufdbGuard.conf"); remove_bad_files(); build_progress("Building parameters", 10); $ufdb = new compile_ufdbguard(); $datas = $ufdb->buildConfig(); if (is_file("/var/log/squid/UfdbguardCache.db")) { @unlink("/var/log/squid/UfdbguardCache.db"); } if ($EnableWebProxyStatsAppliance == 1) { @file_put_contents("/usr/share/artica-postfix/ressources/databases/ufdbGuard.conf", $datas); } if ($DenyUfdbWriteConf == 0) { build_progress("Saving configuration", 60); @file_put_contents("/etc/ufdbguard/ufdbGuard.conf", $datas); @file_put_contents("/etc/squid3/ufdbGuard.conf", $datas); $sock->TOP_NOTIFY("{webfiltering_parameters_was_saved}"); } shell_exec("{$chmod} 755 /etc/squid3/ufdbGuard.conf"); shell_exec("{$chmod} -R 755 /etc/squid3/ufdbGuard.conf"); shell_exec("{$chmod} -R 755 /etc/ufdbguard"); shell_exec("chown -R squid:squid /etc/ufdbguard"); shell_exec("chown -R squid:squid /var/log/squid"); shell_exec("chown -R squid:squid /etc/squid3"); shell_exec("chown -R squid:squid /var/lib/ufdbartica"); build_progress("Saving configuration {done}", 65); }
function build() { $users = new usersMenus(); $sock = new sockets(); $unix = new unix(); $chown = $unix->find_program("chown"); $chmod = $unix->find_program("chmod"); $squidbin = $unix->find_program("squid3"); if (!is_file($squidbin)) { $squidbin = $unix->find_program("squid"); } $GLOBALS["SQUIDBIN"] = $squidbin; $installed = false; if ($users->SQUIDGUARD_INSTALLED) { $installed = true; } if ($users->APP_UFDBGUARD_INSTALLED) { $installed = true; } if (!$installed) { return false; } $dans = new compile_dansguardian(); $dans->build(); $ufdb = new compile_ufdbguard(); $datas = $ufdb->buildConfig(); @mkdir("/etc/ufdbguard", null, true); @file_put_contents("/etc/ufdbguard/ufdbGuard.conf", $datas); if (is_file("/usr/sbin/ufdbguardd")) { if (!is_file("/usr/bin/ufdbguardd")) { $unix = new unix(); $ln = $unix->find_program("ln"); shell_exec("{$ln} -s /usr/sbin/ufdbguardd /usr/bin/ufdbguardd"); } } if ($users->APP_UFDBGUARD_INSTALLED) { ufdbguard_schedule(); } $user = GetSquidUser(); if (!is_file("/squid/log/squid/squidGuard.log")) { @mkdir("/squid/log/squid", 755, true); @file_put_contents("/squid/log/squid/squidGuard.log", "#"); shell_exec("{$chown} {$user} /squid/log/squid/squidGuard.log"); } shell_exec("{$chown} -R {$user} /var/lib/squidguard/*"); shell_exec("{$chown} -R {$user} /var/log/squid/*"); shell_exec("{$chmod} -R 755 /var/lib/squidguard/*"); shell_exec("{$chmod} -R ug+x /var/lib/squidguard/*"); if (!is_file("/var/log/ufdbguard/ufdbguardd.log")) { @mkdir("/var/log/ufdbguard", 755, true); @file_put_contents("/var/log/ufdbguard/ufdbguardd.log", "see /var/log/squid/ufdbguardd.log\n"); } shell_exec("chmod 777 /var/log/ufdbguard/ufdbguardd.log"); ufdbguard_admin_events("Service will be rebuiled and restarted", __FUNCTION__, __FILE__, __LINE__, "config"); if (is_file("/etc/init.d/ufdb")) { shell_exec("/etc/init.d/ufdb reconfig >/dev/null 2>&1"); } shell_exec("{$GLOBALS["SQUIDBIN"]} -k reconfigure"); send_email_events("SquidGuard/ufdbGuard rules was rebuilded", "This is new configuration file of the squidGuard/ufdbGuard:\n-------------------------------------\n{$datas}", "system"); shell_exec(LOCATE_PHP5_BIN2() . " " . dirname(__FILE__) . "/exec.c-icap.php --maint-schedule"); }