PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.16
Yatra – Travel Booking & Tour Operator Software v3.0.16
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
← All changes | app/Core/Routing/PermalinkCanonical.php +24 -20 3.0.3 → 3.0.16 View file →
@@ -110,11 +110,11 @@
110 110 }
111 111
112 112 foreach (
113 113 [
114 - SettingsService::getString('destination_base', 'destination'),
115 - SettingsService::getString('activity_base', 'activity'),
116 - SettingsService::getString('trip_category_base', 'trip-category'),
114 + SettingsService::getDestinationBase(),
115 + SettingsService::getActivityBase(),
116 + SettingsService::getTripCategoryBase(),
117 117 ] as $base
118 118 ) {
119 119 $bk = preg_replace('/[^a-z0-9_-]/i', '', $base) ?: '';
120 120 if ($bk === '' || $bk === $tripSlugKey) {
@@ -171,9 +171,11 @@
171 171 $rem = isset($_GET['yatra_remaining_checkout']) ? (string) wp_unslash($_GET['yatra_remaining_checkout']) : '';
172 172 if ($rem !== '') {
173 173 $t = preg_replace('/[^a-zA-Z0-9_-]/', '', $rem) ?? '';
174 174 if ($t !== '') {
175 - return trailingslashit(home_url('/remaining-checkout/' . $t . '/'));
175 + $pb = SettingsService::getPermalinkBases();
176 +
177 + return trailingslashit(home_url('/' . $pb['remaining_checkout_prefix'] . '/' . $t . '/'));
176 178 }
177 179 }
178 180
179 181 $verify = isset($_GET['yatra_verify_email']) ? (string) wp_unslash($_GET['yatra_verify_email']) : '';
@@ -179,9 +181,11 @@
179 181 $verify = isset($_GET['yatra_verify_email']) ? (string) wp_unslash($_GET['yatra_verify_email']) : '';
180 182 if ($verify !== '') {
181 183 $t = preg_replace('/[^a-zA-Z0-9_-]/', '', $verify) ?? '';
182 184 if ($t !== '') {
183 - return trailingslashit(home_url('/yatra-verify-email/' . $t . '/'));
185 + $pb = SettingsService::getPermalinkBases();
186 +
187 + return trailingslashit(home_url('/' . $pb['email_verification_prefix'] . '/' . $t . '/'));
184 188 }
185 189 }
186 190
187 191 $trip_base = SettingsService::getTripBase();
@@ -186,11 +190,11 @@
186 190
187 191 $trip_base = SettingsService::getTripBase();
188 192 $booking_base = SettingsService::getBookingBase();
189 193 $account_base = SettingsService::getAccountBase();
190 - $dest_base = SettingsService::getString('destination_base', 'destination');
191 - $act_base = SettingsService::getString('activity_base', 'activity');
192 - $cat_base = SettingsService::getString('trip_category_base', 'trip-category');
194 + $dest_base = SettingsService::getDestinationBase();
195 + $act_base = SettingsService::getActivityBase();
196 + $cat_base = SettingsService::getTripCategoryBase();
193 197
194 198 $rawPage = isset($_GET['yatra_page']) ? trim(wp_unslash((string) $_GET['yatra_page'])) : '';
195 199 $page = $rawPage !== '' ? (preg_replace('/[^a-z0-9_-]/i', '', $rawPage) ?? '') : '';
196 200
@@ -196,13 +200,13 @@
196 200
197 201 $tripSlugKey = preg_replace('/[^a-z0-9_-]/i', '', $trip_base) ?: 'trip';
198 202 $tripSlug = '';
199 203 if (isset($_GET[$tripSlugKey])) {
200 - $tripSlug = sanitize_title(wp_unslash((string) $_GET[$tripSlugKey]));
204 + $tripSlug = \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET[$tripSlugKey]));
201 205 } elseif (isset($_GET['yatra_trip'])) {
202 - $tripSlug = sanitize_title(wp_unslash((string) $_GET['yatra_trip']));
206 + $tripSlug = \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET['yatra_trip']));
203 207 } elseif (isset($_GET['yatra_trip_slug'])) {
204 - $tripSlug = sanitize_title(wp_unslash((string) $_GET['yatra_trip_slug']));
208 + $tripSlug = \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET['yatra_trip_slug']));
205 209 }
206 210
207 211 if ($page === '' && $tripSlug !== '') {
208 212 return trailingslashit(home_url('/' . $trip_base . '/' . $tripSlug . '/'));
@@ -224,12 +228,12 @@
224 228 continue;
225 229 }
226 230 $s = '';
227 231 if (isset($_GET[$bk])) {
228 - $s = sanitize_title(wp_unslash((string) $_GET[$bk]));
232 + $s = \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET[$bk]));
229 233 }
230 234 if ($s === '' && isset($_GET[$legacySlugKey])) {
231 - $s = sanitize_title(wp_unslash((string) $_GET[$legacySlugKey]));
235 + $s = \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET[$legacySlugKey]));
232 236 }
233 237 if ($s !== '') {
234 238 return trailingslashit(home_url('/' . $tbase . '/' . $s . '/'));
235 239 }
@@ -258,9 +262,9 @@
258 262 return function_exists('yatra_get_trip_listing_url') ? yatra_get_trip_listing_url() : trailingslashit(home_url('/' . $trip_base . '/'));
259 263 }
260 264
261 265 if ($page === $booking_base && !SettingsService::useCustomBookingPage()) {
262 - $tripParam = isset($_GET['trip']) ? sanitize_title(wp_unslash((string) $_GET['trip'])) : '';
266 + $tripParam = isset($_GET['trip']) ? \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET['trip'])) : '';
263 267 if ($tripParam !== '') {
264 268 return function_exists('yatra_get_booking_url') ? yatra_get_booking_url($tripParam) : trailingslashit(home_url('/' . $booking_base . '/' . $tripParam . '/'));
265 269 }
266 270
@@ -271,9 +275,9 @@
271 275 $page_id = SettingsService::getBookingPageId();
272 276 if ($page_id > 0) {
273 277 $url = get_permalink((int) $page_id);
274 278 if ($url) {
275 - $tripParam = isset($_GET['trip']) ? sanitize_title(wp_unslash((string) $_GET['trip'])) : '';
279 + $tripParam = isset($_GET['trip']) ? \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET['trip'])) : '';
276 280 if ($tripParam !== '') {
277 281 return add_query_arg('trip', $tripParam, $url);
278 282 }
279 283
@@ -296,12 +300,12 @@
296 300 }
297 301 $bk = preg_replace('/[^a-z0-9_-]/i', '', $base) ?: '';
298 302 $slug = '';
299 303 if ($bk !== '' && isset($_GET[$bk])) {
300 - $slug = sanitize_title(wp_unslash((string) $_GET[$bk]));
304 + $slug = \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET[$bk]));
301 305 }
302 306 if ($slug === '' && isset($_GET[$legacySlugKey])) {
303 - $slug = sanitize_title(wp_unslash((string) $_GET[$legacySlugKey]));
307 + $slug = \Yatra\Helpers\SlugHelper::generate(wp_unslash((string) $_GET[$legacySlugKey]));
304 308 }
305 309 $url = trailingslashit(home_url('/' . $base . '/'));
306 310 if ($slug !== '') {
307 311 $url = trailingslashit(home_url('/' . $base . '/' . $slug . '/'));
@@ -401,11 +405,11 @@
401 405 */
402 406 private static function plainQueryKeysToStrip(): array
403 407 {
404 408 $tripKey = preg_replace('/[^a-z0-9_-]/i', '', SettingsService::getTripBase()) ?: 'trip';
405 - $destKey = preg_replace('/[^a-z0-9_-]/i', '', SettingsService::getString('destination_base', 'destination')) ?: 'destination';
406 - $actKey = preg_replace('/[^a-z0-9_-]/i', '', SettingsService::getString('activity_base', 'activity')) ?: 'activity';
407 - $catKey = preg_replace('/[^a-z0-9_-]/i', '', SettingsService::getString('trip_category_base', 'trip-category')) ?: 'trip-category';
409 + $destKey = preg_replace('/[^a-z0-9_-]/i', '', SettingsService::getDestinationBase()) ?: 'destination';
410 + $actKey = preg_replace('/[^a-z0-9_-]/i', '', SettingsService::getActivityBase()) ?: 'activity';
411 + $catKey = preg_replace('/[^a-z0-9_-]/i', '', SettingsService::getTripCategoryBase()) ?: 'trip-category';
408 412
409 413 return array_values(array_unique([
410 414 'yatra_page',
411 415 'yatra_trip',