Example #1
0
function INSERT_DEB_PACKAGES()
{
    if (system_is_overloaded(basename(__FILE__))) {
        system_admin_events("This system is too many overloaded, die()", __FUNCTION__, __FILE__, __LINE__, "system-update");
        die;
    }
    $sock = new sockets();
    $EnableSystemUpdates = $sock->GET_INFO("EnableSystemUpdates");
    if (!is_numeric($EnableSystemUpdates)) {
        $EnableSystemUpdates = 0;
    }
    if ($EnableSystemUpdates == 0) {
        return;
    }
    if (!is_file("/usr/bin/dpkg")) {
        die;
    }
    $sql = "TRUNCATE TABLE `debian_packages`";
    $q = new mysql();
    $q->QUERY_SQL($sql, "artica_backup");
    $unix = new unix();
    $tmpf = $unix->FILE_TEMP();
    shell_exec("/usr/bin/dpkg -l >{$tmpf} 2>&1");
    $datas = @file_get_contents($tmpf);
    @unlink($tmpf);
    $tbl = explode("\n", $datas);
    $prefix = "INSERT IGNORE INTO debian_packages(package_status,package_name,package_version,package_info,package_description) VALUES ";
    while (list($num, $val) = each($tbl)) {
        if ($val == null) {
            continue;
        }
        $c++;
        if (preg_match("#^([a-z]+)\\s+(.+?)\\s+(.+?)\\s+(.+)#", $val, $re)) {
            $content = addslashes($re[4]);
            $pname = $re[2];
            $package_description = addslashes(PACKAGE_EXTRA_INFO($pname));
            $tr[] = "('{$re[1]}','{$pname}','{$re[3]}','{$content}','{$package_description}')";
            if (count($tr) > 500) {
                $sql = $prefix . @implode(",", $tr);
                $tr = array();
                $q->QUERY_SQL($sql, "artica_backup");
                if (!$q->ok) {
                    echo $q->mysql_error;
                }
            }
        }
    }
    if (count($tr) > 0) {
        $sql = $prefix . @implode(",", $tr);
        $tr = array();
        $q->QUERY_SQL($sql, "artica_backup");
        if (!$q->ok) {
            echo $q->mysql_error;
        }
    }
}
Example #2
0
function INSERT_DEB_PACKAGES()
{
    if (!is_file("/usr/bin/dpkg")) {
        die;
    }
    $sql = "TRUNCATE TABLE `debian_packages`";
    $q = new mysql();
    $q->QUERY_SQL($sql, "artica_backup");
    $unix = new unix();
    $tmpf = $unix->FILE_TEMP();
    shell_exec("/usr/bin/dpkg -l >{$tmpf} 2>&1");
    $datas = @file_get_contents($tmpf);
    @unlink($tmpf);
    $tbl = explode("\n", $datas);
    while (list($num, $val) = each($tbl)) {
        if ($val == null) {
            continue;
        }
        if (preg_match("#^([a-z]+)\\s+(.+?)\\s+(.+?)\\s+(.+)#", $val, $re)) {
            $content = addslashes($re[4]);
            $pname = $re[2];
            $package_description = addslashes(PACKAGE_EXTRA_INFO($pname));
            $sql = "INSERT INTO debian_packages(package_status,package_name,package_version,package_info,package_description) \n  \t\tVALUES('{$re[1]}','{$pname}','{$re[3]}','{$content}','{$package_description}');";
            $q->QUERY_SQL($sql, "artica_backup");
        }
    }
}