Një shkëputje automatike e përdoruesve në ISPManager5 lite pa BILLmanager

E dhënë:

  1. VPS Server me licencë të përjetshme ispmanager lite 5
  2. 10-20 përdorues në server
  3. Google Calendar me kujtesa të rregullta për ata që kanë skaduar hostimin
  4. Bllokimi për të paguar për ndonjë gjë tjetër, sidomos në një abonim

Qëllimi, të shpëtojmë nga Google Calendar dhe kujtesat manuale për klientin që duhet të paguajë hostingun. Të heqim dorë nga "le të punojë pak më shumë, ai do të paguajë së shpejti" "nuk është aq e përshtatshme të ndërpritet", dhe ta lëmë atë për t'u vendosur nga një makinë pa shpirt.

Sigurisht, fillimisht kërkova në Google, por nuk gjetëm zgjidhje, gjithçka përfundonte në faktin se duhej të merrja një abonim BILLmanager, por pika e përmbajtjes #4 është shumë e rëndësishme dhe serioze për mua, nuk do ta heq. Dhe zgjidhja doli të ishte jo aq e vështirë.

Pra, çfarë bëjmë.

Krijojmë dosjen users.addon në drejtorinë /usr/local/mgr5/etc/sql/, dy skedarë bosh:

  1. pay_date
  2. uwemail

Kjo do t'i japë komandën panelit të krijojë në bazë
/usr/local/mgr5/etc/ispmgr.db
në tabelën e përdoruesve dy fusha përkatëse ku do të shkruhen vlerat nga paneli admin.

Krijojmë skedarin ispmgr_mod_pay_data.xml në dosjen /usr/local/mgr5/etc/xml me përmbajtjen

E paguar deri
			Email i përdoruesit
		
	
	
		
			Paid before
			User email

Kjo i jep panelit rregullin që fushat tona të shfaqen në formularin e redaktimit të përdoruesit.

Rifreshojmë panelin:

/usr/local/mgr5/sbin/mgrctl -m ispmgr exit

Marrim:

Një shkëputje automatike e përdoruesve në ISPManager5 lite pa BILLmanager

Shkruajmë në fusha deri në cilin ditë duhet të funksionojë hostingun dhe cilin email të përdoruesit, ku duhet të dërgohen kujtesat se po skadon hostingun.

Tani duhet të krijojmë një skript që do të kujtojnë përdoruesit se hostingun po skadon me një rregullsi të caktuar. Të njoftojë administratën se hostingun po skadon. Të njoftojë përdoruesin dhe administratën se përdoruesi është çaktivizuar.

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 hosting po skadon pas '.$days_left.' ditësh', "Teksti për përdoruesin se sa ditë kanë mbetur");
			}
		}
		if( $days_left == 3 ) {
			mail($adminemail, 'ISPMANAGER PËRDORUES '.$user['name'], $user['name'] . " hosting do të skadojë pas ".$days_left." ditësh");
		}
		if($days_left <= 0){
			mail($adminemail, 'ISPMANAGER PËRDORUES '.$user['name'].' ÇAKTIVIZUAR', $user['name'].' është çaktivizuar');
			exec("/usr/local/mgr5/sbin/mgrctl -m ispmgr user.suspend elid=".$user["name"]);
			if( $user['uwemail'] != "" ) {
				mail($user['uwemail'], 'ISPMANAGER hosting është çaktivizuar', 'Teksti për përdoruesin që hostingun ka skaduar'); 
			}
		}
		// nëse dëshiron mund të shkruash një IF të vogël më tepër që të dhënat të fshihen pas një kohe, por për mua nuk është e nevojshme
}

Ky skript e ruajmë kudo dhe e quajmë si duam, e shtojmë në detyrat cron për ta thirrur atë një herë në ditë. E gjithë puna është gati.

Tani ndjenjat janë të pastra, bllokimi është i kënaqur, nuk kam pësuar shpenzime të tjera.

Na mbetet të plotësojmë të dhënat për çfarë date është paguar hostingun dhe emailin e përdoruesve për të dërguar kujtesat përdoruesve.

Gëzohem nëse dikujt i ndihmon.

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster