Skip to content

Instantly share code, notes, and snippets.

@etdebruin
Created August 23, 2012 19:21
Show Gist options
  • Save etdebruin/3440574 to your computer and use it in GitHub Desktop.
Save etdebruin/3440574 to your computer and use it in GitHub Desktop.
A new Media getBySiteId
public static function getBySiteId($siteId, QueryBuilder3 $CustomQueryBuilder = null) {
$QueryBuilder = Database::getQueryBuilder();
$QueryBuilder->select(self::DATABASE . '.' . self::TABLE . '.*')
->from(self::DATABASE . '.' . self::TABLE)
->where(self::SITE_ID, $siteId);
if (isset($CustomQueryBuilder)) {
$CustomQueryBuilder->mergeInto($QueryBuilder);
}
$Statement = $QueryBuilder->query();
$medias = array();
while ($row = $Statement->fetch()) {
$medias[$row['bid']] = self::create($row);
$mediaIds[] = $row['bid'];
}
$formats = MediaFormatMapper::getByMediaIds($mediaIds);
foreach ($formats as $format) {
self::addFormatToMedia($format, $medias[$format->mediaId]);
}
return $medias;
}
public static function addFormatToMedia($format, &$media) {
error_log(print_r($format,1));
$media->formats[$format->format] = $format;
}
@etdebruin
Copy link
Author

public static function populateFormats($medias) {

  if (empty($medias)) {
    return false;
  }

  foreach ($medias as $media) {
    $mediasByIds[$media->getId()] = $media;
    $mediaIds[] = $media->getId();
  }

  $formats = MediaFormatMapper::getByMediaIds($mediaIds);

  foreach ($formats as $format) {
    $mediasByIds[$format->mediaId]->setFormats($format);
  }

  return $mediasByIds;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment