Bug Moderator WP-Forum

01 September 2007 oleh admin

Gw menemukan sedikit bug di WP-Forum, yaitu bug di query untuk mengambil data moderator dari suatu forum.

Ceritanya gini. Gw punya forum:


+----+-----------+
| id |   name    |
+----+-----------+
| 1  | forum 01  |
| 8  | forum 08  |
| 11 | forum 11  |
| 18 | forum 18  |
| 88 | forum 88  |
+----+-----------+

kemudian kita punya data moderator:


+---------+----------+
| user_id | forum_id |
+---------+----------+
|    1    |     1    |
|    1    |     18   |
|    2    |     88   |
+---------+----------+

Ternyata plugin ini menambahkan di tabel `_usermeta` sebuah record dengan isi `meta_key` = ‘moderator’. Nah yang jadi masalah adalah isi `meta_value`. Kalo sesuai sampel data di atas, hasilnya adalah:


+---------+-----------+------------+
| user_id | metak_key | meta_value |
+---------+-----------+------------+
|    1    | moderator |   ,1,18    |
|    2    | moderator |   ,88      |
+---------+-----------+------------+

sementara query untuk mengambil moderator dari suatu forum adalah:


$moderators = $wpdb->get_results("SELECT user_id, user_login, meta_value FROM $wpdb->usermeta
INNER JOIN $wpdb->users ON $wpdb->usermeta.user_id=$wpdb->users.ID WHERE meta_key = 'moderator' AND meta_value LIKE '%$forum_id%'");

Apa jadinya ketika kita ingin menampilkan moderator untuk forum dengan id ’8′ ?
Yup, user_1 dan user_2 akan muncul sebagai moderator. Padahal keduanya bukan moderator forum tersebut. Gimana dengan forum-forum yang lain ?

Related posts:

  1. Forum Jodoh
  2. MySQL: Pivot Table

Hlm: 1 2

Tulis komentar

2 komentar untuk tulisan ini

  1. Quepayday menulis:

    hmm.. luv it ))

  2. Quepayday menulis:

    hmm. bookmarked

Tinggalkan Komentar