- Server VPS dengan lisensi abadi ispmanager lite 5
- 10-20 pengguna di server
- Google Kalender dengan pengingat rutin yang kehabisan hosting
- Kodok yang tersedak membayar untuk hal lain, terutama untuk langganan
Tujuannya adalah untuk menghilangkan kalender google dan pengingat manual kepada klien bahwa ia harus membayar untuk hosting. Untuk membebaskan diri Anda dari "biarkan dia bekerja lebih lama lagi, dia akan segera membayar" "karena tidak nyaman untuk mematikannya," dan mempercayakannya pada mesin yang tidak berjiwa.
Tentu saja, pada awalnya saya mencarinya, tetapi tidak menemukan solusi, semuanya bermuara pada fakta bahwa Anda perlu berlangganan BILLmanager, tetapi saya memiliki poin yang sangat penting dan serius # 4, saya tidak akan menyingkirkannya. Dan keputusan itu ternyata tidak terlalu sulit.
Jadi apa yang kita lakukan.
Buat folder users.addon, di direktori / usr / local / mgr5 / etc / sql /, dua file kosong:
- pay_date
- uwemail
Ini akan memberikan perintah panel untuk dibuat di database
/usr/local/mgr5/etc/ispmgr.db
di tabel pengguna dua bidang yang sesuai tempat nilai dari panel admin akan ditulis.
Buat file ispmgr_mod_pay_data.xml di folder / usr / local / mgr5 / etc / xml dengan isinya
<?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>
Ini memberi aturan panel bahwa bidang kami ditampilkan di formulir edit pengguna.
Muat ulang panel:
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit
Kami menerima:
Di bidang kami menulis untuk hari apa hosting harus berfungsi, dan email pengguna mana, ke mana harus mengirim pengingat bahwa hosting akan segera berakhir.
Sekarang Anda perlu membuat skrip yang akan mengingatkan pengguna bahwa hosting diakhiri dengan frekuensi tertentu. Beri tahu admin bahwa hosting akan segera berakhir. Beri tahu pengguna dan admin bahwa pengguna tersebut dinonaktifkan.
Saya dekat dengan php di atasnya dan menulis skrip.
<?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 ,
}
Kami menyimpan skrip ini di mana saja dan menyebutnya apa pun yang Anda suka, menambahkan tugas ke cron untuk memanggilnya sekali sehari. Semuanya sudah siap.
Sekarang hati nuraninya bersih, kataknya puas, dia tidak mengeluarkan biaya tambahan.
Tetap mengisi data pengguna dengan tanggal hosting dibayar, dan email pengguna di mana mengirim pengingat kepada pengguna.
Senang jika itu membantu seseorang.