View file includes/wap/finance/tranzactions.php

File size: 2.68Kb
<?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);
	}

?>