<?php //blind copy from 8, dont know if it's correct $documentation['installer' ][9] = array('ca','cs','de','el','en','eo','es','et','eu','fr','hr','hu','ja','nb','nl','pl','pt_br','ro','ru','sk','sl','sq','sr','sv','tr','uk','zh_cn'); $documentation['control_center'][9] = array('ca','cs','da','de','el','en','es','et','eu','fr','id','it','ja','nb','nl','pl','pt_br','ro','ru','sl','sq','sr','sv','tr','uk','zh_cn'); $documentation['draklive' ][9] = array('cs','de','el','en','es','et','eu','fr','hr','ja','nl','pt_br','ro','ru','sk','sl','sq','sr','sv','uk'); $documentation['netinstall' ][9] = array('ca','de','el','en','es','et','eu','fr','hu','ja','nb','nl','pt_br','ru','sl','sq','sr','sv','tr','uk','zh_cn'); $documentation['installer' ][8] = array('ca','cs','de','el','en','eo','es','et','eu','fr','hr','hu','ja','nb','nl','pl','pt_br','ro','ru','sk','sl','sq','sr','sv','tr','uk','zh_cn'); $documentation['control_center'][8] = array('ca','cs','da','de','el','en','es','et','eu','fr','id','it','ja','nb','nl','pl','pt_br','ro','ru','sl','sq','sr','sv','tr','uk','zh_cn'); $documentation['draklive' ][8] = array('cs','de','el','en','es','et','eu','fr','hr','ja','nl','pt_br','ro','ru','sk','sl','sq','sr','sv','uk'); $documentation['netinstall' ][8] = array('ca','de','el','en','es','et','eu','fr','hu','ja','nb','nl','pt_br','ru','sl','sq','sr','sv','tr','uk','zh_cn'); $documentation['installer' ][7] = array('ca','cs','de','el','en','eo','es','et','eu','fr','hr','hu','ja','nb','nl','pl','pt_br','ro','ru','sk','sl','sq','sv','tr','uk','zh_cn'); $documentation['control_center'][7] = array('ca','cs','da','de','el','en','es','et','eu','fr','id','it','ja','nb','nl','pl','pt_br','ro','ru','sl','sq','sv','tr','uk','zh_cn'); $documentation['draklive' ][7] = array('cs','de','el','en','es','et','eu','fr','hr','ja','nl','pt_br','ro','sk','sl','sq','sv','uk','zh_cn'); $documentation['netinstall' ][7] = array('ca','cs','de','el','en','es','et','eu','fr','hu','ja','nb','nl','pt_br','ru','sq','sl','sv','tr','uk','zh_cn'); $documentation['installer' ][6] = array('ca','cs','de','el','en','eo','es','et','eu','fr','hr','hu','id','it','nb','nl','pl','pt','pt_br','ro','ru','sk','sl','sq','sv','tr','uk','zh_CN'); $documentation['control_center'][6] = array('ca','cs','da','de','el','en','es','et','eu','fr','id','it','nl','pl','pt','pt_br','ro','ru','sl','sq','sv','tr','uk','zh_CN'); $documentation['draklive' ][6] = array('cs','de','el','en','es','et','eu','fr','hr','nb','nl','pt_br','ro','ru','sk','sl','sq','sv','tr','uk','zh_CN'); $documentation['netinstall' ][6] = array('ca','cs','de','el','en','es','et','eu','fr','nb','nl','pt_br','sl','sv','tg','tr','uk','zh_CN'); $documentation['installer' ][5] = array('ca','cs','de','el','en','eo','es','et','eu','fr','hr','id','it','nl','pl','pt','pt_br','ro','ru','sq','sv','tr','uk','zh_CN'); $documentation['control_center'][5] = array('ca','cs','de','el','en','es','et','eu','fr','id','it','nl','pl','pt','pt_br','ro','ru','sv','tr','uk'); $documentation['draklive' ][5] = array('cs','de','el','en','es','et','eu','fr','hr','nl','ro','sk','sl','sv','uk','zh_CN'); $documentation['installer' ][4] = array('ca','cs','de','el','en','eo','es','et','fr','id','nl','pl','pt_br','ro','ru','sv','tr','uk'); $documentation['control_center'][4] = array('en','et','fr','ru','tr','uk'); $documentation['installer' ][3] = array('de','el','en','es','et','fr','nl','pt_br','ru','uk'); $documentation['control_center'][3] = array('en','et','fr'); $documentation['installer' ][2] = array('de','el','en','eo','fr','nl','pt_br','uk'); $defs = parse_ini_file('../downloads/get/definitions_doc.ini', true); function pdf_epub_present_in_locale($doc_name, $lang, $extension) { global $defs; $eng_file_name = sprintf('%s_en_%s', $doc_name, $extension); if(array_key_exists($eng_file_name, $defs)) { $langs = explode('|', $defs[$eng_file_name]['langs']); if (in_array($lang, $langs)) { return TRUE; } } return FALSE; } function doc_present_in_locale($documentation_name, $version) { global $locale; global $documentation; $link_locale = locale_hyphen_underscore($locale); // create pt_br.po from pt-br and alike if (in_array($link_locale, $documentation[$documentation_name][$version])) { return $link_locale; } else { return 'en'; } } function doc_list($documentation_name, $type, $version) { global $locale; global $langs; global $documentation; if ('control_center' == $type) { $dir = 'mcc'; $name = 'MCC'; $title = _r('Control Center'); } else if ('installer' == $type) { $dir = 'installer'; $name = 'DrakX'; $title = _r('Installer'); } else if ('draklive' == $type) { $dir = 'draklive'; $name = 'DrakLive'; $title = _r('Installation from LIVE medium'); } else if ('netinstall' == $type) { $dir = 'netinstall'; $name = 'NetInstall'; $title = _r('Installation with tiny boot image'); } else { return; // proper $type not defined ;) } $doc_link = sprintf('<a href="//doc.mageia.org/%s/%s/%s/content/index.html">%s</a>', $dir, $version, '%s', '%s'); $pdf_link = sprintf('<a rel="nofollow" href="../downloads/get/?q=Mageia%s-%s-%s-pdf&doc=yes" title="Mageia %s PDF">PDF</a>', $version, $name, '%s', $title); $epub_link = sprintf('<a rel="nofollow" href="../downloads/get/?q=Mageia%s-%s-%s-epub&doc=yes" title="Mageia %s EPUB">EPUB</a>', $version, $name, '%s', $title); $link_locale = locale_hyphen_underscore($locale); // create pt_br.po from pt-br and alike $your_language = ''; $others = array(); $text_others = ''; $your_language_present = FALSE; $other_languages_present = FALSE; $note_printed = FALSE; $table = PHP_EOL . '<table class="table table-sm">' . PHP_EOL; foreach ($documentation[$type][$version] as $lng) { // hopefully temporary exception for pt-br as convention for lang-abbrev in /langs.inc.php is different as link in doc.mageia.org $lng_name = $langs[locale_underscore_to_hyphen($lng)]; $pdf_present = pdf_epub_present_in_locale(sprintf('Mageia%s_%s', $version, $name), $lng, 'pdf'); $epub_present = pdf_epub_present_in_locale(sprintf('Mageia%s_%s', $version, $name), $lng, 'epub'); $pdf_epub_links = array(); if ($pdf_present) { $pdf_epub_links[] = sprintf($pdf_link, $lng); } if ($epub_present) { $pdf_epub_links[] = sprintf($epub_link, $lng); } $pdf_epub_links = implode(', ', $pdf_epub_links); $lang_doc_link = sprintf($doc_link, $lng, $lng_name); if ($link_locale == $lng) { $your_language_present = TRUE; if (!$pdf_present && !$epub_present) { $your_language = sprintf(_r('Online manual for %s available in %s') . '<br/>', '<span style="font-weight:bold">' . $documentation_name . '</span>', $lang_doc_link); } else { $your_language = sprintf(_r('Online manual for %s available in %s') . '<br/> <small class="text-mutted">('. _r('also as file:') . ' %s)</small>', '<span style="font-weight:bold">' . $documentation_name . '</span>', $lang_doc_link, $pdf_epub_links); } } else { $other_languages_present = TRUE; if (!$pdf_present && !$epub_present) { $others[] = $lang_doc_link; } else { if(!$note_printed) { $note = _r('also as file:', ' '); $note_printed = TRUE; } else { $note = ''; } $others[] = sprintf('%s <small class="text-muted">(%s%s)</small>', $lang_doc_link, $note, $pdf_epub_links, $lang_doc_link); } } } if ($your_language_present) { $text_your_language = '<span style="font-weight:bold">' . _r('Documentation in your language:') . '</span><br/>'; if ($other_languages_present) { $text_others = '<a class="text-muted font-weight-light" data-toggle="collapse" href="#table-'.$name.'-'.$version.'" role="button" aria-expanded="false" aria-controls="table-'.$name.'-'.$version.'">' . _r('Other languages:') . ' ↘ </a>'; } $table .= sprintf("\t<caption class=\"caption-top\">%s</caption>" . PHP_EOL . "\t<thead><tr><th class=\"border-0\">%s</th></tr></thead>" . PHP_EOL . '<tbody class="collapse" id="table-%s-%s">' . PHP_EOL , $your_language, $text_others, $name, $version); } else { foreach($documentation[$type] as $single_version => $all_languages) { if($single_version < $version && in_array($link_locale, $all_languages)) { $language_present_before = "\t\t<tr><td>" . sprintf(_r('Translation was present in %s before.<br/>Maybe you can check documentation for %s in Mageia %s.'), $langs[locale_underscore_to_hyphen($locale)], $documentation_name, $single_version) . "</td></tr>" . PHP_EOL; break; } else { $language_present_before = ''; } } $text_your_language = _r('Not <a href="../community/">yet</a> available in your language.') . ' ' . _r('Click below for alternative available languages.') . '<br/>'; $table .= sprintf("\t<caption class=\"caption-top\">%s<br/>" . PHP_EOL . "\t%s<a class=\"text-muted font-weight-light\" data-toggle=\"collapse\" href=\"#table-$name-$version\" role=\"button\" aria-expanded=\"false\" aria-controls=\"table-$name-$version\"> ↘ </a></caption>" . PHP_EOL . '%s' . "\t<tbody class=\"collapse\" id=table-%s-%s>" . PHP_EOL , '<span style="font-weight:bold">' . $documentation_name . '</span>', $text_your_language, $language_present_before, $name, $version); } foreach ($others as $other_languages) { $table .= sprintf("\t\t<tr><td>%s</td></tr>" . PHP_EOL, $other_languages); } $table .= "\t</tbody>" . PHP_EOL; $table .= "</table>" . PHP_EOL; echo $table; }