getUser()->getCulture(); // ustawienie wyglądu daty dla zakresu if (count($range["view"])>25) { foreach ($range["view"] as $value) { $chart_labels[] = $value; } } else { foreach ($range["data"] as $value) { if ($chartDisplayType=="day") { $chart_labels[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value)); } if ($chartDisplayType=="month") { $chart_labels[] = date('m-Y', strtotime($value)); } } } $reports['chart']['labels'] =$chart_labels; foreach ($range["data"] as $value) { if ($chartDisplayType=="day") { $chart_dates[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value)); } if ($chartDisplayType=="month") { $chart_dates[] = date('m-Y', strtotime($value)); } } $reports['chart']['dates'] = $chart_dates; /* echo "
";
print_r($reports);
echo "";
die();*/
if (isset($campaign_1)) {
$camp_1 = explode("_", $campaign_1);
$camp_1 = $camp_1[1];
$c = new Criteria();
$c->add(AdsTrackerCampaignPeer::ID, $camp_1);
$object_campaign_1 = AdsTrackerCampaignPeer::doSelectOne($c);
if ($object_campaign_1) {
$label = $object_campaign_1->getAdsTrackerPlatform()->getAdsName()." - ".$object_campaign_1->getAdsName();
$campaign_array[$label] = $camp_1;
}
foreach ($range["data"] as $value) {
// $date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j/Y', strtotime($value));
if ($chartDisplayType=="day") {
$date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($value));
$value = $date;
}
$reports['campaign'][$camp_1]['days'][$value]['date'] = $date;
$reports['campaign'][$camp_1]['days'][$value]['entering'] = 0;
$reports['campaign'][$camp_1]['days'][$value]['day_total_brutto'] = 0;
$reports['campaign'][$camp_1]['days'][$value]['day_total_order'] = 0;
}
}
if (isset($campaign_2) && $campaign_2!="none") {
$camp_2 = explode("_", $campaign_2);
$camp_2 = $camp_2[1];
$c = new Criteria();
$c->add(AdsTrackerCampaignPeer::ID, $camp_2);
$object_campaign_2 = AdsTrackerCampaignPeer::doSelectOne($c);
if ($object_campaign_2) {
$label = $object_campaign_2->getAdsTrackerPlatform()->getAdsName()." - ".$object_campaign_2->getAdsName();
$campaign_array[$label] = $camp_2;
}
foreach ($range["data"] as $value) {
// $date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j/Y', strtotime($value));
if ($chartDisplayType=="day") {
$date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($value));
$value = $date;
}
$reports['campaign'][$camp_2]['days'][$value]['date'] = $date;
$reports['campaign'][$camp_2]['days'][$value]['entering'] = 0;
$reports['campaign'][$camp_2]['days'][$value]['day_total_brutto'] = 0;
$reports['campaign'][$camp_2]['days'][$value]['day_total_order'] = 0;
}
}
/*echo "";
print_r($reports);
echo "";
die();*/
foreach ($campaign_array as $campaign_label => $campaign_id) {
$c = new Criteria();
$c->add(AdsTrackerCampaignPeer::ID, $campaign_id);
$c->addJoin(AdsTrackerCampaignPeer::ID, AdsTrackerListPeer::APP_ADS_TRACKER_CAMPAIGN_ID);
$c->addJoin(AdsTrackerListPeer::ID, AdsTrackerEnteringPeer::APP_ADS_TRACKER_LIST_ID);
$c->addSelectColumn(AdsTrackerCampaignPeer::ADS_NAME);
$c->addSelectColumn(AdsTrackerEnteringPeer::CREATED_AT);
$c->addSelectColumn(AdsTrackerEnteringPeer::ADS_ENTERING);
$c->addSelectColumn(AdsTrackerCampaignPeer::COLOR);
$criterion = $c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
if ($chartDisplayType=="month") {
// dla miesięcy
$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerEnteringPeer::CREATED_AT));
}
$rs = AdsTrackerPlatformPeer::doSelectRS($c);
$sum = 0;
$reports['campaign'][$campaign_id]['name'] = $campaign_label;
$reports['campaign'][$campaign_id]['total_entering'] = 0;
while ($rs->next()) {
if ($rs) {
$row = $rs->getRow();
$sum += $row[2];
$reports['campaign'][$campaign_id]['total_entering'] = $sum;
$date = explode(" ", $row[1]);
$date = $date[0];
if ($chartDisplayType=="day") {
$reports['campaign'][$campaign_id]['days'][$date]['entering'] = $row[2];
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($date));
$reports['campaign'][$campaign_id]['days'][$date]['entering'] = $row[2];
}
$reports['campaign'][$campaign_id]['color'] = $row[3];
}
}
if (isset($reports['campaign'][$campaign_id]['days'])) {
ksort($reports['campaign'][$campaign_id]['days']);
}
}
foreach ($campaign_array as $campaign_label => $campaign_id) {
$c = new Criteria();
$c->add(AdsTrackerOrderPeer::APP_ADS_TRACKER_CAMPAIGN_ID, $campaign_id);
$c->addSelectColumn(AdsTrackerOrderPeer::CREATED_AT);
$c->addSelectColumn(AdsTrackerOrderPeer::ORDER_COST_BRUTTO);
$c->addSelectColumn(AdsTrackerOrderPeer::ORDER_ID);
$criterion = $c->getNewCriterion(AdsTrackerOrderPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerOrderPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
if ($chartDisplayType=="month") {
// dla miesięcy
$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerOrderPeer::CREATED_AT));
}
$rs = AdsTrackerOrderPeer::doSelectRS($c);
$sum_total_brutto = 0;
$sum_total_order = 0;
$order_ids = "";
while ($rs->next()) {
if ($rs) {
$row = $rs->getRow();
$sum_total_brutto += $row[1];
$sum_total_order += 1;
$date = explode(" ", $row[0]);
$date = $date[0];
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($date));
}
@$reports['campaign'][$campaign_id]['days'][$date]['day_total_brutto'] += $row[1];
@$reports['campaign'][$campaign_id]['days'][$date]['day_total_order'] += 1;
@$reports['campaign'][$campaign_id]['days'][$date]['orders_ids'] .= $row[2].",";
$order_ids .= $row[2].",";
}
}
$reports['campaign'][$campaign_id]['total_order'] = $sum_total_order;
$reports['campaign'][$campaign_id]['conversion'] = $sum_total_order;
$reports['campaign'][$campaign_id]['total_brutto'] = number_format($sum_total_brutto, 2, '.', '');
$reports['campaign'][$campaign_id]['order_ids'] = $order_ids;
if ($sum_total_order>0) {
$reports['campaign'][$campaign_id]['total_brutto_median'] = number_format(round($sum_total_brutto/$sum_total_order,'2'), 2, '.', '');
$reports['campaign'][$campaign_id]['ctr'] = round(($reports['campaign'][$campaign_id]['conversion']/$reports['campaign'][$campaign_id]['total_entering'])*100,'2');
} else {
$reports['campaign'][$campaign_id]['total_brutto_median'] = 0;
$reports['campaign'][$campaign_id]['ctr'] = 0;
}
if (isset($reports['campaign'][$campaign_id]['days'])) {
ksort($reports['campaign'][$campaign_id]['days']);
}
}
//dane dla wykresu
foreach ($reports['campaign'] as $key => $campaign) {
if (!isset($campaign['color'])) {
$campaign['color'] ="ccc";
}
$reports['chart']['campaign'][$reports['campaign'][$key]['name']]['color'] = $campaign['color'];
foreach ($campaign as $key2 => $days) {
if (is_array($days) || is_object($days)) {
foreach ($days as $day) {
$reports['chart']['campaign'][$reports['campaign'][$key]['name']]['entering'][] = $day['entering'];
$reports['chart']['campaign'][$reports['campaign'][$key]['name']]['count'][] = $day['day_total_order'];
$reports['chart']['campaign'][$reports['campaign'][$key]['name']]['amount'][] = number_format($day['day_total_brutto'], 2, '.', '');
}
}
}
}
// die();
// echo "";
// print_r($reports);
// echo "";
return $reports;
}
/*
Raport wejść kampanii
*/
public static function getReportsCampaignEnteringValue($filters)
{
$total_netto = 0;
$total_brutto = 0;
$total_count = 0;
$from_date = $filters['from_date'];
$to_date = $filters['to_date'];
$campaign_1 = $filters['platform_campaign_1'];
$campaign_2 = $filters['platform_campaign_2'];
$reports = array();
$chartDisplayType = appAdsTracker::chartDisplayType($from_date, $to_date);
// print_r($platforms);
// die();
$reports = array();
if ($chartDisplayType=="day") {
//dla dni
$range = appAdsTracker::createDaysRangeArray($from_date,$to_date);
}
if ($chartDisplayType=="month") {
// dla miesięcy
$range = appAdsTracker::createMonthsRangeArray($from_date,$to_date);
}
// dla tygodni
//$range = appAdsTracker::createWeekRangeArray($from_date,$to_date);
$culture = sfContext::getInstance()->getUser()->getCulture();
// ustawienie wyglądu daty dla zakresu
if (count($range["view"])>25) {
foreach ($range["view"] as $value) {
$chart_labels[] = $value;
}
} else {
foreach ($range["data"] as $value) {
if ($chartDisplayType=="day") {
$chart_labels[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$chart_labels[] = date('m-Y', strtotime($value));
}
}
}
$reports['chart']['labels'] =$chart_labels;
foreach ($range["data"] as $value) {
if ($chartDisplayType=="day") {
$chart_dates[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$chart_dates[] = date('m-Y', strtotime($value));
}
}
$reports['chart']['dates'] = $chart_dates;
/* echo "";
print_r($reports);
echo "";
die();*/
if (isset($campaign_1)) {
$camp_1 = explode("_", $campaign_1);
$camp_1 = $camp_1[1];
$c = new Criteria();
$c->add(AdsTrackerCampaignPeer::ID, $camp_1);
$object_campaign_1 = AdsTrackerCampaignPeer::doSelectOne($c);
if ($object_campaign_1) {
$label = $object_campaign_1->getAdsTrackerPlatform()->getAdsName()." - ".$object_campaign_1->getAdsName();
$campaign_array[$label] = $camp_1;
}
foreach ($range["data"] as $value) {
// $date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j/Y', strtotime($value));
if ($chartDisplayType=="day") {
$date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($value));
$value = $date;
}
$reports['campaign'][$camp_1]['days'][$value]['date'] = $date;
$reports['campaign'][$camp_1]['days'][$value]['entering'] = 0;
$reports['campaign'][$camp_1]['days'][$value]['day_total_brutto'] = 0;
$reports['campaign'][$camp_1]['days'][$value]['day_total_order'] = 0;
}
}
if (isset($campaign_2) && $campaign_2!="none") {
$camp_2 = explode("_", $campaign_2);
$camp_2 = $camp_2[1];
$c = new Criteria();
$c->add(AdsTrackerCampaignPeer::ID, $camp_2);
$object_campaign_2 = AdsTrackerCampaignPeer::doSelectOne($c);
if ($object_campaign_2) {
$label = $object_campaign_2->getAdsTrackerPlatform()->getAdsName()." - ".$object_campaign_2->getAdsName();
$campaign_array[$label] = $camp_2;
}
foreach ($range["data"] as $value) {
// $date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j/Y', strtotime($value));
if ($chartDisplayType=="day") {
$date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($value));
$value = $date;
}
$reports['campaign'][$camp_2]['days'][$value]['date'] = $date;
$reports['campaign'][$camp_2]['days'][$value]['entering'] = 0;
$reports['campaign'][$camp_2]['days'][$value]['day_total_brutto'] = 0;
$reports['campaign'][$camp_2]['days'][$value]['day_total_order'] = 0;
}
}
/*echo "";
print_r($reports);
echo "";
die();*/
foreach ($campaign_array as $campaign_label => $campaign_id) {
$c = new Criteria();
$c->add(AdsTrackerCampaignPeer::ID, $campaign_id);
$c->addJoin(AdsTrackerCampaignPeer::ID, AdsTrackerListPeer::APP_ADS_TRACKER_CAMPAIGN_ID);
$c->addJoin(AdsTrackerListPeer::ID, AdsTrackerEnteringPeer::APP_ADS_TRACKER_LIST_ID);
$c->addSelectColumn(AdsTrackerCampaignPeer::ADS_NAME);
$c->addSelectColumn(AdsTrackerEnteringPeer::CREATED_AT);
$c->addSelectColumn(AdsTrackerEnteringPeer::ADS_ENTERING);
$c->addSelectColumn(AdsTrackerCampaignPeer::COLOR);
$criterion = $c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
if ($chartDisplayType=="month") {
// dla miesięcy
$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerEnteringPeer::CREATED_AT));
}
$rs = AdsTrackerPlatformPeer::doSelectRS($c);
$sum = 0;
$reports['campaign'][$campaign_id]['name'] = $campaign_label;
$reports['campaign'][$campaign_id]['total_entering'] = 0;
while ($rs->next()) {
if ($rs) {
$row = $rs->getRow();
$sum += $row[2];
$reports['campaign'][$campaign_id]['total_entering'] = $sum;
$date = explode(" ", $row[1]);
$date = $date[0];
if ($chartDisplayType=="day") {
$reports['campaign'][$campaign_id]['days'][$date]['entering'] += $row[2];
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($date));
$reports['campaign'][$campaign_id]['days'][$date]['entering'] += $row[2];
}
$reports['campaign'][$campaign_id]['color'] = $row[3];
}
}
if (isset($reports['campaign'][$campaign_id]['days'])) {
ksort($reports['campaign'][$campaign_id]['days']);
}
}
foreach ($campaign_array as $campaign_label => $campaign_id) {
$c = new Criteria();
$c->add(AdsTrackerOrderPeer::APP_ADS_TRACKER_CAMPAIGN_ID, $campaign_id);
$c->addSelectColumn(AdsTrackerOrderPeer::CREATED_AT);
$c->addSelectColumn(AdsTrackerOrderPeer::ORDER_COST_BRUTTO);
$c->addSelectColumn(AdsTrackerOrderPeer::ORDER_ID);
$criterion = $c->getNewCriterion(AdsTrackerOrderPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerOrderPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
if ($chartDisplayType=="month") {
// dla miesięcy
$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerOrderPeer::CREATED_AT));
}
$rs = AdsTrackerOrderPeer::doSelectRS($c);
$sum_total_brutto = 0;
$sum_total_order = 0;
$order_ids = "";
while ($rs->next()) {
if ($rs) {
$row = $rs->getRow();
$sum_total_brutto += $row[1];
$sum_total_order += 1;
$date = explode(" ", $row[0]);
$date = $date[0];
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($date));
}
@$reports['campaign'][$campaign_id]['days'][$date]['day_total_brutto'] += $row[1];
@$reports['campaign'][$campaign_id]['days'][$date]['day_total_order'] += 1;
@$reports['campaign'][$campaign_id]['days'][$date]['orders_ids'] .= $row[2].",";
$order_ids .= $row[2].",";
}
}
$reports['campaign'][$campaign_id]['total_order'] = $sum_total_order;
$reports['campaign'][$campaign_id]['conversion'] = $sum_total_order;
$reports['campaign'][$campaign_id]['total_brutto'] = number_format($sum_total_brutto, 2, '.', '');
$reports['campaign'][$campaign_id]['order_ids'] = $order_ids;
if ($sum_total_order>0) {
$reports['campaign'][$campaign_id]['total_brutto_median'] = number_format(round($sum_total_brutto/$sum_total_order,'2'), 2, '.', '');
$reports['campaign'][$campaign_id]['ctr'] = round(($reports['campaign'][$campaign_id]['conversion']/$reports['campaign'][$campaign_id]['total_entering'])*100,'2');
} else {
$reports['campaign'][$campaign_id]['total_brutto_median'] = 0;
$reports['campaign'][$campaign_id]['ctr'] = 0;
}
if (isset($reports['campaign'][$campaign_id]['days'])) {
ksort($reports['campaign'][$campaign_id]['days']);
}
}
//dane dla wykresu
foreach ($reports['campaign'] as $key => $campaign) {
if (!isset($campaign['color'])) {
$campaign['color'] ="ccc";
}
$reports['chart']['campaign'][$reports['campaign'][$key]['name']]['color'] = $campaign['color'];
foreach ($campaign as $key2 => $days) {
if (is_array($days) || is_object($days)) {
foreach ($days as $day) {
$reports['chart']['campaign'][$reports['campaign'][$key]['name']]['entering'][] = $day['entering'];
$reports['chart']['campaign'][$reports['campaign'][$key]['name']]['count'][] = $day['day_total_order'];
$reports['chart']['campaign'][$reports['campaign'][$key]['name']]['amount'][] = number_format($day['day_total_brutto'], 2, '.', '');
}
}
}
}
// die();
// echo "";
// print_r($reports);
// echo "";
return $reports;
}
/*
Raport platform
*/
public static function getReportsPlatformsValue($filters)
{
$total_netto = 0;
$total_brutto = 0;
$total_count = 0;
$from_date = $filters['from_date'];
$to_date = $filters['to_date'];
$platforms = $filters['platform'];
$chartDisplayType = appAdsTracker::chartDisplayType($from_date, $to_date);
// print_r($platforms);
// die();
$reports = array();
if ($chartDisplayType=="day") {
//dla dni
$range = appAdsTracker::createDaysRangeArray($from_date,$to_date);
}
if ($chartDisplayType=="month") {
// dla miesięcy
$range = appAdsTracker::createMonthsRangeArray($from_date,$to_date);
}
// dla tygodni
//$range = appAdsTracker::createWeekRangeArray($from_date,$to_date);
$culture = sfContext::getInstance()->getUser()->getCulture();
// ustawienie wyglądu daty dla zakresu
if (count($range["view"])>25) {
foreach ($range["view"] as $value) {
$chart_labels[] = $value;
}
} else {
foreach ($range["data"] as $value) {
if ($chartDisplayType=="day") {
$chart_labels[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$chart_labels[] = date('m-Y', strtotime($value));
}
}
}
$reports['chart']['labels'] =$chart_labels;
foreach ($range["data"] as $value) {
if ($chartDisplayType=="day") {
$chart_dates[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$chart_dates[] = date('m-Y', strtotime($value));
}
}
$reports['chart']['dates'] = $chart_dates;
foreach ($platforms as $platform_label => $platform_id) {
foreach ($range["data"] as $value) {
$date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j/Y', strtotime($value));
if ($chartDisplayType=="day") {
$date = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($value));
$value = $date;
}
$reports['platform'][$platform_id]['days'][$value]['date'] = $date;
$reports['platform'][$platform_id]['days'][$value]['entering'] = 0;
$reports['platform'][$platform_id]['days'][$value]['day_total_brutto'] = 0;
$reports['platform'][$platform_id]['days'][$value]['day_total_order'] = 0;
}
}
/*echo "";
print_r($reports);
echo "";
die();*/
foreach ($platforms as $platform_label => $platform_id) {
$c = new Criteria();
$c->add(AdsTrackerPlatformPeer::ID, $platform_id);
$c->addJoin(AdsTrackerPlatformPeer::ID, AdsTrackerListPeer::APP_ADS_TRACKER_PLATFORM_ID);
$c->addJoin(AdsTrackerListPeer::ID, AdsTrackerEnteringPeer::APP_ADS_TRACKER_LIST_ID);
$c->addSelectColumn(AdsTrackerPlatformPeer::ADS_NAME);
$c->addSelectColumn(AdsTrackerEnteringPeer::CREATED_AT);
$c->addSelectColumn(AdsTrackerEnteringPeer::ADS_ENTERING);
$c->addSelectColumn(AdsTrackerPlatformPeer::COLOR);
$criterion = $c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
// dla tygodni
//$c->addGroupByColumn(sprintf('WEEK(%s)', AdsTrackerEnteringPeer::CREATED_AT));
//$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerEnteringPeer::CREATED_AT));
if ($chartDisplayType=="month") {
// dla miesięcy
$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerEnteringPeer::CREATED_AT));
}
$rs = AdsTrackerPlatformPeer::doSelectRS($c);
$sum = 0;
$reports['platform'][$platform_id]['name'] = $platform_label;
$reports['platform'][$platform_id]['total_entering'] = 0;
while ($rs->next()) {
if ($rs) {
$row = $rs->getRow();
$sum += $row[2];
$reports['platform'][$platform_id]['total_entering'] = $sum;
$date = explode(" ", $row[1]);
$date = $date[0];
if ($chartDisplayType=="day") {
$reports['platform'][$platform_id]['days'][$date]['entering'] += $row[2];
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($date));
$reports['platform'][$platform_id]['days'][$date]['entering'] += $row[2];
}
$reports['platform'][$platform_id]['color'] = $row[3];
}
}
if (isset($reports['platform'][$platform_id]['days'])) {
ksort($reports['platform'][$platform_id]['days']);
}
}
/* echo "";
print_r($reports);
echo "";
die();*/
foreach ($platforms as $platform_label => $platform_id) {
$c = new Criteria();
$c->add(AdsTrackerOrderPeer::APP_ADS_TRACKER_PLATFORM_ID, $platform_id);
$c->addSelectColumn(AdsTrackerOrderPeer::CREATED_AT);
$c->addSelectColumn(AdsTrackerOrderPeer::ORDER_COST_BRUTTO);
$c->addSelectColumn(AdsTrackerOrderPeer::ORDER_ID);
$criterion = $c->getNewCriterion(AdsTrackerOrderPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerOrderPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
if ($chartDisplayType=="month") {
// dla miesięcy
$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerOrderPeer::CREATED_AT));
}
$rs = AdsTrackerOrderPeer::doSelectRS($c);
$sum_total_brutto = 0;
$sum_total_order = 0;
$order_ids = "";
while ($rs->next()) {
if ($rs) {
$row = $rs->getRow();
$sum_total_brutto += $row[1];
$sum_total_order += 1;
$date = explode(" ", $row[0]);
$date = $date[0];
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($date));
}
@$reports['platform'][$platform_id]['days'][$date]['day_total_brutto'] += $row[1];
@$reports['platform'][$platform_id]['days'][$date]['day_total_order'] += 1;
@$reports['platform'][$platform_id]['days'][$date]['orders_ids'] .= $row[2].",";
$order_ids .= $row[2].",";
}
}
$reports['platform'][$platform_id]['total_order'] = $sum_total_order;
$reports['platform'][$platform_id]['conversion'] = $sum_total_order;
$reports['platform'][$platform_id]['total_brutto'] = number_format($sum_total_brutto, 2, '.', '');
$reports['platform'][$platform_id]['order_ids'] = $order_ids;
if ($sum_total_order>0) {
$reports['platform'][$platform_id]['total_brutto_median'] = number_format(round($sum_total_brutto/$sum_total_order,'2'), 2, '.', '');
$reports['platform'][$platform_id]['ctr'] = round(($reports['platform'][$platform_id]['conversion']/$reports['platform'][$platform_id]['total_entering'])*100,'2');
} else {
$reports['platform'][$platform_id]['total_brutto_median'] = 0;
$reports['platform'][$platform_id]['ctr'] = 0;
}
if (isset($reports['platform'][$platform_id]['days'])) {
ksort($reports['platform'][$platform_id]['days']);
}
}
//dane dla wykresu
foreach ($reports['platform'] as $key => $platform) {
if (!isset($platform['color'])) {
$platform['color'] ="ccc";
}
$reports['chart']['platform'][$reports['platform'][$key]['name']]['color'] = $platform['color'];
foreach ($platform as $key2 => $days) {
if (is_array($days) || is_object($days)) {
foreach ($days as $day) {
$reports['chart']['platform'][$reports['platform'][$key]['name']]['entering'][] = $day['entering'];
$reports['chart']['platform'][$reports['platform'][$key]['name']]['count'][] = $day['day_total_order'];
$reports['chart']['platform'][$reports['platform'][$key]['name']]['amount'][] = number_format($day['day_total_brutto'], 2, '.', '');
}
}
}
}
// die();
/*echo "";
print_r($reports);
echo "";
echo $from_date;
echo $to_date;*/
return $reports;
}
/*
Raport wejść platform
*/
public static function getReportsPlatformEnteringValue($filters)
{
$total_netto = 0;
$total_brutto = 0;
$total_count = 0;
$from_date = $filters['from_date'];
$to_date = $filters['to_date'];
$platforms = $filters['platform'];
$chartDisplayType = appAdsTracker::chartDisplayType($from_date, $to_date);
// print_r($platforms);
// die();
$reports = array();
if ($chartDisplayType=="day") {
//dla dni
$range = appAdsTracker::createDaysRangeArray($from_date,$to_date);
}
if ($chartDisplayType=="month") {
// dla miesięcy
$range = appAdsTracker::createMonthsRangeArray($from_date,$to_date);
}
// dla tygodni
//$range = appAdsTracker::createWeekRangeArray($from_date,$to_date);
$culture = sfContext::getInstance()->getUser()->getCulture();
// ustawienie wyglądu daty dla zakresu
if (count($range["view"])>25) {
foreach ($range["view"] as $value) {
$chart_labels[] = $value;
}
} else {
foreach ($range["data"] as $value) {
if ($chartDisplayType=="day") {
$chart_labels[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$chart_labels[] = date('m-Y', strtotime($value));
}
}
}
$reports['chart']['labels'] =$chart_labels;
foreach ($range["data"] as $value) {
if ($chartDisplayType=="day") {
$chart_dates[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$chart_dates[] = date('m-Y', strtotime($value));
}
}
$reports['chart']['dates'] = $chart_dates;
foreach ($platforms as $platform_label => $platform_id) {
foreach ($range["data"] as $value) {
$date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j/Y', strtotime($value));
if ($chartDisplayType=="day") {
$date = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($value));
$value = $date;
}
$reports['platform'][$platform_id]['days'][$value]['date'] = $date;
$reports['platform'][$platform_id]['days'][$value]['entering'] = 0;
$reports['platform'][$platform_id]['days'][$value]['day_total_brutto'] = 0;
$reports['platform'][$platform_id]['days'][$value]['day_total_order'] = 0;
}
}
/*echo "";
print_r($reports);
echo "";
die();*/
foreach ($platforms as $platform_label => $platform_id) {
$c = new Criteria();
$c->add(AdsTrackerPlatformPeer::ID, $platform_id);
$c->addJoin(AdsTrackerPlatformPeer::ID, AdsTrackerListPeer::APP_ADS_TRACKER_PLATFORM_ID);
$c->addJoin(AdsTrackerListPeer::ID, AdsTrackerEnteringPeer::APP_ADS_TRACKER_LIST_ID);
$c->addSelectColumn(AdsTrackerPlatformPeer::ADS_NAME);
$c->addSelectColumn(AdsTrackerEnteringPeer::CREATED_AT);
$c->addSelectColumn(AdsTrackerEnteringPeer::ADS_ENTERING);
$c->addSelectColumn(AdsTrackerPlatformPeer::COLOR);
$criterion = $c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
// dla tygodni
//$c->addGroupByColumn(sprintf('WEEK(%s)', AdsTrackerEnteringPeer::CREATED_AT));
//$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerEnteringPeer::CREATED_AT));
if ($chartDisplayType=="month") {
// dla miesięcy
$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerEnteringPeer::CREATED_AT));
}
$rs = AdsTrackerPlatformPeer::doSelectRS($c);
$sum = 0;
$reports['platform'][$platform_id]['name'] = $platform_label;
$reports['platform'][$platform_id]['total_entering'] = 0;
while ($rs->next()) {
if ($rs) {
$row = $rs->getRow();
$sum += $row[2];
$reports['platform'][$platform_id]['total_entering'] = $sum;
$date = explode(" ", $row[1]);
$date = $date[0];
if ($chartDisplayType=="day") {
$reports['platform'][$platform_id]['days'][$date]['entering'] += $row[2];
}
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($date));
$reports['platform'][$platform_id]['days'][$date]['entering'] += $row[2];
}
$reports['platform'][$platform_id]['color'] = $row[3];
}
}
if (isset($reports['platform'][$platform_id]['days'])) {
ksort($reports['platform'][$platform_id]['days']);
}
}
/* echo "";
print_r($reports);
echo "";
die();*/
foreach ($platforms as $platform_label => $platform_id) {
$c = new Criteria();
$c->add(AdsTrackerOrderPeer::APP_ADS_TRACKER_PLATFORM_ID, $platform_id);
$c->addSelectColumn(AdsTrackerOrderPeer::CREATED_AT);
$c->addSelectColumn(AdsTrackerOrderPeer::ORDER_COST_BRUTTO);
$c->addSelectColumn(AdsTrackerOrderPeer::ORDER_ID);
$criterion = $c->getNewCriterion(AdsTrackerOrderPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerOrderPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
if ($chartDisplayType=="month") {
// dla miesięcy
$c->addGroupByColumn(sprintf('MONTH(%s)', AdsTrackerOrderPeer::CREATED_AT));
}
$rs = AdsTrackerOrderPeer::doSelectRS($c);
$sum_total_brutto = 0;
$sum_total_order = 0;
$order_ids = "";
while ($rs->next()) {
if ($rs) {
$row = $rs->getRow();
$sum_total_brutto += $row[1];
$sum_total_order += 1;
$date = explode(" ", $row[0]);
$date = $date[0];
if ($chartDisplayType=="month") {
$date = date('m-Y', strtotime($date));
}
@$reports['platform'][$platform_id]['days'][$date]['day_total_brutto'] += $row[1];
@$reports['platform'][$platform_id]['days'][$date]['day_total_order'] += 1;
@$reports['platform'][$platform_id]['days'][$date]['orders_ids'] .= $row[2].",";
$order_ids .= $row[2].",";
}
}
$reports['platform'][$platform_id]['total_order'] = $sum_total_order;
$reports['platform'][$platform_id]['conversion'] = $sum_total_order;
$reports['platform'][$platform_id]['total_brutto'] = number_format($sum_total_brutto, 2, '.', '');
$reports['platform'][$platform_id]['order_ids'] = $order_ids;
if ($sum_total_order>0) {
$reports['platform'][$platform_id]['total_brutto_median'] = number_format(round($sum_total_brutto/$sum_total_order,'2'), 2, '.', '');
$reports['platform'][$platform_id]['ctr'] = round(($reports['platform'][$platform_id]['conversion']/$reports['platform'][$platform_id]['total_entering'])*100,'2');
} else {
$reports['platform'][$platform_id]['total_brutto_median'] = 0;
$reports['platform'][$platform_id]['ctr'] = 0;
}
if (isset($reports['platform'][$platform_id]['days'])) {
ksort($reports['platform'][$platform_id]['days']);
}
}
//dane dla wykresu
foreach ($reports['platform'] as $key => $platform) {
if (!isset($platform['color'])) {
$platform['color'] ="ccc";
}
$reports['chart']['platform'][$reports['platform'][$key]['name']]['color'] = $platform['color'];
foreach ($platform as $key2 => $days) {
if (is_array($days) || is_object($days)) {
foreach ($days as $day) {
$reports['chart']['platform'][$reports['platform'][$key]['name']]['entering'][] = $day['entering'];
$reports['chart']['platform'][$reports['platform'][$key]['name']]['count'][] = $day['day_total_order'];
$reports['chart']['platform'][$reports['platform'][$key]['name']]['amount'][] = number_format($day['day_total_brutto'], 2, '.', '');
}
}
}
}
// die();
/*echo "";
print_r($reports);
echo "";
echo $from_date;
echo $to_date;*/
return $reports;
}
/*
Raport reklamy
*/
public static function getReportsAdsInfoValue($filters)
{
$from_date = $filters['from_date'];
$to_date = $filters['to_date'];
$ads_id = $filters['ads_id'];
// echo $ads_id;
$c = new Criteria();
$c->add(AdsTrackerEnteringPeer::APP_ADS_TRACKER_LIST_ID, $ads_id);
$criterion = $c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
$criterion->addAnd($c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
$c->add($criterion);
$ads_entering = AdsTrackerEnteringPeer::doSelect($c);
//print_r($ads_entering);
$reports = array();
$range = appAdsTracker::createDaysRangeArray($from_date,$to_date);
$culture = sfContext::getInstance()->getUser()->getCulture();
// ustawienie wyglądu daty dla zakresu
if (count($range["view"])>25) {
foreach ($range["view"] as $value) {
$chart_labels[] = $value;
}
} else {
foreach ($range["data"] as $value) {
$chart_labels[] = $culture == 'pl_PL' ? date('d-m', strtotime($value)) : date('n/j', strtotime($value));
}
}
$reports['chart']['labels'] = $chart_labels;
foreach ($range["data"] as $value) {
$date = $culture == 'pl_PL' ? date('d-m-Y', strtotime($value)) : date('n/j/Y', strtotime($value));
$chart_dates[] = $date;
$reports['chart']['ads'][$ads_id]['entering'][$value] = 0;
}
$reports['chart']['dates'] = $chart_dates;
if ($ads_entering) {
foreach ($ads_entering as $ads) {
$reports['chart']['ads'][$ads_id]['label'] = $ads->getAdsTrackerList()->getAdsTrackerPlatform()->getAdsName()." - ".$ads->getAdsTrackerList()->getAdsTrackerCampaign()->getAdsName();
$date = explode(" ", $ads->getCreatedAt());
$date = $date[0];
$reports['chart']['ads'][$ads_id]['entering'][$date] = $ads->getAdsEntering();
@$reports['chart']['ads'][$ads_id]['total'] += $ads->getAdsEntering();
}
} else {
if (!$ads_id) {
$c = new Criteria();
$c->add(AdsTrackerListPeer::ID, $ads_id);
$ads = AdsTrackerEnteringPeer::doSelectOne($c);
// $reports['chart']['ads'][$ads_id]['label'] = $ads->getAdsTrackerList()->getAdsTrackerPlatform()->getAdsName()." - ".$ads->getAdsTrackerList()->getAdsTrackerCampaign()->getAdsName();
}
}
return $reports;
}
/* Zwraca rodzaj prezentowanego wykresu w zależności od zakresu dat */
public static function chartDisplayType($from_date, $to_date)
{
$range = appAdsTracker::createDaysRangeArray($from_date,$to_date);
if (count($range['data']) <=61 ) {
$display_type = "day";
}elseif (count($range['data']) >=62 ) {
$display_type = "month";
}else{
$display_type = "none";
}
return $display_type;
}
/* Zwraca dane z podziałem na dni*/
public static function createDaysRangeArray($strDateFrom, $strDateTo)
{
$aryRange=array();
$aryRangeView=array();
$aryRangeData=array();
$iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2),substr($strDateFrom,8,2),substr($strDateFrom,0,4));
$iDateTo=mktime(1,0,0,substr($strDateTo,5,2),substr($strDateTo,8,2),substr($strDateTo,0,4));
if ($iDateTo>=$iDateFrom) {
array_push($aryRangeView,date('d',$iDateFrom)); // first entry
array_push($aryRangeData,date('Y-m-d',$iDateFrom)); // first entry
while ($iDateFrom <= $iDateTo - 86400) {
$iDateFrom+=86400; // add 24 hours
array_push($aryRangeView,date('d',$iDateFrom));
array_push($aryRangeData,date('Y-m-d',$iDateFrom));
}
}
$aryRange['view'] = $aryRangeView;
$aryRange['data'] = $aryRangeData;
return $aryRange;
}
/* Zwraca dane z podziałem na tygodnie*/
public static function createWeekRangeArray($date1, $date2)
{
$start = new DateTime($date1);
$start->modify('first day of this week');
$end = new DateTime($date2);
$interval = DateInterval::createFromDateString('1 week');
$period = new DatePeriod($start, $interval, $end);
$aryRange=array();
$aryRangeView=array();
$aryRangeData=array();
$culture = sfContext::getInstance()->getUser()->getCulture();
foreach ($period as $dt) {
array_push($aryRangeView, $culture == 'pl_PL' ? $dt->format("d-m-Y") : $dt->format("j/Y"));
array_push($aryRangeData,$dt->format("Y-m-d"));
}
$aryRange['view'] = $aryRangeView;
$aryRange['data'] = $aryRangeData;
return $aryRange;
}
/* Zwraca dane z podziałem na miesiąe*/
public static function createMonthsRangeArray($date1, $date2)
{
$start = new DateTime($date1);
$start->modify('first day of this month');
$end = new DateTime($date2);
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
$aryRange=array();
$aryRangeView=array();
$aryRangeData=array();
$culture = sfContext::getInstance()->getUser()->getCulture();
foreach ($period as $dt) {
array_push($aryRangeView, $culture == 'pl_PL' ? $dt->format("m-Y") : $dt->format("j/Y"));
array_push($aryRangeData,$dt->format("Y-m-d"));
}
$aryRange['view'] = $aryRangeView;
$aryRange['data'] = $aryRangeData;
return $aryRange;
}
public static function random_color_part()
{
return str_pad( dechex( mt_rand( 0, 255 ) ), 2, '0', STR_PAD_LEFT);
}
public static function random_color()
{
return appAdsTracker::random_color_part() . appAdsTracker::random_color_part() . appAdsTracker::random_color_part();
}
public static function getAdsEnteringValue($ads_id)
{
// echo $ads_id;
$c = new Criteria();
$c->add(AdsTrackerEnteringPeer::APP_ADS_TRACKER_LIST_ID, $ads_id);
// $criterion = $c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $from_date, Criteria::GREATER_EQUAL );
// $criterion->addAnd($c->getNewCriterion(AdsTrackerEnteringPeer::CREATED_AT , $to_date, Criteria::LESS_EQUAL ));
//
// $c->add($criterion);
$ads_entering = AdsTrackerEnteringPeer::doSelect($c);
if ($ads_entering) {
$sum = 0;
foreach ($ads_entering as $value) {
$sum += $value->getAdsEntering();
}
return $sum;
}
return 0;
}
/* zwraca pełną nazwę raklamy w formacie platforma / kampania - grupa nazwa
appAdsTracker::getFullAdsName($ads_id)
*
*/
public static function getFullAdsName($ads_id)
{
// echo $ads_id;
$c = new Criteria();
$c->add(AdsTrackerListPeer::ID, $ads_id);
$ads = AdsTrackerListPeer::doSelectOne($c);
if ($ads) {
$name = "";
$group = "";
if ($ads->getAdsName()!="") {
$name = " / ".$ads->getAdsName();
}
// if($ads->getAdsGroup()!=""){
// $group = " / ".$ads->getAdsGroup();
// }
// $fullname = $ads->getId()." / ".$ads->getAdsTrackerPlatform()->getAdsName()." - ".$ads->getAdsTrackerCampaign()->getAdsName().$group.$name;
$fullname = $ads->getId()." / ".$ads->getAdsTrackerPlatform()->getAdsName()." - ".$ads->getAdsTrackerCampaign()->getAdsName().$name;
return $fullname;
} else {
return false;
}
}
/* Sprawdza czy nie jest to adres wykluczony
appAdsTracker::getIsExcludeRemoteAddress();
*
*/
public static function getIsExcludeRemoteAddress()
{
$config = stConfig::getInstance(sfContext::getInstance(), 'appAdsTrackerBackend');
$config->setCulture(sfContext::getInstance()->getUser()->getCulture());
if ($config->get('exclude_remote_address')!="") {
$exclude_remote_address = explode(",", $config->get('exclude_remote_address'));
if (in_array($_SERVER['REMOTE_ADDR'], $exclude_remote_address)) {
return true;
}
}
return false;
}
/* Informacja o aktywności
appAdsTracker::getIsAdsTrackerActive();
*
*/
public static function getIsAdsTrackerActive()
{
$config = stConfig::getInstance(sfContext::getInstance(), 'appAdsTrackerBackend');
$config->setCulture(sfContext::getInstance()->getUser()->getCulture());
if ($config->get('is_active')==1) {
return true;
}
return false;
}
/* Informacja o aktywności
appAdsTracker::getIsAdsSytemDefault();
*
*/
public static function getIsAdsSytemDefault($ads_id)
{
$c = new Criteria();
$c->add(AdsTrackerListPeer::ID, $ads_id);
$ads = AdsTrackerListPeer::doSelectOne($c);
if ($ads) {
if ($ads->getIsSystemDefault()==1) {
return true;
}
}
return false;
}
public static function getIsCampaignSytemDefault($campaign_id)
{
$c = new Criteria();
$c->add(AdsTrackerCampaignPeer::ID, $campaign_id);
$campaign = AdsTrackerCampaignPeer::doSelectOne($c);
if ($campaign) {
if ($campaign->getIsSystemDefault()==1) {
return true;
}
}
return false;
}
/* Informacja o aktywności
appAdsTracker::langFilter();
*
*/
public static function langFilter($string)
{
$lang = sfContext::getInstance()->getUser()->getCulture();
$string = str_replace("Wejście bezpośrednie - Wejście bezpośrednie", "Wejście bezpośrednie", $string);
$string = str_replace("Wejścia bezpośrednie - Wejścia bezpośrednie", "Wejścia bezpośrednie", $string);
if ($lang == "en_US") {
$string = str_replace("Wejście bezpośrednie", "Direct entrance", $string);
$string = str_replace("Wejścia bezpośrednie", "Direct entrance", $string);
}
return $string;
}
/* Informacja o aktywności
appAdsTracker::checkCompare();
*
*/
public static function checkCompare($compare, $swich)
{
if ($swich==1) {
$config = stConfig::getInstance(sfContext::getInstance(), 'appAdsTrackerBackend');
if ($config->get('is_active')!=1) {
$config->set('is_active',1);
$config->save();
stTheme::clearSmartyCache(true);
}
if ($compare == "googleshopping" ) {
$c = new Criteria();
$c->add(AdsTrackerPlatformPeer::PLATFORM_TYPE, 5);
$c->add(AdsTrackerPlatformPeer::IS_SYSTEM_DEFAULT, 1);
$AdsTrackerPlatform = AdsTrackerPlatformPeer::doSelectOne($c);
}elseif($compare == "facebook" ){
$c = new Criteria();
$c->add(AdsTrackerPlatformPeer::PLATFORM_TYPE, 6);
$c->add(AdsTrackerPlatformPeer::IS_SYSTEM_DEFAULT, 1);
$AdsTrackerPlatform = AdsTrackerPlatformPeer::doSelectOne($c);
} else {
$c = new Criteria();
$c->add(AdsTrackerPlatformPeer::PLATFORM_TYPE, 4);
$c->add(AdsTrackerPlatformPeer::IS_SYSTEM_DEFAULT, 1);
$AdsTrackerPlatform = AdsTrackerPlatformPeer::doSelectOne($c);
if (!$AdsTrackerPlatform) {
$AdsTrackerPlatform = new AdsTrackerPlatform();
$AdsTrackerPlatform->setIsActive(1);
$AdsTrackerPlatform->setAdsName("Porównywarki");
$AdsTrackerPlatform->setPlatformType(4);
$AdsTrackerPlatform->setDescription("Wejścia z porównywarek");
$AdsTrackerPlatform->setIsSystemDefault(1);
$AdsTrackerPlatform->setColor("d08770");
$AdsTrackerPlatform->save();
}
}
$c = new Criteria();
$c->add(AdsTrackerListPeer::PLUGIN_NAME, $compare);
$AdsTrackerList = AdsTrackerListPeer::doSelectOne($c);
if (!$AdsTrackerList) {
$ads_name = ucfirst($compare);
if ($compare == "googleshopping" ) {
$ads_name = "Google Shopping";
}
$AdsTrackerCampaign = new AdsTrackerCampaign();
$AdsTrackerCampaign->setAppAdsTrackerPlatformId($AdsTrackerPlatform->getId());
$AdsTrackerCampaign->setAdsName($ads_name);
$AdsTrackerCampaign->setIsActive(1);
$AdsTrackerCampaign->setColor("ff6b00");
$AdsTrackerCampaign->save();
$hash = md5(date('YmdHis'));
$AdsTrackerList = new AdsTrackerList();
$AdsTrackerList->setIsActive(1);
$AdsTrackerList->setAppAdsTrackerPlatformId($AdsTrackerPlatform->getId());
$AdsTrackerList->setAppAdsTrackerCampaignId($AdsTrackerCampaign->getId());
$AdsTrackerList->setAdsName($ads_name);
$AdsTrackerList->setHash($hash);
$AdsTrackerList->setUrlHash("?hash=".$hash);
$AdsTrackerList->setIsSystemDefault(1);
$AdsTrackerList->setIsPlugin(1);
$AdsTrackerList->setPluginName($compare);
$AdsTrackerList->save();
}else{
$AdsTrackerList->setIsActive(1);
$AdsTrackerList->save();
}
} else {
$c = new Criteria();
$c->add(AdsTrackerListPeer::PLUGIN_NAME, $compare);
$AdsTrackerList = AdsTrackerListPeer::doSelectOne($c);
if ($AdsTrackerList) {
$AdsTrackerList->setIsActive(0);
$AdsTrackerList->save();
}
}
}
}