====== Các hàm được xây dựng trong NukeViet 5 ====== ===== nv_aleditor ===== Nằm ở file assets/editors/ckeditor/nv.php Chức năng: Gọi ra trình soạn thảo Ckeditor Cú pháp: nv_aleditor($textareaname, $width = '100%', $height = '450px', $val = '', $customtoolbar = '', $path = '', $currentpath = '') Trong đó: * ''$textareaname'' là ID của trình soạn thảo * ''$width'' là chiều rộng trình soạn thảo ví dụ 100%, 100px * ''$height'' là chiều cao trình soạn thảo ví dụ 300px * ''$val'' là nội dung soạn thảo * ''$customtoolbar'' là giá trị tùy chỉnh các công cụ soạn thảo, để trống nếu mặc định hoặc tùy chỉnh theo https://ckeditor.com/latest/samples/old/toolbar/toolbar.html * ''$path'' là đường dẫn upload được phép khi duyệt file, có thể để trống * ''$currentpath'' là đường dẫn upload hiện tại khi duyệt file, có thể để trống ===== nv_admin_checkip ===== Nằm ở file includes/core/admin_access.php Chức năng: Kiểm tra xem IP có bị cấm truy cập vào khu vực admin không. Trả về true nếu không bị cấm và false nếu bị cấm Cú pháp: nv_admin_checkip() ===== nv_admin_checkfirewall ===== Nằm ở file includes/core/admin_access.php Chức năng: Kiểm tra và hiển thị tường lửa truy cập khu vực admin Cú pháp: nv_admin_checkfirewall() ===== nv_admin_checkdata ===== Nằm ở file includes/core/admin_access.php Chức năng: Kiểm tra dữ liệu admin Cú pháp: nv_admin_checkdata($adm_session_value) Trong đó: * ''$adm_session_value'' mảng chứa các field được lấy từ bảng users > Đây là hàm chỉ để sử dụng trong hệ thống ===== nv_base64_encode===== Hàm này dùng để mã hóa một chuỗi. Cú pháp: nv_base64_encode ($input) Ví dụ: nv_base64_encode("http://nukeviet.vn") ; Kết quả: ''aHR0cDovL251a2V2aWV0LnZu'' ===== nv_base64_decode ===== Ngược với hàm ''nv_base64_encode ( $input )'' Cú pháp: nv_base64_decode ($input) Ví dụ: nv_base64_decode("aHR0cDovL251a2V2aWV0LnZu") ; Kết quả: http://nukeviet.vn ===== nv_check_valid_email ===== Cú pháp: nv_check_valid_email ($mail, $return = false) > ''$return'' được thêm vào kể từ phiên bản 4.3.08 Trả về giá trị rỗng nếu email hợp lệ và trả về thông báo lỗi nếu email không hợp lệ. Thường dùng để kiểm tra tính hợp lệ của email khi nhập vào. Nếu tham số $return được đặt lên khác false thì dữ liệu trả về là mảng một chiều gồm hai phần tử 0 là giá trị kiểm tra trong trường hợp ''$return = false'' và phần tử 1 là email đã được chuyển từ Unicode sang ASCII ===== nv_set_allow ===== Cú pháp: nv_set_allow ($who, $groups) > **Hàm này đã bị loại khỏi NukeViet 4** ===== nv_date ===== Cú pháp: nv_date ($format, $time = 0) * $format là định dạng ngày tương tự cú pháp của hàm date trong php xem tại http://php.net/manual/en/function.date.php. * $time là giá trị của ngày. Cần biết thêm hằng ''NV_CURRENTTIME'' Ví dụ nv_date("H:i d/m/Y", NV_CURRENTTIME) Kết quả: 20:10 06/05/2011 ===== nv_htmlspecialchars ===== Cú pháp: nv_htmlspecialchars ($string) Chuyển đổi các ký tự đặc biệt thành chuỗi: & => & \ => ' " => " < => < > => > \\ => \ / => / ( => ( ) => ) * => * [ => [ ] => ] ! => ! = => = # => # % => % ^ => ^ : => : { => { } => } ` => ` ~ => ~ Trong đó: * $string có thể là một chuỗi kí tự hoặc một mảng một chiều chứa các chuỗi kí tự. Tham khảo bảng mã hóa các ký tự đặc biệt: [[http://htmlhelp.com/reference/html40/entities/special.html]] ===== nv_unhtmlspecialchars ===== Ngược lại với hàm ''nv_htmlspecialchars'' Cú pháp: nv_unhtmlspecialchars ($string) ===== nv_nl2br ===== Cú pháp: nv_nl2br ($text, $replacement = '
')
Dùng để chuyển các kí tự xuống dòng thành ''
'' (trong HTML), thường dùng để xuống dòng khi lấy dữ liệu từ textarea. Ví dụ: nv_nl2br("Nuke\nViet") Kết quả: Nuke
Viet ===== nv_br2nl ===== Cú pháp: nv_br2nl ($text) Ngược lại với hàm ''nv_nl2br'' ===== nv_editor_nl2br ===== Cú pháp: nv_editor_nl2br ($text) Tương tự ''nv_nl2br'' nhưng dùng trong trường hợp dữ liệu lấy từ EDITOR. ===== nv_editor_br2nl ===== Cú pháp: nv_editor_br2nl ($text) Ngược lại với ''nv_editor_nl2br ($text)'' Các hàm ''nv_editor_br2nl ($text), nv_editor_nl2br ($text), nv_br2nl ($text), nv_nl2br'' thường được dùng trong khi lấy dữ liệu từ EDITOR hay textarea rồi lưu vào cơ sở dữ liệu rồi đưa ngược từ CSDL ra EDITOR hay textarea (Ví dụ viết một bài viết và sửa một vài viết nào đó). ===== filter_text_input ===== Lấy dữ liệu được submit. Ví dụ: filter_text_input( 'alias', 'post', 'GIA TRI MAC DINH' ) > **Hàm này đã bị loại khỏi NukeViet 4** ===== filter_text_textarea ===== ==== nv_editor_filter_textarea ==== > **Các hàm này đã bị loại khỏi NukeViet 4** ==== nv_editor_filter_textarea ==== > **Hàm này đã bị loại khỏi NukeViet 4** ===== nv_sendmail ===== Gửi email. Cú pháp: nv_sendmail ($from, $to, $subject, $message, $files = '', $AddEmbeddedImage = false) * $from xem thêm cách dùng bên dưới * $to là địa chỉ email nhận, * $subject tiêu đề của email, * $message là nội dung email có thể có định dạng HTML, * $files là địa chỉ tập tin đính kèm (có thể bỏ trống) * $AddEmbeddedImage nếu khác false hệ thống sẽ tự động thêm logo của site vào cuối email như là chữ ký. File logo này được cấu hình tại phần Cấu hình site. Ví dụ: nv_sendmail(array("VINADES", "contact@vinades.vn"), "admin@nukeviet.vn", "Tiêu đề", "Nội dung"); Cách sử dụng biến ''$from'' * $from là string thì string đó là địa chỉ email reply * $from là mảng có 2 phần tử $from = [ 'Tên người reply', 'emailrelpy@domain.com' ]; * $from là mảng có 4 phần tử: Khả dụng từ bản 4.4.00 về sau $from = [ 'Tên người reply', 'emailrelpy@domain.com', 'Tên người gửi', 'emailsend@domain.com' ]; Lưu ý: * Thông số email người gửi có thể không có tác dụng khi gửi tới Gmail và một số máy chủ khác. Trường hợp đó máy chủ tự tìm ra email gửi chính xác để hiển thị. * Từ bản 4.4.00 về sau có thể bỏ trống biến ''$from'', hệ thống sẽ tự lấy từ email, tên của site ===== nv_generate_page ===== Xuất số trang. Cú pháp: nv_generate_page($base_url, $all_page, $per_page, $page); trong đó * ''$base_url'' là link cơ bản khi ấn vào một trang ví dụ nukeviet.vn/ khi ấn vào trang link sẽ thêm ''page=So-trang'' dùng ''$nv_Request->get_int('page', 'get', 1);'' để lấy, * ''$all_page'' tổng số phần tử ví dụ hai mươi bài hát, * ''$per_page'' số phần tử trên một trang ví dụ 5 bài trên một trang, * ''$page'' Trang thứ mấy ví dụ trang 2. Dữ liệu xuất sẽ là một đoạn mã HTML bao gồm các link để ấn vào chỉ cần xuất ra trình duyệt trực tiếp. Giá trị này nhỏ nhất là 1. Nâng cao: nv_generate_page ($base_url, $num_items, $per_page, $on_page, $add_prevnext_text = true, $onclick = false, $js_func_name = 'nv_urldecode_ajax', $containerid = 'generate_page') Trong đó: * $base_url là đường dẫn cơ bản khi ấn vào một liên kết. * $num_items: Tổng số mục cần phân trang. * $per_page: số mục trên một trang. * $on_page: Trang hiện tại (Nhỏ nhất là 1). * $add_prevnext_text: Mang giá trị true, false, bật hoặc tắt hai liên kết “ttang trước” và “trang sau”. * $onclick: Mang giá trị true, false. Nếu giá trị là true thì liên kết sẽ được thêm onclick=“$js_func_name”; * $js_func_name: tên hàm được gọi khi ấn vào liên kết. * $containerid: ID của đối tương được truyền vào hàm ''$js_func_name'' ===== nv_is_url ===== Cú pháp: nv_is_url ($url) Kiểm tra một địa chỉ có phải là địa chỉ web đúng hay không, giá trị trả về là true nếu đúng và false nếu sai . Ví dụ: nv_is_url ("http://nukeviet.vn") kết quả: true ===== nv_check_url ===== Cú pháp: nv_check_url ($url, $is_200 = 0) Kiểm tra sự tồn tại của địa chỉ $url sau thời gian hết hạn thực thi, giá trị trả về là true hoặc false. Ví dụ: nv_check_url ("http://nukeviet.vn") kết quả: true. ===== nv_insert_logs ===== Dùng để lưu lại lịch sử một công việc nào đó. Ví dụ câu lệnh lưu lại là đã có một quản trị viên xóa một chuyên mục sẽ viết như sau: nv_insert_logs(NV_LANG_DATA[Ngôn ngữ], $module_name[tên module hiện đang dùng], $lang_module['file_addfile'][Tên công việc], $array['title'][Nội dung công việc], $admin_info['userid'][ID của thành viên], $link[Link để truy cập nếu có]); ===== nv_site_mods ===== Cú pháp: nv_site_mods() Trả về danh sách cấu hình các module hiện đang sử dụng giá trị trả về có dạng: Array ( [about] => Array ( [module_file] => page [module_data] => about [module_upload] => about [custom_title] => Giới thiệu [admin_title] => Giới thiệu [admin_file] => 1 [main_file] => 1 [theme] => [mobile] => [description] => [keywords] => [groups_view] => 6 [is_modadmin] => [admins] => [rss] => 1 [gid] => 0 [funcs] => Array ( [sitemap] => Array ( [func_id] => 2 [func_name] => sitemap [show_func] => 0 [func_custom_name] => Sitemap [in_submenu] => 0 ) [rss] => Array ( [func_id] => 3 [func_name] => rss [show_func] => 0 [func_custom_name] => Rss [in_submenu] => 0 ) [main] => Array ( [func_id] => 1 [func_name] => main [show_func] => 1 [func_custom_name] => Main [in_submenu] => 0 ) ) [alias] => Array ( [sitemap] => sitemap [rss] => rss [main] => main ) ) [news] => Array ( … ===== nv_groups_list ===== Cú pháp: nv_groups_list($mod_data = 'users') Trả về danh sách các nhóm thành viên trong hệ thống. Mặc định sẽ trả về của module users, thay đổi $mod_data bằng module ảo của module users để trả về nhóm của module đó. ===== nv_info_die ===== Cú pháp: nv_info_die ($page_title = ""[Tiêu đề], $info_title[Thông tin1], $info_content[Thông tin2], $error_code[Mã lỗi HTTP], $adminlink = 0[Cho phép hiển thị link đến khu vực quản trị]) Thường dùng để thông báo lỗi và kết thúc ví dụ báo lỗi 404 - trang web bạn cố gắng truy cập hiện không tồn tại. ===== nv_ImageInfo ===== Hàm tạo ảnh thumb. Cú pháp: nv_ImageInfo($original_name, $width = 0, $is_create_thumb = false, $thumb_path = '') Trong đó: * $original_name: Đường dẫn tuyệt đối đến file ảnh. * $width: chiều rộng ảnh thumb. * $is_create_thumb: Nếu có giá trị true thì hệ thống sẽ tạo ảnh thumb nếu ảnh gốc có kích thước lớn hơn ảnh thumb. * $thumb_path: Đường dẫn tuyệt đối đến thư mục chứa ảnh thumb. ===== change_alias ===== Tạo liên kết tĩnh . Cú pháp: change_alias($title) Ví dụ: change_alias("Tiêu đề") Kết quả: Tieu-de ===== nv_clean60 ===== Cắt ngắn một chuỗi. Cú pháp: nv_clean60 ($string, $num = 60, $specialchars = false) * $string là chuỗi cần cắt * $num là số ký tự * Nếu $specialchars là tre thì chuỗi trả về sẽ được xử lý qua hàm ''nv_htmlspecialchars'' Ví dụ: nv_clean60 ("Nukeviet là phần mềm nguồn mở được nhiều người ưa thích", 10) Kết quả: Nukeviet là phần ... ===== nv_db_cache ===== > **Hàm này đã bị loại khỏi NukeViet 4 tham khảo ''$nv_Cache->db''** ===== nv_del_moduleCache ===== > **Hàm này đã bị loại khỏi NukeViet 4 tham khảo $nv_Cache→delMod** ===== nv_loadUploadDirList ===== > **Hàm này đã bị loại khỏi NukeViet 4** ===== nv_url_rewrite ===== Cú pháp: nv_url_rewrite($buffer, $is_url = false) Trả về đường dẫn rewrite từ đường dẫn chưa rewrite nếu giá trị $is_url là true. ===== nv_get_keywords ===== Cú pháp: nv_get_keywords ($content, $keyword_limit = 20) Trả về từ khóa từ $content, giới hạn tối đa bởi $keyword_limit ===== nv_genpass ===== Cú pháp: nv_genpass ($length = 8, $type = 0) Trả về một đoạn mã ngẫu nhiên có $length kí tự. Giá trị của ''$type'' quy định phạm vi ký tự * 0: Chữ cái thường và số * 2: Chữ cái thường, chữ in hoa và số * 3: Chữ cái thường, ký tự đặc biệt và số * 4: Chữ cái thường, chữ in hoa, số và ký tự đặc biệt ===== nv_capcha_txt ===== Cú pháp: nv_capcha_txt ($seccode) Trả về true nếu mã capcha $seccode là hợp lệ, ngược lại trả về false. ===== nv_get_cache ===== > **Hàm này đã bị loại khỏi NukeViet 4. Tham khảo ''$nv_Cache->getItem''** ===== nv_set_cache ===== > **Hàm này đã bị loại khỏi NukeViet 4. Tham khảo $nv_Cache→setItem** ===== nv_scandir ===== Cú pháp: nv_scandir($directory, $pattern, $sorting_order = 0) tương tự hàm scandir. ===== nv_getextension ===== Cú pháp: nv_getextension ($filename) Trả về kiểu file của $filename. ===== nv_mkdir ===== Cú pháp: nv_mkdir($path, $dir_name) tạo thư mục $dir_name trong thư mục $path. ===== nv_deletefile ===== Cú pháp: nv_deletefile ($file, $delsub = false) Xóa file hoặc thư mục $file. Nếu đối tượng xóa là thư mục và giá trị $delsub là true thì hàm chỉ xóa các thư mục rỗng. ===== nv_copyfile ===== Cú pháp: nv_copyfile ($file, $newfile) Copy $file sang $newfile. ===== nv_renamefile ===== Cú pháp: nv_renamefile ($file, $newname) Đổi tên file $file thành $newname. ===== nv_chmod_dir ===== Cú pháp: nv_chmod_dir ($conn_id, $dir, $subdir = false) CHMOD thư mục $dir và các thu mục con nếu $subdir có giá trị true. $conn_id là connection FTP (ft_connect()); ===== nv_error_info ===== Cú pháp: nv_error_info() Trả về các thông báo lỗi hệ thống. ===== nv_rss_generate ===== Cú pháp: nv_rss_generate ($channel, $items) Xuất RSS. ===== nv_html_meta_tags ===== Nằm ở file includes/core/user_functions.php Chức năng: Xuất các meta tags của site Cú pháp: nv_html_meta_tags($html = true) Trong đó: * ''$html'' nếu đặt là true nội dung xuất ra sẽ được chuyển thành chuỗi, ngược lại dữ liệu trả về là mảng chứa các meta tags ===== nv_is_file ===== Cú pháp: nv_is_file ($file_fullpath, $array_allow_dirs) Kiểm tra một file ''$file_fullpath'' có tồn tại hay không tồn tại trong một hoặc nhiều thư mục cho phép ''$array_allow_dirs''. Kết quả trả về true nếu file tồn tại và false nếu file không tồn tại. Trong đó chú ý hai tham số ''$file_fullpath'' và ''$file_fullpath'', ''$file_fullpath'' là đường dẫn tới file cần kiểm tra được lấy trực tiếp từ giá trị trả về của hàm javascript ''nv_open_browse()'', đường dẫn này có dạng: NV_BASE_SITEURL . $folders . '/' . $filename Ví dụ một số đường dẫn file: /uploads/news/2015_12/image.jpg /assets/images/loading.png /modules/news/data/jquery.custom.js ''$array_allow_dirs'' là thư mục cho phép của ''$file_fullpath'', có thể là một thư mục, hoặc là mảng một chiều gồm nhiều thư mục cho phép. Nếu tham số này để trống trong lệnh gọi hàm, giá trị mặc định gồm hai thư mục cơ bản: uploads // Thư mục chứ file upload assets/images // Thư mục ảnh > Chú ý: Nếu giá trị là thư mục A thì tất cả các thư mục con của thư mục A cũng được xem là thư mục cho phép. Trong ví dụ về đường dẫn file ở trên thì thư mục truyền vào sẽ như sau: /uploads/news/2015_12/image.jpg => uploads/news/2015_12 /assets/images/loading.png => assets/images /modules/news/data/jquery.custom.js => modules/news/data ===== nv_alias_page ===== Phân trang có hỗ trợ rewrite. Chú pháp cơ bản nv_alias_page($title, $base_url, $num_items, $per_page, $on_page) Trong đó: * $title là nội dung tiêu đề của liên kết * $base_url là đường dẫn cơ bản cho mỗi liên kết * $num_items tổng số kết quả * $per_page số kết quả 1 trang * $on_page trang hiện tại, tối thiểu là 1. Nâng cao: nv_alias_page($title, $base_url, $num_items, $per_page, $on_page, $add_prevnext_text = true, $full_theme = true) Trong đó: * $add_prevnext_text xác định có hay không việc thêm vào nút trang trước, trang sau * $full_theme nếu mang giá trị false hàm sẽ trả về chỉ các thẻ ''
  • '', nếu là true hàm trả về cả ''