133 lines
2.9 KiB
PHP
133 lines
2.9 KiB
PHP
<?php
|
|
/**
|
|
* @defgroup linkAction LinkActions
|
|
* Link actions are representations of various kinds of actions that can be
|
|
* invoked by clicking a link.
|
|
*/
|
|
|
|
/**
|
|
* @file classes/linkAction/LinkAction.php
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2000-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class LinkAction
|
|
*
|
|
* @ingroup linkAction
|
|
*
|
|
* @brief Base class defining an action that can be performed by the user
|
|
* in the user interface.
|
|
*/
|
|
|
|
namespace PKP\linkAction;
|
|
|
|
use PKP\linkAction\request\LinkActionRequest;
|
|
use PKP\plugins\Hook;
|
|
|
|
class LinkAction
|
|
{
|
|
/** @var string the id of the action */
|
|
public $_id;
|
|
|
|
/** @var LinkActionRequest The action to be taken when the link action is activated */
|
|
public $_actionRequest;
|
|
|
|
/** @var string The localized title of the action. */
|
|
public $_title;
|
|
|
|
/** @var string The localized tool tip of the action. */
|
|
public $_toolTip;
|
|
|
|
/** @var string The name of an icon for the action. */
|
|
public $_image;
|
|
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param string $id
|
|
* @param LinkActionRequest $actionRequest The action to be taken when the link action is activated.
|
|
* @param string $title (optional) The localized title of the action.
|
|
* @param string $image (optional) The name of an icon for the
|
|
* action.
|
|
* @param string $toolTip (optional) A localized tool tip to display when hovering over
|
|
* the link action.
|
|
*/
|
|
public function __construct($id, $actionRequest, $title = null, $image = null, $toolTip = null)
|
|
{
|
|
$this->_id = $id;
|
|
assert($actionRequest instanceof LinkActionRequest);
|
|
$this->_actionRequest = $actionRequest;
|
|
$this->_title = $title;
|
|
$this->_image = $image;
|
|
$this->_toolTip = $toolTip;
|
|
Hook::call('LinkAction::construct', [$this]);
|
|
}
|
|
|
|
|
|
//
|
|
// Getters and Setters
|
|
//
|
|
/**
|
|
* Get the action id.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getId()
|
|
{
|
|
return $this->_id;
|
|
}
|
|
|
|
/**
|
|
* Get the action handler.
|
|
*
|
|
* @return LinkActionRequest
|
|
*/
|
|
public function getActionRequest()
|
|
{
|
|
return $this->_actionRequest;
|
|
}
|
|
|
|
/**
|
|
* Get the localized action title.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getTitle()
|
|
{
|
|
return $this->_title;
|
|
}
|
|
|
|
/**
|
|
* Set the localized action title.
|
|
*/
|
|
public function setTitle($title)
|
|
{
|
|
$this->_title = $title;
|
|
}
|
|
|
|
/**
|
|
* Get the localized tool tip.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getToolTip()
|
|
{
|
|
return $this->_toolTip;
|
|
}
|
|
|
|
/**
|
|
* Get the action image.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getImage()
|
|
{
|
|
return $this->_image;
|
|
}
|
|
}
|
|
|
|
if (!PKP_STRICT_MODE) {
|
|
class_alias('\PKP\linkAction\LinkAction', '\LinkAction');
|
|
}
|