Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?
2
	$self=basename($PHP_SELF);
3
	define ("modul_name", "domain_admin");
4
	define ("tool_name", "webserverad");
5
	require_once "../Online-Shop/connect2.php";
6
 
7
	if (!isset($web_rechte[modul_name][tool_name][websadmin]))
8
	{
9
		echo "<p>&nbsp;&nbsp;&nbsp;FEHLER: kein Recht !.</p>";
10
		exit;
11
	}
12
 
13
	if (!$web_rechte[modul_name][tool_name][include_file])
14
	{
15
		echo "<p>&nbsp;&nbsp;&nbsp;FEHLER: keine Zieldatei (include_file) !.</p>";
16
		exit;
17
	}
18
 
19
	if (!$web_rechte[modul_name][tool_name][define_tab])
20
	{
21
		echo "<p>&nbsp;&nbsp;&nbsp;FEHLER: keine Trafficdatei (define_tab) !.</p>";
22
		exit;
23
	}
24
 
25
	$DB="Apache_Domains";
26
	$newline=chr(13).chr(10);
27
	$template_neu=$web_rechte[domain_admin][webserverad][template];
28
 
29
	if ($action=="update")
30
	{
31
		if (!$ID)
32
		{	// insert Dummy-Entry
33
			$query = "insert into $DB (ID,erstellt_am,erstellt_von,letzte_Aenderung_am,letzte_Aenderung_von) VALUES (0,NOW(),'$PHP_AUTH_USER',NOW(),'$PHP_AUTH_USER')";
34
			$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>".$query."<hr>");
35
			$ID=mysql_insert_id();
36
		}
37
 
38
		unset($HTTP_POST_VARS[action]);
39
		unset($HTTP_POST_VARS[ID]);
40
 
41
		foreach(array_keys($HTTP_POST_VARS) as $elem)
42
		{
43
			if ($elem[0] == "_")
44
			{
45
				unset($HTTP_POST_VARS[$elem]);
46
				$button=$$elem;
47
				$elem=substr($elem,1);
48
				$Pfad=$HTTP_POST_VARS[$elem."_Pfad"];
49
				unset($HTTP_POST_VARS[$elem."_Pfad"]);
50
				$image=$$elem;
51
				$image_name=$elem."_name";
52
				$image_name=urlencode($$image_name);
53
				switch ($button)
54
				{
55
					case 0:
56
						break;
57
					case 1:
58
						$HTTP_POST_VARS[$elem]='';
59
	   					break;
60
	   				case 2:
61
						//$image_name=$ID."_".$image_name;
62
						$image_name=$ID.strrchr($image_name,".");
63
						$HTTP_POST_VARS[$elem]=$image_name;
64
						copy($image,$Pfad.$image_name);
65
				        break;
66
				    default:
67
				        break;
68
			    }
69
			}
70
		}
71
		$names=array();
72
		foreach(array_keys($HTTP_POST_VARS) as $elem)
73
		{
74
			array_push($names,"$elem='$HTTP_POST_VARS[$elem]'");
75
		}
76
		$query="update $DB set ".join($names,', ');
77
		$query=$query." ,letzte_Aenderung_am=NOW(), letzte_Aenderung_von='$PHP_AUTH_USER' where ID = '$ID'";
78
		$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>$query<hr>");
79
 
80
// ==========================================================================================================
81
/*
82
		// Verzeichnisse erstellen
83
		//mkdir($document_root, 0755);
84
		//mkdir ($alias_error, 0755);
85
		//mkdir ($cgi_bin, 0755);
86
		//mkdir (dirname($custom_log), 0755);
87
*/
88
 
89
		$include_file = $web_rechte[modul_name][tool_name][include_file];
90
		$include_file = fopen ($include_file, "w+");
91
 
92
		$define_tab = $web_rechte[modul_name][tool_name][define_tab];
93
		$define_tab = fopen ($define_tab, "w+");
94
 
95
 
96
		$query="SELECT * FROM $DB order by IP,Zones";
97
		$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error());
98
		while ($zeile=mysql_fetch_array($result))
99
		{
100
			$zeile[Zones] = preg_split("/$newline/", $zeile[Zones]);
101
			foreach ($zeile[Zones] as $elem)
102
			{
103
				if ($elem != "")
104
				{
105
//----------------------------------------------------------------------
106
					$buffer=preg_split("/\./", $elem);
107
					if (count($buffer) == 2)
108
					{
109
						fwrite ($define_tab,"$elem:$zeile[global_log]\n");
110
					}
111
//----------------------------------------------------------------------
112
 
113
					$content = array (
114
						"<VirtualHost $zeile[IP]>",
115
						"DocumentRoot" => "DocumentRoot $zeile[document_root]",
116
						"Alias" => "Alias /_errors $zeile[alias_error]",
117
						"ScriptAlias" => "ScriptAlias /cgi-bin/ \"".$zeile[cgi_bin]."\"",
118
						"ServerName" => "ServerName $elem",
119
						"ErrorLog" => "ErrorLog $zeile[error_log]",
120
						"CustomLog" => "CustomLog \"|/usr/local/sbin/cronolog $zeile[custom_log]\" common",
121
						"sonstiges" => "$zeile[sonstiges]",
122
						"</VirtualHost>\n\n"
123
					);
124
					if ($zeile[custom_log_trigger] == 0) {unset($content[CustomLog]);}
125
					if ($zeile[error_log_trigger] == 0) {unset($content[ErrorLog]);}
126
					if (!$zeile[sonstiges]) {unset($content[sonstiges]);}
127
 
128
					$content=join("\n",$content);
129
					fwrite ($include_file,$content,strlen($content));
130
				}
131
			}
132
		}
133
 
134
		fclose ($define_tab);
135
		fclose ($include_file);
136
// ==========================================================================================================
137
		header("Location: ".$self);
138
	}
139
 
140
	if ($action=="delete")
141
	{
142
		if ($ID)
143
		{
144
			$condition=array();
145
			foreach ($ID as $elem)
146
			{
147
				array_push($condition," ID = '$elem'");
148
			}
149
			$cond=join(" or ",$condition);
150
			$query = "DELETE FROM $DB WHERE $cond";
151
			$result = mysql_query ("$query") or die (mysql_errno().": ".mysql_error());
152
			header("Location: ".$self);
153
		}
154
	}
155
	if (!$action)
156
	{
157
		$action="select_edit";
158
	}
159
	if (!$sort) {$sort='Zones';}
160
?>
161
<html>
162
<head>
163
<title>Domain - Eintrag</title>
164
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
165
<link rel=stylesheet type="text/css" href="redaktion.css">
166
<style type="text/css"><? require_once "redaktion.css"; ?></style>
167
<meta name="description" content="Redaktionssystem">
168
<meta name="author" content="Webagentur Niewerth">
169
<meta name="robots" content="noindex">
170
</head>
171
<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10" alink="#999999">
172
<form method="post" action="#" name="form" enctype="multipart/form-data">
173
  <table width="676" border="0" cellspacing="0" cellpadding="0">
174
    <tr valign="top">
175
      <td width="597" bgcolor="#FFFFFF">
176
        <!--  Auswahl Löschen START  -->
177
        <?
178
	if ($action=="delete")
179
	{
180
		$query="SELECT * FROM $DB ";
181
		$query=$query."order by $sort";
182
		$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error());
183
		if (mysql_num_rows($result) == 0)
184
		{
185
?>
186
        <p class="error">Es sind keine Daten eingetragen !</p>
187
<p></p>
188
<?
189
		}
190
		else
191
		{
192
?>
193
        <table width="100%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolordark="#999999">
194
          <tr bgcolor="#CCCCCC">
195
            <td colspan="4" class="headline">Domain-Eintrag: L&ouml;schen</td>
196
          </tr>
197
          <tr>
198
            <td width="63%" bgcolor="#666666"><a href="<? echo $self?>?action=delete&sort=Zones"><font color="#FFFFFF"><b>Server
199
              Name </b></font></a></td>
200
            <td bgcolor="#666666" width="23%"><a href="<? echo $self?>?action=delete&sort=IP"><font color="#FFFFFF"><b>IP</b></font></a></td>
201
            <td bgcolor="#666666" width="7%" align="center"><font color="#FFFFFF"><b>Logs</b></font></td>
202
            <td bgcolor="#666666" width="7%">&nbsp;</td>
203
          </tr>
204
          <?
205
	while ($zeile=mysql_fetch_array($result))
206
	{
207
	$von=date2human($zeile[von]);
208
	$bis=date2human($zeile[bis]);
209
?>
210
          <tr>
211
            <td width="63%">
212
              <?
213
				$zeile[Zones] = preg_split("/$newline/", $zeile[Zones]);
214
				echo $zeile[Zones][0];
215
			?>
216
            </td>
217
            <td width="23%">
218
              <? echo $zeile[IP] ?>
219
            </td>
220
            <td width="7%" align="center" nowrap>
221
			&nbsp;
222
              <? if ($zeile[custom_log_trigger] == 1) { ?>
223
              C
224
              <? } ?>
225
              <? if ($zeile[error_log_trigger] == 1) { ?>
226
              E
227
              <? } ?>
228
			&nbsp;
229
              </td>
230
            <td width="7%" align="center">
231
              <input type="checkbox" name="ID[]" value="<?  echo $zeile[ID] ?>">
232
            </td>
233
          </tr>
234
          <?
235
	} // end of while
236
?>
237
          <tr bgcolor="#CCCCCC">
238
            <td colspan="4" align="right">
239
              <input type="hidden" name="action" value='delete'>
240
              <input type="submit" value="LÖSCHEN">
241
              <input type="reset" name="Button22" value="Zur&uuml;cksetzen">
242
            </td>
243
          </tr>
244
        </table>
245
        <?
246
		} // end of else
247
?>
248
        <?
249
 	} // end of action = delete
250
?>
251
        <!--  Auswahl Löschen ENDE  -->
252
        <!--  Auswahl SELECT_EDIT START  -->
253
<?
254
  if ($action=="select_edit")
255
	{
256
	$query="SELECT * FROM $DB ";
257
	$query=$query."order by $sort";
258
 
259
	$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error());
260
	if (mysql_num_rows($result) == 0)
261
	{
262
	?>
263
        <p class="error">Es sind keine
264
            Daten eingetragen !</p>
265
          <p></p>
266
	<?
267
	}
268
	else
269
	{
270
	?>
271
        <table width="100%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolordark="#999999">
272
          <tr bgcolor="#339999">
273
            <td class="headline" colspan="4" bgcolor="#CCCCCC">Domain-Eintrag:
274
              Bearbeiten (<? echo $site ?>)</td>
275
          </tr>
276
          <tr>
277
            <td width="63%" bgcolor="#666666"><a href="<? echo $self?>?action=select_edit&sort=Zones"><font color="#FFFFFF"><b>Domain</b></font></a></td>
278
            <td bgcolor="#666666" width="23%"><a href="<? echo $self?>?action=select_edit&sort=IP"><font color="#FFFFFF"><b>IP</b></font></a></td>
279
            <td bgcolor="#666666" width="14%" align="center"><font color="#FFFFFF"><b>Logs</b></font></td>
280
          </tr>
281
          <?
282
	while ($zeile=mysql_fetch_array($result))
283
	{
284
		$von=date2human($zeile[von]);
285
		$bis=date2human($zeile[bis]);
286
 
287
?>
288
<tr>
289
	<td width="63%"><a href="<? echo $self?>?action=edit&ID=<? echo $zeile[ID]; ?>"><? $zeile[Zones] = preg_split("/$newline/", $zeile[Zones]); echo $zeile[Zones][0]; ?></a></td>
290
	<td><? echo $zeile[IP] ?></td><td align="center">&nbsp;<? if ($zeile[custom_log_trigger] == 1) { ?>C <? } ?><? if ($zeile[error_log_trigger] == 1) { ?>E<? } ?>&nbsp;</td>
291
</tr>
292
<?
293
	} // end of while
294
?>
295
          <tr bgcolor="#339999">
296
            <td colspan="4" bgcolor="#CCCCCC">
297
              <div align="right">&nbsp;
298
                <input type="hidden" name="action" value='edit'>
299
              </div>
300
            </td>
301
          </tr>
302
        </table>
303
        <?
304
	} // end of else
305
?>
306
        <?
307
 	} // end of select_edit
308
?>
309
        <!--  Auswahl SELECT_EDIT ENDE  -->
310
        <?
311
	if ($action=="edit")
312
	{
313
		if ($ID)
314
		{
315
			$result = mysql_query ("SELECT * FROM $DB where ID = '$ID'") or die (mysql_errno().": ".mysql_error());
316
			$zeile=mysql_fetch_array($result);
317
			$erstellt_am=datetime2human($zeile[erstellt_am]);
318
			$letzte_Aenderung_am=datetime2human($zeile[letzte_Aenderung_am]);
319
		}
320
	?>
321
<script language="javascript">
322
	function Vorlage(wert)
323
	{
324
<? if (!$ID) {
325
	require_once "$template_neu";
326
	}
327
?>
328
	}
329
</script>
330
        <table width="100%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolordark="#999999">
331
          <tr>
332
            <td colspan="2" class="headline" bgcolor="#CCCCCC">Domain-Eintrag:
333
              <?
334
				if ($ID)
335
				{
336
					?>
337
              Bearbeiten
338
              <?
339
				}
340
				else
341
				{
342
			?>
343
              Neueintrag
344
              <?
345
				}
346
			?>
347
              (<? echo $site ?>) </td>
348
          </tr>
349
          <tr>
350
            <td bgcolor="#CCCCCC" class="headline" width="20%" valign="top">Server
351
              Name(n):</td>
352
            <td class="headline">
353
              <textarea cols="60" name="Zones" rows="4" onChange="Vorlage(this.value)"><? echo $zeile[Zones] ?></textarea>
354
            </td>
355
          </tr>
356
          <tr>
357
            <td bgcolor="#CCCCCC" class="headline" width="20%">Virtual Host:</td>
358
            <td>
359
              <select name="IP">
360
                <?
361
				// selected ist die IP, die entweder bei Bearbeiten zuvor ausgewählt war oder bei einem Neueintrag in den Webpropertis des Webs als "Virtual Host IP" angegeben ist.
362
				?>
363
				<option<? if ($zeile[IP] == "195.126.140.57:80" or ((!$zeile[IP]) and $web_rechte[domain_admin][webserverad][ip_default]=="195.126.140.57:80")) {echo " selected";} ?>>195.126.140.57:80</option>
364
                <option<? if ($zeile[IP] == "195.126.140.58:80" or ((!$zeile[IP]) and $web_rechte[domain_admin][webserverad][ip_default]=="195.126.140.58:80")) {echo " selected";} ?>>195.126.140.58:80</option>
365
                <option<? if ($zeile[IP] == "195.126.140.59:80" or ((!$zeile[IP]) and $web_rechte[domain_admin][webserverad][ip_default]=="195.126.140.59:80")) {echo " selected";} ?>>195.126.140.59:80</option>
366
                <option<? if ($zeile[IP] == "195.126.140.60:80" or ((!$zeile[IP]) and $web_rechte[domain_admin][webserverad][ip_default]=="195.126.140.60:80")) {echo " selected";} ?>>195.126.140.60:80</option>
367
                <option<? if ($zeile[IP] == "195.126.140.61:80" or ((!$zeile[IP]) and $web_rechte[domain_admin][webserverad][ip_default]=="195.126.140.61:80")) {echo " selected";} ?>>195.126.140.61:80</option>
368
                <option<? if ($zeile[IP] == "195.126.140.62:80" or ((!$zeile[IP]) and $web_rechte[domain_admin][webserverad][ip_default]=="195.126.140.62:80")) {echo " selected";} ?>>195.126.140.62:80</option>
369
                <option<? if ($zeile[IP] == "195.126.140.63:80" or ((!$zeile[IP]) and $web_rechte[domain_admin][webserverad][ip_default]=="195.126.140.63:80")) {echo " selected";} ?>>195.126.140.63:80</option>
370
                <option<? if ($zeile[IP] == "195.126.140.64:80" or ((!$zeile[IP]) and $web_rechte[domain_admin][webserverad][ip_default]=="195.126.140.64:80")) {echo " selected";} ?>>195.126.140.64:80</option>
371
              </select>
372
            </td>
373
          </tr>
374
          <tr>
375
            <td bgcolor="#CCCCCC" class="headline" width="20%">Document Root:</td>
376
            <td>
377
              <input type="text" name="document_root" size=50 value="<? echo $zeile[document_root] ?>">
378
            </td>
379
          </tr>
380
          <tr>
381
            <td bgcolor="#CCCCCC" class="headline">Alias/_Errors:</td>
382
            <td class="headline">
383
              <input type="text" size="50" name="alias_error" value="<? echo $zeile[alias_error] ?>">
384
            </td>
385
          </tr>
386
          <tr>
387
            <td bgcolor="#CCCCCC" class="headline">Script Alias:</td>
388
            <td class="headline">
389
              <input type="text" size="50" name="cgi_bin" value="<? echo $zeile[cgi_bin] ?>">
390
            </td>
391
          </tr>
392
          <tr>
393
            <td bgcolor="#CCCCCC" class="headline">Error Log:</td>
394
            <td class="headline">
395
              <input type="text" size="25" name="error_log" value="<? echo $zeile[error_log] ?>">
396
              <input type="hidden" name="error_log_trigger" value="0">
397
              <input type="checkbox" name="error_log_trigger" value="1"<? if ($zeile[error_log_trigger] == 1) {echo " checked";} ?>>
398
              Eigene Error-Log-Datei verwenden</td>
399
          </tr>
400
          <tr>
401
            <td bgcolor="#CCCCCC" class="headline">Custom Log:</td>
402
            <td class="headline">
403
              <input type="text" size="25" name="custom_log" value="<? echo $zeile[custom_log] ?>">
404
              <input type="radio" name="custom_log_trigger" value="1"<? if ($zeile[custom_log_trigger] == 1) {echo " checked";} ?>>
405
              Eigene Custom-Log-Datei verwenden
406
             </td>
407
          </tr>
408
          <tr>
409
            <td bgcolor="#CCCCCC" class="headline">Global-Log</td>
410
            <td class="headline">
411
              <input type="text" size="25" name="global_log" value="<? echo $zeile[global_log] ?>">
412
              <input type="radio" name="custom_log_trigger" value="0"<? if ($zeile[custom_log_trigger] == 0) {echo " checked";} ?>>
413
              Daten in Global-Logdatei schreiben. </td>
414
          </tr>
415
          <tr>
416
            <td bgcolor="#CCCCCC" class="headline" valign="top">
417
              <p>sonstiges:</p>
418
            </td>
419
            <td class="headline">
420
              <textarea cols="100" name="sonstiges" rows="10" wrap="OFF"><? echo $zeile[sonstiges] ?></textarea>
421
            </td>
422
          </tr>
423
          <? if ($ID) { ?>
424
          <tr>
425
            <td bgcolor="#CCCCCC" class="headline" colspan="2">&nbsp;</td>
426
          </tr>
427
          <tr>
428
            <td bgcolor="#CCCCCC" class="headline" width="20%">erstellt:</td>
429
            <td>am:
430
              <? echo $erstellt_am[Datum] ?>
431
              &nbsp;&nbsp;um:
432
              <? echo $erstellt_am[Zeit] ?>
433
              &nbsp;&nbsp;von:
434
              <? echo $zeile[erstellt_von] ?>
435
            </td>
436
          </tr>
437
          <tr>
438
            <td bgcolor="#CCCCCC" class="headline" width="20%" nowrap>letzte &Auml;nderung:</td>
439
            <td>am:
440
              <? echo $letzte_Aenderung_am[Datum] ?>
441
              &nbsp;&nbsp;um:
442
              <? echo $letzte_Aenderung_am[Zeit] ?>
443
              &nbsp;&nbsp;von:
444
              <? echo $zeile[letzte_Aenderung_von] ?>
445
            </td>
446
          </tr>
447
          <? } ?>
448
          <tr>
449
            <td align="right" colspan="2" bgcolor="#CCCCCC">
450
              <input type="hidden" name="ID" value="<? echo $ID ?>">
451
              <input type="hidden" name="action" value="update">
452
              <input type="submit" value="     OK     ">
453
              <input type="reset" name="Button" value="Zur&uuml;cksetzen">
454
            </td>
455
          </tr>
456
        </table>
457
        <?
458
	}
459
?> </td>
460
      <td width="79" align="right" bordercolor="#CCCCCC">
461
        <table width="67" border="1" cellspacing="2" cellpadding="3" bordercolorlight="#000000" bordercolordark="#000000" bordercolor="#000000">
462
          <tr>
463
            <td bgcolor="#CCCCCC" bordercolor="#000000"><a href="<? echo $self ?>?action=edit">NEU</a></td>
464
  		</tr>
465
 	 	<tr>
466
            <td bgcolor="#CCCCCC" bordercolor="#000000"><a href="<? echo $self ?>?action=select_edit">BEARBEITEN</a></td>
467
  		</tr>
468
  		<tr>
469
            <td bgcolor="#CCCCCC" bordercolor="#000000"><a href="<? echo $self ?>?action=delete">LÖSCHEN</a></td>
470
  		</tr>
471
<!--
472
  		<tr>
473
            <td bgcolor="#CCCCCC" bordercolor="#000000">&nbsp;</td>
474
  		</tr>
475
  		<tr>
476
            <td bgcolor="#CCCCCC" bordercolor="#000000"><a href="javascript:;">ANWENDEN</a></td>
477
  		</tr>
478
-->
479
		</table>
480
      </td>
481
</tr>
482
</table>
483
</form>
484
</body>