Hoʻopau ʻokoʻa i nā mea hoʻohana ma ISPManager5 lite me ka ʻole o BILLmanager

Hāʻawiʻia:

  1. VPS Server me ka laikini mau loa ispmanager lite 5
  2. 10-20 mea hoʻohana no kēlā me kēia kikowaena
  3. Google Calendar me nā hoʻomanaʻo maʻamau no ka poʻe i pau i ka hoʻokipa
  4. He mea hilahila ke uku no nā mea ʻē aʻe, ʻoi aku me ke kau inoa.

ʻO ka pahuhopu ka hoʻopau ʻana i ka kalena Google a me nā hoʻomanaʻo manual i ka mea kūʻai aku e pono ai ʻo ia e uku no ka hoʻokipa. E hoʻokuʻu iā ʻoe iho mai ka "e hana hou aku ʻo ia, e uku koke ʻo ia", "he mea paʻakikī ke hoʻopau", a hāʻawi i kēia i kahi mīkini ʻuhane ʻole.

ʻOiaʻiʻo, Googled mua wau a ʻimi, akā ʻaʻole i loaʻa nā hopena, ua hoʻolapalapa ʻia i lalo i ka ʻoiaʻiʻo e pono ʻoe e kau inoa iā BILLmanager, akā ʻo ka helu 4 he mea nui a koʻikoʻi iaʻu, ʻaʻole wau e loaʻa. e hoopau aku. A ʻaʻole paʻakikī loa ka hoʻoholo ʻana.

No laila he aha kā mākou e hana ai?

E hana i kahi folder users.addon, ma ka papa kuhikuhi /usr/local/mgr5/etc/sql/, ʻelua faila ʻole:

  1. lā_uku
  2. uwemail

E kauoha kēia i ka panel e hana i loko o ka waihona
/usr/local/mgr5/etc/ispmgr.db
i loko o ka papa hoʻohana aia ʻelua mau kahua kūpono kahi e kākau ʻia ai nā waiwai mai ka panel admin.

E hana i kahi faila i kapa ʻia ʻo ispmgr_mod_pay_data.xml i loko o ka waihona /usr/local/mgr5/etc/xml me nā ʻike.

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

Hāʻawi kēia i ka panel i ka lula no laila e hōʻike ʻia kā mākou mau kahua ma ke ʻano hoʻoponopono o ka mea hoʻohana.

Hoʻomaka hou i ka panel:

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

Loaʻa iā mākou:

Hoʻopau ʻokoʻa i nā mea hoʻohana ma ISPManager5 lite me ka ʻole o BILLmanager

Ma nā kahua mākou e kākau ai a hiki i ka lā hea e hana ai ka hoʻokipa, a me ka leka uila o ka mea hoʻohana, kahi e hoʻouna ai i nā hoʻomanaʻo e hoʻopau koke ka hoʻokipa.

I kēia manawa pono mākou e hana i kahi palapala e hoʻomanaʻo ai i nā mea hoʻohana e pau ka hoʻokipa ʻana i kekahi mau manawa. E hoʻomaopopo i ka luna hoʻokipa e pau ana ka hoʻokipa. E hoʻomaopopo i ka mea hoʻohana a me ka luna hoʻomalu ua pio ka mea hoʻohana.

Makemake au i ka php ma ia mea a kākau i kahi palapala.

<?php
$adminemail = "[email protected]"; // 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 что бы данные удалялись через некоторое время, но мне это не нужно
}

Mālama mākou i kēia palapala ma nā wahi a pau a kapa iā ia i nā mea a mākou e makemake ai, a hoʻohui i kahi hana cron e kāhea iā ia i hoʻokahi manawa i ka lā. Ua mākaukau nā mea a pau.

I kēia manawa ua maʻemaʻe koʻu lunamanaʻo, ua māʻona ka toad, a ʻaʻole au i loaʻa i nā kumukūʻai hou.

ʻO nā mea a pau i koe e hoʻopiha i ka ʻikepili i nā mea hoʻohana i ka lā i uku ʻia ai ka hoʻokipa, a me ka leka uila o nā mea hoʻohana i kahi e hoʻouna ai i nā hoʻomanaʻo i nā mea hoʻohana.

Hauʻoli inā kōkua ia i kekahi.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka