/_plugins_/eva_geometrie/2.0/eva_geometrie_administrations.php

https://bitbucket.org/pombredanne/spip-zone-treemap · PHP · 160 lines · 134 code · 4 blank · 22 comment · 35 complexity · 76e5d21db6b4b34fb632aea566ccba81 MD5 · raw file

  1. <?php
  2. function eva_geometrie_install($action){
  3. switch ($action){
  4. case 'test':
  5. if (!$GLOBALS['meta']['eva_geometrie_test']) {return false;}
  6. else {
  7. //Pour les collègues matheux, on insères ici quelques formats de documents à accepter par SPIP pour le logiciel Scilab
  8. //Ajout de l'icone pour le format sce pour Scilab
  9. if (!@opendir(_DIR_IMG."icones")) {mkdir(_DIR_IMG."icones");}
  10. if (!@fopen(_DIR_IMG."icones/sce.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/sce.png',_DIR_IMG.'icones/sce.png');}
  11. //On poursuit avec l'ajout du format sce dans la base de données
  12. $test_sce_req=sql_select('inclus','spip_types_documents',"extension = 'sce'");
  13. $test_sce_ta=sql_fetch($test_sce_req);
  14. $test_sce=$test_sce_ta['inclus'];
  15. if (!$test_sce) {
  16. sql_insertq('spip_types_documents',array('extension' => 'sce','mime_type' => 'application/Scilab','titre' => 'Scilab','inclus' => 'embed','upload' => 'oui'));
  17. }
  18. //Ajout de l'icone pour le format sci pour Scilab
  19. if (!@fopen(_DIR_IMG."icones/sci.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/sci.png',_DIR_IMG.'icones/sci.png');}
  20. //On poursuit avec l'ajout du format sci dans la base de données
  21. $test_sci_req=sql_select('inclus','spip_types_documents',"extension = 'sci'");
  22. $test_sci_ta=sql_fetch($test_sci_req);
  23. $test_sci=$test_sci_ta['inclus'];
  24. if (!$test_sci) {
  25. sql_insertq('spip_types_documents',array('extension' => 'sci','mime_type' => 'application/Scilab','titre' => 'Scilab','inclus' => 'embed','upload' => 'oui'));
  26. }
  27. //Ajout de l'icone pour le format tst pour Scilab
  28. if (!@fopen(_DIR_IMG."icones/tst.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/tst.png',_DIR_IMG.'icones/tst.png');}
  29. //On poursuit avec l'ajout du format tst dans la base de données
  30. $test_tst_req=sql_select('inclus','spip_types_documents',"extension = 'tst'");
  31. $test_tst_ta=sql_fetch($test_tst_req);
  32. $test_tst=$test_tst_ta['inclus'];
  33. if (!$test_tst) {
  34. sql_insertq('spip_types_documents',array('extension' => 'tst','mime_type' => 'application/Scilab','titre' => 'Scilab','inclus' => 'embed','upload' => 'oui'));
  35. }
  36. //Ajout de l'icone pour le format cos pour Scilab
  37. if (!@fopen(_DIR_IMG."icones/cos.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/cos.png',_DIR_IMG.'icones/cos.png');}
  38. //On poursuit avec l'ajout du format cos dans la base de données
  39. $test_cos_req=sql_select('inclus','spip_types_documents',"extension = 'cos'");
  40. $test_cos_ta=sql_fetch($test_cos_req);
  41. $test_cos=$test_cos_ta['inclus'];
  42. if (!$test_cos) {
  43. sql_insertq('spip_types_documents',array('extension' => 'cos','mime_type' => 'application/Scilab','titre' => 'Scilab','inclus' => 'embed','upload' => 'oui'));
  44. }
  45. //Ajout de l'icone pour le format xcos pour Scilab
  46. if (!@fopen(_DIR_IMG."icones/xcos.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/xcos.png',_DIR_IMG.'icones/xcos.png');}
  47. //On poursuit avec l'ajout du format xcos dans la base de données
  48. $test_xcos_req=sql_select('inclus','spip_types_documents',"extension = 'xcos'");
  49. $test_xcos_ta=sql_fetch($test_xcos_req);
  50. $test_xcos=$test_xcos_ta['inclus'];
  51. if (!$test_xcos) {
  52. sql_insertq('spip_types_documents',array('extension' => 'xcos','mime_type' => 'application/Scilab','titre' => 'Scilab','inclus' => 'embed','upload' => 'oui'));
  53. }
  54. //Ajout de l'icone pour le format cosf pour Scilab
  55. if (!@fopen(_DIR_IMG."icones/cosf.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/cosf.png',_DIR_IMG.'icones/cosf.png');}
  56. //On poursuit avec l'ajout du format cosf dans la base de données
  57. $test_cosf_req=sql_select('inclus','spip_types_documents',"extension = 'cosf'");
  58. $test_cosf_ta=sql_fetch($test_cosf_req);
  59. $test_cosf=$test_cosf_ta['inclus'];
  60. if (!$test_cosf) {
  61. sql_insertq('spip_types_documents',array('extension' => 'cosf','mime_type' => 'application/Scilab','titre' => 'Scilab','inclus' => 'embed','upload' => 'oui'));
  62. }
  63. //Pour les collègues matheux, on insères ici quelques formats de documents à accepter par SPIP (algobox, XCAS)
  64. //On commence par ajouter l'icone pour le format alg = logiciel algobox
  65. if (!@fopen(_DIR_IMG."icones/alg.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/alg.png',_DIR_IMG.'icones/alg.png');}
  66. //On poursuit avec l'ajout du format alg dans la base de données
  67. $test_alg_req=sql_select('inclus','spip_types_documents',"extension = 'alg'");
  68. $test_alg_ta=sql_fetch($test_alg_req);
  69. $test_alg=$test_alg_ta['inclus'];
  70. if (!$test_alg) {
  71. sql_insertq('spip_types_documents',array('extension' => 'alg','mime_type' => 'application/algobox','titre' => 'AlgoBox','inclus' => 'embed','upload' => 'oui'));
  72. }
  73. //On commence par ajouter l'icone pour le format xws = logiciel Xcas
  74. if (!@fopen(_DIR_IMG."icones/xws.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/xws.png',_DIR_IMG.'icones/xws.png');}
  75. //On poursuit avec l'ajout du format xws dans la base de données
  76. $test_xws_req=sql_select('inclus','spip_types_documents',"extension = 'xws'");
  77. $test_xws_ta=sql_fetch($test_xws_req);
  78. $test_xws=$test_xws_ta['inclus'];
  79. if (!$test_xws) {
  80. sql_insertq('spip_types_documents',array('extension' => 'xws','mime_type' => 'application/Xcas','titre' => 'Xcas','inclus' => 'embed','upload' => 'oui'));
  81. }
  82. //Mise à jour avec le nouveau format zirs pour CarMetal
  83. //On commence par ajouter l'icone pour le format zirs = copie de zir
  84. if (!@fopen(_DIR_IMG."icones/zirs.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/zirs.png',_DIR_IMG.'icones/zirs.png');}
  85. //On poursuit avec l'ajout du format zirs dans la base de données
  86. $test_zirs_req=sql_select('inclus','spip_types_documents',"extension = 'zirs'");
  87. $test_zirs_ta=sql_fetch($test_zirs_req);
  88. $test_zirs=$test_zirs_ta['inclus'];
  89. if (!$test_zirs) {
  90. sql_insertq('spip_types_documents',array('extension' => 'zirs','mime_type' => 'application/x-carmetal','titre' => 'CarMetal','inclus' => 'embed','upload' => 'oui'));
  91. }
  92. //Tests globaux
  93. $test_req=sql_select('inclus','spip_types_documents',"extension = 'ggb'");
  94. $test_ta=sql_fetch($test_req);
  95. $test=$test_ta['inclus'];
  96. $test2_req=sql_select('inclus','spip_types_documents',"extension = 'glb'");
  97. $test2_ta=sql_fetch($test2_req);
  98. $test2=$test2_ta['inclus'];
  99. $test3_req=sql_select('inclus','spip_types_documents',"extension = 'gxt'");
  100. $test3_ta=sql_fetch($test3_req);
  101. $test3=$test3_ta['inclus'];
  102. $test4_req=sql_select('inclus','spip_types_documents',"extension = 'zir'");
  103. $test4_ta=sql_fetch($test4_req);
  104. $test4=$test4_ta['inclus'];
  105. $test5_req=sql_select('inclus','spip_types_documents',"extension = 'zirs'");
  106. $test5_ta=sql_fetch($test5_req);
  107. $test5=$test5_ta['inclus'];
  108. if ((!@opendir(_DIR_IMG."icones")) OR (!@fopen(_DIR_IMG."icones/ggb.png", "r")) OR (!@fopen(_DIR_IMG."icones/glb.png", "r")) OR (!@fopen(_DIR_IMG."icones/gxt.png", "r")) OR (!@fopen(_DIR_IMG."icones/zir.png", "r")) OR (!@fopen(_DIR_IMG."icones/zirs.png", "r")) OR !$test OR !$test2 OR !$test3 OR !$test4 OR !$test5) {return false;}
  109. else {return true;}
  110. }
  111. break;
  112. case 'install':
  113. if (!@opendir(_DIR_IMG."icones")) {mkdir(_DIR_IMG."icones");}
  114. if (!@fopen(_DIR_IMG."icones/ggb.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/ggb.png',_DIR_IMG.'icones/ggb.png');}
  115. if (!@fopen(_DIR_IMG."icones/glb.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/glb.png',_DIR_IMG.'icones/glb.png');}
  116. if (!@fopen(_DIR_IMG."icones/gxt.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/gxt.png',_DIR_IMG.'icones/gxt.png');}
  117. if (!@fopen(_DIR_IMG."icones/zir.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/zir.png',_DIR_IMG.'icones/zir.png');}
  118. if (!@fopen(_DIR_IMG."icones/zirs.png", "r")) {copy(_DIR_PLUGIN_EVA_GEOMETRIE.'img_pack/zirs.png',_DIR_IMG.'icones/zirs.png');}
  119. $test_req=sql_select('inclus','spip_types_documents',"extension = 'ggb'");
  120. $test_ta=sql_fetch($test_req);
  121. $test=$test_ta['inclus'];
  122. if (!$test) {
  123. sql_insertq('spip_types_documents',array('extension' => 'ggb','mime_type' => 'application-x/geogebra-file','titre' => 'GeoGebra','inclus' => 'embed','upload' => 'oui'));
  124. }
  125. $test2_req=sql_select('inclus','spip_types_documents',"extension = 'glb'");
  126. $test2_ta=sql_fetch($test2_req);
  127. $test2=$test2_ta['inclus'];
  128. if (!$test2) {
  129. sql_insertq('spip_types_documents',array('extension' => 'glb','mime_type' => 'application/geolabo','titre' => 'GeoLabo','inclus' => 'embed','upload' => 'oui'));
  130. }
  131. $test3_req=sql_select('inclus','spip_types_documents',"extension = 'gxt'");
  132. $test3_ta=sql_fetch($test3_req);
  133. $test3=$test3_ta['inclus'];
  134. if (!$test3) {
  135. sql_insertq('spip_types_documents',array('extension' => 'gxt','mime_type' => 'application/geonext','titre' => 'GeoNext','inclus' => 'embed','upload' => 'oui'));
  136. }
  137. $test4_req=sql_select('inclus','spip_types_documents',"extension = 'zir'");
  138. $test4_ta=sql_fetch($test4_req);
  139. $test4=$test4_ta['inclus'];
  140. if (!$test4) {
  141. sql_insertq('spip_types_documents',array('extension' => 'zir','mime_type' => 'application/x-carmetal','titre' => 'CarMetal','inclus' => 'embed','upload' => 'oui'));
  142. }
  143. $test_zirs_req=sql_select('inclus','spip_types_documents',"extension = 'zirs'");
  144. $test_zirs_ta=sql_fetch($test_zirs_req);
  145. $test_zirs=$test_zirs_ta['inclus'];
  146. if (!$test_zirs) {
  147. sql_insertq('spip_types_documents',array('extension' => 'zirs','mime_type' => 'application/x-carmetal','titre' => 'CarMetal','inclus' => 'embed','upload' => 'oui'));
  148. }
  149. ecrire_meta('eva_geometrie_test','1');
  150. break;
  151. case 'uninstall':
  152. effacer_meta('eva_geometrie_test');
  153. break;
  154. }
  155. }
  156. ?>