āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ˛ā§
- āĻāĻŋāĻ°āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ āĻ¸āĻš VPS āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° ispmanager lite 5
- āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋ 10-20 āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§
- āĻ¯āĻžāĻĻā§āĻ° āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻĢā§āĻ°āĻŋāĻ¯āĻŧā§ āĻā§āĻā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ āĻ¨ā§āĻ¸ā§āĻŽāĻžāĻ°āĻ āĻ¸āĻš Google āĻā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻĄāĻžāĻ°
- āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻ˛āĻā§āĻāĻžāĻāĻ¨āĻ, āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ āĻ¸āĻžāĻŦāĻ¸ā§āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ¸āĻšāĨ¤
āĻ˛āĻā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§ āĻšā§āĻ¸ā§āĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŽāĻ¨ Google āĻā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻĄāĻžāĻ° āĻāĻŦāĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ
āĻ¨ā§āĻ¸ā§āĻŽāĻžāĻ°āĻāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻŽā§āĻā§āĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžā§ˇ āĻ¨āĻŋāĻā§āĻā§ āĻŽā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨ "āĻ¤āĻžāĻā§ āĻāĻ°āĻ āĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĻāĻŋāĻ¨, āĻ¤āĻŋāĻ¨āĻŋ āĻļā§āĻā§āĻ°āĻ āĻ
āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻŦā§āĻ¨", "āĻāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻž āĻāĻāĻ°āĻāĻŽ āĻ
āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ", āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻ¤ā§āĻŽāĻžāĻšā§āĻ¨ āĻ¯āĻ¨ā§āĻ¤ā§āĻ°ā§āĻ° āĻāĻžāĻā§ āĻ
āĻ°ā§āĻĒāĻŖ āĻāĻ°ā§āĻ¨āĨ¤
āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻŽāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻā§āĻāĻ˛ āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¨āĻŋ, āĻāĻāĻŋ āĻ¸āĻŦāĻ āĻāĻ āĻ¸āĻ¤ā§āĻ¯ā§ āĻĢā§āĻā§ āĻāĻ ā§āĻā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ BILLmanager-āĻāĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¨āĻ 4 āĻāĻŽāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻŦāĻ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻŦāĻ āĻā§āĻ°ā§āĻ¤āĻ°, āĻāĻŽāĻŋ āĻĒāĻžāĻŦ āĻ¨āĻž āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ. āĻāĻŦāĻ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤āĻāĻŋ āĻāĻ¤ āĻāĻ āĻŋāĻ¨ āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤
āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ?
āĻāĻāĻāĻŋ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ° user.addon āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, /usr/local/mgr5/etc/sql/ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§, āĻĻā§āĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻĢāĻžāĻāĻ˛:
- pay_date
- 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
āĻāĻŽāĻ°āĻž āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ˛āĻŋāĻāĻŋ āĻā§āĻ¨ āĻĻāĻŋāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻāĻžāĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤, āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻā§ āĻāĻŽā§āĻ˛, āĻā§āĻĨāĻžāĻ¯āĻŧ āĻ°āĻŋāĻŽāĻžāĻāĻ¨ā§āĻĄāĻžāĻ° āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻļā§āĻā§āĻ°āĻ āĻļā§āĻˇ āĻšāĻŦā§āĨ¤
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻŦā§ āĻ¯ā§ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻāĻŋāĻā§ āĻŦāĻŋāĻ°āĻ¤āĻŋāĻ¤ā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧāĨ¤ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻļā§āĻˇ āĻšāĻā§āĻā§ āĻŦāĻ˛ā§ āĻ ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻā§ āĻāĻžāĻ¨āĻžāĻ¨āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻāĻā§ āĻ āĻŦāĻšāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ āĻā§āĻˇāĻŽāĨ¤
āĻāĻŽāĻŋ āĻāĻāĻŋāĻ¤ā§ āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ˛āĻŋāĻā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤
<?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