refactor: Code cleanup and documentation updates
Bug fixes: - Fix ticket ID extraction using URLSearchParams instead of split() - Add error handling for query result in get_users.php - Make Discord webhook URLs dynamic (use HTTP_HOST) Code cleanup: - Remove debug console.log statements from dashboard.js and ticket.js - Add getTicketIdFromUrl() helper function to both JS files Documentation: - Update Claude.md: fix web server (nginx not Apache), add new notes - Update README.md: add keyboard shortcuts, update setup instructions Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
14
Claude.md
14
Claude.md
@@ -23,14 +23,15 @@ Tinker Tickets is a feature-rich, self-hosted ticket management system built for
|
||||
- Backend: PHP 7.4+ with MySQLi
|
||||
- Frontend: Vanilla JavaScript, CSS3
|
||||
- Database: MariaDB on separate LXC (10.10.10.50)
|
||||
- Web Server: Apache on production (10.10.10.45)
|
||||
- Web Server: nginx with PHP-FPM on production (10.10.10.45)
|
||||
- Authentication: Authelia SSO with LLDAP backend
|
||||
|
||||
**Production Environment:**
|
||||
- **Primary URL**: http://t.lotusguild.org
|
||||
- **Web Server**: Apache at 10.10.10.45 (`/root/code/tinker_tickets`)
|
||||
- **Primary URL**: https://t.lotusguild.org
|
||||
- **Web Server**: nginx at 10.10.10.45 (`/var/www/html/tinkertickets`)
|
||||
- **Database**: MariaDB at 10.10.10.50 (`ticketing_system` database)
|
||||
- **Authentication**: Authelia provides SSO via headers
|
||||
- **Dev Environment**: `/root/code/tinker_tickets` (not production)
|
||||
|
||||
## Architecture
|
||||
|
||||
@@ -105,7 +106,8 @@ Controllers → Models → Database
|
||||
│ ├── UserPreferencesModel.php # User preferences
|
||||
│ └── WorkflowModel.php # Status transition workflows
|
||||
├── scripts/
|
||||
│ └── cleanup_orphan_uploads.php # Clean orphaned uploads
|
||||
│ ├── cleanup_orphan_uploads.php # Clean orphaned uploads
|
||||
│ └── create_dependencies_table.php # Create ticket_dependencies table
|
||||
├── uploads/ # File attachment storage
|
||||
├── views/
|
||||
│ ├── admin/
|
||||
@@ -195,6 +197,10 @@ All admin pages are accessible via the **Admin dropdown** in the dashboard heade
|
||||
7. **Cache busting**: Use `?v=YYYYMMDD` query params on JS/CSS files
|
||||
8. **Ticket linking**: Use `#123456789` in markdown-enabled comments
|
||||
9. **User groups**: Stored in `users.groups` as comma-separated values
|
||||
10. **API routing**: All API endpoints must be added to `index.php` router
|
||||
11. **Session in APIs**: RateLimitMiddleware starts session; don't call session_start() again
|
||||
12. **Database collation**: Use `utf8mb4_general_ci` (not unicode_ci) for new tables
|
||||
13. **Ticket ID extraction**: Use `getTicketIdFromUrl()` helper in JS files
|
||||
|
||||
## File Reference Quick Guide
|
||||
|
||||
|
||||
Reference in New Issue
Block a user