Skip to content
Snippets Groups Projects
ads.inc.php 5.3 KiB
Newer Older
<?php
$adArten = array('forcedbanner' => 'forcedbanner',
                );

/*
* TODO
* nothing checks wether user landed on blacklist...
* blacklist check is broken currently anyway
* please fix me
*/

function invalidateAlreadyRunningAd()
{
    global $adArten,$ip,$db_prefix;
    $result = false;

    if( isset($_SESSION['current_ad']) )
    {   
        $tan = ( isset($_SESSION['current_ad']['tan']) ) ? $_SESSION['current_ad']['tan'] : false;
        $art = ( isset($_SESSION['current_ad']['art']) ) ? $_SESSION['current_ad']['art'] : ''; 

        if( false !== $tan && in_array($art, $adArten) )
        {
            $dbArt = $adArten[$art];
            $kamp = db_query ("SELECT `t1`.* FROM `" . $db_prefix . "_gebuchte_werbung` AS `t1`
                               LEFT JOIN `" . $db_prefix . "_reloads` AS `t2` ON (`t1`.`tan`=`t2`.`tan` AND (`t2`.`uid`=" . $_SESSION['uid'] . " OR `t2`.`ip`='" . $ip . "') AND `t2`.`bis` > " . time() . ")
                               WHERE `t1`.`tan` = '" . $tan . "' AND `t2`.`tan` IS NULL AND `t1`.`werbeart` = '".$dbArt."' LIMIT 1");

            if ( mysqli_num_rows( $kamp ) )
            {
                $result = true;
                $forced = mysqli_fetch_assoc( $kamp );

                $new_reload = time() + $forced['reload'];

                db_query("INSERT INTO `" . $db_prefix . "_reloads`
                         (`ip`,`uid`,`tan`,`bis`) VALUES 
                         ('" . $ip . "'," . $_SESSION['uid'] . ",'" . $tan . "'," . $new_reload . ")");
            }   
        }   
        unset( $_SESSION['current_ad'] );
    }
    return $result;
}

function setCurrentRunningAd( $art, $tan )
{
    $_SESSION['current_ad']['tan'] = $tan;
    $_SESSION['current_ad']['art'] = $art;
    $_SESSION['current_ad']['time'] = time();
    $_SESSION['current_ad']['paid'] = false;
}

function handleAdPayout( $forced )
{
    global $dbArten, $ip, $db_prefix;

    db_query("UPDATE ".$db_prefix."_kontodaten  SET klicks = klicks + 1, kv = kv + ".$forced['verdienst'].", fc_klicks = fc_klicks + 1 WHERE uid = '".$_SESSION['uid']."'"); // Hier Zusatz für Fakeschutz  
    kontobuchung ('+', $forced['verdienst'], create_code(14), $_SESSION['uid'], 1, 'Forcedbannerverdienst');
    refumsatz ($forced['verdienst'], $_SESSION['uid']);
    rallysystem ($_SESSION['uid'], '1', $forced['verdienst']);
    bilanz($forced['preis'], $forced['verdienst'],'Werbebereich','Forcedbannerklick');
    $new_reload = time() + $forced['reload'];
    db_query("INSERT INTO " . $db_prefix . "_reloads (ip,uid,tan,bis) VALUES ('" . $ip . "'," . $_SESSION['uid'] . ",'" . $forced['tan'] . "'," . $new_reload . ")");
    db_query("UPDATE " . $db_prefix . "_gebuchte_werbung SET menge = menge - 1 WHERE tan='" . $forced['tan'] . "'");

}

function checkAdOk( $art, $tan )
{
    global $dbArten, $ip, $db_prefix, $sql_open;
    $result = array('checkResult' => false);

    $sql = "SELECT `t1`.* FROM `" . $db_prefix . "_gebuchte_werbung` AS `t1`
            LEFT JOIN `" . $db_prefix . "_reloads` AS `t2` ON (`t1`.`tan`=`t2`.`tan` AND (`t2`.`uid`=" . $_SESSION['uid'] . " OR `t2`.`ip`='" . $ip . "') AND `t2`.`bis` > " . time() . ")
            WHERE `t1`.`tan` = ? AND `t2`.`tan` IS NULL AND `t1`.`werbeart` = ? LIMIT 1";
    $statement = mysqli_stmt_init( $sql_open );
    mysqli_stmt_prepare( $statement, $sql );

    mysqli_stmt_bind_param( $statement, "ss", $tan, $art );
    if( mysqli_stmt_execute( $statement ) )
    {

        mysqli_stmt_store_result( $statement );

        if ( mysqli_stmt_num_rows( $statement ) > 0 )
        {

            $timepassed = ( time() - $_SESSION['current_ad']['time'] ) +1;

            $rows = db_fetch( $statement );
            $forced = $row[0];
            $result['data'] = $forced;

            if( $timepassed >= $forced['aufendhalt'] )
            {
                handleAdPayout( $forced );
                $_SESSION['current_ad']['paid'] = true;
                $result['checkResult'] = true;
            }
        }
    }
    mysqli_stmt_close( $statement );
    return $result;
}

function getNewAdData( $dbArt )
{
    global $ip,$db_prefix;
    $result = array('count' => 0, 'data' => array() );

    $banner_sql = 'SELECT t1.*
                    FROM ' . $db_prefix . '_gebuchte_werbung t1
                    LEFT JOIN ' . $db_prefix . '_userblacklist t4 ON t4.uid = ' . $_SESSION['uid'] . ' 
                    LEFT JOIN ' . $db_prefix . '_fb_blacklist AS t3 ON t3.kid = t1.kid AND t3.werbeart=t1.werbeart
                    LEFT JOIN ' . $db_prefix . '_reloads t2
                    ON (t1.tan = t2.tan AND (t2.uid = ' . $_SESSION['uid'] . ' OR t2.ip = "' . $ip . '") AND t2.bis >= ' . time() . ')
                    WHERE
                    (t3.kid IS NULL OR LOCATE(t3.sponsor, t1.ziel) = 0) AND 
                    t2.tan IS NULL AND
                    t1.werbeart = "'.$dbArt.'" AND
                    t1.menge > 0 AND
                    t1.status = 1 AND
                    t1.verdienst > 0 AND
                    t1.sponsor != ' . $_SESSION['uid'] . ' 
                    ORDER BY t1.verdienst DESC LIMIT 3';
    $banner_res = db_query( $banner_sql );
    $banner_c   = mysqli_num_rows( $banner_res );

    $result['count'] = $banner_c;

    if( 0 < $banner_c )
    {   
        while( $banner = mysqli_fetch_assoc( $banner_res ) )
            $result['data'][] = $banner;
    }

    return $result;

}