superedit-COPY_RECORD.php 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. // Link example: index.php?FUNCTION_INIT=COPY_RECORD&ARG1=NR_POZ&ARG1_VAL=813
  3. function COPY_RECORD( $COMMAND ) {
  4. global $thiss,$ARG1,$ARG1_VAL,$result,$ZAP_SQL, $INTERFACE_ADDR, $SQL_USER, $SQL_USER_PASS, $SQL_DATABASE;
  5. if ($_SESSION['DEBUG']) echo "<hr> Executing f. COPY_RECORD($COMMAND) .... $ARG1,$ARG1_VAL,$result <br>";
  6. echo'<br />'."Proba skopiowania rekordu ID = [".$ARG1_VAL."] ...";
  7. $ARG1_VAL = intval($ARG1_VAL);
  8. if ($ARG1_VAL <= 0) {
  9. echo'<br />'."Wrong ID";
  10. return;
  11. }
  12. if ($_SESSION[$thiss->DETECT_TABLE_COLUMN]['TYPE']['A_ADM_COMPANY']) {
  13. $sql = "SELECT * from ".$thiss->DETECT_TABLE_NAME." where `A_ADM_COMPANY` like '".$_SESSION['ADM_COMPANY']."' and `ID`='" . $ARG1_VAL . "' ;";
  14. } else {
  15. $sql = "SELECT * from ".$thiss->DETECT_TABLE_NAME." where `ID`='" . $ARG1_VAL . "' ;";
  16. }
  17. //echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">';print_r($sql);echo'</pre>';
  18. $conn=mysql_pconnect($INTERFACE_ADDR,$SQL_USER,$SQL_USER_PASS);
  19. if (!$conn) die("ERROR podczas tworzenia polaczenia do bazy $SQL_DATABASE !\n");
  20. mysql_select_db($SQL_DATABASE) or die("ERROR podczas wyboru bazy R50!");
  21. $result = mysql_query($sql, $conn) or die("Blad zapytania2!");
  22. $num_rows = mysql_num_rows($result);
  23. if ($num_rows < 1) {
  24. echo'<br />'."Rekord ID = [".$ARG1_VAL."] nie istnieje!";
  25. return;
  26. }
  27. if ($h = mysql_fetch_row( $result )) {
  28. } else {
  29. echo'<br />'."Blad zapytania!";
  30. return;
  31. }
  32. if ($_SESSION['DEBUG']){ echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">TODO rekord: ';print_r($h);echo'</pre>'; }
  33. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['EDITRECORD'] = array();
  34. foreach ($_SESSION[$thiss->DETECT_TABLE_COLUMN]['ID'] as $value) {
  35. if (array_key_exists($value, $h)) {
  36. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['EDITRECORD'][ $_SESSION[$thiss->DETECT_TABLE_COLUMN]['DESC'][$value] ] = $h[$value];
  37. }
  38. }
  39. if ($_SESSION['DEBUG']){ echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">TODO SES EDITRECORD: ';print_r($_SESSION[$thiss->DETECT_TABLE_COLUMN]['EDITRECORD']);echo'</pre>'; }
  40. $fields = array();
  41. $values = array();
  42. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['EDITRECORD'] ['A_RECORD_CREATE_DATE'] = date("Y-m-d-H:i");
  43. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['EDITRECORD'] ['A_RECORD_CREATE_AUTHOR'] = $_SESSION['ADM_ACCOUNT'];
  44. foreach ($_SESSION[$thiss->DETECT_TABLE_COLUMN]['EDITRECORD'] as $k => $v) {
  45. //echo "<br> \n $v ... i $k ";
  46. //if (!strstr($_SESSION[$thiss->DETECT_TABLE_COLUMN]['PERMEDIT'][$k], "C")) continue;
  47. if ($k == 'ID') continue;// pomin ID
  48. if ($k == 'T_DEVICE_SERIAL') {
  49. $v = $v."?";
  50. } else if ($k == 'S_ADDRESS_STREET') {
  51. $v = $v."?";
  52. }
  53. $fields []= "`".$k."`";
  54. $values []= "'".$v."'";
  55. }
  56. $fields = implode(", ", $fields);
  57. $values = implode(", ", $values);
  58. $sql = "insert into $thiss->DETECT_TABLE_NAME ( $fields ) values ( $values ) ";
  59. if ($_SESSION['DEBUG']) echo "ZAP_SQL to $sql <br>\n";
  60. if ($_SESSION['DEBUG']){ echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">';print_r($sql);echo'</pre>'; }
  61. $result = mysql_query($sql, $conn) or die('<p style="color:red;border:1px solid red;padding:3px;">'."Blad zapytania3!\n<br>".mysql_error($conn).'</p>');
  62. $new_id = mysql_insert_id( $conn );
  63. echo'<br />'.'<b>'." Utworzono nowy rekord ID = [".$new_id."]. ".'</b>';
  64. CREATE_MENUFUNC_INIT_2($thiss->DETECT_EDIT_FUNCTION, 'EDIT', $new_id, '<img src=icon/edit.gif alt=EDYCJA border=0 width=20>'." Edytuj nowy rekord") ;
  65. }