1.8.x Tính Năng: Link Tools

Preview

Tác giả: Laird

Phiên bản: 1.5.0

Gửi lúc: 10/11/2020

Cập nhật lúc: 18/07/2024

Mô tả
Link Tools extracts the links (URLs) in posts made to your forum, and then provides you with nine new features:
  1. Link previews. A preview box is generated for each link in a post, just below the paragraph in which the link occurs. Different types of preview can be generated for different sites/content, as supported by a customisable Link Previewer framework.

  2. Seamless link searching. Just type a link (URL) into the default field ("Keyword") of the standard MyBB search form and Link Tools will intercept the search and provide accurate results: only posts which contain the link or its equivalent will be listed. The default MyBB search when set to Full Text does not handle links at all well and typically returns results completely unrelated to the link for which you searched.

  3. A duplicate link warner. When a member is starting a new thread, s/he will be warned if any links (URLs) that s/he includes in the thread-starter have already been posted to the board. This feature is especially useful when your board is heavily resource-based and there is a risk of members starting duplicate discussions about resources (links and videos) that have already been discussed.

  4. Link limiting. This allows for limiting of the number of links that may be posted by each member in each of a given set of usergroups in a given set of forums over a given (rolling) period. The administrative interface is at Forums & Posts » Link Posting Limits, and supports in-page editing, deletion, and addition of limit rules.

  5. Link posting moderation. Admins can set forum and usergroup permissions such that new posts containing a link and/or existing posts into which a new link is edited are subjected to moderation.

  6. Anti-link spam protection. Admins can classify links as spam, and set an action to occur when a spam link is posted under qualifying conditions. The possible actions in increasing order of severity are to moderate the post, delete the post, and purge the link spammer either by a ban or deletion. The qualifying conditions relate to usergroup, account age, post count, and submission type (new post, edited post, or either).

  7. Automatic spam classification of links. When posts or threads are deleted via the moderation queue, either in the ModCP or ACP, and when a spammer is purged, the moderator/admin can choose to have any links in the deleted posts/threads auto-classified as spam.

  8. Link listing. Admins can view all links in the database. The listing can be filtered by spam classification, and searched by (partial) link. Links can individually or en masse be (re)classified as spam or not spam.

  9. Link importing. Admins can import links into the database as plain text with one link per line, having them classified as spam (or not spam). This feature is expected to be most used for importing spam links for use by the anti-link spam protection functionality described above.
Link Tools considers to be a link anything that MyBB core also considers to be a link:
  1. The URLs in url tags.

  2. The URLs in video tags.

  3. Bare URLs: those beginning with http://, https://, ftp://, ftp., and www..
Link Tools handles all of the different ways in which two links can look different but be the same (resolve to the same page):
  1. When they are the same except for their protocol: http:// versus https://.

  2. When one has a www. prefix and the other does not.

  3. When they have the same query parameters but in a different order.

  4. When one has a redundant query parameter - e.g., the fbclid query parameter added by Facebook - and the other does not.

  5. When their domains are capitalised differently.

  6. When one redirects (potentially via multiple redirects) to the other, e.g., when a URL shortening service like https://bitly.com/ is used to create a short URL which redirects to the target URL.

  7. When both redirect (potentially via multiple redirects) to the same final link, e.g., when two different "shortened" URLs redirect to the same target URL.
Note that the redirects recognised by Link Tools are: HTTP redirects, HTML meta tag redirects, and "canonical" HTML link tags.

The first five differences are eliminated via "normalisation" of URLs.

The final two are eliminated by querying the URLs until the terminating URL is found. This is done using the cURL PHP functions.

Requirements
Licence

Link Tools is licensed under the GPL version 3.

Installing
  1. Download. Download an archive of the plugin's files.

  2. Copy files. Extract the files in that archive to a temporary location, and then copy the files in "root" into the root of your MyBB installation. That is to say that "root/linktools.php" should be copied to your MyBB root directory, "root/inc/languages/english/linktools.lang.php" should be copied to your MyBB root's "inc/languages/english/" directory, etc.

  3. Install via the ACP. In a web browser, open the "Plugins" module in the ACP of your MyBB installation. You should see "Link Tools" under "Inactive Plugins". Click "Install & Activate" next to it. You should then see the plugin listed under "Active Plugins" on the reloaded page.

  4. Extract links from existing posts, if any. In the plugin's listing, if your board contains any posts, you will see a warning prompt to run link extraction on those posts. Click the "here" button (styled as a plain text link) to do this.

  5. Resolve terminating redirects for extracted links, if any. Return to the plugin's listing, and if any links were extracted in the last step, you will see a warning prompt to run terminating link resolution on them. Again, click the "here" button (again, styled as a plain text link) to do this.
Optionally, you may then want to configure settings (by navigating in the ACP to "Settings" -> "Plugin Settings" -> "Link Tools Settings"), and/or edit the plugin's templates and/or its stylesheet.

Upgrading
  1. Deactivate. In a web browser, open the "Plugins" module in the ACP of your MyBB installation and click "Deactivate" beside the "Link Tools" plugin.

  2. Download and Copy files. As in steps one and two for installing above.

  3. Reactivate. As for step one but clicking "Activate" rather than "Deactivate".
This will maintain any settings and template changes that you've made, although if you've made template changes, you may after upgrading need to navigate in the ACP to "Templates & Style" -> "Templates" -> "Find Updated Templates" to properly integrate/update this plugin's templates.
Công cụ liên kết trích xuất các liên kết (URL) trong các bài đăng được thực hiện trên diễn đàn của bạn, sau đó cung cấp cho bạn chín tính năng mới:
  1. Xem trước liên kết. Một hộp xem trước được tạo cho mỗi liên kết trong một bài đăng, ngay bên dưới đoạn văn mà liên kết xuất hiện. Các loại xem trước khác nhau có thể được tạo cho các trang web/nội dung khác nhau, được hỗ trợ bởi khung Trình xem trước liên kết có thể tùy chỉnh.

  2. Tìm kiếm liên kết liền mạch. Chỉ cần nhập một liên kết (URL) vào trường mặc định ("Từ khóa") của biểu mẫu tìm kiếm MyBB tiêu chuẩn và Công cụ liên kết sẽ chặn tìm kiếm và cung cấp kết quả chính xác: chỉ các bài đăng có chứa liên kết hoặc tương đương của nó mới được liệt kê. Tìm kiếm MyBB mặc định khi được đặt thành Full Text hoàn toàn không xử lý tốt các liên kết và thường trả về kết quả hoàn toàn không liên quan đến liên kết mà bạn đã tìm kiếm.

  3. Cảnh báo liên kết trùng lặp. Khi một thành viên bắt đầu một chủ đề mới, họ sẽ được cảnh báo nếu bất kỳ liên kết (URL) nào mà họ đưa vào chủ đề bắt đầu đã được đăng lên bảng. Tính năng này đặc biệt hữu ích khi bảng của bạn dựa nhiều vào tài nguyên và có nguy cơ các thành viên bắt đầu thảo luận trùng lặp về các tài nguyên (liên kết và video) đã được thảo luận.

  4. Giới hạn liên kết. Điều này cho phép giới hạn số lượng liên kết có thể được đăng bởi mỗi thành viên trong mỗi nhóm nhóm người dùng nhất định trong một tập hợp các diễn đàn nhất định trong một khoảng thời gian nhất định (luân phiên). Giao diện quản trị ở Diễn đàn & Bài viết » Giới hạn đăng liên kếtvà hỗ trợ chỉnh sửa, xóa và bổ sung các quy tắc giới hạn trong trang.

  5. Kiểm duyệt đăng liên kết. Quản trị viên có thể đặt quyền diễn đàn và nhóm người dùng để các bài đăng mới có chứa liên kết và/hoặc các bài đăng hiện có mà liên kết mới được chỉnh sửa sẽ được kiểm duyệt.

  6. Bảo vệ chống thư rác liên kết. Quản trị viên có thể phân loại liên kết là thư rác và đặt hành động xảy ra khi liên kết thư rác được đăng trong các điều kiện đủ điều kiện. Các hành động có thể thực hiện theo thứ tự mức độ nghiêm trọng tăng dần là kiểm duyệt bài đăng, xóa bài đăng và xóa người gửi thư rác liên kết bằng cách cấm hoặc xóa. Các điều kiện đủ điều kiện liên quan đến nhóm người dùng, tuổi tài khoản, số bài đăng và loại gửi (bài đăng mới, bài đăng đã chỉnh sửa hoặc một trong hai).

  7. Tự động phân loại thư rác của các liên kết. Khi các bài đăng hoặc chủ đề bị xóa thông qua hàng đợi kiểm duyệt, trong ModCP hoặc ACP và khi người gửi thư rác bị xóa, người kiểm duyệt/quản trị viên có thể chọn để bất kỳ liên kết nào trong bài đăng/chủ đề đã xóa được tự động phân loại là spam.

  8. Danh sách liên kết. Quản trị viên có thể xem tất cả các liên kết trong cơ sở dữ liệu. Danh sách có thể được lọc theo phân loại thư rác và được tìm kiếm theo liên kết (một phần). Các liên kết có thể được phân loại (lại) là thư rác hoặc không phải thư rác.

  9. Nhập liên kết. Quản trị viên có thể nhập liên kết vào cơ sở dữ liệu dưới dạng văn bản thuần túy với một liên kết mỗi dòng, được phân loại là thư rác (hoặc không phải thư rác). Tính năng này dự kiến sẽ được sử dụng nhiều nhất để nhập liên kết spam để sử dụng bởi chức năng bảo vệ chống spam liên kết được mô tả ở trên.
Công cụ liên kết coi là một liên kết bất cứ thứ gì mà MyBB core cũng coi là một liên kết:
  1. Các URL trong Url Tags.

  2. Các URL trong Video Tags.

  3. URL trần: những URL bắt đầu bằng http://, https://, Ftp://, Ftp.www..
Công cụ liên kết xử lý tất cả các cách khác nhau mà hai liên kết có thể trông khác nhau nhưng giống nhau (giải quyết thành cùng một trang):
  1. Khi chúng giống nhau ngoại trừ giao thức của chúng: http:// đấu với https://.

  2. Khi một người có một www. tiền tố và người kia thì không.

  3. Khi chúng có cùng tham số truy vấn nhưng theo thứ tự khác nhau.

  4. Khi một người có một tham số truy vấn dư thừa - ví dụ: fbclid truy vấn được thêm bởi Facebook - và cái kia thì không.

  5. Khi tên miền của họ được viết vốn khác nhau.

  6. Khi một chuyển hướng (có khả năng thông qua nhiều chuyển hướng) sang dịch vụ kia, ví dụ: khi một dịch vụ rút ngắn URL như https://bitly.com/ được sử dụng để tạo một URL ngắn chuyển hướng đến URL đích.

  7. Khi cả hai chuyển hướng (có thể thông qua nhiều chuyển hướng) đến cùng một liên kết cuối cùng, ví dụ: khi hai URL "rút gọn" khác nhau chuyển hướng đến cùng một URL đích.
Lưu ý rằng các chuyển hướng được Công cụ liên kết nhận dạng là: chuyển hướng HTTP, chuyển hướng thẻ meta HTML và thẻ liên kết HTML "chuẩn".

Năm điểm khác biệt đầu tiên được loại bỏ thông qua việc "chuẩn hóa" các URL.

Hai mục cuối cùng được loại bỏ bằng cách truy vấn các URL cho đến khi tìm thấy URL kết thúc. Điều này được thực hiện bằng cách sử dụng các hàm PHP cURL.

Yêu cầu
Giấy phép

Công cụ liên kết được cấp phép theo GPL phiên bản 3.

Cài đặt
  1. Tải xuống. Tải xuống kho lưu trữ các tệp của plugin.

  2. Sao chép tệp. Giải nén các tập tin trong kho lưu trữ đó vào một vị trí tạm thời, và sau đó sao chép các tập tin trong "root" vào root của cài đặt MyBB của bạn. Điều đó có nghĩa là "root/linktools.php" nên được sao chép vào thư mục gốc MyBB của bạn, "root/inc/languages/english/linktools.lang.php" nên được sao chép vào thư mục "inc/languages/english/" của root MyBB của bạn, v.v.

  3. Cài đặt qua ACP. Trong một web trình duyệt, mở mô-đun "Plugins" trong ACP của cài đặt MyBB của bạn. Bạn sẽ thấy "Công cụ liên kết" trong "Plugin không hoạt động". Nhấp vào "Install & Activate" bên cạnh nó. Sau đó, bạn sẽ thấy plugin được liệt kê trong "Active Plugins" trên trang được tải lại.

  4. Trích xuất liên kết từ các bài đăng hiện có, nếu có. Trong danh sách của plugin, nếu bảng của bạn chứa bất kỳ bài đăng nào, bạn sẽ thấy lời nhắc cảnh báo để chạy trích xuất liên kết trên các bài đăng đó. Nhấp vào nút "đây" (được tạo kiểu như một liên kết văn bản thuần túy) để thực hiện việc này.

  5. Giải quyết chuyển hướng kết thúc cho các liên kết được trích xuất, nếu có. Quay lại danh sách của plugin và nếu bất kỳ liên kết nào được trích xuất trong bước cuối cùng, bạn sẽ thấy lời nhắc cảnh báo để chạy phân giải liên kết kết thúc trên chúng. Một lần nữa, nhấp vào nút "đây" (một lần nữa, được tạo kiểu như một liên kết văn bản thuần túy) để thực hiện việc này.
Theo tùy chọn, bạn có thể muốn định cấu hình cài đặt (bằng cách điều hướng trong ACP đến "Cài đặt" -> "Cài đặt plugin" -> "Cài đặt công cụ liên kết") và/hoặc chỉnh sửa các mẫu của plugin và/hoặc biểu định kiểu của nó.

Nâng cấp
  1. Tắt. Trong một web trình duyệt, mở mô-đun "Plugins" trong ACP của cài đặt MyBB của bạn và nhấp vào "Hủy kích hoạt" bên cạnh plugin "Công cụ liên kết".

  2. Tải xuống và sao chép tệp. Như trong bước một và hai để cài đặt ở trên.

  3. Kích hoạt. Đối với bước một nhưng nhấp vào "Kích hoạt" thay vì "Hủy kích hoạt".
Điều này sẽ duy trì bất kỳ cài đặt và thay đổi mẫu nào mà bạn đã thực hiện, mặc dù nếu bạn đã thực hiện các thay đổi mẫu, bạn có thể sau khi nâng cấp cần điều hướng trong ACP đến "Templates & Style" -> "Templates" -> "Find Updated Templates" để tích hợp / cập nhật đúng các mẫu của plugin này.