20 public function activate(
$id, $force =
false) {
24 throw new \InvalidParameterException(
"No plugin with '$id'' found");
28 throw new \InvalidParameterException(
"Plugin manifest for '$id' is invalid");
35 $conflicts = $this->getConflicts(
$id);
36 foreach ($conflicts as $conflict) {
37 $this->deactivate($conflict,
true);
40 $requires = $this->getRequires(
$id);
41 foreach ($requires as $require) {
42 $this->activate($require,
true);
58 public function deactivate(
$id, $force =
false) {
61 throw new \InvalidParameterException(
"No plugin with '$id'' found");
65 throw new \InvalidParameterException(
"Plugin manifest for '$id' is invalid");
72 $dependents = $this->getDependents(
$id);
73 foreach ($dependents as $dependent) {
74 $this->deactivate($dependent);
87 public function getDependents(
$id) {
92 foreach ($active_plugins as
$plugin) {
93 $manifest = $plugin->getManifest();
98 $requires = $manifest->getRequires();
101 if ($required[
'type'] ==
'plugin' && $required[
'name'] ==
$id) {
103 $result[] = $manifest->getPluginID();
118 public function getConflicts(
$id) {
123 $conflicts = $plugin->getManifest()->getConflicts();
125 foreach ($conflicts as $conflict) {
126 if ($conflict[
'type'] ===
'plugin') {
127 $name = $conflict[
'name'];
144 public function getRequires(
$id) {
149 $requires = $plugin->getManifest()->getRequires();
151 foreach ($requires as $require) {
152 if ($require[
'type'] ===
'plugin') {
153 $name = $require[
'name'];
if(!$user||!$user->canDelete()) $name
$id
River item delete action.
elgg_get_plugins($status= 'active')
Returns an ordered list of plugins.
elgg_get_plugin_from_id($plugin_id)
Returns an object with the path $path.