'; print_r($arr_report); die; } */ array_shift($arr_report); array_shift($arr_report); array_pop($arr_report); foreach($arr_report as $transaction) { $arr_transaction = explode(';', $transaction); $sitename = $arr_transaction[9]; if ( $filter_sitename != '' && !in_array($sitename, $arr_filter_sitename) ) continue; $shop_name = $arr_transaction[0]; $shop_id = $arr_transaction[1]; $date = $arr_transaction[2]; $checkdate = $arr_transaction[3]; $arr_number['lead'] = $arr_transaction[4]; $arr_number['sale'] = $arr_transaction[5]; $sub_id = $arr_transaction[6]; $arr_number['event'] = $arr_transaction[7]; $status = $arr_transaction[8]; $price = $arr_transaction[10]; $commission = $arr_transaction[11]; $date = str_replace(array('/','-'), '.', $date); $arr_datetime = explode(' ', $date); $arr_date = explode('.', $arr_datetime[0]); $year_long = $arr_date[2] + 2000; $datetime_db = $year_long.'-'.$arr_date[1].'-'.$arr_date[0].' '.$arr_datetime[1]; if ($checkdate == '') $checkdatetime_db = $datetime_db; else { $checkdate = str_replace(array('/','-'), '.', $checkdate); $arr_checkdatetime = explode(' ', $checkdate); $arr_checkdate = explode('.', $arr_checkdatetime[0]); $checkyear_long = $arr_checkdate[2] + 2000; $checkdatetime_db = $checkyear_long.'-'.$arr_checkdate[1].'-'.$arr_checkdate[0].' '.$arr_checkdatetime[1]; } //tradedoubler uses sometimes the same number for a lead and for a sale to show that they belong together, but we want two different transactions, so we add the transaction type to the number. //They also sometimes use the same number for several products of an order (damn you, tradedoubler developers), so we add the eventId if ($arr_number['sale'] == '' && $arr_number['lead'] != '') { $transaction_type = 'L'; $number = 'L'.$arr_number['lead'].'-'.$arr_number['event']; $price = 0; } elseif ($arr_number['sale'] != '') { $transaction_type = 'S'; $number = 'S'.$arr_number['sale'].'-'.$arr_number['event']; } else continue; //tradedoubler sometimes reports empty transactions if ($status == 'P') $status = 'Open'; elseif ($status == 'A') $status = 'Confirmed'; elseif ($status == 'D') $status = 'Cancelled'; $price = str_replace('.', '', $price); //remove 1000-separator $commission = str_replace('.', '', $commission); $price = str_replace(',', '.', $price); $commission = str_replace(',', '.', $commission); if ($status == 'Confirmed') $confirmed = $commission; else $confirmed = 0; $output_transactions[] = array( 'network' => 'tradedoubler', 'number' => $number, 'datetime_db' => $datetime_db, 'sub_id' => $sub_id, 'shop_id' => $shop_id, 'shop_name' => $shop_name, 'transaction_type' => $transaction_type, 'price' => $price, 'commission' => $commission, 'confirmed' => $confirmed, 'checkdatetime_db' => $checkdatetime_db, 'status' => $status ); } //foreach return $output_transactions; } //function } ?>