Beispiel #1
0
function sfpg_get_dir($dir)
{
    global $dir_exclude, $file_exclude, $file_ext_exclude;
    $dirs = array();
    $dirs_time = array();
    $images = array();
    $images_time = array();
    $files = array();
    $files_time = array();
    $misc = array();
    $directory_handle = opendir(GALLERY_ROOT . $dir);
    if ($directory_handle != FALSE) {
        while (($var = readdir($directory_handle)) !== false) {
            if (is_dir(GALLERY_ROOT . $dir . $var)) {
                if ($var != '.' and $var != '..' and !in_array(strtolower($var), $dir_exclude) and !@preg_match(DIR_EXCLUDE_REGEX, $var)) {
                    $dirs[] = $var;
                    if (DIR_SORT_BY_TIME) {
                        $dirs_time[] = filemtime(GALLERY_ROOT . $dir . $var . '/.');
                    }
                }
            } elseif (sfpg_image_type($var)) {
                if ($var != DIR_IMAGE_FILE and !@preg_match(IMAGE_EXCLUDE_REGEX, $var)) {
                    if (DELETE_IMAGE_DAYS and filemtime(GALLERY_ROOT . $dir . $var) < time() - DELETE_IMAGE_DAYS * 86400) {
                        unlink(GALLERY_ROOT . $dir . $var);
                    } else {
                        $images[] = $var;
                        if (IMAGE_SORT_BY_TIME) {
                            $images_time[] = filemtime(GALLERY_ROOT . $dir . $var);
                        }
                    }
                }
            } elseif (SHOW_FILES) {
                if (!in_array(strtolower($var), $file_exclude) and !in_array(sfpg_ext($var), $file_ext_exclude) and !@preg_match(FILE_EXCLUDE_REGEX, $var)) {
                    $files[] = $var;
                    if (FILE_SORT_BY_TIME) {
                        $files_time[] = filemtime(GALLERY_ROOT . $dir . $var);
                    }
                }
            }
            if (sfpg_ext($var) == DESC_EXT or sfpg_ext($var) == PAYPAL_EXTENSION) {
                $misc[] = $var;
            }
        }
        if (SHOW_FILES) {
            foreach ($files as $val) {
                $fti = array_search($val . FILE_THUMB_EXT, $images);
                if ($fti !== FALSE) {
                    array_splice($images, $fti, 1);
                    array_splice($images_time, $fti, 1);
                }
            }
        }
        closedir($directory_handle);
        sfpg_array_sort($dirs, $dirs_time, DIR_SORT_BY_TIME, DIR_SORT_REVERSE);
        sfpg_array_sort($images, $images_time, IMAGE_SORT_BY_TIME, IMAGE_SORT_REVERSE);
        sfpg_array_sort($files, $files_time, FILE_SORT_BY_TIME, FILE_SORT_REVERSE);
        return array($dirs, $images, $files, $misc);
    } else {
        header('Location: ' . $_SERVER['PHP_SELF']);
        exit;
    }
}
Beispiel #2
0
function sfpg_get_dir($dir)
{
    global $dir_exclude, $file_exclude, $file_ext_exclude;
    $dirs = array();
    $dirs_time = array();
    $images = array();
    $images_time = array();
    $files = array();
    $files_time = array();
    $directory_handle = opendir(GALLERY_ROOT . $dir);
    if ($directory_handle != FALSE) {
        while ($var = readdir($directory_handle)) {
            if (is_dir(GALLERY_ROOT . $dir . $var)) {
                if ($var != "." and $var != ".." and !in_array(strtolower($var), $dir_exclude)) {
                    $dirs[] = $var;
                    if (DIR_SORT_BY_TIME) {
                        $dirs_time[] = filemtime(GALLERY_ROOT . $dir . $var . "/.");
                    }
                }
            } elseif (sfpg_image_type($var)) {
                if ($var != DIR_IMAGE_FILE) {
                    $images[] = $var;
                    if (IMAGE_SORT_BY_TIME) {
                        $images_time[] = filemtime(GALLERY_ROOT . $dir . $var);
                    }
                }
            } elseif (SHOW_FILES) {
                if (!in_array(strtolower($var), $file_exclude) and !(strrpos($var, ".") !== FALSE and in_array(sfpg_ext($var), $file_ext_exclude))) {
                    $files[] = $var;
                    if (FILE_SORT_BY_TIME) {
                        $files_time[] = filemtime(GALLERY_ROOT . $dir . $var);
                    }
                }
            }
        }
        if (SHOW_FILES) {
            foreach ($files as $val) {
                $fti = array_search($val . FILE_THUMB_EXT, $images);
                if ($fti !== FALSE) {
                    array_splice($images, $fti, 1);
                    array_splice($images_time, $fti, 1);
                }
            }
        }
        sfpg_array_sort($dirs, $dirs_time, DIR_SORT_BY_TIME, DIR_SORT_REVERSE);
        sfpg_array_sort($images, $images_time, IMAGE_SORT_BY_TIME, IMAGE_SORT_REVERSE);
        sfpg_array_sort($files, $files_time, FILE_SORT_BY_TIME, FILE_SORT_REVERSE);
        return array($dirs, $images, $files);
    } else {
        header("Location: " . $_SERVER["PHP_SELF"]);
        exit;
    }
}