mirror of
https://github.com/jimeh/dlist.git
synced 2026-02-18 23:46:39 +00:00
dList v2.2.3 beta
- started keeping track of version numbers properly - added finnish translation - edited multiple things in simple template - added file/folder hiding by the use of regular expressions - updated most main parts of dlist git-svn-id: file:///Users/jimeh/Desktop/dlist/trunk@19 a5845835-ea0f-0410-a762-dd0bfe9bfde8
This commit is contained in:
25
config.php
25
config.php
@@ -15,10 +15,16 @@ $config = array(
|
||||
# leave blank to autodetect from $_SERVER['SCRIPT_NAME']
|
||||
'dlist_url' => '',
|
||||
|
||||
# show debug messages, for exechandler to always re-parse all files
|
||||
# if dlist is accessable from multiple urls (installed in /dev/dlist/,
|
||||
# but also accessable via /dlist/ thanks to an alias) please specify
|
||||
# the real path(s) here as array keys
|
||||
'alt_urls' => array('/dev/dlist'),
|
||||
|
||||
# show debug messages, exechandler to always re-parse all files
|
||||
'debug' => true,
|
||||
|
||||
# by default dList will sort by this
|
||||
# by default dList will sort by this, for more details,
|
||||
# check the dirlist function in libs/dirlist.lib.php
|
||||
'default_sort' => 'name',
|
||||
|
||||
|
||||
@@ -27,8 +33,12 @@ $config = array(
|
||||
# show hidden files & folders who's names begin with . (dot)
|
||||
'show_hidden' => false,
|
||||
|
||||
# use regular expressions to filter out specific files and folders from
|
||||
# being displayed, and browseable
|
||||
'filter_out' => array(),
|
||||
|
||||
# what info to show for each file/folder in details view, valid values are:
|
||||
# name, size, mtime, perms, chmod, owner, ownerid, group, groupid, ext
|
||||
# name, size, mtime, atime, perms, chmod, owner, ownerid, group, groupid, ext
|
||||
# (must at least contain "name" for basic directory listing functionality)
|
||||
'fields' => 'name,size,mtime,perms,owner',
|
||||
|
||||
@@ -38,12 +48,15 @@ $config = array(
|
||||
# dList will default to english.
|
||||
'language' => 'english',
|
||||
|
||||
# name of the cookie dList will check for language settings per user
|
||||
'lang_cookie' => 'dList_language',
|
||||
# show thumbnails for JPEG and PNG images?
|
||||
'thumbnails' => true,
|
||||
|
||||
# Smart Date shows relative time stamps ("Yesterday, 09:34") when applicable
|
||||
'smartdate' => true,
|
||||
|
||||
# name of the cookie dList will check for language settings per user
|
||||
'lang_cookie' => 'dList_language',
|
||||
|
||||
|
||||
// Template & Icon settings
|
||||
|
||||
@@ -59,7 +72,7 @@ $config = array(
|
||||
'path_plugins' => array('plugins'),
|
||||
'path_cache' => 'cache',
|
||||
|
||||
'req_lang_ver' => '1.0.5',
|
||||
'req_lang_ver' => '1.0.7',
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -52,8 +52,10 @@ $do_sort_reverse = false;
|
||||
|
||||
//>Section> do_readdir
|
||||
if ( $do_readdir ) {
|
||||
|
||||
//>Section> readdir.start
|
||||
$dlist = new dirList();
|
||||
|
||||
//>Section> readdir.options
|
||||
if ( $do_sort_items ) {
|
||||
$dlist->sort_by = $do_sort_by;
|
||||
@@ -61,9 +63,20 @@ if ( $do_readdir ) {
|
||||
} else $dlist->sort_items = false;
|
||||
if ($config->show_hidden) $dlist->show_hidden = true;
|
||||
if ( !$config->smartdate ) $dlist->use_smartdate = false;
|
||||
$dlist->dir_url = DIR_URL;
|
||||
|
||||
//>Section> readdir.filter_out
|
||||
if ( !empty($config->filter_out) ) $dlist->filter_out = '/'.implode('|', $config->filter_out).'/i';
|
||||
|
||||
//>Section> readdir.hide_self
|
||||
$alt_string = ( empty($config->alt_urls) ) ? '' : '|^'.str_replace('/', '\/', implode('$|^', $config->alt_urls)).'$' ;
|
||||
$dlist->hide_self = '/^'.str_replace('/', '\/', DLIST_URL).'$'.$alt_string.'/i';
|
||||
|
||||
//>Section> readdir.read
|
||||
$dlist->read(DIR_PATH);
|
||||
|
||||
//>Section> do_readdir.end
|
||||
|
||||
}
|
||||
|
||||
//==========================
|
||||
@@ -72,6 +85,5 @@ if ( $do_readdir ) {
|
||||
|
||||
|
||||
|
||||
|
||||
//_END;
|
||||
?>
|
||||
@@ -34,8 +34,8 @@ class Icon {
|
||||
$icons_path = ICONS_PATH.$size.'/';
|
||||
$icons_url = ICONS_URL.$size.'/';
|
||||
if ( $type == 'file' ) {
|
||||
if ( preg_match("/jpg|jpeg|png/", $ext) && $thumbnail ) {
|
||||
return DLIST_URL.'thumb.php?src='.urlencode(DIR_URL.$file).'&w=48&h=48';
|
||||
if ( preg_match("/jpg|jpeg|jpe|png/i", $ext) && $thumbnail && $config->thumbnails ) {
|
||||
return DLIST_URL.'thumb.php?src='.rawurlencode(DIR_URL.$file).'&w=48&h=48';
|
||||
} elseif ( file_exists($icons_path.$ext.$config->icons_ext) ) {
|
||||
return $icons_url.$ext.$config->icons_ext;
|
||||
} else {
|
||||
|
||||
@@ -49,6 +49,7 @@ foreach( $language_files as $key => $value ) {
|
||||
if ( !isset($local_names[$language]) ) {
|
||||
execHandler::write2file($config->path_cache.'/local_names.ini', "\n".$language.'='.$lang->_language, 'at');
|
||||
}
|
||||
// sort($installed_languages);
|
||||
|
||||
//>Section> warning:10
|
||||
if ( $lang->_version < $config->req_lang_ver ) {
|
||||
@@ -79,12 +80,18 @@ define('LANG_VER', $lang->_version);
|
||||
|
||||
|
||||
//>After> core.readdir.options
|
||||
//TODO add date formatting options to language files
|
||||
$dlist->lang_tomorrow = $lang->sd_tomorrow;
|
||||
$dlist->lang_today = $lang->sd_today;
|
||||
$dlist->lang_yesterday = $lang->sd_yesterday;
|
||||
$dlist->lang_2_days_ago = $lang->sd_2_days_ago;
|
||||
$dlist->lang_3_days_ago = $lang->sd_3_days_ago;
|
||||
|
||||
if ( !empty($lang->standard_date_format) ) $dlist->standard_date_format = $lang->standard_date_format;
|
||||
if ( !empty($lang->sd_format) ) $dlist->smartdate = $lang->sd_format;
|
||||
if ( !empty($lang->sd_date) ) $dlist->smartdate_date = $lang->sd_date;
|
||||
if ( !empty($lang->sd_time) ) $dlist->smartdate_time = $lang->sd_time;
|
||||
|
||||
|
||||
|
||||
//_END;
|
||||
|
||||
@@ -38,6 +38,45 @@ class Path {
|
||||
} else return false;
|
||||
}
|
||||
|
||||
//>Section> path.stats
|
||||
function stats ($files=0, $folders=0, $totalsize=false) {
|
||||
global $lang;
|
||||
if ( !empty($folders) ) {
|
||||
$r_folders = ( $folders > 1 ) ? str_replace('%n', $folders, $lang->stats_folders) : str_replace('%n', $folders, $lang->stats_folder) ;
|
||||
}
|
||||
if ( !empty($files) ) {
|
||||
$r_files = ( $files > 1 ) ? str_replace('%n', $files, $lang->stats_files) : str_replace('%n', $files, $lang->stats_file) ;
|
||||
if ( !empty($totalsize) ) {
|
||||
$r_files = str_replace('%f', $r_files, $lang->stats_totalsize);
|
||||
$r_files = str_replace('%s', $totalsize, $r_files);
|
||||
}
|
||||
}
|
||||
if ( !empty($r_folders) && !empty($r_files) ) {
|
||||
$return = str_replace('%d', $r_folders, $lang->stats_template);
|
||||
return str_replace('%f', $r_files, $return);
|
||||
} elseif ( !empty($r_folders) ) {
|
||||
return $r_folders;
|
||||
} elseif ( !empty($r_files) ) {
|
||||
return $r_files;
|
||||
}
|
||||
}
|
||||
|
||||
//>Section> path_wordwrap
|
||||
function wordbreak ($input, $length, $break=" ") {
|
||||
if (preg_match("/(.*)\.(.*)/", $input, $preg) ) {
|
||||
$words = explode(' ', $preg[1]);
|
||||
$ext = '.'.$preg[2];
|
||||
} else {
|
||||
$words = explode(' ', $input);
|
||||
$ext = '';
|
||||
}
|
||||
|
||||
foreach( $words as $key => $value ) {
|
||||
$words[$key] = wordwrap($value, $length, $break, 1);
|
||||
}
|
||||
return implode(' ', $words).$ext;
|
||||
}
|
||||
|
||||
//>Section> path_class.end
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/*
|
||||
|
||||
dList v2.2.0 beta
|
||||
dList v2.2.3 beta
|
||||
|
||||
Copyright © 2006 Jim Myhrberg. All rights reserved.
|
||||
zynode@gmail.com
|
||||
@@ -51,7 +51,7 @@ $exec->addPath(
|
||||
)
|
||||
);
|
||||
foreach( $config->path_plugins as $key => $value ) {
|
||||
$exec->addPath($value.'/*.exc.php');
|
||||
$exec->addPath($value.'/*.exec.php');
|
||||
}
|
||||
$exec->cache();
|
||||
include($exec->include_file);
|
||||
|
||||
@@ -4,7 +4,7 @@ class lang {
|
||||
|
||||
// Language settings
|
||||
var $_language = 'english'; // local language name ("svenska" for swedish)...
|
||||
var $_version = '1.0.5';
|
||||
var $_version = '1.0.7';
|
||||
|
||||
|
||||
// Locale settings
|
||||
@@ -28,14 +28,32 @@ class lang {
|
||||
var $type = 'Type';
|
||||
var $ext = 'Extension';
|
||||
|
||||
var $timer_string = 'Page generated in %s seconds';
|
||||
|
||||
var $icons = 'Icons';
|
||||
var $details = 'Details';
|
||||
|
||||
var $timer_string = 'Page generated in %s seconds'; // %s = seconds
|
||||
|
||||
var $powered_by = 'Powered by dList';
|
||||
|
||||
|
||||
// Statistics
|
||||
var $stats_folder = '%n folder';
|
||||
var $stats_folders = '%n folders';
|
||||
var $stats_file = '%n file';
|
||||
var $stats_files = '%n files';
|
||||
var $stats_totalsize = '%s in %f'; // %s = size, %f = number of files
|
||||
var $stats_template = '%d, %f'; // %d = folders, %f = files
|
||||
|
||||
|
||||
// Date Formatting
|
||||
# check the PHP Manual for strftime() for details (http://www.php.net/manual/)
|
||||
var $standard_date_format = '%B %e, %Y, %H:%M';
|
||||
# Smart Date formatting
|
||||
var $sd_format = '{date}, {time}';
|
||||
var $sd_date = '%B %e, %Y';
|
||||
var $sd_time = '%H:%M';
|
||||
|
||||
|
||||
// Smart Date
|
||||
var $sd_tomorrow = 'Tomorrow';
|
||||
var $sd_today = 'Today';
|
||||
|
||||
73
languages/finnish.lang.php
Normal file
73
languages/finnish.lang.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
class lang {
|
||||
|
||||
/*
|
||||
|
||||
Finnish translation by Eric Hartin (a.k.a. Fraeon).
|
||||
http://www.fraeport.net/
|
||||
|
||||
*/
|
||||
|
||||
// Language settings
|
||||
var $_language = 'suomi'; // local language name ("svenska" for swedish)...
|
||||
var $_version = '1.0.7';
|
||||
|
||||
|
||||
// Locale settings
|
||||
var $_locale = array('fi', 'fi_FI');
|
||||
|
||||
|
||||
// General strings
|
||||
var $index_of = 'Hakemisto';
|
||||
var $parent_dir = 'Ylähakemisto';
|
||||
|
||||
var $name = 'Tiedostonimi';
|
||||
var $size = 'Koko';
|
||||
var $mtime = 'Viimeksi muokattu';
|
||||
var $atime = 'Viimeksi luettu';
|
||||
var $perms = 'Oikeudet';
|
||||
var $chmod = 'CHMOD';
|
||||
var $owner = 'Omistaja';
|
||||
var $group = 'Ryhmä';
|
||||
var $owner_id = 'Omistajan ID';
|
||||
var $group_id = 'Ryhmän ID';
|
||||
var $type = 'Tyyppi';
|
||||
var $ext = 'Pääte';
|
||||
|
||||
var $icons = 'Kuvakkeet';
|
||||
var $details = 'Lisätietoa';
|
||||
|
||||
var $timer_string = 'Sivu on syljetty ulos %s:ssa sekunnissa';
|
||||
|
||||
var $powered_by = 'Tämä sivusto käyttää dListiä';
|
||||
|
||||
|
||||
// Statistics
|
||||
var $stats_folder = '%n hakemistoa';
|
||||
var $stats_folders = '%n hakemistot';
|
||||
var $stats_file = '%n tiedosto';
|
||||
var $stats_files = '%n tiedostoa';
|
||||
var $stats_totalsize = '%s, %f'; // %s = size, %f = number of files
|
||||
var $stats_template = '%d, %f'; // %d = folders, %f = files
|
||||
|
||||
|
||||
// Date Formatting
|
||||
# check the PHP Manual for strftime() for details (http://www.php.net/manual/)
|
||||
var $standard_date_format = '%B %e, %Y, %H:%M';
|
||||
# Smart Date formatting
|
||||
var $sd_format = '{date}, {time}';
|
||||
var $sd_date = '%B %e, %Y';
|
||||
var $sd_time = '%H:%M';
|
||||
|
||||
|
||||
// Smart Date
|
||||
var $sd_tomorrow = 'Huomenna';
|
||||
var $sd_today = 'Tänään';
|
||||
var $sd_yesterday = 'Eilen';
|
||||
var $sd_2_days_ago = 'Kaksi päivää sitten';
|
||||
var $sd_3_days_ago = 'Kolme päivää sitten';
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -4,7 +4,7 @@ class lang {
|
||||
|
||||
// Language settings
|
||||
var $_language = 'svenska'; // local language name ("svenska" for swedish)...
|
||||
var $_version = '1.0.5';
|
||||
var $_version = '1.0.7';
|
||||
|
||||
|
||||
// Locale settings
|
||||
@@ -12,30 +12,48 @@ class lang {
|
||||
|
||||
|
||||
// General
|
||||
var $index_of = 'Index av';
|
||||
var $index_of = 'Index av';
|
||||
var $parent_dir = 'Tidigare Mapp';
|
||||
|
||||
var $name = 'Namn';
|
||||
var $size = 'Storlek';
|
||||
var $mtime = 'Datum Ändrad';
|
||||
var $atime = 'Sisst Öppnad'; //FIXME possibly incorrect
|
||||
var $perms = 'Rättigheter';
|
||||
var $chmod = 'CHMOD';
|
||||
var $owner = 'Ägare';
|
||||
var $group = 'Grupp';
|
||||
var $name = 'Namn';
|
||||
var $size = 'Storlek';
|
||||
var $mtime = 'Datum Ändrad';
|
||||
var $atime = 'Sisst Öppnad'; //FIXME possibly incorrect
|
||||
var $perms = 'Rättigheter';
|
||||
var $chmod = 'CHMOD';
|
||||
var $owner = 'Ägare';
|
||||
var $group = 'Grupp';
|
||||
var $owner_id = 'Ägare ID';
|
||||
var $group_id = 'Grupp ID';
|
||||
var $type = 'Typ';
|
||||
var $ext = 'Ext'; //FIXME incorrect translation
|
||||
|
||||
var $timer_string = 'Sidan genererades på %s sekunder';
|
||||
|
||||
var $icons = 'Ikoner';
|
||||
var $details = 'Detaljer';
|
||||
|
||||
var $timer_string = 'Sidan genererades på %s sekunder'; // %s = seconds
|
||||
|
||||
var $powered_by = 'Driven av dList';
|
||||
|
||||
|
||||
// Statistics
|
||||
var $stats_folder = '%n mapp';
|
||||
var $stats_folders = '%n mappar';
|
||||
var $stats_file = '%n fil';
|
||||
var $stats_files = '%n filer';
|
||||
var $stats_totalsize = '%s i %f'; // %s = storlek, %f = antal filer
|
||||
var $stats_template = '%d, %f'; // %d = mappar, %f = filer
|
||||
|
||||
|
||||
// Date Formatting
|
||||
# check the PHP Manual for strftime() for details (http://www.php.net/manual/)
|
||||
var $standard_date_format = '%B %e, %Y, %H:%M';
|
||||
# Smart Date formatting
|
||||
var $sd_format = '{date}, {time}';
|
||||
var $sd_date = '%B %e, %Y';
|
||||
var $sd_time = '%H:%M';
|
||||
|
||||
|
||||
// Smart Date
|
||||
var $sd_tomorrow = 'Imorgon';
|
||||
var $sd_today = 'Idag';
|
||||
|
||||
@@ -4,18 +4,35 @@ class dirList {
|
||||
|
||||
/*
|
||||
|
||||
Class: dirList v2.0.7 beta
|
||||
Class: dirList v2.0.9 beta
|
||||
|
||||
Copyright © 2006 Jim Myhrberg. All rights reserved.
|
||||
zynode@gmail.com
|
||||
|
||||
*/
|
||||
|
||||
|
||||
// General settings
|
||||
var $sort_by = 'name';
|
||||
var $folders_first = true;
|
||||
var $show_hidden = false;
|
||||
|
||||
|
||||
// Filtering
|
||||
|
||||
# use regular expressions to match file & folders to hide
|
||||
# intended for dynamic changes from config files and more
|
||||
var $filter_out = '';
|
||||
|
||||
# used by filtering to match whole directory structures
|
||||
# but needs to be set manually for now.
|
||||
var $dir_url = '';
|
||||
|
||||
# regular expressions used to hide the script itself,
|
||||
# same as filter_out, but not intended to be modifed by
|
||||
# plugins and other means.
|
||||
var $hide_self = false;
|
||||
|
||||
|
||||
// Sorting
|
||||
var $sort_items = true;
|
||||
@@ -25,10 +42,10 @@ class dirList {
|
||||
|
||||
// Smart date formatting
|
||||
var $use_smartdate = true;
|
||||
var $standard_date_format = '%B %e, %Y, %H:%M';
|
||||
var $smartdate = '{date}, {time}';
|
||||
var $smartdate_date = '%B %e, %Y';
|
||||
var $smartdate_time = '%H:%M';
|
||||
var $standard_date_format = '%B %e, %Y, %H:%M';
|
||||
|
||||
|
||||
// Smart date language settings
|
||||
@@ -47,10 +64,10 @@ class dirList {
|
||||
var $stats_count = 0;
|
||||
var $stats_files = 0;
|
||||
var $stats_folders = 0;
|
||||
var $stats_totalsize = 0;
|
||||
var $stats_totalsize_raw = 0;
|
||||
var $stats_totalsize;
|
||||
|
||||
// Construtor - does nothing, but is here just
|
||||
// incase it might do something in the future...
|
||||
// Construtor
|
||||
function dirlist() {
|
||||
// sorting orders
|
||||
$this->sort_order = array(
|
||||
@@ -81,13 +98,12 @@ class dirList {
|
||||
if($dh = @opendir($dir)) {
|
||||
$this->parent = $this->getDetails($dir);
|
||||
while(false !== ($item = readdir($dh))) {
|
||||
$hidden_item = ( $this->show_hidden ) ? false : preg_match("/^\./", $item) ;
|
||||
if( ($item != '.' && $item != '..') && !$hidden_item ) {
|
||||
if( $this->show_item($item) ) {
|
||||
$item_details = $this->getDetails($dir.$item);
|
||||
// stats
|
||||
$this->stats_count++;
|
||||
if ( $item_details['type'] == 'file' ) {
|
||||
$this->stats_totalsize += $item_details['size_raw'];
|
||||
$this->stats_totalsize_raw += $item_details['size_raw'];
|
||||
$this->stats_files++;
|
||||
} else {
|
||||
$this->stats_folders++;
|
||||
@@ -99,7 +115,13 @@ class dirList {
|
||||
if ( $v == 'size' ) $v = 'size_raw';
|
||||
if ( $v == 'mtime' ) $v = 'mtime_raw';
|
||||
if ( $v == 'atime' ) $v = 'atime_raw';
|
||||
$list_key .= ( $v == 'size_raw' || $v == 'mtime' ) ? str_pad($item_details[$v], 28, '0', STR_PAD_LEFT).'|' : $item_details[$v].'|' ;
|
||||
if ( $v == 'name' ) {
|
||||
$list_key .= $this->process_filename_for_sorting($item_details[$v]).'|';
|
||||
} elseif ( $v == 'size_raw' || $v == 'mtime' || $v == 'atime' ) {
|
||||
$list_key .= str_pad($item_details[$v], 28, '0', STR_PAD_LEFT).'|';
|
||||
} else {
|
||||
$list_key .= $item_details[$v].'|';
|
||||
}
|
||||
}
|
||||
$this->list[strtolower($list_key)] = $item_details;
|
||||
} else {
|
||||
@@ -110,6 +132,7 @@ class dirList {
|
||||
if ( $this->sort_items ) {
|
||||
( $this->reverse ) ? krsort($this->list) : ksort($this->list) ;
|
||||
}
|
||||
$this->stats_totalsize = $this->format_filesize($this->stats_totalsize_raw);
|
||||
return true;
|
||||
}else{ $this->error = true; return false; }
|
||||
closedir($dh);
|
||||
@@ -120,6 +143,26 @@ class dirList {
|
||||
// ----- [ Internal Functions ] -----------------
|
||||
// ==============================================
|
||||
|
||||
function show_item ($item) {
|
||||
$hidden_item = ( $this->show_hidden ) ? false : preg_match("/^\./", $item) ;
|
||||
$filter_out = ( empty($this->filter_out) ) ? false : preg_match($this->filter_out, $this->dir_url.$item) ;
|
||||
$hide_self = ( empty($this->hide_self) ) ? false : preg_match($this->hide_self, $this->dir_url.$item) ;
|
||||
if ( $item != '.' && $item != '..' && !$hidden_item && !$filter_out && !$hide_self ) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
function process_filename_for_sorting ($input) {
|
||||
if ( preg_match_all("/(.*?)([0-9]+)/i", $input, $preg) ) {
|
||||
$foot = preg_replace("/^.*[0-9]+(\D*?)$/", "$1", $input);
|
||||
$newstring = '';
|
||||
foreach( $preg[1] as $key => $value ) {
|
||||
$newstring .= $value.str_pad($preg[2][$key], 6, '0', STR_PAD_LEFT);
|
||||
}
|
||||
return $newstring.$foot;
|
||||
}
|
||||
return $input;
|
||||
}
|
||||
|
||||
function getDetails ($item) {
|
||||
$item = str_replace("\\", '/', $item);
|
||||
$return['name'] = basename($item);
|
||||
|
||||
@@ -59,7 +59,7 @@ class imageThumb {
|
||||
}
|
||||
|
||||
function load ($file) {
|
||||
if ( is_readable($file) && preg_match("/.*\.(jpg|jpeg|png)/i", $file, $type) ) {
|
||||
if ( is_readable($file) && preg_match("/.*\.(jpg|jpeg|jpe|png)/i", $file, $type) ) {
|
||||
$this->type = $type = $type[1];
|
||||
$this->image = ( $type == 'png' ) ? imagecreatefrompng($file) : imagecreatefromjpeg($file) ;
|
||||
$this->src_file = $file;
|
||||
@@ -104,9 +104,9 @@ class imageThumb {
|
||||
function save_to_cache () {
|
||||
if ( !preg_match("/\/$/", $this->cache_dir) ) $this->cache_dir .= '/';
|
||||
if ( is_writable($this->cache_dir) ) {
|
||||
$filename = 'imgt_';
|
||||
$string = $this->src_file.$this->last_modified;
|
||||
if ( !empty($this->target_w) && !empty($this->target_h)) $string .= $this->target_w.$this->target_h;
|
||||
$filename = 'imgt_';
|
||||
$filename .= md5($string);
|
||||
$filename .= '.'.$this->type;
|
||||
if( !file_exists($filename) ) {
|
||||
@@ -121,16 +121,20 @@ class imageThumb {
|
||||
|
||||
function check_cache ($file, $target_w=null, $target_h=null) {
|
||||
if ( is_readable($file) ) {
|
||||
$ext = preg_replace("/.*\.(.*)/", "$1", $file);
|
||||
$filename = 'imgt_';
|
||||
preg_match("/(?:.*\/|)(.*?)\.(.*)/i", $file, $file_pieces);
|
||||
$ext = $file_pieces[2];
|
||||
$string = $file.filemtime($file);
|
||||
if ( !empty($target_w) && !empty($target_h) ) $string .= $target_w.$target_h;
|
||||
$filename = 'imgt_';
|
||||
$filename .= md5($string);
|
||||
$filename .= '.'.$ext;
|
||||
if ( is_readable($this->cache_dir.$filename) ) {
|
||||
//TODO possibly redirect instead of loading image in script
|
||||
// header('Location: '.dirname($_SERVER['SCRIPT_URL']).'/'.$this->cache_dir.$filename);
|
||||
// return true;
|
||||
( $ext == 'png' ) ? header('Content-type: image/png') : header('Content-type: image/jpeg');
|
||||
header('Content-disposition: image; filename="'.basename($this->src_file).'"');
|
||||
echo $this->rfile($this->cache_dir.$filename);
|
||||
header('Content-disposition: image; filename="'.$file_pieces[1].'_thumb.'.$file_pieces[2].'"');
|
||||
print($this->rfile($this->cache_dir.$filename));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<div id="stats"><?=Path::stats($dlist->stats_files, $dlist->stats_folders, $dlist->stats_totalsize)?></div>
|
||||
<table border="0" cellspacing="0" cellpadding="0" id="icons"><tr><td>
|
||||
<div id="sort-nav">
|
||||
<a href="<?=Sort::get_url('name')?>"<? if($current_sort == 'name'): ?> class="current"<? endif ?>><?=$lang->name?></a> |
|
||||
@@ -9,7 +10,7 @@
|
||||
<li><a href="../"><p class="icon"><img src="<?=Icon::get_parent('large')?>" alt="" /></p><p class="name">..</p><p class="info"><?=$lang->parent_dir?></p></a></li>
|
||||
<? endif ?>
|
||||
<? foreach ($dlist->list as $key => $item): $info = ($item['type'] == 'file') ? $item['size'] : $item['mtime'] ;?>
|
||||
<li><a href="<?=DIR_URL.$item['name']?><? if($item['type'] == 'dir') echo '/'; ?>"><p class="icon"><img src="<?=Icon::get_url($item['name'], 'large', $item['type'], true)?>" alt="" /></p><p class="name"><?=$item['name']?></p><p class="info"><?=$info?></p></a></li>
|
||||
<li><a href="<?=rawurlencode($item['name'])?><? if($item['type'] == 'dir') echo '/'; ?>"><p class="icon"><img src="<?=Icon::get_url($item['name'], 'large', $item['type'], true)?>" alt="" /></p><p class="name"><?=Path::wordbreak($item['name'], 16, "\n", 1)?></p><p class="info"><?=$info?></p></a></li>
|
||||
<? endforeach ?>
|
||||
</ul>
|
||||
</td></tr></table>
|
||||
@@ -4,8 +4,9 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
||||
<title><?=$lang->index_of.' '.DIR_URL?></title>
|
||||
<link rel="stylesheet" href="<?=TPL_URL?>stylesheets/css.php?src=screen.css&dir=<?=TPL_URL?>" type="text/css" media="screen" title="screen" charset="utf-8" />
|
||||
<script src="<?=TPL_URL?>javascripts/main.js" type="text/javascript" language="javascript" charset="utf-8"></script>
|
||||
<link rel="stylesheet" href="<?=TPL_URL?>stylesheets/screen.css.php?dir=<?=TPL_URL?>" type="text/css" media="screen" title="screen" charset="utf-8" />
|
||||
<!-- <script src="<?=TPL_URL?>javascripts/overlib_mini.js" type="text/javascript" language="javascript" charset="utf-8"></script> -->
|
||||
</head>
|
||||
<body id="index">
|
||||
<div id="header">
|
||||
@@ -18,9 +19,7 @@
|
||||
<div id="files">
|
||||
<? include(TPL_PATH.$config->tpl_mode) ?>
|
||||
</div>
|
||||
<div id="stats">
|
||||
<div id="timer"><?=$lang->powered_by?>. <?=$timer->end()?>.</div>
|
||||
<div id="lang-select"><? $n = 1; foreach ($installed_languages as $key => $value): ?><a href="javascript:;" onclick="set_lang('<?=$key?>')"><?=ucfirst($value)?></a><? if(count($installed_languages) > $n) echo ' | '; $n++; endforeach ?></div>
|
||||
</div>
|
||||
<div id="timer"><?=$lang->powered_by?>. <?=$timer->end()?>.</div>
|
||||
<div id="lang-select"><? $n = 1; foreach ($installed_languages as $key => $value): ?><a href="javascript:;" onclick="set_lang('<?=$key?>')"><?=ucfirst($value)?></a><? if(count($installed_languages) > $n) echo ' | '; $n++; endforeach ?></div>
|
||||
</body>
|
||||
</html>
|
||||
7
templates/simple/stylesheets/css.php
Normal file
7
templates/simple/stylesheets/css.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
header('Content-type: text/css;');
|
||||
$dir = ( empty($dir) && !empty($_REQUEST['dir']) ) ? $_REQUEST['dir'] : '' ;
|
||||
if ( !empty($_REQUEST['src']) && preg_match("/\.css$/", $_REQUEST['src']) ) include($_REQUEST['src']);
|
||||
|
||||
?>
|
||||
@@ -1,4 +1,3 @@
|
||||
<?php header('Content-type: text/css;'); ( empty($dir) && !empty($_REQUEST['dir']) ) ? $dir = $_REQUEST['dir'] : $dir = '' ; ?>
|
||||
BODY {
|
||||
background-color: #FFF;
|
||||
color: #000;
|
||||
@@ -7,6 +6,10 @@ BODY {
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
IMG {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
#header {
|
||||
font: 20px "Myriad Pro", "Trebuchet MS", Verdana, sans-serif;
|
||||
padding: 15px 15px 30px 30px;
|
||||
@@ -19,10 +22,22 @@ BODY {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#stats {
|
||||
color: #BBB;
|
||||
padding: 3px;
|
||||
/* font-style: italic;*/
|
||||
font-size: 9px;
|
||||
text-align: right;
|
||||
position: absolute;
|
||||
top: 97px;
|
||||
right: 30px;
|
||||
}
|
||||
|
||||
#files {
|
||||
|
||||
}
|
||||
/* <?=$dir?> */
|
||||
|
||||
|
||||
/* Details View (#list) */
|
||||
#list {
|
||||
background-color: #DDD;
|
||||
@@ -118,7 +133,7 @@ BODY {
|
||||
#icons LI {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 12px 12px 12px 12px;
|
||||
margin: 8px;
|
||||
width: 140px;
|
||||
height: 100px;
|
||||
text-align: center;
|
||||
@@ -174,10 +189,6 @@ BODY {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#stats {
|
||||
|
||||
}
|
||||
|
||||
#server-info {
|
||||
color: #999;
|
||||
padding: 3px;
|
||||
@@ -213,6 +224,3 @@ BODY {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user