Ejemplo n.º 1
0
 public function filterData($data)
 {
     if (!empty($data['sponsor_url'])) {
         foreach ($data['sponsor_url'] as &$url) {
             if (!empty($url) && strpos($url, 'http://') === false && strpos($url, 'https://') === false) {
                 $url = 'http://' . $url;
             }
         }
     }
     return parent::filterData($data);
 }
Ejemplo n.º 2
0
 public function __construct($prefix = '', $fields = [])
 {
     parent::__construct($prefix, $fields);
     if (empty($fields)) {
         $fields = ['hub_slot' => ['label' => wfMessage('manage-wikia-home-hubs-slot-name')->plain(), 'type' => 'select', 'isArray' => true]];
         $fields['marketing_slot_title'] = ['label' => 'Title', 'type' => 'text', 'isArray' => true];
         $fields['marketing_slot_image'] = ['type' => 'hidden', 'validator' => new WikiaValidatorListValue(array('validator' => new WikiaValidatorImageSize(array('minWidth' => self::SLOT_IMG_WIDTH, 'minHeight' => self::SLOT_IMG_HEIGHT, 'maxWidth' => self::SLOT_IMG_WIDTH, 'maxHeight' => self::SLOT_IMG_HEIGHT), array('min-width' => 'manage-wikia-home-marketing-invalid-width', 'max-width' => 'manage-wikia-home-marketing-invalid-width', 'min-height' => 'manage-wikia-home-marketing-invalid-height', 'max-height' => 'manage-wikia-home-marketing-invalid-height', 'wrong-size' => 'manage-wikia-home-marketing-invalid-size')))), 'attributes' => array('class' => 'required wmu-file-name-input'), 'class' => 'hidden', 'label' => 'Image', 'isArray' => true];
         $fields['marketing_slot_link'] = ['label' => 'Link', 'type' => 'text', 'isArray' => true];
     }
     $this->setFields($fields);
 }
Ejemplo n.º 3
0
 /**
  * Main action for editing hub modules
  */
 public function editHubAction()
 {
     global $wgCityId;
     if (!$this->checkAccess()) {
         return false;
     }
     $this->retriveDataFromUrl();
     $this->wg->Out->addJsConfigVars(['wgEditHubModuleIdSelected' => $this->selectedModuleId, 'wgEditHubModuleIdPopularVideos' => WikiaHubsModulePopularvideosService::MODULE_ID, 'wgEditHubModuleIdFeaturedVideo' => WikiaHubsModuleFeaturedvideoService::MODULE_ID]);
     $this->checkDate($this->date);
     $this->flashMessage = FlashMessages::pop();
     $modulesData = $this->editHubModel->getModulesData($wgCityId, $this->date, $this->selectedModuleId);
     $this->prepareLayoutData($this->selectedModuleId, $modulesData);
     $this->response->addAsset('resources/jquery/jquery.validate.js');
     $this->response->addAsset('/extensions/wikia/SpecialEditHub/js/EditHub.js');
     $this->response->addAsset('/extensions/wikia/SpecialEditHub/js/EditHubNavigation.js');
     $this->response->addAsset('/extensions/wikia/SpecialEditHub/js/jquery.MetaData.js');
     $selectedModuleValues = $modulesData['moduleList'][$this->selectedModuleId]['data'];
     $module = WikiaHubsModuleService::getModuleByName($this->editHubModel->getNotTranslatedModuleName($this->selectedModuleId), $wgCityId);
     $form = new FormBuilderService(EditHubModel::FORM_FIELD_PREFIX);
     $form->setFields($module->getFormFields());
     if ($this->request->wasPosted()) {
         $selectedModuleValues = $this->request->getParams();
         $selectedModuleValues = $module->filterData($selectedModuleValues);
         $isValid = $form->validate($selectedModuleValues);
         if ($isValid) {
             $this->editHubModel->saveModule(['cityId' => $wgCityId, 'langCode' => $this->wg->ContLang->getCode(), 'verticalId' => WikiFactoryHub::getInstance()->getCategoryId($wgCityId)], $this->date, $this->selectedModuleId, $selectedModuleValues, $this->wg->user->getId());
             $this->purgeCache($module);
             FlashMessages::put(wfMessage('edit-hub-module-save-ok', $modulesData['activeModuleName'])->escaped());
             $nextUrl = $this->getNextModuleUrl();
             $this->response->redirect($nextUrl);
         } else {
             $this->errorMessage = wfMessage('edit-hub-module-save-error')->escaped();
         }
     }
     $form->setFieldsValues($selectedModuleValues);
     $this->moduleName = $modulesData['activeModuleName'];
     $this->moduleContent = $module->renderEditor(['form' => $form]);
     $this->overrideTemplate('editHub');
 }
Ejemplo n.º 4
0
 public function __construct($prefix = '', $fields = [])
 {
     parent::__construct($prefix, $fields);
     $fields = ['visitors' => ['label' => wfMessage('manage-wikia-home-stats-visitors-label')->text(), 'validator' => new WikiaValidatorInteger(['required' => true, 'min' => 0])], 'mobilePercentage' => ['label' => wfMessage('manage-wikia-home-stats-mobile-percentage-label')->text(), 'validator' => new WikiaValidatorNumeric(['required' => true, 'min' => 0, 'max' => 100])], 'editsDefault' => ['label' => wfMessage('manage-wikia-home-stats-edits-default-label')->text(), 'validator' => new WikiaValidatorInteger(['required' => true, 'min' => 0])], 'totalPages' => ['label' => wfMessage('manage-wikia-home-stats-total-pages-label')->text(), 'validator' => new WikiaValidatorInteger(['required' => true, 'min' => 0])]];
     $this->setFields($fields);
 }