-
Notifications
You must be signed in to change notification settings - Fork 2
/
editrec.php
58 lines (46 loc) · 1.63 KB
/
editrec.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
/**
* Copyright 2005-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file LICENSE for license information (GPL). If you
* did not receive this file, see http://www.horde.org/licenses/gpl.
*
* @author Ben Klang <ben@alkaloid.net>
*/
require_once __DIR__ . '/lib/Application.php';
$beatnik = Horde_Registry::appInit('beatnik');
require_once BEATNIK_BASE . '/lib/Forms/EditRecord.php';
$vars = Horde_Variables::getDefaultVariables();
$url = Horde::url('editrec.php');
list($type, $record) = $beatnik->driver->getRecord(Horde_Util::getFormData('id'));
$form = new EditRecord($vars);
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
try {
$result = $beatnik->driver->saveRecord($info);
} catch (Exception $e) {
$notification->push($e->getMessage(), 'horde.error');
}
$notification->push('Record data saved.', 'horde.success');
// Check to see if this is a new domain
$edit = $vars->get('id');
if ($info['rectype'] == 'soa' && !$edit) {
// if added a soa redirect to the autogeneration page
$url = Horde::url('autogenerate.php')->add(array('rectype' => 'soa', 'curdomain' => $info['zonename']));
} else {
$url = Horde::url('viewzone.php');
}
$url->redirect();
} elseif (!$form->isSubmitted() && $record) {
foreach ($record as $field => $value) {
$vars->set($field, $value);
}
}
Beatnik::notifyCommits();
$page_output->addScriptFile('beatnik.js');
$page_output->header(array(
'title' => $form->getTitle()
));
require BEATNIK_TEMPLATES . '/menu.inc';
$form->renderActive(null, null, $url, 'post');
$page_output->footer();