if (is_array($repos)) { foreach ($repos as $repo) { /* SELECT software_package.package_name, v1, v2, v3, v4 FROM software_package LEFT JOIN software_update ON ( software_package.package_name = software_update.package_name ) LEFT JOIN software_update_inst ON ( software_update.software_update_id = software_update_inst.software_update_id ) GROUP BY package_name ORDER BY v1 DESC , v2 DESC , v3 DESC , v4 DESC */ $client = new SoapClient(null, array('location' => $repo['repo_url'], 'uri' => $repo['repo_url'])); $packages = $app->db->queryAllRecords("SELECT software_package.package_name, v1, v2, v3, v4 FROM software_package LEFT JOIN software_update ON ( software_package.package_name = software_update.package_name ) GROUP BY package_name ORDER BY v1 DESC , v2 DESC , v3 DESC , v4 DESC"); if (is_array($packages)) { foreach ($packages as $p) { $version = $p['v1'] . '.' . $p['v2'] . '.' . $p['v3'] . '.' . $p['v4']; $updates = $client->get_updates($p['package_name'], $version, $repo['repo_username'], $repo['repo_password']); if (is_array($updates)) { foreach ($updates as $u) { $version_array = explode('.', $u['version']); $v1 = $app->functions->intval($version_array[0]); $v2 = $app->functions->intval($version_array[1]); $v3 = $app->functions->intval($version_array[2]); $v4 = $app->functions->intval($version_array[3]); $package_name = $app->db->quote($u['package_name']); $software_repo_id = $app->functions->intval($repo['software_repo_id']); $update_url = $app->db->quote($u['url']); $update_md5 = $app->db->quote($u['md5']); $update_dependencies = isset($u['dependencies']) ? $app->db->quote($u['dependencies']) : ''; $update_title = $app->db->quote($u['title']); $type = $app->db->quote($u['type']); // Check that we do not have this update in the database yet