<?php
error_reporting(7);
# Выбираем услуги, по которым необходимо произвести списание
$qs=@mysql(DBName,"SELECT * FROM `finance_service` WHERE `stop` = '0' AND `nextpay` < '".time()."' ORDER BY `nextpay` ASC");
$s=@mysql_num_rows($qs);
# Производим списание
for ($i=0;$i<$s;$i++)
{
$datas=@mysql_fetch_array($qs);
# Считываем баланс пользователя
$qh=@mysql(DBName,"SELECT `sum` FROM `finance_billing` WHERE `id_user` = '".$datas['id_user']."' ORDER BY `time` DESC LIMIT 0, 1");
$datah=@mysql_fetch_array($qh);
$balance=$datah['sum'];
# Если суммы на счету достаточно
if ($balance>=$datas['price'])
{
# Устанавливаем время следующего списания
@mysql(DBName,"UPDATE `finance_service` SET `nextpay` = '".($datas['nextpay']+86400)."' WHERE `num` = '".$datas['num']."' LIMIT 1");
# Списываем со счета абонплату за услугу, делаем запись в историю
@mysql(DBName,"INSERT INTO `finance_billing` ( `id_user` , `time` , `direct` , `sum` , `pay` , `descr` ) VALUES ( '".$datas['id_user']."' , '".$datas['nextpay']."' , '-' , '".($datah['sum']-$datas['price'])."' , '".$datas['price']."' , 'day-".$datas['service'].'-'.$datas['num']."' )");
}
# Если суммы на счету НЕдостаточно
else
{
# Отключаем услугу
@mysql(DBName,"UPDATE `finance_service` SET `stop` = '".time()."' , `comment` = 'nobalans' WHERE `num` = '".$datas['num']."' LIMIT 1");
# Делаем запись в историю
@mysql(DBName,"INSERT INTO `finance_billing` ( `id_user` , `time` , `direct` , `sum` , `pay` , `descr` ) VALUES ( '".$datas['id_user']."' , '".$datas['nextpay']."' , '?' , '".$datah['sum']."' , '0' , 'autostop-".$datas['service'].'-'.$datas['num']."' )");
$f=@fopen($userpath.'services.dat','r');
$servicelist=fread($f,1024);
$servicelist=str_replace(';;', ';', str_replace($datas['service'],'',$servicelist));
$f=fopen($userpath.'services.dat',"w+");fwrite($f,$servicelist);fclose($f);
}
}
$q_=@mysql(DBName,"SELECT `id_user` , `service` FROM `finance_service` WHERE `stop` = '0'");
$s=@mysql_num_rows($q_);
for ($i=0;$i<$s;$i++)
{
$data_=@mysql_fetch_array($q_);
$q__=@mysql(DBName,"SELECT * FROM `users` WHERE `num` = '".$data_['id_user']."' LIMIT 0, 1");
$data__=mysql_fetch_array($q__);
touch('/home/kmx/www/sites/'.$data__['domain'].'/'.$data__['login'].'/services.dat');
$f=@fopen('/home/kmx/www/sites/'.$data__['domain'].'/'.$data__['login'].'/services.dat','r');
$servicelist=fread($f,1024);
$servicelist=str_replace(';;', ';', str_replace(';;', ';', ';'.$data_['service'].';'.str_replace($data_['service'],'',$servicelist)));
$f=fopen('/home/kmx/www/sites/'.$data__['domain'].'/'.$data__['login'].'/services.dat',"w+");
fwrite($f,$servicelist);
fclose($f);
}
?>