Skip to content
This repository was archived by the owner on Sep 10, 2021. It is now read-only.

Commit d993e02

Browse files
committed
ENH: refs #250. Allow modules to register their own web api extensions
1 parent 8562450 commit d993e02

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

modules/api/controllers/IndexController.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,17 @@ private function _setApiCallbacks($apiMethodPrefix)
373373
$help['description'] = 'Get metadata';
374374
$this->helpContent[$apiMethodPrefix.'item.getmetadata'] = $help;
375375
$this->apicallbacks[$apiMethodPrefix.'item.getmetadata'] = array(&$this, 'itemGetMetadata');
376+
377+
// Extend web API to other modules via CALLBACK_API_METHODS
378+
$additionalMethods = Zend_Registry::get('notifier')->callback('CALLBACK_API_METHODS', array());
379+
foreach($additionalMethods as $module => $methods)
380+
{
381+
foreach($methods as $method)
382+
{
383+
$this->helpContent[$apiMethodPrefix.strtolower($module).'.'.$method['name']] = $method['help'];
384+
$this->apicallbacks[$apiMethodPrefix.strtolower($module).'.'.$method['name']] = array($method['callbackObject'], $method['callbackFunction']);
385+
}
386+
}
376387
}
377388

378389
/** Initialize property allowing to generate XML */
@@ -1370,7 +1381,7 @@ function userFolders($args)
13701381
return array();
13711382
}
13721383

1373-
$userRootFolder = $userDao->getFolder();
1384+
$userRootFolder = $userDao->getFolder();
13741385
return $this->Folder->getChildrenFoldersFiltered($userRootFolder, $userDao, MIDAS_POLICY_READ);
13751386
}
13761387

0 commit comments

Comments
 (0)