Changeset 3417310
- Timestamp:
- 12/11/2025 11:40:56 AM (4 months ago)
- Location:
- responsive-slider-gallery
- Files:
-
- 83 added
- 6 edited
-
tags/1.5.1 (added)
-
tags/1.5.1/class-tgm-plugin-activation.php (added)
-
tags/1.5.1/css (added)
-
tags/1.5.1/css/admin-bootstrap.css (added)
-
tags/1.5.1/css/awl-fotorama.css (added)
-
tags/1.5.1/css/awl-fotorama.min.css (added)
-
tags/1.5.1/css/awl-uploader.css (added)
-
tags/1.5.1/css/bootstrap.css (added)
-
tags/1.5.1/css/font-awesome.css (added)
-
tags/1.5.1/css/fotorama.png (added)
-
tags/1.5.1/css/[email protected] (added)
-
tags/1.5.1/css/metabox.css (added)
-
tags/1.5.1/css/new-slide.png (added)
-
tags/1.5.1/css/rsg-admin-clean.css (added)
-
tags/1.5.1/css/styles.css (added)
-
tags/1.5.1/css/toogle-button.css (added)
-
tags/1.5.1/fonts (added)
-
tags/1.5.1/fonts/ElegantIcons.eot (added)
-
tags/1.5.1/fonts/ElegantIcons.svg (added)
-
tags/1.5.1/fonts/ElegantIcons.ttf (added)
-
tags/1.5.1/fonts/ElegantIcons.woff (added)
-
tags/1.5.1/fonts/FontAwesome.otf (added)
-
tags/1.5.1/fonts/Pe-icon-7-stroke-1.eot (added)
-
tags/1.5.1/fonts/Pe-icon-7-stroke.eot (added)
-
tags/1.5.1/fonts/Pe-icon-7-stroke.svg (added)
-
tags/1.5.1/fonts/Pe-icon-7-stroke.ttf (added)
-
tags/1.5.1/fonts/Pe-icon-7-stroke.woff (added)
-
tags/1.5.1/fonts/flexslider-icon.eot (added)
-
tags/1.5.1/fonts/flexslider-icon.svg (added)
-
tags/1.5.1/fonts/flexslider-icon.ttf (added)
-
tags/1.5.1/fonts/flexslider-icon.woff (added)
-
tags/1.5.1/fonts/fontawesome-webfont.eot (added)
-
tags/1.5.1/fonts/fontawesome-webfont.svg (added)
-
tags/1.5.1/fonts/fontawesome-webfont.ttf (added)
-
tags/1.5.1/fonts/fontawesome-webfont.woff (added)
-
tags/1.5.1/fonts/fontawesome-webfont.woff2 (added)
-
tags/1.5.1/fonts/glyphicons-halflings-regular.eot (added)
-
tags/1.5.1/fonts/glyphicons-halflings-regular.svg (added)
-
tags/1.5.1/fonts/glyphicons-halflings-regular.ttf (added)
-
tags/1.5.1/fonts/glyphicons-halflings-regular.woff (added)
-
tags/1.5.1/fonts/glyphicons-halflings-regular.woff2 (added)
-
tags/1.5.1/fonts/weathericons-regular-webfont.eot (added)
-
tags/1.5.1/fonts/weathericons-regular-webfont.svg (added)
-
tags/1.5.1/fonts/weathericons-regular-webfont.ttf (added)
-
tags/1.5.1/fonts/weathericons-regular-webfont.woff (added)
-
tags/1.5.1/image (added)
-
tags/1.5.1/image/awp-bale.jpg (added)
-
tags/1.5.1/image/responsive-slider-pricing-table.png (added)
-
tags/1.5.1/image/responsive-slider.png (added)
-
tags/1.5.1/js (added)
-
tags/1.5.1/js/awl-uploader.js (added)
-
tags/1.5.1/js/bootstrap.js (added)
-
tags/1.5.1/js/bootstrap.min.js (added)
-
tags/1.5.1/js/fotorama.js (added)
-
tags/1.5.1/js/fotorama.min.js (added)
-
tags/1.5.1/languages (added)
-
tags/1.5.1/languages/responsive-slider-gallery-hi_IN.mo (added)
-
tags/1.5.1/languages/responsive-slider-gallery-hi_IN.po (added)
-
tags/1.5.1/our-theme (added)
-
tags/1.5.1/our-theme/awp-theme.php (added)
-
tags/1.5.1/our-theme/css (added)
-
tags/1.5.1/our-theme/css/bootstrap.min.css (added)
-
tags/1.5.1/our-theme/css/font-awesome.min.css (added)
-
tags/1.5.1/our-theme/css/our-theme.css (added)
-
tags/1.5.1/our-theme/fonts (added)
-
tags/1.5.1/our-theme/fonts/FontAwesome.otf (added)
-
tags/1.5.1/our-theme/fonts/fontawesome-webfont.eot (added)
-
tags/1.5.1/our-theme/fonts/fontawesome-webfont.svg (added)
-
tags/1.5.1/our-theme/fonts/fontawesome-webfont.ttf (added)
-
tags/1.5.1/our-theme/fonts/fontawesome-webfont.woff (added)
-
tags/1.5.1/our-theme/fonts/fontawesome-webfont.woff2 (added)
-
tags/1.5.1/our-theme/fonts/glyphicons-halflings-regular.eot (added)
-
tags/1.5.1/our-theme/fonts/glyphicons-halflings-regular.svg (added)
-
tags/1.5.1/our-theme/fonts/glyphicons-halflings-regular.ttf (added)
-
tags/1.5.1/our-theme/fonts/glyphicons-halflings-regular.woff (added)
-
tags/1.5.1/our-theme/fonts/glyphicons-halflings-regular.woff2 (added)
-
tags/1.5.1/our-theme/img (added)
-
tags/1.5.1/our-theme/img/aneeq-premium.png (added)
-
tags/1.5.1/readme.txt (added)
-
tags/1.5.1/responsive-slider-gallery.php (added)
-
tags/1.5.1/shortcode.php (added)
-
tags/1.5.1/slider-settings.php (added)
-
trunk/css/metabox.css (modified) (1 diff)
-
trunk/css/rsg-admin-clean.css (added)
-
trunk/js/awl-uploader.js (modified) (2 diffs)
-
trunk/readme.txt (modified) (4 diffs)
-
trunk/responsive-slider-gallery.php (modified) (13 diffs)
-
trunk/shortcode.php (modified) (4 diffs)
-
trunk/slider-settings.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
responsive-slider-gallery/trunk/css/metabox.css
r3009908 r3417310 1 .m-b-5 { 2 margin-bottom:5px; 3 } 4 .m-b-10 { 5 margin-bottom:10px; 6 } 7 .m-b-20 { 8 margin-bottom:20px; 9 } 10 .m-t-5 { 11 margin-top:10px; 12 } 13 .m-t-10 { 14 margin-top:10px; 15 } 16 .m-t-20 { 17 margin-top:10px; 18 } 19 .tab-active { 20 background-color:#242A33 !important; 21 color:#FFFFFF 22 } 23 .card { 24 cursor:pointer; 25 } 26 27 .col-lg-6 { 28 padding:0 !important; 29 } 30 .pw_gallery_genrate span { 31 font-size:30px !important; 32 margin-top:20px; 33 } 34 .pw-trash-icon { 35 position: absolute; 36 top: 1%; 37 text-decoration: none; 38 } 39 40 /* bhoechie tab */ 41 div.bhoechie-tab-container{ 42 z-index: 10; 43 background-color: #ffffff; 1 /* 2 * Responsive Slider Gallery - Modern Admin Dashboard CSS 3 * 4 * Vars: 5 * --rsg-primary: #3b82f6; 6 * --rsg-primary-hover: #2563eb; 7 * --rsg-danger: #ef4444; 8 * --rsg-danger-hover: #dc2626; 9 * --rsg-bg: #f3f4f6; 10 * --rsg-surface: #ffffff; 11 * --rsg-text: #1f2937; 12 * --rsg-text-muted: #6b7280; 13 * --rsg-border: #e5e7eb; 14 */ 15 16 /* General Layout & Typography */ 17 .rsg-settings-dashboard { 18 font-family: 'Inter', system-ui, -apple-system, sans-serif; 19 background-color: #f3f4f6; 20 color: #1f2937; 21 margin: 20px 20px 0 0; 22 border-radius: 12px; 23 overflow: hidden; 24 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); 25 } 26 27 .bhoechie-tab-container { 44 28 padding: 0 !important; 45 border-radius: 4px; 46 -moz-border-radius: 4px; 47 border:1px solid #ddd; 48 margin-top: 20px; 49 background-clip: padding-box; 50 opacity: 0.97; 51 filter: alpha(opacity=97); 52 } 53 div.bhoechie-tab-menu{ 54 padding-right: 0; 55 padding-left: 0; 56 padding-bottom: 0; 57 } 58 div.bhoechie-tab-menu div.list-group{ 29 border: none !important; 30 background: transparent !important; 31 box-shadow: none !important; 32 display: flex; 33 align-items: flex-start; 34 } 35 36 /* Sidebar Navigation */ 37 .bhoechie-tab-menu { 38 background-color: #fff; 39 padding: 20px 10px !important; 40 border-right: 1px solid #e5e7eb; 41 min-height: 600px; 42 /* Ensure height */ 43 } 44 45 .bhoechie-tab-menu .list-group { 59 46 margin-bottom: 0; 60 } 61 div.bhoechie-tab-menu div.list-group span{ 62 margin-bottom: 10px; 63 margin-top: 10px; 64 } 65 div.bhoechie-tab-menu div.list-group>a{ 66 margin-bottom: 0; 67 text-decoration: none; 68 } 69 div.bhoechie-tab-menu div.list-group>a .glyphicon, 70 div.bhoechie-tab-menu div.list-group>a .fa { 71 color: #242a33; 72 } 73 div.bhoechie-tab-menu div.list-group>a:first-child{ 74 border-top-right-radius: 0; 75 -moz-border-top-right-radius: 0; 76 } 77 div.bhoechie-tab-menu div.list-group>a:last-child{ 78 border-bottom-right-radius: 0; 79 -moz-border-bottom-right-radius: 0; 80 } 81 div.bhoechie-tab-menu div.list-group>a.active, 82 div.bhoechie-tab-menu div.list-group>a.active .glyphicon, 83 div.bhoechie-tab-menu div.list-group>a.active .fa{ 84 background-color: #242a33; 85 background-image: #242a33; 86 color: #ffffff; 87 } 88 div.bhoechie-tab-menu div.list-group>a.active:after{ 89 content: ''; 90 position: absolute; 91 left: 100%; 92 top: 50%; 93 margin-top: -13px; 94 border-left: 0; 95 border-bottom: 13px solid transparent; 96 border-top: 13px solid transparent; 97 border-left: 10px solid #242a33; 98 } 99 100 div.bhoechie-tab-content{ 101 background-color: #ffffff; 102 border-bottom: 1px solid #ececec; 103 display: table; 104 width: 100%; 105 padding: 12px; 106 } 107 108 div.bhoechie-tab div.bhoechie-tab-content:not(.active){ 47 box-shadow: none; 48 } 49 50 .bhoechie-tab-menu .list-group-item { 51 border: none; 52 margin-bottom: 8px; 53 border-radius: 8px; 54 color: #6b7280; 55 font-weight: 500; 56 font-size: 13px; 57 display: flex !important; 58 flex-direction: column; 59 align-items: center; 60 justify-content: center; 61 padding: 15px 10px; 62 transition: all 0.2s ease; 63 background: transparent; 64 } 65 66 .bhoechie-tab-menu .list-group-item .dashicons { 67 font-size: 24px; 68 width: 24px; 69 height: 24px; 70 margin-bottom: 5px; 71 color: inherit; 72 } 73 74 .bhoechie-tab-menu .list-group-item:hover { 75 background-color: #f3f4f6; 76 color: #3b82f6; 77 } 78 79 .bhoechie-tab-menu .list-group-item.active, 80 .bhoechie-tab-menu .list-group-item.active .dashicons { 81 background-color: #eff6ff !important; 82 color: #3b82f6 !important; 83 font-weight: 600; 84 border: none; 85 background-image: none !important; 86 } 87 88 .bhoechie-tab-menu .list-group-item.active:after { 89 display: none !important; 90 /* Remove old triangle arrow */ 91 } 92 93 /* Content Area */ 94 .bhoechie-tab { 95 background-color: #f3f4f6; 96 padding: 30px !important; 97 width: 100%; 98 } 99 100 .bhoechie-tab-content { 101 background-color: #fff; 102 padding: 40px !important; 103 border-radius: 16px; 104 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); 105 border: 1px solid #e5e7eb; 106 width: 100% !important; 107 } 108 109 /* Header Sections */ 110 .rsg-header { 111 margin-bottom: 30px; 112 } 113 114 .rsg-header h1 { 115 font-size: 24px; 116 font-weight: 700; 117 color: #111827; 118 margin: 0 0 8px 0; 119 } 120 121 .rsg-subtitle { 122 color: #6b7280; 123 font-size: 14px; 124 margin: 0; 125 } 126 127 /* Action Buttons */ 128 .rsg-actions { 129 margin-bottom: 20px; 130 display: flex; 131 gap: 12px; 132 justify-content: flex-end; 133 } 134 135 .rsg-btn-primary { 136 background-color: #3b82f6 !important; 137 color: #fff !important; 138 border: 1px solid #2563eb !important; 139 border-radius: 6px !important; 140 font-weight: 600 !important; 141 padding: 8px 16px !important; 142 height: auto !important; 143 line-height: normal !important; 144 transition: all 0.2s ease !important; 145 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important; 146 text-transform: none !important; 147 } 148 149 .rsg-btn-primary:hover { 150 background-color: #2563eb !important; 151 transform: translateY(-1px); 152 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important; 153 } 154 155 .rsg-btn-danger { 156 background-color: transparent !important; 157 color: #ef4444 !important; 158 border: 1px solid #fee2e2 !important; 159 border-radius: 6px !important; 160 font-weight: 600 !important; 161 padding: 8px 16px !important; 162 height: auto !important; 163 line-height: normal !important; 164 transition: all 0.2s ease !important; 165 box-shadow: none !important; 166 text-transform: none !important; 167 } 168 169 .rsg-btn-danger:hover { 170 background-color: #fee2e2 !important; 171 border-color: #fecaca !important; 172 color: #dc2626 !important; 173 } 174 175 /* Add Images Grid (Refined) */ 176 .rsg-gallery-grid { 177 display: grid !important; 178 grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; 179 gap: 20px !important; 180 padding: 20px 0 !important; 181 margin: 0 !important; 182 list-style: none !important; 183 width: 100% !important; 184 } 185 186 .rsg-gallery-item { 187 background: #fff !important; 188 border-radius: 12px !important; 189 border: 1px solid #e5e7eb !important; 190 padding: 12px !important; 191 transition: all 0.2s ease !important; 192 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important; 193 list-style: none !important; 194 display: block !important; 195 position: relative !important; 196 } 197 198 .rsg-gallery-item:hover { 199 transform: translateY(-4px) !important; 200 box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important; 201 border-color: #d1d5db !important; 202 } 203 204 .rsg-slide-image-wrapper { 205 position: relative !important; 206 padding-top: 75% !important; 207 /* 4:3 aspect ratio for larger images */ 208 background: #f3f4f6 !important; 209 border-radius: 8px !important; 210 overflow: hidden !important; 211 margin-bottom: 12px !important; 212 display: block !important; 213 min-height: 200px !important; 214 } 215 216 .rsg-slide-image { 217 position: absolute !important; 218 top: 0 !important; 219 left: 0 !important; 220 width: 100% !important; 221 height: 100% !important; 222 object-fit: cover !important; 223 display: block !important; 224 border: none !important; 225 } 226 227 .rsg-slide-title { 228 width: 100% !important; 229 border: 1px solid #d1d5db !important; 230 border-radius: 6px !important; 231 padding: 8px 12px !important; 232 font-size: 13px !important; 233 color: #374151 !important; 234 background: #f9fafb !important; 235 display: block !important; 236 box-sizing: border-box !important; 237 } 238 239 .rsg-slide-title:focus { 240 background: #fff !important; 241 border-color: #3b82f6 !important; 242 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important; 243 outline: none !important; 244 } 245 246 .rsg-delete-btn { 247 width: 32px !important; 248 height: 32px !important; 249 background: rgba(255, 255, 255, 0.95) !important; 250 border-radius: 50% !important; 251 display: flex !important; 252 align-items: center !important; 253 justify-content: center !important; 254 position: absolute !important; 255 top: 8px !important; 256 right: 8px !important; 257 color: #ef4444 !important; 258 transition: all 0.2s !important; 259 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important; 260 text-decoration: none !important; 261 z-index: 10 !important; 262 border: 2px solid #fff !important; 263 } 264 265 .rsg-delete-btn .dashicons { 266 font-size: 16px !important; 267 width: 16px !important; 268 height: 16px !important; 269 line-height: 1 !important; 270 } 271 272 .rsg-delete-btn:hover { 273 background: #ef4444 !important; 274 color: #fff !important; 275 transform: scale(1.15) !important; 276 box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4) !important; 277 } 278 279 /* Settings Fields (New Structure) */ 280 .rsg-field-group { 281 display: flex; 282 align-items: center; 283 justify-content: space-between; 284 padding: 24px 0; 285 border-bottom: 1px solid #f3f4f6; 286 } 287 288 .rsg-field-group:last-child { 289 border-bottom: none; 290 } 291 292 .rsg-field-label { 293 flex: 1; 294 padding-right: 20px; 295 } 296 297 .rsg-field-label h6 { 298 font-size: 14px; 299 font-weight: 600; 300 color: #374151; 301 margin: 0 0 4px 0; 302 } 303 304 .rsg-field-label p { 305 font-size: 13px; 306 color: #6b7280; 307 margin: 0; 308 } 309 310 .rsg-field-input { 311 flex: 0 0 300px; 312 /* Fixed width for inputs */ 313 display: flex; 314 justify-content: flex-end; 315 } 316 317 .rsg-input { 318 width: 100%; 319 padding: 10px 12px; 320 border: 1px solid #d1d5db; 321 border-radius: 8px; 322 font-size: 14px; 323 color: #111827; 324 margin: 0 !important; 325 } 326 327 .rsg-input:focus { 328 border-color: #3b82f6; 329 box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); 330 outline: none; 331 } 332 333 /* Modern Switch / Radio Toggle */ 334 .switch-field { 335 display: inline-flex; 336 background-color: #f3f4f6; 337 border-radius: 8px; 338 padding: 4px; 339 border: 1px solid #e5e7eb; 340 overflow: visible; 341 } 342 343 .switch-field input { 344 position: absolute !important; 345 clip: rect(0, 0, 0, 0); 346 height: 1px; 347 width: 1px; 348 border: 0; 349 overflow: hidden; 350 } 351 352 .switch-field label { 353 background-color: transparent; 354 color: #6b7280; 355 font-size: 13px; 356 font-weight: 500; 357 text-align: center; 358 padding: 6px 16px; 359 margin: 0 !important; 360 cursor: pointer; 361 border-radius: 6px; 362 transition: all 0.2s ease-in-out; 363 border: none; 364 box-shadow: none; 365 float: none; 366 width: auto; 367 display: inline-block; 368 } 369 370 .switch-field label:hover { 371 color: #374151; 372 } 373 374 .switch-field input:checked+label { 375 background-color: #fff; 376 color: #3b82f6; 377 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); 378 font-weight: 600; 379 } 380 381 /* Bootstrap Grid Float Fix */ 382 .col-1, 383 .col-2, 384 .col-3, 385 .col-4, 386 .col-5, 387 .col-6, 388 .col-7, 389 .col-8, 390 .col-9, 391 .col-10, 392 .col-11, 393 .col-12, 394 .col, 395 .col-auto, 396 .col-sm-1, 397 .col-sm-2, 398 .col-sm-3, 399 .col-sm-4, 400 .col-sm-5, 401 .col-sm-6, 402 .col-sm-7, 403 .col-sm-8, 404 .col-sm-9, 405 .col-sm-10, 406 .col-sm-11, 407 .col-sm-12, 408 .col-sm, 409 .col-sm-auto, 410 .col-md-1, 411 .col-md-2, 412 .col-md-3, 413 .col-md-4, 414 .col-md-5, 415 .col-md-6, 416 .col-md-7, 417 .col-md-8, 418 .col-md-9, 419 .col-md-10, 420 .col-md-11, 421 .col-md-12, 422 .col-md, 423 .col-md-auto, 424 .col-lg-1, 425 .col-lg-2, 426 .col-lg-3, 427 .col-lg-4, 428 .col-lg-5, 429 .col-lg-6, 430 .col-lg-7, 431 .col-lg-8, 432 .col-lg-9, 433 .col-lg-10, 434 .col-lg-11, 435 .col-lg-12, 436 .col-lg, 437 .col-lg-auto, 438 .col-xl-1, 439 .col-xl-2, 440 .col-xl-3, 441 .col-xl-4, 442 .col-xl-5, 443 .col-xl-6, 444 .col-xl-7, 445 .col-xl-8, 446 .col-xl-9, 447 .col-xl-10, 448 .col-xl-11, 449 .col-xl-12, 450 .col-xl, 451 .col-xl-auto { 452 float: left; 453 } 454 455 /* Hide WordPress Elements */ 456 #comment-link-box, 457 #edit-slug-box { 109 458 display: none; 110 459 } 111 460 112 .file-upload { 113 background-color: #ffffff; 114 width: 600px; 115 margin: 0 auto; 116 padding: 20px; 117 } 118 119 .file-upload-btn { 120 width: 100%; 121 margin: 0; 122 color: #fff; 123 background: #1FB264; 124 border: none; 125 padding: 10px; 126 border-radius: 4px; 127 border-bottom: 4px solid #15824B; 128 transition: all .2s ease; 129 outline: none; 130 text-transform: uppercase; 131 font-weight: 700; 132 } 133 134 .file-upload-btn:hover { 135 background: #1AA059; 136 color: #ffffff; 137 transition: all .2s ease; 138 cursor: pointer; 139 } 140 141 .file-upload-btn:active { 142 border: 0; 143 transition: all .2s ease; 144 } 145 146 .file-upload-content { 147 display: none; 148 text-align: center; 149 } 150 151 .file-upload-input { 152 position: absolute; 153 margin: 0; 154 padding: 0; 155 width: 100%; 156 height: 100%; 157 outline: none; 158 opacity: 0; 159 cursor: pointer; 160 } 161 162 .image-upload-wrap { 163 margin-top: 20px; 164 border: 4px dashed #1FB264; 165 position: relative; 166 } 167 168 .image-dropping, 169 .image-upload-wrap:hover { 170 background-color: #1FB264; 171 border: 4px dashed #ffffff; 172 } 173 174 .image-title-wrap { 175 padding: 0 15px 15px 15px; 176 color: #222; 177 } 178 179 .drag-text { 180 text-align: center; 181 } 182 183 .drag-text h3 { 184 font-weight: 100; 185 text-transform: uppercase; 186 color: #15824B; 187 padding: 60px 0; 188 } 189 190 .file-upload-image { 191 max-height: 200px; 192 max-width: 200px; 193 margin: auto; 194 padding: 20px; 195 } 196 197 .remove-image { 198 width: 200px; 199 margin: 0; 200 color: #fff; 201 background: #cd4535; 202 border: none; 203 padding: 10px; 204 border-radius: 4px; 205 border-bottom: 4px solid #b02818; 206 transition: all .2s ease; 207 outline: none; 208 text-transform: uppercase; 209 font-weight: 700; 210 } 211 212 .remove-image:hover { 213 background: #c13b2a; 214 color: #ffffff; 215 transition: all .2s ease; 216 cursor: pointer; 217 } 218 219 .remove-image:active { 220 border: 0; 221 transition: all .2s ease; 222 } 223 224 .ma_field_discription { 225 width: 20%; 226 display: table-cell; 227 height: 100%; 228 vertical-align: middle; 229 color: #34383c; 230 231 } 232 .meta_box_holder_inside { 233 border-left: 4px solid #d0cece; 234 display: table; 235 width: 100%; 236 padding: 13px; 237 margin-left: 14px; 238 background: #f1f1f1f1; 239 } 240 .ma_field { 241 width: 80%; 242 height: 100%; 243 vertical-align: middle; 244 color: #34383c; 245 } 246 247 .ma_field_discription p { 248 color: #a2a9af; 249 font-style: italic; 250 margin-top: 0; 251 margin-bottom: 0; 252 } 253 .ma_field_discription h4 { 254 margin-bottom: 0; 255 line-height: 1.5em; 256 margin-top: 0; 257 padding: 0; 258 } 259 input[name=pfg_theme], input[name=pfg_filter_style] { 260 visibility:hidden; 261 } 262 .gallery_layout { 263 border:5px solid #312e2e 264 } 265 /* .ma_field input, select, option{ 266 width:30% !important; 267 } */ 268 /* range bar */ 269 .slidecontainer { 270 width: 100%; 271 } 272 273 .slider { 274 -webkit-appearance: none; 275 width: 100%; 276 height: 15px; 277 border-radius: 5px; 278 background: #d3d3d3; 279 outline: none; 280 opacity: 0.7; 281 -webkit-transition: .2s; 282 transition: opacity .2s; 283 } 284 285 .slider:hover { 286 opacity: 1; 287 } 288 289 .slider::-webkit-slider-thumb { 290 -webkit-appearance: none; 291 appearance: none; 292 width: 25px; 293 height: 25px; 294 border-radius: 50%; 295 background: #4CAF50; 296 cursor: pointer; 297 } 298 299 .slider::-moz-range-thumb { 300 width: 25px; 301 height: 25px; 302 border-radius: 50%; 303 background: #4CAF50; 304 cursor: pointer; 305 } 306 /*Toggle button on/off css*/ 307 308 .switch-field { 309 font-family: "Lucida Grande", Tahoma, Verdana, sans-serif; 310 overflow: hidden; 311 padding-left: 0px 312 } 313 314 .switch-title { 315 margin-bottom: 6px; 316 } 317 318 .switch-field input[type="radio"] { 319 visibility:hidden; 320 321 display: none; 322 } 323 324 .switch-field label { 325 float: left; 326 } 327 328 .switch-field label { 329 display: inline-block; 330 width: 60px; 331 font-size: 11px; 332 font-weight: normal; 333 text-align: center; 334 text-shadow: none; 335 padding: 2px 2px; 336 border: 1px solid rgba(0, 0, 0, 0.2); 337 -webkit-transition: all 0.1s ease-in-out; 338 -moz-transition: all 0.1s ease-in-out; 339 -ms-transition: all 0.1s ease-in-out; 340 -o-transition: all 0.1s ease-in-out; 341 transition: all 0.1s ease-in-out; 342 } 343 344 .switch-field label:hover { 345 cursor: pointer; 346 347 } 348 349 .switch-field input:checked + label { 350 background-color: #41B2EC; 351 -webkit-box-shadow: none; 352 box-shadow: none; 353 color:#FFFFFF; 354 } 355 356 .switch-field label:first-of-type { 357 border-radius: 4px 0 0 4px; 358 } 359 360 .switch-field label:last-of-type { 361 border-radius: 0 4px 4px 0; 362 } 363 .em_size_field label { 364 width:20%; 365 height:25px; 366 } 367 368 .hover_field label { 369 width:100px !important; 370 } 371 372 .item:hover .item-overlay.bottom { 373 bottom: 177px; 374 opacity:1 !important; 375 } 376 .item-overlay { 377 378 -moz-transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s; 379 -webkit-transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s; 380 transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s; 381 } 382 .item-overlay.bottom { 383 bottom: 90%; 384 } 385 386 /* Rabge bar css*/ 387 388 .range-slider__range { 389 -webkit-appearance: none; 390 width: calc(98% - (73px)) !important; 391 height: 7px; 392 border-radius: 5px; 393 background: #d7dcdf; 394 outline: none; 395 padding: 0; 396 margin: 2px; 397 display:inline !important; 398 } 399 .range-slider__range::-webkit-slider-thumb { 400 -webkit-appearance: none; 401 appearance: none; 402 width: 20px; 403 height: 20px; 404 border-radius: 50%; 405 background: #40BABD; 406 cursor: pointer; 407 -webkit-transition: background .15s ease-in-out; 408 transition: background .15s ease-in-out; 409 } 410 .range-slider__range::-webkit-slider-thumb:hover { 411 background: #1abc9c; 412 } 413 .range-slider__range:active::-webkit-slider-thumb { 414 background: #1abc9c; 415 } 416 .range-slider__range::-moz-range-thumb { 417 width: 20px; 418 height: 20px; 419 border: 0; 420 border-radius: 50%; 421 background: #0073AA; 422 cursor: pointer; 423 -webkit-transition: background .15s ease-in-out; 424 transition: background .15s ease-in-out; 425 } 426 .range-slider__range::-moz-range-thumb:hover { 427 background: #177EE5; 428 } 429 .range-slider__range:active::-moz-range-thumb { 430 background: #62D5FF; 431 } 432 433 .range-slider__value { 434 display: inline-block !important; 435 position: relative !important; 436 width: 60px; 437 color: #fff; 438 line-height: 20px; 439 text-align: center; 440 border-radius: 3px; 441 background: #47b4ed; 442 padding: 5px 10px; 443 margin-left: 8px; 444 } 445 .range-slider__value:after { 446 position: absolute !important; 447 top: 8px; 448 left: -7px; 449 width: 0; 450 height: 0; 451 border-top: 7px solid transparent; 452 border-right: 7px solid #0073AA; 453 border-bottom: 7px solid transparent; 454 content: ''; 455 } 456 457 ::-moz-range-track { 458 background: #d7dcdf; 459 border: 0; 460 } 461 462 input::-moz-focus-inner, 463 input::-moz-focus-outer { 464 border: 0; 465 } 461 /* ======================================== 462 MODERN TAB NAVIGATION STYLES 463 ======================================== */ 464 465 .rsg-modern-container { 466 background: #fff; 467 border-radius: 8px; 468 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); 469 overflow: hidden; 470 } 471 472 .rsg-tab-navigation { 473 display: flex; 474 background: #f8f9fa; 475 border-bottom: 2px solid #e5e7eb; 476 padding: 0; 477 margin: 0; 478 overflow-x: auto; 479 flex-wrap: wrap; 480 } 481 482 .rsg-tab-btn { 483 flex: 1; 484 min-width: 140px; 485 padding: 16px 20px; 486 background: transparent; 487 border: none; 488 border-bottom: 3px solid transparent; 489 color: #6b7280; 490 font-size: 14px; 491 font-weight: 500; 492 cursor: pointer; 493 transition: all 0.3s ease; 494 display: flex; 495 align-items: center; 496 justify-content: center; 497 gap: 8px; 498 position: relative; 499 } 500 501 .rsg-tab-btn .dashicons { 502 font-size: 18px; 503 width: 18px; 504 height: 18px; 505 } 506 507 .rsg-tab-btn:hover { 508 background: #fff; 509 color: #3b82f6; 510 } 511 512 .rsg-tab-btn.active { 513 background: #fff; 514 color: #3b82f6; 515 border-bottom-color: #3b82f6; 516 } 517 518 .rsg-tab-btn.rsg-tab-pro { 519 color: #f59e0b; 520 } 521 522 .rsg-tab-btn.rsg-tab-pro:hover, 523 .rsg-tab-btn.rsg-tab-pro.active { 524 color: #d97706; 525 border-bottom-color: #f59e0b; 526 } 527 528 .rsg-tab-content-wrapper { 529 padding: 0; 530 } 531 532 .rsg-tab-pane { 533 display: none; 534 padding: 30px; 535 animation: fadeIn 0.3s ease; 536 } 537 538 .rsg-tab-pane.active { 539 display: block; 540 } 541 542 @keyframes fadeIn { 543 from { 544 opacity: 0; 545 transform: translateY(10px); 546 } 547 to { 548 opacity: 1; 549 transform: translateY(0); 550 } 551 } 552 553 /* Responsive adjustments */ 554 @media (max-width: 768px) { 555 .rsg-tab-navigation { 556 flex-direction: column; 557 } 558 559 .rsg-tab-btn { 560 min-width: 100%; 561 justify-content: flex-start; 562 padding-left: 30px; 563 } 564 565 .rsg-tab-pane { 566 padding: 20px 15px; 567 } 568 569 .rsg-gallery-grid { 570 grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important; 571 gap: 16px !important; 572 } 573 } 574 575 /* Ensure slider gallery container displays properly */ 576 #slider-gallery { 577 width: 100%; 578 display: block; 579 clear: both; 580 } 581 582 /* Fix for sortable placeholder */ 583 .ui-sortable-placeholder { 584 visibility: visible !important; 585 background: #f3f4f6 !important; 586 border: 2px dashed #d1d5db !important; 587 border-radius: 12px !important; 588 } 589 590 /* Remove old crap */ 591 .col-md-4, 592 .col-md-8, 593 .ma_field, 594 .ma_field_discription, 595 .input_width { 596 width: auto !important; 597 padding: 0 !important; 598 margin: 0 !important; 599 float: none !important; 600 display: block !important; 601 } -
responsive-slider-gallery/trunk/js/awl-uploader.js
r2560425 r3417310 12 12 13 13 /** 14 * Add Slide Callback Fun tion14 * Add Slide Callback Function 15 15 */ 16 16 jQuery('#add-new-slider').on('click', function(event) { 17 17 var rsg_add_images_nonce = jQuery("#rsg_add_images_nonce").val(); 18 console.log(rsg_add_images_nonce);19 18 event.preventDefault(); 20 19 if (file_frame) { … … 40 39 */ 41 40 this.ul.on('click', '#remove-slide', function() { 42 if (confirm('Do you w nat to delete this slide?')) {43 jQuery(this).parent(). fadeOut(700, function() {41 if (confirm('Do you want to delete this slide?')) { 42 jQuery(this).parent().parent().fadeOut(700, function() { 44 43 jQuery(this).remove(); 45 44 }); -
responsive-slider-gallery/trunk/readme.txt
r3374275 r3417310 4 4 Tags: slider, photo slider, image slider, slideshow creator, responsive slider 5 5 Requires at least: 3.0 6 Tested up to: 6.8.3 7 Stable tag: 1.5.0 6 Tested up to: 6.9 7 Stable tag: 1.5.1 8 Requires PHP: 7.1 8 9 License: GPLv2 or later 9 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 11 11 Responsive Slider Gallery plugin for WordPress. Easy, powerful CSS & JS-based builder for slideshows, carousels & photo sliders effortlessly! 12 Create a responsive Slider Gallery and slideshows for your site. A simple, drag-and-drop slideshow creator for carousels and photo sliders. 12 13 13 14 == Description == 14 15 15 = Slideshow, Carousel, Responsive Image Slider, Photo slider, Image Slider = 16 17 Slider Plugin Is Responsive Simple Beautiful Easy Powerful CSS & JS Based WordPress Image Slider Maker. 18 19 Here is Responsive Slider Gallery WordPress Plugin, we believe that you shouldn't have to hire a developer to create a WordPress slider. Thats why we built Responsive Slider Gallery WordPress Plugin, a drag & drop image slider plugin that's both EASY and POWERFUL. 20 21 This plugin is an effective tool for adding the responsive slider to your website. This plugin can be added both as a widget and plugin, as well as be included in the theme for displaying the slider within the theme using PHP function. Slider WD allows adding images to be displayed as slider slides. 22 23 User experience is our #1 priority. That's why we put in extra effort to ensure that Responsive Slider Gallery is the best responsive image slider maker for WordPress. This means that your slider will always look great on all devices (mobile, tablet, laptop, and desktop). 24 25 This slider builder plugin provides a powerful engine for adding photo or image slides, with the ability to batch upload, import media data, add/delete/rearrange/sort slides and more. You can publish slider at front-end on the blog post, page and in all widget areas available in the theme. 26 27 Create slider from plugin admin dashboard and copy the slider generated shortcode at bottom of slider setting. Embed copied slider shortcode into any blog Page, post, widget area and publish on your blog. 28 29 **Q. How slider shortcode look like?** 30 31 Ans. It's look like: `[responsive-slider id=111]` Here `id = 111` is your slider post id. 16 The Responsive **Slider Gallery** plugin allows you to create and manage image slideshows on your WordPress site. It functions as a straightforward **slideshow creator**, enabling you to upload photos, arrange them, and display them as a **responsive slider**. 17 18 This tool is designed for users who need a functional **slider** that works across different devices, including mobile phones, tablets, and desktop computers. You can add the gallery to posts, pages, or widget areas using a generated shortcode. 19 20 **Main Features:** 21 22 * **Responsive Slider:** The layout adapts automatically to screen width. 23 * **Drag & Drop Ordering:** Sort your slide images easily in the admin panel. 24 * **Batch Upload:** Add multiple images to your **Slider Gallery** at once. 25 * **Shortcode Implementation:** Place your slideshow anywhere on your site. 26 * **Custom Settings:** Adjust width, height, and navigation styles. 27 28 This plugin focuses on usability, providing a clean interface to build a **Slider Gallery** without complex configuration. It integrates directly with the WordPress media library for image management. 32 29 33 30 == How To Use Plugin ? == … … 35 32 https://www.youtube.com/watch?v=b2sA3mNTxUc 36 33 37 **Check Free Plugin Demo - <a href="https://awplife.com/demo/responsive-slider-gallery-standard/">Click Here</a>** 38 39 **Upgrade To Premium Plugin - <a href="https://awplife.com/wordpress-plugins/responsive-slider-gallery-wordpress-plugin/">Click Here</a>** 40 41 **Check Premium Plugin Demo - <a href="https://awplife.com/demo/responsive-slider-gallery-premium/">Click Here</a>** 34 > #### **Check Plugin Demo** 35 36 **<a href="https://awplife.com/demo/responsive-slider-gallery-standard/">Responsive Slider Gallery Free</a>** 37 38 **<a href="https://awplife.com/wordpress-plugins/responsive-slider-gallery-wordpress-plugin/">Upgrade To Premium Plugin</a>** 39 40 **<a href="https://awplife.com/demo/responsive-slider-gallery-premium/">Responsive Slider Gallery Premium</a>** 42 41 43 42 = SLIDER PREMIUM FEATURES AND DEMO = … … 153 152 == Changelog == 154 153 154 = 1.5.1 = 155 * Major UI/UX Improvements 156 * Setting layout Update 157 * Beautiful gradient hero section with purple theme 158 * Testing plugin for wordpress 6.9 159 155 160 = 1.5.0 = 156 161 … … 229 234 * Enhancements: tested for wordpress 5.9.3 230 235 231 = 1.3.0 =232 * Enhancements: tested for wordpress 5.9233 234 = 1.2.9 =235 * Enhancements: tested for wordpress 5.8.2236 * wordpress security issues fixed237 238 = 1.2.8 =239 * Enhancements: tested for wordpress 5.8.1240 241 = 1.2.7 =242 * Bugs: Minor bugs fixed.243 244 = 1.2.6 =245 * Sanitize: minor issues fixed.246 247 = 1.2.5 =248 249 * Liberary: 3rd party liberaries updated to the latest stable version.250 * Sanitize: All non sanitized variable sanitized.251 252 = 1.2.4 =253 254 * Nonce: nonce check added.255 * Sanitize: All non sanitized variable sanitized.256 * Bugs: Minor bugs fixed.257 258 = 1.2.3 =259 260 * Enhancements: register rsg scripts & css.261 * Bug Fix: Fixed262 263 = 1.2.2 =264 265 * Enhancements: tested for wordpress 5.7.2266 * Bug Fix: Fixed267 268 269 = 1.2.1 =270 271 * Enhancements: tested for wordpress 5.7.1272 273 = 1.2.0 =274 275 * Enhancements: tested for wordpress 5.7276 277 = 1.1.9 =278 279 * Enhancements: tested for wordpress 5.6.2280 281 = 1.1.8 =282 283 * Enhancements: tested for wordpress 5.6284 * Bug Fix: Bootstrap-js error Fixed285 286 = 1.1.7 =287 288 * Enhancements: tested for wordpress 5.5.3289 * Bug Fix: Fixed290 291 = 1.1.6 =292 293 * Enhancements: tested for wordpress 5.5.3294 295 = 1.1.5 =296 297 * Enhancements: tested for wordpress 5.5.1298 299 = 1.1.4 =300 301 * Enhancements: tested for wordpress 5.5302 303 = 1.1.3 =304 305 * Enhancements: tested for wordpress 5.4.2306 307 = 1.1.2 =308 309 * Enhancements: tested for wordpress 5.4.1310 311 = 1.1.1 =312 313 * Enhancements: tested for wordpress 5.3.2314 315 = 1.1.0 =316 317 * Enhancements: tested for wordpress 5.3.2318 319 = 1.0.10 =320 321 * Enhancements: tested for wordpress 5.2.3322 323 = 1.0.9 =324 325 * Enhancements: tested for wordpress 5.2.3326 327 = 1.0.8 =328 * Enhancements: tested for wordpress 5.2.2329 * Bug Fix: Fixed330 * Additional changes: No.331 332 = 1.0.7 =333 * Enhancements: tested for wordpress 5.2.2334 * Bug Fix: Fixed335 * Additional changes: No.336 337 = 1.0.6 =338 * Enhancements: tested for wordpress 5.2.2339 * Bug Fix: Fixed340 * Additional changes: No.341 342 = 1.0.4 =343 * Enhancements: tested for wordpress 5.2.1344 * Bug Fix: Fixed345 * Additional changes: No.346 347 = 1.0.3 =348 * Enhancements: tested for wordpress 5.1.1349 * Bug Fix: Fixed350 * Additional changes: No.351 352 = 1.0.2 =353 * Enhancements: tested for wordpress 5.1.1354 * Bug Fix: Fixed355 * Additional changes: No.356 357 = 1.0.1 =358 * Enhancements: tested for wordpress 5.1359 * Bug Fix: Fixed360 * Additional changes: No.361 362 = 1.0.0 =363 * Enhancements: tested for wordpress 5.0.3364 * Bug Fix: Fixed365 * Additional changes: No.366 367 = 0.6.2 =368 * Enhancements: tested for wordpress 5.0.3369 * Bug Fix: Fixed370 * Additional changes: No.371 372 = 0.6.1 =373 * Enhancements: tested for wordpress 5.0.2374 * Bug Fix: Fixed375 * Additional changes: No.376 377 = 0.6.0 =378 * Enhancements: tested for wordpress 5.0.2379 * Bug Fix: Yes380 * Additional changes: No.381 382 = 0.5.20 =383 * Enhancements: tested for wordpress 5.0.1384 * Bug Fix: Yes385 * Additional changes: No386 387 = 0.5.19 =388 * Enhancements: Site Link Changed389 * Bug Fix: Yes390 * Additional changes: Custome shortcode copy function added.391 392 = 0.5.18 =393 * Enhancements: Site Link Changed394 * Bug Fix: Yes395 * Additional changes: No396 397 = 0.5.17 =398 * Enhancements: tested for wordpress 4.9.8399 * Bug Fix: Yes400 * Additional changes: No401 402 = 0.5.15 =403 * Enhancements: tested for wordpress 4.9404 * Bug Fix: None405 * Additional changes: yes, Added theme menu.406 407 Feature Enhancements: Version 0.5.14408 * Enhancements: None409 * Bug Fix: Fixed410 * Additional changes: None411 412 413 Feature Enhancements: Version 0.5.13414 * Enhancements: None415 * Bug Fix: Fixed416 * Additional changes: None417 418 Feature Enhancements: Version 0.5.12419 * Enhancements: None420 * Bug Fix: None421 * Additional changes: None422 423 Feature Enhancements: Version 0.5.11424 * Enhancements: Tested Upte New Version 4.8.1425 * Bug Fix: None426 * Additional changes: None427 428 Feature Enhancements: Version 0.5.10429 * Enhancements: Tested Upte New Version 4.8430 * Bug Fix: None431 * Additional changes: None432 433 434 Feature Enhancements: Version 0.5.9435 * Enhancements: Tested Upte New Version 4.8436 * Bug Fix: None437 * Additional changes: None438 439 Feature Enhancements: Version 0.5.8440 * Enhancements: Tested Upte New Version 4.8441 * Bug Fix: None442 * Additional changes: None443 444 Feature Enhancements: Version 0.5.7445 * Enhancements: None446 * Bug Fix: None447 * Additional changes: None448 449 Feature Enhancements: Version 0.5.6450 * Enhancements: None451 * Bug Fix: None452 * Additional changes: None453 454 Feature Enhancements: Version 0.5.5455 * Enhancements: None456 * Bug Fix: yes, Jquery error fixed457 * Additional changes: None458 459 Feature Enhancements: Version 0.5.3460 * Enhancements: None461 * Bug Fix: None462 * Additional changes: None463 464 Feature Enhancements: Version 0.5.2465 * Enhancements: None466 * Bug Fix: None467 * Additional changes: None468 469 Feature Enhancements: Version 0.5.1470 * Enhancements: None471 * Bug Fix: None472 * Additional changes: None473 474 Feature Enhancements: Version 0.5.0475 * Enhancements: None476 * Bug Fix: None477 * Additional changes: None478 479 Feature Enhancements: Version 0.4.12480 * Enhancements: None481 * Bug Fix: None482 * Additional changes: None483 484 Feature Enhancements: Version 0.4.11485 * Enhancements: None486 * Bug Fix: None487 * Additional changes: None488 489 Feature Enhancements: Version 0.4.10490 * Enhancements: None491 * Bug Fix: None492 * Additional changes: None493 494 Feature Enhancements: Version 0.4.9495 * Enhancements: None496 * Bug Fix: None497 * Additional changes: None498 499 Feature Enhancements: Version 0.4.8500 * Enhancements: None501 * Bug Fix: None502 * Additional changes: None503 504 Feature Enhancements: Version 0.4.7505 * Enhancements: None506 * Bug Fix: None507 * Additional changes: None508 509 Feature Enhancements: Version 0.4.6510 * Enhancements: None511 * Bug Fix: None512 * Additional changes: None513 514 Feature Enhancements: Version 0.4.5515 * Enhancements: None516 * Bug Fix: None517 * Additional changes: None518 519 Feature Enhancements: Version 0.4.4520 * Enhancements: New Setting Page521 * Bug Fix: None522 * Additional changes: None523 524 525 Feature Enhancements: Version 0.4.3526 * Enhancements: none527 * Bug Fix: None528 * Additional changes: None529 530 Feature Enhancements: Version 0.4.2531 * Enhancements: none532 * Bug Fix: None533 * Additional changes: None534 535 Feature Enhancements: Version 0.4.1536 * Enhancements: none537 * Bug Fix: None538 * Additional changes: None539 540 Feature Enhancements: Version 0.4.0541 * Enhancements: none542 * Bug Fix: None543 * Additional changes: None544 545 Feature Enhancements: Version 0.3.9546 * Enhancements: none547 * Bug Fix: None548 * Additional changes: None549 550 Feature Enhancements: Version 0.3.8551 * Enhancements: none552 * Bug Fix: None553 * Additional changes: None554 555 Feature Enhancements: Version 0.3.7556 * Enhancements: none557 * Bug Fix: None558 * Additional changes: None559 560 Feature Enhancements: Version 0.3.6561 * Enhancements: none562 * Bug Fix: None563 * Additional changes: None564 565 Feature Enhancements: Version 0.3.5566 * Enhancements: none567 * Bug Fix: None568 * Additional changes: None569 570 Feature Enhancements: Version 0.3.4571 * Enhancements: none572 * Bug Fix: None573 * Additional changes: None574 575 Feature Enhancements: Version 0.3.3576 * Enhancements: none577 * Bug Fix: None578 * Additional changes: None579 580 Feature Enhancements: Version 0.3.2581 * Enhancements: Compatibility test done582 * Bug Fix: None583 * Additional changes: None584 585 Feature Enhancements: Version 0.3.1586 * Enhancements: Compatibility test done587 * Bug Fix: None588 * Additional changes: None589 590 Feature Enhancements: Version 0.3.0591 * Enhancements: Compatibility test done592 * Bug Fix: None593 * Additional changes: None594 595 Feature Enhancements: Version 0.2.9596 * Enhancements: Compatibility test done597 * Bug Fix: None598 * Additional changes: Buttons added for premium version599 600 Feature Enhancements: Version 0.2.8601 * Enhancements: Compatibility test done602 * Bug Fix: None603 * Additional changes: Buttons added for premium version604 605 Feature Enhancements: Version 0.2.7606 * Enhancements: Compatibility test done607 * Bug Fix: None608 * Additional changes: None609 610 Feature Enhancements: Version 0.2.6611 * Enhancements: Compatibility test done612 * Bug Fix: None613 * Additional changes: None614 615 Feature Enhancements: Version 0.2.5616 * Enhancements: Compatibility test done617 * Bug Fix: None618 * Additional changes: Working On New WordPress Version619 620 Feature Enhancements: Version 0.2.4621 * Enhancements: Compatibility test done622 * Bug Fix: None623 * Additional changes: None624 625 Feature Enhancements: Version 0.2.3626 * Minor Bug Fix627 628 Feature Enhancements: Version 0.2.2.1629 * link removed630 631 Feature Enhancements: Version 0.2.2632 * Minor Bug Fix633 634 Feature Enhancements: Version 0.2.1635 * compatible with latest WordPress version 4.4.2636 * Minor Bug Fix637 638 Feature Enhancements: Version 0.2.0639 * Minor Bug Fix640 641 Feature Enhancements: Version 0.1.9642 * <a> tag bug fix643 644 Feature Enhancements: Version 0.1.9645 * <a> tag bug fix646 * compatible with latest WordPress version 4.4.1647 648 Feature Enhancements: Version 0.1.8649 * Minor Bug Fix650 651 Feature Enhancements: Version 0.1.7652 * Minor Bug Fix653 654 Feature Enhancements: Version 0.1.6655 * Minor Bug Fix656 657 Feature Enhancements: Version 0.1.5658 * Minor Bug Fix659 660 Feature Enhancements: Version 0.1.4661 * Minor CSS test662 663 Feature Enhancements: Version 0.1.3664 * WP 4.4 compatible test done665 666 Feature Enhancements: Version 0.1.2667 * Enhancements: None668 * Bug Fix: None669 * Additional changes: plugin readme updated670 671 Feature Enhancements: Version 0.1.1672 * Enhancements: Compatibility test done673 * Bug Fix: None674 * Additional changes: None675 676 Feature Enhancements: Version 0.1.0677 * Enhancements: Custom Height & Width Setting678 * Enhancements: Batch Uploader679 * Enhancements: Thumbnails Setting680 * Enhancements: Single & Multiple Slide Deletion681 * Enhancements: Navigation Style Setting682 * Enhancements: Navigation Arrow Setting683 * Enhancements: Full Screen Setting684 * Enhancements: Touch Slide Enable685 * Enhancements: Slide Loading Spinner686 * Bug Fix: None687 * Additional changes: None688 689 236 == Upgrade Notice == 690 237 This is an Initial release. Start with version 0.1 and share your feedback <a href="https://wordpress.org/support/view/plugin-reviews/responsive-slider-gallery/">here</a>. -
responsive-slider-gallery/trunk/responsive-slider-gallery.php
r3344455 r3417310 7 7 Plugin URI: https://awplife.com/wordpress-plugins/responsive-slider-gallery-premium/ 8 8 Description: A Responsive Simple Beautiful Easy Powerful CSS & JS Based WordPress Image Slider Gallery Plugin [standard] 9 Version: 1.5. 09 Version: 1.5.1 10 10 Author: A WP Life 11 11 Author URI: https://awplife.com/ … … 29 29 */ 30 30 31 if ( ! class_exists( 'Responsive_Slider_Gallery' ) ) { 32 33 class Responsive_Slider_Gallery { 31 if (!defined('ABSPATH')) { 32 exit; 33 } 34 35 if (!class_exists('Responsive_Slider_Gallery')) { 36 37 class Responsive_Slider_Gallery 38 { 34 39 35 40 protected $protected_plugin_api; 36 41 protected $ajax_plugin_nonce; 37 42 38 public function __construct() { 43 public function __construct() 44 { 39 45 $this->_constants(); 40 46 $this->_hooks(); 41 47 } 42 48 43 protected function _constants() { 49 protected function _constants() 50 { 44 51 /** 45 52 * Plugin Version 46 53 */ 47 define( 'RSG_PLUGIN_VER', '1.5.0');54 define('RSG_PLUGIN_VER', '1.5.1'); 48 55 49 56 /** 50 57 * Plugin Text Domain 51 58 */ 52 define( 'rsg_txt_dm', 'responsive-slider-gallery');59 define('rsg_txt_dm', 'responsive-slider-gallery'); 53 60 54 61 /** 55 62 * Plugin Name 56 63 */ 57 define( 'RSG_PLUGIN_NAME', __( 'Responsive Slider Gallery', 'responsive-slider-gallery' ));64 define('RSG_PLUGIN_NAME', __('Responsive Slider Gallery', 'responsive-slider-gallery')); 58 65 59 66 /** 60 67 * Plugin Slug 61 68 */ 62 define( 'RSG_PLUGIN_SLUG', 'responsive_slider');69 define('RSG_PLUGIN_SLUG', 'responsive_slider'); 63 70 64 71 /** 65 72 * Plugin Directory Path 66 73 */ 67 define( 'RSG_PLUGIN_DIR', plugin_dir_path( __FILE__ ));74 define('RSG_PLUGIN_DIR', plugin_dir_path(__FILE__)); 68 75 69 76 /** 70 77 * Plugin Directory URL 71 78 */ 72 define( 'RSG_PLUGIN_URL', plugin_dir_url( __FILE__ ));79 define('RSG_PLUGIN_URL', plugin_dir_url(__FILE__)); 73 80 74 81 /** … … 77 84 * @uses NONCE_KEY Defined in the WP root config.php 78 85 */ 79 define( 'EWPT_SECURE_KEY', md5( NONCE_KEY ));86 define('EWPT_SECURE_KEY', md5(NONCE_KEY)); 80 87 81 88 } // end of constructor function … … 89 96 * @return void 90 97 */ 91 protected function _hooks() { 98 protected function _hooks() 99 { 92 100 /** 93 101 * Load text domain 94 102 */ 95 add_action( 'plugins_loaded', array( $this, '_load_textdomain' ));103 add_action('plugins_loaded', array($this, '_load_textdomain')); 96 104 97 105 /** 98 106 * add gallery menu item, change menu filter for multisite 99 107 */ 100 add_action( 'admin_menu', array( $this, '_rsgallery_menu' ), 101);108 add_action('admin_menu', array($this, '_rsgallery_menu'), 101); 101 109 102 110 /** 103 111 * Create Responsive Slider Gallery Custom Post 104 112 */ 105 add_action( 'init', array( $this, '_Responsive_Slider_Gallery' ));113 add_action('init', array($this, '_Responsive_Slider_Gallery')); 106 114 107 115 /** 108 116 * Add meta box to custom post 109 117 */ 110 add_action( 'add_meta_boxes', array( $this, '_admin_add_meta_box' ));118 add_action('add_meta_boxes', array($this, '_admin_add_meta_box')); 111 119 112 120 /** 113 121 * loaded during admin init 114 122 */ 115 add_action( 'admin_init', array( $this, '_admin_add_meta_box' ));116 117 add_action( 'wp_ajax_slide', array( &$this, '_ajax_slide' ));118 119 add_action( 'save_post', array( &$this, '_save_settings' ));123 add_action('admin_init', array($this, '_admin_add_meta_box')); 124 125 add_action('wp_ajax_slide', array(&$this, '_ajax_slide')); 126 127 add_action('save_post', array(&$this, '_save_settings')); 120 128 121 129 /** 122 130 * Shortcode Compatibility in Text Widgets 123 131 */ 124 add_filter( 'widget_text', 'do_shortcode');132 add_filter('widget_text', 'do_shortcode'); 125 133 126 134 // add pfg cpt shortcode column - manage_{$post_type}_posts_columns 127 add_filter( 'manage_responsive_slider_posts_columns', array( &$this, 'set_responsive_slider_shortcode_column_name' ));135 add_filter('manage_responsive_slider_posts_columns', array(&$this, 'set_responsive_slider_shortcode_column_name')); 128 136 129 137 // add pfg cpt shortcode column data - manage_{$post_type}_posts_custom_column 130 add_action( 'manage_responsive_slider_posts_custom_column', array( &$this, 'custom_responsive_slider_shodrcode_data' ), 10, 2);131 132 add_action( 'wp_enqueue_scripts', array( &$this, 'responsive_enqueue_scripts_in_header' ));138 add_action('manage_responsive_slider_posts_custom_column', array(&$this, 'custom_responsive_slider_shodrcode_data'), 10, 2); 139 140 add_action('wp_enqueue_scripts', array(&$this, 'responsive_enqueue_scripts_in_header')); 133 141 134 142 } // end of hook function 135 143 136 public function responsive_enqueue_scripts_in_header() { 137 wp_enqueue_script( 'jquery' ); 144 public function responsive_enqueue_scripts_in_header() 145 { 146 wp_enqueue_script('jquery'); 138 147 } 139 148 140 149 // Responsiv Slider cpt shortcode column before date columns 141 public function set_responsive_slider_shortcode_column_name( $defaults ) { 142 $new = array(); 150 public function set_responsive_slider_shortcode_column_name($defaults) 151 { 152 $new = array(); 143 153 $shortcode = $columns['responsive_slider_shortcode']; // save the tags column 144 unset( $defaults['tags']); // remove it from the columns list145 146 foreach ( $defaults as $key => $value) {147 if ( $key == 'date') { // when we find the date column148 $new['responsive_slider_shortcode'] = __( 'Shortcode', 'responsive-slider-gallery'); // put the tags column before it149 } 150 $new[ $key] = $value;154 unset($defaults['tags']); // remove it from the columns list 155 156 foreach ($defaults as $key => $value) { 157 if ($key == 'date') { // when we find the date column 158 $new['responsive_slider_shortcode'] = __('Shortcode', 'responsive-slider-gallery'); // put the tags column before it 159 } 160 $new[$key] = $value; 151 161 } 152 162 return $new; … … 154 164 155 165 // Responsiv Slider cpt shortcode column data 156 public function custom_responsive_slider_shodrcode_data( $column, $post_id ) { 157 switch ( $column ) { 166 public function custom_responsive_slider_shodrcode_data($column, $post_id) 167 { 168 switch ($column) { 158 169 case 'responsive_slider_shortcode': 159 echo "<input type='text' class='button button-primary' id='responsive-slider-shortcode-" . esc_attr( $post_id ) . "' value='[responsive-slider id=" . esc_attr( $post_id) . "]' style='font-weight:bold; background-color:#32373C; color:#FFFFFF; text-align:center;' />";160 echo "<input type='button' class='button button-primary' onclick='return RESSLIDERCopyShortcode" . esc_attr( $post_id) . "();' readonly value='Copy' style='margin-left:4px;' />";161 echo "<span id='copy-msg-" . esc_attr( $post_id) . "' class='button button-primary' style='display:none; background-color:#32CD32; color:#FFFFFF; margin-left:4px; border-radius: 4px;'>copied</span>";170 echo "<input type='text' class='button button-primary' id='responsive-slider-shortcode-" . esc_attr($post_id) . "' value='[responsive-slider id=" . esc_attr($post_id) . "]' style='font-weight:bold; background-color:#32373C; color:#FFFFFF; text-align:center;' />"; 171 echo "<input type='button' class='button button-primary' onclick='return RESSLIDERCopyShortcode" . esc_attr($post_id) . "();' readonly value='Copy' style='margin-left:4px;' />"; 172 echo "<span id='copy-msg-" . esc_attr($post_id) . "' class='button button-primary' style='display:none; background-color:#32CD32; color:#FFFFFF; margin-left:4px; border-radius: 4px;'>copied</span>"; 162 173 echo '<script> 163 function RESSLIDERCopyShortcode' . esc_attr( $post_id) . "() {164 var copyText = document.getElementById('responsive-slider-shortcode-" . esc_attr( $post_id) . "');174 function RESSLIDERCopyShortcode' . esc_attr($post_id) . "() { 175 var copyText = document.getElementById('responsive-slider-shortcode-" . esc_attr($post_id) . "'); 165 176 copyText.select(); 166 177 document.execCommand('copy'); 167 178 168 179 //fade in and out copied message 169 jQuery('#copy-msg-" . esc_attr( $post_id) . "').fadeIn('1000', 'linear');170 jQuery('#copy-msg-" . esc_attr( $post_id) . "').fadeOut(2500,'swing');180 jQuery('#copy-msg-" . esc_attr($post_id) . "').fadeIn('1000', 'linear'); 181 jQuery('#copy-msg-" . esc_attr($post_id) . "').fadeOut(2500,'swing'); 171 182 } 172 183 </script> … … 182 193 * @access private 183 194 */ 184 public function _load_textdomain() { 185 load_plugin_textdomain( 'responsive-slider-gallery', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); 195 public function _load_textdomain() 196 { 197 load_plugin_textdomain('responsive-slider-gallery', false, dirname(plugin_basename(__FILE__)) . '/languages'); 186 198 } 187 199 … … 192 204 * @return void 193 205 */ 194 public function _rsgallery_menu() { 195 $theme_menu = add_submenu_page( 'edit.php?post_type=' . RSG_PLUGIN_SLUG, __( 'Our Theme', 'responsive-slider-gallery' ), __( 'Our Theme', 'responsive-slider-gallery' ), 'administrator', 'sr-theme-page', array( $this, '_rs_theme_page' ) ); 196 } 197 206 public function _rsgallery_menu() 207 { 208 $theme_menu = add_submenu_page('edit.php?post_type=' . RSG_PLUGIN_SLUG, __('Our Theme', 'responsive-slider-gallery'), __('Our Theme', 'responsive-slider-gallery'), 'administrator', 'sr-theme-page', array($this, '_rs_theme_page')); 209 } 210 198 211 /** 199 212 * Responsive Slider Gallery Custom Post … … 203 216 * @return void Return custom post type. 204 217 */ 205 public function _Responsive_Slider_Gallery() { 218 public function _Responsive_Slider_Gallery() 219 { 206 220 $labels = array( 207 'name' => _x( 'Responsive Slider Galleries', 'Post Type General Name', 'responsive-slider-gallery'),208 'singular_name' => _x( 'Responsive Slider Gallery', 'Post Type Singular Name', 'responsive-slider-gallery'),209 'menu_name' => __( 'Responsive Slider Gallery', 'responsive-slider-gallery'),210 'name_admin_bar' => __( 'Responsive Slider Gallery', 'responsive-slider-gallery'),211 'parent_item_colon' => __( 'Parent Item', 'responsive-slider-gallery'),212 'all_items' => __( 'All Slider Gallery', 'responsive-slider-gallery'),213 'add_new_item' => __( 'Add Slider Gallery', 'responsive-slider-gallery'),214 'add_new' => __( 'Add Slider Gallery', 'responsive-slider-gallery'),215 'new_item' => __( 'New Gallery', 'responsive-slider-gallery'),216 'edit_item' => __( 'Edit Gallery', 'responsive-slider-gallery'),217 'update_item' => __( 'Update Gallery', 'responsive-slider-gallery'),218 'search_items' => __( 'Search Gallery', 'responsive-slider-gallery'),219 'not_found' => __( 'Gallery Not found', 'responsive-slider-gallery'),220 'not_found_in_trash' => __( 'Gallery Not found in Trash', 'responsive-slider-gallery'),221 'name' => _x('Responsive Slider Galleries', 'Post Type General Name', 'responsive-slider-gallery'), 222 'singular_name' => _x('Responsive Slider Gallery', 'Post Type Singular Name', 'responsive-slider-gallery'), 223 'menu_name' => __('Responsive Slider Gallery', 'responsive-slider-gallery'), 224 'name_admin_bar' => __('Responsive Slider Gallery', 'responsive-slider-gallery'), 225 'parent_item_colon' => __('Parent Item', 'responsive-slider-gallery'), 226 'all_items' => __('All Slider Gallery', 'responsive-slider-gallery'), 227 'add_new_item' => __('Add Slider Gallery', 'responsive-slider-gallery'), 228 'add_new' => __('Add Slider Gallery', 'responsive-slider-gallery'), 229 'new_item' => __('New Gallery', 'responsive-slider-gallery'), 230 'edit_item' => __('Edit Gallery', 'responsive-slider-gallery'), 231 'update_item' => __('Update Gallery', 'responsive-slider-gallery'), 232 'search_items' => __('Search Gallery', 'responsive-slider-gallery'), 233 'not_found' => __('Gallery Not found', 'responsive-slider-gallery'), 234 'not_found_in_trash' => __('Gallery Not found in Trash', 'responsive-slider-gallery'), 221 235 ); 222 $args = array(223 'label' => __( 'Responsive Slider Gallery', 'responsive-slider-gallery'),224 'description' => __( 'Custom Post Type For Responsive Slider Gallery', 'responsive-slider-gallery'),225 'labels' => $labels,226 'supports' => array( 'title'),227 'taxonomies' => array(),228 'hierarchical' => false,229 'public' => true,230 'show_ui' => true,231 'show_in_menu' => true,232 'menu_position' => 65,233 'menu_icon' => 'dashicons-images-alt2',234 'show_in_admin_bar' => true,235 'show_in_nav_menus' => true,236 'can_export' => true,237 'has_archive' => true,236 $args = array( 237 'label' => __('Responsive Slider Gallery', 'responsive-slider-gallery'), 238 'description' => __('Custom Post Type For Responsive Slider Gallery', 'responsive-slider-gallery'), 239 'labels' => $labels, 240 'supports' => array('title'), 241 'taxonomies' => array(), 242 'hierarchical' => false, 243 'public' => true, 244 'show_ui' => true, 245 'show_in_menu' => true, 246 'menu_position' => 65, 247 'menu_icon' => 'dashicons-images-alt2', 248 'show_in_admin_bar' => true, 249 'show_in_nav_menus' => true, 250 'can_export' => true, 251 'has_archive' => true, 238 252 'exclude_from_search' => false, 239 'publicly_queryable' => true,240 'capability_type' => 'page',253 'publicly_queryable' => true, 254 'capability_type' => 'page', 241 255 ); 242 register_post_type( 'responsive_slider', $args);256 register_post_type('responsive_slider', $args); 243 257 244 258 } // end of post type function … … 250 264 * @return void 251 265 */ 252 public function _admin_add_meta_box() { 266 public function _admin_add_meta_box() 267 { 253 268 // Syntax: add_meta_box( $id, $title, $callback, $screen, $context, $priority, $callback_args ); 254 add_meta_box( '1', __( 'Copy Responsive Slider Shortcode', 'responsive-slider-gallery' ), array( &$this, '_rsg_shortcode_left_metabox' ), 'responsive_slider', 'side', 'default');255 add_meta_box( '', __( 'Add Image Slides', 'responsive-slider-gallery' ), array( &$this, 'upload_multiple_images' ), 'responsive_slider', 'normal', 'default');269 add_meta_box('1', __('Copy Responsive Slider Shortcode', 'responsive-slider-gallery'), array(&$this, '_rsg_shortcode_left_metabox'), 'responsive_slider', 'side', 'default'); 270 add_meta_box('', __('Add Image Slides', 'responsive-slider-gallery'), array(&$this, 'upload_multiple_images'), 'responsive_slider', 'normal', 'default'); 256 271 } 257 272 258 273 // image gallery copy shortcode meta box under publish button 259 public function _rsg_shortcode_left_metabox( $post ) { ?> 274 public function _rsg_shortcode_left_metabox($post) 275 { ?> 260 276 <p class="input-text-wrap"> 261 <input type="text" name="RSGcopyshortcode" id="RSGcopyshortcode" value="<?php echo esc_attr("[responsive-slider id=".$post->ID."]"); ?>" readonly style="height: 90px; text-align: center; width:100%; font-size: 20px; border: 2px dashed;"> 262 <p id="rsg-copy-code"><?php esc_html_e( 'Shortcode copied to clipboard!', 'responsive-slider-gallery' ); ?></p> 263 <p style="margin-top: 10px"><?php esc_html_e( 'Copy & Embed shotcode into any Page/ Post / Text Widget to display gallery.', 'responsive-slider-gallery' ); ?></p> 277 <input type="text" name="RSGcopyshortcode" id="RSGcopyshortcode" 278 value="<?php echo esc_attr("[responsive-slider id=" . $post->ID . "]"); ?>" readonly 279 style="height: 90px; text-align: center; width:100%; font-size: 20px; border: 2px dashed;"> 280 <p id="rsg-copy-code"><?php esc_html_e('Shortcode copied to clipboard!', 'responsive-slider-gallery'); ?></p> 281 <p style="margin-top: 10px"> 282 <?php esc_html_e('Copy & Embed shotcode into any Page/ Post / Text Widget to display gallery.', 'responsive-slider-gallery'); ?> 283 </p> 264 284 </p> 265 285 <span onclick="copyToClipboard('#RSGcopyshortcode')" class="rsg-copy dashicons dashicons-clipboard"></span> … … 272 292 cursor: pointer; 273 293 } 274 .ui-sortable-handle > span { 294 295 .ui-sortable-handle>span { 275 296 font-size: 16px !important; 276 297 } 277 298 </style> 278 299 <script> 279 jQuery( "#rsg-copy-code").hide();280 function copyToClipboard(element) {281 var $temp = jQuery("<input>");282 jQuery("body").append($temp);283 $temp.val(jQuery(element).val()).select();284 document.execCommand("copy");285 $temp.remove();286 jQuery( "#RSGcopyshortcode").select();287 jQuery( "#rsg-copy-code").fadeIn();288 }300 jQuery("#rsg-copy-code").hide(); 301 function copyToClipboard(element) { 302 var $temp = jQuery("<input>"); 303 jQuery("body").append($temp); 304 $temp.val(jQuery(element).val()).select(); 305 document.execCommand("copy"); 306 $temp.remove(); 307 jQuery("#RSGcopyshortcode").select(); 308 jQuery("#rsg-copy-code").fadeIn(); 309 } 289 310 </script> 290 311 <?php 291 312 } 292 313 293 public function upload_multiple_images( $post ) { 294 wp_enqueue_script( 'media-upload' ); 295 wp_enqueue_script( 'awl-uploader-js', RSG_PLUGIN_URL . 'js/awl-uploader.js', array( 'jquery' ) ); 296 wp_enqueue_style( 'awl-uploader-css', RSG_PLUGIN_URL . 'css/awl-uploader.css' ); 314 public function upload_multiple_images($post) 315 { 316 wp_enqueue_script('media-upload'); 317 wp_enqueue_script('awl-uploader-js', RSG_PLUGIN_URL . 'js/awl-uploader.js', array('jquery')); 318 wp_enqueue_style('awl-uploader-css', RSG_PLUGIN_URL . 'css/awl-uploader.css'); 297 319 wp_enqueue_media(); 298 320 ?> 299 300 321 322 301 323 <!--Add New Slide Button--> 302 <?php wp_nonce_field( 'rsg_add_images', 'rsg_add_images_nonce' ); ?> 303 304 <div class="row"> 305 <!--Add New Image Button--> 306 <div class="file-upload"> 307 <div class="image-upload-wrap"> 308 <input class="add-new-slider file-upload-input" id="add-new-slider" name="add-new-slider" value="Upload Image" /> 309 <div class="drag-text"> 310 <h3><?php esc_html_e( 'ADD IMAGES', 'responsive-slider-gallery' ); ?></h3> 311 </div> 312 </div> 313 </div> 314 </div> 315 <div style="clear:left;"></div> 316 317 324 <?php wp_nonce_field('rsg_add_images', 'rsg_add_images_nonce'); ?> 325 318 326 <?php 319 327 require_once 'slider-settings.php'; 320 328 } // end of upload multiple image 321 329 322 public function _rsg_ajax_callback_function( $id ) { 323 // wp_get_attachment_image_src ( int $attachment_id, string|array $size = 'thumbnail', bool $icon = false ) 324 // thumb, thumbnail, medium, large, post-thumbnail 325 $thumb = wp_get_attachment_image_src( $id, 'thumb', true ); 326 $thumbnail = wp_get_attachment_image_src( $id, 'thumbnail', true ); 327 $medium = wp_get_attachment_image_src( $id, 'medium', true ); 328 $large = wp_get_attachment_image_src( $id, 'large', true ); 329 $postthumbnail = wp_get_attachment_image_src( $id, 'post-thumbnail', true ); 330 $attachment = get_post( $id ); // $id = attachment id 330 public function _rsg_ajax_callback_function($id) 331 { 332 $thumbnail = wp_get_attachment_image_src($id, 'large', true); 333 334 if (!$thumbnail) { 335 return; 336 } 331 337 ?> 332 <li class="slide"> 333 <img class="new-slide" src="<?php echo esc_url( $thumbnail[0] ); ?>" alt=""> 334 <input type="hidden" id="slide-ids[]" name="slide-ids[]" value="<?php echo esc_attr( $id ); ?>" /> 335 <input type="text" name="slide-title[]" id="slide-title[]" placeholder="<?php _e( 'Slide Title', 'responsive-slider-gallery' ); ?>" readonly value="<?php echo esc_attr( get_the_title( $id ) ); ?>"> 336 <input type="button" name="remove-slide" id="remove-slide" class="button" value="<?php _e( 'Delete Slide', 'responsive-slider-gallery' ); ?>"> 338 <li class="slide rsg-gallery-item"> 339 <div class="rsg-slide-image-wrapper"> 340 <img class="new-slide rsg-slide-image" src="<?php echo esc_url($thumbnail[0]); ?>" alt=""> 341 <a class="pw-trash-icon rsg-delete-btn" name="remove-slide" id="remove-slide" href="#" 342 title="Delete Slide"><span class="dashicons dashicons-trash"></span></a> 343 </div> 344 <input type="hidden" id="slide-ids[]" name="slide-ids[]" value="<?php echo esc_attr($id); ?>" /> 345 <input type="text" class="rsg-slide-title" name="slide-title[]" id="slide-title[]" 346 placeholder="<?php _e('Slide Title', 'responsive-slider-gallery'); ?>" readonly 347 value="<?php echo esc_attr(get_the_title($id)); ?>"> 337 348 </li> 338 349 <?php 339 350 } 340 351 341 public function _ajax_slide() { 342 if ( current_user_can( 'manage_options' ) ) { 343 if ( ! isset( $_POST['rsg_add_images_nonce'] ) || ! wp_verify_nonce( $_POST['rsg_add_images_nonce'], 'rsg_add_images' ) ) { 344 print 'Sorry, your nonce did not verify.'; 352 public function _ajax_slide() 353 { 354 if (current_user_can('manage_options')) { 355 if (!isset($_POST['rsg_add_images_nonce']) || !wp_verify_nonce($_POST['rsg_add_images_nonce'], 'rsg_add_images')) { 356 wp_send_json_error('Sorry, your nonce did not verify.'); 345 357 exit; 346 358 } else { 347 echo esc_attr( $this->_rsg_ajax_callback_function( sanitize_text_field( $_POST['slideId'] ) ) ); 359 $slide_id = absint($_POST['slideId']); 360 $this->_rsg_ajax_callback_function($slide_id); 348 361 die; 349 362 } … … 351 364 } 352 365 353 public function _save_settings( $post_id ) { 354 if ( isset( $_POST['rsg_save_nonce'] ) ) { 355 if ( isset( $_POST['rsg_save_nonce'] ) || wp_verify_nonce( $_POST['rsg_save_nonce'], 'save_settings' ) ) { 356 357 $width = sanitize_text_field( $_POST['width'] ); 358 $height = sanitize_text_field( $_POST['height'] ); 359 $navstyle = sanitize_text_field( $_POST['nav-style'] ); 360 $navwidth = sanitize_text_field( $_POST['nav-width'] ); 361 $fullscreen = sanitize_text_field( $_POST['fullscreen'] ); 362 $fitslides = sanitize_text_field( $_POST['fit-slides'] ); 363 $transitionduration = sanitize_text_field( $_POST['transition-duration'] ); 364 $slidetext = sanitize_text_field( $_POST['slide-text'] ); 365 $autoplay = sanitize_text_field( $_POST['autoplay'] ); 366 $loop = sanitize_text_field( $_POST['loop'] ); 367 $navarrow = sanitize_text_field( $_POST['nav-arrow'] ); 368 $touchslide = sanitize_text_field( $_POST['touch-slide'] ); 369 $spinner = sanitize_text_field( $_POST['spinner'] ); 370 $i = 0; 371 $image_ids = array(); 372 $image_titles = array(); 373 $image_ids_val = isset( $_POST['slide-ids'] ) ? (array) $_POST['slide-ids'] : array(); 374 $image_ids_val = array_map( 'sanitize_text_field', $image_ids_val ); 375 376 foreach ( $image_ids_val as $image_id ) { 377 $image_ids[] = sanitize_text_field( $_POST['slide-ids'][ $i ] ); 378 $image_titles[] = sanitize_text_field( $_POST['slide-title'][ $i ] ); 366 public function _save_settings($post_id) 367 { 368 if (isset($_POST['rsg_save_nonce'])) { 369 if (isset($_POST['rsg_save_nonce']) || wp_verify_nonce($_POST['rsg_save_nonce'], 'save_settings')) { 370 371 $width = sanitize_text_field($_POST['width']); 372 $height = sanitize_text_field($_POST['height']); 373 $navstyle = sanitize_text_field($_POST['nav-style']); 374 $navwidth = sanitize_text_field($_POST['nav-width']); 375 $fullscreen = sanitize_text_field($_POST['fullscreen']); 376 $fitslides = sanitize_text_field($_POST['fit-slides']); 377 $transitionduration = sanitize_text_field($_POST['transition-duration']); 378 $slidetext = sanitize_text_field($_POST['slide-text']); 379 $autoplay = sanitize_text_field($_POST['autoplay']); 380 $loop = sanitize_text_field($_POST['loop']); 381 $navarrow = sanitize_text_field($_POST['nav-arrow']); 382 $touchslide = sanitize_text_field($_POST['touch-slide']); 383 $spinner = sanitize_text_field($_POST['spinner']); 384 $i = 0; 385 $image_ids = array(); 386 $image_titles = array(); 387 $image_ids_val = isset($_POST['slide-ids']) ? (array) $_POST['slide-ids'] : array(); 388 $image_ids_val = array_map('sanitize_text_field', $image_ids_val); 389 390 foreach ($image_ids_val as $image_id) { 391 $image_ids[] = sanitize_text_field($_POST['slide-ids'][$i]); 392 $image_titles[] = sanitize_text_field($_POST['slide-title'][$i]); 379 393 $single_image_update = array( 380 'ID' => $image_id,381 'post_title' => $image_titles[ $i],394 'ID' => $image_id, 395 'post_title' => $image_titles[$i], 382 396 ); 383 wp_update_post( $single_image_update);397 wp_update_post($single_image_update); 384 398 $i++; 385 399 } 386 400 387 $allslidesetting= array(388 'slide-ids'=> $image_ids,389 'slide-title'=> $image_titles,390 'width'=> $width,391 'height'=> $height,392 'nav-style'=> $navstyle,393 'nav-width'=> $navwidth,394 'fullscreen'=> $fullscreen,395 'fit-slides'=> $fitslides,396 'transition-duration' => $transitionduration,397 'slide-text'=> $slidetext,398 'autoplay'=> $autoplay,399 'loop'=> $loop,400 'nav-arrow'=> $navarrow,401 'touch-slide'=> $touchslide,402 'spinner'=> $spinner,403 );404 $awl_slider_shortcode_setting = 'awl_slider_settings_' . $post_id;405 update_post_meta( $post_id, $awl_slider_shortcode_setting, base64_encode( serialize( $allslidesetting ) ));401 $allslidesetting = array( 402 'slide-ids' => $image_ids, 403 'slide-title' => $image_titles, 404 'width' => $width, 405 'height' => $height, 406 'nav-style' => $navstyle, 407 'nav-width' => $navwidth, 408 'fullscreen' => $fullscreen, 409 'fit-slides' => $fitslides, 410 'transition-duration' => $transitionduration, 411 'slide-text' => $slidetext, 412 'autoplay' => $autoplay, 413 'loop' => $loop, 414 'nav-arrow' => $navarrow, 415 'touch-slide' => $touchslide, 416 'spinner' => $spinner, 417 ); 418 $awl_slider_shortcode_setting = 'awl_slider_settings_' . $post_id; 419 update_post_meta($post_id, $awl_slider_shortcode_setting, base64_encode(serialize($allslidesetting))); 406 420 } 407 421 } … … 416 430 * @return void. 417 431 */ 418 public function _rsgallery_featured_plugin_page() { 432 public function _rsgallery_featured_plugin_page() 433 { 419 434 require_once 'featured-plugins/featured-plugins.php'; 420 435 } 421 436 422 public function _rs_upgrade_plugin_page() { 437 public function _rs_upgrade_plugin_page() 438 { 423 439 require_once 'buy-responsive-slider-premium.php'; 424 440 } 425 441 426 442 // theme page 427 public function _rs_theme_page() { 443 public function _rs_theme_page() 444 { 428 445 require_once 'our-theme/awp-theme.php'; 429 446 } … … 432 449 433 450 // register sf scripts 434 function awplife_rsg_register_scripts() { 451 function awplife_rsg_register_scripts() 452 { 435 453 436 454 // css & JS 437 wp_register_script( 'awl-fotorama-js', plugin_dir_url( __FILE__ ) . 'js/fotorama.min.js', array( 'jquery' ));438 wp_register_style( 'awl-fotorama-css', plugin_dir_url( __FILE__ ) . 'css/awl-fotorama.min.css');455 wp_register_script('awl-fotorama-js', plugin_dir_url(__FILE__) . 'js/fotorama.min.js', array('jquery')); 456 wp_register_style('awl-fotorama-css', plugin_dir_url(__FILE__) . 'css/awl-fotorama.min.css'); 439 457 // css & JS 440 458 } 441 add_action( 'wp_enqueue_scripts', 'awplife_rsg_register_scripts');459 add_action('wp_enqueue_scripts', 'awplife_rsg_register_scripts'); 442 460 443 461 // Plugin Recommend 444 add_action( 'tgmpa_register', 'rsg_txt_dm_plugin_recommend' ); 445 function rsg_txt_dm_plugin_recommend() { 462 add_action('tgmpa_register', 'rsg_txt_dm_plugin_recommend'); 463 function rsg_txt_dm_plugin_recommend() 464 { 446 465 $plugins = array( 447 466 array( 448 'name' => 'Weather Effect',449 'slug' => 'weather-effect',467 'name' => 'Weather Effect', 468 'slug' => 'weather-effect', 450 469 'required' => false, 451 470 ), 452 471 array( 453 'name' => 'Slider – Image Video Link Carousal Slideshow',454 'slug' => 'media-slider',472 'name' => 'Slider – Image Video Link Carousal Slideshow', 473 'slug' => 'media-slider', 455 474 'required' => false, 456 475 ), 457 476 array( 458 'name' => 'Modal Popup Box',459 'slug' => 'modal-popup-box',477 'name' => 'Modal Popup Box', 478 'slug' => 'modal-popup-box', 460 479 'required' => false, 461 480 ), 462 481 ); 463 tgmpa( $plugins);482 tgmpa($plugins); 464 483 } 465 484 -
responsive-slider-gallery/trunk/shortcode.php
r2637332 r3417310 7 7 * @return Create Fontend Slider Gallery Output 8 8 */ 9 add_shortcode( 'responsive-slider', 'responsive_slider_shortcode' ); 10 function responsive_slider_shortcode( $post_id ) { 11 wp_enqueue_script( 'awl-fotorama-js' ); 12 wp_enqueue_style( 'awl-fotorama-css' ); 9 add_shortcode('responsive-slider', 'responsive_slider_shortcode'); 10 function responsive_slider_shortcode($post_id) 11 { 12 wp_enqueue_script('awl-fotorama-js'); 13 wp_enqueue_style('awl-fotorama-css'); 13 14 ob_start(); 14 $allslides = array(15 'p' => $post_id['id'],15 $allslides = array( 16 'p' => $post_id['id'], 16 17 'post_type' => 'responsive_slider', 17 18 ); 18 $allslides_loop = new WP_Query( $allslides);19 while ( $allslides_loop->have_posts() ):19 $allslides_loop = new WP_Query($allslides); 20 while ($allslides_loop->have_posts()): 20 21 $allslides_loop->the_post(); 21 $post_id = get_the_ID();22 $allslidesetting = unserialize( base64_decode( get_post_meta( $post_id, 'awl_slider_settings_' . $post_id, true ) ));22 $post_id = get_the_ID(); 23 $allslidesetting = unserialize(base64_decode(get_post_meta($post_id, 'awl_slider_settings_' . $post_id, true))); 23 24 // start the sider contents 24 if ( isset( $allslidesetting['width'] )) {25 if (isset($allslidesetting['width'])) { 25 26 $width = $allslidesetting['width']; 26 27 } else { 27 28 $width = '100%'; 28 29 } 29 if ( isset( $allslidesetting['height'] )) {30 if (isset($allslidesetting['height'])) { 30 31 $height = $allslidesetting['height']; 31 32 } else { 32 33 $height = ''; 33 34 } 34 if ( isset( $allslidesetting['nav-style'] )) {35 if (isset($allslidesetting['nav-style'])) { 35 36 $navstyle = $allslidesetting['nav-style']; 36 37 } else { 37 38 $navstyle = 'dots'; 38 39 } 39 if ( isset( $allslidesetting['nav-width'] )) {40 if (isset($allslidesetting['nav-width'])) { 40 41 $navwidth = $allslidesetting['nav-width']; 41 42 } else { 42 43 $navwidth = ''; 43 44 } 44 if ( isset( $allslidesetting['fullscreen'] )) {45 if (isset($allslidesetting['fullscreen'])) { 45 46 $fullscreen = $allslidesetting['fullscreen']; 46 47 } else { 47 48 $fullscreen = 'true'; 48 49 } 49 if ( isset( $allslidesetting['fit-slides'] )) {50 if (isset($allslidesetting['fit-slides'])) { 50 51 $fitslides = $allslidesetting['fit-slides']; 51 52 } else { 52 53 $fitslides = 'cover'; 53 54 } 54 if ( isset( $allslidesetting['transition-duration'] )) {55 if (isset($allslidesetting['transition-duration'])) { 55 56 $transitionduration = $allslidesetting['transition-duration']; 56 57 } else { 57 58 $transitionduration = '300'; 58 59 } 59 if ( isset( $allslidesetting['slide-text'] )) {60 if (isset($allslidesetting['slide-text'])) { 60 61 $slidetext = $allslidesetting['slide-text']; 61 62 } else { 62 63 $slidetext = 'false'; 63 64 } 64 if ( isset( $allslidesetting['autoplay'] )) {65 if (isset($allslidesetting['autoplay'])) { 65 66 $autoplay = $allslidesetting['autoplay']; 66 67 } else { 67 68 $autoplay = 'true'; 68 69 } 69 if ( isset( $allslidesetting['loop'] )) {70 if (isset($allslidesetting['loop'])) { 70 71 $loop = $allslidesetting['loop']; 71 72 } else { 72 73 $loop = 'true'; 73 74 } 74 if ( isset( $allslidesetting['nav-arrow'] )) {75 if (isset($allslidesetting['nav-arrow'])) { 75 76 $navarrow = $allslidesetting['nav-arrow']; 76 77 } else { 77 78 $navarrow = 'true'; 78 79 } 79 if ( isset( $allslidesetting['touch-slide'] )) {80 if (isset($allslidesetting['touch-slide'])) { 80 81 $touchslide = $allslidesetting['touch-slide']; 81 82 } else { 82 83 $touchslide = 'true'; 83 84 } 84 if ( isset( $allslidesetting['spinner'] )) {85 if (isset($allslidesetting['spinner'])) { 85 86 $spinner = $allslidesetting['spinner']; 86 87 } else { … … 88 89 } 89 90 ?> 90 <div class="fotorama responsive-image-silder" 91 data-width="<?php echo esc_html( $width ); ?>" 92 data-height="<?php echo esc_html( $height ); ?>" 93 data-nav="<?php echo esc_html( $navstyle ); ?>" 94 data-navwidth="<?php echo esc_html( $navwidth ); ?>" 95 data-allowfullscreen="<?php echo esc_html( $fullscreen ); ?>" 96 data-fit="<?php echo esc_html( $fitslides ); ?>" 97 data-transitionduration="<?php echo esc_html( $transitionduration ); ?>" 98 data-autoplay="<?php echo esc_html( $autoplay ); ?>" 99 data-loop="<?php echo esc_html( $loop ); ?>" 100 data-arrows="<?php echo esc_html( $navarrow ); ?>" 101 data-swipe="<?php echo esc_html( $touchslide ); ?>" 102 data-spinner="<?php echo esc_html( $spinner ); ?>" 103 data-transition="slide" 104 > 91 <div class="fotorama responsive-image-silder" data-width="<?php echo esc_html($width); ?>" 92 data-height="<?php echo esc_html($height); ?>" data-nav="<?php echo esc_html($navstyle); ?>" 93 data-navwidth="<?php echo esc_html($navwidth); ?>" data-allowfullscreen="<?php echo esc_html($fullscreen); ?>" 94 data-fit="<?php echo esc_html($fitslides); ?>" 95 data-transitionduration="<?php echo esc_html($transitionduration); ?>" 96 data-autoplay="<?php echo esc_html($autoplay); ?>" data-loop="<?php echo esc_html($loop); ?>" 97 data-arrows="<?php echo esc_html($navarrow); ?>" data-swipe="<?php echo esc_html($touchslide); ?>" 98 data-spinner="<?php echo esc_html($spinner); ?>" data-transition="slide"> 105 99 <?php 106 if ( isset( $allslidesetting['slide-ids'] ) && count( $allslidesetting['slide-ids'] ) > 0) {107 foreach ( $allslidesetting['slide-ids'] as $attachment_id) {108 $thumb = wp_get_attachment_image_src( $attachment_id, 'thumb', true);109 $thumbnail = wp_get_attachment_image_src( $attachment_id, 'thumbnail', true);110 $medium = wp_get_attachment_image_src( $attachment_id, 'medium', true);111 $large = wp_get_attachment_image_src( $attachment_id, 'large', true);112 $postthumbnail = wp_get_attachment_image_src( $attachment_id, 'post-thumbnail', true);100 if (isset($allslidesetting['slide-ids']) && count($allslidesetting['slide-ids']) > 0) { 101 foreach ($allslidesetting['slide-ids'] as $attachment_id) { 102 $thumb = wp_get_attachment_image_src($attachment_id, 'thumb', true); 103 $thumbnail = wp_get_attachment_image_src($attachment_id, 'thumbnail', true); 104 $medium = wp_get_attachment_image_src($attachment_id, 'medium', true); 105 $large = wp_get_attachment_image_src($attachment_id, 'large', true); 106 $postthumbnail = wp_get_attachment_image_src($attachment_id, 'post-thumbnail', true); 113 107 114 $attachment_details = get_post( $attachment_id);115 $href = get_permalink( $attachment_details->ID);116 $src= $attachment_details->guid;117 $title= $attachment_details->post_title;118 if ( $slidetext == 'true') {108 $attachment_details = get_post($attachment_id); 109 $href = get_permalink($attachment_details->ID); 110 $src = $attachment_details->guid; 111 $title = $attachment_details->post_title; 112 if ($slidetext == 'true') { 119 113 $text = $title; 120 114 } else { … … 122 116 } 123 117 ?> 124 <img src="<?php echo esc_url( $thumb[0] ); ?>" data-caption="<?php echo esc_html( $text); ?>">125 <?php118 <img src="<?php echo esc_url($thumb[0]); ?>" data-caption="<?php echo esc_html($text); ?>"> 119 <?php 126 120 }// end of attachment foreach 127 121 } else { 128 122 129 _e( 'Sorry! No slides added to the slider shortcode yet. Please add few slide into shortcode', 'responsive-slider-gallery');123 _e('Sorry! No slides added to the slider shortcode yet. Please add few slide into shortcode', 'responsive-slider-gallery'); 130 124 } // end of if esle of slides avaialble check into slider 131 125 ?> … … 138 132 <!-- HTML Script Part Start From Here--> 139 133 <script> 140 jQuery(function () {141 jQuery('.responsive-image-silder').fotorama({142 spinner: {143 lines: 13,144 color: 'rgba(0, 0, 0, .75)',145 className: 'fotorama',146 }147 });148 });134 jQuery(function () { 135 jQuery('.responsive-image-silder').fotorama({ 136 spinner: { 137 lines: 13, 138 color: 'rgba(0, 0, 0, .75)', 139 className: 'fotorama', 140 } 141 }); 142 }); 149 143 </script> 150 144 <?php -
responsive-slider-gallery/trunk/slider-settings.php
r3009908 r3417310 1 1 <?php 2 // toggle button CSS 3 wp_enqueue_style( 'awl-toogle-button-css', RSG_PLUGIN_URL . 'css/toogle-button.css' ); 4 5 // css dropdown toggle 6 wp_enqueue_style( 'nig-admin-bootstrap-css', RSG_PLUGIN_URL . 'css/admin-bootstrap.css' ); 7 wp_enqueue_style( 'awl-font-awesome-css', RSG_PLUGIN_URL . 'css/font-awesome.css' ); 8 wp_enqueue_style( 'awl-styles-css', RSG_PLUGIN_URL . 'css/styles.css' ); 9 wp_enqueue_style( 'awl-metabox-css', RSG_PLUGIN_URL . 'css/metabox.css' ); 10 11 12 // js 13 wp_enqueue_script( 'jquery' ); 14 wp_enqueue_script( 'awl-bootstrap-js', RSG_PLUGIN_URL . 'js/bootstrap.min.js', array( 'jquery' ), '', true ); 15 2 // Clean Admin CSS - No conflicts 3 wp_enqueue_style('rsg-admin-clean-css', RSG_PLUGIN_URL . 'css/rsg-admin-clean.css', array(), '2.0.0'); 4 5 // Font Awesome for icons 6 wp_enqueue_style('awl-font-awesome-css', RSG_PLUGIN_URL . 'css/font-awesome.css'); 7 8 // jQuery 9 wp_enqueue_script('jquery'); 16 10 ?> 17 <style> 18 .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto { 19 float: left;20 }21 .input_width {22 margin-left: 18px !important;23 border-width: 1px 1px 1px 6px !important;24 border-color: #3366ff !important;25 width: 30% !important;26 }27 #comment-link-box, #edit-slug-box {28 display: none;29 }30 </style>31 32 <div class="row">33 <div class="col-lg-12 bhoechie-tab-container">34 < div class="col-lg-2 col-md-2 col-sm-2 col-xs-2 bhoechie-tab-menu">35 < div class="list-group">36 <a href="#" class="list-group-item active text-center">37 <span class="dashicons dashicons-editor-table"></span><br/><?php esc_html_e( 'Add Images', 'responsive-slider-gallery' ); ?>38 </a>39 <a href="#" class="list-group-item text-center">40 <span class="dashicons dashicons-admin-generic"></span><br/><?php esc_html_e( 'Configure', 'responsive-slider-gallery'); ?>41 </a>42 <a href="#" class="list-group-item text-center">43 <span class="dashicons dashicons-admin-appearance"></span><br/><?php esc_html_e( 'Auto Play & Transition Effect', 'responsive-slider-gallery' ); ?> 44 </a>45 <a href="#" class="list-group-item text-center">46 <span class="dashicons dashicons-admin-customizer"></span><br/><?php esc_html_e( 'Navigation Settings', 'responsive-slider-gallery' ); ?>47 </a>48 <a href="#" class="list-group-item text-center">49 <span class="dashicons dashicons-cart"></span><br/><?php esc_html_e( 'Upgrade To Pro', 'responsive-slider-gallery' ); ?>50 < /a>51 </div> 52 </div>53 <div class="col-lg-10 col-md-10 col-sm-10 col-xs-10 bhoechie-tab">54 <div class="bhoechie-tab-content active">55 <h1><?php esc_html_e( 'Add Images', 'new-image-gallery' ); ?></h1>56 <hr>57 <div id="slider-gallery">58 <input type="button" id="remove-all-slides" name="remove-all-slides" class="button button-large" rel="" value="<?php esc_html_e( 'Delete All Slide', 'responsive-slider-gallery' ); ?>">59 <ul id="remove-slides" class="sbox">60 <?php 61 $allslidesetting = unserialize( base64_decode( get_post_meta( $post->ID, 'awl_slider_settings_' . $post->ID, true ) ));62 if ( isset( $allslidesetting['slide-ids'] )) {63 foreach ( $allslidesetting['slide-ids'] as $id) {64 $thumbnail = wp_get_attachment_image_src( $id, 'thumbnail', true);65 $attachment = get_post( $id);11 12 <div class="rsg-settings-dashboard"> 13 <div class="rsg-modern-container"> 14 <!-- Modern Tab Navigation --> 15 <div class="rsg-tab-navigation"> 16 <button class="rsg-tab-btn active" data-tab="tab-images"> 17 <span class="dashicons dashicons-images-alt2"></span> 18 <?php esc_html_e('Add Images', 'responsive-slider-gallery'); ?> 19 </button> 20 <button class="rsg-tab-btn" data-tab="tab-settings"> 21 <span class="dashicons dashicons-admin-settings"></span> 22 <?php esc_html_e('Settings', 'responsive-slider-gallery'); ?> 23 </button> 24 <button class="rsg-tab-btn" data-tab="tab-effects"> 25 <span class="dashicons dashicons-admin-appearance"></span> 26 <?php esc_html_e('Effects', 'responsive-slider-gallery'); ?> 27 </button> 28 <button class="rsg-tab-btn" data-tab="tab-navigation"> 29 <span class="dashicons dashicons-arrow-left-alt2"></span> 30 <?php esc_html_e('Navigation', 'responsive-slider-gallery'); ?> 31 </button> 32 <button class="rsg-tab-btn rsg-tab-pro" data-tab="tab-upgrade"> 33 <span class="dashicons dashicons-star-filled"></span> 34 <?php esc_html_e('Upgrade', 'responsive-slider-gallery'); ?> 35 </button> 36 </div> 37 38 <!-- Tab Content Container --> 39 <div class="rsg-tab-content-wrapper"> 40 <!-- Tab 1: Add Images --> 41 <div class="rsg-tab-pane active" id="tab-images"> 42 <div class="rsg-header"> 43 <h1><?php esc_html_e('Add Images', 'responsive-slider-gallery'); ?></h1> 44 <p class="rsg-subtitle">Manage your slider images.</p> 45 </div> 46 <div id="slider-gallery"> 47 <div class="rsg-actions"> 48 <input type="button" id="add-new-slider" class="button button-large rsg-btn-primary" 49 value="<?php esc_html_e('Add Images', 'responsive-slider-gallery'); ?>"> 50 <button class="button button-large rsg-btn-danger" id="remove-all-slides" 51 name="remove-all-slides"><?php esc_html_e('Delete All Slides', 'responsive-slider-gallery'); ?></button> 52 </div> 53 <ul id="remove-slides" class="sbox rsg-gallery-grid"> 54 <?php 55 $allslidesetting = unserialize(base64_decode(get_post_meta($post->ID, 'awl_slider_settings_' . $post->ID, true))); 56 if (isset($allslidesetting['slide-ids'])) { 57 foreach ($allslidesetting['slide-ids'] as $id) { 58 $thumbnail = wp_get_attachment_image_src($id, 'large', true); 59 $attachment = get_post($id); 66 60 ?> 67 <li class="slide"> 68 <img class="new-slide" src="<?php echo esc_url( $thumbnail[0] ); ?>" alt="" style="height: 150px; width: 98%; border-radius: 8px;"> 69 <input type="hidden" id="slide-ids[]" name="slide-ids[]" value="<?php echo esc_attr( $id ); ?>" /> 70 <!-- Slide Title--> 71 <input type="text" name="slide-title[]" id="slide-title[]" style="width: 98%;" placeholder="<?php _e( 'Slide Title', 'responsive-slider-gallery' ); ?>" readonly value="<?php echo esc_attr( get_the_title( $id ) ); ?>"> 72 <a class="pw-trash-icon" name="remove-slide" id="remove-slide" href="#"><span class="dashicons dashicons-trash"></span></a> 73 </li> 61 <li class="slide rsg-gallery-item"> 62 <div class="rsg-slide-image-wrapper"> 63 <img class="new-slide rsg-slide-image" src="<?php echo esc_url($thumbnail[0]); ?>" 64 alt=""> 65 <a class="pw-trash-icon rsg-delete-btn" name="remove-slide" id="remove-slide" 66 href="#"><span class="dashicons dashicons-trash"></span></a> 67 </div> 68 <input type="hidden" id="slide-ids[]" name="slide-ids[]" 69 value="<?php echo esc_attr($id); ?>" /> 70 <!-- Slide Title--> 71 <input type="text" class="rsg-slide-title" name="slide-title[]" id="slide-title[]" 72 placeholder="<?php _e('Slide Title', 'responsive-slider-gallery'); ?>" readonly 73 value="<?php echo esc_attr(get_the_title($id)); ?>"> 74 </li> 74 75 <?php 75 76 } // end of foreach 76 77 } //end of if 77 78 ?> 78 </ul> 79 </div> 80 </div> 81 <div class="bhoechie-tab-content"> 82 <h1><?php esc_html_e( 'Configure settings', 'responsive-slider-gallery' ); ?></h1> 83 <hr> 84 85 <div class="col-md-4"> 86 <div class="ma_field_discription"> 87 <h6><?php esc_html_e( 'Slider Text', 'responsive-slider-gallery' ); ?></h6> 88 <p><?php esc_html_e( 'Set slider text visibility on slider', 'responsive-slider-gallery' ); ?></p> 89 </div> 90 </div> 91 <div class="col-md-8"> 92 <div class="ma_field p-4 switch-field em_size_field"> 93 <?php 94 if ( isset( $allslidesetting['slide-text'] ) ) { 95 $slidetext = $allslidesetting['slide-text']; 96 } else { 97 $slidetext = 'false'; 98 } 99 ?> 100 <input type="radio" name="slide-text" id="slide-text1" value="true" 101 <?php 102 if ( $slidetext == 'true' ) { 103 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 104 ?> 105 > 106 <label for="slide-text1"><?php esc_html_e( 'Yes', 'responsive-slider-gallery' ); ?></label> 107 <input type="radio" name="slide-text" id="slide-text2" value="false" 108 <?php 109 if ( $slidetext == 'false' ) { 110 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 111 ?> 112 > 113 <label for="slide-text2"><?php esc_html_e( 'No', 'responsive-slider-gallery' ); ?></label> 114 </div> 115 </div> 116 <div class="col-md-4"> 117 <div class="ma_field_discription"> 118 <h6><?php esc_html_e( 'Fit Slides', 'responsive-slider-gallery' ); ?></h6> 119 <p><?php esc_html_e( 'Set how to fit slides into slider frame', 'responsive-slider-gallery' ); ?></p> 120 </div> 121 </div> 122 <div class="col-md-8"> 123 <div class="ma_field p-4 switch-field em_size_field"> 124 <?php 125 if ( isset( $allslidesetting['fit-slides'] ) ) { 126 $fitslides = $allslidesetting['fit-slides']; 127 } else { 128 $fitslides = 'cover'; 129 } 130 ?> 131 <input type="radio" name="fit-slides" id="fit-slides2" value="cover" 132 <?php 133 if ( $fitslides == 'cover' ) { 134 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 135 ?> 136 > 137 <label for="fit-slides2"><?php esc_html_e( 'Cover', 'responsive-slider-gallery' ); ?></label> 138 <input type="radio" name="fit-slides" id="fit-slides4" value="none" 139 <?php 140 if ( $fitslides == 'none' ) { 141 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 142 ?> 143 > 144 <label for="fit-slides4"><?php esc_html_e( 'None', 'responsive-slider-gallery' ); ?></label> 145 </div> 146 </div> 147 148 <div class="col-md-4"> 149 <div class="ma_field_discription"> 150 <h6><?php esc_html_e( 'Full Screen Slider', 'responsive-slider-gallery' ); ?></h6> 151 <p><?php esc_html_e( 'Set full screen view of slider like True / False', 'responsive-slider-gallery' ); ?></p> 152 </div> 153 </div> 154 <div class="col-md-8"> 155 <div class="ma_field p-4 switch-field em_size_field"> 156 <?php 157 if ( isset( $allslidesetting['fullscreen'] ) ) { 158 $fullscreen = $allslidesetting['fullscreen']; 159 } else { 160 $fullscreen = 'true'; 161 } 162 ?> 163 <input type="radio" name="fullscreen" id="fullscreen1" value="true" 164 <?php 165 if ( $fullscreen == 'true' ) { 166 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 167 ?> 168 > 169 <label for="fullscreen1"><?php esc_html_e( 'True', 'responsive-slider-gallery' ); ?></label> 170 <input type="radio" name="fullscreen" id="fullscreen2" value="false" 171 <?php 172 if ( $fullscreen == 'false' ) { 173 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 174 ?> 175 > 176 <label for="fullscreen2"><?php esc_html_e( 'False', 'responsive-slider-gallery' ); ?></label> 177 </div> 178 </div> 179 180 <div class="col-md-4"> 181 <div class="ma_field_discription"> 182 <h6><?php esc_html_e( 'Width', 'responsive-slider-gallery' ); ?></h6> 183 <p><?php esc_html_e( 'Set slider width in pixels and percents like 300px / 600px / 800px OR 25% / 50% / 100%', 'responsive-slider-gallery' ); ?></p> 184 </div> 185 </div> 186 <div class="col-md-8"> 187 <div class="ma_field p-4"> 188 <?php if ( isset( $allslidesetting['width'] ) ) { 189 $width = $allslidesetting['width']; 190 } else { 191 $width = '100%'; 192 } 193 ?> 194 <input class="input_width" type="text" name="width" id="width" value="<?php echo esc_attr( $width ); ?>"> 195 </div> 196 </div> 197 <div class="col-md-4"> 198 <div class="ma_field_discription"> 199 <h6><?php esc_html_e( 'Height', 'responsive-slider-gallery' ); ?></h6> 200 <p><?php esc_html_e( 'Set slider height in pixels and percents like 300px / 600px / 800px OR 25% / 50% / 100%', 'responsive-slider-gallery' ); ?></p> 201 </div> 202 </div> 203 <div class="col-md-8"> 204 <div class="ma_field p-4"> 205 <?php 206 if ( isset( $allslidesetting['height'] ) ) { 207 $height = $allslidesetting['height']; 208 } else { 209 $height = ''; 210 } 211 ?> 212 <input class="input_width" type="text" name="height" id="height" value="<?php echo esc_attr( $height ); ?>"> 213 </div> 214 </div> 215 </div> 216 <div class="bhoechie-tab-content"> 217 <h1><?php esc_html_e( 'Auto Play & Transition Effect', 'responsive-slider-gallery' ); ?></h1> 218 <hr> 219 220 <div class="col-md-4"> 221 <div class="ma_field_discription"> 222 <h6><?php esc_html_e( 'Auto Play', 'responsive-slider-gallery' ); ?></h6> 223 <p><?php esc_html_e( 'Set auto play to slides automatically', 'responsive-slider-gallery' ); ?></p> 224 </div> 225 </div> 226 <div class="col-md-8"> 227 <div class="ma_field p-4 switch-field em_size_field"> 228 <?php 229 if ( isset( $allslidesetting['autoplay'] ) ) { 230 $autoplay = $allslidesetting['autoplay']; 231 } else { 232 $autoplay = 'true'; 233 } 234 ?> 235 <input type="radio" name="autoplay" id="autoplay1" value="true" 236 <?php 237 if ( $autoplay == 'true' ) { 238 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 239 ?> 240 > 241 <label for="autoplay1"><?php esc_html_e( 'Yes', 'responsive-slider-gallery' ); ?></label> 242 <input type="radio" name="autoplay" id="autoplay2" value="false" 243 <?php 244 if ( $autoplay == 'false' ) { 245 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 246 ?> 247 > 248 <label for="autoplay2"><?php esc_html_e( 'No', 'responsive-slider-gallery' ); ?></label> 249 </div> 250 </div> 251 <div class="col-md-4"> 252 <div class="ma_field_discription"> 253 <h6><?php esc_html_e( 'Loop', 'responsive-slider-gallery' ); ?></h6> 254 <p><?php esc_html_e( 'Set loop to slides continuously', 'responsive-slider-gallery' ); ?></p> 255 </div> 256 </div> 257 <div class="col-md-8"> 258 <div class="ma_field p-4 switch-field em_size_field"> 259 <?php 260 if ( isset( $allslidesetting['loop'] ) ) { 261 $loop = $allslidesetting['loop']; 262 } else { 263 $loop = 'true'; 264 } 265 ?> 266 <input type="radio" name="loop" id="loop1" value="true" 267 <?php 268 if ( $loop == 'true' ) { 269 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 270 ?> 271 > 272 <label for="loop1"><?php esc_html_e( 'Yes', 'responsive-slider-gallery' ); ?></label> 273 <input type="radio" name="loop" id="loop2" value="false" 274 <?php 275 if ( $loop == 'false' ) { 276 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 277 ?> 278 > 279 <label for="loop2"><?php esc_html_e( 'No', 'responsive-slider-gallery' ); ?></label> 280 </div> 281 </div> 282 <div class="col-md-4"> 283 <div class="ma_field_discription"> 284 <h6><?php esc_html_e( 'Transition Effect Duration', 'responsive-slider-gallery' ); ?></h6> 285 <p><?php esc_html_e( 'Set transition effect duration in millisecond between slides like 50 / 100 / 250 / 500', 'responsive-slider-gallery' ); ?></p> 286 </div> 287 </div> 288 <div class="col-md-8"> 289 <div class="ma_field p-4"> 290 <?php 291 if ( isset( $allslidesetting['transition-duration'] ) ) { 292 $transitionduration = $allslidesetting['transition-duration']; 293 } else { 294 $transitionduration = '300'; 295 } 296 ?> 297 <input class="input_width" type="text" name="transition-duration" id="transition-duration" value="<?php echo esc_html( $transitionduration ); ?>"><br> 298 </div> 299 </div> 300 </div> 301 <div class="bhoechie-tab-content"> 302 <h1><?php esc_html_e( 'Navigation settings', 'responsive-slider-gallery' ); ?></h1> 303 <hr> 304 <div class="col-md-4"> 305 <div class="ma_field_discription"> 306 <h6><?php esc_html_e( 'Navigation Style', 'responsive-slider-gallery' ); ?></h6> 307 <p><?php esc_html_e( 'Set a navigation style like dots / none', 'responsive-slider-gallery' ); ?></p> 308 </div> 309 </div> 310 <div class="col-md-8"> 311 <div class="ma_field p-4 switch-field em_size_field"> 312 <?php if ( isset( $allslidesetting['nav-style'] ) ) { $navstyle = $allslidesetting['nav-style']; } else { $navstyle = 'dots'; } ?> 313 <input type="radio" name="nav-style" id="nav-style1" value="dots" 314 <?php if ( $navstyle == 'dots' ) { esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} ?> 315 > 316 <label for="nav-style1"><?php esc_html_e( 'Dots', 'responsive-slider-gallery' ); ?></label> 317 <input type="radio" name="nav-style" id="nav-style3" value="false" 318 <?php if ( $navstyle == 'false' ) { esc_html_e( 'checked=checked', 'responsive-slider-gallery' );}?> 319 > 320 <label for="nav-style3"><?php esc_html_e( 'None', 'responsive-slider-gallery' ); ?></label> 321 322 323 324 </div> 325 </div> 326 <div class="dots_hs"> 327 <div class="col-md-4"> 328 <div class="ma_field_discription"> 329 <h6><?php esc_html_e( ' Navigation Width', 'responsive-slider-gallery' ); ?></h6> 330 <p><?php esc_html_e( 'Set navigation width in pixels or percent', 'responsive-slider-gallery' ); ?></p> 331 </div> 332 </div> 333 <div class="col-md-8"> 334 <div class="ma_field p-4"> 335 <?php 336 if ( isset( $allslidesetting['nav-width'] ) ) { 337 $navwidth = $allslidesetting['nav-width']; 338 } else { 339 $navwidth = ''; 340 } 341 ?> 342 <input class="input_width" type="text" name="nav-width" id="nav-width" value="<?php echo esc_attr( $navwidth ); ?>"><br> 343 </div> 344 </div> 345 </div> 346 347 <div class="col-md-4"> 348 <div class="ma_field_discription"> 349 <h6><?php esc_html_e( 'Navigation Arrow', 'responsive-slider-gallery' ); ?></h6> 350 <p><?php esc_html_e( 'Set navigation arrow display options', 'responsive-slider-gallery' ); ?></p> 351 </div> 352 </div> 353 <div class="col-md-8"> 354 <div class="ma_field p-4 switch-field em_size_field"> 355 <?php 356 if ( isset( $allslidesetting['nav-arrow'] ) ) { 357 $navarrow = $allslidesetting['nav-arrow']; 358 } else { 359 $navarrow = 'true'; 360 } 361 ?> 362 <input type="radio" name="nav-arrow" id="nav-arrow2" value="true" 363 <?php 364 if ( $navarrow == 'true' ) { 365 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 366 ?> 367 > 368 <label for="nav-arrow2"><?php esc_html_e( 'Show', 'responsive-slider-gallery' ); ?></label> 369 <input type="radio" name="nav-arrow" id="nav-arrow3" value="false" 370 <?php 371 if ( $navarrow == 'false' ) { 372 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 373 ?> 374 > 375 <label for="nav-arrow3"><?php esc_html_e( 'Hide', 'responsive-slider-gallery' ); ?></label> 376 </div> 377 </div> 378 <div class="col-md-4"> 379 <div class="ma_field_discription"> 380 <h6><?php esc_html_e( 'Touch Slide', 'responsive-slider-gallery' ); ?></h6> 381 <p><?php esc_html_e( 'Set touch slide to slide images using mouse touch or swipe action', 'responsive-slider-gallery' ); ?></p> 382 </div> 383 </div> 384 <div class="col-md-8"> 385 <div class="ma_field p-4 switch-field em_size_field"> 386 <?php 387 if ( isset( $allslidesetting['touch-slide'] ) ) { 388 $touchslide = $allslidesetting['touch-slide']; 389 } else { 390 $touchslide = 'true'; 391 } 392 ?> 393 <input type="radio" name="touch-slide" id="touch-slide1" value="true" 394 <?php 395 if ( $touchslide == 'true' ) { 396 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 397 ?> 398 > 399 <label for="touch-slide1"><?php esc_html_e( 'Yes', 'responsive-slider-gallery' ); ?></label> 400 <input type="radio" name="touch-slide" id="touch-slide2" value="false" 401 <?php 402 if ( $touchslide == 'false' ) { 403 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 404 ?> 405 > 406 <label for="touch-slide2"><?php esc_html_e( 'No', 'responsive-slider-gallery' ); ?></label> 407 </div> 408 </div> 409 <div class="col-md-4"> 410 <div class="ma_field_discription"> 411 <h6><?php esc_html_e( 'Slide Loading Spinner', 'responsive-slider-gallery' ); ?></h6> 412 <p><?php esc_html_e( 'Set loading spinner option to show spinner while loading slides', 'responsive-slider-gallery' ); ?></p> 413 </div> 414 </div> 415 <div class="col-md-8"> 416 <div class="ma_field p-4 switch-field em_size_field"> 417 <?php 418 if ( isset( $allslidesetting['spinner'] ) ) { 419 $spinner = $allslidesetting['spinner']; 420 } else { 421 $spinner = 'true'; 422 } 423 ?> 424 <input type="radio" name="spinner" id="spinner1" value="true" 425 <?php 426 if ( $spinner == 'true' ) { 427 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 428 ?> 429 > 430 <label for="spinner1"><?php esc_html_e( 'Yes', 'responsive-slider-gallery' ); ?></label> 431 <input type="radio" name="spinner" id="spinner2" value="false" 432 <?php 433 if ( $spinner == 'false' ) { 434 esc_html_e( 'checked=checked', 'responsive-slider-gallery' );} 435 ?> 436 > 437 <label for="spinner2"><?php esc_html_e( 'No', 'responsive-slider-gallery' ); ?></label> 438 </div> 439 </div> 440 </div> 441 <div class="bhoechie-tab-content"> 442 <h1><?php esc_html_e( 'Upgrade To Pro', 'responsive-slider-gallery' ); ?></h1> 443 <hr> 444 <!--Grid--> 445 <div class="" style="padding-left: 10px;"> 446 <p class="ms-title"><?php esc_html_e( 'Upgrade To Premium For Unloack More Features & Settings', 'responsive-slider-gallery' ); ?></p> 447 </div> 448 449 <div class=""> 450 <h1><strong><?php esc_html_e( 'Offer:', 'responsive-slider-gallery' ); ?></strong> <?php esc_html_e( 'Upgrade To Premium Just In Half Price', 'responsive-slider-gallery' ); ?> <strike>$20</strike> <strong>$15</strong></h1> 451 <br> 452 <a href="<?php echo esc_url( 'https://awplife.com/demo/responsive-slider-gallery-premium/' ); ?>" target="_blank" class="button button-primary button-hero load-customize hide-if-no-customize"><?php esc_html_e( 'Check Premium Version Live Demo', 'responsive-slider-gallery' ); ?></a> 453 <a href="<?php echo esc_url( 'https://awplife.com/wordpress-plugins/responsive-slider-gallery-premium/' ); ?>" target="_blank" class="button button-primary button-hero load-customize hide-if-no-customize"><?php esc_html_e( 'Buy Premium Version', 'responsive-slider-gallery' ); ?></a> 79 </ul> 80 </div> 81 </div> 82 83 <!-- Tab 2: Settings --> 84 <div class="rsg-tab-pane" id="tab-settings"> 85 <div class="rsg-header"> 86 <h1><?php esc_html_e('Configure Settings', 'responsive-slider-gallery'); ?></h1> 87 <p class="rsg-subtitle">Customize your slider appearance.</p> 88 </div> 89 90 <div class="rsg-field-group"> 91 <div class="rsg-field-label"> 92 <h6><?php esc_html_e('Slider Text', 'responsive-slider-gallery'); ?></h6> 93 <p><?php esc_html_e('Set slider text visibility on slider', 'responsive-slider-gallery'); ?> 94 </p> 95 </div> 96 <div class="rsg-field-input switch-field"> 97 <?php 98 $slidetext = isset($allslidesetting['slide-text']) ? $allslidesetting['slide-text'] : 'false'; 99 ?> 100 <input type="radio" name="slide-text" id="slide-text1" value="true" <?php checked($slidetext, 'true'); ?>> 101 <label for="slide-text1"><?php esc_html_e('Yes', 'responsive-slider-gallery'); ?></label> 102 <input type="radio" name="slide-text" id="slide-text2" value="false" <?php checked($slidetext, 'false'); ?>> 103 <label for="slide-text2"><?php esc_html_e('No', 'responsive-slider-gallery'); ?></label> 104 </div> 105 </div> 106 107 <div class="rsg-field-group"> 108 <div class="rsg-field-label"> 109 <h6><?php esc_html_e('Fit Slides', 'responsive-slider-gallery'); ?></h6> 110 <p><?php esc_html_e('Set how to fit slides into slider frame', 'responsive-slider-gallery'); ?> 111 </p> 112 </div> 113 <div class="rsg-field-input switch-field"> 114 <?php 115 $fitslides = isset($allslidesetting['fit-slides']) ? $allslidesetting['fit-slides'] : 'cover'; 116 ?> 117 <input type="radio" name="fit-slides" id="fit-slides2" value="cover" <?php checked($fitslides, 'cover'); ?>> 118 <label for="fit-slides2"><?php esc_html_e('Cover', 'responsive-slider-gallery'); ?></label> 119 <input type="radio" name="fit-slides" id="fit-slides4" value="none" <?php checked($fitslides, 'none'); ?>> 120 <label for="fit-slides4"><?php esc_html_e('None', 'responsive-slider-gallery'); ?></label> 121 </div> 122 </div> 123 124 <div class="rsg-field-group"> 125 <div class="rsg-field-label"> 126 <h6><?php esc_html_e('Full Screen Slider', 'responsive-slider-gallery'); ?></h6> 127 <p><?php esc_html_e('Set full screen view of slider', 'responsive-slider-gallery'); ?></p> 128 </div> 129 <div class="rsg-field-input switch-field"> 130 <?php 131 $fullscreen = isset($allslidesetting['fullscreen']) ? $allslidesetting['fullscreen'] : 'true'; 132 ?> 133 <input type="radio" name="fullscreen" id="fullscreen1" value="true" <?php checked($fullscreen, 'true'); ?>> 134 <label for="fullscreen1"><?php esc_html_e('True', 'responsive-slider-gallery'); ?></label> 135 <input type="radio" name="fullscreen" id="fullscreen2" value="false" <?php checked($fullscreen, 'false'); ?>> 136 <label for="fullscreen2"><?php esc_html_e('False', 'responsive-slider-gallery'); ?></label> 137 </div> 138 </div> 139 140 <div class="rsg-field-group"> 141 <div class="rsg-field-label"> 142 <h6><?php esc_html_e('Width', 'responsive-slider-gallery'); ?></h6> 143 <p><?php esc_html_e('Set slider width (px/%)', 'responsive-slider-gallery'); ?></p> 144 </div> 145 <div class="rsg-field-input"> 146 <?php 147 $width = isset($allslidesetting['width']) ? $allslidesetting['width'] : '100%'; 148 ?> 149 <input class="rsg-input" type="text" name="width" id="width" 150 value="<?php echo esc_attr($width); ?>" placeholder="100%"> 151 </div> 152 </div> 153 154 <div class="rsg-field-group"> 155 <div class="rsg-field-label"> 156 <h6><?php esc_html_e('Height', 'responsive-slider-gallery'); ?></h6> 157 <p><?php esc_html_e('Set slider height (px/%)', 'responsive-slider-gallery'); ?></p> 158 </div> 159 <div class="rsg-field-input"> 160 <?php 161 $height = isset($allslidesetting['height']) ? $allslidesetting['height'] : ''; 162 ?> 163 <input class="rsg-input" type="text" name="height" id="height" 164 value="<?php echo esc_attr($height); ?>" placeholder="500px"> 165 </div> 166 </div> 167 </div> 168 169 <!-- Tab 3: Effects --> 170 <div class="rsg-tab-pane" id="tab-effects"> 171 <div class="rsg-header"> 172 <h1><?php esc_html_e('Auto Play & Effects', 'responsive-slider-gallery'); ?></h1> 173 <p class="rsg-subtitle">Control animation and transition behavior.</p> 174 </div> 175 176 <div class="rsg-field-group"> 177 <div class="rsg-field-label"> 178 <h6><?php esc_html_e('Auto Play', 'responsive-slider-gallery'); ?></h6> 179 <p><?php esc_html_e('Set auto play to slides automatically', 'responsive-slider-gallery'); ?> 180 </p> 181 </div> 182 <div class="rsg-field-input switch-field"> 183 <?php 184 $autoplay = isset($allslidesetting['autoplay']) ? $allslidesetting['autoplay'] : 'true'; 185 ?> 186 <input type="radio" name="autoplay" id="autoplay1" value="true" <?php checked($autoplay, 'true'); ?>> 187 <label for="autoplay1"><?php esc_html_e('Yes', 'responsive-slider-gallery'); ?></label> 188 <input type="radio" name="autoplay" id="autoplay2" value="false" <?php checked($autoplay, 'false'); ?>> 189 <label for="autoplay2"><?php esc_html_e('No', 'responsive-slider-gallery'); ?></label> 190 </div> 191 </div> 192 193 <div class="rsg-field-group"> 194 <div class="rsg-field-label"> 195 <h6><?php esc_html_e('Loop', 'responsive-slider-gallery'); ?></h6> 196 <p><?php esc_html_e('Set loop to slides continuously', 'responsive-slider-gallery'); ?></p> 197 </div> 198 <div class="rsg-field-input switch-field"> 199 <?php 200 $loop = isset($allslidesetting['loop']) ? $allslidesetting['loop'] : 'true'; 201 ?> 202 <input type="radio" name="loop" id="loop1" value="true" <?php checked($loop, 'true'); ?>> 203 <label for="loop1"><?php esc_html_e('Yes', 'responsive-slider-gallery'); ?></label> 204 <input type="radio" name="loop" id="loop2" value="false" <?php checked($loop, 'false'); ?>> 205 <label for="loop2"><?php esc_html_e('No', 'responsive-slider-gallery'); ?></label> 206 </div> 207 </div> 208 209 <div class="rsg-field-group"> 210 <div class="rsg-field-label"> 211 <h6><?php esc_html_e('Transition Duration', 'responsive-slider-gallery'); ?></h6> 212 <p><?php esc_html_e('Duration in milliseconds (e.g. 500)', 'responsive-slider-gallery'); ?> 213 </p> 214 </div> 215 <div class="rsg-field-input"> 216 <?php 217 $transitionduration = isset($allslidesetting['transition-duration']) ? $allslidesetting['transition-duration'] : '300'; 218 ?> 219 <input class="rsg-input" type="text" name="transition-duration" id="transition-duration" 220 value="<?php echo esc_attr($transitionduration); ?>" placeholder="300"> 221 </div> 222 </div> 223 </div> 224 225 <!-- Tab 4: Navigation --> 226 <div class="rsg-tab-pane" id="tab-navigation"> 227 <div class="rsg-header"> 228 <h1><?php esc_html_e('Navigation Settings', 'responsive-slider-gallery'); ?></h1> 229 <p class="rsg-subtitle">Customize navigation arrows and dots.</p> 230 </div> 231 <div class="rsg-field-group"> 232 <div class="rsg-field-label"> 233 <h6><?php esc_html_e('Navigation Style', 'responsive-slider-gallery'); ?></h6> 234 <p><?php esc_html_e('Set a navigation style', 'responsive-slider-gallery'); ?></p> 235 </div> 236 <div class="rsg-field-input switch-field"> 237 <?php 238 $navstyle = isset($allslidesetting['nav-style']) ? $allslidesetting['nav-style'] : 'dots'; 239 ?> 240 <input type="radio" name="nav-style" id="nav-style1" value="dots" <?php checked($navstyle, 'dots'); ?>> 241 <label for="nav-style1"><?php esc_html_e('Dots', 'responsive-slider-gallery'); ?></label> 242 <input type="radio" name="nav-style" id="nav-style3" value="false" <?php checked($navstyle, 'false'); ?>> 243 <label for="nav-style3"><?php esc_html_e('None', 'responsive-slider-gallery'); ?></label> 244 </div> 245 </div> 246 247 <div class="dots_hs rsg-field-group"> 248 <div class="rsg-field-label"> 249 <h6><?php esc_html_e('Navigation Width', 'responsive-slider-gallery'); ?></h6> 250 <p><?php esc_html_e('Set navigation width in pixels/percent', 'responsive-slider-gallery'); ?> 251 </p> 252 </div> 253 <div class="rsg-field-input"> 254 <?php 255 $navwidth = isset($allslidesetting['nav-width']) ? $allslidesetting['nav-width'] : ''; 256 ?> 257 <input class="rsg-input" type="text" name="nav-width" id="nav-width" 258 value="<?php echo esc_attr($navwidth); ?>" placeholder="100px"> 259 </div> 260 </div> 261 262 <div class="rsg-field-group"> 263 <div class="rsg-field-label"> 264 <h6><?php esc_html_e('Navigation Arrow', 'responsive-slider-gallery'); ?></h6> 265 <p><?php esc_html_e('Show or hide navigation arrows', 'responsive-slider-gallery'); ?></p> 266 </div> 267 <div class="rsg-field-input switch-field"> 268 <?php 269 $navarrow = isset($allslidesetting['nav-arrow']) ? $allslidesetting['nav-arrow'] : 'true'; 270 ?> 271 <input type="radio" name="nav-arrow" id="nav-arrow2" value="true" <?php checked($navarrow, 'true'); ?>> 272 <label for="nav-arrow2"><?php esc_html_e('Show', 'responsive-slider-gallery'); ?></label> 273 <input type="radio" name="nav-arrow" id="nav-arrow3" value="false" <?php checked($navarrow, 'false'); ?>> 274 <label for="nav-arrow3"><?php esc_html_e('Hide', 'responsive-slider-gallery'); ?></label> 275 </div> 276 </div> 277 278 <div class="rsg-field-group"> 279 <div class="rsg-field-label"> 280 <h6><?php esc_html_e('Touch Slide', 'responsive-slider-gallery'); ?></h6> 281 <p><?php esc_html_e('Enable touch/swipe actions', 'responsive-slider-gallery'); ?></p> 282 </div> 283 <div class="rsg-field-input switch-field"> 284 <?php 285 $touchslide = isset($allslidesetting['touch-slide']) ? $allslidesetting['touch-slide'] : 'true'; 286 ?> 287 <input type="radio" name="touch-slide" id="touch-slide1" value="true" <?php checked($touchslide, 'true'); ?>> 288 <label for="touch-slide1"><?php esc_html_e('Yes', 'responsive-slider-gallery'); ?></label> 289 <input type="radio" name="touch-slide" id="touch-slide2" value="false" <?php checked($touchslide, 'false'); ?>> 290 <label for="touch-slide2"><?php esc_html_e('No', 'responsive-slider-gallery'); ?></label> 291 </div> 292 </div> 293 294 <div class="rsg-field-group"> 295 <div class="rsg-field-label"> 296 <h6><?php esc_html_e('Slide Loading Spinner', 'responsive-slider-gallery'); ?></h6> 297 <p><?php esc_html_e('Show spinner while loading', 'responsive-slider-gallery'); ?></p> 298 </div> 299 <div class="rsg-field-input switch-field"> 300 <?php 301 $spinner = isset($allslidesetting['spinner']) ? $allslidesetting['spinner'] : 'true'; 302 ?> 303 <input type="radio" name="spinner" id="spinner1" value="true" <?php checked($spinner, 'true'); ?>> 304 <label for="spinner1"><?php esc_html_e('Yes', 'responsive-slider-gallery'); ?></label> 305 <input type="radio" name="spinner" id="spinner2" value="false" <?php checked($spinner, 'false'); ?>> 306 <label for="spinner2"><?php esc_html_e('No', 'responsive-slider-gallery'); ?></label> 307 </div> 308 </div> 309 </div> 310 311 <!-- Tab 5: Upgrade --> 312 <div class="rsg-tab-pane" id="tab-upgrade"> 313 <div class="rsg-upgrade-container"> 314 <!-- Hero Section --> 315 <div class="rsg-upgrade-hero"> 316 <div class="rsg-upgrade-badge"> 317 <span class="dashicons dashicons-star-filled"></span> 318 <?php esc_html_e('Premium Version', 'responsive-slider-gallery'); ?> 319 </div> 320 <h1 class="rsg-upgrade-title"><?php esc_html_e('Upgrade To Pro', 'responsive-slider-gallery'); ?></h1> 321 <p class="rsg-upgrade-description"> 322 <?php esc_html_e('Unlock powerful features and take your sliders to the next level', 'responsive-slider-gallery'); ?> 323 </p> 324 325 <!-- Pricing --> 326 <div class="rsg-pricing-box"> 327 <div class="rsg-price-tag"> 328 <span class="rsg-price-label"><?php esc_html_e('Special Offer', 'responsive-slider-gallery'); ?></span> 329 <div class="rsg-price-amount"> 330 <span class="rsg-price-old">$20</span> 331 <span class="rsg-price-new">$15</span> 332 <span class="rsg-price-save"><?php esc_html_e('Save 25%', 'responsive-slider-gallery'); ?></span> 333 </div> 334 </div> 335 </div> 336 337 <!-- CTA Buttons --> 338 <div class="rsg-upgrade-actions"> 339 <a href="<?php echo esc_url('https://awplife.com/wordpress-plugins/responsive-slider-gallery-premium/'); ?>" 340 target="_blank" rel="noopener noreferrer" class="rsg-btn-upgrade-primary"> 341 <span class="dashicons dashicons-cart"></span> 342 <?php esc_html_e('Buy Premium Version', 'responsive-slider-gallery'); ?> 343 </a> 344 <a href="<?php echo esc_url('https://awplife.com/demo/responsive-slider-gallery-premium/'); ?>" 345 target="_blank" rel="noopener noreferrer" class="rsg-btn-upgrade-secondary"> 346 <span class="dashicons dashicons-visibility"></span> 347 <?php esc_html_e('View Live Demo', 'responsive-slider-gallery'); ?> 348 </a> 349 </div> 350 </div> 351 352 <!-- Features Grid --> 353 <div class="rsg-features-grid"> 354 <div class="rsg-feature-card"> 355 <div class="rsg-feature-icon"> 356 <span class="dashicons dashicons-images-alt2"></span> 357 </div> 358 <h3><?php esc_html_e('Advanced Layouts', 'responsive-slider-gallery'); ?></h3> 359 <p><?php esc_html_e('Multiple slider layouts and styles to choose from', 'responsive-slider-gallery'); ?></p> 360 </div> 361 362 <div class="rsg-feature-card"> 363 <div class="rsg-feature-icon"> 364 <span class="dashicons dashicons-admin-appearance"></span> 365 </div> 366 <h3><?php esc_html_e('Slide Transition Effect', 'responsive-slider-gallery'); ?></h3> 367 <p><?php esc_html_e('3+ transition effects and animations', 'responsive-slider-gallery'); ?></p> 368 </div> 369 370 <div class="rsg-feature-card"> 371 <div class="rsg-feature-icon"> 372 <span class="dashicons dashicons-smartphone"></span> 373 </div> 374 <h3><?php esc_html_e('Fully Responsive', 'responsive-slider-gallery'); ?></h3> 375 <p><?php esc_html_e('Perfect display on all devices and screen sizes', 'responsive-slider-gallery'); ?></p> 376 </div> 377 378 <div class="rsg-feature-card"> 379 <div class="rsg-feature-icon"> 380 <span class="dashicons dashicons-admin-customizer"></span> 381 </div> 382 <h3><?php esc_html_e('Full Customization', 'responsive-slider-gallery'); ?></h3> 383 <p><?php esc_html_e('Complete control over colors, fonts, and spacing', 'responsive-slider-gallery'); ?></p> 384 </div> 385 386 <div class="rsg-feature-card"> 387 <div class="rsg-feature-icon"> 388 <span class="dashicons dashicons-format-video"></span> 389 </div> 390 <h3><?php esc_html_e('Video Support', 'responsive-slider-gallery'); ?></h3> 391 <p><?php esc_html_e('Add YouTube and Vimeo videos to your sliders', 'responsive-slider-gallery'); ?></p> 392 </div> 393 394 <div class="rsg-feature-card"> 395 <div class="rsg-feature-icon"> 396 <span class="dashicons dashicons-sos"></span> 397 </div> 398 <h3><?php esc_html_e('Priority Support', 'responsive-slider-gallery'); ?></h3> 399 <p><?php esc_html_e('Get fast and dedicated support from our team', 'responsive-slider-gallery'); ?></p> 400 </div> 454 401 </div> 455 402 </div> … … 457 404 </div> 458 405 </div> 459 460 <!-- Return to Top --> 461 <a href="javascript:" id="return-to-top"><i class="fa fa-chevron-up"></i></a> 462 <?php 463 // syntax: wp_nonce_field( 'name_of_my_action', 'name_of_nonce_field' ); 464 wp_nonce_field( 'save_settings', 'rsg_save_nonce' ); 465 ?> 466 406 </div> 407 408 <!-- Return to Top --> 409 <a href="javascript:" id="return-to-top"><i class="fa fa-chevron-up"></i></a> 410 <?php 411 // syntax: wp_nonce_field( 'name_of_my_action', 'name_of_nonce_field' ); 412 wp_nonce_field('save_settings', 'rsg_save_nonce'); 413 ?> 414 467 415 <script> 468 416 // ===== Scroll to Top ==== 469 jQuery(window).scroll(function () {417 jQuery(window).scroll(function () { 470 418 if (jQuery(this).scrollTop() >= 50) { // If page is scrolled more than 50px 471 419 jQuery('#return-to-top').fadeIn(200); // Fade in the arrow … … 474 422 } 475 423 }); 476 jQuery('#return-to-top').click(function () { // When arrow is clicked424 jQuery('#return-to-top').click(function () { // When arrow is clicked 477 425 jQuery('body,html').animate({ 478 scrollTop : 0 // Scroll to top of body426 scrollTop: 0 // Scroll to top of body 479 427 }, 500); 480 428 }); 481 482 // Show Hide Settings483 // Navigation settings start484 var nav_style = jQuery('input[name="nav-style"]:checked').val();485 //on change to enable & disable navigation Setting486 if (nav_style == "dots") {429 430 // Show Hide Settings 431 jQuery(document).ready(function () { 432 // Navigation settings 433 var nav_style = jQuery('input[name="nav-style"]:checked').val(); 434 if (nav_style == "dots") { 487 435 jQuery('.dots_hs').show(); 488 } 489 if(nav_style == "false") { 436 } else { 490 437 jQuery('.dots_hs').hide(); 491 438 } 492 439 493 //on change to enable & disable navigation Setting 494 jQuery(document).ready(function() { 495 jQuery('input[name="nav-style"]').change(function(){ 496 var nav_style = jQuery('input[name="nav-style"]:checked').val(); 497 if(nav_style == "dots") { 498 jQuery('.dots_hs').show(); 499 } 500 if(nav_style == "false") { 501 jQuery('.dots_hs').hide(); 502 } 503 }); 440 // On change navigation setting 441 jQuery('input[name="nav-style"]').change(function () { 442 var nav_style = jQuery('input[name="nav-style"]:checked').val(); 443 if (nav_style == "dots") { 444 jQuery('.dots_hs').show(); 445 } else { 446 jQuery('.dots_hs').hide(); 447 } 504 448 }); 505 // Navigation Setting End 506 507 // Auto Play settings start 508 var autoplay = jQuery('input[name="autoplay"]:checked').val(); 509 //on change to enable & disable navigation Setting 510 if(autoplay == "true") { 511 jQuery('.auto_sh').show(); 512 } 513 if(autoplay == "false") { 514 jQuery('.auto_sh').hide(); 515 } 516 517 //on change to enable & disable Auto Play Setting 518 jQuery(document).ready(function() { 519 jQuery('input[name="autoplay"]').change(function(){ 520 var autoplay = jQuery('input[name="autoplay"]:checked').val(); 521 if(autoplay == "true") { 522 jQuery('.auto_sh').show(); 523 } 524 if(autoplay == "false") { 525 jQuery('.auto_sh').hide(); 526 } 527 }); 528 }); 529 // Auto Play Setting End 530 //show hide settings end 531 532 //dropdown toggle on change effect 533 jQuery(document).ready(function() { 534 //accordion icon 535 jQuery(function() { 536 function toggleSign(e) { 537 jQuery(e.target) 538 .prev('.panel-heading') 539 .find('i') 540 .toggleClass('fa fa-chevron-down fa fa-chevron-up'); 541 } 542 jQuery('#accordion').on('hidden.bs.collapse', toggleSign); 543 jQuery('#accordion').on('shown.bs.collapse', toggleSign); 544 545 }); 546 }); 547 449 }); 450 451 452 548 453 // start pulse on page load 549 454 function pulseEff() { 550 jQuery('#shortcode').fadeOut(600).fadeIn(600);455 jQuery('#shortcode').fadeOut(600).fadeIn(600); 551 456 }; 552 457 var Interval; 553 Interval = setInterval(pulseEff, 1500);458 Interval = setInterval(pulseEff, 1500); 554 459 555 460 // stop pulse … … 559 464 // start pulse 560 465 function pulseStart() { 561 Interval = setInterval(pulseEff, 1500);466 Interval = setInterval(pulseEff, 1500); 562 467 } 563 // tab564 jQuery( "div.bhoechie-tab-menu>div.list-group>a").click(function(e) {468 // Modern Tab Switching 469 jQuery('.rsg-tab-btn').on('click', function (e) { 565 470 e.preventDefault(); 566 jQuery(this).siblings('a.active').removeClass("active"); 567 jQuery(this).addClass("active"); 568 var index = jQuery(this).index(); 569 jQuery("div.bhoechie-tab>div.bhoechie-tab-content").removeClass("active"); 570 jQuery("div.bhoechie-tab>div.bhoechie-tab-content").eq(index).addClass("active"); 471 472 // Remove active class from all tabs and buttons 473 jQuery('.rsg-tab-btn').removeClass('active'); 474 jQuery('.rsg-tab-pane').removeClass('active'); 475 476 // Add active class to clicked button 477 jQuery(this).addClass('active'); 478 479 // Show corresponding tab content 480 var tabId = jQuery(this).data('tab'); 481 jQuery('#' + tabId).addClass('active'); 571 482 }); 572 </script> 483 </script>
Note: See TracChangeset
for help on using the changeset viewer.