ResourceType.class.php 1001 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * Define a resource Type.
  4. * @author Idleman
  5. * @category Plugin
  6. * @license copyright
  7. */
  8. class ResourceType{
  9. public static function types($slug=null){
  10. $typefiles = array();
  11. Plugin::callHook('hackpoint_resource_type',array(&$typefiles));
  12. $types = array();
  13. foreach($typefiles as $file){
  14. $class = str_replace('.class.php','',basename($file));
  15. require_once($file);
  16. if(!method_exists ( $class , 'toHtml' )) continue;
  17. if(!method_exists ( $class , 'toJson' )) continue;
  18. if(!method_exists ( $class , 'toFile' )) continue;
  19. if(!method_exists ( $class , 'fromJson' )) continue;
  20. if(!method_exists ( $class , 'fromFile' )) continue;
  21. $infos = $class::manifest();
  22. $infos['class'] = $class;
  23. $infos['path'] = $file;
  24. $types[$infos['uid']] = $infos;
  25. }
  26. // $type = new ResourceType();
  27. // $type->color = '#20c997';
  28. // $type->icon = 'fas fa-code';
  29. if(!isset($slug)) return $types;
  30. return isset($types[$slug]) ? $types[$slug] : false;
  31. }
  32. }
  33. ?>