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);
    }
}