Trong quá trình lập trình chắc hẳn chúng ta hay quên những hàm và hằng mà hệ thống mã nguồn mở đã định nghĩa sẵn cho chúng ta chỉ việc xài. Đó là điều mà không lập trình web nào mong muốn. Chính vì lý do đó hôm nay Thịnh chia sẻ với các bạn danh sách các hàm và hằng đã được định nghĩa sẵn trên mã nguồn mở NukeViet. Khi bạn nhớ ra nó thì việc lập tình sẽ nhanh gọn hơn. Còn nếu như quên thì đã có ThinhWeb Blog lưu giữ lại danh sách các hàm và hằng trong NukeViet 4. Tránh việc nói nhiều, sau đây là danh sách các hàm và hằng và giải thích đi kèm các bạn có thể sử dụng.
Các hàm về hệ thống.
NV_ROOTDIR: Thư mục gốc website, ví dụ: D:/Web/www/nukeviet
NV_IS_USER_FORUM: Có giá trị true nếu site có tích hợp diễn đàn.
NV_OPENID_ALLOWED: Cho phép đăng nhập bằng OpenID.
NV_BASE_SITEURL: Tên thư mục gốc chứa file, ví dụ /nukeviet/.
NV_BASE_ADMINURL: Đường dẫn đến admin, ví dụ /nukeviet/admin.
NV_DOCUMENT_ROOT: Đường dẫn tuyệt đối đến thư mục chứa web của server, ví dụ D:/AppServ/www.
NV_EOL: Kí tự ngắt dòng.
NV_CACHE_PREFIX: Tiếp đầu tố của cache.
NV_IS_AJAX: Kiểm tra referer hệ thống hay bên ngoài, giá trị true hoặc false.
NV_LANG_DATA: Ngôn ngữ data.
NV_LANG_INTERFACE: Ngôn ngữ giao diện.
NV_CONFIG_FILENAME: Tên tập tin cấu hình (config.php)
NV_DATADIR: Đường dẫn thư mục lưu dữ liệu (data/config)
NV_LOGS_DIR: Đường dẫn thư mục chứa các file logs (data/logs)
NV_TEMP_DIR: Đường dẫn thư mục chứa các file lưu tạm thời (data/tmp)
NV_CACHEDIR: Đường dẫn thư mục lưu cache (data/cache)
NV_IP_DIR: Đường dẫn thư mục chứa IP (data/ip)
NV_ASSETS_DIR: Đường dẫn thư mục assets
NV_EDITORSDIR: Đường dẫn thư mục editors (NV_ASSETS_DIR/editors)
NV_UPLOADS_DIR: Đường dẫn thư mục uploads (uploads)
Các hằng về thời gian.
NV_START_TIME: Thời gian bắt đầu phiên làm việc.
NV_CURRENTTIME: Thời gian hiện tại, giá trị bằng time().
NV_CURRENTYEAR_FNUM: Năm hiện tại, ví dụ 2011.
NV_CURRENTYEAR_2NUM: Năm hiện tại, ví dụ 11.
NV_CURRENTMONTH_NUM: Tháng hiện tại, giá trị từ 01-12.
NV_CURRENTMONTH_FTXT: Tháng hiện tại, giá trị từ January – December.
NV_CURRENTMONTH_STXT: Tháng hiện tại, giá trị từ Jan – Dec.
NV_CURRENTDAY_2NUM: Ngày, giá trị từ 01 – 31.
NV_CURRENTDAY_1NUM: Ngày, giá trị từ 1 – 31.
NV_CURRENT12HOUR_2NUM: Giờ, giá trị từ 00 – 12.
NV_CURRENT12HOUR_1NUM: Giờ, giá trị từ 0 – 12.
NV_CURRENT24HOUR_2NUM: Giờ, giá trị từ 00 – 23.
NV_CURRENT24HOUR_1NUM: Giờ, giá trị từ 0 – 23.
NV_CURRENTMIN_2NUM: Giây, giá trị từ 00 – 59.
Các hằng về tài khoản.
NV_IS_USER: Có phải là thành viên không.
NV_IS_MODADMIN: Có phải là người quản trị không.
NV_IS_SPADMIN: Có phải là admin tối cao hoặc người điều hành chung không.
NV_IS_GODADMIN: Có phải là admin tối cao không.
ADMIN_LOGIN_MODE: Kiểu đăng nhập của admin.
Các hằng về Server – Client.
NV_CLIENT_IP: IP của client.
NV_SERVER_NAME: Tên máy chủ, ví dụ domain.com.
NV_SERVER_PROTOCOL: Giao thức, ví dụ http.
NV_SERVER_PORT: Cổng, ví dụ 80.
NV_MY_DOMAIN: Tên miền website, ví dụ http://mydomain1.com:80.
NV_HEADERSTATUS: Ví dụ HTTP/1.0.
NV_USER_AGENT: Thông tin useragent.
Các hàm về xử lý file.
NV_UPLOAD_MAX_FILESIZE: Kích thước tối đa file tải lên (byte).
NV_UPLOADS_REAL_DIR: Đường dẫn tuyệt đối đến thư mục chứa file.
UPLOAD_CHECKING_MODE: Kiểu kiểm tra file tải lên.
PCLZIP_TEMPORARY_DIR: Thư mục chứa file nén tạm thời.
NV_ALLOW_FILES_TYPE: Các kiểu file được tải lên.
NV_ALLOW_UPLOAD_FILES: Cho phép tải file lên.
Các hàm về cơ sở dữ liệu.
NV_AUTHORS_GLOBALTABLE: Tên table authors.
NV_GROUPS_GLOBALTABLE: Tên table nhóm thành viên.
NV_USERS_GLOBALTABLE: Tên table thành viên.
NV_BANNERS_CLIENTS_GLOBALTABLE: Tên table khách hàng quảng cáo.
NV_BANNERS_PLANS_GLOBALTABLE: Tên table kế hoạch quảng cáo.
NV_BANNERS_ROWS_GLOBALTABLE: Tên table quảng cáo.
NV_BANNERS_CLICK_GLOBALTABLE: Tên table thống kê quảng cáo.
NV_CONFIG_GLOBALTABLE: Tên table cấu hình hệ thống.
NV_CRONJOBS_GLOBALTABLE: Tên table tiến trình tự động.
NV_PREFIXLANG: Tiếp đầu tố + ngôn ngữ của table (ví dụ nv3_vi).
NV_MODULES_TABLE: Tên table module.
NV_BLOCKS_TABLE: Tên table block.
NV_MODFUNCS_TABLE: Tên table layout theme.
NV_COUNTER_TABLE: Tên table thống kê.
NV_SEARCHKEYS_TABLE: Tên table từ khóa tìm kiếm.
NV_REFSTAT_TABLE: Tên table thống kê referer.
NV_LANGUAGE_GLOBALTABLE: Tên table ngôn ngữ.
Sử dụng các hằng trong HTML.
- Trong tệp HTML các hằng được đặt trong cặp dấu ngoặc nhọn {TÊN HẰNG} - Ví dụ:
<a href="{NV_MY_DOMAIN}/contact" target="_blank">
<font color="#FF0000">{NV_CLIENT_IP}</font>
</a>