-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathstart.php
More file actions
67 lines (60 loc) · 1.76 KB
/
start.php
File metadata and controls
67 lines (60 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
function elgg_default_plugin_order(){
elgg_default_plugin_order_reorder();
elgg_default_plugin_order_set_status();
if(is_plugin_enabled('elgg_default_plugin_order')){
disable_plugin('elgg_default_plugin_order');
}
}
function elgg_default_plugin_order_load_config(){
$config_settings = array();
$config_file = elgg_get_config('path')."plugin_config.ini";
if(file_exists($config_file)){
//TODO Add sussport for sections to handle diferent environments
$config_settings = parse_ini_file($config_file);
}
$config_hash = md5(serialize($config_settings));
$old_config = get_plugin_setting('config','elgg_default_plugin_order');
if($old_config != $config_hash){
set_plugin_setting('config',$config_hash,'elgg_default_plugin_order');
return $config_settings;
}
return $config_settings;
// TODO Verify problem with cache handling
//return array();
}
function elgg_default_plugin_order_reorder(){
$final_order = array();
$sequence = 10;
$config_settings = elgg_default_plugin_order_load_config();
if(!empty($config_settings)){
foreach($config_settings as $plugin => $status){
$final_order[$sequence] = $plugin;
$sequence+=10;
}
regenerate_plugin_list($final_order);
elgg_filepath_cache_reset();
}
}
function elgg_default_plugin_order_set_status(){
$config_settings = elgg_default_plugin_order_load_config();
if(!empty($config_settings)){
foreach($config_settings as $plugin => $status){
switch($status){
case 'enabled':
if(!is_plugin_enabled($plugin)){
enable_plugin($plugin);
}
break;
case 'disabled':
if(is_plugin_enabled($plugin)){
disable_plugin($plugin);
}
break;
}
}
elgg_filepath_cache_reset();
}
}
register_elgg_event_handler('init','system','elgg_default_plugin_order');
?>