first commit
This commit is contained in:
@@ -0,0 +1,993 @@
|
||||
<?php
|
||||
|
||||
|
||||
class appAdsTrackerBackendActions extends autoAppAdsTrackerBackendActions
|
||||
{
|
||||
|
||||
protected function updateAdsTrackerListFromRequest()
|
||||
{
|
||||
$ads_tracker_list = $this->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.')." ".'<a href="'.$this->getController()->genUrl("appAdsTrackerBackend/config").'" target="_blank">'.$i18n->__('Konfiguracja').'</a>';
|
||||
$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.')." ".'<a href="'.$this->getController()->genUrl("appAdsTrackerBackend/config").'" target="_blank">'.$i18n->__('Konfiguracja').'</a>';
|
||||
$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.')." ".'<a href="'.$this->getController()->genUrl("appAdsTrackerBackend/config").'" target="_blank">'.$i18n->__('Konfiguracja').'</a>';
|
||||
$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.')." ".'<a href="'.$this->getController()->genUrl("appAdsTrackerBackend/config").'" target="_blank">'.$i18n->__('Konfiguracja').'</a>';
|
||||
$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 "<pre>";
|
||||
print_r($filters);
|
||||
echo "</pre>";*/
|
||||
|
||||
$result = appAdsTracker::getReportsAdsInfoValue($filters);
|
||||
|
||||
/*echo "<pre>";
|
||||
print_r($result);
|
||||
echo "</pre>";*/
|
||||
|
||||
$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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
|
||||
class appAdsTrackerBackendComponents extends autoAppAdsTrackerBackendComponents
|
||||
{
|
||||
|
||||
public function executeAdsTrackerPlatformCampaign()
|
||||
{
|
||||
|
||||
$c = new Criteria();
|
||||
$c->add(AdsTrackerCampaignPeer::IS_ACTIVE, 1);
|
||||
$campaigns = AdsTrackerCampaignPeer::doSelect($c);
|
||||
|
||||
$result_campaigns = array();
|
||||
|
||||
if($campaigns){
|
||||
|
||||
foreach ($campaigns as $campaign) {
|
||||
$result_campaigns[$campaign->getAppAdsTrackerPlatformId()."_".$campaign->getId()] = $campaign->getAdsTrackerPlatform()->getAdsName()." - ".$campaign->getAdsName();
|
||||
}
|
||||
|
||||
}
|
||||
$result_campaigns = $result_campaigns;
|
||||
$this->campaigns = $result_campaigns;
|
||||
}
|
||||
|
||||
public function executeAdsEntering()
|
||||
{
|
||||
$ads_id = $this -> ads_tracker_list -> getId();
|
||||
$this->id = $ads_id;
|
||||
$this->value = appAdsTracker::getAdsEnteringValue($ads_id);
|
||||
}
|
||||
|
||||
protected function processMenuItems()
|
||||
{
|
||||
$config = stConfig::getInstance($this->getContext(), 'appAdsTrackerBackend');
|
||||
$config = $config;
|
||||
|
||||
if(!$config->get('is_debug')):
|
||||
unset($this->items["@appAdsTrackerPlugin?action=adsTrackerDebugList"]);
|
||||
endif;
|
||||
|
||||
parent::processMenuItems();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user