403Webshell
Server IP : 104.26.3.156  /  Your IP : 216.73.216.185
Web Server : nginx/1.27.1
System : Linux us-1 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User : vinodai ( 3134)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /storage/v1396/videnn/public_html/wp-content/plugins/code-snippets/js/services/manage/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /storage/v1396/videnn/public_html/wp-content/plugins/code-snippets/js/services/manage/requests.ts
import { isNetworkAdmin } from '../../utils/screen'
import type { SnippetSchema } from '../../types/schema/SnippetSchema'
import type { Snippet, SnippetScope } from '../../types/Snippet'

export interface ResponseData<T = unknown> {
	success: boolean
	data?: T
}

export type SuccessCallback = (response: ResponseData) => void

const sendSnippetRequest = (query: string, onSuccess?: SuccessCallback) => {
	const request = new XMLHttpRequest()
	request.open('POST', window.ajaxurl, true)
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')

	request.onload = () => {
		const success = 200
		const errorStart = 400
		if (success > request.status || errorStart <= request.status) {
			return
		}

		console.info(request.responseText)
		onSuccess?.(<ResponseData> JSON.parse(request.responseText))
	}

	request.send(query)
}

/**
 * Update the data of a given snippet using AJAX
 * @param field
 * @param row
 * @param snippet
 * @param successCallback
 */
export const updateSnippet = (field: keyof Snippet, row: Element, snippet: Partial<Snippet>, successCallback?: SuccessCallback) => {
	const nonce = <HTMLInputElement | null> document.getElementById('code_snippets_ajax_nonce')
	const columnId = row.querySelector('.column-id')

	if (!nonce || !columnId?.textContent || !parseInt(columnId.textContent, 10)) {
		return
	}

	const updatedSnippet: Partial<SnippetSchema> = {
		id: parseInt(columnId.textContent, 10),
		shared_network: null !== /\bshared-network-snippet\b/.exec(row.className),
		network: snippet.shared_network ?? isNetworkAdmin(),
		scope: <SnippetScope | null> row.getAttribute('data-snippet-scope') ?? snippet.scope,
		...snippet
	}

	const queryString = `action=update_code_snippet&_ajax_nonce=${nonce.value}&field=${field}&snippet=${JSON.stringify(updatedSnippet)}`
	sendSnippetRequest(queryString, successCallback)
}

Youez - 2016 - github.com/yon3zu
LinuXploit