PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.2.9
Yatra – Travel Booking & Tour Operator Software v3.0.2.9
3.0.16 3.0.15 3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 2.0.1 All 84 releases
yatra / app / Core / Handlers / TripPageHandler.php

TripPageHandler.php in Yatra – Travel Booking & Tour Operator Software 3.0.2.9, at app/Core/Handlers/TripPageHandler.php

61 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Yatra\Core\Handlers;
6
7 use Yatra\Controllers\SingleTripController;
8 use Yatra\Core\Assets\TripAssetManager;
9 use Yatra\Core\Template\TemplateRenderer;
10 use Yatra\Services\SettingsService;
11
12 /**
13 * Trip Page Handler
14 *
15 * Handles single trip page requests
16 */
17 class TripPageHandler extends BasePageHandler
18 {
19 /**
20 * Handle trip page request
21 *
22 * @param array $route_data Route data from RouteMatcher
23 * @return bool True if handled successfully
24 */
25 public function handle(array $route_data): bool
26 {
27 $trip_slug = $route_data['slug'];
28 // Use SingleTripController to get prepared trip data
29 $controller = new SingleTripController();
30 $trip_data = $controller->getBySlug($trip_slug);
31
32 if (!$trip_data) {
33 $this->set404();
34 return false;
35 }
36
37 // Set up global trip object for template compatibility
38 global $trip;
39 $trip = $trip_data;
40
41 // Set up query vars for backward compatibility
42 $this->setQueryVars([
43 'yatra_trip_id' => $trip->id,
44 'yatra_trip' => $trip,
45 'yatra_trip_slug' => $trip_slug,
46 'yatra_page' => $route_data['base'] ?? SettingsService::getTripBase(),
47 ]);
48
49 // Create asset manager and render template
50 $asset_manager = new TripAssetManager();
51 $template_path = TemplateRenderer::getTemplatePath('single-trip');
52
53 // Render template with global $trip already set
54 if (!TemplateRenderer::render($template_path, [], $asset_manager)) {
55 return false;
56 }
57
58 return true;
59 }
60 }
61