upskill-event-manager/scripts/investigate-mapgeo.sh
bengizmo 9055cddae5 feat: Implement comprehensive Find a Trainer feature with MapGeo integration
- Created Find a Trainer page with interactive map and trainer directory
- Integrated MapGeo plugin for displaying 45+ geocoded trainer locations
- Built advanced filtering system (State/Province, Business Type, Training Format, Training Resources)
- Implemented trainer profile cards with View Profile and See Events buttons
- Added contact form handler with validation and email notifications
- Created database table for tracking contact submissions
- Responsive design with mobile-friendly layout
- AJAX-powered search and filter functionality
- Pagination support for trainer directory
- Call to action for trainer registration

Technical Implementation:
- HVAC_Find_Trainer_Page: Main page handler with custom template
- HVAC_MapGeo_Integration: Map marker management for trainer locations
- HVAC_Contact_Form_Handler: Form processing with rate limiting
- HVAC_Trainer_Directory_Query: Advanced querying with caching
- HVAC_Contact_Submissions_Table: Database operations for submissions

Tested with existing 53 trainer profiles, 45 geocoded locations
Page live at: /find-a-trainer/

Co-Authored-By: Ben Reed <ben@tealmaker.com>
2025-08-04 08:53:34 -03:00

81 lines
No EOL
2.5 KiB
Bash
Executable file

#!/bin/bash
# Investigate MapGeo plugin usage
# Usage: ./scripts/investigate-mapgeo.sh
source .env
echo "=== Investigating MapGeo Plugin ==="
ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" << 'ENDSSH'
cd /home/974670.cloudwaysapps.com/uberrxmprk/public_html
echo "=== Checking if map shortcode exists ==="
wp eval '
global $shortcode_tags;
$map_shortcodes = [];
foreach ($shortcode_tags as $tag => $callback) {
if (strpos(strtolower($tag), "map") !== false || strpos(strtolower($tag), "igm") !== false) {
$map_shortcodes[] = $tag;
}
}
echo "Map-related shortcodes found: " . implode(", ", $map_shortcodes) . "\n";
'
echo -e "\n=== Checking for existing maps in database ==="
wp db query "SELECT ID, post_title FROM wp_posts WHERE post_type = 'igmap' OR post_type = 'maps' OR post_type = 'interactive_map' LIMIT 10;" 2>/dev/null || echo "No maps found in database"
echo -e "\n=== Checking post types ==="
wp eval '
$post_types = get_post_types(["public" => true], "names");
foreach ($post_types as $post_type) {
if (strpos(strtolower($post_type), "map") !== false || strpos(strtolower($post_type), "igm") !== false) {
echo "Map-related post type: " . $post_type . "\n";
}
}
'
echo -e "\n=== Checking map with ID 5872 ==="
wp eval '
$post = get_post(5872);
if ($post) {
echo "Post ID 5872 exists:\n";
echo " Type: " . $post->post_type . "\n";
echo " Title: " . $post->post_title . "\n";
echo " Status: " . $post->post_status . "\n";
} else {
echo "Post ID 5872 does not exist\n";
}
'
echo -e "\n=== Testing display-map shortcode ==="
wp eval '
if (shortcode_exists("display-map")) {
echo "display-map shortcode is registered\n";
$output = do_shortcode("[display-map id=\"5872\"]");
echo "Shortcode output length: " . strlen($output) . " characters\n";
if (strlen($output) > 0 && strlen($output) < 500) {
echo "Output: " . $output . "\n";
}
} else {
echo "display-map shortcode is NOT registered\n";
}
'
echo -e "\n=== Looking for alternative map shortcodes ==="
wp eval '
// Common map shortcode patterns
$test_shortcodes = ["igm", "interactive-map", "interactive_map", "igmap", "maps"];
foreach ($test_shortcodes as $shortcode) {
if (shortcode_exists($shortcode)) {
echo "Found shortcode: [$shortcode]\n";
}
}
'
echo -e "\n=== Checking MapGeo plugin files ==="
ls -la wp-content/plugins/interactive-geo-maps-premium/src/ 2>/dev/null | head -n 10 || echo "Plugin directory not accessible"
ENDSSH
echo "=== Investigation Complete ==="