Model Management
Overview
The Model Management page is the central hub for managing all performer/model profiles in ComusThumbz. It provides comprehensive tools for creating, editing, searching, and organizing model records. Features include grid/table view switching, advanced filtering by multiple attributes, mass editing capabilities, AI-powered data enrichment, image management integration, and detailed analytics per model. This page serves as the primary interface for maintaining the model database that links to galleries and videos.
Location: Navigate to Admin Panel → Models or click the Dashboard Models card
[Screenshot: models-main-grid-view]
Getting to This Page
- Log into the Admin Panel at
main.php - Click Models in the navigation menu
- Or click the Models stat card on the Dashboard
- Direct URL:
ct/admin/models.php
This page supports multiple view modes (Card/Table) and complex filtering. Your view preference and filter settings are preserved across sessions via localStorage.
System Requirements
This page requires the following system dependencies to function properly.
PHP Requirements
Required PHP Extensions
Required PHP Functions
Folder Permissions
Features & UI Elements
Page Header
[Screenshot: models-page-header]
AI Processing Banner
[Screenshot: models-ai-banner]
When models need AI processing, a dismissible banner appears:
Controls Bar
[Screenshot: models-controls-bar]
Selection Controls
[Screenshot: models-selection-controls]
Column Customizer (Table View)
[Screenshot: models-column-customizer]
An expandable accordion for table column configuration:
Available Columns:
- Checkbox (mandatory), Image, Name (mandatory), Status, Age, Location
- Gender, Ethnicity, Body Type, Hair Color, Eye Color
- Galleries, Videos, Views, Rating, Favorites
- AI Processed, Image Processed, Actions (mandatory)
Sort & Filter Controls
[Screenshot: models-sort-filter]
Advanced Filter Controls
[Screenshot: models-advanced-filters]
Two rows of attribute-based filters:
Row 1:
- Gender (dynamically populated)
- Body Type (dynamically populated)
- Ethnicity (dynamically populated)
- Country (dynamically populated)
Row 2:
- Eye Color (dynamically populated)
- Hair Color (dynamically populated)
- Cup Size (dynamically populated)
- Status (dynamically populated)
- Apply Filters button
Filter dropdowns are populated dynamically from existing database values. If no models have a particular attribute value, that option won't appear.
Mass Edit Bar
[Screenshot: models-mass-edit-bar]
Appears when models are selected. Allows bulk editing of:
Card View
[Screenshot: models-card-view]
Each model card displays:
Card Header Buttons
Card Body
Analytics Section
Card Footer
Table View
[Screenshot: models-table-view]
Compact list format with customizable columns:
Default Columns
Row Highlighting
Models needing AI processing are highlighted with a subtle yellow background to help identify incomplete records.
Edit Modal
[Screenshot: models-edit-modal]
The edit modal opens when clicking a model name. Organized into sections:
Basic Information
Physical Attributes
Location & Contact
Statistics & Settings
Image Settings
Additional Information
Step-by-Step Usage
Adding a New Model
- Navigate to Admin Panel → Models
- In the Controls Bar, enter the model name in the "Enter new model name" field
- Click Add New Model
- Success message confirms creation
- The new model appears in the list with default values
- Click the model name to open the edit modal and add details
Editing a Model
- Find the model in card or table view
- Click the model name
- Edit modal opens with all current values
- Modify desired fields in each section
- Click Save Changes
- Modal closes and list refreshes
Uploading a Model Image
Method 1: Manual Upload
- Click Upload or Change button on model card
- Redirected to uploadmodelimage.php
- Select image file
- Crop to target dimensions
- Save cropped image
Method 2: AI Image Selector
- Click AI Image button on model card
- AI searches multiple sources for matching images
- Select best match
- Crop and save
Method 3: Batch Image Selector
- Click Batch Image button
- Process multiple models in sequence
- Select and crop images for each
Using AI Data Update
- Click AI Update button on model card
- AI queries external databases (CamModelDB, CamsFinder, etc.)
- Review suggested data
- Accept or modify suggestions
- Save updates
Mass Editing Models
- Select models using checkboxes
- Click individual checkboxes, or
- Click Select All on Page, or
- Click Select All in Database
- Mass Edit Bar appears showing selected count
- Fill in only the fields you want to change
- Click Apply Changes
- All selected models updated
Deleting Models
Single Model:
- Click Delete button on model card
- Confirm deletion in popup
- Model permanently removed
Multiple Models:
- Select models to delete
- Click Delete Selected
- Confirm deletion
- All selected models removed
Deleting a model does NOT delete the associated galleries or videos. Content remains but loses the model association. Consider reassigning content before deletion.
Filtering Models
Quick Filters:
- Use "Filter by" dropdown for common filters:
- Has Image / No Image
- AI Updated / Not AI Updated
Advanced Filters:
- Expand the Advanced Filter section
- Select values from attribute dropdowns
- Click Apply Filters
- Grid/table shows filtered results
- Use Clear All Filters to reset
Sorting Models
- Use "Sort by" dropdown
- Options include: Name, Date, Popularity, Rating, Views, Age, Gallery count
- Grid/table reorders immediately
Troubleshooting
Common Errors
"Connection failed"
Cause: Database connection error
Solution: Verify database credentials in ct/dat/config.inc.php
"Error updating model"
Cause: SQL UPDATE query failed
Solution:
- Check for duplicate modelname (unique constraint)
- Verify database connection
- Check for required fields
Model image not displaying
Cause: Image file missing or path incorrect
Solution:
Verify file exists in ct/images/models/
- Check
modelimagecolumn has correct filename - Verify web server has read permissions
Mass edit not applying changes
Cause: No models selected or form not submitted properly
Solution:
- Ensure models are actually selected (checkboxes checked)
- At least one field must have a value
- Click "Apply Changes" button (not just filling fields)
Slow page load with many models
Solutions:
- Reduce records per page (20-50 instead of 1000)
- Use Table View instead of Card View
- Apply filters to reduce result set
- Ensure database indexes exist on tblModels
AI processing not marking models as processed
Cause: AI tools not completing successfully
Solution:
- Check AI tool logs for errors
- Verify license key is valid
- Ensure network connectivity to AI services
JavaScript Features
LocalStorage Keys
Session Storage Keys
Client-Side Functions
Translatable Strings
The following strings should be added to backendtranslations.md:
modelstitle = "Model Management System"
modelsbreadcrumb = "Models"
modelsaibannertitle = "AI Processing Recommended"
modelsaibannertext = "{count} of {total} models need AI processing"
modelsaibannerbreakdown = "{imagecount} need AI Image, {updatecount} need AI Update"
modelsbatchprocess = "Batch Process"
modelssearchplaceholder = "Search models..."
modelssearch = "Search"
modelsclearsearch = "Clear Search"
modelsaddnewplaceholder = "Enter new model name"
modelsaddnew = "Add New Model"
modelsperpage = "Models per page:"
modelsviewcontrols = "Model Selection & View Controls"
modelsviewcards = "Cards"
modelsviewtable = "Table"
modelscustomizecolumns = "Customize List Columns"
modelscolumndraginfo = "Drag items to reorder. Check/uncheck to show/hide columns. Yellow items are mandatory."
modelsapply = "Apply"
modelsresetdefault = "Reset to Default"
modelsselectallpage = "Select All on Page"
modelsselectalldb = "Select All in Database"
modelsselectnone = "Select None"
modelsdeleteselected = "Delete Selected"
modelssortby = "Sort by:"
modelssortnameasc = "Name (A-Z)"
modelssortnamedesc = "Name (Z-A)"
modelssortnewest = "Newest First"
modelssortoldest = "Oldest First"
modelssortpopularity = "Popularity"
modelssortrating = "Rating"
modelssortviews = "Most Viewed"
modelssortageasc = "Age (Young to Old)"
modelssortagedesc = "Age (Old to Young)"
modelssortgalleriesdesc = "Most Galleries"
modelssortgalleriesasc = "Least Galleries"
modelsfilterby = "Filter by:"
modelsfilterall = "All Models"
modelsfilterhasimage = "Has Image"
modelsfilternoimage = "No Image"
modelsfilteraiupdated = "AI Updated"
modelsfilternotaiupdated = "Not AI Updated"
modelsclearfilters = "Clear All Filters"
modelsadvancedfiltersgender = "Gender:"
modelsadvancedfiltersbodytype = "Body Type:"
modelsadvancedfiltersethnicity = "Ethnicity:"
modelsadvancedfilterscountry = "Country:"
modelsadvancedfilterseyecolor = "Eye Color:"
modelsadvancedfiltershaircolor = "Hair Color:"
modelsadvancedfilterscupsize = "Cup Size:"
modelsadvancedfiltersstatus = "Status:"
modelsapplyfilters = "Apply Filters"
modelsmassedittitle = "Mass Edit"
modelsmasseditselected = "Selected Models"
modelsmasseditleaveblank = "Leave blank for no change"
modelsmasseditapply = "Apply Changes"
modelsmasseditcancel = "Cancel"
modelstotal = "Total Models:"
modelsedittitle = "Edit Model Details"
modelssectionbasic = "Basic Information"
modelssectionphysical = "Physical Attributes"
modelssectionlocation = "Location & Contact"
modelssectionstats = "Statistics & Settings"
modelssectionimage = "Image Settings"
modelssectionadditional = "Additional Information"
modelssavechanges = "Save Changes"
modelscancel = "Cancel"
modelsnoimage = "No Image"
modelscardaiimage = "AI Image"
modelscardbatchimage = "Batch Image"
modelscardaiupdate = "AI Update"
modelscardbatchai = "Batch AI"
modelscardupload = "Upload"
modelscardchange = "Change"
modelscarddelete = "Delete"
modelsanalyticstitle = "Analytics"
modelsanalyticsimpressions = "Impressions"
modelsanalyticsclicks = "Clicks"
modelsanalyticsctr = "CTR"
modelsnomodels = "No models found"
modelsnomodelsfiltered = "No models match your current filters"
modelsclearandretry = "Clear All Filters"
modelsconfirmdelete = "Are you sure you want to delete this model?"
modelsconfirmdeleteselected = "Are you sure you want to delete all selected models? This cannot be undone."
modelssuccessadded = "Model added successfully!"
modelssuccessupdated = "Model updated successfully!"
modelssuccessdeleted = "Model deleted successfully!"
modelserrorduplicate = "A model with this name already exists"
Version History
Related Documentation
- AI Image Selector - AI-powered image search
- AI Model Data Update - AI data enrichment
- Model Image Cropper - Image cropping
- Gallery Administration - Gallery management
- Video Administration - Video management