class Media extends AbstractData
{
public function getEntityWith($forView = false)
{
$get = ['User', 'Category', 'Album'];
if ($forView)
{
$visitor = \XF::visitor();
$get[] = 'Category.Permissions|' . $visitor->permission_combination_id;
}
return $get;
}
public function getIndexData(Entity $entity)
{
return null;
}
protected function getMetaData(MediaItem $entity)
{
return [];
}
public function setupMetadataStructure(MetadataStructure $structure)
{
}
public function getResultDate(Entity $entity)
{
return $entity->media_date;
}
public function getSearchableContentTypes()
{
return [];
}
public function getTemplateData(Entity $entity, array $options = [])
{
return [
'mediaItem' => $entity,
'options' => $options,
];
}
public function getSearchFormTab()
{
return null;
}
public function getSectionContext()
{
return 'xfmg';
}
public function getSearchFormData()
{
return [
'categoryTree' => $this->getSearchableCategoryTree(),
];
}
protected function getSearchableCategoryTree()
{
$categoryRepo = \XF::repository('XFMG:Category');
$categoryTree = $categoryRepo->createCategoryTree($categoryRepo->getViewableCategories());
return $categoryTree;
}
public function applyTypeConstraintsFromInput(Query $query, Request $request, array &$urlConstraints)
{
}
public function canUseInlineModeration(Entity $entity, &$error = null)
{
return $entity->canUseInlineModeration($error);
}
}