آموزش نصب
برای نصب کافی است افزونه را در مسیر نصب whmcs در پوشه modules/addons آپلود و اکسترکت کنید .
سپس وارد ادمین شده و از منوی تنظیمات افزونه اگاه سازی ها را فعال نمایید .
در فیلد لایسنس نیز کد لایسنسی که از وهاب آنلاین دریافت کرده اید را وارد نموده و ثبت نمایید .
حال از منوی افزونه ها وارد افزونه آگاه سازی شوید و روی نصب کلیک کنید .
حال از افزونه استفاده نمایید.
آموزش بروزرسانی از نسخه قبلی
برای بروزرسانی از نسخه قدیمی به این شکل عمل کنید .
1 : ابتدا از منوی تنظیمات در مدیریت افزونه پیام کوتاه را غیرفعال کنید و از مدیریت خارج شوید .
2 : وارد هاست خود شده و در مسیر modules/addons پوشه vo_sms را حذف نمایید.
3 : نسخه جدید را از سایت وهاب آنلاین دانلود کرده و در همین مسیر (modules/addons) آپلود و اکسترکت کنید .
4 : وارد ادمین شده و از منوی تنظیمات افزونه اگاه سازی ها را فعال نمایید . در فیلد لایسنس نیز کد لایسنسی که از وهاب آنلاین دریافت کرده اید را وارد نموده و ثبت نمایید .
5 : حال از منوی افزونه ها وارد افزونه آگاه سازی شوید و روی نصب کلیک کنید .
[su_note note_color=”#feeee4″ text_color=”#2d2d2d” radius=”6″]اگر نصب انجام نشد ابتدا از مدیریت خارج شوید و سپس وارد بخش مدیریت شده و این پروسه نصب را مجدد انجام دهید مشکل رفع خواهد شد[/su_note]
شرایط افزودن سرویس جدید
شرایط اضافه شدن سرویس دهنده جدید به ماژول پیام کوتاه :
باید فایل جدید را در پوشه vo-senders با نام ارسال کننده مورد نظر خود بدون حروف بزرگ و بدون وجود عدد در اول نام و با پیشوند vo- ایجاد نمایید . به طور مثال ما ارائه دهنده 98sms را به این شکل اضافه خواهیم کرد . vo-sms98.php
باید چندین تابع در این فایل قرار داشته باشد که به ترتیب به آنها خواهیم پرداخت.
معرفی توابع مورد نیاز در فایل
توابع مورد نیاز برای ایجاد ارسال کننده جدید در افزونه پیام کوتاه و آگاه سازی whmcs
- info_youfilename
- status_youfilename
- balance_youfilename
- sending_default_youfilename
- sending_pattern_youfilename
[su_note note_color=”#feeee4″ text_color=”#2d2d2d” radius=”6″]در مثال بالا نام فایل ما vo-sms98.php بوده است و باید در توابع به جای youfilename نام فایل خود که sms98 را وارد کنیم . برای مثال info_sms98 باید باشد .[/su_note]
info_{youfilename}
این تابع تنها مقادیری برای بازگردانی ارائه می دهد و باید به شرح زیر باشد .
return array(
"name" => "نام سامانه",
"username_label" => "نام کاربری",
"password_label" => "رمز عبور",
"sendernumber_label" => "شماره ارسال کننده",
"pattern_label" => 'شماره پترن',
"pattern" => true,
);
مقدار نام : همان نام فارسی سرویس دهنده شماست .
مقدار username_label : نام فیلد اول می باشد که میتواند نام کاربری یا توکن و یا api باشد و هر مقداری شما در آن قرار دهید در افزونه بازگردانده می شود .
مقدار password_label : این مقدار می تواند برابر با false باشد . اگر false باشد این فیلد نمایش داده نمی شود . از این مقدار برای دریافت رمز عبور سامانه استفاده می شود .
مقدار password_label : این مقدار می تواند برابر با false باشد . اگر false باشد این فیلد نمایش داده نمی شود . از این مقدار برای نمایش فیلد رمز عبور استفاده می شود .
مقدار sendernumber_label : این مقدار می تواند برابر با false باشد . اگر false باشد این فیلد نمایش داده نمی شود . از این مقدار ما برای دریافت شماره ارسال کننده استفاده میکنیم . این شماره همان شماره عادی ارسال سامانه است که میتواند شماره اختصاصی یا اشتراکی باشد
مقدار pattern_label : این مقدار می تواند برابر با false باشد . اگر false باشد این فیلد نمایش داده نمی شود . از این مقدار برای دریافت شماره ارسال خط خدماتی استفاده می شود .
مقدار pattern : این مقدار فقط باید شامل true یا false باشد . در صورتی که true باشد در هنگام کانفیگ بخش های پیامک امکان ارسال از طریق وبسرویس خدماتی برای آن سامانه فعال می شود .
status_{youfilename}
از این تابع برای نمایش وضعیت اتصال استفاده می شود . به طور مثال می توان نمایش داد که اطلاعات وارد شده صحیح است یا خیر .
این تابع سه مقدار دریافت می کند که به شرح زیر می باشد .
مقدار اول : شامل نام کاربری سامانه می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار دوم : شامل رمز عبور سامانه می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار سوم : شامل شماره ارسال عادی می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
در نهایت باید مقدار true یا false در این تابع بازگردانده شود . اگر true باشد اتصال کاربر با سامانه انجام شده است و اگر false باشد اتصال انجام نشده است .
نمونه کد استفاده شده در این بخش :
$url = "https://ippanel.com/services.jspd";
$param = array(
'uname'=>$user,
'pass'=>$pass,
'op'=>'credit'
);
$handler = curl_init($url);
curl_setopt($handler, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handler, CURLOPT_POSTFIELDS, $param);
curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
$response2 = curl_exec($handler);
$response2 = json_decode($response2);
$res_code = $response2[0];
$res_data = $response2[1];
if($res_code == '0'){
return true;
}else{
return false;
}
شما با توجه به نیاز خود میتوانید تنها از یک یا دو یا هر سه مقدار استفاده کنید . اما هنگام ایجاد تابع هر سه مقدار را در تابع خود قرار دهید .
balance_{youfilename}
از این تابع برای نمایش شارژ سامانه استفاده می شود . به طور مثال می توان نشان داد اگر اتصال موفق بوده باشد شارژ شما فلان قدر می باشد .
این تابع نیز سه مقدار دریافت می کند که به شرح زیر می باشد :
مقدار اول : شامل نام کاربری سامانه می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار دوم : شامل رمز عبور سامانه می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار سوم : شامل شماره ارسال عادی می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار بازگردانده شده در این تابع تنها باید عدد شارژ سامانه باشد . اگر سامانه شما این قابلیت را ندارد تنها آنرا return false کنید
نمونه کد استفاده شده :
$url = "https://ippanel.com/services.jspd";
$param = array(
'uname'=>$user,
'pass'=>$pass,
'op'=>'credit'
);
$handler = curl_init($url);
curl_setopt($handler, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handler, CURLOPT_POSTFIELDS, $param);
curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
$response2 = curl_exec($handler);
$response2 = json_decode($response2);
$res_code = $response2[0];
$res_data = $response2[1];
return $res_data;
شما با توجه به نیاز خود میتوانید تنها از یک یا دو یا هر سه مقدار استفاده کنید . اما هنگام ایجاد تابع هر سه مقدار را در تابع خود قرار دهید .
sending_default_{youfilename}
از این تابع برای ارسال های عادی استفاده می شود . ارسال هایی که با شماره اختصاصی کاربر ارسال می شوند .
این تابع به صورت پیشفرض شامل پنج مقدار می باشد که به شرح زیر توضیح خواهیم داد :
مقدار اول : شامل نام کاربری سامانه می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار دوم : شامل رمز عبور سامانه می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار سوم : شامل شماره ارسال عادی می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار چهارم : این مقدار شامل شماره دریافت کننده می باشد که میتواند شامل چند شماره باشد که با کاما (,) از هم جدا شده اند .
مقدار پنجم : این مقدار شامل متن پیامک می باشد که باید برای کاربر ارسال شود .
همچنین این تابع در دل خود تابع دیگری با نام mobilechk دارد که برای شماره های ایران بسیار کاربردی می باشد . این تابع تمام موارد اضافه نظیر خط فاصله ها +98 و … را از شماره دریافت کننده حذف می کند و شماره ای تمیز برای ارسال ارائه می دهد . مثلا کاربری شماره خود را به شکل +989374655385 وارد کرده باشد با ورود به این تابع شماره وی به شکل 09374655385 اصلاح خواهد شد
مقدار بازگشتی از این تابع بنا به میل شما خواهد بود و میتوانید هر چیزی را بازگشت دهید . مثلا اگر ارسال درست انجام شد متن ارسال شد یا هر چیز دیگری یا حتی کد پیگیری را بازگردانید و اگر نبود هم به همین شکل…
نمونه کد استفاده از این تابع :
$mobile = explode(",",$to);
foreach($mobile as $number){
$numbersend[] = mobilechk($number);
}
$url = "https://ippanel.com/services.jspd";
$param = array(
'uname'=>$field1,
'pass'=>$field2,
'from'=>$field3,
'message'=>$txt,
'to'=>json_encode($numbersend),
'op'=>'send'
);
$handler = curl_init($url);
curl_setopt($handler, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handler, CURLOPT_POSTFIELDS, $param);
curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
$response2 = curl_exec($handler);
$response2 = json_decode($response2);
$res_code = $response2[0];
$res_data = $response2[1];
return $res_data;
sending_pattern_{youfilename}
از این تابع برای ارسال وبسرویس خدماتی استفاده می شود . ارسال هایی با روش ارسال خطوط خدماتی اشتراکی یا پترن .
این تابع به صورت پیشفرض شامل شش متغییر می باشد که در ادامه به توضیح آنها خواهیم پرداخت .
مقدار اول : شامل نام کاربری سامانه می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار دوم : شامل رمز عبور سامانه می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار سوم : شامل شماره ارسال وبسرویس می باشد که کاربر در بخش ارسال کننده ها وارد میکند .
مقدار چهارم : این مقدار شامل شماره دریافت کننده می باشد که میتواند شامل چند شماره باشد که با کاما (,) از هم جدا شده اند .
مقدار پنجم : نام کد پترن یا وبسرویس می باشد که پس از ثبت پترن شما به شما ارائه می شود .
مقدار ششم : متن پترن می باشد که کدها را تبدیل کرده اید و آنرا در قسمت پیام وارد نموده اید .
همچنین این تابع در دل خود تابع دیگری با نام mobilechk دارد که برای شماره های ایران بسیار کاربردی می باشد . این تابع تمام موارد اضافه نظیر خط فاصله ها +98 و … را از شماره دریافت کننده حذف می کند و شماره ای تمیز برای ارسال ارائه می دهد . مثلا کاربری شماره خود را به شکل +989374655385 وارد کرده باشد با ورود به این تابع شماره وی به شکل 09374655385 اصلاح خواهد شد
در بخش متن پترن دقت داشته باشید که عناوین و.. به صورت json ارائه شده اند و باید آنها را با تابع json_decode دیکد کرده و به شکل دلخواه خود از آن استفاده نمایید .
مقدار بازگشتی از این تابع بنا به میل شما خواهد بود و میتوانید هر چیزی را بازگشت دهید . مثلا اگر ارسال درست انجام شد متن ارسال شد یا هر چیز دیگری یا حتی کد پیگیری را بازگردانید و اگر نبود هم به همین شکل…
نمونه کد استفاده شده در این بخش :
$mobile = explode(",",$to);
foreach($mobile as $number){
$numbersend[] = mobilechk($number);
}
$input_data = json_decode($msg);
$url = "https://ippanel.com/patterns/pattern?username=" . $username . "&password=" . urlencode($password) . "&from=$sender&to=" . json_encode($numbersend) . "&input_data=" . urlencode(json_encode($input_data)) . "&pattern_code=$pattern_code";
$handler = curl_init($url);
curl_setopt($handler, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handler, CURLOPT_POSTFIELDS, $input_data);
curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handler);
return $response;