• Main Page
  • Modules
  • Classes
  • Files
  • File List

plugins/generic/translator/TranslatorPlugin.inc.php

00001 <?php
00002 
00017 import('lib.pkp.classes.plugins.GenericPlugin');
00018 
00019 class TranslatorPlugin extends GenericPlugin {
00020    function register($category, $path) {
00021       if (parent::register($category, $path)) {
00022          if ($this->getEnabled()) {
00023             // FIXME Need to introduce the OMP Help class.
00024             // $this->addHelpData();
00025             HookRegistry::register ('LoadHandler', array(&$this, 'handleRequest'));
00026          }
00027          return true;
00028       }
00029       return false;
00030    }
00031 
00032    function handleRequest($hookName, $args) {
00033       $page =& $args[0];
00034       $op =& $args[1];
00035       $sourceFile =& $args[2];
00036 
00037       if ($page === 'translate' && in_array($op, array('index', 'edit', 'check', 'export', 'saveLocaleChanges', 'downloadLocaleFile', 'editLocaleFile', 'editMiscFile', 'saveLocaleFile', 'deleteLocaleKey', 'saveMiscFile', 'editEmail', 'createFile', 'deleteEmail', 'saveEmail'))) {
00038          $this->import('TranslatorHandler');
00039          Registry::set('plugin', $this);
00040          define('HANDLER_CLASS', 'TranslatorHandler');
00041          return true;
00042       }
00043 
00044       return false;
00045    }
00046 
00047    function getDisplayName() {
00048       return __('plugins.generic.translator.name');
00049    }
00050 
00051    function getDescription() {
00052       return __('plugins.generic.translator.description');
00053    }
00054 
00055    function isSitePlugin() {
00056       return true;
00057    }
00058 
00059    function getManagementVerbs() {
00060       $verbs = array();
00061       if ($this->getEnabled()) {
00062          $verbs[] = array('translate', __('plugins.generic.translator.translate'));
00063       }
00064       return parent::getManagementVerbs($verbs);
00065    }
00066 
00067    function getManagementVerbLinkAction(&$request, $verb, $defaultUrl) {
00068       $router =& $request->getRouter();
00069       $dispatcher =& $router->getDispatcher(); /* @var $dispatcher Dispatcher */
00070 
00071       list($verbName, $verbLocalized) = $verb;
00072 
00073       if ($verbName === 'translate') {
00074          import('lib.pkp.classes.linkAction.request.AjaxLegacyPluginModal');
00075          $actionRequest = new AjaxLegacyPluginModal($dispatcher->url($request, ROUTE_PAGE, null, 'translate'),
00076             $this->getDisplayName());
00077          return new LinkAction($verbName, $actionRequest, $verbLocalized, null);
00078       }
00079 
00080       return null;
00081    }
00082 }
00083 
00084 ?>

Generated on Mon Sep 17 2012 13:58:56 for Open Monograph Press by  doxygen 1.7.1