ืืืชืืฉื you
- ืฉืจืช VPS ืขื ืจืืฉืืื ืชืืืื ispmanager lite 5
- 10-20 ืืฉืชืืฉืื ืืฉืจืช
- ืืืื ืืืื ืขื ืชืืืืจืืช ืงืืืขืืช ืืื ืฉื ืืืจ ืืื ืืืืจืื
- ืืื ืืฉืื ืขื ืื ืืืจ ืืืจ, ืืืืืื ืขื ืื ืื.
ืืืืจื ืืื ืืืืคืืจ ืืืืื ืืืื ืืชืืืืจืืช ืืื ืืืช ืืืงืื ืฉืืื ืฆืจืื ืืฉืื ืขืืืจ ืืืจืื. ืฉืืจืจื ืืช ืขืฆืืื ื"ืชื ื ืื ืืขืืื ืขืื ืงืฆืช, ืืื ืืฉืื ืืงืจืื", "ืื ืืืืฉืื ืื ื ืื ืืืืืช ืืช ืื", ืืืคืงืืื ืืืช ืืืื ืืืื ื ืืกืจืช ื ืฉืื.
ืืืืื ืฉืงืืื ืื ืืืคืฉืชื ืืืืื ืืื ืืฆืืชื ืคืชืจืื ืืช, ืืื ืืกืชืื ืืขืืืื ืฉืฆืจืื ืืืืจืฉื ื-BILLmanager, ืืื ื ืงืืื ืืก' 4 ืืืื ืืฉืืื ืืจืฆืื ืืช ืขืืืจื, ืื ืืงืื ืืืืคืืจ ืืื ื. ืืืืืืื ืืชืืจืจื ืื ืื ืื ืงืฉื.
ืื ืื ืื ืื ื ืขืืฉืื?
ืฆืืจ ืชืืงืืื users.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 = "[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 ััะพ ะฑั ะดะฐะฝะฝัะต ัะดะฐะปัะปะธัั ัะตัะตะท ะฝะตะบะพัะพัะพะต ะฒัะตะผั, ะฝะพ ะผะฝะต ััะพ ะฝะต ะฝัะถะฝะพ
}
ืื ืื ื ืฉืืืจืื ืืช ืืกืงืจืืคื ืืื ืืื ืืงืื ืืงืืจืืื ืื ืืื ืฉืื ืื ื ืจืืฆืื, ืืืืกืืคืื ืืฉืืืช cron ืืงืจืื ืื ืคืขื ืืืื. ืืื ืืืื.
ืขืืฉืื ืืฆืคืื ื ื ืงื, ืืงืจืคืื ืืจืืฆื, ืืื ื ืืจืืชื ืขืืืืืช ื ืืกืคืืช.
ืื ืฉื ืืชืจ ืืื ืืืื ืืช ืื ืชืื ืื ืืืฉืชืืฉืื ืืืืื ืชืืจืื ืฉืืื ืืืืจืื, ืืืช ืืืืื ืฉื ืืืฉืชืืฉืื ืืื ืืฉืืื ืชืืืืจืืช ืืืฉืชืืฉืื.
ืฉืื ืื ืื ืขืืืจ ืืืืฉืื.
ืืงืืจ: www.habr.com