superedit-CRM_TESTY_PYTANIA_TO_IMPORT.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?php
  2. function CRM_TESTY_PYTANIA_TO_IMPORT() {
  3. $_REQUEST['ID']=addslashes($_REQUEST['ID']);
  4. $sql="select * from `CRM_TESTY_PYTANIA_TO_IMPORT` where ID='{$_REQUEST['ID']}' and CRM_TESTY_PYTANIA_ID < 1";
  5. $res=DB::query($sql);
  6. while($h=DB::fetch($res)) {
  7. if(!empty($h->IMPORT_FROM_TESTWIEDZY_PL)) {
  8. //struktura dla importu z portalu testwiedzy.pl
  9. //1. Jak nazywa się plik, w którym menedżer pamięci wirtualnej zapisuje dane?
  10. //A. Dysk lokalny
  11. //B. Kosz
  12. //C. Autostart
  13. //D. Plik wymiany
  14. //Poprawna odpowiedź: D
  15. //Twoja odpowiedź: D
  16. //zgłoś błąd w pytaniu, zdobywaj punkty korektora »
  17. $rows=explode("\n",$h->IMPORT_FROM_TESTWIEDZY_PL);
  18. $sz_pyt=true;
  19. $sz_odp=false;
  20. $sz_popr_odp=false;
  21. $sz_tw_odp=false;
  22. $sz_uzas=false;
  23. $sz_uzas_tresc=false;
  24. $sz_komentarz=false;
  25. $sz_zg=false;
  26. $id=1;
  27. foreach($rows as $row) {
  28. //echo "<br>testing pyt:".$sz_pyt." odp:".$sz_odp." popr_odp:".$sz_popr_odp." tw_odp:".$sz_tw_odp." uzas:".$sz_uzas." uza_tr:".$sz_uzas_tresc." kom:".$sz_komentarz." :".$row;
  29. if($sz_pyt) {
  30. if(ereg("([0-9]{1,2}\.)",$row[0].$row[1].$row[2])) {
  31. ereg("([0-9]{1,2}\.)(.*)",$row,$out);
  32. $test[$id]['pytanie']=mysql_real_escape_string($out[2]); $sz_pyt=false; $sz_odp=true;
  33. continue;
  34. }
  35. }
  36. if($sz_odp) {
  37. if(ereg("([A-D])\.",$row[0].$row[1])) {
  38. ereg("([A-D]\.)(.*)",$row,$out);
  39. $test[$id]['odpowiedz'][$row[0]]=mysql_real_escape_string($out[2]);
  40. continue;
  41. } else {
  42. $sz_odp=false; $sz_popr_odp=true;
  43. }
  44. }
  45. if($sz_popr_odp) {
  46. if(ereg("^Poprawna",$row)) { ereg("(.*:\ )([A-D])",$row,$out); $test[$id]['poprawna']=mysql_real_escape_string($out[2]); $sz_tw_odp=true; $sz_popr_odp=false; continue;}
  47. }
  48. if($sz_tw_odp) {
  49. if(ereg("^Twoja",$row)) { //$test[$id]['twoja']=$row;
  50. $sz_tw_odp=false; $sz_uzas=true; continue; }
  51. }
  52. if($sz_uzas) {
  53. if(ereg("^Uzasadnienie",$row)) { $sz_uzas=false; $sz_uzas_tresc=true; continue;
  54. } else { $sz_pyt=true;}
  55. } else { $sz_pyt=true;}
  56. if($sz_uzas_tresc) {
  57. $test[$id]['uzasadnienie']=$row ; $sz_pyt=true; $sz_uzas_tresc=false; continue;
  58. }
  59. $id++;
  60. }
  61. }
  62. DEBUG_S(-3,'test',$test);
  63. //dodajemy strukture Array
  64. /*
  65. (
  66. [1] => Array
  67. (
  68. [pytanie] => Jak nazywa się plik, w którym menedżer pamięci wirtualnej zapisuje dane?
  69. [odpowiedz] => Array
  70. (
  71. [A] => Dysk lokalny
  72. [B] => Kosz
  73. [C] => Autostart
  74. [D] => Plik wymiany
  75. )
  76. [poprawna] => D
  77. )
  78. */
  79. if(!empty($test)) {
  80. $sql="insert into CRM_PROCES (PARENT_ID,`TYPE`,`DESC`,A_RECORD_CREATE_DATE,A_RECORD_CREATE_AUTHOR,TEST_PYTANIE) values ('".$h->ID_PROCES."', 'PROCES','".$h->DESC."',now(),'".User::getname()."','1') ";
  81. echo "<br>".$sql;
  82. DB::query($sql);
  83. $inserted_proces=DB::insert_id();
  84. }
  85. foreach($test as $id=>$val) {
  86. $odps=array('A'=>1,'B'=>2,'C'=>3,'D'=>4);
  87. foreach($odps as $opcja=>$value) {
  88. $odp[$opcja]='';
  89. if($val['poprawna'][$opcja]==$opcja) $odp[$opcja]='TAK';
  90. else if(isset($val['odpowiedz'][$opcja])) $odp[$opcja]='NIE';
  91. }
  92. $sql="insert into CRM_TESTY_PYTANIA (ID_PROCES,PYTANIE,ODP_0,ODP_1,ODP_2,ODP_3,ODP_0_ODP,ODP_1_ODP,ODP_2_ODP,ODP_3_ODP,A_RECORD_CREATE_DATE,A_RECORD_CREATE_AUTHOR) values
  93. ('".$inserted_proces."','".$val['pytanie']."','".$val['odpowiedz']['A']."','".$val['odpowiedz']['B']."','".$val['odpowiedz']['C']."','".$val['odpowiedz']['D']."','".$odp['A']."','".$odp['B']."','".$odp['C']."','".$odp['D']."',now(),'".User::getname()."')
  94. ";
  95. echo "<br>".$sql;
  96. DB::query($sql);
  97. $sql="update CRM_TESTY_PYTANIA_TO_IMPORT set CRM_TESTY_PYTANIA_ID='".DB::insert_id()."' where ID='".$h->ID."'";
  98. echo "<br>".$sql;
  99. DB::query($sql);
  100. }
  101. }
  102. }