Files
crm_php/.hta_slug/admin/edit-user.php
dev sp ca6af2f5e2 init
2024-04-29 12:55:11 +00:00

192 lines
9.6 KiB
PHP

<?php
require_once('/var/www/html/.hta_config/crm_config.php');
require_once('/var/www/html/.htac_header.php');
require_once('/var/www/html/.htac_nav.php');
try {
$conn = new PDO("mysql:host=$mariaServer;dbname=$mariaDb", $mariaUser, $mariaPass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM users WHERE `id` = '".$_GET["id"]."'");
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $row){
$seletedState = explode(",", $row['states']);
}
}catch (PDOException $e) {
echo "<p class='text-danger'>Error: " . $e->getMessage() . "</p>";
}
try {
$conn = new PDO("mysql:host=$mariaServer;dbname=$mariaDb", $mariaUser, $mariaPass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// $name = $_POST['name'];
// $email = $_POST['email'];
// $phone = $_POST['phone'];
// $password = md5($_POST['pass']);
try {
$select_access = ['beanstalk', 'inhouse', 'teenybeans', 'iimtt', 'buzzapp', 'atheneum', 'teenybeans_curriculum'];
$access_values_array = [];
foreach ($select_access as $access) {
if (isset($_POST[$access])) {
$access_values_array[] = $_POST[$access];
}
}
$access_value = implode(',', $access_values_array);
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$password = md5($_POST['pass']);
$user_id = $_GET['id'];
$stmt = $conn->prepare("UPDATE users SET name = :name, email = :email, mobile = :mobile, access = :access, pass = :pass WHERE id = :id");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':mobile', $phone);
$stmt->bindParam(':access', $access_value);
$stmt->bindParam(':pass', $password);
$stmt->bindParam(':id', $user_id);
$stmt->execute();
echo "Record Updated successfully";
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
};
try {
$conn = new PDO("mysql:host=$mariaServer;dbname=$mariaDb", $mariaUser, $mariaPass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM users WHERE id = :id");
$stmt->bindParam(':id', $_GET['id']);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
$num_rows = $stmt->rowCount();
if ($num_rows >= 1) {
foreach($rows as $row){?>
<div class="flex flex-col place-items-center mt-4">
<form action="" method="post" class="max-w-2xl shadow-xl p-4 rounded-lg">
<p class="my-4" style="border-bottom: 2px solid #464E5F; border-style: dashed; font-size: 20px; font-weight: bold" >Edit User</p>
<div style="display: flex; flex-direction: column;">
<label for="name">Name:</label>
<input type="text" name="name" id="name" value="<?php echo $row['name'] ?>" />
</div>
<div class="flex flex-row">
<div style="display: flex; flex-direction: column; width: 100%;">
<label for="email">E-mail:</label>
<input type="text" name="email" id="email" value="<?php echo $row['email'] ?>" />
</div>
<div style="display: flex; flex-direction: column; width: 100%;">
<label for="phone">Phone:</label>
<input type="text" name="phone" id="phone" value="<?php echo $row['mobile'] ?>" />
</div>
</div>
<div style="display: flex; flex-direction: column;">
<p style="font-weight: bold; ">Access:</p>
<div class="bv-list">
<?php
try {
$conn = new PDO("mysql:host=$mariaServer;dbname=$mariaDb", $mariaUser, $mariaPass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM business_verticals");
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
$num_rows = $stmt->rowCount();
if ($num_rows >= 1) {
$user_stmt = $conn->prepare("SELECT `access` FROM `users` WHERE `id` = '".$_GET["id"]."'");
$user_stmt->execute();
$user_bvs = $user_stmt->fetchAll(PDO::FETCH_COLUMN);
$user_bvs=explode(",", $user_bvs[0]); // you need to make the CSV to array.
foreach($rows as $row) {
$isChecked = in_array($row['bv'], $user_bvs);
?>
<div class="flex flex-row">
<input type="checkbox" name="<?php echo $row['bv']; ?>" id="<?php echo $row['bv']; ?>" value="<?php echo $row['bv']; ?>" <?php if($isChecked) echo "checked"; ?> />&nbsp;
<label for="<?php echo $row['bv']; ?>" style="text-transform: uppercase;"><?php echo $row['bv']; ?></label>
</div>
<?php
}
} else {
echo "<p class='text-danger'>Not Found any Data</p>";
}
} catch (PDOException $e) {
echo "<p class='text-danger'>Error: " . $e->getMessage() . "</p>";
}
?>
</div>
</div>
<div style="display: flex; flex-direction: column;">
<p style="font-size: 16px; font-weight: bold; margin-top: 10px;">Access by state:</p>
<div class="flex" id="stateList"><!-- State checkboxes will be dynamically added here --></div>
</div>
<div style="display: flex; flex-direction: column;">
<label for="pass">Password:</label>
<input type="text" name="pass" id="pass" />
</div>
<div style="display: flex; flex-direction: column;">
<input type="submit" name="submit" id="submit" value="Submit" style="background: linear-gradient(90deg, rgba(111, 107, 255, 0.91) 0%, rgba(68, 55, 128, 0.91) 100%); text-align: center; padding: 6px; color: #fff; border-radius: 6px; margin-top: 6px;" />
</div>
</form>
</div>
<?php
}
} else{
echo "<p class='text-danger'>Not Found any Data</p>";
}
} catch (PDOException $e) {
echo "<p class='text-danger'>Error: " . $e->getMessage() . "</p>";
}
?>
<script>
// JavaScript code to fetch data and populate checkboxes
fetch(`https://api.siliconpin.com/v3/list/country/state/?country=IN`)
.then(res => res.json())
.then(data => {
const stateList = document.getElementById('stateList');
data.forEach(state => {
const checkbox = document.createElement('input');
checkbox.type = 'checkbox';
checkbox.value = state.iso2;
checkbox.name = 'selectedStates[]'; // Adjust name as per your form's needs
const label = document.createElement('label');
label.appendChild(checkbox);
label.appendChild(document.createTextNode('\u00A0' + state.name)); // Adding a non-breaking space before the state name
<?php
foreach($seletedState as $pre_state){
?>
if("<?php echo $pre_state; ?>".includes(state.iso2)) {
checkbox.checked = true;
}
<?php } ?>
stateList.appendChild(label);
});
});
</script>
<style>
/* For small screens */
@media screen and (max-width: 767px) {
#stateList, .bv-list {
font-size: 15px;
display: grid;
grid-template-columns: repeat(2, 1fr); /* 2 columns */
gap: 6px; /* Adjust the gap as needed */
}
}
/* For large screens */
@media screen and (min-width: 768px) {
#stateList, .bv-list {
font-size: 15px;
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3 columns */
gap: 6px; /* Adjust the gap as needed */
}
}
</style>