/** * Remove unwanted items from an array using a key pattern. * @param $data (array) Array of data. * @param $pattern (string) Regular expression pattern for key to be removed. * @return array sanitized array. */ function sanitizeExportArray($data, $pattern) { foreach ($data as $k => $v) { if (preg_match($pattern, $k) > 0) { unset($data[$k]); } elseif (is_array($v)) { $data[$k] = sanitizeExportArray($v, $pattern); } } return $data; }
$objdata['capacity'] = $capacity; } // get all groups IDs $perm_groups = array_merge($perm_groups, array_keys($objdata['permissions'])); if ($userlevel >= K_AUTH_ADMINISTRATOR) { $objdata['permissions'] = F_getGroupsPermsDesc($objdata['permissions']); } $data['asset']['datacenter']['DCN' . $m['dcn_id']]['suite']['STS' . $m['sts_id']]['rack']['RCK' . $m['rck_id']]['object']['OBJ' . $m['obj_id']] = $objdata; } } } else { F_display_db_error(); } // filter data by removing unwanted fields if (!empty($pattern)) { $data['asset'] = sanitizeExportArray($data['asset'], $pattern); } // create a list of users that belongs to each group (if any) $data['groups'] = array(); if ($userlevel >= K_AUTH_ADMINISTRATOR) { if (!empty($perm_groups)) { foreach ($perm_groups as $group_id => $prm) { $sqlug = 'SELECT user_id, user_lastname, user_firstname, user_name, user_email, group_name FROM ' . K_TABLE_USERS . ', ' . K_TABLE_USERGROUP . ', ' . K_TABLE_GROUPS . ' WHERE usrgrp_user_id=user_id AND group_id=usrgrp_group_id AND usrgrp_group_id=' . $group_id . ' ORDER BY group_name, user_lastname, user_firstname, user_name'; if ($rug = F_db_query($sqlug, $db)) { while ($mug = F_db_fetch_array($rug)) { $data['groups'][$mug['group_name']][] = $mug['user_lastname'] . ' ' . $mug['user_firstname'] . ' [' . $mug['user_name'] . '] - ' . $mug['user_email']; } } else {