__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* WooCommerce Marketplace.
*/
namespace Automattic\WooCommerce\Internal\Admin;
use Automattic\WooCommerce\Utilities\FeaturesUtil;
use Automattic\WooCommerce\Internal\Features\FeaturesController;
use WC_Helper_Options;
use WC_Helper_Updater;
/**
* Contains backend logic for the Marketplace feature.
*/
class Marketplace {
const MARKETPLACE_TAB_SLUG = 'woo';
/**
* Class initialization, to be executed when the class is resolved by the container.
*
* @internal
*/
final public function init() {
add_action( 'init', array( $this, 'on_init' ) );
}
/**
* Hook into WordPress on init.
*/
public function on_init() {
if ( false === FeaturesUtil::feature_is_enabled( 'marketplace' ) ) {
/** Feature controller instance @var FeaturesController $feature_controller */
$feature_controller = wc_get_container()->get( FeaturesController::class );
$feature_controller->change_feature_enable( 'marketplace', true );
}
add_action( 'admin_menu', array( $this, 'register_pages' ), 70 );
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
// Add a Woo Marketplace link to the plugin install action links.
add_filter( 'install_plugins_tabs', array( $this, 'add_woo_plugin_install_action_link' ) );
add_action( 'install_plugins_pre_woo', array( $this, 'maybe_open_woo_tab' ) );
}
/**
* Registers report pages.
*/
public function register_pages() {
if ( ! function_exists( 'wc_admin_register_page' ) ) {
return;
}
$marketplace_pages = $this->get_marketplace_pages();
foreach ( $marketplace_pages as $marketplace_page ) {
if ( ! is_null( $marketplace_page ) ) {
wc_admin_register_page( $marketplace_page );
}
}
}
/**
* Get report pages.
*/
public function get_marketplace_pages() {
$marketplace_pages = array(
array(
'id' => 'woocommerce-marketplace',
'parent' => 'woocommerce',
'title' => __( 'Extensions', 'woocommerce' ) . $this->badge(),
'page_title' => __( 'Extensions', 'woocommerce' ),
'path' => '/extensions',
),
);
/**
* The marketplace items used in the menu.
*
* @since 8.0
*/
return apply_filters( 'woocommerce_marketplace_menu_items', $marketplace_pages );
}
private function badge(): string {
$option = WC_Helper_Options::get( 'my_subscriptions_tab_loaded' );
if ( ! $option ) {
return WC_Helper_Updater::get_updates_count_html();
}
return '';
}
/**
* Enqueue update script.
*
* @param string $hook_suffix The current admin page.
*/
public function enqueue_scripts( $hook_suffix ) {
// phpcs:disable WordPress.Security.NonceVerification.Recommended
if ( 'woocommerce_page_wc-admin' !== $hook_suffix ) {
return;
}
if ( ! isset( $_GET['path'] ) || '/extensions' !== $_GET['path'] ) {
return;
}
// Enqueue WordPress updates script to enable plugin and theme installs and updates.
wp_enqueue_script( 'updates' );
// phpcs:enable WordPress.Security.NonceVerification.Recommended
}
/**
* Add a Woo Marketplace link to the plugin install action links.
*
* @param array $tabs Plugins list tabs.
* @return array
*/
public function add_woo_plugin_install_action_link( $tabs ) {
$tabs[ self::MARKETPLACE_TAB_SLUG ] = 'WooCommerce Marketplace';
return $tabs;
}
/**
* Open the Woo tab when the user clicks on the Woo link in the plugin installer.
*/
public function maybe_open_woo_tab() {
// phpcs:disable WordPress.Security.NonceVerification.Recommended
if ( ! isset( $_GET['tab'] ) || self::MARKETPLACE_TAB_SLUG !== $_GET['tab'] ) {
return;
}
// phpcs:enable WordPress.Security.NonceVerification.Recommended
$woo_url = add_query_arg(
array(
'page' => 'wc-admin',
'path' => '/extensions',
'tab' => 'extensions',
'ref' => 'plugins',
),
admin_url( 'admin.php' )
);
wc_admin_record_tracks_event( 'marketplace_plugin_install_woo_clicked' );
wp_safe_redirect( $woo_url );
exit;
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Agentic | Folder | 0775 |
|
|
| BlockTemplates | Folder | 0775 |
|
|
| EmailImprovements | Folder | 0775 |
|
|
| EmailPreview | Folder | 0775 |
|
|
| Emails | Folder | 0775 |
|
|
| ImportExport | Folder | 0775 |
|
|
| Logging | Folder | 0775 |
|
|
| Marketing | Folder | 0775 |
|
|
| Notes | Folder | 0775 |
|
|
| Onboarding | Folder | 0775 |
|
|
| Orders | Folder | 0775 |
|
|
| ProductForm | Folder | 0775 |
|
|
| ProductReviews | Folder | 0775 |
|
|
| RemoteFreeExtensions | Folder | 0775 |
|
|
| Schedulers | Folder | 0775 |
|
|
| Settings | Folder | 0775 |
|
|
| Suggestions | Folder | 0775 |
|
|
| WCPayPromotion | Folder | 0775 |
|
|
| ActivityPanels.php | File | 1.58 KB | 0664 |
|
| Analytics.php | File | 11.73 KB | 0664 |
|
| CategoryLookup.php | File | 7.99 KB | 0664 |
|
| Coupons.php | File | 2.86 KB | 0664 |
|
| CouponsMovedTrait.php | File | 2.15 KB | 0664 |
|
| CustomerEffortScoreTracks.php | File | 17.65 KB | 0664 |
|
| Events.php | File | 8.56 KB | 0664 |
|
| FeaturePlugin.php | File | 6.53 KB | 0664 |
|
| Homescreen.php | File | 8.65 KB | 0664 |
|
| Loader.php | File | 19.18 KB | 0664 |
|
| Marketing.php | File | 6.29 KB | 0664 |
|
| Marketplace.php | File | 3.89 KB | 0664 |
|
| MobileAppBanner.php | File | 956 B | 0664 |
|
| RemoteInboxNotifications.php | File | 932 B | 0664 |
|
| Settings.php | File | 13.25 KB | 0664 |
|
| ShippingLabelBanner.php | File | 4.67 KB | 0664 |
|
| ShippingLabelBannerDisplayRules.php | File | 3.63 KB | 0664 |
|
| SiteHealth.php | File | 2.31 KB | 0664 |
|
| Survey.php | File | 768 B | 0664 |
|
| SystemStatusReport.php | File | 5.85 KB | 0664 |
|
| Translations.php | File | 11.66 KB | 0664 |
|
| WCAdminAssets.php | File | 17.58 KB | 0664 |
|
| WCAdminSharedSettings.php | File | 2.08 KB | 0664 |
|
| WCAdminUser.php | File | 5.26 KB | 0664 |
|
| WcPayWelcomePage.php | File | 6.33 KB | 0664 |
|