*/ class admin_plugin_translation extends AdminPlugin { /** @inheritdoc */ public function forAdminOnly() { return false; } /** @inheritdoc */ public function handle() { } /** @inheritdoc */ public function html() { /** @var helper_plugin_translation $helper */ $helper = plugin_load('helper', "translation"); $default_language = $helper->defaultlang; /** @var Doku_Renderer_xhtml $xhtml_renderer */ $xhtml_renderer = p_get_renderer('xhtml'); echo "

" . $this->getLang("menu") . "

"; echo ""; echo ""; if ($this->getConf('show_path')) { echo ""; } foreach ($helper->translations as $t) { if ($t === $default_language) { continue; } echo ""; } echo ""; $pages = $helper->getAllTranslatablePages(); foreach ($pages as $page) { // We have an existing and translatable page in the default language $showRow = false; $row = ""; if ($this->getConf('show_path')) { $row .= ""; } [, $idpart] = $helper->getTransParts($page["id"]); foreach ($helper->translations as $t) { if ($t === $default_language) { continue; } [$translID, ] = $helper->buildTransID($t, $idpart); $difflink = ''; if (!page_exists($translID)) { $class = "missing"; $title = $this->getLang("missing"); $showRow = true; } else { $translfn = wikiFN($translID); if ($page['mtime'] > filemtime($translfn)) { $class = "outdated"; $difflink = " getLang('old'); $showRow = true; } else { $class = "current"; $title = $this->getLang('current'); } } $row .= ""; } $row .= ""; if ($showRow) { echo $row; } } echo "
default: $default_language" . $this->getLang('path') . "$t
" . $xhtml_renderer->internallink($page['id'], null, null, true) . "" . $xhtml_renderer->internallink($page['id'], $page['id'], null, true) . "" . $xhtml_renderer->internallink( $translID, $title, null, true ) . $difflink . "
"; } }