diff --git a/config.php b/config.php index bc51af5..f211e9d 100644 --- a/config.php +++ b/config.php @@ -12,8 +12,7 @@ $config = array( // Main settings - 'dlist_url' => '/dlist/', - 'index_files' => array('index.html', 'index.php', 'index.htm'), + 'dlist_url' => '/dlist/', 'debug' => true, @@ -27,9 +26,11 @@ $config = array( 'iconset' => 'osx', 'allow_override' => true, -// Server settings + +// dList internal path settings - 'default_scheme' => 'http', + 'path_plugins' => array('plugins'), + 'path_cache' => 'cache', diff --git a/exec/core.exc.php b/exec/core.exc.php index 6a00b66..a45aae9 100644 --- a/exec/core.exc.php +++ b/exec/core.exc.php @@ -74,7 +74,6 @@ if ( $do_readdir ) { //>Section> echo print_r($dlist->list); -print_r($config); //_END; diff --git a/exec/icons.exc.php b/exec/icons.exc.php new file mode 100644 index 0000000..5e19f7e --- /dev/null +++ b/exec/icons.exc.php @@ -0,0 +1,31 @@ +STAGE> init +//========================== + + +//>After> core.define_constants +define('ICONS_PATH', '/icons/'.$config->iconset.'/'); +define('ICONS_URL', DLIST_URL.ICONS_PATH); + + + + +//_END; +?> \ No newline at end of file diff --git a/exec/timer.exc.php b/exec/timer.exc.php index ab53afd..15dc2fa 100644 --- a/exec/timer.exc.php +++ b/exec/timer.exc.php @@ -7,6 +7,16 @@ // zynode@gmail.com // + +/* + + Intializes $timer at beginning of exec code, use + $timer->end(); in your template to get script + execution time. + +*/ + + //_HEAD; /* --- Configuration --- Name: timer @@ -24,13 +34,5 @@ Author: Jim Myhrberg $timer = new speedometer(); -//========================== -//>STAGE> render -//========================== - - -//>Section> end -$timer->end(); - //_END; ?> \ No newline at end of file diff --git a/libs/config.lib.php b/libs/config.lib.php index 3728322..2d3ec02 100644 --- a/libs/config.lib.php +++ b/libs/config.lib.php @@ -16,6 +16,7 @@ class config { if ( !empty($input) ) $this->parse($input); } +// Main function function parse ($input, $overwrite=true) { if ( is_array($input) ) { $this->parse_array($input, $overwrite); @@ -28,6 +29,7 @@ class config { } } +// Parse settings from an array function parse_array ($input, $overwrite=true) { if ( is_array($input) ) { foreach( $input as $key => $value ) { @@ -44,7 +46,9 @@ class config { return true; } else return false; } - + +// Parse settings from a defined array inside a php file, +// $var is the name of the variable inside the php to parse. function parse_php_file ($file, $var='config', $overwrite=true) { if ( is_readable($file) ) { include($file); @@ -53,9 +57,10 @@ class config { } else return false; } - function parse_ini_file ($file, $overwrite=true) { +// Parse settings from an ini file. + function parse_ini_file ($file, $overwrite=true, $parse_sections=true) { if ( is_readable($file) ) { - $this->parse_array(parse_ini_file($file, true), $overwrite); + $this->parse_array(parse_ini_file($file, $parse_sections), $overwrite); } } diff --git a/libs/exechandler.lib.php b/libs/exechandler.lib.php index 05bda61..93ac004 100644 --- a/libs/exechandler.lib.php +++ b/libs/exechandler.lib.php @@ -23,7 +23,7 @@ class execHandler { var $cache_data = '.data.cache.php'; var $cache_details = '.details.cache.php'; var $cache_time = '.time.cache.php'; - var $update_frequency = 0; + var $update_frequency = 10; var $php_opentag = ""; @@ -32,6 +32,7 @@ class execHandler { var $default_stages = array( 'init' => 10, + 'query' => 20, 'main' => 50, 'render' => 80, 'term' => 90, @@ -421,9 +422,10 @@ class execHandler { // Compiling - function clean_up_code ($string, $comments=true, $emptylines=true) { + function clean_up_code ($string, $comments=true, $emptylines=true, $indents=false) { if ( $comments ) $string = $this->remove_comments($string); if ( $emptylines ) $string = $this->remove_empty_lines($string); + if ( $indents ) $string = $this->remove_indents($string); return trim($string); } @@ -438,6 +440,11 @@ class execHandler { $string = preg_replace("/\n+/m", "\n", $string); return $string; } + + function remove_indents ($string) { + $string = preg_replace("/\n\s+(.*)/", "\n$1", $string); + return $string; + } // Cache diff --git a/resources/init.php b/resources/init.php index 33e78dd..7a989a9 100644 --- a/resources/init.php +++ b/resources/init.php @@ -9,6 +9,14 @@ */ +// Server configuration + +$config['index_files'] = array('index.html', 'index.php', 'index.htm'); +$config['default_scheme'] = 'http'; + + + + // process requested path if ( stristr($_SERVER['REQUEST_URI'], '?') !== false ) { $dir_url = explode('?', $_SERVER['REQUEST_URI']); diff --git a/templates/simple/render.exc.php b/templates/simple/render.exc.php index abc1be2..ab9975d 100644 --- a/templates/simple/render.exc.php +++ b/templates/simple/render.exc.php @@ -9,7 +9,7 @@ //_HEAD; /* --- Configuration --- -Name: render +Name: simple/render Priority: 40 Author: Jim Myhrberg */ diff --git a/view.php b/view.php index 5e410ae..446ac43 100644 --- a/view.php +++ b/view.php @@ -2,32 +2,33 @@ /* - dList v0.7 beta + dList v2.0 beta Copyright © 2006 Jim Myhrberg. All rights reserved. zynode@gmail.com */ -require_once('config.php'); require_once('resources/init.php'); -require_once('libs/speedometer.lib.php'); require_once('libs/config.lib.php'); +$config = new config($config); +$config->parse_php_file('config.php'); + +require_once('libs/speedometer.lib.php'); require_once('libs/dirlist.lib.php'); require_once('libs/exechandler.lib.php'); -// initialize config object -$config = new config($config); - - // initialize debug stopwatch -if ($config->debug) $debug_time = new speedometer(); +if ($config->debug) $debug_timer = new speedometer(); + + +// initialize config object // initialize execHandler and main scripts $exec = new execHandler(); -$exec->cache_dir = 'cache/exec/'; +$exec->cache_dir = $config->path_cache.'/exec/'; // debug? if ( $config->debug ) $exec->debug = true; @@ -38,17 +39,17 @@ $exec->addPath( 'exec/core.exc.php', 'exec/*', 'templates/'.$config->template.'/render.exc.php', - 'plugins/*.exc.php', ) ); +$exec->addPath($config->path_plugins); $exec->cache(); include($exec->include_file); if ($config->debug) { - $debug_time->end(); - echo "
\npage generated in ".$debug_time->time." sec.
\n"; + $debug_timer->end(); + echo "
\npage generated in ".$debug_timer->time." sec.
\n"; }