remove some unused functions and migrated some more functions to PDO database class, refs #1287

Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann (d00p)
2013-11-14 08:27:57 +01:00
parent 868b472b98
commit 12800b730d
23 changed files with 326 additions and 500 deletions

View File

@@ -17,34 +17,50 @@
*
*/
function loadSettings(&$settings_data, $db)
{
function loadSettings(&$settings_data) {
$settings = array();
if(is_array($settings_data) && isset($settings_data['groups']) && is_array($settings_data['groups']))
{
foreach($settings_data['groups'] as $settings_part => $settings_part_details)
{
if(is_array($settings_part_details) && isset($settings_part_details['fields']) && is_array($settings_part_details['fields']))
{
foreach($settings_part_details['fields'] as $field_name => $field_details)
{
if(isset($field_details['settinggroup']) && isset($field_details['varname']) && isset($field_details['default']))
{
$row = $db->query_first('SELECT `settinggroup`, `varname`, `value` FROM `' . TABLE_PANEL_SETTINGS . '` WHERE `settinggroup` = \'' . $db->escape($field_details['settinggroup']) . '\' AND `varname` = \'' . $db->escape($field_details['varname']) . '\' ');
if(!empty($row))
{
if (is_array($settings_data)
&& isset($settings_data['groups'])
&& is_array($settings_data['groups'])
) {
// prepare for use in for-loop
$row_stmt = Database::prepare("
SELECT `settinggroup`, `varname`, `value`
FROM `" . TABLE_PANEL_SETTINGS . "`
WHERE `settinggroup` = :group AND `varname` = :varname
");
foreach ($settings_data['groups'] as $settings_part => $settings_part_details) {
if (is_array($settings_part_details)
&& isset($settings_part_details['fields'])
&& is_array($settings_part_details['fields'])
) {
foreach ($settings_part_details['fields'] as $field_name => $field_details) {
if (isset($field_details['settinggroup'])
&& isset($field_details['varname'])
&& isset($field_details['default'])
) {
// execute prepared statement
$row = Database::pexecute_first($row_stmt, array(
'group' => $field_details['settinggroup'],
'varname' => $field_details['varname']
));
if (!empty($row)) {
$varvalue = $row['value'];
}
else
{
} else {
$varvalue = $field_details['default'];
}
$settings[$field_details['settinggroup']][$field_details['varname']] = $varvalue;
}
else
{
} else {
$varvalue = false;
}
@@ -56,5 +72,3 @@ function loadSettings(&$settings_data, $db)
return $settings;
}
?>

View File

@@ -17,11 +17,12 @@
*
*/
function saveSetting($settinggroup, $varname, $newvalue)
{
global $db, $theme;
$query = 'UPDATE `' . TABLE_PANEL_SETTINGS . '` SET `value` = \'' . $db->escape($newvalue) . '\' WHERE `settinggroup` = \'' . $db->escape($settinggroup) . '\' AND `varname`=\'' . $db->escape($varname) . '\'';
return $db->query($query);
}
function saveSetting($settinggroup, $varname, $newvalue) {
?>
$upd_stmt = Database::Prepare("
UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = :newvalue
WHERE `settinggroup` = :group AND `varname` = :varname
");
Database::pexecute($upd_stmt, array('newvalue' => $newvalue, 'group' => $settinggroup, 'varname' => $varname));
return true;
}

View File

@@ -21,27 +21,32 @@ function storeSettingDefaultIp($fieldname, $fielddata, $newfieldvalue) {
$returnvalue = storeSettingField($fieldname, $fielddata, $newfieldvalue);
if ($returnvalue !== false
&& is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] == 'system'
&& isset($fielddata['varname'])
&& $fielddata['varname'] == 'defaultip'
&& is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] == 'system'
&& isset($fielddata['varname'])
&& $fielddata['varname'] == 'defaultip'
) {
global $db, $theme;
$customerstddomains_result = $db->query("SELECT `standardsubdomain` FROM `" . TABLE_PANEL_CUSTOMERS . "` WHERE `standardsubdomain` <> '0'");
$customerstddomains_result_stmt = Database::prepare("
SELECT `standardsubdomain` FROM `" . TABLE_PANEL_CUSTOMERS . "` WHERE `standardsubdomain` <> '0'
");
Database::pexecute($customerstddomains_result_stmt);
$ids = array();
while($customerstddomains_row = $db->fetch_array($customerstddomains_result)) {
while ($customerstddomains_row = $customerstddomains_result_stmt->fetch(PDO::FETCH_ASSOC)) {
$ids[] = (int)$customerstddomains_row['standardsubdomain'];
}
if(count($ids) > 0) {
$db->query("UPDATE `" . TABLE_DOMAINTOIP . "` SET
`id_ipandports`='" . (int)$newfieldvalue . "'
WHERE `id_domain` IN ('" . implode(', ', $ids) . "')
AND `id_ipandports` = '" . $db->escape(getSetting('system', 'defaultip')) . "'"
);
if (count($ids) > 0) {
$upd_stmt = Database::prepare("
UPDATE `" . TABLE_DOMAINTOIP . "` SET
`id_ipandports` = :newval
WHERE `id_domain` IN ('" . implode(', ', $ids) . "')
AND `id_ipandports` = :defaultip
");
Database::pexecute($upd_stmt, array('newval' => $newfieldvalue, 'defaultip' => getSetting('system', 'defaultip')));
}
}

View File

@@ -35,20 +35,25 @@ function storeSettingDefaultTheme($fieldname, $fielddata, $newfieldvalue) {
$returnvalue = storeSettingField($fieldname, $fielddata, $newfieldvalue);
if ($returnvalue !== false
&& is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] == 'panel'
&& isset($fielddata['varname'])
&& $fielddata['varname'] == 'default_theme'
&& is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] == 'panel'
&& isset($fielddata['varname'])
&& $fielddata['varname'] == 'default_theme'
) {
global $db;
// now, if changing themes is disabled we recursivly set
// the new theme (customers and admin, depending on settings)
if (getSetting('panel', 'allow_theme_change_customer') == '0') {
$db->query("UPDATE `".TABLE_PANEL_CUSTOMERS."` SET `theme`='".$db->escape($newfieldvalue)."'");
$upd_stmt = Database::prepare("
UPDATE `".TABLE_PANEL_CUSTOMERS."` SET `theme` = :theme
");
Database::pexecute($upd_stmt, array('theme' => $newfieldvalue));
}
if (getSetting('panel', 'allow_theme_change_admin') == '0') {
$db->query("UPDATE `".TABLE_PANEL_ADMINS."` SET `theme`='".$db->escape($newfieldvalue)."'");
$upd_stmt = Database::prepare("
UPDATE `".TABLE_PANEL_ADMINS."` SET `theme` = :theme
");
Database::pexecute($upd_stmt, array('theme' => $newfieldvalue));
}
}

View File

@@ -17,30 +17,41 @@
*
*/
function storeSettingHostname($fieldname, $fielddata, $newfieldvalue)
{
function storeSettingHostname($fieldname, $fielddata, $newfieldvalue) {
global $idna_convert;
$returnvalue = storeSettingField($fieldname, $fielddata, $newfieldvalue);
if($returnvalue !== false && is_array($fielddata) && isset($fielddata['settinggroup']) && $fielddata['settinggroup'] == 'system' && isset($fielddata['varname']) && $fielddata['varname'] == 'hostname')
{
global $db, $idna_convert, $theme;
if ($returnvalue !== false
&& is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] == 'system'
&& isset($fielddata['varname'])
&& $fielddata['varname'] == 'hostname'
) {
$newfieldvalue = $idna_convert->encode($newfieldvalue);
$customerstddomains_result = $db->query('SELECT `standardsubdomain` FROM `' . TABLE_PANEL_CUSTOMERS . '` WHERE `standardsubdomain` <> \'0\'');
$customerstddomains_result_stmt = Database::prepare("
SELECT `standardsubdomain` FROM `" . TABLE_PANEL_CUSTOMERS . "` WHERE `standardsubdomain` <> '0'
");
Database::pexecute($customerstddomains_result_stmt);
$ids = array();
while($customerstddomains_row = $db->fetch_array($customerstddomains_result))
{
while ($customerstddomains_row = $customerstddomains_result_stmt->fetch(PDO::FETCH_ASSOC)) {
$ids[] = (int)$customerstddomains_row['standardsubdomain'];
}
if(count($ids) > 0)
{
$db->query('UPDATE `' . TABLE_PANEL_DOMAINS . '` SET `domain` = REPLACE(`domain`, \'' . $db->escape(getSetting('system', 'hostname')) . '\', \'' . $db->escape($newfieldvalue) . '\') WHERE `id` IN (\'' . implode('\',\'', $ids) . '\')');
if (count($ids) > 0) {
$upd_stmt = Database::prepare("
UPDATE `" . TABLE_PANEL_DOMAINS . "` SET
`domain` = REPLACE(`domain`, :host, :newval)
WHERE `id` IN ('" . implode(', ', $ids) . "')
");
Database::pexecute($upd_stmt, array('host' => getSetting('system', 'hostname'), 'newval' => $newfieldvalue));
}
}
return $returnvalue;
}
?>

View File

@@ -16,28 +16,35 @@
*
*/
function storeSettingResetCatchall($fieldname, $fielddata, $newfieldvalue)
{
function storeSettingResetCatchall($fieldname, $fielddata, $newfieldvalue) {
$returnvalue = storeSettingField($fieldname, $fielddata, $newfieldvalue);
if($returnvalue !== false
if ($returnvalue !== false
&& is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] == 'catchall'
&& isset($fielddata['varname'])
&& $fielddata['varname'] == 'catchall_enabled'
&& $newfieldvalue == '0')
{
global $db;
$result = $db->query("SELECT `id`, `email`, `email_full`, `iscatchall` FROM `" . TABLE_MAIL_VIRTUAL . "` WHERE `iscatchall`='1'");
&& $newfieldvalue == '0'
) {
while($result_row = $db->fetch_array($result))
{
$db->query("UPDATE `" . TABLE_MAIL_VIRTUAL . "` SET `email` = '" . $db->escape($result_row['email_full']) . "', `iscatchall` = '0' WHERE `id`='" . (int)$result_row['id'] . "'");
$result_stmt = Database::query("
SELECT `id`, `email`, `email_full`, `iscatchall` FROM `" . TABLE_MAIL_VIRTUAL . "`
WHERE `iscatchall` = '1'
");
if (Database::num_rows() > 0) {
$upd_stmt = Database::prepare("
UPDATE `" . TABLE_MAIL_VIRTUAL . "` SET `email` = :email, `iscatchall` = '0' WHERE `id` = :id
");
while ($result_row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
Database::pexecute($upd_stmt, array('email' => $result_row['email_full'], 'id' => $result_row['id']));
}
}
}
return $returnvalue;
}
?>