Đăng ký tham gia sự kiện theo cách Discuz! làm: một chủ đề mới có thể kèm thời gian, địa điểm và số chỗ; thành viên bấm
Tham gia sự kiện ngay dưới tiêu đề.
Tính năng
- Trong ô soạn chủ đề mới (mục Tuỳ chọn thêm) có nhóm trường sự kiện: bật sự kiện, thời gian bắt đầu, địa điểm,
số chỗ (0 = không giới hạn). - Thẻ sự kiện dưới tiêu đề chủ đề: thời gian, địa điểm, người tổ chức, số chỗ đã dùng, avatar những người tham gia và
nút Tham gia / Huỷ đăng ký. - Danh sách chủ đề hiện ngày sự kiện trong dòng thông tin.
- Người tổ chức nhận thông báo mỗi khi có người đăng ký.
- Hết chỗ, đã bắt đầu (tuỳ chọn), hoặc khách chưa đăng nhập đều có trạng thái riêng thay vì nút bấm sai.
An toàn dữ liệu
- Hai bảng:
plugin_tabre_events(một dòng cho mỗi chủ đề) vàplugin_tabre_events_signup(một dòng cho mỗi người),
khoá UNIQUE trên(topic_id)và(event_id, user_id)nên bấm đúp không ghi hai lần. - Khi số chỗ đã đầy trong lúc hai người bấm cùng lúc, dòng vừa ghi được lấy lại và người sau nhận thông báo hết chỗ.
- Trường sự kiện được kiểm tra trong
topic.before_save(bên trong transaction tạo chủ đề); chủ đề chờ duyệt vẫn giữ
sự kiện nhờreview.held, vìtopic.after_savechỉ chạy khi được duyệt ở request khác. - Mọi thay đổi là POST + CSRF; không sửa file lõi.
Cài đặt
Bật tại Quản trị → Plugin. Tuỳ chọn:
| Tuỳ chọn | Mặc định | Ý nghĩa |
|---|---|---|
| Notify the organizer when someone joins | Bật | Thông báo cho người tổ chức |
| Show the event date in topic lists | Bật | Hiện ngày sự kiện trong danh sách |
| Allow sign-ups after the event starts | Tắt | Vẫn cho đăng ký sau giờ bắt đầu |
Thời gian nhập theo giờ của diễn đàn (múi giờ trong cấu hình). Trường sự kiện chỉ có khi tạo chủ đề mới; sửa chủ đề
không đổi sự kiện.