Kasutajate automaatne vĂ€ljalĂŒlitamine ISPManager5 lite'is ilma BILLmanagerita

Antud:

  1. VPS Server igavese litsentsiga ispmanager lite 5
  2. 10-20 kasutajat serveris
  3. Google Calendar regulaarsete meeldetuletustega, kellel on aeg lÀbi hostimine
  4. Surmav tÔrge maksta millegi eest, eriti tellimuse eest

EesmĂ€rk on vabaneda Google Calendarist ja kĂ€sitsi meeldetuletustest kliendile, et maksta hostingu eest. Vabastada end mĂ”ttest "las ta töötab veel natuke, ta maksab varsti" ja "natuke ebamugav on vĂ€lja lĂŒlitada" ning usaldada see ĂŒlesanne tunnete jĂ€rgi lahendavale masinale.

Muidugi googeldasin ja otsisin, kuid ei leidnud lahendusi, kÔik viisid tagasi tellimuse hankimise BILLmanagerile, kuid punkt nr 4 on minu jaoks vÀga oluline ja tÔsine, sellest ma loobuda ei kavatse. Ja lahendus osutus mitte nii keeruliseks.

Nii et, mida nĂŒĂŒd teeme.

Loome kausta users.addon, kaustas /usr/local/mgr5/etc/sql/, kaks tĂŒhja faili:

  1. pay_date
  2. uwemail

See annab paneelile kÀsu luua andmebaasis
/usr/local/mgr5/etc/ispmgr.db
kasutajate tabelis kaks vastavat vÀljakut, kuhu adminpaneelist kirjutatakse vÀÀrtused.

Loome faili ispmgr_mod_pay_data.xml kaustas /usr/local/mgr5/etc/xml jÀrgmise sisuga:

<?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">Tasumine kuni</msg>
			<msg name="uwemail" sqlname="uwemail">Kasutaja e-post</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>

See annab paneelile reegli, et meie vÀljad kuvatakse kasutaja redigeerimise vormis.

TaaskÀivitame paneeli:

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

Saame:

Kasutajate automaatne vĂ€ljalĂŒlitamine ISPManager5 lite'is ilma BILLmanagerita

VÀljadele kirjutame, kuni mis kuupÀevani peaks hosting tööle jÀÀma, ja milline on kasutaja e-post, kuhu saata meeldetuletusi, et hosting on peagi lÔppemas.

NĂŒĂŒd tuleb luua skript, mis tuletab kasutajatele meelde, et hosting lĂ”ppeb teatud perioodi jĂ€rel. Teavitada adminni, et hosting lĂ”ppeb. Teavitada kasutajat ja adminni, et kasutaja on vĂ€lja lĂŒlitatud.

PHP on mulle lÀhedane, sellel keelt kirjutasin skripti.

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 hostimine lÔpeb '.$days_left.' pÀeva pÀrast', "Kasutajale tekst, et veel on jÀÀnud nii palju pÀevi");
			}
		}
		if( $days_left == 3 ) {
			mail($adminemail, 'ISPMANAGER KASUTAJA '.$user['name'], $user['name'] . " LÔpeb hostimine ".$days_left." pÀeva pÀrast");
		}
		if($days_left <= 0){
			mail($adminemail, 'ISPMANAGER KASUTAJA '.$user['name'].' KÜLMAK'. $user['name'].' LÕPETATUD');
			exec("/usr/local/mgr5/sbin/mgrctl -m ispmgr user.suspend elid=".$user["name"]);
			if( $user['uwemail'] != "" ) {
				mail($user['uwemail'], 'ISPMANAGER hostimine on lÔpetatud', 'Kasutajale tekst, et hostimine lÔppes'); 
			}
		}
		// soovi korral vÔib kirjutada vÀikese IF, et andmed kustutatakse teatud aja pÀrast, kuid minul pole seda vaja
}

Seda skripti saab salvestada kuhu iganes ja nimetada kuidas iganes, tuleb lisada cron ĂŒlesanne selle ĂŒhekordseks vĂ€lja kutsumiseks. KĂ”ik on valmis.

NĂŒĂŒd on sĂŒdametunnistus puhas, jĂ”ehobu rahul, lisakulusid pole tekkinud.

JÀÀnud on tÀita andmed kasutajate kohta, millal on hostimine tasutud ja kasutajate e-posti aadressid, kuhu saata meeldetuletused.

Olen rÔÔmus, kui see kellelegi aitab.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster