blob: f32544d8674dad9bc5fdab60b6c042697294728c (
plain)
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
|
<?php
/**
* Saves granular access
*
* @package ECML
*/
$whitelist = get_input('whitelist', array());
$keywords = $CONFIG->ecml_keywords;
$views = $CONFIG->ecml_parse_views;
// the front end uses a white list but the backend uses a
// blacklist for performance and extensibility.
// gotta convert.
$perms = array();
foreach ($views as $view => $view_info) {
foreach ($keywords as $keyword => $keyword_info) {
// don't need to add perms for restricted keywords
// because those perms are checked separately
if (isset($keyword_info['restricted'])) {
continue;
}
if (!isset($whitelist[$view]) || !in_array($keyword, $whitelist[$view])) {
$perms[$view][] = $keyword;
}
}
}
if (set_plugin_setting('ecml_permissions', serialize($perms), 'ecml')) {
system_message(elgg_echo('ecml:admin:permissions_saved'));
} else {
register_error(elgg_echo('ecml:admin:cannot_save_permissions'));
}
forward(REFERER);
|