<?php class Stats { private $database; public function __construct( $database ) { $this->database = $database; } public function adsTotalsCount( $art, $personal = false ) { $sql = ' COUNT(`t1`.`tan`) AS `ganzahl`, SUM(`t1`.`verdienst`) AS `gverdienst`, SUM(`t1`.`aufendhalt`) AS `gaufenthalt`, SUM(`t1`.`menge` * `t1`.`verdienst`) AS `totalvalue`, SUM(`t1`.`menge`) AS `totalclicks` FROM `'.DB_PREFIX.'_gebuchte_werbung` AS `t1` '; if( false !== $personal ) $sql .= ' LEFT JOIN `'.DB_PREFIX.'_userblacklist` `t4` ON `t4`.`uid` = :juid '; // TODO fix join on blacklist, kid only works with sponsor, going to use id anyway... $sql .= ' LEFT JOIN `'.DB_PREFIX.'_fb_blacklist` AS `t3` ON `t3`.`kid` = `t1`.`kid` AND `t3`.`werbeart`=`t1`.`werbeart` WHERE (`t3`.`kid` IS NULL OR LOCATE(`t3`.`sponsor`, `t1`.`ziel`) = 0) AND `t1`.`werbeart` = :wart AND `t1`.`reload` >= 100 AND `t1`.`menge` > 0 AND `t1`.`status` = 1 AND `t1`.`verdienst` >= 0 '; if( false !== $personal ) $sql .= ' AND `t1`.`sponsor` != :spuid '; $sql_params = array(':wart' => $art); if( false !== $personal ) { $sql_params[':juid'] = $personal; $sql_params[':spuid'] = $personal; } $result = $this->database->select( $sql, $sql_params ); return ( isset($result[0]) ) ? $result[0] : false; } public function adsClickableCount( $art, $uid, $ip ) { $zeit = time(); $sql = ' COUNT(`t1`.`tan`) AS `uanzahl`, SUM(`t1`.`verdienst`) AS `uverdienst` FROM `'.DB_PREFIX.'_gebuchte_werbung` AS `t1` LEFT JOIN `'.DB_PREFIX.'_reloads` AS `t2` ON (`t1`.`tan` = `t2`.`tan` AND ( `t2`.`uid` = :ruid OR `t2`.`ip` = :ip ) AND t2.bis >= :zeit ) LEFT JOIN `'.DB_PREFIX.'_fb_blacklist` AS `t3` ON `t3`.`kid` = `t1`.`kid` AND `t3`.`werbeart`=`t1`.`werbeart` LEFT JOIN `'.DB_PREFIX.'_userblacklist` AS `t4` ON `t4`.`uid` = :buid WHERE ( `t3`.`kid` IS NULL OR LOCATE(`t3`.`sponsor`, `t1`.`ziel`) = 0) AND `t2`.`tan` IS NULL AND `t1`.`werbeart` = :wart AND `t1`.`reload` >= 100 AND `t1`.`menge` > 0 AND `t1`.`status` = 1 AND `t1`.`verdienst` >= 0 AND `t1`.`sponsor` != :spuid '; $sql_params = array( ':ruid' => $uid, ':ip' => $ip, ':zeit' => $zeit, ':buid' => $uid, ':spuid'=> $uid, ':wart' => $art, ); $result = $this->database->select( $sql, $sql_params ); return ( isset($result[0]) ) ? $result[0] : false; } }