示例#1
0
 /**
  * @see ContextSettingsForm::execute()
  * @param $request Request
  */
 function execute($request)
 {
     $press = $request->getPress();
     if ($press->getEnabled() !== $this->getData('pressEnabled')) {
         $pressDao = DAORegistry::getDAO('PressDAO');
         $press->setEnabled($this->getData('pressEnabled'));
         $pressDao->updateObject($press);
     }
     parent::execute($request);
 }
示例#2
0
 /**
  * @copydoc ContextSettingsForm::execute()
  */
 function execute($request)
 {
     $context = $request->getContext();
     // Get the selected payment plugin
     $paymentPluginName = $this->getData('paymentPluginName');
     if (isset($this->paymentPlugins[$paymentPluginName])) {
         $plugin = $this->paymentPlugins[$paymentPluginName];
         // Save the plugin-specific settings
         foreach ($plugin->getSettingsFormFieldNames() as $settingName) {
             $plugin->updateSetting($context->getId(), $settingName, $this->getData($settingName));
         }
         // Remove notification.
         $notificationDao = DAORegistry::getDAO('NotificationDAO');
         $notificationDao->deleteByAssoc($context->getAssocType(), $context->getId(), null, NOTIFICATION_TYPE_CONFIGURE_PAYMENT_METHOD, $context->getId());
     } else {
         // Create notification.
         $notificationMgr = new NotificationManager();
         $notificationMgr->createNotification($request, null, NOTIFICATION_TYPE_CONFIGURE_PAYMENT_METHOD, $context->getId(), $context->getAssocType(), $context->getId(), NOTIFICATION_LEVEL_NORMAL);
     }
     return parent::execute($request);
 }
示例#3
0
 /**
  * @copydoc ContextSettingsForm::execute()
  */
 function execute($request)
 {
     parent::execute($request);
     // Save block plugins context positions.
     import('lib.pkp.classes.controllers.listbuilder.ListbuilderHandler');
     ListbuilderHandler::unpack($request, $request->getUserVar('blocks'));
     // Activate the selected theme plugin
     $context = $request->getContext();
     $themePlugins = PluginRegistry::loadCategory('themes');
     $selectedThemePluginPath = $this->getData('themePluginPath');
     $selectedThemePlugin = null;
     foreach ($themePlugins as $themePlugin) {
         if (basename($themePlugin->getPluginPath()) != $selectedThemePluginPath) {
             if ($themePlugin->getEnabled()) {
                 $themePlugin->setEnabled(false);
             }
         } else {
             $selectedThemePlugin = $themePlugin;
         }
     }
     if ($selectedThemePlugin) {
         // Activate the selected theme to trigger a CSS recompile.
         $selectedThemePlugin->setEnabled(true);
     } else {
         assert(false);
         // Couldn't identify the selected theme plugin
     }
 }
示例#4
0
 /**
  * @copydoc ContextSettingsForm::execute()
  * @param $request Request
  */
 function execute($request)
 {
     $journal = $request->getContext();
     if ($journal->getEnabled() !== $this->getData('journalEnabled')) {
         $journalDao = DAORegistry::getDAO('JournalDAO');
         $journal->setEnabled($this->getData('journalEnabled'));
         $journalDao->updateObject($journal);
     }
     // Save block plugins context positions.
     import('lib.pkp.classes.controllers.listbuilder.ListbuilderHandler');
     $this->categories = $journal->getSetting('categories');
     ListbuilderHandler::unpack($request, $request->getUserVar('categories'));
     $this->setData('categories', $this->categories);
     parent::execute($request);
 }
示例#5
0
 /**
  * @copydoc ContextSettingsForm::execute()
  */
 function execute($request)
 {
     // Clear the template cache if theme has changed
     $context = $request->getContext();
     if ($this->getData('themePluginPath') != $context->getSetting('themePluginPath')) {
         $templateMgr = TemplateManager::getManager($request);
         $templateMgr->clearTemplateCache();
         $templateMgr->clearCssCache();
     }
     parent::execute($request);
     // Save block plugins context positions.
     import('lib.pkp.classes.controllers.listbuilder.ListbuilderHandler');
     ListbuilderHandler::unpack($request, $request->getUserVar('blocks'), array($this, 'deleteEntry'), array($this, 'insertEntry'), array($this, 'updateEntry'));
 }