Plugin Directory

Changeset 3302189


Ignore:
Timestamp:
05/28/2025 11:55:22 AM (10 months ago)
Author:
videlin
Message:

1.0.10

Location:
showcase-creator
Files:
89 added
9 edited

Legend:

Unmodified
Added
Removed
  • showcase-creator/trunk/readme.txt

    r3239647 r3302189  
    44Tags: showcase creator, posts, showcase, show posts, post order
    55Requires at least: 6.1
    6 Tested up to: 6.7
    7 Stable tag: 1.0.9
     6Tested up to: 6.8
     7Stable tag: 1.0.10
    88Requires PHP: 7.0
    99License: GPLv2 or later
     
    128128== Changelog ==
    129129
     130= 1.0.10 =
     131* Bug fixed: Ordered Lists - Post filtering by taxonomy not working.
     132* Bug fixed: Bulk export layouts - Not a valid JSON file.
     133* Bug fixed: Importing Ordered Lists - Wrong response message.
     134
    130135= 1.0.9 =
    131136* Feature added: Masonry option - Fit width.
  • showcase-creator/trunk/showcase-creator.php

    r3239647 r3302189  
    44 * Plugin URI:      https://videlinify.com/showcase-creator/
    55 * Description:     Provides tools to display a showcase of posts (or custom post types) using a custom layout, advanced filtering and customized post order.
    6  * Version:         1.0.9
     6 * Version:         1.0.10
    77 * Requires PHP:    7.0
    88 * Author:          Videlin Djedjev
  • showcase-creator/trunk/src/ajax.php

    r3190704 r3302189  
    1111 */
    1212function showcase_creator_ajax_import_layouts() {
    13 
    1413    if (
    1514        ! Showcase_Creator::has_access() ||
     
    280279    }
    281280    $imported = $showcase_creator->import_ordered_lists( $data );
    282     if ( ! is_array( $imported ) || ! count( $imported ) ) {
     281    if ( ! $imported ) {
    283282        wp_send_json( array(
    284283            'status' => 'error',
     
    287286        wp_die();
    288287        return;
    289     }
    290     else {
     288    } else {
    291289        wp_send_json( array(
    292290            'status' => 'success',
     
    296294                    '%s Ordered List imported.',
    297295                    '%s Ordered Lists imported.',
    298                     count( $imported ),
     296                    $imported,
    299297                    'showcase-creator'
    300298                ),
    301                 number_format_i18n( count( $imported ) )
     299                number_format_i18n( $imported )
    302300            ),
    303301        ) );
  • showcase-creator/trunk/src/class.php

    r3267053 r3302189  
    1818     * @var string $version x.x.x format
    1919     */
    20     public static string $version = '1.0.9';
     20    public static string $version = '1.0.10';
    2121   
    2222    /**
     
    126126            self::register_asset( '-content-switch', '/src/modules/content-switch.js' );
    127127            self::register_asset( '-lightbox', '/src/modules/lightbox' );
    128             self::register_asset( '-slider', '/src/modules/slider.js' );
     128            self::register_asset( '-slider', '/src/modules/slider.js', array( 'jquery' ) );
    129129            self::register_asset( '-home', '/src/home.js', array( 'jquery' ) );
    130130            self::register_asset(
     
    282282            self::register_asset( '-vid-modules', '/src/modules/vid-modules' );
    283283            self::register_asset( '-lightbox', '/src/modules/lightbox', [], true );
    284             self::register_asset( '-slider', '/src/modules/slider.js' );
     284            self::register_asset( '-slider', '/src/modules/slider.js', array( 'jquery' ) );
    285285            // Detects if any layout uses lightbox and enqueues the script if so.
    286286            if ( self::array_any( self::$active_layouts, function( $l ) {
     
    296296            self::require_layout_classes();
    297297            self::register_asset( '-vid-modules', '/src/modules/vid-modules' );
    298             self::register_asset( '-slider', '/src/modules/slider.js' );
     298            self::register_asset( '-slider', '/src/modules/slider.js', array( 'jquery' ) );
    299299            self::enqueue_assets( '-vid-modules', '-slider', 'jquery', 'jquery-masonry' );
    300300        } );
     
    996996                    } else if ( 'slug' === $p ) {
    997997                        $layout['slug'] = $l->post_name;
    998                     } else if ( '_elements' === $p ) {
     998                    } else if ( 'elements' === $p ) {
    999999                        $layout['elements'] = get_post_meta( $l->ID, '_elements', true );
    1000                     } else if ( '_css' === $p ) {
     1000                    } else if ( 'css' === $p ) {
    10011001                        $layout['css'] = get_post_meta( $l->ID, '_css', true );
    1002                     } else if ( '_script' === $p ) {
     1002                    } else if ( 'script' === $p ) {
    10031003                        $layout['script'] = get_post_meta( $l->ID, '_script', true );
    1004                     } else if ( '_preview' === $p ) {
     1004                    } else if ( 'preview' === $p ) {
    10051005                        $layout['preview'] = get_post_meta( $l->ID, '_preview', true );
    10061006                    } else {
     
    14401440    }
    14411441
     1442    /**
     1443     * Writes to the plugin log file or creates if it does not exists.
     1444     * For debugging purposes.
     1445     *
     1446     * @since 1.0.10
     1447     *
     1448     * @param mixed $data to be written.
     1449     */
     1450    public static function log( ...$data ) {
     1451        $print = '';
     1452        foreach ( $data as $d ) {
     1453            if ( is_array( $d ) || is_object( $d ) ) {
     1454                $print .= wp_json_encode( $d, JSON_PRETTY_PRINT ) . PHP_EOL . PHP_EOL;
     1455            } else {
     1456                $print .= print_r( $d, true ) . PHP_EOL . PHP_EOL;
     1457            }
     1458        }
     1459        $log  = '=== START OF ENTRY ===' . PHP_EOL .
     1460        'Date: ' . gmdate('d.m.y, H:i:s') . ' GMT' . PHP_EOL .
     1461        $print .
     1462        '=== END OF ENTRY ===' . PHP_EOL . PHP_EOL;
     1463        file_put_contents(
     1464            path_join( SHOWCASE_CREATOR_PATH, 'debug.log' ),
     1465            $log,
     1466            FILE_APPEND
     1467        );
     1468    }
     1469
    14421470}
  • showcase-creator/trunk/src/frontend.php

    r3200055 r3302189  
    2020    <div class="paging-navigation">
    2121        <div class="nav-links"><?php
    22             echo wp_kses_data( paginate_links( array(
     22            echo wp_kses_post( paginate_links( array(
    2323                'base' => $base . '%_%',
    2424                'format' => ( str_contains( $base, '?' ) ? '&' : '?' ) . 'paged=%#%',
  • showcase-creator/trunk/src/layouts.php

    r3239647 r3302189  
    234234        }
    235235        if ( $layouts ) {
    236             $output = wp_json_encode( $layouts );
     236            $output = wp_json_encode( $layouts, JSON_PRETTY_PRINT );
    237237            if ( $output ) {
    238238                header( 'Content-Type: application/json' );
     
    241241                    'filename="showcase-creator-exported-layouts.json"'
    242242                );
    243                 echo esc_textarea( sanitize_textarea_field( $output ) );
     243                echo wp_kses_data( $output );
    244244                exit;
    245245            }
  • showcase-creator/trunk/src/modules/select.css

    r3190704 r3302189  
    3737    width: max-content;
    3838    height: max-content;
     39    max-height: 50vh;
     40    overflow-y: auto;
    3941    -webkit-box-shadow: 5px 5px 10px 0px #0005;
    4042    box-shadow: 5px 5px 10px 0px #0005;
     
    4648    gap: 10px;
    4749    width: 100%;
    48     min-height: 2em;
    4950    padding: 5px;
    5051    color: var(--vid-text-color) !important;
  • showcase-creator/trunk/src/modules/slider.js

    r3190704 r3302189  
    1 ( () => {
    2    
     1
     2jQuery( document ).ready( ( $ ) => {
     3
    34    let sc, modules, EL, ms;
    45    try {
     
    136137            );
    137138            this.wrapper.style.minHeight = this.tallest + 'px';
     139            const wrapperWidth = this.wrapper.getBoundingClientRect().width;
     140            this.items.forEach( i => i.style.maxWidth = ( wrapperWidth - 10 ) + 'px' );
    138141            this.widths = this.items.map( i => {
    139142                const style = getComputedStyle( i );
     
    144147                );
    145148            } );
    146             const wrapperWidth = this.wrapper.getBoundingClientRect().width;
    147149            this.clonedItems = [];
    148150            const l = this.items.length;
     
    154156                if ( i > this.widths.length-1 ) {
    155157                    i = 0;
     158                }
     159                if ( 'undefined' === typeof item ) {
     160                    continue;
    156161                }
    157162                sum += this.widths[i];
     
    332337            [ ...this.items, ...this.clonedItems ].forEach( c => c.remove() );
    333338            this.wrapper.append( ...this.items );
    334             this.items.forEach( i => i.style.width = window.getComputedStyle( i ).width );
     339            this.items.forEach( i => { console.log( i ); i.style.width = getComputedStyle( i ).width; } );
    335340            this.slider.append( ...this.items );
    336341            this.counter && ( this.counter.remove() );
     
    398403
    399404    // Auto-mount sliders.
    400     window.addEventListener( 'load', () => modules.slider.autoMount() );
    401 
    402 } )();
     405    $( window ).ready( () => modules.slider.autoMount() );
     406
     407} );
  • showcase-creator/trunk/src/ordered-lists.js

    r3267053 r3302189  
    14171417            query.post_type = filterType.value[0];
    14181418            if ( filterTax.value[0] && filterTerm.value[0] ) {
    1419                 query.tax_query = {
     1419                query.tax_query = [ {
    14201420                    taxonomy: filterTax.value[0],
    1421                     terms: filterTerm.value[0]
    1422                 };
     1421                    terms: [ filterTerm.value[0] ]
     1422                } ];
    14231423            }
    14241424        }
Note: See TracChangeset for help on using the changeset viewer.