# Forms and Tables Structure

This document outlines all the forms and model files needed for each user role in the BlackMural Bulk SMS platform, with corresponding database table line numbers.

## User Hierarchy
- **SuperAdmin** → Creates and manages Admins
- **Admin** → Creates and manages Clients, Sender IDs, Short Codes, Packages
- **Client** → Creates Users, Groups, Templates, Campaigns, Contacts

---

## 1. SuperAdmin Dashboard (`/superadmin/`)

### Dashboard Files:
- `index.php` - Main dashboard (uses: `super_admins` line 11, `client_dashboard_stats` line 456)
- `login.php` - SuperAdmin login form (uses: `super_admins` line 11)
- `admins.php` - List all admins (uses: `admins` line 21)
- `add_admin.php` - Create new admin form (uses: `admins` line 21)
- `edit_admin.php` - Edit existing admin form (uses: `admins` line 21)
- `system_settings.php` - System configuration form (uses: `system_settings` line 413)
- `audit_logs.php` - View system audit logs (uses: `audit_logs` line 422)
- `profile.php` - SuperAdmin profile management (uses: `super_admins` line 11)

### Model Files (`/model/`):
- `super_admin_login.php` - Process superadmin login (uses: `super_admins` line 11)
- `create_admin.php` - Process admin creation form (uses: `admins` line 21)
- `edit_admin.php` - Process admin edit form (uses: `admins` line 21)
- `delete_admin.php` - Process admin deletion (uses: `admins` line 21)
- `update_system_settings.php` - Process system settings form (uses: `system_settings` line 413)

---

## 2. Admin Dashboard (`/admin/`)

### Dashboard Files:
- `index.php` - Main dashboard (uses: `admins` line 21, `clients` line 34, `packages` line 264)
- `login.php` - Admin login form (uses: `admins` line 21)
- `clients.php` - List all clients (uses: `clients` line 34)
- `add_client.php` - Create new client form (uses: `clients` line 34)
- `edit_client.php` - Edit existing client form (uses: `clients` line 34)
- `sender_ids.php` - List sender IDs (uses: `sender_ids` line 70)
- `add_sender_id.php` - Create sender ID form (uses: `sender_ids` line 70)
- `edit_sender_id.php` - Edit sender ID form (uses: `sender_ids` line 70)
- `short_codes.php` - List short codes (uses: `short_codes` line 82)
- `add_short_code.php` - Create short code form (uses: `short_codes` line 82)
- `edit_short_code.php` - Edit short code form (uses: `short_codes` line 82)
- `packages.php` - List packages (uses: `packages` line 264)
- `add_package.php` - Create package form (uses: `packages` line 264)
- `edit_package.php` - Edit package form (uses: `packages` line 264)
- `assign_sender_ids.php` - Assign sender IDs to clients (uses: `client_sender_ids` line 94)
- `assign_short_codes.php` - Assign short codes to clients (uses: `client_short_codes` line 104)
- `assign_packages.php` - Assign packages to clients (uses: `client_packages` line 274)
- `reports.php` - Usage and revenue reports (uses: `sms_messages` line 370, `sms_campaigns` line 200)
- `profile.php` - Admin profile management (uses: `admins` line 21)

### Model Files (`/model/`):
- `admin_login.php` - Process admin login (uses: `admins` line 21)
- `create_client.php` - Process client creation form (uses: `clients` line 34)
- `edit_client.php` - Process client edit form (uses: `clients` line 34)
- `delete_client.php` - Process client deletion (uses: `clients` line 34)
- `create_sender_id.php` - Process sender ID creation form (uses: `sender_ids` line 70)
- `edit_sender_id.php` - Process sender ID edit form (uses: `sender_ids` line 70)
- `delete_sender_id.php` - Process sender ID deletion (uses: `sender_ids` line 70)
- `create_short_code.php` - Process short code creation form (uses: `short_codes` line 82)
- `edit_short_code.php` - Process short code edit form (uses: `short_codes` line 82)
- `delete_short_code.php` - Process short code deletion (uses: `short_codes` line 82)
- `create_package.php` - Process package creation form (uses: `packages` line 264)
- `edit_package.php` - Process package edit form (uses: `packages` line 264)
- `delete_package.php` - Process package deletion (uses: `packages` line 264)
- `assign_sender_ids.php` - Process sender ID assignments (uses: `client_sender_ids` line 94)
- `assign_short_codes.php` - Process short code assignments (uses: `client_short_codes` line 104)
- `assign_packages.php` - Process package assignments (uses: `client_packages` line 274)

---

## 3. Client Dashboard (`/client/`)

### Dashboard Files:
- `index.php` - Main dashboard (uses: `clients` line 34, `client_dashboard_stats` line 456)
- `login.php` - Client login form (uses: `clients` line 34)
- `client_users.php` - List client users (uses: `client_users` line 49)
- `add_client_user.php` - Create new client user form (uses: `client_users` line 49)
- `edit_client_user.php` - Edit existing client user form (uses: `client_users` line 49)
- `contact_groups.php` - List contact groups (uses: `contact_groups` line 116)
- `add_contact_group.php` - Create contact group form (uses: `contact_groups` line 116)
- `edit_contact_group.php` - Edit contact group form (uses: `contact_groups` line 116)
- `contacts.php` - List all contacts (uses: `contacts` line 130)
- `add_contact.php` - Add individual contact form (uses: `contacts` line 130)
- `edit_contact.php` - Edit contact form (uses: `contacts` line 130)
- `bulk_upload_contacts.php` - CSV contact upload form (uses: `bulk_upload_jobs` line 390, `contacts` line 130)
- `manage_group_contacts.php` - Add/remove contacts from groups (uses: `contact_group_members` line 145)
- `sms_templates.php` - List SMS templates (uses: `sms_templates` line 157)
- `add_sms_template.php` - Create SMS template form (uses: `sms_templates` line 157)
- `edit_sms_template.php` - Edit SMS template form (uses: `sms_templates` line 157)
- `sms_campaigns.php` - List campaigns (uses: `sms_campaigns` line 200)
- `add_sms_campaign.php` - Create campaign form (uses: `sms_campaigns` line 200)
- `edit_sms_campaign.php` - Edit campaign form (uses: `sms_campaigns` line 200)
- `send_individual_sms.php` - Send individual SMS form (uses: `sms_messages` line 370)
- `send_bulk_sms.php` - Send bulk SMS form (uses: `sms_campaigns` line 200, `sms_messages` line 370)
- `sms_history.php` - SMS history and reports (uses: `sms_messages` line 370)
- `campaign_performance.php` - Campaign analytics (uses: `campaign_performance` line 481)
- `profile.php` - Client profile management (uses: `clients` line 34)

### Model Files (`/model/`):
- `client_login.php` - Process client login (uses: `clients` line 34)
- `create_client_user.php` - Process client user creation form (uses: `client_users` line 49)
- `edit_client_user.php` - Process client user edit form (uses: `client_users` line 49)
- `delete_client_user.php` - Process client user deletion (uses: `client_users` line 49)
- `create_contact_group.php` - Process contact group creation form (uses: `contact_groups` line 116)
- `edit_contact_group.php` - Process contact group edit form (uses: `contact_groups` line 116)
- `delete_contact_group.php` - Process contact group deletion (uses: `contact_groups` line 116)
- `create_contact.php` - Process contact creation form (uses: `contacts` line 130)
- `edit_contact.php` - Process contact edit form (uses: `contacts` line 130)
- `delete_contact.php` - Process contact deletion (uses: `contacts` line 130)
- `bulk_upload_contacts.php` - Process CSV contact upload (uses: `bulk_upload_jobs` line 390, `contacts` line 130)
- `manage_group_contacts.php` - Process group contact management (uses: `contact_group_members` line 145)
- `create_sms_template.php` - Process template creation form (uses: `sms_templates` line 157)
- `edit_sms_template.php` - Process template edit form (uses: `sms_templates` line 157)
- `delete_sms_template.php` - Process template deletion (uses: `sms_templates` line 157)
- `create_sms_campaign.php` - Process campaign creation form (uses: `sms_campaigns` line 200)
- `edit_sms_campaign.php` - Process campaign edit form (uses: `sms_campaigns` line 200)
- `delete_sms_campaign.php` - Process campaign deletion (uses: `sms_campaigns` line 200)
- `send_individual_sms.php` - Process individual SMS sending (uses: `sms_messages` line 370)
- `send_bulk_sms.php` - Process bulk SMS sending (uses: `sms_campaigns` line 200, `sms_messages` line 370)

---

## 4. File Organization Summary

```
/superadmin/
├── index.php (dashboard)
├── login.php
├── admins.php, add_admin.php, edit_admin.php
├── system_settings.php, audit_logs.php, profile.php

/admin/
├── index.php (dashboard)
├── login.php
├── clients.php, add_client.php, edit_client.php
├── sender_ids.php, add_sender_id.php, edit_sender_id.php
├── short_codes.php, add_short_code.php, edit_short_code.php
├── packages.php, add_package.php, edit_package.php
├── assign_sender_ids.php, assign_short_codes.php, assign_packages.php
├── reports.php, profile.php

/client/
├── index.php (dashboard)
├── login.php
├── client_users.php, add_client_user.php, edit_client_user.php
├── contact_groups.php, add_contact_group.php, edit_contact_group.php
├── contacts.php, add_contact.php, edit_contact.php
├── bulk_upload_contacts.php, manage_group_contacts.php
├── sms_templates.php, add_sms_template.php, edit_sms_template.php
├── sms_campaigns.php, add_sms_campaign.php, edit_sms_campaign.php
├── send_individual_sms.php, send_bulk_sms.php
├── sms_history.php, campaign_performance.php, profile.php

/model/
├── operations.php (existing - core functions)
├── super_admin_login.php, admin_login.php, client_login.php
├── create_admin.php, edit_admin.php, delete_admin.php
├── create_client.php, edit_client.php, delete_client.php
├── create_sender_id.php, edit_sender_id.php, delete_sender_id.php
├── create_short_code.php, edit_short_code.php, delete_short_code.php
├── create_package.php, edit_package.php, delete_package.php
├── create_client_user.php, edit_client_user.php, delete_client_user.php
├── create_contact_group.php, edit_contact_group.php, delete_contact_group.php
├── create_contact.php, edit_contact.php, delete_contact.php
├── create_sms_template.php, edit_sms_template.php, delete_sms_template.php
├── create_sms_campaign.php, edit_sms_campaign.php, delete_sms_campaign.php
├── bulk_upload_contacts.php, manage_group_contacts.php
├── send_individual_sms.php, send_bulk_sms.php
├── assign_sender_ids.php, assign_short_codes.php, assign_packages.php
├── update_system_settings.php
```