function sexec()
{
    $EXEC_PID_FILE = "/etc/artica-postfix/" . basename(__FILE__) . ".sexec.pid";
    $TILE_PID_FILE = "/etc/artica-postfix/" . basename(__FILE__) . ".sexec.pid";
    $unix = new unix();
    $sock = new sockets();
    $SQUIDEnable = $sock->GET_INFO("SQUIDEnable");
    if (!is_numeric($SQUIDEnable)) {
        $SQUIDEnable = 1;
    }
    if ($SQUIDEnable == 0) {
        die;
    }
    $pid = @file_get_contents($EXEC_PID_FILE);
    if ($unix->process_exists($pid, basename(__FILE__))) {
        build_progress("Already running", 110);
        return false;
    }
    $TILE_PID_TIME = $unix->file_time_min($TILE_PID_FILE);
    $SquidHTTPTemplateLanguage = $sock->GET_INFO("SquidHTTPTemplateLanguage");
    if ($SquidHTTPTemplateLanguage == null) {
        $SquidHTTPTemplateLanguage = "en-us";
    }
    $GLOBALS["XTPL_SQUID_DEFAULT"] = unserialize(@file_get_contents("/usr/share/artica-postfix/ressources/databases/squid.default.templates.db"));
    $xtpl = new template_simple();
    $MAIN = $GLOBALS["XTPL_SQUID_DEFAULT"][$SquidHTTPTemplateLanguage];
    @mkdir("/usr/share/squid-langpack/{$SquidHTTPTemplateLanguage}", 0755, true);
    @chown("/usr/share/squid-langpack/{$SquidHTTPTemplateLanguage}", "squid");
    @chgrp("/usr/share/squid-langpack/{$SquidHTTPTemplateLanguage}", "squid");
    $arrayxLangs = $xtpl->arrayxLangs;
    while (list($TEMPLATE_TITLE, $subarray) = each($MAIN)) {
        build_progress("{building} {$TEMPLATE_TITLE}", 50);
        $xtpl = new template_simple($TEMPLATE_TITLE, $SquidHTTPTemplateLanguage);
        $templateDestination = "/usr/share/squid-langpack/templates/{$TEMPLATE_TITLE}";
        $templateLangDestination = "/usr/share/squid-langpack/templates/{$SquidHTTPTemplateLanguage}/{$TEMPLATE_TITLE}";
        $design = $xtpl->TemplatesDesign();
        @file_put_contents($templateDestination, $design);
        @file_put_contents($templateLangDestination, $design);
        if ($GLOBALS["VERBOSE"]) {
            echo "{$TEMPLATE_TITLE}: {$SquidHTTPTemplateLanguage} {$templateDestination} done\n";
        }
        if ($GLOBALS["VERBOSE"]) {
            echo "{$TEMPLATE_TITLE}: {$SquidHTTPTemplateLanguage} {$templateLangDestination} done\n";
        }
        @chown($templateLangDestination, "squid");
        @chgrp($templateLangDestination, "squid");
        @chown($templateDestination, "squid");
        @chgrp($templateDestination, "squid");
    }
    $ln = $unix->find_program("ln");
    while (list($Mainlang, $xarr) = each($xtpl->arrayxLangs)) {
        while (list($index, $z) = each($xarr)) {
            build_progress("Saving {$z}", 60);
            $destination_path = "/usr/share/squid-langpack/templates/{$z}";
            if (!is_link($destination_path)) {
                shell_exec("/bin/rm -rf {$destination_path}");
            }
            @unlink("{$destination_path}");
            shell_exec("{$ln} -sf \"/usr/share/squid-langpack/templates/{$Mainlang}\" \"{$destination_path}\"");
        }
    }
    $php = $unix->LOCATE_PHP5_BIN();
    if ($GLOBALS["BYINITD"]) {
        $addon = "By init.d";
    }
    if ($GLOBALS["BY"] != null) {
        $addon = $GLOBALS["BY"];
    }
    shell_exec("{$php} /usr/share/artica-postfix/exec.squid.php --mime");
    @file_put_contents("/etc/artica-postfix/SQUID_TEMPLATE_DONEv3", time());
    if ($GLOBALS["PROGRESS"]) {
        build_progress("{reloading} Proxy service", 70);
        $squidbin = $unix->LOCATE_SQUID_BIN();
        squid_admin_mysql(2, "Restarting proxy service in order to refresh templates ({$addon})", null, __FILE__, __LINE__);
        system("/etc/init.d/squid restart --force");
        build_progress("{done}", 100);
        $TILE_PID_TIME = 0;
        return;
    }
    if (!$GLOBALS["NORELOAD"]) {
        if ($TILE_PID_TIME > 30) {
            build_progress("{reloading} Proxy service", 70);
            squid_admin_mysql(2, "Reloading proxy service in order to refresh templates ({$addon})", null, __FILE__, __LINE__);
            $squidbin = $unix->LOCATE_SQUID_BIN();
            system("/etc/init.d/squid reload --script=exec.squid.templates.php/" . __LINE__);
            @unlink($TILE_PID_FILE);
            @file_put_contents($TILE_PID_FILE, time());
        } else {
            squid_admin_mysql(2, "Reloading proxy service ({$addon}) skipped (timed out - {$TILE_PID_TIME}Mn )", null, __FILE__, __LINE__);
        }
    }
    build_progress("{done}", 100);
}