Công cụ thành viên

Công cụ trang web


programming4:function

Khác biệt

Đây là những khác biệt giữa hai phiên bản của trang.

Liên kết đến bản xem so sánh này

Phiên bản trước của cả hai bênPhiên bản trước
Phiên bản sau
Phiên bản trước
programming4:function [2018/02/27 07:49] – [nv_strtoupper] hoaquynhtim99programming4:function [2024/05/10 12:14] (hiện tại) – [nv_sendmail_from_template] hoaquynhtim99
Dòng 80: Dòng 80:
 Cú pháp:  Cú pháp: 
 <code php> <code php>
-nv_check_valid_email ($mail)+nv_check_valid_email ($mail, $return = false)
 </code> </code>
 +
 +> ''$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. 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 ===== ===== nv_set_allow =====
Dòng 215: Dòng 220:
 </code> </code>
  
-  * $from là tên ngưgửi hoăc tên và địa chỉ mail người gửi, nếu gồm tên và địa chỉ mail thì chúng là một mảng một chiều gồm hai phần tử phần tử một là tên và phần tử thứ 2 là email, +  * $from xem thêm cách dùng bên dưi
   * $to là địa chỉ email nhận,    * $to là địa chỉ email nhận, 
   * $subject tiêu đề của email,    * $subject tiêu đề của email, 
Dòng 226: Dòng 231:
 nv_sendmail(array("VINADES", "contact@vinades.vn"), "admin@nukeviet.vn", "Tiêu đề", "<strong>Nội dung</strong>"); nv_sendmail(array("VINADES", "contact@vinades.vn"), "admin@nukeviet.vn", "Tiêu đề", "<strong>Nội dung</strong>");
 </code> </code>
 +
 +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ử
 +
 +<code php>
 +$from = [
 +    'Tên người reply',
 +    'emailrelpy@domain.com'
 +];
 +</code>
 +
 +  * $from là mảng có 4 phần tử: Khả dụng từ bản 4.4.00 về sau
 +
 +<code php>
 +$from = [
 +    'Tên người reply',
 +    'emailrelpy@domain.com',
 +    'Tên người gửi',
 +    'emailsend@domain.com'
 +];
 +</code>
 +
 +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 ===== ===== nv_generate_page =====
 Xuất số trang. Xuất số trang.
Dòng 784: Dòng 817:
 Lưu một thông báo vào CSDL. Thông báo này sẽ hiển thị cho admin biết lúc truy cập vào khu vực quản trị. Lưu một thông báo vào CSDL. Thông báo này sẽ hiển thị cho admin biết lúc truy cập vào khu vực quản trị.
  
-Cú pháp+Cú pháp cho bản trước 4.3.09
  
 <code php> <code php>
Dòng 798: Dòng 831:
   * ''$send_from'' giá trị userID của người gửi thông báo, bằng 0 nếu là thông báo từ hệ thống   * ''$send_from'' giá trị userID của người gửi thông báo, bằng 0 nếu là thông báo từ hệ thống
   * ''$area'' là khu vực thông báo: 0 là ngoài site, 1 là quản trị và 2 là ở các hai khu vực.   * ''$area'' là khu vực thông báo: 0 là ngoài site, 1 là quản trị và 2 là ở các hai khu vực.
 +
 +Cú pháp từ bản 4.3.09 về sau
 +
 +<code php>
 +nv_insert_notification($module, $type, $content = [], $obid = 0, $send_to = 0, $send_from = 0, $area = 1, $admin_view_allowed = 0, $logic_mode = 0)
 +</code>
 +
 +Trong đó: 
 +  * ''$module'' là tên module đưa ra thông báo. Thường là biến ''$module_name''
 +  * ''$type'' là chuỗi ký tự bất kỳ để tạo khóa cho thông báo. Ví dụ, thông báo khi có liên hệ mới, có thể dùng là "new_contact". Hay bình luận mới, dùng "new_comment",....
 +  * ''$content'' là mảng một chiều chứa  các thông tin do người lập trình quy định, các thông tin này sẽ được lấy ra khi hiển thị thông báo.
 +  * ''$obid'' là ID của hành động được thực hiện. Ví dụ: sau khi gửi 1 thư liên hệ, thư này sẽ được ghi vào CSDL với một ID. Hay sau khi bình luận, bình luận này sẽ được ghi vào CSDL với một ID,....
 +  * ''$send_to'' giá trị userID của người nhận, để trống nếu muốn thông báo cho tất cả. Nếu có nhiều người nhận thì giá trị này để là mảng một chiều chứa ID người nhận.
 +  * ''$send_from'' giá trị userID của người gửi thông báo, bằng 0 nếu là thông báo từ hệ thống
 +  * ''$area'' là khu vực thông báo: 0 là ngoài site, 1 là quản trị và 2 là ở các hai khu vực.
 +  * ''$admin_view_allowed'' có giá trị 0, 1, 2. 0 tức là gửi cho toàn bộ, 1 là gửi cho quản trị tối cao, 2 là gửi cho điều hành chung.
 +  * ''$logic_mode'' có giá trị 0 hoặc 1. 0 thì quản trị cấp trên sẽ thấy thông báo quản trị cấp dưới. 1 thì chỉ có cấp đó mới được thấy thông báo
 +
 +**Lưu ý:**
 +
 +  * Quản trị cấp trên sẽ xem được thông báo của quản trị cấp dưới nếu logic_mode = 0.
 +  * Nếu giá trị ''$send_to'' được chỉ định thì chỉ có những ngược nhận được chỉ định trong cấp đó và cấp trên (nếu logic_mode = 0) xem được.
 ===== nv_status_notification ===== ===== nv_status_notification =====
 Cập nhật trạng thái thông báo. Cập nhật trạng thái thông báo.
Dòng 1605: Dòng 1660:
 </code> </code>
  
 +===== nv_strspn =====
 +Nằm ở file includes/utf8/utf8_functions.php
 +
 +Chức năng: Là hàm strspn hỗ trợ UTF-8
 +
 +Cú pháp:
 +<code php>
 +nv_strspn($str, $mask, $start = null, $length = null)
 +</code>
 +
 +===== nv_ucfirst =====
 +Nằm ở file includes/utf8/utf8_functions.php
 +
 +Chức năng: Là hàm ucfirst hỗ trợ UTF-8
 +
 +Cú pháp:
 +<code php>
 +nv_ucfirst($str)
 +</code>
 +
 +===== nv_ltrim =====
 +Nằm ở file includes/utf8/utf8_functions.php
 +
 +Chức năng: Là hàm ltrim hỗ trợ UTF-8
 +
 +Cú pháp:
 +<code php>
 +nv_ltrim($str, $charlist = false)
 +</code>
 +
 +===== nv_rtrim =====
 +Nằm ở file includes/utf8/utf8_functions.php
 +
 +Chức năng: Là hàm rtrim hỗ trợ UTF-8
 +
 +Cú pháp:
 +<code php>
 +nv_rtrim($str, $charlist = false)
 +</code>
 +
 +===== nv_trim =====
 +Nằm ở file includes/utf8/utf8_functions.php
 +
 +Chức năng: Là hàm trim hỗ trợ UTF-8
 +
 +Cú pháp:
 +<code php>
 +nv_trim($str, $charlist = false)
 +</code>
 +
 +===== nv_EncString =====
 +Nằm ở file includes/utf8/utf8_functions.php
 +
 +Chức năng: Lọc dấu tiếng Việt
 +
 +Cú pháp:
 +<code php>
 +nv_EncString($string)
 +</code>
 +Trong đó:
 +  * ''$string'' là chuỗi cần lọc dấu
 +
 +===== nv_save_file_ips =====
 +Nằm ở file includes/core/admin_functions.php
 +
 +Chức năng: Ghi cấu hình chặn IP và cấu hình IP loại trừ Flood ra file.
 +
 +Cú pháp:
 +<code php>
 +nv_save_file_ips($type)
 +</code>
 +Trong đó:
 +  * ''$type'' 0 thì lưu Ban IP, 1 thì lưu IP loại trừ Flood
 +
 +===== change_alias_tags =====
 +Nằm ở file includes/utf8/utf8_functions.php
 +
 +Được bổ sung kể từ NukeViet 4.3.03
 +
 +Chức năng: Chuyển chuỗi thành liên kết tĩnh hợp lệ của tags
 +
 +Cú pháp:
 +<code php>
 +change_alias_tags($alias)
 +</code>
 +Trong đó:
 +  * ''$alias'' là chuỗi cần chuyển
 +
 +
 +===== nv_sendmail_from_template =====
 +Nằm ở file includes/functions.php
 +
 +Được bổ sung kể từ NukeViet 4.6.00
 +
 +Chức năng: Gửi email theo mẫu được soạn.
 +
 +Cú pháp:
 +<code php>
 +nv_sendmail_from_template($emailid, $data = [], $lang = '', $attachments = '', $test_mode = false)
 +</code>
 +Trong đó:
 +  * ''$emailid'' là ID của mẫu email trong module emailtemplates hoặc mảng ''[$module_file, $ID]'' với ''$ID'' là id mẫu email cố định theo module. Nếu là mảng thì hệ thống sẽ tìm mẫu email có ID và module tương ứng. Còn nếu là số thì hệ thống tìm theo ID mẫu email được chỉ định
 +  * ''$data'' là dữ liệu dùng gửi mail đi có thể có dạng như sau
 +
 +<code php>
 +$data = [[
 +    'to' => $email1,
 +    'from' => 'sender@mail.com',
 +    'data' => [
 +        'key1' => 'Value 1',
 +        'key2' => 'Value 2',
 +    ]
 +], [
 +    'to' => [$email2, $email3, $email4],
 +    'from' => ['SenderName' ,'sender@mail.com'],
 +    'data' => [
 +        'key1' => 'Value 1',
 +        'key2' => 'Value 2',
 +    ]
 +]];
 +</code>
 +
 +Trong ''$data'' có bấy nhiêu phần tử sẽ có tương ứng bấy nhiêu email gửi đi. 
 +
 +''to'' là bắt buộc có thể là 1 địa chỉ email hoặc mảng chứa danh sách email nhận. 
 +
 +''from'' có thể có hoặc không, nếu không thì thông tin người gửi được chỉ định ở từng mẫu email hoặc từ cấu hình gửi mail trong hệ thống. from có thể nhận giá trị là email hoặc mảng chứa tên và email.
 +
 +''data'' sẽ là mảng dữ liệu bất kì, truyền dữ liệu vào để gửi email
 +
 +
 +  * ''$lang'' chỉ định ngôn ngữ gửi email, nếu bỏ trống là ngôn ngữ giao diện hiện tại
 +  * ''$attachments'' đường dẫn tuyệt đối đến file đính kèm. Nếu có nhiều file hãy phân cách bằng dấu phảy
 +  * ''$test_mode'' nếu gửi test hãy đặt là true.
 +
 +
 +Kết quả trả về
 +  * Gửi ''$test_mode = true'': Nếu gửi một lúc nhiều email thì là mảng tương ứng chứa trạng thái lỗi hoặc thành công của các email đó dạng chuỗi. Nếu gửi 1 email thì kết quả là chuỗi rỗng khi gửi thành công hoặc chuỗi lỗi khi gửi thất  bại
 +  * Gửi ''$test_mode = false'': Nếu gửi một lúc nhiều email thì là mảng tương ứng chứa trạng thái lỗi hoặc thành công của các email đó dạng boolean. Nếu gửi 1 email thì kết quả là true khi gửi thành công hoặc false khi gửi thất  bại
 +
 +===== nv_sendmail_template_async =====
 +Nằm ở file includes/functions.php
 +
 +Được bổ sung kể từ NukeViet 4.6.00
 +
 +Chức năng: Gửi email bất đồng bộ theo mẫu được soạn. Giống như nv_sendmail_from_template tuy nhiên cách gửi này không làm gián đoạn tiến trình hiện tại đồng thời không có kết quả trả về.
 +
 +Cú pháp:
 +<code php>
 +nv_sendmail_template_async($emailid, $data = [], $lang = '', $attachments = '')
 +</code>
 +Cách sử dụng xem hàm nv_sendmail_from_template 
programming4/function.1519692598.txt.gz · Sửa đổi lần cuối: 2018/02/27 07:49 bởi hoaquynhtim99