Changeset 3464853
- Timestamp:
- 02/19/2026 08:46:21 AM (5 weeks ago)
- Location:
- slider-factory
- Files:
-
- 216 added
- 7 edited
-
tags/1.3.13 (added)
-
tags/1.3.13/admin (added)
-
tags/1.3.13/admin/all-sliders.php (added)
-
tags/1.3.13/admin/assets (added)
-
tags/1.3.13/admin/assets/banners (added)
-
tags/1.3.13/admin/assets/banners/coming-soon.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-1.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-10.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-11.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-12.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-13.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-14.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-15.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-16.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-17.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-18.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-19.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-2.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-20.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-3.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-4.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-5.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-6.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-7.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-8.jpg (added)
-
tags/1.3.13/admin/assets/banners/layout-9.jpg (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0 (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/css (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/css/bootstrap-admin.css (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/css/bootstrap.css (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/css/bootstrap.css.map (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/js (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/js/bootstrap.bundle.js (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/js/bootstrap.bundle.js.map (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/js/bootstrap.js (added)
-
tags/1.3.13/admin/assets/bootstrap-5.0.0/js/bootstrap.js.map (added)
-
tags/1.3.13/admin/assets/css (added)
-
tags/1.3.13/admin/assets/css/style.css (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/css (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/css/all.css (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_animated.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_bordered-pulled.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_core.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_fixed-width.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_icons.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_larger.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_list.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_mixins.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_rotated-flipped.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_screen-reader.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_shims.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_stacked.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/_variables.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/fontawesome.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/solid.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/less/v4-shims.less (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_animated.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_bordered-pulled.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_core.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_fixed-width.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_icons.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_larger.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_list.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_mixins.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_rotated-flipped.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_screen-reader.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_shims.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_stacked.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/_variables.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/fontawesome.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/solid.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/scss/v4-shims.scss (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/sprites (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/sprites/solid.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid/copy.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid/desktop.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid/edit.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid/info.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid/plus.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid/save.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid/trash-alt.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/svgs/solid/trash.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/webfonts (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.eot (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.svg (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.ttf (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.woff (added)
-
tags/1.3.13/admin/assets/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.woff2 (added)
-
tags/1.3.13/admin/assets/images (added)
-
tags/1.3.13/admin/assets/images/slider-factory-pro-banner.png (added)
-
tags/1.3.13/admin/assets/js (added)
-
tags/1.3.13/admin/assets/js/sf-color-picker.js (added)
-
tags/1.3.13/admin/assets/js/sf-uploader.js (added)
-
tags/1.3.13/admin/manage-slider.php (added)
-
tags/1.3.13/admin/settings (added)
-
tags/1.3.13/admin/settings/1.php (added)
-
tags/1.3.13/admin/settings/10.php (added)
-
tags/1.3.13/admin/settings/11.php (added)
-
tags/1.3.13/admin/settings/12.php (added)
-
tags/1.3.13/admin/settings/2.php (added)
-
tags/1.3.13/admin/settings/3.php (added)
-
tags/1.3.13/admin/settings/4.php (added)
-
tags/1.3.13/admin/settings/5.php (added)
-
tags/1.3.13/admin/settings/6.php (added)
-
tags/1.3.13/admin/settings/7.php (added)
-
tags/1.3.13/admin/settings/8.php (added)
-
tags/1.3.13/admin/settings/9.php (added)
-
tags/1.3.13/admin/slider-panel.php (added)
-
tags/1.3.13/assets (added)
-
tags/1.3.13/languages (added)
-
tags/1.3.13/languages/slider-factory-en.mo (added)
-
tags/1.3.13/languages/slider-factory-en.po (added)
-
tags/1.3.13/languages/slider-factory-hi_IN.mo (added)
-
tags/1.3.13/languages/slider-factory-hi_IN.po (added)
-
tags/1.3.13/layouts (added)
-
tags/1.3.13/layouts/1.php (added)
-
tags/1.3.13/layouts/10.php (added)
-
tags/1.3.13/layouts/11.php (added)
-
tags/1.3.13/layouts/12.php (added)
-
tags/1.3.13/layouts/2.php (added)
-
tags/1.3.13/layouts/3.php (added)
-
tags/1.3.13/layouts/4.php (added)
-
tags/1.3.13/layouts/5.php (added)
-
tags/1.3.13/layouts/6.php (added)
-
tags/1.3.13/layouts/7.php (added)
-
tags/1.3.13/layouts/8.php (added)
-
tags/1.3.13/layouts/9.php (added)
-
tags/1.3.13/layouts/assets (added)
-
tags/1.3.13/layouts/assets/1 (added)
-
tags/1.3.13/layouts/assets/1/css (added)
-
tags/1.3.13/layouts/assets/1/css/flickity.css (added)
-
tags/1.3.13/layouts/assets/1/js (added)
-
tags/1.3.13/layouts/assets/1/js/flickity.pkgd.js (added)
-
tags/1.3.13/layouts/assets/10 (added)
-
tags/1.3.13/layouts/assets/11 (added)
-
tags/1.3.13/layouts/assets/11/css (added)
-
tags/1.3.13/layouts/assets/11/css/test-style.css (added)
-
tags/1.3.13/layouts/assets/11/js (added)
-
tags/1.3.13/layouts/assets/11/js/modernizr.custom.js (added)
-
tags/1.3.13/layouts/assets/11/js/slider.js (added)
-
tags/1.3.13/layouts/assets/12 (added)
-
tags/1.3.13/layouts/assets/12/css (added)
-
tags/1.3.13/layouts/assets/12/css/twentytwenty.css (added)
-
tags/1.3.13/layouts/assets/12/js (added)
-
tags/1.3.13/layouts/assets/12/js/imagesloaded.pkgd.js (added)
-
tags/1.3.13/layouts/assets/12/js/jquery.event.move.js (added)
-
tags/1.3.13/layouts/assets/12/js/jquery.twentytwenty.js (added)
-
tags/1.3.13/layouts/assets/2 (added)
-
tags/1.3.13/layouts/assets/2/css (added)
-
tags/1.3.13/layouts/assets/2/css/photoroller.css (added)
-
tags/1.3.13/layouts/assets/2/css/photoroller.min.css (added)
-
tags/1.3.13/layouts/assets/2/css/photoroller.min.css.map (added)
-
tags/1.3.13/layouts/assets/2/js (added)
-
tags/1.3.13/layouts/assets/2/js/jquery.photoroller.js (added)
-
tags/1.3.13/layouts/assets/2/js/jquery.photoroller.min.js (added)
-
tags/1.3.13/layouts/assets/2/js/jquery.photoroller.min.js.map (added)
-
tags/1.3.13/layouts/assets/3 (added)
-
tags/1.3.13/layouts/assets/3/css (added)
-
tags/1.3.13/layouts/assets/3/js (added)
-
tags/1.3.13/layouts/assets/3/js/accordion-carousel-blue-slider.js (added)
-
tags/1.3.13/layouts/assets/4 (added)
-
tags/1.3.13/layouts/assets/4/css (added)
-
tags/1.3.13/layouts/assets/4/css/animate.css (added)
-
tags/1.3.13/layouts/assets/4/css/baguetteBox.min.css (added)
-
tags/1.3.13/layouts/assets/4/css/camera.css (added)
-
tags/1.3.13/layouts/assets/4/css/main.css (added)
-
tags/1.3.13/layouts/assets/4/css/media.css (added)
-
tags/1.3.13/layouts/assets/4/css/normalize.css (added)
-
tags/1.3.13/layouts/assets/4/css/style.css (added)
-
tags/1.3.13/layouts/assets/4/fonts (added)
-
tags/1.3.13/layouts/assets/4/fonts/FontAwesome.otf (added)
-
tags/1.3.13/layouts/assets/4/fonts/fontawesome-webfont.eot (added)
-
tags/1.3.13/layouts/assets/4/fonts/fontawesome-webfont.svg (added)
-
tags/1.3.13/layouts/assets/4/fonts/fontawesome-webfont.ttf (added)
-
tags/1.3.13/layouts/assets/4/fonts/fontawesome-webfont.woff (added)
-
tags/1.3.13/layouts/assets/4/fonts/fontawesome-webfont.woff2 (added)
-
tags/1.3.13/layouts/assets/4/fonts/glyphicons-halflings-regular.eot (added)
-
tags/1.3.13/layouts/assets/4/fonts/glyphicons-halflings-regular.ttf (added)
-
tags/1.3.13/layouts/assets/4/images (added)
-
tags/1.3.13/layouts/assets/4/images/camera-loader.gif (added)
-
tags/1.3.13/layouts/assets/4/images/camera.jpg (added)
-
tags/1.3.13/layouts/assets/4/images/camera_skins.png (added)
-
tags/1.3.13/layouts/assets/4/js (added)
-
tags/1.3.13/layouts/assets/4/js/camera.js (added)
-
tags/1.3.13/layouts/assets/5 (added)
-
tags/1.3.13/layouts/assets/5/css (added)
-
tags/1.3.13/layouts/assets/5/css/jquery.flipster.css (added)
-
tags/1.3.13/layouts/assets/5/js (added)
-
tags/1.3.13/layouts/assets/5/js/jquery.flipster.js (added)
-
tags/1.3.13/layouts/assets/6 (added)
-
tags/1.3.13/layouts/assets/6/css (added)
-
tags/1.3.13/layouts/assets/6/css/wipeSlider.css (added)
-
tags/1.3.13/layouts/assets/6/js (added)
-
tags/1.3.13/layouts/assets/6/js/jquery.wipeSlider.js (added)
-
tags/1.3.13/layouts/assets/7 (added)
-
tags/1.3.13/layouts/assets/7/css (added)
-
tags/1.3.13/layouts/assets/7/css/rotating-slider.css (added)
-
tags/1.3.13/layouts/assets/7/js (added)
-
tags/1.3.13/layouts/assets/7/js/jquery.rotating-slider.js (added)
-
tags/1.3.13/layouts/assets/8 (added)
-
tags/1.3.13/layouts/assets/8/js (added)
-
tags/1.3.13/layouts/assets/8/js/infiniteslidev2.js (added)
-
tags/1.3.13/layouts/assets/9 (added)
-
tags/1.3.13/layouts/assets/9/icons (added)
-
tags/1.3.13/layouts/assets/9/icons/fullscreen.png (added)
-
tags/1.3.13/layouts/assets/9/icons/pause_diapo.png (added)
-
tags/1.3.13/layouts/assets/9/icons/play_diapo.png (added)
-
tags/1.3.13/layouts/assets/9/icons/remove_icon.webp (added)
-
tags/1.3.13/readme.txt (added)
-
tags/1.3.13/shortcode.php (added)
-
tags/1.3.13/slider-factory.php (added)
-
trunk/admin/all-sliders.php (modified) (8 diffs)
-
trunk/admin/assets/js/sf-uploader.js (modified) (1 diff)
-
trunk/layouts/11.php (modified) (1 diff)
-
trunk/layouts/assets/11/css/test-style.css (modified) (1 diff)
-
trunk/layouts/assets/11/js/slider.js (modified) (4 diffs)
-
trunk/readme.txt (modified) (5 diffs)
-
trunk/slider-factory.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
slider-factory/trunk/admin/all-sliders.php
r2616391 r3464853 262 262 <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?> 263 263 </a> 264 <a class="btn btn-danger bg-gradient" style="background-color: #e 76f51; 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/"> 265 265 <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?> 266 266 </a> … … 281 281 <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?> 282 282 </a> 283 <a class="btn btn-danger bg-gradient" style="background-color: #e 76f51; 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/"> 284 284 <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?> 285 285 </a> … … 300 300 <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?> 301 301 </a> 302 <a class="btn btn-danger bg-gradient" style="background-color: #e 76f51; 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/"> 303 303 <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?> 304 304 </a> … … 319 319 <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?> 320 320 </a> 321 <a class="btn btn-danger bg-gradient" style="background-color: #e 76f51; 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/"> 322 322 <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?> 323 323 </a> … … 338 338 <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?> 339 339 </a> 340 <a class="btn btn-danger bg-gradient" style="background-color: #e 76f51; 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/"> 341 341 <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?> 342 342 </a> … … 357 357 <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?> 358 358 </a> 359 <a class="btn btn-danger bg-gradient" style="background-color: #e 76f51; 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/"> 360 360 <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?> 361 361 </a> … … 376 376 <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?> 377 377 </a> 378 <a class="btn btn-danger bg-gradient" style="background-color: #e 76f51; 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/"> 379 379 <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?> 380 380 </a> … … 395 395 <i class="fas fa-desktop"></i> <?php esc_html_e( 'Demo', 'slider-factory' ); ?> 396 396 </a> 397 <a class="btn btn-danger bg-gradient" style="background-color: #e 76f51; 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/"> 398 398 <i class="fas fa-cart-plus"></i> <?php esc_html_e( 'Buy Pro', 'slider-factory' ); ?> 399 399 </a> -
slider-factory/trunk/admin/assets/js/sf-uploader.js
r2616391 r3464853 3 3 */ 4 4 jQuery( 5 function (jQuery) {5 function (jQuery) { 6 6 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 }); */ 15 15 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 }); */ 24 24 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 ); 33 56 file_frame.open(); 34 return;35 57 } 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(); 39 115 } 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 ); 64 118 } 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 }; 116 120 SF.init(); 117 121 } -
slider-factory/trunk/layouts/11.php
r2616391 r3464853 116 116 <script type="text/javascript"> 117 117 jQuery(function () { 118 S lider.init();118 SF_Layout11_Slider.init(); 119 119 }); 120 120 </script> -
slider-factory/trunk/layouts/assets/11/css/test-style.css
r2616391 r3464853 1 /* Layout 11 - Flexbox Refactor */ 2 1 3 .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; 5 9 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 { 21 36 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 { 44 81 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; 51 113 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 { 118 162 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; 187 164 top: 50%; 188 165 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 */ 226 197 @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 { 229 204 width: 100%; 205 height: 50%; 230 206 } 231 207 232 . js .ps-header{233 height: 50px;208 .ps-content { 209 padding: 30px; 234 210 } 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 S lider = (function() {1 var SF_Layout11_Slider = (function () { 2 2 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'); 5 8 // 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'); 9 12 // 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'); 12 16 // 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 15 20 // current index for items and slides 16 current = 0 ,21 current = 0; 17 22 // checks if the transition is in progress 18 isAnimating = false ,23 isAnimating = false; 19 24 // support for CSS transitions 20 support = Modernizr.csstransitions ,25 support = Modernizr.csstransitions; 21 26 // transition end event 22 27 // https://github.com/twitter/bootstrap/issues/2870 23 28 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 29 51 }, 30 // its name 31 transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ], 52 updateNavImages = function () { 32 53 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'); 34 57 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); 51 60 52 61 }, 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 () { 64 63 65 64 $navprev.on( 66 65 'click', 67 function ( event) {66 function (event) { 68 67 69 if ( ! isAnimating) {68 if (!isAnimating) { 70 69 71 slide( 'prev');70 slide('prev'); 72 71 73 72 } … … 79 78 $navnext.on( 80 79 'click', 81 function ( event) {80 function (event) { 82 81 83 if ( ! isAnimating) {82 if (!isAnimating) { 84 83 85 slide( 'next');84 slide('next'); 86 85 87 86 } … … 92 91 93 92 // transition end event 94 $items.on( transEndEventName, removeTransition);95 $slides.on( transEndEventName, removeTransition);93 $items.on(transEndEventName, removeTransition); 94 $slides.on(transEndEventName, removeTransition); 96 95 97 96 }, 98 removeTransition = function () {97 removeTransition = function () { 99 98 100 99 isAnimating = false; 101 jQuery( this ).removeClass( 'ps-move');100 jQuery(this).removeClass('ps-move'); 102 101 103 102 }, 104 slide = function( dir) {103 slide = function (dir) { 105 104 106 105 isAnimating = true; 107 106 108 var $currentItem = $items.eq( current),109 $currentSlide = $slides.eq( current);107 var $currentItem = $items.eq(current), 108 $currentSlide = $slides.eq(current); 110 109 111 110 // update current value 112 if ( dir === 'next') {111 if (dir === 'next') { 113 112 114 ( current < itemsCount - 1) ? ++current : current = 0;113 (current < itemsCount - 1) ? ++current : current = 0; 115 114 116 } else if ( dir === 'prev') {115 } else if (dir === 'prev') { 117 116 118 ( current > 0) ? --current : current = itemsCount - 1;117 (current > 0) ? --current : current = itemsCount - 1; 119 118 120 119 } 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) 125 121 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'); 133 125 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); 140 129 141 setTimeout(142 function() {130 $newItem.addClass('ps-active'); 131 $newSlide.addClass('ps-active'); 143 132 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(); 151 135 152 $currentSlide.addClass( 'ps-move' ).css(153 {154 top : ( dir === 'next' ) ? '-100%' : '100%',155 zIndex : 1156 }157 );158 159 // move the new ones to the main viewport160 $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 false164 if ( ! support ) {165 166 isAnimating = false;167 168 }169 170 },171 0172 );173 136 174 137 // update nav images … … 177 140 }; 178 141 179 return { init : init };142 return { init: init }; 180 143 181 144 })(); -
slider-factory/trunk/readme.txt
r3419748 r3464853 1 === Slider Factory for Images and Videos===1 === Slider Factory === 2 2 Contributors: awordpresslife, razipathhan, hanif0991, muhammadshahid, fkfaisalkhan007, sharikkhan007, zishlife, FARAZFRANK 3 Version: 1.3.124 3 Donate link: https://paypal.me/buymecupofcoffee?locale.x=en_GB&country.x=IN 5 4 Tags: slider, image slider, photo slider, carousel, responsive slider 6 5 Requires at least: 5.0 7 6 Tested up to: 6.9 8 Stable tag: 1.3.1 27 Stable tag: 1.3.13 9 8 Requires PHP: 7.0 10 9 License: GPLv2 or later … … 17 16 Slider 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. 18 17 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 22 18 The 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. 23 19 20 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. 21 22 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. 23 24 24 == Watch Video Tutorial == 25 25 26 26 https://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.31 27 32 28 == How It Works == … … 58 54 * **Widget Ready** – Use sliders in sidebar widgets 59 55 * **Bootstrap 5 Dashboard** – Clean, modern admin interface 56 57 **Free Plugin Demo:** [View Demo](https://wpfrank.com/demo/slider-factory-free-wordpress-plugin/) 60 58 61 59 == Pro Version Features == … … 86 84 * **Translation Ready** – Compatible with WPML and multilingual plugins 87 85 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 88 90 https://www.youtube.com/watch?v=H0_FnzsrEGc 89 91 … … 164 166 == Changelog == 165 167 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 166 175 = 1.3.12 = 167 176 * Readme updated for WordPress.org guidelines compliance -
slider-factory/trunk/slider-factory.php
r2963422 r3464853 5 5 6 6 /** 7 * Plugin Name: Slider Factory - 1.3.1 27 * Plugin Name: Slider Factory - 1.3.13 8 8 * Plugin URI: https://wpfrank.com/ 9 9 * Description: Slider factory provides multiple slider layouts in single dashboard. 10 * Version: 1.3.1 211 * Requires at least: 4.012 * Requires PHP: 4.010 * Version: 1.3.13 11 * Requires at least: 5.0 12 * Requires PHP: 5.0 13 13 * Author: FARAZFRANK 14 14 * Author URI: https://profiles.wordpress.org/farazfrank/ … … 137 137 if ( current_user_can( 'manage_options' ) ) { 138 138 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 } 163 180 wp_die(); // this is required to terminate immediately and return a proper response 164 181 } // current_user_can end … … 552 569 553 570 // 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' ); 555 572 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' ); 556 573 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.