Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?
        $self=basename($PHP_SELF);
        define ("modul_name", "domain_admin");
        define ("tool_name", "webserverad");
        require_once "../Online-Shop/connect2.php";

        if (!isset($web_rechte[modul_name][tool_name][websadmin]))
        {
                echo "<p>&nbsp;&nbsp;&nbsp;FEHLER: kein Recht !.</p>";
                exit;
        }       

        if (!$web_rechte[modul_name][tool_name][include_file])
        {
                echo "<p>&nbsp;&nbsp;&nbsp;FEHLER: keine Zieldatei (include_file) !.</p>";
                exit;
        }       

        if (!$web_rechte[modul_name][tool_name][define_tab])
        {
                echo "<p>&nbsp;&nbsp;&nbsp;FEHLER: keine Trafficdatei (define_tab) !.</p>";
                exit;
        }       

        $DB="Apache_Domains";
        $newline=chr(13).chr(10);
        $template_neu=$web_rechte[domain_admin][webserverad][template];

        if ($action=="update")
        {
                if (!$ID)
                {       // insert Dummy-Entry
                        $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')";
                        $result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>".$query."<hr>");
                        $ID=mysql_insert_id();

                        // Verzeichnisse erstellen
                        mkdir($document_root, 0755);
                        mkdir ($cgi_bin, 0755);
                }

                unset($HTTP_POST_VARS[action]);
                unset($HTTP_POST_VARS[ID]);

                foreach(array_keys($HTTP_POST_VARS) as $elem)
                {
                        if ($elem[0] == "_")
                        {
                                unset($HTTP_POST_VARS[$elem]);
                                $button=$$elem;
                                $elem=substr($elem,1);
                                $Pfad=$HTTP_POST_VARS[$elem."_Pfad"];
                                unset($HTTP_POST_VARS[$elem."_Pfad"]);
                                $image=$$elem;
                                $image_name=$elem."_name";
                                $image_name=urlencode($$image_name);
                                switch ($button) 
                                {
                                        case 0:
                                                break;
                                        case 1:
                                                $HTTP_POST_VARS[$elem]='';
                                                break;
                                        case 2:
                                                //$image_name=$ID."_".$image_name;
                                                $image_name=$ID.strrchr($image_name,".");
                                                $HTTP_POST_VARS[$elem]=$image_name;
                                                copy($image,$Pfad.$image_name);
                                        break;
                                    default:
                                        break;
                            }
                        }
                }
                $names=array();
                foreach(array_keys($HTTP_POST_VARS) as $elem)
                {
                        array_push($names,"$elem='$HTTP_POST_VARS[$elem]'");
                }
                $query="update $DB set ".join($names,', ');
                $query=$query." ,letzte_Aenderung_am=NOW(), letzte_Aenderung_von='$PHP_AUTH_USER' where ID = '$ID'";
                $result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>$query<hr>");

                //Marke setzen, dass Server neu gestartet werden soll. Incl. Zeitstempel
                $query="update content_management.dienst_start set starten = '1', zeitstempel = now() where (server ='apache' and reseller = '$site')";
                $result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>$query<hr>");
                if (mysql_affected_rows() == 0)
                {
                        $query="insert into content_management.dienst_start (starten,server,reseller) values ('1','apache','$site')";
                        $result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>$query<hr>");
                }

// ==========================================================================================================

                $include_file = $web_rechte[modul_name][tool_name][include_file];
                $include_file = fopen ($include_file, "w+");

                $define_tab = $web_rechte[modul_name][tool_name][define_tab];
                $define_tab = fopen ($define_tab, "w+");


                $query="SELECT * FROM $DB order by IP,Zones";
                $result = mysql_query ($query) or die (mysql_errno().": ".mysql_error());
                while ($zeile=mysql_fetch_array($result))
                {
                        $zeile[Zones] = preg_split("/$newline/", $zeile[Zones]);
                        foreach ($zeile[Zones] as $elem)
                        {
                                if ($elem != "")
                                {
//----------------------------------------------------------------------
                                        $buffer=preg_split("/\./", $elem);
                                        if (count($buffer) == 2)
                                        {
                                                fwrite ($define_tab,"$elem:$zeile[global_log]\n");
                                        }
//----------------------------------------------------------------------

                                        $content = array (
                                                "<VirtualHost $zeile[IP]>",
                                                "DocumentRoot" => "DocumentRoot $zeile[document_root]",
                                                "Alias" => "Alias /_errors $zeile[alias_error]",
                                                "ScriptAlias" => "ScriptAlias /cgi-bin/ \"".$zeile[cgi_bin]."\"",
                                                "ServerName" => "ServerName $elem",
                                                "ErrorLog" => "ErrorLog $zeile[error_log]",
                                                "CustomLog" => "CustomLog \"|/usr/local/sbin/cronolog $zeile[custom_log]\" common",
                                                "sonstiges" => "$zeile[sonstiges]",
                                                "</VirtualHost>\n\n"
                                        );
                                        if ($zeile[custom_log_trigger] == 0) {unset($content[CustomLog]);}
                                        if ($zeile[error_log_trigger] == 0) {unset($content[ErrorLog]);}
                                        if (!$zeile[sonstiges]) {unset($content[sonstiges]);}                                   

                                        $content=join("\n",$content);
                                        fwrite ($include_file,$content,strlen($content));
                                }
                        }
                }

                fclose ($define_tab);
                fclose ($include_file);
// ==========================================================================================================
                header("Location: ".$self);  
        }

        if ($action=="delete")
        {
                if ($ID)
                {
                        $condition=array();
                        foreach ($ID as $elem) 
                        {
                                array_push($condition," ID = '$elem'");
                        }
                        $cond=join(" or ",$condition);
                        $query = "DELETE FROM $DB WHERE $cond";
                        $result = mysql_query ("$query") or die (mysql_errno().": ".mysql_error());
                        header("Location: ".$self);  
                }
        }
        if (!$action) 
        {
                $action="select_edit";
        }
        if (!$sort) {$sort='Zones';}
?>
<html>
<head>
<title>Domain - Eintrag</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel=stylesheet type="text/css" href="redaktion.css">
<style type="text/css"><? require_once "redaktion.css"; ?></style>
<meta name="description" content="Redaktionssystem">
<meta name="author" content="Webagentur Niewerth">
<meta name="robots" content="noindex">
</head>
<body bgcolor="#FFFFFF" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10" alink="#999999">
<form method="post" action="#" name="form" enctype="multipart/form-data">
  <table width="676" border="0" cellspacing="0" cellpadding="0">
    <tr valign="top"> 
      <td width="597" bgcolor="#FFFFFF"> 
        <!--  Auswahl Löschen START  -->
        <?  
        if ($action=="delete") 
        {
                $query="SELECT * FROM $DB ";
                $query=$query."order by $sort";
                $result = mysql_query ($query) or die (mysql_errno().": ".mysql_error());
                $count = mysql_num_rows($result);
                if ($count == 0)
                {
?>
        <p class="error">Es sind keine Daten eingetragen !</p>
<p></p>
<?
                }
                else
                {
?>
        <table width="100%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolordark="#999999">
          <tr bgcolor="#CCCCCC"> 
            <td colspan="4" class="headline">Domain-Eintrag: L&ouml;schen - 
              <? echo $count ?>
              Eintr&auml;ge</td>
          </tr>
          <tr> 
            <td width="63%" bgcolor="#666666"><a href="<? echo $self?>?action=delete&sort=Zones"><font color="#FFFFFF"><b>Server 
              Name </b></font></a></td>
            <td bgcolor="#666666" width="23%"><a href="<? echo $self?>?action=delete&sort=IP"><font color="#FFFFFF"><b>IP</b></font></a></td>
            <td bgcolor="#666666" width="7%" align="center"><font color="#FFFFFF"><b>Logs</b></font></td>
            <td bgcolor="#666666" width="7%">&nbsp;</td>
          </tr>
          <?
        while ($zeile=mysql_fetch_array($result))
        {
        $von=date2human($zeile[von]);
        $bis=date2human($zeile[bis]);
?>
          <tr> 
            <td width="63%"> 
              <?
                                $zeile[Zones] = preg_split("/$newline/", $zeile[Zones]);
                                echo $zeile[Zones][0]; 
                        ?>
            </td>
            <td width="23%"> 
              <? echo $zeile[IP] ?>
            </td>
            <td width="7%" align="center" nowrap> &nbsp; 
              <? if ($zeile[custom_log_trigger] == 1) { ?>
              C 
              <? } ?>
              <? if ($zeile[error_log_trigger] == 1) { ?>
              E 
              <? } ?>
              &nbsp; </td>
            <td width="7%" align="center"> 
              <input type="checkbox" name="ID[]" value="<?  echo $zeile[ID] ?>">
            </td>
          </tr>
          <?
        } // end of while
?>
          <tr bgcolor="#CCCCCC"> 
            <td colspan="4" align="right"> 
              <input type="hidden" name="action" value='delete'>
              <input type="submit" value="LÖSCHEN">
              <input type="reset" name="Button22" value="Zur&uuml;cksetzen">
            </td>
          </tr>
        </table>
        <?
                } // end of else
?>
        <?
        } // end of action = delete
?>
        <!--  Auswahl Löschen ENDE  -->
        <!--  Auswahl SELECT_EDIT START  -->
<?
  if ($action=="select_edit") 
        {
        $query="SELECT * FROM $DB ";
        $query=$query."order by $sort";

        $result = mysql_query ($query) or die (mysql_errno().": ".mysql_error());
        $count = mysql_num_rows($result);
        if ($count == 0)
        {
        ?>
        <p class="error">Es sind keine 
            Daten eingetragen !</p>
          <p></p>
        <?
        }
        else
        {
        ?>
        <table width="100%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolordark="#999999">
          <tr bgcolor="#339999"> 
            <td class="headline" bgcolor="#CCCCCC" colspan="3">Domain-Eintrag: 
              Bearbeiten ( 
              <? echo $site ?>
              ) - 
              <? echo $count ?>
              Eintr&auml;ge</td>
          </tr>
          <tr> 
            <td width="63%" bgcolor="#666666"><a href="<? echo $self?>?action=select_edit&sort=Zones"><font color="#FFFFFF"><b>Domain</b></font></a></td>
            <td bgcolor="#666666" width="23%"><a href="<? echo $self?>?action=select_edit&sort=IP"><font color="#FFFFFF"><b>IP</b></font></a></td>
            <td bgcolor="#666666" width="14%" align="center"><font color="#FFFFFF"><b>Logs</b></font></td>
          </tr>
          <?
        while ($zeile=mysql_fetch_array($result))
        {
                $von=date2human($zeile[von]);
                $bis=date2human($zeile[bis]);

?>
          <tr> 
            <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>
            <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>
          </tr>
          <?
        } // end of while
?>
          <tr bgcolor="#339999"> 
            <td colspan="4" bgcolor="#CCCCCC"> 
              <div align="right">&nbsp; 
                <input type="hidden" name="action" value='edit'>
              </div>
            </td>
          </tr>
        </table>
        <?
        } // end of else
?>
        <?
        } // end of select_edit
?>
        <!--  Auswahl SELECT_EDIT ENDE  -->
        <?
        if ($action=="edit")
        {
                if ($ID)
                {
                        $result = mysql_query ("SELECT * FROM $DB where ID = '$ID'") or die (mysql_errno().": ".mysql_error());
                        $zeile=mysql_fetch_array($result);
                        $erstellt_am=datetime2human($zeile[erstellt_am]);
                        $letzte_Aenderung_am=datetime2human($zeile[letzte_Aenderung_am]);
                }
        ?>
<script language="javascript">
        function Vorlage(wert)
        {
<? if (!$ID) {
        require_once "$template_neu";
        }
?>
        }
</script>
        <table width="100%" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolordark="#999999">
          <tr> 
            <td colspan="2" class="headline" bgcolor="#CCCCCC">Domain-Eintrag: 
              <?
                                if ($ID)
                                {
                                        ?>
              Bearbeiten 
              <?
                                }
                                else
                                {
                        ?>
              Neueintrag 
              <?
                                }
                        ?>
              (<? echo $site ?>) </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline" width="20%" valign="top">Server 
              Name(n):</td>
            <td class="headline"> 
              <textarea cols="60" name="Zones" rows="4" onChange="Vorlage(this.value)"><? echo $zeile[Zones] ?></textarea>
            </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline" width="20%">Virtual Host:</td>
            <td> 
              <select name="IP">
                <?
                                // 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.
                                ?>
                                <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>
                <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>
                <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>
                <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>
                <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>
                <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>
                <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>
                <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>
              </select>
            </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline" width="20%">Document Root:</td>
            <td> 
              <? if ($ID) { ?><? echo $zeile[document_root] ?><? } else { ?><input type="text" name="document_root" size=50 value="<? echo $zeile[document_root] ?>"><? } ?>
            </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline">Alias/_Errors:</td>
            <td class="headline"> 
              <input type="text" size="50" name="alias_error" value="<? echo $zeile[alias_error] ?>">
            </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline">Script Alias:</td>
            <td> 
              <? if ($ID) { ?><? echo $zeile[cgi_bin] ?><? } else { ?><input type="text" name="cgi_bin" size=50 value="<? echo $zeile[cgi_bin] ?>"><? } ?>
            </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline">Error Log:</td>
            <td class="headline"> 
              <input type="text" size="25" name="error_log" value="<? echo $zeile[error_log] ?>">
              <input type="hidden" name="error_log_trigger" value="0">
              <input type="checkbox" name="error_log_trigger" value="1"<? if ($zeile[error_log_trigger] == 1) {echo " checked";} ?>>
              Eigene Error-Log-Datei verwenden</td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline">Custom Log:</td>
            <td class="headline">
              <input type="text" size="25" name="custom_log" value="<? echo $zeile[custom_log] ?>">
              <input type="radio" name="custom_log_trigger" value="1"<? if ($zeile[custom_log_trigger] == 1) {echo " checked";} ?>>
              Eigene Custom-Log-Datei verwenden
             </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline">Global-Log</td>
            <td class="headline">
              <input type="text" size="25" name="global_log" value="<? echo $zeile[global_log] ?>">
              <input type="radio" name="custom_log_trigger" value="0"<? if ($zeile[custom_log_trigger] == 0) {echo " checked";} ?>>
              Daten in Global-Logdatei schreiben. </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline" valign="top"> 
              <p>sonstiges:</p>
            </td>
            <td class="headline"> 
              <textarea cols="100" name="sonstiges" rows="10" wrap="OFF"><? echo $zeile[sonstiges] ?></textarea>
            </td>
          </tr>
          <? if ($ID) { ?>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline" colspan="2">&nbsp;</td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline" width="20%">erstellt:</td>
            <td>am: 
              <? echo $erstellt_am[Datum] ?>
              &nbsp;&nbsp;um: 
              <? echo $erstellt_am[Zeit] ?>
              &nbsp;&nbsp;von: 
              <? echo $zeile[erstellt_von] ?>
            </td>
          </tr>
          <tr> 
            <td bgcolor="#CCCCCC" class="headline" width="20%" nowrap>letzte &Auml;nderung:</td>
            <td>am: 
              <? echo $letzte_Aenderung_am[Datum] ?>
              &nbsp;&nbsp;um: 
              <? echo $letzte_Aenderung_am[Zeit] ?>
              &nbsp;&nbsp;von: 
              <? echo $zeile[letzte_Aenderung_von] ?>
            </td>
          </tr>
          <? } ?>
          <tr> 
            <td align="right" colspan="2" bgcolor="#CCCCCC"> 
              <input type="hidden" name="ID" value="<? echo $ID ?>">
              <input type="hidden" name="action" value="update">
              <input type="submit" value="     OK     ">
              <input type="reset" name="Button" value="Zur&uuml;cksetzen">
            </td>
          </tr>
        </table>
        <?
        }
?> </td>
      <td width="79" align="right" bordercolor="#CCCCCC"> 
        <table width="67" border="1" cellspacing="2" cellpadding="3" bordercolorlight="#000000" bordercolordark="#000000" bordercolor="#000000">
          <tr> 
            <td bgcolor="#CCCCCC" bordercolor="#000000"><a href="<? echo $self ?>?action=edit">NEU</a></td>
                </tr>
                <tr> 
            <td bgcolor="#CCCCCC" bordercolor="#000000"><a href="<? echo $self ?>?action=select_edit">BEARBEITEN</a></td>
                </tr>
                <tr> 
            <td bgcolor="#CCCCCC" bordercolor="#000000"><a href="<? echo $self ?>?action=delete">LÖSCHEN</a></td>
                </tr>
<!--
                <tr> 
            <td bgcolor="#CCCCCC" bordercolor="#000000">&nbsp;</td>
                </tr>
                <tr> 
            <td bgcolor="#CCCCCC" bordercolor="#000000"><a href="javascript:;">ANWENDEN</a></td>
                </tr>
-->
                </table>
      </td>
</tr>
</table>
</form>
</body>