Plugin Directory

Changeset 1163505


Ignore:
Timestamp:
05/19/2015 05:35:56 PM (11 years ago)
Author:
msalsas
Message:

Add 'include/exclude pages/posts/home' functionality

Location:
dynamic-audio-player-basic/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • dynamic-audio-player-basic/trunk/dynamicplayer.php

    r1161877 r1163505  
    44Plugin URI: http://dynamicaudioplayer.com
    55Description: This plugin allows you to add an audio player widget with a dynamic playlist and shortcodes for single buttons
    6 Version: 2.0.10
     6Version: 2.1.0
    77Author: Manolo Salsas Durán
    88Author URI: http://msalsas.com/en/
     
    3131
    3232
    33 function dyn_scripts() {
     33function dyn_scripts($dyn_option) {
    3434   
    3535    wp_register_script( 'dynamicplayer', plugins_url('/js/dynamicplayer.js', __FILE__), array( 'jquery' ));
     
    5151    wp_enqueue_style( 'jscrollpane-stylesheet' );
    5252     
    53     $dyn_option = get_option( "widget_dynamic-player-widget" ) ?: array();
    54     ksort($dyn_option);
    5553    $styleRegistered = false;
    5654    foreach($dyn_option as $option)
     
    7371            $styleRegistered = true;           
    7472            break;
    75         }
    76                
    77     }
    78    
     73        }           
     74    }
     75
    7976    if(! $styleRegistered)
    8077    {
     
    8885   
    8986}
    90    
     87
     88function register_dyn_scripts() {
     89    $dyn_option = get_option( "widget_dynamic-player-widget" );
     90    ksort($dyn_option);
     91    $excludedPages = array();
     92    $includedPages = array();
     93    $includedHomePage = false;
     94
     95    foreach($dyn_option as $option)
     96    {
     97        if(isset($option["dynPlayerExcludePages"])) {
     98            $excludedPages = $option["dynPlayerExcludePages"] ? explode(",", $option["dynPlayerExcludePages"]) : array();
     99            break;
     100        }
     101    }
     102
     103    foreach($dyn_option as $option)
     104    {
     105        if(isset($option["dynPlayerIncludePages"])) {
     106            $includedPages = $option["dynPlayerIncludePages"] ? explode(",", $option["dynPlayerIncludePages"]) : array();
     107            break;
     108        }
     109    }
     110   
     111    $excludedPosts = array();
     112    $includedPosts = array();
     113
     114    foreach($dyn_option as $option)
     115    {
     116        if(isset($option["dynPlayerExcludePosts"])) {
     117            $excludedPosts = $option["dynPlayerExcludePosts"] ? explode(",", $option["dynPlayerExcludePosts"]) : array();
     118            break;
     119        }
     120    }
     121    foreach($dyn_option as $option)
     122    {
     123        if(isset($option["dynPlayerIncludePosts"])) {
     124            $includedPosts = $option["dynPlayerIncludePosts"] ? explode(",", $option["dynPlayerIncludePosts"]) : array();
     125            break;
     126        }
     127    }
     128    foreach($dyn_option as $option)
     129    {
     130        if(isset($option["dynPlayerShowHomePage"])) {
     131            $includedHomePage = $option["dynPlayerShowHomePage"] == "true" ? true : false;
     132            break;
     133        }
     134    }
     135
     136    if(is_page()) {
     137        foreach($excludedPages as $excludedPage)
     138        {
     139            $excludedPage = trim($excludedPage);
     140            if($excludedPage === "all" || is_page($excludedPage)) {
     141                return null;
     142            }
     143        }
     144        $included = empty($includedPages) ? true : false;
     145        foreach($includedPages as $includedPage)
     146        {
     147            $includedPage = trim($includedPage);
     148            if(is_page($includedPage)) {
     149                $included = true;
     150            }
     151        }
     152        if(! $included)
     153            return null;
     154    }   
     155   
     156    elseif(is_single()) {
     157        foreach($excludedPosts as $excludedPost)
     158        {
     159            $excludedPost = trim($excludedPost);
     160            if($excludedPost === "all" || is_single($excludedPost)) {
     161                return null;
     162            }
     163        }
     164        $included = empty($includedPosts) ? true : false;
     165        foreach($includedPosts as $includedPost)
     166        {
     167            $includedPost = trim($includedPost);
     168            if(is_single($includedPost)) {
     169                $included = true;
     170            }
     171        }
     172        if(! $included)
     173            return null;
     174    }
     175    elseif(is_home())
     176    {
     177        if(! $includedHomePage)
     178            return null;
     179    }
     180
     181    dyn_scripts($dyn_option);
     182}
     183
    91184if( !is_admin() ) {
    92     add_action('wp_enqueue_scripts', 'dyn_scripts');
     185    add_action("template_redirect", "register_dyn_scripts");
    93186} else {
    94187    add_action('admin_enqueue_scripts', 'dynamic_my_admin_scripts45656754');
     
    267360        'dynPlaylistVisible' => 'false',
    268361        'dynAutoplayEnabled' => 'false',
    269         'dynPlayerMargin' => 'top',
     362        'dynPlayerMarginFrom' => 'top',
    270363        'dynPlayerMargin' => 35,
    271         'dynPlayerHorMargin' => 'centered',
    272         'dynPlayerHorMargin' => 0 );
     364        'dynPlayerHorMarginFrom' => 'centered',
     365        'dynPlayerHorMargin' => 0,
     366        'dynPlayerShowHomePage' => '',
     367        'dynPlayerExcludePages' => '',
     368        'dynPlayerIncludePages' => '',
     369        'dynPlayerExcludePosts' => '',
     370        'dynPlayerIncludePosts' => '',
     371    );
    273372    $active_sidebars['dynamic-player-sidebar'] = array('dynamic-player-widget-1') ;
    274373    update_option('widget_dynamic-player-widget', $dynamicWidgetOptions);
     
    347446        $instance['dynPlayerHorMarginFrom'] = strip_tags( $new_instance['dynPlayerHorMarginFrom'] );
    348447        $instance['dynPlayerHorMargin'] = strip_tags( $new_instance['dynPlayerHorMargin'] );
     448        $instance['dynPlayerShowHomePage'] = strip_tags( $new_instance['dynPlayerShowHomePage'] );
     449        $instance['dynPlayerExcludePages'] = strip_tags( $new_instance['dynPlayerExcludePages'] );
     450        $instance['dynPlayerIncludePages'] = strip_tags( $new_instance['dynPlayerIncludePages'] );
     451        $instance['dynPlayerExcludePosts'] = strip_tags( $new_instance['dynPlayerExcludePosts'] );
     452        $instance['dynPlayerIncludePosts'] = strip_tags( $new_instance['dynPlayerIncludePosts'] );
    349453
    350454        return $instance;
     
    365469            'dynPlayerMargin' => 35,
    366470            'dynPlayerHorMarginFrom' => 'centered',
    367             'dynPlayerHorMargin' => 0 );
     471            'dynPlayerHorMargin' => 0,
     472            'dynPlayerShowHomePage' => '',
     473            'dynPlayerExcludePages' => '',
     474            'dynPlayerIncludePages' => '',
     475            'dynPlayerExcludePosts' => '',
     476            'dynPlayerIncludePosts' => ''
     477        );
    368478        $instance = wp_parse_args( (array) $instance, $defaults ); ?>
    369479
     
    450560    </label>
    451561    <input id="<?php echo $this->get_field_id('dynPlayerHorMargin'); ?>" name="<?php echo $this->get_field_name('dynPlayerHorMargin'); ?>" class="widefat" style="width:100%;" type="text" value="<?php echo $instance['dynPlayerHorMargin'] ?>" placeholder="leave blank if player is centered">
     562</p>
     563
     564<p>
     565    <label for="<?php echo $this->get_field_id( 'dynPlayerShowHomePage' ); ?>">
     566        Show in home page
     567    </label>
     568    <select id="<?php echo $this->get_field_id('dynPlayerShowHomePage'); ?>" name="<?php echo $this->get_field_name('dynPlayerShowHomePage'); ?>" class="widefat" style="width:100%;">
     569        <option <?php selected( $instance['dynPlayerShowHomePage'], 'true'); ?> value="true">true</option>
     570        <option <?php selected( $instance['dynPlayerShowHomePage'], 'false'); ?> value="false">false</option>
     571    </select>
     572</p>
     573
     574<p>
     575    <label for="<?php echo $this->get_field_id( 'dynPlayerExcludePages' ); ?>">
     576        Exclude this pages (type a list of page ids (or names) separated by commas to exclude, type "all" to exclude all pages )
     577    </label>
     578    <input id="<?php echo $this->get_field_id('dynPlayerExcludePages'); ?>" name="<?php echo $this->get_field_name('dynPlayerExcludePages'); ?>" class="widefat" style="width:100%;" type="text" value="<?php echo $instance['dynPlayerExcludePages'] ?>" placeholder="leave empty to show in all pages">
     579</p>
     580
     581<p>
     582    <label for="<?php echo $this->get_field_id( 'dynPlayerIncludePages' ); ?>">
     583        Include this pages (type a list of page ids (or names) separated by commas to include )
     584    </label>
     585    <input id="<?php echo $this->get_field_id('dynPlayerIncludePages'); ?>" name="<?php echo $this->get_field_name('dynPlayerIncludePages'); ?>" class="widefat" style="width:100%;" type="text" value="<?php echo $instance['dynPlayerIncludePages'] ?>" placeholder="leave empty to include all pages">
     586</p>
     587
     588<p>
     589    <label for="<?php echo $this->get_field_id( 'dynPlayerExcludePosts' ); ?>">
     590        Exclude this posts (type a list of post ids (or names) separated by commas to exclude, type "all" to exclude all posts )
     591    </label>
     592    <input id="<?php echo $this->get_field_id('dynPlayerExcludePosts'); ?>" name="<?php echo $this->get_field_name('dynPlayerExcludePosts'); ?>" class="widefat" style="width:100%;" type="text" value="<?php echo $instance['dynPlayerExcludePosts'] ?>" placeholder="leave empty to show in all posts">
     593</p>
     594
     595<p>
     596    <label for="<?php echo $this->get_field_id( 'dynPlayerIncludePosts' ); ?>">
     597        Include this posts (type a list of post ids (or names) separated by commas to include )
     598    </label>
     599    <input id="<?php echo $this->get_field_id('dynPlayerIncludePosts'); ?>" name="<?php echo $this->get_field_name('dynPlayerIncludePosts'); ?>" class="widefat" style="width:100%;" type="text" value="<?php echo $instance['dynPlayerIncludePosts'] ?>" placeholder="leave empty to include all posts">
    452600</p>
    453601
  • dynamic-audio-player-basic/trunk/js/dynamicplayer-show.js

    r988054 r1163505  
    11(function($){
    2     $("#dynamic-player-container").dynamicAudioPlayer({
    3         dynTotalWidth: dynamic_options.dynTotalWidth,
    4         dynPosition: dynamic_options.dynPosition,
    5         dynPlaylistVisible: dynamic_options.dynPlaylistVisible,
    6         dynPlaylistHeight: dynamic_options.dynPlaylistHeight,
    7         dynAutoplayEnabled: dynamic_options.dynAutoplayEnabled,
    8         dynPlayerMarginFrom: dynamic_options.dynPlayerMarginFrom,
    9         dynPlayerMargin: dynamic_options.dynPlayerMargin,
    10         dynPlayerHorMarginFrom: dynamic_options.dynPlayerHorMarginFrom,
    11         dynPlayerHorMargin: dynamic_options.dynPlayerHorMargin,
    12         dynTitle: [dynamic_options.dynTitle[0], dynamic_options.dynTitle[1], dynamic_options.dynTitle[2], dynamic_options.dynTitle[3], dynamic_options.dynTitle[4]],
    13         dynArtist: [dynamic_options.dynArtist[0], dynamic_options.dynArtist[1], dynamic_options.dynArtist[2], dynamic_options.dynArtist[3],dynamic_options.dynArtist[4]],
    14         dynAlbum: [dynamic_options.dynAlbum[0], dynamic_options.dynAlbum[1], dynamic_options.dynAlbum[2], dynamic_options.dynAlbum[3], dynamic_options.dynAlbum[4]],
    15         dynDate: [dynamic_options.dynDate[0], dynamic_options.dynDate[1], dynamic_options.dynDate[2], dynamic_options.dynDate[3], dynamic_options.dynDate[4]],
    16         dynOggFile: [dynamic_options.dynOggFile[0],  dynamic_options.dynOggFile[1], dynamic_options.dynOggFile[2],  dynamic_options.dynOggFile[3], dynamic_options.dynOggFile[4]],
    17         dynMp3File: [dynamic_options.dynMp3File[0], dynamic_options.dynMp3File[1], dynamic_options.dynMp3File[2], dynamic_options.dynMp3File[3], dynamic_options.dynMp3File[4]],
    18         dynImageFile: [dynamic_options.dynImageFile[0], dynamic_options.dynImageFile[1], dynamic_options.dynImageFile[2], dynamic_options.dynImageFile[3], dynamic_options.dynImageFile[4]]
    19     });
     2    if($.fn.dynamicAudioPlayer) {
     3        $("#dynamic-player-container").dynamicAudioPlayer({
     4            dynTotalWidth: dynamic_options.dynTotalWidth,
     5            dynPosition: dynamic_options.dynPosition,
     6            dynPlaylistVisible: dynamic_options.dynPlaylistVisible,
     7            dynPlaylistHeight: dynamic_options.dynPlaylistHeight,
     8            dynAutoplayEnabled: dynamic_options.dynAutoplayEnabled,
     9            dynPlayerMarginFrom: dynamic_options.dynPlayerMarginFrom,
     10            dynPlayerMargin: dynamic_options.dynPlayerMargin,
     11            dynPlayerHorMarginFrom: dynamic_options.dynPlayerHorMarginFrom,
     12            dynPlayerHorMargin: dynamic_options.dynPlayerHorMargin,
     13            dynTitle: [dynamic_options.dynTitle[0], dynamic_options.dynTitle[1], dynamic_options.dynTitle[2], dynamic_options.dynTitle[3], dynamic_options.dynTitle[4]],
     14            dynArtist: [dynamic_options.dynArtist[0], dynamic_options.dynArtist[1], dynamic_options.dynArtist[2], dynamic_options.dynArtist[3],dynamic_options.dynArtist[4]],
     15            dynAlbum: [dynamic_options.dynAlbum[0], dynamic_options.dynAlbum[1], dynamic_options.dynAlbum[2], dynamic_options.dynAlbum[3], dynamic_options.dynAlbum[4]],
     16            dynDate: [dynamic_options.dynDate[0], dynamic_options.dynDate[1], dynamic_options.dynDate[2], dynamic_options.dynDate[3], dynamic_options.dynDate[4]],
     17            dynOggFile: [dynamic_options.dynOggFile[0],  dynamic_options.dynOggFile[1], dynamic_options.dynOggFile[2],  dynamic_options.dynOggFile[3], dynamic_options.dynOggFile[4]],
     18            dynMp3File: [dynamic_options.dynMp3File[0], dynamic_options.dynMp3File[1], dynamic_options.dynMp3File[2], dynamic_options.dynMp3File[3], dynamic_options.dynMp3File[4]],
     19            dynImageFile: [dynamic_options.dynImageFile[0], dynamic_options.dynImageFile[1], dynamic_options.dynImageFile[2], dynamic_options.dynImageFile[3], dynamic_options.dynImageFile[4]]     
     20        });
     21    }
    2022})(jQuery);
  • dynamic-audio-player-basic/trunk/readme.txt

    r1161877 r1163505  
    44Requires at least: 3.0.1
    55Tested up to: 4.2.2
    6 Stable tag: 2.0.7
     6Stable tag: 2.0.10
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    4848
    4949== Changelog ==
     50
     51= 2.1.0 =
     52Add "exclude/include posts/pages/home" functionality
    5053
    5154= 2.0.10 =
Note: See TracChangeset for help on using the changeset viewer.