c
This commit is contained in:
@@ -1,273 +0,0 @@
|
||||
<?php
|
||||
require_once('.hta_config/crm_config.php');
|
||||
require_once('.htac_header.php');
|
||||
require_once('.htac_nav.php');
|
||||
|
||||
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") {
|
||||
$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']);
|
||||
$selected_states = implode(',', $_POST['states']); // Collect selected state values
|
||||
|
||||
try {
|
||||
$stmt = $conn->prepare("INSERT INTO users (name, email, mobile, access, pass, states) VALUES (:name, :email, :mobile, :access, :pass, :states)");
|
||||
$stmt->bindParam(':name', $name);
|
||||
$stmt->bindParam(':email', $email);
|
||||
$stmt->bindParam(':mobile', $phone);
|
||||
$stmt->bindParam(':access', $access_value);
|
||||
$stmt->bindParam(':pass', $password);
|
||||
$stmt->bindParam(':states', $selected_states); // Bind selected states
|
||||
$stmt->execute();
|
||||
|
||||
echo "Record added successfully";
|
||||
} catch(PDOException $e) {
|
||||
echo "Error: " . $e->getMessage();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<div style="display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 30px; margin-bottom: 30px;">
|
||||
<form action="" method="post" style="width: 600px; max-width: 600px; border: 1px solid #36365050; padding: 20px; border-radius: 20px; box-shadow: 0px 0px 10px 0px #363650;">
|
||||
<p style="font-size: 25px; font-weight: bold; margin-top: 10px; margin-bottom: 10px;">Add new user</p>
|
||||
<div style="display: flex; flex-direction: column;">
|
||||
<label for="name">Name:</label>
|
||||
<input type="text" name="name" id="name" style="border: 1px solid #363650; border-radius: 5px; padding: 6px;" />
|
||||
</div>
|
||||
<div style="display: flex; flex-direction: column;">
|
||||
<label for="email">E-mail:</label>
|
||||
<input type="text" name="email" id="email" style="border: 1px solid #363650; border-radius: 5px; padding: 6px;" />
|
||||
</div>
|
||||
<div style="display: flex; flex-direction: column;">
|
||||
<label for="phone">Phone:</label>
|
||||
<input type="text" name="phone" id="phone" style="border: 1px solid #363650; border-radius: 5px; padding: 6px;" />
|
||||
</div>
|
||||
<div style="display: flex; flex-direction: column;">
|
||||
<label>
|
||||
Country:
|
||||
</label>
|
||||
<label for="national">National
|
||||
<input type="radio" name="country" id="national" onchange="checkCountry()" />
|
||||
</label>
|
||||
<label for="international">International
|
||||
<input type="radio" name="country" id="international" onchange="checkCountry()" />
|
||||
</label>
|
||||
</div>
|
||||
<!-- <div style="display: flex; flex-direction: column;">
|
||||
<label for="country">Country:</label>
|
||||
<select name="country" id="country" onchange="checkCountry();" style="border: 1px solid #363650; border-radius: 5px; padding: 6px;">
|
||||
<option value="">Select Country</option>
|
||||
</select>
|
||||
</div> -->
|
||||
<div style="display: flex; flex-direction: column;">
|
||||
<p>Access:</p>
|
||||
<?php
|
||||
try {
|
||||
$stmt = $conn->prepare("SELECT * FROM business_verticals");
|
||||
$stmt->execute();
|
||||
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$num_rows = $stmt->rowCount();
|
||||
if ($num_rows >= 1) {
|
||||
foreach($rows as $row){ ?>
|
||||
<div>
|
||||
<input type="checkbox" name="<?php echo $row['bv']; ?>" id="<?php echo $row['bv']; ?>" value="<?php echo $row['bv']; ?>" />
|
||||
<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 style="display: none; flex-direction: column;" id="state-access">
|
||||
<p style="font-size: 16px; font-weight: bold; margin-top: 10px;">Access by state:</p>
|
||||
<div id="selectedStateDisplay"></div>
|
||||
<div class="dropdown">
|
||||
<button class="dropbtn" id="selectStatesBtn">Select States</button>
|
||||
<div class="dropdown-content" id="stateDropdown">
|
||||
<!-- State options will be populated here -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: flex; flex-direction: column;">
|
||||
<label for="pass">Password:</label>
|
||||
<input type="text" name="pass" id="pass" style="border: 1px solid #363650; border-radius: 5px; padding: 6px;" />
|
||||
</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: 10px 20px 10px 20px; color: #fff; border-radius: 6px; float: right; margin-top: 30px;" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
function fetchCountries() {
|
||||
fetch('https://api.siliconpin.com/v3/list/country/')
|
||||
.then(res => res.json())
|
||||
.then(data => {
|
||||
const countryDropdown = document.getElementById('country');
|
||||
countryDropdown.innerHTML = '<option id="" value="">Select Country</option>';
|
||||
data.forEach(country => {
|
||||
const option = document.createElement('option');
|
||||
option.value = country.iso2;
|
||||
option.text = country.name;
|
||||
countryDropdown.appendChild(option);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
fetchCountries();
|
||||
|
||||
// function checkCountry(){
|
||||
// let getCountry = document.getElementById('country').value;
|
||||
// console.log(getCountry);
|
||||
// if(getCountry === "national"){
|
||||
// document.getElementById('state-access').style.display = 'flex';
|
||||
// } else{
|
||||
// document.getElementById('state-access').style.display = 'none';
|
||||
// }
|
||||
// }
|
||||
function checkCountry() {
|
||||
if (document.getElementById('national').checked) {
|
||||
document.getElementById('state-access').style.display = 'flex';
|
||||
} else {
|
||||
document.getElementById('state-access').style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
function fetchStates() {
|
||||
fetch(`https://api.siliconpin.com/v3/list/country/state/?country=IN`)
|
||||
.then(res => res.json())
|
||||
.then(data => {
|
||||
const dropdownContent = document.getElementById('stateDropdown');
|
||||
dropdownContent.innerHTML = ''; // Clear previous content
|
||||
|
||||
data.forEach(state => {
|
||||
const checkboxDiv = document.createElement('div');
|
||||
|
||||
const checkbox = document.createElement('input');
|
||||
checkbox.type = 'checkbox';
|
||||
checkbox.name = 'states[]'; // You might want to use an array here if submitting form
|
||||
checkbox.value = state.iso2;
|
||||
checkbox.id = state.iso2;
|
||||
const label = document.createElement('label');
|
||||
label.textContent = state.name;
|
||||
label.style = 'text-transform: uppercase';
|
||||
label.setAttribute('for', state.iso2);
|
||||
checkboxDiv.appendChild(checkbox);
|
||||
checkboxDiv.appendChild(label);
|
||||
dropdownContent.appendChild(checkboxDiv);
|
||||
|
||||
// Add event listener to checkbox change
|
||||
checkbox.addEventListener('change', function() {
|
||||
updateSelectedStateDisplay();
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function toggleDropdown() {
|
||||
const dropdownContent = document.getElementById('stateDropdown');
|
||||
dropdownContent.classList.toggle('show');
|
||||
}
|
||||
|
||||
// Update the selected state display
|
||||
function updateSelectedStateDisplay() {
|
||||
const selectedStates = Array.from(document.querySelectorAll('input[name="states[]"]:checked'))
|
||||
.map(checkbox => checkbox.parentNode.querySelector('label').textContent);
|
||||
const selectedStateDisplay = document.getElementById('selectedStateDisplay');
|
||||
selectedStateDisplay.textContent = 'Selected States: ' + selectedStates.join(', ');
|
||||
}
|
||||
|
||||
// Add an event listener to the button
|
||||
document.getElementById('selectStatesBtn').addEventListener('click', function(event) {
|
||||
// Prevent the default form submission behavior
|
||||
event.preventDefault();
|
||||
// Toggle the dropdown visibility
|
||||
toggleDropdown();
|
||||
});
|
||||
fetchStates();
|
||||
</script>
|
||||
<style>
|
||||
.dropdown {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
border: 1px solid #363650;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.dropbtn {
|
||||
border: 1px solid #363650;
|
||||
padding: 6px;
|
||||
font-size: 16px;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #f9f9f9;
|
||||
/* min-width: 160px; */
|
||||
width: 100%;
|
||||
overflow-y: auto;
|
||||
max-height: 230px; /* Adjust as needed */
|
||||
border: 1px solid #ddd;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.dropdown-content div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.dropdown-content div label {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.dropdown-content div:hover {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.show {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* For small screens */
|
||||
@media screen and (max-width: 767px) {
|
||||
#stateCheckboxes {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr); /* 2 columns */
|
||||
gap: 10px; /* Adjust the gap as needed */
|
||||
}
|
||||
}
|
||||
|
||||
/* For large screens */
|
||||
@media screen and (min-width: 768px) {
|
||||
#stateCheckboxes {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr); /* 3 columns */
|
||||
gap: 10px; /* Adjust the gap as needed */
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -40,7 +40,6 @@
|
||||
<tr>
|
||||
<th class="text-center border-b-2 p-3">Serial</th>
|
||||
<th class="text-center border-b-2 p-3">Business Verticals</th>
|
||||
<th class="text-center border-b-2 p-3">Time</th>
|
||||
<th class="text-center border-b-2 p-3">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -58,7 +57,6 @@
|
||||
<tr>
|
||||
<td class="border-y-2 p-2 text-center"><?php echo $bv_counter; ?></td>
|
||||
<td class="border-y-2 p-2 "><?php echo $row['bv']; ?></td>
|
||||
<td class="border-y-2 p-2 text-center"><?php echo $row['time']; ?></td>
|
||||
<td class="border-y-2 p-2">
|
||||
<div class="flex flex-row justify-center">
|
||||
<a href="/admin/edit-business-verticals/?id=<?php echo $row['id']; ?>">Edit</a> |
|
||||
|
||||
Reference in New Issue
Block a user