Kết quả 1 đến 1 của 1
			
		- 
	08-03-14, 05:50 PM #1--• UG GHOST TEAM •--      
 - Ngày tham gia
- Sep 2011
- Đang ở
- Localhost
- Bài viết
- 229
- Thanks
- 101
- Thanked 36 Times in 27 Posts
 Delete Duplicate Posts - Hướng dẩn xóa các bài viết trùng trong VbbThông thường các bạn muốn xóa các chủ đề trùng lặp thì vào ACP => Maintenance => Update Counters => Delete Duplicate Threadsnhưng hầu như hiệu quả thấp. Hôm nay mình sẽ hướng dẩn các bạn cách xóa các bài viết trùng nhau bằng cách hack thêm một số câu lệnh cho vBulletin. 
 
 Bước 1:
 mở file misc.php nằm theo đường dẩn {forums}/admincp/misc.php, tìm:
 PHP Code:
 Thêm vào bên dưới:print_form_header('misc', 'removedupe');
 
 print_table_header($vbphrase['delete_duplicate_threads'], 2, 0);
 print_description_row($vbphrase['note_duplicate_threads_have_same']);
 print_input_row($vbphrase['number_of_threads_to_process_per_cycle'], 'perpage', 500);
 print_submit_row($vbphrase['delete_duplicate_threads']);
 
 
 PHP Code:
 Bước 2: Tạo một Function mới.// Delete Duplicate Posts
 
 
 
 print_form_header('misc', 'removedupeposts');
 print_table_header('Delete Duplicate Posts', 2, 0);
 print_description_row('<strong>Note:</strong> Duplicate posts are posts that have the same title, post user name name, and post time within the same thread.');
 print_input_row('Number of threads to process per cycle', 'perpage', 500);
 print_submit_row('Delete Duplicate Posts');
 // /Delete Duplicate Posts
 
 
 
 Vẫn trong misc.php tìm:
 PHP Code:
 // ###################### Start find lost users #######################
 
 
 
 
 
 if ($_POST['do'] == 'lostusers')
 
 
 
 
 
 Thêm vào bên trên:
 PHP Code:
 Đến đây là Ok rồi. Lưu lại và vào ACP thử chức năng mới thôi!!!// Delete Duplicate Posts
 
 
 
 
 
 
 
 // ###################### Start remove dupe posts #######################
 if ($_REQUEST['do'] == 'removedupeposts')
 {
 if (empty($vbulletin->GPC['perpage']))
 {
 $vbulletin->GPC['perpage'] = 500;
 }
 
 $finishat = $vbulletin->GPC['startat'] + $vbulletin->GPC['perpage'];
 
 echo '<p>Removing duplicate posts</p>';
 
 $posts = $db->query_read("
 SELECT postid, post.title, post.threadid, post.username, post.dateline, thread.title as threadtitle
 FROM " . TABLE_PREFIX . "post as post
 INNER JOIN " . TABLE_PREFIX . "thread AS thread ON(thread.threadid = post.threadid)
 WHERE postid >= " . $vbulletin->GPC['startat'] . " AND
 postid < $finishat
 ORDER BY postid
 ");
 
 while ($post = $db->fetch_array($posts))
 {
 $deleteposts = $db->query_read("
 SELECT *
 FROM " . TABLE_PREFIX . "post
 WHERE title = '" . $db->escape_string($post['title']) . "' AND
 threadid = $post[threadid] AND
 username = '" . $db->escape_string($post['username']) . "' AND
 dateline = $post[dateline] AND
 postid > $post[postid]
 ");
 while ($deletepost = $db->fetch_array($deleteposts))
 {
 $postman =& datamanager_init('Post', $vbulletin, ERRTYPE_SILENT, 'threadpost');
 $postman->set_existing($post);
 $postman->delete();
 unset($postman);
 
 echo "    ".construct_phrase($vbphrase['delete_x'], $deletepost['postid'] . ' ' . $deletepost['title'])."<br />";
 }
 
 echo construct_phrase($vbphrase['processing_x'], $post['postid'] . ' ' . iif(!empty($post['title']),$post['title'],$post['threadtitle']) ) . "<br />\n";
 vbflush();
 }
 
 if ($checkmore = $db->query_first("SELECT postid FROM " . TABLE_PREFIX . "post WHERE postid >= $finishat LIMIT 1"))
 {
 print_cp_redirect("misc.php?" . $vbulletin->session->vars['sessionurl'] . "do=removedupeposts&startat=$finishat&pp=" . $vbulletin->GPC['perpage']);
 echo "<p><a href=\"misc.php?" . $vbulletin->session->vars['sessionurl'] . "do=removedupeposts&startat=$finishat&pp=" . $vbulletin->GPC['perpage'] . "\">" . $vbphrase['click_here_to_continue_processing'] . "</a></p>";
 }
 else
 {
 define('CP_REDIRECT', 'misc.php');
 print_stop_message('deleted_duplicate_threads_successfully');
 }
 
 }
 // /Delete Duplicate Posts
 
 
 
 
 
 
 vào ACP => Maintenance => Update Counters sẽ thấy một điều mới đó là nó có thêm chức năng Delete Duplicate Posts (Xem hình).
 
 
 Chức năng cũng tương tự như Delete Duplicate Threads nhưng mà cơ chế hoạt động của nó sẽ hay hơn và hiệu quả hơn!!
 VD như ta post 1 bài như bài này:
 
 
 khi ta viết tiếp một bài khác có nội dung tương tự rồi nhấn gởi bài mới:
 
 
 thì hệ thống sẽ thông báo cho chúng ta là bài này đã có rồi và sẽ được chuyển hướng ra ngoài.
 
 
 Cách này còn một số hạn chế các bạn tự fix và bổ xung nha! Done tại đây!!
 Hay thì thank phát [Only registered and activated users can see links. ]
 
 
 Nguồn : CungHoaNhip.Net
 
 
 
 
 
 
 
 
 
 Khách viếng thăm hãy cùng ShineGhost xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
 
Các Chủ đề tương tự
- 
  My Threads & My Posts Links in a Drop-Down MenuBởi PandavB trong diễn đàn vBulletin 4.x Add-onsTrả lời: 0Bài viết cuối: 11-02-14, 10:49 AM
- 
  Display Unread Posts (and Reputation Comments in 4.1)Bởi PandavB trong diễn đàn vBulletin 4.x Add-onsTrả lời: 0Bài viết cuối: 11-02-14, 08:53 AM
- 
  Change Threads/Posts Owner/Date for vB4Bởi PandavB trong diễn đàn vBulletin 4.x Add-onsTrả lời: 0Bài viết cuối: 10-02-14, 04:41 PM
- 
  Change Threads/Posts Owner/Date for vB3.8Bởi KingSky trong diễn đàn vBulletin 3.8 Add-onsTrả lời: 0Bài viết cuối: 10-02-14, 02:12 PM
- 
  Pr0 nào giúp em delete cái ông Peddler (kẻ bán dạo)trong shopgameBởi thiepls trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 2Bài viết cuối: 30-09-11, 02:56 AM

 
				 
				 
				 
				 
				 
				 
			




 
					
					
					
						 Trả lời kèm Trích dẫn
  Trả lời kèm Trích dẫn