===== PART 2/12 ===== haShortlink || ($this->getRequest()->is('post') && $this->getRequest()->getData('action') !== 'continue') ) { if ($displayCaptchaShortlink && !$this->Captcha->verify($this->getRequest()->getData())) { $this->Flash->error(__('The CAPTCHA was incorrect. Try again')); return $this->redirect($this->getRequest()->getRequestTarget()); } $this->setVisitorCookie(); $country = $this->Links->Statistics->get_country(get_ip()); $this->set('country', $country); if ($detector->isMobile()) { $traffic_source = 3; // Mobile & Tablet } else { $traffic_source = 2; // Desktop } // Check if force_new parameter is set $force_new = $this->getRequest()->getQuery('force_new') ? true : false; $paidAds = (object)$this->getPaidAds($ad_type, $traffic_source, $country, $link->alias, $force_new); $this->set('paidAds', $paidAds); if (get_option('enable_popup', 'yes') == 'yes') { $popupPaidAds = (object)$this->getPaidAds(3, $traffic_source, $country, $link->alias, $force_new); $show_pop_ad = false; $pop_ad = []; if ($popupPaidAds) { $pop_ad = [ 'mode' => $popupPaidAds->mode, 'link' => $link, 'website_url' => $popupPaidAds->website_url, 'alias' => $link->alias, 'ci' => $popupPaidAds->ci, 'cui' => $popupPaidAds->cui, 'cii' => $popupPaidAds->cii, 'country' => $country, 'advertiser_price' => $popupPaidAds->advertiser_price, 'publisher_price' => $popupPaidAds->publisher_price, ]; $show_pop_ad = true; } $this->set('show_pop_ad', $show_pop_ad); $this->set('pop_ad', data_encrypt($pop_ad)); } $ad_form_data = [ 'mode' => $paidAds->mode, 'alias' => $link->alias, 'ci' => $paidAds->ci, 'cui' => $paidAds->cui, 'cii' => $paidAds->cii, 'country' => $country, 'advertiser_price' => $paidAds->advertiser_price, 'publisher_price' => $paidAds->publisher_price, 'ad_type' => $ad_type, 'timer' => $link_user_plan->timer ?? 5, 't' => time(), ]; $this->set('ad_form_data', data_encrypt($ad_form_data)); // Interstitial Ads if ($ad_type == 1) { $interstitial_banner_ad = get_option('interstitial_banner_ad', ''); $interstitial_ad_url = $paidAds->website_url; if ($plan_disable_ads) { $interstitial_banner_ad = ''; $interstitial_ad_url = ''; } $this->set('interstitial_banner_ad', $interstitial_banner_ad); $this->set('interstitial_ad_url', $interstitial_ad_url); $this->viewBuilder()->setLayout('go_interstitial'); $this->render('view_interstitial'); } // Banner Ads if ($ad_type == 2) { $banner_728x90 = get_option('banner_728x90', ''); $banner_468x60 = get_option('banner_468x60', ''); $banner_336x280 = get_option('banner_336x280', ''); if ($paidAds->mode === 'campaign') { if ('728x90' == $paidAds->banner_size) { $banner_728x90 = $paidAds->banner_code; } if ('468x60' == $paidAds->banner_size) { $banner_468x60 = $paidAds->banner_code; } if ('336x280' == $paidAds->banner_size) { $banner_336x280 = $paidAds->banner_code; } } if ($plan_disable_ads) { $banner_728x90 = ''; $banner_468x60 = ''; $banner_336x280 = ''; } $this->set('banner_728x90', $banner_728x90); $this->set('banner_468x60', $banner_468x60); $this->set('banner_336x280', $banner_336x280); $this->viewBuilder()->setLayout('go_banner'); $this->render('view_banner'); } // Traffic Ads if ($ad_type == 4) { $banner_728x90 = get_option('banner_728x90', ''); $banner_468x60 = get_option('banner_468x60', ''); $banner_336x280 = get_option('banner_336x280', ''); if ($paidAds->mode === 'campaign') { $this->set('campaign', $paidAds); // Track that this browser has viewed this traffic link try { $userIp = $this->request->clientIp(); $userAgent = $this->request->getHeaderLine('User-Agent'); $fingerprint = md5($userIp . '_' . $userAgent); error_log("TrafficLink View - Campaign: {$paidAds->ci}, IP: $userIp, Fingerprint: $fingerprint"); // Save to database for cross-domain tracking $this->loadModel('TrafficTracking'); $existing = $this->TrafficTracking->find() ->where([ 'fingerprint' => $fingerprint, 'campaign_id' => $paidAds->ci ]) ->fi