Fanalana ho azy ny mpampiasa amin'ny ISPManager5 lite tsy misy BILLmanager

nomena:

  1. Server VPS manana fahazoan-dàlana maharitra ispmanager lite 5
  2. Mpampiasa 10-20 isaky ny mpizara
  3. Kalendrie Google miaraka amin'ny fampahatsiahivana tsy tapaka ho an'ireo izay lany fampiantranoana
  4. Mahamenatra ny mandoa zavatra hafa, indrindra amin'ny famandrihana.

Ny tanjona dia ny hanaisotra ny kalandrie Google sy ny fampahatsiahivana amin'ny tanana ho an'ny mpanjifa fa mila mandoa vola amin'ny fampiantranoana izy. Afaho ny tenanao amin'ny "avelao hiasa kely kokoa izy, handoa tsy ho ela izy", "tsy mety ny hamono azy", ary ankino amin'ny milina tsy misy fanahy izany.

Mazava ho azy fa ni-Google sy nikaroka aloha aho fa tsy nahita vahaolana, dia nipoitra tamin'ny hoe mila misoratra anarana amin'ny BILLmanager ianao, fa ny laharana faha-4 dia tena zava-dehibe sy matotra amiko, tsy azoko. manala azy. Ary ny fanapahan-kevitra dia hita fa tsy dia sarotra.

Inona àry no ataontsika?

Mamorona lahatahiry users.addon, ao amin'ny lahatahiry /usr/local/mgr5/etc/sql/, rakitra roa tsy misy na inona na inona:

  1. daty_karama
  2. uwemail

Izany dia handidy ny tontonana hamorona ao amin'ny tahiry
/usr/local/mgr5/etc/ispmgr.db
Ao amin'ny latabatra mpampiasa dia misy saha roa mifanandrify izay hanoratana ny soatoavina avy amin'ny tontonana admin.

Mamorona rakitra antsoina hoe ispmgr_mod_pay_data.xml ao amin'ny lahatahiry /usr/local/mgr5/etc/xml misy ny atiny

<?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>

Manome fitsipika ho an'ny tontonana izany mba haseho amin'ny endrika fanovana an'ny mpampiasa ny sahanay.

Avereno indray ny tontonana:

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

Azontsika:

Fanalana ho azy ny mpampiasa amin'ny ISPManager5 lite tsy misy BILLmanager

Ao amin'ny saha no soratanay mandra-pahatongan'ny andro tokony hiasana ny fampiantranoana, ary inona ny mailaka an'ny mpampiasa, aiza no handefasana fampahatsiahivana fa hifarana tsy ho ela ny fampiantranoana.

Ankehitriny dia mila mamorona script izay hampahatsiahy ny mpampiasa isika fa mifarana amin'ny fotoana sasany ny fampiantranoana. Ampahafantaro ny admin fa tapitra ny fampiantranoana. Ampahafantaro ny mpampiasa sy ny admin fa kilemaina ilay mpampiasa.

Tiako ny php ao ary nanoratra script.

<?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 что бы данные удалялись через некоторое время, но мне это не нужно
}

Tehirizinay na aiza na aiza ity script ity ary miantso azy izay tiantsika, ary manampy asa cron hiantso azy indray mandeha isan'andro. Efa vonona ny rehetra.

Madio izao ny feon'ny fieritreretako, afa-po ny saobakaka, ary tsy nandany vola fanampiny aho.

Ny hany sisa tavela dia ny famenoana ny angon-drakitra ao amin'ny mpampiasa tamin'ny daty nandoavana ny fampiantranoana, sy ny mailaka an'ireo mpampiasa izay handefasana fampahatsiahivana ho an'ny mpampiasa.

Faly raha manampy olona izany.

Source: www.habr.com

Mividiana fampiantranoana azo antoka ho an'ny tranokala misy fiarovana DDoS, mpizara VPS VDS 🔥 Mividiana fampiantranoana tranonkala azo antoka miaraka amin'ny fiarovana DDoS, mpizara VPS VDS | ProHoster