OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
groupchat
/
backup
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/19/2025 10:07:13 AM
rwxrwxr-x
📄
b_group.php
13.6 KB
05/19/2025 10:07:13 AM
rw-rw-r--
📄
b_index.php
25.62 KB
05/19/2025 10:07:13 AM
rw-rw-r--
📁
backup
-
05/19/2025 10:07:13 AM
rwxrwxr-x
📄
broadcast.php
13.62 KB
05/19/2025 10:07:13 AM
rw-rw-r--
📄
create_broadcast.php
9.83 KB
05/19/2025 10:07:13 AM
rw-rw-r--
📄
create_group.php
8.11 KB
05/19/2025 10:07:13 AM
rw-rw-r--
📁
dump
-
05/19/2025 10:07:13 AM
rwxrwxr-x
📄
group.php
12.96 KB
05/19/2025 10:07:13 AM
rw-rw-r--
📁
inc
-
05/19/2025 10:07:13 AM
rwxrwxr-x
📄
index.php
4.38 KB
05/19/2025 10:07:13 AM
rw-rw-r--
📁
trash
-
05/19/2025 10:07:13 AM
rwxrwxr-x
Editing: b_group.php
Close
<?php include 'function.php'; include 'db_connect.php'; if (isset($_POST['user_id'])) { $user_id = $_POST['user_id']; } else { $user_id = "9001"; } if (isset($_POST['group_id'])) { $group_id = $_POST['group_id']; } else { $group_id = "1001"; } if (isset($_POST['user_name'])) { $user_name = $_POST['user_name']; } else { $user_name = find_user($conn, $user_id); } $chat = []; $chat = display_messages($conn, $group_id); $group_name = display_group_name($conn, $group_id); // echo $user_id . "<br>" . $user_name . "<br>" . $group_id . "<br>"; ?> <meta charset="UTF-8"> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> <style> .chat-box { flex: 1; padding: 10px; overflow-y: auto; /* Enable vertical scrollbar when content exceeds */ display: flex; flex-direction: column; } .chat-box::-webkit-scrollbar { display: none; /* Hide scrollbar for WebKit (Chrome, Safari, etc.) */ } .chat-box { -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */ scrollbar-width: none; /* Hide scrollbar for Firefox */ } .incoming { max-width: 88%; margin: 10px; /* padding: 10px; */ background-color: #f0f0f0; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); font-family: Arial, sans-serif; color: #333; align-self: flex-start; padding: 6px 14px; margin-block: 5px; border-radius: 5px; } .message-input { display: flex; align-items: center; padding: 10px; border-top: 1px solid #ccc; } textarea { flex: 1; resize: none; padding: 8px; border: 1px solid #ccc; border-radius: 4px; margin-right: 10px; } .message-input button { padding: 8px 16px; background-color: #007bff; color: #fff; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s; } .message-input button:hover { background-color: #0056b3; } .message { border-radius: 8px; padding: 8px 12px; margin-bottom: 8px; max-width: 70%; } .group-heading { display: flex; justify-content: space-between; padding: 10px 20px; font-weight: 600; font-family: sans-serif; color: black; } .group-heading button { height: 30px; background-color: white; color: black; } .group-heading button:hover { height: 30px; background-color: #343a40; color: white; } .group-members-container { background-color: #fff; display: none; position: absolute; right: 0; min-width: 200px; width: fit-content; margin-top: 50px; margin-right: 40px; padding: 10px; border: 1px solid #ccc; z-index: 10; } .u-member-link { text-decoration: none; color: #333; display: block; padding: 8px; background-color: #f9f9f9; border-radius: 4px; transition: background-color 0.3s ease; } .u-member-link:hover { background-color: #e0e0e0; } .dateWithTime { font-size: 11px; color: #777; margin-top: 1px; } .nameWithTime { display: flex; column-gap: 5px; margin: 5px 0; } .Sendername { font-weight: bold; font-size: 12px; color: #555; } .incoming-text { font-size: 14px; font-weight: 300; color: #333; word-wrap: break-word; } </style> <div class="post"> <div class="group-heading"> <h2><?php print_r($group_name); ?></h2> <button class="" id="toggleGroupButton"><i class="fas fa-bars"></i></button> </div> <!-- <img src="https://knoblycream.com/grfx/logo.png" alt="Knobly Cream"> --> </div> <div class="chat-box" id="chat-box"> <?php // Sample messages array (could be fetched from database or API) foreach ($chat as $message) { $messageText = replace_urls_with_links(htmlspecialchars($message['message'])); $time = htmlspecialchars($message['time']); $user_name = htmlspecialchars_decode($message['user_name']); // echo "<div class='incoming'>$messageText<br>$user_name<br>$time</div>"; ?> <div class="incoming"> <div class="incoming-text"><? echo $messageText; ?></div> <div class="nameWithTime" style="display: flex; column-gap: 5px;"> <div class="Sendername"><? echo $user_name; ?></div> <div class="dateWithTime"><? echo $time; ?></div> </div> </div> <? } ?> </div> <div class="message-input"> <textarea id="message-input" placeholder="Type your message..."></textarea> <button onclick="sendMessage('<?php echo $group_id; ?>', '<?php echo $user_id; ?>', '<?php echo $user_name; ?>')">Send</button> </div> <div id="groupMembersContainer" class="group-members-container"> <!-- Group members content here --> <p>Group members:</p> <?php $group_members = display_group_members($conn, $group_id); if ($group_members) { ?> <ul> <?php foreach ($group_members as $member) : ?> <li><?php echo $member['user_name']; ?>, <?php echo $member['user_email']; ?></li> <?php endforeach; } else { ?> <li>No Group Members</li> <?php } ?> </ul> <div> <input type="text" id="search-input1" placeholder="Search by name..."> <div class="scrollable-list"> <?php // List of members (you can fetch from database dynamically if needed) $members = members_to_add($conn, $group_id); foreach ($members as $member) { echo '<div class="scrollable-list-item">'; echo '<a href="#" class="u-member-link" data-user_id="' . htmlspecialchars($member['user_id']) . '" data-user_name="' . htmlspecialchars($member['user_name']) . '">' . htmlspecialchars($member['user_name']) . ', ' . htmlspecialchars($member['user_email']) . '</a>'; echo '</div>'; } ?> </div> <div class="selected-options"> <h3>Selected Members:</h3> <div id="update-members-info"> <p>No members selected.</p> </div> <input type="hidden" name="selected_members" id="update-members-hidden" value=""> </div> <button onclick="updateGroupDetails(<?php echo $group_id; ?>)">Add Members</button> </div> </div> <script> // jQuery equivalent of the original JavaScript $(document).ready(function() { $('#search-input1').on('input', function() { var searchText = $(this).val().trim().toLowerCase(); // Get input value and normalize console.log(searchText); // Iterate over each div with class scrollable-list-item $('div.scrollable-list-item').each(function() { var memberName = $(this).find('a.u-member-link').text().trim().toLowerCase(); // Get member name // Check if member name contains the search text if (memberName.includes(searchText)) { $(this).show(); // Show the div if it matches } else { $(this).hide(); // Hide the div if it does not match } }); }); function updateSelectedMembersInfo() { const selectedMemberNames = $('.u-member-link.selected').map(function() { return $(this).data('user_name'); }).get(); $('#update-members-info').html(selectedMemberNames.length > 0 ? selectedMemberNames.map(member => '<p>' + member + '</p>').join('') : '<p>No members selected.</p>' ); // Update hidden input with selected member IDs const selectedMembersIds = $('.u-member-link.selected').map(function() { return $(this).data('user_id'); }).get(); $('#update-members-hidden').val(selectedMembersIds.join(',')); } // Click handler for member links $('.u-member-link').on('click', function(event) { event.preventDefault(); $(this).toggleClass('selected'); updateSelectedMembersInfo(); }); // Submit handler for create group form $('#create-group-form').on('submit', function(event) { var json_data = $('#update-members-hidden').val(); event.preventDefault(); // Prevent default form submission // Submit the form programmatically this.submit(); // This refers to the form element }); // Click handler for selected members info (to remove selection) $('#update-members-info').on('click', 'p', function(event) { event.preventDefault(); const selectedMember = $(this).text().trim(); $('.u-member-link').each(function() { if ($(this).data('user_name') === selectedMember) { $(this).removeClass('selected'); return false; // Exit the loop once found } }); updateSelectedMembersInfo(); // Update display and hidden input }); // Get references to the button and the div const $toggleGroupButton = $('#toggleGroupButton'); const $groupMembersContainer = $('#groupMembersContainer'); // Add click event listener to the button $toggleGroupButton.on('click', function() { // Toggle the visibility of the group members div $groupMembersContainer.toggle(); }); }); </script> <script> function redirectTo(url) { window.open(url, '_blank'); } function updateGroupDetails($group_id) { var selectedMembers = $('#update-members-hidden').val(); console.log(selectedMembers); $.ajax({ type: 'POST', url: 'update_member.php', data: { selected_members: selectedMembers, group_id: $group_id }, success: function(response) { // Handle the server response if needed console.log(response); // Example: Show a success message or update UI alert('Members added successfully.'); // Optionally, reload or update the member list after addition // window.location.reload(); }, error: function(xhr, status, error) { // Handle errors console.error(error); alert('Error adding members. Please try again.'); } }); } // function add_member_to_group($conn, $group_id, $member_id) { // // Sanitize inputs (optional, depending on how you handle input elsewhere) // $group_id = mysqli_real_escape_string($conn, $group_id); // $member_id = mysqli_real_escape_string($conn, $member_id); // // Example SQL query to insert a member into a group_members table // $query = "INSERT INTO group_members (group_id, user_id) VALUES ('$group_id', '$member_id')"; // // Perform the query // if (mysqli_query($conn, $query)) { // return true; // Return true if insertion was successful // } else { // // Handle error (you can log the error, throw an exception, etc.) // // For simplicity, you can also echo or return false to indicate failure // echo "Error: ".mysqli_error($conn); // return false; // } // } // function addMembersToGroup() { // var selectedMembers = []; // Array to store selected member IDs // $('.member-checkbox:checked').each(function() { // selectedMembers.push($(this).val()); // }); // // Make an AJAX request to send the selected members data to the server // $.ajax({ // type: 'POST', // url: 'add_members_to_group.php', // data: { // selected_members: JSON.stringify(selectedMembers) // }, // dataType: 'json', // Change the datatype as per your server response // success: function(response) { // // Handle the server response if needed // console.log(response); // // Example: Show a success message or update UI // alert('Members added successfully.'); // // Optionally, reload or update the member list after addition // // window.location.reload(); // }, // error: function(xhr, status, error) { // // Handle errors // console.error(error); // alert('Error adding members. Please try again.'); // } // }); // } </script>