Your IP : 216.73.216.171


Current Path : /home/ereika83/www/wp-content/plugins/genesis-club-pro/classes/
Upload File :
Current File : /home/ereika83/www/wp-content/plugins/genesis-club-pro/classes/class-menu-pro.php

<?php
class Genesis_Club_Menu_Pro extends Genesis_Club_Menu  {

    protected $pro_defaults  = array(
		'loginout' => false,
		'login_text' => 'Member Login',
		'logout_text' => 'Logout',
	);

    function get_defaults() { 
        return array_merge($this->defaults, $this->pro_defaults); 
    }

	function init() {
		$this->is_html5 = $this->utils->is_html5();
		if (!is_admin()) add_action('wp', array($this,'prepare'));
	}

	function prepare() {
	 	if (($loginout = $this->get_option('loginout')) && ('none' != $loginout)) {
	 		add_filter('wp_nav_menu_items',  array($this,'maybe_add_loginout'),10,2 );	
	 	}
        add_filter( 'genesis_club_menu_stripper', array($this, 'strip_menu'), 10, 2);   
        parent::prepare();
	}

	function maybe_add_loginout($items, $args) {
      $loginout = $this->get_option('loginout');

      if (($args->theme_location == $loginout)
      || (('header' == $loginout) && has_filter('wp_nav_menu', 'genesis_header_menu_wrap')))  {
         if (is_user_logged_in()) {
            $class = 'logout';
            $url = wp_logout_url();
            $text = $this->get_option('logout_text');
            if (empty($text)) $text = $this->get_default('logout_text');
         } else {
            $class = 'login';
            $url = site_url('wp-login.php') ;
            $text = $this->get_option('login_text');
            if (empty($text)) $text = $this->get_default('login_text');         
         }
         return $items .sprintf('<li class="menu-item %1$s"><a href="%2$s">%3$s</a></li>', $class, $url, $text); ;	         
      } else {
         return $items;           
      }
   }
   
   function strip_menu($menu, $original_menu){
        $strip_menu = strip_tags($original_menu,'<ul><li><a><span>');  //strip any unexpected tags
        $current_pattern = '/<li id="menu\-\item-(?P<id>\d+)"\ class=".*?current\-menu\-item.*?">(.*)<\/li>/';        
        if (preg_match($current_pattern, $strip_menu, $matches)) {
            $id_pattern = sprintf('#\sid="menu\-item\-%1$s"#', $matches['id']); //current page menu item
            $strip_menu = preg_replace($id_pattern, ' class="active"', preg_replace('#\sclass="[^"]+"#', '', $strip_menu)); //strip all classes and put back active
            $strip_menu = preg_replace('#\sid="[^"]+"#', '',  $strip_menu); //strip the IDs
        } else {
            $strip_menu = preg_replace('#\s(id|class)="[^"]+"#', '',  $strip_menu);   //strip ids and classes        
        }    
        return $strip_menu;
   }

}