Custom Functions
Các hàm tùy chỉnh cho phép định nghĩa các hoạt động bổ sung chạy bằng mô-đun. Các hàm tùy chỉnh có thể thực hiện các hành động hoặc xác đinh các trang/đầu ra của khu vực máy khách hàng bổ sung. Quyền có thể được cấp cho những người có thể sử dụng từng hàm tùy chỉnh, có thể chỉ là khách hàng, chỉ quản trị viên hoặc cả hai.
Quy ước cho các tên hàm tùy chỉnh tuân theo như bất kỳ hàm nào khác của mô-đun. Nó phải bắt đầu bằng mô-đun filename_, và sau đó là tên hàm tùy chỉnh.
Cách dễ nhất để thể hiện điều này là với một ví dụ:
Example Custom Function
Cùng lấy một ví dụ về hàm khởi đồng lại và tắt máy trong hệ thống VM/VPS.
function mymodule_reboot($params) {
# Code to perform reboot action goes here...
if ($successful) {
$result = "success";} else {
$result = "Error Message Goes Here...";}
return $result;
}
function mymodule_shutdown($params) {
# Code to perform shutdown action goes here...
if ($successful) {
$result = "success";} else {
$result = "Error Message Goes Here...";}
return $result;
}
Ví dụ trên cho thấy cách xác định các hàm tùy chỉnh và sử dụng các biến. Hàm tùy chỉnh trả về hoặc "success" (thành công), hoặc thông báo lỗi. Nếu chúng tôi muốn cho phép khách hàng thực hiện khởi động lại, nhưng chỉ quản trị viên mới có thể thực hiện tắt máy, điều đó sẽ được xác định như sau:
function mymodule_ClientAreaCustomButtonArray() {
$buttonarray = array(}
"Reboot Server" => "reboot",
);
return $buttonarray;
function mymodule_AdminCustomButtonArray() {
$buttonarray = array(}
"Reboot Server" => "reboot",
"Shutdown Server" => "shutdown",
);
return $buttonarray;
Những ví dụ trên cho phép một khách hàng chạy chức năng "reboot" (khởi động lại) các ứng dụng, và quản trị viên "reboot" và "shutdown"
Giá trị chính của mảng là những gì hiển thị cho quản trị viên/khách hàng trên các tùy chọn nút hoặc menu cho các lệnh. Và giá trị là tên hàm tùy chỉnh không bao gồm tiền tố modulename_.
Mô tả về cách cúng cấp nút hoặc cách gọi hàm tùy chỉnh có trong phần Đầu ra của Vùng khách hàng:
<form method="post" action="clientarea.php?action=productdetails">
<input type="hidden" name="id" value="{$serviceid}" />
<input type="hidden" name="modop" value="custom" />
<input type="hidden" name="a" value="reboot" />
<input type="submit" value="Reboot VPS Server" />
</form>
Bài viết được tham khảo và lược dịch từ: https://developers.whmcs.com/provisioning-modules/custom-functions/
Tôi hi vọng bài viết đã giải đáp thắc mắc của bạn. Nếu chúng tôi có thể giúp đỡ gì thêm, xin vui lòng comment hoặc liên hệ email: [email protected]
[Series WHMCS] Modules: Provisioning Modules - Phần 12: Custom Functions 2019-11-04
WHM.vn cho ra mắt series tự học WHMCS giúp bạn thuận lợi hơn trong việc tìm hiểu và học tập về WHMCS