VietTUG.org - old forum

id = 5080, parent = 5065, thread = 4948, catid = 2, locked = 0, moved = 0,
userid = viettug, ip = 125.234.184.185, time = 2008/09/21 (1222005497) ,
subject = Re:Quá trình chuyển trang web, hits = 0, karma = 0+0-,
Thông báo về quá trình chuyển trang web

Do việc bố trí luồn (thread) trong Joomla Simpleboard và cơ sở dữ liệu mới hoàn toàn khác nhau, nên phải chuyển thật mệt nhọc!

Dữ liệu cũ: lưu chỉ số thread ở dạng id
Dữ liệu mới: lưu chỉ số thread ở dạng dãy số thập phân

Trong ví dụ về mã dưới đây: chỉ số bên trái dấu / là chỉ số của bài viết trong diễn đàn cũ. Những bài viết ở đầu dòng là bài viết mở đầu thảo luận, các bài con của nó thì thụt vào bằng nhiều hay ít khoảng trắng.

Chỉ số bên phải dấu / là chỉ số về luồng trong dữ liệu mới.

Công việc đã làm:
- từ dữ liệu đã export ở bước 1 (old database => plain text), viết hàm đọc qua các tham số về id, parent id, thread id để chuyển sang cấu trúc dạng cây (y hệt như dữ liệu sau đây nhưng bỏ đi toàn bộ các chuỗi bên phải dấu / )

- từ kết quả trên, phát sinh hàm duyệt qua toàn bộ cây và tạo ra chuỗi thread tương ứng trong dữ liệu mới.

Bở hơi :!
1 / 01
 4 / 01.00
  6 / 01.00.00
   7 / 01.00.00.00
    8 / 01.00.00.00.00
 14 / 01.01
  168 / 01.01.00
   169 / 01.01.00.00
    185 / 01.01.00.00.00
     205 / 01.01.00.00.00.00
      206 / 01.01.00.00.00.00.00
       416 / 01.01.00.00.00.00.00.00
        839 / 01.01.00.00.00.00.00.00.00
         992 / 01.01.00.00.00.00.00.00.00.00
          993 / 01.01.00.00.00.00.00.00.00.00.00
 15 / 01.02
  16 / 01.02.00
  20 / 01.02.01
  37 / 01.02.02
 23 / 01.03
 47 / 01.04
 65 / 01.05
 1255 / 01.06
  1256 / 01.06.00
 2356 / 01.07
  2427 / 01.07.00
   2428 / 01.07.00.00
    2429 / 01.07.00.00.00
     3146 / 01.07.00.00.00.00
      3148 / 01.07.00.00.00.00.00
       3168 / 01.07.00.00.00.00.00.00
 3137 / 01.08
  3138 / 01.08.00
   3140 / 01.08.00.00
 3424 / 01.09
  3488 / 01.09.00
   3557 / 01.09.00.00
 3589 / 01.10
2 / 01
3 / 01
 9 / 01.00
  31 / 01.00.00
5 / 01