แแถแแแแแแแฑแแแ
- แแแถแแแธแแแ VPS แแแแแถแแขแถแแแแถแแแแแแขแ แทแแแแแแแแ ispmanager lite 5
- แขแแแแแแแพแแแแถแแ 10-20 แแถแแแแแแปแแแฝแแแแถแแแธแแแ
- แแแแแทแแทแ Google แแถแแฝแแแนแแแถแแแแแนแแแถแแแแ แถแแแแแแถแแแขแแแแแแแแทแแขแแ แแแแ แแ
- แแถแแถแแถแแขแถแแแถแแแแแแปแแแถแแ แแแถแแแแแแถแแแขแแแธแแแแแแแแ แแถแแทแแแแแถแแฝแแแนแแแถแแแถแแ
แแแแแ
แแบแแพแแแแธแแแแ
แถแแแแแแแทแแทแ Google แแทแแแถแแแแแนแแแแแแแแแแขแแทแแทแแแแถแแถแแแแแแผแแแแแแแแถแแแแแแแถแแแแถแแแแแ แแแ แแแแแแแแแแฝแแขแแแแแธ "แขแแปแแแแถแแฑแแแแถแแแแแแพแแถแแแแแแทแ
แแแ แแถแแแแนแแแแแแแแถแแแแถแแแแแแ" "แแถแแขแถแแแแขแฝแแแแแปแแแถแแแทแแแถ" แ แพแแแแแแแแแถแแ
แแแถแแแธแแแแแแแแถแแแแแแนแแ
แแถโแแถแโแแทแโแแถแแ แแแแผแโแแแแปแโแแถแ Googled แ แพแโแแถแโแแแแแโแแ แแแปแแแแโแแทแโแแถแโแแโแแพแโแแแแแโแแแแถแโแแถโแแฝแ แแถโแแถแโแแปแโแแแแแแแแโแแ
โแแนแโแแถแโแแทแโแแแโแขแแแโแแแแผแโแแถแโแแถแ BILLmanager แแแปแแแแโแ
แแแปแ
โแแธ 4 แแบโแแแแถแแโแแทแโแแแแแแแแแโแแแแแถแแโแแแแปแ แแแแปแโแแนแโแแทแโแแแฝแโแแถแโแแแ แแแแ
แถแแแแถแ แ แพแโแแถแโแแแแแแ
โแ
แทแแแโแแถแโแแแแโแแแแถแโแแ
โแแถโแแทแโแแทแแถแโแแแโแแแ
แแผแ แแแแแแพแแพแแแแแพแขแแแธ?
แแแแแพแ folder user.addon แแ แแแแปแแแ /usr/local/mgr5/etc/sql/ แฏแแแถแแแแแแธแแ
- แแถแแแแทแ แแแแแแแแแแแถแแ
- uwemail
แแถแแนแแแแแแถแฑแแแแแแแแแแแแพแแแ
แแแแปแแแผแแแแแถแแแทแแแแแแ
/usr/local/mgr5/etc/ispmgr.db
แแ
แแแแปแแแถแแถแแขแแแแแแแพแแแแถแแแแถแแแถแแแธแแแแแแแแผแแแแแถแแแแแแแแแแธแแแแแแแแแแแแแแแแนแแแแแผแแแถแแแแแแแ
แแแแแพแแฏแแแถแแแฝแแแแแแแแถ ispmgr_mod_pay_data.xml แแ แแแแปแแแ /usr/local/mgr5/etc/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 แแ แแพแแถ แ แพแแแแแแแแแแแแธแแ
<?php
$adminemail = "admin@gmail.com"; // 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 ััะพ ะฑั ะดะฐะฝะฝัะต ัะดะฐะปัะปะธัั ัะตัะตะท ะฝะตะบะพัะพัะพะต ะฒัะตะผั, ะฝะพ ะผะฝะต ััะพ ะฝะต ะฝัะถะฝะพ
}
แแพแแแแแแถแแปแแแแแแแธแแแแแแแแแแแธแแแแแแ แ แพแแ แ แแถแแถแแขแแแธแแแแแพแแ แแแแถแ แ แพแแแแแแแแแทแ แแ แแถแ cron แแพแแแแธแ แ แแถแแแแแแแแปแแแฝแแแแแแ แแถแแแขแแแแฝแ แแถแแแ แพแแ
แฅแกแผแแแแ แแแทแแแแแแแแแแแแแแแแแปแแแบแ แแแถแแแ แพแ แแแแแแแแแแบแแแแ แทแแแ แ แพแแแแแปแแแทแแแถแแ แแแถแแแแแแแแขแแแธแแแ
แขแแแธแแแแแ แแแแแแแแบแแถแแแแแแแแทแแแแแแแแ แแแแปแแขแแแแแแแพแแแแถแแแแ แแแแแแแแแถแแแแแ แแแแแแผแแแถแแแแ แแทแแขแแธแแแแแแแแขแแแแแแแพแแแแถแแแแแแแแแแแแแแแผแแแแแพแแถแแแแแนแแแ แแถแแแขแแแแแแแพแแแแถแแแ
แแธแแแถแแแแแแทแแแพแแถแแฝแแแแแถแแแแถแแแ
แแแแแ: www.habr.com
