$_SESSION["SEO_FORECASTS"][$phraseHash] = array("REPORT_ID" => intval($reportId), "PHRASE" => $phraseList, "GEO" => $geoList, "TS" => time());
             $res = $_SESSION["SEO_FORECASTS"][$phraseHash];
         } else {
             $reportId = $_SESSION["SEO_FORECASTS"][$phraseHash]["REPORT_ID"];
             $res = $engine->getForecastReport($reportId);
         }
     }
     break;
 case 'campaign_update':
     $campaignId = intval($_REQUEST['campaign']);
     $res = $engine->updateCampaignManual($campaignId);
     break;
 case 'banner_update':
     $bannerId = intval($_REQUEST['banner']);
     $campaignId = intval($_REQUEST['campaign']);
     $res = $engine->updateBannersManual($campaignId, $bannerId);
     break;
 case 'link_delete':
 case 'link_create':
     $res = array('result' => false);
     $bannerId = intval($_REQUEST['banner']);
     $linkId = intval($_REQUEST['link']);
     $linkType = $_REQUEST['link_type'];
     if ($linkId > 0 & $bannerId > 0) {
         if ($_REQUEST['action'] == 'link_delete') {
             $result = Adv\LinkTable::delete(array('LINK_TYPE' => $linkType, 'LINK_ID' => $linkId, 'BANNER_ID' => $bannerId));
             $res = array('result' => $result->isSuccess());
         } elseif ($_REQUEST['action'] == 'link_create') {
             $dbRes = Adv\LinkTable::getByPrimary(array('LINK_TYPE' => $linkType, 'LINK_ID' => $linkId, 'BANNER_ID' => $bannerId));
             if (!$dbRes->fetch()) {
                 $result = Adv\LinkTable::add(array('LINK_TYPE' => $linkType, 'LINK_ID' => $linkId, 'BANNER_ID' => $bannerId));