« Back to History
developer_client_edit.php
|
20260723_000646.php
Initial Domain Snapshot
Copy Code
<?php require_once __DIR__ . '/developer_bootstrap.php'; $pdo = developer_get_pdo(); $flashes = developer_take_flashes(); $clientId = (int)($_GET['id'] ?? $_POST['id'] ?? 0); $errors = []; if ($clientId <= 0) { http_response_code(400); exit('<h2>Invalid request</h2><p>Client ID missing hai.</p>'); } $stmt = $pdo->prepare( 'SELECT id, client_name, project_type, status, plan_name, total_users, storage_used, base_url, db_name, contact_person, contact_email, contact_phone, notes FROM developer_clients WHERE id = ? LIMIT 1' ); $stmt->execute([$clientId]); $client = $stmt->fetch(PDO::FETCH_ASSOC); if (!$client) { http_response_code(404); exit('<h2>Client not found</h2><p>Selected client record exist nahi karta.</p>'); } $form = [ 'client_name' => (string)($client['client_name'] ?? ''), 'project_type' => (string)($client['project_type'] ?? ''), 'status' => (string)($client['status'] ?? 'Active'), 'plan_name' => (string)($client['plan_name'] ?? ''), 'total_users' => (string)((int)($client['total_users'] ?? 0)), 'storage_used' => (string)($client['storage_used'] ?? ''), 'base_url' => (string)($client['base_url'] ?? ''), 'db_name' => (string)($client['db_name'] ?? ''), 'contact_person' => (string)($client['contact_person'] ?? ''), 'contact_email' => (string)($client['contact_email'] ?? ''), 'contact_phone' => (string)($client['contact_phone'] ?? ''), 'notes' => (string)($client['notes'] ?? ''), ]; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $form['client_name'] = trim((string)($_POST['client_name'] ?? '')); $form['project_type'] = trim((string)($_POST['project_type'] ?? '')); $form['status'] = trim((string)($_POST['status'] ?? 'Active')); $form['plan_name'] = trim((string)($_POST['plan_name'] ?? '')); $form['total_users'] = trim((string)($_POST['total_users'] ?? '0')); $form['storage_used'] = trim((string)($_POST['storage_used'] ?? '')); $form['base_url'] = trim((string)($_POST['base_url'] ?? '')); $form['db_name'] = trim((string)($_POST['db_name'] ?? '')); $form['contact_person'] = trim((string)($_POST['contact_person'] ?? '')); $form['contact_email'] = trim((string)($_POST['contact_email'] ?? '')); $form['contact_phone'] = trim((string)($_POST['contact_phone'] ?? '')); $form['notes'] = trim((string)($_POST['notes'] ?? '')); 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.'; } if (!ctype_digit($form['total_users'])) { $errors[] = 'Total users numeric value hona chahiye.'; } if (!$errors) { $update = $pdo->prepare( 'UPDATE developer_clients SET client_name = :client_name, project_type = :project_type, status = :status, plan_name = :plan_name, total_users = :total_users, storage_used = :storage_used, base_url = :base_url, db_name = :db_name, contact_person = :contact_person, contact_email = :contact_email, contact_phone = :contact_phone, notes = :notes, last_activity_at = NOW(), updated_at = NOW() WHERE id = :id' ); $update->execute([ ':client_name' => $form['client_name'], ':project_type' => $form['project_type'] !== '' ? $form['project_type'] : null, ':status' => $form['status'] !== '' ? $form['status'] : 'Active', ':plan_name' => $form['plan_name'] !== '' ? $form['plan_name'] : null, ':total_users' => (int)$form['total_users'], ':storage_used' => $form['storage_used'] !== '' ? $form['storage_used'] : '0 GB', ':base_url' => $form['base_url'] !== '' ? $form['base_url'] : null, ':db_name' => $form['db_name'] !== '' ? $form['db_name'] : null, ':contact_person' => $form['contact_person'] !== '' ? $form['contact_person'] : null, ':contact_email' => $form['contact_email'] !== '' ? $form['contact_email'] : null, ':contact_phone' => $form['contact_phone'] !== '' ? $form['contact_phone'] : null, ':notes' => $form['notes'] !== '' ? $form['notes'] : null, ':id' => $clientId, ]); developer_log_activity($pdo, 'Updated client: ' . $form['client_name']); developer_flash('Client updated successfully.', 'success'); header('Location: developer_client_edit.php?id=' . $clientId); exit; } } ?> <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Edit Developer Client</title> <style> body{font-family:"Segoe UI",Tahoma,sans-serif;background:#f4f7fb;margin:0;padding:24px;color:#172033;} .page{max-width:1100px;margin:0 auto;} .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;} .topbar h1{margin:0;} .topbar p{margin:6px 0 0;color:#607086;} .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;background:#1166ee;color:#fff;} .btn-light{background:#eef4ff;color:#172033;} .card{background:#fff;border:1px solid #d9e1ee;border-radius:18px;box-shadow:0 18px 40px rgba(24,39,75,.08);padding:20px;} .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;} .field-full{grid-column:span 2;} label{display:block;font-weight:700;margin-bottom:6px;} input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #d9e1ee;font:inherit;background:#fbfdff;} textarea{min-height:110px;resize:vertical;} .flash,.errors{border-radius:14px;padding:14px 16px;margin-bottom:16px;} .flash{background:#e8fff1;border:1px solid #b7f2cb;color:#166534;} .errors{background:#fff0f0;border:1px solid #ffcaca;color:#991b1b;} .errors ul{margin:0;padding-left:18px;} .meta{display:grid;grid-template-columns:160px 1fr;gap:8px 14px;margin-bottom:18px;font-size:14px;} .meta-label{color:#607086;font-weight:700;} @media (max-width: 900px){.grid{grid-template-columns:1fr;}.field-full{grid-column:auto;}.meta{grid-template-columns:1fr;}} </style> </head> <body> <div class="page"> <div class="topbar"> <div> <h1>Edit Client</h1> <p>Yahan se selected developer client ka profile update kar sakte ho.</p> </div> <div class="actions"> <a href="dashboard.php" class="btn btn-light">Back to Dashboard</a> <a href="developer_client_create.php" class="btn btn-light">Add Client</a> </div> </div> <?php foreach ($flashes as $flash): ?> <div class="flash"><?= h($flash['message'] ?? '') ?></div> <?php endforeach; ?> <?php if ($errors): ?> <div class="errors"> <strong>Save nahi hua:</strong> <ul> <?php foreach ($errors as $error): ?> <li><?= h($error) ?></li> <?php endforeach; ?> </ul> </div> <?php endif; ?> <div class="card"> <div class="meta"> <div class="meta-label">Client ID</div><div><?= (int)$client['id'] ?></div> <div class="meta-label">Current Status</div><div><?= h($form['status']) ?></div> </div> <form method="post"> <input type="hidden" name="id" value="<?= (int)$client['id'] ?>"> <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']) ?>"> </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']) ?>"> </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']) ?>"> </div> <div> <label for="base_url">App URL</label> <input id="base_url" name="base_url" value="<?= h($form['base_url']) ?>"> </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"><?= h($form['notes']) ?></textarea> </div> <div class="field-full"> <button class="btn" type="submit">Save Changes</button> </div> </div> </form> </div> </div> </body> </html>