:: **Zploit** v1.0 | Current Path: **/home/kreativepixelz/www/demo/soulmeetvivah.com/member/**
:: Editing File: privacy.php
<?php include('header.php'); ?> <style type="text/css"> .user-info li:hover{ font-weight: bold; } .user-info li a:hover{ font-weight: bold; cursor: pointer; } /* ============================================ Modern Tab Navigation Styles ============================================ */ .user-top-header { background: #fff; border-radius: 15px; padding: 0; box-shadow: 0 5px 20px rgba(0,0,0,0.1); margin-bottom: 30px; overflow: hidden; } .menu-list { list-style: none; padding: 0; margin: 0; display: flex; background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 100%); border-bottom: 3px solid #e0e0e0; position: relative; } .menu-list::after { content: ''; position: absolute; bottom: -3px; left: 0; height: 3px; background: #cd4252; transition: width 0.3s ease; width: 0; } .menu-list li { position: relative; flex: 1; text-align: center; transition: all 0.3s ease; } .menu-list li:not(:last-child) { border-right: 1px solid rgba(0,0,0,0.1); } .menu-list li a { display: flex; align-items: center; justify-content: center; padding: 18px 20px; text-decoration: none; color: #666; font-weight: 600; font-size: 15px; transition: all 0.3s ease; position: relative; text-transform: uppercase; letter-spacing: 0.5px; gap: 10px; } .menu-list li a i { font-size: 18px; transition: all 0.3s ease; } .menu-list li:hover:not(.active) a { color: #cd4252; background: rgba(205, 66, 82, 0.05); } .menu-list li:hover:not(.active) a i { transform: scale(1.1); } .menu-list .active { background: #cd4252; position: relative; } .menu-list .active::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: rgba(255, 255, 255, 0.3); } .menu-list .active a { color: #fff !important; background: transparent; text-shadow: 0 2px 4px rgba(0,0,0,0.2); } .menu-list .active a i { color: #fff; transform: scale(1.15); } /* Tab Icons */ .menu-list li a i { opacity: 0.8; } .menu-list .active a i { opacity: 1; } /* Responsive Tabs */ @media (max-width: 768px) { .menu-list { flex-wrap: wrap; } .menu-list li { flex: 1 1 50%; min-width: 50%; } .menu-list li a { padding: 15px 10px; font-size: 13px; flex-direction: column; gap: 5px; } .menu-list li a i { font-size: 20px; } } @media (max-width: 480px) { .menu-list li { flex: 1 1 100%; } } .setting-item { margin-bottom: 30px; padding: 20px; background: #f9f9f9; border-radius: 8px; border: 1px solid #e0e0e0; } .setting-item h5 { color: #333; margin-bottom: 10px; } .setting-item p { color: #666; margin-bottom: 15px; } .block-box { background: white; padding: 20px; border-radius: 10px; margin-bottom: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .menu-list { list-style: none; padding: 0; margin: 0; display: flex; border-bottom: 2px solid #e0e0e0; } .menu-list li { position: relative; padding: 15px 20px; } .menu-list li a { text-decoration: none; color: #333; font-weight: 500; } </style> <div style="height: 100px;"></div> <!-- Page Content --> <div class="page-content"> <div class="container"> <!-- Menu Navigation --> <div class="user-top-header"> <ul class="menu-list"> <li><a href="my-soulmeet"> <i class="icofont-user"></i> <span>My Profile</span> </a></li> <li><a href="my-photos"> <i class="icofont-picture"></i> <span>My Photos</span> </a></li> <li><a href="partner-preferences"> <i class="icofont-heart"></i> <span>Partner Preferences</span> </a></li> <li class="active"><a href="settings"> <i class="icofont-settings"></i> <span>Setting</span> </a></li> </ul> </div> <!-- Privacy Settings Content --> <div class="block-box user-about"> <div class="widget-heading"> <div> <h3 style="font-size: 18px!important;">Privacy Settings</h3> <h3 style="margin-top: -10px;" class="widget-title"></h3> </div> </div> <div class="row"> <div class="col-lg-12"> <div id="settingsMessage" class="alert" style="display: none;"></div> <!-- Display Name Setting --> <div class="setting-item"> <h5>Display Name</h5> <p>Choose how your name appears to other members</p> <div class="form-group"> <select class="form-control" id="display_name" name="display_name" style="max-width: 500px;"> <option value="1">First Name + Last Initial + XXX (e.g., John DXXX)</option> <option value="2">First Initial + XXX + Last Name (e.g., JXXX Doe)</option> <option value="3">RIV ID Only</option> <option value="4">Full Name (First Name + Last Name)</option> </select> </div> <button type="button" class="btn btn-primary btn-sm" onclick="updateSetting('display_name')">Save</button> <span class="ml-3 text-muted" id="display_name_status"></span> </div> <!-- Phone Setting --> <div class="setting-item"> <h5>Mobile Number Visibility</h5> <p>Control who can see your mobile number</p> <div class="form-group"> <select class="form-control" id="phone_setting" name="phone_setting" style="max-width: 500px;"> <option value="1">Visible to All</option> <option value="2">Visible to Premium Members</option> <option value="3">Hide my Mobile No</option> </select> </div> <button type="button" class="btn btn-primary btn-sm" onclick="updateSetting('phone_setting')">Save</button> <span class="ml-3 text-muted" id="phone_setting_status"></span> </div> <!-- Email Setting --> <div class="setting-item"> <h5>Email Visibility</h5> <p>Control who can see your email address</p> <div class="form-group"> <select class="form-control" id="email_setting" name="email_setting" style="max-width: 500px;"> <option value="1">Visible to All</option> <option value="2">Visible to Premium Members</option> <option value="3">Hide my Email Id</option> </select> </div> <button type="button" class="btn btn-primary btn-sm" onclick="updateSetting('email_setting')">Save</button> <span class="ml-3 text-muted" id="email_setting_status"></span> </div> <!-- Photo Setting --> <div class="setting-item"> <h5>Photo Visibility</h5> <p>Control who can see your photos</p> <div class="form-group"> <select class="form-control" id="photo_setting" name="photo_setting" style="max-width: 500px;"> <option value="1">Visible to All</option> <option value="2">Visible to Premium Members</option> <option value="3">Hide my Photo</option> </select> </div> <button type="button" class="btn btn-primary btn-sm" onclick="updateSetting('photo_setting')">Save</button> <span class="ml-3 text-muted" id="photo_setting_status"></span> </div> <!-- Date of Birth Setting --> <div class="setting-item"> <h5>Date of Birth Visibility</h5> <p>Choose how your date of birth is displayed</p> <div class="form-group"> <select class="form-control" id="date_of_birth_setting" name="date_of_birth_setting" style="max-width: 500px;"> <option value="1">Show my full Date of Birth (dd/mm/yyyy)</option> <option value="2">Show only the Month & Year (mm/yyyy)</option> </select> </div> <button type="button" class="btn btn-primary btn-sm" onclick="updateSetting('date_of_birth_setting')">Save</button> <span class="ml-3 text-muted" id="date_of_birth_setting_status"></span> </div> <!-- Annual Income Setting --> <div class="setting-item"> <h5>Annual Income Visibility</h5> <p>Control who can see your annual income</p> <div class="form-group"> <select class="form-control" id="annual_income_setting" name="annual_income_setting" style="max-width: 500px;"> <option value="1">Visible to All</option> <option value="2">Visible to Premium Members</option> <option value="3">Keep this private</option> </select> </div> <button type="button" class="btn btn-primary btn-sm" onclick="updateSetting('annual_income_setting')">Save</button> <span class="ml-3 text-muted" id="annual_income_setting_status"></span> </div> </div> </div> </div> </div> <br><br> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { // Load current privacy settings loadPrivacySettings(); }); function loadPrivacySettings() { $.ajax({ url: 'php/fetch_privacy.php', method: 'POST', data: { user_id: '<?=$user_id?>' }, dataType: 'json', success: function(data) { if (data) { // Set display name if (data.display_name_as) { $('#display_name').val(data.display_name_as); $('#display_name_status').text('Current: ' + (data.display_name_as_title || '')); } // Set phone setting if (data.phone) { $('#phone_setting').val(data.phone); $('#phone_setting_status').text('Current: ' + (data.phone_title || '')); } // Set email setting if (data.email) { $('#email_setting').val(data.email); $('#email_setting_status').text('Current: ' + (data.email_title || '')); } // Set photo setting if (data.photo) { $('#photo_setting').val(data.photo); $('#photo_setting_status').text('Current: ' + (data.photo_title || '')); } // Set date of birth setting if (data.date_of_birth) { $('#date_of_birth_setting').val(data.date_of_birth); $('#date_of_birth_setting_status').text('Current: ' + (data.date_of_birth_title || '')); } // Set annual income setting if (data.annual_income) { $('#annual_income_setting').val(data.annual_income); $('#annual_income_setting_status').text('Current: ' + (data.annual_income_title || '')); } } }, error: function(xhr, status, error) { console.error('Error loading privacy settings:', error); showMessage('Error loading settings. Please refresh the page.', 'danger'); } }); } function updateSetting(settingType) { var settingValue = $('#' + settingType).val(); var action = ''; // Map setting types to actions switch(settingType) { case 'display_name': action = 'update_display_name'; break; case 'phone_setting': action = 'update_phone_setting'; break; case 'email_setting': action = 'update_email_setting'; break; case 'photo_setting': action = 'update_photo_setting'; break; case 'date_of_birth_setting': action = 'update_date_of_birth'; break; case 'annual_income_setting': action = 'update_income'; break; default: showMessage('Invalid setting type', 'danger'); return; } var postData = { user_id: '<?=$user_id?>', action: action }; // Add the setting value with appropriate key if (settingType == 'display_name') { postData.display_name = settingValue; } else if (settingType == 'phone_setting') { postData.phone_setting = settingValue; } else if (settingType == 'email_setting') { postData.email_setting = settingValue; } else if (settingType == 'photo_setting') { postData.photo_setting = settingValue; } else if (settingType == 'date_of_birth_setting') { postData.date_of_birth_setting = settingValue; } else if (settingType == 'annual_income_setting') { postData.annual_income_setting = settingValue; } // Disable button during update $('button[onclick="updateSetting(\'' + settingType + '\')"]').prop('disabled', true).text('Saving...'); $.ajax({ url: 'php/update_privacy_setting.php', method: 'POST', data: postData, success: function(response) { if (response == '1' || response.trim() == '1') { showMessage('Setting updated successfully!', 'success'); // Reload settings to update status setTimeout(function() { loadPrivacySettings(); }, 500); } else { showMessage('Failed to update setting. Please try again.', 'danger'); } }, error: function(xhr, status, error) { console.error('Error updating setting:', error); showMessage('An error occurred. Please try again.', 'danger'); }, complete: function() { // Re-enable button $('button[onclick="updateSetting(\'' + settingType + '\')"]').prop('disabled', false).text('Save'); } }); } function showMessage(message, type) { var alertClass = type == 'success' ? 'alert-success' : 'alert-danger'; $('#settingsMessage').removeClass('alert-success alert-danger') .addClass(alertClass) .text(message) .fadeIn(); setTimeout(function() { $('#settingsMessage').fadeOut(); }, 3000); } </script> <?php include('footer.php'); ?>