Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 90 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
90
Dung lượng
3,12 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHỊNG 2019 Đồ án tốt nghiệp Trường ĐHDL Hải Phịng BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - TÌM HIỂU XÂY DỰNG MODULE CHO HỆ QUẢN TRỊ NỘI DUNG NUKEVIET ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ Thơng tin HẢI PHỊNG - 2019 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHỊNG -o0o - TÌM HIỂU XÂY DỰNG MUDULE CHO HỆ QUẢN TRỊ NỘI DUNG NUKEVIET ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Giáo viên hướng dẫn: Sinh viên thực hiện: Mã số sinh viên: Ths Đỗ Văn Chiểu Nguyễn Quang Thao 1351010010 HẢI PHÒNG - 2019 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -o0o - NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Sinh viên: Nguyễn Quang Thao Mã SV: 1351010010 Lớp: CT1301 tin Ngành: Cơng nghệ Thơng Tên đề tài: Tìm hiểu xây dựng module cho hệ quản trị nội dung Nukeviet Đồ án tốt nghiệp Trường ĐHDL Hải Phòng NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp a Nội dung - - Biết mã nguồn mở gì,tìm hiểu mã nguồn mở có,đặc biệt tìm hiểu kĩ mã nguồn mở NukeViet Phân tích cấu trúc module NukeViet 3.4 Tổng hợp tài liệu tham khảo có liên quan đến nội dung khóa luận - Thực cài đặt,cấu hình chạy module mã nguồn mở NukeViet - Từ ứng dụng tốn đưa vào xây dựng lên module hồn chỉnh NukeViet b Các yêu cầu cần giải Các phần mềm cần thiết để xây dựng - Web Server: Xampp - Bộ mã nguồn NukeViet Đồ án tốt nghiệp Trường ĐHDL Hải Phòng CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Người hướng dẫn thứ nhất: Họ tên: Đỗ Văn Chiểu Học hàm, học vị: Thạc Sĩ Cơ quan công tác: Trường Đại Học Dân Lập Hải Phòng Nội dung hướng dẫn: ………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ………………………………………………………………………… Người hướng dẫn thứ hai: Họ tên: …………………………………………………………………… Học hàm, học vị: …………………………………………………………… Cơ quan công tác: …………………………………………………………… Nội dung hướng dẫn: ………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ………………………………………………………………………… Đề tài tốt nghiệp giao ngày tháng năm 2019 Yêu cầu phải hoàn thành trước ngày tháng năm 2019 Đã nhận nhiệm vụ: Đ.T.T.N Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên Cán hướng dẫn Đ.T.T.N Th.s Đỗ Văn Chiểu Hải Phòng, ngày tháng .năm 20 HIỆU TRƯỞNG GS.TS.NGƯT Trần Hữu Nghị Đồ án tốt nghiệp Trường ĐHDL Hải Phịng PHẦN NHẬN XÉT TĨM TẮT CỦA CÁN BỘ HƯỚNG DẪN Tinh thần thái độ sinh viên trình làm đề tài tốt nghiệp: Đánh giá chất lượng đề tài tốt nghiệp (so với nội dung yêu cầu đề nhiệm vụ đề tài tốt nghiệp) Cho điểm cán hướng dẫn: ( Điểm ghi số chữ ) Ngày .tháng .năm 20 Cán hướng dẫn ( Ký, ghi rõ họ tên ) Đồ án tốt nghiệp Trường ĐHDL Hải Phòng PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP 1.Đánh giá chất lượng đề tài tốt nghiệp (về mặt sở lý luận, thuyết minh chương trình, giá trị thực tế, ) Cho điểm cán phản biện ( Điểm ghi số chữ ) Ngày .tháng .năm 20 Cán chấm phản biện (Ký, ghi rõ họ tên) Đồ án tốt nghiệp Trường ĐHDL Hải Phòng LỜI CẢM ƠN Trước hết em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáoĐỗ Văn Chiểu, người hướng dẫn, bảo tận tình em suốt thời gian làm đề tài tốt nghiệp Em xin chân thành cám ơn thầy giáo, cô giáo Khoa Công nghệ Thông tin Trường Đại Học Dân Lập Hải Phòng, người dạy, hướng dẫn, trang bị cho chúng em kiến thức bản, cần thiết năm học vừa qua để em có đủ điều kiện hoàn thành đề tài tốt nghiệp Mặc dù cố gắng để hồn thiện báo cáo tốt nghiệp song khả hạn chế nên khóa luận cịn nhiều thiếu sót Vì em mong nhận đóng góp chân tình thầy bạn bè Một lần em xin chân thành cảm ơn! Hải Phòng, Tháng 12 năm 2019 Sinh viên Nguyễn Quang Thao – CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng MỤC LỤC LỜI CẢM ƠN GIỚI THIỆU CHƯƠNG 1: GIỚI THIỆU VỀ PHẦN MỀM NGUỒN MỞ, PHẦN MỀM NGUỒN MỞ NUKEVIET 1.1 Khái niệm phần mềm nguồn mở 1.2 Phân loại phần mềm nguồn mở 1.3 Lợi ích phần mềm nguồn mở người sử dụng 1.4 Giới thiệu số loại phần mềm nguồn mở thường gặp 1.5 Phần Mềm Nguồn Mở Nukeviet 10 1.5.1 Nukeviet gì? 10 1.5.2 Lịch sử phát triển Nukeviet 10 1.5.3 Các phiên Nukeviet 12 1.5.4 Cấu trúc NukeViet 12 1.6 Các khái niệm hệ thống Nukeviet 14 1.6.1 Khái niệm module 14 1.6.2 Khái niệm Block 14 1.6.3 Khái niệm theme 14 1.6.4 Khái niệm ngôn ngữ giao diện ngôn ngữ sở liệu 15 1.7 Ưu nhược điểm Nukeviet 17 1.7.1 Ưu điểm Nukeviet 17 1.7.2 Nhược điểm Nukeviet 17 1.8 Ứng dụng Nukeviet 18 1.9 Các website ứng dụng Nukeviet 18 CHƯƠNG 2: CÁCH THỨC CÀI ĐẶT NUKEVIET, QUẢN TRỊ MODULE 20 2.1 Cài đặt WebServer Xampp để chạy Nukeviet 20 2.1.1 Các phần mềm yêu cầu 20 2.1.2 Các bước tiến hành cài đặt 20 2.2 Cài đặt NukeViet 24 Nguyễn Quang Thao – CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng " $lang_module['stt'] " " $lang_module['name'] " " $lang_module['birthdate'] " " $lang_module['address'] " "; $allSTD = getALLstudent(); foreach ($allSTD as $student) { $contents = " " $student['stt'] " " $student['hoten'] " " $student['ngaysinh'] " " $student['diachi'] " "; } $contents = ""; include (NV_ROOTDIR "/includes/header.php"); echo nv_site_theme($contents); include (NV_ROOTDIR "/includes/footer.php"); ?> Tới hoàn thành xong phần làm việc với tệp tin lang ta tiếp tục đến với phần sử dụng xtemplate Xtemplate thực chất lớp (class) xây dựng sẵn ln tích hợp nukeviet Để sử dụng ta cần quan tâm đến phần sau - Gọi tệp tin tpl - lệnh $xtpl->assign - lệnh $xtpl->parse Nguyễn Quang Thao – CT1301 67 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng - lệnh $xtpl->text('main') Để gọi tệp tin tpl ta dùng sau: $xtpl = new XTemplate("managersong.tpl", NV_ROOTDIR "/themes/" $module_info['template'] "/modules/" $module_file); Ta thấy có hai phần phân cách dấu phảy phần trước tên tệp tin tpl phần sau đường dẫn đến tệp tin tpl Các giá trị hằng, biến NV_ROOTDIR, $module_info['template'], $module_tệp tincác bạn tham khảo tệp tin mainfile.php Hệ thông gọi tệp tin tpl theme bạn dùng không tồn tệp tin tiếp tục tìm đến tệp tin theme_default, admin_default khơng tồn báo lỗi -> lệnh $xtpl->assign có chức gán giá trị cho biến xtpl biến thơng thường mảng -> lệnh $xtpl->parse, $xtpl->text('main') Tệp tin theme.php (ngang hàng với tệp tin action.php) Tệp tin chứa tất cấu trúc xtpl Nhưng khơng bắt buộc phải có nó, xtpl ta dùng nơi Cấu trúc xtpl thơng thường gọi tệp tin có tpl không thiết phảo thế, viết, dễ dàng thao tác với chuyển lại chúng thành html dùng trình soạn thảo HTML để làm việc, sau hồn tất ta chuyển trở lại thành tpl Tạo thư mục tệp tin sau: themes/admin_default/modules/quanly/main.tpl Nguyễn Quang Thao – CT1301 68 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Nội dung tệp tin mail.tpl: {LANG.stt} {LANG.name} {LANG.birthdate} {LANG.address} {DATA.stt} {DATA.hoten} {DATA.ngaysinh} {DATA.diachi} Sửa lại tệp tin main.php thư mục admin sau: Đối với lệnh $xtpl->assign mà giá trị biết đơn tpl cần gọi {ten_bien} mảng để tham chiếu đến phần tử ta dùng {ten_bien.phan_tu} Tạo thêm tệp tin theme.php (không thiết phải có) lưu ngang hàng với tệp tin action.php với nội dung sau: Nguyễn Quang Thao – CT1301 70 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Tệp tin theme.php thực chất function làm nhiệm vụ thực thao tác với xtpl, không cần tệp tin ta có thển thục tệp tin main.php Sửa lại tệp tin main.php sau: Làm tới ta vào module quanly bên sile bị lỗi sau: Lỗi cảnh báo: * [themes/modern/modules/quanly/main.tpl] does not exist * parse: block name[main.loop] does not exist * parse: block name[main.loop] does not exist * parse: block name[main] does not exist Đó lỗi không tồn tệp tin main.tpl.Ta cần thêm tệp tin main.tpl vào themes/theme_dang_dung/modules/quanlyhs/main.tpl: {LANG.stt} {LANG.name} {LANG.birthdate} Nguyễn Quang Thao – CT1301 71 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng {LANG.address} {DATA.stt} {DATA.hoten} {DATA.ngaysinh} {DATA.diachi} Tiếp theo ta tới phần mở rộng thêm thông tin module Mở rộng thông tin admin phần "thông tin từ module" Thêm tệp tin siteinfo.php đặt ngang hàng với tệp tin action.php nội dung sau: Đoạn code đơn giản tính số dịng table => số học sinh gán thêm bào biến $siteinfo[] Để có thơng tin khác bạn gán vô biến $siteinfo[] vào tệp tin admin_vi.php để có thêm tệp tin ngơn ngữ, ta thêm đoạn sau : $lang_module['siteinfo_num_student'] = "Tổng số học sinh"; Thêm RSS cho module: Thêm tệp tin rssdata.php đặt cấp với tệp tin action.php với nội dung sau: Code lấy thông tin tất học sinh Nguyễn Quang Thao – CT1301 73 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Tiếp tục thêm tệp tin rss.php đặt vào thư mục funcs với nội dung : Tiếp theo đến phần sửa dụng javascript ajax cho module Nukeviet tích hợp sẵn cho jquery bạn dùng nơi đâu Để dùng java bạn cho vào tệp tin admin.js user.js admin.js dùng admin cịn user.js dùng ngồi site giới thiệu cách dùng admin cịn ngồi site bạn làm tương tự Tạo thêm thư mục js ngang hàng với thư mục funcs Thêm vào tệp tin admin.js Sửa lại tệp tin admin.functions.php, dòng 16 $allow_func = array('main', 'add', 'del'); Tạo tệp tin del.php thư mục admin với nội dung : Funcs đơn giản lấy id gửi tới xóa hoc sinh có id Nếu xóa thành cơng xuất $lang_module['del_success'] ngược lại xuất $lang_module['del_error'] Nguyễn Quang Thao – CT1301 75 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Ta thêm hai biến ngôn ngữ cho tệp tin ngôn ngữ đồng thời thêm tiếp biến ngôn ngữ cần dùng sau Mở tệp tin admin_vi.php thêm vào: $lang_module['del_success'] = "Xóa thành cơng"; $lang_module['del_error'] = "Xóa thất bại"; $lang_module['del'] = "Xóa"; $lang_module['del_cofirm'] = "Bạn có chắn muốn xóa khơng?"; Tiếp theo ta khởi tạo link xóa học sinh cách mở tệp tin main.php thư mục admin thêm vào dòng thứ 19: $xtpl->assign('URL_DEL', "index.php?" NV_NAME_VARIABLE "=" $module_name "&" NV_OP_VARIABLE "=del&id="); $xtpl->assign('URL_DEL_BACK', "index.php?" NV_NAME_VARIABLE "=" $module_name); Tiếp tục mở tệp tin main.tpltrong (theme/admin_default/modules/quanly) lên sửa lại thành: {LANG.stt} {LANG.name} {LANG.birthdate} {LANG.address} {DATA.stt} {DATA.hoten} {DATA.ngaysinh} Nguyễn Quang Thao – CT1301 76 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng {DATA.diachi} {LANG.del} $(function() { $('a[class="delfile"]').click(function(event) { event.preventDefault(); if (confirm("{LANG.del_cofirm}")) { var href = $(this).attr('href'); $.ajax( { type: 'POST', url: href, data: '', success: function(data) { alert(data); window.location = '{URL_DEL_BACK}'; } }); } }); }); Nguyễn Quang Thao – CT1301 77 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Hai doạn code ta thấy phần function getALLstudent() thiếu lấy id học sinh ta lại mỏ tệp tin global.functions.php lên sửa lại thành: Nguyễn Quang Thao – CT1301 78 Đồ án tốt nghiệp Trường ĐHDL Hải Phịng Như ta hồn thành việc sử dụng ajax cho module Với chức thêm học sinh, sửa thơng tin học sinh, xóa thơng tin học sinh Hình 3.7: Thơng tin học sinh thêm Hình 3.8: Thơng tin học sinh bên ngồi site Nguyễn Quang Thao – CT1301 79 Đồ án tốt nghiệp Trường ĐHDL Hải Phịng KẾT LUẬN Đề tài “Tìm hiểu xây dựng module cho hệ quản trị nội dung NukeViet” đề tài quan tâm nhiều thời gian mã nguồn mở NukeViet phát triển mạnh mẽ Trong trình khảo sát tìm hiểu để phân tích đề tài dẫn giáo viênĐỗ Văn Chiểu, em hiểu phần thấy công việc cần phải làm để xây dựng cho ứng dụng “Xây dựng module tích hợp cho phần mềm nguồn mở NukeViet” Tuy gặp phải nhiều khó khăn em đãrất cố gắng để hoàn thành module với chức sau: - Module thử nghiệm tích hợp Nukeviet quản lý thơng tin học sinh với số chức - Module đáp ứng yêu cầu quản lý, giao diện đẹp, thiết kế nhanh, sử dụng đơn giản - Module chạy thử nghiệm Website thử nghiệm localhost Module đạt số chức để phục vụ cho việc giới thiệu đến người đáp ứng phần nhỏ yêu cầu Em mong nhận ý kiến đóng góp để module phát triển hồn thiện thời gian tới đáp ứng đầy đủ yêu cầu Mặc dù cố gắng nhiều trình khảo sát tìm hiểu xây dựng module, khơng tránh khỏi thiếu sót Vì em mong quý thầy cô quan tâm đến đề tài dẫn góp ý kiến cho em để em hoàn thiện module cách đầy đủ Nguyễn Quang Thao – CT1301 80 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng TÀI LIỆU THAM KHẢO [1] http://forum.nukeviet.vn/ [2] http://wiki.nukeviet.vn/ [3] http://vi.wikipedia.org/wiki/NukeViet [4] Xây dựng ứng dụng Web PHP & MySQL – Phạm Hữu Khang - Nhà xuất Cà Mau [5]Sổ Tay Tin Học Lập Trình - Kỹ Thuật Và Thủ Thuật Lập Trình Hướng Đối Tượng Php - Khái Niệm , Kỹ Thuật Và Viết Mã (Tập 1) - Tác giả: Th.S Nguyễn Minh Lương Phúc nhóm tin học thực dụng- Nhà xuất Hồng Đức(11/20111) [6] Kỹ Thuật Và Thủ Thuật Lập Trình Php - Khái Niệm, Kỹ Thuật Và Viết Mã (Tập 2)- Tác Giả: Th.S Nguyễn Minh - Lương Phúc Và Nhóm Tin Học Thực Dụng-Nhà Xuất Bản Hồng Đức(11/2011) [7] Giáo Trình Phân Tích Thiết Kế Các Hệ Thống Thông Tin Tác Giả : Nguyễn Văn Vỵ - Nhà xuất : Giáo dục (4/2010) Nguyễn Quang Thao – CT1301 81 ... Quản trị module Liên hệ 33 2.4.5 Quản trị module Weblinks 34 2.4.6 Quản trị module FAQ 36 2.4.7 Quản trị module Thăm dò ý kiến 36 2.4.8 Quản trị module. .. Khái niệm module 29 2.4 Quản trị Module Nukeviet 30 2.4.1 Quản trị module Tài khoản 30 2.4.2 Quản trị module Quảng cáo 31 2.4.3 Quản trị module Download... CT1301 tin Ngành: Công nghệ Thơng Tên đề tài: Tìm hiểu xây dựng module cho hệ quản trị nội dung Nukeviet Đồ án tốt nghiệp Trường ĐHDL Hải Phòng NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm