\n";
print_r($_SERVER);
echo "
\n";
}
if( is_array( $_SERVER ) ){
$domain = $_SERVER['HTTP_HOST'];
$port = $_SERVER['SERVER_PORT'];
}elseif( is_array( $HTTP_SERVER_VARS ) ){
$domain = $HTTP_SERVER_VARS['HTTP_HOST'];
$port = $HTTP_SERVER_VARS['SERVER_PORT'];
}
db_connect();
if( ! ( isset($confixx_IP) && $confixx_domain ) ) {
$id = safe_query2("SELECT confixx_ip, confixx_domain FROM admin WHERE server_id='$ServerID'");
list( $confixx_IP, $confixx_domain ) = db_fetch_array( $id, 'N' );
db_free_query( $id );
}
if( $domain == $confixx_IP ){
newLocation((($port==443)? 'https': 'http')."://$confixx_domain");
exit;
}
$id = safe_query2( "SELECT kunden.gesperrt FROM domains ".
" LEFT JOIN kunden ON kunden.kunde=domains.kunde AND domains.server_id=kunden.server_id ".
" WHERE domains.server_id='$ServerID' AND domains.domain=?",
new SQLString( $domain ) );
$found = db_num_rows( $id );
if( $found ){
list($locked) = db_fetch_array( $id, 'N' );
}
db_free_query( $id );
if( isset( $locked ) && $locked ){
if( file_exists( 'locked.php' ) ){
newLocation( "http://$domain/locked.php?domain=$domain" );
exit;
}else{
$err_message = ltext( 'catch_locked', $domain );
}
}else{
if( $port == 443 ){
$err_message = ltext( 'catch_not_avlbl_ssl', $domain );
}else{
$err_message = ltext( 'catch_not_avlbl', $domain );
}
}
if( preg_match( '/^\d+\.\d+\.\d+\.\d+$/', $domain ) ){
$id = db_query( "SELECT i.kunde, k.gesperrt FROM ipadressen i, kunden k ".
" WHERE i.kunde = k.kunde AND i.ip='$domain' AND i.server_id='$ServerID' AND k.server_id='$ServerID'" );
if( db_num_rows( $id ) ){ // exclusive IP
list( $kunde, $locked ) = db_fetch_array( $id, 'N' );
$newLocation = '';
if( $locked ){
if( file_exists( 'locked.php' ) ){
$newLocation = "http://$domain/locked.php?domain=$domain";
}else{
$err_message =ltext( 'catch_locked', $domain );
}
} else {
db_free_query( $id );
$sql = "SELECT domain,pfad,richtigedomain FROM domains ".
" WHERE kunde='$kunde' AND server_id='$ServerID'".
" AND ( richtigedomain != 5 ) AND ( domain NOT LIKE '*.%' )";
if( $port == 443 ){
$sql .= " AND ( cssl != 0 )";
}
$id = db_query( $sql );
$minLevel = 99;
$minSize = 300;
while( list( $newDomain, $path, $level ) = db_fetch_array( $id, 'N' ) ){
if( strpos( $path, '/' ) === 0 ){ // real path
$newSize = strlen($path);
if( ( $newSize < $minSize ) ||
( ( $newSize == $minSize ) && ( $level < $minLevel ) ) ){
// to find domains.richtigedomain == 1 && domains.pfad == '/'
$minSize = $newSize;
$minLevel = $level;
$newLocation = $newDomain;
$newLocation = (($port==443)? 'https': 'http').'://'.$newDomain;
}
}elseif( ! $newLocation ){ // redirect
$newLocation = $newDomain;
}
}
db_free_query( $id );
}
if( $newLocation ){
newLocation( $newLocation );
exit;
}
}
db_free_query( $id );
}
?>
Confixx