database.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. require_once 'connection.php';
  3. $response = array(
  4. 'success' => true,
  5. 'message' => ''
  6. );
  7. $action = isset($_POST['action']) ? $_POST['action'] : '';
  8. if (empty($action)) {
  9. $response['success'] = false;
  10. $response['message'] = 'empty action';
  11. echo json_encode($response);
  12. die();
  13. }
  14. if($action == 'client-brief') {
  15. $drg = trim(mysqli_real_escape_string($con, $_POST["drg"]));
  16. if (empty($drg)) {
  17. echo \json_encode($response);
  18. die();
  19. }
  20. $fieldName = trim(mysqli_real_escape_string($con, $_POST["field_name"]));
  21. $fieldValue = trim(mysqli_real_escape_string($con, $_POST["field_value"]));
  22. error_log(date('Y-m-d H:i:s') . " update drg={$drg} field={$fieldName}" . PHP_EOL, 3, "error.log");
  23. if ($fieldName == "postal_address" ) {
  24. $updateval = trim(preg_replace('/\s\s+/', ' ', str_replace('\n', '', $fieldValue) ));
  25. // Create Seperated Address
  26. $seperate_address = explode(",", $updateval);
  27. $postal_address = $_POST["postal_address"];
  28. $postal_address_street = substr($seperate_address[0], 0);
  29. $postal_address_town = substr($seperate_address[1], 1);
  30. $postal_address_state = substr($seperate_address[2], 1);
  31. $postal_address_postcode = substr($seperate_address[3], 1);
  32. $address_result = mysqli_query($con, "INSERT INTO addresses(`drg`, `postal_address`, `postal_address_street`, `postal_address_town`, `postal_address_state`, `postal_address_postcode`) VALUES ('{$drg}', '{$postal_address}', '{$postal_address_street}', '{$postal_address_town}', '{$postal_address_state}', '{$postal_address_postcode}')
  33. ON DUPLICATE KEY UPDATE `postal_address` = '{$postal_address}', `postal_address_street` = '{$postal_address_street}', `postal_address_town` = '{$postal_address_town}', `postal_address_state` = '{$postal_address_state}', `postal_address_postcode` = '{$postal_address_postcode}' ");
  34. //error_log(":" . $postal_address . "," . $postal_address_town . "," . $postal_address_state . "," . $postal_address_postcode . ",", 3, "error.log");
  35. }
  36. if ($fieldName == "site_address" ) {
  37. $updateval = trim(preg_replace('/\s\s+/', ' ', str_replace('\n', '', $fieldValue) ));
  38. // Create Seperated Address
  39. $seperate_address = explode(",", $updateval);
  40. $site_address = $_POST["site_address"];
  41. $site_address_street = substr($seperate_address[0], 0);
  42. $site_address_town = substr($seperate_address[1], 1);
  43. $site_address_state = substr($seperate_address[2], 1);
  44. $site_address_postcode = substr($seperate_address[3], 1);
  45. $address_result = mysqli_query($con, "INSERT INTO addresses(`drg`, `site_address`, `site_address_street`, `site_address_town`, `site_address_state`, `site_address_postcode`) VALUES ('{$drg}', '{$site_address}', '{$site_address_street}', '{$site_address_town}', '{$site_address_state}', '{$site_address_postcode}')
  46. ON DUPLICATE KEY UPDATE `site_address` = '{$site_address}', `site_address_street` = '{$site_address_street}', `site_address_town` = '{$site_address_town}', `site_address_state` = '{$site_address_state}', `site_address_postcode` = '{$site_address_postcode}' ");
  47. //error_log(":" . $site_address . "," . $site_address_town . "," . $site_address_state . "," . $site_address_postcode . ",", 3, "error.log");
  48. }
  49. $details = [
  50. 'firstname', 'lastname', 'joint_name', 'client_mobile', 'client_email', 'property_id', 'title_id', 'registered_owner',
  51. 'design_style', 'build_type', 'council', 'scope', 'planning_zones', 'planning_scheme', 'planning_codes', 'plan_data', 'property_data', 'total_area', 'locality',
  52. 'budget_low', 'budget_high', 'finance_status',
  53. 'copy_title', 'original_plans', 'concepts_styles', 'loa_signed', 'da_application', 'ba_application',
  54. '3D_concepts', 'draft_floorPlan', 'fire_report', 'energy_report', 'tender_set', 'quantity_survey', 'vr_concepts', 'render_set', '3d_model', 'details',
  55. 'signature',
  56. 'dealId', 'crm_id'
  57. ];
  58. $addressesColumns = [
  59. 'postal_address', 'site_address', 'client_mobile', 'client_email', 'site_lat', 'site_lng'
  60. ];
  61. $allAllowedColumns = array_merge($details, $addressesColumns);
  62. if (empty($fieldName)) {
  63. $response['success'] = false;
  64. $response['message'] = 'No Field name in database table: ' . $fieldName;
  65. } elseif (!in_array($fieldName, $allAllowedColumns)) {
  66. $response['success'] = false;
  67. $response['message'] = 'Field: ' . $fieldName . ' is not allowed to save';
  68. } else {
  69. $tableName = '';
  70. if (in_array($fieldName, $details)) {
  71. $tableName = 'details';
  72. } elseif (in_array($fieldName, $addressesColumns)) {
  73. $tableName = 'addresses';
  74. }
  75. if (!empty($tableName)) {
  76. $result = mysqli_query($con," SELECT COUNT(1) as cnt FROM {$tableName} WHERE drg = {$drg}");
  77. $countRow = mysqli_fetch_assoc($result);
  78. if (empty($countRow['cnt'])) {
  79. $query = "INSERT INTO {$tableName} SET {$fieldName} = '{$fieldValue}', drg = {$drg}";
  80. } else {
  81. $query = "UPDATE {$tableName} SET {$fieldName} = '{$fieldValue}' WHERE drg = {$drg}";
  82. }
  83. // $response['query'] = $query;
  84. $result = mysqli_query($con, $query);
  85. if (!$result) {
  86. $response['success'] = false;
  87. $response['message'] = mysqli_error($con);
  88. }
  89. } else {
  90. $response['success'] = false;
  91. $response['message'] = 'needed table not found';
  92. }
  93. }
  94. } else {
  95. $response['success'] = false;
  96. $response['message'] = 'Unknown action';
  97. }
  98. echo json_encode($response);