Elgg  Version 1.9
activate.php
Go to the documentation of this file.
1 <?php
14 $plugin_guids = get_input('plugin_guids');
15 
16 if (!is_array($plugin_guids)) {
18 }
19 
20 $activated_guids = array();
21 foreach ($plugin_guids as $guid) {
22  $plugin = get_entity($guid);
23 
24  if (!($plugin instanceof ElggPlugin)) {
25  register_error(elgg_echo('admin:plugins:activate:no', array($guid)));
26  continue;
27  }
28 
29  if ($plugin->activate()) {
31  $ids = array(
32  'cannot_start' . $plugin->getID(),
33  'invalid_and_deactivated_' . $plugin->getID()
34  );
35 
36  foreach ($ids as $id) {
38  }
39 
40  } else {
41  $msg = $plugin->getError();
42  $string = ($msg) ? 'admin:plugins:activate:no_with_msg' : 'admin:plugins:activate:no';
43  register_error(elgg_echo($string, array($plugin->getFriendlyName(), $plugin->getError())));
44  }
45 }
46 
47 // don't regenerate the simplecache because the plugin won't be
48 // loaded until next run. Just invalidate and let it regenerate as needed
51 
52 if (count($activated_guids) === 1) {
53  $url = 'admin/plugins';
54  $query = (string)parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY);
55  if ($query) {
56  $url .= "?$query";
57  }
59  $id = $css_id = preg_replace('/[^a-z0-9-]/i', '-', $plugin->getID());
60  forward("$url#$id");
61 } else {
62  // forward to top of page with a failure so remove any #foo
63  $url = $_SERVER['HTTP_REFERER'];
64  if (strpos($url, '#')) {
65  $url = substr(0, strpos($url, '#'));
66  }
67  forward($url);
68 }
elgg_delete_admin_notice($id)
Remove an admin notice by ID.
Definition: admin.php:116
elgg_reset_system_cache()
Reset the system cache by deleting the caches.
Definition: cache.php:40
$plugin
get_input($variable, $default=null, $filter_result=true)
Get some input from variables passed submitted through GET or POST.
Definition: input.php:27
$plugin_guids
Definition: activate.php:14
if(!is_array($plugin_guids)) $activated_guids
Definition: activate.php:20
elgg_invalidate_simplecache()
Deletes all cached views in the simplecache and sets the lastcache and lastupdate time to 0 for every...
Definition: cache.php:278
$guid
Removes an admin notice.
elgg parse_url
Parse a URL into its parts.
Definition: elgglib.js:432
elgg forward
Meant to mimic the php forward() function by simply redirecting the user to another page...
Definition: elgglib.js:419
$url
Definition: exceptions.php:24
$string
elgg_echo($message_key, $args=array(), $language="")
Given a message key, returns an appropriately translated full-text string.
Definition: languages.php:21
$css_id
Definition: full.php:25
elgg register_error
Wrapper function for system_messages.
Definition: elgglib.js:383
if(!$collection_name) $id
Definition: add.php:17
get_entity($guid)
Loads and returns an entity object from a guid.
Definition: entities.php:604