403Webshell
Server IP : 104.21.93.192  /  Your IP : 216.73.216.73
Web Server : LiteSpeed
System : Linux premium900.web-hosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64
User : redwjova ( 1790)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : OFF |  Pkexec : OFF
Directory :  /home/redwjova/near.llc/wp-content/plugins/extendify/src/Recommendations/selectors/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/redwjova/near.llc/wp-content/plugins/extendify/src/Recommendations/selectors/plugin-search.js
const { products = [] } = window.extRecommendationsData;

export const selectIsLoading = (state) =>
	state.isSearchPluginsLoading || state.isInstalledPluginsLoading;

export const selectIsError = (state) =>
	state.isSearchPluginsError || state.isInstalledPluginsError;

export const selectAllRecommendations = (state) => {
	const triggeredBySlug = new Map();
	const { searchPlugins, installedPlugins, searchPluginsLimit } = state;
	const activePlugins = installedPlugins.filter(
		({ status }) => status === 'active',
	);
	const limitedSearchPlugins = searchPlugins.slice(0, searchPluginsLimit);

	// We filter out products that:
	const recommendations = products
		// 1. Are not enabled for this slot.
		.filter((product) => product.slots.includes('plugin-search'))
		// 2. Are not triggering a match in plugin search results.
		.filter((product) =>
			product.pluginSearchTriggerSlugs.some((triggerSlug) => {
				// We only compare against the results up to the set limit.
				const included = limitedSearchPlugins.includes(triggerSlug);
				if (included) {
					triggeredBySlug.set(product.slug, triggerSlug);
				}
				return included;
			}),
		)
		// 3. Are plugins and are already installed.
		.filter(
			(product) =>
				product.ctaType !== 'plugin' ||
				!installedPlugins.find(({ slug }) => slug === product.ctaPluginSlug),
		)
		// 4. Are excluded because a specified plugin is already active.
		.filter((product) =>
			product.pluginExclusions.every(
				(pluginExclusion) =>
					!activePlugins.find(({ slug }) => slug === pluginExclusion),
			),
		)
		// 5. Are excluded because a plugin dependency is not installed.
		.filter((product) =>
			product.pluginDependencies.every((pluginDependency) =>
				installedPlugins.find(({ slug }) => slug === pluginDependency),
			),
		)
		.filter(Boolean)
		.map((product) => ({
			...product,
			title: product.pluginSearchCustomTitle || product.title,
			description: product.pluginSearchCustomDescription || product.description,
			ctaContent: product.pluginSearchCustomCtaContent || product.ctaContent,
			triggerContent: triggeredBySlug.get(product.slug),
			triggerType: 'plugin-slug',
		}))
		// Sort recommendations based on the order of their trigger slugs in the search results.
		.sort(
			(a, b) =>
				limitedSearchPlugins.indexOf(a.triggerContent) -
				limitedSearchPlugins.indexOf(b.triggerContent),
		);

	return recommendations;
};

export const selectRecommendations = (state) => {
	const recommendations = selectAllRecommendations(state);
	return recommendations.slice(0, state.recommendationsLimit);
};

export const selectSearchPlugins = (state) =>
	state.searchPlugins.slice(0, state.searchPluginsLimit);

export const selectInstalledPlugins = (state) =>
	state.installedPlugins.map((plugin) => plugin.slug);

export const selectActivePlugins = (state) =>
	state.installedPlugins
		.filter((plugin) => plugin.status === 'active')
		.map((plugin) => plugin.slug);

Youez - 2016 - github.com/yon3zu
LinuXploit