BILLmanager ಇಲ್ಲದೆ ISPManager5 ಲೈಟ್‌ನಲ್ಲಿ ಬಳಕೆದಾರರ ಸ್ವಯಂಚಾಲಿತ ಸಂಪರ್ಕ ಕಡಿತ

ನೀಡಿದ:

  1. ಶಾಶ್ವತ ಪರವಾನಗಿ ಹೊಂದಿರುವ VPS ಸರ್ವರ್ ispmanager ಲೈಟ್ 5
  2. ಪ್ರತಿ ಸರ್ವರ್‌ಗೆ 10-20 ಬಳಕೆದಾರರು
  3. ಹೋಸ್ಟಿಂಗ್ ಕೊರತೆ ಇರುವವರಿಗೆ ನಿಯಮಿತ ಜ್ಞಾಪನೆಗಳೊಂದಿಗೆ Google ಕ್ಯಾಲೆಂಡರ್
  4. ವಿಶೇಷವಾಗಿ ಚಂದಾದಾರಿಕೆಯೊಂದಿಗೆ ಬೇರೆ ಯಾವುದನ್ನಾದರೂ ಪಾವತಿಸಲು ಇದು ಅವಮಾನಕರವಾಗಿದೆ.

ಕ್ಲೈಂಟ್‌ಗೆ ಹೋಸ್ಟಿಂಗ್‌ಗಾಗಿ ಪಾವತಿಸಬೇಕಾದ Google ಕ್ಯಾಲೆಂಡರ್ ಮತ್ತು ಹಸ್ತಚಾಲಿತ ಜ್ಞಾಪನೆಗಳನ್ನು ತೊಡೆದುಹಾಕುವುದು ಗುರಿಯಾಗಿದೆ. "ಅವನು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಕೆಲಸ ಮಾಡಲಿ, ಅವನು ಶೀಘ್ರದಲ್ಲೇ ಪಾವತಿಸುತ್ತಾನೆ", "ಅದನ್ನು ಆಫ್ ಮಾಡಲು ಹೇಗಾದರೂ ಅನಾನುಕೂಲವಾಗಿದೆ", ಮತ್ತು ಇದನ್ನು ಆತ್ಮರಹಿತ ಯಂತ್ರಕ್ಕೆ ಒಪ್ಪಿಸಿ.

ಸಹಜವಾಗಿ, ನಾನು ಮೊದಲು Google ಮತ್ತು ಹುಡುಕಿದೆ, ಆದರೆ ಯಾವುದೇ ಪರಿಹಾರಗಳು ಕಂಡುಬಂದಿಲ್ಲ, ನೀವು BILLmanager ಗೆ ಚಂದಾದಾರರಾಗಬೇಕು ಎಂಬ ಅಂಶಕ್ಕೆ ಎಲ್ಲವೂ ಕುದಿಯುತ್ತವೆ, ಆದರೆ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆ 4 ನನಗೆ ತುಂಬಾ ಮುಖ್ಯವಾಗಿದೆ ಮತ್ತು ಗಂಭೀರವಾಗಿದೆ, ನನಗೆ ಅರ್ಥವಾಗುವುದಿಲ್ಲ ಅದನ್ನು ತೊಡೆದುಹಾಕಲು. ಮತ್ತು ನಿರ್ಧಾರವು ತುಂಬಾ ಕಷ್ಟಕರವಲ್ಲ ಎಂದು ಬದಲಾಯಿತು.

ಹಾಗಾದರೆ ನಾವೇನು ​​ಮಾಡಬೇಕು?

ಫೋಲ್ಡರ್ ಅನ್ನು ರಚಿಸಿ users.addon, /usr/local/mgr5/etc/sql/ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ, ಎರಡು ಖಾಲಿ ಫೈಲ್‌ಗಳು:

  1. ಪಾವತಿ_ದಿನಾಂಕ
  2. uwemail

ಇದು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ರಚಿಸಲು ಫಲಕಕ್ಕೆ ಆದೇಶ ನೀಡುತ್ತದೆ
/usr/local/mgr5/etc/ispmgr.db
ಬಳಕೆದಾರರ ಕೋಷ್ಟಕದಲ್ಲಿ ಎರಡು ಅನುಗುಣವಾದ ಕ್ಷೇತ್ರಗಳಿವೆ, ಅಲ್ಲಿ ನಿರ್ವಾಹಕ ಫಲಕದಿಂದ ಮೌಲ್ಯಗಳನ್ನು ಬರೆಯಲಾಗುತ್ತದೆ.

ವಿಷಯಗಳೊಂದಿಗೆ /usr/local/mgr5/etc/xml ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ispmgr_mod_pay_data.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

ನಮಗೆ ಸಿಗುತ್ತದೆ:

BILLmanager ಇಲ್ಲದೆ ISPManager5 ಲೈಟ್‌ನಲ್ಲಿ ಬಳಕೆದಾರರ ಸ್ವಯಂಚಾಲಿತ ಸಂಪರ್ಕ ಕಡಿತ

ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ನಾವು ಹೋಸ್ಟಿಂಗ್ ಯಾವ ದಿನದವರೆಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು ಮತ್ತು ಬಳಕೆದಾರರ ಯಾವ ಇಮೇಲ್ ಅನ್ನು ಬರೆಯುತ್ತೇವೆ, ಹೋಸ್ಟಿಂಗ್ ಶೀಘ್ರದಲ್ಲೇ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಎಂದು ಜ್ಞಾಪನೆಗಳನ್ನು ಎಲ್ಲಿ ಕಳುಹಿಸಬೇಕು.

ಈಗ ನಾವು ಹೋಸ್ಟಿಂಗ್ ಕೆಲವು ಮಧ್ಯಂತರಗಳಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಎಂದು ಬಳಕೆದಾರರಿಗೆ ನೆನಪಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ. ಹೋಸ್ಟಿಂಗ್ ಕೊನೆಗೊಳ್ಳುತ್ತಿದೆ ಎಂದು ನಿರ್ವಾಹಕರಿಗೆ ಸೂಚಿಸಿ. ಬಳಕೆದಾರರನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಎಂದು ಬಳಕೆದಾರರು ಮತ್ತು ನಿರ್ವಾಹಕರಿಗೆ ಸೂಚಿಸಿ.

ನಾನು ಅದರ ಮೇಲೆ 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 что бы данные удалялись через некоторое время, но мне это не нужно
}

ನಾವು ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಎಲ್ಲಿ ಬೇಕಾದರೂ ಉಳಿಸುತ್ತೇವೆ ಮತ್ತು ನಮಗೆ ಬೇಕಾದುದನ್ನು ಕರೆಯುತ್ತೇವೆ ಮತ್ತು ದಿನಕ್ಕೆ ಒಮ್ಮೆ ಕರೆ ಮಾಡಲು ಕ್ರಾನ್ ಕಾರ್ಯವನ್ನು ಸೇರಿಸುತ್ತೇವೆ. ಎಲ್ಲಾ ಸಿದ್ಧವಾಗಿದೆ.

ಈಗ ನನ್ನ ಆತ್ಮಸಾಕ್ಷಿಯು ಸ್ಪಷ್ಟವಾಗಿದೆ, ಟೋಡ್ ತೃಪ್ತವಾಗಿದೆ ಮತ್ತು ನಾನು ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ವೆಚ್ಚವನ್ನು ಮಾಡಿಲ್ಲ.

ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಪಾವತಿಸಿದ ದಿನಾಂಕದಂದು ಬಳಕೆದಾರರಲ್ಲಿ ಡೇಟಾವನ್ನು ಭರ್ತಿ ಮಾಡುವುದು ಮತ್ತು ಬಳಕೆದಾರರಿಗೆ ಜ್ಞಾಪನೆಗಳನ್ನು ಕಳುಹಿಸಲು ಬಳಕೆದಾರರ ಇಮೇಲ್ ಅನ್ನು ಭರ್ತಿ ಮಾಡುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ.

ಯಾರಿಗಾದರೂ ಸಹಾಯ ಮಾಡಿದರೆ ಸಂತೋಷವಾಗುತ್ತದೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ