<?php /* * TODO * nothing checks wether user landed on blacklist... * blacklist check is broken currently anyway * please fix me */ class zPtc { public $parent; public function __construct($zVms) { $this->parent = $zVms; } public function invalidateAlreadyRunningAd( $uid, $ip ) { $result = false; $zeit = time(); 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'] : ''; $id = ( isset($_SESSION['current_ad']['id']) ) ? $_SESSION['current_ad']['id'] : 0; $result = true; $_SESSION['current_ad'] = array(); if( 0 !== $id ) { $kamp = $this->parent->campaigns->getIsClickableById( $id, $ip, $uid, $zeit ); if( false !== $kamp ) { $until = $zeit + $kamp->reload; $this->parent->reloads->addCampaign( $id, $uid, $ip, $until ); } } } return $result; } public function setCurrentRunningAd( $art, $cid, $tan ) { $_SESSION['current_ad']['art'] = $art; $_SESSION['current_ad']['id'] = $cid; $_SESSION['current_ad']['tan'] = $tan; $_SESSION['current_ad']['time'] = time(); $_SESSION['current_ad']['paid'] = false; } public function handleAdPayout( $cid, $adtype, $uid, $ip, $preis, $verdienst, $msg = 'Paid4Action', $billanzcat = 'Werbebereich' ) { $result = true; // TODO adtype dependent counter table db_query("UPDATE `".DB_PREFIX."_kontodaten` SET `klicks` = `klicks` + 1, `kv` = `kv` + ".$verdienst.", `fc_klicks` = `fc_klicks` + 1 WHERE `uid` = ".$uid); // Hier Zusatz für Fakeschutz kontobuchung ('+', $verdienst, create_code(14), $uid, 1, $msg); refumsatz ($verdienst, $uid); // TODO add handler $adtype dependent rallysystem ($uid, '1', $verdienst); bilanz($preis, $verdienst, $billanzcat, $msg); return $result; } function checkAdOkAndPay( $cid, $uid, $ip ) { $result = false; $time = time(); $data = $this->parent->campaigns->getIsClickableById( $cid, $ip, $uid, $time ); if ( false !== $data ) { $timepassed = ( $time - $_SESSION['current_ad']['time'] ) +1; if( $timepassed >= $data->aufendhalt ) { $until = $time + $data->reload; $this->handleAdPayout( $cid, $data->werbeart, $uid, $ip, $data->preis, $data->verdienst ); $this->parent->reloads->addCampaign( $cid, $uid, $ip, $until ); $this->parent->campaigns->decreaseAvailCountById( $cid, 1 ); $_SESSION['current_ad']['paid'] = true; $result = true; } } return $result; } }