iwa-panda1

Manage Weather Data by International Weather Agency (Version 1)
Log | Files | Refs

alter_contract.php (6330B)


      1 <!DOCTYPE html>
      2 <html lang="nl">
      3 <head>
      4     <title>Add contract</title>
      5     <!-- Bootstrap CSS -->
      6     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
      7     <link rel="stylesheet" type="text/css" href="/css/homepage.css">
      8 </head>
      9 <?php
     10 include "views/navbar.php";
     11 include "utils/autoloader.php";
     12 if(!in_array(1, $_SESSION['user_permissions'])){
     13     header('Location: dashboard');
     14     exit;
     15 }
     16 $db = new Lollipop\SQLDatabase("86.92.67.21", "friedel", "hailiwa", "wap2");
     17 $customer_id = null;
     18 if($_SERVER['REQUEST_METHOD'] == "GET"){
     19     if(isset($_GET['contract_id'])){
     20         $c = $db->get(Contract::class);
     21         $c->where('contract_id', $_GET['contract_id']);
     22         $customer_id = $c->customer_id;
     23         $contract_id = $c->contract_id;
     24         $sub_type = $c->sub_id;
     25         $start_date = $c->start_date;
     26         $end_date = $c->end_date;
     27         $tariff = $c->tariff;
     28         $addition = $c->standards;
     29     }else{
     30         $customer_id = "";
     31         $selected = "";
     32         $start_date = "";
     33         $end_date = "";
     34         $tariff = "";
     35         $addition = "";
     36     }
     37 }
     38 $msg = "";
     39 $available_subsciptions = [];
     40 $all_p = $db->all(Subscription::class);
     41 foreach($all_p as $tmp){
     42     $available_permissions[$tmp->sub_id] = $tmp->sub_name;
     43 }
     44 if ($_SERVER["REQUEST_METHOD"] == "POST") {
     45     $errors = array(); // initialize an empty array to store errors
     46 
     47     // Check if subscription type is set and not empty
     48     if (isset($_POST['subscription']) && !empty($_POST['subscription'])) {
     49         $sub_type = $_POST['subscription'];
     50     } else {
     51         $errors[] = "subscription type is required";
     52     }
     53 
     54     // Check if customer_id is set and not empty
     55     if (isset($_POST['customer_id']) && !empty($_POST['customer_id'])) {
     56         $customer_id = $_POST['customer_id'];
     57     } else {
     58         $errors[] = "customer_id is required";
     59     }
     60     // Check if contract_id is set and not empty
     61     if (isset($_POST['contract_id']) && !empty($_POST['contract_id'])) {
     62         $contract_id = $_POST['contract_id'];
     63     } else {
     64         $errors[] = "contract_id is required";
     65     }
     66 
     67     // Check if start-date is set and not empty
     68     if (isset($_POST['start-date']) && !empty($_POST['start-date'])) {
     69         $start_date = $_POST['start-date'];
     70     } else {
     71         $errors[] = "start date is required";
     72     }
     73 
     74     // Check if end-date is set and not empty
     75     if (isset($_POST['end-date']) && !empty($_POST['end-date'])) {
     76         $end_date = $_POST['end-date'];
     77     } else {
     78         $errors[] = "end date is required";
     79     }
     80 
     81     // Check if permissions is set
     82     if (isset($_POST['tariff']) && !empty($_POST['tariff'])) {
     83         $tariff = $_POST['tariff'];
     84     } else {
     85         $errors[] = "tarif is required";
     86     }
     87     //
     88     if (isset($_POST['addition']) && !empty($_POST['addition'])) {
     89         $addition = $_POST['addition'];
     90     } else {
     91         $errors[] = "additional information is required";
     92     }
     93 
     94     // Check if there are any errors
     95     if (count($errors) > 0) {
     96         // Print out the errors
     97         foreach ($errors as $error) {
     98             echo $error . "<br>";
     99         }
    100     } else {
    101         $c = $db->get(Contract::class);
    102         if(!$c->where('contract_id', (int) $contract_id)){
    103             $msg = "this contract does not exist";
    104         }else{
    105             $c->sub_id = (int) $sub_type;
    106             $c->customer_id = (int) $customer_id;
    107             $c->start_date = $start_date;
    108             $c->end_date = $end_date;
    109             $token = bin2hex(random_bytes(32));
    110             $c->token = $token;
    111             $c->tariff = (double) $tariff;
    112             $c->standards = $addition;
    113             
    114             if($c->save()){
    115                 $msg = "update to the db this info:<br> contract id: {$c->customer_id}<br> start date: {$c->start_date}<br> end date: {$c->end_date} addition: {$c->standards}";
    116             }
    117         }   
    118     }
    119 }
    120 ?>
    121 <body>
    122 <div class="container">
    123     <h1>Add contract</h1>
    124     <form action="alter_contract" method="post">
    125         <div class="mb-3">
    126             <label for="subscription">Choose subscription:</label>
    127             <select name="subscription" id="subscription">
    128             <?php
    129             $tmp = "";
    130                 foreach($available_permissions as $key => $value){
    131                     if($sub_type == $value)
    132                         $tmp = "selected";
    133                     else
    134                         $tmp = "selected";	
    135                     echo "<option value=\"{$key} {$tmp}\">{$value}</option>";
    136                 }
    137             ?>
    138             </select>
    139         </div>
    140         <div class="mb-3">
    141             <label for="customer" class="form-label"><b>Customer ID:</b></label>
    142             <input type="text" class="form-control" name="customer_id" id="customer_id" placeholder="Customer ID" value="<?php echo $customer_id;?>">
    143         </div>
    144         <div class="mb-3">
    145             <label for="start-date" class="form-label"><b>Start Date:</b></label>
    146             <input class="form-control me-2" type="text" name="start-date" placeholder="Start date (YYYY-MM-DD)" pattern="\d{4}-\d{2}-\d{2}" value=<?php echo$start_date;?>>
    147         </div>
    148         <div class="mb-3">
    149             <label for="end-date" class="form-label"><b>End Date:</b></label>
    150             <input class="form-control me-2" type="text" name="end-date" placeholder="End date (YYYY-MM-DD)" pattern="\d{4}-\d{2}-\d{2}" value=<?php echo$end_date;?>>
    151         </div>
    152 <!--        <label for="token" class="form-label"><b>*token*:</b></label>-->
    153         <div class="form-group">
    154             <label for="tariff">Tariff:</label>
    155             <a>€</a><input type="number" class="form-control" name="tariff" id="tariff" placeholder="Tariff" style="display: inline-block; width: auto;" value=<?php echo$tariff;?>>
    156         </div>
    157         <div class="mb-3">
    158             <label for="addition" class="form-label"><b>Additional information:</b></label>
    159             <input type="text" class="form-control" name="addition" id="addition" placeholder="Additional information" style="height: 200px;" value=<?php echo$addition;?>>
    160         </div>
    161         <input type="hidden" name="contract_id" value=<?php echo$contract_id;?>>
    162         <button type="submit" class="btn btn-primary" name="submit">Alter contract</button>
    163     </form>
    164     <?php echo $msg;?>
    165 </div>
    166 </body>
    167 </html>