# tier-pricing-table/2.0/src/Admin/Admin.php

Tiered Pricing Table for WooCommerce, version 2.0. 108 lines.

- Page: https://pluginprobe.com/plugins/tier-pricing-table/2.0/code/src/Admin/Admin.php
- Raw: https://pluginprobe.com/plugins/tier-pricing-table/2.0/raw/src/Admin/Admin.php
- Modified: 2019-03-18T08:11:10+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/tier-pricing-table/2.0/code/src/Admin/Admin.php#L10-L20`.

```php
<?php

namespace TierPricingTable\Admin;

use  Premmerce\SDK\V2\FileManager\FileManager ;
use  TierPricingTable\Admin\ProductManagers\SimpleProductManager ;
use  TierPricingTable\Admin\ProductManagers\VariationProductManager ;
use  TierPricingTable\Freemius ;
use  TierPricingTable\Settings\Settings ;
use  TierPricingTable\TierPricingTablePlugin ;
/**
 * Class Admin
 *
 * @package TierPricingTable\Admin
 */
class Admin
{
    /**
     * @var FileManager
     */
    private  $fileManager ;
    /**
     * @var Settings
     */
    private  $settings ;
    /**
     * @var array
     */
    private  $managers ;
    /**
     * @var Freemius
     */
    private  $licence ;
    /**
     * Admin constructor.
     *
     * Register menu items and handlers
     *
     * @param FileManager $fileManager
     * @param Freemius $licence
     * @param Settings $settings
     */
    public function __construct( FileManager $fileManager, Freemius $licence, Settings $settings )
    {
        $this->fileManager = $fileManager;
        $this->settings = $settings;
        $this->licence = $licence;
        $this->initManagers();
        add_action( 'admin_enqueue_scripts', [ $this, 'enqueueAssets' ] );
        if ( get_transient( 'tier_pricing_table_activated' ) ) {
            add_action( 'admin_notices', [ $this, 'showActivationMessage' ] );
        }
        if ( $this->licence->isFree() ) {
            add_action( 'woocommerce_settings_' . Settings::SETTINGS_PAGE, function () {
                $this->fileManager->includeTemplate( 'admin/upgrade-message.php', [
                    'upgradeLink' => $this->licence->getUpgradeLink(),
                ] );
            } );
        }
    }
    
    public function initManagers()
    {
        $this->managers = [
            SimpleProductManager::class    => new SimpleProductManager( $this->fileManager, $this->settings, $this->licence ),
            VariationProductManager::class => new VariationProductManager( $this->fileManager, $this->settings, $this->licence ),
        ];
    }
    
    /**
     * Show message about activation plugin and advise next step
     */
    public function showActivationMessage()
    {
        $link = $this->settings->getLink();
        $this->fileManager->includeTemplate( 'admin/activation-message.php', [
            'link' => $link,
        ] );
        delete_transient( 'tiered_pricing_table_activated' );
    }
    
    /**
     * Register assets on product create/update page
     *
     * @param $page
     */
    public function enqueueAssets( $page )
    {
        global  $post ;
        
        if ( ($page == 'post.php' || ($page = 'post_new.php')) && $post && $post->post_type == 'product' ) {
            wp_enqueue_script(
                'tier-pricing-table-admin-js',
                $this->fileManager->locateAsset( 'admin/main.js' ),
                'jquery',
                TierPricingTablePlugin::VERSION
            );
            wp_enqueue_style(
                'tier-pricing-table-admin-css',
                $this->fileManager->locateAsset( 'admin/style.css' ),
                null,
                TierPricingTablePlugin::VERSION
            );
        }
    
    }

}
```
