[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: dashboard.php
<?php require_once 'config/database.php'; require_once 'config/functions.php'; requireAuth(); // Get dashboard statistics based on user role $stats = []; if (hasRole('manager') || hasRole('accountant')) { // Get pending shift requests $stmt = $pdo->prepare(" SELECT COUNT(*) as count FROM shifts WHERE status IN ('requested', 'end_requested') "); $stmt->execute(); $stats['pending_shifts'] = $stmt->fetch()['count']; // Get pending returns $stmt = $pdo->prepare("SELECT COUNT(*) as count FROM returns WHERE status = 'pending'"); $stmt->execute(); $stats['pending_returns'] = $stmt->fetch()['count']; // Get today's sales $stmt = $pdo->prepare(" SELECT COUNT(*) as count, COALESCE(SUM(invoice_total), 0) as total FROM invoices WHERE DATE(created_at) = CURDATE() "); $stmt->execute(); $today_sales = $stmt->fetch(); $stats['today_invoices'] = $today_sales['count']; $stats['today_sales'] = $today_sales['total']; // Get today's payments $stmt = $pdo->prepare(" SELECT COUNT(*) as count, COALESCE(SUM(amount), 0) as total FROM payments WHERE DATE(created_at) = CURDATE() "); $stmt->execute(); $today_payments = $stmt->fetch(); $stats['today_payments_count'] = $today_payments['count']; $stats['today_payments'] = $today_payments['total']; } else if (hasRole('representative')) { // Get representative's active shift $active_shift = getActiveShift($pdo, $_SESSION['user_id']); $stats['active_shift'] = $active_shift; if ($active_shift) { // Get today's invoices for this shift $stmt = $pdo->prepare(" SELECT COUNT(*) as count, COALESCE(SUM(invoice_total), 0) as total FROM invoices WHERE shift_id = ? AND DATE(created_at) = CURDATE() "); $stmt->execute([$active_shift['id']]); $today = $stmt->fetch(); $stats['today_invoices'] = $today['count']; $stats['today_sales'] = $today['total']; // Get today's payments for this shift $stmt = $pdo->prepare(" SELECT COUNT(*) as count, COALESCE(SUM(amount), 0) as total FROM payments WHERE shift_id = ? AND DATE(created_at) = CURDATE() "); $stmt->execute([$active_shift['id']]); $payments = $stmt->fetch(); $stats['today_payments_count'] = $payments['count']; $stats['today_payments'] = $payments['total']; } } ?> <!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>لوحة التحكم - حسابات عربية بن فريش</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.rtl.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet"> <style> .sidebar { min-height: 100vh; background: linear-gradient(180deg, #2c3e50 0%, #3498db 100%); } .sidebar .nav-link { color: rgba(255, 255, 255, 0.8); padding: 0.75rem 1.25rem; border-radius: 8px; margin: 0.25rem 0.5rem; transition: all 0.3s ease; } .sidebar .nav-link:hover, .sidebar .nav-link.active { color: white; background: rgba(255, 255, 255, 0.1); transform: translateX(-5px); } .stat-card { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 15px; color: white; transition: transform 0.3s ease; } .stat-card:hover { transform: translateY(-5px); } .brand-header { background: rgba(255, 255, 255, 0.1); border-radius: 15px; color: white; margin-bottom: 2rem; } .alert-custom { border-radius: 15px; border: none; } </style> </head> <body class="bg-light"> <div class="container-fluid"> <div class="row"> <!-- Sidebar --> <nav class="col-md-3 col-lg-2 d-md-block sidebar collapse"> <div class="position-sticky pt-3"> <div class="brand-header text-center p-3 mb-3"> <h5 class="mb-0">حسابات عربية بن فريش</h5> <small><?= htmlspecialchars($_SESSION['user_name']) ?></small> <br><span class="badge bg-success"><?= $_SESSION['user_role'] === 'manager' ? 'مدير' : ($_SESSION['user_role'] === 'accountant' ? 'محاسب' : 'مندوب') ?></span> </div> <ul class="nav flex-column"> <li class="nav-item"> <a class="nav-link active" href="/dashboard.php"> <i class="fas fa-tachometer-alt me-2"></i> لوحة التحكم </a> </li> <?php if (hasRole('representative')): ?> <li class="nav-item"> <a class="nav-link" href="/shifts/my_shift.php"> <i class="fas fa-clock me-2"></i> ورديتي </a> </li> <li class="nav-item"> <a class="nav-link" href="/invoices/create.php"> <i class="fas fa-file-invoice me-2"></i> فاتورة جديدة </a> </li> <li class="nav-item"> <a class="nav-link" href="/payments/create.php"> <i class="fas fa-money-bill me-2"></i> تسجيل دفعة </a> </li> <li class="nav-item"> <a class="nav-link" href="/clients/create.php"> <i class="fas fa-user-plus me-2"></i> عميل جديد </a> </li> <li class="nav-item"> <a class="nav-link" href="/returns/create.php"> <i class="fas fa-undo me-2"></i> طلب مرتجع </a> </li> <?php endif; ?> <?php if (hasRole('manager') || hasRole('accountant')): ?> <li class="nav-item"> <a class="nav-link" href="/shifts/manage.php"> <i class="fas fa-user-clock me-2"></i> إدارة الورديات </a> </li> <li class="nav-item"> <a class="nav-link" href="/invoices/all.php"> <i class="fas fa-file-invoice-dollar me-2"></i> جميع الفواتير </a> </li> <li class="nav-item"> <a class="nav-link" href="/returns/manage.php"> <i class="fas fa-clipboard-check me-2"></i> إدارة المرتجعات </a> </li> <li class="nav-item"> <a class="nav-link" href="/clients/manage.php"> <i class="fas fa-users me-2"></i> إدارة العملاء </a> </li> <?php endif; ?> <?php if (hasRole('accountant')): ?> <li class="nav-item"> <a class="nav-link" href="/financial/transactions.php"> <i class="fas fa-exchange-alt me-2"></i> التدفق المالي </a> </li> <li class="nav-item"> <a class="nav-link" href="/audit/log.php"> <i class="fas fa-clipboard-list me-2"></i> سجل المراجعة </a> </li> <li class="nav-item"> <a class="nav-link" href="/reports/representatives.php"> <i class="fas fa-users me-2"></i> تقرير المندوبين </a> </li> <li class="nav-item"> <a class="nav-link" href="/reports/representative_detailed.php"> <i class="fas fa-user-chart me-2"></i> تقرير مفصل للمندوب </a> </li> <li class="nav-item"> <a class="nav-link" href="/reports/overdue_clients.php"> <i class="fas fa-exclamation-triangle me-2"></i> العملاء المتأخرين </a> </li> <li class="nav-item"> <a class="nav-link" href="/reports/index.php"> <i class="fas fa-chart-bar me-2"></i> التقارير </a> </li> <?php endif; ?> <?php if (hasRole('manager')): ?> <li class="nav-item"> <a class="nav-link" href="/clients/create.php"> <i class="fas fa-user-plus me-2"></i> عميل جديد </a> </li> <li class="nav-item"> <a class="nav-link" href="/products/manage.php"> <i class="fas fa-box me-2"></i> إدارة المنتجات </a> </li> <li class="nav-item"> <a class="nav-link" href="/users/manage.php"> <i class="fas fa-users-cog me-2"></i> إدارة المستخدمين </a> </li> <?php endif; ?> <hr class="text-white"> <li class="nav-item"> <a class="nav-link" href="/logout.php"> <i class="fas fa-sign-out-alt me-2"></i> تسجيل الخروج </a> </li> </ul> </div> </nav> <!-- Main content --> <main class="col-md-9 ms-sm-auto col-lg-10 px-md-4"> <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom"> <h1 class="h2">لوحة التحكم</h1> <div class="btn-toolbar mb-2 mb-md-0"> <div class="btn-group me-2"> <span class="badge bg-primary fs-6"><?= date('Y-m-d H:i') ?></span> </div> </div> </div> <!-- Statistics Cards --> <div class="row mb-4"> <?php if (hasRole('manager') || hasRole('accountant')): ?> <?php if ($stats['pending_shifts'] > 0): ?> <div class="col-xl-3 col-md-6 mb-4"> <div class="alert alert-warning alert-custom"> <h5><i class="fas fa-exclamation-triangle me-2"></i>طلبات ورديات معلقة</h5> <h3 class="mb-0"><?= $stats['pending_shifts'] ?></h3> <a href="/shifts/manage.php" class="btn btn-sm btn-outline-warning mt-2">عرض الطلبات</a> </div> </div> <?php endif; ?> <?php if ($stats['pending_returns'] > 0): ?> <div class="col-xl-3 col-md-6 mb-4"> <div class="alert alert-info alert-custom"> <h5><i class="fas fa-undo me-2"></i>مرتجعات معلقة</h5> <h3 class="mb-0"><?= $stats['pending_returns'] ?></h3> <a href="/returns/manage.php" class="btn btn-sm btn-outline-info mt-2">مراجعة المرتجعات</a> </div> </div> <?php endif; ?> <div class="col-xl-3 col-md-6 mb-4"> <div class="stat-card p-3"> <div class="d-flex align-items-center"> <div class="flex-grow-1"> <p class="mb-1">فواتير اليوم</p> <h4 class="mb-0"><?= $stats['today_invoices'] ?></h4> <small><?= formatCurrency($stats['today_sales']) ?></small> </div> <div class="flex-shrink-0"> <i class="fas fa-file-invoice fa-2x"></i> </div> </div> </div> </div> <div class="col-xl-3 col-md-6 mb-4"> <div class="stat-card p-3"> <div class="d-flex align-items-center"> <div class="flex-grow-1"> <p class="mb-1">مدفوعات اليوم</p> <h4 class="mb-0"><?= $stats['today_payments_count'] ?></h4> <small><?= formatCurrency($stats['today_payments']) ?></small> </div> <div class="flex-shrink-0"> <i class="fas fa-money-bill fa-2x"></i> </div> </div> </div> </div> <?php else: // Representative view ?> <?php if (!$stats['active_shift']): ?> <div class="col-12"> <div class="alert alert-warning alert-custom text-center"> <h4><i class="fas fa-clock me-2"></i>لا توجد وردية نشطة</h4> <p>يجب طلب بدء وردية جديدة للعمل</p> <a href="/shifts/request_start.php" class="btn btn-warning btn-lg">طلب بدء وردية</a> </div> </div> <?php else: ?> <div class="col-md-4 mb-4"> <div class="stat-card p-3"> <div class="d-flex align-items-center"> <div class="flex-grow-1"> <p class="mb-1">الوردية الحالية</p> <h5 class="mb-0">نشطة</h5> <small>منذ <?= date('H:i', strtotime($stats['active_shift']['started_at'])) ?></small> </div> <div class="flex-shrink-0"> <i class="fas fa-clock fa-2x"></i> </div> </div> </div> </div> <div class="col-md-4 mb-4"> <div class="stat-card p-3"> <div class="d-flex align-items-center"> <div class="flex-grow-1"> <p class="mb-1">فواتير اليوم</p> <h4 class="mb-0"><?= $stats['today_invoices'] ?></h4> <small><?= formatCurrency($stats['today_sales']) ?></small> </div> <div class="flex-shrink-0"> <i class="fas fa-file-invoice fa-2x"></i> </div> </div> </div> </div> <div class="col-md-4 mb-4"> <div class="stat-card p-3"> <div class="d-flex align-items-center"> <div class="flex-grow-1"> <p class="mb-1">مدفوعات اليوم</p> <h4 class="mb-0"><?= $stats['today_payments_count'] ?></h4> <small><?= formatCurrency($stats['today_payments']) ?></small> </div> <div class="flex-shrink-0"> <i class="fas fa-money-bill fa-2x"></i> </div> </div> </div> </div> <?php endif; ?> <?php endif; ?> </div> <!-- Quick Actions --> <div class="row"> <div class="col-12"> <div class="card"> <div class="card-header"> <h5 class="mb-0">الإجراءات السريعة</h5> </div> <div class="card-body"> <div class="row"> <?php if (hasRole('representative')): ?> <?php if ($stats['active_shift']): ?> <div class="col-md-3 mb-3"> <a href="/invoices/create.php" class="btn btn-primary btn-lg w-100"> <i class="fas fa-file-invoice mb-2 d-block"></i> فاتورة جديدة </a> </div> <div class="col-md-3 mb-3"> <a href="/payments/create.php" class="btn btn-success btn-lg w-100"> <i class="fas fa-money-bill mb-2 d-block"></i> تسجيل دفعة </a> </div> <div class="col-md-3 mb-3"> <a href="/clients/create.php" class="btn btn-info btn-lg w-100"> <i class="fas fa-user-plus mb-2 d-block"></i> عميل جديد </a> </div> <div class="col-md-3 mb-3"> <a href="/shifts/my_shift.php" class="btn btn-warning btn-lg w-100"> <i class="fas fa-clock mb-2 d-block"></i> إنهاء الوردية </a> </div> <?php else: ?> <div class="col-12 text-center"> <p class="text-muted mb-3">يجب بدء وردية للوصول إلى الميزات</p> <a href="/shifts/request_start.php" class="btn btn-primary btn-lg">طلب بدء وردية</a> </div> <?php endif; ?> <?php else: ?> <div class="col-md-3 mb-3"> <a href="/invoices/all.php" class="btn btn-primary btn-lg w-100"> <i class="fas fa-file-invoice-dollar mb-2 d-block"></i> جميع الفواتير </a> </div> <div class="col-md-3 mb-3"> <a href="/shifts/manage.php" class="btn btn-warning btn-lg w-100"> <i class="fas fa-user-clock mb-2 d-block"></i> إدارة الورديات </a> </div> <div class="col-md-3 mb-3"> <a href="/returns/manage.php" class="btn btn-info btn-lg w-100"> <i class="fas fa-clipboard-check mb-2 d-block"></i> إدارة المرتجعات </a> </div> <div class="col-md-3 mb-3"> <a href="/financial/transactions.php" class="btn btn-warning btn-lg w-100"> <i class="fas fa-exchange-alt mb-2 d-block"></i> التدفق المالي </a> </div> <div class="col-md-3 mb-3"> <a href="/reports/index.php" class="btn btn-success btn-lg w-100"> <i class="fas fa-chart-bar mb-2 d-block"></i> التقارير </a> </div> <?php endif; ?> </div> </div> </div> </div> </div> </main> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> </body> </html>
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.84 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285