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