<?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['vconfextension']) && $_POST['vconfextension'] != '' && isset($_POST['encextenpass']) && $_POST['encextenpass'] != '' && isset($_POST['conferenceext']) &&
$_POST['conferenceext'] != '' && isset($_POST['currentextension']) && $_POST['currentextension'] != '' && isset($_POST['currentchatpubkey']) && $_POST['currentchatpubkey'] != '') {
define('ACCESSCONST', TRUE);
require('db-connect.php');
$vconfExtension = $_POST['vconfextension'];
$extenPassEnc = $_POST['encextenpass'];
$conferenceExt = $_POST['conferenceext'];
$sipusersendrec = $_POST['currentextension'];
$chatPubKey = $_POST['currentchatpubkey'];
// Check if the received external user extension, the corresponding encrypted password and the extension of the conference, match the data in the 'external_users' table
$query = $mysqli->prepare("SELECT id, exten_for_external, exten_for_ext_pass, conf_extension FROM external_users WHERE exten_for_external = ? AND exten_for_ext_pass = ? AND conf_extension = ?");
$query->bind_param("sss", $vconfExtension, $extenPassEnc, $conferenceExt);
$query->execute();
$extqueryres = $query->get_result()->fetch_array();
if (!$extqueryres) {
http_response_code(400);
exit();
} else {
// Create the necessary directory if it doesn't exist
if (!is_dir('../textchat/' . $sipusersendrec)) {
mkdir('../textchat/' . $sipusersendrec, 0700);
}
// Save the RSA public key
if ($sipusersendrec != '') {
$savePubKey = file_put_contents('../textchat/' . $sipusersendrec . '/rsa_1024_pub.pem', $chatPubKey);
chmod('../textchat/' . $sipusersendrec . '/rsa_1024_pub.pem', 0600);
$messageres = 'success';
} else {
$messageres = 'failure';
}
}
$generateresp = ['messageres' => $messageres];
echo json_encode($generateresp);
} else {
header("Location: ../login.php");
}
?>