ระบบอีเลินนิ่ง (e-learning) ที่ใช้กันแพร่หลาย ในฝั่งของ #ผู้เปิดบริการอีเลินนิ่ง คงหนีไม่พ้น moodle ที่พัฒนามาต่อเนื่องยาวนาน ระบบนี้ก็ต้องมีเครื่อง มีภาษา มีฐาน และมีโค้ด ผู้พัฒนามูเดิ้ลเค้าอัพโค้ด ให้เข้ากับภาษาใหม่ และฐานใหม่ แต่ถ้ามีเครื่องบริการที่ลงภาษาใหม่ แต่ฐานเก่า เช่น php7 กับ mysql5 ตัวโค้ดก็จะไม่ทำงานตามปกติ ผู้พัฒนาโค้ดก็ไม่ได้ทำให้รองรับส่วนนี้ เครื่องบริการเก่าหลายไซต์เค้าไม่อัพ ถ้าอัพจะกระทบระบบเดิมของคนเป็นร้อยเป็นพัน
เครื่องของผมที่เช่าไว้ก็เข้าปัญหาข้างต้น จึงต้องปรับโค้ดเก่าเป็น code ใหม่ เพราะ code เก่าเคยทำงานได้ปกติ แต่ยังใช้ฐานเดิม งม deprecate กันนานหน่อย เยอะด้วยครับกับรุ่นคำสั่งที่ไม่เข้ากัน
สุดท้าย เห็นหน้าแรกโผ่มาแล้วก็ชื่นใจ
http://www.thaiall.com/e-learning/moodle.htm
ค้นฟังก์ชัน get_fast_modinfo พบใน course/lib.php สำหรับ moodle 1.9
https://github.com/conel/moodle-1.9/tree/master/lib
ช่วงท้ายของการแก้ไข code (6 ก.พ.63)
ได้การสืบค้นจาก https://github.com/conel/moodle-1.9/
แล้วเทียบว่า function ที่มีปัญหาอยู่แห่งหนตำบลใด
ทำให้ไม่ต้อง download code จาก server ค้นเพื่อแก้ไข
ปัญหาที่พบหลัก คือ function รับ และส่งตัวแปรไม่เท่ากัน
ปัญหาการใช้ object ที่ต้องเปลี่ยนไปเป็น stdclass
และ deprecate เช่น eregi_replace ที่ต้องใช้ preg_replace แทน