Ejemplo n.º 1
0
function getRecordValueDescription($zone, $type, $value)
{
    $typeToLoad = in_array(strtoupper($type), supportedRecordsTypes()) ? strtolower($type) : "custom";
    $RecordClass = $typeToLoad . "Record";
    require_once "../../../modules/network/network/dnsrecords/" . $typeToLoad . ".php";
    $r = new $RecordClass(array("zone" => $zone));
    $r->initValuesFromString($value);
    return $r->valuesToDescription();
}
Ejemplo n.º 2
0
 function createUiContainers()
 {
     $recordTypes = supportedRecordsTypes("all");
     $typeIndex = array_search(strtoupper($this->values["type"]), $recordTypes);
     if ($typeIndex === false) {
         $typeIndex = count($recordTypes) - 1;
         $customType = $this->values["type"];
     } else {
         $customType = "";
         //$typeIndex = 0;
     }
     $isCustomType = $typeIndex == count($recordTypes) - 1 ? "checked" : "";
     $algorithmsMap = $this->algorithms();
     $algorithms = array_values($algorithmsMap);
     if (isset($algorithmsMap[$this->values["algorithm"]])) {
         $algorithmIndex = array_search($algorithmsMap[$this->values["algorithm"]], $algorithms);
         $customAlgorithm = "";
     } else {
         $algorithmIndex = count($algorithms) - 1;
         $customAlgorithm = $this->values["algorithm"];
     }
     $isCustomAlgorithm = $algorithmIndex == count($algorithms) - 1 ? "checked" : "";
     $typeComboBox = new ExtendedSelectItem($this->pn("type"));
     $typeComboBox->setAdditionalParams("onkeyup=\"this.blur();this.focus();\" onchange=\"var state = (this.selectedIndex == this.length - 1) ? 'inline' : 'none'; changeObjectDisplay('" . $this->pn("typediv") . "',state);\"");
     $typeComboBox->setElements(array_values($recordTypes));
     $typeComboBox->setElementsVal(array_keys($recordTypes));
     $algorithmComboBox = new ExtendedSelectItem($this->pn("algorithm"));
     $algorithmComboBox->setAdditionalParams("onkeyup=\"this.blur();this.focus();\" onchange=\"var state = (this.selectedIndex == this.length - 1) ? 'inline' : 'none'; changeObjectDisplay('" . $this->pn("algorithmdiv") . "',state);\"");
     $algorithmComboBox->setElements(array_values($algorithms));
     $algorithmComboBox->setElementsVal(array_keys($algorithms));
     $signatureTextarea = new TextareaTpl($this->pn("signature"));
     $signatureTextarea->setCols(43);
     $t1 = new Table();
     $t1->add($this->_createNameElement(_T("Domain name")), array("value" => $this->hostname, "required" => True));
     $t1->add(new TrFormElement(_T("Domain name of the signer, generating this SIG"), new InputTpl($this->pn("signer")), $this->_dnRulesTooltip()), array("value" => $this->values["signer"], "required" => True));
     $t1->add(new TrFormElement(_T("Record type covered by this SIG"), $typeComboBox), array("value" => $typeIndex));
     $typeDiv = new Div(array("id" => $this->pn("typediv")));
     $typeDiv->setVisibility($isCustomType);
     $t2 = new Table();
     $t2->add(new TrFormElement(_T("Custom record type"), new InputTpl($this->pn("customtype"), '/\\w+/')), array("value" => $customType));
     $t3 = new Table();
     $t3->add(new TrFormElement(_T("Algorithm"), $algorithmComboBox), array("value" => $algorithmIndex));
     $algorithmDiv = new Div(array("id" => $this->pn("algorithmdiv")));
     $algorithmDiv->setVisibility($isCustomAlgorithm);
     $t4 = new Table();
     $t4->add(new TrFormElement(_T("Custom algorithm"), new InputTpl($this->pn("customalgorithm"), '/^([01]?\\d?\\d|2[0-4]\\d|25[0-5])$/'), array("tooltip" => _T("Algorithm ranges from 0 to 255"))), array("value" => $customAlgorithm));
     $t5 = new Table();
     $t5->add(new TrFormElement(_T("Labels"), new InputTpl($this->pn("labels"), '/^([01]?\\d?\\d|2[0-4]\\d|25[0-5])$/'), array("tooltip" => _T("Define an unsigned count of how many labels there are in the original SIG record owner name not counting the null label for root and not counting any initial \"*\" for a wildcard.") . "<br>" . _T("Labels count ranges from 0 to 255"))), array("value" => $this->values["labels"], "required" => True));
     $t5->add(new TrFormElement(_T("Original TTL"), new BindRemainingTimeTpl($this->pn("ttl"))), array("value" => BindRemainingTimeTpl::valueFromBindTimeString($this->values["ttl"])));
     $t5->add(new TrFormElement(_T("Signature inception time"), new ExtendedDateTpl($this->pn("inception"))), array("value" => $this->bindTimeToDateTplTime($this->values["inception"])));
     $t5->add(new TrFormElement(_T("Signature expiration time"), new ExtendedDateTpl($this->pn("expiration"))), array("value" => $this->bindTimeToDateTplTime($this->values["expiration"])));
     $t5->add(new TrFormElement(_T("Key tag"), new InputTpl($this->pn("keytag"), '/^([0-5]?\\d?\\d?\\d?\\d|6[0-4]\\d\\d\\d|65[0-4]\\d\\d|655[0-2]\\d|6553[0-5])$/'), array("tooltip" => _T("Key tag is a decimal number that ranges from 0 to 65535"))), array("value" => $this->values["keytag"], "required" => True));
     $t5->add(new TrFormElement(_T("Signature"), $signatureTextarea), array("value" => $this->values["signature"]));
     return array($this->stackedUi($t1), $this->stackedUi($typeDiv, 0), $this->stackedUi($t2, 2), $this->stackedUi($t3), $this->stackedUi($algorithmDiv, 0), $this->stackedUi($t4, 2), $this->stackedUi($t5));
 }
Ejemplo n.º 3
0
    }
}
$title = "";
if ($reverse) {
    $title = $_GET["action"] == "addrecord" ? sprintf(_T("Add record to reverse zone for zone %s"), $zone) : sprintf(_T("Edit record of reverse zone for zone %s"), $zone);
} else {
    $title = $_GET["action"] == "addrecord" ? sprintf(_T("Add record to zone %s"), $zone) : sprintf(_T("Edit record of zone %s"), $zone);
}
$p = new PageGenerator($title);
$sidemenu->forceActiveItem("index");
$p->setSideMenu($sidemenu);
$p->display();
if ($_GET["action"] == "addrecord") {
    $recordTypes = supportedRecordsTypes($reverse ? "reverse" : "direct");
} else {
    $recordTypes = supportedRecordsTypes("all");
}
$typeIndex = isset($_POST["recordtype"]) ? $_POST["recordtype"] : "0";
global $error;
$recordUiContainers = NULL;
/* Adding a new record */
if (isset($_POST["badd"])) {
    $typeIndex = $_POST["recordtype"];
    $type = strtolower($recordTypes[$typeIndex]);
    if ($type == _T("custom")) {
        $type = "custom";
    }
    $typeToLoad = in_array(strtoupper($type), $recordTypes) ? strtolower($type) : "custom";
    require_once "dnsrecords/" . $typeToLoad . ".php";
    $RecordClass = $typeToLoad . "Record";
    $record = new $RecordClass(array("zone" => $zone, "type" => $type));