246 lines
9.3 KiB
PHP
246 lines
9.3 KiB
PHP
<?php
|
|
@session_start();
|
|
@error_reporting(7);
|
|
@ini_set('display_errors', true);
|
|
@ini_set('html_errors', false);
|
|
|
|
define('DATALIFEENGINE', true);
|
|
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
|
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
|
|
|
include SYSTEM_DIR.'/data/config.php';
|
|
require_once SYSTEM_DIR.'/classes/mysql.php';
|
|
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
|
require_once SYSTEM_DIR.'/inc/include/functions.inc.php';
|
|
|
|
$selected_language = $config['langs'];
|
|
|
|
if (isset( $_COOKIE['selected_language'] )) {
|
|
|
|
$_COOKIE['selected_language'] = trim(totranslit( $_COOKIE['selected_language'], false, false ));
|
|
|
|
if ($_COOKIE['selected_language'] != "" AND @is_dir ( ROOT_DIR . '/language/' . $_COOKIE['selected_language'] )) {
|
|
$selected_language = $_COOKIE['selected_language'];
|
|
}
|
|
|
|
}
|
|
|
|
require_once ROOT_DIR.'/language/'.$selected_language.'/adminpanel.lng';
|
|
|
|
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
|
|
|
require_once SYSTEM_DIR.'/modules/sitelogin.php';
|
|
|
|
if(($member_id['user_group'] != 1)) {die ("error");}
|
|
|
|
if ($_REQUEST['user_hash'] == "" OR $_REQUEST['user_hash'] != $dle_login_hash) {
|
|
|
|
die ("error");
|
|
|
|
}
|
|
|
|
|
|
if ($_REQUEST['step'] == 10) {
|
|
$_REQUEST['step'] = 11;
|
|
$db->query("TRUNCATE TABLE " . USERPREFIX . "_lostdb");
|
|
$db->query("TRUNCATE TABLE " . PREFIX . "_com_logs");
|
|
$db->query("TRUNCATE TABLE " . PREFIX . "_poll_log");
|
|
|
|
}
|
|
|
|
if ($_REQUEST['step'] == 8) {
|
|
$_REQUEST['step'] = 9;
|
|
$db->query("TRUNCATE TABLE " . USERPREFIX . "_pm");
|
|
$db->query("UPDATE " . USERPREFIX . "_users set pm_all='0', pm_unread='0'");
|
|
}
|
|
|
|
if ($_REQUEST['step'] == 6) {
|
|
$_REQUEST['step'] = 7;
|
|
|
|
$sql = $db->query("SELECT name, user_id, news_num, comm_num FROM " . USERPREFIX . "_users");
|
|
|
|
while($row = $db->get_row($sql)){
|
|
|
|
$posts = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE autor = '{$row['name']}'");
|
|
$comms = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_comments WHERE user_id = '{$row['user_id']}'");
|
|
|
|
if (($posts['count'] != $row['news_num']) OR ($comms['count'] != $row['comm_num']))
|
|
$db->query("UPDATE " . USERPREFIX . "_users set news_num={$posts['count']}, comm_num={$comms['count']} where user_id='{$row['user_id']}'");
|
|
}
|
|
$db->free ($sql);
|
|
}
|
|
|
|
|
|
if ($_REQUEST['step'] == 4) {
|
|
if ((@strtotime($_REQUEST['date']) === -1) OR (trim($_REQUEST['date']) == ""))
|
|
$_REQUEST['step'] = 3;
|
|
else {
|
|
$_REQUEST['step'] = 5;
|
|
$sql = $db->query("SELECT COUNT(*) as count, post_id FROM " . PREFIX . "_comments WHERE date < '{$_REQUEST['date']}' GROUP BY post_id");
|
|
|
|
while($row = $db->get_row($sql)){
|
|
|
|
$db->query("UPDATE " . PREFIX . "_post set comm_num=comm_num-{$row['count']} where id='{$row['post_id']}'");
|
|
|
|
}
|
|
|
|
$db->query("DELETE FROM " . PREFIX . "_comments WHERE date < '{$_REQUEST['date']}'");
|
|
$db->free ($sql);
|
|
$cache->clear();
|
|
}
|
|
}
|
|
|
|
|
|
if ($_REQUEST['step'] == 2) {
|
|
if ((@strtotime($_REQUEST['date']) === -1) OR (trim($_REQUEST['date']) == ""))
|
|
$_REQUEST['step'] = 1;
|
|
else {
|
|
$_REQUEST['step'] = 3;
|
|
|
|
$sql = $db->query("SELECT id FROM " . PREFIX . "_post WHERE date < '{$_REQUEST['date']}'");
|
|
|
|
while($row = $db->get_row($sql)){
|
|
|
|
$db->query("DELETE FROM " . PREFIX . "_comments WHERE post_id='{$row['id']}'");
|
|
$db->query("DELETE FROM " . PREFIX . "_files WHERE news_id = '{$row['id']}'");
|
|
$db->query("DELETE FROM " . PREFIX . "_poll WHERE news_id = '{$row['id']}'");
|
|
$db->query("DELETE FROM " . PREFIX . "_poll_log WHERE news_id = '{$row['id']}'");
|
|
$db->query("DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
|
|
|
|
$getfiles = $db->query("SELECT onserver FROM " . PREFIX . "_files WHERE news_id = '{$row['id']}'");
|
|
|
|
while($file = $db->get_row($getfiles)){
|
|
@unlink(ROOT_DIR."/uploads/files/".$file['onserver']);
|
|
}
|
|
|
|
$db->free ($getfiles);
|
|
|
|
$image = $db->super_query("SELECT images FROM " . PREFIX . "_images where news_id = '{$row['id']}'");
|
|
|
|
$listimages = explode("|||", $image['images']);
|
|
|
|
if ($image['images'] != "")
|
|
foreach ($listimages as $dataimages) {
|
|
|
|
$url_image = explode("/", $dataimages);
|
|
|
|
if (count($url_image) == 2) {
|
|
|
|
$folder_prefix = $url_image[0]."/";
|
|
$dataimages = $url_image[1];
|
|
|
|
} else {
|
|
|
|
$folder_prefix = "";
|
|
$dataimages = $url_image[0];
|
|
|
|
}
|
|
|
|
@unlink(ROOT_DIR."/uploads/posts/".$folder_prefix.$dataimages);
|
|
@unlink(ROOT_DIR."/uploads/posts/".$folder_prefix."thumbs/".$dataimages);
|
|
}
|
|
|
|
$db->query("DELETE FROM " . PREFIX . "_images WHERE news_id = '{$row['id']}'");
|
|
|
|
}
|
|
|
|
$db->query("DELETE FROM " . PREFIX . "_post WHERE date < '{$_REQUEST['date']}'");
|
|
$db->free ($sql);
|
|
$cache->clear();
|
|
}
|
|
}
|
|
|
|
if ($_REQUEST['step'] == 11) {
|
|
|
|
$rs = $db->query("SHOW TABLE STATUS FROM `".DBNAME."`");
|
|
while ($r = $db->get_array($rs)) {
|
|
$db->query("OPTIMIZE TABLE ". $r['Name']);
|
|
}
|
|
$db->free ($rs);
|
|
|
|
$db->query("SHOW TABLE STATUS FROM `".DBNAME."`");
|
|
$mysql_size = 0;
|
|
while ($r = $db->get_array()) {
|
|
if (strpos($r['Name'], PREFIX."_") !== false)
|
|
$mysql_size += $r['Data_length'] + $r['Index_length'] ;
|
|
}
|
|
|
|
$lang['clean_finish'] = str_replace ('{db-alt}', '<font color="red">'.mksize($_REQUEST['size']).'</font>', $lang['clean_finish']);
|
|
$lang['clean_finish'] = str_replace ('{db-new}', '<font color="red">'.mksize($mysql_size).'</font>', $lang['clean_finish']);
|
|
$lang['clean_finish'] = str_replace ('{db-compare}', '<font color="red">'.mksize($_REQUEST['size'] - $mysql_size).'</font>', $lang['clean_finish']);
|
|
|
|
$buffer = <<<HTML
|
|
<br />{$lang['clean_finish']}
|
|
<br /><br />
|
|
HTML;
|
|
|
|
}
|
|
|
|
if ($_REQUEST['step'] == 9) {
|
|
$buffer = <<<HTML
|
|
<br />{$lang['clean_logs']}
|
|
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
|
<input id = "next_button" onclick="start_clean('10', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
|
<input id = "skip_button" onclick="start_clean('11', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
|
HTML;
|
|
}
|
|
|
|
if ($_REQUEST['step'] == 7) {
|
|
$buffer = <<<HTML
|
|
<br />{$lang['clean_pm']}
|
|
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
|
<input id = "next_button" onclick="start_clean('8', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
|
<input id = "skip_button" onclick="start_clean('9', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
|
HTML;
|
|
}
|
|
|
|
if ($_REQUEST['step'] == 5) {
|
|
$buffer = <<<HTML
|
|
<br />{$lang['clean_users']}
|
|
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
|
<input id = "next_button" onclick="start_clean('6', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
|
<input id = "skip_button" onclick="start_clean('7', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
|
HTML;
|
|
}
|
|
|
|
if ($_REQUEST['step'] == 3) {
|
|
$buffer = <<<HTML
|
|
<br />{$lang['clean_comments']}<br /><br />{$lang['addnews_date']} <input type="text" name="date" id="f_date_c" size="20" class=edit>
|
|
<img src="system/skins/images/img.gif" align="absmiddle" id="f_trigger_c" style="cursor: pointer; border: 0" />
|
|
<script type="text/javascript">
|
|
Calendar.setup({
|
|
inputField : "f_date_c", // id of the input field
|
|
ifFormat : "%Y-%m-%d", // format of the input field
|
|
button : "f_trigger_c", // trigger for the calendar (button ID)
|
|
align : "Br", // alignment
|
|
singleClick : true
|
|
});
|
|
</script>
|
|
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
|
<input id = "next_button" onclick="start_clean('4', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
|
<input id = "skip_button" onclick="start_clean('5', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
|
HTML;
|
|
}
|
|
|
|
if ($_REQUEST['step'] == 1) {
|
|
$buffer = <<<HTML
|
|
<br />{$lang['clean_news']}<br /><br />{$lang['addnews_date']} <input type="text" name="date" id="f_date_c" size="20" class=edit>
|
|
<img src="system/skins/images/img.gif" align="absmiddle" id="f_trigger_c" style="cursor: pointer; border: 0" />
|
|
<script type="text/javascript">
|
|
Calendar.setup({
|
|
inputField : "f_date_c", // id of the input field
|
|
ifFormat : "%Y-%m-%d", // format of the input field
|
|
button : "f_trigger_c", // trigger for the calendar (button ID)
|
|
align : "Br", // alignment
|
|
singleClick : true
|
|
});
|
|
</script>
|
|
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
|
<input id = "next_button" onclick="start_clean('2', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
|
<input id = "skip_button" onclick="start_clean('3', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
|
HTML;
|
|
}
|
|
|
|
@header("Content-type: text/css; charset=".$config['charset']);
|
|
echo $buffer;
|
|
?>
|