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); } }