Salve, ho creato uno script che mi permette di estrarre i dati dal report tradedoubler per approvare le offerte fatte sul mio sito di cashback
dopo il passaggio all'ora legale il report invece di apparire nel formato giorno/mese/anno mi viene visualizzato mese/giorno/anno
di conseguenza dove controllare migliaia di offerte manualmente
Vi posto il codice nella speranza che qualcuno riesca ad aiutarmi
dopo il passaggio all'ora legale il report invece di apparire nel formato giorno/mese/anno mi viene visualizzato mese/giorno/anno
di conseguenza dove controllare migliaia di offerte manualmente

Vi posto il codice nella speranza che qualcuno riesca ad aiutarmi
PHP:
<?php
class TradedoublerJob extends Job
{
public function prepare()
{
$mapper = new SimpleLeadMapper(2, 1, 1, 0);
foreach ($this->accounts as $account)
{
try
{
$auth['j_username'] = $account->getUsername();
$auth['j_password'] = $account->getPassword();
$report = new Report($account);
Browser::go('http://login.tradedoubler.com/pan/login', http_build_query($auth, '', '&'));
$end = new DateTime();
$start = clone $end;
DateExtra::sub($start, DateExtra::DAY * $this->cron->getOptions()->days);
$form['reportName'] = 'aAffiliateEventBreakdownReport';
$form['showAdvanced'] = true;
$form['showFavorite'] = false;
$form['minRelativeIntervalStartTime'] = 0;
$form['maxIntervalSize'] = 0;
$form['reportTitleTextKey'] = 'REPORT3_SERVICE_REPORTS_AAFFILIATEEVENTBREAKDOWNREPORT_TITLE';
$form['setColumns'] = true;
$form['pending_status'] = 1;
$form['sortBy'] = 'timeOfEvent';
$form['breakdownOption'] = 2;
$form['startDate'] = $start->format('d/m/Y');
$form['endDate'] = $end->format('d/m/Y');
$form['event_id'] = 0;
$form['filterOnTimeHrsInterval'] = false;
$form['dateSelectionType'] = 1;
$form['columns'] = 'timeOfEvent';
$form['format'] = 'CSV';
$form['separator'] = ';';
$form['dateType'] = 1;
$text = Browser::go('http://login.tradedoubler.com/pan/aReport3Internal.action', $form);
$report->setText($text);
$data = CsvParser::parse($report->getText(), ';');
array_walk_recursive($data, array($this, 'adjustData'));
$set = $mapper->mapSet($data);
$account->addSet($set);
}
catch (Exception $e)
{
}
}
}
public function adjustData(&$item, $key)
{
if (false !== strpos($item, 'CEST'))
{
$parts = explode(' ', $item);
$date = explode('/', $parts[0]);
$time = explode('.', $parts[1]);
$item = sprintf('%04d-%02d-%02d %02d:%02d:%02d', $date[2] + 2000, $date[1], $date[0], $time[0], $time[1], $time[2]);
}
}
}