roles), array_map(function ($role) { return BASE.$role; }, Registrar::getFeatured('has_dashboard', 'user')) ) )>0; } /** * Feed Block Helpers */ function jvbGetUserContentTypes(int $postID):array { $types = get_post_meta($postID, BASE.'content_types', true); if ($types === '') { $types = []; $link = (int) get_post_meta($postID, BASE.'link', true); if ($link === '' || !is_numeric($link)) { return $types; } $user = get_userdata($link); if (!$user) { return $types; } $role = jvbUserRole((int) $link); $registrar = Registrar::getInstance($role); if ($registrar && !empty($registrar->getCreatable())){ foreach ($registrar->getCreatable() as $type) { if (is_array($type)) { $types = array_unique(array_merge($types, array_values($type)[0])); } else { $types[] = $type; } } } $temp = []; foreach ($types as $t) { $permission = JVB()->roles()->getPermission('edit',$t); if (user_can($link, $permission)){ $temp[] = $t; } } $types = Registrar::getFeatured('show_feed'); $types = array_filter($temp, function ($type) use ($types) { return in_array($type, $types); }); update_post_meta($postID, BASE.'content_types', $types); } return $types; }