Ge asopọ alaifọwọyi ti awọn olumulo ni ISPManager5 lite laisi BILLmanager

Fun:

  1. Olupin VPS pẹlu iwe-aṣẹ ayeraye ispmanager Lite 5
  2. 10-20 olumulo fun olupin
  3. Kalẹnda Google pẹlu awọn olurannileti deede fun awọn ti o ti pari alejo gbigba
  4. O jẹ itiju lati sanwo fun ohunkohun miiran, paapaa pẹlu ṣiṣe alabapin.

Ibi-afẹde ni lati yọ kalẹnda Google kuro ati awọn olurannileti afọwọṣe si alabara ti o nilo lati sanwo fun alejo gbigba. Gba ara rẹ laaye lati “jẹ ki o ṣiṣẹ diẹ sii, yoo sanwo laipẹ”, “o jẹ bakan korọrun lati pa a”, ki o si fi eyi le ẹrọ ti ko ni ẹmi.

Nitoribẹẹ, Mo kọkọ Googled ati ṣewadii, ṣugbọn ko rii eyikeyi awọn solusan, gbogbo rẹ ṣan silẹ si otitọ pe o nilo lati ṣe alabapin si BILLmanager, ṣugbọn aaye No.. 4 ṣe pataki pupọ ati pataki fun mi, Emi kii yoo gba. yọ kuro. Ati pe ipinnu naa ti jade lati ko nira.

Nitorina kini a ṣe?

Ṣẹda folda kan users.addon, ninu awọn /usr/local/mgr5/etc/sql/ directory, meji sofo awọn faili:

  1. owo_ọjọ
  2. uwemail

Eyi yoo paṣẹ fun nronu lati ṣẹda ninu ibi ipamọ data
/usr/agbegbe/mgr5/etc/ispmgr.db
ninu tabili awọn olumulo awọn aaye ibaamu meji wa nibiti awọn iye lati inu igbimọ abojuto yoo kọ.

Ṣẹda faili ti a npe ni ispmgr_mod_pay_data.xml ninu folda /usr/local/mgr5/etc/xml pẹlu awọn akoonu.

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

Eyi fun nronu ni ofin kan ki awọn aaye wa han ni fọọmu satunkọ olumulo.

Tun paneli bẹrẹ:

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

A gba:

Ge asopọ alaifọwọyi ti awọn olumulo ni ISPManager5 lite laisi BILLmanager

Ni awọn aaye ti a kọ titi di ọjọ wo ni alejo gbigba yẹ ki o ṣiṣẹ, ati imeeli wo ti olumulo, nibo ni lati firanṣẹ awọn olurannileti pe alejo gbigba yoo pari laipẹ.

Bayi a nilo lati ṣẹda iwe afọwọkọ ti yoo leti awọn olumulo pe alejo gbigba pari ni awọn aaye arin diẹ. Fi to abojuto pe alejo gbigba n pari. Fi leti olumulo ati alabojuto pe olumulo jẹ alaabo.

Mo fẹran php lori rẹ ati kọ iwe afọwọkọ kan.

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

A fi iwe afọwọkọ yii pamọ nibikibi ati pe ohunkohun ti a fẹ, ati ṣafikun iṣẹ-ṣiṣe cron kan lati pe ni ẹẹkan lojoojumọ. Gbogbo rẹ ti šetan.

Ni bayi ẹri-ọkan mi ti han, toad naa ti ni itẹlọrun, ati pe Emi ko ni idiyele eyikeyi afikun.

Gbogbo ohun ti o ku ni lati kun data ninu awọn olumulo lori eyiti ọjọ ti a ti san alejo gbigba fun, ati imeeli ti awọn olumulo nibiti lati fi awọn olurannileti ranṣẹ si awọn olumulo.

Idunnu ti o ba ṣe iranlọwọ fun ẹnikan.

orisun: www.habr.com

Fi ọrọìwòye kun