با سلام
قبلا افزونه ی
حذفِ پیامهایِ خصوصی توسطِ جنابِ "نقدی پور " منتشر شده بود.
این نسخه از این لحاظ پیشرفته تر هست که یک مساله ی امنیتی در اون لحاظ شده و اون هم درخواستِ پسوورد از کاربر هست.
این افزونه به این شکل هست که کاربر می تواند در صفحه ی " دلخواه سازی " پس از وارد نمودنِ رمزِ کاربریِ خود اقدام به حذفِ کاملِ پیامهایِ خصوصی نماید.
آموزش:
در صورتی که صفحه دلخواه سازی را نصب نکرده اید:
http://forum.4sharetronix.ir/Thread-%D8%...8%B2%DB%8C
چنانچه قبلا صفحه ی دلخواه سازی را نصب کرده اید:
به system/controllers/settings_delkhah.php رفته و قبل از این کد :
کد:
$this->load_template('settings_delkhah.php');
این کد را بیافزایید :
کد:
///// 4sharetonix.ir Start /////
////Delete all PMs By EiMa.ir////
$D->submit = TRUE;
$D->submit1 = TRUE;
$D->error = FALSE;
$D->errmsg = '';
if( isset($_POST['userpass']) )
{
$D->submit = TRUE;
if( md5($_POST['userpass']) != $this->user->info->password ) {
$D->error = TRUE;
$D->errmsg = 'st_delaccount_pass_err';
}
if( ! $D->error && $this->user->info->is_network_admin ) {
$db2->query('SELECT id FROM users WHERE id<>"'.$this->user->id.'" AND active=1 AND is_network_admin=1 LIMIT 1');
if( $db2->num_rows() == 0 ) {
$D->error = TRUE;
$D->errmsg = 'st_delaccount_admins_err';
}
}
if( ! $D->error )
{
$prcu = $db2->query('SELECT id FROM posts_pr where user_id="'.$this->user->id.'" ');
while ($prctu = $db2->fetch_object($prcu)){
$prctut[] = $prctu->id;
}
foreach($prctut as $prc){
$db2->query('delete FROM posts_pr_comments WHERE post_id="'.$prc.'" ');
}
$krcu = $db2->query('SELECT id FROM posts_pr where to_user="'.$this->user->id.'" ');
while ($krctu = $db2->fetch_object($krcu)){
$krctut[] = $krctu->id;
}
foreach($krctut as $krc){
$db2->query('delete FROM posts_pr_comments WHERE post_id="'.$krc.'" ');
}
$sql1 = "delete from posts_pr where user_id=".$this->user->id;
$sql2 = "delete from posts_pr where to_user=".$this->user->id;
$sql3 = "delete from posts_pr_comments_mentioned where user_id=".$this->user->id;
$sql4 = "delete from posts_pr_comments_watch where user_id=".$this->user->id;
$db2->query($sql1);
$db2->query($sql2);
$db2->query($sql3);
$db2->query($sql4);
}}
////Delete all PMs By 20script.ir////
///// 20script.ir End /////
اکنون به themes/Your Theme/html/settings_delkhah.php رفته و قبل از این کد :
کد:
</div>
</div>
<?php $this->load_template('footer.php'); ?>
این کد را بیافزایید :
کد:
<!--------------- 20script.ir Start --------->
<?php if($D->error) { ?>
<?= errorbox('خطا', 'رمزِ عبور خود را به درستی وارد نمایید.') ?>
<?php } ?>
<form method="post" name="delkhah" onsubmit="return confirm('با این کار تمامیِ پیامهایِ خصوصیِ شما حذف خواهند شد و امکانِ برگشتِ آنها وجود نخواهد داشت.آیا مطمئن هستید؟');" action="<?= $C->SITE_URL ?>settings/delkhah" autocomplete="off">
<table id="setform" cellspacing="5" style="margin-top:5px;">
شما با این فرآیند می توانید تمامیِ پیامهایِ خصوصیِ خود را حذف نمائید!
<br>
<b> توجه : </b>
با این عمل پیامهایِ شما اعم از پیامهایی که ارسال و یا دریافت نموده اید؛ یکجا حذف خواهند شد.
<br>
جهتِ شناساییِ هویتِ شما؛ این عمل نیازمندِ واردِ نمودنِ رمزِ عبورِ شماست.
<tr>
<td class="setparam"><?= $this->lang('st_delaccount_password') ?></td>
<td><input type="password" name="userpass" value="" autocomplete="off" class="setinp" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="حذف پیامها" style="padding:4px; font-weight:bold;"/></td>
</tr>
</table>
</form>
<!--------------- 20script.ir End --------->