getRequestParameter('ads_tracker_list'); $this->ads_tracker_list->setIsActive(isset($ads_tracker_list['is_active']) ? $ads_tracker_list['is_active'] : 0); if (isset($ads_tracker_list['platform_campaign'])) { $platform_campaign = explode("_", $ads_tracker_list['platform_campaign']); $platform = $platform_campaign[0]; $campaign = $platform_campaign[1]; $this->ads_tracker_list->setAppAdsTrackerPlatformId($platform); $this->ads_tracker_list->setAppAdsTrackerCampaignId($campaign); } if (isset($ads_tracker_list['ads_group'])) { $this->ads_tracker_list->setAdsGroup($ads_tracker_list['ads_group']); } if (isset($ads_tracker_list['ads_name'])) { $this->ads_tracker_list->setAdsName($ads_tracker_list['ads_name']); } if (isset($ads_tracker_list['url']) && $this->ads_tracker_list->isNew()) { $this->ads_tracker_list->setUrl($ads_tracker_list['url']); $hash = md5(date('YmdHis').$ads_tracker_list['url'].$ads_tracker_list['platform_campaign']); $this->ads_tracker_list->setHash($hash); $this->ads_tracker_list->setUrlHash($ads_tracker_list['url']."?hash=".$hash); }else{ $hash = $this->ads_tracker_list->getHash(); $this->ads_tracker_list->setUrl($ads_tracker_list['url']); $this->ads_tracker_list->setUrlHash($ads_tracker_list['url']."?hash=".$hash); } $this->getDispatcher()->notify(new sfEvent($this, 'autoAppAdsTrackerBackendActions.postUpdateFromRequest', array('modelInstance' => $this->ads_tracker_list, 'requestParameters' => $ads_tracker_list))); stTheme::clearSmartyCache(true); } protected function getFiltersPlatform() { $filters = $this->getRequestParameter('filters', $this->getDefaultFiltersPlatform()); if($filters['period']=="custom"){ if ($this->getRequest()->hasParameter('filters') && isset($filters['from_date'])) { $filters['from_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['from_date'], $this->getUser()->getCulture()))." 00:00:00"; } if ($this->getRequest()->hasParameter('filters') && isset($filters['to_date'])) { $filters['to_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['to_date'], $this->getUser()->getCulture()))." 23:59:59"; } }else{ $periods_array = $this->getDateFromPeriods($filters['period']); $filters['from_date'] = $periods_array['from']." 00:00:00"; $filters['to_date'] = $periods_array['to']." 23:59:59"; } foreach ($filters['platform'] as $platform_label => $platform_id) { $filters['platform'][$platform_label] = $platform_id; } if ($this->getRequest()->hasParameter('filters')) { $config = stConfig::getInstance('appAdsTrackerBackend'); $config->set('platform_default_view', json_encode($filters['platform'])); $config->set('platform_default_period', $filters['period']); if($filters['period']=="custom"){ $custom['from_date'] = $filters['from_date']; $custom['to_date'] = $filters['to_date']; $config->set('platform_default_period_custom', json_encode($custom)); } $config->save(); } return $filters; } protected function getFiltersCampaign() { $filters = $this->getRequestParameter('filters', $this->getDefaultFiltersCampaign()); if($filters['period']=="custom"){ if ($this->getRequest()->hasParameter('filters') && isset($filters['from_date'])) { $filters['from_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['from_date'], $this->getUser()->getCulture()))." 00:00:00"; } if ($this->getRequest()->hasParameter('filters') && isset($filters['to_date'])) { $filters['to_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['to_date'], $this->getUser()->getCulture()))." 23:59:59"; } }else{ $periods_array = $this->getDateFromPeriods($filters['period']); $filters['from_date'] = $periods_array['from']." 00:00:00"; $filters['to_date'] = $periods_array['to']." 23:59:59"; } if ($this->getRequest()->hasParameter('filters')) { $config = stConfig::getInstance('appAdsTrackerBackend'); $config->set('campaign_default_view_1', $filters['platform_campaign_1']); $config->set('campaign_default_view_2', $filters['platform_campaign_2']); $config->set('campaign_default_period', $filters['period']); if($filters['period']=="custom"){ $custom['from_date'] = $filters['from_date']; $custom['to_date'] = $filters['to_date']; $config->set('campaign_default_period_custom', json_encode($custom)); } $config->save(); } return $filters; } protected function getFiltersCampaignEntering() { $filters = $this->getRequestParameter('filters', $this->getDefaultFiltersCampaignEntering()); if ($filters['period']=="custom") { if ($this->getRequest()->hasParameter('filters') && isset($filters['from_date'])) { $filters['from_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['from_date'], $this->getUser()->getCulture()))." 00:00:00"; } if ($this->getRequest()->hasParameter('filters') && isset($filters['to_date'])) { $filters['to_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['to_date'], $this->getUser()->getCulture()))." 23:59:59"; } } else { $periods_array = $this->getDateFromPeriods($filters['period']); $filters['from_date'] = $periods_array['from']." 00:00:00"; $filters['to_date'] = $periods_array['to']." 23:59:59"; } if ($this->getRequest()->hasParameter('filters')) { $config = stConfig::getInstance('appAdsTrackerBackend'); $config->set('campaign_entering_default_view_1', $filters['platform_campaign_1']); $config->set('campaign_entering_default_view_2', $filters['platform_campaign_2']); $config->set('campaign_entering_default_period', $filters['period']); if ($filters['period']=="custom") { $custom['from_date'] = $filters['from_date']; $custom['to_date'] = $filters['to_date']; $config->set('campaign_entering_default_period_custom', json_encode($custom)); } $config->save(); } return $filters; } protected function getDefaultFiltersCampaignEntering() { $config = stConfig::getInstance($this->getContext(), 'appAdsTrackerBackend'); $filters_platform_campaign_1 = $config->get('campaign_entering_default_view_1'); $filters_platform_campaign_2 = $config->get('campaign_entering_default_view_2'); $filters_period = $config->get('campaign_entering_default_period'); $filters_period_custom = json_decode($config->get('campaign_entering_default_period_custom'), true); if (!$filters_platform_campaign_1) { $c = new Criteria(); $c->add(AdsTrackerPlatformPeer::IS_ACTIVE, 1); $c->add(AdsTrackerPlatformPeer::IS_SYSTEM_DEFAULT, 1); $platform = AdsTrackerPlatformPeer::doSelectOne($c); $c = new Criteria(); $c->add(AdsTrackerCampaignPeer::IS_ACTIVE, 1); $c->add(AdsTrackerCampaignPeer::IS_SYSTEM_DEFAULT, 1); $campaign = AdsTrackerCampaignPeer::doSelectOne($c); $filters_platform_campaign_1 = $platform->getId()."_".$campaign->getId(); } if ($filters_period!="") { if ($filters_period=="custom") { $default_date_from = $filters_period_custom['from_date']; $default_date_to = $filters_period_custom['to_date']; } else { $periods_array = $this->getDateFromPeriods($filters_period); $default_date_from = $periods_array['from']." 00:00:00"; $default_date_to = $periods_array['to']." 23:59:59"; } } return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'platform_campaign_1'=>$filters_platform_campaign_1, 'platform_campaign_2'=>$filters_platform_campaign_2, 'period'=>$filters_period); } protected function getFiltersInfo() { $filters = $this->getRequestParameter('filters', $this->getDefaultFiltersInfo()); //$filters = $this->getRequestParameter('filters'); if($filters['period']=="custom"){ if ($this->getRequest()->hasParameter('filters') && isset($filters['from_date'])) { $filters['from_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['from_date'], $this->getUser()->getCulture()))." 00:00:00"; } if ($this->getRequest()->hasParameter('filters') && isset($filters['to_date'])) { $filters['to_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['to_date'], $this->getUser()->getCulture()))." 23:59:59"; } }else{ $periods_array = $this->getDateFromPeriods($filters['period']); $filters['from_date'] = $periods_array['from']." 00:00:00"; $filters['to_date'] = $periods_array['to']." 23:59:59"; } if ($this->getRequest()->hasParameter('filters')) { $config = stConfig::getInstance('appAdsTrackerBackend'); $config->set('info_default_view', $filters['ads_id']); $config->set('info_default_period', $filters['period']); if($filters['period']=="custom"){ $custom['from_date'] = $filters['from_date']; $custom['to_date'] = $filters['to_date']; $config->set('info_default_period_custom', json_encode($custom)); } $config->save(); } return $filters; } protected function getFiltersPlatformEntering() { $filters = $this->getRequestParameter('filters', $this->getDefaultFiltersPlatformEntering()); if ($filters['period']=="custom") { if ($this->getRequest()->hasParameter('filters') && isset($filters['from_date'])) { $filters['from_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['from_date'], $this->getUser()->getCulture()))." 00:00:00"; } if ($this->getRequest()->hasParameter('filters') && isset($filters['to_date'])) { $filters['to_date'] = date("Y-m-d", sfI18N::getTimestampForCulture($filters['to_date'], $this->getUser()->getCulture()))." 23:59:59"; } } else { $periods_array = $this->getDateFromPeriods($filters['period']); $filters['from_date'] = $periods_array['from']." 00:00:00"; $filters['to_date'] = $periods_array['to']." 23:59:59"; } foreach ($filters['platform'] as $platform_label => $platform_id) { $filters['platform'][$platform_label] = $platform_id; } if ($this->getRequest()->hasParameter('filters')) { $config = stConfig::getInstance('appAdsTrackerBackend'); $config->set('platform_entering_default_view', json_encode($filters['platform'])); $config->set('platform_entering_default_period', $filters['period']); if ($filters['period']=="custom") { $custom['from_date'] = $filters['from_date']; $custom['to_date'] = $filters['to_date']; $config->set('platform_entering_default_period_custom', json_encode($custom)); } $config->save(); } return $filters; } protected function getDefaultFiltersPlatformEntering() { $config = stConfig::getInstance($this->getContext(), 'appAdsTrackerBackend'); $filters_platform = json_decode($config->get('platform_entering_default_view'),true); $filters_period = $config->get('platform_entering_default_period'); $filters_period_custom = json_decode($config->get('platform_entering_default_period_custom'),true); if ($filters_period!="") { if ($filters_period=="custom") { $default_date_from = $filters_period_custom['from_date']; $default_date_to = $filters_period_custom['to_date']; } else { $periods_array = $this->getDateFromPeriods($filters_period); $default_date_from = $periods_array['from']." 00:00:00"; $default_date_to = $periods_array['to']." 23:59:59"; } } if (is_array($filters_platform)) { return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'platform'=>$filters_platform, 'period'=>$filters_period ); } $c = new Criteria(); $c->add(AdsTrackerPlatformPeer::IS_ACTIVE, 1); $c->add(AdsTrackerPlatformPeer::IS_SYSTEM_DEFAULT, 1); $platform = AdsTrackerPlatformPeer::doSelectOne($c); if ($platform) { return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'platform'=>array($platform->getAdsName()=>$platform->getId()), 'period'=>$filters_period); } else { return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'period'=>$filters_period); } } protected function getDefaultFiltersPlatform() { $config = stConfig::getInstance($this->getContext(), 'appAdsTrackerBackend'); $filters_platform = json_decode($config->get('platform_default_view'),true); $filters_period = $config->get('platform_default_period'); $filters_period_custom = json_decode($config->get('platform_default_period_custom'),true); if($filters_period!=""){ if($filters_period=="custom"){ $default_date_from = $filters_period_custom['from_date']; $default_date_to = $filters_period_custom['to_date']; }else{ $periods_array = $this->getDateFromPeriods($filters_period); $default_date_from = $periods_array['from']." 00:00:00"; $default_date_to = $periods_array['to']." 23:59:59"; } } if(is_array($filters_platform)){ return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'platform'=>$filters_platform, 'period'=>$filters_period ); } $c = new Criteria(); $c->add(AdsTrackerPlatformPeer::IS_ACTIVE, 1); $c->add(AdsTrackerPlatformPeer::IS_SYSTEM_DEFAULT, 1); $platform = AdsTrackerPlatformPeer::doSelectOne($c); if($platform){ return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'platform'=>array($platform->getAdsName()=>$platform->getId()), 'period'=>$filters_period); }else{ return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'period'=>$filters_period); } } protected function getDefaultFiltersCampaign() { $config = stConfig::getInstance($this->getContext(), 'appAdsTrackerBackend'); $filters_platform_campaign_1 = $config->get('campaign_default_view_1'); $filters_platform_campaign_2 = $config->get('campaign_default_view_2'); $filters_period = $config->get('campaign_default_period'); $filters_period_custom = json_decode($config->get('campaign_default_period_custom'), true); if(!$filters_platform_campaign_1){ $c = new Criteria(); $c->add(AdsTrackerPlatformPeer::IS_ACTIVE, 1); $c->add(AdsTrackerPlatformPeer::IS_SYSTEM_DEFAULT, 1); $platform = AdsTrackerPlatformPeer::doSelectOne($c); $c = new Criteria(); $c->add(AdsTrackerCampaignPeer::IS_ACTIVE, 1); $c->add(AdsTrackerCampaignPeer::IS_SYSTEM_DEFAULT, 1); $campaign = AdsTrackerCampaignPeer::doSelectOne($c); $filters_platform_campaign_1 = $platform->getId()."_".$campaign->getId(); } if($filters_period!=""){ if($filters_period=="custom"){ $default_date_from = $filters_period_custom['from_date']; $default_date_to = $filters_period_custom['to_date']; }else{ $periods_array = $this->getDateFromPeriods($filters_period); $default_date_from = $periods_array['from']." 00:00:00"; $default_date_to = $periods_array['to']." 23:59:59"; } } return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'platform_campaign_1'=>$filters_platform_campaign_1, 'platform_campaign_2'=>$filters_platform_campaign_2, 'period'=>$filters_period); } protected function getDefaultFiltersInfo() { $config = stConfig::getInstance($this->getContext(), 'appAdsTrackerBackend'); $filters_ads = $config->get('info_default_view'); $filters_period = $config->get('info_default_period'); $filters_period_custom = json_decode($config->get('info_default_period_custom'), true); if($filters_period!=""){ if($filters_period=="custom"){ $default_date_from = $filters_period_custom['from_date']; $default_date_to = $filters_period_custom['to_date']; }else{ $default_date_from = $this->getDateFromPeriods($filters_period); @$default_date_from = $default_date_from." 00:00:00"; $default_date_to = date("Y-m-d")." 23:59:59"; } } if($filters_ads==""){ $filters_ads = $this->getRequestParameter('id'); } return array('from_date' => $default_date_from, 'to_date' => $default_date_to, 'ads_id'=>$filters_ads, 'period'=>$filters_period); } public function getPeriods() { $i18n = $this->getContext()->getI18N(); // Dzisiaj // Wczoraj // Ostatnie 7 dni // Ostatnie 14 dni // Ostatnie 30 dni // Ostatnie 90 dni // Bieżący miesiąc // Poprzedni miesiąc return array( 'today' => $i18n->__('Dzisiaj'), 'yesterday' => $i18n->__('Wczoraj'), '7day' => $i18n->__('Ostatnie 7 dni'), '14day' => $i18n->__('Ostatnie 14 dni'), '30day' => $i18n->__('Ostatnie 30 dni'), '90day' => $i18n->__('Ostatnie 90 dni'), 'month' => $i18n->__('Bieżący miesiąc'), 'monthbefore' => $i18n->__('Poprzedni miesiąc'), 'custom' => $i18n->__('Własny zakres') ); } public function getDateFromPeriods($period){ $date['from'] = ""; $date['to'] = ""; if($period=="today"){ $date['from'] = date("Y-m-d", strtotime('today')); $date['to'] = date("Y-m-d", strtotime('today')); } if($period=="yesterday"){ $date['from'] = date("Y-m-d", strtotime('yesterday')); $date['to'] = date("Y-m-d", strtotime('yesterday')); } if($period=="7day"){ $date['from'] = date("Y-m-d", strtotime('-7 day')); $date['to'] = date("Y-m-d", strtotime('-1 day')); } if($period=="14day"){ $date['from'] = date("Y-m-d", strtotime('-14 day')); $date['to'] = date("Y-m-d", strtotime('-1 day')); } if($period=="30day"){ $date['from'] = date("Y-m-d", strtotime('-30 day')); $date['to'] = date("Y-m-d", strtotime('-1 day')); } if($period=="90day"){ $date['from'] = date("Y-m-d", strtotime('-90 day')); $date['to'] = date("Y-m-d", strtotime('-1 day')); } if($period=="month"){ $date['from'] = date("Y-m-d", strtotime('first day of this month')); $date['to'] = date("Y-m-d", strtotime('today')); } if($period=="monthbefore"){ $date['from'] = date("Y-m-d", strtotime('first day of last month')); $date['to'] = date("Y-m-d", strtotime('last day of last month')); } if($period=="custom"){ } return $date; } public function getPlatforms() { //pobieranie platform $c = new Criteria(); $c->add(AdsTrackerPlatformPeer::IS_ACTIVE, 1); $platforms = AdsTrackerPlatformPeer::doSelect($c); if($platforms){ foreach ($platforms as $platform) { $my_platform[$platform->getId()] = $platform->getAdsName(); } return $my_platform; } } public function getCampaigns() { //pobieranie kampanii $c = new Criteria(); $c->add(AdsTrackerCampaignPeer::IS_ACTIVE, 1); $campaigns = AdsTrackerCampaignPeer::doSelect($c); $result_campaigns = array(); if($campaigns){ foreach ($campaigns as $campaign) { $my_campaigns[$campaign->getAppAdsTrackerPlatformId()."_".$campaign->getId()] = $campaign->getAdsTrackerPlatform()->getAdsName()." - ".$campaign->getAdsName(); } } return $my_campaigns; } public function getAdsList() { //pobieranie kampanii $c = new Criteria(); $c->add(AdsTrackerListPeer::IS_ACTIVE, 1); $adsTrackerList = AdsTrackerListPeer::doSelect($c); $result_tracker_list = array(); if($adsTrackerList){ foreach ($adsTrackerList as $ads) { $name = ""; if($ads->getAdsGroup()){ $name.= $ads->getAdsGroup()." / "; } if($ads->getAdsName()){ $name.= $ads->getAdsName()." / "; } $my_ads[$ads->getId()] = $name.$ads->getAdsTrackerPlatform()->getAdsName()." - ".$ads->getAdsTrackerCampaign()->getAdsName(); } } return $my_ads; } public function executeAdsTrackerPlatformStats() { $context = $this->getContext(); $this->config = stConfig::getInstance($context); $this->config->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage())); $currency_config = stConfig::getInstance($this->getContext(), 'stCurrencyPlugin'); $this->default_currency = $currency_config->get('default_currency'); if (!appAdsTracker::getIsAdsTrackerActive()) { $i18n = $this->getContext()->getI18n(); $notice = $i18n->__('Moduł analizy reklam nie jest aktywny i nie zbiera danych.')." ".$i18n->__('Aby go aktywować przejdź do konfiguracji modułu.')." ".''.$i18n->__('Konfiguracja').''; $this->setFlash("info", $notice, false); } $filters = $this->getFiltersPlatform(); $this->from_date = $filters['from_date']; $this->to_date = $filters['to_date']; $this->getUser()->setAttribute("filters", $filters, 'soteshop/appAdsTrackerPlugin'); $result = appAdsTracker::getReportsPlatformsValue($filters); $this->result = $result; $this->filters = $filters; $this->periods = $this->getPeriods(); $this->platforms = $this->getPlatforms(); $this->labels = $this->getLabels(); } public function executeAdsTrackerPlatformEnteringStats() { $context = $this->getContext(); $this->config = stConfig::getInstance($context); $this->config->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage())); $currency_config = stConfig::getInstance($this->getContext(), 'stCurrencyPlugin'); $this->default_currency = $currency_config->get('default_currency'); if (!appAdsTracker::getIsAdsTrackerActive()) { $i18n = $this->getContext()->getI18n(); $notice = $i18n->__('Moduł analizy reklam nie jest aktywny i nie zbiera danych.')." ".$i18n->__('Aby go aktywować przejdź do konfiguracji modułu.')." ".''.$i18n->__('Konfiguracja').''; $this->setFlash("info", $notice, false); } $filters = $this->getFiltersPlatformEntering(); $this->from_date = $filters['from_date']; $this->to_date = $filters['to_date']; $this->getUser()->setAttribute("filters", $filters, 'soteshop/appAdsTrackerPlugin'); $result = appAdsTracker::getReportsPlatformEnteringValue($filters); $this->result = $result; $this->filters = $filters; $this->periods = $this->getPeriods(); $this->platforms = $this->getPlatforms(); $this->labels = $this->getLabels(); } public function executeAdsTrackerCampaignStats() { $context = $this->getContext(); $this->config = stConfig::getInstance($context); $this->config->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage())); $currency_config = stConfig::getInstance($this->getContext(), 'stCurrencyPlugin'); $this->default_currency = $currency_config->get('default_currency'); if (!appAdsTracker::getIsAdsTrackerActive()) { $i18n = $this->getContext()->getI18n(); $notice = $i18n->__('Moduł analizy reklam nie jest aktywny i nie zbiera danych.')." ".$i18n->__('Aby go aktywować przejdź do konfiguracji modułu.')." ".''.$i18n->__('Konfiguracja').''; $this->setFlash("info", $notice, false); } $filters = $this->getFiltersCampaign(); $this->from_date = $filters['from_date']; $this->to_date = $filters['to_date']; $this->selected_1 = $filters['platform_campaign_1']; $this->selected_2 = $filters['platform_campaign_2']; $this->getUser()->setAttribute("filters", $filters, 'soteshop/appAdsTrackerPlugin'); $result = appAdsTracker::getReportsCampaignValue($filters); $this->result = $result; $this->filters = $filters; $this->periods = $this->getPeriods(); $this->campaigns_1 = $this->getCampaigns(); $this->campaigns_2 = $this->getCampaigns(); //$this->labels = $this->getLabels(); } public function executeAdsTrackerCampaignEnteringStats() { $context = $this->getContext(); $this->config = stConfig::getInstance($context); $this->config->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage())); $currency_config = stConfig::getInstance($this->getContext(), 'stCurrencyPlugin'); $this->default_currency = $currency_config->get('default_currency'); if (!appAdsTracker::getIsAdsTrackerActive()) { $i18n = $this->getContext()->getI18n(); $notice = $i18n->__('Moduł analizy reklam nie jest aktywny i nie zbiera danych.')." ".$i18n->__('Aby go aktywować przejdź do konfiguracji modułu.')." ".''.$i18n->__('Konfiguracja').''; $this->setFlash("info", $notice, false); } $filters = $this->getFiltersCampaignEntering(); $this->from_date = $filters['from_date']; $this->to_date = $filters['to_date']; $this->selected_1 = $filters['platform_campaign_1']; $this->selected_2 = $filters['platform_campaign_2']; $this->getUser()->setAttribute("filters", $filters, 'soteshop/appAdsTrackerPlugin'); $result = appAdsTracker::getReportsCampaignEnteringValue($filters); $this->result = $result; $this->filters = $filters; $this->periods = $this->getPeriods(); $this->campaigns_1 = $this->getCampaigns(); $this->campaigns_2 = $this->getCampaigns(); //$this->labels = $this->getLabels(); } public function executeAdsTrackerInfoStats() { $context = $this->getContext(); $this->config = stConfig::getInstance($context); $this->config->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage())); $currency_config = stConfig::getInstance($this->getContext(), 'stCurrencyPlugin'); $this->default_currency = $currency_config->get('default_currency'); $ads_tracker_id = $this->getRequestParameter('id'); $filters = $this->getFiltersInfo(); $this->from_date = $filters['from_date']; $this->to_date = $filters['to_date']; if(isset($ads_tracker_id)){ $filters['ads_id'] = $ads_tracker_id; } $this->getUser()->setAttribute("filters", $filters, 'soteshop/appAdsTrackerPlugin'); /*echo "
";
print_r($filters);
echo "";*/
$result = appAdsTracker::getReportsAdsInfoValue($filters);
/*echo "";
print_r($result);
echo "";*/
$this->result = $result;
$this->filters = $filters;
//
$this->periods = $this->getPeriods();
//
$this->ads_list = $this->getAdsList();
//$this->labels = $this->getLabels();
}
public function executeDeleteAll()
{
AdsTrackerDebugPeer::doDeleteAll();
return $this->redirect('appAdsTrackerBackend/adsTrackerDebugList');
}
protected function saveConfig()
{
$this->config->save();
stFastCacheManager::clearCache();
stTheme::clearSmartyCache(true);
foreach (glob(sfConfig::get('sf_root_dir').'/cache/smarty_c/*') as $file)
{unlink($file);}
}
public function executeList()
{
parent::executeList();
if ($this->getRequest()->getMethod() == sfRequest::GET && $this->getRequest()->hasParameter("filters"))
{
return $this->redirect('appAdsTrackerBackend/list');
}
}
public function executeAdsTrackerCampaignList()
{
parent::executeAdsTrackerCampaignList();
if ($this->getRequest()->getMethod() == sfRequest::GET && $this->getRequest()->hasParameter("filters"))
{
return $this->redirect('appAdsTrackerBackend/adsTrackerCampaignList');
}
}
protected function addFiltersCriteria($c)
{
$c->add(AdsTrackerListPeer::ADS_NAME, "Wejścia bezpośrednie", Criteria::NOT_EQUAL );
parent::addFiltersCriteria($c);
}
protected function addAdsTrackerCampaignFiltersCriteria($c)
{
$c->add(AdsTrackerCampaignPeer::ADS_NAME, "Wejścia bezpośrednie", Criteria::NOT_EQUAL );
parent::addAdsTrackerCampaignFiltersCriteria($c);
}
protected function getAdsTrackerListOrCreate($id = 'id')
{
parent::getAdsTrackerListOrCreate($id);
if ($this->ads_tracker_list->getIsPlugin()){
$this->getUser()->setParameter('hide', true, 'appAdsTrackerBackend/edit/fields/url');
$this->getUser()->setParameter('hide', true, 'appAdsTrackerBackend/edit/fields/url_hash');
}else{
$this->getUser()->setParameter('hide', true, 'appAdsTrackerBackend/edit/fields/hash_for_plugin');
}
return $this->ads_tracker_list;
}
protected function updateAdsTrackerCampaignAdsTrackerCampaignFromRequest()
{
$ads_tracker_campaign = $this->getRequestParameter('ads_tracker_campaign');
$this->ads_tracker_campaign->setIsActive(isset($ads_tracker_campaign['is_active']) ? $ads_tracker_campaign['is_active'] : 0);
if (isset($ads_tracker_campaign['app_ads_tracker_platform_id'])) {
$this->ads_tracker_campaign->setAppAdsTrackerPlatformId($ads_tracker_campaign['app_ads_tracker_platform_id'] ? $ads_tracker_campaign['app_ads_tracker_platform_id'] : null);
}
if (isset($ads_tracker_campaign['ads_name'])) {
$this->ads_tracker_campaign->setAdsName($ads_tracker_campaign['ads_name']);
}
if (isset($ads_tracker_campaign['color'])) {
if (method_exists($this->ads_tracker_campaign, 'setColor')) {
$this->ads_tracker_campaign->setColor($ads_tracker_campaign['color']);
}
}
$c = new Criteria();
$c->add(AdsTrackerListPeer::APP_ADS_TRACKER_CAMPAIGN_ID, $this->ads_tracker_campaign->getId());
$adsTrackerList = AdsTrackerListPeer::doSelect($c);
if ($adsTrackerList) {
foreach ($adsTrackerList as $ads ) {
$ads->setAppAdsTrackerPlatformId($this->ads_tracker_campaign->getAppAdsTrackerPlatformId());
$ads->save();
}
}
$this->getDispatcher()->notify(new sfEvent($this, 'autoAppAdsTrackerBackendActions.postUpdateAdsTrackerCampaignFromRequest', array('modelInstance' => $this->ads_tracker_campaign, 'requestParameters' => $ads_tracker_campaign)));
}
protected function deleteAdsTrackerCampaignAdsTrackerCampaign($ads_tracker_campaign)
{
$c = new Criteria();
$c->add(AdsTrackerListPeer::APP_ADS_TRACKER_CAMPAIGN_ID, $ads_tracker_campaign->getId());
$adsTrackerList = AdsTrackerListPeer::doSelect($c);
if ($adsTrackerList) {
$i18n = $this->getContext()->getI18N();
$message = $i18n->__('Nie można usunąć kampani, ktora zawiera reklamy.');
throw new Exception($message);
}
return parent::deleteAdsTrackerCampaignAdsTrackerCampaign($ads_tracker_campaign);
}
protected function deleteAdsTrackerPlatformAdsTrackerPlatform($ads_tracker_platform)
{
$c = new Criteria();
$c->add(AdsTrackerCampaignPeer::APP_ADS_TRACKER_PLATFORM_ID, $ads_tracker_platform->getId());
$adsTrackerCampaign = AdsTrackerCampaignPeer::doSelect($c);
if ($adsTrackerCampaign) {
$i18n = $this->getContext()->getI18N();
$message = $i18n->__('Nie można usunąć platformy, ktora zawiera kampanie.');
throw new Exception($message);
}
return parent::deleteAdsTrackerPlatformAdsTrackerPlatform($ads_tracker_platform);
}
}