updated plugin AudioIgniter version 1.9.0

This commit is contained in:
2022-08-19 16:15:57 +00:00
committed by Gitium
parent b49569de47
commit 8af91729f1
43 changed files with 6804 additions and 6000 deletions

View File

@ -5,7 +5,7 @@
* Description: AudioIgniter lets you create music playlists and embed them in your WordPress posts, pages or custom post types and serve your audio content in style!
* Author: The CSSIgniter Team
* Author URI: https://www.cssigniter.com
* Version: 1.7.3
* Version: 1.9.0
* Text Domain: audioigniter
* Domain Path: languages
*
@ -131,7 +131,7 @@ class AudioIgniter {
load_plugin_textdomain( 'audioigniter', false, dirname( self::plugin_basename() ) . '/languages' );
include_once( 'class-audioigniter-sanitizer.php' );
require_once 'class-audioigniter-sanitizer.php';
$this->sanitizer = new AudioIgniter_Sanitizer();
// Initialization needed in every request.
@ -177,6 +177,9 @@ class AudioIgniter {
add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
add_action( 'save_post', array( $this, 'save_post' ) );
add_filter( "manage_{$this->post_type}_posts_columns", array( $this, 'filter_posts_columns' ) );
add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'add_custom_columns' ), 10, 2 );
do_action( 'audioigniter_admin_init' );
}
@ -308,7 +311,7 @@ class AudioIgniter {
public function add_meta_boxes() {
add_meta_box( 'ai-meta-box-tracks', esc_html__( 'Tracks', 'audioigniter' ), array( $this, 'metabox_tracks' ), $this->post_type, 'normal', 'high' );
add_meta_box( 'ai-meta-box-settings', esc_html__( 'Settings', 'audioigniter' ), array( $this, 'metabox_settings' ), $this->post_type, 'normal', 'high' );
add_meta_box( 'ai-meta-box-shortcode', esc_html__( 'Shortcode', 'audioigniter' ), array( $this, 'metabox_shortcode' ), $this->post_type, 'normal', 'high' );
add_meta_box( 'ai-meta-box-shortcode', esc_html__( 'Shortcode', 'audioigniter' ), array( $this, 'metabox_shortcode' ), $this->post_type, 'side', 'default' );
}
/**
@ -328,7 +331,7 @@ class AudioIgniter {
<?php $this->metabox_tracks_header(); ?>
<div class="ai-container">
<?php $this->metabox_tracks_field_controls( 'top' ); ?>
<?php $this->metabox_tracks_field_controls( 'top', $object->ID ); ?>
<?php $container_classes = apply_filters( 'audioigniter_metabox_tracks_container_classes', array( 'ai-fields-container' ) ); ?>
@ -344,12 +347,11 @@ class AudioIgniter {
?>
</div>
<?php $this->metabox_tracks_field_controls( 'bottom' ); ?>
<?php $this->metabox_tracks_field_controls( 'bottom', $object->ID ); ?>
</div>
<?php $this->metabox_tracks_footer(); ?>
<input type="hidden" name="ai_nonce" id="ai_nonce" value="<?php echo esc_attr( wp_create_nonce( self::plugin_basename() ) ); ?>"/>
<?php
}
@ -447,12 +449,13 @@ class AudioIgniter {
protected function metabox_tracks_repeatable_track_field( $track = array() ) {
$track = wp_parse_args( $track, self::get_default_track_values() );
$cover_id = $track['cover_id'];
$title = $track['title'];
$artist = $track['artist'];
$track_url = $track['track_url'];
$buy_link = $track['buy_link'];
$download_url = $track['download_url'];
$cover_id = $track['cover_id'];
$title = $track['title'];
$artist = $track['artist'];
$track_url = $track['track_url'];
$buy_link = $track['buy_link'];
$download_url = $track['download_url'];
$download_uses_track_url = (int) $track['download_uses_track_url'];
$cover_url = wp_get_attachment_image_src( intval( $cover_id ), 'thumbnail' );
if ( ! empty( $cover_url[0] ) ) {
@ -602,7 +605,12 @@ class AudioIgniter {
name="ai_playlist_tracks[<?php echo esc_attr( $uid ); ?>][download_url]"
placeholder="<?php esc_attr_e( 'Download URL', 'audioigniter' ); ?>"
value="<?php echo esc_url( $download_url ); ?>"
<?php if ( $download_uses_track_url ) : ?>
disabled
<?php endif; ?>
/>
<?php do_action( 'audioigniter_metabox_tracks_repeatable_track_field_after_download_url_button', $track, $uid ); ?>
</div>
<?php do_action( 'audioigniter_metabox_tracks_repeatable_track_fields_column_2', $track, $uid ); ?>
@ -618,7 +626,7 @@ class AudioIgniter {
<?php
}
protected function metabox_tracks_field_controls( $location ) {
protected function metabox_tracks_field_controls( $location, $post_id ) {
?>
<div class="ai-field-controls-wrap">
<div class="ai-field-controls">
@ -627,7 +635,7 @@ class AudioIgniter {
<?php esc_html_e( 'Add Track', 'audioigniter' ); ?>
</button>
<?php do_action( 'audioigniter_metabox_tracks_field_controls' ); ?>
<?php do_action( 'audioigniter_metabox_tracks_field_controls', $location, $post_id ); ?>
<button type="button" class="button ai-remove-all-fields">
<span class="dashicons dashicons-dismiss"></span>
@ -1078,12 +1086,13 @@ class AudioIgniter {
public static function get_default_track_values() {
return apply_filters( 'audioigniter_default_track_values', array(
'cover_id' => '',
'title' => '',
'artist' => '',
'track_url' => '',
'buy_link' => '',
'download_url' => '',
'cover_id' => '',
'title' => '',
'artist' => '',
'track_url' => '',
'buy_link' => '',
'download_url' => '',
'download_uses_track_url' => 0,
) );
}
@ -1263,7 +1272,7 @@ class AudioIgniter {
$track_response['subtitle'] = $track['artist'];
$track_response['audio'] = $track['track_url'];
$track_response['buyUrl'] = $track['buy_link'];
$track_response['downloadUrl'] = $track['download_url'];
$track_response['downloadUrl'] = $track['download_uses_track_url'] ? $track['track_url'] : $track['download_url'];
$track_response['downloadFilename'] = $this->get_filename_from_url( $track['download_url'] );
if ( ! $track_response['downloadFilename'] ) {
@ -1287,6 +1296,22 @@ class AudioIgniter {
wp_send_json( $response );
}
public function filter_posts_columns( $columns ) {
$date = $columns['date'];
unset( $columns['date'] );
$columns['shortcode'] = __( 'Shortcode', 'audioigniter' );
$columns['date'] = $date;
return $columns;
}
public function add_custom_columns( $column, $post_id ) {
if ( 'shortcode' === $column ) {
?><input type="text" class="code" value="<?php echo esc_attr( sprintf( '[ai_playlist id="%s"]', $post_id ) ); ?>"><?php
}
}
function get_filename_from_url( $url ) {
$struct = wp_parse_url( $url );