Kukatwa kiotomatiki kwa watumiaji katika ISPManager5 lite bila BILLmanager

Imetolewa:

  1. Seva ya VPS iliyo na leseni ya kudumu ispmanager lite 5
  2. Watumiaji 10-20 kwa kila seva
  3. Kalenda ya Google yenye vikumbusho vya mara kwa mara kwa wale ambao wameishiwa na upangishaji
  4. Ni aibu kulipia kitu kingine chochote, haswa kwa usajili.

Lengo ni kuondoa kalenda ya Google na vikumbusho vya mwongozo kwa mteja ambavyo anahitaji kulipia upangishaji. Jikomboe kutoka kwa "mruhusu afanye kazi kidogo zaidi, atalipa hivi karibuni", "ni ngumu kwa namna fulani kuizima", na ukabidhi hii kwa mashine isiyo na roho.

Bila shaka, kwanza nilitafuta Google na kutafuta, lakini sikupata ufumbuzi wowote, yote yalipungua kwa ukweli kwamba unahitaji kujiandikisha kwa BILLmanager, lakini hatua No. 4 ni muhimu sana na mbaya kwangu, sitapata. kuiondoa. Na uamuzi uligeuka kuwa sio mgumu sana.

Kwa hiyo tunafanya nini?

Unda folda users.addon, kwenye saraka ya /usr/local/mgr5/etc/sql/, faili mbili tupu:

  1. malipo_tarehe
  2. uwemail

Hii itaamuru paneli kuunda kwenye hifadhidata
/usr/local/mgr5/etc/ispmgr.db
kwenye jedwali la watumiaji kuna sehemu mbili zinazolingana ambapo maadili kutoka kwa paneli ya msimamizi yataandikwa.

Unda faili inayoitwa ispmgr_mod_pay_data.xml kwenye /usr/local/mgr5/etc/xml folda iliyo na yaliyomo

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

Hii inaipa kidirisha sheria ili sehemu zetu zionyeshwa katika fomu ya kuhariri ya mtumiaji.

Washa upya kidirisha:

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

Tunapata:

Kukatwa kiotomatiki kwa watumiaji katika ISPManager5 lite bila BILLmanager

Katika nyanja tunaandika hadi siku gani mwenyeji anapaswa kufanya kazi, na ni barua pepe gani ya mtumiaji, wapi kutuma vikumbusho kwamba ukaribishaji utaisha hivi karibuni.

Sasa tunahitaji kuunda hati ambayo itawakumbusha watumiaji kuwa upangishaji huisha kwa vipindi fulani. Mjulishe msimamizi kwamba upangishaji unaisha. Mjulishe mtumiaji na msimamizi kwamba mtumiaji amezimwa.

Ninapenda php juu yake na niliandika hati.

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

Tunahifadhi hati hii popote na kuiita chochote tunachotaka, na kuongeza kazi ya cron kuiita mara moja kwa siku. Yote ni tayari.

Sasa dhamiri yangu iko safi, chura ameridhika, na sijaingia gharama yoyote ya ziada.

Kilichobaki ni kujaza data katika watumiaji tarehe ambayo upangishaji ulilipwa, na barua pepe za watumiaji mahali pa kutuma vikumbusho kwa watumiaji.

Ni furaha ikiwa inasaidia mtu.

Chanzo: mapenzi.com

Kuongeza maoni