Plugin Directory

Changeset 3464853


Ignore:
Timestamp:
02/19/2026 08:46:21 AM (5 weeks ago)
Author:
FARAZFRANK
Message:

L11 bug block theme fixed and adding media performing issue fixed

Location:
slider-factory
Files:
216 added
7 edited

Legend:

Unmodified
Added
Removed
  • slider-factory/trunk/admin/all-sliders.php

    r2616391 r3464853  
    262262                        <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?>
    263263                    </a>
    264                     <a class="btn btn-danger bg-gradient" style="background-color: #e76f51; border-color: #e76f51;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
     264                    <a class="btn btn-danger bg-gradient" style="background-color: #e52e00; border-color: #e52e00;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
    265265                        <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?>
    266266                    </a>
     
    281281                        <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?>
    282282                    </a>
    283                     <a class="btn btn-danger bg-gradient" style="background-color: #e76f51; border-color: #e76f51;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
     283                    <a class="btn btn-danger bg-gradient" style="background-color: #e52e00; border-color: #e52e00;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
    284284                        <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?>
    285285                    </a>
     
    300300                        <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?>
    301301                    </a>
    302                     <a class="btn btn-danger bg-gradient" style="background-color: #e76f51; border-color: #e76f51;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
     302                    <a class="btn btn-danger bg-gradient" style="background-color: #e52e00; border-color: #e52e00;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
    303303                        <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?>
    304304                    </a>
     
    319319                        <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?>
    320320                    </a>
    321                     <a class="btn btn-danger bg-gradient" style="background-color: #e76f51; border-color: #e76f51;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
     321                    <a class="btn btn-danger bg-gradient" style="background-color: #e52e00; border-color: #e52e00;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
    322322                        <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?>
    323323                    </a>
     
    338338                        <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?>
    339339                    </a>
    340                     <a class="btn btn-danger bg-gradient" style="background-color: #e76f51; border-color: #e76f51;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
     340                    <a class="btn btn-danger bg-gradient" style="background-color: #e52e00; border-color: #e52e00;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
    341341                        <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?>
    342342                    </a>
     
    357357                        <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?>
    358358                    </a>
    359                     <a class="btn btn-danger bg-gradient" style="background-color: #e76f51; border-color: #e76f51;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
     359                    <a class="btn btn-danger bg-gradient" style="background-color: #e52e00; border-color: #e52e00;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
    360360                        <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?>
    361361                    </a>
     
    376376                        <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?>
    377377                    </a>
    378                     <a class="btn btn-danger bg-gradient" style="background-color: #e76f51; border-color: #e76f51;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
     378                    <a class="btn btn-danger bg-gradient" style="background-color: #e52e00; border-color: #e52e00;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
    379379                        <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?>
    380380                    </a>
     
    395395                        <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?>
    396396                    </a>
    397                     <a class="btn btn-danger bg-gradient" style="background-color: #e76f51; border-color: #e76f51;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
     397                    <a class="btn btn-danger bg-gradient" style="background-color: #e52e00; border-color: #e52e00;" target="_blank" href="https://wpfrank.com/wordpress-plugins/slider-factory-pro/">
    398398                        <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?>
    399399                    </a>
  • slider-factory/trunk/admin/assets/js/sf-uploader.js

    r2616391 r3464853  
    33 */
    44jQuery(
    5     function(jQuery) {
     5    function (jQuery) {
    66        var file_frame,
    7         SF = {
    8             ul: '',
    9             init: function() {
    10                 /* this.admin_thumb_ul = jQuery('#uris-slides-container');
    11                 this.admin_thumb_ul.sortable({
    12                 placeholder: '',
    13                 revert: true,
    14                 }); */
     7            SF = {
     8                ul: '',
     9                init: function () {
     10                    /* this.admin_thumb_ul = jQuery('#uris-slides-container');
     11                    this.admin_thumb_ul.sortable({
     12                    placeholder: '',
     13                    revert: true,
     14                    }); */
    1515
    16                 /* this.admin_thumb_ul.on('click', '.sf-delete-slide', function() {
    17                 //if (confirm('Are you sure you want to delete this slide?')) {
    18                     jQuery(this).parent().fadeOut(700, function() {
    19                         jQuery(this).remove();
    20                     });
    21                 //}
    22                 return false;
    23                 }); */
     16                    /* this.admin_thumb_ul.on('click', '.sf-delete-slide', function() {
     17                    //if (confirm('Are you sure you want to delete this slide?')) {
     18                        jQuery(this).parent().fadeOut(700, function() {
     19                            jQuery(this).remove();
     20                        });
     21                    //}
     22                    return false;
     23                    }); */
    2424
    25                 /**
    26                  * Add Image Callback Function
    27                  */
    28                 jQuery( '#sf-upload-slides' ).on(
    29                     'click',
    30                     function(event) {
    31                         event.preventDefault();
    32                         if (file_frame) {
     25                    /**
     26                     * Add Image Callback Function
     27                     */
     28                    jQuery('#sf-upload-slides').on(
     29                        'click',
     30                        function (event) {
     31                            event.preventDefault();
     32                            if (file_frame) {
     33                                file_frame.open();
     34                                return;
     35                            }
     36                            file_frame = wp.media.frames.file_frame = wp.media(
     37                                {
     38                                    multiple: true
     39                                }
     40                            );
     41
     42                            file_frame.on(
     43                                'select',
     44                                function () {
     45                                    var images = file_frame.state().get('selection').toJSON(),
     46                                        length = images.length,
     47                                        attachment_ids = [];
     48
     49                                    for (var i = 0; i < length; i++) {
     50                                        attachment_ids.push(images[i]['id']);
     51                                    }
     52
     53                                    SF.get_thumbnail(attachment_ids);
     54                                }
     55                            );
    3356                            file_frame.open();
    34                             return;
    3557                        }
    36                         file_frame = wp.media.frames.file_frame = wp.media(
    37                             {
    38                                 multiple: true
     58                    );
     59
     60                    /**
     61                     * Remove Image Slide Callback Function
     62                     */
     63                    /* this.ul.on('click', '#sf-remove-image', function() {
     64                    if (confirm('Are sure to delete this images?')) {
     65                        jQuery(this).parent().fadeOut(700, function() {
     66                            jQuery(this).remove();
     67                        });
     68                    }
     69                    return false;
     70                    }); */
     71
     72                    /**
     73                     * Remove All Image Slides Callback Function
     74                     */
     75                    /* jQuery('.sf-delete-all-slide').on('click', function() {
     76                    //if (confirm('Are you sure you want to delete all the slides?')) {
     77                        //SF.admin_thumb_ul.fadeOut(700);
     78                        jQuery(function() {
     79                            setTimeout(function() {
     80                                SF.admin_thumb_ul.empty();
     81                            }, 700);
     82                        });
     83                    //}
     84                    return false;
     85                    }); */
     86
     87                },
     88                get_thumbnail: function (ids, cb) {
     89                    cb = cb || function () {
     90                    };
     91
     92                    var sf_slider_id = jQuery("#sf_slider_id").val();
     93                    var sf_upload_nonce = jQuery("#sf_upload_nonce").val();
     94
     95                    var data = {
     96                        action: 'sf_image_id',
     97                        sf_attachment_ids: ids,
     98                        sf_slider_id: sf_slider_id,
     99                        sf_upload_nonce: sf_upload_nonce,
     100                    };
     101
     102                    jQuery.ajax(
     103                        {
     104                            type: 'POST',
     105                            url: ajaxurl,
     106                            async: true,
     107                            dataType: 'html',
     108                            data: data,
     109                            complete: function () { },
     110                            success: function (response) {
     111                                jQuery(".sf-slides").append(response);
     112                                // SF.admin_thumb_ul.prepend(response);
     113                                cb();
     114                                // BindMultiSelect();
    39115                            }
    40                         );
    41 
    42                         file_frame.on(
    43                             'select',
    44                             function() {
    45                                 var images = file_frame.state().get( 'selection' ).toJSON(),
    46                                     length = images.length;
    47                                 for (var i = 0; i < length; i++) {
    48                                     SF.get_thumbnail( images[i]['id'] );
    49                                 }
    50                             }
    51                         );
    52                         file_frame.open();
    53                     }
    54                 );
    55 
    56                 /**
    57                  * Remove Image Slide Callback Function
    58                  */
    59                 /* this.ul.on('click', '#sf-remove-image', function() {
    60                 if (confirm('Are sure to delete this images?')) {
    61                     jQuery(this).parent().fadeOut(700, function() {
    62                         jQuery(this).remove();
    63                     });
     116                        }
     117                    );
    64118                }
    65                 return false;
    66                 }); */
    67 
    68                 /**
    69                  * Remove All Image Slides Callback Function
    70                  */
    71                 /* jQuery('.sf-delete-all-slide').on('click', function() {
    72                 //if (confirm('Are you sure you want to delete all the slides?')) {
    73                     //SF.admin_thumb_ul.fadeOut(700);
    74                     jQuery(function() {
    75                         setTimeout(function() {
    76                             SF.admin_thumb_ul.empty();
    77                         }, 700);
    78                     });
    79                 //}
    80                 return false;
    81                 }); */
    82 
    83             },
    84             get_thumbnail: function(id, cb) {
    85                 cb = cb || function() {
    86                 };
    87 
    88                 var sf_slider_id = jQuery( "#sf_slider_id" ).val();
    89                 var sf_upload_nonce = jQuery( "#sf_upload_nonce" ).val();
    90                 console.log( sf_slider_id );
    91                 var data = {
    92                     action: 'sf_image_id',
    93                     sf_attachment_id: id,
    94                     sf_slider_id: sf_slider_id,
    95                     sf_upload_nonce: sf_upload_nonce,
    96                 };
    97 
    98                 jQuery.ajax(
    99                     {
    100                         type: 'POST',
    101                         url: ajaxurl,
    102                         async: false,
    103                         dataType: 'html',
    104                         data: data,
    105                         complete: function() { },
    106                         success: function(response) {
    107                             jQuery( ".sf-slides" ).append( response );
    108                             // SF.admin_thumb_ul.prepend(response);
    109                             cb();
    110                             // BindMultiSelect();
    111                         }
    112                     }
    113                 );
    114             }
    115         };
     119            };
    116120        SF.init();
    117121    }
  • slider-factory/trunk/layouts/11.php

    r2616391 r3464853  
    116116<script type="text/javascript">
    117117jQuery(function () {
    118     Slider.init();
     118    SF_Layout11_Slider.init();
    119119});
    120120</script>
  • slider-factory/trunk/layouts/assets/11/css/test-style.css

    r2616391 r3464853  
     1/* Layout 11 - Flexbox Refactor */
     2
    13.ps-container {
    2     position: absolute;
    3     width: 100%;
    4     height: 100%;
     4    display: flex;
     5    flex-wrap: wrap;
     6    width: 100%;
     7    height: 100%;
     8    background: #fff;
    59    overflow: hidden;
    6     /* text-transform: uppercase; */
    7     color: #555;
    8     background: #fafafa;
    9 }
    10 .ps-container {
    11 position: relative;
    12 width: 100%;
    13 }
    14 .ps-container:before {
    15 content: "";
    16     display: block;
    17     padding-top: 100%;
    18 }
    19 .ps-container > div {
    20     position: absolute;
     10    position: relative;
     11}
     12
     13/* Header - kept but minimized if empty, or full width if needed */
     14.ps-header {
     15    width: 100%;
     16    height: 50px;
     17    /* Reduced from 150px as it seemed unused */
     18    background: #fff;
     19    z-index: 10;
     20    display: none;
     21    /* Hiding for now based on screenshot */
     22}
     23
     24/* Header Title (if enabled) */
     25.ps-header h1 {
     26    margin: 0;
     27    padding: 0 20px;
     28    line-height: 50px;
     29    color: #ccc;
     30    font-weight: 200;
     31    letter-spacing: 4px;
     32}
     33
     34/* LEFT COLUMN: Text Content */
     35.ps-contentwrapper {
    2136    width: 50%;
    22 }
    23 
    24 .ps-container > div > div,
    25 .ps-slidewrapper > nav,
    26 .ps-slides > div {
    27     position: absolute;
    28 }
    29 
    30 .ps-header {
    31     top: 0px;
    32     left: 0px;
    33     height: 150px;
    34     z-index: 1001;
    35     background: #fff;
    36 }
    37 
    38 .ps-header h1 {
    39     color: #ccc;
    40     line-height: 150px;
    41     margin: 0;
    42     padding: 0 50px;
    43     font-weight: 200;
     37    height: 100%;
     38    position: relative;
     39    background: #fff;
     40    z-index: 5;
     41    order: 1;
     42}
     43
     44/* Inside Left Column */
     45.ps-content {
     46    position: absolute;
     47    top: 0;
     48    left: 0;
     49    width: 100%;
     50    height: 100%;
     51    padding: 60px;
     52    box-sizing: border-box;
     53    /* Fix overflow issue */
     54    display: flex;
     55    flex-direction: column;
     56    justify-content: center;
     57    opacity: 0;
     58    /* Hidden by default */
     59    pointer-events: none;
     60    transition: opacity 0.4s ease-in-out;
     61    background: #fff;
     62}
     63
     64/* Active Class from JS to show content */
     65.ps-content.ps-active {
     66    opacity: 1;
     67    pointer-events: auto;
     68    z-index: 10;
     69}
     70
     71/* Text styles */
     72.ps-content h2 {
     73    font-size: 32px;
     74    margin: 0 0 20px;
     75    font-weight: 700;
     76    text-transform: uppercase;
     77    letter-spacing: 2px;
     78}
     79
     80.ps-content p {
    4481    font-size: 14px;
    45     letter-spacing: 10px;
    46 }
    47 
    48 .ps-contentwrapper {
    49     top: 150px;
    50     bottom: 0px;
     82    line-height: 1.8;
     83    color: #666;
     84    margin-bottom: 20px;
     85}
     86
     87.ps-content a:last-child {
     88    display: inline-block;
     89    font-weight: 700;
     90    color: #333;
     91    text-transform: uppercase;
     92    letter-spacing: 2px;
     93    border-bottom: 2px solid #333;
     94    width: fit-content;
     95}
     96
     97/* RIGHT COLUMN: Slides + Nav */
     98.ps-slidewrapper {
     99    width: 50%;
     100    height: 100%;
     101    display: flex;
     102    flex-direction: column;
     103    position: relative;
     104    order: 2;
     105}
     106
     107/* Top Right: Images */
     108.ps-slides {
     109    width: 100%;
     110    height: 70%;
     111    /* Takes up top 70% of right column */
     112    position: relative;
    51113    overflow: hidden;
    52     z-index: 1000;
    53 }
    54 
    55 .ps-content {
    56     background: #fff;
    57     width: 100%;
    58     height: 100%;
    59     padding: 50px;
    60 }
    61 
    62 .ps-content h2 {
    63     padding: 10px 15px;
    64     border-right: 1px solid #f2f2f2;
    65     border-bottom: 1px solid #f2f2f2;
    66     letter-spacing: 4px;
    67     margin: 10px 0 30px;
    68     text-align: right;
    69     font-weight: 700;
    70 }
    71 
    72 .ps-content p {
    73     line-height: 26px;
    74     font-size: 12px;
    75     letter-spacing: 1px;
    76     word-spacing: 0px;
    77     padding: 10px 15px;
    78     font-weight: 400;
    79     text-align: justify;
    80     border-left: 1px solid #f2f2f2;
    81     border-top: 1px solid #f2f2f2;
    82 }
    83 
    84 .ps-content span.ps-price {
    85     float: left;
    86     margin: 10px;
    87     width: auto;
    88     height: auto;
    89     line-height: 140px;
    90     text-align: center;
    91     color: #fff;
    92     background: #f7cfc6;
    93     background: rgba(247,197,185,0.8);
    94     font-size: 40px;
    95     font-weight: 200;
    96     padding :0 10px 0 10px;
    97 
    98 
    99 }
    100 
    101 .ps-content a:last-child {
    102     font-size: 14px;
    103     font-weight: 700;
    104     color: #555;
    105     letter-spacing: 4px;
    106     float: right;
    107     border: 3px solid #555;
    108     padding: 3px;
    109     text-indent: 4px;
    110 }
    111 
    112 .no-touch .ps-content a:last-child:hover {
    113     color: #b2d79d;
    114     border-color: #b2d79d;
    115 }
    116 
    117 .ps-content a:last-child:before {
     114}
     115
     116.ps-slides>div {
     117    position: absolute;
     118    top: 0;
     119    left: 0;
     120    width: 100%;
     121    height: 100%;
     122    background-size: cover;
     123    background-position: center;
     124    opacity: 0;
     125    transition: opacity 0.4s ease-in-out;
     126    z-index: 1;
     127}
     128
     129/* Active Class from JS */
     130.ps-slides>div.ps-active {
     131    opacity: 1;
     132    z-index: 10;
     133}
     134
     135/* Bottom Right: Navigation */
     136.ps-slidewrapper>nav {
     137    width: 100%;
     138    height: 30%;
     139    /* Takes up bottom 30% of right column */
     140    display: flex;
     141    position: relative;
     142}
     143
     144.ps-slidewrapper>nav>a {
     145    width: 50%;
     146    height: 100%;
     147    position: relative;
     148    background-color: #f0f0f0;
     149    background-repeat: no-repeat;
     150    background-size: cover;
     151    background-position: center;
     152    cursor: pointer;
     153    transition: opacity 0.3s;
     154}
     155
     156.ps-slidewrapper>nav>a:hover {
     157    opacity: 0.8;
     158}
     159
     160/* Navigation Arrow Icons */
     161.ps-slidewrapper>nav>a:after {
    118162    content: '';
    119     font-family: 'icon';
    120     font-style: normal;
    121     font-weight: normal;
    122     speak: none;
    123     padding-right: 5px;
    124 }
    125 
    126 .ps-slidewrapper {
    127     right: 0px;
    128     top: 0px;
    129     height: 100%;
    130     overflow: hidden;
    131 }
    132 
    133 .ps-slides {
    134     top: 0px;
    135     bottom: 200px;
    136     width: 100%;
    137 }
    138 
    139 .ps-slides > div {
    140     width: 100%;
    141     height: 100%;
    142     box-shadow: inset 0 0 0 9999px rgba(179,157,250,0.1);
    143 }
    144 
    145 .ps-slidewrapper > nav {
    146     width: 100%;
    147     height: 200px;
    148     bottom: 0px;
    149     right: 0px;
    150     z-index: 1000;
    151 }
    152 
    153 .ps-slidewrapper > nav > a {
    154     width: 50%;
    155     height: 100%;
    156     position: relative;
    157     float: left;
    158     box-shadow: inset 0 0 0 9999px rgba(207,227,206,0.8);
    159     outline: none;
    160 }
    161 
    162 .ps-slidewrapper > nav > a:first-child {
    163     box-shadow: inset 0 0 0 9999px rgba(233,217,141,0.8);
    164 }
    165 
    166 .no-touch .ps-slidewrapper > nav > a {
    167     -webkit-transition: box-shadow 0.4s ease-in-out;
    168     -moz-transition: box-shadow 0.4s ease-in-out;
    169     -ms-transition: box-shadow 0.4s ease-in-out;
    170     -o-transition: box-shadow 0.4s ease-in-out;
    171     transition: box-shadow 0.4s ease-in-out;
    172 }
    173 
    174 .no-touch .ps-slidewrapper > nav > a:hover {
    175     box-shadow: inset 0 0 0 9999px rgba(246,224,121,0.1);
    176 }
    177 
    178 .no-touch .ps-slidewrapper > nav > a:first-child:hover {
    179     box-shadow: inset 0 0 0 9999px rgba(249,15,15,0.1);
    180 }
    181 
    182 .ps-slidewrapper > nav > a:after {
    183     content: '';
    184     position: absolute;
    185     width: 100px;
    186     height: 100px;
     163    position: absolute;
    187164    top: 50%;
    188165    left: 50%;
    189     margin: -20px 0 0 -50px;
    190     -webkit-transform: rotate(45deg);
    191     -moz-transform: rotate(45deg);
    192     -o-transform: rotate(45deg);
    193     -ms-transform: rotate(45deg);
    194     transform: rotate(45deg);
    195     border-left: 1px solid #fff;
    196     border-top: 1px solid #fff;
    197 }
    198 
    199 .ps-slidewrapper > nav > a:first-child:after {
    200     -webkit-transform: rotate(-135deg);
    201     -moz-transform: rotate(-135deg);
    202     -o-transform: rotate(-135deg);
    203     -ms-transform: rotate(-135deg);
    204     transform: rotate(-135deg);
    205     margin: -80px 0 0 -50px;
    206 }
    207 
    208 .ps-slides > div,
    209 .ps-slidewrapper > nav > a {
    210     background-color: #fff;
    211     background-position: center top;
    212     background-repeat: no-repeat;
    213     -webkit-background-size: 100% 100% !important;
    214     -moz-background-size: auto 100%;
    215     background-size: auto 100%;
    216 }
    217 
    218 .ps-move {
    219     -webkit-transition: top 400ms ease-out;
    220     -moz-transition: top 400ms ease-out;
    221     -o-transition: top 400ms ease-out;
    222     -ms-transition: top 400ms ease-out;
    223     transition: top 400ms ease-out;
    224 }
    225 
     166    width: 20px;
     167    height: 20px;
     168    border-right: 2px solid #fff;
     169    border-bottom: 2px solid #fff;
     170    transform: translate(-50%, -50%) rotate(45deg);
     171    pointer-events: none;
     172}
     173
     174.ps-slidewrapper>nav>a.ps-prev:after {
     175    transform: translate(-50%, -50%) rotate(135deg);
     176    /* Point Left */
     177}
     178
     179.ps-slidewrapper>nav>a.ps-next:after {
     180    transform: translate(-50%, -50%) rotate(-45deg);
     181    /* Point Right */
     182}
     183
     184/* Overlay for arrows to make them visible on images */
     185.ps-slidewrapper>nav>a:before {
     186    content: '';
     187    position: absolute;
     188    top: 0;
     189    left: 0;
     190    right: 0;
     191    bottom: 0;
     192    background: rgba(0, 0, 0, 0.3);
     193}
     194
     195
     196/* Responsive */
    226197@media screen and (max-width: 860px) {
    227 
    228     .js .ps-container > div {
     198    .ps-container {
     199        flex-direction: column;
     200    }
     201
     202    .ps-contentwrapper,
     203    .ps-slidewrapper {
    229204        width: 100%;
     205        height: 50%;
    230206    }
    231207
    232     .js .ps-header {
    233         height: 50px;
     208    .ps-content {
     209        padding: 30px;
    234210    }
    235 
    236     .js .ps-header h1 {
    237         line-height: 50px;
    238         padding: 0px 20px;
    239         letter-spacing: 4px;
    240     }
    241 
    242     .js .ps-slides {
    243         bottom: 320px;
    244         top: 50px;
    245     }
    246 
    247     .js .ps-slidewrapper > nav {
    248         height: 100px;
    249     }
    250 
    251     .js .ps-contentwrapper {
    252         top: auto;
    253         height: 220px;
    254         bottom: 100px;
    255     }
    256 
    257     .js .ps-content {
    258         padding: 10px;
    259     }
    260 
    261     .js .ps-content h2 {
    262         border-right: none;
    263         font-size: 18px;
    264         margin: 10px 0;
    265         padding-top: 0;
    266     }
    267 
    268     .js .ps-content span.ps-price {
    269         font-size: 18px;
    270         width: 50px;
    271         height: 50px;
    272         line-height: 50px;
    273         font-weight: 700;
    274         margin-bottom: 0;
    275     }
    276 
    277     .js .ps-content p {
    278         line-height: 20px;
    279         border: none;
    280         padding: 5px 10px;
    281         height: 80px;
    282         overflow-y: scroll;
    283     }
    284 
    285     .js .ps-content a:last-child {
    286         font-size: 13px;
    287         margin: 10px 20px 0 0;
    288     }
    289 }
     211}
  • slider-factory/trunk/layouts/assets/11/js/slider.js

    r2616391 r3464853  
    1 var Slider = (function() {
     1var SF_Layout11_Slider = (function () {
    22
    3     var $container      = jQuery( '#ps-container' ),
    4         $contentwrapper = $container.children( 'div.ps-contentwrapper' ),
     3    var $container, $contentwrapper, $items, itemsCount, $slidewrapper, $slidescontainer, $slides, $navprev, $navnext, current, isAnimating, support, transEndEventNames, transEndEventName;
     4
     5    var init = function () {
     6        $container = jQuery('#ps-container');
     7        $contentwrapper = $container.children('div.ps-contentwrapper');
    58        // the items (description elements for the slides/products)
    6         $items        = $contentwrapper.children( 'div.ps-content' ),
    7         itemsCount    = $items.length,
    8         $slidewrapper = $container.children( 'div.ps-slidewrapper' ),
     9        $items = $contentwrapper.children('div.ps-content');
     10        itemsCount = $items.length;
     11        $slidewrapper = $container.children('div.ps-slidewrapper');
    912        // the slides (product images)
    10         $slidescontainer = $slidewrapper.find( 'div.ps-slides' ),
    11         $slides          = $slidescontainer.children( 'div' ),
     13        $slidescontainer = $slidewrapper.find('div.ps-slides');
     14
     15        $slides = $slidescontainer.children('div');
    1216        // navigation arrows
    13         $navprev = $slidewrapper.find( 'nav > a.ps-prev' ),
    14         $navnext = $slidewrapper.find( 'nav > a.ps-next' ),
     17        $navprev = $slidewrapper.find('nav > a.ps-prev');
     18        $navnext = $slidewrapper.find('nav > a.ps-next');
     19
    1520        // current index for items and slides
    16         current = 0,
     21        current = 0;
    1722        // checks if the transition is in progress
    18         isAnimating = false,
     23        isAnimating = false;
    1924        // support for CSS transitions
    20         support = Modernizr.csstransitions,
     25        support = Modernizr.csstransitions;
    2126        // transition end event
    2227        // https://github.com/twitter/bootstrap/issues/2870
    2328        transEndEventNames = {
    24             'WebkitTransition' : 'webkitTransitionEnd',
    25             'MozTransition' : 'transitionend',
    26             'OTransition' : 'oTransitionEnd',
    27             'msTransition' : 'MSTransitionEnd',
    28             'transition' : 'transitionend'
     29            'WebkitTransition': 'webkitTransitionEnd',
     30            'MozTransition': 'transitionend',
     31            'OTransition': 'oTransitionEnd',
     32            'msTransition': 'MSTransitionEnd',
     33            'transition': 'transitionend'
     34        };
     35        // its name
     36        transEndEventName = transEndEventNames[Modernizr.prefixed('transition')];
     37
     38        // show first item
     39        var $currentItem = $items.eq(current),
     40            $currentSlide = $slides.eq(current);
     41
     42        $currentItem.addClass('ps-active');
     43        $currentSlide.addClass('ps-active');
     44
     45        // update nav images
     46        updateNavImages();
     47
     48        // initialize some events
     49        initEvents();
     50
    2951    },
    30         // its name
    31         transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ],
     52        updateNavImages = function () {
    3253
    33         init             = function() {
     54            // updates the background image for the navigation arrows
     55            var configPrev = (current > 0) ? $slides.eq(current - 1).css('background-image') : $slides.eq(itemsCount - 1).css('background-image'),
     56                configNext = (current < itemsCount - 1) ? $slides.eq(current + 1).css('background-image') : $slides.eq(0).css('background-image');
    3457
    35             // show first item
    36             var $currentItem  = $items.eq( current ),
    37                 $currentSlide = $slides.eq( current ),
    38                 initCSS       = {
    39                     top : 0,
    40                     zIndex : 999
    41             };
    42 
    43             $currentItem.css( initCSS );
    44             $currentSlide.css( initCSS );
    45 
    46             // update nav images
    47             updateNavImages();
    48 
    49             // initialize some events
    50             initEvents();
     58            $navprev.css('background-image', configPrev);
     59            $navnext.css('background-image', configNext);
    5160
    5261        },
    53         updateNavImages  = function() {
    54 
    55             // updates the background image for the navigation arrows
    56             var configPrev = ( current > 0 ) ? $slides.eq( current - 1 ).css( 'background-image' ) : $slides.eq( itemsCount - 1 ).css( 'background-image' ),
    57                 configNext = ( current < itemsCount - 1 ) ? $slides.eq( current + 1 ).css( 'background-image' ) : $slides.eq( 0 ).css( 'background-image' );
    58 
    59             $navprev.css( 'background-image', configPrev );
    60             $navnext.css( 'background-image', configNext );
    61 
    62         },
    63         initEvents       = function() {
     62        initEvents = function () {
    6463
    6564            $navprev.on(
    6665                'click',
    67                 function( event ) {
     66                function (event) {
    6867
    69                     if ( ! isAnimating ) {
     68                    if (!isAnimating) {
    7069
    71                         slide( 'prev' );
     70                        slide('prev');
    7271
    7372                    }
     
    7978            $navnext.on(
    8079                'click',
    81                 function( event ) {
     80                function (event) {
    8281
    83                     if ( ! isAnimating ) {
     82                    if (!isAnimating) {
    8483
    85                         slide( 'next' );
     84                        slide('next');
    8685
    8786                    }
     
    9291
    9392            // transition end event
    94             $items.on( transEndEventName, removeTransition );
    95             $slides.on( transEndEventName, removeTransition );
     93            $items.on(transEndEventName, removeTransition);
     94            $slides.on(transEndEventName, removeTransition);
    9695
    9796        },
    98         removeTransition = function() {
     97        removeTransition = function () {
    9998
    10099            isAnimating = false;
    101             jQuery( this ).removeClass( 'ps-move' );
     100            jQuery(this).removeClass('ps-move');
    102101
    103102        },
    104         slide            = function( dir ) {
     103        slide = function (dir) {
    105104
    106105            isAnimating = true;
    107106
    108             var $currentItem  = $items.eq( current ),
    109                 $currentSlide = $slides.eq( current );
     107            var $currentItem = $items.eq(current),
     108                $currentSlide = $slides.eq(current);
    110109
    111110            // update current value
    112             if ( dir === 'next' ) {
     111            if (dir === 'next') {
    113112
    114                 ( current < itemsCount - 1 ) ? ++current : current = 0;
     113                (current < itemsCount - 1) ? ++current : current = 0;
    115114
    116             } else if ( dir === 'prev' ) {
     115            } else if (dir === 'prev') {
    117116
    118                 ( current > 0 ) ? --current : current = itemsCount - 1;
     117                (current > 0) ? --current : current = itemsCount - 1;
    119118
    120119            }
    121                 // new item that will be shown
    122             var $newItem = $items.eq( current ),
    123                 // new slide that will be shown
    124                 $newSlide = $slides.eq( current );
     120            // Logic for CSS Class based transition (Flexbox friendly)
    125121
    126             // position the new item up or down the viewport depending on the direction
    127             $newItem.css(
    128                 {
    129                     top : ( dir === 'next' ) ? '-100%' : '100%',
    130                     zIndex : 999
    131                 }
    132             );
     122            // Remove active class from CURRENT
     123            $currentItem.removeClass('ps-active');
     124            $currentSlide.removeClass('ps-active');
    133125
    134             $newSlide.css(
    135                 {
    136                     top : ( dir === 'next' ) ? '100%' : '-100%',
    137                     zIndex : 999
    138                 }
    139             );
     126            // Add active class to NEW
     127            var $newItem = $items.eq(current);
     128            var $newSlide = $slides.eq(current);
    140129
    141             setTimeout(
    142                 function() {
     130            $newItem.addClass('ps-active');
     131            $newSlide.addClass('ps-active');
    143132
    144                     // move the current item and slide to the top or bottom depending on the direction
    145                     $currentItem.addClass( 'ps-move' ).css(
    146                         {
    147                             top : ( dir === 'next' ) ? '100%' : '-100%',
    148                             zIndex : 1
    149                         }
    150                     );
     133            isAnimating = false; // Transition handled by CSS
     134            updateNavImages();
    151135
    152                     $currentSlide.addClass( 'ps-move' ).css(
    153                         {
    154                             top : ( dir === 'next' ) ? '-100%' : '100%',
    155                             zIndex : 1
    156                         }
    157                     );
    158 
    159                     // move the new ones to the main viewport
    160                     $newItem.addClass( 'ps-move' ).css( 'top', 0 );
    161                     $newSlide.addClass( 'ps-move' ).css( 'top', 0 );
    162 
    163                     // if no CSS transitions set the isAnimating flag to false
    164                     if ( ! support ) {
    165 
    166                         isAnimating = false;
    167 
    168                     }
    169 
    170                 },
    171                 0
    172             );
    173136
    174137            // update nav images
     
    177140        };
    178141
    179     return { init : init };
     142    return { init: init };
    180143
    181144})();
  • slider-factory/trunk/readme.txt

    r3419748 r3464853  
    1 === Slider Factory for Images and Videos ===
     1=== Slider Factory ===
    22Contributors: awordpresslife, razipathhan, hanif0991, muhammadshahid, fkfaisalkhan007, sharikkhan007, zishlife, FARAZFRANK
    3 Version: 1.3.12
    43Donate link: https://paypal.me/buymecupofcoffee?locale.x=en_GB&country.x=IN
    54Tags: slider, image slider, photo slider, carousel, responsive slider
    65Requires at least: 5.0
    76Tested up to: 6.9
    8 Stable tag: 1.3.12
     7Stable tag: 1.3.13
    98Requires PHP: 7.0
    109License: GPLv2 or later
     
    1716Slider Factory helps you create attractive slideshows for your WordPress website. Whether you need an image slider for your homepage, a photo carousel for your portfolio, or a video slideshow for product demos, this plugin offers 12 ready-to-use layouts to get you started quickly.
    1817
    19 **View Free Demo:** **[Slider Factory](https://wpfrank.com/demo/slider-factory-free-wordpress-plugin/)** | **View Pro Demo:** **[Slider Factory Pro](https://wpfrank.com/demo/slider-factory-pro/)**
    20 **Learn More:** **[Slider Factory Pro Features](https://wpfrank.com/wordpress-plugins/slider-factory-pro/)** | **Purchase Pro:** **[Buy Slider Factory Pro](https://wpfrank.com/account/signup/slider-factory-pro/)**
    21 
    2218The plugin works with a simple drag-and-drop interface. Upload your images, arrange them in your preferred order, adjust the settings, and place the shortcode on any page or post. Your slider will automatically adapt to different screen sizes, looking sharp on desktops, tablets, and mobile phones.
    2319
     20Each slider supports titles, descriptions, and alt text for images, which helps with accessibility and search engine optimization. You can upload multiple images at once and rearrange them easily. The admin dashboard is built with Bootstrap 5, making it intuitive to navigate and configure your sliders.
     21
     22Slider Factory integrates smoothly with popular page builders including Elementor, Visual Composer, WPBakery Page Builder, and the Gutenberg block editor. It also works with WPML for multilingual websites.
     23
    2424== Watch Video Tutorial ==
    2525
    2626https://www.youtube.com/watch?v=UC0Ru2L4mFk&list=PLOeoids2h7nJrQEY8ro6-zp4i9wbUB6BY
    27 
    28 Each slider supports titles, descriptions, and alt text for images, which helps with accessibility and search engine optimization. You can upload multiple images at once and rearrange them easily. The admin dashboard is built with Bootstrap 5, making it intuitive to navigate and configure your sliders.
    29 
    30 Slider Factory integrates smoothly with popular page builders including Elementor, Visual Composer, WPBakery Page Builder, and the Gutenberg block editor. It also works with WPML for multilingual websites.
    3127
    3228== How It Works ==
     
    5854* **Widget Ready** – Use sliders in sidebar widgets
    5955* **Bootstrap 5 Dashboard** – Clean, modern admin interface
     56
     57**Free Plugin Demo:** [View Demo](https://wpfrank.com/demo/slider-factory-free-wordpress-plugin/)
    6058
    6159== Pro Version Features ==
     
    8684* **Translation Ready** – Compatible with WPML and multilingual plugins
    8785
     86**Pro Version Details:** [Learn More](https://wpfrank.com/wordpress-plugins/slider-factory-pro/)
     87**Pro Version Demo:** [View Demo](https://wpfrank.com/demo/slider-factory-pro/)
     88**Purchase Pro:** [Buy Now](https://wpfrank.com/account/signup/slider-factory-pro/)
     89
    8890https://www.youtube.com/watch?v=H0_FnzsrEGc
    8991
     
    164166== Changelog ==
    165167
     168= 1.3.13 =
     169* Layout 11 is not working on default theme: fixed
     170* Dashboard button CSS changed #e52e00
     171* Layout 11 CSS refactored to use Flexbox
     172* Layout 11 compatibility issue with Block themes fixed
     173* Performance issue with adding multiple images fixed
     174
    166175= 1.3.12 =
    167176* Readme updated for WordPress.org guidelines compliance
  • slider-factory/trunk/slider-factory.php

    r2963422 r3464853  
    55
    66/**
    7  * Plugin Name:       Slider Factory - 1.3.12
     7 * Plugin Name:       Slider Factory - 1.3.13
    88 * Plugin URI:        https://wpfrank.com/
    99 * Description:       Slider factory provides multiple slider layouts in single dashboard.
    10  * Version:           1.3.12
    11  * Requires at least: 4.0
    12  * Requires PHP:      4.0
     10 * Version:           1.3.13
     11 * Requires at least: 5.0
     12 * Requires PHP:      5.0
    1313 * Author:            FARAZFRANK
    1414 * Author URI:        https://profiles.wordpress.org/farazfrank/
     
    137137    if ( current_user_can( 'manage_options' ) ) {
    138138        if ( sanitize_text_field( wp_unslash( isset( $_POST['sf_upload_nonce'] ) ) ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['sf_upload_nonce'] ) ), 'sf-upload-nonce' ) ) {
    139             if ( sanitize_text_field( wp_unslash( isset( $_POST['sf_attachment_id'] ) ) ) && sanitize_text_field( wp_unslash( isset( $_POST['sf_slider_id'] ) ) ) ) {
    140                 // defaults
    141                 $sf_slide_title = $sf_slide_alt = $sf_slide_descs = $sf_slide_thumbnail = '';
    142                 // load values
    143                 $attachment_id  = sanitize_text_field( wp_unslash( $_POST['sf_attachment_id'] ) );
    144                 $sf_slide_title = get_the_title( $attachment_id );
    145                 $sf_slide_alt   = get_post_meta( $attachment_id, '_wp_attachment_image_alt', true );
    146                 // wp_get_attachment_image_src ( int $attachment_id, string|array $size = 'thumbnail', bool $icon = false )
    147                 // thumb, thumbnail, medium, large, post-thumbnail
    148                 $sf_slide_thumbnail = wp_get_attachment_image_src( $attachment_id, 'large', true ); // attachment medium URL
    149                 $attachment         = get_post( $attachment_id );
    150                 $sf_slide_descs     = $attachment->post_content; // attachment description
    151                 ?>
    152                 <div class="sf-slide-column col-md-4 col-lg-3 col-xl-2 my-2 sf_slide_<?php echo esc_attr( $attachment_id ); ?>" data-position="<?php echo esc_attr( $attachment_id ); ?>">
    153                     <div id="sf-slide-box" class="p-2 text-center shadow">
    154                         <img class="img-fluid" src="<?php echo esc_url( $sf_slide_thumbnail[0] ); ?>" style="height: 200px;">
    155                         <input type="text" class="form-control mt-1 sf_slide_id" name="sf_slide_id[<?php echo esc_attr( $attachment_id ); ?>]" value="<?php echo esc_attr( $attachment_id ); ?>" readonly>
    156                         <input type="text" class="form-control mt-1 sf_slide_title" name="sf_slide_title[<?php echo esc_attr( $attachment_id ); ?>]" placeholder="<?php esc_attr_e( 'Slide Title', 'slider-factory' ); ?>" value="<?php echo esc_attr( $sf_slide_title ); ?>">
    157                         <textarea class="form-control mt-1 sf_slide_desc" name="sf_slide_desc[<?php echo esc_attr( $attachment_id ); ?>]" placeholder="<?php esc_attr_e( 'Slide Description', 'slider-factory' ); ?>"><?php echo esc_textarea( $sf_slide_descs ); ?></textarea>
    158                         <input type="text" class="form-control mt-1 sf_slide_alt_text" name="sf_slide_alt_text[<?php echo esc_attr( $attachment_id ); ?>]" placeholder="<?php esc_attr_e( 'Slide Image SEO Text', 'slider-factory' ); ?>" value="<?php echo esc_attr( $sf_slide_alt ); ?>">
    159                         <button type="button" class="form-control btn btn-danger mt-1" style="background-color: #e76f51; border-color: #e76f51;" onclick="return WpfrankSFremoveSlide('<?php echo esc_attr( $attachment_id ); ?>');" name="sf_slide_remove"><?php esc_attr_e( 'Remove Slide', 'slider-factory' ); ?></button>
    160                     </div>
    161                 </div>
    162                 <?php
     139            if ( ( isset( $_POST['sf_attachment_ids'] ) || isset( $_POST['sf_attachment_id'] ) ) && isset( $_POST['sf_slider_id'] ) ) {
     140               
     141                // Prepare IDs array
     142                $attachment_ids = array();
     143                if ( isset( $_POST['sf_attachment_ids'] ) ) {
     144                    $ids = $_POST['sf_attachment_ids'];
     145                    if ( is_array( $ids ) ) {
     146                        $attachment_ids = array_map( 'sanitize_text_field', $ids );
     147                    }
     148                } elseif ( isset( $_POST['sf_attachment_id'] ) ) {
     149                    $attachment_ids[] = sanitize_text_field( wp_unslash( $_POST['sf_attachment_id'] ) );
     150                }
     151
     152                if ( ! empty( $attachment_ids ) ) {
     153                    foreach ( $attachment_ids as $attachment_id ) {
     154                        // defaults
     155                        $sf_slide_title = $sf_slide_alt = $sf_slide_descs = $sf_slide_thumbnail = '';
     156                       
     157                        // load values
     158                        $sf_slide_title = get_the_title( $attachment_id );
     159                        $sf_slide_alt   = get_post_meta( $attachment_id, '_wp_attachment_image_alt', true );
     160                       
     161                        // wp_get_attachment_image_src ( int $attachment_id, string|array $size = 'thumbnail', bool $icon = false )
     162                        // thumb, thumbnail, medium, large, post-thumbnail
     163                        $sf_slide_thumbnail = wp_get_attachment_image_src( $attachment_id, 'large', true ); // attachment medium URL
     164                        $attachment         = get_post( $attachment_id );
     165                        $sf_slide_descs     = $attachment->post_content; // attachment description
     166                        ?>
     167                        <div class="sf-slide-column col-md-4 col-lg-3 col-xl-2 my-2 sf_slide_<?php echo esc_attr( $attachment_id ); ?>" data-position="<?php echo esc_attr( $attachment_id ); ?>">
     168                            <div id="sf-slide-box" class="p-2 text-center shadow">
     169                                <img class="img-fluid" src="<?php echo esc_url( $sf_slide_thumbnail[0] ); ?>" style="height: 200px;">
     170                                <input type="text" class="form-control mt-1 sf_slide_id" name="sf_slide_id[<?php echo esc_attr( $attachment_id ); ?>]" value="<?php echo esc_attr( $attachment_id ); ?>" readonly>
     171                                <input type="text" class="form-control mt-1 sf_slide_title" name="sf_slide_title[<?php echo esc_attr( $attachment_id ); ?>]" placeholder="<?php esc_attr_e( 'Slide Title', 'slider-factory' ); ?>" value="<?php echo esc_attr( $sf_slide_title ); ?>">
     172                                <textarea class="form-control mt-1 sf_slide_desc" name="sf_slide_desc[<?php echo esc_attr( $attachment_id ); ?>]" placeholder="<?php esc_attr_e( 'Slide Description', 'slider-factory' ); ?>"><?php echo esc_textarea( $sf_slide_descs ); ?></textarea>
     173                                <input type="text" class="form-control mt-1 sf_slide_alt_text" name="sf_slide_alt_text[<?php echo esc_attr( $attachment_id ); ?>]" placeholder="<?php esc_attr_e( 'Slide Image SEO Text', 'slider-factory' ); ?>" value="<?php echo esc_attr( $sf_slide_alt ); ?>">
     174                                <button type="button" class="form-control btn btn-danger mt-1" style="background-color: #e52e00; border-color: #e52e00;" onclick="return WpfrankSFremoveSlide('<?php echo esc_attr( $attachment_id ); ?>');" name="sf_slide_remove"><?php esc_attr_e( 'Remove Slide', 'slider-factory' ); ?></button>
     175                            </div>
     176                        </div>
     177                        <?php
     178                    }
     179                }
    163180                wp_die(); // this is required to terminate immediately and return a proper response
    164181            } // current_user_can end
     
    552569
    553570    // layout 11 CSS and JS start
    554     wp_register_style( 'sf-11-product-slider-style-css', plugin_dir_url( __FILE__ ) . 'layouts/assets/11/css/test-style.css' );
     571    wp_register_style( 'sf-11-product-slider-style-css', plugin_dir_url( __FILE__ ) . 'layouts/assets/11/css/test-style.css', array(), '1.0.1' );
    555572    wp_register_script( 'sf-11-product-slider-mordenizer-js', plugin_dir_url( __FILE__ ) . 'layouts/assets/11/js/modernizr.custom.js', array( 'jquery' ), '1.0.0' );
    556573    wp_register_script( 'sf-11-product-slider-js', plugin_dir_url( __FILE__ ) . 'layouts/assets/11/js/slider.js', array( 'jquery' ), '1.0.0' );
Note: See TracChangeset for help on using the changeset viewer.