| | |
| | | private function parse($name = 'main', $exit = true) |
| | | { |
| | | $skin_path = $this->config['skin_path']; |
| | | $plugin = false; |
| | | |
| | | $temp = explode(".", $name, 2); |
| | | if (count($temp) > 1) { |
| | | $path = $this->config['plugins_dir'] . '/' . $temp[0] . '/skins/' . $this->config['skin'] . '/templates/' . $temp[1] . '.html'; |
| | | } else |
| | | $path = "$skin_path/templates/$name.html"; |
| | | $temp = explode(".", $name, 2); |
| | | if (count($temp) > 1) { |
| | | $plugin = $temp[0]; |
| | | $name = $temp[1]; |
| | | $skin_path = $this->config['plugins_dir'] . '/' . $temp[0] . '/skins/' . $this->config['skin']; |
| | | if (!is_dir($skin_path)) // fallback to default skin |
| | | $skin_path = $this->config['plugins_dir'] . '/' . $temp[0] . '/skins/default'; |
| | | } |
| | | |
| | | $path = "$skin_path/templates/$name.html"; |
| | | |
| | | // read template file |
| | | if (($templ = @file_get_contents($path)) === false) { |
| | |
| | | ), true, true); |
| | | return false; |
| | | } |
| | | |
| | | // replace all path references to plugins/... with the current plugins dir |
| | | if ($plugin) { |
| | | $templ = preg_replace('/\bplugins\//', $this->config['plugins_dir'].'/', $templ); |
| | | } |
| | | |
| | | // parse for specialtags |
| | | $output = $this->parse_conditions($templ); |