ctms/vendor/fmsoft/function/stat.func.php
2025-04-10 23:19:13 +08:00

155 lines
3.8 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* @author Fm453
* @site www.hiluker.com
* @remark数据流量统计处理
*/
defined('HI_FM') or exit("Access Denied");
//更新某用户的数据用量
/*
@username 用户名
@bytes 本次入站数据大小
*/
function fmFunc_stat_bytes_in($username,$bytes)
{
global $_GPC;
global $_HI;
global $_FM;
$connection = yii::$app->db;
$table='c_user';
$column = 'inbytes';
$conditions = 'username = :username';
$params = array();
$params[':username'] = $username;
$inbytes = fmFunc_pdo_yii_fetchcolumn($connection,$table, $column, $conditions, $params);
$columns=array();
$columns[$column] = $inbytes+intval($bytes);
fmFunc_pdo_yii_update($connection, $table, $columns, $conditions, $params);
}
/*
@username 用户名
@bytes 出站数据大小
*/
function fmFunc_stat_bytes_out($username,$bytes)
{
global $_GPC;
global $_HI;
global $_FM;
$connection = yii::$app->db;
$table='c_user';
$column = 'outbytes';
$conditions = 'username = :username';
$params = array();
$params[':username'] = $username;
$outbytes = fmFunc_pdo_yii_fetchcolumn($connection,$table, $column, $conditions, $params);
$columns=array();
$columns[$column] = $outbytes+intval($bytes);
fmFunc_pdo_yii_update($connection, $table, $columns, $conditions, $params);
}
/*
@username 用户名
@times 出站接口调用次数
*/
function fmFunc_stat_times_out($username,$times)
{
global $_GPC;
global $_HI;
global $_FM;
$connection = yii::$app->db;
$table='c_user';
$column = 'outtimes';
$conditions = 'username = :username';
$params = array();
$params[':username'] = $username;
$outtimes = fmFunc_pdo_yii_fetchcolumn($connection,$table, $column, $conditions, $params);
$columns=array();
$columns[$column] = $outtimes+intval($times);
fmFunc_pdo_yii_update($connection, $table, $columns, $conditions, $params);
}
/*
@username 用户名
@times 入站接口调用次数
*/
function fmFunc_stat_times_in($username,$times)
{
global $_GPC;
global $_HI;
global $_FM;
$connection = yii::$app->db;
$table='c_user';
$column = 'intimes';
$conditions = 'username = :username';
$params = array();
$params[':username'] = $username;
$intimes = fmFunc_pdo_yii_fetchcolumn($connection,$table, $column, $conditions, $params);
$columns=array();
$columns[$column] = $intimes+intval($times);
fmFunc_pdo_yii_update($connection, $table, $columns, $conditions, $params);
}
/*
@username 用户名
@times 短信接口调用次数
*/
function fmFunc_stat_sms_send($username,$times)
{
global $_GPC;
global $_HI;
global $_FM;
$connection = yii::$app->db;
$table='c_user';
$column = 'sms_total';
$column2 = 'sms_left';
$conditions = 'username = :username';
$params = array();
$params[':username'] = $username;
$total = fmFunc_pdo_yii_fetchcolumn($connection,$table, $column, $conditions, $params);
$left = fmFunc_pdo_yii_fetchcolumn($connection,$table, $column2, $conditions, $params);
if($times==0){
return int($left);
}
$columns=array();
$columns[$column] = $total+intval($times);
$columns[$column2] = $left-intval($times);
fmFunc_pdo_yii_update($connection, $table, $columns, $conditions, $params);
return $columns[$column2];
}
//取某用户的数据用量
/*
@username 用户名
*/
function fmFunc_stat_get($username)
{
global $_GPC;
global $_HI;
global $_FM;
$connection = yii::$app->db;
$table='c_user';
$fields = "`inbytes`,`intimes`,`outbytes`,`outtimes`,`sms_total`,`sms_left`,`sms_type`";
$conditions = 'username = :username';
$params = array();
$params[':username'] = $username;
$sql = "SELECT ".$fields." FROM ".$table." WHERE ".$conditions." LIMIT 1";
return fmFunc_pdo_yii_fetch($connection,$sql, $params);
}