<?php
/**
 *  Copyright (C) 2022, 2024  Double Bastion LLC
 *
 *  This file is part of Roundpin, which is licensed under the
 *  GNU Affero General Public License Version 3.0. The license terms
 *  are detailed in the "LICENSE.txt" file located in the root directory.
 */

session_start();

if (isset($_POST['s_ajax_call']) && ($_POST['s_ajax_call'] == $_SESSION['validate_s_access'])) {

    define('ACCESSCONST', TRUE);

    require('db-connect.php');

    $username = $_POST['username'];
    $csvDelimiter = $_POST['csvdelimiter'];

    // Get the id of the current user from the 'app_users' table
    $queryid = $mysqli->prepare("SELECT id, username FROM app_users WHERE BINARY username = ?");
    $queryid->bind_param("s", $username);
    $queryid->execute();
    $queryres = $queryid->get_result()->fetch_assoc();
    $userID = $queryres['id'];

    // Get the contacts for the current user
    $querycont = $mysqli->prepare("SELECT id, user_id, contact_name, contact_desc, contact_long_desc, address_street, address_zip, address_town, address_country, address_state, 
                                   extension_number, contact_mobile, contact_num1, contact_num2, contact_fax, contact_email, profile_picture_c, groups, date_added, date_modified 
                                   FROM contacts WHERE user_id = ?");
    $querycont->bind_param("i", $userID);
    $querycont->execute();
    $queryres = $querycont->get_result();

    $contactsarr = [];
    while ($querycontres = $queryres->fetch_assoc()) {

           $contactsarr[] = ['contact_name' => $querycontres['contact_name'], 'contact_desc' => $querycontres['contact_desc'], 'contact_long_desc' => $querycontres['contact_long_desc'], 
                             'address_street' => $querycontres['address_street'], 'address_zip' => $querycontres['address_zip'], 'address_town' => $querycontres['address_town'],
                             'address_country' => $querycontres['address_country'], 'address_state' => $querycontres['address_state'], 
                             'extension_number' => $querycontres['extension_number'], 'contact_mobile' => $querycontres['contact_mobile'], 
                             'contact_num1' => $querycontres['contact_num1'], 'contact_num2' => $querycontres['contact_num2'], 'contact_fax' => $querycontres['contact_fax'], 
                             'contact_email' => $querycontres['contact_email'], 'profile_picture_c' => $querycontres['profile_picture_c'], 'groups' => $querycontres['groups'], 
                             'date_added' => $querycontres['date_added'], 'date_modified' => $querycontres['date_modified']];

          $messagetosend = 'success';

          $crntRow = implode("", $querycontres);
          if (strpos($crntRow, $csvDelimiter) !== false) { $messagetosend = 'delimiterfound'; break; }
    }

    $contactsfromdb = ['contactsdata' => $contactsarr, 'messagetoconvey' => $messagetosend];

    echo json_encode($contactsfromdb);

} else {
        header("Location: ../login.php");
}

?>
