226 Zeilen
Kein EOL
9,5 KiB
PHP
226 Zeilen
Kein EOL
9,5 KiB
PHP
<?php
|
|
/**
|
|
* Project: Contenido
|
|
*
|
|
* Description:
|
|
* Contenido Purge include file to reset some datas(con_code, con_cat_art) and files (log, cache, history)
|
|
*
|
|
* @package Contenido Backend includes
|
|
* @version $Rev$
|
|
* @author Munkh-Ulzii Balidar
|
|
* @author Ortwin Pinke
|
|
* @copyright four for business AG <www.4fb.de>
|
|
* @license http://www.contenido.org/license/LIZENZ.txt
|
|
* @link http://www.4fb.de
|
|
* @link http://www.contenido.org
|
|
* @since file available since contenido release <= 4.8.12
|
|
*
|
|
* $Id$:
|
|
*/
|
|
|
|
if(!defined('CON_FRAMEWORK')) {
|
|
die('Illegal call');
|
|
}
|
|
|
|
cInclude('includes', 'functions.database.php');
|
|
|
|
$tpl->reset();
|
|
|
|
$iClientSelectSize = 4;
|
|
$oClient = new Client();
|
|
$aAvailableClient = $oClient->getAvailableClients();
|
|
|
|
$sInfoMsg = '';
|
|
|
|
$action = 'do_purge';
|
|
if (($action == "do_purge") && (!$perm->have_perm_area_action_anyitem($area, $action))) {
|
|
$notification->displayNotification("error", i18n("Permission denied"));
|
|
} else {
|
|
if (isset($_POST['send']) && $_POST['send'] == 'store') {
|
|
$aClientToClear = array();
|
|
$aClientName = array();
|
|
|
|
if (isset($_POST['selectClient']) && $_POST['selectClient'] == 'all') {
|
|
// selected all clients
|
|
|
|
foreach ($aAvailableClient as $iClientId => $aClient) {
|
|
$aClientToClear[] = $iClientId;
|
|
}
|
|
|
|
} else if (isset($_POST['purge_clients']) && is_array($_POST['purge_clients']) && count($_POST['purge_clients']) > 0) {
|
|
// selected multiple clients
|
|
foreach ($_POST['purge_clients'] as $iClientId) {
|
|
$aClientToClear[] = (int)$iClientId;
|
|
}
|
|
|
|
} else if (isset($_POST['purge_clients']) && (int)$_POST['purge_clients'] > 0) {
|
|
// selected single client
|
|
$aClientToClear[] = (int)$_POST['purge_clients'];
|
|
}
|
|
|
|
$bError = false;
|
|
$sErrorMsg = '';
|
|
$oPurge = new Purge($db, $cfg, $cfgClient);
|
|
|
|
if (count($aClientToClear) > 0) {
|
|
// execute the selected actions
|
|
|
|
foreach ($aAvailableClient as $iClientId => $aClient) {
|
|
$aClientName[$iClientId] = $aClient['name'];
|
|
}
|
|
|
|
|
|
foreach ($aClientToClear as $iClientId) {
|
|
$iClientId = (int) $iClientId;
|
|
if ($iClientId > 0) {
|
|
if (isset($_POST['conCode']) && $_POST['conCode'] == 1) {
|
|
if (!$oPurge->resetClientConCode($iClientId)) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("Client ") . $aClientName[$iClientId] . ': ' .
|
|
sprintf(i18n("The entries of %s table are not deleted!"), $cfg['tab']['code']) . "<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['conCatArt']) && $_POST['conCatArt'] == 1) {
|
|
if (!$oPurge->resetClientConCatArt($iClientId)) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("Client ") . $aClientName[$iClientId] . ': ' .
|
|
sprintf(i18n("The %s is not updated!"), $cfg['tab']['cat_art']) . "<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['clientCache']) && $_POST['clientCache'] == 1) {
|
|
if (!$oPurge->clearClientCache($iClientId)) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("Client ") . $aClientName[$iClientId] . ': ' .
|
|
i18n("The cache is not deleted!") . "<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['clientLog']) && $_POST['clientLog'] == 1) {
|
|
if (!$oPurge->clearClientLog($iClientId)) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("Client ") . $aClientName[$iClientId] . ': ' .
|
|
i18n("The log is not deleted!") . "<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['clientHistory']) && $_POST['clientHistory'] == 1) {
|
|
$bKeep = ($_POST['keepHistory'] == 1 && (int) $_POST['keepHistoryNumber'] > 0) ? true : false;
|
|
if (!$oPurge->clearClientHistory($iClientId, $bKeep, (int) $_POST['keepHistoryNumber'])) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("Client ") . $aClientName[$iClientId] . ': ' .
|
|
i18n("The history is not deleted!") . "<br />";
|
|
}
|
|
}
|
|
|
|
if ($sErrorMsg != '') {
|
|
$sErrorMsg .= "<br />";
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['conInuse']) && $_POST['conInuse'] == 1) {
|
|
if (!$oPurge->resetConInuse()) {
|
|
$bError = true;
|
|
$sErrorMsg .= sprintf(i18n("The entries of %s table are not deleted!"), $cfg['tab']['inuse']) . "<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['conPHPLibActiveSession']) && $_POST['conPHPLibActiveSession'] == 1) {
|
|
if (!$oPurge->resetPHPLibActiveSession()) {
|
|
$bError = true;
|
|
$sErrorMsg .= sprintf(i18n("The entries of %s table are not deleted!"), $cfg['tab']['phplib_active_sessions']) .
|
|
"<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['conLog']) && $_POST['conLog'] == 1) {
|
|
if (!$oPurge->clearConLog()) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("The contenido log is not cleaned!") . "<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['conCache']) && $_POST['conCache'] == 1) {
|
|
if (!$oPurge->clearConCache()) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("The contenido cache is not deleted!") . "<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['conCronjobs']) && $_POST['conCronjobs'] == 1) {
|
|
if (!$oPurge->clearConCronjob()) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("The contenido cronjobs are not cleaned!") . "<br />";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['conSequence']) && $_POST['conSequence'] == 1) {
|
|
if (!$oPurge->updateConSequence()) {
|
|
$bError = true;
|
|
$sErrorMsg .= i18n("Update of sequence table not completed!") . "<br />";
|
|
}
|
|
}
|
|
|
|
if ($bError === false) {
|
|
$sInfoMsg = $notification->returnNotification("info", i18n("The changes were successfully executed."));
|
|
} else {
|
|
$sErrorComplete = i18n("The changes were not all successfully completed.") . "<br /><br />" . $sErrorMsg;
|
|
$sInfoMsg = $notification->returnNotification("error", $sErrorComplete);
|
|
}
|
|
}
|
|
|
|
$oHtmlSelectHour = new cHTMLSelectElement ('purge_clients[]', '', 'client_select');
|
|
|
|
$i = 0;
|
|
foreach ($aAvailableClient as $iClientId => $aClient) {
|
|
$oHtmlSelectOption = new cHTMLOptionElement($aClient['name'], $iClientId, false);
|
|
$oHtmlSelectHour->addOptionElement($i, $oHtmlSelectOption);
|
|
$i++;
|
|
}
|
|
|
|
$oHtmlSelectHour->setMultiselect();
|
|
$oHtmlSelectHour->setSize($iClientSelectSize);
|
|
$sSelectClient = $oHtmlSelectHour->toHtml();
|
|
$tpl->set('s', 'SELECT_CLIENT', $sSelectClient);
|
|
|
|
$tpl->set('s', 'TITLE', i18n("System purge"));
|
|
$tpl->set('s', 'ERR_MSG_SELECT_CLIENT', i18n("No Client selected!"));
|
|
|
|
$tpl->set('s', 'CONTENIDO', $contenido);
|
|
|
|
$tpl->set('s', 'GROUP_CLIENT', i18n("Client"));
|
|
$tpl->set('s', 'CLIENT_SELECT_ALL', i18n("all clients"));
|
|
$tpl->set('s', 'CLIENT_SELECT', i18n("from list"));
|
|
$tpl->set('s', 'CLIENT_CHOOSE', i18n("Select clients"));
|
|
$tpl->set('s', 'CON_CODE', sprintf(i18n("Reset the table %s"), $cfg['tab']['code']));
|
|
$tpl->set('s', 'CON_CAT_ART', sprintf(i18n("Activate the code generation in %s"), $cfg['tab']['code'], $cfg['tab']['cat_art']));
|
|
$tpl->set('s', 'CON_INUSE', sprintf(i18n("Reset the table %s"), $cfg['tab']['inuse']));
|
|
$tpl->set('s', 'CLIENT_CACHE', i18n("Clear client cache"));
|
|
$tpl->set('s', 'CLIENT_LOG', i18n("Clear client log file"));
|
|
$tpl->set('s', 'CLIENT_HISTORY', i18n("Clear client history"));
|
|
$tpl->set('s', 'NUMBER_OF_HISTORY', i18n("Keep last histories"));
|
|
|
|
$tpl->set('s', 'GROUP_CONTENIDO', i18n("Contenido"));
|
|
$tpl->set('s', 'CON_LOG', i18n("Clear contenido log file"));
|
|
$tpl->set('s', 'CON_ACTIVE_SESSION', sprintf(i18n("Reset the table %s"), $cfg['tab']['phplib_active_sessions']));
|
|
$tpl->set('s', 'CON_CACHE', i18n("Clear contenido cache"));
|
|
$tpl->set('s', 'CON_CRONJOB', i18n("Reset cronjobs"));
|
|
$tpl->set('s', 'CON_SEQUENCE', i18n("Update sequence table"));
|
|
|
|
$tpl->set('s', 'BOX_TITLE', i18n("System purge"));
|
|
$tpl->set('s', 'BOX_MESSAGE', i18n("These changes can not be cancelled.") . '<br /> <br />' . i18n("Do you really want to complete it?"));
|
|
|
|
$tpl->set('s', 'INFO_MSG_BOX', $sInfoMsg);
|
|
$tpl->set('s', 'ERR_MSG_BOX', $notification->returnNotification("error", ''));
|
|
|
|
$tpl->set('s', 'ERR_MSG_NO_ACTION', i18n("No action selected!"));
|
|
|
|
$tpl->set('s', 'SUBMIT_TEXT', i18n("Send"));
|
|
|
|
$tpl->generate($cfg['path']['templates'] . $cfg['templates']['system_purge']);
|
|
}
|
|
?>
|