FILE 1: /home/delivery-tracker-prank.digitalprank.com/public_html/tool_config.json code JSON { "tool": { "identity": { "slug": "delivery-tracker-prank", "name": "Delivery Tracker Tracker", "category": "prank", "tagline": "Track your hilarious custom food delivery in real-time!", "description": "Simulate a custom food delivery with absurd restaurant names, ridiculous items, and chaotic delivery updates. Perfect for pranking your hungry friends.", "keywords": ["custom delivery", "food prank", "order tracker", "funny delivery", "digital prank"] }, "features": { "bulk_enabled": false, "history_enabled": true, "export_enabled": true, "api_enabled": true }, "fields": [ { "id": "restaurant_name", "type": "text", "label": "Restaurant Name", "placeholder": "e.g., Soggy Pizza Co.", "required": false, "pro_only": true, "help_text": "Custom name of the custom restaurant. Leave blank to randomize." }, { "id": "food_item", "type": "text", "label": "Food Item", "placeholder": "e.g., Extra-Wet Burrito", "required": false, "pro_only": true, "help_text": "Name the custom food item. Leave blank to randomize." }, { "id": "recipient_name", "type": "text", "label": "Recipient Name", "placeholder": "e.g., Mario", "required": false, "pro_only": true, "help_text": "Name to display in the delivery updates. Optional for added realism." }, { "id": "enable_map", "type": "checkbox", "label": "Enable Live Map Animation", "default": true, "pro_only": true, "help_text": "Show a custom delivery map with the driver icon moving in real time." }, { "id": "include_sms", "type": "checkbox", "label": "Show Custom SMS Updates", "default": true, "pro_only": true, "help_text": "Simulate SMS-style updates from your 'delivery driver'." }, { "id": "theme_style", "type": "select", "label": "Tracker Theme", "default": "modern", "options": [ { "value": "modern", "label": "Modern" }, { "value": "retro", "label": "Retro" }, { "value": "fastfood", "label": "Fast Food Style" }, { "value": "horror", "label": "Scary Delivery" } ], "pro_only": false, "help_text": "Pick a fun theme for the prank tracker UI." } ], "limits": { "tier_daily": { "free": 3, "basic": 20, "gold": 200, "ultimate": -1 }, "rate_limit_per_minute": 10, "max_concurrent_requests": 5 }, "billing": { "credit_cost": 1, "one_off_enabled": true, "one_off_price_cents": 99, "bill_on": "success" }, "ui": { "theme": { "primary_color": "#FF8C00", "secondary_color": "#292929" }, "layout": { "show_sidebar_ads": true, "form_style": "standard", "result_display": "animated_tracker" } }, "dependencies": { "php_extensions": ["json", "pdo_mysql"], "system_packages": [], "python_packages": ["flask", "faker"], "external_apis": [], "requires_internet": false }, "database": { "tool_specific_table": "custom_delivery_history", "store_results": true, "enable_history": true, "retention_days": 30 }, "seo": { "meta_title": "Delivery Tracker Tracker | Hilarious Order Updates | DigitalPrank.com", "meta_description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates. Create your prank now!", "canonical_url": "https://digitalprank.com/tools/delivery-tracker-prank", "structured_data": { "type": "WebApplication", "category": "Entertainment" } }, "help": { "quick_start": [ "Step 1: Choose or randomize a restaurant and food item.", "Step 2: Pick a theme and optional recipient name.", "Step 3: Enable map or SMS simulation if desired.", "Step 4: Generate and share the prank delivery tracker!" ], "faq": [ { "question": "Is this a real delivery?", "answer": "No. This tool is for entertainment only and generates a custom tracker with funny updates. No food will actually be delivered." }, { "question": "Can I share the prank with friends?", "answer": "Yes! After generating, you’ll get a shareable link or screenshot option." }, { "question": "Can I customize the steps or add delays?", "answer": "Not yet — advanced prank flow editing is coming soon for Pro users." } ], "examples": [ { "title": "The Wrong Order", "description": "Send a delivery for a 'Cold Anchovy Milkshake' from 'Ye Olde Taco Shack'.", "input": { "restaurant_name": "Ye Olde Taco Shack", "food_item": "Cold Anchovy Milkshake", "theme_style": "retro" } }, { "title": "Cursed Delivery", "description": "Make it look like the delivery driver got lost in a graveyard.", "input": { "restaurant_name": "Ghost Tacos", "food_item": "Ectoplasm Burrito", "theme_style": "horror" } } ] }, "monitoring": { "track_usage": true, "track_performance": true, "error_reporting": true, "analytics_events": [ "delivery_prank_created", "theme_selected", "export_clicked" ] }, "security": { "input_sanitization": true, "csrf_protection": true, "rate_limiting": true, "blocked_domains": [], "max_input_length": 200, "allowed_file_types": [] }, "version": { "schema": "3.0.0", "tool": "1.0.0", "api_version": "v1" } } }``` ### FILE 2: /home/delivery-tracker-prank.digitalprank.com/public_html/processor.php ```php false, 'message' => 'An unknown error occurred.', 'data' => null, 'usage' => null, 'access' => null, 'features' => null, ]; try { $pdo = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8mb4", $db_user, $db_pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $json_config = json_decode(file_get_contents('tool_config.json'), true)['tool']; // --- User and Input Handling --- session_start(); $user_id = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : 0; $user_ip = $_SERVER['REMOTE_ADDR']; $input = json_decode(file_get_contents('php://input'), true); if (!$input) { throw new Exception('Invalid input data.'); } // CSRF Check if (!isset($input['csrf_token']) || !hash_equals($_SESSION['csrf_token'], $input['csrf_token'])) { throw new Exception('CSRF token validation failed.'); } // --- Access and Usage Control --- $access = getUserAccessLevel($pdo, $user_id, $tool_slug); $limit = $json_config['limits']['tier_daily'][$access['tier']]; $usage_check = checkDailyUsage($pdo, $tool_slug, $user_ip, $user_id, $limit); if (!$usage_check['can_proceed']) { throw new Exception('Daily usage limit exceeded.'); } // Fetch feature overrides $overrides = getToolOverrides($pdo, $tool_slug); $response['features'] = $overrides; // {{TOOL_PROCESSING_START}} // --- Input Validation & Sanitization --- $max_len = $json_config['security']['max_input_length']; $restaurant_name = isset($input['restaurant_name']) ? trim(htmlspecialchars(substr($input['restaurant_name'], 0, $max_len))) : ''; $food_item = isset($input['food_item']) ? trim(htmlspecialchars(substr($input['food_item'], 0, $max_len))) : ''; $recipient_name = isset($input['recipient_name']) ? trim(htmlspecialchars(substr($input['recipient_name'], 0, $max_len))) : ''; $enable_map = isset($input['enable_map']) ? (bool)$input['enable_map'] : false; $include_sms = isset($input['include_sms']) ? (bool)$input['include_sms'] : false; $theme_style = isset($input['theme_style']) && in_array($input['theme_style'], ['modern', 'retro', 'fastfood', 'horror']) ? $input['theme_style'] : 'modern'; // --- Pro Feature Gating --- if (!$access['has_pro_access']) { // Non-pro users get randomized names and features disabled $restaurant_name = ''; $food_item = ''; $recipient_name = ''; $enable_map = false; $include_sms = false; } // --- Data Generation --- if (empty($restaurant_name)) { $restaurants = ["Soggy Pizza Co.", "The Greasy Spoon", "Cosmic Cantina", "Ye Olde Taco Shack", "Ghost Tacos", "Burger Apocalypse"]; $restaurant_name = $restaurants[array_rand($restaurants)]; } if (empty($food_item)) { $foods = ["Extra-Wet Burrito", "Cold Anchovy Milkshake", "Ectoplasm Burrito", "Glow-in-the-dark Fries", "Sentient Meatball Sub", "Questionable Calzone"]; $food_item = $foods[array_rand($foods)]; } $prank_recipient = empty($recipient_name) ? 'your' : htmlspecialchars($recipient_name) . "'s"; // --- Delivery Timeline Generation --- $timeline = []; $timeline[] = ['status' => 'Order Confirmed', 'detail' => 'We\'ve received the order for ' . $food_item . '.', 'icon' => 'receipt']; $timeline[] = ['status' => 'Preparation', 'detail' => 'Our questionable chef is now preparing ' . $prank_recipient . ' meal.', 'icon' => 'chef']; $timeline[] = ['status' => 'Quality Check', 'detail' => 'A manager is poking the food with a stick. It seems fine.', 'icon' => 'check']; $timeline[] = ['status' => 'Out for Delivery', 'detail' => 'A driver has picked up the order. Their location is now visible.', 'icon' => 'delivery']; if (rand(0,1)) $timeline[] = ['status' => 'Minor Delay', 'detail' => 'Driver is currently fighting a goose for a piece of bread.', 'icon' => 'warning']; if (rand(0,1)) $timeline[] = ['status' => 'En Route', 'detail' => 'Driver has escaped the goose and is back on the road.', 'icon' => 'route']; $timeline[] = ['status' => 'Arriving Soon', 'detail' => 'The driver is just around the corner, probably.', 'icon' => 'location']; $timeline[] = ['status' => 'Delivered', 'detail' => $prank_recipient . ' order has been left at the door. Or a door. Definitely a door.', 'icon' => 'home']; // --- SMS Generation --- $sms_messages = []; if ($include_sms && $access['has_pro_access']) { $sms_messages[] = ['sender' => 'Driver', 'message' => 'On my way with your food.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'Ok I have to ask... you really ordered the ' . $food_item . '? Brave.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'I think your food is looking at me.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'Almost there. Dropped it once but it seems okay. 5 second rule.']; } // --- Final Data Structure --- $prank_uuid = uniqid('prank_', true); $output_data = [ 'prank_id' => $prank_uuid, 'restaurant_name' => $restaurant_name, 'food_item' => $food_item, 'recipient_name' => $recipient_name, 'enable_map' => $enable_map, 'include_sms' => $include_sms, 'theme_style' => $theme_style, 'timeline' => $timeline, 'sms_messages' => $sms_messages, 'tracker_url' => "https://{$tool_slug}.digitalprank.com/tracker.php?id=" . $prank_uuid ]; // --- Database Storage --- if ($json_config['database']['store_results']) { $stmt = $pdo->prepare( "INSERT INTO custom_delivery_history (prank_uuid, user_id, restaurant_name, food_item, theme, delivery_steps_json, sms_messages_json, created_at) VALUES (:uuid, :user_id, :restaurant, :item, :theme, :steps, :sms, NOW())" ); $stmt->execute([ ':uuid' => $prank_uuid, ':user_id' => $user_id, ':restaurant' => $restaurant_name, ':item' => $food_item, ':theme' => $theme_style, ':steps' => json_encode($timeline), ':sms' => json_encode($sms_messages) ]); } $response['success'] = true; $response['message'] = 'Prank delivery tracker generated successfully!'; $response['data'] = $output_data; // {{TOOL_PROCESSING_END}} $processing_time = microtime(true) - $start_time; logUsage($pdo, $tool_slug, $user_ip, $user_id, 'generate', $input, $response['data'], $processing_time, 'success'); $response['usage'] = checkDailyUsage($pdo, $tool_slug, $user_ip, $user_id, $limit); // Get updated usage $response['access'] = $access; } catch (Exception $e) { $response['message'] = $e->getMessage(); $processing_time = microtime(true) - $start_time; logUsage($pdo, $tool_slug, $user_ip, $user_id, 'generate_error', isset($input) ? $input : [], ['error' => $e->getMessage()], $processing_time, 'failed'); } echo json_encode($response); FILE 3: /home/delivery-tracker-prank.digitalprank.com/public_html/tool_form.php code PHP <?php echo htmlspecialchars($config['identity']['name']); ?> - DigitalPrank

>
FILE 4: /home/delivery-tracker-prank.digitalprank.com/public_html/diagnostic.php code PHP $description$icon " . ($status ? 'OK' : 'FAIL') . "$message"; } $tool_slug = 'delivery-tracker-prank'; ?> Diagnostic: Delivery Tracker Tracker

Diagnostic:

getMessage()); } // 3. Required Tables if ($pdo) { $required_tables = [ 'wp_digitalprank_tools', 'wp_digitalprank_usage', 'wp_digitalprank_usage_log', 'wp_pms_member_subscriptions', 'wp_digitalprank_entitlements', 'wp_digitalprank_tool_overrides', 'custom_delivery_history' // Tool-specific table ]; foreach ($required_tables as $table) { try { $result = $pdo->query("SELECT 1 FROM {$table} LIMIT 1"); check("Table '{$table}' exists", $result !== false); } catch (Exception $e) { check("Table '{$table}' exists", false, $e->getMessage()); } } } // 4. Dependencies Checking if ($config_data) { foreach ($config_data['tool']['dependencies']['php_extensions'] as $ext) { check("PHP extension '{$ext}' loaded", extension_loaded($ext)); } // Python check is illustrative; running python from php is complex. // A better check might be for a venv directory. $venv_path = __DIR__ . '/venv'; check("Python venv directory exists", is_dir($venv_path), "Path: {$venv_path}"); } // 5. Tool-specific functionality test if ($pdo && $config_data) { // This is a simple simulation, not a full processor run. $test_output = "Timeline with 8 steps. Includes SMS: No."; check("Tool-specific logic simulation", true, "Generated: " . htmlspecialchars($test_output)); } // 6. Permissions check("Directory is writable by web server", is_writable('.'), "Current user: " . get_current_user()); ?>
CheckStatusDetails
FILE 5: /home/delivery-tracker-prank.digitalprank.com/public_html/help.md code Markdown # Help: Delivery Tracker Tracker Simulate a custom food delivery with absurd restaurant names, ridiculous items, and chaotic delivery updates. Perfect for pranking your hungry friends. ## Quick Start Guide Here's how to get your prank running in seconds: 1. **Step 1:** Choose or randomize a restaurant and food item. 2. **Step 2:** Pick a theme and optional recipient name. 3. **Step 3:** Enable map or SMS simulation if desired. 4. **Step 4:** Generate and share the prank delivery tracker! ## Features - **Custom Restaurant & Food Names (PRO):** Specify your own hilarious restaurant and food items for a personalized prank. If left blank, the tool will pick from a list of absurd options. - **Custom Recipient Name (PRO):** Add your friend's name to the tracker updates for maximum believability. - **Live Map Animation (PRO):** Displays a custom map with a driver icon moving towards the destination, complete with silly updates. - **Custom SMS Updates (PRO):** Shows a simulated text message exchange with the increasingly unhinged delivery driver. - **Tracker Themes:** Choose from several UI themes to match the mood of your prank: - **Modern:** A sleek, standard delivery app look. - **Retro:** A pixelated, old-school computer interface. - **Fast Food Style:** Bright, bold, and greasy-looking. - **Scary Delivery:** A horror-themed tracker for a truly cursed meal. ## Frequently Asked Questions (FAQ) **Q: Is this a real delivery?** > A: No. This tool is for entertainment only and generates a custom tracker with funny updates. No food will actually be delivered. **Q: Can I share the prank with friends?** > A: Yes! After generating, you’ll get a shareable link or screenshot option. **Q: Can I customize the steps or add delays?** > A: Not yet — advanced prank flow editing is coming soon for Pro users. ## Usage Examples ### 1. The Wrong Order Send a delivery for a 'Cold Anchovy Milkshake' from 'Ye Olde Taco Shack'. - **Restaurant Name:** `Ye Olde Taco Shack` - **Food Item:** `Cold Anchovy Milkshake` - **Tracker Theme:** `Retro` ### 2. Cursed Delivery Make it look like the delivery driver got lost in a graveyard. - **Restaurant Name:** `Ghost Tacos` - **Food Item:** `Ectoplasm Burrito` - **Tracker Theme:** `Horror` FILE 6: /home/digitalprank.com/public_html/blog/data/tools/delivery-tracker-prank.json code JSON { "slug": "delivery-tracker-prank", "name": "Delivery Tracker Tracker", "meta_title": "Delivery Tracker Tracker | Hilarious Order Updates | DigitalPrank.com", "meta_description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates. Create your prank now!", "keywords": ["custom delivery", "food prank", "order tracker", "funny delivery", "digital prank"], "canonical_url": "https://digitalprank.com/tools/delivery-tracker-prank", "primary_color": "#FF8C00", "secondary_color": "#292929", "short_description": "Create a shareable, animated custom food delivery tracker to prank your friends. Customize everything from the restaurant name to the chaotic delivery updates.", "long_description": "Ever wanted to trick your friend into thinking their pizza was being delivered by a circus clown? Or that their burrito was delayed by a goose attack? The Delivery Tracker Tracker lets you do just that. Generate a realistic-looking but completely custom delivery screen with a live map, absurd status updates, and even simulated SMS messages from the driver. It's the perfect digital prank for anyone waiting on a real food order.", "features": [ { "name": "Customizable Orders (Pro)", "description": "Enter any restaurant and food item you can imagine. The more ridiculous, the better!", "icon": "edit" }, { "name": "Live Animated Map (Pro)", "description": "Watch the 'driver' move across a map, encounter strange delays, and get hopelessly lost.", "icon": "map" }, { "name": "Simulated SMS Updates (Pro)", "description": "Add another layer of realism with custom text messages from your delivery driver.", "icon": "sms" }, { "name": "Multiple Themes", "description": "Choose from Modern, Retro, Fast Food, or even a spooky Horror theme to set the tone.", "icon": "palette" }, { "name": "Instant Sharable Link", "description": "Generate your prank and get a unique link to send to your target immediately.", "icon": "share" } ], "user_guide": { "title": "How to Prank Your Friends", "steps": [ "Navigate to the Delivery Tracker Tracker tool.", "For the best results, use the Pro options to enter a custom restaurant and food item that your friend might actually order.", "Select a theme. 'Modern' is more believable, while 'Horror' is great for a laugh.", "Click 'Generate Prank Tracker' to get your unique, shareable link.", "Send the link to your friend and tell them 'Your food is on the way!'" ] }, "technical_details": { "frontend": "HTML, CSS, JavaScript (for dynamic form and result display)", "backend": "PHP 8.1+", "database": "MySQL for storing prank history", "dependencies": "Relies on core platform functions for user management and usage tracking." }, "structured_data": { "@context": "https://schema.org", "@type": "WebApplication", "name": "Delivery Tracker Tracker", "description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates.", "applicationCategory": "Entertainment", "operatingSystem": "Any (Web-based)", "url": "https://delivery-tracker-prank.digitalprank.com", "publisher": { "@type": "Organization", "name": "DigitalPrank.com" } } } FILE 7: /home/delivery-tracker-prank.digitalprank.com/public_html/deploy.sh code Bash #!/bin/bash set -e TOOL_SLUG="delivery-tracker-prank" TOOL_DOMAIN="${TOOL_SLUG}.digitalprank.com" TOOL_DIR="/home/${TOOL_DOMAIN}/public_html" VHOST_CONF_DIR="/usr/local/lsws/conf/vhosts" DB_NAME="digitalprank_db" DB_USER="dp_user" DB_PASS="#$Dealer2355" echo "--- Starting deployment for ${TOOL_SLUG} ---" # 1. System & PHP Dependencies echo "Installing dependencies..." # Assuming apt-based system apt-get update apt-get install -y php8.1-json php8.1-mysql python3-venv # 2. Directory Structure and Permissions echo "Creating tool directory at ${TOOL_DIR}..." mkdir -p ${TOOL_DIR} chown -R www-data:www-data ${TOOL_DIR} chmod -R 755 ${TOOL_DIR} # 3. Python Virtual Environment echo "Setting up Python virtual environment..." python3 -m venv ${TOOL_DIR}/venv source ${TOOL_DIR}/venv/bin/activate pip install --upgrade pip pip install flask faker deactivate chown -R www-data:www-data ${TOOL_DIR}/venv # 4. Database Table Creation echo "Creating database table 'custom_delivery_history'..." SQL_CREATE_TABLE=" CREATE TABLE IF NOT EXISTS \`custom_delivery_history\` ( \`id\` BIGINT NOT NULL AUTO_INCREMENT, \`prank_uuid\` VARCHAR(32) NOT NULL UNIQUE, \`user_id\` BIGINT DEFAULT 0, \`restaurant_name\` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, \`food_item\` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, \`theme\` VARCHAR(50), \`delivery_steps_json\` JSON, \`sms_messages_json\` JSON, \`created_at\` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (\`id\`), INDEX \`idx_user_id\` (\`user_id\`), INDEX \`idx_created_at\` (\`created_at\`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; " mysql -u"${DB_USER}" -p"${DB_PASS}" "${DB_NAME}" -e "${SQL_CREATE_TABLE}" echo "Database table check/creation complete." # 5. OpenLiteSpeed Virtual Host Configuration echo "Configuring OpenLiteSpeed virtual host..." VHOST_CONFIG=" docRoot \$SERVER_ROOT/vhosts/${TOOL_DOMAIN}/public_html/ vhDomain ${TOOL_DOMAIN} vhAliases www.${TOOL_DOMAIN} adminEmails admin@digitalprank.com enableGzip 1 errorlog \$SERVER_ROOT/logs/\$VH_NAME.error.log { useServer 0 logLevel ERROR rollingSize 10M } accesslog \$SERVER_ROOT/logs/\$VH_NAME.access.log { useServer 0 logFormat \"%h %l %u %t \\\"%r\\\" %>s %b \\\"%{Referer}i\\\" \\\"%{User-Agent}i\\\"\" rollingSize 10M keepDays 10 } scripthandler { add lsapi:php81 php } extprocessor php81 { type lsapi address uds://tmp/lshttpd/php81.sock maxConns 35 env PHP_LSAPI_CHILDREN=35 initTimeout 60 retryTimeout 0 persistConn 1 respBuffer 0 autoStart 1 path /usr/local/lsws/lsphp81/bin/lsphp backlog 100 instances 1 } rewrite { enable 1 autoLoadHtaccess 1 } " # This is a simplified representation. Actual vhost creation may involve more complex scripts. echo "${VHOST_CONFIG}" > "${VHOST_CONF_DIR}/${TOOL_DOMAIN}.conf" echo "Virtual host config file created at ${VHOST_CONF_DIR}/${TOOL_DOMAIN}.conf" # 6. Log Rotation echo "Setting up log rotation..." LOG_ROTATE_CONF=" ${TOOL_DIR}/logs/*.log { daily missingok rotate 7 compress delaycompress notifempty create 640 www-data adm sharedscripts } " # Assuming logrotate.d directory exists echo "${LOG_ROTATE_CONF}" > /etc/logrotate.d/${TOOL_SLUG} # 7. Final Steps echo "Restarting OpenLiteSpeed to apply changes..." /usr/local/lsws/bin/lswsctrl restart echo "--- Deployment for ${TOOL_SLUG} complete. ---" echo "Please verify the site is accessible at https://${TOOL_DOMAIN}" FILE 8: /home/delivery-tracker-prank.digitalprank.com/public_html/tracker.php code PHP setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare("SELECT * FROM custom_delivery_history WHERE prank_uuid = :uuid LIMIT 1"); $stmt->execute([':uuid' => $prank_uuid]); $prank_data = $stmt->fetch(PDO::FETCH_ASSOC); if (!$prank_data) { die("Invalid delivery ID."); } $timeline = json_decode($prank_data['delivery_steps_json'], true); $sms_messages = json_decode($prank_data['sms_messages_json'], true); } catch (PDOException $e) { die("Error retrieving delivery information."); } ?> Track Your Order

Your order for a is on its way!

Driver Updates

Model ThinkingThoughts (experimental) Auto Expand to view model thoughts chevron_right FILE 1: /home/delivery-tracker-prank.digitalprank.com/public_html/tool_config.json code JSON { "tool": { "identity": { "slug": "delivery-tracker-prank", "name": "Delivery Tracker Tracker", "category": "prank", "tagline": "Track your hilarious custom food delivery in real-time!", "description": "Simulate a custom food delivery with absurd restaurant names, ridiculous items, and chaotic delivery updates. Perfect for pranking your hungry friends.", "keywords": ["custom delivery", "food prank", "order tracker", "funny delivery", "digital prank"] }, "features": { "bulk_enabled": false, "history_enabled": true, "export_enabled": true, "api_enabled": true }, "fields": [ { "id": "restaurant_name", "type": "text", "label": "Restaurant Name", "placeholder": "e.g., Soggy Pizza Co.", "required": false, "pro_only": true, "help_text": "Custom name of the custom restaurant. Leave blank to randomize." }, { "id": "food_item", "type": "text", "label": "Food Item", "placeholder": "e.g., Extra-Wet Burrito", "required": false, "pro_only": true, "help_text": "Name the custom food item. Leave blank to randomize." }, { "id": "recipient_name", "type": "text", "label": "Recipient Name", "placeholder": "e.g., Mario", "required": false, "pro_only": true, "help_text": "Name to display in the delivery updates. Optional for added realism." }, { "id": "enable_map", "type": "checkbox", "label": "Enable Live Map Animation", "default": true, "pro_only": true, "help_text": "Show a custom delivery map with the driver icon moving in real time." }, { "id": "include_sms", "type": "checkbox", "label": "Show Custom SMS Updates", "default": true, "pro_only": true, "help_text": "Simulate SMS-style updates from your 'delivery driver'." }, { "id": "theme_style", "type": "select", "label": "Tracker Theme", "default": "modern", "options": [ { "value": "modern", "label": "Modern" }, { "value": "retro", "label": "Retro" }, { "value": "fastfood", "label": "Fast Food Style" }, { "value": "horror", "label": "Scary Delivery" } ], "pro_only": false, "help_text": "Pick a fun theme for the prank tracker UI." } ], "limits": { "tier_daily": { "free": 3, "basic": 20, "gold": 200, "ultimate": -1 }, "rate_limit_per_minute": 10, "max_concurrent_requests": 5 }, "billing": { "credit_cost": 1, "one_off_enabled": true, "one_off_price_cents": 99, "bill_on": "success" }, "ui": { "theme": { "primary_color": "#FF8C00", "secondary_color": "#292929" }, "layout": { "show_sidebar_ads": true, "form_style": "standard", "result_display": "animated_tracker" } }, "dependencies": { "php_extensions": ["json", "pdo_mysql"], "system_packages": [], "python_packages": ["flask", "faker"], "external_apis": [], "requires_internet": false }, "database": { "tool_specific_table": "custom_delivery_history", "store_results": true, "enable_history": true, "retention_days": 30 }, "seo": { "meta_title": "Delivery Tracker Tracker | Hilarious Order Updates | DigitalPrank.com", "meta_description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates. Create your prank now!", "canonical_url": "https://digitalprank.com/tools/delivery-tracker-prank", "structured_data": { "type": "WebApplication", "category": "Entertainment" } }, "help": { "quick_start": [ "Step 1: Choose or randomize a restaurant and food item.", "Step 2: Pick a theme and optional recipient name.", "Step 3: Enable map or SMS simulation if desired.", "Step 4: Generate and share the prank delivery tracker!" ], "faq": [ { "question": "Is this a real delivery?", "answer": "No. This tool is for entertainment only and generates a custom tracker with funny updates. No food will actually be delivered." }, { "question": "Can I share the prank with friends?", "answer": "Yes! After generating, you’ll get a shareable link or screenshot option." }, { "question": "Can I customize the steps or add delays?", "answer": "Not yet — advanced prank flow editing is coming soon for Pro users." } ], "examples": [ { "title": "The Wrong Order", "description": "Send a delivery for a 'Cold Anchovy Milkshake' from 'Ye Olde Taco Shack'.", "input": { "restaurant_name": "Ye Olde Taco Shack", "food_item": "Cold Anchovy Milkshake", "theme_style": "retro" } }, { "title": "Cursed Delivery", "description": "Make it look like the delivery driver got lost in a graveyard.", "input": { "restaurant_name": "Ghost Tacos", "food_item": "Ectoplasm Burrito", "theme_style": "horror" } } ] }, "monitoring": { "track_usage": true, "track_performance": true, "error_reporting": true, "analytics_events": [ "delivery_prank_created", "theme_selected", "export_clicked" ] }, "security": { "input_sanitization": true, "csrf_protection": true, "rate_limiting": true, "blocked_domains": [], "max_input_length": 200, "allowed_file_types": [] }, "version": { "schema": "3.0.0", "tool": "1.0.0", "api_version": "v1" } } } FILE 2: /home/delivery-tracker-prank.digitalprank.com/public_html/processor.php code PHP false, 'message' => 'An unknown error occurred.', 'data' => null, 'usage' => null, 'access' => null, 'features' => null, ]; try { $pdo = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8mb4", $db_user, $db_pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $json_config = json_decode(file_get_contents('tool_config.json'), true)['tool']; // --- User and Input Handling --- session_start(); $user_id = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : 0; $user_ip = $_SERVER['REMOTE_ADDR']; $input = json_decode(file_get_contents('php://input'), true); if (!$input) { throw new Exception('Invalid input data.'); } // CSRF Check if (!isset($input['csrf_token']) || !isset($_SESSION['csrf_token']) || !hash_equals($_SESSION['csrf_token'], $input['csrf_token'])) { throw new Exception('CSRF token validation failed.'); } // --- Access and Usage Control --- $access = getUserAccessLevel($pdo, $user_id, $tool_slug); $limit = $json_config['limits']['tier_daily'][$access['tier']]; $usage_check = checkDailyUsage($pdo, $tool_slug, $user_ip, $user_id, $limit); if (!$usage_check['can_proceed']) { throw new Exception('Daily usage limit exceeded.'); } // Fetch feature overrides $overrides = getToolOverrides($pdo, $tool_slug); $response['features'] = $overrides; // {{TOOL_PROCESSING_START}} // --- Input Validation & Sanitization --- $max_len = $json_config['security']['max_input_length']; $restaurant_name = isset($input['restaurant_name']) ? trim(htmlspecialchars(substr($input['restaurant_name'], 0, $max_len))) : ''; $food_item = isset($input['food_item']) ? trim(htmlspecialchars(substr($input['food_item'], 0, $max_len))) : ''; $recipient_name = isset($input['recipient_name']) ? trim(htmlspecialchars(substr($input['recipient_name'], 0, $max_len))) : ''; $enable_map = isset($input['enable_map']) ? (bool)$input['enable_map'] : false; $include_sms = isset($input['include_sms']) ? (bool)$input['include_sms'] : false; $theme_style = isset($input['theme_style']) && in_array($input['theme_style'], ['modern', 'retro', 'fastfood', 'horror']) ? $input['theme_style'] : 'modern'; // --- Pro Feature Gating --- if (!$access['has_pro_access']) { if (!empty($restaurant_name) || !empty($food_item) || !empty($recipient_name) || $enable_map || $include_sms) { throw new Exception('Pro features require a subscription.'); } } // --- Data Generation --- if (empty($restaurant_name)) { $restaurants = ["Soggy Pizza Co.", "The Greasy Spoon", "Cosmic Cantina", "Ye Olde Taco Shack", "Ghost Tacos", "Burger Apocalypse"]; $restaurant_name = $restaurants[array_rand($restaurants)]; } if (empty($food_item)) { $foods = ["Extra-Wet Burrito", "Cold Anchovy Milkshake", "Ectoplasm Burrito", "Glow-in-the-dark Fries", "Sentient Meatball Sub", "Questionable Calzone"]; $food_item = $foods[array_rand($foods)]; } $prank_recipient = empty($recipient_name) ? 'your' : htmlspecialchars($recipient_name) . "'s"; // --- Delivery Timeline Generation --- $timeline = []; $timeline[] = ['status' => 'Order Confirmed', 'detail' => 'We\'ve received the order for ' . $food_item . '.', 'icon' => 'receipt']; $timeline[] = ['status' => 'Preparation', 'detail' => 'Our questionable chef is now preparing ' . $prank_recipient . ' meal.', 'icon' => 'chef']; $timeline[] = ['status' => 'Quality Check', 'detail' => 'A manager is poking the food with a stick. It seems fine.', 'icon' => 'check']; $timeline[] = ['status' => 'Out for Delivery', 'detail' => 'A driver has picked up the order. Their location is now visible.', 'icon' => 'delivery']; if (rand(0,1)) $timeline[] = ['status' => 'Minor Delay', 'detail' => 'Driver is currently fighting a goose for a piece of bread.', 'icon' => 'warning']; if (rand(0,1)) $timeline[] = ['status' => 'En Route', 'detail' => 'Driver has escaped the goose and is back on the road.', 'icon' => 'route']; $timeline[] = ['status' => 'Arriving Soon', 'detail' => 'The driver is just around the corner, probably.', 'icon' => 'location']; $timeline[] = ['status' => 'Delivered', 'detail' => $prank_recipient . ' order has been left at the door. Or a door. Definitely a door.', 'icon' => 'home']; // --- SMS Generation --- $sms_messages = []; if ($include_sms && $access['has_pro_access']) { $sms_messages[] = ['sender' => 'Driver', 'message' => 'On my way with your food.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'Ok I have to ask... you really ordered the ' . $food_item . '? Brave.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'I think your food is looking at me.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'Almost there. Dropped it once but it seems okay. 5 second rule.']; } // --- Final Data Structure --- $prank_uuid = uniqid('prank_', true); $output_data = [ 'prank_id' => $prank_uuid, 'restaurant_name' => $restaurant_name, 'food_item' => $food_item, 'recipient_name' => $recipient_name, 'enable_map' => $enable_map, 'include_sms' => $include_sms, 'theme_style' => $theme_style, 'timeline' => $timeline, 'sms_messages' => $sms_messages, 'tracker_url' => "https://{$tool_slug}.digitalprank.com/tracker.php?id=" . $prank_uuid ]; // --- Database Storage --- if ($json_config['database']['store_results']) { $stmt = $pdo->prepare( "INSERT INTO custom_delivery_history (prank_uuid, user_id, restaurant_name, food_item, theme, delivery_steps_json, sms_messages_json, created_at) VALUES (:uuid, :user_id, :restaurant, :item, :theme, :steps, :sms, NOW())" ); $stmt->execute([ ':uuid' => $prank_uuid, ':user_id' => $user_id, ':restaurant' => $restaurant_name, ':item' => $food_item, ':theme' => $theme_style, ':steps' => json_encode($timeline), ':sms' => json_encode($sms_messages) ]); } $response['success'] = true; $response['message'] = 'Prank delivery tracker generated successfully!'; $response['data'] = $output_data; // {{TOOL_PROCESSING_END}} $processing_time = microtime(true) - $start_time; logUsage($pdo, $tool_slug, $user_ip, $user_id, 'generate', $input, $response['data'], $processing_time, 'success'); $response['usage'] = checkDailyUsage($pdo, $tool_slug, $user_ip, $user_id, $limit); // Get updated usage $response['access'] = $access; } catch (Exception $e) { $response['message'] = $e->getMessage(); $processing_time = microtime(true) - $start_time; logUsage($pdo, $tool_slug, $user_ip, $user_id, 'generate_error', isset($input) ? $input : [], ['error' => $e->getMessage()], $processing_time, 'failed'); } echo json_encode($response); FILE 3: /home/delivery-tracker-prank.digitalprank.com/public_html/tool_form.php code PHP <?php echo htmlspecialchars($config['identity']['name']); ?> - DigitalPrank

>
``` ### FILE 4: /home/delivery-tracker-prank.digitalprank.com/public_html/diagnostic.php ```php $description$icon " . ($status ? 'OK' : 'FAIL') . "$message"; } $tool_slug = 'delivery-tracker-prank'; ?> Diagnostic: Delivery Tracker Tracker

Diagnostic:

getMessage()); } // 3. Required Tables if ($pdo) { $required_tables = [ 'wp_digitalprank_tools', 'wp_digitalprank_usage', 'wp_digitalprank_usage_log', 'wp_pms_member_subscriptions', 'wp_digitalprank_entitlements', 'wp_digitalprank_tool_overrides', 'custom_delivery_history' ]; foreach ($required_tables as $table) { try { $result = $pdo->query("SELECT 1 FROM {$table} LIMIT 1"); check("Table '{$table}' exists", $result !== false); } catch (Exception $e) { check("Table '{$table}' exists", false, $e->getMessage()); } } } // 4. Dependencies Checking if ($config_data) { foreach ($config_data['tool']['dependencies']['php_extensions'] as $ext) { check("PHP extension '{$ext}' loaded", extension_loaded($ext)); } $venv_path = __DIR__ . '/venv'; check("Python venv directory exists", is_dir($venv_path), "Path: {$venv_path}"); } // 5. Tool-specific functionality test if ($pdo && $config_data) { $test_output = "Timeline with 8 steps. Includes SMS: No."; check("Tool-specific logic simulation", true, "Generated: " . htmlspecialchars($test_output)); } // 6. Permissions & Paths check("Directory is writable by web server", is_writable('.'), "Current user: " . get_current_user()); check("API directory exists", is_dir(__DIR__ . '/api/v1'), "Path: " . __DIR__ . '/api/v1'); check("Assets directory exists", is_dir(__DIR__ . '/assets'), "Path: " . __DIR__ . '/assets'); ?>
CheckStatusDetails
FILE 5: /home/delivery-tracker-prank.digitalprank.com/public_html/help.md code Markdown # Help: Delivery Tracker Tracker Simulate a custom food delivery with absurd restaurant names, ridiculous items, and chaotic delivery updates. Perfect for pranking your hungry friends. ## Quick Start Guide Here's how to get your prank running in seconds: 1. **Step 1:** Choose or randomize a restaurant and food item. 2. **Step 2:** Pick a theme and optional recipient name. 3. **Step 3:** Enable map or SMS simulation if desired. 4. **Step 4:** Generate and share the prank delivery tracker! ## Features - **Custom Restaurant & Food Names (PRO):** Specify your own hilarious restaurant and food items for a personalized prank. If left blank, the tool will pick from a list of absurd options. - **Custom Recipient Name (PRO):** Add your friend's name to the tracker updates for maximum believability. - **Live Map Animation (PRO):** Displays a custom map with a driver icon moving towards the destination, complete with silly updates. - **Custom SMS Updates (PRO):** Shows a simulated text message exchange with the increasingly unhinged delivery driver. - **Tracker Themes:** Choose from several UI themes to match the mood of your prank: - **Modern:** A sleek, standard delivery app look. - **Retro:** A pixelated, old-school computer interface. - **Fast Food Style:** Bright, bold, and greasy-looking. - **Scary Delivery:** A horror-themed tracker for a truly cursed meal. ## API Access (Ultimate Tier) Automate prank generation using our simple API. Send a POST request to `https://delivery-tracker-prank.digitalprank.com/api/v1/generate.php` with a JSON body. **Endpoint:** `POST /api/v1/generate.php` **Headers:** `Authorization: Bearer YOUR_API_KEY` **Example Request Body:** ```json { "restaurant_name": "Cosmic Cantina", "food_item": "Meteor Meatballs", "theme_style": "retro" } Example Success Response: code JSON { "success": true, "data": { "prank_id": "prank_...", "tracker_url": "https://..." } } Frequently Asked Questions (FAQ) Q: Is this a real delivery? A: No. This tool is for entertainment only and generates a custom tracker with funny updates. No food will actually be delivered. Q: Can I share the prank with friends? A: Yes! After generating, you’ll get a shareable link or screenshot option. Q: Can I customize the steps or add delays? A: Not yet — advanced prank flow editing is coming soon for Pro users. Usage Examples 1. The Wrong Order Send a delivery for a 'Cold Anchovy Milkshake' from 'Ye Olde Taco Shack'. Restaurant Name: Ye Olde Taco Shack Food Item: Cold Anchovy Milkshake Tracker Theme: Retro 2. Cursed Delivery Make it look like the delivery driver got lost in a graveyard. Restaurant Name: Ghost Tacos Food Item: Ectoplasm Burrito Tracker Theme: Horror code Code ### FILE 6: /home/digitalprank.com/public_html/blog/data/tools/delivery-tracker-prank.json ```json { "slug": "delivery-tracker-prank", "name": "Delivery Tracker Tracker", "meta_title": "Delivery Tracker Tracker | Hilarious Order Updates | DigitalPrank.com", "meta_description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates. Create your prank now!", "keywords": ["custom delivery", "food prank", "order tracker", "funny delivery", "digital prank"], "canonical_url": "https://digitalprank.com/tools/delivery-tracker-prank", "primary_color": "#FF8C00", "secondary_color": "#292929", "short_description": "Create a shareable, animated custom food delivery tracker to prank your friends. Customize everything from the restaurant name to the chaotic delivery updates.", "long_description": "Ever wanted to trick your friend into thinking their pizza was being delivered by a circus clown? Or that their burrito was delayed by a goose attack? The Delivery Tracker Tracker lets you do just that. Generate a realistic-looking but completely custom delivery screen with a live map, absurd status updates, and even simulated SMS messages from the driver. It's the perfect digital prank for anyone waiting on a real food order.", "features": [ { "name": "Customizable Orders (Pro)", "description": "Enter any restaurant and food item you can imagine. The more ridiculous, the better!", "icon": "edit" }, { "name": "Live Animated Map (Pro)", "description": "Watch the 'driver' move across a map, encounter strange delays, and get hopelessly lost.", "icon": "map" }, { "name": "Simulated SMS Updates (Pro)", "description": "Add another layer of realism with custom text messages from your delivery driver.", "icon": "sms" }, { "name": "Multiple Themes", "description": "Choose from Modern, Retro, Fast Food, or even a spooky Horror theme to set the tone.", "icon": "palette" }, { "name": "API Access (Ultimate)", "description": "Automate prank generation and integrate the tracker into your own applications.", "icon": "code" }, { "name": "Instant Sharable Link", "description": "Generate your prank and get a unique link to send to your target immediately.", "icon": "share" } ], "user_guide": { "title": "How to Prank Your Friends", "steps": [ "Navigate to the Delivery Tracker Tracker tool.", "For the best results, use the Pro options to enter a custom restaurant and food item that your friend might actually order.", "Select a theme. 'Modern' is more believable, while 'Horror' is great for a laugh.", "Click 'Generate Prank Tracker' to get your unique, shareable link.", "Send the link to your friend and tell them 'Your food is on the way!'" ] }, "technical_details": { "frontend": "HTML, CSS, JavaScript (for dynamic form and result display)", "backend": "PHP 8.1+", "database": "MySQL for storing prank history", "dependencies": "Relies on core platform functions for user management and usage tracking." }, "structured_data": { "@context": "https://schema.org", "@type": "WebApplication", "name": "Delivery Tracker Tracker", "description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates.", "applicationCategory": "Entertainment", "operatingSystem": "Any (Web-based)", "url": "https://delivery-tracker-prank.digitalprank.com", "publisher": { "@type": "Organization", "name": "DigitalPrank.com" } } } FILE 7: /home/delivery-tracker-prank.digitalprank.com/public_html/deploy.sh code Bash #!/bin/bash set -e TOOL_SLUG="delivery-tracker-prank" TOOL_DOMAIN="${TOOL_SLUG}.digitalprank.com" TOOL_DIR="/home/${TOOL_DOMAIN}/public_html" VHOST_CONF_DIR="/usr/local/lsws/conf/vhosts" DB_NAME="digitalprank_db" DB_USER="dp_user" DB_PASS="#$Dealer2355" echo "--- Starting deployment for ${TOOL_SLUG} ---" # 1. System & PHP Dependencies echo "Installing dependencies..." # Assuming apt-based system apt-get update apt-get install -y php8.1-json php8.1-mysql python3-venv # 2. Directory Structure and Permissions echo "Creating tool directories at ${TOOL_DIR}..." mkdir -p ${TOOL_DIR}/api/v1 mkdir -p ${TOOL_DIR}/assets/css mkdir -p ${TOOL_DIR}/assets/js chown -R www-data:www-data ${TOOL_DIR} chmod -R 755 ${TOOL_DIR} # 3. Python Virtual Environment echo "Setting up Python virtual environment..." python3 -m venv ${TOOL_DIR}/venv source ${TOOL_DIR}/venv/bin/activate pip install --upgrade pip pip install flask faker deactivate chown -R www-data:www-data ${TOOL_DIR}/venv # 4. Database Table Creation echo "Creating database table 'custom_delivery_history'..." SQL_CREATE_TABLE=" CREATE TABLE IF NOT EXISTS \`custom_delivery_history\` ( \`id\` BIGINT NOT NULL AUTO_INCREMENT, \`prank_uuid\` VARCHAR(32) NOT NULL UNIQUE, \`user_id\` BIGINT DEFAULT 0, \`restaurant_name\` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, \`food_item\` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, \`theme\` VARCHAR(50), \`delivery_steps_json\` JSON, \`sms_messages_json\` JSON, \`created_at\` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (\`id\`), INDEX \`idx_user_id\` (\`user_id\`), INDEX \`idx_created_at\` (\`created_at\`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; " mysql -u"${DB_USER}" -p"${DB_PASS}" "${DB_NAME}" -e "${SQL_CREATE_TABLE}" echo "Database table check/creation complete." # 5. OpenLiteSpeed Virtual Host Configuration echo "Configuring OpenLiteSpeed virtual host..." # NOTE: This creates a basic vhost config. A production setup might be more complex. VHOST_CONFIG=" docRoot \$SERVER_ROOT/vhosts/${TOOL_DOMAIN}/public_html/ vhDomain ${TOOL_DOMAIN} vhAliases www.${TOOL_DOMAIN} adminEmails admin@digitalprank.com enableGzip 1 scripthandler { add lsapi:php81 php } extprocessor php81 { type lsapi address uds://tmp/lshttpd/php81.sock maxConns 35 path /usr/local/lsws/lsphp81/bin/lsphp } rewrite { enable 1 autoLoadHtaccess 1 } " echo "${VHOST_CONFIG}" > "${VHOST_CONF_DIR}/${TOOL_DOMAIN}.conf" echo "Virtual host config file created." # 6. Log Rotation echo "Setting up log rotation..." LOG_ROTATE_CONF=" /home/${TOOL_DOMAIN}/logs/*.log { daily missingok rotate 7 compress notifempty } " echo "${LOG_ROTATE_CONF}" > /etc/logrotate.d/${TOOL_SLUG} # 7. Final Steps echo "Restarting OpenLiteSpeed to apply changes..." /usr/local/lsws/bin/lswsctrl restart echo "--- Deployment for ${TOOL_SLUG} complete. ---" echo "Please verify the site is accessible at https://${TOOL_DOMAIN}" FILE 8: /home/delivery-tracker-prank.digitalprank.com/public_html/tracker.php code PHP setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare("SELECT * FROM custom_delivery_history WHERE prank_uuid = :uuid LIMIT 1"); $stmt->execute([':uuid' => $prank_uuid]); $prank_data = $stmt->fetch(PDO::FETCH_ASSOC); if (!$prank_data) { die("Invalid delivery ID."); } $timeline = json_decode($prank_data['delivery_steps_json'], true); $sms_messages = json_decode($prank_data['sms_messages_json'], true); } catch (PDOException $e) { die("Error retrieving delivery information."); } ?> Track Your Order

Your order for a is on its way!

Driver Updates

FILE 9: /home/delivery-tracker-prank.digitalprank.com/public_html/assets/css/tracker.css code CSS body { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 0; padding: 20px; color: #E0E0E0; transition: background-color 0.5s; } .theme-modern { background-color: #1a1a1a; } .theme-retro { background-color: #000084; font-family: 'Courier New', Courier, monospace; } .theme-fastfood { background-color: #FFD700; color: #D21404; } .theme-horror { background-color: #100000; color: #ff4d4d; font-family: 'Creepster', cursive; } .tracker-container { max-width: 700px; margin: auto; background: rgba(0,0,0,0.2); padding: 20px; border-radius: 12px; } .header { text-align: center; margin-bottom: 30px; } .header h1 { margin: 0; font-size: 2em; } .header p { margin-top: 5px; } .progress-bar { width: 100%; background: #555; border-radius: 10px; height: 20px; overflow: hidden; } .progress-bar-fill { width: 0; height: 100%; background: #FF8C00; transition: width 1s ease-in-out; } .theme-horror .progress-bar-fill { background: #8B0000; } .theme-fastfood .progress-bar-fill { background: #228B22; } .timeline { list-style: none; padding: 0; margin-top: 20px; } .timeline li { padding: 10px; border-left: 3px solid #555; margin-bottom: 10px; transition: all 0.5s; opacity: 0.5; } .timeline li.active { border-left-color: #FF8C00; opacity: 1; transform: scale(1.02); } .timeline li.completed { border-left-color: #4CAF50; opacity: 0.8; } .theme-horror .timeline li.active { border-left-color: #ff4d4d; } .theme-horror .timeline li.completed { border-left-color: #8B0000; } .sms-container { margin-top: 30px; padding: 15px; background: rgba(0,0,0,0.3); border-radius: 8px; } .sms { display: none; margin-bottom: 10px; } .sms.driver { text-align: left; } .sms p { display: inline-block; padding: 8px 12px; border-radius: 15px; max-width: 70%; } .sms.driver p { background-color: #333; } .theme-fastfood .sms.driver p { background: #fff; } FILE 10: /home/delivery-tracker-prank.digitalprank.com/public_html/assets/js/tracker.js code JavaScript document.addEventListener('DOMContentLoaded', () => { const timelineElements = document.querySelectorAll('#timeline li'); const smsElements = document.querySelectorAll('#smsFeed .sms'); const progressBarFill = document.getElementById('progressBarFill'); let currentStep = -1; let currentSms = 0; function updateTracker() { currentStep++; if (currentStep >= timelineData.length) { clearInterval(interval); return; } // Update progress bar const progress = ((currentStep + 1) / timelineData.length) * 100; progressBarFill.style.width = progress + '%'; // Update timeline status timelineElements.forEach((li, index) => { if (index < currentStep) { li.className = 'completed'; } else if (index === currentStep) { li.className = 'active'; } else { li.className = ''; } }); // Show a random SMS message occasionally, after the first few steps if (smsData.length > 0 && currentStep > 1 && Math.random() > 0.4 && currentSms < smsData.length) { smsElements[currentSms].style.display = 'block'; currentSms++; } } // Set a variable interval for a more "realistic" feel const scheduleNextUpdate = () => { const randomDelay = Math.random() * 3000 + 2000; // 2 to 5 seconds if (currentStep < timelineData.length -1) { setTimeout(() => { updateTracker(); scheduleNextUpdate(); }, randomDelay); } else { updateTracker(); // Run the last step } }; updateTracker(); // Initial call for the first step scheduleNextUpdate(); }); FILE 11: /home/delivery-tracker-prank.digitalprank.com/public_html/api/v1/generate.php code PHP false, 'message' => 'An unknown error occurred.']; try { // --- API Authentication --- $api_key = null; $headers = getallheaders(); if (isset($headers['Authorization'])) { $auth_header = $headers['Authorization']; if (preg_match('/Bearer\s(\S+)/', $auth_header, $matches)) { $api_key = $matches[1]; } } if (!$api_key) { throw new Exception('API key is missing.', 401); } $pdo = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8mb4", $db_user, $db_pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $user_data = checkApiKey($pdo, $api_key, $tool_slug); // This function should return user_id, tier, etc. if (!$user_data || $user_data['tier'] !== 'ultimate') { throw new Exception('Invalid API key or insufficient permissions.', 403); } $json_config = json_decode(file_get_contents('../tool_config.json'), true)['tool']; $input = json_decode(file_get_contents('php://input'), true); if (!$input) { throw new Exception('Invalid JSON input.', 400); } // --- API-Specific Processing (Simplified version of main processor) --- $max_len = $json_config['security']['max_input_length']; $restaurant_name = isset($input['restaurant_name']) ? trim(htmlspecialchars(substr($input['restaurant_name'], 0, $max_len))) : ''; $food_item = isset($input['food_item']) ? trim(htmlspecialchars(substr($input['food_item'], 0, $max_len))) : ''; $theme_style = isset($input['theme_style']) ? $input['theme_style'] : 'modern'; if (empty($restaurant_name) || empty($food_item)) { throw new Exception('restaurant_name and food_item are required for API calls.', 400); } // Generate timeline (re-using logic from main processor) $timeline = []; $timeline[] = ['status' => 'Order Confirmed', 'detail' => 'We\'ve received the order for ' . $food_item . '.']; $timeline[] = ['status' => 'Preparation', 'detail' => 'Our questionable chef is preparing the meal.']; $timeline[] = ['status' => 'Out for Delivery', 'detail' => 'A driver has picked up the order.']; $timeline[] = ['status' => 'Delivered', 'detail' => 'Your order has been left at the door.']; $prank_uuid = uniqid('prank_api_', true); // Store in DB $stmt = $pdo->prepare( "INSERT INTO custom_delivery_history (prank_uuid, user_id, restaurant_name, food_item, theme, delivery_steps_json, sms_messages_json, created_at) VALUES (:uuid, :user_id, :restaurant, :item, :theme, :steps, '[]', NOW())" ); $stmt->execute([ ':uuid' => $prank_uuid, ':user_id' => $user_data['user_id'], ':restaurant' => $restaurant_name, ':item' => $food_item, ':theme' => $theme_style, ':steps' => json_encode($timeline) ]); // --- Success Response --- $response = [ 'success' => true, 'data' => [ 'prank_id' => $prank_uuid, 'tracker_url' => "https://{$tool_slug}.digitalprank.com/tracker.php?id=" . $prank_uuid ] ]; logUsage($pdo, $tool_slug, 'api', $user_data['user_id'], 'api_generate', $input, $response['data'], 0, 'success'); } catch (Exception $e) { $code = $e->getCode() >= 400 ? $e->getCode() : 500; http_response_code($code); $response['message'] = $e->getMessage(); } echo json_encode($response); Model ThinkingThoughts (experimental) Auto Expand to view model thoughts chevron_right FILE 1: /home/delivery-tracker-prank.digitalprank.com/public_html/tool_config.json code JSON { "tool": { "identity": { "slug": "delivery-tracker-prank", "name": "Delivery Tracker Tracker", "category": "prank", "tagline": "Track your hilarious custom food delivery in real-time!", "description": "Simulate a custom food delivery with absurd restaurant names, ridiculous items, and chaotic delivery updates. Perfect for pranking your hungry friends.", "keywords": ["custom delivery", "food prank", "order tracker", "funny delivery", "digital prank"] }, "features": { "bulk_enabled": false, "history_enabled": true, "export_enabled": true, "api_enabled": true }, "fields": [ { "id": "restaurant_name", "type": "text", "label": "Restaurant Name", "placeholder": "e.g., Soggy Pizza Co.", "required": false, "pro_only": true, "help_text": "Custom name of the custom restaurant. Leave blank to randomize." }, { "id": "food_item", "type": "text", "label": "Food Item", "placeholder": "e.g., Extra-Wet Burrito", "required": false, "pro_only": true, "help_text": "Name the custom food item. Leave blank to randomize." }, { "id": "recipient_name", "type": "text", "label": "Recipient Name", "placeholder": "e.g., Mario", "required": false, "pro_only": true, "help_text": "Name to display in the delivery updates. Optional for added realism." }, { "id": "enable_map", "type": "checkbox", "label": "Enable Live Map Animation", "default": true, "pro_only": true, "help_text": "Show a custom delivery map with the driver icon moving in real time." }, { "id": "include_sms", "type": "checkbox", "label": "Show Custom SMS Updates", "default": true, "pro_only": true, "help_text": "Simulate SMS-style updates from your 'delivery driver'." }, { "id": "theme_style", "type": "select", "label": "Tracker Theme", "default": "modern", "options": [ { "value": "modern", "label": "Modern" }, { "value": "retro", "label": "Retro" }, { "value": "fastfood", "label": "Fast Food Style" }, { "value": "horror", "label": "Scary Delivery" } ], "pro_only": false, "help_text": "Pick a fun theme for the prank tracker UI." } ], "limits": { "tier_daily": { "free": 3, "basic": 20, "gold": 200, "ultimate": -1 }, "rate_limit_per_minute": 10, "max_concurrent_requests": 5 }, "billing": { "credit_cost": 1, "one_off_enabled": true, "one_off_price_cents": 99, "bill_on": "success" }, "ui": { "theme": { "primary_color": "#FF8C00", "secondary_color": "#292929" }, "layout": { "show_sidebar_ads": true, "form_style": "standard", "result_display": "animated_tracker" } }, "dependencies": { "php_extensions": ["json", "pdo_mysql"], "system_packages": [], "python_packages": ["flask", "faker"], "external_apis": [], "requires_internet": false }, "database": { "tool_specific_table": "custom_delivery_history", "store_results": true, "enable_history": true, "retention_days": 30 }, "seo": { "meta_title": "Delivery Tracker Tracker | Hilarious Order Updates | DigitalPrank.com", "meta_description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates. Create your prank now!", "canonical_url": "https://digitalprank.com/tools/delivery-tracker-prank", "structured_data": { "type": "WebApplication", "category": "Entertainment" } }, "help": { "quick_start": [ "Step 1: Choose or randomize a restaurant and food item.", "Step 2: Pick a theme and optional recipient name.", "Step 3: Enable map or SMS simulation if desired.", "Step 4: Generate and share the prank delivery tracker!" ], "faq": [ { "question": "Is this a real delivery?", "answer": "No. This tool is for entertainment only and generates a custom tracker with funny updates. No food will actually be delivered." }, { "question": "Can I share the prank with friends?", "answer": "Yes! After generating, you’ll get a shareable link or screenshot option." }, { "question": "Can I customize the steps or add delays?", "answer": "Not yet — advanced prank flow editing is coming soon for Pro users." } ], "examples": [ { "title": "The Wrong Order", "description": "Send a delivery for a 'Cold Anchovy Milkshake' from 'Ye Olde Taco Shack'.", "input": { "restaurant_name": "Ye Olde Taco Shack", "food_item": "Cold Anchovy Milkshake", "theme_style": "retro" } }, { "title": "Cursed Delivery", "description": "Make it look like the delivery driver got lost in a graveyard.", "input": { "restaurant_name": "Ghost Tacos", "food_item": "Ectoplasm Burrito", "theme_style": "horror" } } ] }, "monitoring": { "track_usage": true, "track_performance": true, "error_reporting": true, "analytics_events": [ "delivery_prank_created", "theme_selected", "export_clicked" ] }, "security": { "input_sanitization": true, "csrf_protection": true, "rate_limiting": true, "blocked_domains": [], "max_input_length": 200, "allowed_file_types": [] }, "version": { "schema": "3.0.0", "tool": "1.0.0", "api_version": "v1" } } } FILE 2: /home/delivery-tracker-prank.digitalprank.com/public_html/processor.php code PHP false, 'message' => 'An unknown error occurred.', 'data' => null, 'usage' => null, 'access' => null, 'features' => null, ]; $pdo = null; try { $pdo = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8mb4", $db_user, $db_pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $json_config = json_decode(file_get_contents('tool_config.json'), true)['tool']; // --- User and Input Handling --- session_start(); $user_id = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : 0; $user_ip = $_SERVER['REMOTE_ADDR']; $input = json_decode(file_get_contents('php://input'), true); if (!$input) { throw new Exception('Invalid input data.'); } // CSRF Check if (!isset($input['csrf_token']) || !isset($_SESSION['csrf_token']) || !hash_equals($_SESSION['csrf_token'], $input['csrf_token'])) { throw new Exception('CSRF token validation failed.'); } // --- Access and Usage Control --- $access = getUserAccessLevel($pdo, $user_id, $tool_slug); $limit = $json_config['limits']['tier_daily'][$access['tier']]; $usage_check = checkDailyUsage($pdo, $tool_slug, $user_ip, $user_id, $limit); if (!$usage_check['can_proceed']) { throw new Exception('Daily usage limit exceeded.'); } // Fetch feature overrides $overrides = getToolOverrides($pdo, $tool_slug); $response['features'] = $overrides; // {{TOOL_PROCESSING_START}} // --- Input Validation & Sanitization --- $max_len = $json_config['security']['max_input_length']; $restaurant_name = isset($input['restaurant_name']) ? trim(htmlspecialchars(substr($input['restaurant_name'], 0, $max_len))) : ''; $food_item = isset($input['food_item']) ? trim(htmlspecialchars(substr($input['food_item'], 0, $max_len))) : ''; $recipient_name = isset($input['recipient_name']) ? trim(htmlspecialchars(substr($input['recipient_name'], 0, $max_len))) : ''; $enable_map = isset($input['enable_map']) ? (bool)$input['enable_map'] : false; $include_sms = isset($input['include_sms']) ? (bool)$input['include_sms'] : false; $theme_style = isset($input['theme_style']) && in_array($input['theme_style'], ['modern', 'retro', 'fastfood', 'horror']) ? $input['theme_style'] : 'modern'; // --- Pro Feature Gating --- if (!$access['has_pro_access']) { if (!empty($restaurant_name) || !empty($food_item) || !empty($recipient_name) || $enable_map || $include_sms) { throw new Exception('Using custom names, map, or SMS updates requires a Pro subscription.'); } } // --- Data Generation --- if (empty($restaurant_name)) { $restaurants = ["Soggy Pizza Co.", "The Greasy Spoon", "Cosmic Cantina", "Ye Olde Taco Shack", "Ghost Tacos", "Burger Apocalypse"]; $restaurant_name = $restaurants[array_rand($restaurants)]; } if (empty($food_item)) { $foods = ["Extra-Wet Burrito", "Cold Anchovy Milkshake", "Ectoplasm Burrito", "Glow-in-the-dark Fries", "Sentient Meatball Sub", "Questionable Calzone"]; $food_item = $foods[array_rand($foods)]; } $prank_recipient = empty($recipient_name) ? 'your' : htmlspecialchars($recipient_name) . "'s"; // --- Delivery Timeline Generation --- $timeline = []; $timeline[] = ['status' => 'Order Confirmed', 'detail' => 'We\'ve received the order for ' . $food_item . '.', 'icon' => 'receipt']; $timeline[] = ['status' => 'Preparation', 'detail' => 'Our questionable chef is now preparing ' . $prank_recipient . ' meal.', 'icon' => 'chef']; $timeline[] = ['status' => 'Quality Check', 'detail' => 'A manager is poking the food with a stick. It seems fine.', 'icon' => 'check']; $timeline[] = ['status' => 'Out for Delivery', 'detail' => 'A driver has picked up the order. Their location is now visible.', 'icon' => 'delivery']; if (rand(0,1)) $timeline[] = ['status' => 'Minor Delay', 'detail' => 'Driver is currently fighting a goose for a piece of bread.', 'icon' => 'warning']; if (rand(0,1)) $timeline[] = ['status' => 'En Route', 'detail' => 'Driver has escaped the goose and is back on the road.', 'icon' => 'route']; $timeline[] = ['status' => 'Arriving Soon', 'detail' => 'The driver is just around the corner, probably.', 'icon' => 'location']; $timeline[] = ['status' => 'Delivered', 'detail' => $prank_recipient . ' order has been left at the door. Or a door. Definitely a door.', 'icon' => 'home']; // --- SMS Generation --- $sms_messages = []; if ($include_sms && $access['has_pro_access']) { $sms_messages[] = ['sender' => 'Driver', 'message' => 'On my way with your food.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'Ok I have to ask... you really ordered the ' . $food_item . '? Brave.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'I think your food is looking at me.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'Almost there. Dropped it once but it seems okay. 5 second rule.']; } // --- Final Data Structure --- $prank_uuid = uniqid('prank_', true); $output_data = [ 'prank_id' => $prank_uuid, 'restaurant_name' => $restaurant_name, 'food_item' => $food_item, 'recipient_name' => $recipient_name, 'enable_map' => $enable_map, 'include_sms' => $include_sms, 'theme_style' => $theme_style, 'timeline' => $timeline, 'sms_messages' => $sms_messages, 'tracker_url' => "https://{$tool_slug}.digitalprank.com/tracker.php?id=" . $prank_uuid ]; // --- Database Storage --- if ($json_config['database']['store_results']) { $stmt = $pdo->prepare( "INSERT INTO custom_delivery_history (prank_uuid, user_id, restaurant_name, food_item, theme, delivery_steps_json, sms_messages_json, created_at) VALUES (:uuid, :user_id, :restaurant, :item, :theme, :steps, :sms, NOW())" ); $stmt->execute([ ':uuid' => $prank_uuid, ':user_id' => $user_id, ':restaurant' => $restaurant_name, ':item' => $food_item, ':theme' => $theme_style, ':steps' => json_encode($timeline), ':sms' => json_encode($sms_messages) ]); } $response['success'] = true; $response['message'] = 'Prank delivery tracker generated successfully!'; $response['data'] = $output_data; // {{TOOL_PROCESSING_END}} $processing_time = microtime(true) - $start_time; logUsage($pdo, $tool_slug, $user_ip, $user_id, 'generate', $input, $response['data'], $processing_time, 'success'); $response['usage'] = checkDailyUsage($pdo, $tool_slug, $user_ip, $user_id, $limit); // Get updated usage $response['access'] = $access; } catch (Exception $e) { $response['message'] = $e->getMessage(); $processing_time = microtime(true) - $start_time; $error_data = ['error' => $e->getMessage()]; if ($pdo) { logUsage($pdo, $tool_slug, $user_ip, $user_id, 'generate_error', isset($input) ? $input : [], $error_data, $processing_time, 'failed'); } } echo json_encode($response); FILE 3: /home/delivery-tracker-prank.digitalprank.com/public_html/tool_form.php code PHP <?php echo htmlspecialchars($config['identity']['name']); ?> - DigitalPrank

>
FILE 4: /home/delivery-tracker-prank.digitalprank.com/public_html/diagnostic.php code PHP $description$icon " . ($status ? 'OK' : 'FAIL') . "" . htmlspecialchars($message) . ""; } $tool_slug = 'delivery-tracker-prank'; ?> Diagnostic: Delivery Tracker Tracker

Diagnostic:

getMessage()); } // 3. Required Tables if ($pdo) { $required_tables = [ 'wp_digitalprank_tools', 'wp_digitalprank_usage', 'wp_digitalprank_usage_log', 'wp_pms_member_subscriptions', 'wp_digitalprank_entitlements', 'wp_digitalprank_tool_overrides', 'custom_delivery_history' ]; foreach ($required_tables as $table) { try { $pdo->query("SELECT 1 FROM `{$table}` LIMIT 1"); check("Table '{$table}' exists", true); } catch (Exception $e) { check("Table '{$table}' exists", false, $e->getMessage()); } } } // 4. Dependencies Checking if ($config_data) { foreach ($config_data['tool']['dependencies']['php_extensions'] as $ext) { check("PHP extension '{$ext}' loaded", extension_loaded($ext)); } $venv_path = __DIR__ . '/venv'; check("Python venv directory exists", is_dir($venv_path), "Path: {$venv_path}"); } // 5. Tool-specific functionality test if ($pdo && $config_data) { $test_output = "Timeline with 8 steps. Includes SMS: No."; check("Tool-specific logic simulation", true, "Generated sample: " . htmlspecialchars($test_output)); } // 6. Permissions & Paths check("Directory is writable by web server", is_writable('.'), "Current user: " . (function_exists('posix_getpwuid') ? posix_getpwuid(posix_geteuid())['name'] : get_current_user())); check("API directory exists", is_dir(__DIR__ . '/api/v1'), "Path: " . __DIR__ . '/api/v1'); check("Assets directory exists", is_dir(__DIR__ . '/assets'), "Path: " . __DIR__ . '/assets'); ?>
CheckStatusDetails
FILE 5: /home/delivery-tracker-prank.digitalprank.com/public_html/help.md code Markdown # Help: Delivery Tracker Tracker Simulate a custom food delivery with absurd restaurant names, ridiculous items, and chaotic delivery updates. Perfect for pranking your hungry friends. ## Quick Start Guide Here's how to get your prank running in seconds: 1. **Step 1:** Choose or randomize a restaurant and food item. For a more personal touch, Pro users can enter custom names. 2. **Step 2:** Pick a theme for the tracker page. `Modern` is subtle, while `Horror` is over-the-top. 3. **Step 3 (Pro):** Enable map or SMS simulations for extra realism. 4. **Step 4:** Generate the prank and share the unique link with your friend! ## Features - **Custom Restaurant & Food Names (PRO):** Specify your own hilarious restaurant and food items for a personalized prank. If left blank, the tool will pick from a list of absurd options. - **Custom Recipient Name (PRO):** Add your friend's name to the tracker updates for maximum believability. - **Live Map Animation (PRO):** Displays a custom map with a driver icon moving towards the destination, complete with silly updates. (This feature is simulated on the tracker page). - **Custom SMS Updates (PRO):** Shows a simulated text message exchange with the increasingly unhinged delivery driver. - **Tracker Themes:** Choose from several UI themes to match the mood of your prank: - **Modern:** A sleek, standard delivery app look. - **Retro:** A pixelated, old-school computer interface. - **Fast Food Style:** Bright, bold, and greasy-looking. - **Scary Delivery:** A horror-themed tracker for a truly cursed meal. ## API Access (Ultimate Tier) Automate prank generation using our simple API. Send a POST request with a JSON body. **Endpoint:** `https://delivery-tracker-prank.digitalprank.com/api/v1/generate.php` **Headers:** `Authorization: Bearer YOUR_API_KEY` **Example Request Body:** ```json { "restaurant_name": "Cosmic Cantina", "food_item": "Meteor Meatballs", "theme_style": "retro" } Frequently Asked Questions (FAQ) Q: Is this a real delivery? A: No. This tool is for entertainment only and generates a custom tracker with funny updates. No food will actually be delivered. Q: Can I share the prank with friends? A: Yes! After generating, you’ll get a shareable link. That's the whole point! Q: Can I customize the delivery steps or add delays? A: Not yet — advanced prank flow editing is coming soon for Pro users. Usage Examples 1. The Wrong Order Send a delivery for a 'Cold Anchovy Milkshake' from 'Ye Olde Taco Shack'. Restaurant Name: Ye Olde Taco Shack Food Item: Cold Anchovy Milkshake Tracker Theme: Retro 2. Cursed Delivery Make it look like the delivery driver got lost in a graveyard. Restaurant Name: Ghost Tacos Food Item: Ectoplasm Burrito Tracker Theme: Horror code Code ### FILE 6: /home/digitalprank.com/public_html/blog/data/tools/delivery-tracker-prank.json ```json { "slug": "delivery-tracker-prank", "name": "Delivery Tracker Tracker", "meta_title": "Delivery Tracker Tracker | Hilarious Order Updates | DigitalPrank.com", "meta_description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates. Create your prank now!", "keywords": ["custom delivery", "food prank", "order tracker", "funny delivery", "digital prank"], "canonical_url": "https://digitalprank.com/tools/delivery-tracker-prank", "primary_color": "#FF8C00", "secondary_color": "#292929", "short_description": "Create a shareable, animated custom food delivery tracker to prank your friends. Customize everything from the restaurant name to the chaotic delivery updates.", "long_description": "Ever wanted to trick your friend into thinking their pizza was being delivered by a circus clown? Or that their burrito was delayed by a goose attack? The Delivery Tracker Tracker lets you do just that. Generate a realistic-looking but completely custom delivery screen with a live map, absurd status updates, and even simulated SMS messages from the driver. It's the perfect digital prank for anyone waiting on a real food order.", "features": [ { "name": "Customizable Orders (Pro)", "description": "Enter any restaurant and food item you can imagine. The more ridiculous, the better!", "icon": "edit" }, { "name": "Live Animated Map (Pro)", "description": "Watch the 'driver' move across a map, encounter strange delays, and get hopelessly lost.", "icon": "map" }, { "name": "Simulated SMS Updates (Pro)", "description": "Add another layer of realism with custom text messages from your delivery driver.", "icon": "sms" }, { "name": "Multiple Themes", "description": "Choose from Modern, Retro, Fast Food, or even a spooky Horror theme to set the tone.", "icon": "palette" }, { "name": "API Access (Ultimate)", "description": "Automate prank generation and integrate the tracker into your own applications.", "icon": "code" }, { "name": "Instant Sharable Link", "description": "Generate your prank and get a unique link to send to your target immediately.", "icon": "share" } ], "user_guide": { "title": "How to Prank Your Friends", "steps": [ "Navigate to the Delivery Tracker Tracker tool.", "For the best results, use the Pro options to enter a custom restaurant and food item that your friend might actually order.", "Select a theme. 'Modern' is more believable, while 'Horror' is great for a laugh.", "Click 'Generate Prank Tracker' to get your unique, shareable link.", "Send the link to your friend and tell them 'Your food is on the way!'" ] }, "technical_details": { "frontend": "HTML, CSS, JavaScript (for dynamic form and result display)", "backend": "PHP 8.1+", "database": "MySQL for storing prank history", "dependencies": "Relies on core platform functions for user management and usage tracking." }, "structured_data": { "@context": "https://schema.org", "@type": "WebApplication", "name": "Delivery Tracker Tracker", "description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates.", "applicationCategory": "EntertainmentApplication", "operatingSystem": "Any (Web-based)", "url": "https://delivery-tracker-prank.digitalprank.com", "publisher": { "@type": "Organization", "name": "DigitalPrank.com" } } } FILE 7: /home/delivery-tracker-prank.digitalprank.com/public_html/deploy.sh code Bash #!/bin/bash set -e TOOL_SLUG="delivery-tracker-prank" TOOL_DOMAIN="${TOOL_SLUG}.digitalprank.com" TOOL_DIR="/home/${TOOL_DOMAIN}/public_html" VHOST_CONF_DIR="/usr/local/lsws/conf/vhosts" DB_NAME="digitalprank_db" DB_USER="dp_user" DB_PASS="#$Dealer2355" echo "--- [START] Deployment for ${TOOL_SLUG} ---" # 1. System & PHP Dependencies echo "--> Installing system dependencies..." apt-get update > /dev/null apt-get install -y php8.1-json php8.1-mysql python3-venv # 2. Directory Structure and Permissions echo "--> Creating tool directories at ${TOOL_DIR}..." mkdir -p ${TOOL_DIR}/api/v1 mkdir -p ${TOOL_DIR}/assets/css mkdir -p ${TOOL_DIR}/assets/js chown -R www-data:www-data ${TOOL_DIR} chmod -R 755 ${TOOL_DIR} # 3. Python Virtual Environment echo "--> Setting up Python virtual environment..." if [ ! -d "${TOOL_DIR}/venv" ]; then python3 -m venv ${TOOL_DIR}/venv source ${TOOL_DIR}/venv/bin/activate pip install --upgrade pip > /dev/null pip install flask faker > /dev/null deactivate chown -R www-data:www-data ${TOOL_DIR}/venv echo "Python venv created and packages installed." else echo "Python venv already exists." fi # 4. Database Table Creation echo "--> Creating database table 'custom_delivery_history' if not exists..." SQL_CREATE_TABLE=" CREATE TABLE IF NOT EXISTS \`custom_delivery_history\` ( \`id\` BIGINT NOT NULL AUTO_INCREMENT, \`prank_uuid\` VARCHAR(32) NOT NULL UNIQUE, \`user_id\` BIGINT DEFAULT 0, \`restaurant_name\` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, \`food_item\` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, \`theme\` VARCHAR(50), \`delivery_steps_json\` JSON, \`sms_messages_json\` JSON, \`created_at\` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (\`id\`), INDEX \`idx_user_id\` (\`user_id\`), INDEX \`idx_created_at\` (\`created_at\`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; " mysql -h localhost -u"${DB_USER}" -p"${DB_PASS}" "${DB_NAME}" -e "${SQL_CREATE_TABLE}" echo "Database table check/creation complete." # 5. OpenLiteSpeed Virtual Host Configuration echo "--> Configuring OpenLiteSpeed virtual host..." VHOST_CONFIG_FILE="${VHOST_CONF_DIR}/${TOOL_DOMAIN}.conf" if [ ! -f "$VHOST_CONFIG_FILE" ]; then cat > "$VHOST_CONFIG_FILE" < Restarting OpenLiteSpeed to apply changes..." /usr/local/lsws/bin/lswsctrl restart echo "--- [SUCCESS] Deployment for ${TOOL_SLUG} complete. ---" echo "Verify the site at https://${TOOL_DOMAIN}" FILE 8: /home/delivery-tracker-prank.digitalprank.com/public_html/tracker.php code PHP setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare("SELECT * FROM custom_delivery_history WHERE prank_uuid = :uuid LIMIT 1"); $stmt->execute([':uuid' => $prank_uuid]); $prank_data = $stmt->fetch(PDO::FETCH_ASSOC); if (!$prank_data) { die("Invalid delivery ID."); } $timeline = json_decode($prank_data['delivery_steps_json'], true); $sms_messages = json_decode($prank_data['sms_messages_json'], true); } catch (PDOException $e) { // In a real app, log this error instead of dying. error_log("Tracker DB Error: " . $e->getMessage()); die("Error retrieving delivery information."); } ?> Track Your Order

Your order for a is on its way!

Driver Updates

FILE 9: /home/delivery-tracker-prank.digitalprank.com/public_html/assets/css/tracker.css code CSS body { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 0; padding: 20px; color: #E0E0E0; transition: background-color 0.5s; } .theme-modern { background-color: #1a1a1a; } .theme-retro { background-color: #000084; font-family: 'Press Start 2P', cursive; color: #00ff00; } .theme-fastfood { background-color: #FFD700; color: #D21404; } .theme-horror { background-color: #100000; color: #ff4d4d; font-family: 'Creepster', cursive; font-size: 1.2em; } .tracker-container { max-width: 700px; margin: auto; background: rgba(0,0,0,0.2); padding: 20px; border-radius: 12px; } .theme-retro .tracker-container { border: 4px solid #00ff00; } .header { text-align: center; margin-bottom: 30px; } .header h1 { margin: 0; font-size: 2em; } .header p { margin-top: 5px; } .progress-bar { width: 100%; background: #555; border-radius: 10px; height: 20px; overflow: hidden; } .theme-retro .progress-bar { border-radius: 0; background: #005500; } .progress-bar-fill { width: 0; height: 100%; background: #FF8C00; transition: width 1s ease-in-out; } .theme-retro .progress-bar-fill { background: #00ff00; } .theme-horror .progress-bar-fill { background: #8B0000; } .theme-fastfood .progress-bar-fill { background: #228B22; } .timeline { list-style: none; padding: 0; margin-top: 20px; } .timeline li { padding: 10px; border-left: 3px solid #555; margin-bottom: 10px; transition: all 0.5s; opacity: 0.5; } .timeline li.active { border-left-color: #FF8C00; opacity: 1; transform: scale(1.02); background: rgba(255, 140, 0, 0.1); } .timeline li.completed { border-left-color: #4CAF50; opacity: 0.8; } .theme-retro .timeline li { border-image: none; border-left: 4px solid #005500; } .theme-retro .timeline li.active { border-left-color: #00ff00; } .theme-retro .timeline li.completed { border-left-color: #00aa00; opacity: 0.6; } .sms-container { margin-top: 30px; padding: 15px; background: rgba(0,0,0,0.3); border-radius: 8px; } .sms { display: none; margin-bottom: 10px; } .sms.driver { text-align: left; } .sms p { display: inline-block; padding: 8px 12px; border-radius: 15px; max-width: 70%; } .sms.driver p { background-color: #333; } .theme-fastfood .sms.driver p { background: #fff; } .theme-retro .sms p { border-radius: 0; } FILE 10: /home/delivery-tracker-prank.digitalprank.com/public_html/assets/js/tracker.js code JavaScript document.addEventListener('DOMContentLoaded', () => { if (typeof timelineData === 'undefined' || timelineData.length === 0) { console.error("Tracker data not found."); return; } const timelineElements = document.querySelectorAll('#timeline li'); const smsElements = document.querySelectorAll('#smsFeed .sms'); const progressBarFill = document.getElementById('progressBarFill'); let currentStep = -1; let currentSms = 0; function updateTracker() { currentStep++; // Update progress bar const progress = ((currentStep + 1) / timelineData.length) * 100; progressBarFill.style.width = progress + '%'; // Update timeline status timelineElements.forEach((li, index) => { if (index < currentStep) { li.className = 'completed'; } else if (index === currentStep) { li.className = 'active'; } else { li.className = ''; } }); // Show a random SMS message occasionally, after the first few steps if (smsData && smsData.length > 0 && currentStep > 1 && Math.random() > 0.4 && currentSms < smsData.length) { smsElements[currentSms].style.display = 'block'; smsElements[currentSms].scrollIntoView({ behavior: 'smooth', block: 'end' }); currentSms++; } } const scheduleNextUpdate = () => { if (currentStep >= timelineData.length - 1) { return; // All steps are shown } const randomDelay = Math.random() * 3000 + 2000; // 2 to 5 seconds setTimeout(() => { updateTracker(); scheduleNextUpdate(); }, randomDelay); }; // Initial call for the first step updateTracker(); // Start scheduling subsequent updates scheduleNextUpdate(); }); FILE 11: /home/delivery-tracker-prank.digitalprank.com/public_html/api/v1/generate.php```php false, 'message' => 'An unknown error occurred.']; $pdo = null; try { // --- API Authentication --- $api_key = null; $headers = getallheaders(); if (isset($headers['Authorization'])) { if (preg_match('/Bearer\s(\S+)/', $headers['Authorization'], $matches)) { $api_key = $matches[1]; } } if (!$api_key) { throw new Exception('API key is missing.', 401); } $pdo = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8mb4", $db_user, $db_pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $user_data = checkApiKey($pdo, $api_key, $tool_slug); // This should return ['user_id' => X, 'tier' => 'ultimate'] on success if (!$user_data || $user_data['tier'] !== 'ultimate') { throw new Exception('Invalid API key or insufficient permissions.', 403); } $json_config = json_decode(file_get_contents('../../tool_config.json'), true)['tool']; $input = json_decode(file_get_contents('php://input'), true); if (!$input) { throw new Exception('Invalid JSON input.', 400); } // --- API-Specific Processing --- $max_len = $json_config['security']['max_input_length']; $restaurant_name = isset($input['restaurant_name']) ? trim(htmlspecialchars(substr($input['restaurant_name'], 0, $max_len))) : ''; $food_item = isset($input['food_item']) ? trim(htmlspecialchars(substr($input['food_item'], 0, $max_len))) : ''; $theme_style = isset($input['theme_style']) ? $input['theme_style'] : 'modern'; if (empty($restaurant_name) || empty($food_item)) { throw new Exception('restaurant_name and food_item are required for API calls.', 400); } $timeline = []; $timeline[] = ['status' => 'Order Confirmed', 'detail' => 'We\'ve received the order for ' . $food_item . '.']; $timeline[] = ['status' => 'Preparation', 'detail' => 'Our questionable chef is preparing the meal.']; $timeline[] = ['status' => 'Out for Delivery', 'detail' => 'A driver has picked up the order.']; $timeline[] = ['status' => 'Delivered', 'detail' => 'Your order has been left at the door.']; $prank_uuid = uniqid('api_', true); $stmt = $pdo->prepare( "INSERT INTO custom_delivery_history (prank_uuid, user_id, restaurant_name, food_item, theme, delivery_steps_json, sms_messages_json, created_at) VALUES (:uuid, :user_id, :restaurant, :item, :theme, :steps, '[]', NOW())" ); $stmt->execute([ ':uuid' => $prank_uuid, ':user_id' => $user_data['user_id'], ':restaurant' => $restaurant_name, ':item' => $food_item, ':theme' => $theme_style, ':steps' => json_encode($timeline) ]); // --- Success Response --- $response = [ 'success' => true, 'message' => 'Prank tracker created successfully.', 'data' => [ 'prank_id' => $prank_uuid, 'tracker_url' => "https://{$tool_slug}.digitalprank.com/tracker.php?id=" . $prank_uuid ] ]; logUsage($pdo, $tool_slug, 'api', $user_data['user_id'], 'api_generate', $input, $response['data'], 0, 'success'); } catch (Exception $e) { $code = $e->getCode(); http_response_code(is_int($code) && $code >= 400 && $code < 600 ? $code : 500); $response['message'] = $e->getMessage(); if ($pdo && isset($user_data['user_id'])) { logUsage($pdo, $tool_slug, 'api', $user_data['user_id'], 'api_error', $input ?? [], ['error' => $e->getMessage()], 0, 'failed'); } } echo json_encode($response); ``` Model ThinkingThoughts (experimental) Auto Expand to view model thoughts chevron_right FILE 1: /home/delivery-tracker-prank.digitalprank.com/public_html/tool_config.json code JSON { "tool": { "identity": { "slug": "delivery-tracker-prank", "name": "Delivery Tracker Tracker", "category": "prank", "tagline": "Track your hilarious custom food delivery in real-time!", "description": "Simulate a custom food delivery with absurd restaurant names, ridiculous items, and chaotic delivery updates. Perfect for pranking your hungry friends.", "keywords": ["custom delivery", "food prank", "order tracker", "funny delivery", "digital prank"] }, "features": { "bulk_enabled": false, "history_enabled": true, "export_enabled": true, "api_enabled": true }, "fields": [ { "id": "restaurant_name", "type": "text", "label": "Restaurant Name", "placeholder": "e.g., Soggy Pizza Co.", "required": false, "pro_only": true, "help_text": "Custom name of the custom restaurant. Leave blank to randomize." }, { "id": "food_item", "type": "text", "label": "Food Item", "placeholder": "e.g., Extra-Wet Burrito", "required": false, "pro_only": true, "help_text": "Name the custom food item. Leave blank to randomize." }, { "id": "recipient_name", "type": "text", "label": "Recipient Name", "placeholder": "e.g., Mario", "required": false, "pro_only": true, "help_text": "Name to display in the delivery updates. Optional for added realism." }, { "id": "enable_map", "type": "checkbox", "label": "Enable Live Map Animation", "default": true, "pro_only": true, "help_text": "Show a custom delivery map with the driver icon moving in real time." }, { "id": "include_sms", "type": "checkbox", "label": "Show Custom SMS Updates", "default": true, "pro_only": true, "help_text": "Simulate SMS-style updates from your 'delivery driver'." }, { "id": "theme_style", "type": "select", "label": "Tracker Theme", "default": "modern", "options": [ { "value": "modern", "label": "Modern" }, { "value": "retro", "label": "Retro" }, { "value": "fastfood", "label": "Fast Food Style" }, { "value": "horror", "label": "Scary Delivery" } ], "pro_only": false, "help_text": "Pick a fun theme for the prank tracker UI." } ], "limits": { "tier_daily": { "free": 3, "basic": 20, "gold": 200, "ultimate": -1 }, "rate_limit_per_minute": 10, "max_concurrent_requests": 5 }, "billing": { "credit_cost": 1, "one_off_enabled": true, "one_off_price_cents": 99, "bill_on": "success" }, "ui": { "theme": { "primary_color": "#FF8C00", "secondary_color": "#292929" }, "layout": { "show_sidebar_ads": true, "form_style": "standard", "result_display": "animated_tracker" } }, "dependencies": { "php_extensions": ["json", "pdo_mysql"], "system_packages": [], "python_packages": ["flask", "faker"], "external_apis": [], "requires_internet": false }, "database": { "tool_specific_table": "custom_delivery_history", "store_results": true, "enable_history": true, "retention_days": 30 }, "seo": { "meta_title": "Delivery Tracker Tracker | Hilarious Order Updates | DigitalPrank.com", "meta_description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates. Create your prank now!", "canonical_url": "https://digitalprank.com/tools/delivery-tracker-prank", "structured_data": { "type": "WebApplication", "category": "Entertainment" } }, "help": { "quick_start": [ "Step 1: Choose or randomize a restaurant and food item.", "Step 2: Pick a theme and optional recipient name.", "Step 3: Enable map or SMS simulation if desired.", "Step 4: Generate and share the prank delivery tracker!" ], "faq": [ { "question": "Is this a real delivery?", "answer": "No. This tool is for entertainment only and generates a custom tracker with funny updates. No food will actually be delivered." }, { "question": "Can I share the prank with friends?", "answer": "Yes! After generating, you’ll get a shareable link or screenshot option." }, { "question": "Can I customize the steps or add delays?", "answer": "Not yet — advanced prank flow editing is coming soon for Pro users." } ], "examples": [ { "title": "The Wrong Order", "description": "Send a delivery for a 'Cold Anchovy Milkshake' from 'Ye Olde Taco Shack'.", "input": { "restaurant_name": "Ye Olde Taco Shack", "food_item": "Cold Anchovy Milkshake", "theme_style": "retro" } }, { "title": "Cursed Delivery", "description": "Make it look like the delivery driver got lost in a graveyard.", "input": { "restaurant_name": "Ghost Tacos", "food_item": "Ectoplasm Burrito", "theme_style": "horror" } } ] }, "monitoring": { "track_usage": true, "track_performance": true, "error_reporting": true, "analytics_events": [ "delivery_prank_created", "theme_selected", "export_clicked" ] }, "security": { "input_sanitization": true, "csrf_protection": true, "rate_limiting": true, "blocked_domains": [], "max_input_length": 200, "allowed_file_types": [] }, "version": { "schema": "3.0.0", "tool": "1.0.0", "api_version": "v1" } } } FILE 2: /home/delivery-tracker-prank.digitalprank.com/public_html/processor.php code PHP false, 'message' => 'An unknown error occurred.', 'data' => null, 'usage' => null, 'access' => null, 'features' => null, ]; $pdo = null; try { $pdo = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8mb4", $db_user, $db_pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $json_config = json_decode(file_get_contents('tool_config.json'), true)['tool']; // --- User and Input Handling --- session_start(); $user_id = isset($_SESSION['user_id']) ? (int)$_SESSION['user_id'] : 0; $user_ip = $_SERVER['REMOTE_ADDR']; $input = json_decode(file_get_contents('php://input'), true); if (!$input) { throw new Exception('Invalid input data.'); } // CSRF Check if (!isset($input['csrf_token']) || !isset($_SESSION['csrf_token']) || !hash_equals($_SESSION['csrf_token'], $input['csrf_token'])) { throw new Exception('CSRF token validation failed.'); } // --- Access and Usage Control --- $access = getUserAccessLevel($pdo, $user_id, $tool_slug); $limit = $json_config['limits']['tier_daily'][$access['tier']]; $usage_check = checkDailyUsage($pdo, $tool_slug, $user_ip, $user_id, $limit); if (!$usage_check['can_proceed']) { throw new Exception('Daily usage limit exceeded.'); } // Fetch feature overrides $overrides = getToolOverrides($pdo, $tool_slug); $response['features'] = $overrides; // {{TOOL_PROCESSING_START}} // --- Input Validation & Sanitization --- $max_len = $json_config['security']['max_input_length']; $restaurant_name = isset($input['restaurant_name']) ? trim(htmlspecialchars(substr($input['restaurant_name'], 0, $max_len))) : ''; $food_item = isset($input['food_item']) ? trim(htmlspecialchars(substr($input['food_item'], 0, $max_len))) : ''; $recipient_name = isset($input['recipient_name']) ? trim(htmlspecialchars(substr($input['recipient_name'], 0, $max_len))) : ''; $enable_map = isset($input['enable_map']) ? (bool)$input['enable_map'] : false; $include_sms = isset($input['include_sms']) ? (bool)$input['include_sms'] : false; $theme_style = isset($input['theme_style']) && in_array($input['theme_style'], ['modern', 'retro', 'fastfood', 'horror']) ? $input['theme_style'] : 'modern'; // --- Pro Feature Gating --- if (!$access['has_pro_access']) { if (!empty($restaurant_name) || !empty($food_item) || !empty($recipient_name) || $enable_map || $include_sms) { throw new Exception('Using custom names, map, or SMS updates requires a Pro subscription.'); } } // --- Data Generation --- if (empty($restaurant_name)) { $restaurants = ["Soggy Pizza Co.", "The Greasy Spoon", "Cosmic Cantina", "Ye Olde Taco Shack", "Ghost Tacos", "Burger Apocalypse"]; $restaurant_name = $restaurants[array_rand($restaurants)]; } if (empty($food_item)) { $foods = ["Extra-Wet Burrito", "Cold Anchovy Milkshake", "Ectoplasm Burrito", "Glow-in-the-dark Fries", "Sentient Meatball Sub", "Questionable Calzone"]; $food_item = $foods[array_rand($foods)]; } $prank_recipient = empty($recipient_name) ? 'your' : htmlspecialchars($recipient_name) . "'s"; // --- Delivery Timeline Generation --- $timeline = []; $timeline[] = ['status' => 'Order Confirmed', 'detail' => 'We\'ve received the order for ' . $food_item . '.', 'icon' => 'receipt']; $timeline[] = ['status' => 'Preparation', 'detail' => 'Our questionable chef is now preparing ' . $prank_recipient . ' meal.', 'icon' => 'chef']; $timeline[] = ['status' => 'Quality Check', 'detail' => 'A manager is poking the food with a stick. It seems fine.', 'icon' => 'check']; $timeline[] = ['status' => 'Out for Delivery', 'detail' => 'A driver has picked up the order. Their location is now visible.', 'icon' => 'delivery']; if (rand(0,1)) $timeline[] = ['status' => 'Minor Delay', 'detail' => 'Driver is currently fighting a goose for a piece of bread.', 'icon' => 'warning']; if (rand(0,1)) $timeline[] = ['status' => 'En Route', 'detail' => 'Driver has escaped the goose and is back on the road.', 'icon' => 'route']; $timeline[] = ['status' => 'Arriving Soon', 'detail' => 'The driver is just around the corner, probably.', 'icon' => 'location']; $timeline[] = ['status' => 'Delivered', 'detail' => $prank_recipient . ' order has been left at the door. Or a door. Definitely a door.', 'icon' => 'home']; // --- SMS Generation --- $sms_messages = []; if ($include_sms && $access['has_pro_access']) { $sms_messages[] = ['sender' => 'Driver', 'message' => 'On my way with your food.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'Ok I have to ask... you really ordered the ' . $food_item . '? Brave.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'I think your food is looking at me.']; $sms_messages[] = ['sender' => 'Driver', 'message' => 'Almost there. Dropped it once but it seems okay. 5 second rule.']; } // --- Final Data Structure --- $prank_uuid = uniqid('prank_', true); $output_data = [ 'prank_id' => $prank_uuid, 'restaurant_name' => $restaurant_name, 'food_item' => $food_item, 'recipient_name' => $recipient_name, 'enable_map' => $enable_map, 'include_sms' => $include_sms, 'theme_style' => $theme_style, 'timeline' => $timeline, 'sms_messages' => $sms_messages, 'tracker_url' => "https://{$tool_slug}.digitalprank.com/tracker.php?id=" . $prank_uuid ]; // --- Database Storage --- if ($json_config['database']['store_results']) { $stmt = $pdo->prepare( "INSERT INTO custom_delivery_history (prank_uuid, user_id, restaurant_name, food_item, theme, delivery_steps_json, sms_messages_json, created_at) VALUES (:uuid, :user_id, :restaurant, :item, :theme, :steps, :sms, NOW())" ); $stmt->execute([ ':uuid' => $prank_uuid, ':user_id' => $user_id, ':restaurant' => $restaurant_name, ':item' => $food_item, ':theme' => $theme_style, ':steps' => json_encode($timeline), ':sms' => json_encode($sms_messages) ]); } $response['success'] = true; $response['message'] = 'Prank delivery tracker generated successfully!'; $response['data'] = $output_data; // {{TOOL_PROCESSING_END}} $processing_time = microtime(true) - $start_time; logUsage($pdo, $tool_slug, $user_ip, $user_id, 'generate', $input, $response['data'], $processing_time, 'success'); $response['usage'] = checkDailyUsage($pdo, $tool_slug, $user_ip, $user_id, $limit); // Get updated usage $response['access'] = $access; } catch (Exception $e) { $response['message'] = $e->getMessage(); $processing_time = microtime(true) - $start_time; $error_data = ['error' => $e->getMessage()]; if ($pdo) { logUsage($pdo, $tool_slug, (isset($user_ip) ? $user_ip : 'unknown'), (isset($user_id) ? $user_id : 0), 'generate_error', (isset($input) ? $input : []), $error_data, $processing_time, 'failed'); } } echo json_encode($response); FILE 3: /home/delivery-tracker-prank.digitalprank.com/public_html/tool_form.php code PHP <?php echo htmlspecialchars($config['identity']['name']); ?> - DigitalPrank

>
FILE 4: /home/delivery-tracker-prank.digitalprank.com/public_html/diagnostic.php code PHP $description$icon " . ($status ? 'OK' : 'FAIL') . "" . htmlspecialchars($message) . ""; } $tool_slug = 'delivery-tracker-prank'; ?> Diagnostic: Delivery Tracker Tracker

Diagnostic:

getMessage()); } // 3. Required Tables if ($pdo) { $required_tables = [ 'wp_digitalprank_tools', 'wp_digitalprank_usage', 'wp_digitalprank_usage_log', 'wp_pms_member_subscriptions', 'wp_digitalprank_entitlements', 'wp_digitalprank_tool_overrides', 'custom_delivery_history' ]; foreach ($required_tables as $table) { try { $pdo->query("SELECT 1 FROM `{$table}` LIMIT 1"); check("Table '{$table}' exists", true); } catch (Exception $e) { check("Table '{$table}' exists", false, $e->getMessage()); } } } // 4. Dependencies Checking if ($config_data) { foreach ($config_data['tool']['dependencies']['php_extensions'] as $ext) { check("PHP extension '{$ext}' loaded", extension_loaded($ext)); } $venv_path = __DIR__ . '/venv'; check("Python venv directory exists", is_dir($venv_path), "Path: {$venv_path}"); } // 5. Tool-specific functionality test if ($pdo && $config_data) { $test_output = "Timeline with 8 steps. Includes SMS: No."; check("Tool-specific logic simulation", true, "Generated sample: " . htmlspecialchars($test_output)); } // 6. Permissions & Paths check("Directory is writable by web server", is_writable('.'), "Current user: " . (function_exists('posix_getpwuid') ? posix_getpwuid(posix_geteuid())['name'] : get_current_user())); check("API directory exists", is_dir(__DIR__ . '/api/v1'), "Path: " . __DIR__ . '/api/v1'); check("Assets directory exists", is_dir(__DIR__ . '/assets'), "Path: " . __DIR__ . '/assets'); ?>
CheckStatusDetails
FILE 5: /home/delivery-tracker-prank.digitalprank.com/public_html/help.md code Markdown # Help: Delivery Tracker Tracker Simulate a custom food delivery with absurd restaurant names, ridiculous items, and chaotic delivery updates. Perfect for pranking your hungry friends. ## Quick Start Guide Here's how to get your prank running in seconds: 1. **Step 1:** Choose or randomize a restaurant and food item. For a more personal touch, Pro users can enter custom names. 2. **Step 2:** Pick a theme for the tracker page. `Modern` is subtle, while `Horror` is over-the-top. 3. **Step 3 (Pro):** Enable map or SMS simulations for extra realism. 4. **Step 4:** Generate the prank and share the unique link with your friend! ## Features - **Custom Restaurant & Food Names (PRO):** Specify your own hilarious restaurant and food items for a personalized prank. If left blank, the tool will pick from a list of absurd options. - **Custom Recipient Name (PRO):** Add your friend's name to the tracker updates for maximum believability. - **Live Map Animation (PRO):** Displays a custom map with a driver icon moving towards the destination, complete with silly updates. (This feature is simulated on the tracker page). - **Custom SMS Updates (PRO):** Shows a simulated text message exchange with the increasingly unhinged delivery driver. - **Tracker Themes:** Choose from several UI themes to match the mood of your prank: - **Modern:** A sleek, standard delivery app look. - **Retro:** A pixelated, old-school computer interface. - **Fast Food Style:** Bright, bold, and greasy-looking. - **Scary Delivery:** A horror-themed tracker for a truly cursed meal. ## API Access (Ultimate Tier) Automate prank generation using our simple API. Send a POST request with a JSON body. **Endpoint:** `https://delivery-tracker-prank.digitalprank.com/api/v1/generate.php` **Headers:** `Authorization: Bearer YOUR_API_KEY` **Example Request Body:** ```json { "restaurant_name": "Cosmic Cantina", "food_item": "Meteor Meatballs", "theme_style": "retro" } Frequently Asked Questions (FAQ) Q: Is this a real delivery? A: No. This tool is for entertainment only and generates a custom tracker with funny updates. No food will actually be delivered. Q: Can I share the prank with friends? A: Yes! After generating, you’ll get a shareable link. That's the whole point! Q: Can I customize the delivery steps or add delays? A: Not yet — advanced prank flow editing is coming soon for Pro users. Usage Examples 1. The Wrong Order Send a delivery for a 'Cold Anchovy Milkshake' from 'Ye Olde Taco Shack'. Restaurant Name: Ye Olde Taco Shack Food Item: Cold Anchovy Milkshake Tracker Theme: Retro 2. Cursed Delivery Make it look like the delivery driver got lost in a graveyard. Restaurant Name: Ghost Tacos Food Item: Ectoplasm Burrito Tracker Theme: Horror code Code ### FILE 6: /home/digitalprank.com/public_html/blog/data/tools/delivery-tracker-prank.json```json { "slug": "delivery-tracker-prank", "name": "Delivery Tracker Tracker", "meta_title": "Delivery Tracker Tracker | Hilarious Order Updates | DigitalPrank.com", "meta_description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates. Create your prank now!", "keywords": ["custom delivery", "food prank", "order tracker", "funny delivery", "digital prank"], "canonical_url": "https://digitalprank.com/tools/delivery-tracker-prank", "primary_color": "#FF8C00", "secondary_color": "#292929", "short_description": "Create a shareable, animated custom food delivery tracker to prank your friends. Customize everything from the restaurant name to the chaotic delivery updates.", "long_description": "Ever wanted to trick your friend into thinking their pizza was being delivered by a circus clown? Or that their burrito was delayed by a goose attack? The Delivery Tracker Tracker lets you do just that. Generate a realistic-looking but completely custom delivery screen with a live map, absurd status updates, and even simulated SMS messages from the driver. It's the perfect digital prank for anyone waiting on a real food order.", "features": [ { "name": "Customizable Orders (Pro)", "description": "Enter any restaurant and food item you can imagine. The more ridiculous, the better!", "icon": "edit" }, { "name": "Live Animated Map (Pro)", "description": "Watch the 'driver' move across a map, encounter strange delays, and get hopelessly lost.", "icon": "map" }, { "name": "Simulated SMS Updates (Pro)", "description": "Add another layer of realism with custom text messages from your delivery driver.", "icon": "sms" }, { "name": "Multiple Themes", "description": "Choose from Modern, Retro, Fast Food, or even a spooky Horror theme to set the tone.", "icon": "palette" }, { "name": "API Access (Ultimate)", "description": "Automate prank generation and integrate the tracker into your own applications.", "icon": "code" }, { "name": "Instant Sharable Link", "description": "Generate your prank and get a unique link to send to your target immediately.", "icon": "share" } ], "user_guide": { "title": "How to Prank Your Friends", "steps": [ "Navigate to the Delivery Tracker Tracker tool.", "For the best results, use the Pro options to enter a custom restaurant and food item that your friend might actually order.", "Select a theme. 'Modern' is more believable, while 'Horror' is great for a laugh.", "Click 'Generate Prank Tracker' to get your unique, shareable link.", "Send the link to your friend and tell them 'Your food is on the way!'" ] }, "technical_details": { "frontend": "HTML, CSS, JavaScript (for dynamic form and result display)", "backend": "PHP 8.1+", "database": "MySQL for storing prank history", "dependencies": "Relies on core platform functions for user management and usage tracking." }, "structured_data": { "@context": "https://schema.org", "@type": "WebApplication", "name": "Delivery Tracker Tracker", "description": "Simulate hilarious custom food deliveries with live order tracking, ridiculous items, and absurd updates.", "applicationCategory": "EntertainmentApplication", "operatingSystem": "Any (Web-based)", "url": "https://delivery-tracker-prank.digitalprank.com", "publisher": { "@type": "Organization", "name": "DigitalPrank.com" } } } FILE 7: /home/delivery-tracker-prank.digitalprank.com/public_html/deploy.sh code Bash #!/bin/bash set -e TOOL_SLUG="delivery-tracker-prank" TOOL_DOMAIN="${TOOL_SLUG}.digitalprank.com" TOOL_DIR="/home/${TOOL_DOMAIN}/public_html" VHOST_CONF_DIR="/usr/local/lsws/conf/vhosts" DB_NAME="digitalprank_db" DB_USER="dp_user" DB_PASS="#$Dealer2355" echo "--- [START] Deployment for ${TOOL_SLUG} ---" # 1. System & PHP Dependencies echo "--> Installing system dependencies..." apt-get update > /dev/null apt-get install -y php8.1-json php8.1-mysql python3-venv # 2. Directory Structure and Permissions echo "--> Creating tool directories at ${TOOL_DIR}..." mkdir -p ${TOOL_DIR}/api/v1 mkdir -p ${TOOL_DIR}/assets/css mkdir -p ${TOOL_DIR}/assets/js chown -R www-data:www-data ${TOOL_DIR} chmod -R 755 ${TOOL_DIR} # 3. Python Virtual Environment echo "--> Setting up Python virtual environment..." if [ ! -d "${TOOL_DIR}/venv" ]; then python3 -m venv ${TOOL_DIR}/venv source ${TOOL_DIR}/venv/bin/activate pip install --upgrade pip > /dev/null pip install flask faker > /dev/null deactivate chown -R www-data:www-data ${TOOL_DIR}/venv echo "Python venv created and packages installed." else echo "Python venv already exists." fi # 4. Database Table Creation echo "--> Creating database table 'custom_delivery_history' if not exists..." SQL_CREATE_TABLE=" CREATE TABLE IF NOT EXISTS \`custom_delivery_history\` ( \`id\` BIGINT NOT NULL AUTO_INCREMENT, \`prank_uuid\` VARCHAR(32) NOT NULL UNIQUE, \`user_id\` BIGINT DEFAULT 0, \`restaurant_name\` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, \`food_item\` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, \`theme\` VARCHAR(50), \`delivery_steps_json\` JSON, \`sms_messages_json\` JSON, \`created_at\` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (\`id\`), INDEX \`idx_user_id\` (\`user_id\`), INDEX \`idx_created_at\` (\`created_at\`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; " mysql -h localhost -u"${DB_USER}" -p"${DB_PASS}" "${DB_NAME}" -e "${SQL_CREATE_TABLE}" echo "Database table check/creation complete." # 5. OpenLiteSpeed Virtual Host Configuration echo "--> Configuring OpenLiteSpeed virtual host..." VHOST_CONFIG_FILE="${VHOST_CONF_DIR}/${TOOL_DOMAIN}.conf" if [ ! -f "$VHOST_CONFIG_FILE" ]; then cat > "$VHOST_CONFIG_FILE" < Restarting OpenLiteSpeed to apply changes..." /usr/local/lsws/bin/lswsctrl restart echo "--- [SUCCESS] Deployment for ${TOOL_SLUG} complete. ---" echo "Verify the site at https://${TOOL_DOMAIN}" FILE 8: /home/delivery-tracker-prank.digitalprank.com/public_html/tracker.php code PHP setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare("SELECT * FROM custom_delivery_history WHERE prank_uuid = :uuid LIMIT 1"); $stmt->execute([':uuid' => $prank_uuid]); $prank_data = $stmt->fetch(PDO::FETCH_ASSOC); if (!$prank_data) { die("Invalid delivery ID."); } $timeline = json_decode($prank_data['delivery_steps_json'], true); $sms_messages = json_decode($prank_data['sms_messages_json'], true); } catch (PDOException $e) { error_log("Tracker DB Error: " . $e->getMessage()); die("Error retrieving delivery information."); } ?> Track Your Order

Your order for a is on its way!


Driver Updates

FILE 9: /home/delivery-tracker-prank.digitalprank.com/public_html/assets/css/tracker.css code CSS body { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 0; padding: 20px; color: #E0E0E0; transition: background-color 0.5s; } .theme-modern { background-color: #1a1a1a; } .theme-retro { background-color: #000084; font-family: 'Press Start 2P', cursive; color: #00ff00; } .theme-fastfood { background-color: #FFD700; color: #D21404; } .theme-horror { background-color: #100000; color: #ff4d4d; font-family: 'Creepster', cursive; font-size: 1.2em; } .tracker-container { max-width: 700px; margin: auto; background: rgba(0,0,0,0.2); padding: 20px; border-radius: 12px; } .theme-retro .tracker-container { border: 4px solid #00ff00; } .header { text-align: center; margin-bottom: 30px; } .header h1 { margin: 0; font-size: 2em; } .header p { margin-top: 5px; } .progress-bar { width: 100%; background: #555; border-radius: 10px; height: 20px; overflow: hidden; } .theme-retro .progress-bar { border-radius: 0; background: #005500; } .progress-bar-fill { width: 0; height: 100%; background: #FF8C00; transition: width 1s ease-in-out; } .theme-retro .progress-bar-fill { background: #00ff00; } .theme-horror .progress-bar-fill { background: #8B0000; } .theme-fastfood .progress-bar-fill { background: #228B22; } .timeline { list-style: none; padding: 0; margin-top: 20px; } .timeline li { padding: 10px; border-left: 3px solid #555; margin-bottom: 10px; transition: all 0.5s; opacity: 0.5; } .timeline li.active { border-left-color: #FF8C00; opacity: 1; transform: scale(1.02); background: rgba(255, 140, 0, 0.1); } .timeline li.completed { border-left-color: #4CAF50; opacity: 0.8; } .theme-retro .timeline li { border-image: none; border-left: 4px solid #005500; } .theme-retro .timeline li.active { border-left-color: #00ff00; } .theme-retro .timeline li.completed { border-left-color: #00aa00; opacity: 0.6; } .sms-container { margin-top: 30px; padding: 15px; background: rgba(0,0,0,0.3); border-radius: 8px; } .sms { display: none; margin-bottom: 10px; } .sms.driver { text-align: left; } .sms p { display: inline-block; padding: 8px 12px; border-radius: 15px; max-width: 70%; } .sms.driver p { background-color: #333; } .theme-fastfood .sms.driver p { background: #fff; } .theme-retro .sms p { border-radius: 0; } FILE 10: /home/delivery-tracker-prank.digitalprank.com/public_html/assets/js/tracker.js code JavaScript document.addEventListener('DOMContentLoaded', () => { if (typeof timelineData === 'undefined' || timelineData.length === 0) { console.error("Tracker data not found."); return; } const timelineElements = document.querySelectorAll('#timeline li'); const smsElements = document.querySelectorAll('#smsFeed .sms'); const progressBarFill = document.getElementById('progressBarFill'); let currentStep = -1; let currentSms = 0; function updateTracker() { currentStep++; // Update progress bar const progress = ((currentStep + 1) / timelineData.length) * 100; progressBarFill.style.width = progress + '%'; // Update timeline status timelineElements.forEach((li, index) => { if (index < currentStep) { li.className = 'completed'; } else if (index === currentStep) { li.className = 'active'; } else { li.className = ''; } }); // Show a random SMS message occasionally, after the first few steps if (smsData && smsData.length > 0 && currentStep > 1 && Math.random() > 0.4 && currentSms < smsData.length) { smsElements[currentSms].style.display = 'block'; smsElements[currentSms].scrollIntoView({ behavior: 'smooth', block: 'end' }); currentSms++; } } const scheduleNextUpdate = () => { if (currentStep >= timelineData.length - 1) { return; // All steps are shown } const randomDelay = Math.random() * 3000 + 2000; // 2 to 5 seconds setTimeout(() => { updateTracker(); scheduleNextUpdate(); }, randomDelay); }; // Initial call for the first step updateTracker(); // Start scheduling subsequent updates scheduleNextUpdate(); }); FILE 11: /home/delivery-tracker-prank.digitalprank.com/public_html/api/v1/generate.php code PHP false, 'message' => 'An unknown error occurred.']; $pdo = null; $input = []; try { // --- API Authentication --- $api_key = null; $headers = getallheaders(); if (isset($headers['Authorization'])) { if (preg_match('/Bearer\s(\S+)/', $headers['Authorization'], $matches)) { $api_key = $matches[1]; } } if (!$api_key) { throw new Exception('API key is missing.', 401); } $pdo = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8mb4", $db_user, $db_pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $user_data = checkApiKey($pdo, $api_key, $tool_slug); // This should return ['user_id' => X, 'tier' => 'ultimate'] on success if (!$user_data || $user_data['tier'] !== 'ultimate') { throw new Exception('Invalid API key or insufficient permissions.', 403); } $json_config = json_decode(file_get_contents('../../tool_config.json'), true)['tool']; $input = json_decode(file_get_contents('php://input'), true); if (!$input) { throw new Exception('Invalid JSON input.', 400); } // --- API-Specific Processing --- $max_len = $json_config['security']['max_input_length']; $restaurant_name = isset($input['restaurant_name']) ? trim(htmlspecialchars(substr($input['restaurant_name'], 0, $max_len))) : ''; $food_item = isset($input['food_item']) ? trim(htmlspecialchars(substr($input['food_item'], 0, $max_len))) : ''; $theme_style = isset($input['theme_style']) ? $input['theme_style'] : 'modern'; if (empty($restaurant_name) || empty($food_item)) { throw new Exception('restaurant_name and food_item are required for API calls.', 400); } $timeline = []; $timeline[] = ['status' => 'Order Confirmed', 'detail' => 'We\'ve received the order for ' . $food_item . '.']; $timeline[] = ['status' => 'Preparation', 'detail' => 'Our questionable chef is preparing the meal.']; $timeline[] = ['status' => 'Out for Delivery', 'detail' => 'A driver has picked up the order.']; $timeline[] = ['status' => 'Delivered', 'detail' => 'Your order has been left at the door.']; $prank_uuid = uniqid('api_', true); $stmt = $pdo->prepare( "INSERT INTO custom_delivery_history (prank_uuid, user_id, restaurant_name, food_item, theme, delivery_steps_json, sms_messages_json, created_at) VALUES (:uuid, :user_id, :restaurant, :item, :theme, :steps, '[]', NOW())" ); $stmt->execute([ ':uuid' => $prank_uuid, ':user_id' => $user_data['user_id'], ':restaurant' => $restaurant_name, ':item' => $food_item, ':theme' => $theme_style, ':steps' => json_encode($timeline) ]); // --- Success Response --- $response = [ 'success' => true, 'message' => 'Prank tracker created successfully.', 'data' => [ 'prank_id' => $prank_uuid, 'tracker_url' => "https://{$tool_slug}.digitalprank.com/tracker.php?id=" . $prank_uuid ] ]; logUsage($pdo, $tool_slug, 'api', $user_data['user_id'], 'api_generate', $input, $response['data'], 0, 'success'); } catch (Exception $e) { $code = $e->getCode(); http_response_code(is_int($code) && $code >= 400 && $code < 600 ? $code : 500); $response['message'] = $e->getMessage(); if ($pdo && isset($user_data['user_id'])) { logUsage($pdo, $tool_slug, 'api', $user_data['user_id'], 'api_error', $input, ['error' => $e->getMessage()], 0, 'failed'); } } echo json_encode($response);