• ۰۷۱-۹۱۳۰۰۳۱۹ (روزهای کاری ۹ الی ۱۷)

View Categories

کاربری پیشرفته

در این بخش جزییات کاربری پیشرفته ماژول ایرنیک تشریح می‌گردد. محتوای این بخش جهت توسعه برخی ویژگی‌های ماژول در نظر گفته شده است و ممکن است نیاز به دانش برنامه نویسی داشته باشد.

شخصی سازی رابط کاربری انتخابگر نوع انتقال #

انتخاب گر نوع انتقال جهت مشخص کردن نوع سفارش انتقال از بین دو سناریو انتقال به ما (تغییر نماینده) و انتقال بین دو شناسه ایرنیک (تغییر صاحب امتیاز) استفاده می‌شود. به صورت پیشفرض دو 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);