r311: Added stylevar system.
[bugdar.git] / global.php
1 <?php
2 /*=====================================================================*\
3 || ################################################################### ||
4 || # BugStrike [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
7 || # This file may not be reproduced in any way without permission. # ||
8 || # --------------------------------------------------------------- # ||
9 || # User License Agreement at http://www.iris-studios.com/license/ # ||
10 || ################################################################### ||
11 \*=====================================================================*/
12
13 require_once('./includes/init.php');
14
15 // ###################################################################
16 // initialize template system
17 $bugsys->load('template_fs');
18 $template->extension = 'tpl';
19 $template->templatedir = $bugsys->fetch_sourcepath('templates/');
20
21 // ###################################################################
22 // global template variables
23 $datetime = $datef->format('l, F j, Y g:i A');
24 $year = $datef->format('Y');
25 $version = $bugsys->options['trackerversion'];
26
27 // ###################################################################
28 // do style vars
29 if (($raw = @file_get_contents('./templates/stylevars.dsv')) !== false)
30 {
31 // remove comments
32 $raw = preg_replace('#/\*(.*?)\*/#s', '', $raw);
33 $raw = trim($raw);
34
35 // create individual vars
36 $varsraw = explode(';', $raw);
37 foreach ($varsraw AS $var)
38 {
39 if (($var = trim($var)) == '')
40 {
41 continue;
42 }
43
44 // split into varname - value pair
45 $temp = explode(':', $var);
46
47 // clean up varnames
48 $varname = trim($temp[0]);
49 $varname = preg_replace('#[^a-z0-9]#i', '_', $varname);
50
51 // clean up values
52 $value = trim($temp[1]);
53 $value = preg_replace('#[^a-z0-9%\-\.\#]#i', '', $value);
54
55 // put it in the array
56 $stylevar["$varname"] = $value;
57 }
58 }
59 else
60 {
61 trigger_error('StyleVars file (./templates/stylevars.dsv)', E_USER_WARNING);
62 }
63
64 // ###################################################################
65 // cache templates
66 $globaltemplates = array(
67 'doctype',
68 'header',
69 'headinclude',
70 'footer',
71 'selectoption',
72 'selectoptgroup',
73 'std_error',
74 'std_redirect',
75 'std_message',
76 'bugfield_input_text',
77 'bugfield_input_checkbox',
78 'bugfield_select_single_option',
79 'bugfield_select_single'
80 );
81
82 $template->cache(array_merge($globaltemplates, (array)$fetchtemplates));
83
84 eval('$header = "' . $template->fetch('header') . '";');
85 eval('$doctype = "' . $template->fetch('doctype') . '";');
86 eval('$headinclude = "' . $template->fetch('headinclude') . '";');
87 eval('$footer = "' . $template->fetch('footer') . '";');
88
89 // ###################################################################
90
91 // ###################################################################
92 // initialize template variables
93 $show = array();
94
95 // ###################################################################
96 // create error reporter
97 require_once('./includes/class_message_reporter.php');
98 $message = new Message_Reporter();
99 $bugsys->message =& $message;
100
101 /*=====================================================================*\
102 || ###################################################################
103 || # $HeadURL$
104 || # $Id$
105 || ###################################################################
106 \*=====================================================================*/
107 ?>