if (!$data) {$data = TRUE; include ("library/thltm.lib"); function data_read_meta ($directory) { if (!file_exists ("$directory/meta")) {return NULL;} $f = file ("$directory/meta"); $len = sizeof ($f); for ($i = 0; $i < $len; $i++) { $p = explode ("/", $f[$i]); $np = sizeof ($p); if ($np) { $desc = NULL; for ($j = 0; $j < $np; $j++) { $kv = explode ("=", $p[$j]); $key = trim ($kv[0]); $value = trim ($kv[1]); $desc[$key] = $value; } if ($desc['title'] && !$desc['name']) { $desc['name'] = strtolower ($desc['title']); } if ($desc['name']) {$meta[$desc['name']] = $desc;} } } return $meta; } function data_get_value ($info, $key, $def) { if (!$info) {return $def;} if ($info[$key]) {return $info[$key];} return data_get_value ($info['parent'], $key, $def); } function data_show_file ($filename, $info) { $title = data_get_value ($info, 'title', "Lauris Kaplinski"); $section = data_get_value ($info, 'section', "intro"); $layout = data_get_value ($info, 'layout', "generic"); page_start ($title); if ($layout == "thltm") { thltm_print_navigation ($info); } else { page_header ($title, $section); } readfile ($filename); page_end (); } function data_show_dir ($dir, $parent, $k, $level) { $meta = data_read_meta ($dir); $key = $k[$level]; if (!$meta[$key]) {$key = data_get_value ($parent, 'intro', "intro");} $info = $meta[$key]; if ($info) { if ($parent) {$path = $parent['path']."/";} $info['path'] = $path.$key; $info['parent'] = $parent; if ($info['directory']) { $subdir = $dir."/".$info['directory']; data_show_dir ($subdir, $info, $k, $level + 1); } else if ($info['file']) { data_show_file ($dir."/".$info['file'], $info); } } else { $title = data_get_value ($parent, 'title', "Lauris Kaplinski"); $section = data_get_value ($parent, 'section', "intro"); page_start ($title); page_header ($title, $section); if (is_array ($meta)) { $keys = array_keys ($meta); $len = sizeof ($keys); print "