00001 <?php
00002 require_once
TM_PATH . 'constants.php';
00003 require_once
TM_PATH . 'juelich/JuelichGlobals.php';
00004
00018 class JuelichEdv {
00019 var
$db;
00020 var
$title = '';
00022 var
$path0 = array( 'ausfall' => 'Ausfallgründe von EDV-Komponenten',
00023 'rechner' => 'Kosten-Rechner für EDV-Ausfälle',
00024 'kontakt' => 'Kontakt',
00025 'impressum' => 'Impressum',
00026 'angebot' => 'Unser EDV-Angebot',
00027 'ausfallrechnung' => 'Grundlagen der Ausfall-Rechnung'
00028 );
00030 var
$path_ausfall = array( 'pc' => array( 'benutzer' => 'Benutzer',
00031 'software' => 'Software',
00032 'vscanner' => 'Viren-Scanner',
00033 'hardware' => 'Hardware',
00034 'support' => 'Support'
00035 ),
00036 'pcTitle' => 'Ausfälle: Arbeitsplatz-PC',
00037 'netzwerk' => array( 'verkabelung' => 'Verkabelung',
00038 '
switch' => 'Switche',
00039 'anbindung' => 'Anbindung an externe Netze'
00040 ),
00041 'netzwerkTitle' => 'Ausfälle: Netzwerk',
00042 'server' => array( 'stromversorgung' => 'USV',
00043 'hardware' => 'Hardware',
00044 'sicherung' => 'Daten-Sicherung',
00045 'software' => 'Software, Betriebssystem',
00046 'klimatisierung' => 'Klimatisierung'
00047 ),
00048 'serverTitle' => 'Ausfälle: Server',
00049 'drucker' => array( 'verbrauch' => 'Verbrauchsmaterialien',
00050 'hardware' => 'Hardware',
00051 'treiber' => 'Treiber(management)'
00052 ),
00053 'druckerTitle' => 'Ausfälle: Drucker',
00054 );
00056 function
JuelichEdv() {
00057 $this->db =&
getDbReaderInstance();
00058 }
00059
00064 function
executeRequest() {
00065 $out = '';
00066 $content = '';
00067 $active = '';
00068 $side = '';
00069 $script = '';
00070 $body = '';
00071 $tmp = '';
00072
00073
$path = $this->
getPath();
00074
if (count($path) == 0) {
00075 $this->title = 'Die EDV-Seiten der Firma Jülich';
00076 $content = $this->db->getTemplateContent('edv-index',
L_DEUTSCH);
00077 }
00078
else {
00079 $active =
$path[0];
00080 $current = array_shift($path);
00081
if (!in_array($current, array_keys($this->path0))) {
00082 require_once
TM_PATH . 'juelich/web/
JuelichError.php';
00083 $error =
new JuelichError;
00084 $error->printError(5,
00085 'EDV: Kein gültiger Pfad: ' . $current);
00086
exit();
00087 }
00088 $this->title = $this->path0[$current];
00089
if ($current == 'ausfall') {
00090 list($side, $content) = $this->
macheAusfall($path);
00091 }
00092
00093
00094
00095 elseif ($current == 'impressum') {
00096 $content = $this->db->getTemplateContent('impressum-index',
00097
L_DEUTSCH);
00098 }
00099 elseif ($current == 'rechner') {
00100 $script = '<script src=
"/rechner.js" '
00101 . 'type=
"text/javascript"></script>' .
"\n";
00102 $body = '<body onLoad=
"aktualisiere()">' .
"\n";
00103 $content = $this->db->getTemplateContent('edv-rechner',
00104
L_DEUTSCH);
00105 }
00106
else {
00107 $content = $this->db->getTemplateContent('edv-' . $current,
00108
L_DEUTSCH);
00109 }
00110 }
00111
00112 $out .= sprintf($this->db->getTemplateContent('edv-master-front', 0),
00113 $this->title
00114 );
00115
if ($script != '') {
00116 $search = '<!-- TM_SCRIPT_DUMMY -->';
00117 $out = str_replace($search, $script, $out);
00118 }
00119
if ($body != '') {
00120 $search = '<body>';
00121 $out = str_replace($search, $body, $out);
00122 }
00123 $out .= $this->
getTopMenu($active)
00124 . '<br>'
00125 . sprintf($this->db->getTemplateContent('edv-master-content', 0),
00126 $side,
00127 $content
00128 )
00129 . $this->db->getTemplateContent('edv-master-back', 0);
00130 echo $out;
00131
exit(0);
00132 }
00133
00140 function
getPath() {
00141
$path = array();
00142
if (!isset($_SERVER['PATH_INFO'])) {
00143
return $path;
00144 }
00145
00146 $pTmp = explode(
'/', $_SERVER['PATH_INFO']);
00147
while (list($key, $value) = each($pTmp)) {
00148
if ($value != '') {
00149 array_push($path, $value);
00150 }
00151 }
00152
return $path;
00153 }
00154
00162 function
macheAusfall(&$path) {
00163 $menueData = array('Arbeitsplatz-PC',
00164 'pc',
00165 'Netzwerk',
00166 'netzwerk',
00167 'Server',
00168 'server',
00169 'Drucker',
00170 'drucker'
00171 );
00172 $content = '';
00173 $menue = '';
00174 $menue2 = '';
00175
00176 $size = count($path);
00177
switch ($size) {
00178
case 0:
00179 $menue = $this->
getSideMenu($menueData, 'ausfall', '');
00180 $content = $this->db->getTemplateContent('edv-ausfall',
00181
L_DEUTSCH);
00182
break;
00183
case 1:
00184 $menue = $this->
getSideMenu($menueData, 'ausfall', $path[0]);
00185 $menue2 = $this->
getAusfallStage1($path[0], '');
00186 $content = $this->db->getTemplateContent('edv-ausfall-' . $path[0],
00187
L_DEUTSCH);
00188 $this->title = $this->path_ausfall[
$path[0]. 'Title'];
00189
break;
00190
case 2:
00191 $menue = $this->
getSideMenu($menueData, 'ausfall', $path[0]);
00192 $menue2 = $this->
getAusfallStage1($path[0], $path[1]);
00193
00194 $group = $this->path_ausfall[
$path[0]];
00195
if (!in_array($path[1], array_keys($group))) {
00196 require_once
TM_PATH . 'juelich/web/
JuelichError.php';
00197 $error =
new JuelichError;
00198 $error->printError(5,
00199 'EDV: Kein gültiger Pfad: '
00200 . implode(
'-', $path));
00201
exit();
00202 }
00203 $content = $this->db->getTemplateContent('edv-ausfall-'
00204 . $path[0]
00205 .
'-'
00206 . $path[1],
00207
L_DEUTSCH);
00208 $this->title = $this->path_ausfall[
$path[0]. 'Title']
00209 . ' - '
00210 . $group[
$path[1]];
00211
break;
00212
default:
00213 require_once
TM_PATH . 'juelich/web/
JuelichError.php';
00214 $error =
new JuelichError;
00215 $error->printError(5,
00216 'EDV: Kein gültiger Pfad: '
00217 . implode(
'-', $path));
00218
exit();
00219 }
00220
00221
$page = array();
00222 array_push($page, $menue);
00223 array_push($page, $menue2 .
"\n<br>\n" . $content);
00224
return $page;
00225 }
00226
00236 function
macheAngebot(&$path) {
00237 $menueData = array('Anwaltsbüro',
00238 'anwalt',
00239 'Arztpraxis',
00240 'arzt',
00241 'Anwaltskanzlei',
00242 'kanzlei'
00243 );
00244
00245 $titleData = array('anwalt' => 'Beispiel Anwaltsbüro',
00246 'arzt' => 'Beispiel Arztpraxis',
00247 'kanzlei' => 'Beispiel Anwaltskanzlei'
00248 );
00249
00250 $content = '';
00251 $menue = '';
00252 $size = count($path);
00253
switch ($size) {
00254
case 0:
00255 $menue = $this->
getSideMenu($menueData, 'angebot', '');
00256 $content = $this->db->getTemplateContent('edv-angebot',
00257
L_DEUTSCH);
00258
break;
00259
case 1:
00260 $menue = $this->
getSideMenu($menueData, 'angebot', $path[0]);
00261 $content = $this->db->getTemplateContent('edv-angebot-' . $path[0],
00262
L_DEUTSCH);
00263 $this->title = $titleData[
$path[0]];
00264
break;
00265
default:
00266 require_once
TM_PATH . 'juelich/web/
JuelichError.php';
00267 $error =
new JuelichError;
00268 $error->printError(5,
00269 'EDV: Kein gültiger Pfad: '
00270 . implode(
'-', $path));
00271
exit();
00272 }
00273
00274
$page = array();
00275 array_push($page, $menue);
00276 array_push($page, $content);
00277
return $page;
00278 }
00279
00287 function
getTopMenu($active) {
00288 $data = array('Start',
00289 'http:
00290 '',
00291 'EDV-Ausfälle',
00292 'http:
00293 'ausfall',
00294 'Kosten-Rechner',
00295 'http:
00296 'rechner',
00297 'Unser Angebot',
00298 'http:
00299 'angebot',
00300 'Forum',
00301 'http:
00302 'forum',
00303 'Kontakt',
00304 'http:
00305 'kontakt',
00306 'Impressum',
00307 'http:
00308 'impressum'
00309 );
00310 $chars = 0;
00311
$s = count($data);
00312
for ($i = 0; $i <
$s; $i += 3) {
00313 $chars += strlen($data[$i]);
00314 }
00315
00316 $m = '<table align=
"center" bgcolor=
"#eef3f3" '
00317 .
"border=\"0\" width=\"100%\">\n<tr>\n";
00318 $w_sum = 0;
00319
for ($i = 0; $i <
$s; $i += 3) {
00320 $len = strlen($data[$i]);
00321 $w = round(100 * $len / $chars);
00322
if ($w + $w_sum > 100) {
00323 $w = 100 - $w_sum;
00324 }
00325 $w_sum += $w;
00326 $m .= '<td width=
"' . $w . '%" align=
"center"><a href=
"'
00327
. $data[$i+1]
00328
. '"';
00329
if ($data[$i+2] == $active &&
00330 $data[$i+2] == 'impressum') {
00331 $m .= '
class=
"impressum-aktiv"';
00332 }
00333 elseif ($data[$i+2] == $active) {
00334 $m .= '
class=
"menu-aktiv"';
00335 }
00336 elseif ($data[$i+2] == 'impressum') {
00337 $m .= '
class=
"impressum"';
00338 }
00339
else {
00340 $m .= '
class=
"menu"';
00341 }
00342 $m .=
">$data[$i]</a></td>\n";
00343 }
00344 $m .= '</tr></table>';
00345
return $m;
00346 }
00347
00358 function
getSideMenu(&$data, $path, $active) {
00359 $m = '<table border=
"0" width=
"100%">';
00360
$s =
sizeof($data);
00361
for ($i = 0; $i <
$s; $i += 2) {
00362 $m .=
"<tr>\n<td align=\"center\"><a href=\"/site/$path/"
00363 . $data[$i+1]
00364 .
"/\"";
00365
if ($data[$i+1] == $active) {
00366 $m .= '
class=
"menu-aktiv"';
00367 }
00368
else {
00369 $m .= '
class=
"menu"';
00370 }
00371 $m .=
">$data[$i]</a></td>\n</tr>";
00372 }
00373 $m .= '</table>';
00374
return $m;
00375 }
00376
00385 function
getAusfallStage1($path, $active) {
00386
if (!in_array($path, array_keys($this->path_ausfall))) {
00387 require_once
TM_PATH . 'juelich/web/
JuelichError.php';
00388 $error =
new JuelichError;
00389 $error->printError(5,
00390 'EDV: Kein gültiger Pfad: ausfall-' . $path);
00391
exit();
00392 }
00393 $content = '';
00394 $content .= '<table border=
"0" '
00395 . 'align=
"center" width=
"100%" bgcolor=
"#f3f3f3">'
00396 .
"\n<tr>\n";
00397 $data = $this->path_ausfall[
$path];
00398 foreach ($data as $key => $value) {
00399 $content .=
"<td align=\"center\"><a href=\"/site/ausfall/$path/"
00400 . $key
00401 . '/
"';
00402
if ($key == $active) {
00403
$content .= ' class="menu-aktiv
"';
00404
}
00405
else {
00406
$content .= ' class="menu
"';
00407
}
00408
$content .= ">$value</a></td>\n
";
00409
}
00410
$content .= '</tr></table>';
00411
return $content;
00412
}
00413
00414
}
00415
00416
?>