From 782e0175250990b32a74dfc781b8dd43edef1629 Mon Sep 17 00:00:00 2001 From: nbm Date: Wed, 5 Oct 2005 12:17:51 +0000 Subject: [PATCH] Add some accessors to allow easy use of actions via templates. --- lib/actions/documentaction.inc.php | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/lib/actions/documentaction.inc.php b/lib/actions/documentaction.inc.php index 25dce55..59b49ad 100644 --- a/lib/actions/documentaction.inc.php +++ b/lib/actions/documentaction.inc.php @@ -66,19 +66,31 @@ class KTDocumentAction { return $this->customiseInfo($aInfo); } + function getName() { + return $this->sName; + } + + function getDisplayName() { + return $this->sDisplayName; + } + + function getDescription() { + return $this->sDescription; + } + function customiseInfo($aInfo) { return $aInfo; } } class KTDocumentActionUtil { - function getDocumentActions() { + function getDocumentActionInfo() { $oRegistry =& KTActionRegistry::getSingleton(); return $oRegistry->getActions('documentaction'); } function &getDocumentActionsForDocument($oDocument, $oUser) { $aObjects = array(); - foreach (KTDocumentActionUtil::getDocumentActions() as $aAction) { + foreach (KTDocumentActionUtil::getDocumentActionInfo() as $aAction) { list($sClassName, $sPath) = $aAction; if (!empty($sPath)) { // require_once(KT_DIR . @@ -88,6 +100,39 @@ class KTDocumentActionUtil { } return $aObjects; } + + function getAllDocumentActions() { + $aObjects = array(); + $oDocument = null; + $oUser = null; + foreach (KTDocumentActionUtil::getDocumentActionInfo() as $aAction) { + list($sClassName, $sPath, $sName) = $aAction; + if (!empty($sPath)) { + // require_once(KT_DIR . + // Or something... + } + $aObjects[] =& new $sClassName($oDocument, $oUser); + } + return $aObjects; + } + + function getDocumentActionsByNames($aNames) { + $aObjects = array(); + $oDocument = null; + $oUser = null; + foreach (KTDocumentActionUtil::getDocumentActionInfo() as $aAction) { + list($sClassName, $sPath, $sName) = $aAction; + if (!in_array($sName, $aNames)) { + continue; + } + if (!empty($sPath)) { + // require_once(KT_DIR . + // Or something... + } + $aObjects[] =& new $sClassName($oDocument, $oUser); + } + return $aObjects; + } } class KTBuiltInDocumentAction extends KTDocumentAction { -- libgit2 0.21.4