Meeting Room Booking System (MRBS)

เป็นระบบที่ช่วยจัดการในเรื่องการจองห้องประชุม

เนื่องจากที่ทำงานมีห้องเยอะมาก แล้วต้องมีการจองไว้ให้ลูกค้าเข้ามาใช้
ปัจจุบันใช้เป็นไฟล์ excel (ไฟล์ออฟฟิศสารพัดประโยชน์)
เพิ่มลบกันกระหน่ำ ระบายสีกันให้พรึ่ด
แล้วต้องแชร์ไฟล์กัน แย่งกันเปิดวุ่นวายมาก
ใช้งานไม่ค่อยสะดวกเท่าไหร่ แถมแฮงบ่อยอีกต่างหาก

เลยจะลองเปลี่ยนเป็น web base ดูบ้าง
ไปหาดูโปรเจ็คใน SourceForge.net ค้นว่า "room booking"
ก็เจออยู่หลายตัว แต่ตัวที่น่าสนใจที่สุดก็คืออันนี้
Meeting Room Booking System (MRBS)
ล่าสุดเป็นเวอร์ชั่น 1.2.3 ออกมาได้เกือบปีนึงแล้ว
เห็นว่าเป็น php คิดว่าน่าจะแก้ไขปรับปรุงได้ง่ายและเร็วที่สุด
และที่สำคัญ จำนวนดาวน์โหลดมันเยอะดี แปลว่าค่อนข้างเป็นที่นิยม
ของเค้าคงดีจริง ก็เลยเอาปลอดภัยไว้ก่อน

วิธีติดตั้งก็ไม่ยาก ผู้พัฒนาเค้าเขียนเอกสารประกอบมาค่อนข้างละเอียด
ก็ทำตามนั้นได้เลย

อันดับแรกก็แตก zip file ลงไปวางไว้บน web server
ผมทำเป็น virtual host เลยต้องไปแก้ httpd.conf ของ Apache นิดหน่อย
เซิร์ฟเวอร์เดียววางมันซะเจ็ดแปดเวบ อาศัย user น้อย มันคงไม่ล่ม

ต่อไปก็สร้าง db ใน mySql ขึ้นมาก้อนนึง ตั้งชื่อว่า mrbs
เอา script ที่เค้าให้มา (tables.my.sql) รันไปปื้ดนึง ก็ได้ table มาเรียบร้อย
เค้ามี sample-data.sql มาให้ด้วย ดีมากเลย ไม่ต้องคิดเอง
(
ถ้าใครใช้ PostgreSql ก็ใช้สคริปต์ในไฟล์ tables.pg.sql แทน)

แค่นี้ก็เสร็จเรียบร้อย ถ้าไม่มีอะไรผิดพลาด ก็ใส่ url ตามโดเมนที่เราตั้งไว้
มันควรจะแสดงผลออกมาได้คล้ายๆ ในรูปข้างบน

จากนั้นก็จะปรับแต่งอะไรก็ตามสะดวก

เริ่มที่ไฟล์ config.inc.php อ่านไปแก้ไปได้เลย
มีรายละเอียดและตัวอย่างให้ชัดเจน
ส่วนมากเป็นพวกค่าคงที่ทั้งหลาย ส่วนของ db ถ้าใช้ mySql อยู่แล้วก็ไม่ต้องแก้อะไร
ส่วนพวกตัวแปร $mrbs_admin
$mrbs_admin_email
$mrbs_company
ก็แก้เอาตามความต้องการ

ต่อไปเรื่อง user ถ้าตามค่า default ของโปรแกรม ตรง $auth["type"] = "config";
เป็นการเขียน user/pwd ลงไปแบบ hard code ใน config.inc.php
ถ้าไม่ซีเรียสอะไร วิธีนี้ก็สะดวกดี แต่ไม่ค่อยปลอดภัย
จะเห็นว่าเค้าใส่ user/pwd มาให้แล้ว 3 user คือ
administrator/secret
alice/a
bob/b

ถ้าอ่านในไฟล์ AUTHENTICATION จะทราบว่า
user
จะมี 3 level คือ
Unknown user
Authenticated user
Administrator

ถ้าเป็น unknow ก็ดูได้หมดว่าห้องไหนใครจอง แต่แก้ไขไม่ได้
authen
ก็จะดูได้หมด แต่แก้ได้เฉพาะของตัวเอง
admin
ก็ทำได้ทุกอย่างตามระเบียบ

โปรแกรมทำไว้ค่อนข้างดี ทำให้ยืดหยุ่นในการเลือกใช้ระบบ log in มาก
นอกจากจะ hard code ตรงๆ แล้วก็ยังไปลิงค์ใช้กับระบบ user/pwd อื่นได้
อาทิ db, external db, pop3, imap, ldap ฯลฯ

ผมเลือกตามหลักสากลนิยมคือ db ก็จัดการแก้
$auth["type"]
เปลี่ยนจาก "config" เป็น "db" ซะ
แล้วก็ log in เข้าไปด้วย administrator/secret ก่อน
กดเข้าไปที่ลิงค์ User list ระบบจะสร้างตาราง users ให้เราสามารถ add user เข้าไปได้
ให้ add user administrator เป็นคนแรก จากนั้นก็ตามใจเลยครับ
แล้วกลับไป comment ที่บรรทัด $auth["user"] ใน config.inc.php ให้หมด
เราก็จะใช้ user/pwd จาก db อย่างเดียว

กลับมาดูที่หน้าตาโปรแกรม จะเห็นว่าช่วงเวลาที่กำหนดมาให้เป็นช่วงละ 30 นาที
ตั้งแต่ 7 โมงเช้าถึง 1 ทุ่ม ถ้าอยากได้มากน้อยกว่านี้ก็ไปแก้ที่ config.inc.php ที่ตัวแปร
$resolution = 1800;
อันนี้เท่ากับ 30 นาที
$morningstarts = 7;
เริ่ม 7 โมงเช้า
$eveningends = 19;
สิ้นสุดที่ 1 ทุ่ม

ต่อไปมาดูที่ระบบภาษา โปรแกรมเตรียมภาษาและคำแปลมาให้มากมาย
และแน่นอน ภาษาไทย...มันจะไม่มี!!!
ค่าเริ่มต้นมันจะไปที่ lang.en คือภาษาอังกฤษ เราก็จัดการ copy lang.en เป็น lang.th ซะ
แล้วก็ปรับปรุงแก้ไข lang.th ตามใจชอบเลย แปลให้มันตรงๆ ก็แล้วกัน
แล้วกลับไปแก้ที่ config.inc.php ตรง
$default_language_tokens
แก้จาก "en" เป็น "th"
$disable_automatic_language_changing
แก้จาก 0 เป็น 1

ที่มา : http://www.rerngrit.com/node/40

*** แต่ตอนนี้ติดปัญหาตรง 

1.ข้อมูลที่อยู่ในฐานข้อมูลไม่ใช่ภาษาไทย

2.เมื่อเพิ่มพื้นที่และห้องไปแล้ว โปรแกรมสดงผลไม่ครบ เช่น "ภาควิชาคอมพิวเตอร์" แสดงผลแค่ "ภาควิชาคอมพิว"

ช่วยบอกวิธีแก้ปัญหาทีค่ะ

ขอบคุณมากค่ะ