Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20231001 Rev.8 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 8065|ตอบกลับ: 25

[X1.5] [สิ้นสุดแล้ว] Natz_Shoutbox 3.0 Development Topic

    [คัดลอกลิงก์]
Mr.Jak โพสต์ 2011-3-19 18:44:21 |โหมดอ่าน
แก้ไขครั้งสุดท้ายโดย Mr.Jak เมื่อ 2011-3-26 18:54

ขณะนี้การพัฒนา Natz_Shoutbox คุณ jaideejung007 หรือโจ้เล็กของเรานั้นได้พัฒนาลุล่วงไปด้วยดีแล้วนะครับ

คาดว่าก่อน 2 เมษายนนี้ จะได้ปล่อยให้ใช้งานพร้อมกันทั่วประเทศนะครับ
เป็นเวอร์ชั่น 3.2.0 (อาจสูงกว่านี้หากมีการนำ Feedback จาก DiscuzThai ไปปรับปรุง)
ขอบคุณครับ

คะแนน

จำนวนผู้เข้าร่วม 3จิตพิศัย +3 ย่อ เหตุผล
MasterTGZ + 1
StaFF_PiRcH + 1 ในที่สุด ก็มาซักที !!!.
sakko51150 + 1

ดูบันทึกคะแนน

iiimouiii โพสต์ 2011-3-19 18:45:00
แก้ไขครั้งสุดท้ายโดย iiimouiii เมื่อ 2011-3-19 18:45

Number1 คนแรกกเลยขอเจิมหน่อยย

สู้ๆนะครับ ทีมแปลภาษา ๆ ผมเป็นกำลังใจให้
jaideejung007 โพสต์ 2011-3-19 18:49:35
แก้ไขครั้งสุดท้ายโดย jaideejung007 เมื่อ 2011-3-19 18:55

หลังจากที่ผมโหลด Shoutbox 3.0 ที่คุณ banksanti ไปพัฒนาต่อ มันทำให้ผมได้รู้อะไรหลายๆ อย่างทั้งที่เคยรู้และไม่รู้เกี่ยวกับการทำปลั๊กอินของดิสคัสในครั้งนี้ ลองอ่้านดูนะครับ เผื่อบางท่านมีไอเดียสำหรับการนำไปพัฒนาต่อ

ปลั๊กอิน Shoutbox 3.0 ของคุณ banksanti ที่ผมเอามาพัฒนาต่อนั้น ปัญหาที่ผมเจอดังนี้
      หลังจากติดตั้งปลั๊กอินเสร็จแล้ว ก็ผ่าน พอจะเข้าไปหน้าแชทจะแสดงข้อความ Access Denied ซึ่งมาจากการรันไฟล์ของไฟล์ shoutbox.php ที่ถูกกำหนดค่าไว้ในไฟล์ natz_shoutbox/template/shoutbox.htm ที่มีซอร์สโค๊ดเป็น
  1. 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 ผมก็เจอโค๊ดนี้
  1. shoutbox.ajax('get', shoutbox.base_url+'type=shouts&ids='+ids+'&time='+shoutbox.get_timestamp()+fc, shoutbox.load_ajax_shouts);
คัดลอกไปที่คลิปบอร์ด
ซึ่งมันมีคำว่า
  1. shoutbox.base_url
คัดลอกไปที่คลิปบอร์ด
อยู่ด้วย ผมเลยลองนึกย้อนไปดู ก็พบว่า มันเป็นตัวแปรจาวา ที่ถูกประกาศไว้จากไฟล์ natz_shoutbox/template/shoutbox.htm ของโค๊ดที่ว่า
  1. shoutbox.base_url = 'source/plugin/natz_shoutbox/shoutbox.php?';
คัดลอกไปที่คลิปบอร์ด
ผมเลยลองเอามาแก้ตัวแปรดูก็ได้เป็นแบบนี้
  1. 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 ในส่วนของตัวแปร
  1. shoutbox.base_url
คัดลอกไปที่คลิปบอร์ด
ที่ถูกกำหนดค่าไว้จากไฟล์ natz_shoutbox/template/shoutbox.htm และก็ทำให้ผมตกใจอีกครั้ง เพราะสำหรับปลั๊กอิน shoutbox 3.0 ของเว็บขาวแดง.เน็ต เขาไม่ได้ใช้ตำแหน่งเรียกไฟล์ shoutbox.php แบบโดยตรงเหมือนดิสคัส 7.2 แต่อย่างไร แต่เขากลับใช้เป็นค่านี้
  1. 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
ทีมแปลภาษา

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก

x

แสดงความคิดเห็น

นำความปวดหัวมาให้อีกแล้วขอแสดงความนับถือ...อิอิขอบคุณครับ  โพสต์ 2011-3-20 14:23

คะแนน

จำนวนผู้เข้าร่วม 3จิตพิศัย +4 Money +2 ย่อ เหตุผล
StaFF_PiRcH + 1 อีก 1 บุรุษในตำนาน ที่.
Mr.Jak + 2 + 2
mafia10th + 1 เยี่ยมเลยครับผม.

ดูบันทึกคะแนน

 เจ้าของ| Mr.Jak โพสต์ 2011-3-19 19:00:06
ตอนนี้ผมขอนำไฟล์ของคุณโจ้ไปศึกษาก่อนครับ
แล้วจะมาแก้ไขต่อ
dekid โพสต์ 2011-3-19 19:16:07
สู้ๆครับ ทีมงานของดิสคัสทุกคน ผมเป็นกำลังใจให้ครับ
 เจ้าของ| Mr.Jak โพสต์ 2011-3-19 20:35:29
ตอนนี้ติดบัคเล็กน้อยครับ อีกไม่นานจะได้ใช้กันแล้ว
 เจ้าของ| Mr.Jak โพสต์ 2011-3-19 21:20:13
19/3/2554 21:18
ผลลัพธ์ของ Hooks
  1. include DISCUZ_ROOT."./forumdata/cache/plugin_natz_shoutbox.php"; $shoutbox = $_DPLUGIN["natz_shoutbox"]; if($shoutbox["available"]) { define("SHOUTBOX_URL", "./plugins/".$shoutbox["directory"]); include DISCUZ_ROOT."./forumdata/cache/cache_shoutbox_settings.php"; include DISCUZ_ROOT."./forumdata/cache/cache_shoutbox_usergroups.php"; include language("template", 1, SHOUTBOX_URL."lang"); $shoutbox = $_DPLUGIN["natz_shoutbox"]["settings"]; $sgid = is_array($_DPLUGIN["natz_shoutbox"]["usergroups"][$groupid]) ? $groupid : 0; $shoutbox["usergroup"] = $_DPLUGIN["natz_shoutbox"]["usergroups"][$sgid]; if($discuz_uid > 0) { $member = $db->fetch_first("SELECT m.*, u.color AS groupcolor FROM {$tablepre}members m LEFT JOIN {$tablepre}usergroups u ON u.groupid=m.groupid WHERE m.uid='$discuz_uid'"); } else { $member = $db->fetch_first("SELECT color AS groupcolor FROM {$tablepre}usergroups WHERE groupid='$groupid'"); } if (!$shoutbox["usergroup"]["enable"]) { $shoutbox["enable"] = 0; } else if ($shoutbox["usergroup"]["posts_req"]) { $shoutbox["usergroup"]["posts_req"] = intval($shoutbox["usergroup"]["posts_req"]); if ($shoutbox["usergroup"]["posts_req"] > 0 && $member["posts"] < $shoutbox["usergroup"]["posts_req"]) { $shoutbox["enable"] = 0; } } $shoutbox_ajax_js = array ( 'my_uid' => $discuz_uid, 'my_name' => ($discuz_uid) ? $discuz_user : $shout_lang['shout_guest'], 'my_gcolor' => ($member['groupcolor']) ? $member['groupcolor'] : '', 'flood_limit' => $shoutbox['flood_limit'], 'max_length' => $shoutbox['max_length'], 'shout_order' => $shoutbox['shouts_order'], 'shouts_limit' => $shoutbox['shouts_limit'], 'shouts_refresh' => $shoutbox['shouts_refresh'], 'members_refresh' => $shoutbox['members_refresh'], 'bypass_flood' => $shoutbox['usergroup']['bypass_flood'], 'enable_fade' => $shoutbox['enable_fade'], 'format_names' => $shoutbox['format_names'], 'announcement' => $shoutbox['announcement'], ); }
คัดลอกไปที่คลิปบอร์ด
jaideejung007 โพสต์ 2011-3-19 21:31:03
ตอบกระทู้ Mr.Jak ตั้งกระทู้

สำหรับเปิดดูและแก้ไขโค๊ดของแต่ล่ ะ Hook
bomwhat โพสต์ 2011-3-19 21:45:12
อยากช่วยมากครับ

แต่ไม่ค่อยมีความรู้ด้านนี้

เป็นกำลังใจให้ครับ
sakko51150 โพสต์ 2011-3-20 09:53:09
คอยติดตามอยู่ครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-4-23 22:36

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้