暫無描述

importQuestionnaire.php 9.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. <?php
  2. include "/var/www/html/funciones.php";
  3. include "/var/www/html/conection_test.php";
  4. print_r($_FILES);
  5. // print_r($_POST);
  6. // print_r($_GET);
  7. //exit();
  8. // $archivo="Cuestionario perfecto.xlsx";
  9. // $id_experience= mysqli_real_escape_string($dbconnection, trim($_POST['experience']));
  10. $id_experience= 1000;
  11. $archivo=$_FILES["import"]["tmp_name"];
  12. $archivoOut="uploaderTemp";
  13. exec("ssconvert -S '$archivo' ../temp/$archivoOut-%s.csv");
  14. // print "ssconvert -S -D ../temp '$archivo' $archivoOut-%s.csv";print"<br>";
  15. print getcwd();
  16. $q_title=explode(".", $_FILES["import"]["name"])[0];
  17. $data_dir="../temp/";
  18. $archivosCSV=glob("$data_dir$archivoOut*.csv");
  19. print_r($archivosCSV);
  20. // exit();
  21. // $n=count($archivosCSV);
  22. // $n=2;
  23. // foreach (glob($archivoOut."*.csv") as $filename)
  24. $categoria=array();
  25. $subcategoria=array();
  26. $referencias=array();
  27. $tipo=array(1=>"SCALE",2=>"OPEN");
  28. $q=array();
  29. $i=0;
  30. $filename="$data_dir$archivoOut-questions.csv";
  31. $row = 1;
  32. if (($handle = fopen($filename, "r")) !== FALSE)
  33. {
  34. print $filename."\n";
  35. $j=0;
  36. while (($data = fgetcsv($handle)) !== FALSE)
  37. {
  38. // print_r($data);
  39. if($j==0)
  40. {
  41. $descripcion=$data[1];
  42. $pretest_date=$data[3];
  43. $posttest_date=$data[5];
  44. $sql=sprintf("insert into questionnair (q_title,description) values (%s,%s)",
  45. GetSQLValueString($q_title,"text"),
  46. GetSQLValueString($descripcion,"text")
  47. );
  48. mysqli_query($dbconnection, $sql);
  49. $id_cuestionario=mysqli_insert_id($dbconnection);
  50. }
  51. if($j>1)
  52. {
  53. // $num = count($data);
  54. // print_r($data);
  55. // $cat=array_search($data[1],$categoria);
  56. $cat=array_search($data[1], array_column($categoria, 'catText'));
  57. if($cat===false)
  58. {
  59. $categoria[]=array("catText"=>$data[1],"id_cat_db"=>"0");
  60. $cat=array_search($data[1], array_column($categoria, 'catText'));
  61. }
  62. // $subcat=array_search($data[2],$subcategoria);
  63. $subcat=array_search($data[2], array_column($subcategoria, 'subcat'));
  64. if($subcat===false)
  65. {
  66. $subcategoria[]=array('subcat'=>$data[2],"cat"=>$cat,"id_sub_db"=>0);
  67. $subcat=array_search($data[2], array_column($subcategoria, 'subcat'));
  68. }
  69. $ref=array_search($data[7],$referencias);
  70. $ref=array_search($data[7], array_column($referencias, 'refTexto'));
  71. if($ref===false)
  72. {
  73. $referencias[]=array("refTexto"=>$data[7],"id_ref_db"=>0);
  74. $ref=array_search($data[7], array_column($referencias, 'refTexto'));
  75. }
  76. $t=array_search($data[4],$tipo);
  77. // if($t===false)
  78. // {
  79. // $tipo[]=$data[4];
  80. // $t=array_search($data[4],$tipo);
  81. // }
  82. $vals=explode("-", $data[5]);
  83. $minval=$vals[0];
  84. if(isset($vals[1]))$mintext=trim($vals[1]);else $mintext="";
  85. $vals=explode("-", $data[6]);
  86. $maxval=$vals[0];
  87. if(isset($vals[1]))$maxtext=trim($vals[1]);else $maxtext="";
  88. $q[$data[0]]=array($data[0],$cat,$subcat,$ref,$t,$minval,$mintext,$maxval,$maxtext,$data[3],"id_q_db"=>"0");
  89. }
  90. $j++;
  91. }
  92. fclose($handle);
  93. }
  94. // exit();
  95. // print_r($categoria);
  96. // print_r($subcategoria);
  97. // print_r($referencias);
  98. // print_r($q);
  99. // print_r($tipo);
  100. //
  101. // exit();
  102. // $id_cuestionario=1000;
  103. // $id_cat_db=1234;
  104. // $id_cat_db=2345;
  105. foreach($categoria as &$cat)
  106. {
  107. $sql=sprintf("insert into category (categoria, id_questionnair) values (%s,%s)",
  108. GetSQLValueString($cat["catText"],"text"),
  109. GetSQLValueString($id_cuestionario,"int")
  110. );
  111. print($sql);print "\n";
  112. mysqli_query($dbconnection, $sql);
  113. $id_cat_db=mysqli_insert_id($dbconnection);
  114. $cat["id_cat_db"]=$id_cat_db;
  115. // $id_cat_db++;
  116. }
  117. // $id_subcat_db=2345;
  118. foreach($subcategoria as &$subcat)
  119. {
  120. $id_cat_db=$categoria[$subcat["cat"]]["id_cat_db"];
  121. $sql=sprintf("insert into subcategory (subcategoria,id_categoria) values (%s,%s)",
  122. GetSQLValueString($subcat["subcat"],"text"),
  123. GetSQLValueString($id_cat_db,"int")
  124. );
  125. print($sql);print "\n";
  126. mysqli_query($dbconnection, $sql);
  127. $id_subcat_db=mysqli_insert_id($dbconnection);
  128. $subcat["id_subcat_db"]=$id_subcat_db;
  129. // $id_subcat_db++;
  130. }
  131. // $id_ref_db=5678;
  132. foreach($referencias as &$ref)
  133. {
  134. $sql=sprintf("insert into reference (referencia) values (%s)",
  135. GetSQLValueString($ref["refTexto"],"text")
  136. );
  137. print($sql);print "\n";
  138. mysqli_query($dbconnection, $sql);
  139. $id_ref_db=mysqli_insert_id($dbconnection);
  140. $ref["id_ref_db"]=$id_ref_db;
  141. // $id_ref_db++;
  142. }
  143. // $id_q_db=3456;
  144. $n=count($q);
  145. foreach($q as $k=>$preg)
  146. {
  147. // $preg=$q[$k];
  148. $id_cat_db=$categoria[$preg[1]]["id_cat_db"];
  149. $id_subcat_db=$subcategoria[$preg[2]]["id_subcat_db"];
  150. $id_ref_db=$referencias[$preg[3]]["id_ref_db"];
  151. $sql=sprintf("insert into question (premise, id_category, id_subcategory, id_type, id_referencia) values (%s,%s,%s,%s,%s)",
  152. GetSQLValueString($preg[9],"text"),
  153. GetSQLValueString($id_cat_db,"int"),
  154. GetSQLValueString($id_subcat_db,"int"),
  155. GetSQLValueString($preg[4],"int"),
  156. GetSQLValueString($id_ref_db,"int")
  157. );
  158. // print($sql);print "\n";
  159. mysqli_query($dbconnection, $sql);
  160. $id_q_db=mysqli_insert_id($dbconnection);
  161. $q[$k]["id_q_db"]=$id_q_db;
  162. if($preg[4]==1)
  163. {
  164. $sql=sprintf("insert into question_type (id_type, id_question, label, value) values (%s,%s,%s,%s),(%s,%s,%s,%s),(%s,%s,%s,%s),(%s,%s,%s,%s)",
  165. GetSQLValueString($preg[4],"int"),
  166. GetSQLValueString($id_q_db,"int"),
  167. GetSQLValueString("min_val","text"),
  168. GetSQLValueString($preg[5],"int"),
  169. GetSQLValueString($preg[4],"int"),
  170. GetSQLValueString($id_q_db,"int"),
  171. GetSQLValueString("min_texto","text"),
  172. GetSQLValueString($preg[6],"text"),
  173. GetSQLValueString($preg[4],"int"),
  174. GetSQLValueString($id_q_db,"int"),
  175. GetSQLValueString("max_val","text"),
  176. GetSQLValueString($preg[7],"int"),
  177. GetSQLValueString($preg[4],"int"),
  178. GetSQLValueString($id_q_db,"int"),
  179. GetSQLValueString("max_texto","text"),
  180. GetSQLValueString($preg[8],"text")
  181. );
  182. // print($sql);print "\n";
  183. mysqli_query($dbconnection, $sql);
  184. }
  185. // $id_q_db++;
  186. }
  187. // print_r($q);
  188. // exit();
  189. // $id_subq=6789;
  190. // $title="Pre Test";
  191. // $descripcion="$title of $q_title";
  192. // $sql=sprintf("insert into subquestionnair (`title`, `description`, `id_questionnair`, `date_to_administer`) values (%s,%s,%s,%s)",
  193. // GetSQLValueString($title,"text"),
  194. // GetSQLValueString($descripcion,"text"),
  195. // GetSQLValueString($id_cuestionario,"int"),
  196. // GetSQLValueString($pretest_date,"text")
  197. // );
  198. // print($sql);print "\n";
  199. // mysqli_query($dbconnection, $sql);
  200. // $id_subq=mysqli_insert_id($dbconnection);
  201. // $sql=sprintf("INSERT INTO `experience_subquestionnair`( `id_experience`, `id_subquestionnair`) VALUES (%s,%s)",
  202. // GetSQLValueString($id_experience,"int"),
  203. // GetSQLValueString($id_subq,"int")
  204. // );
  205. // mysqli_query($dbconnection, $sql);
  206. // // print_r($q);
  207. // // exit();
  208. // $n=count($q);
  209. // foreach($q as $k=>$preg)
  210. // {
  211. // //print_r($data);print_r($q[$data[0]]);exit();
  212. // // print_r($preg);
  213. // $sql=sprintf("insert into subquestionnair_question (`id_subquestionnair`, `id_question`) values (%s,%s)",
  214. // GetSQLValueString($id_subq,"int"),
  215. // GetSQLValueString($q[$k]["id_q_db"],"int")
  216. // );
  217. // print($sql);print "\n";
  218. // mysqli_query($dbconnection, $sql);
  219. // }
  220. // exit();
  221. // $id_subq++;
  222. foreach($archivosCSV as $filename)
  223. {
  224. if(strpos($filename, "questions")===false and strpos($filename, "instructions")===false)
  225. {
  226. $row = 1;
  227. $title=explode(".",explode("-", $filename)[1])[0];
  228. if (($handle = fopen($filename, "r")) !== FALSE)
  229. {
  230. print $filename."\n";
  231. $j=0;
  232. while (($data = fgetcsv($handle)) !== FALSE)
  233. {
  234. if($j==2)print_r($data);print"<br>";
  235. if($j==0)
  236. {
  237. $descripcion=$data[1];
  238. $fecha=$data[3];
  239. $sql=sprintf("insert into subquestionnair (`title`, `description`, `id_questionnair`, `date_to_administer`) values (%s,%s,%s,%s)",
  240. GetSQLValueString($title,"text"),
  241. GetSQLValueString($descripcion,"text"),
  242. GetSQLValueString($id_cuestionario,"int"),
  243. GetSQLValueString($fecha,"text")
  244. );
  245. print($sql);print "\n";
  246. mysqli_query($dbconnection, $sql);
  247. $id_subq=mysqli_insert_id($dbconnection);
  248. $sql=sprintf("INSERT INTO `experience_subquestionnair`( `id_experience`, `id_subquestionnair`) VALUES (%s,%s)",
  249. GetSQLValueString($id_experience,"int"),
  250. GetSQLValueString($id_subq,"int")
  251. );
  252. mysqli_query($dbconnection, $sql);
  253. }
  254. if($j>1)
  255. {
  256. // if($j==2)print_r($data);print"<br>";
  257. //print_r($data);print_r($q[$data[0]]);exit();
  258. $sql=sprintf("insert into subquestionnair_question (`id_subquestionnair`, `id_question`) values (%s,%s)",
  259. GetSQLValueString($id_subq,"int"),
  260. GetSQLValueString($q[$data[0]]["id_q_db"],"int")
  261. );
  262. print($sql);print "\n";
  263. mysqli_query($dbconnection, $sql);
  264. // $q[$data[0]]
  265. }
  266. $j++;
  267. }
  268. }
  269. }
  270. // $id_subq++;
  271. fclose($handle);
  272. }
  273. // $title="Post Test";
  274. // $descripcion="$title of $q_title";
  275. // $sql=sprintf("insert into subquestionnair (`title`, `description`, `id_questionnair`, `date_to_administer`) values (%s,%s,%s,%s)",
  276. // GetSQLValueString($title,"text"),
  277. // GetSQLValueString($descripcion,"text"),
  278. // GetSQLValueString($id_cuestionario,"int"),
  279. // GetSQLValueString($pretest_date,"text")
  280. // );
  281. // print($sql);print "\n";
  282. // mysqli_query($dbconnection, $sql);
  283. // $id_subq=mysqli_insert_id($dbconnection);
  284. // $sql=sprintf("INSERT INTO `experience_subquestionnair`( `id_experience`, `id_subquestionnair`) VALUES (%s,%s)",
  285. // GetSQLValueString($id_experience,"int"),
  286. // GetSQLValueString($id_subq,"int")
  287. // );
  288. // mysqli_query($dbconnection, $sql);
  289. //
  290. //
  291. // $n=count($q);
  292. // foreach($q as $k=>$preg)
  293. // {
  294. // //print_r($data);print_r($q[$data[0]]);exit();
  295. // $sql=sprintf("insert into subquestionnair_question (`id_subquestionnair`, `id_question`) values (%s,%s)",
  296. // GetSQLValueString($id_subq,"int"),
  297. // GetSQLValueString($q[$k]["id_q_db"],"int")
  298. // );
  299. // print($sql);print "\n";
  300. // mysqli_query($dbconnection, $sql);
  301. // }
  302. foreach($archivosCSV as $filename)
  303. {
  304. exec("rm '$filename'");
  305. }
  306. ?>