add numbrows to commands and files for BNoiZe's template magic; added possibility to use sql-data inside xml-config; updates xml-configs a bit when socket is used (not 100% done)

Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann (d00p)
2015-02-11 14:30:30 +01:00
parent a45712198b
commit b0279025d0
6 changed files with 47 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ if ($userinfo['change_serversettings'] == '1') {
'<SQL_UNPRIVILEGED_PASSWORD>' => 'MYSQL_PASSWORD',
'<SQL_DB>' => $sql['db'],
'<SQL_HOST>' => $sql['host'],
'<SQL_SOCKET>' => isset($sql['socket']) ? $sql['socket'] : null,
'<SERVERNAME>' => Settings::Get('system.hostname'),
'<SERVERIP>' => Settings::Get('system.ipaddress'),
'<NAMESERVERS>' => Settings::Get('system.nameservers'),
@@ -122,6 +123,8 @@ if ($userinfo['change_serversettings'] == '1') {
$commands = '';
foreach ($confarr as $idx => $action) {
if ($lasttype != '' && $lasttype != $action['type']) {
$commands = trim($commands);
$numbrows = count(explode("\n", $commands));
eval("\$configpage.=\"" . getTemplate("configfiles/configfiles_commands") . "\";");
$lasttype = '';
$commands = '';
@@ -152,10 +155,12 @@ if ($userinfo['change_serversettings'] == '1') {
$realname = $action['name'];
$commands = trim($commands_pre);
if ($commands != "") {
$numbrows = count(explode("\n", $commands));
eval("\$commands_pre=\"" . getTemplate("configfiles/configfiles_commands") . "\";");
}
$commands = trim($commands_post);
if ($commands != "") {
$numbrows = count(explode("\n", $commands));
eval("\$commands_post=\"" . getTemplate("configfiles/configfiles_commands") . "\";");
}
eval("\$configpage.=\"" . getTemplate("configfiles/configfiles_subfileblock") . "\";");
@@ -167,6 +172,7 @@ if ($userinfo['change_serversettings'] == '1') {
}
$commands = trim($commands);
if ($commands != '') {
$numbrows = count(explode("\n", $commands));
eval("\$configpage.=\"" . getTemplate("configfiles/configfiles_commands") . "\";");
}
eval("echo \"" . getTemplate("configfiles/configfiles") . "\";");
@@ -182,9 +188,11 @@ if ($userinfo['change_serversettings'] == '1') {
function getFileContentContainer($file_content, &$replace_arr, $realname)
{
$files = "";
$file_content = trim($file_content);
if ($file_content != '') {
$file_content = strtr($file_content, $replace_arr);
$file_content = htmlspecialchars($file_content);
$numbrows = count(explode("\n", $file_content));
eval("\$files=\"" . getTemplate("configfiles/configfiles_file") . "\";");
}
return $files;

View File

@@ -61,6 +61,11 @@ class ConfigDaemon {
*/
private $xpath;
/**
* cache of sql-data if used
*/
private $_sqldata_cache = null;
/**
* Human - readable title of this service
* @var string
@@ -349,6 +354,16 @@ class ConfigDaemon {
} else {
return '';
}
} elseif (preg_match('/^sql\.(.*)$/', $matches[1], $match)) {
if (is_null($this->_sqldata_cache)) {
// read in sql-data (if exists)
if (file_exists(FROXLOR_INSTALL_DIR."/lib/userdata.inc.php")) {
require FROXLOR_INSTALL_DIR."/lib/userdata.inc.php";
unset($sql_root);
$this->_sqldata_cache = $sql;
}
}
return isset($this->_sqldata_cache[$match[1]]) ? $this->_sqldata_cache[$match[1]] : '';
}
}, $content);
return $content;

View File

@@ -2913,6 +2913,11 @@ socket /var/run/mysqld/mysqld.sock
]]>
</content>
</file>
<command>
<!-- if a socket is set for the db-server use it -->
<visibility mode="notempty">{{sql.socket}}</visibility>
<content><![CDATA[sed -i.bak \'s|^\\(socket\\).*$|\\1\\"{{sql.socket}}\\"|\' /etc/libnss-mysql.cfg]]></content>
</command>
<file name="/etc/libnss-mysql-root.cfg" chown="root:root"
chmod="0600" backup="true">
<content><![CDATA[

View File

@@ -2350,6 +2350,12 @@ password <SQL_UNPRIVILEGED_PASSWORD>
]]>
</content>
</file>
<commands>
<!-- if a socket is set for the db-server use it -->
<visibility mode="notempty">{{sql.socket}}</visibility>
<command><![CDATA[sed -i.bak \'s/^#socket/socket/\' /etc/libnss-mysql.cfg]]></command>
<command><![CDATA[sed -i.bak \'s|^\\(socket\\).*$|\\1\\"{{sql.socket}}\\"|\' /etc/libnss-mysql.cfg]]></command>
</commands>
<file name="/etc/libnss-mysql-root.cfg" chown="root:root"
chmod="0600" backup="true">
<content><![CDATA[

View File

@@ -1455,6 +1455,11 @@ socket /var/run/mysqld/mysqld.sock
]]>
</content>
</file>
<command>
<!-- if a socket is set for the db-server use it -->
<visibility mode="notempty">{{sql.socket}}</visibility>
<content><![CDATA[sed -i.bak \'s|^\\(socket\\).*$|\\1\\"{{sql.socket}}\\"|\' /etc/libnss-mysql.cfg]]></content>
</command>
<file name="/etc/libnss-mysql-root.cfg" chown="root:root"
chmod="0600" backup="true">
<content><![CDATA[

View File

@@ -4807,9 +4807,17 @@ database <SQL_DB>
username <SQL_UNPRIVILEGED_USER>
password <SQL_UNPRIVILEGED_PASSWORD>
port 3306
#socket /var/run/mysqld/mysqld.sock
]]>
</content>
</file>
<commands>
<!-- if a socket is set for the db-server use it -->
<visibility mode="notempty">{{sql.socket}}</visibility>
<command><![CDATA[sed -i.bak \'s/^port/#port/\' /etc/libnss-mysql.cfg]]></command>
<command><![CDATA[sed -i.bak \'s/^#socket/socket/\' /etc/libnss-mysql.cfg]]></command>
<command><![CDATA[sed -i.bak \'s|^\\(socket\\).*$|\\1\\"{{sql.socket}}\\"|\' /etc/libnss-mysql.cfg]]></command>
</commands>
<file name="/etc/libnss-mysql-root.cfg" chown="root:root"
chmod="0600" backup="true">
<content><![CDATA[