در این بخش جزییات کاربری پیشرفته ماژول ایرنیک تشریح میگردد. محتوای این بخش جهت توسعه برخی ویژگیهای ماژول در نظر گفته شده است و ممکن است نیاز به دانش برنامه نویسی داشته باشد.
شخصی سازی رابط کاربری انتخابگر نوع انتقال #
انتخاب گر نوع انتقال جهت مشخص کردن نوع سفارش انتقال از بین دو سناریو انتقال به ما (تغییر نماینده) و انتقال بین دو شناسه ایرنیک (تغییر صاحب امتیاز) استفاده میشود. به صورت پیشفرض دو Style برای رابط کاربری این ویژگی با Bootstrap نسخه ۳ و ۴ توسعه داده شده است که با توجه به توسعه اکثر قالبهای WHMCS با این دو نسخه چارچوب بوتاسترپ نیاز اکثر کاربران ماژول را مرتفع میکند. با این حال جهت انعطاف پذیری بیشتر امکان شخصی سازی این مورد در نظر گرفته شده است.
جهت شخصی سازی رابط کاربری ابتدا از بخش تنظیمات ماژول گزینه Transfer Type Picker Style
را روی Custom
تنظیم کنید. حال بایستی ظاهر مورد نظر خود را تعریف کنیم. با توجه به اینکه از جاوا اسکریپت جهت جانشانی ظاهر مورد نظر در قالب استفاده میشود نیاز است که متغییری با نام transfer_theme
به صورت global در صفحه انتقال تعریف گردد. به این منظور از قابلیت Hook در WHMCS استفاده میتوان کرد.
جهت ایجاد Hook مورد نظر فایلی با نام irnic_extra.php
در پوشه /includes/hooks
ایجاد کنید و محتوای زیر را در آن قرار دهید:
<?php add_hook('ClientAreaFooterOutput', 5, function ($vars) { if ( in_array($vars['templatefile'], ['domaintransfer'])) { return '<script type="text/javascript"> var transfer_theme = ` <!-- قالب مورد نظر --> `; </script>'; } }); ?>
در نمونه کد بالا در بخشی که <!-- قالب مورد نظر -->
قرار دارد میتوانید قالب مورد نظر خود را به زبان HTML تعریف کنید. در قالب تعریفی وجود input ای با نام irnic_transfer_type
ضروریست. این فیلد ورودی میتواند دارای یکی از دو مقدار ResellerTransfer
(جهت انتقال نماینده) و ContactTransfer
(جهت انتقال بین دو شناسه/تغییر صاحب امتیاز) در نظر گرفته شده است. جهت آشنایی بیشتر نمونه کد زیر را مشاهده کنید:
<?php add_hook('ClientAreaFooterOutput', 5, function ($vars) { if ( in_array($vars['templatefile'], ['domaintransfer'])) { let transfer_theme = `<script type="text/javascript"> <div id="irnic_transfer_type" style="display:none" > نوع انتقال: <div class="radio"> <label><input type="radio" name="irnic_transfer_type" value="ResellerTransfer" > انتقال به ما</label> </div> <div class="radio"> <label><input type="radio" name="irnic_transfer_type" value="ContactTransfer" > انتقال (خرید) دامنه از شناسهٔ دیگر</label> </div> </div> </script>`; } }); ?>
بکارگیری WHOIS اختصاصی #
به صورت پیشفرض WHMCS از سامانه whois.nic.ir بر روی پورت 43 استعلام وضعیت دامنهها را جهت ثبت دریافت میکند. این سامانه به علتهای مختلف زیر ساختی در شبکه nic.ir در ارتباط با سرورهای خارج از ایران (و حتی در برخی مواقع داخل ایران) دارای اختلالهایی است که منجر به عدم دریافت پاسخ از مرکز و در نتیجه عدم نمایش وضعیت صحیح دامنه به کاربر در فرآیند ثبت دامنه میشود. به کمک WHOIS اختصاصی استعلام وضعیت دامنه از طریق API نمایندگی دریافت میشود و این اختلالها تا حد مناسبی کاهش مییابد. جهت بکارگیری این ویژگی مراحل زیر را دنبال کنید.
- فایل whois.json شخصی ساز شده WHMCS را فعال نمایید.
- سپس فایل whois.json را باز کرده و عبارت
socket://whois.nic.ir
را جستجو کنید. - سپس مقدار
socket://whois.nic.ir
را باhttps://your-domain.ir/modules/registrars/irnic/misc/whois.php?domain=
جایگزین کنید.
نکته: مقدار your-domain.ir را با دامنه خود جایگزین کنید.
غیر فعال سازی Hook ماژول #
در صورت نیاز به غیر فعال سازی هوکهایی که در ماژول استفاده میشود کافی است در فایل تنظیمات WHMCS یا همان configuration.php
از جدول زیر constant
مورد نظر را به صورت true
تعریف کنید.
مقدار constant | توضیحات |
---|---|
DISABLE_CHECK_DOMAIN_AVAILABLE | غیر فعال سازی بررسی موجود بود /مجاز بودن دامنه در فرآیند ثبت سفارش |
DISABLE_CHECK_DOMAIN_CONTACTS | غیر فعال سازی بررسی دسترسی لازم شناسههای دامنه در فرآیند ثبت نام |
برای نمونه:
define("DISABLE_CHECK_DOMAIN_AVAILABLE", true);