Skip to content

Commit

Permalink
add numbrows to commands and files for BNoiZe's template magic; added…
Browse files Browse the repository at this point in the history
… 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>
  • Loading branch information
d00p committed Feb 11, 2015
1 parent a457121 commit b027902
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 0 deletions.
8 changes: 8 additions & 0 deletions admin_configfiles.php
Expand Up @@ -25,6 +25,7 @@
'<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'),
Expand Down Expand Up @@ -122,6 +123,8 @@
$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 = '';
Expand Down Expand Up @@ -152,10 +155,12 @@
$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") . "\";");
Expand All @@ -167,6 +172,7 @@
}
$commands = trim($commands);
if ($commands != '') {
$numbrows = count(explode("\n", $commands));
eval("\$configpage.=\"" . getTemplate("configfiles/configfiles_commands") . "\";");
}
eval("echo \"" . getTemplate("configfiles/configfiles") . "\";");
Expand All @@ -182,9 +188,11 @@
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;
Expand Down
15 changes: 15 additions & 0 deletions lib/classes/config/class.ConfigDaemon.php
Expand Up @@ -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
Expand Down Expand Up @@ -349,6 +354,16 @@ private function _parseContent($content) {
} 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;
Expand Down
5 changes: 5 additions & 0 deletions lib/configfiles/gentoo.xml
Expand Up @@ -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[
Expand Down
6 changes: 6 additions & 0 deletions lib/configfiles/rhel_centos.xml
Expand Up @@ -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[
Expand Down
5 changes: 5 additions & 0 deletions lib/configfiles/trusty.xml
Expand Up @@ -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[
Expand Down
8 changes: 8 additions & 0 deletions lib/configfiles/wheezy.xml
Expand Up @@ -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[
Expand Down

0 comments on commit b027902

Please sign in to comment.