Қатъи худкори корбарон дар ISPManager5 lite бе BILLmanager

дода шудааст:

  1. Сервери VPS бо иҷозатномаи абадии ispmanager lite 5
  2. 10-20 корбар барои як сервер
  3. Google Calendar бо ёдраскуниҳои мунтазам барои онҳое, ки аз хостинг тамом шудаанд
  4. Барои ягон чизи дигар, махсусан бо обуна пардохт кардан шармовар аст.

Ҳадаф аз даст додани тақвими Google ва ёдраскуниҳои дастӣ ба муштарӣ аст, ки ӯ бояд барои хостинг пардохт кунад. Худро аз "бигзор вай каме бештар кор кунад, ба зудӣ пардохт мекунад", "хомӯш кардани он чӣ гуна нороҳат аст" озод шавед ва инро ба мошини беҷон бовар кунед.

Албатта ман аввал гугл кардам ва ҷустуҷӯ кардам, аммо ягон роҳи ҳалли худро наёфтам, ҳамааш ба он ҷо печид, ки шумо бояд ба BILLmanager обуна шавед, аммо нуқтаи No4 барои ман хеле муҳим ва ҷиддӣ аст, намеёбам халос шудан. Ва ин тасмим чандон душвор набуд.

Пас, мо чӣ кор кунем?

Дар феҳристи /usr/local/mgr5/etc/sql/ папкаи users.addon эҷод кунед, ду файли холӣ:

  1. санаи пардохт
  2. uwemail

Ин ба панел фармон медиҳад, ки дар пойгоҳи додаҳо эҷод кунад
/usr/local/mgr5/etc/ispmgr.db
Дар ҷадвали корбарон ду майдони мувофиқ мавҷуд аст, ки дар он арзишҳо аз панели администратор навишта мешаванд.

Файлеро бо номи ispmgr_mod_pay_data.xml дар папкаи /usr/local/mgr5/etc/xml бо мундариҷа эҷод кунед

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

Ин ба панел қоида медиҳад, то майдонҳои мо дар шакли таҳрири корбар намоиш дода шаванд.

Панелро аз нав оғоз кунед:

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

Мо ба даст:

Қатъи худкори корбарон дар ISPManager5 lite бе BILLmanager

Дар майдонҳо мо менависем, ки хостинг бояд то кадом рӯз кор кунад ва кадом почтаи электронии корбар, ба куҷо фиристодани ёдраскуниҳо, ки хостинг ба зудӣ хотима меёбад.

Ҳоло мо бояд скрипте эҷод кунем, ки ба корбарон хотиррасон кунад, ки хостинг дар баъзе фосилаҳо хотима меёбад. Ба администратор хабар диҳед, ки хостинг ба охир мерасад. Ба корбар ва администратор хабар диҳед, ки корбар хомӯш карда шудааст.

Ба ман php дар он маъқул аст ва скрипт навишт.

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

Мо ин скриптро дар ҳама ҷо нигоҳ медорем ва онро ҳар чизе ки мехоҳем, меномем ва вазифаи cron илова мекунем, то онро дар як рӯз як маротиба даъват кунем. Ҳама омода аст.

Холо вичдонам соф, курбача сер шуд, харочоти иловагй на-доштаам.

Танҳо пур кардани маълумот дар корбарон дар кадом сана барои хостинг пардохта шудааст ва почтаи электронии корбарон дар куҷо фиристодани ёдраскуниҳо ба корбарон боқӣ мемонад.

Хушбахтона агар он ба касе кӯмак кунад.

Манбаъ: will.com

Илова Эзоҳ