/**
  * @desc Contents for Weebo
  * @param Array $params request params
  */
 public function anon()
 {
     wfProfileIn(__METHOD__);
     $params = $this->request->getParams();
     $lang = !empty($params['lang']) ? $params['lang'] : WikiaBarModel::WIKIA_BAR_DEFAULT_LANG_CODE;
     $vertical = !empty($params['vertical']) ? $params['vertical'] : HubService::getCategoryInfoForCity($this->wg->cityId)->cat_id;
     /** @var $model WikiaBarModel */
     $model = new WikiaBarModel();
     $vertical = $model->mapVerticalToMain($vertical);
     $model->setLang($lang);
     $model->setVertical($vertical);
     $barContents = $model->getBarContents();
     $this->barContents = $barContents['data'];
     $this->status = $barContents['status'];
     wfProfileOut(__METHOD__);
 }
 /**
  * Get meta description tag
  * @return string $description
  */
 public function getMetaTagDescription()
 {
     $catInfo = HubService::getCategoryInfoForCity($this->wg->CityId);
     $descriptionKey = 'specialvideos-meta-description';
     switch ($catInfo->cat_id) {
         case WikiFactoryHub::CATEGORY_ID_GAMING:
             $descriptionKey .= '-gaming';
             break;
         case WikiFactoryHub::CATEGORY_ID_ENTERTAINMENT:
             $descriptionKey .= '-entertainment';
             break;
         case WikiFactoryHub::CATEGORY_ID_LIFESTYLE:
             $descriptionKey .= '-lifestyle';
             break;
         case WikiFactoryHub::CATEGORY_ID_CORPORATE:
             $descriptionKey .= '-corporate';
             break;
     }
     $description = wfMessage($descriptionKey, $this->wg->Sitename)->escaped();
     return $description;
 }
 public function getContext(Title $title, $skinName)
 {
     $wrapper = new GlobalStateWrapper(['wgTitle' => $title]);
     $wg = F::app()->wg;
     return $wrapper->wrap(function () use($title, $wg, $skinName) {
         $wikiFactoryHub = WikiFactoryHub::getInstance();
         $hubService = new HubService();
         $adPageTypeService = new AdEngine2PageTypeService();
         $wikiaPageType = new WikiaPageType();
         $sevenOneMediaCombinedUrl = null;
         if (!empty($wg->AdDriverUseSevenOneMedia)) {
             // TODO: implicitly gets the skin from the context!
             $sevenOneMediaCombinedUrl = ResourceLoader::makeCustomURL($wg->Out, ['wikia.ext.adengine.sevenonemedia'], 'scripts');
         }
         $monetizationServiceAds = null;
         if (!empty($wg->AdDriverUseMonetizationService) && !empty($wg->EnableMonetizationModuleExt)) {
             $monetizationServiceAds = F::app()->sendRequest('MonetizationModule', 'index')->getData()['data'];
         }
         $langCode = $title->getPageLanguage()->getCode();
         return ['opts' => $this->filterOutEmptyItems(['adsInContent' => $wg->EnableAdsInContent, 'delayBtf' => $wg->AdDriverDelayBelowTheFold, 'enableAdsInMaps' => $wg->AdDriverEnableAdsInMaps, 'pageType' => $adPageTypeService->getPageType(), 'paidAssetDropConfig' => $wg->PaidAssetDropConfig, 'showAds' => $adPageTypeService->areAdsShowableOnPage(), 'trackSlotState' => $wg->AdDriverTrackState, 'usePostScribe' => $wg->Request->getBool('usepostscribe', false)]), 'targeting' => $this->filterOutEmptyItems(['enablePageCategories' => array_search($langCode, $wg->AdPageLevelCategoryLangs) !== false, 'pageArticleId' => $title->getArticleId(), 'pageIsArticle' => !!$title->getArticleId(), 'pageIsHub' => $wikiaPageType->isWikiaHub(), 'pageName' => $title->getPrefixedDBKey(), 'pageType' => $wikiaPageType->getPageType(), 'sevenOneMediaSub2Site' => $wg->AdDriverSevenOneMediaOverrideSub2Site, 'skin' => $skinName, 'wikiCategory' => $wikiFactoryHub->getCategoryShort($wg->CityId), 'wikiCustomKeyValues' => $wg->DartCustomKeyValues, 'wikiDbName' => $wg->DBname, 'wikiDirectedAtChildren' => $wg->WikiDirectedAtChildrenByFounder || $wg->WikiDirectedAtChildrenByStaff, 'wikiIsCorporate' => $wikiaPageType->isCorporatePage(), 'wikiIsTop1000' => $wg->AdDriverWikiIsTop1000, 'wikiLanguage' => $langCode, 'wikiVertical' => $hubService->getCategoryInfoForCity($wg->CityId)->cat_name]), 'providers' => $this->filterOutEmptyItems(['monetizationService' => $wg->AdDriverUseMonetizationService, 'monetizationServiceAds' => $monetizationServiceAds, 'sevenOneMedia' => $wg->AdDriverUseSevenOneMedia, 'sevenOneMediaCombinedUrl' => $sevenOneMediaCombinedUrl, 'taboola' => $wg->AdDriverUseTaboola]), 'slots' => $this->filterOutEmptyItems(['exitstitial' => $wg->EnableOutboundScreenExt, 'exitstitialRedirectDelay' => $wg->OutboundScreenRedirectDelay, 'invisibleHighImpact' => $wg->AdDriverEnableInvisibleHighImpactSlot]), 'forcedProvider' => $wg->AdDriverForcedProvider];
     });
 }
Пример #4
0
 public static function onWikiDataUpdated($cityId)
 {
     $app = F::app();
     $mdb = wfGetDB(DB_MASTER, array(), $app->wg->ExternalSharedDB);
     $category = HubService::getCategoryInfoForCity($cityId);
     $table = self::CITY_VISUALIZATION_TABLE_NAME;
     $data = array('city_vertical' => $category->cat_id);
     $cond = array('city_id' => $cityId);
     $mdb->update($table, $data, $cond, __METHOD__);
     return true;
 }
Пример #5
0
 public function loadDataAndUpdateDatabase()
 {
     global $wgLanguageCode;
     wfProfileIn(__METHOD__);
     if (!$this->options->overwrittenLang) {
         $wikisVisualizationLangCode = $wgLanguageCode;
     } else {
         $wikisVisualizationLangCode = $this->options->overwrittenLang;
     }
     echo "\n";
     echo 'Uploading wikis for "' . $wikisVisualizationLangCode . '" visualization: ';
     echo "\n";
     foreach ($this->options->csvContent as $line) {
         $element = str_getcsv($line, ',', '"');
         if ($this->areAllRequiredWikiDataForDatabaseSet($element)) {
             $wikiDomain = trim(str_replace('http://', '', $element[2]), '/');
             $wikiId = WikiFactory::DomainToID($wikiDomain);
             $spreadSheetImageName = basename($element[4]);
             $wikiMainImageUrl = $element[4];
             $wikiMainImageName = $this->getCorpDestImageName($wikiDomain, $spreadSheetImageName);
             $sliderImages = $this->getSliderImages(array_slice($element, self::SPREADSHEET_FIRST_ADD_IMG_IDX, self::SPREADSHEET_LAST_ADD_IMG_IDX));
             $wikiHeadline = !empty($element[1]) ? $element[1] : '';
             $wikiDesc = !empty($element[5]) ? $element[5] : wfMsg('wikiahome-import-script-no-description');
             if (!$this->options->skipUpload) {
                 //upload main image
                 $this->uploadImage($wikiMainImageUrl, $wikiMainImageName, $wikiId);
                 //upload slider images
                 $sliderUploadedImages = $this->uploadSliderImages($wikiDomain, $sliderImages, $wikiId);
             }
             if ($wikiId > 0) {
                 $wikiCityVertical = HubService::getCategoryInfoForCity($wikiId);
                 $sliderUploadedImages = !empty($sliderUploadedImages) ? json_encode($sliderUploadedImages) : null;
                 $this->addToVisualizationTable(array('city_id' => $wikiId, 'city_lang_code' => $wikisVisualizationLangCode, 'city_vertical' => $wikiCityVertical, 'city_headline' => $wikiHeadline, 'city_description' => $wikiDesc, 'city_main_image' => $wikiMainImageName, 'city_images' => $sliderUploadedImages));
             } else {
                 $this->wikisNotAdded[] = $wikiDomain . ' (' . $wikiId . ') ';
             }
         }
     }
     $this->uploadImagesOnWikis();
     $this->displayStatus();
     wfProfileOut(__METHOD__);
 }