[PHP] Mã nguồn đăng thời khóa biểu lên website CMS

Khi sử dụng các mã nguồn CMS mở như WordPress, Nukeviet. Để triển khai và hướng dẫn người dùng sử dụng thật sự rất phức tạp. Và đăng tải thời khóa biểu của trường cũng là một vấn đề.

Trong bài viết này mình chia sẻ một code đơn giản để thuận tiện hơn trong việc quản lí thời khóa biểu của trường, và để phục vụ người dùng một cách dễ nhất.

Demo: Thời khóa biểu trên cms

1. Ý tưởng code đăng thời khóa biểu cho trường học

Hiện nay trên mạng vẫn có một số plugins hỗ trợ cho thời khóa biểu được xuất từ phần mềm cụ thể, nhưng có một số lại không tương thích, và hầu hết các loại thời khóa biểu đều có thể xuất file word, pdf, chính vì thế mình sẽ yêu cầu người dùng xuất dạng file này.

Trong trang cms chúng ta sẽ iframe đến code thời khóa biểu này.

Khi người dùng tải lên, code của mình sẽ cập nhật last update bằng file js. Ở đây để tiện mình sử dụng embed của google để hiển thị tốt nội dung file trên nhiều trình duyệt

Ví dụ:

https://docs.google.com/gview?url=https://thptchuyenbentre.edu.vn/tkb/data/gvchieu.rtf&embedded=true

2. Tải mã nguồn và cài đặt code đăng thời khóa biểu cho trường học

Code này chỉ cho phép bạn upload docx, doc, pdf, rtf.

a. Download code đăng thời khóa biểu cho trường học

Các bạn tải code php đăng thời khóa biểu cho trường học theo đường dẫn này:

https://kienthuc24h.com/themisweb/tkb.zip

b. Hướng dẫn cài đặt code đăng thời khóa biểu

Đầu tiên các bạn giải nén ra thư mục /tkb/ và upload nó ngang hàng index.php

Sau đó các bạn mở các file /tkb/index.php và /tkb/admin/index.php điều chỉnh các đường dẫn website của bạn cho phù hợp.

Còn các file trong thư mục /go/ bạn không cần điều chỉnh, vì code sẽ tự sinh lại khi bạn cập nhật thời khóa biểu.

Quản lí cập nhật TKB tại: http://domain/tkb/admin/

c. Cấu hình bảo mật trang admin

Bạn mở file /tkb/admin/.htaccess và điều chỉnh lại đường dẫn AuthUserFile cho phù hợp với host của mình.

password mặc định là tkb/tkb

Tuy nhiên bạn có thể thay đổi password bằng cách điều chỉnh lại file htpasswd

http://www.htaccesstools.com/htpasswd-generator/

Chép nội dung sau khi tạo password mới vào file .htpasswd

d. Thêm và bớt các loại thời khóa biểu

Mặc định có trên mình thiết lập 7 loại thời khóa biểu, do file xuất của phần mềm tạo TKB.

Các bạn có thể thêm mục bằng cách mở file /tkb/index.php và thêm

<a class="btn btn-primary btn-xs" href="https://thptchuyenbentre.edu.vn/tkb/index.php?loai=tkbtonghop">TKB tổng hợp</a>

vào sau dòng

<a class="btn btn-primary btn-xs" href="https://thptchuyenbentre.edu.vn/tkb/index.php?loai=dthsg">ĐT HSG</a>

Ví dụ bên trên mình thêm vào “TKB tổng hợp”

và sau đó bạn mở file /tkb/admin/index.php

Thêm vào 

xuliupload("tkbtonghop");

Ngay sau

xuliupload("dthsg");

 

Tiếp tục thêm vào 

TKB Tổng hợp : <input type="file" name="tkbtonghop" size="20" /><br />

Ngay sau

ĐT HSG : <input type="file" name="dthsg" size="20" /><br />

Tương tự như vậy các bạn có thể xóa các dòng đó để điều chỉnh các mục.

e. Thiết lập trên mã nguồn CMS

Sau khi đã thiết lập xong các mục trên, bạn vào CMS của mình tạo một page hoặc một post để tiến hành chèn iframe bằng mã html sau

<iframe frameborder="0" height="700" scrolling="no" src="https://domain/tkb/" width="100%"></iframe>

Hi vọng bài viết này sẽ giúp bạn giải quyết được vấn đề của mình 😀

6 thoughts on “[PHP] Mã nguồn đăng thời khóa biểu lên website CMS

  1. Mình cũng đã làm theo bạn hướng dẫn nhưng không hiểu sao nó không đòi mật khẩu. các bước mình đã điều chỉnh file htpasswd như sau:
    – Mình vào trang http://www.htaccesstools.com/htpasswd-generator/
    Mình đặt username là tkb và mật khẩu là 1122334455 chẳng hạn, sau khi bấm nút “Create htpasswd” thì nó ra thế này:tkb:$apr1$g7Js6f9r$.g55ot1C6vyIAu8FmJMq51
    Mình copy hết vào file htpasswd và lưu nó lại.
    PS: Không hiểu sao 2 cái file .htpasswd và .htacess không có tên khi giải nén tập tin. Vậy mình có phải rename cho nó không? Nếu mình upload mà giữ nguyên 2 tập tin đó thì nó không truy cập được trang thời khóa biểu. Còn đặt tên là .htpasswd và .htacess thì nó xuất hiện trang thời khóa biểu (nhưng không có đòi hỏi mật khẩu)

    • Lúc nãy bạn gửi bình luận mà không hiển thị do mình chưa duyệt bình luận thôi 😀

      Bạn đang dùng host apache hay nginx , nếu mà bạn dùng nginx thì chắc là phải cấu hình khác. Host của bạn có dùng cpanel không? nếu có bạn có thể tạo khóa cho thư mục bằng tính năng trong host.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *