Käyttäjien automaattinen katkaisu ISPManager5 lite -sovelluksessa ilman BILLmanageria

ilmoittautua:

  1. VPS-palvelin pysyvällä lisenssillä ispmanager lite 5
  2. 10-20 käyttäjää per palvelin
  3. Google-kalenteri säännöllisillä muistutuksilla niille, joiden isännöinti on loppunut
  4. On sääli maksaa mistään muusta, varsinkin tilauksesta.

Tavoitteena on päästä eroon Google-kalenterista ja manuaalisista muistutuksista asiakkaalle, että hänen on maksettava hosting. Vapauta itsesi "anna hänen työskennellä vielä vähän, hän maksaa pian", "on jotenkin hankalaa sammuttaa se" ja uskoa tämä sieluttomalle koneelle.

Tietenkin ensin Googletin ja etsin, mutta en löytänyt ratkaisuja, kaikki kiteytyi siihen, että sinun täytyy tilata BILLmanager, mutta kohta nro 4 on minulle erittäin tärkeä ja vakava, en saa eroon siitä. Ja päätös ei osoittautunut niin vaikeaksi.

Joten mitä me teemme?

Luo kansio users.addon /usr/local/mgr5/etc/sql/-hakemistoon kaksi tyhjää tiedostoa:

  1. maksupäivä
  2. uwemail

Tämä käskee paneelin luomaan tietokantaan
/usr/local/mgr5/etc/ispmgr.db
Käyttäjätaulukossa on kaksi vastaavaa kenttää, joihin hallintapaneelin arvot kirjoitetaan.

Luo /usr/local/mgr5/etc/xml-kansioon tiedosto nimeltä ispmgr_mod_pay_data.xml sisällön kanssa

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

Tämä antaa paneelille säännön, jotta kentämme näkyvät käyttäjän muokkauslomakkeessa.

Käynnistä paneeli uudelleen:

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

Saamme:

Käyttäjien automaattinen katkaisu ISPManager5 lite -sovelluksessa ilman BILLmanageria

Kenttiin kirjoitamme mihin päivään asti isännöinnin pitäisi toimia ja mikä käyttäjän sähköposti, mihin lähettää muistutukset isännöinnin loppumisesta pian.

Nyt meidän on luotava skripti, joka muistuttaa käyttäjiä siitä, että isännöinti päättyy tietyin väliajoin. Ilmoita järjestelmänvalvojalle, että isännöinti päättyy. Ilmoita käyttäjälle ja järjestelmänvalvojalle, että käyttäjä on poistettu käytöstä.

Pidän php:stä ja kirjoitin käsikirjoituksen.

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

Tallennamme tämän skriptin missä tahansa ja kutsumme sitä miksi haluamme, ja lisäämme cron-tehtävän kutsuaksesi sitä kerran päivässä. Kaikki on valmista.

Nyt omatuntoni on puhdas, rupikonna on tyytyväinen, eikä minulle ole aiheutunut lisäkustannuksia.

Jäljelle jää vain käyttäjien tiedot, jona isännöinti on maksettu, ja käyttäjien sähköpostit, mihin muistutuksia käyttäjille lähetetään.

Kiva jos se auttaa jotakuta.

Lähde: will.com

Lisää kommentti