Ejemplo n.º 1
0
     } catch (Engine\YandexDirectException $e) {
         // if we got an error from yandex - kill only local mirror
         Adv\YandexCampaignTable::setSkipRemoteUpdate(true);
         Adv\YandexCampaignTable::delete($campaignId);
         Adv\YandexCampaignTable::setSkipRemoteUpdate(false);
     }
 } else {
     $filter = array('=ID' => $campaignId, '=ENGINE_ID' => $engine->getId(), '=ACTIVE' => $archive ? Adv\YandexCampaignTable::INACTIVE : Adv\YandexCampaignTable::ACTIVE);
     $dbRes = Adv\YandexCampaignTable::getList(array('filter' => $filter, 'select' => array('ID', 'XML_ID')));
     $campaign = $dbRes->fetch();
     if ($campaign) {
         try {
             switch ($_REQUEST['action']) {
                 case 'archive':
                     $engine->stopCampaign($campaign['XML_ID']);
                     $engine->archiveCampaign($campaign['XML_ID']);
                     break;
                 case 'unarchive':
                     $engine->unArchiveCampaign($campaign['XML_ID']);
                     break;
                 case 'stop':
                     $engine->stopCampaign($campaign['XML_ID']);
                     break;
                 case 'resume':
                     $engine->resumeCampaign($campaign['XML_ID']);
                     break;
             }
             $campaignInfo = $engine->getCampaign(array($campaign['XML_ID']));
             $campaignInfo = $campaignInfo[0];
             Adv\YandexCampaignTable::setSkipRemoteUpdate(true);
             $result = Adv\YandexCampaignTable::update($campaignId, array("SETTINGS" => $campaignInfo));