- خادم VPS مع ترخيص دائم ispmanager lite 5
- من 10 إلى 20 مستخدمًا على الخادم
- تقويم Google مع تذكيرات منتظمة ممن انتهت استضافتهم
- يدفع الضفدع الخانق أي شيء آخر ، خاصة عند الاشتراك
الهدف هو التخلص من تقويم Google والتذكيرات اليدوية للعميل بأنه يحتاج إلى الدفع مقابل الاستضافة. لتخليص نفسك من "دعه يعمل أكثر من ذلك بقليل ، سيدفع قريباً" "لأنه ليس من المناسب إيقاف تشغيله" ، وتوكله إلى آلة بلا روح.
بالطبع ، في البداية بحثت عنه ، لكن لم أجد حلولًا ، كل ذلك يعود إلى حقيقة أنك بحاجة إلى الاشتراك في BILLmanager ، لكن لدي البند رقم 4 مهم جدًا وخطير ، ولن أتخلص منه. واتضح أن القرار لم يكن بهذه الصعوبة.
إذن ماذا نفعل.
أنشئ مجلد users.addon ، في الدليل / usr / local / mgr5 / etc / sql / ، ملفان فارغان:
- تاريخ الدفع
- uwemail
سيعطي هذا أمر اللوحة لإنشاء حقلين
متطابقين
في قاعدة البيانات /usr/local/mgr5/etc/ispmgr.db في جدول المستخدمين حيث ستتم كتابة القيم من لوحة الإدارة.
قم بإنشاء ملف ispmgr_mod_pay_data.xml في المجلد / usr / local / mgr5 / etc / xml بالمحتويات
<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<metadata name="user.edit">
<form>
<page name="main">
<field name="pay_date">
<input type="text" name="pay_date"/>
</field>
<field name="uwemail">
<input type="text" name="uwemail"/>
</field>
</page>
</form>
</metadata>
<lang name="ru">
<messages name="user.edit">
<msg name="pay_date" sqlname="pay_date"> </msg>
<msg name="uwemail" sqlname="uwemail"> email</msg>
</messages>
</lang>
<lang name="en">
<messages name="user.edit">
<msg name="pay_date" sqlname="pay_date">Paid before</msg>
<msg name="uwemail" sqlname="uwemail">User email</msg>
</messages>
</lang>
</mgrdata>
هذا يعطي قاعدة اللوحة أن حقولنا يتم عرضها في نموذج تحرير المستخدم.
أعد تحميل اللوحة:
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit
نتلقى:
في الحقول نكتب إلى اليوم الذي يجب أن تعمل فيه الاستضافة ، وأي بريد إلكتروني للمستخدم ، وأين نرسل تذكيرات بأن الاستضافة ستنتهي قريبًا.
أنت الآن بحاجة إلى إنشاء برنامج نصي من شأنه تذكير المستخدمين بأن الاستضافة تنتهي بتردد معين. أبلغ المسؤول أن الاستضافة على وشك الانتهاء. أبلغ المستخدم والمسؤول أنه تم تعطيل المستخدم.
أنا قريب من php وكتبت نصًا.
<?php
$adminemail = "admin@gmail.com"; // email
$day_send_message = [30,7,5,3,1]; //
$db = new SQLite3('/usr/local/mgr5/etc/ispmgr.db');
$results = $db->query('SELECT * FROM users WHERE active == "on" AND pay_date IS NOT NULL');
while ($user = $results->fetchArray()) {
$days_left=floor( ( strtotime($user['pay_date']) - time() ) / (60 * 60 * 24));
if(in_array($days_left, $day_send_message)){
if($user['uwemail'] != ""){
mail($user['uwemail'], 'ISPMANAGER '.$days_left.' \', " ");
}
}
if( $days_left == 3 ) {
mail($adminemail, 'ISPMANAGER USER '.$user['name'], $user['name'] . " ".$days_left." ");
}
if($days_left <= 0){
mail($adminemail, 'ISPMANAGER USER '.$user['name'].' DISABLED', $user['name'].' ');
exec("/usr/local/mgr5/sbin/mgrctl -m ispmgr user.suspend elid=".$user["name"]);
if( $user['uwemail'] != "" ) {
mail($user['uwemail'], 'ISPMANAGER ', ' ');
}
}
// IF ,
}
نحفظ هذا البرنامج النصي في أي مكان ونطلق عليه ما تريد ، ونضيف مهمة إلى cron للاتصال به مرة واحدة يوميًا. كل شيء جاهز.
الآن أصبح الضمير مرتاحًا ، والضفدع راضٍ ، ولم يتكبد نفقات إضافية.
يبقى ملء البيانات في المستخدمين حسب التاريخ الذي تم فيه دفع الاستضافة ، ومستخدمي البريد الإلكتروني لإرسال رسائل تذكير إلى المستخدمين.
سعيد إذا كان يساعد شخص ما.