« Back to History
developer_client_create.php
|
20260722_120325.php
Initial Domain Snapshot
Copy Code
<?php require_once __DIR__ . '/developer_bootstrap.php'; $pdo = developer_get_pdo(); $flashes = developer_take_flashes(); $form = [ 'client_name' => trim((string)($_POST['client_name'] ?? '')), 'project_type' => trim((string)($_POST['project_type'] ?? 'ERP')), 'status' => trim((string)($_POST['status'] ?? 'Active')), 'plan_name' => trim((string)($_POST['plan_name'] ?? 'Starter')), 'total_users' => (string)($_POST['total_users'] ?? '0'), 'storage_used' => trim((string)($_POST['storage_used'] ?? '0 GB')), 'base_url' => trim((string)($_POST['base_url'] ?? '')), 'db_name' => trim((string)($_POST['db_name'] ?? '')), 'contact_person' => trim((string)($_POST['contact_person'] ?? '')), 'contact_email' => trim((string)($_POST['contact_email'] ?? '')), 'contact_phone' => trim((string)($_POST['contact_phone'] ?? '')), 'notes' => trim((string)($_POST['notes'] ?? '')), ]; $errors = []; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($form['client_name'] === '') { $errors[] = 'Client name required hai.'; } if ($form['contact_email'] !== '' && !filter_var($form['contact_email'], FILTER_VALIDATE_EMAIL)) { $errors[] = 'Contact email valid format me do.'; } if ($form['base_url'] !== '' && !filter_var($form['base_url'], FILTER_VALIDATE_URL)) { $errors[] = 'Base URL valid link hona chahiye, jaise https://example.com.'; } if (!ctype_digit((string)$form['total_users'])) { $errors[] = 'Total users numeric value hona chahiye.'; } if (!$errors) { $stmt = $pdo->prepare( 'INSERT INTO developer_clients ( client_name, project_type, status, plan_name, total_users, storage_used, base_url, db_name, contact_person, contact_email, contact_phone, notes, last_activity_at ) VALUES ( :client_name, :project_type, :status, :plan_name, :total_users, :storage_used, :base_url, :db_name, :contact_person, :contact_email, :contact_phone, :notes, NOW() )' ); $stmt->execute([ ':client_name' => $form['client_name'], ':project_type' => $form['project_type'] ?: null, ':status' => $form['status'] ?: 'Active', ':plan_name' => $form['plan_name'] ?: null, ':total_users' => (int)$form['total_users'], ':storage_used' => $form['storage_used'] ?: '0 GB', ':base_url' => $form['base_url'] ?: null, ':db_name' => $form['db_name'] ?: null, ':contact_person' => $form['contact_person'] ?: null, ':contact_email' => $form['contact_email'] ?: null, ':contact_phone' => $form['contact_phone'] ?: null, ':notes' => $form['notes'] ?: null, ]); developer_log_activity($pdo, 'Created client: ' . $form['client_name']); developer_flash('Client created successfully.', 'success'); header('Location: dashboard.php'); exit; } } $recentClients = $pdo->query( 'SELECT id, client_name, status, project_type, created_at FROM developer_clients ORDER BY id DESC LIMIT 8' )->fetchAll(PDO::FETCH_ASSOC); ?> <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Create Developer Client</title> <style> :root { --bg: #f5f7fb; --surface: #ffffff; --text: #172033; --muted: #607086; --line: #d9e1ee; --primary: #1166ee; --shadow: 0 18px 40px rgba(24, 39, 75, 0.08); } * { box-sizing: border-box; } body { margin: 0; font-family: "Segoe UI", Tahoma, sans-serif; background: radial-gradient(circle at top left, #e5efff, transparent 30%), var(--bg); color: var(--text); } .page { max-width: 1200px; margin: 0 auto; padding: 24px; } .topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; } .topbar h1 { margin: 0; } .topbar p { margin: 6px 0 0; color: var(--muted); } .actions { display: flex; gap: 12px; flex-wrap: wrap; } .btn { display: inline-flex; align-items: center; justify-content: center; padding: 11px 16px; border-radius: 12px; font-weight: 700; border: 0; cursor: pointer; text-decoration: none; } .btn-primary { background: var(--primary); color: #fff; } .btn-light { background: #eef4ff; color: var(--text); } .layout { display: grid; grid-template-columns: 1.8fr 1fr; gap: 20px; } .card { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); overflow: hidden; } .card-header, .card-body { padding: 20px; } .card-header { border-bottom: 1px solid var(--line); } .grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } label { display: block; font-weight: 700; margin-bottom: 6px; } input, select, textarea { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); font: inherit; background: #fbfdff; } textarea { min-height: 110px; resize: vertical; } .field-full { grid-column: span 2; } .flash, .error-list { border-radius: 14px; padding: 14px 16px; margin-bottom: 16px; } .flash { background: #eef5ff; border: 1px solid #cfe0ff; color: #1849a9; } .error-list { background: #fff0f0; border: 1px solid #ffcaca; color: #991b1b; } .error-list ul { margin: 0; padding-left: 18px; } .table { width: 100%; border-collapse: collapse; } .table th, .table td { border-top: 1px solid var(--line); padding: 12px 14px; text-align: left; } .badge { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #dcfce7; color: #166534; } .muted { color: var(--muted); } @media (max-width: 900px) { .layout, .grid { grid-template-columns: 1fr; } .field-full { grid-column: auto; } } </style> </head> <body> <div class="page"> <div class="topbar"> <div> <h1>Create Developer Client</h1> <p>Yahan se jo record create hoga, wahi dashboard ke cards aur client list me dikhega.</p> </div> <div class="actions"> <a href="dashboard.php" class="btn btn-light">Back to Dashboard</a> <a href="company_setup.php" class="btn btn-light">Company Setup</a> </div> </div> <?php foreach ($flashes as $flash): ?> <div class="flash"> <?= h($flash['message'] ?? '') ?> </div> <?php endforeach; ?> <?php if ($errors): ?> <div class="error-list"> <strong>Form submit nahi hua:</strong> <ul> <?php foreach ($errors as $error): ?> <li><?= h($error) ?></li> <?php endforeach; ?> </ul> </div> <?php endif; ?> <div class="layout"> <div class="card"> <div class="card-header"> <strong>Client Details</strong> </div> <div class="card-body"> <form method="post"> <div class="grid"> <div> <label for="client_name">Client Name</label> <input id="client_name" name="client_name" value="<?= h($form['client_name']) ?>" required> </div> <div> <label for="project_type">Project Type</label> <input id="project_type" name="project_type" value="<?= h($form['project_type']) ?>" placeholder="ERP / CRM / HRMS"> </div> <div> <label for="status">Status</label> <select id="status" name="status"> <option value="Active" <?= $form['status'] === 'Active' ? 'selected' : '' ?>>Active</option> <option value="Inactive" <?= $form['status'] === 'Inactive' ? 'selected' : '' ?>>Inactive</option> <option value="Trial" <?= $form['status'] === 'Trial' ? 'selected' : '' ?>>Trial</option> </select> </div> <div> <label for="plan_name">Plan Name</label> <input id="plan_name" name="plan_name" value="<?= h($form['plan_name']) ?>" placeholder="Starter / Pro / Enterprise"> </div> <div> <label for="total_users">Total Users</label> <input id="total_users" name="total_users" type="number" min="0" value="<?= h($form['total_users']) ?>"> </div> <div> <label for="storage_used">Storage Used</label> <input id="storage_used" name="storage_used" value="<?= h($form['storage_used']) ?>" placeholder="12 GB"> </div> <div> <label for="base_url">App URL</label> <input id="base_url" name="base_url" value="<?= h($form['base_url']) ?>" placeholder="https://client.example.com"> </div> <div> <label for="db_name">Database Name</label> <input id="db_name" name="db_name" value="<?= h($form['db_name']) ?>"> </div> <div> <label for="contact_person">Contact Person</label> <input id="contact_person" name="contact_person" value="<?= h($form['contact_person']) ?>"> </div> <div> <label for="contact_email">Contact Email</label> <input id="contact_email" name="contact_email" type="email" value="<?= h($form['contact_email']) ?>"> </div> <div class="field-full"> <label for="contact_phone">Contact Phone</label> <input id="contact_phone" name="contact_phone" value="<?= h($form['contact_phone']) ?>"> </div> <div class="field-full"> <label for="notes">Notes</label> <textarea id="notes" name="notes" placeholder="Internal deployment or support notes"><?= h($form['notes']) ?></textarea> </div> <div class="field-full"> <button type="submit" class="btn btn-primary">Create Client</button> </div> </div> </form> </div> </div> <div class="card"> <div class="card-header"> <strong>Recent Clients</strong> </div> <div class="card-body" style="padding: 0;"> <table class="table"> <thead> <tr> <th>ID</th> <th>Client</th> <th>Status</th> </tr> </thead> <tbody> <?php if (!$recentClients): ?> <tr> <td colspan="3" class="muted">Abhi tak koi client create nahi hua.</td> </tr> <?php endif; ?> <?php foreach ($recentClients as $client): ?> <tr> <td><?= (int)$client['id'] ?></td> <td> <strong><?= h($client['client_name']) ?></strong><br> <span class="muted"><?= h($client['project_type']) ?></span> </td> <td><span class="badge"><?= h($client['status']) ?></span></td> </tr> <?php endforeach; ?> </tbody> </table> </div> </div> </div> </div> </body> </html>