MOON
Server: Apache
System: Linux 54-179-220-51.cprapid.com 3.10.0-1160.144.1.el7.tuxcare.els4.x86_64 #1 SMP Tue Apr 7 08:40:40 UTC 2026 x86_64
User: hunarpak (1005)
PHP: 7.4.29
Disabled: NONE
Upload Files
File: /home/hunarpak/public_html/wp-content/plugins/tlp-portfolio/lib/classes/PortfolioInitRegister.php
<?php
/**
 * Init Register class.
 *
 * @package RT_Portfolio
 */

// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
	exit( 'This script cannot be accessed directly.' );
}

if ( ! class_exists( 'PortfolioInitRegister' ) ) :
	/**
	 * Init Register class.
	 */
	class PortfolioInitRegister {
		public function __construct() {
			// Add the team post type and taxonomies.
			add_action( 'init', [ $this, 'register' ] );
		}

		/**
		 * Initiate registrations of post type and taxonomies.
		 *
		 * @uses Portfolio_Post_Type_Registrations::register_post_type()
		 * @uses Portfolio_Post_Type_Registrations::register_taxonomy_category()
		 * @uses Portfolio_Post_Type_Registrations::register_taxonomy_tag()
		 */
		public function register() {
			$this->register_post_type();
			$this->register_taxonomy_category();
			$this->register_taxonomy_tag();
			$this->register_scPT();
			$this->registerScriptStyle();
		}

		/**
		 * Register the custom post type.
		 *
		 * @link http://codex.wordpress.org/Function_Reference/register_post_type
		 */
		protected function register_post_type() {
			global $TLPportfolio;
			$labels   = [
				'name'               => esc_html__( 'Portfolio', 'tlp-portfolio' ),
				'singular_name'      => esc_html__( 'Portfolio', 'tlp-portfolio' ),
				'add_new'            => esc_html__( 'Add Portfolio', 'tlp-portfolio' ),
				'all_items'          => esc_html__( 'All Portfolios', 'tlp-portfolio' ),
				'add_new_item'       => esc_html__( 'Add Portfolio', 'tlp-portfolio' ),
				'edit_item'          => esc_html__( 'Edit Portfolio', 'tlp-portfolio' ),
				'new_item'           => esc_html__( 'New Portfolio', 'tlp-portfolio' ),
				'view_item'          => esc_html__( 'View Portfolio', 'tlp-portfolio' ),
				'search_items'       => esc_html__( 'Search Portfolio', 'tlp-portfolio' ),
				'not_found'          => esc_html__( 'No Portfolios found', 'tlp-portfolio' ),
				'not_found_in_trash' => esc_html__( 'No Portfolios in the trash', 'tlp-portfolio' ),
			];
			$supports = [
				'title',
				'editor',
				'thumbnail',
				'page-attributes',
			];
			$args     = [
				'labels'              => $labels,
				'supports'            => $supports,
				'hierarchical'        => false,
				'public'              => true,
				'rewrite'             => [ 'slug' => $TLPportfolio->post_type_slug ],
				'show_ui'             => true,
				'show_in_menu'        => true,
				'menu_position'       => 20,
				'menu_icon'           => $TLPportfolio->assetsUrl . 'images/portfolio.png',
				'show_in_admin_bar'   => true,
				'show_in_nav_menus'   => true,
				'can_export'          => true,
				'has_archive'         => false,
				'exclude_from_search' => false,
				'publicly_queryable'  => true,
				'capability_type'     => 'page',
			];

			register_post_type( $TLPportfolio->post_type, $args );
			flush_rewrite_rules();
		}

		/**
		 * Register a taxonomy for Portfolio Tags.
		 *
		 * @link http://codex.wordpress.org/Function_Reference/register_taxonomy
		 */
		protected function register_taxonomy_tag() {
			global $TLPportfolio;
			$TagLabels = [
				'name'                       => esc_html__( 'Tags', 'tlp-portfolio' ),
				'singular_name'              => esc_html__( 'Tag', 'tlp-portfolio' ),
				'menu_name'                  => esc_html__( 'Tags', 'tlp-portfolio' ),
				'edit_item'                  => esc_html__( 'Edit Tag', 'tlp-portfolio' ),
				'update_item'                => esc_html__( 'Update Tag', 'tlp-portfolio' ),
				'add_new_item'               => esc_html__( 'Add New Tag', 'tlp-portfolio' ),
				'new_item_name'              => esc_html__( 'New Tag Name', 'tlp-portfolio' ),
				'parent_item'                => esc_html__( 'Parent Tag', 'tlp-portfolio' ),
				'parent_item_colon'          => esc_html__( 'Parent Tag', 'tlp-portfolio' ),
				'all_items'                  => esc_html__( 'All Tags', 'tlp-portfolio' ),
				'search_items'               => esc_html__( 'Search Tags', 'tlp-portfolio' ),
				'popular_items'              => esc_html__( 'Popular Tags', 'tlp-portfolio' ),
				'separate_items_with_commas' => esc_html__( 'Separate Tags with commas', 'tlp-portfolio' ),
				'add_or_remove_items'        => esc_html__( 'Add or remove Tags', 'tlp-portfolio' ),
				'choose_from_most_used'      => esc_html__( 'Choose from the most used Tags', 'tlp-portfolio' ),
				'not_found'                  => esc_html__( 'No Tags found.', 'tlp-portfolio' ),
			];
			$TagArgs   = [
				'labels'            => $TagLabels,
				'public'            => true,
				'show_in_nav_menus' => true,
				'show_ui'           => true,
				'show_tagcloud'     => true,
				'hierarchical'      => false,
				'show_admin_column' => true,
				'query_var'         => true,
			];

			register_taxonomy( $TLPportfolio->taxonomies['tag'], $TLPportfolio->post_type, $TagArgs );
			flush_rewrite_rules();
		}

		/**
		 * Register a taxonomy for Team Categories.
		 *
		 * @link http://codex.wordpress.org/Function_Reference/register_taxonomy
		 */
		protected function register_taxonomy_category() {
			$labels = [
				'name'                       => esc_html__( 'Categories', 'tlp-portfolio' ),
				'singular_name'              => esc_html__( 'Category', 'tlp-portfolio' ),
				'menu_name'                  => esc_html__( 'Categories', 'tlp-portfolio' ),
				'edit_item'                  => esc_html__( 'Edit Category', 'tlp-portfolio' ),
				'update_item'                => esc_html__( 'Update Category', 'tlp-portfolio' ),
				'add_new_item'               => esc_html__( 'Add New Category', 'tlp-portfolio' ),
				'new_item_name'              => esc_html__( 'New Category Name', 'tlp-portfolio' ),
				'parent_item'                => esc_html__( 'Parent Category', 'tlp-portfolio' ),
				'parent_item_colon'          => esc_html__( 'Parent Category:', 'tlp-portfolio' ),
				'all_items'                  => esc_html__( 'All Categories', 'tlp-portfolio' ),
				'search_items'               => esc_html__( 'Search Categories', 'tlp-portfolio' ),
				'popular_items'              => esc_html__( 'Popular Categories', 'tlp-portfolio' ),
				'separate_items_with_commas' => esc_html__( 'Separate categories with commas', 'tlp-portfolio' ),
				'add_or_remove_items'        => esc_html__( 'Add or remove categories', 'tlp-portfolio' ),
				'choose_from_most_used'      => esc_html__( 'Choose from the most used  categories', 'tlp-portfolio' ),
				'not_found'                  => esc_html__( 'No categories found.', 'tlp-portfolio' ),
			];
			$args   = [
				'labels'            => $labels,
				'public'            => true,
				'show_in_nav_menus' => true,
				'show_ui'           => true,
				'show_tagcloud'     => true,
				'hierarchical'      => true,
				'show_admin_column' => true,
				'query_var'         => true,
			];

			global $TLPportfolio;

			register_taxonomy( $TLPportfolio->taxonomies['category'], $TLPportfolio->post_type, $args );
			flush_rewrite_rules();
		}

		protected function register_scPT() {
			$sc_args = [
				'label'               => esc_html__( 'ShortCode', 'tlp-portfolio' ),
				'description'         => esc_html__( 'TLP Portfolio ShortCode generator', 'tlp-portfolio' ),
				'labels'              => [
					'all_items'          => esc_html__( 'ShortCodes', 'tlp-portfolio' ),
					'menu_name'          => esc_html__( 'ShortCode', 'tlp-portfolio' ),
					'singular_name'      => esc_html__( 'ShortCode', 'tlp-portfolio' ),
					'edit_item'          => esc_html__( 'Edit ShortCode', 'tlp-portfolio' ),
					'new_item'           => esc_html__( 'New ShortCode', 'tlp-portfolio' ),
					'view_item'          => esc_html__( 'View ShortCode', 'tlp-portfolio' ),
					'search_items'       => esc_html__( 'ShortCode Locations', 'tlp-portfolio' ),
					'not_found'          => esc_html__( 'No ShortCode found.', 'tlp-portfolio' ),
					'not_found_in_trash' => esc_html__( 'No ShortCode found in trash.', 'tlp-portfolio' ),
				],
				'supports'            => [ 'title' ],
				'public'              => false,
				'rewrite'             => false,
				'show_ui'             => true,
				'show_in_menu'        => 'edit.php?post_type=' . TLPPortfolio()->post_type,
				'show_in_admin_bar'   => true,
				'show_in_nav_menus'   => true,
				'can_export'          => true,
				'has_archive'         => false,
				'exclude_from_search' => false,
				'publicly_queryable'  => false,
				'capability_type'     => 'page',
			];

			register_post_type( TLPPortfolio()->getScPostType(), apply_filters( 'tlp-portfolio-register-sc-args', $sc_args ) );
		}

		private function registerScriptStyle() {
			// register team scripts and styles.
			$scripts = [];
			$styles  = [];
			$version = defined( 'WP_DEBUG' ) && WP_DEBUG ? time() : TLP_PORTFOLIO_VERSION;

			$scripts['tlp-magnific']     = [
				'src'    => TLPPortfolio()->assetsUrl . 'vendor/jquery.magnific-popup.min.js',
				'deps'   => [ 'jquery' ],
				'footer' => true,
			];
			$scripts['tlp-owl-carousel'] = [
				'src'    => TLPPortfolio()->assetsUrl . 'vendor/owl-carousel/owl.carousel.min.js',
				'deps'   => [ 'jquery', 'imagesloaded' ],
				'footer' => true,
			];
			$scripts['tlp-isotope']      = [
				'src'    => TLPPortfolio()->assetsUrl . 'vendor/isotope/isotope.pkgd.min.js',
				'deps'   => [ 'jquery', 'imagesloaded' ],
				'footer' => true,
			];
			$scripts['tlp-team-block']   = [
				'src'    => TLPPortfolio()->assetsUrl . 'js/tlp-team-blocks.min.js',
				'deps'   => [ 'jquery' ],
				'footer' => true,
			];
			$scripts['tlp-portfolio']    = [
				'src'    => TLPPortfolio()->assetsUrl . 'js/tlpportfolio.js',
				'deps'   => [ 'jquery' ],
				'footer' => true,
			];

			$styles['tlp-owl-carousel']       = TLPPortfolio()->assetsUrl . 'vendor/owl-carousel/owl.carousel.min.css';
			$styles['tlp-owl-carousel-theme'] = TLPPortfolio()->assetsUrl . 'vendor/owl-carousel/owl.theme.default.min.css';
			$styles['tlp-portfolio']          = TLPPortfolio()->assetsUrl . 'css/tlpportfolio.css';

			if ( is_admin() ) {
				$scripts['tlp-select2'] = [
					'src'    => TLPPortfolio()->assetsUrl . 'vendor/select2/select2.min.js',
					'deps'   => [ 'jquery' ],
					'footer' => false,
				];

				$scripts['tlp-portfolio-admin'] = [
					'src'    => TLPPortfolio()->assetsUrl . 'js/settings.js',
					'deps'   => [ 'jquery' ],
					'footer' => true,
				];

				$scripts['wp-color-picker-alpha'] = [
					'src'    => TLPPortfolio()->assetsUrl . 'js/wp-color-picker-alpha.js',
					'deps'   => [ 'wp-color-picker' ],
					'footer' => true,
				];

				$scripts['pfp-datepicker'] = [
					'src'    => TLPPortfolio()->assetsUrl . 'vendor/bootstrap-datepicker/bootstrap-datepicker.min.js',
					'deps'   => [ 'jquery' ],
					'footer' => false,
				];

				$styles['tlp-select2']         = TLPPortfolio()->assetsUrl . 'vendor/select2/select2.min.css';
				$styles['tlp-portfolio-admin'] = TLPPortfolio()->assetsUrl . 'css/settings.css';
				$styles['pfp-datepicker']      = TLPPortfolio()->assetsUrl . 'vendor/bootstrap-datepicker/bootstrap-datepicker3.standalone.min.css';
			}

			foreach ( $scripts as $handle => $script ) {
				wp_register_script( $handle, $script['src'], $script['deps'], $version, $script['footer'] );
			}

			foreach ( $styles as $k => $v ) {
				wp_register_style( $k, $v, false, $version );
			}

			wp_localize_script(
				'tlp-portfolio-admin',
				'tlp_portfolio_obj',
				[
					'ajaxurl'         => esc_url( admin_url( 'admin-ajax.php' ) ),
					'nonce'           => esc_attr( wp_create_nonce( TLPPortfolio()->nonceText() ) ),
					'nonceId'         => esc_attr( TLPPortfolio()->nonceId() ),
					'tlp_date_format' => TLPPortfolio()->date_format_php_to_js(),
				]
			);
		}
	}
endif;