<?
include('config.inc.php');
function gpc($name) {
return get_magic_quotes_gpc()?stripslashes($_REQUEST[$name]):$_REQUEST[$name];
}
function est($string) {
return mysql_escape_string($string);
}
function dr($error, $message = null) {
global $server;
$out = $error?'ERROR':'SUCCESS';
if ($message) $out .= '|'.$message;
if ($error) {
define_syslog_variables();
openlog("plesk-dnsbackup", LOG_CONS, LOG_USER);
syslog(LOG_WARNING, $server."(".$_SERVER['REMOTE_ADDR'].") - $message");
}
die($out);
}
$key = gpc('key');
$server = gpc('server');
if (!isset($auth[$server])||$auth[$server]['key'] != $key) {
dr(true,'authorization denied');
}
if (!mysql_connect($dbhost,$dbuser,$dbpass)) die('ERROR|Unable to Connect to Database');
if (!mysql_select_db($dbdatabase)) die('ERROR|Unable to select database');
if ($_REQUEST['action'] == 'add') {
$domain = gpc('new_domain_name');
$sql = 'SELECT `id`, `name`, `master`, `type` FROM `domains` WHERE `name` = "'.est($domain).'";';
$query = mysql_query($sql);
if (!$query) dr(true,'Query Error '.mysql_error().' Query - '.$sql);
if (mysql_num_rows($query)) {
$row = mysql_fetch_assoc($query);
dr(true,'Domain ('.$domain.') Already Exists');
} else {
$sql = 'INSERT INTO `domains` (`name`, `master`, `type`) VALUES ("'.est($domain).'", "'.est($auth[$server]['ip']).'","SLAVE");';
if (!mysql_query($sql)) dr(true,'Query Error '.mysql_error().' Query - '.$sql);
dr(false);
}
} elseif ($_REQUEST['action'] == 'del') {
$domain = gpc('old_domain_name');
$sql = 'SELECT `id` FROM `domains` WHERE `name` = "'.est($domain).'" AND `type` = "SLAVE" AND `master` = "'.est($auth[$server]['ip']).'";';
$query = mysql_query($sql);
if (!$query) dr(true,'Query Error '.mysql_error().' Query - '.$sql);
if (mysql_num_rows($query)) {
$sql = 'DELETE FROM `domains` WHERE `name` = "'.est($domain).'" AND `type` = "SLAVE" AND `master` = "'.est($auth[$server]['ip']).'";';
if (!mysql_query($sql)) dr(true,'Query Error '.mysql_error().' Query - '.$sql);
dr(false);
} else {
dr(true,"domain (".$domain.") does not exist");
}
} elseif ($_REQUEST['action'] == 'up') {
$new_domain = gpc('new_domain_name');
$old_domain = gpc('old_domain_name');
if ($new_domain == $old_domain) {
$sql = 'SELECT `id` FROM `domains` WHERE `name` = "'.est($new_domain).'" AND `type` = "SLAVE" AND `master` = "'.est($auth[$server]['ip']).'";';
$query = mysql_query($sql);
if (!$query) dr(true,'Query Error '.mysql_error().' Query - '.$sql);
if (mysql_num_rows($query)) {
dr(false);
} else {
dr(true,'Domain ('.$new_domain.') does not exist to update');
}
}
$sql = 'UPDATE `domains` SET `name` = "'.est($new_domain).'" WHERE `name` = "'.est($old_domain).'" AND `type` = "SLAVE" AND `master` = "'.est($auth[$server]['ip']).'";';
if (!mysql_query($sql)) dr(true,'Query Error '.mysql_error().' Query - '.$sql);
if (mysql_affected_rows()) {
dr(false);
} else {
dr(true,"Domain (".$old_domain.") does not exist, could not update to (".$new_domain.")");
}
} else {
dr(true,"Unknown Action");
}