Plugin Directory

Changeset 2155197


Ignore:
Timestamp:
09/12/2019 12:07:36 AM (7 years ago)
Author:
grosbouff
Message:

3.1.3

Location:
wp-soundsystem/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • wp-soundsystem/trunk/wp-soundsystem.php

    r2155192 r2155197  
    66Author: G.Breant
    77Author URI: https://profiles.wordpress.org/grosbouff/#content-plugins
    8 Version: 3.1.2
     8Version: 3.1.3
    99License: GPL2
    1010*/
     
    3737    * @public string plugin version
    3838    */
    39     public $version = '3.1.2';
     39    public $version = '3.1.3';
    4040    /**
    4141    * @public string plugin DB version
  • wp-soundsystem/trunk/wpsstm-core-tracks.php

    r2155192 r2155197  
    5353        add_filter( 'template_include', array($this,'manager_template'));
    5454
    55         add_filter( 'posts_join', array($this,'tracks_query_left_join_subtracks'), 10, 2 );
     55        add_filter( 'posts_join', array($this,'include_subtracks_query_join'), 10, 2 );
     56        add_filter( 'posts_join', array($this,'exclude_subtracks_query_join'), 10, 2 );
    5657        add_filter( 'posts_fields', array($this,'tracks_query_subtrack_ids'), 10, 2 );
    5758        add_filter( 'posts_where', array($this,'track_query_exclude_subtracks'), 10, 2 );
     
    453454        $post_type =                $screen->post_type;
    454455        $subtracks_exclude =        get_query_var('subtrack_exclude');
    455        
     456
    456457        $link = add_query_arg( array('post_type'=>$post_type,'subtrack_exclude'=>true),admin_url('edit.php') );
    457458        $count = count(WPSSTM_Core_Tracks::get_orphan_track_ids());
     
    461462        );
    462463       
    463         if ($subtracks_exclude === true){
     464        if ($subtracks_exclude){
    464465            $attr['class'] = 'current';
    465466        }
     
    476477    }
    477478
    478     function tracks_query_left_join_subtracks($join,$query){
     479    function include_subtracks_query_join($join,$query){
    479480        global $wpdb;
    480481        if ( !$this->is_subtracks_query($query) ) return $join;
    481        
     482
    482483        $subtracks_table = $wpdb->prefix . wpsstm()->subtracks_table_name;
    483484        $join .= sprintf("INNER JOIN %s AS subtracks ON %s.ID = subtracks.track_id",$subtracks_table,$wpdb->posts);
     
    485486    }
    486487   
     488    function exclude_subtracks_query_join($join,$query){
     489        global $wpdb;
     490        if ( !$query->get('subtrack_exclude') ) return $join;
     491
     492        $subtracks_table = $wpdb->prefix . wpsstm()->subtracks_table_name;
     493        $join .= sprintf("LEFT JOIN %s AS subtracks ON %s.ID = subtracks.track_id",$subtracks_table,$wpdb->posts); //so we can rely on subtracks.subtrack_id = null
     494        return $join;
     495    }
     496   
    487497    /*
    488498    Include the subtrack_id when fetching subtracks
     
    494504        if ( !$this->is_subtracks_query($query) ) return $fields;
    495505
     506        if ( $query->get('fields') === 'ids' ) return $fields;//when requesting ids, we don't want several fields returned.
     507
    496508        //TOUCHECK SHOULD BE THIS? BUT NOT WORKING URGENT return sprintf('%s.ID,%s.subtrack_id',$wpdb->posts,'subtracks');
    497509
     
    504516    function track_query_exclude_subtracks($where,$query){
    505517        global $wpdb;
    506         if ( !$this->is_subtracks_query($query) ) return $where;
    507        
    508         $subtracks_table = $wpdb->prefix . wpsstm()->subtracks_table_name;
    509        
    510         $no_subtracks = $query->get('subtrack_exclude');
    511        
    512         if ($no_subtracks){
    513             $where .= sprintf(" AND subtracks.track_id IS NULL");
    514         }
    515 
     518
     519        if ( !$query->get('subtrack_exclude') ) return $where;
     520       
     521        $where .= sprintf(" AND subtracks.track_id IS NULL");
    516522        return $where;
    517523    }
     
    14051411            'posts_per_page'=>          -1,
    14061412            'fields' =>                 'ids',
    1407             'subtrack_query' =>         true,
    14081413            'subtrack_exclude' =>       true,
    14091414        );
Note: See TracChangeset for help on using the changeset viewer.