# Forge Admin Module

## Overview
The Admin module provides comprehensive administrative functionality for the Forge client system. It includes features for user management, financial operations, messaging, and administrative controls through both traditional and web-based interfaces.

## Dependencies
- forge_client_main

## Authors
- J. Schmidt
- Creedcoder
- IDSolutions

## Features

### Administrative Functions
1. **Admin Initialization** (`fnc_initAdmin.sqf`)
   - Initializes the admin system
   - Sets up necessary permissions and configurations

2. **Admin Interface**
   - **Traditional UI** (`fnc_openAdmin.sqf`)
     - Opens the administrative user interface
     - Provides access to administrative controls
   - **Web-based UI** (`RscWebAdmin.hpp`)
     - Modern web interface for administrative tasks
     - Real-time player statistics and management

3. **User Management**
   - **Promotion** (`fnc_adminPromote.sqf`)
     - Handles user promotion to administrative roles
   - **Transfer** (`fnc_adminTransfer.sqf`)
     - Manages administrative role transfers
   - **Refresh** (`fnc_adminRefresh.sqf`)
     - Updates administrative permissions and states

4. **Financial Operations**
   - **Payday System**
     - Distributes funds based on player ranks
     - Configurable paygrade amounts
   - **Money Management**
     - Advance funds to players
     - Deduct funds from players
     - Global money distribution
     - Company account balance tracking

5. **Communication**
   - **Admin Messages** (`fnc_adminMessage.sqf`)
     - Handles administrative messaging system
   - **Broadcast System**
     - Send messages to all players
     - Targeted player messaging

### User Interface Components
1. **Traditional UI** (`RscAdmin.hpp`)
   - Player list management
   - Rank selection and promotion
   - Financial operations
   - Messaging system

2. **Web Interface** (`ui/_site/`)
   - Modern, responsive design
   - Real-time statistics
   - Player management
   - Financial operations
   - Messaging system

## Event Handlers
The module uses several event handlers for initialization and execution:
- `XEH_preInit.sqf`: Pre-initialization setup
- `XEH_postInit.sqf`: Post-initialization tasks
- `XEH_preStart.sqf`: Pre-start configuration

## Usage
To use the admin module:
1. Ensure the module is properly loaded in your mission
2. Access administrative functions through either:
   - Traditional UI: Use the provided dialog interface
   - Web Interface: Access through the modern web-based panel
3. Use appropriate administrative commands based on your role

## Debugging
Debug mode can be enabled by uncommenting the following in `script_component.hpp`:
```cpp
#define DEBUG_MODE_FULL
```

## Version Information
Version information is managed through the main Forge client system configuration.

## Security
The module includes built-in security features:
- Admin authentication
- Permission-based access control
- Secure financial transactions
- Protected administrative functions

## Technical Details
- Supports both traditional Arma 3 UI and modern web interface
- Real-time data updates
- Configurable paygrade system
- Comprehensive player management
- Secure financial operations 