Import.class.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * Define a Import
  4. * @author Administrateur PRINCIPAL
  5. * @category Plugin
  6. * @license MIT
  7. */
  8. class Import extends Entity{
  9. public $id;
  10. public $label; //Libellé (Texte)
  11. public $entity; //Entitée (Texte)
  12. public $startLine; //Ligne de départ (Nombre Entier)
  13. public $headerLine; //Ligne d'en-tête (Nombre Entier)
  14. public $hasheader; //Nom de colonnes présentes (Vrai ou Faux)
  15. public $file; //Excel (Fichier)
  16. public $meta; //Meta (Texte long)
  17. protected $TABLE_NAME = 'import';
  18. public $entityLabel = 'Import';
  19. public $fields = array(
  20. 'id' => array('type'=>'key', 'label' => 'Identifiant'),
  21. 'label' => array('type'=>'text', 'label' => 'Libellé'),
  22. 'entity' => array('type'=>'text', 'label' => 'Entitée'),
  23. 'startLine' => array('type'=>'integer', 'label' => 'Ligne de départ'),
  24. 'headerLine' => array('type'=>'integer', 'label' => 'Ligne d\'en-tête'),
  25. 'hasheader' => array('type'=>'boolean', 'label' => 'En-tête présente'),
  26. 'meta' => array('type'=>'textarea', 'label' => 'Infos contextuelles')
  27. );
  28. public $links = array(
  29. );
  30. //liste des Macro possibles possibles
  31. public static function macros($key=null){
  32. $macros = array();
  33. Plugin::callHook('import_macros',array(&$macros));
  34. if(!isset($key)) return $macros;
  35. return isset($macros[$key]) ? $macros[$key] : false;
  36. }
  37. static function remove($id){
  38. require_once(__DIR__.SLASH.'ImportMapping.class.php');
  39. Import::delete(array('id'=>$id));
  40. ImportMapping::delete(array('import'=>$id));
  41. $excel = File::dir().'import'.SLASH.$id;
  42. if(file_exists($excel )) delete_folder_tree($excel,true);
  43. }
  44. public static function templates($extension = null){
  45. $templates = array();
  46. foreach(glob(__DIR__.SLASH.'template'.SLASH.'*.class.php') as $file){
  47. require_once($file);
  48. $class = str_replace('.class.php','',basename($file));
  49. $instance = new $class();
  50. $templates[$instance->extension] = $instance;
  51. }
  52. if(!isset($extension)) return $templates;
  53. return isset($templates[$extension]) ? $templates[$extension] : false;
  54. }
  55. //Colonnes indexées
  56. public $indexes = array();
  57. }
  58. ?>