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