Application version string
* @var string $prePageKey from prepend_adm.php -> Menu group id
* @var int $chkStatus from prepend_adm.php -> (hidden) Status field
* @var string $chkTfSearch from prepend_content.php -> Text search string
* @var mixed $chkMselValue1 from prepend_content.php -> Backup file list
*/
/*
Path settings
*/
$strPattern = '(admin/[^/]*.php)';
$preRelPath = preg_replace($strPattern, '', filter_input(INPUT_SERVER, 'PHP_SELF'));
$preBasePath = preg_replace($strPattern, '', filter_input(INPUT_SERVER, 'SCRIPT_FILENAME'));
/*
Define common variables
*/
$prePageId = 26;
$preContent = 'admin/delbackup.htm.tpl';
$preAccess = 1;
$preFieldvars = 1;
$strErrorMessage = '';
$strInfoMessage = '';
/*
Include preprocessing files
*/
require $preBasePath . 'functions/prepend_adm.php';
require $preBasePath . 'functions/prepend_content.php';
/*
Get configuration set ID
*/
$intMethod = 0;
$strMethod = '';
$myConfigClass->getConfigTargets($arrConfigSet);
$intConfigId = (int)$arrConfigSet[0];
if ($myConfigClass->getConfigValues($intConfigId, 'method', $strMethod) === 0) {
$intMethod = (int)$strMethod;
}
$myConfigClass->getConfigValues($intConfigId, 'backupdir', $strBackupDir);
$myConfigClass->getConfigValues($intConfigId, 'hostbackup', $strHostBackupDir);
$myConfigClass->getConfigValues($intConfigId, 'servicebackup', $strServiceBackupDir);
/*
Process form inputs
*/
if (isset($chkMselValue1[0]) && ($chkMselValue1[0] !== '') && ($chkStatus === 1)) {
/** @var array $chkMselValue1 */
foreach ($chkMselValue1 as $elem) {
$intCheck = $myConfigClass->removeFile(trim($elem), $intConfigId);
$strFileTmp1 = str_replace($strServiceBackupDir, '', $elem);
$strFileTmp2 = str_replace($strHostBackupDir, '', $strFileTmp1);
$strFile = str_replace($strBackupDir, '', $strFileTmp2);
if ($intCheck === 0) {
$myDataClass->writeLog(translate('File deleted') . ': ' . trim($strFile));
$myVisClass->processMessage($strFile . ' ' . translate('successfully deleted') . '!', $strInfoMessage);
} else {
$myVisClass->processMessage($myConfigClass->strErrorMessage, $strErrorMessage);
}
}
}
/*
Include content
*/
$conttp->setVariable('TITLE', translate('Delete backup files'));
$conttp->parse('header');
$conttp->show('header');
$conttp->setVariable('LANG_SEARCH_STRING', translate('Filter string'));
$conttp->setVariable('LANG_SEARCH', translate('Search'));
$conttp->setVariable('LANG_DELETE', translate('Delete'));
$conttp->setVariable('LANG_DELETE_SEARCH', translate('Reset filter'));
$conttp->setVariable('DAT_SEARCH', $chkTfSearch);
$conttp->setVariable('BACKUPFILE', translate('Backup file'));
$conttp->setVariable('LANG_REQUIRED', translate('required'));
$conttp->setVariable('MAKE', translate('Delete'));
$conttp->setVariable('ABORT', translate('Abort'));
$conttp->setVariable('CTRL_INFO', translate('Hold CTRL to select
more than one entry'));
$conttp->setVariable('IMAGE_PATH', $_SESSION['SETS']['path']['base_url'] . 'images/');
$conttp->setVariable('ACTION_INSERT', filter_input(INPUT_SERVER, 'PHP_SELF'));
/* Build a local file list */
if ($intMethod === 1) {
$output = array();
$myConfigClass->storeDirToArray($strBackupDir, "\.cfg_old", '', $output, $strErrorMessage);
if (is_array($output) && (count($output) !== 0)) {
foreach ($output as $elem) {
if (($chkTfSearch === '') || (substr_count($elem, $chkTfSearch) !== 0)) {
$conttp->setVariable('DAT_BACKUPFILE', $elem);
$conttp->parse('filelist');
}
}
}
} elseif ($intMethod === 2) {
/* Set up basic connection */
if ($myConfigClass->getFTPConnection($intConfigId) === 0) {
$arrFiles = array();
$arrFiles1 = ftp_nlist($myConfigClass->conFTPConId, $strBackupDir);
if (is_array($arrFiles1)) {
$arrFiles = array_merge($arrFiles, $arrFiles1);
}
$arrFiles2 = ftp_nlist($myConfigClass->conFTPConId, $strHostBackupDir);
if (is_array($arrFiles2)) {
$arrFiles = array_merge($arrFiles, $arrFiles2);
}
$arrFiles3 = ftp_nlist($myConfigClass->conFTPConId, $strServiceBackupDir);
if (is_array($arrFiles3)) {
$arrFiles = array_merge($arrFiles, $arrFiles3);
}
if (is_array($arrFiles) && (count($arrFiles) !== 0)) {
foreach ($arrFiles as $elem) {
if (!substr_count($elem, 'cfg')) {
continue;
}
if (($chkTfSearch === '') || (substr_count($elem, $chkTfSearch) !== 0)) {
$conttp->setVariable('DAT_BACKUPFILE', $elem);
$conttp->parse('filelist');
}
}
} else {
$myVisClass->processMessage(
translate('No backup files or no permission to read the backup files'),
$strErrorMessage
);
}
ftp_close($myConfigClass->conFTPConId);
} else {
$myVisClass->processMessage($myConfigClass->strErrorMessage, $strErrorMessage);
}
} elseif ($intMethod === 3) {
/* Set up basic connection */
if ($myConfigClass->getSSHConnection($intConfigId) === 0) {
$arrFiles = array();
$intReturn = $myConfigClass->sendSSHCommand('ls ' . $strBackupDir . '*.cfg_old*', $arrFiles1);
if (($intReturn === 0) && is_array($arrFiles1)) {
$arrFiles = array_merge($arrFiles, $arrFiles1);
}
$intReturn = $myConfigClass->sendSSHCommand('ls ' . $strHostBackupDir . '*.cfg_old*', $arrFiles2);
if (($intReturn === 0) && is_array($arrFiles2)) {
$arrFiles = array_merge($arrFiles, $arrFiles2);
}
$intReturn = $myConfigClass->sendSSHCommand('ls ' . $strServiceBackupDir . '*.cfg_old*', $arrFiles3);
if (($intReturn === 0) && is_array($arrFiles3)) {
$arrFiles = array_merge($arrFiles, $arrFiles3);
}
if (is_array($arrFiles) && (count($arrFiles) !== 0)) {
foreach ($arrFiles as $elem) {
if (!substr_count($elem, 'cfg_old')) {
continue;
}
if (($chkTfSearch === '') || (substr_count($elem, $chkTfSearch) !== 0)) {
$conttp->setVariable('DAT_BACKUPFILE', str_replace('//', '/', $elem));
$conttp->parse('filelist');
}
}
} else {
$myVisClass->processMessage(
translate('No backup files or no permission to read the backup files'),
$strErrorMessage
);
}
} else {
$myVisClass->processMessage($myConfigClass->strErrorMessage, $strErrorMessage);
}
}
if ($strErrorMessage !== '') {
$conttp->setVariable('ERRORMESSAGE', $strErrorMessage);
}
$conttp->setVariable('INFOMESSAGE', $strInfoMessage);
/* Check access rights for adding new objects */
if ($myVisClass->checkAccountGroup($prePageKey, 'write') !== 0) {
$conttp->setVariable('ADD_CONTROL', 'disabled="disabled"');
}
$conttp->parse('main');
$conttp->show('main');
/*
Footer ausgeben
*/
$maintp->setVariable('VERSION_INFO', "NagiosQL $setFileVersion");
$maintp->parse('footer');
$maintp->show('footer');