Newer
Older
<?php
class Campaigns
{
private $database;
const FIELDS_gebuchte_werbung = '`t1`.`id`, `t1`.`uid`, `t1`.`tan`, `t1`.`kid`, `t1`.`ziel`, `t1`.`banner`, `t1`.`verdienst`, `t1`.`preis`, `t1`.`aufendhalt`, `t1`.`menge`, `t1`.`reload`, `t1`.`sponsor`, `t1`.`werbeart`, `t1`.`status`';
public function __construct( $database )
{
$this->database = $database;
}
$sql = 'UPDATE `'. DB_PREFIX . '_gebuchte_werbung` SET `menge` = GREATEST(0, `menge` - :value ) WHERE `id`= :id';
$sql_params = array(
':id' => $id,
);
return $this->database->sqlUpdate($sql, $sql_params);
}
public function getIsClickableByTanAndType( $tan, $type, $ip, $uid, $zeit )
{
$sql = self::FIELDS_gebuchte_werbung .' FROM `'. DB_PREFIX .'_gebuchte_werbung` AS `t1`
LEFT JOIN `'. DB_PREFIX .'_reloads` AS `t2` ON ( `t1`.`tan` = `t2`.`tan` AND (`t2`.`uid` = :t2uid OR `t2`.`ip` = :t2ip ) AND `t2`.`bis` > :t2bis )
WHERE `t1`.`tan` = :t1tan AND `t2`.`tan` IS NULL AND `t1`.`werbeart` = :t1type AND `t1`.`menge` >= 1 AND `t1`.`status` = 1 AND `t1`.`sponsor` != :t1uid LIMIT 1';
$sql_params = array(
':t2uid' => $uid,
':t2ip' => $ip,
':t2bis' => $zeit,
':t1tan' => $tan,
':t1type' => $type,
':t1uid' => $uid,
);
$result = $this->database->select( $sql, $sql_params );
return ( isset($result[0]) ) ? $result[0] : false;
}
public function getByTanAndType( $tan, $type, $status = false )
{
$where_status = ( false !== $status ) ? ' AND `status` = :status ' : '';
$sql = self::FIELDS_gebuchte_werbung .' FROM `'.DB_PREFIX.'_gebuchte_werbung` AS `t1` WHERE `tan` = :tan AND `werbeart` = :type '.$where_status.' LIMIT 1';
$sql_params = array(
':tan' => $tan,
':type' => $type,
);
if( false !== $status )
{
$sql_params[':status'] = $status;
}
$result = $this->database->select($sql, $sql_params);
return ( isset($result[0]) ) ? $result[0] : false;