Example #1
0
function Find_Files($Directory, $Recursive = true, $Recurred = false)
{
    global $MDR;
    $Files = array();
    foreach (glob($Directory . '/*.md') as $File) {
        if (strpos($File, '/_') === false) {
            $File = substr($File, 0, -3);
            if ($Recurred) {
                $URL = str_replace($Directory, '', $File);
            } else {
                $URL = str_replace($MDR['Root'], '', $File);
            }
            require_once $MDR['Core'] . '/function.url_to_title.php';
            $Files[$URL] = url_to_title(str_replace($Directory, '', $File));
        }
    }
    // FOREACHDIRECTORY
    // Search in ALL sub-directories.
    foreach (glob($Directory . '/*', GLOB_ONLYDIR) as $Sub) {
        // This is a recursive function.
        // Usually, THIS IS VERY BAD.
        // For searching recursively however,
        // it does make some sense.
        if (substr($Sub, -7) != '/assets' && strpos($Sub, '/_') === false) {
            if ($Recursive) {
                $Sub_Files = Find_Files($Sub, $Recursive, true);
            } else {
                $Sub_Files = array('__NON_RECURSIVE__' => '…');
            }
            $Sub = str_replace($MDR['Root'], '', $Sub);
            $Files[$Sub] = $Sub_Files;
        }
    }
    // FOREACHDIRECTORY
    return $Files;
}
Example #2
0
if (is_readable($Request['Directory']) || is_readable($Request['Markdown'])) {
    if (is_dir($Request['Directory'])) {
        // List pages
        // Header
        require_once $MDR['Core'] . '/function.url_to_title.php';
        $page['title'] = url_to_title(basename($Request['Directory']));
        include $Templates['Header'];
        echo '<div class="row docs-index">';
        require_once $MDR['Core'] . '/function.url_to_title.php';
        $Title = url_to_title($Request['Trimmed']);
        if (!empty($Title)) {
            echo '<h2>' . $Title . '</h2>';
        }
        // Find Suitable Files
        require_once $MDR['Core'] . '/function.find_files.php';
        $Files = Find_Files($Request['Directory']);
        ksort($Files);
        require_once $MDR['Core'] . '/function.title_files.php';
        $Files = Title_Files($Files);
        // List suitable files, or error accordingly.
        if (empty($Files)) {
            // Don't 404, because the directory does exist.
            echo '<h3>' . $Lang['en']['NO_FILES_IN_DIRECTORY'] . '</h3>';
        } else {
            require_once $MDR['Core'] . '/function.list_files.php';
            echo List_Files($Files);
        }
        // Footer
        echo '</div>';
        include $Templates['Footer'];
    } else {