Пример #1
0
function php_file_tree_dir($directory, $return_link, $extensions = array(), $first_call = true)
{
    // Recursive function called by php_file_tree() to list directories/files
    // Get and sort directories/files
    if (function_exists("scandir")) {
        $file = scandir($directory);
    } else {
        $file = php4_scandir($directory);
    }
    natcasesort($file);
    // Make directories first
    $files = $dirs = array();
    foreach ($file as $this_file) {
        if (is_dir("{$directory}/{$this_file}")) {
            $dirs[] = $this_file;
        } else {
            $files[] = $this_file;
        }
    }
    $file = array_merge($dirs, $files);
    // Filter unwanted extensions
    if (!empty($extensions)) {
        foreach (array_keys($file) as $key) {
            if (!is_dir("{$directory}/{$file[$key]}")) {
                $ext = substr($file[$key], strrpos($file[$key], ".") + 1);
                if (!in_array($ext, $extensions)) {
                    unset($file[$key]);
                }
            }
        }
    }
    if (count($file) > 2) {
        // Use 2 instead of 0 to account for . and .. "directories"
        $php_file_tree = "<ul";
        if ($first_call) {
            $php_file_tree .= " class=\"php-file-tree\"";
            $first_call = false;
        }
        $php_file_tree .= ">";
        foreach ($file as $this_file) {
            if ($this_file != "." && $this_file != "..") {
                if (is_dir("{$directory}/{$this_file}")) {
                    // Directory
                    $link = str_replace("[link]", "{$directory}/{$this_file}", $return_link);
                    $php_file_tree .= "<li class=\"pft-directory\"><input type='checkbox' id='test' name='test[]' value=\"{$link}\"><a href=/tests/gui//&quot;#/&quot;>{$this_file}</a>";
                    $php_file_tree .= php_file_tree_dir("{$directory}/{$this_file}", $return_link, $extensions, false);
                    $php_file_tree .= "</li>";
                } else {
                    // File
                    // Get extension (prepend 'ext-' to prevent invalid classes from extensions that begin with numbers)
                    $ext = "ext-" . substr($this_file, strrpos($this_file, ".") + 1);
                    $link = str_replace("[link]", "{$directory}/{$this_file}", $return_link);
                    $php_file_tree .= "<li class=\"pft-file " . strtolower($ext) . "\"><input type='checkbox' name='test[]' value=\"{$link}\">{$this_file}</a></li>";
                }
            }
        }
        $php_file_tree .= "</ul>";
    }
    return $php_file_tree;
}
Пример #2
0
/**
 * Recursive funciton to map a directory structure to 
 * an unordered list
 * 
 * @author http://goo.gl/Ft7m5 
 **/
function php_file_tree_dir($directory, $return_link, $first_call = true)
{
    // Recursive function called by php_file_tree() to list directories/files
    $php_file_tree = '';
    // Get and sort directories/files
    $file = scandir($directory);
    natcasesort($file);
    // Make directories first
    $files = $dirs = array();
    foreach ($file as $this_file) {
        if (is_dir("{$directory}/{$this_file}")) {
            $dirs[] = $this_file;
        } else {
            $files[] = $this_file;
        }
    }
    $file = array_merge($dirs, $files);
    // Use 2 instead of 0 to account for . and .. "directories"
    if (count($file) > 2) {
        $php_file_tree = "<ul";
        if ($first_call) {
            $php_file_tree .= " class=\"php-file-tree\"";
            $first_call = false;
        }
        $php_file_tree .= ">";
        foreach ($file as $this_file) {
            if ($this_file != "." && $this_file != "..") {
                if (is_dir("{$directory}/{$this_file}")) {
                    // Directory
                    $php_file_tree .= "<li class=\"pft-directory\"><a href=\"#\">" . htmlspecialchars($this_file) . "</a>";
                    $php_file_tree .= php_file_tree_dir("{$directory}/{$this_file}", $return_link, false);
                    $php_file_tree .= "</li>";
                } else {
                    // Get extension
                    // (prepend 'ext-' to prevent invalid classes from
                    // extensions that begin with numbers)
                    $ext = "ext-" . substr($this_file, strrpos($this_file, ".") + 1);
                    $link = str_replace("[link]", "{$directory}/" . urlencode($this_file), $return_link);
                    $php_file_tree .= "<li class=\"pft-file " . strtolower($ext) . "\"><a href=\"{$link}\">" . htmlspecialchars($this_file) . "</a></li>";
                }
            }
        }
        $php_file_tree .= "</ul>";
    }
    return $php_file_tree;
}
Пример #3
0
function php_file_tree_dir($directory, $return_link, $extensions = array(), $first_call = true)
{
    # Recursive function called by php_file_tree() to list directories/files
    # Get and sort directories/files
    if (function_exists("scandir")) {
        $file = scandir($directory);
    } else {
        $file = php4_scandir($directory);
    }
    natcasesort($file);
    # Make directories first
    $files = $dirs = array();
    foreach ($file as $this_file) {
        if (is_dir("{$directory}/{$this_file}")) {
            $dirs[] = $this_file;
        } else {
            $files[] = $this_file;
        }
    }
    #unset($dirs[$key = array_search('images', $dirs)]);
    $file = array_merge($dirs, $files);
    # Filter unwanted extensions
    if (!empty($extensions)) {
        foreach (array_keys($file) as $key) {
            if (!is_dir("{$directory}/{$file[$key]}")) {
                $ext = substr($file[$key], strrpos($file[$key], ".") + 1);
                if (!in_array($ext, $extensions)) {
                    unset($file[$key]);
                }
            }
        }
    }
    $theme_file_tree = "";
    if (count($file) > 2) {
        # Use 2 instead of 0 to account for . and .. "directories"
        $theme_file_tree = "<ul";
        if ($first_call) {
            $theme_file_tree .= " class=\"theme-file-tree\"";
            $first_call = false;
        }
        $theme_file_tree .= ">";
        foreach ($file as $this_file) {
            if ($this_file != "." && $this_file != "..") {
                if (is_dir("{$directory}/{$this_file}")) {
                    # Directory
                    $theme_file_tree .= "<li class=\"pft-dir\"><a href=\"#\">" . htmlspecialchars($this_file) . "</a>";
                    $theme_file_tree .= php_file_tree_dir("{$directory}/{$this_file}", $return_link, $extensions, false);
                    $theme_file_tree .= "</li>";
                } else {
                    # File - Get extension (prepend 'ext-' to prevent invalid classes from extensions that begin with numbers)
                    # $ext = "ext-" . substr($this_file, strrpos($this_file, ".") + 1);
                    $theme = Config::current()->theme;
                    $len = strlen($theme);
                    $dir = substr(stristr($directory, $theme . "/"), $len);
                    $link = str_replace("[link]", "{$dir}/" . urlencode($this_file), $return_link);
                    $theme_file_tree .= "<li class=\"pft-file\"><em><a href=\"{$link}\">" . htmlspecialchars($this_file) . "</a></em></li>";
                }
            }
        }
        $theme_file_tree .= "</ul>";
    }
    return $theme_file_tree;
}
Пример #4
0
function php_file_tree_dir($directory, $return_link, $extensions = array(), $first_call = true)
{
    global $i;
    // Recursive function called by php_file_tree() to list directories/files
    $php_file_tree = '';
    // Get and sort directories/files
    if (function_exists("scandir")) {
        $file = @scandir($directory);
    } else {
        $file = @php4_scandir($directory);
    }
    @natcasesort($file);
    // Make directories first
    $files = $dirs = array();
    if (is_array($file) || is_object($file)) {
        foreach ($file as $this_file) {
            if (is_dir("{$directory}/{$this_file}")) {
                $dirs[] = $this_file;
            } else {
                $files[] = $this_file;
            }
        }
    }
    $file = array_merge($dirs, $files);
    // Filter unwanted extensions
    if (!empty($extensions)) {
        foreach (array_keys($file) as $key) {
            if (!is_dir("{$directory}/{$file[$key]}")) {
                $ext = substr($file[$key], strrpos($file[$key], ".") + 1);
                if (!in_array($ext, $extensions)) {
                    unset($file[$key]);
                }
            }
        }
    }
    if (count($file) > 2) {
        // Use 2 instead of 0 to account for . and .. "directories"
        $php_file_tree = "<ul";
        if ($first_call) {
            $php_file_tree .= " class=\"php-file-tree\"";
            $first_call = false;
        }
        $php_file_tree .= ">";
        foreach ($file as $this_file) {
            if ($this_file != "." && $this_file != "..") {
                if (is_dir("{$directory}/{$this_file}")) {
                    // Directory
                    $php_file_tree .= "<li class=\"pft-directory\"><a href=\"#\">" . htmlspecialchars($this_file) . "</a>";
                    $php_file_tree .= php_file_tree_dir("{$directory}/{$this_file}", $return_link, $extensions, false);
                    $php_file_tree .= "</li>";
                } else {
                    // File
                    // Get extension (prepend 'ext-' to prevent invalid classes from extensions that begin with numbers)
                    $i++;
                    $ext = "ext-" . substr($this_file, strrpos($this_file, ".") + 1);
                    $link = str_replace("[link]", "{$directory}/" . urlencode($this_file), $return_link);
                    $link = str_replace("[id]", $i, $link);
                    $php_file_tree .= "<li class=\"pft-file " . strtolower($ext) . "\"><a class='FileTree' id='FileTreeId_" . $i . "' href=\"{$link}\">" . htmlspecialchars($this_file) . "</a></li>";
                }
            }
        }
        $php_file_tree .= "</ul>";
    }
    return $php_file_tree;
}
Пример #5
0
function php_file_tree_dir($directory, $return_link, $extensions = array(), $first_call = true)
{
    // Recursive function called by php_file_tree() to list directories/files
    // Get and sort directories/files
    if (function_exists("scandir")) {
        $file = scandir($directory);
    } else {
        $file = php4_scandir($directory);
    }
    natcasesort($file);
    // Make directories first
    $files = $dirs = array();
    foreach ($file as $this_file) {
        if (is_dir("{$directory}/{$this_file}")) {
            $dirs[] = $this_file;
        } else {
            $files[] = $this_file;
        }
    }
    $file = array_merge($dirs, $files);
    // Filter unwanted extensions
    if (!empty($extensions)) {
        foreach (array_keys($file) as $key) {
            if (!is_dir("{$directory}/{$file[$key]}")) {
                $ext = substr($file[$key], strrpos($file[$key], ".") + 1);
                if (!in_array($ext, $extensions)) {
                    unset($file[$key]);
                }
            }
        }
    }
    if (count($file) > 2) {
        // Use 2 instead of 0 to account for . and .. "directories"
        $php_file_tree = "<ul id='tree-theme'";
        if ($first_call) {
            $php_file_tree .= " class=\"php-file-tree\"";
            $first_call = false;
        }
        $php_file_tree .= ">";
        foreach ($file as $this_file) {
            $files = htmlspecialchars($this_file);
            if ($this_file != "." && $this_file != "..") {
                if (is_dir("{$directory}/{$this_file}")) {
                    // Directory
                    $php_file_tree .= "<li class=\"pft-directory\"><a href=\"#\">" . htmlspecialchars($this_file) . "</a>";
                    $php_file_tree .= php_file_tree_dir("{$directory}/{$this_file}", $return_link, $extensions, false);
                    $php_file_tree .= "</li>";
                } else {
                    if ($files != 'spot_position.php' and $files != 'spot_position.gif' and $files != 'theme_details.php' and $files != 'theme_image.gif' and $files != 'theme_image.jpg' and $files != 'theme_image.png' and $files != 'theme_details.jpg' and $files != 'Thumbs.db' and $files != 'theme_details.png' and $files != 'index.html') {
                        // File
                        // Get extension (prepend 'ext-' to prevent invalid classes from extensions that begin with numbers)
                        $ext = "ext-" . substr($this_file, strrpos($this_file, ".") + 1);
                        $link = str_replace("[link]", "{$directory}/" . urlencode($this_file), $return_link);
                        $php_file_tree .= "<li class=\"pft-file " . strtolower($ext) . "\"><a class=\"thmfile\" src=\"{$directory}\" style=\"cursor : pointer;\" >" . htmlspecialchars($this_file) . "</a></li>";
                    }
                }
            }
        }
        $php_file_tree .= "</ul>";
    }
    return $php_file_tree;
}
Пример #6
0
function php_file_tree_dir($directory, $return_link, $whole, $extensions = array(), $ignored_files = array(), $call_level = 0)
{
    global $main_folder, $default_content;
    $php_file_tree = '';
    $page = isset($_GET['p']) ? $_GET['p'] : $default_content;
    // Show only entries related to current path (one level more)
    if ($whole == false && should_hide($directory, $page, $call_level)) {
        return "";
    }
    // Get and sort directories/files
    if (function_exists("scandir")) {
        $file = scandir($directory);
    } else {
        $file = php4_scandir($directory);
    }
    natcasesort($file);
    // Purge unwanted / unneeded elements from the scanned array
    foreach (array_keys($file) as $key) {
        // Filter unwanted extensions
        if (!empty($extensions)) {
            if (!is_dir("{$directory}/{$file[$key]}")) {
                $ext = substr($file[$key], strrpos($file[$key], ".") + 1);
                if (!in_array($ext, $extensions)) {
                    unset($file[$key]);
                    continue;
                }
            }
        }
        // Filter unwanted files (array)
        if (!empty($ignored_files)) {
            if (in_array($file[$key], $ignored_files)) {
                unset($file[$key]);
                continue;
            }
        }
        // Filter unwanted files (filename)
        if (substr($file[$key], 0, 1) == "_") {
            unset($file[$key]);
            continue;
        }
    }
    if (count($file) > 0) {
        $php_file_tree = "<ul>";
        foreach ($file as $this_file) {
            if ($this_file[0] != ".") {
                $link = str_replace("[link]", "{$directory}/" . urlencode(pathinfo($this_file, PATHINFO_FILENAME)), $return_link);
                $link = str_replace($main_folder, "", $link);
                $menu_name = apply_menu_icon(htmlspecialchars(sanitize_entry($this_file)));
                if (is_dir("{$directory}/{$this_file}")) {
                    // Directory
                    $php_file_tree .= "<li><a href=\"{$link}\">" . $menu_name . "</a>";
                    $php_file_tree .= php_file_tree_dir("{$directory}/{$this_file}", $return_link, $whole, $extensions, $ignored_files, $call_level + 1);
                    $php_file_tree .= "</li>";
                } else {
                    // File
                    $php_file_tree .= "<li><a href=\"{$link}\">" . $menu_name . "</a></li>";
                }
            }
        }
        $php_file_tree .= "</ul>";
    }
    return $php_file_tree;
}
Пример #7
0
function php_file_tree_dir($directory, $return_link, $extensions = array(), $chkOn, $first_call = true)
{
    // Recursive function called by php_file_tree() to list directories/files
    // Get and sort directories/files
    if (function_exists("scandir")) {
        $file = scandir($directory);
    } else {
        $file = php4_scandir($directory);
    }
    natcasesort($file);
    // Make directories first
    $files = $dirs = array();
    foreach ($file as $this_file) {
        if (is_dir("{$directory}/{$this_file}")) {
            $dirs[] = $this_file;
        } else {
            $files[] = $this_file;
        }
    }
    array_sort_by_month($dirs);
    // rsort($dirs); // ss - reverse sort years/days, by most recent first
    // echo '<pre>';
    // print_r($dirs);
    $file = array_merge($dirs, $files);
    // var_dump($dirs);die();
    // Filter unwanted extensions
    if (!empty($extensions)) {
        foreach (array_keys($file) as $key) {
            if (!is_dir("{$directory}/{$file[$key]}")) {
                $ext = substr($file[$key], strrpos($file[$key], ".") + 1);
                if (!in_array($ext, $extensions)) {
                    unset($file[$key]);
                }
            }
        }
    }
    // SS - initialize $php_file_tree as appears to throw an error sometimes for unknown reason
    $php_file_tree = '';
    if (count($file) > 2) {
        // Use 2 instead of 0 to account for . and .. "directories"
        $php_file_tree = "<ul";
        if ($first_call) {
            $php_file_tree .= " class=\"php-file-tree\"";
            $first_call = false;
        }
        $php_file_tree .= ">";
        foreach ($file as $this_file) {
            if ($this_file != "." && $this_file != "..") {
                if (is_dir("{$directory}/{$this_file}")) {
                    // Directory
                    $php_file_tree .= "<li class=\"pft-directory\"><a href=\"#\">" . htmlspecialchars($this_file) . "</a>";
                    $php_file_tree .= php_file_tree_dir("{$directory}/{$this_file}", $return_link, $extensions, $chkOn, false);
                    $php_file_tree .= "</li>";
                } else {
                    // File
                    // Get extension (prepend 'ext-' to prevent invalid classes from extensions that begin with numbers)
                    $ext = "ext-" . substr($this_file, strrpos($this_file, ".") + 1);
                    $link = str_replace("[link]", "{$directory}/" . urlencode($this_file), $return_link);
                    if ($chkOn === true) {
                        // append checkbox
                        $php_file_tree .= "<li class=\"pft-file " . strtolower($ext) . "\"><input type=\"checkbox\" value=\"{$link}\" name=\"CheckBxFile\" id=\"CheckBxFile\"/>" . htmlspecialchars($this_file) . "</li>";
                    } else {
                        $php_file_tree .= "<li class=\"pft-file " . strtolower($ext) . "\"><a href=\"#noLink\" {$link}>" . htmlspecialchars($this_file) . "</a></li>";
                        // #noLink used in URL href to avoid when click on file that the page jumps to top
                    }
                }
            }
        }
        $php_file_tree .= "</ul>";
    }
    return $php_file_tree;
}
Пример #8
0
function php_file_tree_dir($directory, $first_call = true)
{
    $file = scandir($directory);
    natcasesort($file);
    $files = $dirs = array();
    $php_file_tree = "";
    foreach ($file as $this_file) {
        if (is_dir("{$directory}/{$this_file}")) {
            $dirs[] = $this_file;
        } else {
            $files[] = $this_file;
        }
    }
    $file = array_merge($dirs, $files);
    if (count($file) > 2) {
        $php_file_tree = "<ul";
        if ($first_call) {
            $php_file_tree .= " class=\"php-file-tree\"";
            $first_call = false;
        }
        $php_file_tree .= ">";
        foreach ($file as $this_file) {
            if ($this_file != "." && $this_file != "..") {
                if (is_dir("{$directory}/{$this_file}")) {
                    $php_file_tree .= "<li class=\"pft-directory\"><input type=\"checkbox\" name=\"pathChecked[]\" value=\"{$directory}/{$this_file}\"> <a href=\"#\"><strong>" . htmlspecialchars($this_file) . "</strong></a>";
                    $php_file_tree .= php_file_tree_dir("{$directory}/{$this_file}", false);
                    $php_file_tree .= "</li>";
                } else {
                    $php_file_tree .= "<li class=\"pft-file\"><input type=\"checkbox\" name=\"pathChecked[]\" value=\"{$directory}/{$this_file}\"> <strong>" . htmlspecialchars($this_file) . "</strong> (" . humanFileSize(filesize("{$directory}/{$this_file}")) . ")</li>";
                }
            }
        }
        $php_file_tree .= "</ul>";
    }
    return $php_file_tree;
}
Пример #9
0
                <p><a class="btn btn-success" href="purge.php">Back</a></p>
                </div>';
            break;
    }
} else {
    $topn = 50;
    echo '                <div id="purgeTree" style="display:none;">
                <form action="purge.php" method="post">
                <ul class="nav nav-tabs" role="tablist">
                        <li role="presentation" class="active"><a href="#whisper" aria-controls="whisper" role="tab" data-toggle="tab">Whisper repository</a></li>
                        <li role="presentation"><a href="#vcenter" aria-controls="vcenter" role="tab" data-toggle="tab">vCenter session files</a></li>
                        <li role="presentation"><a href="#oldies" aria-controls="oldies" role="tab" data-toggle="tab">Top ' . $topn . ' oldest whisper files</a></li>
                </ul>
                <div class="tab-content" style="padding-top: 10px;">
                        <div role="tabpanel" class="tab-pane fade in active" id="whisper">
                        ' . php_file_tree_dir("/var/lib/graphite/whisper") . '
                        </div>
                        <div role="tabpanel" class="tab-pane fade" id="vcenter">
                        ' . php_file_tree("/tmp", "dat") . '
                        </div>
                        <div role="tabpanel" class="tab-pane fade" id="oldies">
                        ' . php_file_tree_top_oldest("/var/lib/graphite/whisper", $topn) . '
                        </div>
                </div>
                <button name="submit" class="btn btn-danger" value="purge-files">Purge</button>
                </form>
                </div><br />
                <script type="text/javascript">
                        document.getElementById("purgeTree").style.display = "block";
                        document.getElementById("purgeLoading").style.display = "none";
                </script>';