API để phát triển plugin
API này được thiết kế để phát triển các plugin tương thích với các phiên bản DLE từ trước đến nay. Nếu bạn sử dụng API để truy xuất dữ liệu từ cơ sở dữ liệu, bạn có thể yên tâm rằng plugin của bạn sẽ hoạt động trong các phiên bản DLE tiếp theo. Việc điều chỉnh mã nguồn plugin sẽ dễ dàng hơn trong các phiên bản DLE mới. Ngoài ra, khi sử dụng API bạn không cần phải viết hàm riêng để lấy dữ liệu, không cần kết nối, khai báo các lớp để làm việc với cơ sở dữ liệu. Chỉ cần kết nối tập tin API và bắt đầu sử dụng các chức năng của nó, tất cả phần còn lại sẽ tự thực hiện.
Để sử dụng API trong plugin của bạn, hãy include vào:
include ('engine/api/api.class.php');
Dòng code trên có thể được sử dụng trong các tập tin của mã nguồn DLE và trong các mã nguồn khác không liên quan đến DLE. Nó cho phép bạn chuẩn hóa việc tích hợp vào mã nguồn DLE với các tập lệnh khác. Chẳng hạn như diễn đàn.
Danh sách các hàm API:
$dle_api->take_user_by_id( int $id [, string $select_list] );
Giải thích: Tham số tùy chọn $select_list cho biết danh sách các field cần truy xuất hoặc * cho tất cả.
Giá trị trả về: một array có thông tin về người dùng hoặc trả về false nếu không tìm thấy người dùng.
$dle_api->take_user_by_name( string $name [, string $select_list]);
Giải thích: Tham số tùy chọn $select_list cho biết danh sách các field cần truy xuất hoặc * cho tất cả.
Giá trị trả về: một array có thông tin về người dùng hoặc trả về false nếu không tìm thấy người dùng.
$dle_api->take_user_by_email( string $email [, string $select_list]);
Giải thích: Tham số tùy chọn $select_list cho biết danh sách các field cần truy xuất hoặc * cho tất cả.
Giá trị trả về: một array có thông tin về người dùng hoặc trả về false nếu không tìm thấy người dùng.
$dle_api->take_users_by_group( int $group_id [, string $select_list [, int $limit]]);
Giải thích: Tham số tùy chọn $select_list cho biết danh sách các field cần truy xuất, tham số tùy chọn $limit để giới hạn số lượng người dùng được trả về trong kết quả
Giá trị trả về: một array có thông tin về những người dùng hoặc trả về false nếu không tìm thấy người dùng.
$dle_api->take_users_by_ip( string $ip, [, bool $like [, string $select_list [, int $limit]]]);
Giải thích: Tham số tùy chọn $select_list cho biết danh sách các field cần truy xuất, tham số tùy chọn $limit để giới hạn số lượng người dùng được trả về trong kết quả
Giá trị trả về: một array có thông tin về những người dùng hoặc trả về false nếu không tìm thấy người dùng.
$dle_api->change_user_name( int $user_id, string $new_name);
Giải thích: user_id là ID của người dùng cần thay thế thông tin đăng nhập, new_name là tên đăng nhập mới
Giá trị trả về: true nếu thành công, false nếu tên đăng nhập mới đã được người dùng khác sử dụng.
$dle_api->change_user_pass( int $user_id, string $new_pass);
Giải thích: user_id là ID của người dùng cần thay đổi mật khẩu, new_pass là mật khẩu mới của người dùng
Giá trị trả về:
$dle_api->change_user_email( int $user_id, string $new_email);
Giải thích: user_id là ID của người dùng có email cần được thay thế, new_email là email mới của người dùng
Giá trị trả về: 1 = thành công, -1 = email mới đã tồn tại, -2 = email không chính xác
$dle_api->change_user_group( int $user_id, int $new_group);
Giải thích: user_id là ID của người dùng có nhóm cần được thay thế, new_group là ID của nhóm mới
Giá trị trả về: true nếu thành công, false nếu ID nhóm mới đã nhập không tồn tại.
$dle_api->external_auth( string $login, string $password);
Giá trị trả về: true nếu đăng nhập thành công, false nếu tên đăng nhập hoặc mật khẩu không chính xác.
$dle_api->external_register( string $login, string $password, string $email, int $group);
Giải thích: các tham số cần truyền vào hàm này gồm tên đăng nhập, mật khẩu, địa chỉ email, ID của nhóm người dùng để đăng ký tài khoản.
Giá trị trả về: 1 = hoàn thành thành công, -1 = tên đăng nhập đã tồn tại, -2 = email đã tồn tại, -3 = email không chính xác, -4 = nhóm không tồn tại
$dle_api->send_pm_to_user ( int $user_id, string $subject, string $text, string $from);
Giải thích: $user_id - ID người nhận, $subject - tiêu đề tin nhắn, $text - văn bản tin nhắn, $from - tên đăng nhập của người gửi
Giá trị trả về: 1 = gửi thành công, -1 = không tìm thấy người nhận, 0 = lỗi cơ sở dữ liệu
$dle_api->load_table ( string $table [, string $fields [, string $where [, bool $multirow [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]]]);
Giải thích:
$table - tên bảng
$fields - các field cần lấy thông tin, được phân tách bằng dấu phẩy hoặc * cho tất cả
$where - điều kiện lựa chọn
$multirow - chọn một dòng hay nhiều dòng
$start - giá trị mẫu ban đầu
$limit - số bản ghi cần chọn, 0 - chọn tất cả
$sort - field được dùng để sắp xếp
$sort_order - thứ tự sắp xếp
Giá trị trả về: Trả về một mảng dữ liệu hoặc trả về false nếu không tìm thấy gì trong cơ sở dữ liệu theo tiêu chí đã chỉ định
$dle_api->save_to_cache ( string $fname, mixed $vars);
Giải thích: Tham số $fname - tên của tập tin bộ đệm (không bao gồm phần mở rộng), $vars - dữ liệu để ghi vào bộ đệm.
$dle_api->load_from_cache ( string $fname, [, int $timeout [, string $type]]);
Giải thích: Tham số $fname là tên của tập tin bộ đệm (không bao gồm phần mở rộng). Tham số tùy chọn $timeout là số giây mà thông tin từ bộ đệm được coi là lỗi thời hay không. Tham số tùy chọn $type cho biết loại dữ liệu được lưu trữ trong bộ đệm, nếu không phải là 'văn bản' - giả định rằng một mảng đã được lưu trữ và một mảng dữ liệu được trả về.
Giá trị trả về: Nếu tập tin bộ đệm đã lỗi thời, hàm sẽ trả về false, ngược lại thì trả về dữ liệu có trong tập tin bộ đệm
$dle_api->clean_cache ( [string $name] );
Giải thích: Tham số tùy chọn $name chỉ định tên tập tin (không có phần mở rộng) cần xóa
$dle_api->get_cached_files();
$dle_api->edit_config ( mixed $key, [, string $new_value]);
Giải thích:
Tham số $key có thể là chuỗi hoặc mảng
chuỗi: Tên tham số
mảng: mảng kết hợp các tham số
Tham số $new_value - giá trị của tham số. Không được sử dụng nếu $key là một mảng
$dle_api->take_news ( string $cat, [, string $fields [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]);
Giải thích:
$cat - danh mục tin tức, được phân tách bằng dấu phẩy
$fields - các field cần lấy thông tin, được phân tách bằng dấu phẩy hoặc * cho tất cả
$start - giá trị mẫu ban đầu
$limit - số bản ghi cần chọn, 0 - chọn tất cả
$sort - field được dùng để sắp xếp
$sort_order - thứ tự sắp xếp
Giá trị trả về: Trả về mảng 2 chiều
$dle_api->checkGroup ( int $group );
Công dụng: Kiểm tra xem nhóm được chỉ định có tồn tại hay không
Giá trị trả về: true nếu nhóm tồn tại, false nếu nhóm không tồn tại.
$dle_api->install_admin_module ( string $name, string $title, string $descr, string $icon [, string $perm] );
Giải thích:
$name - tên của plugin, cụ thể là tập tin .php nằm trong thư mục engine/inc/, nhưng không có phần mở rộng
$title - tiêu đề plugin
$descr - mô tả plugin
$icon - Tên tập tin biểu tượng cho plugin mà không bao gồm đường dẫn. Tập tin biểu tưởng phải được lưu trong thư mục engine/skins/images/
$perm - Thông tin về các nhóm được phép hiển thị plugin này. Field này có thể nhận các giá trị sau: all hoặc ID nhóm cách nhau bằng dấu phẩy. Ví dụ: 1,2,3. Nếu giá trị all được nhập thì plugin sẽ được hiển thị cho tất cả người dùng có quyền truy cập vào Bảng quản trị
$dle_api->uninstall_admin_module ( string $name );
Giải thích: $name - tên của plugin cần xóa
$dle_api->change_admin_module_perms ( string $name, string $perm );
Giải thích:
$name - tên của plugin
$perm - Thông tin về các nhóm được phép hiển thị plugin này. Field này có thể nhận các giá trị sau: all hoặc ID nhóm cách nhau bằng dấu phẩy. Ví dụ: 1,2,3. Nếu giá trị all được nhập thì plugin sẽ được hiển thị cho tất cả người dùng có quyền truy cập vào Bảng quản trị
API này được phát triển cũng khá lâu nhưng vẫn còn ít tính năng, anh em muốn thêm tính năng gì thì có thể bình luận bên dưới để DLEVIET xem xét và liên hệ bên sản xuất viết thêm vào API ở phiên bản tiếp theo








