Bug Moderator WP-Forum
01 September 2007 oleh adminGw 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:
Hlm: 1 2
Quepayday menulis: Pada 24.04.09 jam 18:31
Quepayday menulis: Pada 25.04.09 jam 20:10