function webify_directory($directory, $edition) { $toc = get_substring(file_get_contents($directory . DIRECTORY_SEPARATOR . 'index.html'), '<dl>', '</dl>', TRUE, TRUE, TRUE); $_editions = ''; $editions = array('en' => array('3.7', '3.6'), 'ja' => array('3.7', '3.6'), 'fr' => array('3.7', '3.6')); foreach ($editions as $language => $versions) { foreach ($versions as $version) { if ($language . '-' . $version == $edition) { $active = ' class="active"'; } else { $active = ''; } switch ($language) { case 'en': $_language = 'English'; break; case 'ja': $_language = 'Japanese'; break; case 'fr': $_language = 'French'; break; case 'de': $_language = 'German'; break; } $_editions .= sprintf('<li><a href="http://www.phpunit.de/manual/%s/%s/index.html"%s>PHPUnit %s <span><small>%s</small></span></a></li>', $version, $language, $active, $version, $_language); } } foreach (new HTMLFilterIterator(new DirectoryIterator($directory)) as $file) { webify_file($file->getPathName(), $toc, $_editions); } }
function webify_directory($directory, $language, $version) { $toc = get_substring(file_get_contents($directory . DIRECTORY_SEPARATOR . 'index.html'), '<dl class="toc">', '</dl>', true, true, true); $toc = str_replace('class="toc"', 'class="toc nav hidden-print"', $toc); $editions = array('en' => array('5.3', '5.2', '5.1', '4.8'), 'ja' => array('5.3', '5.2', '5.1', '4.8'), 'pt_br' => array('5.3', '5.2', '5.1', '4.8'), 'zh_cn' => array('5.3', '5.2', '5.1', '4.8')); $old = '4.8'; $stable = '5.1'; $beta = '5.2'; $alpha = '5.3'; $languageList = ''; $versionList = ''; foreach ($editions as $_language => $versions) { switch ($_language) { case 'de': $_languageName = 'German'; break; case 'en': $_languageName = 'English'; break; case 'fr': $_languageName = 'French'; break; case 'ja': $_languageName = 'Japanese'; break; case 'pt_br': $_languageName = 'Brazilian Portuguese'; break; case 'zh_cn': $_languageName = 'Simplified Chinese'; break; } $languageList .= sprintf('<li%s><a href="../%s/index.html">%s</a></li>', $language == $_language ? ' class="active"' : '', $_language, $_languageName); } $versions = $editions[array_key_exists($language, $editions) ? $language : 'en']; foreach ($versions as $_version) { if ($_version == $old) { $type = 'old'; } if ($_version == $stable) { $type = '<strong>stable</strong>'; } if ($_version == $beta) { $type = 'beta'; } if ($_version == $alpha) { $type = 'alpha'; } $versionList .= sprintf('<li%s><a href="../../%s/%s/index.html">%s (%s)</a></li>', $version == $_version ? ' class="active"' : '', $_version, $language, $_version, $type); } foreach (new HTMLFilterIterator(new DirectoryIterator($directory)) as $file) { webify_file($file->getPathName(), $toc, $languageList, $versionList, $language, $version); } }