<?php require_once "include.php"; $param = intval($_GET['i']); if ($param > 0) { if ($user->isOwned($param, 'slave')) { $smarty->assign("pagetitle", "Dump slave zone"); $zone = new slaveZone(array('id' => $_GET['i'])); $zone->loadZoneHead(); $zonedef = ''; $head = $zone->getZoneHead(); $headraw = $zone->getZoneHeadRaw(); $name = $head['name']; $zonetype = "slave zone "; $ownerid = $head['owner']; $ouser = new User(array('id' => $ownerid)); $owner = $ouser->getFullName(); if (isset($_GET['pre']) && $_GET['pre'] == 'y') { $zonedef = $zone->dumpZone($conf->dig); $zonetype .= "(AXFR dump from it's master)"; } else { $zonetype .= "(locally mirrored)"; $lines = file($conf->path . $headraw['name']); $zonedef = ''; foreach ($lines as $line) { $zonedef .= $line; } } $smarty->assign("zonename", $name); $smarty->assign("zonetype", $zonetype); $smarty->assign("owner", $owner);
function getorphan() { global $conf; global $user; $files = ' ' . implode(' ', scandir($conf->Path)) . ' '; $mzones = $user->getMasters(); $szones = $user->getSlaves(); foreach ($mzones as $id) { $z = new masterZone(intval($id)); $z->loadZoneHead(); $zone = $z->getZoneHeadRaw(); $files = str_replace(' ' . $zone['name'] . ' ', ' ', $files); } foreach ($szones as $id) { $z = new slaveZone(intval($id)); $z->loadZoneHead(); $zone = $z->getZoneHeadRaw(); $files = str_replace(' ' . $zone['name'] . ' ', ' ', $files); } $vzf = array(); foreach (explode(' ', trim($files)) as $entry) { if (is_file($conf->Path . $entry) && preg_replace('/\\.(signed|private|key|krf|jnl|bind)$/', '', $entry) == $entry) { if (checkZoneFile($conf->Path . $entry, $entry)) { $vzf[] = hostToIdn($entry); } } } return $vzf; }
public function getSlaves($type = 'all') { $out = array(); if ($type == 'live') { foreach ($this->szones as $zoneid) { $zone = new slaveZone(array('id' => intval($zoneid))); $zone->loadZoneHead(); $head = $zone->getZoneHeadRaw(); if ($head['updated'] != 'del') { $out[] = intval($zoneid); } } } else { $out = $this->szones; } return $out; }
$gzone = $zone; $zone = hostToIdn($zone); if ($method != 'list') { $temp = tempnam($conf->tmp_path, "{$zone}"); $fh = fopen($temp, "w"); fwrite($fh, implode("\n", $content)); fclose($fh); $check = checkZoneFile($temp, $zone); unlink($temp); if (!$check) { problem("nocontent"); } } $mz = new masterZone($gzone); $sz = new slaveZone($gzone); if ($mz->loadZoneHead() || $sz->loadZoneHead()) { $mz = array(); $sz = array(); problem("existzone"); } $smarty->assign("zone", $gzone); $nz = new masterZone(); if ($nz->parseZone($content, $zone, $user->getId()) && $nz->getId() > 0) { $smarty->assign("pagetitle", "Review imported records"); $smarty->assign("template", "uploadreview.tpl"); $smarty->assign("output", explode("\n", $nz->getConf($conf->hostMaster))); $smarty->assign("help", help("uploadreview")); $smarty->assign("menu_button", menu_buttons()); } else { $smarty->assign("problem", explode("\n", $nz->getErr())); $smarty->assign("pagetitle", "Import error");
$masterlist = array(); foreach ($masters as $id) { $temp = new masterZone(intval($id)); $temp->loadZoneHead(); $head = $temp->getZoneHead(); $temp = array(); foreach (array('id', 'name', 'serial') as $key) { $temp[$key] = $head[$key]; } $masterlist[] = $temp; } $slaves = $xuser->getSlaves('live'); $slavelist = array(); foreach ($slaves as $id) { $temp = new slaveZone(intval($id)); $temp->loadZoneHead(); $head = $temp->getZoneHead(); $temp = array(); foreach (array('id', 'name', 'master') as $key) { $temp[$key] = $head[$key]; } $slavelist[] = $temp; $temp = array(); } $smarty->assign("zonelist", $masterlist); $smarty->assign("szonelist", $slavelist); $smarty->assign("template", "userread.tpl"); $smarty->assign("help", help("userread")); $smarty->assign("menu_button", menu_buttons()); $smarty->display("main.tpl"); } else {
$errors .= "<u>" . $hd['name'] . ":</u> Error in committing\n" . $err . '\\n\\n'; } else { $mcomm .= "<u>" . $hd['name'] . "</u>: Committing success.\n" . $cmz->getMsg() . "\n"; $bind->addConfig($hdr['name'], $zarray); $done++; } } $error .= $errors > '' ? $comm . $errors : ''; $commited .= $mcomm > '' ? $comm . $mcomm : ''; $errors = ''; $comm = count($cslave) > 0 ? "<strong>" . "Committing slave records" . "</strong>\n\n" : ''; $commited .= $comm > '' ? "\n" : ''; $scomm = ''; foreach ($cslave as $slave) { $csz = new slaveZone(intval($slave['id'])); $csz->loadZoneHead(); $hd = $csz->getZoneHead(); $hdr = $csz->getZoneHeadRaw(); $err = $csz->getErr(); if ($err > '') { $errors .= "<u>" . $hd['name'] . ":</u> Error in committing\n" . $err . '\\n\\n'; } else { $csz->doCommit(); $scomm .= "<u>" . $hd['name'] . "</u>: Committing success.\n\n"; $bind->addConfig($hdr['name'], array('type' => 'slave', 'masters' => $hdr['master'], 'file' => $hdr['name'])); $done++; } } $error .= $errors > '' ? $comm . $errors : ''; $commited .= $scomm > '' ? $comm . $scomm : ''; $bind->saveConfig($conf->conf);
<?php require_once "include.php"; if ($user->isAdmin()) { $arr = array(); foreach (array('name', 'master', 'owner') as $key) { $arr[$key] = $_POST[$key]; } $nz = new slaveZone($arr); if (!$nz->loadZoneHead()) { $nz->setZoneHead($arr); $nz->saveZoneHead(); $user->loadUserZones(); } else { problem("existzone"); } } else { access_denied(); }