Commit | Line | Data |
---|---|---|
59ab4d0f | 1 | <?php |
a9229942 | 2 | |
59ab4d0f | 3 | namespace wcf\data\media; |
a9229942 | 4 | |
59ab4d0f MS |
5 | use wcf\system\WCF; |
6 | ||
7 | /** | |
a5a4f02d | 8 | * Represents a list of viewable media files. |
e82bf444 | 9 | * |
a9229942 TD |
10 | * @author Matthias Schmidt |
11 | * @copyright 2001-2019 WoltLab GmbH | |
12 | * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> | |
13 | * @package WoltLabSuite\Core\Data\Media | |
14 | * @since 3.0 | |
15 | * | |
16 | * @method ViewableMedia current() | |
17 | * @method ViewableMedia[] getObjects() | |
62d64fe4 | 18 | * @method ViewableMedia|null getSingleObject() |
74a327b0 | 19 | * @method ViewableMedia|null search($objectID) |
a9229942 | 20 | * @property ViewableMedia[] $objects |
59ab4d0f | 21 | */ |
a9229942 TD |
22 | class ViewableMediaList extends MediaList |
23 | { | |
24 | /** | |
25 | * @inheritDoc | |
26 | */ | |
27 | public $decoratorClassName = ViewableMedia::class; | |
28 | ||
29 | /** | |
30 | * Creates a new ViewableMediaList object. | |
31 | * | |
32 | * @param int|null $languageID | |
33 | */ | |
34 | public function __construct($languageID = null) | |
35 | { | |
36 | parent::__construct(); | |
37 | ||
38 | if ($languageID === null) { | |
39 | $languageID = WCF::getLanguage()->languageID; | |
40 | } | |
41 | ||
42 | // fetch content data | |
43 | $this->sqlSelects .= "media_content.*, COALESCE(media.languageID, " . $languageID . ") AS localizedLanguageID"; | |
d3bd0a85 MS |
44 | $this->sqlJoins .= " |
45 | LEFT JOIN wcf" . WCF_N . "_media_content media_content | |
46 | ON media_content.mediaID = media.mediaID | |
47 | AND media_content.languageID = COALESCE(media.languageID, " . $languageID . ")"; | |
a9229942 | 48 | } |
59ab4d0f | 49 | } |