/** * @see PKPPlugin::manage() */ function manage($verb, $args, &$message, &$messageParams, &$pluginModalContent = null) { if (!parent::manage($verb, $args, $message, $messageParams)) { return false; } $request =& $this->getRequest(); switch ($verb) { case 'settings': $journal = $request->getJournal(); $templateMgr = TemplateManager::getManager($request); $templateMgr->register_function('plugin_url', array($this, 'smartyPluginUrl')); $this->import('SettingsForm'); $form = new SettingsForm($this, $journal->getId()); $form->readInputData(); if ($request->getUserVar('addBlock')) { // Add a block $editData = true; $blocks = $form->getData('blocks'); array_push($blocks, ''); $form->_data['blocks'] = $blocks; } else { if (($delBlock = $request->getUserVar('delBlock')) && count($delBlock) == 1) { // Delete an block $editData = true; list($delBlock) = array_keys($delBlock); $delBlock = (int) $delBlock; $blocks = $form->getData('blocks'); if (isset($blocks[$delBlock]) && !empty($blocks[$delBlock])) { $deletedBlocks = explode(':', $form->getData('deletedBlocks')); array_push($deletedBlocks, $blocks[$delBlock]); $form->setData('deletedBlocks', join(':', $deletedBlocks)); } array_splice($blocks, $delBlock, 1); $form->_data['blocks'] = $blocks; } else { if ($request->getUserVar('save')) { $editData = true; $form->execute(); } else { $form->initData(); } } } if (!isset($editData) && $form->validate()) { $form->execute(); $form->display(); exit; } else { $form->display(); exit; } return true; default: // Unknown management verb assert(false); return false; } }
/** * Perform management functions */ function manage($verb, $args, &$message, &$messageParams) { if (!parent::manage($verb, $args, $message, $messageParams)) { return false; } switch ($verb) { case 'settings': $journal =& Request::getJournal(); $templateMgr =& TemplateManager::getManager(); $templateMgr->register_function('plugin_url', array(&$this, 'smartyPluginUrl')); $pageCrumbs = array(array(Request::url(null, 'user'), 'navigation.user'), array(Request::url(null, 'manager'), 'user.role.manager'), array(Request::url(null, 'manager', 'plugins'), __('manager.plugins'), true)); $templateMgr->assign('pageHierarchy', $pageCrumbs); $this->import('SettingsForm'); $form = new SettingsForm($this, $journal->getId()); $form->readInputData(); if (Request::getUserVar('addBlock')) { // Add a block $editData = true; $blocks = $form->getData('blocks'); array_push($blocks, ''); $form->_data['blocks'] = $blocks; } else { if (($delBlock = Request::getUserVar('delBlock')) && count($delBlock) == 1) { // Delete an block $editData = true; list($delBlock) = array_keys($delBlock); $delBlock = (int) $delBlock; $blocks = $form->getData('blocks'); if (isset($blocks[$delBlock]) && !empty($blocks[$delBlock])) { $deletedBlocks = explode(':', $form->getData('deletedBlocks')); array_push($deletedBlocks, $blocks[$delBlock]); $form->setData('deletedBlocks', join(':', $deletedBlocks)); } array_splice($blocks, $delBlock, 1); $form->_data['blocks'] = $blocks; } else { if (Request::getUserVar('save')) { $editData = true; $form->execute(); } else { $form->initData(); } } } if (!isset($editData) && $form->validate()) { $form->execute(); $form->display(); exit; } else { $form->display(); exit; } return true; default: // Unknown management verb assert(false); return false; } }
/** * Perform management functions */ function manage($verb, $args) { $returner = true; $templateMgr =& TemplateManager::getManager(); $templateMgr->register_function('plugin_url', array(&$this, 'smartyPluginUrl')); $pageCrumbs = array(array(Request::url(null, null, 'user'), 'navigation.user'), array(Request::url(null, null, 'manager'), 'user.role.manager')); $conference =& Request::getConference(); switch ($verb) { case 'enable': $this->setEnabled(true); break; case 'disable': $this->setEnabled(false); break; case 'settings': $pageCrumbs[] = array(Request::url(null, null, 'manager', 'plugins'), Locale::translate('manager.plugins'), true); $templateMgr->assign('pageHierarchy', $pageCrumbs); $this->import('SettingsForm'); $form = new SettingsForm($this, $conference->getId()); $form->readInputData(); if (Request::getUserVar('addBlock')) { // Add a block $editData = true; //$blocks = is_null($form->getData('blocks'))?array():$form->getData('blocks'); $blocks = $form->getData('blocks'); array_push($blocks, ''); $form->_data['blocks'] = $blocks; } else { if (($delBlock = Request::getUserVar('delBlock')) && count($delBlock) == 1) { // Delete an block $editData = true; list($delBlock) = array_keys($delBlock); $delBlock = (int) $delBlock; $blocks = $form->getData('blocks'); if (isset($blocks[$delBlock]) && !empty($blocks[$delBlock])) { $deletedBlocks = explode(':', $form->getData('deletedBlocks')); array_push($deletedBlocks, $blocks[$delBlock]); $form->setData('deletedBlocks', join(':', $deletedBlocks)); } array_splice($blocks, $delBlock, 1); $form->_data['blocks'] = $blocks; } else { if (Request::getUserVar('save')) { $editData = true; $form->execute(); } else { $form->initData(); } } } if (!isset($editData) && $form->validate()) { $form->execute(); $form->display(); exit; } else { $form->display(); exit; } $returner = true; break; } $returner = false; }