mirror of
https://github.com/jimeh/dlist.git
synced 2026-02-19 07:56:41 +00:00
- made simple template almost feature complete by implementing view modes and more
- other general fixes to things a bit all over the place git-svn-id: file:///Users/jimeh/Desktop/dlist/trunk@12 a5845835-ea0f-0410-a762-dd0bfe9bfde8
This commit is contained in:
@@ -18,6 +18,9 @@ $config = array(
|
||||
# show debug messages, for exechandler to always re-parse all files
|
||||
'debug' => true,
|
||||
|
||||
# by default dList will sort by this
|
||||
'default_sort' => 'name',
|
||||
|
||||
|
||||
// File system settings
|
||||
|
||||
@@ -44,9 +47,11 @@ $config = array(
|
||||
// dList internal settings - don't change if you don't know what you're doing
|
||||
|
||||
'default_lang' => 'english',
|
||||
'default_locale' => array('en', 'en_US'),
|
||||
'default_locale' => array('eng', 'en_US'),
|
||||
'path_plugins' => array('plugins'),
|
||||
'path_cache' => 'cache',
|
||||
|
||||
'req_lang_ver' => '1.0.2',
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
Name: core
|
||||
Priority: 40
|
||||
Author: Jim Myhrberg
|
||||
Include: output.exc.php
|
||||
Include: output.exc.php, language.exc.php
|
||||
*/
|
||||
//_SCRIPT;
|
||||
|
||||
@@ -34,18 +34,14 @@ $_SERVER['SERVER_SIGNATURE'] = $serverinfo[1].'Port '.$_SERVER['SERVER_PORT'].$s
|
||||
//>Section> define_constants:30
|
||||
define('DIR_URL', $dir_url);
|
||||
define('DIR_PATH', $dir_path);
|
||||
define('QUERY_STRING', $query_string);
|
||||
|
||||
define('DLIST_URL', $config->dlist_url);
|
||||
define('TEMPLATE', $config->template);
|
||||
define('TPL_PATH', 'templates/'.TEMPLATE.'/');
|
||||
define('TPL_URL', DLIST_URL.TPL_PATH);
|
||||
|
||||
|
||||
//>Section> dynamic_vars
|
||||
$do_readdir = true;
|
||||
$do_render = true;
|
||||
$do_sort_items = true;
|
||||
$do_sort_by = $config->default_sort;
|
||||
$do_sort_reverse = false;
|
||||
|
||||
|
||||
@@ -54,19 +50,20 @@ $do_sort_reverse = false;
|
||||
//==========================
|
||||
|
||||
|
||||
//>Section> readdir
|
||||
//>Section> do_readdir
|
||||
if ( $do_readdir ) {
|
||||
//>Section> readdir.start
|
||||
$dlist = new dirList();
|
||||
//>Section> readdir.options
|
||||
if ( empty($do_sort_items) ) {
|
||||
$dlist->sort_items = false;
|
||||
} elseif (!empty($do_sort_reverse)) $dlist->reverse = true;
|
||||
if ( $do_sort_items ) {
|
||||
$dlist->sort_by = $do_sort_by;
|
||||
if ( $do_sort_reverse ) $dlist->reverse = true;
|
||||
} else $dlist->sort_items = false;
|
||||
if ($config->show_hidden) $dlist->show_hidden = true;
|
||||
if ( !$config->smartdate ) $dlist->use_smartdate = false;
|
||||
//>Section> readdir.read
|
||||
$dlist->read(DIR_PATH);
|
||||
//>Section> readdir.end
|
||||
//>Section> do_readdir.end
|
||||
}
|
||||
|
||||
//==========================
|
||||
@@ -74,8 +71,6 @@ if ( $do_readdir ) {
|
||||
//==========================
|
||||
|
||||
|
||||
//>Section> echo
|
||||
//print_r($dlist->list);
|
||||
|
||||
|
||||
//_END;
|
||||
|
||||
@@ -22,7 +22,6 @@ Author: Jim Myhrberg
|
||||
|
||||
//>Section> init:10
|
||||
if ( empty($config->language) ) $config->language = 'english';
|
||||
|
||||
if ( is_readable('languages/'.$config->language.'.lang.php') ) {
|
||||
include('languages/'.$config->language.'.lang.php');
|
||||
} elseif ( is_readable('languages/'.$config->default_lang.'.lang.php') ) {
|
||||
@@ -31,7 +30,22 @@ if ( is_readable('languages/'.$config->language.'.lang.php') ) {
|
||||
die("ERROR: Can't open language file.");
|
||||
}
|
||||
|
||||
|
||||
//>Section> create_object:10
|
||||
$lang = new lang();
|
||||
|
||||
|
||||
//>Section> warning:10
|
||||
if ( $lang->_version < $config->req_lang_ver ) {
|
||||
echo 'WARNING: '.ucfirst($config->language).' language file is out of date and not fully compatible with this version of dList.';
|
||||
}
|
||||
|
||||
|
||||
//>Section> timer_string:10
|
||||
if ( stristr($lang->timer_string, '%s') != false ) $timer->pattern = $lang->timer_string;
|
||||
|
||||
|
||||
//>Section> setlocale:10
|
||||
setlocale(LC_ALL, array_merge($lang->_locale, $config->default_locale));
|
||||
|
||||
|
||||
|
||||
@@ -15,11 +15,68 @@ Author: Jim Myhrberg
|
||||
*/
|
||||
//_SCRIPT;
|
||||
|
||||
//==========================
|
||||
//>STAGE> functions
|
||||
//==========================
|
||||
|
||||
|
||||
//>Section> sort_class.start
|
||||
class Sort {
|
||||
|
||||
//>Section> get_url
|
||||
function get_url ($sortby) {
|
||||
global $config;
|
||||
$return = array();
|
||||
$current_sort = ( empty($_REQUEST['sort']) ) ? $config->default_sort : $_REQUEST['sort'] ;
|
||||
|
||||
if ( $sortby == $current_sort ) {
|
||||
if ($sortby != $config->default_sort) $return[] = 'sort='.$sortby;
|
||||
if ( empty($_REQUEST['order']) || $_REQUEST['order'] != 'desc' ) {
|
||||
$return[] = 'order=desc';
|
||||
}
|
||||
} else {
|
||||
if ($sortby != $config->default_sort) {
|
||||
$return[] = 'sort='.$sortby;
|
||||
}
|
||||
}
|
||||
|
||||
if ( empty($return) ) {
|
||||
return DIR_URL;
|
||||
} else {
|
||||
$return = implode('&', $return);
|
||||
return '?'.$return;
|
||||
}
|
||||
}
|
||||
|
||||
//Section sort_class.end
|
||||
}
|
||||
|
||||
|
||||
//==========================
|
||||
//>STAGE> init
|
||||
//==========================
|
||||
|
||||
|
||||
//>After> core.define_constants:30
|
||||
define('TEMPLATE', $config->template);
|
||||
define('TPL_PATH', 'templates/'.TEMPLATE.'/');
|
||||
define('TPL_URL', DLIST_URL.TPL_PATH);
|
||||
define('SERVER_INFO', strip_tags($_SERVER['SERVER_SIGNATURE']));
|
||||
|
||||
//>After> core.dynamic_vars
|
||||
if ( !empty($_REQUEST['order']) && $_REQUEST['order'] == 'desc' ) $do_sort_reverse = true;
|
||||
if ( !empty($_REQUEST['sort']) ) $do_sort_by = $_REQUEST['sort'];
|
||||
$is_root = ( DIR_URL != '' && DIR_URL != '/' ) ? false : true;
|
||||
|
||||
|
||||
//==========================
|
||||
//>STAGE> main
|
||||
//==========================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//==========================
|
||||
//>STAGE> render
|
||||
//==========================
|
||||
|
||||
@@ -4,28 +4,30 @@ class lang {
|
||||
|
||||
// Language settings
|
||||
var $_language = 'english';
|
||||
var $_version = 1.0;
|
||||
var $_version = '1.0.3';
|
||||
|
||||
|
||||
// Locale settings
|
||||
var $_locale = array('en', 'en_US');
|
||||
var $_locale = array('eng', 'en_US');
|
||||
|
||||
|
||||
// General strings
|
||||
var $index_of = 'Index of';
|
||||
var $parent_dir = 'Parent Directory';
|
||||
|
||||
var $name = 'Name';
|
||||
var $size = 'Size';
|
||||
var $mtime = 'Date Modified';
|
||||
var $perms = 'Permissions';
|
||||
var $chmod = 'CHMOD';
|
||||
var $owner = 'Owner';
|
||||
var $group = 'Group';
|
||||
var $name = 'Name';
|
||||
var $size = 'Size';
|
||||
var $mtime = 'Date Modified';
|
||||
var $perms = 'Permissions';
|
||||
var $chmod = 'CHMOD';
|
||||
var $owner = 'Owner';
|
||||
var $group = 'Group';
|
||||
var $owner_id = 'Owner ID';
|
||||
var $group_id = 'Group ID';
|
||||
var $type = 'Type';
|
||||
var $ext = 'Extension';
|
||||
|
||||
var $page_generated = 'Page generated in';
|
||||
var $seconds = 'seconds';
|
||||
var $timer_string = 'Page generated in %s seconds';
|
||||
|
||||
|
||||
// Smart Date
|
||||
|
||||
@@ -4,15 +4,16 @@ class lang {
|
||||
|
||||
// Language settings
|
||||
var $_language = 'svenska';
|
||||
var $_version = 1.0;
|
||||
var $_version = '1.0.2';
|
||||
|
||||
|
||||
// Locale settings
|
||||
var $_locale = array('sv', 'sv_SV'); // incorrect
|
||||
|
||||
var $_locale = array('sve', 'sv_SE');
|
||||
|
||||
|
||||
// General
|
||||
var $index_of = 'Index av';
|
||||
var $parent_dir = 'Tidigare Mapp';
|
||||
|
||||
var $name = 'Namn';
|
||||
var $size = 'Storlek';
|
||||
@@ -23,9 +24,10 @@ class lang {
|
||||
var $group = 'Grupp';
|
||||
var $owner_id = 'Ägare ID';
|
||||
var $group_id = 'Grupp ID';
|
||||
var $type = 'Typ';
|
||||
var $ext = 'Ext'; // incorrect translation
|
||||
|
||||
var $page_generated = 'Sidan genererades på';
|
||||
var $seconds = 'sekunder';
|
||||
var $timer_string = 'Sidan genererades på %s sekunder';
|
||||
|
||||
|
||||
// Smart Date
|
||||
|
||||
@@ -33,12 +33,13 @@ class config {
|
||||
|
||||
// Parse settings from an array
|
||||
function parse_array ($input, $overwrite=true) {
|
||||
$pad = '';
|
||||
if ( is_array($input) ) {
|
||||
foreach( $input as $key => $value ) {
|
||||
if ( is_array($value) ) {
|
||||
if ( !empty($this->_config_pad) ) $key = $this->_config_pad.$key;
|
||||
foreach( $value as $k => $v ) {
|
||||
if ( ($empty = empty($this->$key)) || $overwrite ) {
|
||||
if ( !empty($this->_config_pad) ) $k = $this->_config_pad.$k;
|
||||
$this->$key = ( $empty ) ? array($k=>$v) : array_merge($this->$key, array($k=>$v)) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ class dirList {
|
||||
|
||||
/*
|
||||
|
||||
Class: dirList v2.0.4 beta
|
||||
Class: dirList v2.0.6 beta
|
||||
|
||||
Copyright © 2006 Jim Myhrberg. All rights reserved.
|
||||
zynode@gmail.com
|
||||
@@ -12,13 +12,16 @@ class dirList {
|
||||
*/
|
||||
|
||||
// General settings
|
||||
var $default_sort = 'name,mtime,size';
|
||||
var $sort_by = 'name';
|
||||
var $folders_first = true;
|
||||
var $show_hidden = false;
|
||||
|
||||
|
||||
// Sorting
|
||||
var $sort_items = true;
|
||||
var $reverse = false;
|
||||
var $sort_order = array();
|
||||
|
||||
|
||||
// Smart date formatting
|
||||
var $use_smartdate = true;
|
||||
@@ -27,13 +30,7 @@ class dirList {
|
||||
var $smartdate_time = '%H:%M';
|
||||
var $standard_date_format = '%B %d, %Y, %H:%M';
|
||||
|
||||
/*
|
||||
var $smartdate = '{date}, {time}';
|
||||
var $smartdate_date = 'F d, Y';
|
||||
var $smartdate_time = 'H:i';
|
||||
var $standard_date_format = 'F d, Y, H:i';
|
||||
*/
|
||||
|
||||
|
||||
// Smart date language settings
|
||||
var $lang_tomorrow = 'Tomorrow';
|
||||
var $lang_today = 'Today';
|
||||
@@ -46,7 +43,6 @@ class dirList {
|
||||
var $error = false;
|
||||
var $parent;
|
||||
var $list = array();
|
||||
var $sort_by = array();
|
||||
|
||||
var $stats_count = 0;
|
||||
var $stats_files = 0;
|
||||
@@ -56,6 +52,20 @@ class dirList {
|
||||
// Construtor - does nothing, but is here just
|
||||
// incase it might do something in the future...
|
||||
function dirlist() {
|
||||
// sorting orders
|
||||
$this->sort_order = array(
|
||||
'name' => 'name,mtime,size',
|
||||
'size' => 'size,name,mtime',
|
||||
'mtime' => 'mtime,name,size',
|
||||
'type' => 'type,name,size,mtime',
|
||||
'ext' => 'ext,name,size,mtime',
|
||||
'group' => 'group,name,size,mtime',
|
||||
'owner' => 'owner,name,size,mtime',
|
||||
'chmod' => 'chmod,name,size,mtime',
|
||||
'perms' => 'chmod,name,size,mtime',
|
||||
'groupid' => 'groupid,name,size,mtime',
|
||||
'ownerid' => 'ownerid,name,size,mtime',
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@@ -65,7 +75,8 @@ class dirList {
|
||||
|
||||
function read ($dir) {
|
||||
if(!preg_match("/\/$/", $dir)) $dir .= '/';
|
||||
$this->sort_by = explode(',', $this->default_sort);
|
||||
$sort_by = ( !empty($this->sort_order[$this->sort_by]) ) ? $this->sort_order[$this->sort_by] : $this->sort_order['name'] ;
|
||||
$sort_by = explode(',', $sort_by);
|
||||
if($dh = @opendir($dir)) {
|
||||
$this->parent = $this->getDetails($dir);
|
||||
while(false !== ($item = readdir($dh))) {
|
||||
@@ -83,7 +94,7 @@ class dirList {
|
||||
// sorting
|
||||
if ( $this->sort_items ) {
|
||||
$list_key = ( $this->folders_first ) ? $item_details['type'].'|' : '' ;
|
||||
foreach( $this->sort_by as $v ) {
|
||||
foreach( $sort_by as $v ) {
|
||||
if ( $v == 'size' ) $v = 'size_raw';
|
||||
if ( $v == 'mtime' ) $v = 'mtime_raw';
|
||||
$list_key .= ( $v == 'size_raw' || $v == 'mtime' ) ? str_pad($item_details[$v], 28, '0', STR_PAD_LEFT).'|' : $item_details[$v].'|' ;
|
||||
|
||||
@@ -4,7 +4,7 @@ class execHandler {
|
||||
|
||||
/*
|
||||
|
||||
Class: execHandler v0.7.4 beta
|
||||
Class: execHandler v0.7.5 beta
|
||||
|
||||
Copyright © 2006 Jim Myhrberg. All rights reserved.
|
||||
zynode@gmail.com
|
||||
@@ -43,7 +43,7 @@ class execHandler {
|
||||
// Debug?
|
||||
|
||||
var $debug = false;
|
||||
var $show_debug_msg = true;
|
||||
var $show_debug_msg = false;
|
||||
|
||||
|
||||
// Misc. Settings
|
||||
@@ -206,14 +206,16 @@ class execHandler {
|
||||
|
||||
function parse ($string, $file) {
|
||||
|
||||
// parse order statistics
|
||||
$this->parsing_order[] = $file;
|
||||
|
||||
// Filter Out Main Content
|
||||
$file_start = $this->addslashes($this->file_start);
|
||||
$code_delim = $this->addslashes($this->code_delim);
|
||||
$file_end = $this->addslashes($this->file_end);
|
||||
preg_match("/^".$file_start."$(.*)^".$code_delim."$(.*)^".$file_end."$/ims", $string, $code);
|
||||
if ( preg_match("/^".$file_start."$(.*)^".$code_delim."$(.*)^".$file_end."$/ims", $string, $code) ) {
|
||||
$this->parsing_order[] = $file;
|
||||
} else {
|
||||
$this->parsing_order[] = 'INVALID:'.$file;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Read Settings
|
||||
$settings = $this->read_file_settings($code[1], $file);
|
||||
|
||||
@@ -4,12 +4,13 @@ class speedometer {
|
||||
|
||||
/*
|
||||
|
||||
Class: Speedometer v0.1.1
|
||||
Class: Speedometer v0.2
|
||||
Created to simplify script execution statistics...
|
||||
|
||||
*/
|
||||
|
||||
var $digits = 6;
|
||||
var $pattern = '%s'; // must contain %s
|
||||
|
||||
var $start;
|
||||
var $time;
|
||||
@@ -19,7 +20,17 @@ class speedometer {
|
||||
$this->start = $this->getmicrotime();
|
||||
}
|
||||
|
||||
function end ($digits=false) {
|
||||
// return with pattern
|
||||
function end ($digits=false, $pattern=false) {
|
||||
$end = $this->getmicrotime();
|
||||
$digits = ( preg_match("/[0-9]{1,2}/", $digits) ) ? $digits : $this->digits ;
|
||||
$pattern = ( stristr($pattern, '%s') != false ) ? $pattern : $this->pattern ;
|
||||
$this->time = number_format( ($end - $this->start), $digits);
|
||||
return str_replace('%s', $this->time, $pattern);
|
||||
}
|
||||
|
||||
// return time only ignoring pattern
|
||||
function term ($digits=false) {
|
||||
$end = $this->getmicrotime();
|
||||
$digits = ( preg_match("/[0-9]{1,2}/", $digits) ) ? $digits : $this->digits ;
|
||||
return $this->time = number_format( ($end - $this->start), $digits);
|
||||
|
||||
@@ -17,10 +17,10 @@ $config['default_scheme'] = 'http';
|
||||
|
||||
// process requested path
|
||||
if ( preg_match("/^(.*?)\?(.*)$/i", $_SERVER['REQUEST_URI'], $dir_url) ) {
|
||||
$query_string = $dir_url[2];
|
||||
# $query_string = $dir_url[2];
|
||||
$dir_url = urldecode($dir_url[1]);
|
||||
} else {
|
||||
$query_string = '';
|
||||
# $query_string = '';
|
||||
$dir_url = urldecode($_SERVER['REQUEST_URI']);
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ if ( !empty($redirect) ) {
|
||||
$scheme = parse_url($_SERVER['SCRIPT_URI']);
|
||||
$scheme = $scheme['scheme'];
|
||||
} else $scheme = $config['default_scheme'];
|
||||
if( !empty($query_string) ) $query_string = '?'.$query_string;
|
||||
if( !empty($_SERVER['QUERY_STRING']) ) $query_string = '?'.$_SERVER['QUERY_STRING'];
|
||||
header("Location: ".$scheme.'://'.$_SERVER['HTTP_HOST'].$dir_url.$redirect.$query_string);
|
||||
exit;
|
||||
}
|
||||
|
||||
34
templates/simple/_details.phtml
Normal file
34
templates/simple/_details.phtml
Normal file
@@ -0,0 +1,34 @@
|
||||
<table border="0" cellspacing="1" cellpadding="0" id="list">
|
||||
<tr>
|
||||
<th class="icon"></th>
|
||||
<th class="name"><a href="<?=Sort::get_url('name')?>"><?=$lang->name?></a></th>
|
||||
<th class="size"><a href="<?=Sort::get_url('size')?>"><?=$lang->size?></a></th>
|
||||
<th class="mtime"><a href="<?=Sort::get_url('mtime')?>"><?=$lang->mtime?></a></th>
|
||||
<th class="perms"><a href="<?=Sort::get_url('perms')?>"><?=$lang->perms?></a></th>
|
||||
<th class="owner"><a href="<?=Sort::get_url('owner')?>"><?=$lang->owner?></a></th>
|
||||
</tr>
|
||||
<? if ( !$is_root ): ?>
|
||||
<tr>
|
||||
<td class="icon"><a href="../" title="<?=$lang->parent_dir?>"><img src="<?=Icon::get_parent($config->tpl_icon_size)?>" class="" alt="" /></a></td>
|
||||
<td class="name"><a href="../" title="<?=$lang->parent_dir?>">..</a></td>
|
||||
<td class="size">-</td>
|
||||
<td class="mtime">-</td>
|
||||
<td class="perms"><?=$parent['perms']?></td>
|
||||
<td class="owner"><?=$parent['owner']?></td>
|
||||
</tr>
|
||||
<? endif ?>
|
||||
<? foreach ($dlist->list as $key => $item): ?>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<a href="<?=DIR_URL.$item['name']?><? if($item['type'] == 'dir') echo '/'; ?>" title="<?=$item['name']?>">
|
||||
<img src="<?=Icon::get_url($item['ext'], 'small', $item['type'])?>" class="" alt="" />
|
||||
</a>
|
||||
</td>
|
||||
<td class="name"><a href="<?=DIR_URL.$item['name']?><? if($item['type'] == 'dir') echo '/'; ?>"><?=$item['name']?></a></td>
|
||||
<td class="size"><?=$item['size']?></td>
|
||||
<td class="mtime"><?=$item['mtime']?></td>
|
||||
<td class="perms"><?=$item['perms']?></td>
|
||||
<td class="owner"><?=$item['owner']?></td>
|
||||
</tr>
|
||||
<? endforeach ?>
|
||||
</table>
|
||||
13
templates/simple/_icons.phtml
Normal file
13
templates/simple/_icons.phtml
Normal file
@@ -0,0 +1,13 @@
|
||||
<table border="0" cellspacing="0" cellpadding="0" id="icons"><tr><td>
|
||||
<div id="sort-nav">
|
||||
<a href="<?=Sort::get_url('name')?>"><?=$lang->name?></a> | <a href="<?=Sort::get_url('size')?>"><?=$lang->size?></a> | <a href="<?=Sort::get_url('mtime')?>"><?=$lang->mtime?></a>
|
||||
</div>
|
||||
<ul>
|
||||
<? if ( !$is_root ): ?>
|
||||
<li><a href="../"><img src="<?=Icon::get_parent('large')?>" alt="" /><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 '/'; ?>"><img src="<?=Icon::get_url($item['ext'], 'large', $item['type'])?>" alt="" /><p class="name"><?=$item['name']?></p><p class="info"><?=$info?></p></a></li>
|
||||
<? endforeach ?>
|
||||
</ul>
|
||||
</td></tr></table>
|
||||
15
templates/simple/_tiles.phtml
Normal file
15
templates/simple/_tiles.phtml
Normal file
@@ -0,0 +1,15 @@
|
||||
<table border="0" cellspacing="0" cellpadding="0" id="tiles"><tr><td>
|
||||
<div id="sort-nav">
|
||||
<a href="<?=Sort::get_url('name')?>"><?=$lang->name?></a> | <a href="<?=Sort::get_url('size')?>"><?=$lang->size?></a> | <a href="<?=Sort::get_url('mtime')?>"><?=$lang->mtime?></a>
|
||||
</div>
|
||||
<ul>
|
||||
<? if ( !$is_root ): ?>
|
||||
<li><a href="../"><img src="<?=Icon::get_parent('large')?>" alt="" align="left" />
|
||||
<span class="name">..</span><span class="info"><?=$lang->parent_dir?></span></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 '/'; ?>"><img src="<?=Icon::get_url($item['ext'], 'large', $item['type'])?>" alt="" align="left" />
|
||||
<span class="name"><?=$item['name']?></span><span class="info"><?=$info?></span></a></li>
|
||||
<? endforeach ?>
|
||||
</ul>
|
||||
</td></tr></table>
|
||||
@@ -4,6 +4,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
||||
<title><?=$lang->index_of.' '.DIR_URL?></title>
|
||||
<script src="<?=TPL_URL?>javascripts/main.js" type="text/javascript" language="javascript" charset="utf-8"></script>
|
||||
<style type="text/css" media="screen">
|
||||
/* <![CDATA[ */
|
||||
<? include(TPL_PATH.'stylesheets/screen.css') ?>
|
||||
@@ -14,42 +15,15 @@
|
||||
<div id="header">
|
||||
<?=$lang->index_of.' '.DIR_URL?>
|
||||
</div>
|
||||
<table border="0" cellspacing="1" cellpadding="0" id="list">
|
||||
<tr>
|
||||
<th class="icon"></th>
|
||||
<th class="name"><?=$lang->name?></th>
|
||||
<th class="size"><?=$lang->size?></th>
|
||||
<th class="mtime"><?=$lang->mtime?></th>
|
||||
<th class="perms"><?=$lang->perms?></th>
|
||||
<th class="owner"><?=$lang->owner?></th>
|
||||
</tr>
|
||||
<? if ( DIR_URL != '' && DIR_URL != '/'): ?>
|
||||
<tr>
|
||||
<td class="icon"><a href="../" title="Parent Directory"><img src="<?=Icon::get_parent($config->tpl_icon_size)?>" class="" alt="" /></a></td>
|
||||
<td class="name"><a href="../" title="Parent Directory">..</a></td>
|
||||
<td class="size"><?=$parent['size']?></td>
|
||||
<td class="mtime"><?=$parent['mtime']?></td>
|
||||
<td class="perms"><?=$parent['perms']?></td>
|
||||
<td class="owner"><?=$parent['owner']?></td>
|
||||
</tr>
|
||||
<? endif ?>
|
||||
<? foreach ($dlist->list as $key => $item): ?>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<a href="<?=DIR_URL.$item['name']?><? if($item['type'] == 'dir') echo '/'; ?>" title="<?=$item['name']?>">
|
||||
<img src="<?=Icon::get_url($item['ext'], $config->tpl_icon_size, $item['type'])?>" class="" alt="" />
|
||||
</a>
|
||||
</td>
|
||||
<td class="name"><a href="<?=DIR_URL.$item['name']?><? if($item['type'] == 'dir') echo '/'; ?>"><?=$item['name']?></a></td>
|
||||
<td class="size"><?=$item['size']?></td>
|
||||
<td class="mtime"><?=$item['mtime']?></td>
|
||||
<td class="perms"><?=$item['perms']?></td>
|
||||
<td class="owner"><?=$item['owner']?></td>
|
||||
</tr>
|
||||
<? endforeach ?>
|
||||
</table>
|
||||
<div id="view-nav">
|
||||
<a href="javascript:;" onclick="set_view('icons')">Icons</a> | <a href="javascript:;" onclick="set_view('tiles')">Tiles</a> | <a href="javascript:;" onclick="set_view('details')">Details</a>
|
||||
</div>
|
||||
<div id="server-info"><?=SERVER_INFO?></div>
|
||||
<div id="files">
|
||||
<? include(TPL_PATH.$config->tpl_mode) ?>
|
||||
</div>
|
||||
<div id="stats">
|
||||
<?=$lang->page_generated.' '.$timer->end(6).' '.$lang->seconds?>.
|
||||
<div id="timer">Powered by dList. <?=$timer->end()?>.</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
30
templates/simple/javascripts/main.js
Normal file
30
templates/simple/javascripts/main.js
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
function set_view (view) {
|
||||
if (view != readCookie('dList_simple_viewMode')) {
|
||||
createCookie('dList_simple_viewMode', view, 365);
|
||||
document.location.href = '';
|
||||
}
|
||||
}
|
||||
|
||||
/* Cookie Related Functions */
|
||||
function createCookie(name,value,days) {
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime()+(days*24*60*60*1000));
|
||||
var expires = "; expires="+date.toGMTString();
|
||||
} else var expires = "";
|
||||
document.cookie = name+"="+value+expires+"; path=/";
|
||||
}
|
||||
function readCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for(var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
function eraseCookie(name) {
|
||||
createCookie(name,"",-1);
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php die();
|
||||
|
||||
//
|
||||
// Exec: render/simple
|
||||
// Exec: render
|
||||
//
|
||||
// Copyright © 2006 Jim Myhrberg. All rights reserved.
|
||||
// zynode@gmail.com
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
//_HEAD;
|
||||
/* --- Configuration ---
|
||||
Name: simple/render
|
||||
Name: render
|
||||
Priority: 40
|
||||
Author: Jim Myhrberg
|
||||
*/
|
||||
@@ -28,6 +28,12 @@ $config->parse(TPL_PATH.'settings.php', true, 'tpl_');
|
||||
//>STAGE> render
|
||||
//==========================
|
||||
|
||||
//>Section> set_view_mode
|
||||
if ( !empty($_COOKIE['dList_simple_viewMode']) && !empty($config->tpl_modes[$_COOKIE['dList_simple_viewMode']]) ) {
|
||||
$config->tpl_mode = $config->tpl_modes[$_COOKIE['dList_simple_viewMode']];
|
||||
} else {
|
||||
$config->tpl_mode = $config->tpl_modes[$config->tpl_mode];
|
||||
}
|
||||
|
||||
//>Section> include_phtml
|
||||
include(TPL_PATH.'index.phtml');
|
||||
|
||||
@@ -2,6 +2,16 @@
|
||||
|
||||
$config = array(
|
||||
'icon_size' => 'small',
|
||||
|
||||
# default mode
|
||||
'mode' => 'tiles',
|
||||
|
||||
# available modes
|
||||
'modes' => array(
|
||||
'details' => '_details.phtml',
|
||||
'tiles' => '_tiles.phtml',
|
||||
'icons' => '_icons.phtml',
|
||||
),
|
||||
);
|
||||
|
||||
?>
|
||||
@@ -8,17 +8,23 @@ BODY {
|
||||
|
||||
#header {
|
||||
font: 20px "Myriad Pro", "Trebuchet MS", Verdana, sans-serif;
|
||||
padding: 15px 15px 20px 35px;
|
||||
padding: 15px 15px 30px 30px;
|
||||
}
|
||||
|
||||
#files {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Details View (#list) */
|
||||
#list {
|
||||
background-color: #777;
|
||||
background-color: #DDD;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* List Headers */
|
||||
/* list leaders */
|
||||
#list TH {
|
||||
background-color: #CCC;
|
||||
background-color: #EEE;
|
||||
padding: 2px 5px 2px 5px;
|
||||
}
|
||||
#list TH.name {
|
||||
@@ -41,8 +47,12 @@ BODY {
|
||||
#list TH.owner {
|
||||
width: 85px;
|
||||
}
|
||||
#list TH A {
|
||||
width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* List Cells */
|
||||
/* list cells */
|
||||
#list TD {
|
||||
background-color: #FFF;
|
||||
padding: 2px 5px 2px 5px;
|
||||
@@ -62,13 +72,128 @@ BODY {
|
||||
#list TD.owner {
|
||||
|
||||
}
|
||||
|
||||
#list TD.name A {
|
||||
width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#stats {
|
||||
|
||||
/* Tile view (#tiles) */
|
||||
#tiles {
|
||||
border: 1px solid #CCC;
|
||||
width: 100%;
|
||||
}
|
||||
#tiles UL {
|
||||
list-style: none;
|
||||
margin-top: 5px;
|
||||
}
|
||||
#tiles UL A {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
#tiles LI {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 12px 12px 12px 12px;
|
||||
width: 190px;
|
||||
height: 70px;
|
||||
vertical-align: top;
|
||||
}
|
||||
#tiles LI .name {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
margin-left: 51px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
#tiles LI .info {
|
||||
color: #999;
|
||||
display: block;
|
||||
font-size: 10px;
|
||||
margin-left: 51px;
|
||||
}
|
||||
#tiles #sort-nav {
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
margin: 20px 20px 0px 20px;
|
||||
}
|
||||
|
||||
|
||||
/* Icon view */
|
||||
#icons {
|
||||
border: 1px solid #CCC;
|
||||
width: 100%;
|
||||
}
|
||||
#icons UL {
|
||||
list-style: none;
|
||||
margin-top: 5px;
|
||||
}
|
||||
#icons UL A {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
#icons LI {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 12px 12px 12px 12px;
|
||||
width: 140px;
|
||||
height: 100px;
|
||||
text-align: center;
|
||||
vertical-align: top;
|
||||
}
|
||||
#icons LI .name {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
padding-top: 6px;
|
||||
margin: 0px;
|
||||
}
|
||||
#icons LI .info {
|
||||
color: #999;
|
||||
display: block;
|
||||
font-size: 10px;
|
||||
margin: 0px;
|
||||
}
|
||||
#icons #sort-nav {
|
||||
text-align: center;
|
||||
margin: 20px 20px 0px 20px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* misc. */
|
||||
#view-nav {
|
||||
color: #999;
|
||||
font-size: 10px;
|
||||
position: absolute;
|
||||
top: 80px;
|
||||
left: 30px;
|
||||
}
|
||||
#view-nav A {
|
||||
color: #999;
|
||||
font-size: 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#stats {
|
||||
|
||||
}
|
||||
|
||||
#server-info {
|
||||
color: #999;
|
||||
padding: 3px;
|
||||
font-style: italic;
|
||||
font-size: 9px;
|
||||
text-align: right;
|
||||
position: absolute;
|
||||
top: 77px;
|
||||
right: 30px;
|
||||
}
|
||||
|
||||
#timer {
|
||||
color: #999;
|
||||
padding: 3px;
|
||||
font-style: italic;
|
||||
font-size: 9px;
|
||||
text-align: left;
|
||||
}
|
||||
9
view.php
9
view.php
@@ -2,7 +2,7 @@
|
||||
|
||||
/*
|
||||
|
||||
dList v2.1.1 beta
|
||||
dList v2.1.2 beta
|
||||
|
||||
Copyright © 2006 Jim Myhrberg. All rights reserved.
|
||||
zynode@gmail.com
|
||||
@@ -34,7 +34,6 @@ if ( empty($config->dlist_url) ) $config->dlist_url = preg_replace("/(.*)\/(.*?)
|
||||
// initialize execHandler and main scripts
|
||||
$exec = new execHandler();
|
||||
$exec->update_frequency = 0;
|
||||
$exec->show_debug_msg = false;
|
||||
|
||||
|
||||
// configure cache dir for compiled code
|
||||
@@ -58,11 +57,11 @@ $exec->cache();
|
||||
include($exec->include_file);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
if ($config->debug) {
|
||||
echo "<br />\npage generated in ".$timer->end(8)." sec.<br />\n";
|
||||
echo "<br />\npage generated in ".$timer->term(8)." sec.<br />\n";
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user