예제 #1
0
function build()
{
    $users = new usersMenus();
    $sock = new sockets();
    $unix = new unix();
    $chown = $unix->find_program("chown");
    $chmod = $unix->find_program("chmod");
    if (!$users->SQUIDGUARD_INSTALLED) {
        return null;
    }
    if ($sock->GET_INFO("squidGuardEnabled") != 1) {
        return null;
    }
    $s = new squidguard();
    $datas = $s->BuildConf();
    @file_put_contents("/etc/squid/squidGuard.conf", $datas);
    $user = GetSquidUser();
    shell_exec("{$chown} -R {$user} /var/lib/squidguard/*");
    shell_exec("{$chmod} -R 755 /var/lib/squidguard/*");
    shell_exec($users->SQUID_BIN_PATH . " -k reconfigure");
}
예제 #2
0
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;
    }
    $s = new squidguard();
    $datas = $s->BuildConf();
    @file_put_contents("/etc/squid/squidGuard.conf", $datas);
    @mkdir("/etc/ufdbguard", null, true);
    @file_put_contents("/etc/ufdbguard/ufdbGuard.conf", $datas);
    if ($users->APP_UFDBGUARD_INSTALLED) {
        BuildMissingUfdBguardDBS();
        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")) {
        @chmod("/var/log/ufdbguard/ufdbguardd.log", 777);
    }
    if (is_file("/etc/init.d/ufdb")) {
        shell_exec("/etc/init.d/ufdb reconfig >/dev/null 2>&1");
    }
    PersonalCategoriesRepair();
    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");
}