function getMedia($gid = 0, $offset = 0, $length = 0, $filter = 0) { $filter = intval($filter); if ($filter > 0) { $gid = $filter; } $gid = intval($gid); $ret = array(); $db =& zmgDatabase::getDBO(); $query = "SELECT mid FROM " . zmgFactory::getConfig()->getTableName('media'); if ($gid === 0) { $query .= " ORDER BY gid, " . $this->getMediaOrdering(); } else { $query .= " WHERE gid={$gid} ORDER BY " . $this->getMediaOrdering(); } if ($length > 0) { $query .= " LIMIT {$offset}, {$length}"; } $a_gallery = null; $a_gallery_dir = ""; $db->setQuery($query); $rows = $db->loadRowList(); if ($rows) { foreach ($rows as $row) { $medium = new zmgMedium(&$db); $gid = intval($row[0]); $medium->load($gid); if ($a_gallery !== $gid) { $a_gallery = $gid; $a_gallery_dir = $medium->getGalleryDir(); } else { $medium->gallery_dir = $a_gallery_dir; } $ret[] = $medium; } } return $ret; }