<?php
/*************************************************************************************************

    ddnsdeletehostname.php

    Delete DDNS hostname record

        2013.07.27 Ver.1.0 Masashi.org

***************************************************************************************************/
include "ddnscommon.php";

//
include "del_nday_file.php";
if(
del_nday_file(1)){die();}
//
/**** Settings ****/
/* List of Domain names */
$link mysql_connect($db_host $db_user $db_pass) OR die(mysql_error());
mysql_select_db($db_name$link);
$sql "SELECT * FROM domain";
$rs mysql_query($sql,$link);
$ct mysql_num_rows($rs);
for(
$i=0;$i<$ct;$i++){
        
$domains[$i] = mysql_result($rs,$i);
}

mysql_close($link);

/**** Initialize POST data into array ****/
$array = array("username","password","subdomain","confirm","domain");
$sizeofarray sizeof($array);
for(
$i=0;$i<$sizeofarray;$i++){
    $
$array[$i] = $_POST["{$array[$i]}"];
}

/******************************  Output HTML headers  **********************************************/
include "ddnsheader.php";
echo<<<EOH
<TITLE>Delete Hostname for DDNS -{$org_name}-</TITLE>
</HEAD>
EOH;

echo<<<EOH
<BODY>
<h1>Delete Hostname for DDNS</h1>
<br />
EOH;

/*************************************************************************************************

    If there is no POST data, display Input Form.

        -If any of them is missing, go to input form.
        -If any one of them is sent, warn items missing.
        -If IP address is not provided by POST method, get ip address from the remote host address.

***************************************************************************************************/
if(!($username && $password && $subdomain && $confirm && $domain)){
    if(
$username || $password || $subdomain || $domain){
        if(!
$username){
            
$msg .= "User ID is missing.<br />";
        }
        if(!
$password){
            
$msg .= "Password is missing.<br />";
        }
        if(!
$subdomain){
            
$msg .= "Hostname is missing.<br />";
        }
        if(!
$confirm){
            
$msg .= "Deleting the Hostname is not confirmed.<br />";
        }
        if(!
$domain){
            
$msg .= "Domain name is not selected.<br />";
        }
        echo 
"<font color=\"red\">$msg</font>";
    }
echo <<<EOF
<form action="{$_SERVER['PHP_SELF']}" method="post">
    <table border=0>
        <tr>
            <td>User ID</td><td>:</td>
            <td>
                <input type="text" name="username" size=20 maxlength=20 value="
$username">
            </td>
        </tr>
        <tr>
            <td>Password</td><td>:</td>
            <td>
                <input type="password" name="password" size=20 maxlength=20>
            </td>
        </tr>
        <tr>
            <td>Hostname</td><td>:</td>
            <td>
                <input type="text" name="subdomain" size=20 maxlength=20 value="
$subdomain">
                <select name="domain">
                <option value="">- Select Domain Name -
EOF;
                
// Create Index from array of $domain
                
for($i=0;$domains[$i];$i++){
                    if(
$domains[$i] == $domain){
                        echo 
"<option value=\"{$domains[$i]}\" selected>.{$domains[$i]}\n";
                    }else{
                        echo 
"<option value=\"{$domains[$i]}\">.{$domains[$i]}\n";
                    }
                }
                echo <<<EOF
                </select>
                <input type="checkbox" name="confirm" value="1">(Confirm deleting this Hostname.)
            </td>
        </tr>
    </table>
    <br />
    <input type="submit" value="Delete Hostname">
</form>
EOF;

/*************************************************************************************************

    If POST data is ready, process them
       compare with data in the database.

***************************************************************************************************/
}else{
    
$link mysql_connect($db_host $db_user $db_pass) OR die(mysql_error());
    
mysql_select_db($db_name$link);
    
$hostname =$subdomain.".".$domain;
    
$sql sprintf("SELECT * FROM hostdata WHERE hostname='%s'",
        
mysql_real_escape_string($hostname));
    
$rs mysql_query($sql,$link);
    
$item mysql_fetch_array($rs);
    if(!
$item){
        echo 
"Invalid Hostname\n";
    }elseif(
$username != $item['username']){
        echo 
"\"",$hostname,"\" is not yours.";
    }else{
        
$pw_md5 md5($password);
        
$sql sprintf("SELECT * FROM userdata WHERE username='%s' AND password='%s'",
            
mysql_real_escape_string($username),
            
mysql_real_escape_string($pw_md5));
        
$rs mysql_query($sql,$link);
        
$item mysql_fetch_array($rs);
        if(!
$item){
            echo 
"Username or Password is not correct.";
        }else{
            
$dat[0] = "update delete $hostname\n";
            
$dat[1] = "\n";
            
$update_file "./temporary/$hostname.txt";
            
touch($update_file);
            
$fp fopen($update_file,'w');
            for(
$i=0;$dat[$i];$i++){
                
fputs($fp,$dat[$i]);
            }
            
fclose($fp);
            
$status shell_exec($sudo_cmd." ".$nsupdate_cmd." -k ".$nsupdate_key." ".$update_file);
            
unlink($update_file);
            
$sql sprintf("DELETE FROM hostdata WHERE hostname='%s'",
                
mysql_real_escape_string($hostname));
            
$rs mysql_query($sql,$link);
            echo 
"\"",$hostname,"\" has been deleted.";
        }
    }
    
mysql_close($link);
}
?>
<hr />
<a href="./">Return to home</a> -<?php echo $org_name?>-
</BODY>
</HTML>