گزارش پیغام خصوصی به عنوان SPAM به مدیر سایت
فایل زیر رو دانلود کنید و به جای مشخص شده کپی کنید:
فایل Engine/Modules/Pm.php رو باز کنید و به دنبال کد زیر بگردید:
$tpl->set('[/reply]',"</a>");
بعد از آن، کدهای زیر رو قرار دهید:
if($row['folder'] == "inbox")
{
$js_script = "
<script>
function confirmSpam(url)
{
var dle_spam_agree = '{$lang['dle_spam_agree']}';
var agree=confirm( dle_spam_agree );
if (agree)
document.location=url;
};
</script>";
$tpl->set('[spam]', $js_script."<a href=\"javascript:confirmSpam('".$config['http_home_url']."index.php?do=pm&doaction=spam&pmid=".$row['id']."&dle_allow_hash=".$dle_login_hash."');\">");
$tpl->set('[/spam]', "</a>");
}
else
{
$tpl->set_block("'\\[spam\\].*?\\[/spam\\]'si",'');
}
{
$js_script = "
<script>
function confirmSpam(url)
{
var dle_spam_agree = '{$lang['dle_spam_agree']}';
var agree=confirm( dle_spam_agree );
if (agree)
document.location=url;
};
</script>";
$tpl->set('[spam]', $js_script."<a href=\"javascript:confirmSpam('".$config['http_home_url']."index.php?do=pm&doaction=spam&pmid=".$row['id']."&dle_allow_hash=".$dle_login_hash."');\">");
$tpl->set('[/spam]', "</a>");
}
else
{
$tpl->set_block("'\\[spam\\].*?\\[/spam\\]'si",'');
}
در همین فایل به دنبال کد زیر بگردید:
elseif ($doaction == "newpm" AND !$stop_pm) {
قبل از آن، کدهای زیر رو قرار دهید:
elseif($doaction == "spam")
{
$pmid = $db->safesql($_GET['pmid']);
$row = $db->super_query("SELECT id, subj, text, user, user_from, date, pm_read, folder FROM " . USERPREFIX . "_pm where id= '$pmid'");
if(($row['user'] == $member_id['user_id'] AND ($row['folder'] == "inbox") OR $row['folder'] == "outbox"))
{
$db->query("DELETE FROM " . USERPREFIX . "_pm WHERE id='$row[id]'");
$delete_count ++;
if($row['pm_read'] != "yes")
{
$db->query("UPDATE " . USERPREFIX . "_users set pm_unread=pm_unread-1 where user_id='$member_id[user_id]'");
}
$db->query("UPDATE " . USERPREFIX . "_users set pm_all=pm_all-1 where user_id='$member_id[user_id]'");
$db->query("INSERT INTO " . PREFIX . "_spam_pm (`id`, `subj`, `text`, `user`, `user_from`, `date`) VALUES ('{$row['id']}', '{$row['subj']}', '{$row['text']}', '{$row['user']}', '{$row['user_from']}', '{$row['date']}')");
}
elseif(count($_REQUEST['selected_pm']))
{
foreach ($_REQUEST['selected_pm'] as $pmid)
{
$pmid = $db->safesql($pmid);
$row = $db->super_query("SELECT id, user, user_from, pm_read, folder FROM " . USERPREFIX . "_pm where id= '$pmid'");
if ($row['user'] == $member_id['user_id'] AND ($row['folder'] == "inbox" OR $row['folder'] == "outbox"))
{
$db->query("DELETE FROM " . USERPREFIX . "_pm WHERE id='$row[id]'");
$delete_count ++;
if ($row['pm_read'] != "yes")
{
$db->query("UPDATE " . USERPREFIX . "_users set pm_unread=pm_unread-1 where user_id='$member_id[user_id]'");
}
$db->query("UPDATE " . USERPREFIX . "_users set pm_all=pm_all-1 where user_id='$member_id[user_id]'");
$db->query("INSERT INTO " . PREFIX . "_spam_pm (`id`, `subj`, `text`, `user`, `user_from`, `date`) VALUES ('{$row['id']}, '{$row['subj']}', '{$row['text']}', '{$row['user']}', '{$row['user_from']}', '{$row['date']}')");
}
}
}
if ($delete_count)
{
msgbox ($lang['all_info'], $lang['pm_spamok'].$lang['pm_delok']." <a href=\"$PHP_SELF?do=pm\">".$lang['all_prev']."</a>.");
}
else
{
msgbox ($lang['all_err_1'], $lang['pm_err_spam'].$lang['pm_err_5']);
}
}
{
$pmid = $db->safesql($_GET['pmid']);
$row = $db->super_query("SELECT id, subj, text, user, user_from, date, pm_read, folder FROM " . USERPREFIX . "_pm where id= '$pmid'");
if(($row['user'] == $member_id['user_id'] AND ($row['folder'] == "inbox") OR $row['folder'] == "outbox"))
{
$db->query("DELETE FROM " . USERPREFIX . "_pm WHERE id='$row[id]'");
$delete_count ++;
if($row['pm_read'] != "yes")
{
$db->query("UPDATE " . USERPREFIX . "_users set pm_unread=pm_unread-1 where user_id='$member_id[user_id]'");
}
$db->query("UPDATE " . USERPREFIX . "_users set pm_all=pm_all-1 where user_id='$member_id[user_id]'");
$db->query("INSERT INTO " . PREFIX . "_spam_pm (`id`, `subj`, `text`, `user`, `user_from`, `date`) VALUES ('{$row['id']}', '{$row['subj']}', '{$row['text']}', '{$row['user']}', '{$row['user_from']}', '{$row['date']}')");
}
elseif(count($_REQUEST['selected_pm']))
{
foreach ($_REQUEST['selected_pm'] as $pmid)
{
$pmid = $db->safesql($pmid);
$row = $db->super_query("SELECT id, user, user_from, pm_read, folder FROM " . USERPREFIX . "_pm where id= '$pmid'");
if ($row['user'] == $member_id['user_id'] AND ($row['folder'] == "inbox" OR $row['folder'] == "outbox"))
{
$db->query("DELETE FROM " . USERPREFIX . "_pm WHERE id='$row[id]'");
$delete_count ++;
if ($row['pm_read'] != "yes")
{
$db->query("UPDATE " . USERPREFIX . "_users set pm_unread=pm_unread-1 where user_id='$member_id[user_id]'");
}
$db->query("UPDATE " . USERPREFIX . "_users set pm_all=pm_all-1 where user_id='$member_id[user_id]'");
$db->query("INSERT INTO " . PREFIX . "_spam_pm (`id`, `subj`, `text`, `user`, `user_from`, `date`) VALUES ('{$row['id']}, '{$row['subj']}', '{$row['text']}', '{$row['user']}', '{$row['user_from']}', '{$row['date']}')");
}
}
}
if ($delete_count)
{
msgbox ($lang['all_info'], $lang['pm_spamok'].$lang['pm_delok']." <a href=\"$PHP_SELF?do=pm\">".$lang['all_prev']."</a>.");
}
else
{
msgbox ($lang['all_err_1'], $lang['pm_err_spam'].$lang['pm_err_5']);
}
}
فایل Admin.php رو باز کنید و به دنبال کد زیر بگردید:
$system_modules = array(
بعد از آن، کد زیر رو قرار دهید:
'pmspam' => 'admin',
فایل Engine\Inc\Options.php رو باز کنید و به دنبال کد زیر بگردید:
$options['others'] = array(
بعد از آن، کدهای زیر رو قرار دهید:
array (
'name' => "SPAM in PM",
'url' => $PHPSELF . "?mod=pmspam",
'descr' => "",
'image' => "pmspam.jpeg",
'access' => "1"
),
'name' => "SPAM in PM",
'url' => $PHPSELF . "?mod=pmspam",
'descr' => "",
'image' => "pmspam.jpeg",
'access' => "1"
),
وارد phpMyAdmin شوید و پس از انتخاب دیتابیس، روی SQL کلیک کنید و کدهای زیر رو وارد کنین و Run کنید:
CREATE TABLE IF NOT EXISTS `dle_spam_pm` (
`id` int(10) unsigned NOT NULL auto_increment,
`subj` varchar(255) NOT NULL default '',
`text` text NOT NULL,
`user` mediumint(8) NOT NULL default '0',
`user_from` varchar(50) NOT NULL default '',
`date` varchar(15) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `user` (`user`),
KEY `user_from` (`user_from`)
) TYPE=MyISAM /*!40101 DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci */
`id` int(10) unsigned NOT NULL auto_increment,
`subj` varchar(255) NOT NULL default '',
`text` text NOT NULL,
`user` mediumint(8) NOT NULL default '0',
`user_from` varchar(50) NOT NULL default '',
`date` varchar(15) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `user` (`user`),
KEY `user_from` (`user_from`)
) TYPE=MyISAM /*!40101 DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci */
فایل Language\Farsi\Website.lng رو باز کنید و به دنبال کد زیر بگردید:
$lang = array (
پس از آن، کدهای زیر رو قرار دهید:
'dle_spam_agree' => "از انتخاب اين پيام به عنوان Spam مطمئن هستيد؟",
'pm_spamok' => "پيغام خصوصي به عنوان Spam براي مدير سايت ارسال شد.",
'pm_err_spam' => "شما قبلاً اين پيغام را به عنوان Spam انتخاب کرده ايد..! ",
'pm_spamok' => "پيغام خصوصي به عنوان Spam براي مدير سايت ارسال شد.",
'pm_err_spam' => "شما قبلاً اين پيغام را به عنوان Spam انتخاب کرده ايد..! ",
فایل Templates/your-theme/PM.Tpl رو باز کنید و به دنبال کد زیر بگردید:
[reply]پاسخ[/reply]
بعد از آن، کد زیر رو قرار دهید:
[spam]مزاحم (SPAM)![/spam]
موفق باشید.