کتابخانه گارد ژاکت (لایسنس گذاری بر روی محصولات)
توسط این کتابخانه میتوانید به راحتی سیستم لایسنس گارد ژاکت را به محصولات وردپرسی خود (قالب و افزونه) اضافه کنید.
برای نصب این کتابخانه کافیه به پوشه اصلی قالب یا افزونه خود بروید و توسط کامپوز و با دستور زیر این کتابخانه را نصب کنید.
composer require farhadhp/zhaket-guard
در ابتدا باید فایل autoload کامپوزر رو به ابتدای کدهای خود اضافه کنید.
require_once 'vendor/autoload.php';
سپس با فراخوانی کتابخانه ZhaketGuard توسط کد زیر میتوانید به متدهای آن دسترسی داشته باشید. توجه داشته باشید که این کلاس از نوع static میباشد و نیازی به ساخت آبجکت از روی آن ندارید.
use Farhadhp\ZhaketGuard\ZhaketGuard;
بعد از نصب افزونه یا قالب توسط کاربر میبایست در ابتدا لایسنس را از کاربر دریافت نمایید. این کار را میتوانید در صفحه تنظیمات افزونه یا قالب انجام دهید.
پس از دریافت لایسنس از کاربر میتوانید توسط کد زیر فرایند نصب لایسنس را انجام دهید:
$productToken = 'f2352e4a-4545-4c86-8790-454545'; // توکن محصول شما
$license = 'f2352e4a-82c8-4c86-8790-23234323'; // لایسنس وارد شده توسط کاربر
$res = ZhaketGuard::installLicense($productToken, $license);
if ($res->status=='successful') {
// Lisence successfuly installed
echo $res->message;
} else {
// License not installed / show message
if (!is_object($res->message)) {
echo $res->message;
} else {
foreach ($res->message as $message) {
foreach ($message as $msg) {
echo $msg.'<br>';
}
}
}
}
بهتر است در صورت موفقیت آمیز بودن، لایسنس کاربر را نیز در دیتابیس ذخیره کنید. و برای بررسی مجدد لایسنس در دسترس داشته باشید.
برای بررسی معتبر بودن لایسنس میتوانید از متد isValidLicense بصورت زیر استفاده کنید.
$license = 'f2352e4a-82c8-4c86-8790-23234323'; // لایسنس وارد شده توسط کاربر
$res = ZhaketGuard::isValidLicense($license);
if ($res->status=='successful') {
// Lisence is valid
echo $res->message;
} else {
// License not valid
// show errors
if (!is_object($res->message)) {
echo $res->message;
} else {
foreach ($res->message as $message) {
foreach ($message as $msg) {
echo $msg.'<br>';
}
}
}
}
توسط متد مذکور میتوانید فرایند بررسی لایسنس را در بازههای زمانی یا موارد دلخواه بررسی کنید. بهتره که توسط schedule وردپرس این فرایند را در بازه زمانی هر 24 ساعت بررسی کنید.