File "class-admin.php"

Full Path: /home/siazco/grocery.siazco.se/wp-content/themes/kapee222/inc/class-admin.php
File size: 10.97 KB
MIME-type: text/x-php
Charset: utf-8

<?php 
class Kapee_Admin {
	public $prefix;
	/**
	 * Sidebar
	 *
	 * @var bool
	 */
	
	function __construct() {
		$this->prefix = KAPEE_PREFIX;
		$theme_data = wp_get_theme();
        $this->current_version = $theme_data->get('Version');
        $this->api_url = 'https://www.presslayouts.com/api/envato';
        $this->api_key = 'token';
		
		
		/*Admin menu*/
		add_action( 'admin_menu', array( $this, 'theme_page_menu' ) );
		
		
		// Register walker replacement
		add_filter( 'wp_edit_nav_menu_walker',   array( $this, 'nav_menu_walker')  );
		
		add_action('wp_update_nav_menu_item', array( $this, 'save_custom_fields' ), 10, 3 );
		
		add_action( 'wp_nav_menu_item_custom_fields',   array( $this, 'kapee_custom_menu_field'),10,4  );
	}
	
	public function theme_page_menu() {
        add_menu_page(
            esc_html__( 'Kapee', 'kapee' ),
            esc_html__( 'Kapee', 'kapee' ),
            'manage_options',
            'kapee-theme',
            array( $this, 'kapee_dashboard_page' ),
			KAPEE_URI.'/inc/admin/assets/images/menu-icon.png',
			59
        );
		add_submenu_page( 'kapee-theme',
            esc_html__( 'Welcome', 'kapee' ),
            esc_html__( 'Welcome', 'kapee' ),
            'manage_options',
            'kapee-theme',
            array( $this, 'kapee_dashboard_page' )
        );
		add_submenu_page( 'kapee-theme',
            esc_html__( 'System Status', 'kapee' ),
            esc_html__( 'System Status', 'kapee' ),
            'manage_options',
            'kapee-system-status',
            array( $this, 'kapee_system_status' )
        );
		
		
    }
	public function kapee_dashboard_page() {
		require( KAPEE_FRAMEWORK. '/admin/dashboard/welcome.php' );
	}
	
	public function kapee_system_status() {
		 
		require(KAPEE_FRAMEWORK. '/admin/dashboard/system_status.php' );
	}
	
	public function nav_menu_walker(){
		require_once KAPEE_FRAMEWORK . '/admin/class-walker-nav-menu.php';
		return 'Kapee_Walker_Nav_Menu_Edit_Custom';
	}
	
	public function save_custom_fields($menu_id, $menu_item_db_id, $args){
		
		$custom_fields = array('enable','design','width','height','custom_block','label_text','label_color','icon','thumbnail_url','attachment_id');

		foreach ( $custom_fields as $key ) {
			$value = isset($_REQUEST['menu-item-'.$key][$menu_item_db_id]) ? $_REQUEST['menu-item-'.$key][$menu_item_db_id] : '';
			update_post_meta( $menu_item_db_id, '_menu_item_kapee_'.$key, $value );
		}
	}
	
	public function kapee_custom_menu_field($item_id, $item, $depth, $args ){
		
		$enable  		= get_post_meta( $item_id, '_menu_item_kapee_enable',  true );
		$design  		= get_post_meta( $item_id, '_menu_item_kapee_design',  true );
		$custom_block  	= get_post_meta( $item_id, '_menu_item_kapee_custom_block',  true );
		$height  		= get_post_meta( $item_id, '_menu_item_kapee_height',  true );
		$width   		= get_post_meta( $item_id, '_menu_item_kapee_width',   true );
		$label_text   	= get_post_meta( $item_id, '_menu_item_kapee_label_text',  true );
		$label_color   	= get_post_meta( $item_id, '_menu_item_kapee_label_color',  true );
		$icon    		= get_post_meta( $item_id, '_menu_item_kapee_icon',    true );		
		$attachment_id  = get_post_meta( $item_id, '_menu_item_kapee_attachment_id',  true );
		$thumbnail_url  = get_post_meta( $item_id, '_menu_item_kapee_thumbnail_url',  true );
		$icon_btn_text = (!empty($thumbnail_url)) ? esc_html__('Change Custom Icon','kapee') : esc_html__('Upload Custom Icon','kapee');
		$megamenu_class = ($enable != 'enabled') ? 'hidden-field' : '';
		$img_remove_cls = (empty($thumbnail_url)) ? 'hidden-field' : '';
		$custom_size_class = (($design == 'custom-size') && ($enable == 'enabled')) ? '' : 'hidden-field';
		$custom_blocks = kapee_get_posts_by_post_type('block');
		$custom_block_edit_link = !empty($custom_block) ? admin_url( 'post.php?post='.$custom_block.'&action=edit' ) : 'javascript:void();';
	?>
		<!--  Kapee custom fields-->
		<div id="kapee-custom-fields" class="kapee-custom-fields">
			<p class="description description-wide kapee-megamenu-enable">
				<label for="edit-menu-item-megamenu-enable-<?php echo esc_attr( $item_id ); ?>">
					<input type="checkbox" id="edit-menu-item-megamenu-enable-<?php echo esc_attr( $item_id ); ?>" data-itemid=<?php echo esc_attr( $item_id ); ?> class="widefat code edit-menu-item-megamenu-enable" name="menu-item-enable[<?php echo esc_attr( $item_id ); ?>]" value="enabled" <?php checked($enable,'enabled')?> />
					<strong><?php esc_html_e( 'Enable Mega Menu (only for main menu)', 'kapee' ); ?></strong>
				</label>
			</p>
			<p class="description description-wide kapee-menu-design megamenu-field <?php echo esc_attr($megamenu_class);?>">
				<label for="edit-menu-item-design-<?php echo esc_attr( $item_id ); ?>">
					<?php esc_html_e('Design', 'kapee'); ?><br>
					<select id="edit-menu-item-design-<?php echo esc_attr( $item_id ); ?>" data-field="kapee-menu-design" data-itemid="<?php echo esc_attr( $item_id ); ?>" class="widefat kapee-menu-design" name="menu-item-design[<?php echo esc_attr( $item_id ); ?>]">
						<option value="full-width" <?php selected( esc_attr( $design ), 'full-width', true); ?>><?php esc_html_e('Full width', 'kapee'); ?></option>
						<option value="custom-size" <?php selected( esc_attr( $design ), 'custom-size', true); ?>><?php esc_html_e('Custom sizes', 'kapee'); ?></option>
					</select>
				</label>
			</p>
			<div id="kapee-custom-design-block-<?php echo esc_attr( $item_id ); ?>" class="kapee-custom-design-block <?php echo esc_attr($custom_size_class);?>">
			<p class="description description-thin kapee-menu-width">
				<label for="edit-menu-item-width-<?php echo esc_attr( $item_id ); ?>">
					<?php esc_html_e('Width', 'kapee'); ?><br>
					<input type="number" id="edit-menu-item-width-<?php echo esc_attr( $item_id ); ?>" class="widefat" name="menu-item-width[<?php echo esc_attr( $item_id ); ?>]" value="<?php echo esc_attr($width);?>">
				</label>
			</p>			
			<p class="description description-thin kapee-menu-height ">
				<label for="edit-menu-item-height-<?php echo esc_attr( $item_id ); ?>">
					<?php esc_html_e('Height', 'kapee'); ?><br>
					<input type="number" id="edit-menu-item-height-<?php echo esc_attr( $item_id ); ?>" class="widefat" name="menu-item-height[<?php echo esc_attr( $item_id ); ?>]" value="<?php echo esc_attr($height);?>">
				</label>
			</p>
			</div>
			<p class="description description-wide kapee-menu-custom-block megamenu-field <?php echo esc_attr($megamenu_class);?>">
				<label for="edit-menu-item-custom-block-<?php echo esc_attr( $item_id ); ?>">
					<?php esc_html_e('Select block', 'kapee'); ?><br>
					<select id="edit-menu-item-custom-block-<?php echo esc_attr( $item_id ); ?>" data-field="kapee-menu-custom-block" class="widefat kapee-custom-block select" name="menu-item-custom_block[<?php echo esc_attr( $item_id ); ?>]">
						<option value=""><?php esc_attr_e('Select block','kapee');?></option>
						<?php
						if(!empty($custom_blocks)){
							foreach ($custom_blocks as $id => $title) {
							$edit_link = admin_url( 'post.php?post='.$id.'&action=edit' );
							?>
							<option value="<?php echo esc_attr($id);?>" <?php selected($custom_block,$id); ?> data-block-link="<?php echo esc_url($edit_link);?>"><?php echo esc_html($title);?></option>
							<?php
							}
						}
						?>
					</select>
					<?php if(!empty( $custom_block ) ){?>
					<a href="<?php echo esc_url($custom_block_edit_link);?>" class="edit-block-link" target="_blank"><?php esc_html_e( 'Edit megamenu block', 'kapee' ); ?></a> | 
					<?php } ?>
					<a href="<?php echo esc_url( admin_url( 'post-new.php?post_type=block' ) ); ?>" class="add-block-link" target="_blank"><?php esc_html_e( 'Add megamenu block', 'kapee' ); ?></a>
				</label>
			</p>
			
			<p class="description description-thin kapee-label-text">
				<label for="edit-menu-item-label-text-<?php echo esc_attr( $item_id ); ?>">					
					<?php esc_html_e('Label text','kapee');?><br>
					<input id="edit-menu-item-label-text-<?php echo esc_attr( $item_id ); ?>" class="widefat" name="menu-item-label_text[<?php echo esc_attr( $item_id ); ?>]" value="<?php echo esc_attr($label_text);?>" type="text">
				
			</p>
			<p class="description description-thin kapee-label-color">
				<label for="edit-menu-item-label-color-<?php echo esc_attr( $item_id ); ?>">					
					<?php esc_html_e('Label color','kapee');?></label><br>
					<input id="edit-menu-item-label-color-<?php echo esc_attr( $item_id ); ?>" class="widefat kapee-color-box" name="menu-item-label_color[<?php echo esc_attr( $item_id ); ?>]" value="<?php echo esc_attr($label_color);?>" type="text">
				
			</p>
			<p class="description description-thin kapee-menu-icon">
				<label for="edit-menu-item-icon-<?php echo esc_attr( $item_id ); ?>">
					<a href="#" class="button-secondary pick-icon"><i class=" fa <?php echo esc_attr($icon);?>"></i> <?php esc_html_e( 'Menu Icon', 'kapee' ) ?></a>
					<span class="icons-block">
						<input type="text" class="search-icon" placeholder="<?php esc_attr_e( 'Quick search', 'kapee' ) ?>">
						<span class="kapee-icon-close"> X </span>
						<span class="icon-selector">
							<i data-icon="">&nbsp;</i>
							<?php echo implode( "\n", kapee_get_font_awesome_icons($icon) ); ?>
						</span>
					</span>
					<input type="hidden" name="menu-item-icon[<?php echo esc_attr( $item_id ); ?>]" value="<?php echo esc_attr($icon);?>">
				</label>
			</p>			
			<p class="description description-thin kapee-menu-icon-img">				
				<label for="edit-menu-item-megamenu-thumbnail-<?php echo esc_attr( $item_id ); ?>">
					<span class="img-wrp">
						<?php if(!empty($thumbnail_url)){?>
						<img src="<?php echo esc_url($thumbnail_url);?>" id="kapee-media-img-<?php echo esc_attr( $item_id ); ?>" data-itemid = "<?php echo esc_attr( $item_id ); ?>" class="kapee-megamenu-thumbnail-image kapee-attr-img" height="32" width="32" align="left" alt="<?php echo esc_attr__('Menu icon','kapee');?>"/>
						<span data-itemid = "<?php echo esc_attr( $item_id ); ?>" class="kapee-menu-image-clear"></span>
						<?php }?>
					</span>					
					<a href="#" id="kapee-media-upload-<?php echo esc_attr( $item_id ); ?>" data-itemid = "<?php echo esc_attr( $item_id ); ?>" class="kapee-menu-image-upload button button-primary"><?php echo esc_html($icon_btn_text ); ?></a>
				</label>
				<input type="hidden" id="edit-menu-item-thumbnail-url-<?php echo esc_attr( $item_id ); ?>" data-itemid = "<?php echo esc_attr( $item_id ); ?>" name="menu-item-thumbnail_url[<?php echo esc_attr( $item_id ); ?>]" value="<?php echo esc_attr($thumbnail_url);?>" />
				<input type="hidden" id="kapee-attachment-<?php echo esc_attr( $item_id ); ?>" data-itemid = "<?php echo esc_attr( $item_id ); ?>" name="menu-item-attachment_id[<?php echo esc_attr( $item_id ); ?>]" value="<?php echo esc_attr($attachment_id);?>" />
			</p>
			
		</div><!-- End #kapee-custom-fields custom fields Block. -->
		
	<?php
	}		
}

$obj_kapee_admin = new Kapee_Admin();