function rules_admin_rule_proxy::_clean_rule in Rules 6
1 call to rules_admin_rule_proxy::_clean_rule()
- rules_admin_rule_proxy::clean_rule in rules_admin/rules_admin.rule_proxy.inc
- Cleans the given rule. This means, array keys that are neither elements
nor properties are removed.
File
- rules_admin/rules_admin.rule_proxy.inc, line 178
- Contains the rules proxy class
Class
- rules_admin_rule_proxy
- This is a smally proxy for the real rule. It provides some useful operations for the admin UI.
It builds a small index for the elements of a rule, so that they can be easily identified and modified.
Code
function _clean_rule(&$element) {
$children = array();
foreach (element_children($element) as $key) {
if (!isset($element[$key]['#type'])) {
foreach (element_children($element[$key]) as $child_key) {
$children[$child_key] = $element[$key][$child_key];
}
unset($element[$key]);
}
else {
$this
->_clean_rule($element[$key]);
}
}
if (count($children)) {
$element = array_merge($element, $children);
}
}