// for NS_FILE titles, use the corresponding file as image
if ($title->getNamespace() == NS_FILE) {
$file = wfFindFile($title); // $file is a mediawiki File class or false
+ } else {
+ $categories = $title->getParentCategories(); // e.g. array('Kategorie:Rodelbahn' => 'Juifenalm')
+ global $wgContLang;
+ $key_sledrun = $wgContLang->getNSText(NS_CATEGORY) . ':Rodelbahn';
+ if (array_key_exists($key_sledrun, $categories)) {
+ // for sledrun titles use the image from the rodelbahnbox
+ // TODO
+ }
+ $key_inn = $wgContLang->getNSText(NS_CATEGORY) . ':Gasthaus';
+ if (array_key_exists($key_inn, $categories)) {
+ // for inn titles use the image from the gasthausbox
+ $dbr = wfGetDB(DB_SLAVE);
+ $res = $dbr->select('wrinncache', 'image', array('page_id' => $title->getArticleID()), __METHOD__);
+ $image = $dbr->fetchRow($res);
+ if ($image && !is_null($image['image'])) $file = wfFindFile($image['image']);
+ $dbr->freeResult($res);
+ }
}
if ($file === false) return Null;
if (!$file->canRender()) return Null;