/**
  * Permit requests to the statistics grid handler
  * @param $hookName string The name of the hook being invoked
  * @param $args array The parameters to the invoked hook
  */
 function setupGridHandler($hookName, $params)
 {
     $component =& $params[0];
     if ($component == 'plugins.generic.addThis.controllers.grid.AddThisStatisticsGridHandler') {
         // Allow the static page grid handler to get the plugin object
         import($component);
         AddThisStatisticsGridHandler::setPlugin($this);
         return true;
     }
     return false;
 }
 /**
  * Set the Plugin
  * @param $plugin Plugin
  */
 static function setPlugin($plugin)
 {
     self::$_plugin = $plugin;
 }
 /**
  * @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);
     }
 }