[feladat @ 117]
Fixed a bug reported by Balazs Petrikovics. i18n doesn't work correctly on FreeBSD.
<?php
/* PowerAdmin, a friendly web-based admin tool for PowerDNS.
* See <https://rejo.zenger.nl/poweradmin> for more details.
*
* Copyright 2007, 2008 Rejo Zenger <rejo@zenger.nl>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
require_once("inc/toolkit.inc.php");
// Assigning records to user: Check for records owned by user
$recordOwnerError = '';
if (isset($_POST["action"]) && $_POST["action"]=="record-user") {
if (!is_array($_POST['rowid'])) {
$recordOwnerError = 'No records where selected to assign an sub-owner.';
} else {
foreach ($_POST["rowid"] as $x_user => $recordid){
$x_userid = $db->queryOne("SELECT id FROM record_owners WHERE user_id = ".$db->quote($_POST["userid"])." AND record_id=".$db->quote($recordid));
if (empty($x_userid)) {
add_record_owner($_GET["id"],$_POST["userid"],$recordid);
}
}
}
}
if(isset($_POST['change_slave_master']) && is_numeric($_POST["domain"]) && level(5))
{
change_domain_slave_master($_POST['domain'], $_POST['slave_master']);
}
if(isset($_POST['type_change']) && in_array($_POST['newtype'], $server_types))
{
change_domain_type($_POST['newtype'], $_GET['id']);
}
if(isset($_POST["newowner"]) && is_numeric($_POST["domain"]) && is_numeric($_POST["newowner"]))
{
add_owner($_POST["domain"], $_POST["newowner"]);
}
if(isset($_POST["del_user"]) && is_numeric($_POST["del_user"]) && level(5))
{
delete_owner($_GET["id"], $_POST["del_user"]);
}
$info = get_domain_info_from_id($_GET["id"]);
include_once("inc/header.inc.php");
$domain_type=get_domain_type($_GET['id']);
if ($domain_type == "SLAVE" ) { $slave_master=get_domain_slave_master($_GET['id']); };
if (strlen($recordOwnerError)) {
?>
<div class="error"><?php echo _('Error'); ?>: <?php echo _($recordOwnerError); ?></div>
<?php
}
if(!isset($info["ownerid"]) && $domain_type != "SLAVE")
{
?>
<div class="error"><? echo _('Error'); ?>: <? echo ('There is no owner for this zone, please assign someone.'); ?></div>
<?
}
if ($domain_type == "SLAVE" && ! $slave_master )
{
?>
<div class="error"><? echo _('Error'); ?>: <? echo _('Type of this zone is "slave", but there is no IP address for it\'s master given.'); ?></div>
<?
}
?>
<h2><? echo _('Edit zone'); ?> "<? echo get_domain_name_from_id($_GET["id"]) ?>"</h2>
<?
if (level(5))
{ ?>
<div id="meta">
<div id="meta-left">
<table>
<tr>
<th colspan="2"><? echo _('Owner of zone'); ?></th>
</tr>
<?
if(isset($info["ownerid"]))
{
$userRes = get_users_from_domain_id($_GET["id"]);
foreach($userRes as $user)
{ ?>
<tr>
<form method="post" action="edit.php?id=<? echo $_GET['id']?>">
<td>
<? echo $user["fullname"]?>
</td>
<td>
<input type="hidden" name="del_user" value="<? echo $user["id"]?>">
<input type="submit" class="sbutton" name="co" value="<? echo _('Delete'); ?>">
</td>
</form>
</tr>
<?
}
}
else
{
?>
<tr>
<td><? echo _('No owner set or this zone!'); ?></td>
</tr>
<?
}
?>
<tr>
<form method="post" action="edit.php?id=<? echo $_GET['id']?>">
<td>
<input type="hidden" name="domain" value="<? echo $_GET["id"] ?>">
<select name="newowner">
<?
$users = show_users();
foreach ($users as $u)
{
unset($add);
if ($u["id"] == $info["ownerid"])
{
$add = " SELECTED";
}
?>
<option<? echo $add ?> value="<? echo $u["id"] ?>"><? echo $u["fullname"] ?></option><?
}
?>
</select>
</td>
<td>
<input type="submit" class="sbutton" name="co" value="<? echo _('Add'); ?>">
</td>
</form>
</tr>
</table>
</div> <? // eo div meta-left ?>
<div id="meta-right">
<table>
<tr>
<th colspan="2"><? echo _('Type of zone'); ?></th>
</tr>
<form action="<? echo $_SERVER['PHP_SELF']?>?id=<? echo $_GET['id']?>" method="post">
<input type="hidden" name="domain" value="<? echo $_GET["id"] ?>">
<tr>
<td>
<select name="newtype">
<?
foreach($server_types as $s)
{
unset($add);
if ($s == $domain_type)
{
$add = " SELECTED";
}
?>
<option<? echo $add ?> value="<? echo $s?>"><? echo $s?></option><?
}
?>
</select>
</td>
<td>
<input type="submit" class="sbutton" name="type_change" value="<? echo _('Change'); ?>">
</td>
</tr>
</form>
<?
if ($domain_type == "SLAVE" )
{
$slave_master=get_domain_slave_master($_GET['id']);
?>
<tr>
<th colspan="2">
<? echo _('IP address of master NS'); ?>
</th>
</tr>
<form action="<? echo $_SERVER['PHP_SELF']?>?&id=<? echo $_GET['id']?>" method="post">
<input type="hidden" name="domain" value="<? echo $_GET["id"] ?>">
<tr>
<td>
<input type="text" name="slave_master" value="<? echo $slave_master; ?>" class="input">
</td>
<td>
<input type="submit" class="sbutton" name="change_slave_master" value="<? echo _('Change'); ?>">
</td>
</tr>
</form>
<?
}
?>
</table>
</div> <? // eo div meta-right ?>
</div> <? // eo div meta
}
else
{
?>
<div id="meta">
<div id="meta-right">
<table>
<tr>
<th><? echo _('Type of zone'); ?></th><td class="y"><? echo $domain_type; ?></td>
</tr>
<?
if ($domain_type == "SLAVE" && $slave_master )
{
?>
<tr>
<th><? echo _('IP address of master NS'); ?></th><td class="y"><? echo $slave_master; ?></td>
</tr>
<?
}
?>
</table>
</div> <? //eo div meta-right ?>
</div> <? // eo div meta
}
?>
<div id="meta">
<?
if ($_SESSION[$_GET["id"]."_ispartial"] != 1 && $domain_type != "SLAVE" )
{
?>
<input type="button" class="button" OnClick="location.href='add_record.php?id=<? echo $_GET["id"] ?>'" value="<? echo _('Add record'); ?>">
<?
}
if (level(5))
{
?>
<input type="button" class="button" OnClick="location.href='delete_domain.php?id=<? echo $_GET["id"] ?>'" value="<? echo _('Delete zone'); ?>">
<?
}
?>
</div> <? // eo div meta ?>
<div class="showmax">
<?
show_pages($info["numrec"],ROWAMOUNT,$_GET["id"]);
?>
</div> <? // eo div showmax ?>
<form action="<? echo $_SERVER["PHP_SELF"]?>?id=<? echo $_GET["id"]?>" method="post">
<input type="hidden" name="action" value="record-user">
<table>
<?
$countinput=0;
$rec_result = get_records_from_domain_id($_GET["id"],ROWSTART,ROWAMOUNT);
if($rec_result != -1)
{
?>
<tr>
<th> </th>
<?
if (level(10) && $domain_type != "SLAVE")
{
echo "<th class=\"n\">" . _('Sub-owners') . "</td>";
}
?>
<th><? echo _('Name'); ?></th>
<th><? echo _('Type'); ?></th>
<th><? echo _('Content'); ?></th>
<th><? echo _('Priority'); ?></th>
<th><? echo _('TTL'); ?></th>
</tr>
<?
$recs = sort_zone($rec_result);
foreach($recs as $r)
{
?>
<tr>
<td class="n">
<?
if ($domain_type != "SLAVE" )
{
if(level(5) || (!($r["type"] == "SOA" && !$GLOBALS["ALLOW_SOA_EDIT"]) && !($r["type"] == "NS" && !$GLOBALS["ALLOW_NS_EDIT"])))
{
?>
<a href="edit_record.php?id=<? echo $r['id'] ?>&domain=<? echo $_GET["id"] ?>"><img src="images/edit.gif" alt="[ <? echo _('Edit record'); ?> ]"></a>
<a href="delete_record.php?id=<? echo $r['id'] ?>&domain=<? echo $_GET["id"] ?>"><img src="images/delete.gif" ALT="[ <? echo _('Delete record'); ?> ]" BORDER="0"></a>
<?
}
}
if(level(10) && $domain_type != "SLAVE")
{
?>
<input type="checkbox" name="rowid[<? echo $countinput++?>]" value="<? echo $r['id']?>" />
<?
}
?>
</td>
<?
if (level(10) && $domain_type != "SLAVE")
{
?>
<td class="n">
<?
$x_result = $db->query("SELECT r.user_id,u.username,u.fullname FROM record_owners as r, users as u WHERE r.record_id=".$db->quote($r['id'])." AND u.id=r.user_id");
echo "<select style=\"width:120px;\">";
while ($x_r = $x_result->fetchRow()) {
echo "<option value=\"".$x_r["username"]."\">".$x_r["fullname"]."</option>";
}
echo "</select>";
?>
</td>
<?
}
?>
<td class="y"><? echo $r['name'] ?></td>
<td class="y"><? echo $r['type'] ?></td>
<td class="y"><? echo $r['content'] ?></td>
<?
if ($r['prio'] != 0)
{
?>
<td class="y"><? echo $r['prio']; ?></td>
<?
} else {
?>
<td class="n"></td><?
}
?>
<td class="y"><? echo $r['ttl'] ?></td>
</tr>
<?
}
}
else
{
?>
<tr>
<td class="n">
<div class="warning"><? echo _('No records for this zone.'); ?></div>
</td>
</tr>
<?
}
?>
</table>
<?
if ($domain_type != "SLAVE")
{
if (level(10)) { ?>
<img src="images/arrow.png" alt="arrow" class="edit-assign-to-user">
<select name="userid">
<?
$users = show_users();
foreach ($users as $user) {
echo "<option value=\"".$user[id]."\">".$user[fullname]."</option>";
}
?>
</select>
<input type="submit" class="button" value="<? echo _('Assign to user'); ?>">
</form>
<?
}
}
include_once("inc/footer.inc.php");
?>