1. Trang chủ
  2. » Luận Văn - Báo Cáo

ỨNG DỤNG MÃ NGUỒN MỞ DRUPA XÂY DỰNG WEBSITE CÁC TRƯỜNG TRUNG HỌC PHỔ THÔNG

37 686 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 6,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ỨNG DỤNG MÃ NGUỒN MỞ DRUPA XÂY DỰNG WEBSITE CÁC TRƯỜNG TRUNG HỌC PHỔ THÔNG

Trang 1

BÁO CÁO THỰC TẬP CHUYÊN NGHÀNH

ĐỀ TÀI: ỨNG DỤNG MÃ NGUỒN MỞ DRUPAL

XÂY DỰNG WEBSITE CÁC

TRƯỜNG TRUNG HỌC PHỔ THÔNG

Giảng viên hướng dẫn: TS.Phan Anh Phong

Nghệ An, tháng 4 năm 2015

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, em xin được gửi lời cảm ơn chân thành tới các Thầy, các Cô trongtrường Đại học Vinh, đặc biệt là các Thầy Cô trong khoa Công nghệ thông tin –những người đã trực tiếp giảng dạy, giúp đỡ chúng em trong suốt những năm thánghọc tập ở trường, cảm ơn nhà trường và khoa CNTT đã tạo điều kiện cho chúng em

có cơ sở để chuẩn bị tốt cho công việc học tập và rèn luyện các kỹ năng cần thiếtkhi trở thành người kỹ sư CNTT thực sự

Sinh viên CNTT ngày nay phải không ngừng học hỏi, cập nhật những cái mới

và biết ứng dụng những kiến thức đã được học vào thực tiễn của cuộc sống Đây lànhững bước đầu tiên để chúng em đi sâu vào tìm hiểu trong lĩnh vực công nghệthông tin, trên cơ sở những kiến thức đã được học trong những năm học vừa qua

Để hoàn thành báo cáo này, ngoài sự cố gắng nỗ lực của bản thân còn có sự tậntình giúp đỡ và giảng dạy của các thầy, cô giáo trong khoa CNTT Trường Đại họcVinh Chúng em xin được gửi lời cảm ơn chân thành tới thầy Phan Anh Phong đãnhiệt tình hướng dẫn chúng em trong quá trình thực hiện đề tài này

Vì thời gian và trình độ còn hạn chế nên chắc chắn em không tránh khỏi nhữngthiếu sót Chúng em rất mong nhận được những góp ý của các thầy cô và các bạn để

để tài này được hoàn thiện hơn

Trang 3

LỜI CẢM ƠN 3

LỜI MỞ ĐẦU 4

CHƯƠNG 1: TỔNG QUAN VỀ DRUPAL 5

1.1 Drupal là gì? 6

1.2 Tổng Quan 9

1.2.1 Ứng Dụng 10

1.2.2 Đặc điểm chính 11

1.2.3 Điểm mạnh của Drupal 11

1.2.4 Nhược điểm 12

1.3 Nguyên tắc 13

1.4 Chức năng Drupal 15

1.5 Lý do sử dụng Drupal 16

CHƯƠNG 2: CÁCH CÀI ĐẶT DRUPAL 17

2.1 Cài đặt Drupal 18

2.1.1 Giới thiệu WarmServer 19

2.1.2 Cài đặt WarmServer 20

2.1.3 Cài đặt Drupal 21

2.2 Cách thức Drupal hoạt động 22

2.2.1 User, Permission, Role 23

2.2.2 Comment 24

2.2.3 Taxonomy 25

2.2.4 Database 26

2.2.5 Path 27

2.2.6 Theme 28

2.2.7 Region, Block, Menu 29

CHƯƠNG 3: WEBSITE TRƯỜNG THPT 30

3.1 Mô hình dữ liệu Logic 32

3.2 Mô tả chức năng của hệ thống 33

3.2.1 Mô tả tổng quát hệ thống 34

3.2.2 Mô tả chức năng của hệ thống 35

3.3 Giao diện người dùng 36

3.3.1 Giao diện chính 37

3.3.2 Giao diện viết bài 38

3.3.3 View hiển thị tất cả các bài viết 38

CHƯƠNG 4: TÀI LIỆU THAM KHẢO 39

KẾT LUẬN 40

Trang 4

CHƯƠNG 1: TỔNG QUAN VỀ DRUPAL

1.1 Giới thiệu về phần mềm mã nguồn mở

Mã nguồn mở (open source) là những phần mềm được công bố toàn bộ mã

nguồn để cộng đồng cùng sử dụng và phát triển

Lợi ích lớn nhất trong việc chuyển đổi sang phần mềm tự do nguồn mở là giảm tổng chi phí sở hữu, từ các yếu tố sau:

- Miễn phí bản quyền phần mềm

- Miễn phí các phiên bản nâng cấp trong toàn bộ vòng đời sử dụng sản phẩm

- Giảm chi phí phát triển phần mềm đáp ứng theo yêu cầu nghiệp vụ (sử dụng phần mềm,mô-đun có sẵn để phát triển tiếp, sửa đổi điều chỉnh cho phù hợp với nghiệp vụ)

- Kéo dài thời gian sử dụng/tái sử dụng các phần cứng, thiết bị trong khi vẫn đảm bảo hiệu năng toàn hệ thống

Tăng cường độ tin cậy (có thể kiểm chứng không có mã độc, “cửa sau” với mã nguồn được phân phối kèm), ổn định (tuân theo các chuẩn mở ứng dụng lâu dài), tính an toàn, bảo mật (theo báo cáo của Gartner & nhiều tổ chức phân tích độc lập) toàn hệ thống

1.2 Drupal là gì?

Drupal là một khung sườn phát triển phần mềm hướng mô-đun, một hệ quản trị

nội dung miễn phí và mã nguồn mở

Drupal cho phép người quản trị hệ thống tạo và tổ chức dữ liệu, tùy chỉnh cách trình bày,

tự động hóa các tác vụ điều hành và quản lý hệ thống

Drupal có cấu trúc lập trình rất tinh vi, dựa trên đó, hầu hết các tác vụ phức tạp có thể được giải quyết với rất ít đoạn mã được viết, thậm chí không cần

Đôi khi, Drupal cũng được gọi là "khung sườn phát triển ứng dụng web", vì kiến trúc thông minh và uyển chuyển của nó

Drupal được chạy trên rất nhiều môi trường khác nhau, bao gồm Windows, Mac OS

X, Linux, FreeBSD, OpenBSD và các môi trường hỗ trợ máy phục vụ

web Apache (phiên bản 1.3+) hoặc IIS (phiên bản 5+) có hỗ trợ ngôn ngữ PHP (phiên bản 4.3.3+) Drupal kết nối với cơ sở dữ liệu MySQL hoặc PostgreSQL để lưu nội dung

và các thiết lập

Tên Drupal được phát âm là "Droo - puhl", bắt nguồn từ cách phát âm của từ druppel

theo tiếng Anh đọc theo kiểu Hà Lan gần giống như từ "Drop" trong tiếng Anh vì thế logo của Drupal có hình dạng của giọt nước

Trang 5

Từ tháng 7 năm 2007 đến tháng sáu năm 2008, mã nguồn Drupal đã được tải về từ

website http://drupal.org hơn 1,4 triệu lần.

Hiện nay, có một cộng đồng rộng lớn đang giúp đỡ phát triển Drupal

1.3 Tổng quan

1.3.1 Ứng dụng

 Website thảo luận, website cộng đồng

 Website nội bộ (Intranet), website doanh nghiệp

 Website cá nhân

 Website thương mại điện tử

 Thư mục tài nguyên

 Hệ thống quản lý công trình phát triển phần mềm

 Hệ thống quản lý quan hệ khách hàng

 Hệ thống quản lý thông tin MIS

 Hệ thống quản lý đào tạo trực tuyến

 Hệ thống quản lý nhân lực trực tuyến

 Cấu trúc linh hoạt giúp các lập trình viên mở rộng chức năng không hạn chế theo nhucầu sử dụng

 Drupal cực kỳ thân thiện với công cụ tìm kiếm, đó là một lợi thế rất lớn khi SEO luôn là một vấn đề được quan tâm đối với bất kỳ trang web nào

 Tính năng Multiple giúp bạn có nhiều website với một lần cài đặt Drupal Giúp bạn điều khiển và quản lý dễ dàng hơn

 Drupal chạy được cả trên server Linux và Windows trong khi Jooma chỉ chạy tốt trênserver Linux

Trang 6

1.3.4 Nhược điểm

o Drupal được đánh giá là khó sử dụng với người dùng mới Việc tạo các Menu khiến người dung cảm thấy thực sự bối rối Có lẽ sự bối rối này chính vì thói quen sử dụngJoomla

o Drupal có ít các thành phần mở rộng (extensions) hơn Joomla Mỗi khi có phiên bản Drupal mới bạn phải chờ các nhà cung cấp nâng cấp extensions của họ để tương thích

o Cách bố trí của website Drupal khiến người mới sử dụng khó tìm kiếm và đánh giá nên dùng extensions nào

Drupal hỗ trợ các chuẩn cũ và mới, trong đó có HTML và CSS

Đòi hỏi ít tài nguyên:

Để đạt hiệu quả cao nhất, Drupal khuyến khích các mã lệnh tiết kiệm (thí dụ như dùng

ít truy vấn CSDL) Drupal cũng chỉ cần rất ít đòi hỏi về server, chỉ yêu cầu những cấuhình phổ biến Cụ thể là Drupal cần hoạt động trơn tru với Apache, PHP và MySQLhoặc Postgresql

Dễ dùng: Dễ dùng đối với nhà phát triển, nhà quản lí và người dùng.

Cộng tác: Hỗ trợ các hệ thống chia sẻ thông tin.

1.5 Chức năng của Drupal

 Drupal có thể được sử dụng để xây dựng hầu hết các loại website, từ website cá nhân cho đến những ứng dụng bán hàng phức tạp

 Drupal giúp người dùng có thể phát triển tính năng cách độc lập, đóng gói trong các

module Hiện nay, ở drupal.org, cộng đồng đã đóng góp rất nhiều module với tập các

tính năng đồ sộ Nếu sử dụng thành thạo và khéo léo các module được cộng đồng đóng góp, các ứng dụng web sẽ được phát triển nhanh hơn trên nền tảng Drupal

 Ngoài ra, với kiến trúc module, người dùng có thể xây dựng các bản phân phối bằng cách liên kết các module, cung cấp các thiết lập mặc định để xây dựng nên các ứng dụng chạy trên nền Drupal đáp ứng được các nhu cầu cụ thể

Trang 7

1.6 Lý do sử dụng Drupal

Drupal là một trong những CMS miễn phí lớn hàng đầu thế giới với cộng đồng

thành viên vững mạnh, bởi các tính năng hoàn hảo của nó: cấu trúc linh hoạt, cơ chế hook

đa dạng, cũng như khả năng tùy chỉnh để đáp ứng mọi yêu cầu thiết kế Vài năm trước đây, drupal vẫn còn khá mới mẻ và xa lạ với cộng đồng lập trình VN, lý do chính là do nhu cầu của người dùng web vẫn chưa cao, và cuộc chạy đua về giá khiến các nhà phát triển website luôn lựa chọn cho mình những cms đơn giản để thiết kế nhanh gọn hơn Tuy nhiên hiện nay không ít doanh nghiệp đã nhận ra sự cần thiết của một website

chuyên nghiệp, dễ nâng cấp và sử dụng lâu dài hơn thay cho các website cơ bản

Điều đáng chú ý nhất ở CMS Drupal trước hết là tính bảo mật cao Hệ thống API đa dạng

từ form api, database api, sẵn sàng cho các lập trình viên sử dụng, đã tích hợp sẵn các thuật toán filter mã độc SQL injection hầu như là không thể xảy ra với một website đượclập trình tốt Đây cũng là lý do drupal được chọn làm nền tảng của trang whitehouse

So với các cms phổ biến khác như wordpress, drupal có một thế mạnh hơn hẳn là có cơ chế hook đa dạng, bạn có thể can thiệp và xử lý trước và sau khi một node được save, một comment được đăng, hay một user vừa được đăng ký Bên cạnh đó, cấu trúc drupal

có thể tùy chỉnh thêm field vào các type - tính năng có sẵn trong drupal core

Ngoài ra, vì có hệ thống khá đồ sộ nên drupal core đã tích hợp sẵn một số tính năng để tăng performance như module cache, với tùy chỉnh đa dạng: cache page, cache block, cache theo phân quyền người dùng, cùng hệ thống cache api Hình ảnh update lên cũngđược xử lý để giảm kích thước thông qua image api, cho phép scale & crop ảnh tự động

Ngoài ra bạn còn có thể dễ dàng phân nhóm người dùng, mỗi nhóm với phân quyền riêngcủa họ - đây cũng là một chức năng có sẵn trong drupal core Cuối cùng, nếu bạn muốn xây dựng website chuyên về thương mại điện tử, hay mạng xã hội, thì drupal vẫn có những gói package dành riêng cho những website đó Có thể nói, thiết kế website drupal

là xu hướng đã đang và sẽ còn phát triển trong làng thiết kế web hiện nay

Trang 8

CHƯƠNG 2: CÀI ĐẶT DRUPAL

2.1 Cài đặt Drupal

2.1.0 Tìm hiểu về Local Host

Localhost là từ ghép của hai chữ “local” và “host“ Local dịch theo nghĩa tin học là máy

tính của bạn, Host theo nghĩa tin học là máy chủ Vậy localhost nghĩa là một máy chủ được vận hành trên máy tính của bạn

Localhost giống hosting ở chỗ nó cũng giúp bạn lưu trữ dữ liệu website, tuy nhiên dữ liệunày được lưu ngay tại ổ cứng của bạn, còn hosting lưu tại máy chủ của nhà cung cấp hosting

Localhost bao gồm nhiều ứng dụng đi kèm với nhau và tất cả các ứng dụng đó sẽ kết hợp với nhau để tạo ra một môi trường có thể chạy mã nguồn Drupal trên máy tính của chính bạn bao gồm:

 Phần mềm Webserver tên Apache, đây là webserver thông dụng nhất

 Phần mềm PHP để xử lý mã PHP vì Drupal viết bằng ngôn ngữ PHP

 Phần mềm MySQL Server để lưu trữ và xử lý cơ sở dữ liệu, do Drupal sử dụng MySQL làm nền tảng cơ sở dữ liệu Cơ sở dữ liệu thường được mình viết theo chữ tiếng Anh là database

 Phần mềm PHPMyAdmin để xem và quản lý cơ sở dữ liệu MySQL

Như vậy, đối chiếu với yêu cầu cơ bản của một website Drupal thì localhost đã hoàn toàn đáp ứng được

Trang 9

Mỗi phần mềm thì đều có những đặc điểm riêng đa phần là khác nhau (chủ yếu ở giao diện, phương thức sử dụng thao tác) nhưng quan trọng nhất đối với chúng ta là phần mềm

đó phải được phát triển cập nhật liên tục vì nó phải phù hợp và tương thích với những

phiên bản PHP mới và MySQL mới Và thực chất thì Wampserver dễ cài đặt và sử dụng

hơn rất nhiều, nó được đông đảo cộng đồng sử dụng

2.1.1 Giới thiệu WarmSever

WAMP là chữ viết tắt của Windows, Apache, MySQL, PHP / Perl / Python WAMP

là một hình thức của máy chủ nhỏ có thể chạy trên hầu như bất kỳ hệ điều hành

Windows WAMP gồm Apache 2, PHP 5 (cổng SMTP bị vô hiệu hóa), và MySQL (phpMyAdmin và SQLitemanager được cài đặt để quản lý cơ sở dữ liệu của bạn) được cài đặt sẵn Một biểu tượng trên khay hệ thống hiển thị trạng thái của WAMP, cho phép bạn biết:

 Nếu WAMP hoạt động nhưng không có dịch vụ được mở (biểu tượng sẽ xuấthiện màu đỏ)

 Nếu WAMP đang chạy và một dịch vụ được mở (biểu tượng sẽ xuất hiện màuvàng)

 Nếu WAMP đang chạy với tất cả các dịch vụ mở (biểu tượng sẽ xuất hiện màutrắng)

Apache và MySQL được coi là dịch vụ (có thể bị vô hiệu hóa bằng cách nhấp chuộttrái vào biểu tượng trên thanh tác vụ, rê chuột trên các dịch vụ mà bạn muốn vô hiệuhóa và chọn “Stop Server”)

Các tập tin hoặc các trang web được lưu trữ trên máy chủ WAMP trên máy của bạn,

các bạn có thể truy cập vào bằng đường dẫn http:/localhost hoặc http://127.0.0.1 trong

thanh địa chỉ của trình duyệt web của bạn

WAMP phải được chạy để truy cập vào một trong các địa chỉ trên Nếu bạn muốnchia sẻ tập tin hay trang web với những người khác, click vào biểu tượng nằm trênkhay hệ thống của bạn và chọn vào “Put Online ” Bạn phải có quyền truy cập vàoInternet mới có thể tiếp tục

 C10 SP1 giành cho máy chạy Windown 32

bits : http://www.microsoft.com/download/en/details.aspx?id=8328

 VC10 SP1 giành cho máy chạy Windown 64

bits : http://www.microsoft.com/download/en/details.aspx?id=1352

Trang 10

Sau khi đã cài đặt bộ framework này thì chúng ta bắt tay vào cài đặt WampServer ngaythôi:

Bước 1: Truy cập vào trang chủ của Phần mềm tại địa chỉ http://www.wampserver.com/en/

Bước 2 : Chọn Tab menu “Download” Hoặc kéo xuống phần như hình :

Bước 3: Tiến hành chạy file cài đặt : Wampserver sau khi tải từ trên trang chủ củachương trình

– Như vậy là đã hoàn thiện cài đặt xong chương trình Wamserver cho máy tính của chúng ta

– Tiếp theo là tiến hành chạy chương trình: Từ màn hình Desktop ta chọn chạy chương trình ” Wamserver”

– Khi biểu tượng WampSever chuyển từ màu Đỏ- sang màu Vàng

– rồi chuyển sang màu Xanh thì coi như đã cài đặt chương trình thành công và chạy thànhcông chương trình

– Nên chú tắt các chương trình có khả năng gây xung đột với chương trình dẫn đến không chạy như Skype trùng prot 80 Nếu chương trình chuyển sang màu vàng nhưng không chuyển sang màu xanh khi chạy thì chúng ta nên tắt skypre hoặc các chương trình tương tự rồi Restart toàn bộ chương trình thì có thể chạy được

– Ta chọn Localhost để chạy Sever

– Chọn PhpMyAndmin để quản trị database

– Ngoài ra còn có nhiều tùy chọn khác như: Start All Services để khởi chạy server, Stop All Services để dừng chạy Server, và Resrart All Services để ngừng chạy Server Như vậy giờ bạn có thể bắt đầu cài đặt website động offline trên Localhost

Trang 11

2.1.3 Cài đặt drupal

Bước 1: Download & Extract Drupal

Truy cập vào website https://drupal.org/download để tải về bộ cài đặt Drupal.

Nhấp vào button Download Drupal 7.26 Website sẽ chuyển đến trang download Drupal sourcecode Hiện tại bản mới nhất của Drupal là 7.26 Bạn chọn và tải bản này về

Sau khi tải về và giải nén, ta copy sourcecode và bỏ vào thư mục cài đặt Wamp của máy

chúng ta :C/wamp/www/

Ở đây tôi đặt tên thư mục chưa sourcecode Drupal là mywebsite.

Bước 2 Tạo Database: tạo một Database mới có tên là mywebsite Đã nói ở phần cài đặt

local host

Bước 3 Điền thông tin & Cài đặt

Trang 12

Chúng ta đã đi được hơn 2/3 chặng đường Bây giờ chúng ta sẽ chính thức cài đặt Drupal

website.Truy cập vào đường dẫn http://localhost:4242/mywebsite/install.php để vào trang cài đặt Drupal.Chọn gói cài đặt là Standard Nhấn Save and Continue.

Chọn ngôn ngữ mặc định là English Nhấn Save and Continue.

Tại mục cài database, bạn chọn các thông số như sau:

 Databasetype: MySQL, MariaDB, or equivalent

 Databasename: mywebsite

 Database username: root

 Database password: để trống

Trang 13

Nhấn Save & Continue

Chờ trong 1’30s để hoàn tất quá trình cài đặt

Đến bước này, bạn chỉ cần điền các thông tin liên quan đến website

Trang 14

Nhấn Save & Continue

Trang 15

2.2 Các thành phần chính trong Drupal

2.2.0 Modul

Module là phần mềm (mã) mở rộng các tính năng Drupal và/hoặc các chức năng Các

module core được tích hợp trong bộ tải về của Drupal, và bạn có thể bật chức năng của của nó mà không cần cài đặt phần mềm bổ sung Các module đóng góp được tải về trong mục download các module của drupal.org, và cài đặt trong thư mục cài đặt Drupalcủa bạn Bạn cũng có thể tạo ra các module riêng của bạn, điều này đòi hỏi một sự hiểu biết thấu đáo về Drupal, lập trình PHP, và các module của Drupal API

Một modul gồm các thuộc tính cơ bản sau:

 Name: Tên chính thức của modul, ảnh hưởng trực tiếp tới các hàm kết nối với hệ thống

 Display name: Tên gợi nhớ, được trình bày ở trang điều hành modul

 Description: Giới thiệu ngắn gọn về chức năng của modul, được trình bày ở trang điều hành modul

 Vesion: mã số phiên bản của modul

 Dependencle: tên của modul mà modul đang thiết kế yêu cầu Modul sẽ không được kích hoạt nếu các modul yêu cầu không tồn tại hoặc chưa được kích hoạt

 Package: phân nhóm chức năng chứa đựng modul

Trang 16

2.2.1 User, Permisstion, Role

Mỗi người truy cập vào trang web của bạn, cho dù họ có tài khoản và đăng nhập hoặcghé thăm trang web nặc danh, được xem là một người sử dụng Drupal Mỗi người sửdụng có số ID, và người người sử dụng không phải vô danh có tên người dùng và địachỉ email Các thông tin khác cũng có thể được liên kết với người sử dụng bởi cácmodule, ví dụ, nếu bạn sử dụng các module Profile core, bạn có thể định nghĩa thêmcác trường trong profile người dùng

Người dùng vô danh có ID=0 Người sử dụng có ID=1 là tài khoản người dùng bạntạo ra khi bạn cài đặt Drupal và là người dùng đặc biệt có quyền làm mọi thứ trêntrang web

Những người dùng khác được gán quyền thông qua Role

2.2.2 Node, Comment

Một Node trong Drupal là một thuật ngữ chung cho một phần của nội dung trên trang

web của bạn (Lưu ý rằng sự từ "Node" không phải là từ có ý nghĩa trong toán học như một phần của mạng.) Một số ví dụ về các Node:

• Các trang của các quyển sách(Pages in books)

• Các chủ đề thảo luận trong diễn đàn (Discussion topics in forums)

• Các trang trong blog(Entries in blogs)

• Các bài viết tin tức (News article stories)

Mỗi Node trên trang web của bạn có một kiểu nội dung (Content type) Nó cũng có

ID, Tiêu đề, Ngày viết, Tác giả (một người dùng trên trang web), Nội dung… Bằng cách sử dụng Module (CCK)

Trang 17

Comment cũng là một loại nội dung bạn có thể có trên trang web của bạn (nếu bạn đã

kích hoạt module comment ) Mỗi comment gắn với một Node cụ thể

2.2.3 Taxonomy

Drupal có một hệ thống phân loại nội dung, mà được gọi là Taxonomy Bạn có thể định

nghĩa từ vựng của riêng bạn (vocabularies – groups of taxonomy terms), và thêm terms cho mỗi từ vựng

Từ vựng có thể là ngang hàng hoặc phân cấp, có thể cho phép lựa chọn một hoặc nhiều,

và cũng có thể được "free tagging" (có nghĩa là khi tạo hoặc chỉnh sửa nội dung, bạn có thể thêm terms mới) Mỗi từ vựng có thể được gắn với một hoặc nhiều loại nội dung, và theo cách này, các Node trên trang web của bạn có thể được nhóm lại thành các loại, được dán nhãn, hoặc được phân loại trong bất kỳ cách nào bạn chọn

Trang 18

Comment và User cũng có các bảng cơ sở dữ liệu riêng của nó, và Role, Permission,

và các thiết lập khác cũng được lưu trữ trong các bảng cơ sở dữ liệu

Ngày đăng: 17/07/2015, 12:32

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w