E dhënë:
- VPS Server me licencë të përhershme ispmanager lite 5
- 10-20 përdorues në server
- Google Calendar me tërheqje të rregullta për ata që kanë përfunduar hosting
- Dëshira për të mos paguar për asgjë tjetër, aq më tepër për një abonim
QĂ«llimi Ă«shtĂ« tĂ« çlirohem nga google calendar dhe kujtesat manuale pĂ«r klientin pĂ«r tĂ« paguar hostimin. TĂ« çlirohem nga âle tĂ« punojĂ« pak mĂ« shumĂ«, ai do tĂ« paguajĂ« sĂ« shpejtiâ âsiç Ă«shtĂ«, e lehtĂ« pĂ«r t'u ndĂ«rprerĂ«â, dhe ta lĂ« kĂ«tĂ« tĂ« zgjidhet nga njĂ« makinĂ« pa shpirt.
Natyrisht që fillimisht kam kërkuar në Google, por nuk kam gjetur zgjidhje, gjithçka përfundonte në faktin se duhej të merja një abonim BILLmanager, por pika nr. 4 është shumë e rëndësishme dhe serioze për mua, nuk do ta heq. Dhe zgjidhja doli të ishte jo kaq e komplikuar.
Pra, çfarë bëjmë.
Krijojmë folderin users.addon, në direktorine /usr/local/mgr5/etc/sql/, dy skedare të zbrazët:
- pay_date
- uwemail
Kjo do të japë komandën për panelin që të krijojë në bazë
/usr/local/mgr5/etc/ispmgr.db
në tabelën users dy fusha përkatëse ku do të shkruhen vlerat nga paneli administrativ.
Krijojmë skedarin ispmgr_mod_pay_data.xml në folderin /usr/local/mgr5/etc/xml me përmbajtjen
Paguar deri
Email-i i përdoruesit
Paid before
User email
Kjo jep rregullin e panelit që fushat tona të shfaqen në formularin e redaktimit të përdoruesit.
Rikthejmë panelin:
/usr/local/mgr5/sbin/mgrctl -m ispmgr exitMarrim:

Në fusha shkruajmë deri në cilin ditë duhet të punojë hostingu dhe cilin email të përdoruesit, për të dërguar kujtesa se hostimi po përfundon.
Tani duhet të krijojmë një skript që do t'i kujtojë përdoruesve se hostimi po përfundon me një periudhë të caktuar. Të njoftojë administratorin se hostimi po përfundon. Të njoftojë përdoruesin dhe administratorin se përdoruesi është ndalur.
Më pëlqen php dhe kam shkruar skriptin.
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 hostimi skadon pas '.$days_left.' ditëve', "Teksti për përdoruesin se sa ditë kanë mbetur");
}
}
if( $days_left == 3 ) {
mail($adminemail, 'ISPMANAGER PĂRDORUES '.$user['name'], $user['name'] . " Hostimi do tĂ« skadojĂ« pas ".$days_left." ditĂ«ve");
}
if($days_left <= 0){
mail($adminemail, 'ISPMANAGER PĂRDORUES '.$user['name'].' ĂMIMI I PĂRDORUESIT NUK ĂSHTĂ AKTIV', $user['name'].' Ă«shtĂ« ndaluar');
exec("/usr/local/mgr5/sbin/mgrctl -m ispmgr user.suspend elid=".$user["name"]);
if( $user['uwemail'] != "" ) {
mail($user['uwemail'], 'ISPMANAGER hostimi është ndaluar', 'Teksti për përdoruesin se hostimi ka përfunduar');
}
}
// nëse dëshiron, mund të shkruani një IF të vogël që të dhënat fshihen pas një kohe, por mua kjo nuk më nevojitet
}
Ky skript duhet ruajtur kudo dhe quajtur si do, shtohet në detyrën cron për ta thirrur atë një herë në ditë. E gjithë kjo është gati.
Tani ndërgjegjja është e pastër, dhe ndjenja është e kënaqur, nuk ka ndonjë shpenzim shtesë.
Nuk mbetet gjë tjetër veçse të plotësoni të dhënat e përdoruesve për datën ku është paguar hostimi, dhe email-et e përdoruesve ku do të dërgohen kujtimet.
Jam i lumtur nëse i ndihmon dikujt.
Burimi: habr.com
