<?php
/**
 *  Copyright (C) 2021  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();

 // header('Set-Cookie: PHPSESSID= ' . session_id() . '; SameSite=strict; Secure=true; HttpOnly=true;');

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

    define('ACCESSCONST', TRUE);

    require('db-connect.php');

    $username = $_POST['username'];
    $bannedExtension = $_POST['bannedsipusername'];
    $vconfExtension = $_POST['confextension'];

    // Get the role of the user who attempts to remove the ban, from the 'app_users' table
    $queryprm = $mysqli->prepare("SELECT userrole, username FROM app_users WHERE username = ?");
    $queryprm->bind_param("s", $username);
    $queryprm->execute();
    $queryprmres = $queryprm->get_result()->fetch_assoc();
    $cruserrole = $queryprmres["userrole"];

    if ($cruserrole == 'superadmin') {

        $queryup = $mysqli->prepare("UPDATE `banned_users` SET `banned_until`=? WHERE `banned_sipusername`=? AND `conf_extension`=?");
        $queryup->bind_param("sss", $newBanDate, $bannedExtension, $vconfExtension);

        if ($queryup->execute()) { $messagetosend = 'success'; } else { $messagetosend = 'An error occurred while attempting to save the ban date to the database!'; }

    } elseif ($cruserrole == 'admin') {

        // Check if the banned user has been banned by the current admin
        $querychck = $mysqli->prepare("SELECT ban_creator, banned_sipusername, conf_extension FROM banned_users WHERE banned_sipusername = ? AND conf_extension = ?");
        $querychck->bind_param("ss", $bannedExtension, $vconfExtension);
        $querychck->execute();
        $querychckres = $querychck->get_result()->fetch_assoc();
        $banCreator = $querychckres['ban_creator'];

        if ($banCreator == $username) {

            $queryupadm = $mysqli->prepare("UPDATE `banned_users` SET `banned_until`=? WHERE `banned_sipusername`=? AND `conf_extension`=?");
            $queryupadm->bind_param("sss", $newBanDate, $bannedExtension, $vconfExtension);

            if ($queryupadm->execute()) { $messagetosend = 'success'; } else { $messagetosend = 'An error occurred while attempting to save the ban date to the database!'; }

        } else { $messagetosend = 'You can change the ban time only for the users that were banned by you.'; }

    } elseif ($cruserrole == 'regular_user') {
              $messagetosend = 'Only Admins and Superadmins can unban users.';
    }

    $response = array('result' => $messagetosend);
    echo json_encode($response);

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

?>
