$file){ $class = str_replace('.class.php','',basename($file)); require_once($file); if(!method_exists ( $class , 'toHtml' )) continue; if(!method_exists ( $class , 'toJson' )) continue; if(!method_exists ( $class , 'toFile' )) continue; if(!method_exists ( $class , 'fromJson' )) continue; if(!method_exists ( $class , 'fromFile' )) continue; $infos = $class::manifest(); if($onlyActive && empty($conf->get('hackpoint_resource_'.$infos['uid'])) ) continue; $infos['class'] = $class; $infos['path'] = $file; $types[$infos['uid']] = $infos; } uasort($types,function($a,$b){ if ($a['label'] > $b['label']) return 1; if ($a['label'] < $b['label']) return -1; if ($a['label'] == $b['label']) return 0; }); // $type = new ResourceType(); // $type->color = '#20c997'; // $type->icon = 'fas fa-code'; if(!isset($slug)) return $types; return isset($types[$slug]) ? $types[$slug] : false; } } ?>