soil-test-data.php 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', 1);
  4. // dashboard/crop-analysis/soil-test-data.php
  5. // New include-based layout (migrating from modX snippets)
  6. // Start session for CSRF protection
  7. if (session_status() === PHP_SESSION_NONE) {
  8. session_start();
  9. }
  10. $pageTitle = 'Soil Test Analysis Report';
  11. $siteName = 'Crop Management Platform';
  12. $activeItem = 'Soil Analysis';
  13. include __DIR__ . '/../../layouts/header.php';
  14. include __DIR__ . '/../../layouts/navbar.php';
  15. ?>
  16. <div id="layoutSidenav">
  17. <div id="layoutSidenav_nav">
  18. <?php include __DIR__ . '/../../layouts/sidebar.php'; ?>
  19. </div>
  20. <div id="layoutSidenav_content">
  21. <main>
  22. <div class="container-fluid px-4">
  23. <h1 class="mt-4"><?= htmlspecialchars($pageTitle, ENT_QUOTES, 'UTF-8') ?></h1>
  24. <ol class="breadcrumb mb-4"><!-- TODO: render breadcrumbs dynamically --></ol>
  25. <div class="row">
  26. <div class="container">
  27. <h3 id="forms-example">Soil Test Details</h3>
  28. <p class="text-muted">Complete the soil test form and submit.</p>
  29. <!-- Client Details Form Component -->
  30. <?php include __DIR__ . '/../../components/clientDetailsForm.php'; ?>
  31. <!-- New Client Modal Component -->
  32. <?php include __DIR__ . '/../../components/newClientModal.php'; ?>
  33. <form method="post" action="/controllers/soilTestSubmit.php" id="SoilcsvForm" class="needs-validation" novalidate>
  34. <input type="hidden" name="csrf_token" value="<?php echo generateCsrfToken(); ?>">
  35. <?php // Soil Analysis Form Component ?>
  36. <?php include __DIR__ . '/../../components/soilAnalysisForm.php'; ?>
  37. <button form="SoilcsvForm" type="submit" name="SoilcsvForm" class="btn btn-success">Submit</button>
  38. </form>
  39. <hr />
  40. <div class="card">
  41. <div class="card-body">
  42. <h5 class="card-title">Excel/CSV Upload</h5>
  43. <p class="card-text">Download a CSV of this form for easy filling or upload a filled form to pre-populate.</p>
  44. <div class="input-group mt-3">
  45. <div class="custom-file">
  46. <input type="file" class="custom-file-input" id="upload" accept=".csv" />
  47. <label class="custom-file-label border-success" for="upload">Choose file</label>
  48. </div>
  49. <div class="input-group-append">
  50. <button class="btn btn-success" type="button" id="download">Download</button>
  51. </div>
  52. </div>
  53. </div>
  54. </div>
  55. <?php // include __DIR__ . '/../../controllers/soilTestSubmit.php'; ?>
  56. <!-- old modX placeholders: [[!clientDetailsFORM]], [[!soilformSubmit]], [[!newClientDetails]] -->
  57. </div>
  58. </div>
  59. </div>
  60. </main>
  61. <footer class="py-4 bg-light mt-auto">
  62. <div class="container-fluid px-4">
  63. <div class="d-flex align-items-center justify-content-between small">
  64. <div class="text-muted">&copy; <?= date('Y') ?> Crop Management Platform. All Rights Reserved.</div>
  65. <div>
  66. <a href="/privacy-policy.php">Privacy Policy</a> &middot; <a href="/terms.php">Terms &amp; Conditions</a>
  67. </div>
  68. </div>
  69. </div>
  70. </footer>
  71. </div>
  72. </div>
  73. <?php include __DIR__ . '/../../layouts/footer.php'; ?>