Plugin Directory

Changeset 3417310


Ignore:
Timestamp:
12/11/2025 11:40:56 AM (4 months ago)
Author:
awordpresslife
Message:

new update

Location:
responsive-slider-gallery
Files:
83 added
6 edited

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 {
    4428  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 {
    5946  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 {
    109458  display: none;
    110459}
    111460
    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  
    1212           
    1313            /**
    14              * Add Slide Callback Funtion
     14             * Add Slide Callback Function
    1515             */
    1616            jQuery('#add-new-slider').on('click', function(event) {
    1717                var rsg_add_images_nonce = jQuery("#rsg_add_images_nonce").val();
    18                 console.log(rsg_add_images_nonce);
    1918                event.preventDefault();
    2019                if (file_frame) {
     
    4039             */
    4140            this.ul.on('click', '#remove-slide', function() {
    42                 if (confirm('Do you wnat 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() {
    4443                        jQuery(this).remove();
    4544                    });
  • responsive-slider-gallery/trunk/readme.txt

    r3374275 r3417310  
    44Tags: slider, photo slider, image slider, slideshow creator, responsive slider
    55Requires at least: 3.0
    6 Tested up to: 6.8.3
    7 Stable tag: 1.5.0
     6Tested up to: 6.9
     7Stable tag: 1.5.1
     8Requires PHP: 7.1
    89License: GPLv2 or later
    910License URI: http://www.gnu.org/licenses/gpl-2.0.html
    1011
    11 Responsive Slider Gallery plugin for WordPress. Easy, powerful CSS & JS-based builder for slideshows, carousels & photo sliders effortlessly!
     12Create a responsive Slider Gallery and slideshows for your site. A simple, drag-and-drop slideshow creator for carousels and photo sliders.
    1213
    1314== Description ==
    1415
    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.
     16The 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
     18This 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
     28This 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.
    3229
    3330== How To Use Plugin ? ==
     
    3532https://www.youtube.com/watch?v=b2sA3mNTxUc
    3633
    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>**
    4241
    4342= SLIDER PREMIUM FEATURES AND DEMO =
     
    153152== Changelog ==
    154153
     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
    155160= 1.5.0 =
    156161
     
    229234* Enhancements: tested for wordpress 5.9.3
    230235
    231 = 1.3.0 =
    232 * Enhancements: tested for wordpress 5.9
    233 
    234 = 1.2.9 =
    235 * Enhancements: tested for wordpress 5.8.2
    236 * wordpress security issues fixed
    237 
    238 = 1.2.8 =
    239 * Enhancements: tested for wordpress 5.8.1
    240 
    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: Fixed
    262 
    263 = 1.2.2 =
    264 
    265 * Enhancements: tested for wordpress 5.7.2
    266 * Bug Fix: Fixed
    267 
    268 
    269 = 1.2.1 =
    270 
    271 * Enhancements: tested for wordpress 5.7.1
    272 
    273 = 1.2.0 =
    274 
    275 * Enhancements: tested for wordpress 5.7
    276 
    277 = 1.1.9 =
    278 
    279 * Enhancements: tested for wordpress 5.6.2
    280 
    281 = 1.1.8 =
    282 
    283 * Enhancements: tested for wordpress 5.6
    284 * Bug Fix: Bootstrap-js error Fixed
    285 
    286 = 1.1.7 =
    287 
    288 * Enhancements: tested for wordpress 5.5.3
    289 * Bug Fix: Fixed
    290 
    291 = 1.1.6 =
    292 
    293 * Enhancements: tested for wordpress 5.5.3
    294 
    295 = 1.1.5 =
    296 
    297 * Enhancements: tested for wordpress 5.5.1
    298 
    299 = 1.1.4 =
    300 
    301 * Enhancements: tested for wordpress 5.5
    302 
    303 = 1.1.3 =
    304 
    305 * Enhancements: tested for wordpress 5.4.2
    306 
    307 = 1.1.2 =
    308 
    309 * Enhancements: tested for wordpress 5.4.1
    310 
    311 = 1.1.1 =
    312 
    313 * Enhancements: tested for wordpress 5.3.2
    314 
    315 = 1.1.0 =
    316 
    317 * Enhancements: tested for wordpress 5.3.2
    318 
    319 = 1.0.10 =
    320 
    321 * Enhancements: tested for wordpress 5.2.3
    322 
    323 = 1.0.9 =
    324 
    325 * Enhancements: tested for wordpress 5.2.3
    326 
    327 = 1.0.8 =
    328 * Enhancements: tested for wordpress 5.2.2
    329 * Bug Fix: Fixed
    330 * Additional changes: No.
    331 
    332 = 1.0.7 =
    333 * Enhancements: tested for wordpress 5.2.2
    334 * Bug Fix: Fixed
    335 * Additional changes: No.
    336 
    337 = 1.0.6 =
    338 * Enhancements: tested for wordpress 5.2.2
    339 * Bug Fix: Fixed
    340 * Additional changes: No.
    341 
    342 = 1.0.4 =
    343 * Enhancements: tested for wordpress 5.2.1
    344 * Bug Fix: Fixed
    345 * Additional changes: No.
    346 
    347 = 1.0.3 =
    348 * Enhancements: tested for wordpress 5.1.1
    349 * Bug Fix: Fixed
    350 * Additional changes: No.
    351 
    352 = 1.0.2 =
    353 * Enhancements: tested for wordpress 5.1.1
    354 * Bug Fix: Fixed
    355 * Additional changes: No.
    356 
    357 = 1.0.1 =
    358 * Enhancements: tested for wordpress 5.1
    359 * Bug Fix: Fixed
    360 * Additional changes: No.
    361 
    362 = 1.0.0 =
    363 * Enhancements: tested for wordpress 5.0.3
    364 * Bug Fix: Fixed
    365 * Additional changes: No.
    366 
    367 = 0.6.2 =
    368 * Enhancements: tested for wordpress 5.0.3
    369 * Bug Fix: Fixed
    370 * Additional changes: No.
    371 
    372 = 0.6.1 =
    373 * Enhancements: tested for wordpress 5.0.2
    374 * Bug Fix: Fixed
    375 * Additional changes: No.
    376 
    377 = 0.6.0 =
    378 * Enhancements: tested for wordpress 5.0.2
    379 * Bug Fix: Yes
    380 * Additional changes: No.
    381 
    382 = 0.5.20 =
    383 * Enhancements: tested for wordpress 5.0.1
    384 * Bug Fix: Yes
    385 * Additional changes: No
    386 
    387 = 0.5.19 =
    388 * Enhancements: Site Link Changed
    389 * Bug Fix: Yes
    390 * Additional changes: Custome shortcode copy function added.
    391 
    392 = 0.5.18 =
    393 * Enhancements: Site Link Changed
    394 * Bug Fix: Yes
    395 * Additional changes: No
    396 
    397 = 0.5.17 =
    398 * Enhancements: tested for wordpress 4.9.8
    399 * Bug Fix: Yes
    400 * Additional changes: No
    401 
    402 = 0.5.15 =
    403 * Enhancements: tested for wordpress 4.9
    404 * Bug Fix: None
    405 * Additional changes: yes, Added theme menu.
    406 
    407 Feature Enhancements: Version 0.5.14
    408 * Enhancements: None
    409 * Bug Fix: Fixed
    410 * Additional changes: None
    411 
    412 
    413 Feature Enhancements: Version 0.5.13
    414 * Enhancements: None
    415 * Bug Fix: Fixed
    416 * Additional changes: None
    417 
    418 Feature Enhancements: Version 0.5.12
    419 * Enhancements: None
    420 * Bug Fix: None
    421 * Additional changes: None
    422 
    423 Feature Enhancements: Version 0.5.11
    424 * Enhancements: Tested Upte New Version 4.8.1
    425 * Bug Fix: None
    426 * Additional changes: None
    427 
    428 Feature Enhancements: Version 0.5.10
    429 * Enhancements: Tested Upte New Version 4.8
    430 * Bug Fix: None
    431 * Additional changes: None
    432 
    433 
    434 Feature Enhancements: Version 0.5.9
    435 * Enhancements: Tested Upte New Version 4.8
    436 * Bug Fix: None
    437 * Additional changes: None
    438 
    439 Feature Enhancements: Version 0.5.8
    440 * Enhancements: Tested Upte New Version 4.8
    441 * Bug Fix: None
    442 * Additional changes: None
    443 
    444 Feature Enhancements: Version 0.5.7
    445 * Enhancements: None
    446 * Bug Fix: None
    447 * Additional changes: None
    448 
    449 Feature Enhancements: Version 0.5.6
    450 * Enhancements: None
    451 * Bug Fix: None
    452 * Additional changes: None
    453 
    454 Feature Enhancements: Version 0.5.5
    455 * Enhancements: None
    456 * Bug Fix: yes, Jquery error fixed
    457 * Additional changes: None
    458 
    459 Feature Enhancements: Version 0.5.3
    460 * Enhancements: None
    461 * Bug Fix: None
    462 * Additional changes: None
    463 
    464 Feature Enhancements: Version 0.5.2
    465 * Enhancements: None
    466 * Bug Fix: None
    467 * Additional changes: None
    468 
    469 Feature Enhancements: Version 0.5.1
    470 * Enhancements: None
    471 * Bug Fix: None
    472 * Additional changes: None
    473 
    474 Feature Enhancements: Version 0.5.0
    475 * Enhancements: None
    476 * Bug Fix: None
    477 * Additional changes: None
    478 
    479 Feature Enhancements: Version 0.4.12
    480 * Enhancements: None
    481 * Bug Fix: None
    482 * Additional changes: None
    483 
    484 Feature Enhancements: Version 0.4.11
    485 * Enhancements: None
    486 * Bug Fix: None
    487 * Additional changes: None
    488 
    489 Feature Enhancements: Version 0.4.10
    490 * Enhancements: None
    491 * Bug Fix: None
    492 * Additional changes: None
    493 
    494 Feature Enhancements: Version 0.4.9
    495 * Enhancements: None
    496 * Bug Fix: None
    497 * Additional changes: None
    498 
    499 Feature Enhancements: Version 0.4.8
    500 * Enhancements: None
    501 * Bug Fix: None
    502 * Additional changes: None
    503 
    504 Feature Enhancements: Version 0.4.7
    505 * Enhancements: None
    506 * Bug Fix: None
    507 * Additional changes: None
    508 
    509 Feature Enhancements: Version 0.4.6
    510 * Enhancements: None
    511 * Bug Fix: None
    512 * Additional changes: None
    513 
    514 Feature Enhancements: Version 0.4.5
    515 * Enhancements: None
    516 * Bug Fix: None
    517 * Additional changes: None
    518 
    519 Feature Enhancements: Version 0.4.4
    520 * Enhancements: New Setting Page
    521 * Bug Fix: None
    522 * Additional changes: None
    523 
    524 
    525 Feature Enhancements: Version 0.4.3
    526 * Enhancements: none
    527 * Bug Fix: None
    528 * Additional changes: None
    529 
    530 Feature Enhancements: Version 0.4.2
    531 * Enhancements: none
    532 * Bug Fix: None
    533 * Additional changes: None
    534 
    535 Feature Enhancements: Version 0.4.1
    536 * Enhancements: none
    537 * Bug Fix: None
    538 * Additional changes: None
    539 
    540 Feature Enhancements: Version 0.4.0
    541 * Enhancements: none
    542 * Bug Fix: None
    543 * Additional changes: None
    544 
    545 Feature Enhancements: Version 0.3.9
    546 * Enhancements: none
    547 * Bug Fix: None
    548 * Additional changes: None
    549 
    550 Feature Enhancements: Version 0.3.8
    551 * Enhancements: none
    552 * Bug Fix: None
    553 * Additional changes: None
    554 
    555 Feature Enhancements: Version 0.3.7
    556 * Enhancements: none
    557 * Bug Fix: None
    558 * Additional changes: None
    559 
    560 Feature Enhancements: Version 0.3.6
    561 * Enhancements: none
    562 * Bug Fix: None
    563 * Additional changes: None
    564 
    565 Feature Enhancements: Version 0.3.5
    566 * Enhancements: none
    567 * Bug Fix: None
    568 * Additional changes: None
    569 
    570 Feature Enhancements: Version 0.3.4
    571 * Enhancements: none
    572 * Bug Fix: None
    573 * Additional changes: None
    574 
    575 Feature Enhancements: Version 0.3.3
    576 * Enhancements: none
    577 * Bug Fix: None
    578 * Additional changes: None
    579 
    580 Feature Enhancements: Version 0.3.2
    581 * Enhancements: Compatibility test done
    582 * Bug Fix: None
    583 * Additional changes: None
    584 
    585 Feature Enhancements: Version 0.3.1
    586 * Enhancements: Compatibility test done
    587 * Bug Fix: None
    588 * Additional changes: None
    589 
    590 Feature Enhancements: Version 0.3.0
    591 * Enhancements: Compatibility test done
    592 * Bug Fix: None
    593 * Additional changes: None
    594 
    595 Feature Enhancements: Version 0.2.9
    596 * Enhancements: Compatibility test done
    597 * Bug Fix: None
    598 * Additional changes: Buttons added for premium version
    599 
    600 Feature Enhancements: Version 0.2.8
    601 * Enhancements: Compatibility test done
    602 * Bug Fix: None
    603 * Additional changes: Buttons added for premium version
    604 
    605 Feature Enhancements: Version 0.2.7
    606 * Enhancements: Compatibility test done
    607 * Bug Fix: None
    608 * Additional changes: None
    609 
    610 Feature Enhancements: Version 0.2.6
    611 * Enhancements: Compatibility test done
    612 * Bug Fix: None
    613 * Additional changes: None
    614 
    615 Feature Enhancements: Version 0.2.5
    616 * Enhancements: Compatibility test done
    617 * Bug Fix: None
    618 * Additional changes: Working On New WordPress Version
    619 
    620 Feature Enhancements: Version 0.2.4
    621 * Enhancements: Compatibility test done
    622 * Bug Fix: None
    623 * Additional changes: None
    624 
    625 Feature Enhancements: Version 0.2.3
    626 * Minor Bug Fix
    627 
    628 Feature Enhancements: Version 0.2.2.1
    629 * link removed
    630 
    631 Feature Enhancements: Version 0.2.2
    632 * Minor Bug Fix
    633 
    634 Feature Enhancements: Version 0.2.1
    635 * compatible with latest WordPress version 4.4.2
    636 * Minor Bug Fix
    637 
    638 Feature Enhancements: Version 0.2.0
    639 * Minor Bug Fix
    640 
    641 Feature Enhancements: Version 0.1.9
    642 * <a> tag bug fix
    643 
    644 Feature Enhancements: Version 0.1.9
    645 * <a> tag bug fix
    646 * compatible with latest WordPress version 4.4.1
    647 
    648 Feature Enhancements: Version 0.1.8
    649 * Minor Bug Fix
    650 
    651 Feature Enhancements: Version 0.1.7
    652 * Minor Bug Fix
    653 
    654 Feature Enhancements: Version 0.1.6
    655 * Minor Bug Fix
    656 
    657 Feature Enhancements: Version 0.1.5
    658 * Minor Bug Fix
    659 
    660 Feature Enhancements: Version 0.1.4
    661 * Minor CSS test
    662 
    663 Feature Enhancements: Version 0.1.3
    664 * WP 4.4 compatible test done
    665 
    666 Feature Enhancements: Version 0.1.2
    667 * Enhancements: None
    668 * Bug Fix: None
    669 * Additional changes: plugin readme updated
    670 
    671 Feature Enhancements: Version 0.1.1
    672 * Enhancements: Compatibility test done
    673 * Bug Fix: None
    674 * Additional changes: None
    675 
    676 Feature Enhancements: Version 0.1.0
    677 * Enhancements: Custom Height & Width Setting
    678 * Enhancements: Batch Uploader
    679 * Enhancements: Thumbnails Setting
    680 * Enhancements: Single & Multiple Slide Deletion
    681 * Enhancements: Navigation Style Setting
    682 * Enhancements: Navigation Arrow Setting
    683 * Enhancements: Full Screen Setting
    684 * Enhancements: Touch Slide Enable
    685 * Enhancements: Slide Loading Spinner
    686 * Bug Fix: None
    687 * Additional changes: None
    688 
    689236== Upgrade Notice ==
    690237This 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  
    77Plugin URI: https://awplife.com/wordpress-plugins/responsive-slider-gallery-premium/
    88Description: A Responsive Simple Beautiful Easy Powerful CSS & JS Based WordPress Image Slider Gallery Plugin [standard]
    9 Version: 1.5.0
     9Version: 1.5.1
    1010Author: A WP Life
    1111Author URI: https://awplife.com/
     
    2929*/
    3030
    31 if ( ! class_exists( 'Responsive_Slider_Gallery' ) ) {
    32 
    33     class Responsive_Slider_Gallery {
     31if (!defined('ABSPATH')) {
     32    exit;
     33}
     34
     35if (!class_exists('Responsive_Slider_Gallery')) {
     36
     37    class Responsive_Slider_Gallery
     38    {
    3439
    3540        protected $protected_plugin_api;
    3641        protected $ajax_plugin_nonce;
    3742
    38         public function __construct() {
     43        public function __construct()
     44        {
    3945            $this->_constants();
    4046            $this->_hooks();
    4147        }
    4248
    43         protected function _constants() {
     49        protected function _constants()
     50        {
    4451            /**
    4552             * Plugin Version
    4653             */
    47             define( 'RSG_PLUGIN_VER', '1.5.0' );
     54            define('RSG_PLUGIN_VER', '1.5.1');
    4855
    4956            /**
    5057             * Plugin Text Domain
    5158             */
    52             define( 'rsg_txt_dm', 'responsive-slider-gallery' );
     59            define('rsg_txt_dm', 'responsive-slider-gallery');
    5360
    5461            /**
    5562             * Plugin Name
    5663             */
    57             define( 'RSG_PLUGIN_NAME', __( 'Responsive Slider Gallery', 'responsive-slider-gallery' ) );
     64            define('RSG_PLUGIN_NAME', __('Responsive Slider Gallery', 'responsive-slider-gallery'));
    5865
    5966            /**
    6067             * Plugin Slug
    6168             */
    62             define( 'RSG_PLUGIN_SLUG', 'responsive_slider' );
     69            define('RSG_PLUGIN_SLUG', 'responsive_slider');
    6370
    6471            /**
    6572             * Plugin Directory Path
    6673             */
    67             define( 'RSG_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
     74            define('RSG_PLUGIN_DIR', plugin_dir_path(__FILE__));
    6875
    6976            /**
    7077             * Plugin Directory URL
    7178             */
    72             define( 'RSG_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
     79            define('RSG_PLUGIN_URL', plugin_dir_url(__FILE__));
    7380
    7481            /**
     
    7784             * @uses    NONCE_KEY     Defined in the WP root config.php
    7885             */
    79             define( 'EWPT_SECURE_KEY', md5( NONCE_KEY ) );
     86            define('EWPT_SECURE_KEY', md5(NONCE_KEY));
    8087
    8188        } // end of constructor function
     
    8996         * @return    void
    9097         */
    91         protected function _hooks() {
     98        protected function _hooks()
     99        {
    92100            /**
    93101             * Load text domain
    94102             */
    95             add_action( 'plugins_loaded', array( $this, '_load_textdomain' ) );
     103            add_action('plugins_loaded', array($this, '_load_textdomain'));
    96104
    97105            /**
    98106             * add gallery menu item, change menu filter for multisite
    99107             */
    100             add_action( 'admin_menu', array( $this, '_rsgallery_menu' ), 101 );
     108            add_action('admin_menu', array($this, '_rsgallery_menu'), 101);
    101109
    102110            /**
    103111             * Create Responsive Slider Gallery Custom Post
    104112             */
    105             add_action( 'init', array( $this, '_Responsive_Slider_Gallery' ) );
     113            add_action('init', array($this, '_Responsive_Slider_Gallery'));
    106114
    107115            /**
    108116             * Add meta box to custom post
    109117             */
    110              add_action( 'add_meta_boxes', array( $this, '_admin_add_meta_box' ) );
     118            add_action('add_meta_boxes', array($this, '_admin_add_meta_box'));
    111119
    112120            /**
    113121             * loaded during admin init
    114122             */
    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'));
    120128
    121129            /**
    122130             * Shortcode Compatibility in Text Widgets
    123131             */
    124             add_filter( 'widget_text', 'do_shortcode' );
     132            add_filter('widget_text', 'do_shortcode');
    125133
    126134            // 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'));
    128136
    129137            // 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'));
    133141
    134142        } // end of hook function
    135143
    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');
    138147        }
    139148
    140149        // 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();
    143153            $shortcode = $columns['responsive_slider_shortcode'];  // save the tags column
    144             unset( $defaults['tags'] );   // remove it from the columns list
    145 
    146             foreach ( $defaults as $key => $value ) {
    147                 if ( $key == 'date' ) {  // when we find the date column
    148                     $new['responsive_slider_shortcode'] = __( 'Shortcode', 'responsive-slider-gallery' );  // put the tags column before it
    149                 }
    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;
    151161            }
    152162            return $new;
     
    154164
    155165        // 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) {
    158169                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>";
    162173                    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) . "');
    165176                            copyText.select();
    166177                            document.execCommand('copy');
    167178                           
    168179                            //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');
    171182                        }
    172183                        </script>
     
    182193         * @access    private
    183194         */
    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');
    186198        }
    187199
     
    192204         * @return    void
    193205         */
    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
    198211        /**
    199212         * Responsive Slider Gallery Custom Post
     
    203216         * @return    void      Return custom post type.
    204217         */
    205         public function _Responsive_Slider_Gallery() {
     218        public function _Responsive_Slider_Gallery()
     219        {
    206220            $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'),
    221235            );
    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,
    238252                'exclude_from_search' => false,
    239                 'publicly_queryable'  => true,
    240                 'capability_type'     => 'page',
     253                'publicly_queryable' => true,
     254                'capability_type' => 'page',
    241255            );
    242             register_post_type( 'responsive_slider', $args );
     256            register_post_type('responsive_slider', $args);
    243257
    244258        } // end of post type function
     
    250264         * @return    void
    251265         */
    252         public function _admin_add_meta_box() {
     266        public function _admin_add_meta_box()
     267        {
    253268            // 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');
    256271        }
    257272
    258273        // 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        { ?>
    260276            <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>
    264284            </p>
    265285            <span onclick="copyToClipboard('#RSGcopyshortcode')" class="rsg-copy dashicons dashicons-clipboard"></span>
     
    272292                    cursor: pointer;
    273293                }
    274                 .ui-sortable-handle > span {
     294
     295                .ui-sortable-handle>span {
    275296                    font-size: 16px !important;
    276297                }
    277298            </style>
    278299            <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                }
    289310            </script>
    290311            <?php
    291312        }
    292313
    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');
    297319            wp_enqueue_media();
    298320            ?>
    299            
    300            
     321
     322
    301323            <!--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
    318326            <?php
    319327            require_once 'slider-settings.php';
    320328        } // end of upload multiple image
    321329
    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            }
    331337            ?>
    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)); ?>">
    337348            </li>
    338349            <?php
    339350        }
    340351
    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.');
    345357                    exit;
    346358                } 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);
    348361                    die;
    349362                }
     
    351364        }
    352365
    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]);
    379393                        $single_image_update = array(
    380                             'ID'         => $image_id,
    381                             'post_title' => $image_titles[ $i ],
     394                            'ID' => $image_id,
     395                            'post_title' => $image_titles[$i],
    382396                        );
    383                         wp_update_post( $single_image_update );
     397                        wp_update_post($single_image_update);
    384398                        $i++;
    385399                    }
    386400
    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)));
    406420                }
    407421            }
     
    416430         * @return    void.
    417431         */
    418         public function _rsgallery_featured_plugin_page() {
     432        public function _rsgallery_featured_plugin_page()
     433        {
    419434            require_once 'featured-plugins/featured-plugins.php';
    420435        }
    421436
    422         public function _rs_upgrade_plugin_page() {
     437        public function _rs_upgrade_plugin_page()
     438        {
    423439            require_once 'buy-responsive-slider-premium.php';
    424440        }
    425441
    426442        // theme page
    427         public function _rs_theme_page() {
     443        public function _rs_theme_page()
     444        {
    428445            require_once 'our-theme/awp-theme.php';
    429446        }
     
    432449
    433450    // register sf scripts
    434     function awplife_rsg_register_scripts() {
     451    function awplife_rsg_register_scripts()
     452    {
    435453
    436454        // 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');
    439457        // css & JS
    440458    }
    441         add_action( 'wp_enqueue_scripts', 'awplife_rsg_register_scripts' );
     459    add_action('wp_enqueue_scripts', 'awplife_rsg_register_scripts');
    442460
    443461    // 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    {
    446465        $plugins = array(
    447466            array(
    448                 'name'     => 'Weather Effect',
    449                 'slug'     => 'weather-effect',
     467                'name' => 'Weather Effect',
     468                'slug' => 'weather-effect',
    450469                'required' => false,
    451470            ),
    452471            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',
    455474                'required' => false,
    456475            ),
    457476            array(
    458                 'name'     => 'Modal Popup Box',
    459                 'slug'     => 'modal-popup-box',
     477                'name' => 'Modal Popup Box',
     478                'slug' => 'modal-popup-box',
    460479                'required' => false,
    461480            ),
    462481        );
    463         tgmpa( $plugins );
     482        tgmpa($plugins);
    464483    }
    465484
  • responsive-slider-gallery/trunk/shortcode.php

    r2637332 r3417310  
    77 * @return    Create Fontend Slider Gallery Output
    88 */
    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' );
     9add_shortcode('responsive-slider', 'responsive_slider_shortcode');
     10function responsive_slider_shortcode($post_id)
     11{
     12    wp_enqueue_script('awl-fotorama-js');
     13    wp_enqueue_style('awl-fotorama-css');
    1314    ob_start();
    14     $allslides      = array(
    15         'p'         => $post_id['id'],
     15    $allslides = array(
     16        'p' => $post_id['id'],
    1617        'post_type' => 'responsive_slider',
    1718    );
    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()):
    2021        $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)));
    2324        // start the sider contents
    24         if ( isset( $allslidesetting['width'] ) ) {
     25        if (isset($allslidesetting['width'])) {
    2526            $width = $allslidesetting['width'];
    2627        } else {
    2728            $width = '100%';
    2829        }
    29         if ( isset( $allslidesetting['height'] ) ) {
     30        if (isset($allslidesetting['height'])) {
    3031            $height = $allslidesetting['height'];
    3132        } else {
    3233            $height = '';
    3334        }
    34         if ( isset( $allslidesetting['nav-style'] ) ) {
     35        if (isset($allslidesetting['nav-style'])) {
    3536            $navstyle = $allslidesetting['nav-style'];
    3637        } else {
    3738            $navstyle = 'dots';
    3839        }
    39         if ( isset( $allslidesetting['nav-width'] ) ) {
     40        if (isset($allslidesetting['nav-width'])) {
    4041            $navwidth = $allslidesetting['nav-width'];
    4142        } else {
    4243            $navwidth = '';
    4344        }
    44         if ( isset( $allslidesetting['fullscreen'] ) ) {
     45        if (isset($allslidesetting['fullscreen'])) {
    4546            $fullscreen = $allslidesetting['fullscreen'];
    4647        } else {
    4748            $fullscreen = 'true';
    4849        }
    49         if ( isset( $allslidesetting['fit-slides'] ) ) {
     50        if (isset($allslidesetting['fit-slides'])) {
    5051            $fitslides = $allslidesetting['fit-slides'];
    5152        } else {
    5253            $fitslides = 'cover';
    5354        }
    54         if ( isset( $allslidesetting['transition-duration'] ) ) {
     55        if (isset($allslidesetting['transition-duration'])) {
    5556            $transitionduration = $allslidesetting['transition-duration'];
    5657        } else {
    5758            $transitionduration = '300';
    5859        }
    59         if ( isset( $allslidesetting['slide-text'] ) ) {
     60        if (isset($allslidesetting['slide-text'])) {
    6061            $slidetext = $allslidesetting['slide-text'];
    6162        } else {
    6263            $slidetext = 'false';
    6364        }
    64         if ( isset( $allslidesetting['autoplay'] ) ) {
     65        if (isset($allslidesetting['autoplay'])) {
    6566            $autoplay = $allslidesetting['autoplay'];
    6667        } else {
    6768            $autoplay = 'true';
    6869        }
    69         if ( isset( $allslidesetting['loop'] ) ) {
     70        if (isset($allslidesetting['loop'])) {
    7071            $loop = $allslidesetting['loop'];
    7172        } else {
    7273            $loop = 'true';
    7374        }
    74         if ( isset( $allslidesetting['nav-arrow'] ) ) {
     75        if (isset($allslidesetting['nav-arrow'])) {
    7576            $navarrow = $allslidesetting['nav-arrow'];
    7677        } else {
    7778            $navarrow = 'true';
    7879        }
    79         if ( isset( $allslidesetting['touch-slide'] ) ) {
     80        if (isset($allslidesetting['touch-slide'])) {
    8081            $touchslide = $allslidesetting['touch-slide'];
    8182        } else {
    8283            $touchslide = 'true';
    8384        }
    84         if ( isset( $allslidesetting['spinner'] ) ) {
     85        if (isset($allslidesetting['spinner'])) {
    8586            $spinner = $allslidesetting['spinner'];
    8687        } else {
     
    8889        }
    8990        ?>
    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">
    10599            <?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);
    113107
    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') {
    119113                        $text = $title;
    120114                    } else {
     
    122116                    }
    123117                    ?>
    124                     <img src="<?php echo esc_url( $thumb[0] ); ?>" data-caption="<?php echo esc_html( $text ); ?>">
    125                                          <?php
     118                    <img src="<?php echo esc_url($thumb[0]); ?>" data-caption="<?php echo esc_html($text); ?>">
     119                    <?php
    126120                }// end of attachment foreach
    127121            } else {
    128122
    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');
    130124            } // end of if esle of slides avaialble check into slider
    131125            ?>
     
    138132    <!-- HTML Script Part Start From Here-->
    139133    <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        });
    149143    </script>
    150144    <?php
  • responsive-slider-gallery/trunk/slider-settings.php

    r3009908 r3417310  
    11<?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
     3wp_enqueue_style('rsg-admin-clean-css', RSG_PLUGIN_URL . 'css/rsg-admin-clean.css', array(), '2.0.0');
     4
     5// Font Awesome for icons
     6wp_enqueue_style('awl-font-awesome-css', RSG_PLUGIN_URL . 'css/font-awesome.css');
     7
     8// jQuery
     9wp_enqueue_script('jquery');
    1610?>
    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);
    6660                                ?>
    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>
    7475                                <?php
    7576                            } // end of foreach
    7677                        } //end of if
    7778                        ?>
    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>
    454401                    </div>
    455402                </div>
     
    457404        </div>
    458405    </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' );
     412wp_nonce_field('save_settings', 'rsg_save_nonce');
     413?>
     414
    467415<script>
    468416    // ===== Scroll to Top ====
    469     jQuery(window).scroll(function() {
     417    jQuery(window).scroll(function () {
    470418        if (jQuery(this).scrollTop() >= 50) {        // If page is scrolled more than 50px
    471419            jQuery('#return-to-top').fadeIn(200);    // Fade in the arrow
     
    474422        }
    475423    });
    476     jQuery('#return-to-top').click(function() {      // When arrow is clicked
     424    jQuery('#return-to-top').click(function () {      // When arrow is clicked
    477425        jQuery('body,html').animate({
    478             scrollTop : 0                       // Scroll to top of body
     426            scrollTop: 0                       // Scroll to top of body
    479427        }, 500);
    480428    });
    481    
    482 // Show Hide Settings
    483     // Navigation settings start
    484     var nav_style = jQuery('input[name="nav-style"]:checked').val();
    485         //on change to enable & disable navigation Setting
    486         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") {
    487435            jQuery('.dots_hs').show();
    488         }
    489         if(nav_style == "false") {
     436        } else {
    490437            jQuery('.dots_hs').hide();
    491438        }
    492439
    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            }
    504448        });
    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
    548453    // start pulse on page load
    549454    function pulseEff() {
    550        jQuery('#shortcode').fadeOut(600).fadeIn(600);
     455        jQuery('#shortcode').fadeOut(600).fadeIn(600);
    551456    };
    552457    var Interval;
    553     Interval = setInterval(pulseEff,1500);
     458    Interval = setInterval(pulseEff, 1500);
    554459
    555460    // stop pulse
     
    559464    // start pulse
    560465    function pulseStart() {
    561         Interval = setInterval(pulseEff,1500);
     466        Interval = setInterval(pulseEff, 1500);
    562467    }
    563     // tab
    564     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) {
    565470        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');
    571482    });
    572 </script>       
     483</script>
Note: See TracChangeset for help on using the changeset viewer.