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";
}