/** * @copydoc PKPPlugin::manage() */ function manage($verb, $args, &$message, &$messageParams, &$pluginModalContent = null) { $request = $this->getRequest(); $press = $request->getPress(); $templateMgr = TemplateManager::getManager($request); switch ($verb) { case 'settings': $templateMgr->assign('statsConfigured', $this->statsConfigured($press)); $pluginModalContent = $templateMgr->fetch($this->getTemplatePath() . 'settingsTabs.tpl'); return true; case 'showTab': if ($request->getUserVar('tab') == 'settings') { $this->import('AddThisSettingsForm'); $form = new AddThisSettingsForm($this, $press); if ($request->getUserVar('save')) { $form->readInputData(); if ($form->validate()) { $form->execute(); $message = NOTIFICATION_TYPE_SUCCESS; $messageParams = array('contents' => __('plugins.generic.addThis.form.saved')); return false; } else { $pluginModalContent = $form->fetch($request); } } else { $form->initData(); $pluginModalContent = $form->fetch($request); } } else { $pluginModalContent = $templateMgr->fetch($this->getTemplatePath() . 'statistics.tpl'); } return true; case 'showStatistics': $this->import('AddThisStatisticsGridHandler'); $gridHandler = new AddThisStatisticsGridHandler($this); $gridHandler->initialize($request); $jsonMessage = json_decode($gridHandler->fetchGrid($args, $request)); $pluginModalContent = $jsonMessage->content; return true; default: // let the parent handle it. return parent::manage($verb, $args, $message, $messageParams); } }
/** * @copydoc PKPPlugin::manage() */ function manage($args, $request) { $press = $request->getPress(); $templateMgr = TemplateManager::getManager($request); switch ($request->getUserVar('verb')) { case 'showTab': switch ($request->getUserVar('tab')) { case 'settings': $this->import('AddThisSettingsForm'); $form = new AddThisSettingsForm($this, $press); if ($request->getUserVar('save')) { $form->readInputData(); if ($form->validate()) { $form->execute(); return new JSONMessage(); } } else { $form->initData(); } return new JSONMessage(true, $form->fetch($request)); case 'statistics': return $templateMgr->fetchJson($this->getTemplatePath() . 'statistics.tpl'); default: assert(false); } case 'settings': $templateMgr->assign('statsConfigured', $this->statsConfigured($press)); $templateMgr->assign('pluginName', $this->getName()); return $templateMgr->fetchJson($this->getTemplatePath() . 'settingsTabs.tpl'); } return parent::manage($args, $request); }