mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-14 16:44:39 +00:00
56 lines
1.3 KiB
PHP
56 lines
1.3 KiB
PHP
<?php
|
|
require_once('config.inc');
|
|
require_once('globals.inc');
|
|
require_once('service-utils.inc');
|
|
|
|
function openntpd_install() {
|
|
global $g;
|
|
|
|
$config_file = $g['varetc_path'] . '/openntpd.conf';
|
|
$rcfile = array();
|
|
$rcfile['file'] = 'openntpd.sh';
|
|
$rcfile['start'] = <<<EOD
|
|
if [ -f $config_file ]; then
|
|
ntpd -f $config_file
|
|
fi
|
|
|
|
EOD;
|
|
$rcfile['stop'] = "killall ntpd";
|
|
write_rcfile($rcfile);
|
|
}
|
|
|
|
function openntpd_get_iface_ip($iface) {
|
|
$iface = convert_friendly_interface_to_real_interface_name($iface);
|
|
$line = trim(shell_exec("ifconfig " . escapeshellarg($iface) . " | grep inet | grep -v inet6"));
|
|
list($dummy, $ip, $dummy2, $dummy3) = explode(' ', $line);
|
|
|
|
return $ip;
|
|
}
|
|
|
|
function openntpd_resync() {
|
|
global $g, $config;
|
|
|
|
$settings = $config['installedpackages']['openntpd']['config'][0];
|
|
$config_file = $g['varetc_path'] . '/openntpd.conf';
|
|
|
|
if ($settings['enable'] == 'on') {
|
|
$conf = '';
|
|
|
|
$ifaces = explode(',', $settings['interface']);
|
|
$ips = array_map('openntpd_get_iface_ip', $ifaces);
|
|
foreach ($ips as $ip)
|
|
$conf .= "listen on $ip\n";
|
|
|
|
$servers = explode(',', $config['system']['timeservers']);
|
|
foreach ($servers as $server)
|
|
$conf .= "servers $server\n";
|
|
|
|
file_put_contents($config_file, $conf);
|
|
}
|
|
else {
|
|
if (file_exists($config_file))
|
|
unlink($config_file);
|
|
}
|
|
restart_service('openntpd');
|
|
}
|