case 1: // Check for a set channel. $clean['channel'] = isset($path[6]) ? trim($path[6]) : null; // Instantiate Update object and set updateVersion. $update = new Update(); // Instantiate our complete patch. $completePatch = new Patch($productBranchVersions, $nightlyChannels, 'complete'); // If our complete patch exists and is valid, set the patch line. if ($completePatch->findPatch($clean['product'], $clean['platform'], $clean['locale'], $clean['version'], $clean['build'], $clean['channel']) && $completePatch->isPatch()) { // Set our patchLine. $xml->setPatchLine($completePatch); // If available, pull update information from the build snippet. if ($completePatch->hasUpdateInfo()) { $update->setVersion($completePatch->updateVersion); $update->setExtensionVersion($completePatch->updateExtensionVersion); $update->setBuild($completePatch->build); } // If there is details url information, add it to the update object. if ($completePatch->hasDetailsUrl()) { $update->setDetails($completePatch->detailsUrl); } // If we found an update type, pass it along. if ($completePatch->hasUpdateType()) { $update->setType($completePatch->updateType); } // If we have a license URL, pass it along. if ($completePatch->hasLicenseUrl()) { $update->setLicense($completePatch->licenseUrl); } } // Instantiate our partial patch.