コード例 #1
0
 private static function getUpdateResolver()
 {
     static $resolver;
     if ($resolver === null) {
         $resolver = (new OptionsResolver())->setRequired(['slug', 'type', 'name', 'project', 'package', 'existingVersion', 'recommendedVersion', 'recommendedDownloadLink', 'status', 'includes', 'enabled', 'baseThemes', 'subThemes'])->setAllowedTypes('slug', 'string')->setAllowedValues('type', [SiteUpdate::TYPE_CORE, SiteUpdate::TYPE_MODULE, SiteUpdate::TYPE_THEME])->setAllowedTypes('name', 'string')->setAllowedTypes('project', ['null', 'string'])->setAllowedTypes('package', ['null', 'string'])->setAllowedTypes('existingVersion', 'string')->setAllowedTypes('recommendedVersion', 'string')->setAllowedTypes('recommendedDownloadLink', 'string')->setAllowedValues('status', SiteUpdate::getStatuses())->setAllowedTypes('includes', 'array')->setNormalizer('includes', self::createStringArrayNormalizer('includes'))->setAllowedTypes('enabled', 'bool')->setAllowedTypes('baseThemes', 'array')->setNormalizer('baseThemes', self::createStringArrayNormalizer('baseThemes'))->setAllowedTypes('subThemes', 'array')->setNormalizer('subThemes', self::createStringArrayNormalizer('subThemes'));
     }
     return $resolver;
 }
コード例 #2
0
 public function transform(SiteUpdate $siteUpdate)
 {
     return ['name' => $siteUpdate->getName(), 'type' => $siteUpdate->getType(), 'slug' => $siteUpdate->getSlug(), 'existingVersion' => $siteUpdate->getExistingVersion(), 'recommendedVersion' => $siteUpdate->getRecommendedVersion(), 'status' => $siteUpdate->getStatus(), 'enabled' => $siteUpdate->isEnabled(), 'package' => $siteUpdate->getPackage(), 'project' => $siteUpdate->getProject(), 'includes' => $siteUpdate->getIncludes(), 'baseThemes' => $siteUpdate->getBaseThemes(), 'subThemes' => $siteUpdate->getSubThemes()];
 }
コード例 #3
0
 /**
  * @param SiteState       $state
  * @param SiteStateResult $result
  *
  * @return SiteUpdate[]
  */
 private function getUpdates(SiteState $state, SiteStateResult $result)
 {
     if (!$result->updates) {
         return [];
     }
     $existingUpdates = $state->getSiteUpdates();
     $updates = [];
     foreach ($result->updates as $slug => $updateData) {
         if (isset($existingUpdates[$slug])) {
             $update = $existingUpdates[$slug];
         } else {
             $update = new SiteUpdate($state, $slug);
         }
         $update->setType($updateData->type)->setName($updateData->name)->setProject($updateData->project)->setPackage($updateData->package)->setExistingVersion($updateData->existingVersion)->setRecommendedVersion($updateData->recommendedVersion)->setRecommendedDownloadLink($updateData->recommendedDownloadLink)->setStatus($updateData->status)->setIncludes($updateData->includes)->setEnabled($updateData->enabled)->setBaseThemes($updateData->baseThemes)->setSubThemes($updateData->subThemes);
         $updates[$slug] = $update;
     }
     return $updates;
 }