Exemple #1
0
 /**
  * Find and set the hero image
  * @since Version 3.10.0
  * @return \Railpage\Newsletters\Weekly
  */
 private function getHeroImage()
 {
     $query = "SELECT f.image_id, i.meta FROM image_flags AS f LEFT JOIN image AS i ON f.image_id = i.id WHERE f.screened_pick = 1";
     $ids = [];
     foreach ($this->db->fetchAll($query) as $row) {
         $row['meta'] = json_decode($row['meta'], true);
         $sizes = Images::normaliseSizes($row['meta']['sizes']);
         if ($sizes['medium']['height'] > $sizes['medium']['width']) {
             continue;
         }
         $ids[] = $row['image_id'];
     }
     $image_id = $ids[array_rand($ids)];
     if (filter_var($image_id, FILTER_VALIDATE_INT)) {
         Debug::LogCLI("Creating instance of Image for the hero photo");
         $this->HeroImage = ImageFactory::CreateImage($image_id);
         $this->Newsletter->setHeroImage($this->HeroImage);
     }
     return $this;
 }