- เครดิต
- 5479
- เพื่อน
- ทักทาย
- บล็อก
- อัลบั้ม
- โพสต์
- กระทู้
- แชร์
- สำคัญ
- สิทธิ์อ่าน
- 200
- จำนวนผู้ติดตาม
- จำนวนผู้กำลังติดตาม
- เพศ
- ไม่บอก
|
ตอบกระทู้ banksanti ตั้งกระทู้
หลังจากที่ผมโหลด Shoutbox 3.0 ที่คุณ banksanti ไปพัฒนาต่อ มันทำให้ผมได้รู้อะไรหลายๆ อย่างทั้งที่เคยรู้และไม่รู้เกี่ยวกับการทำปลั๊กอินของดิสคัสในครั้งนี้ ลองอ่้านดูนะครับ เผื่อบางท่านมีไอเดียสำหรับการนำไปพัฒนาต่อ
ปลั๊กอิน Shoutbox 3.0 ของคุณ banksanti ที่ผมเอามาพัฒนาต่อนั้น ปัญหาที่ผมเจอดังนี้
หลังจากติดตั้งปลั๊กอินเสร็จแล้ว ก็ผ่าน พอจะเข้าไปหน้าแชทจะแสดงข้อความ Access Denied ซึ่งมาจากการรันไฟล์ของไฟล์ shoutbox.php ที่ถูกกำหนดค่าไว้ในไฟล์ natz_shoutbox/template/shoutbox.htm ที่มีซอร์สโค๊ดเป็น- shoutbox.base_url = 'source/plugin/natz_shoutbox/shoutbox.php?';
คัดลอกไปที่คลิปบอร์ด ซึ่งผมลองเข้าไปยังไฟล์ดังกล่าวในเว็บบราวเซอร์ฺดังนีี้ hxxp://localhost/x1.5/source/plugin/natz_shoutbox/shoutbox.php มันก็ขึ้นข้อความดังกล่าว
ผมเลยลองทดสอบโดยใช้ shoutbox 2.5.0 ติดตั้งด้วยดิสคัส 7.2 โดยใช้ลิงค์ดังกล่าวรันดูก็ทำให้เห็นว่ามันเป็นหน้าว่าง ผมเลยลองเปิดดูไฟล์ natz_shoutbox/template/shoutbox.js เพื่อดูว่าจะมีคำสั่งอะไรหรือเปล่าที่จะให้แสดงข้อความล่าสุดจากการแชทของ Shoutbox ผมก็เจอโค๊ดนี้- shoutbox.ajax('get', shoutbox.base_url+'type=shouts&ids='+ids+'&time='+shoutbox.get_timestamp()+fc, shoutbox.load_ajax_shouts);
คัดลอกไปที่คลิปบอร์ด ซึ่งมันมีคำว่าอยู่ด้วย ผมเลยลองนึกย้อนไปดู ก็พบว่า มันเป็นตัวแปรจาวา ที่ถูกประกาศไว้จากไฟล์ natz_shoutbox/template/shoutbox.htm ของโค๊ดที่ว่า- shoutbox.base_url = 'source/plugin/natz_shoutbox/shoutbox.php?';
คัดลอกไปที่คลิปบอร์ด ผมเลยลองเอามาแก้ตัวแปรดูก็ได้เป็นแบบนี้- shoutbox.ajax('get', 'source/plugin/natz_shoutbox/shoutbox.php?type=shouts&ids='+ids+'&time='+shoutbox.get_timestamp()+fc, shoutbox.load_ajax_shouts);
คัดลอกไปที่คลิปบอร์ด ซึ่งผมลองนำที่อยู่ตำแหน่งตะกี้ไปรันหน้าเว็บดูดังนี้ http://localhost/dis7.2/plugins/natz_shoutbox/shoutbox.php?type=shouts&ids= มันก็ทำให้ผมแปลกใจก็คือ มันแสดงข้อความที่แชทล่าสุดครับ อ๊ากกกก จริงๆ ด้วยแบบนี้ครับGuest says (Mar. 18, 2011): ทดสอบๆ
admin says (Mar. 18, 2011): หวัดดีครับ
admin says (Mar. 18, 2011): 1234
admin says (Mar. 18, 2011): Welcome to Shoutbox 2.5.0 Modify For Discuz! 7.2 by theerawut modify from acaz ผมเลยเข้าใจว่า ที่แท้มันก็ใช้จาวาสคริปต์สำหรับอัพเดตข้อความที่แชทล่าสุดคือลิงค์และตัวแปรจาวานี้นี่เอง
ผมจึงนำที่อยู่ลิงค์ดังกล่าวมาลองทำในส่วนของดิสคัส x1.5 บ้าง ดังนี้ hxxp://localhost/x1.5/source/plugin/natz_shoutbox/shoutbox.php?type=shouts&ids= มันก็ทำให้ผมหมดแรง เพราะมันแสดงข้อความ Access Denied แห้วเลยคราวนี้ นึกว่าจะได้เหมือนกัน
ผมยังไม่ท้อนะครับ ผมจึงลองเข้่าเว็บขาวแดง.เน็ต เพื่อแอบดูซอร์สโค๊ด Shoutbox ในส่วนของตัวแปรที่ถูกกำหนดค่าไว้จากไฟล์ natz_shoutbox/template/shoutbox.htm และก็ทำให้ผมตกใจอีกครั้ง เพราะสำหรับปลั๊กอิน shoutbox 3.0 ของเว็บขาวแดง.เน็ต เขาไม่ได้ใช้ตำแหน่งเรียกไฟล์ shoutbox.php แบบโดยตรงเหมือนดิสคัส 7.2 แต่อย่างไร แต่เขากลับใช้เป็นค่านี้- shoutbox.base_url = 'plugin.php?id=natz_shoutbox:shout&';
คัดลอกไปที่คลิปบอร์ด ซึ่งแสดงว่า เราต้องไปกำหนดค่า _GET หรือค่าอะไรก็ไม่รู้ล่ะของปลั๊กอินในแอดมินซีพีของดิสคัส x1.5 อีกที(ซึ่งผมก็ไม่รู้ล่ะทีนี้) ผมเลยลองเอาที่อยู่ลิงค์ไปรันหน้าเว็บดูของเว็บขาวแดง.เน็ตดังนี้ hxxp://forums.khawdang.net/plugin.php?id=natz_shoutbox:shout&type=shouts&ids= ก็จะแสดงข้อความที่สมาชิกเขาแชทกันล่าสุด โดยเราต้องช่วยกันงมหาทางแกะลิงค์ที่อยู่นี้ให้ได้ ว่าเราจะต้องทำอย่างไรบ้าง plugin.php?id=natz_shoutbox:shout&
และนี่ล่ะคือข้อมูลทั้งหมดที่ผมได้ทำการวิเคราะห์ไปเมื่อคืน ทำให้สรุปได้ว่า ข้อความที่จะแสดงล่าสุดนั้น มันจะเป็นแบบนี้
สำหรับดิสคัส x1.5 ลิงค์คือ hxxp://localhost/x1.5/plugin.php?id=natz_shoutbox:shout&type=shouts&ids=
สำหรับดิสคัส 7.2 ลิงค์คือ hxxp://localhost/dis7.2/plugins/natz_shoutbox/shoutbox.php?type=shouts&ids=
ใครที่จะนำไปพัฒนาต่อ ก็ขอให้นำไอเดียนี้ไปใช้ได้เต็มที่ครับ หากทำได้แล้ว ก็อย่าลืมคนที่รอใช้ด้วยล่ะครับ
Jaideejung007
ทีมแปลภาษา |
|