🚨 CRITICAL: Fixed deployment blockers by adding missing core directories: **Community System (CRITICAL)** - includes/community/ - Login_Handler and all community classes - templates/community/ - Community login forms **Certificate System (CRITICAL)** - includes/certificates/ - 8+ certificate classes and handlers - templates/certificates/ - Certificate reports and generation templates **Core Individual Classes (CRITICAL)** - includes/class-hvac-event-summary.php - includes/class-hvac-trainer-profile-manager.php - includes/class-hvac-master-dashboard-data.php - Plus 40+ other individual HVAC classes **Major Feature Systems (HIGH)** - includes/database/ - Training leads database tables - includes/find-trainer/ - Find trainer directory and MapGeo integration - includes/google-sheets/ - Google Sheets integration system - includes/zoho/ - Complete Zoho CRM integration - includes/communication/ - Communication templates system **Template Infrastructure** - templates/attendee/, templates/email-attendees/ - templates/event-summary/, templates/status/ - templates/template-parts/ - Shared template components **Impact:** - 70+ files added covering 10+ missing directories - Resolves ALL deployment blockers and feature breakdowns - Plugin activation should now work correctly - Multi-machine deployment fully supported 🔧 Generated with Claude Code Co-Authored-By: Ben Reed <ben@tealmaker.com>
		
			
				
	
	
		
			149 lines
		
	
	
		
			No EOL
		
	
	
		
			6.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			No EOL
		
	
	
		
			6.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Template for Attendee Profile Page
 | |
|  *
 | |
|  * @package HVAC_Community_Events
 | |
|  * @since 1.0.0
 | |
|  */
 | |
| 
 | |
| // Exit if accessed directly
 | |
| if (!defined('ABSPATH')) {
 | |
|     exit;
 | |
| }
 | |
| 
 | |
| // Get data from parent scope
 | |
| $profile = $attendee_data['profile'];
 | |
| $stats = $attendee_data['stats'];
 | |
| $timeline = $attendee_data['timeline'];
 | |
| ?>
 | |
| 
 | |
| <div class="hvac-attendee-profile">
 | |
|     
 | |
|     <!-- Page Header -->
 | |
|     <div class="hvac-profile-header">
 | |
|         <div class="hvac-profile-title">
 | |
|             <h1>Attendee Profile</h1>
 | |
|             <span class="hvac-profile-subtitle"><?php echo esc_html($profile['name']); ?></span>
 | |
|         </div>
 | |
|         <div class="hvac-profile-actions">
 | |
|             <a href="mailto:<?php echo esc_attr($profile['email']); ?>" class="ast-button ast-button-primary">
 | |
|                 <i class="fas fa-envelope"></i> Email Attendee
 | |
|             </a>
 | |
|             <button class="ast-button ast-button-secondary" onclick="window.print()">
 | |
|                 <i class="fas fa-print"></i> Print
 | |
|             </button>
 | |
|             <a href="<?php echo esc_url(wp_get_referer() ?: home_url('/hvac-dashboard/')); ?>" class="ast-button ast-button-secondary">
 | |
|                 <i class="fas fa-arrow-left"></i> Back
 | |
|             </a>
 | |
|         </div>
 | |
|     </div>
 | |
| 
 | |
|     <!-- Statistics Section -->
 | |
|     <div class="hvac-stats-row">
 | |
|         <div class="hvac-stat-col">
 | |
|             <div class="hvac-stat-card">
 | |
|                 <h3>Total Purchases</h3>
 | |
|                 <div class="stat-value"><?php echo number_format($stats['total_purchases']); ?></div>
 | |
|             </div>
 | |
|         </div>
 | |
|         <div class="hvac-stat-col">
 | |
|             <div class="hvac-stat-card">
 | |
|                 <h3>Events Registered</h3>
 | |
|                 <div class="stat-value"><?php echo number_format($stats['events_registered']); ?></div>
 | |
|             </div>
 | |
|         </div>
 | |
|         <div class="hvac-stat-col">
 | |
|             <div class="hvac-stat-card">
 | |
|                 <h3>Events Attended</h3>
 | |
|                 <div class="stat-value"><?php echo number_format($stats['events_checked_in']); ?></div>
 | |
|             </div>
 | |
|         </div>
 | |
|         <div class="hvac-stat-col">
 | |
|             <div class="hvac-stat-card">
 | |
|                 <h3>Certificates Earned</h3>
 | |
|                 <div class="stat-value"><?php echo number_format($stats['certificates_earned']); ?></div>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| 
 | |
|     <!-- Profile Information Section -->
 | |
|     <div class="hvac-content-section">
 | |
|         <h2>Contact Information</h2>
 | |
|         <div class="hvac-info-table">
 | |
|             <table class="hvac-table">
 | |
|                 <tbody>
 | |
|                     <tr>
 | |
|                         <td class="hvac-label">Name</td>
 | |
|                         <td><?php echo esc_html($profile['name']); ?></td>
 | |
|                     </tr>
 | |
|                     <tr>
 | |
|                         <td class="hvac-label">Email</td>
 | |
|                         <td><a href="mailto:<?php echo esc_attr($profile['email']); ?>"><?php echo esc_html($profile['email']); ?></a></td>
 | |
|                     </tr>
 | |
|                     <?php if (!empty($profile['phone'])): ?>
 | |
|                     <tr>
 | |
|                         <td class="hvac-label">Phone</td>
 | |
|                         <td><a href="tel:<?php echo esc_attr($profile['phone']); ?>"><?php echo esc_html($profile['phone']); ?></a></td>
 | |
|                     </tr>
 | |
|                     <?php endif; ?>
 | |
|                     <?php if (!empty($profile['company'])): ?>
 | |
|                     <tr>
 | |
|                         <td class="hvac-label">Company</td>
 | |
|                         <td><?php echo esc_html($profile['company']); ?></td>
 | |
|                     </tr>
 | |
|                     <?php endif; ?>
 | |
|                     <?php if (!empty($profile['state'])): ?>
 | |
|                     <tr>
 | |
|                         <td class="hvac-label">State</td>
 | |
|                         <td><?php echo esc_html($profile['state']); ?></td>
 | |
|                     </tr>
 | |
|                     <?php endif; ?>
 | |
|                 </tbody>
 | |
|             </table>
 | |
|         </div>
 | |
|     </div>
 | |
| 
 | |
|     <!-- Timeline Section -->
 | |
|     <div class="hvac-content-section">
 | |
|         <h2>Activity Timeline</h2>
 | |
|         
 | |
|         <?php if (empty($timeline)): ?>
 | |
|             <p class="hvac-no-activity">No activity recorded for this attendee.</p>
 | |
|         <?php else: ?>
 | |
|             <div class="hvac-timeline">
 | |
|                 <?php foreach ($timeline as $index => $event): ?>
 | |
|                     <div class="hvac-timeline-item" data-type="<?php echo esc_attr($event['type']); ?>">
 | |
|                         <div class="hvac-timeline-date">
 | |
|                             <?php echo date('M j, Y', strtotime($event['date'])); ?>
 | |
|                             <span class="hvac-timeline-time"><?php echo date('g:i A', strtotime($event['date'])); ?></span>
 | |
|                         </div>
 | |
|                         <div class="hvac-timeline-marker" style="background-color: <?php echo esc_attr($event['color']); ?>">
 | |
|                             <i class="<?php echo esc_attr($event['icon']); ?>"></i>
 | |
|                         </div>
 | |
|                         <div class="hvac-timeline-content">
 | |
|                             <h4><?php echo esc_html($event['title']); ?></h4>
 | |
|                             <?php if ($event['type'] === 'event' && isset($event['checked_in'])): ?>
 | |
|                                 <span class="hvac-checkin-status <?php echo $event['checked_in'] ? 'checked-in' : 'not-checked-in'; ?>">
 | |
|                                     <?php echo $event['checked_in'] ? 'Checked In' : 'Not Checked In'; ?>
 | |
|                                 </span>
 | |
|                             <?php endif; ?>
 | |
|                             <?php if ($event['type'] === 'certificate' && !empty($event['certificate_number'])): ?>
 | |
|                                 <span class="hvac-certificate-number">
 | |
|                                     Certificate #<?php echo esc_html($event['certificate_number']); ?>
 | |
|                                 </span>
 | |
|                             <?php endif; ?>
 | |
|                             <?php if (!empty($event['event_id'])): ?>
 | |
|                                 <a href="<?php echo esc_url(get_permalink($event['event_id'])); ?>" class="hvac-event-link" target="_blank">
 | |
|                                     View Event <i class="fas fa-external-link-alt"></i>
 | |
|                                 </a>
 | |
|                             <?php endif; ?>
 | |
|                         </div>
 | |
|                         <?php if ($index < count($timeline) - 1): ?>
 | |
|                             <div class="hvac-timeline-connector"></div>
 | |
|                         <?php endif; ?>
 | |
|                     </div>
 | |
|                 <?php endforeach; ?>
 | |
|             </div>
 | |
|         <?php endif; ?>
 | |
|     </div>
 | |
| </div>
 |