PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : يك ترفند براي Mt داران، جلوي كامنت هاي تكراري را بگيريد!



Borna66
12-25-2009, 01:27 AM
يك ترفند براي MT داران، جلوي كامنت هاي تكراري را بگيريد!

يكي از بازديد كنندگان شما مي خواهد برايتان يك كامنت بگذارد، پس از نوشتن نظرش دكمه ارسال را مي زند. از هنگام فشردن اين دكمه تا اضافه شدن كامنتش به ليست مدت كمي طول مي كشد، حالا اگر در اين مدت دوباره ( و دوباره و دوباره ... ) روي كليد ارسال كليك كند، به همين تعداد هم كامنت اين بنده خدا ثبت مي شود. حال يك سري ها واقعا نمي دانند و خيال مي كنند كه كامنتشان ثبت نشده و دوباره دكمه را مي زنند و اين كار را همين طوري ادامه مي دهند ! اما سري دوم با غرض اين كار را انجام مي دهند، به اين صورت كه به قصد اذيت و آزار شخص برايش كلي كامنت مي گذارند و توش دري وري و فحش مي نويسند. حال اگر اين افرادي كه مورد حمله واقع مي شوند كار هاي پايين را انجام دهند، تا حد زيادي اين سري دومي ها را به دردسر مي اندازند . زيرا اين افراد مزاحم ديگر نمي توانند در قسمت نظرات يك مطلب، نظرات تكراري وارد كنند و بايد حداقل يكي از قسمت ها ( اسم يا ايميل يا آدرس وب يا خود نظرنوشته شده ) را تغيير دهند تا نظرشان به عنوان يك كامنت جديد ثبت شود ( بفرماييد اين هم راه حل باسه سري دومي ها :-) البته شخص بايد خيلي خيلي بيكار باشد كه با اين شرايط، باز هم بيايد و مثلا 100 تا كامنت بگذارد .
پس از انجام اين كار، در هر پست، كامنتي كه تمام قسمت هايش يعني اسم، ايميل، آدرس وب و خود نظرنوشته شده عينا شبيه يكي از كامنت هاي موجود ِ همان پست باشد، ثبت نخواهد شد .

ابتدا از طريق FTP ، وارد دايركتوريي شويد كه ام تي را در آن نصب كرده ايد ، حالا به ترتيب وارد ساب دايركتوري هاي زير شويد:

کد:

lib/MT/App

پس از آنكه وارد فلدر App شديد، فايل Comments.pm را بر روي دستگاهتان منتقل كنيد (چون مي خواهيم كه يك سري تغييرات در اين فايل بدهيم، مي توانيد آنلاين هم فايل را اديت كنيد ولي براي راحتي كار بهتر است ابتدا آن را دانلود كنيد ، سپس تغييرات لازم را اعمال كنيد و دوباره فايل مورد نظر را آپلود كنيد ).حال فايل Comments.pm را با يك اديتور متني ( مثل Notepad ) باز كنيد و عبارت زير را در آن پيدا كنيد.

کد:

$comment->save;

حال تمام كد هاي زير را به قبل از عبارت بالا اضافه كنيد ( دقت كنيد، تمام كد ها را قبل از عبارت بالا قرار دهيد )

کد:

if(my @existing_comments = MT::Comment->load({ blog_id => $comment->blog_id, entry_id => $comment->entry_id})) {

foreach my $c (@existing_comments) {
next unless (($c->author||'') eq ($comment->author||'')
&& ($c->email||'') eq ($comment->email||'')
&& ($c->text||'') eq ($comment->text||''));

my $link_url;
if (!$q->param('static')) {
my $url = $app->base . $app->uri;
$url .= '?entry_id=' . $q->param('entry_id');
$link_url = $url;
} else {
my $static = $q->param('static');
if ($static == 1) {
$link_url = $entry->permalink;
} else {
$link_url = $static . '#' . $c->id;
}
}
return $app->redirect($link_url);
}
}


حال تغييرات اعمال شده را ذخيره كرده و فايل Comments.pm را به سرجاي اولش ( از همان جا كه دانلودش كرديد ! ) اپلود كنيد . در ضمن به پرسش نرم افزار FTP خود مبني بر جايگزيني اين فايل، پاسخ مثبت بدهيد. تمام شد ! به همين راحتي ... حال ديگر شاهد كامنت هاي تكراري نخواهيد بود و همچنين مزاحمان ِ كامنت گذار را تا حدي زيادي به دردسر انداخته ايد