User Role Editor - Version 4.33

Version Description

Download this release

Release Info

Developer shinephp
Plugin Icon 128x128 User Role Editor
Version 4.33
Comparing to
See all releases

Code changes from version 4.32.3 to 4.33

css/jquery-ui-1.10.4.custom.css DELETED
@@ -1,1178 +0,0 @@
1
- /*! jQuery UI - v1.10.4 - 2014-01-18
2
- * http://jqueryui.com
3
- * Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.css
4
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
5
- * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
6
-
7
- /* Layout helpers
8
- ----------------------------------*/
9
- .ui-helper-hidden {
10
- display: none;
11
- }
12
- .ui-helper-hidden-accessible {
13
- border: 0;
14
- clip: rect(0 0 0 0);
15
- height: 1px;
16
- margin: -1px;
17
- overflow: hidden;
18
- padding: 0;
19
- position: absolute;
20
- width: 1px;
21
- }
22
- .ui-helper-reset {
23
- margin: 0;
24
- padding: 0;
25
- border: 0;
26
- outline: 0;
27
- line-height: 1.3;
28
- text-decoration: none;
29
- font-size: 100%;
30
- list-style: none;
31
- }
32
- .ui-helper-clearfix:before,
33
- .ui-helper-clearfix:after {
34
- content: "";
35
- display: table;
36
- border-collapse: collapse;
37
- }
38
- .ui-helper-clearfix:after {
39
- clear: both;
40
- }
41
- .ui-helper-clearfix {
42
- min-height: 0; /* support: IE7 */
43
- }
44
- .ui-helper-zfix {
45
- width: 100%;
46
- height: 100%;
47
- top: 0;
48
- left: 0;
49
- position: absolute;
50
- opacity: 0;
51
- filter:Alpha(Opacity=0);
52
- }
53
-
54
- .ui-front {
55
- z-index: 100;
56
- }
57
-
58
-
59
- /* Interaction Cues
60
- ----------------------------------*/
61
- .ui-state-disabled {
62
- cursor: default !important;
63
- }
64
-
65
-
66
- /* Icons
67
- ----------------------------------*/
68
-
69
- /* states and images */
70
- .ui-icon {
71
- display: block;
72
- text-indent: -99999px;
73
- overflow: hidden;
74
- background-repeat: no-repeat;
75
- }
76
-
77
-
78
- /* Misc visuals
79
- ----------------------------------*/
80
-
81
- /* Overlays */
82
- .ui-widget-overlay {
83
- position: fixed;
84
- top: 0;
85
- left: 0;
86
- width: 100%;
87
- height: 100%;
88
- }
89
- .ui-resizable {
90
- position: relative;
91
- }
92
- .ui-resizable-handle {
93
- position: absolute;
94
- font-size: 0.1px;
95
- display: block;
96
- }
97
- .ui-resizable-disabled .ui-resizable-handle,
98
- .ui-resizable-autohide .ui-resizable-handle {
99
- display: none;
100
- }
101
- .ui-resizable-n {
102
- cursor: n-resize;
103
- height: 7px;
104
- width: 100%;
105
- top: -5px;
106
- left: 0;
107
- }
108
- .ui-resizable-s {
109
- cursor: s-resize;
110
- height: 7px;
111
- width: 100%;
112
- bottom: -5px;
113
- left: 0;
114
- }
115
- .ui-resizable-e {
116
- cursor: e-resize;
117
- width: 7px;
118
- right: -5px;
119
- top: 0;
120
- height: 100%;
121
- }
122
- .ui-resizable-w {
123
- cursor: w-resize;
124
- width: 7px;
125
- left: -5px;
126
- top: 0;
127
- height: 100%;
128
- }
129
- .ui-resizable-se {
130
- cursor: se-resize;
131
- width: 12px;
132
- height: 12px;
133
- right: 1px;
134
- bottom: 1px;
135
- }
136
- .ui-resizable-sw {
137
- cursor: sw-resize;
138
- width: 9px;
139
- height: 9px;
140
- left: -5px;
141
- bottom: -5px;
142
- }
143
- .ui-resizable-nw {
144
- cursor: nw-resize;
145
- width: 9px;
146
- height: 9px;
147
- left: -5px;
148
- top: -5px;
149
- }
150
- .ui-resizable-ne {
151
- cursor: ne-resize;
152
- width: 9px;
153
- height: 9px;
154
- right: -5px;
155
- top: -5px;
156
- }
157
- .ui-selectable-helper {
158
- position: absolute;
159
- z-index: 100;
160
- border: 1px dotted black;
161
- }
162
- .ui-accordion .ui-accordion-header {
163
- display: block;
164
- cursor: pointer;
165
- position: relative;
166
- margin-top: 2px;
167
- padding: .5em .5em .5em .7em;
168
- min-height: 0; /* support: IE7 */
169
- }
170
- .ui-accordion .ui-accordion-icons {
171
- padding-left: 2.2em;
172
- }
173
- .ui-accordion .ui-accordion-noicons {
174
- padding-left: .7em;
175
- }
176
- .ui-accordion .ui-accordion-icons .ui-accordion-icons {
177
- padding-left: 2.2em;
178
- }
179
- .ui-accordion .ui-accordion-header .ui-accordion-header-icon {
180
- position: absolute;
181
- left: .5em;
182
- top: 50%;
183
- margin-top: -8px;
184
- }
185
- .ui-accordion .ui-accordion-content {
186
- padding: 1em 2.2em;
187
- border-top: 0;
188
- overflow: auto;
189
- }
190
- .ui-autocomplete {
191
- position: absolute;
192
- top: 0;
193
- left: 0;
194
- cursor: default;
195
- }
196
- .ui-button {
197
- display: inline-block;
198
- position: relative;
199
- padding: 0;
200
- line-height: normal;
201
- margin-right: .1em;
202
- cursor: pointer;
203
- vertical-align: middle;
204
- text-align: center;
205
- overflow: visible; /* removes extra width in IE */
206
- }
207
- .ui-button,
208
- .ui-button:link,
209
- .ui-button:visited,
210
- .ui-button:hover,
211
- .ui-button:active {
212
- text-decoration: none;
213
- }
214
- /* to make room for the icon, a width needs to be set here */
215
- .ui-button-icon-only {
216
- width: 2.2em;
217
- }
218
- /* button elements seem to need a little more width */
219
- button.ui-button-icon-only {
220
- width: 2.4em;
221
- }
222
- .ui-button-icons-only {
223
- width: 3.4em;
224
- }
225
- button.ui-button-icons-only {
226
- width: 3.7em;
227
- }
228
-
229
- /* button text element */
230
- .ui-button .ui-button-text {
231
- display: block;
232
- line-height: normal;
233
- }
234
- .ui-button-text-only .ui-button-text {
235
- padding: .4em 1em;
236
- }
237
- .ui-button-icon-only .ui-button-text,
238
- .ui-button-icons-only .ui-button-text {
239
- padding: .4em;
240
- text-indent: -9999999px;
241
- }
242
- .ui-button-text-icon-primary .ui-button-text,
243
- .ui-button-text-icons .ui-button-text {
244
- padding: .4em 1em .4em 2.1em;
245
- }
246
- .ui-button-text-icon-secondary .ui-button-text,
247
- .ui-button-text-icons .ui-button-text {
248
- padding: .4em 2.1em .4em 1em;
249
- }
250
- .ui-button-text-icons .ui-button-text {
251
- padding-left: 2.1em;
252
- padding-right: 2.1em;
253
- }
254
- /* no icon support for input elements, provide padding by default */
255
- input.ui-button {
256
- padding: .4em 1em;
257
- }
258
-
259
- /* button icon element(s) */
260
- .ui-button-icon-only .ui-icon,
261
- .ui-button-text-icon-primary .ui-icon,
262
- .ui-button-text-icon-secondary .ui-icon,
263
- .ui-button-text-icons .ui-icon,
264
- .ui-button-icons-only .ui-icon {
265
- position: absolute;
266
- top: 50%;
267
- margin-top: -8px;
268
- }
269
- .ui-button-icon-only .ui-icon {
270
- left: 50%;
271
- margin-left: -8px;
272
- }
273
- .ui-button-text-icon-primary .ui-button-icon-primary,
274
- .ui-button-text-icons .ui-button-icon-primary,
275
- .ui-button-icons-only .ui-button-icon-primary {
276
- left: .5em;
277
- }
278
- .ui-button-text-icon-secondary .ui-button-icon-secondary,
279
- .ui-button-text-icons .ui-button-icon-secondary,
280
- .ui-button-icons-only .ui-button-icon-secondary {
281
- right: .5em;
282
- }
283
-
284
- /* button sets */
285
- .ui-buttonset {
286
- margin-right: 7px;
287
- }
288
- .ui-buttonset .ui-button {
289
- margin-left: 0;
290
- margin-right: -.3em;
291
- }
292
-
293
- /* workarounds */
294
- /* reset extra padding in Firefox, see h5bp.com/l */
295
- input.ui-button::-moz-focus-inner,
296
- button.ui-button::-moz-focus-inner {
297
- border: 0;
298
- padding: 0;
299
- }
300
- .ui-datepicker {
301
- width: 17em;
302
- padding: .2em .2em 0;
303
- display: none;
304
- }
305
- .ui-datepicker .ui-datepicker-header {
306
- position: relative;
307
- padding: .2em 0;
308
- }
309
- .ui-datepicker .ui-datepicker-prev,
310
- .ui-datepicker .ui-datepicker-next {
311
- position: absolute;
312
- top: 2px;
313
- width: 1.8em;
314
- height: 1.8em;
315
- }
316
- .ui-datepicker .ui-datepicker-prev-hover,
317
- .ui-datepicker .ui-datepicker-next-hover {
318
- top: 1px;
319
- }
320
- .ui-datepicker .ui-datepicker-prev {
321
- left: 2px;
322
- }
323
- .ui-datepicker .ui-datepicker-next {
324
- right: 2px;
325
- }
326
- .ui-datepicker .ui-datepicker-prev-hover {
327
- left: 1px;
328
- }
329
- .ui-datepicker .ui-datepicker-next-hover {
330
- right: 1px;
331
- }
332
- .ui-datepicker .ui-datepicker-prev span,
333
- .ui-datepicker .ui-datepicker-next span {
334
- display: block;
335
- position: absolute;
336
- left: 50%;
337
- margin-left: -8px;
338
- top: 50%;
339
- margin-top: -8px;
340
- }
341
- .ui-datepicker .ui-datepicker-title {
342
- margin: 0 2.3em;
343
- line-height: 1.8em;
344
- text-align: center;
345
- }
346
- .ui-datepicker .ui-datepicker-title select {
347
- font-size: 1em;
348
- margin: 1px 0;
349
- }
350
- .ui-datepicker select.ui-datepicker-month,
351
- .ui-datepicker select.ui-datepicker-year {
352
- width: 49%;
353
- }
354
- .ui-datepicker table {
355
- width: 100%;
356
- font-size: .9em;
357
- border-collapse: collapse;
358
- margin: 0 0 .4em;
359
- }
360
- .ui-datepicker th {
361
- padding: .7em .3em;
362
- text-align: center;
363
- font-weight: bold;
364
- border: 0;
365
- }
366
- .ui-datepicker td {
367
- border: 0;
368
- padding: 1px;
369
- }
370
- .ui-datepicker td span,
371
- .ui-datepicker td a {
372
- display: block;
373
- padding: .2em;
374
- text-align: right;
375
- text-decoration: none;
376
- }
377
- .ui-datepicker .ui-datepicker-buttonpane {
378
- background-image: none;
379
- margin: .7em 0 0 0;
380
- padding: 0 .2em;
381
- border-left: 0;
382
- border-right: 0;
383
- border-bottom: 0;
384
- }
385
- .ui-datepicker .ui-datepicker-buttonpane button {
386
- float: right;
387
- margin: .5em .2em .4em;
388
- cursor: pointer;
389
- padding: .2em .6em .3em .6em;
390
- width: auto;
391
- overflow: visible;
392
- }
393
- .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
394
- float: left;
395
- }
396
-
397
- /* with multiple calendars */
398
- .ui-datepicker.ui-datepicker-multi {
399
- width: auto;
400
- }
401
- .ui-datepicker-multi .ui-datepicker-group {
402
- float: left;
403
- }
404
- .ui-datepicker-multi .ui-datepicker-group table {
405
- width: 95%;
406
- margin: 0 auto .4em;
407
- }
408
- .ui-datepicker-multi-2 .ui-datepicker-group {
409
- width: 50%;
410
- }
411
- .ui-datepicker-multi-3 .ui-datepicker-group {
412
- width: 33.3%;
413
- }
414
- .ui-datepicker-multi-4 .ui-datepicker-group {
415
- width: 25%;
416
- }
417
- .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
418
- .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
419
- border-left-width: 0;
420
- }
421
- .ui-datepicker-multi .ui-datepicker-buttonpane {
422
- clear: left;
423
- }
424
- .ui-datepicker-row-break {
425
- clear: both;
426
- width: 100%;
427
- font-size: 0;
428
- }
429
-
430
- /* RTL support */
431
- .ui-datepicker-rtl {
432
- direction: rtl;
433
- }
434
- .ui-datepicker-rtl .ui-datepicker-prev {
435
- right: 2px;
436
- left: auto;
437
- }
438
- .ui-datepicker-rtl .ui-datepicker-next {
439
- left: 2px;
440
- right: auto;
441
- }
442
- .ui-datepicker-rtl .ui-datepicker-prev:hover {
443
- right: 1px;
444
- left: auto;
445
- }
446
- .ui-datepicker-rtl .ui-datepicker-next:hover {
447
- left: 1px;
448
- right: auto;
449
- }
450
- .ui-datepicker-rtl .ui-datepicker-buttonpane {
451
- clear: right;
452
- }
453
- .ui-datepicker-rtl .ui-datepicker-buttonpane button {
454
- float: left;
455
- }
456
- .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
457
- .ui-datepicker-rtl .ui-datepicker-group {
458
- float: right;
459
- }
460
- .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
461
- .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
462
- border-right-width: 0;
463
- border-left-width: 1px;
464
- }
465
- .ui-dialog {
466
- overflow: hidden;
467
- position: absolute;
468
- top: 0;
469
- left: 0;
470
- padding: .2em;
471
- outline: 0;
472
- }
473
- .ui-dialog .ui-dialog-titlebar {
474
- padding: .4em 1em;
475
- position: relative;
476
- }
477
- .ui-dialog .ui-dialog-title {
478
- float: left;
479
- margin: .1em 0;
480
- white-space: nowrap;
481
- width: 90%;
482
- overflow: hidden;
483
- text-overflow: ellipsis;
484
- }
485
- .ui-dialog .ui-dialog-titlebar-close {
486
- position: absolute;
487
- right: .3em;
488
- top: 50%;
489
- width: 20px;
490
- margin: -10px 0 0 0;
491
- padding: 1px;
492
- height: 20px;
493
- }
494
- .ui-dialog .ui-dialog-content {
495
- position: relative;
496
- border: 0;
497
- padding: .5em 1em;
498
- background: none;
499
- overflow: auto;
500
- }
501
- .ui-dialog .ui-dialog-buttonpane {
502
- text-align: left;
503
- border-width: 1px 0 0 0;
504
- background-image: none;
505
- margin-top: .5em;
506
- padding: .3em 1em .5em .4em;
507
- }
508
- .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
509
- float: right;
510
- }
511
- .ui-dialog .ui-dialog-buttonpane button {
512
- margin: .5em .4em .5em 0;
513
- cursor: pointer;
514
- }
515
- .ui-dialog .ui-resizable-se {
516
- width: 12px;
517
- height: 12px;
518
- right: -5px;
519
- bottom: -5px;
520
- background-position: 16px 16px;
521
- }
522
- .ui-draggable .ui-dialog-titlebar {
523
- cursor: move;
524
- }
525
- .ui-menu {
526
- list-style: none;
527
- padding: 2px;
528
- margin: 0;
529
- display: block;
530
- outline: none;
531
- }
532
- .ui-menu .ui-menu {
533
- margin-top: -3px;
534
- position: absolute;
535
- }
536
- .ui-menu .ui-menu-item {
537
- margin: 0;
538
- padding: 0;
539
- width: 100%;
540
- /* support: IE10, see #8844 */
541
- list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
542
- }
543
- .ui-menu .ui-menu-divider {
544
- margin: 5px -2px 5px -2px;
545
- height: 0;
546
- font-size: 0;
547
- line-height: 0;
548
- border-width: 1px 0 0 0;
549
- }
550
- .ui-menu .ui-menu-item a {
551
- text-decoration: none;
552
- display: block;
553
- padding: 2px .4em;
554
- line-height: 1.5;
555
- min-height: 0; /* support: IE7 */
556
- font-weight: normal;
557
- }
558
- .ui-menu .ui-menu-item a.ui-state-focus,
559
- .ui-menu .ui-menu-item a.ui-state-active {
560
- font-weight: normal;
561
- margin: -1px;
562
- }
563
-
564
- .ui-menu .ui-state-disabled {
565
- font-weight: normal;
566
- margin: .4em 0 .2em;
567
- line-height: 1.5;
568
- }
569
- .ui-menu .ui-state-disabled a {
570
- cursor: default;
571
- }
572
-
573
- /* icon support */
574
- .ui-menu-icons {
575
- position: relative;
576
- }
577
- .ui-menu-icons .ui-menu-item a {
578
- position: relative;
579
- padding-left: 2em;
580
- }
581
-
582
- /* left-aligned */
583
- .ui-menu .ui-icon {
584
- position: absolute;
585
- top: .2em;
586
- left: .2em;
587
- }
588
-
589
- /* right-aligned */
590
- .ui-menu .ui-menu-icon {
591
- position: static;
592
- float: right;
593
- }
594
- .ui-progressbar {
595
- height: 2em;
596
- text-align: left;
597
- overflow: hidden;
598
- }
599
- .ui-progressbar .ui-progressbar-value {
600
- margin: -1px;
601
- height: 100%;
602
- }
603
- .ui-progressbar .ui-progressbar-overlay {
604
- background: url("images/animated-overlay.gif");
605
- height: 100%;
606
- filter: alpha(opacity=25);
607
- opacity: 0.25;
608
- }
609
- .ui-progressbar-indeterminate .ui-progressbar-value {
610
- background-image: none;
611
- }
612
- .ui-slider {
613
- position: relative;
614
- text-align: left;
615
- }
616
- .ui-slider .ui-slider-handle {
617
- position: absolute;
618
- z-index: 2;
619
- width: 1.2em;
620
- height: 1.2em;
621
- cursor: default;
622
- }
623
- .ui-slider .ui-slider-range {
624
- position: absolute;
625
- z-index: 1;
626
- font-size: .7em;
627
- display: block;
628
- border: 0;
629
- background-position: 0 0;
630
- }
631
-
632
- /* For IE8 - See #6727 */
633
- .ui-slider.ui-state-disabled .ui-slider-handle,
634
- .ui-slider.ui-state-disabled .ui-slider-range {
635
- filter: inherit;
636
- }
637
-
638
- .ui-slider-horizontal {
639
- height: .8em;
640
- }
641
- .ui-slider-horizontal .ui-slider-handle {
642
- top: -.3em;
643
- margin-left: -.6em;
644
- }
645
- .ui-slider-horizontal .ui-slider-range {
646
- top: 0;
647
- height: 100%;
648
- }
649
- .ui-slider-horizontal .ui-slider-range-min {
650
- left: 0;
651
- }
652
- .ui-slider-horizontal .ui-slider-range-max {
653
- right: 0;
654
- }
655
-
656
- .ui-slider-vertical {
657
- width: .8em;
658
- height: 100px;
659
- }
660
- .ui-slider-vertical .ui-slider-handle {
661
- left: -.3em;
662
- margin-left: 0;
663
- margin-bottom: -.6em;
664
- }
665
- .ui-slider-vertical .ui-slider-range {
666
- left: 0;
667
- width: 100%;
668
- }
669
- .ui-slider-vertical .ui-slider-range-min {
670
- bottom: 0;
671
- }
672
- .ui-slider-vertical .ui-slider-range-max {
673
- top: 0;
674
- }
675
- .ui-spinner {
676
- position: relative;
677
- display: inline-block;
678
- overflow: hidden;
679
- padding: 0;
680
- vertical-align: middle;
681
- }
682
- .ui-spinner-input {
683
- border: none;
684
- background: none;
685
- color: inherit;
686
- padding: 0;
687
- margin: .2em 0;
688
- vertical-align: middle;
689
- margin-left: .4em;
690
- margin-right: 22px;
691
- }
692
- .ui-spinner-button {
693
- width: 16px;
694
- height: 50%;
695
- font-size: .5em;
696
- padding: 0;
697
- margin: 0;
698
- text-align: center;
699
- position: absolute;
700
- cursor: default;
701
- display: block;
702
- overflow: hidden;
703
- right: 0;
704
- }
705
- /* more specificity required here to override default borders */
706
- .ui-spinner a.ui-spinner-button {
707
- border-top: none;
708
- border-bottom: none;
709
- border-right: none;
710
- }
711
- /* vertically center icon */
712
- .ui-spinner .ui-icon {
713
- position: absolute;
714
- margin-top: -8px;
715
- top: 50%;
716
- left: 0;
717
- }
718
- .ui-spinner-up {
719
- top: 0;
720
- }
721
- .ui-spinner-down {
722
- bottom: 0;
723
- }
724
-
725
- /* TR overrides */
726
- .ui-spinner .ui-icon-triangle-1-s {
727
- /* need to fix icons sprite */
728
- background-position: -65px -16px;
729
- }
730
- .ui-tabs {
731
- position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
732
- padding: .2em;
733
- }
734
- .ui-tabs .ui-tabs-nav {
735
- margin: 0;
736
- padding: .2em .2em 0;
737
- }
738
- .ui-tabs .ui-tabs-nav li {
739
- list-style: none;
740
- float: left;
741
- position: relative;
742
- top: 0;
743
- margin: 1px .2em 0 0;
744
- border-bottom-width: 0;
745
- padding: 0;
746
- white-space: nowrap;
747
- }
748
- .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
749
- float: left;
750
- padding: .5em 1em;
751
- text-decoration: none;
752
- }
753
- .ui-tabs .ui-tabs-nav li.ui-tabs-active {
754
- margin-bottom: -1px;
755
- padding-bottom: 1px;
756
- }
757
- .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
758
- .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
759
- .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
760
- cursor: text;
761
- }
762
- .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
763
- cursor: pointer;
764
- }
765
- .ui-tabs .ui-tabs-panel {
766
- display: block;
767
- border-width: 0;
768
- padding: 1em 1.4em;
769
- background: none;
770
- }
771
- .ui-tooltip {
772
- padding: 8px;
773
- position: absolute;
774
- z-index: 9999;
775
- max-width: 300px;
776
- -webkit-box-shadow: 0 0 5px #aaa;
777
- box-shadow: 0 0 5px #aaa;
778
- }
779
- body .ui-tooltip {
780
- border-width: 2px;
781
- }
782
-
783
- /* Component containers
784
- ----------------------------------*/
785
- .ui-widget {
786
- font-family: Verdana,Arial,sans-serif;
787
- font-size: 1.1em;
788
- }
789
- .ui-widget .ui-widget {
790
- font-size: 1em;
791
- }
792
- .ui-widget input,
793
- .ui-widget select,
794
- .ui-widget textarea,
795
- .ui-widget button {
796
- font-family: Verdana,Arial,sans-serif;
797
- font-size: 1em;
798
- }
799
- .ui-widget-content {
800
- border: 1px solid #aaaaaa;
801
- background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
802
- color: #222222;
803
- }
804
- .ui-widget-content a {
805
- color: #222222;
806
- }
807
- .ui-widget-header {
808
- border: 1px solid #aaaaaa;
809
- background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
810
- color: #222222;
811
- font-weight: bold;
812
- }
813
- .ui-widget-header a {
814
- color: #222222;
815
- }
816
-
817
- /* Interaction states
818
- ----------------------------------*/
819
- .ui-state-default,
820
- .ui-widget-content .ui-state-default,
821
- .ui-widget-header .ui-state-default {
822
- border: 1px solid #d3d3d3;
823
- background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;
824
- font-weight: normal;
825
- color: #555555;
826
- }
827
- .ui-state-default a,
828
- .ui-state-default a:link,
829
- .ui-state-default a:visited {
830
- color: #555555;
831
- text-decoration: none;
832
- }
833
- .ui-state-hover,
834
- .ui-widget-content .ui-state-hover,
835
- .ui-widget-header .ui-state-hover,
836
- .ui-state-focus,
837
- .ui-widget-content .ui-state-focus,
838
- .ui-widget-header .ui-state-focus {
839
- border: 1px solid #999999;
840
- background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
841
- font-weight: normal;
842
- color: #212121;
843
- }
844
- .ui-state-hover a,
845
- .ui-state-hover a:hover,
846
- .ui-state-hover a:link,
847
- .ui-state-hover a:visited,
848
- .ui-state-focus a,
849
- .ui-state-focus a:hover,
850
- .ui-state-focus a:link,
851
- .ui-state-focus a:visited {
852
- color: #212121;
853
- text-decoration: none;
854
- }
855
- .ui-state-active,
856
- .ui-widget-content .ui-state-active,
857
- .ui-widget-header .ui-state-active {
858
- border: 1px solid #aaaaaa;
859
- background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
860
- font-weight: normal;
861
- color: #212121;
862
- }
863
- .ui-state-active a,
864
- .ui-state-active a:link,
865
- .ui-state-active a:visited {
866
- color: #212121;
867
- text-decoration: none;
868
- }
869
-
870
- /* Interaction Cues
871
- ----------------------------------*/
872
- .ui-state-highlight,
873
- .ui-widget-content .ui-state-highlight,
874
- .ui-widget-header .ui-state-highlight {
875
- border: 1px solid #fcefa1;
876
- background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
877
- color: #363636;
878
- }
879
- .ui-state-highlight a,
880
- .ui-widget-content .ui-state-highlight a,
881
- .ui-widget-header .ui-state-highlight a {
882
- color: #363636;
883
- }
884
- .ui-state-error,
885
- .ui-widget-content .ui-state-error,
886
- .ui-widget-header .ui-state-error {
887
- border: 1px solid #cd0a0a;
888
- background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
889
- color: #cd0a0a;
890
- }
891
- .ui-state-error a,
892
- .ui-widget-content .ui-state-error a,
893
- .ui-widget-header .ui-state-error a {
894
- color: #cd0a0a;
895
- }
896
- .ui-state-error-text,
897
- .ui-widget-content .ui-state-error-text,
898
- .ui-widget-header .ui-state-error-text {
899
- color: #cd0a0a;
900
- }
901
- .ui-priority-primary,
902
- .ui-widget-content .ui-priority-primary,
903
- .ui-widget-header .ui-priority-primary {
904
- font-weight: bold;
905
- }
906
- .ui-priority-secondary,
907
- .ui-widget-content .ui-priority-secondary,
908
- .ui-widget-header .ui-priority-secondary {
909
- opacity: .7;
910
- filter:Alpha(Opacity=70);
911
- font-weight: normal;
912
- }
913
- .ui-state-disabled,
914
- .ui-widget-content .ui-state-disabled,
915
- .ui-widget-header .ui-state-disabled {
916
- opacity: .35;
917
- filter:Alpha(Opacity=35);
918
- background-image: none;
919
- }
920
- .ui-state-disabled .ui-icon {
921
- filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
922
- }
923
-
924
- /* Icons
925
- ----------------------------------*/
926
-
927
- /* states and images */
928
- .ui-icon {
929
- width: 16px;
930
- height: 16px;
931
- }
932
- .ui-icon,
933
- .ui-widget-content .ui-icon {
934
- background-image: url(images/ui-icons_222222_256x240.png);
935
- }
936
- .ui-widget-header .ui-icon {
937
- background-image: url(images/ui-icons_222222_256x240.png);
938
- }
939
- .ui-state-default .ui-icon {
940
- background-image: url(images/ui-icons_888888_256x240.png);
941
- }
942
- .ui-state-hover .ui-icon,
943
- .ui-state-focus .ui-icon {
944
- background-image: url(images/ui-icons_454545_256x240.png);
945
- }
946
- .ui-state-active .ui-icon {
947
- background-image: url(images/ui-icons_454545_256x240.png);
948
- }
949
- .ui-state-highlight .ui-icon {
950
- background-image: url(images/ui-icons_2e83ff_256x240.png);
951
- }
952
- .ui-state-error .ui-icon,
953
- .ui-state-error-text .ui-icon {
954
- background-image: url(images/ui-icons_cd0a0a_256x240.png);
955
- }
956
-
957
- /* positioning */
958
- .ui-icon-blank { background-position: 16px 16px; }
959
- .ui-icon-carat-1-n { background-position: 0 0; }
960
- .ui-icon-carat-1-ne { background-position: -16px 0; }
961
- .ui-icon-carat-1-e { background-position: -32px 0; }
962
- .ui-icon-carat-1-se { background-position: -48px 0; }
963
- .ui-icon-carat-1-s { background-position: -64px 0; }
964
- .ui-icon-carat-1-sw { background-position: -80px 0; }
965
- .ui-icon-carat-1-w { background-position: -96px 0; }
966
- .ui-icon-carat-1-nw { background-position: -112px 0; }
967
- .ui-icon-carat-2-n-s { background-position: -128px 0; }
968
- .ui-icon-carat-2-e-w { background-position: -144px 0; }
969
- .ui-icon-triangle-1-n { background-position: 0 -16px; }
970
- .ui-icon-triangle-1-ne { background-position: -16px -16px; }
971
- .ui-icon-triangle-1-e { background-position: -32px -16px; }
972
- .ui-icon-triangle-1-se { background-position: -48px -16px; }
973
- .ui-icon-triangle-1-s { background-position: -64px -16px; }
974
- .ui-icon-triangle-1-sw { background-position: -80px -16px; }
975
- .ui-icon-triangle-1-w { background-position: -96px -16px; }
976
- .ui-icon-triangle-1-nw { background-position: -112px -16px; }
977
- .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
978
- .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
979
- .ui-icon-arrow-1-n { background-position: 0 -32px; }
980
- .ui-icon-arrow-1-ne { background-position: -16px -32px; }
981
- .ui-icon-arrow-1-e { background-position: -32px -32px; }
982
- .ui-icon-arrow-1-se { background-position: -48px -32px; }
983
- .ui-icon-arrow-1-s { background-position: -64px -32px; }
984
- .ui-icon-arrow-1-sw { background-position: -80px -32px; }
985
- .ui-icon-arrow-1-w { background-position: -96px -32px; }
986
- .ui-icon-arrow-1-nw { background-position: -112px -32px; }
987
- .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
988
- .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
989
- .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
990
- .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
991
- .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
992
- .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
993
- .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
994
- .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
995
- .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
996
- .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
997
- .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
998
- .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
999
- .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
1000
- .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
1001
- .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
1002
- .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
1003
- .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
1004
- .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
1005
- .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
1006
- .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
1007
- .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
1008
- .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
1009
- .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
1010
- .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
1011
- .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
1012
- .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
1013
- .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
1014
- .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
1015
- .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
1016
- .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
1017
- .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
1018
- .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
1019
- .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
1020
- .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
1021
- .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
1022
- .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
1023
- .ui-icon-arrow-4 { background-position: 0 -80px; }
1024
- .ui-icon-arrow-4-diag { background-position: -16px -80px; }
1025
- .ui-icon-extlink { background-position: -32px -80px; }
1026
- .ui-icon-newwin { background-position: -48px -80px; }
1027
- .ui-icon-refresh { background-position: -64px -80px; }
1028
- .ui-icon-shuffle { background-position: -80px -80px; }
1029
- .ui-icon-transfer-e-w { background-position: -96px -80px; }
1030
- .ui-icon-transferthick-e-w { background-position: -112px -80px; }
1031
- .ui-icon-folder-collapsed { background-position: 0 -96px; }
1032
- .ui-icon-folder-open { background-position: -16px -96px; }
1033
- .ui-icon-document { background-position: -32px -96px; }
1034
- .ui-icon-document-b { background-position: -48px -96px; }
1035
- .ui-icon-note { background-position: -64px -96px; }
1036
- .ui-icon-mail-closed { background-position: -80px -96px; }
1037
- .ui-icon-mail-open { background-position: -96px -96px; }
1038
- .ui-icon-suitcase { background-position: -112px -96px; }
1039
- .ui-icon-comment { background-position: -128px -96px; }
1040
- .ui-icon-person { background-position: -144px -96px; }
1041
- .ui-icon-print { background-position: -160px -96px; }
1042
- .ui-icon-trash { background-position: -176px -96px; }
1043
- .ui-icon-locked { background-position: -192px -96px; }
1044
- .ui-icon-unlocked { background-position: -208px -96px; }
1045
- .ui-icon-bookmark { background-position: -224px -96px; }
1046
- .ui-icon-tag { background-position: -240px -96px; }
1047
- .ui-icon-home { background-position: 0 -112px; }
1048
- .ui-icon-flag { background-position: -16px -112px; }
1049
- .ui-icon-calendar { background-position: -32px -112px; }
1050
- .ui-icon-cart { background-position: -48px -112px; }
1051
- .ui-icon-pencil { background-position: -64px -112px; }
1052
- .ui-icon-clock { background-position: -80px -112px; }
1053
- .ui-icon-disk { background-position: -96px -112px; }
1054
- .ui-icon-calculator { background-position: -112px -112px; }
1055
- .ui-icon-zoomin { background-position: -128px -112px; }
1056
- .ui-icon-zoomout { background-position: -144px -112px; }
1057
- .ui-icon-search { background-position: -160px -112px; }
1058
- .ui-icon-wrench { background-position: -176px -112px; }
1059
- .ui-icon-gear { background-position: -192px -112px; }
1060
- .ui-icon-heart { background-position: -208px -112px; }
1061
- .ui-icon-star { background-position: -224px -112px; }
1062
- .ui-icon-link { background-position: -240px -112px; }
1063
- .ui-icon-cancel { background-position: 0 -128px; }
1064
- .ui-icon-plus { background-position: -16px -128px; }
1065
- .ui-icon-plusthick { background-position: -32px -128px; }
1066
- .ui-icon-minus { background-position: -48px -128px; }
1067
- .ui-icon-minusthick { background-position: -64px -128px; }
1068
- .ui-icon-close { background-position: -80px -128px; }
1069
- .ui-icon-closethick { background-position: -96px -128px; }
1070
- .ui-icon-key { background-position: -112px -128px; }
1071
- .ui-icon-lightbulb { background-position: -128px -128px; }
1072
- .ui-icon-scissors { background-position: -144px -128px; }
1073
- .ui-icon-clipboard { background-position: -160px -128px; }
1074
- .ui-icon-copy { background-position: -176px -128px; }
1075
- .ui-icon-contact { background-position: -192px -128px; }
1076
- .ui-icon-image { background-position: -208px -128px; }
1077
- .ui-icon-video { background-position: -224px -128px; }
1078
- .ui-icon-script { background-position: -240px -128px; }
1079
- .ui-icon-alert { background-position: 0 -144px; }
1080
- .ui-icon-info { background-position: -16px -144px; }
1081
- .ui-icon-notice { background-position: -32px -144px; }
1082
- .ui-icon-help { background-position: -48px -144px; }
1083
- .ui-icon-check { background-position: -64px -144px; }
1084
- .ui-icon-bullet { background-position: -80px -144px; }
1085
- .ui-icon-radio-on { background-position: -96px -144px; }
1086
- .ui-icon-radio-off { background-position: -112px -144px; }
1087
- .ui-icon-pin-w { background-position: -128px -144px; }
1088
- .ui-icon-pin-s { background-position: -144px -144px; }
1089
- .ui-icon-play { background-position: 0 -160px; }
1090
- .ui-icon-pause { background-position: -16px -160px; }
1091
- .ui-icon-seek-next { background-position: -32px -160px; }
1092
- .ui-icon-seek-prev { background-position: -48px -160px; }
1093
- .ui-icon-seek-end { background-position: -64px -160px; }
1094
- .ui-icon-seek-start { background-position: -80px -160px; }
1095
- /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
1096
- .ui-icon-seek-first { background-position: -80px -160px; }
1097
- .ui-icon-stop { background-position: -96px -160px; }
1098
- .ui-icon-eject { background-position: -112px -160px; }
1099
- .ui-icon-volume-off { background-position: -128px -160px; }
1100
- .ui-icon-volume-on { background-position: -144px -160px; }
1101
- .ui-icon-power { background-position: 0 -176px; }
1102
- .ui-icon-signal-diag { background-position: -16px -176px; }
1103
- .ui-icon-signal { background-position: -32px -176px; }
1104
- .ui-icon-battery-0 { background-position: -48px -176px; }
1105
- .ui-icon-battery-1 { background-position: -64px -176px; }
1106
- .ui-icon-battery-2 { background-position: -80px -176px; }
1107
- .ui-icon-battery-3 { background-position: -96px -176px; }
1108
- .ui-icon-circle-plus { background-position: 0 -192px; }
1109
- .ui-icon-circle-minus { background-position: -16px -192px; }
1110
- .ui-icon-circle-close { background-position: -32px -192px; }
1111
- .ui-icon-circle-triangle-e { background-position: -48px -192px; }
1112
- .ui-icon-circle-triangle-s { background-position: -64px -192px; }
1113
- .ui-icon-circle-triangle-w { background-position: -80px -192px; }
1114
- .ui-icon-circle-triangle-n { background-position: -96px -192px; }
1115
- .ui-icon-circle-arrow-e { background-position: -112px -192px; }
1116
- .ui-icon-circle-arrow-s { background-position: -128px -192px; }
1117
- .ui-icon-circle-arrow-w { background-position: -144px -192px; }
1118
- .ui-icon-circle-arrow-n { background-position: -160px -192px; }
1119
- .ui-icon-circle-zoomin { background-position: -176px -192px; }
1120
- .ui-icon-circle-zoomout { background-position: -192px -192px; }
1121
- .ui-icon-circle-check { background-position: -208px -192px; }
1122
- .ui-icon-circlesmall-plus { background-position: 0 -208px; }
1123
- .ui-icon-circlesmall-minus { background-position: -16px -208px; }
1124
- .ui-icon-circlesmall-close { background-position: -32px -208px; }
1125
- .ui-icon-squaresmall-plus { background-position: -48px -208px; }
1126
- .ui-icon-squaresmall-minus { background-position: -64px -208px; }
1127
- .ui-icon-squaresmall-close { background-position: -80px -208px; }
1128
- .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
1129
- .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
1130
- .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
1131
- .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
1132
- .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
1133
- .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
1134
-
1135
-
1136
- /* Misc visuals
1137
- ----------------------------------*/
1138
-
1139
- /* Corner radius */
1140
- .ui-corner-all,
1141
- .ui-corner-top,
1142
- .ui-corner-left,
1143
- .ui-corner-tl {
1144
- border-top-left-radius: 4px;
1145
- }
1146
- .ui-corner-all,
1147
- .ui-corner-top,
1148
- .ui-corner-right,
1149
- .ui-corner-tr {
1150
- border-top-right-radius: 4px;
1151
- }
1152
- .ui-corner-all,
1153
- .ui-corner-bottom,
1154
- .ui-corner-left,
1155
- .ui-corner-bl {
1156
- border-bottom-left-radius: 4px;
1157
- }
1158
- .ui-corner-all,
1159
- .ui-corner-bottom,
1160
- .ui-corner-right,
1161
- .ui-corner-br {
1162
- border-bottom-right-radius: 4px;
1163
- }
1164
-
1165
- /* Overlays */
1166
- .ui-widget-overlay {
1167
- background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
1168
- opacity: .3;
1169
- filter: Alpha(Opacity=30);
1170
- }
1171
- .ui-widget-shadow {
1172
- margin: -8px 0 0 -8px;
1173
- padding: 8px;
1174
- background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
1175
- opacity: .3;
1176
- filter: Alpha(Opacity=30);
1177
- border-radius: 8px;
1178
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/jquery-ui-1.10.4.custom.min.css DELETED
@@ -1,7 +0,0 @@
1
- /*! jQuery UI - v1.10.4 - 2014-01-18
2
- * http://jqueryui.com
3
- * Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.css
4
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
5
- * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
6
-
7
- .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
 
 
 
 
 
 
 
css/jquery-ui.css ADDED
@@ -0,0 +1,526 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.11.4 - 2017-04-30
2
+ * http://jqueryui.com
3
+ * Includes: core.css, tabs.css, theme.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=%23e9e9e9&bgTextureHeader=flat&borderColorHeader=%23dddddd&fcHeader=%23333333&iconColorHeader=%23444444&bgColorContent=%23ffffff&bgTextureContent=flat&borderColorContent=%23dddddd&fcContent=%23333333&iconColorContent=%23444444&bgColorDefault=%23f6f6f6&bgTextureDefault=flat&borderColorDefault=%23c5c5c5&fcDefault=%23454545&iconColorDefault=%23777777&bgColorHover=%23ededed&bgTextureHover=flat&borderColorHover=%23cccccc&fcHover=%232b2b2b&iconColorHover=%23555555&bgColorActive=%23ffffff&bgTextureActive=flat&borderColorActive=%23aaaaaa&fcActive=%23000000&iconColorActive=%23ffffff&bgColorHighlight=%23fffa90&bgTextureHighlight=flat&borderColorHighlight=%23dad55e&fcHighlight=%23777620&iconColorHighlight=%23777620&bgColorError=%23fddfdf&bgTextureError=flat&borderColorError=%23f1a899&fcError=%235f3f3f&iconColorError=%23cc0000&bgColorOverlay=%23aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=%23666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px&bgImgOpacityHeader=&bgImgOpacityContent=&bgImgOpacityDefault=&bgImgOpacityHover=&bgImgOpacityActive=&bgImgOpacityHighlight=&bgImgOpacityError=
5
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
+
7
+ /* Layout helpers
8
+ ----------------------------------*/
9
+ .ui-helper-hidden {
10
+ display: none;
11
+ }
12
+ .ui-helper-hidden-accessible {
13
+ border: 0;
14
+ clip: rect(0 0 0 0);
15
+ height: 1px;
16
+ margin: -1px;
17
+ overflow: hidden;
18
+ padding: 0;
19
+ position: absolute;
20
+ width: 1px;
21
+ }
22
+ .ui-helper-reset {
23
+ margin: 0;
24
+ padding: 0;
25
+ border: 0;
26
+ outline: 0;
27
+ line-height: 1.3;
28
+ text-decoration: none;
29
+ font-size: 100%;
30
+ list-style: none;
31
+ }
32
+ .ui-helper-clearfix:before,
33
+ .ui-helper-clearfix:after {
34
+ content: "";
35
+ display: table;
36
+ border-collapse: collapse;
37
+ }
38
+ .ui-helper-clearfix:after {
39
+ clear: both;
40
+ }
41
+ .ui-helper-clearfix {
42
+ min-height: 0; /* support: IE7 */
43
+ }
44
+ .ui-helper-zfix {
45
+ width: 100%;
46
+ height: 100%;
47
+ top: 0;
48
+ left: 0;
49
+ position: absolute;
50
+ opacity: 0;
51
+ filter:Alpha(Opacity=0); /* support: IE8 */
52
+ }
53
+
54
+ .ui-front {
55
+ z-index: 100;
56
+ }
57
+
58
+
59
+ /* Interaction Cues
60
+ ----------------------------------*/
61
+ .ui-state-disabled {
62
+ cursor: default !important;
63
+ }
64
+
65
+
66
+ /* Icons
67
+ ----------------------------------*/
68
+
69
+ /* states and images */
70
+ .ui-icon {
71
+ display: block;
72
+ text-indent: -99999px;
73
+ overflow: hidden;
74
+ background-repeat: no-repeat;
75
+ }
76
+
77
+
78
+ /* Misc visuals
79
+ ----------------------------------*/
80
+
81
+ /* Overlays */
82
+ .ui-widget-overlay {
83
+ position: fixed;
84
+ top: 0;
85
+ left: 0;
86
+ width: 100%;
87
+ height: 100%;
88
+ }
89
+ .ui-tabs {
90
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
91
+ padding: .2em;
92
+ }
93
+ .ui-tabs .ui-tabs-nav {
94
+ margin: 0;
95
+ padding: .2em .2em 0;
96
+ }
97
+ .ui-tabs .ui-tabs-nav li {
98
+ list-style: none;
99
+ float: left;
100
+ position: relative;
101
+ top: 0;
102
+ margin: 1px .2em 0 0;
103
+ border-bottom-width: 0;
104
+ padding: 0;
105
+ white-space: nowrap;
106
+ }
107
+ .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
108
+ float: left;
109
+ padding: .5em 1em;
110
+ text-decoration: none;
111
+ }
112
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active {
113
+ margin-bottom: -1px;
114
+ padding-bottom: 1px;
115
+ }
116
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
117
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
118
+ .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
119
+ cursor: text;
120
+ }
121
+ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
122
+ cursor: pointer;
123
+ }
124
+ .ui-tabs .ui-tabs-panel {
125
+ display: block;
126
+ border-width: 0;
127
+ padding: 1em 1.4em;
128
+ background: none;
129
+ }
130
+
131
+ /* Component containers
132
+ ----------------------------------*/
133
+ .ui-widget {
134
+ font-family: Arial,Helvetica,sans-serif;
135
+ font-size: 1em;
136
+ }
137
+ .ui-widget .ui-widget {
138
+ font-size: 1em;
139
+ }
140
+ .ui-widget input,
141
+ .ui-widget select,
142
+ .ui-widget textarea,
143
+ .ui-widget button {
144
+ font-family: Arial,Helvetica,sans-serif;
145
+ font-size: 1em;
146
+ }
147
+ .ui-widget-content {
148
+ border: 1px solid #dddddd;
149
+ background: #ffffff;
150
+ color: #333333;
151
+ }
152
+ .ui-widget-content a {
153
+ color: #333333;
154
+ }
155
+ .ui-widget-header {
156
+ border: 1px solid #dddddd;
157
+ background: #e9e9e9;
158
+ color: #333333;
159
+ font-weight: bold;
160
+ }
161
+ .ui-widget-header a {
162
+ color: #333333;
163
+ }
164
+
165
+ /* Interaction states
166
+ ----------------------------------*/
167
+ .ui-state-default,
168
+ .ui-widget-content .ui-state-default,
169
+ .ui-widget-header .ui-state-default {
170
+ border: 1px solid #c5c5c5;
171
+ background: #f6f6f6;
172
+ font-weight: normal;
173
+ color: #454545;
174
+ }
175
+ .ui-state-default a,
176
+ .ui-state-default a:link,
177
+ .ui-state-default a:visited {
178
+ color: #454545;
179
+ text-decoration: none;
180
+ }
181
+ .ui-state-hover,
182
+ .ui-widget-content .ui-state-hover,
183
+ .ui-widget-header .ui-state-hover,
184
+ .ui-state-focus,
185
+ .ui-widget-content .ui-state-focus,
186
+ .ui-widget-header .ui-state-focus {
187
+ border: 1px solid #cccccc;
188
+ background: #ededed;
189
+ font-weight: normal;
190
+ color: #2b2b2b;
191
+ }
192
+ .ui-state-hover a,
193
+ .ui-state-hover a:hover,
194
+ .ui-state-hover a:link,
195
+ .ui-state-hover a:visited,
196
+ .ui-state-focus a,
197
+ .ui-state-focus a:hover,
198
+ .ui-state-focus a:link,
199
+ .ui-state-focus a:visited {
200
+ color: #2b2b2b;
201
+ text-decoration: none;
202
+ }
203
+ .ui-state-active,
204
+ .ui-widget-content .ui-state-active,
205
+ .ui-widget-header .ui-state-active {
206
+ border: 1px solid #aaaaaa;
207
+ background: #ffffff;
208
+ font-weight: normal;
209
+ color: #000000;
210
+ }
211
+ .ui-state-active a,
212
+ .ui-state-active a:link,
213
+ .ui-state-active a:visited {
214
+ color: #000000;
215
+ text-decoration: none;
216
+ }
217
+
218
+ /* Interaction Cues
219
+ ----------------------------------*/
220
+ .ui-state-highlight,
221
+ .ui-widget-content .ui-state-highlight,
222
+ .ui-widget-header .ui-state-highlight {
223
+ border: 1px solid #dad55e;
224
+ background: #fffa90;
225
+ color: #777620;
226
+ }
227
+ .ui-state-highlight a,
228
+ .ui-widget-content .ui-state-highlight a,
229
+ .ui-widget-header .ui-state-highlight a {
230
+ color: #777620;
231
+ }
232
+ .ui-state-error,
233
+ .ui-widget-content .ui-state-error,
234
+ .ui-widget-header .ui-state-error {
235
+ border: 1px solid #f1a899;
236
+ background: #fddfdf;
237
+ color: #5f3f3f;
238
+ }
239
+ .ui-state-error a,
240
+ .ui-widget-content .ui-state-error a,
241
+ .ui-widget-header .ui-state-error a {
242
+ color: #5f3f3f;
243
+ }
244
+ .ui-state-error-text,
245
+ .ui-widget-content .ui-state-error-text,
246
+ .ui-widget-header .ui-state-error-text {
247
+ color: #5f3f3f;
248
+ }
249
+ .ui-priority-primary,
250
+ .ui-widget-content .ui-priority-primary,
251
+ .ui-widget-header .ui-priority-primary {
252
+ font-weight: bold;
253
+ }
254
+ .ui-priority-secondary,
255
+ .ui-widget-content .ui-priority-secondary,
256
+ .ui-widget-header .ui-priority-secondary {
257
+ opacity: .7;
258
+ filter:Alpha(Opacity=70); /* support: IE8 */
259
+ font-weight: normal;
260
+ }
261
+ .ui-state-disabled,
262
+ .ui-widget-content .ui-state-disabled,
263
+ .ui-widget-header .ui-state-disabled {
264
+ opacity: .35;
265
+ filter:Alpha(Opacity=35); /* support: IE8 */
266
+ background-image: none;
267
+ }
268
+ .ui-state-disabled .ui-icon {
269
+ filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
270
+ }
271
+
272
+ /* Icons
273
+ ----------------------------------*/
274
+
275
+ /* states and images */
276
+ .ui-icon {
277
+ width: 16px;
278
+ height: 16px;
279
+ }
280
+ .ui-icon,
281
+ .ui-widget-content .ui-icon {
282
+ background-image: url("images/ui-icons_444444_256x240.png");
283
+ }
284
+ .ui-widget-header .ui-icon {
285
+ background-image: url("images/ui-icons_444444_256x240.png");
286
+ }
287
+ .ui-state-default .ui-icon {
288
+ background-image: url("images/ui-icons_777777_256x240.png");
289
+ }
290
+ .ui-state-hover .ui-icon,
291
+ .ui-state-focus .ui-icon {
292
+ background-image: url("images/ui-icons_555555_256x240.png");
293
+ }
294
+ .ui-state-active .ui-icon {
295
+ background-image: url("images/ui-icons_ffffff_256x240.png");
296
+ }
297
+ .ui-state-highlight .ui-icon {
298
+ background-image: url("images/ui-icons_777620_256x240.png");
299
+ }
300
+ .ui-state-error .ui-icon,
301
+ .ui-state-error-text .ui-icon {
302
+ background-image: url("images/ui-icons_cc0000_256x240.png");
303
+ }
304
+
305
+ /* positioning */
306
+ .ui-icon-blank { background-position: 16px 16px; }
307
+ .ui-icon-carat-1-n { background-position: 0 0; }
308
+ .ui-icon-carat-1-ne { background-position: -16px 0; }
309
+ .ui-icon-carat-1-e { background-position: -32px 0; }
310
+ .ui-icon-carat-1-se { background-position: -48px 0; }
311
+ .ui-icon-carat-1-s { background-position: -64px 0; }
312
+ .ui-icon-carat-1-sw { background-position: -80px 0; }
313
+ .ui-icon-carat-1-w { background-position: -96px 0; }
314
+ .ui-icon-carat-1-nw { background-position: -112px 0; }
315
+ .ui-icon-carat-2-n-s { background-position: -128px 0; }
316
+ .ui-icon-carat-2-e-w { background-position: -144px 0; }
317
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
318
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
319
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
320
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
321
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
322
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
323
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
324
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
325
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
326
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
327
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
328
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
329
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
330
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
331
+ .ui-icon-arrow-1-s { background-position: -64px -32px; }
332
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
333
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
334
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
335
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
336
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
337
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
338
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
339
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
340
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
341
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
342
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
343
+ .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
344
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
345
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
346
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
347
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
348
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
349
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
350
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
351
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
352
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
353
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
354
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
355
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
356
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
357
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
358
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
359
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
360
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
361
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
362
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
363
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
364
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
365
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
366
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
367
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
368
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
369
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
370
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
371
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
372
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
373
+ .ui-icon-extlink { background-position: -32px -80px; }
374
+ .ui-icon-newwin { background-position: -48px -80px; }
375
+ .ui-icon-refresh { background-position: -64px -80px; }
376
+ .ui-icon-shuffle { background-position: -80px -80px; }
377
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
378
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
379
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
380
+ .ui-icon-folder-open { background-position: -16px -96px; }
381
+ .ui-icon-document { background-position: -32px -96px; }
382
+ .ui-icon-document-b { background-position: -48px -96px; }
383
+ .ui-icon-note { background-position: -64px -96px; }
384
+ .ui-icon-mail-closed { background-position: -80px -96px; }
385
+ .ui-icon-mail-open { background-position: -96px -96px; }
386
+ .ui-icon-suitcase { background-position: -112px -96px; }
387
+ .ui-icon-comment { background-position: -128px -96px; }
388
+ .ui-icon-person { background-position: -144px -96px; }
389
+ .ui-icon-print { background-position: -160px -96px; }
390
+ .ui-icon-trash { background-position: -176px -96px; }
391
+ .ui-icon-locked { background-position: -192px -96px; }
392
+ .ui-icon-unlocked { background-position: -208px -96px; }
393
+ .ui-icon-bookmark { background-position: -224px -96px; }
394
+ .ui-icon-tag { background-position: -240px -96px; }
395
+ .ui-icon-home { background-position: 0 -112px; }
396
+ .ui-icon-flag { background-position: -16px -112px; }
397
+ .ui-icon-calendar { background-position: -32px -112px; }
398
+ .ui-icon-cart { background-position: -48px -112px; }
399
+ .ui-icon-pencil { background-position: -64px -112px; }
400
+ .ui-icon-clock { background-position: -80px -112px; }
401
+ .ui-icon-disk { background-position: -96px -112px; }
402
+ .ui-icon-calculator { background-position: -112px -112px; }
403
+ .ui-icon-zoomin { background-position: -128px -112px; }
404
+ .ui-icon-zoomout { background-position: -144px -112px; }
405
+ .ui-icon-search { background-position: -160px -112px; }
406
+ .ui-icon-wrench { background-position: -176px -112px; }
407
+ .ui-icon-gear { background-position: -192px -112px; }
408
+ .ui-icon-heart { background-position: -208px -112px; }
409
+ .ui-icon-star { background-position: -224px -112px; }
410
+ .ui-icon-link { background-position: -240px -112px; }
411
+ .ui-icon-cancel { background-position: 0 -128px; }
412
+ .ui-icon-plus { background-position: -16px -128px; }
413
+ .ui-icon-plusthick { background-position: -32px -128px; }
414
+ .ui-icon-minus { background-position: -48px -128px; }
415
+ .ui-icon-minusthick { background-position: -64px -128px; }
416
+ .ui-icon-close { background-position: -80px -128px; }
417
+ .ui-icon-closethick { background-position: -96px -128px; }
418
+ .ui-icon-key { background-position: -112px -128px; }
419
+ .ui-icon-lightbulb { background-position: -128px -128px; }
420
+ .ui-icon-scissors { background-position: -144px -128px; }
421
+ .ui-icon-clipboard { background-position: -160px -128px; }
422
+ .ui-icon-copy { background-position: -176px -128px; }
423
+ .ui-icon-contact { background-position: -192px -128px; }
424
+ .ui-icon-image { background-position: -208px -128px; }
425
+ .ui-icon-video { background-position: -224px -128px; }
426
+ .ui-icon-script { background-position: -240px -128px; }
427
+ .ui-icon-alert { background-position: 0 -144px; }
428
+ .ui-icon-info { background-position: -16px -144px; }
429
+ .ui-icon-notice { background-position: -32px -144px; }
430
+ .ui-icon-help { background-position: -48px -144px; }
431
+ .ui-icon-check { background-position: -64px -144px; }
432
+ .ui-icon-bullet { background-position: -80px -144px; }
433
+ .ui-icon-radio-on { background-position: -96px -144px; }
434
+ .ui-icon-radio-off { background-position: -112px -144px; }
435
+ .ui-icon-pin-w { background-position: -128px -144px; }
436
+ .ui-icon-pin-s { background-position: -144px -144px; }
437
+ .ui-icon-play { background-position: 0 -160px; }
438
+ .ui-icon-pause { background-position: -16px -160px; }
439
+ .ui-icon-seek-next { background-position: -32px -160px; }
440
+ .ui-icon-seek-prev { background-position: -48px -160px; }
441
+ .ui-icon-seek-end { background-position: -64px -160px; }
442
+ .ui-icon-seek-start { background-position: -80px -160px; }
443
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
444
+ .ui-icon-seek-first { background-position: -80px -160px; }
445
+ .ui-icon-stop { background-position: -96px -160px; }
446
+ .ui-icon-eject { background-position: -112px -160px; }
447
+ .ui-icon-volume-off { background-position: -128px -160px; }
448
+ .ui-icon-volume-on { background-position: -144px -160px; }
449
+ .ui-icon-power { background-position: 0 -176px; }
450
+ .ui-icon-signal-diag { background-position: -16px -176px; }
451
+ .ui-icon-signal { background-position: -32px -176px; }
452
+ .ui-icon-battery-0 { background-position: -48px -176px; }
453
+ .ui-icon-battery-1 { background-position: -64px -176px; }
454
+ .ui-icon-battery-2 { background-position: -80px -176px; }
455
+ .ui-icon-battery-3 { background-position: -96px -176px; }
456
+ .ui-icon-circle-plus { background-position: 0 -192px; }
457
+ .ui-icon-circle-minus { background-position: -16px -192px; }
458
+ .ui-icon-circle-close { background-position: -32px -192px; }
459
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
460
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
461
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
462
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
463
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
464
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
465
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
466
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
467
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
468
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
469
+ .ui-icon-circle-check { background-position: -208px -192px; }
470
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
471
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
472
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
473
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
474
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
475
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
476
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
477
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
478
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
479
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
480
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
481
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
482
+
483
+
484
+ /* Misc visuals
485
+ ----------------------------------*/
486
+
487
+ /* Corner radius */
488
+ .ui-corner-all,
489
+ .ui-corner-top,
490
+ .ui-corner-left,
491
+ .ui-corner-tl {
492
+ border-top-left-radius: 3px;
493
+ }
494
+ .ui-corner-all,
495
+ .ui-corner-top,
496
+ .ui-corner-right,
497
+ .ui-corner-tr {
498
+ border-top-right-radius: 3px;
499
+ }
500
+ .ui-corner-all,
501
+ .ui-corner-bottom,
502
+ .ui-corner-left,
503
+ .ui-corner-bl {
504
+ border-bottom-left-radius: 3px;
505
+ }
506
+ .ui-corner-all,
507
+ .ui-corner-bottom,
508
+ .ui-corner-right,
509
+ .ui-corner-br {
510
+ border-bottom-right-radius: 3px;
511
+ }
512
+
513
+ /* Overlays */
514
+ .ui-widget-overlay {
515
+ background: #aaaaaa;
516
+ opacity: .3;
517
+ filter: Alpha(Opacity=30); /* support: IE8 */
518
+ }
519
+ .ui-widget-shadow {
520
+ margin: 0px 0 0 0px;
521
+ padding: 5px;
522
+ background: #666666;
523
+ opacity: .3;
524
+ filter: Alpha(Opacity=30); /* support: IE8 */
525
+ border-radius: 8px;
526
+ }
css/jquery-ui.min.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.11.4 - 2017-04-30
2
+ * http://jqueryui.com
3
+ * Includes: core.css, tabs.css, theme.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=%23e9e9e9&bgTextureHeader=flat&borderColorHeader=%23dddddd&fcHeader=%23333333&iconColorHeader=%23444444&bgColorContent=%23ffffff&bgTextureContent=flat&borderColorContent=%23dddddd&fcContent=%23333333&iconColorContent=%23444444&bgColorDefault=%23f6f6f6&bgTextureDefault=flat&borderColorDefault=%23c5c5c5&fcDefault=%23454545&iconColorDefault=%23777777&bgColorHover=%23ededed&bgTextureHover=flat&borderColorHover=%23cccccc&fcHover=%232b2b2b&iconColorHover=%23555555&bgColorActive=%23ffffff&bgTextureActive=flat&borderColorActive=%23aaaaaa&fcActive=%23000000&iconColorActive=%23ffffff&bgColorHighlight=%23fffa90&bgTextureHighlight=flat&borderColorHighlight=%23dad55e&fcHighlight=%23777620&iconColorHighlight=%23777620&bgColorError=%23fddfdf&bgTextureError=flat&borderColorError=%23f1a899&fcError=%235f3f3f&iconColorError=%23cc0000&bgColorOverlay=%23aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=%23666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px&bgImgOpacityHeader=&bgImgOpacityContent=&bgImgOpacityDefault=&bgImgOpacityHover=&bgImgOpacityActive=&bgImgOpacityHighlight=&bgImgOpacityError=
5
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
+
7
+ .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#2b2b2b;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff;font-weight:normal;color:#000}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#000;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:0 0 0 0;padding:5px;background:#666;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
includes/classes/ajax-processor.php CHANGED
@@ -39,6 +39,19 @@ class URE_Ajax_Processor {
39
  }
40
 
41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  protected function ajax_check_permissions() {
43
 
44
  if (!wp_verify_nonce($_REQUEST['wp_nonce'], 'user-role-editor')) {
@@ -46,8 +59,8 @@ class URE_Ajax_Processor {
46
  die;
47
  }
48
 
49
- $key_capability = URE_Own_Capabilities::get_key_capability();
50
- if (!current_user_can($key_capability)) {
51
  echo json_encode(array('result'=>'error', 'message'=>'URE: Insufficient permissions'));
52
  die;
53
  }
@@ -71,7 +84,7 @@ class URE_Ajax_Processor {
71
 
72
  $new_role = filter_input(INPUT_POST, 'new_role', FILTER_SANITIZE_STRING);
73
  if (empty($new_role)) {
74
- $answer = array('result'=>'failure', 'message'=>'Provide new role');
75
  return $answer;
76
  }
77
 
@@ -84,7 +97,7 @@ class URE_Ajax_Processor {
84
  $wp_roles = new WP_Roles();
85
  }
86
  if (!isset($wp_roles->roles[$new_role])) {
87
- $answer = array('result'=>'failure', 'message'=>'Selected new role does not exist');
88
  return $answer;
89
  }
90
 
39
  }
40
 
41
 
42
+ protected function get_required_cap() {
43
+
44
+ if ($this->action=='grant_roles') {
45
+ $cap = 'edit_users';
46
+ } else {
47
+ $cap = URE_Own_Capabilities::get_key_capability();
48
+ }
49
+
50
+ return $cap;
51
+ }
52
+ // end of get_required_cap()
53
+
54
+
55
  protected function ajax_check_permissions() {
56
 
57
  if (!wp_verify_nonce($_REQUEST['wp_nonce'], 'user-role-editor')) {
59
  die;
60
  }
61
 
62
+ $capability = $this->get_required_cap();
63
+ if (!current_user_can($capability)) {
64
  echo json_encode(array('result'=>'error', 'message'=>'URE: Insufficient permissions'));
65
  die;
66
  }
84
 
85
  $new_role = filter_input(INPUT_POST, 'new_role', FILTER_SANITIZE_STRING);
86
  if (empty($new_role)) {
87
+ $answer = array('result'=>'error', 'message'=>'Provide new role');
88
  return $answer;
89
  }
90
 
97
  $wp_roles = new WP_Roles();
98
  }
99
  if (!isset($wp_roles->roles[$new_role])) {
100
+ $answer = array('result'=>'error', 'message'=>'Selected new role does not exist');
101
  return $answer;
102
  }
103
 
includes/classes/assign-role.php CHANGED
@@ -50,7 +50,8 @@ class URE_Assign_Role {
50
  $where = "where not exists (select user_id from {$usermeta}
51
  where user_id=users.ID and meta_key='{$blog_prefix}capabilities') or
52
  exists (select user_id from {$usermeta}
53
- where user_id=users.ID and meta_key='{$blog_prefix}capabilities' and meta_value='a:0:{}')";
 
54
 
55
  return $where;
56
  }
50
  $where = "where not exists (select user_id from {$usermeta}
51
  where user_id=users.ID and meta_key='{$blog_prefix}capabilities') or
52
  exists (select user_id from {$usermeta}
53
+ where user_id=users.ID and meta_key='{$blog_prefix}capabilities' and
54
+ (meta_value='a:0:{}' or meta_value is NULL))";
55
 
56
  return $where;
57
  }
includes/classes/base-lib.php CHANGED
@@ -83,14 +83,16 @@ class URE_Base_Lib {
83
 
84
 
85
  /**
86
- * Returns the array of multisite WP blogs IDs
87
  * @global wpdb $wpdb
88
  * @return array
89
  */
90
  protected function get_blog_ids() {
91
  global $wpdb;
92
 
93
- $blog_ids = $wpdb->get_col("select blog_id from $wpdb->blogs order by blog_id asc");
 
 
94
 
95
  return $blog_ids;
96
  }
@@ -217,15 +219,15 @@ class URE_Base_Lib {
217
  // end of flush_options()
218
 
219
  /**
220
- * Check product versrion and stop execution if product version is not compatible
221
- * @param type $must_have_version
222
- * @param type $version_to_check
223
- * @param type $error_message
224
- * @return type
225
  */
226
- public static function check_version($must_have_version, $version_to_check, $error_message, $plugin_file_name) {
227
 
228
- if (version_compare($must_have_version, $version_to_check, '<')) {
229
  if (is_admin() && (!defined('DOING_AJAX') || !DOING_AJAX )) {
230
  require_once ABSPATH . '/wp-admin/includes/plugin.php';
231
  deactivate_plugins($plugin_file_name);
83
 
84
 
85
  /**
86
+ * Returns the array of multi-site WP sites/blogs IDs for the current network
87
  * @global wpdb $wpdb
88
  * @return array
89
  */
90
  protected function get_blog_ids() {
91
  global $wpdb;
92
 
93
+ $network = get_current_site();
94
+ $query = "SELECT blog_id FROM {$wpdb->blogs} WHERE site_id={$network->id} ORDER BY blog_id ASC";
95
+ $blog_ids = $wpdb->get_col($query);
96
 
97
  return $blog_ids;
98
  }
219
  // end of flush_options()
220
 
221
  /**
222
+ * Check product version and stop execution if product version is not compatible
223
+ * @param string $version1
224
+ * @param string $version2
225
+ * @param string $error_message
226
+ * @return void
227
  */
228
+ public static function check_version($version1, $version2, $error_message, $plugin_file_name) {
229
 
230
+ if (version_compare($version1, $version2, '<')) {
231
  if (is_admin() && (!defined('DOING_AJAX') || !DOING_AJAX )) {
232
  require_once ABSPATH . '/wp-admin/includes/plugin.php';
233
  deactivate_plugins($plugin_file_name);
includes/classes/grant-roles.php CHANGED
@@ -12,6 +12,8 @@
12
  class URE_Grant_Roles {
13
 
14
  private $lib = null;
 
 
15
 
16
  public function __construct() {
17
 
@@ -20,6 +22,7 @@ class URE_Grant_Roles {
20
  add_action('restrict_manage_users', array($this, 'show_grant_roles_html'));
21
  add_action('admin_head', array(User_Role_Editor::get_instance(), 'add_css_to_users_page'));
22
  add_action('admin_enqueue_scripts', array($this, 'load_js'));
 
23
  }
24
  // end of __construct()
25
 
@@ -44,6 +47,10 @@ class URE_Grant_Roles {
44
 
45
 
46
  private static function validate_roles($roles) {
 
 
 
 
47
 
48
  $editable_roles = get_editable_roles();
49
  $valid_roles = array_keys($editable_roles);
@@ -58,53 +65,121 @@ class URE_Grant_Roles {
58
  // end of validate_roles()
59
 
60
 
61
- private static function grant_roles_to_user($user_id, $roles) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
 
63
  $user = get_user_by('id', $user_id);
64
  if (empty($user)) {
65
  return;
66
  }
67
 
 
68
  $user->remove_all_caps();
 
69
  foreach($roles as $role) {
70
  $user->add_role($role);
71
  }
72
 
73
  }
74
- // end of grant_roles_to_user()
75
 
76
 
77
  public static function process_user_request() {
78
-
 
 
 
 
 
79
  $users = $_POST['users'];
80
  if (!self::validate_users($users)) {
81
- $answer = array('result'=>'error', 'message'=>esc_html__('Invalid data at the users list', 'user-role-editor'));
 
 
 
 
 
 
 
82
  return $answer;
83
  }
84
 
85
- $roles = $_POST['roles'];
86
- if (!self::validate_roles($roles)) {
87
- $answer = array('result'=>'error', 'message'=>esc_html__('Invalid data at the roles list', 'user-role-editor'));
88
- return;
 
 
 
 
 
 
89
  }
90
-
91
- if (!current_user_can('edit_users')) {
92
- $answer = array('result'=>'error', 'message'=>esc_html__('Not enough permissions', 'user-role-editor'));
 
 
93
  return $answer;
94
  }
95
 
96
- foreach($users as $user_id) {
97
- self::grant_roles_to_user($user_id, $roles);
98
- }
99
-
100
- $answer = array();
 
101
 
102
  return $answer;
103
  }
104
  // end of process_user_request()
105
 
106
 
107
- private function select_roles_html() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  $show_admin_role = $this->lib->show_admin_role_allowed();
109
  $roles = get_editable_roles();
110
  foreach ($roles as $role_id => $role) {
@@ -115,32 +190,43 @@ class URE_Grant_Roles {
115
  '" name="ure_roles[]" value="' . $role_id . '" />&nbsp;' .
116
  esc_html__($role['name'], 'user-role-editor') .' ('. $role_id .')</label><br />'. PHP_EOL;
117
  }
 
 
 
118
  }
119
- // end of show_secondary_roles()
120
 
121
 
122
  public function show_grant_roles_html() {
123
  if (!$this->lib->is_right_admin_path('users.php')) {
124
  return;
125
  }
 
 
 
126
  ?>
127
  &nbsp;&nbsp;<input type="button" name="ure_grant_roles" id="ure_grant_roles" class="button"
128
- value="Grant Roles" onclick="ure_show_grant_roles_dialog();">
129
- <div id="ure_grant_roles_dialog" class="ure-dialog">
130
- <div id="ure_grant_roles_content" style="padding: 10px;">
131
  <?php
132
- $this->select_roles_html();
 
 
 
 
 
 
133
  ?>
134
  </div>
135
  </div>
136
  <div id="ure_task_status" style="display:none;position:absolute;top:10px;right:10px;padding:10px;background-color:#000000;color:#ffffff;">
137
  <img src="<?php echo URE_PLUGIN_URL .'/images/ajax-loader.gif';?>" width="16" height="16"/> <?php esc_html_e('Working...','user-role-editor');?>
138
  </div>
139
- <?php
140
-
 
141
 
142
  }
143
- // end of show_grant_roles_button()
144
 
145
 
146
  public function load_js() {
@@ -150,15 +236,18 @@ class URE_Grant_Roles {
150
  if (!$this->lib->is_right_admin_path('users.php')) {
151
  return;
152
  }
153
-
 
 
154
  wp_enqueue_script('jquery-ui-dialog', '', array('jquery-ui-core','jquery-ui-button', 'jquery') );
155
  wp_register_script('ure-users-grant-roles', plugins_url('/js/users-grant-roles.js', URE_PLUGIN_FULL_PATH));
156
  wp_enqueue_script('ure-users-grant-roles', '', array(), false, true);
157
  wp_localize_script('ure-users-grant-roles', 'ure_users_grant_roles_data', array(
158
  'wp_nonce' => wp_create_nonce('user-role-editor'),
159
  'dialog_title'=> esc_html__('Grant roles to selected users', 'user-role-editor'),
160
- 'select_users_first'=> esc_html__('Select users to which you wish to grant multiple roles!', 'user-role-editor'),
161
- 'select_roles_first'=> esc_html__('Select role(s) which you wish to grant!', 'user-role-editor')
 
162
  ));
163
  }
164
  // end of load_js()
12
  class URE_Grant_Roles {
13
 
14
  private $lib = null;
15
+ private static $counter = 0;
16
+
17
 
18
  public function __construct() {
19
 
22
  add_action('restrict_manage_users', array($this, 'show_grant_roles_html'));
23
  add_action('admin_head', array(User_Role_Editor::get_instance(), 'add_css_to_users_page'));
24
  add_action('admin_enqueue_scripts', array($this, 'load_js'));
25
+
26
  }
27
  // end of __construct()
28
 
47
 
48
 
49
  private static function validate_roles($roles) {
50
+
51
+ if (!is_array($roles)) {
52
+ return false;
53
+ }
54
 
55
  $editable_roles = get_editable_roles();
56
  $valid_roles = array_keys($editable_roles);
65
  // end of validate_roles()
66
 
67
 
68
+ private static function grant_primary_role_to_user($user_id, $role) {
69
+
70
+ $user = get_user_by('id', $user_id);
71
+ if (empty($user)) {
72
+ return;
73
+ }
74
+
75
+ $user->set_role($role);
76
+
77
+ }
78
+ // end of grant_primary_role_to_user()
79
+
80
+
81
+
82
+ private static function grant_other_roles_to_user($user_id, $roles) {
83
 
84
  $user = get_user_by('id', $user_id);
85
  if (empty($user)) {
86
  return;
87
  }
88
 
89
+ $primary_role = array_shift(array_values($user->roles)); // Get the 1st element from the roles array
90
  $user->remove_all_caps();
91
+ $roles = array_merge(array($primary_role), $roles);
92
  foreach($roles as $role) {
93
  $user->add_role($role);
94
  }
95
 
96
  }
97
+ // end of grant_other_roles_to_user()
98
 
99
 
100
  public static function process_user_request() {
101
+
102
+ if (!current_user_can('edit_users')) {
103
+ $answer = array('result'=>'error', 'message'=>esc_html__('Not enough permissions', 'user-role-editor'));
104
+ return $answer;
105
+ }
106
+
107
  $users = $_POST['users'];
108
  if (!self::validate_users($users)) {
109
+ $answer = array('result'=>'error', 'message'=>esc_html__('Can not edit user or invalid data at the users list', 'user-role-editor'));
110
+ return $answer;
111
+ }
112
+
113
+ // Primary role
114
+ $primary_role = $_POST['primary_role'];
115
+ if (!empty($primary_role) && !self::validate_roles(array($primary_role=>$primary_role))) {
116
+ $answer = array('result'=>'error', 'message'=>esc_html__('Invalid primary role', 'user-role-editor'));
117
  return $answer;
118
  }
119
 
120
+ $lib = URE_Lib::get_instance();
121
+ $select_primary_role = apply_filters('ure_users_select_primary_role', true);
122
+ if ($select_primary_role || $lib->is_super_admin()) {
123
+ foreach ($users as $user_id) {
124
+ self::grant_primary_role_to_user($user_id, $primary_role);
125
+ }
126
+ if (empty($primary_role)) { // users don't have primary role, so they should not have any other roles - stop processing
127
+ $answer = array('result'=>'success', 'message'=>esc_html__('Users does not have role for this site', 'user-role-editor'));
128
+ return;
129
+ }
130
  }
131
+
132
+ // Other roles
133
+ $other_roles = isset($_POST['other_roles']) ? $_POST['other_roles'] : null;
134
+ if (!empty($other_roles) && !self::validate_roles($other_roles)) {
135
+ $answer = array('result'=>'error', 'message'=>esc_html__('Invalid data at the other roles list', 'user-role-editor'));
136
  return $answer;
137
  }
138
 
139
+ if (!empty($other_roles)) {
140
+ foreach($users as $user_id) {
141
+ self::grant_other_roles_to_user($user_id, $other_roles);
142
+ }
143
+ }
144
+ $answer = array('result'=>'success', 'message'=>esc_html__('Roles were granted to users successfully', 'user-role-editor'));
145
 
146
  return $answer;
147
  }
148
  // end of process_user_request()
149
 
150
 
151
+ private function select_primary_role_html() {
152
+
153
+ $select_primary_role = apply_filters('ure_users_select_primary_role', true);
154
+ if (!$select_primary_role && !$this->lib->is_super_admin()) {
155
+ return;
156
+ }
157
+ ?>
158
+ <span style="font-weight: bold;">
159
+ <?php esc_html_e('Primary Role: ', 'role-editor');?>
160
+ </span>
161
+ <select name="primary_role" id="primary_role">
162
+ <?php
163
+ // print the full list of roles with the primary one selected.
164
+ wp_dropdown_roles('');
165
+ echo '<option value="">' . esc_html__('&mdash; No role for this site &mdash;') . '</option>'. PHP_EOL;
166
+ ?>
167
+ </select>
168
+ <hr/>
169
+ <?php
170
+ }
171
+ // end of select_primary_role_html()
172
+
173
+
174
+ private function select_other_roles_html() {
175
+ ?>
176
+ <div id="other_roles_container">
177
+ <span style="font-weight: bold;">
178
+ <?php
179
+ esc_html_e('Other Roles: ', 'role-editor');
180
+ ?>
181
+ </span><br>
182
+ <?php
183
  $show_admin_role = $this->lib->show_admin_role_allowed();
184
  $roles = get_editable_roles();
185
  foreach ($roles as $role_id => $role) {
190
  '" name="ure_roles[]" value="' . $role_id . '" />&nbsp;' .
191
  esc_html__($role['name'], 'user-role-editor') .' ('. $role_id .')</label><br />'. PHP_EOL;
192
  }
193
+ ?>
194
+ </div>
195
+ <?php
196
  }
197
+ // end of select_other_roles_html()
198
 
199
 
200
  public function show_grant_roles_html() {
201
  if (!$this->lib->is_right_admin_path('users.php')) {
202
  return;
203
  }
204
+ if (!current_user_can('edit_users')) {
205
+ return;
206
+ }
207
  ?>
208
  &nbsp;&nbsp;<input type="button" name="ure_grant_roles" id="ure_grant_roles" class="button"
209
+ value="<?php esc_html_e('Grant Roles', 'user-role-editor');?>" onclick="ure_show_grant_roles_dialog();">
 
 
210
  <?php
211
+ if (self::$counter<1) {
212
+ ?>
213
+ <div id="ure_grant_roles_dialog" class="ure-dialog">
214
+ <div id="ure_grant_roles_content">
215
+ <?php
216
+ $this->select_primary_role_html();
217
+ $this->select_other_roles_html();
218
  ?>
219
  </div>
220
  </div>
221
  <div id="ure_task_status" style="display:none;position:absolute;top:10px;right:10px;padding:10px;background-color:#000000;color:#ffffff;">
222
  <img src="<?php echo URE_PLUGIN_URL .'/images/ajax-loader.gif';?>" width="16" height="16"/> <?php esc_html_e('Working...','user-role-editor');?>
223
  </div>
224
+ <?php
225
+ self::$counter++;
226
+ }
227
 
228
  }
229
+ // end of show_grant_roles_html()
230
 
231
 
232
  public function load_js() {
236
  if (!$this->lib->is_right_admin_path('users.php')) {
237
  return;
238
  }
239
+
240
+ $show_wp_change_role = apply_filters('ure_users_show_wp_change_role', true);
241
+
242
  wp_enqueue_script('jquery-ui-dialog', '', array('jquery-ui-core','jquery-ui-button', 'jquery') );
243
  wp_register_script('ure-users-grant-roles', plugins_url('/js/users-grant-roles.js', URE_PLUGIN_FULL_PATH));
244
  wp_enqueue_script('ure-users-grant-roles', '', array(), false, true);
245
  wp_localize_script('ure-users-grant-roles', 'ure_users_grant_roles_data', array(
246
  'wp_nonce' => wp_create_nonce('user-role-editor'),
247
  'dialog_title'=> esc_html__('Grant roles to selected users', 'user-role-editor'),
248
+ 'select_users_first' => esc_html__('Select users to which you wish to grant roles!', 'user-role-editor'),
249
+ 'select_roles_first' => esc_html__('Select role(s) which you wish to grant!', 'user-role-editor'),
250
+ 'show_wp_change_role' => $show_wp_change_role ? 1: 0
251
  ));
252
  }
253
  // end of load_js()
includes/classes/role-view.php CHANGED
@@ -198,7 +198,7 @@ class URE_Role_View extends URE_View {
198
  <script language="javascript" type="text/javascript">
199
 
200
  var ure_current_role = '<?php echo $current_role; ?>';
201
- var ure_current_role_name = '<?php echo $current_role_name; ?>';
202
 
203
  </script>
204
 
@@ -334,13 +334,6 @@ if ($multisite && !is_network_admin()) {
334
  <div id="ure_service_tools">
335
  <?php
336
  do_action('ure_role_edit_toolbar_service');
337
- if (!$multisite || (is_main_site( get_current_blog_id()) || (is_network_admin() && $this->lib->is_super_admin()))) {
338
- if (current_user_can('ure_reset_roles')) {
339
- ?>
340
- <button id="ure_reset_roles_button" class="ure_toolbar_button" style="color: red;" title="Reset Roles to its original state">Reset</button>
341
- <?php
342
- }
343
- }
344
  ?>
345
  </div>
346
  <?php
198
  <script language="javascript" type="text/javascript">
199
 
200
  var ure_current_role = '<?php echo $current_role; ?>';
201
+ var ure_current_role_name = "<?php echo $current_role_name; ?>";
202
 
203
  </script>
204
 
334
  <div id="ure_service_tools">
335
  <?php
336
  do_action('ure_role_edit_toolbar_service');
 
 
 
 
 
 
 
337
  ?>
338
  </div>
339
  <?php
includes/classes/tools.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class URE_Tools {
4
+ private $lib;
5
+ private $multisite = null;
6
+ private $link = null;
7
+
8
+ public function __construct() {
9
+
10
+ $this->lib = URE_Lib::get_instance();
11
+ $this->multisite = $this->lib->get('multisite');
12
+
13
+ if ($this->multisite && is_network_admin()) {
14
+ $this->link = 'settings.php';
15
+ } else {
16
+ $this->link = 'options-general.php';
17
+ }
18
+
19
+ }
20
+ // end of __construct()
21
+
22
+
23
+ public function show_reset($tab_idx) {
24
+
25
+ if (!$this->multisite || (is_main_site(get_current_blog_id()) || (is_network_admin() && $this->lib->is_super_admin()))) {
26
+ if (current_user_can('ure_reset_roles')) {
27
+ ?>
28
+
29
+ <div style="margin: 10px 0 10px 0; border: 1px solid red; padding: 0 10px 10px 10px; text-align:left;">
30
+ <form name="ure_reset_roles_form" id="ure_reset_roles_form" method="post" action="<?php echo $this->link; ?>?page=settings-<?php echo URE_PLUGIN_FILE; ?>" >
31
+ <h3>Reset User Roles</h3>
32
+ <span style="color: red;"><?php esc_html_e('WARNING!', 'user-role-editor');?></span>&nbsp;
33
+ <?php
34
+ esc_html_e('Resetting will setup default user roles and capabilities from WordPress core.', 'user-role-editor'); echo '<br>';
35
+ esc_html_e('If any plugins (such as WooCommerce, S2Member and many others) have changed user roles and capabilities during installation, those changes will be LOST!', 'user-role-editor'); echo '<br>';
36
+ esc_html_e('For more information on how to undo undesired changes and restore plugins capabilities in case you lost them by mistake go to: ', 'user-role-editor');
37
+ echo '<a href="http://role-editor.com/how-to-restore-deleted-wordpress-user-roles/">http://role-editor.com/how-to-restore-deleted-wordpress-user-roles/</a>';
38
+
39
+ if ($this->multisite) {
40
+
41
+ ?>
42
+ <br><br>
43
+ <input type="checkbox" name="ure_apply_to_all" id="ure_apply_to_all" value="1" />
44
+ <label for="ure_apply_to_all"><?php esc_html_e('Apply to All Sites', 'user-role-editor'); ?></label>
45
+ (<?php esc_html_e('If checked, then apply action to ALL sites. Main site only is affected in other case.', 'user-role-editor'); ?>)
46
+ <?php
47
+ }
48
+ ?>
49
+ <br><br>
50
+ <button id="ure_reset_roles_button" style="width: 100px; color: red;" title="<?php esc_html_e('Reset Roles to its original state', 'user-role-editor'); ?>"><?php esc_html_e('Reset', 'user-role-editor');?></button>
51
+ <?php wp_nonce_field('user-role-editor'); ?>
52
+ <input type="hidden" name="ure_reset_roles_exec" value="1" />
53
+ <input type="hidden" name="ure_tab_idx" value="<?php echo $tab_idx; ?>" />
54
+ </form>
55
+ </div>
56
+
57
+ <?php
58
+ }
59
+ }
60
+ }
61
+ // end of show_reset()
62
+
63
+
64
+ public function show($tab_idx) {
65
+
66
+ $this->show_reset($tab_idx);
67
+ }
68
+ // end of show()
69
+
70
+ }
71
+ // end of URE_Tools
includes/classes/ure-lib.php CHANGED
@@ -253,7 +253,7 @@ class Ure_Lib extends URE_Base_Lib {
253
  }
254
  $view->display_edit_dialogs();
255
  do_action('ure_dialogs_html');
256
- $view->output_confirmation_dialog();
257
  ?>
258
  </div>
259
  </div>
@@ -453,7 +453,7 @@ class Ure_Lib extends URE_Base_Lib {
453
 
454
  $this->caps_columns_quant = $value;
455
  }
456
- // end of get_apply_to_all_from_post()
457
 
458
 
459
  public function get_default_role() {
@@ -1200,8 +1200,9 @@ class Ure_Lib extends URE_Base_Lib {
1200
  * @global WP_Roles $wp_roles
1201
  */
1202
  protected function wp_roles_reinit() {
1203
- global $wp_roles;
1204
 
 
1205
  $wp_roles->roles = array();
1206
  $wp_roles->role_objects = array();
1207
  $wp_roles->role_names = array();
@@ -1209,7 +1210,7 @@ class Ure_Lib extends URE_Base_Lib {
1209
 
1210
  require_once(ABSPATH . '/wp-admin/includes/schema.php');
1211
  populate_roles();
1212
- $wp_roles->reinit();
1213
 
1214
  $this->roles = $this->get_user_roles();
1215
 
@@ -1219,36 +1220,27 @@ class Ure_Lib extends URE_Base_Lib {
1219
  /**
1220
  * reset user roles to WordPress default roles
1221
  */
1222
- protected function reset_user_roles() {
1223
 
1224
  if (!current_user_can('ure_reset_roles')) {
1225
- return esc_html__('Insufficient permissions to work with User Role Editor','user-role-editor');
 
1226
  }
1227
 
1228
  $this->wp_roles_reinit();
1229
  URE_Own_Capabilities::init_caps();
1230
- if ($this->is_full_network_synch() || $this->apply_to_all) {
 
1231
  $this->current_role = '';
1232
  $this->direct_network_roles_update();
1233
  }
1234
- //$this->validate_user_roles(); // if user has non-existing role lower him to Subscriber role
1235
 
1236
- $reload_link = wp_get_referer();
1237
- $reload_link = esc_url_raw(remove_query_arg('action', $reload_link));
1238
- ?>
1239
- <script type="text/javascript" >
1240
- jQuery.ure_postGo('<?php echo $reload_link; ?>',
1241
- { action: 'roles_restore_note',
1242
- ure_nonce: ure_data.wp_nonce} );
1243
- </script>
1244
- <?php
1245
  }
1246
  // end of reset_user_roles()
1247
 
1248
 
1249
  /**
1250
- * if returns true - make full syncronization of roles for all sites with roles from the main site
1251
- * else - only currently selected role update is replicated
1252
  *
1253
  * @return boolean
1254
  */
@@ -1342,7 +1334,7 @@ class Ure_Lib extends URE_Base_Lib {
1342
  $this->log_event($wpdb->last_error, true);
1343
  return false;
1344
  }
1345
- // save role additional options
1346
 
1347
  }
1348
 
@@ -1838,10 +1830,20 @@ class Ure_Lib extends URE_Base_Lib {
1838
  }
1839
  }
1840
 
1841
- $primary_role = $_POST['primary_role'];
1842
- if (empty($primary_role) || !isset($wp_roles->roles[$primary_role])) {
1843
- $primary_role = '';
 
 
 
 
 
 
 
 
 
1844
  }
 
1845
  if (function_exists('bbp_filter_blog_editable_roles')) { // bbPress plugin is active
1846
  $bbp_user_role = bbp_get_user_role($user->ID);
1847
  } else {
253
  }
254
  $view->display_edit_dialogs();
255
  do_action('ure_dialogs_html');
256
+ URE_Role_View::output_confirmation_dialog();
257
  ?>
258
  </div>
259
  </div>
453
 
454
  $this->caps_columns_quant = $value;
455
  }
456
+ // end of get_caps_columns_quant()
457
 
458
 
459
  public function get_default_role() {
1200
  * @global WP_Roles $wp_roles
1201
  */
1202
  protected function wp_roles_reinit() {
1203
+ global $wp_roles, $wp_user_roles;
1204
 
1205
+ $wp_user_roles = null;
1206
  $wp_roles->roles = array();
1207
  $wp_roles->role_objects = array();
1208
  $wp_roles->role_names = array();
1210
 
1211
  require_once(ABSPATH . '/wp-admin/includes/schema.php');
1212
  populate_roles();
1213
+ $wp_roles = new WP_Roles();
1214
 
1215
  $this->roles = $this->get_user_roles();
1216
 
1220
  /**
1221
  * reset user roles to WordPress default roles
1222
  */
1223
+ public function reset_user_roles() {
1224
 
1225
  if (!current_user_can('ure_reset_roles')) {
1226
+ esc_html_e('Insufficient permissions to work with User Role Editor','user-role-editor');
1227
+ die;
1228
  }
1229
 
1230
  $this->wp_roles_reinit();
1231
  URE_Own_Capabilities::init_caps();
1232
+ $this->get_apply_to_all_from_post();
1233
+ if ($this->apply_to_all) {
1234
  $this->current_role = '';
1235
  $this->direct_network_roles_update();
1236
  }
 
1237
 
 
 
 
 
 
 
 
 
 
1238
  }
1239
  // end of reset_user_roles()
1240
 
1241
 
1242
  /**
1243
+ * Make full synchronization of roles for all sites with roles from the main site directly updating database records
 
1244
  *
1245
  * @return boolean
1246
  */
1334
  $this->log_event($wpdb->last_error, true);
1335
  return false;
1336
  }
1337
+ // @TODO: save role additional options
1338
 
1339
  }
1340
 
1830
  }
1831
  }
1832
 
1833
+ $select_primary_role = apply_filters('ure_users_select_primary_role', true);
1834
+ if ($select_primary_role || $this->is_super_admin()) {
1835
+ $primary_role = $_POST['primary_role'];
1836
+ if (empty($primary_role) || !isset($wp_roles->roles[$primary_role])) {
1837
+ $primary_role = '';
1838
+ }
1839
+ } else {
1840
+ if (!empty($user->roles)) {
1841
+ $primary_role = $user->roles[0];
1842
+ } else {
1843
+ $primary_role = '';
1844
+ }
1845
  }
1846
+
1847
  if (function_exists('bbp_filter_blog_editable_roles')) { // bbPress plugin is active
1848
  $bbp_user_role = bbp_get_user_role($user->ID);
1849
  } else {
includes/classes/user-other-roles.php CHANGED
@@ -71,6 +71,9 @@ class URE_User_Other_Roles {
71
  return;
72
  }
73
 
 
 
 
74
  wp_enqueue_script('jquery-ui-dialog', '', array('jquery-ui-core', 'jquery-ui-button', 'jquery'));
75
  wp_register_script('ure-jquery-multiple-select', plugins_url('/js/jquery.multiple.select.js', URE_PLUGIN_FULL_PATH));
76
  wp_enqueue_script('ure-jquery-multiple-select');
@@ -79,14 +82,15 @@ class URE_User_Other_Roles {
79
  wp_localize_script('ure-user-profile-other-roles', 'ure_data_user_profile_other_roles', array(
80
  'wp_nonce' => wp_create_nonce('user-role-editor'),
81
  'other_roles' => esc_html__('Other Roles', 'user-role-editor'),
82
- 'select_roles' => esc_html__('Select additional roles for this user', 'user-role-editor')
 
83
  ));
84
  }
85
  // end of load_js()
86
 
87
 
88
  /**
89
- * Returns list of user roles, except 1st one, and bbPress assigned as they are shown by WordPress and bbPress theirselves.
90
  *
91
  * @param type $user WP_User from wp-includes/capabilities.php
92
  * @return array
71
  return;
72
  }
73
 
74
+
75
+ $select_primary_role = apply_filters('ure_users_select_primary_role', true);
76
+
77
  wp_enqueue_script('jquery-ui-dialog', '', array('jquery-ui-core', 'jquery-ui-button', 'jquery'));
78
  wp_register_script('ure-jquery-multiple-select', plugins_url('/js/jquery.multiple.select.js', URE_PLUGIN_FULL_PATH));
79
  wp_enqueue_script('ure-jquery-multiple-select');
82
  wp_localize_script('ure-user-profile-other-roles', 'ure_data_user_profile_other_roles', array(
83
  'wp_nonce' => wp_create_nonce('user-role-editor'),
84
  'other_roles' => esc_html__('Other Roles', 'user-role-editor'),
85
+ 'select_roles' => esc_html__('Select additional roles for this user', 'user-role-editor'),
86
+ 'select_primary_role' => ($select_primary_role || $this->lib->is_super_admin()) ? 1: 0
87
  ));
88
  }
89
  // end of load_js()
90
 
91
 
92
  /**
93
+ * Returns list of user roles, except 1st one, and bbPress assigned as they are shown by WordPress and bbPress themselves.
94
  *
95
  * @param type $user WP_User from wp-includes/capabilities.php
96
  * @return array
includes/classes/user-role-editor.php CHANGED
@@ -107,7 +107,7 @@ class User_Role_Editor {
107
  // Gravity Forms User Registration Addon does
108
  add_action( 'wpmu_new_blog', array($this, 'duplicate_roles_for_new_blog'), 10, 2);
109
  }
110
-
111
  // setup additional options hooks for the roles
112
  add_action('init', array($this, 'set_role_additional_options_hooks'), 9);
113
 
@@ -145,7 +145,7 @@ class User_Role_Editor {
145
  return $this->lib->is_pro();
146
  }
147
  // end of is_pro()
148
-
149
 
150
  /**
151
  * Plugin initialization
@@ -193,7 +193,10 @@ class User_Role_Editor {
193
  }
194
  }
195
 
196
- new URE_Grant_Roles();
 
 
 
197
 
198
  add_action('wp_ajax_ure_ajax', array($this, 'ure_ajax'));
199
  }
@@ -243,6 +246,9 @@ class User_Role_Editor {
243
  if (!$this->lib->is_right_admin_path('users.php')) {
244
  return;
245
  }
 
 
 
246
 
247
  $assign_role = $this->lib->get_assign_role();
248
  $users_quant = $assign_role->count_users_without_role();
@@ -611,7 +617,12 @@ class User_Role_Editor {
611
  protected function get_settings_action() {
612
 
613
  $action = 'show';
614
- $update_buttons = array('ure_settings_update', 'ure_addons_settings_update', 'ure_settings_ms_update', 'ure_default_roles_update');
 
 
 
 
 
615
  foreach($update_buttons as $update_button) {
616
  if (!isset($_POST[$update_button])) {
617
  continue;
@@ -721,6 +732,14 @@ class User_Role_Editor {
721
 
722
  }
723
  // end of update_multisite_options()
 
 
 
 
 
 
 
 
724
 
725
 
726
  public function settings() {
@@ -741,6 +760,10 @@ class User_Role_Editor {
741
  break;
742
  case 'ure_default_roles_update':
743
  $this->update_default_roles();
 
 
 
 
744
  case 'show':
745
  default:
746
  ;
@@ -790,7 +813,7 @@ class User_Role_Editor {
790
  wp_enqueue_style('wp-jquery-ui-dialog');
791
  wp_enqueue_style('wp-jquery-ui-selectable');
792
  if (stripos($_SERVER['REQUEST_URI'], 'settings-user-role-editor')!==false) {
793
- wp_enqueue_style('ure-jquery-ui-tabs', URE_PLUGIN_URL . 'css/jquery-ui-1.10.4.custom.min.css', array(), false, 'screen');
794
  }
795
  wp_enqueue_style('ure-admin-css', URE_PLUGIN_URL . 'css/ure-admin.css', array(), false, 'screen');
796
  }
@@ -841,10 +864,7 @@ class User_Role_Editor {
841
  'confirm_role_update' => $confirm_role_update ? 1 : 0,
842
  'confirm_title' => esc_html__('Confirm', 'user-role-editor'),
843
  'yes_label' => esc_html__('Yes', 'user-role-editor'),
844
- 'no_label' => esc_html__('No', 'user-role-editor'),
845
- 'select_all' => esc_html__('Select All', 'user-role-editor'),
846
- 'unselect_all' => esc_html__('Unselect All', 'user-role-editor'),
847
- 'reverse' => esc_html__('Reverse', 'user-role-editor'),
848
  'update' => esc_html__('Update', 'user-role-editor'),
849
  'confirm_submit' => esc_html__('Please confirm permissions update', 'user-role-editor'),
850
  'add_new_role_title' => esc_html__('Add New Role', 'user-role-editor'),
@@ -881,7 +901,31 @@ class User_Role_Editor {
881
 
882
  protected function load_settings_js() {
883
 
 
 
884
  wp_enqueue_script('jquery-ui-tabs', '', array('jquery-ui-core', 'jquery'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
885
  do_action('ure_load_js_settings');
886
 
887
  }
107
  // Gravity Forms User Registration Addon does
108
  add_action( 'wpmu_new_blog', array($this, 'duplicate_roles_for_new_blog'), 10, 2);
109
  }
110
+
111
  // setup additional options hooks for the roles
112
  add_action('init', array($this, 'set_role_additional_options_hooks'), 9);
113
 
145
  return $this->lib->is_pro();
146
  }
147
  // end of is_pro()
148
+
149
 
150
  /**
151
  * Plugin initialization
193
  }
194
  }
195
 
196
+ $bulk_grant_roles = apply_filters('ure_bulk_grant_roles', true);
197
+ if ($bulk_grant_roles) {
198
+ new URE_Grant_Roles();
199
+ }
200
 
201
  add_action('wp_ajax_ure_ajax', array($this, 'ure_ajax'));
202
  }
246
  if (!$this->lib->is_right_admin_path('users.php')) {
247
  return;
248
  }
249
+ if (!current_user_can('edit_users')) {
250
+ return;
251
+ }
252
 
253
  $assign_role = $this->lib->get_assign_role();
254
  $users_quant = $assign_role->count_users_without_role();
617
  protected function get_settings_action() {
618
 
619
  $action = 'show';
620
+ $update_buttons = array(
621
+ 'ure_settings_update',
622
+ 'ure_addons_settings_update',
623
+ 'ure_settings_ms_update',
624
+ 'ure_default_roles_update',
625
+ 'ure_reset_roles_exec');
626
  foreach($update_buttons as $update_button) {
627
  if (!isset($_POST[$update_button])) {
628
  continue;
732
 
733
  }
734
  // end of update_multisite_options()
735
+
736
+
737
+ protected function reset_roles() {
738
+ $this->lib->reset_user_roles();
739
+ $this->lib->put_option('other_default_roles', array(), true);
740
+ $this->lib->show_message(esc_html__('Tools: Reset: User Roles were initialized', 'user-role-editor'));
741
+ }
742
+ // end of reset_roles()
743
 
744
 
745
  public function settings() {
760
  break;
761
  case 'ure_default_roles_update':
762
  $this->update_default_roles();
763
+ break;
764
+ case 'ure_reset_roles_exec':
765
+ $this->reset_roles();
766
+ break;
767
  case 'show':
768
  default:
769
  ;
813
  wp_enqueue_style('wp-jquery-ui-dialog');
814
  wp_enqueue_style('wp-jquery-ui-selectable');
815
  if (stripos($_SERVER['REQUEST_URI'], 'settings-user-role-editor')!==false) {
816
+ wp_enqueue_style('ure-jquery-ui-tabs', URE_PLUGIN_URL . 'css/jquery-ui.min.css', array(), false, 'screen');
817
  }
818
  wp_enqueue_style('ure-admin-css', URE_PLUGIN_URL . 'css/ure-admin.css', array(), false, 'screen');
819
  }
864
  'confirm_role_update' => $confirm_role_update ? 1 : 0,
865
  'confirm_title' => esc_html__('Confirm', 'user-role-editor'),
866
  'yes_label' => esc_html__('Yes', 'user-role-editor'),
867
+ 'no_label' => esc_html__('No', 'user-role-editor'),
 
 
 
868
  'update' => esc_html__('Update', 'user-role-editor'),
869
  'confirm_submit' => esc_html__('Please confirm permissions update', 'user-role-editor'),
870
  'add_new_role_title' => esc_html__('Add New Role', 'user-role-editor'),
901
 
902
  protected function load_settings_js() {
903
 
904
+ $page_url = $this->lib->get_ure_page_url();
905
+
906
  wp_enqueue_script('jquery-ui-tabs', '', array('jquery-ui-core', 'jquery'));
907
+ wp_enqueue_script('jquery-ui-dialog', '', array('jquery-ui-core', 'jquery'));
908
+ wp_enqueue_script('jquery-ui-button', '', array('jquery-ui-core', 'jquery'));
909
+ wp_register_script('ure-js', plugins_url('/js/settings.js', URE_PLUGIN_FULL_PATH));
910
+ wp_enqueue_script('ure-js');
911
+
912
+ wp_localize_script('ure-js', 'ure_data', array(
913
+ 'wp_nonce' => wp_create_nonce('user-role-editor'),
914
+ 'network_admin' => is_network_admin() ? 1 : 0,
915
+ 'page_url' => $page_url,
916
+ 'is_multisite' => is_multisite() ? 1 : 0,
917
+ 'confirm_title' => esc_html__('Confirm', 'user-role-editor'),
918
+ 'yes_label' => esc_html__('Yes', 'user-role-editor'),
919
+ 'no_label' => esc_html__('No', 'user-role-editor'),
920
+ 'reset' => esc_html__('Reset', 'user-role-editor'),
921
+ 'reset_warning' => '<span style="color: red;">'. esc_html__('DANGER!', 'user-role-editor') .'</span>'.
922
+ esc_html__(' Resetting will restore default user roles and capabilities from WordPress core.', 'user-role-editor') .'<br><br>'.
923
+ esc_html__('If any plugins (such as WooCommerce, S2Member and many others) have changed user roles and capabilities during installation, all those changes will be LOST!', 'user-role-editor') .'<br>'.
924
+ esc_html__('For more information on how to undo undesired changes and restore plugin capabilities go to', 'user-role-editor') .'<br>'.
925
+ '<a href="http://role-editor.com/how-to-restore-deleted-wordpress-user-roles/">http://role-editor.com/how-to-restore-deleted-wordpress-user-roles/</a>' .'<br><br>'.
926
+ esc_html__('Continue?', 'user-role-editor')
927
+ ));
928
+
929
  do_action('ure_load_js_settings');
930
 
931
  }
includes/classes/user-view.php CHANGED
@@ -82,7 +82,7 @@ class URE_User_View extends URE_View {
82
  // end of get_user_info()
83
 
84
 
85
- private function show_primary_role_dropdown_list($user_roles) {
86
  ?>
87
  <select name="primary_role" id="primary_role">
88
  <?php
@@ -103,7 +103,7 @@ class URE_User_View extends URE_View {
103
  // end of show_primary_role_dropdown_list()
104
 
105
 
106
- private function show_secondary_roles() {
107
  $show_admin_role = $this->lib->show_admin_role_allowed();
108
  $values = array_values($this->user_to_edit->roles);
109
  $primary_role = array_shift($values); // get 1st element from roles array
@@ -129,7 +129,8 @@ class URE_User_View extends URE_View {
129
  $show_deprecated_caps = $this->lib->get('show_deprecated_caps');
130
  $edit_user_caps_mode = $this->lib->get_edit_user_caps_mode();
131
  $caps_access_restrict_for_simple_admin = $this->lib->get_option('caps_access_restrict_for_simple_admin', 0);
132
- $user_info = $this->get_user_info();
 
133
  ?>
134
 
135
  <div class="postbox" style="float:left;min-width:1000px;width: 100%;">
@@ -169,10 +170,13 @@ class URE_User_View extends URE_View {
169
  </tr>
170
  <tr>
171
  <td id="ure_user_roles">
 
 
 
172
  <div class="ure-user-role-section-title"><?php esc_html_e('Primary Role:', 'user-role-editor'); ?></div>
173
  <?php
174
- $this->show_primary_role_dropdown_list($this->user_to_edit->roles);
175
-
176
  if (function_exists('bbp_filter_blog_editable_roles') ) { // bbPress plugin is active
177
  ?>
178
  <div class="ure-user-role-section-title" style="margin-top: 5px;"><?php esc_html_e('bbPress Role:', 'user-role-editor'); ?></div>
82
  // end of get_user_info()
83
 
84
 
85
+ public function show_primary_role_dropdown_list($user_roles) {
86
  ?>
87
  <select name="primary_role" id="primary_role">
88
  <?php
103
  // end of show_primary_role_dropdown_list()
104
 
105
 
106
+ protected function show_secondary_roles() {
107
  $show_admin_role = $this->lib->show_admin_role_allowed();
108
  $values = array_values($this->user_to_edit->roles);
109
  $primary_role = array_shift($values); // get 1st element from roles array
129
  $show_deprecated_caps = $this->lib->get('show_deprecated_caps');
130
  $edit_user_caps_mode = $this->lib->get_edit_user_caps_mode();
131
  $caps_access_restrict_for_simple_admin = $this->lib->get_option('caps_access_restrict_for_simple_admin', 0);
132
+ $user_info = $this->get_user_info();
133
+ $select_primary_role = apply_filters('ure_users_select_primary_role', true);
134
  ?>
135
 
136
  <div class="postbox" style="float:left;min-width:1000px;width: 100%;">
170
  </tr>
171
  <tr>
172
  <td id="ure_user_roles">
173
+ <?php
174
+ if ($select_primary_role || $this->lib->is_super_admin()) {
175
+ ?>
176
  <div class="ure-user-role-section-title"><?php esc_html_e('Primary Role:', 'user-role-editor'); ?></div>
177
  <?php
178
+ $this->show_primary_role_dropdown_list($this->user_to_edit->roles);
179
+ }
180
  if (function_exists('bbp_filter_blog_editable_roles') ) { // bbPress plugin is active
181
  ?>
182
  <div class="ure-user-role-section-title" style="margin-top: 5px;"><?php esc_html_e('bbPress Role:', 'user-role-editor'); ?></div>
includes/classes/view.php CHANGED
@@ -242,7 +242,7 @@ class URE_View {
242
  // end of advertisement()
243
 
244
 
245
- public function output_confirmation_dialog() {
246
  ?>
247
  <div id="ure_confirmation_dialog" class="ure-modal-dialog">
248
  <div id="ure_cd_html" style="padding:10px;"></div>
242
  // end of advertisement()
243
 
244
 
245
+ public static function output_confirmation_dialog() {
246
  ?>
247
  <div id="ure_confirmation_dialog" class="ure-modal-dialog">
248
  <div id="ure_cd_html" style="padding:10px;"></div>
includes/loader.php CHANGED
@@ -26,6 +26,7 @@ require_once(URE_PLUGIN_DIR .'includes/classes/woocommerce-capabilities.php');
26
  require_once(URE_PLUGIN_DIR .'includes/classes/capabilities-groups-manager.php');
27
  require_once(URE_PLUGIN_DIR .'includes/classes/view.php');
28
  require_once(URE_PLUGIN_DIR .'includes/classes/role-view.php');
 
29
  require_once(URE_PLUGIN_DIR .'includes/classes/user-view.php');
30
  require_once(URE_PLUGIN_DIR .'includes/classes/user-role-editor.php');
31
 
26
  require_once(URE_PLUGIN_DIR .'includes/classes/capabilities-groups-manager.php');
27
  require_once(URE_PLUGIN_DIR .'includes/classes/view.php');
28
  require_once(URE_PLUGIN_DIR .'includes/classes/role-view.php');
29
+ require_once(URE_PLUGIN_DIR .'includes/classes/tools.php');
30
  require_once(URE_PLUGIN_DIR .'includes/classes/user-view.php');
31
  require_once(URE_PLUGIN_DIR .'includes/classes/user-role-editor.php');
32
 
includes/settings-template.php CHANGED
@@ -8,7 +8,7 @@
8
  *
9
  */
10
 
11
-
12
  ?>
13
  <div class="wrap">
14
  <a href="http://role-editor.com">
@@ -20,24 +20,34 @@
20
  <ul>
21
  <li><a href="#ure_tabs-1"><?php esc_html_e('General', 'user-role-editor');?></a></li>
22
  <?php
 
23
  if (!$license_key_only) {
24
  if ($this->lib->is_pro() || !$multisite) {
25
  ?>
26
  <li><a href="#ure_tabs-2"><?php esc_html_e('Additional Modules', 'user-role-editor'); ?></a></li>
27
  <?php
 
28
  }
29
  ?>
30
  <li><a href="#ure_tabs-3"><?php esc_html_e('Default Roles', 'user-role-editor'); ?></a></li>
31
  <?php
 
32
  if ($multisite && ($this->lib->is_pro() || $this->lib->is_super_admin())) {
33
  ?>
34
  <li><a href="#ure_tabs-4"><?php esc_html_e('Multisite', 'user-role-editor'); ?></a></li>
35
  <?php
 
36
  }
37
  }
38
  ?>
39
- <li><a href="#ure_tabs-5"><?php esc_html_e('About', 'user-role-editor');?></a></li>
 
 
 
 
 
40
  </ul>
 
41
  <div id="ure_tabs-1">
42
  <div id="ure-settings-form">
43
  <form method="post" action="<?php echo $link; ?>?page=settings-<?php echo URE_PLUGIN_FILE; ?>" >
@@ -161,7 +171,7 @@ if (!$multisite) {
161
  ?>
162
  <hr>
163
  <?php wp_nonce_field('user-role-editor'); ?>
164
- <input type="hidden" name="ure_tab_idx" value="2" />
165
  <p class="submit">
166
  <input type="submit" class="button-primary" name="ure_default_roles_update" value="<?php _e('Save', 'user-role-editor') ?>" />
167
  </p>
@@ -193,9 +203,9 @@ if (!$multisite) {
193
  ?>
194
  </table>
195
  <?php wp_nonce_field('user-role-editor'); ?>
196
- <input type="hidden" name="ure_tab_idx" value="3" />
197
  <p class="submit">
198
- <input type="submit" class="button-primary" name="ure_settings_ms_update" value="<?php _e('Save', 'user-role-editor') ?>" />
199
  </p>
200
  </form>
201
  </div> <!-- ure-settings-form-ms -->
@@ -204,11 +214,22 @@ if (!$multisite) {
204
  }
205
  } // if (!$license_key_only) {
206
  ?>
207
- <div id="ure_tabs-5">
208
- <?php $this->lib->about(); ?>
209
- </div> <!-- ure_tabs-5 -->
 
 
 
 
 
 
 
210
  </div> <!-- ure_tabs -->
211
  </div>
 
 
 
 
212
  <script>
213
  jQuery(function() {
214
  jQuery('#ure_tabs').tabs();
@@ -218,6 +239,7 @@ if (!$multisite) {
218
  jQuery("#ure_tabs").tabs("option", "active", <?php echo $ure_tab_idx; ?>);
219
  <?php
220
  }
221
- ?>
 
222
  });
223
  </script>
8
  *
9
  */
10
 
11
+ $tabs_index = array();
12
  ?>
13
  <div class="wrap">
14
  <a href="http://role-editor.com">
20
  <ul>
21
  <li><a href="#ure_tabs-1"><?php esc_html_e('General', 'user-role-editor');?></a></li>
22
  <?php
23
+ $tabs_index['1'] = 0;
24
  if (!$license_key_only) {
25
  if ($this->lib->is_pro() || !$multisite) {
26
  ?>
27
  <li><a href="#ure_tabs-2"><?php esc_html_e('Additional Modules', 'user-role-editor'); ?></a></li>
28
  <?php
29
+ $tabs_index['2'] = 1;
30
  }
31
  ?>
32
  <li><a href="#ure_tabs-3"><?php esc_html_e('Default Roles', 'user-role-editor'); ?></a></li>
33
  <?php
34
+ $tabs_index['3'] = count($tabs_index);
35
  if ($multisite && ($this->lib->is_pro() || $this->lib->is_super_admin())) {
36
  ?>
37
  <li><a href="#ure_tabs-4"><?php esc_html_e('Multisite', 'user-role-editor'); ?></a></li>
38
  <?php
39
+ $tabs_index['4'] = count($tabs_index);
40
  }
41
  }
42
  ?>
43
+ <li><a href="#ure_tabs-5"><?php esc_html_e('Tools', 'user-role-editor');?></a></li>
44
+ <?php
45
+ $tabs_index['5'] = count($tabs_index);
46
+ ?>
47
+ <li><a href="#ure_tabs-6"><?php esc_html_e('About', 'user-role-editor');?></a></li>
48
+
49
  </ul>
50
+
51
  <div id="ure_tabs-1">
52
  <div id="ure-settings-form">
53
  <form method="post" action="<?php echo $link; ?>?page=settings-<?php echo URE_PLUGIN_FILE; ?>" >
171
  ?>
172
  <hr>
173
  <?php wp_nonce_field('user-role-editor'); ?>
174
+ <input type="hidden" name="ure_tab_idx" value="<?php echo $tabs_index[3];?>" />
175
  <p class="submit">
176
  <input type="submit" class="button-primary" name="ure_default_roles_update" value="<?php _e('Save', 'user-role-editor') ?>" />
177
  </p>
203
  ?>
204
  </table>
205
  <?php wp_nonce_field('user-role-editor'); ?>
206
+ <input type="hidden" name="ure_tab_idx" value="<?php echo $tabs_index[4];?>" />
207
  <p class="submit">
208
+ <input type="submit" class="button-primary" name="ure_settings_ms_update" value="<?php esc_html_e('Save', 'user-role-editor'); ?>" />
209
  </p>
210
  </form>
211
  </div> <!-- ure-settings-form-ms -->
214
  }
215
  } // if (!$license_key_only) {
216
  ?>
217
+ <div id="ure_tabs-5">
218
+ <?php
219
+ $tools = new URE_Tools();
220
+ $tools->show($tabs_index[5]);
221
+ ?>
222
+ </div> <!-- ure_tabs-5 -->
223
+
224
+ <div id="ure_tabs-6">
225
+ <?php $this->lib->about(); ?>
226
+ </div> <!-- ure_tabs-6 -->
227
  </div> <!-- ure_tabs -->
228
  </div>
229
+
230
+ <?php
231
+ URE_View::output_confirmation_dialog();
232
+ ?>
233
  <script>
234
  jQuery(function() {
235
  jQuery('#ure_tabs').tabs();
239
  jQuery("#ure_tabs").tabs("option", "active", <?php echo $ure_tab_idx; ?>);
240
  <?php
241
  }
242
+ ?>
243
+
244
  });
245
  </script>
js/settings.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * User Role Editor WordPress plugin JavaScript for Settings page
3
+ */
4
+
5
+ function ure_ui_button_text(caption) {
6
+ var wrapper = '<span class="ui-button-text">' + caption + '</span>';
7
+
8
+ return wrapper;
9
+ }
10
+
11
+ function ure_roles_reset_form_submit() {
12
+ jQuery('#ure_reset_roles_form').submit();
13
+ }
14
+
15
+ jQuery(document).ready(function() {
16
+
17
+ jQuery('#ure_reset_roles_button').button({
18
+ label: ure_data.reset
19
+ }).click(function (event) {
20
+ event.preventDefault();
21
+ /*
22
+ if (!confirm(ure_data.reset_warning)) {
23
+ return false;
24
+ }
25
+ jQuery('#ure_reset_roles_form').submit();
26
+ */
27
+ ure_confirm(ure_data.reset_warning, ure_roles_reset_form_submit);
28
+ });
29
+
30
+ function ure_confirm(message, routine) {
31
+
32
+ jQuery('#ure_confirmation_dialog').dialog({
33
+ dialogClass: 'wp-dialog',
34
+ modal: true,
35
+ autoOpen: true,
36
+ closeOnEscape: true,
37
+ width: 600,
38
+ height: 300,
39
+ resizable: false,
40
+ title: ure_data.confirm_title,
41
+ 'buttons': {
42
+ 'No': function () {
43
+ jQuery(this).dialog('close');
44
+ return false;
45
+ },
46
+ 'Yes': function () {
47
+ jQuery(this).dialog('close');
48
+ routine();
49
+ return true;
50
+ }
51
+ }
52
+ });
53
+ jQuery('#ure_cd_html').html(message);
54
+ jQuery('.ui-dialog-buttonpane button:contains("No")').attr('id', 'dialog-no-button');
55
+ jQuery('#dialog-no-button').html(ure_ui_button_text(ure_data.no_label));
56
+ jQuery('.ui-dialog-buttonpane button:contains("Yes")').attr('id', 'dialog-yes-button');
57
+ jQuery('#dialog-yes-button').html(ure_ui_button_text(ure_data.yes_label));
58
+
59
+ }
60
+ // end of ure_confirm()
61
+
62
+
63
+ });
js/ure-user-profile-other-roles.js CHANGED
@@ -7,6 +7,11 @@ jQuery(document).ready(function(){
7
  if (jQuery('#ure_select_other_roles').length==0) {
8
  return;
9
  }
 
 
 
 
 
10
  jQuery('#ure_select_other_roles').multipleSelect({
11
  filter: true,
12
  multiple: true,
7
  if (jQuery('#ure_select_other_roles').length==0) {
8
  return;
9
  }
10
+
11
+ if (ure_data_user_profile_other_roles.select_primary_role!=1) {
12
+ jQuery('.user-role-wrap').hide();
13
+ }
14
+
15
  jQuery('#ure_select_other_roles').multipleSelect({
16
  filter: true,
17
  multiple: true,
js/ure-users.js CHANGED
@@ -67,7 +67,7 @@ function ure_move_users_from_no_role() {
67
  if (typeof data.result !== 'undefined') {
68
  if (data.result === 'success') {
69
  ure_post_move_users_command(data);
70
- } else if (data.result === 'failure') {
71
  alert(data.message);
72
  } else {
73
  alert('Wrong response: ' + response)
67
  if (typeof data.result !== 'undefined') {
68
  if (data.result === 'success') {
69
  ure_post_move_users_command(data);
70
+ } else if (data.result==='error' || data.result==='failure') {
71
  alert(data.message);
72
  } else {
73
  alert('Wrong response: ' + response)
js/users-grant-roles.js CHANGED
@@ -3,6 +3,15 @@
3
  * User Role Editor: support of 'Grant Roles' button for Users page (wp-admin/users.php)
4
  */
5
 
 
 
 
 
 
 
 
 
 
6
 
7
  function ure_get_selected_checkboxes(item_name) {
8
  var items = jQuery('input[type="checkbox"][name="'+ item_name +'\\[\\]"]:checked').map(function() { return this.value; }).get();
@@ -28,9 +37,7 @@ function ure_show_grant_roles_dialog() {
28
  title: ure_users_grant_roles_data.dialog_title,
29
  'buttons': {
30
  'OK': function () {
31
- if (!ure_grant_roles()) {
32
- return false;
33
- }
34
  jQuery(this).dialog('close');
35
  return true;
36
  },
@@ -44,19 +51,16 @@ function ure_show_grant_roles_dialog() {
44
 
45
 
46
  function ure_grant_roles() {
47
-
48
- var roles = ure_get_selected_checkboxes('ure_roles');
49
- if (roles.length==0) {
50
- alert(ure_users_grant_roles_data.select_roles_first);
51
- return false;
52
- }
53
  jQuery('#ure_task_status').show();
54
  var users = ure_get_selected_checkboxes('users');
55
  var data = {
56
  'action': 'ure_ajax',
57
  'sub_action':'grant_roles',
58
  'users': users,
59
- 'roles': roles,
 
60
  'wp_nonce': ure_users_grant_roles_data.wp_nonce};
61
  jQuery.post(ajaxurl, data, ure_page_reload, 'json');
62
 
@@ -89,7 +93,7 @@ function ure_set_url_arg(arg_name, arg_value) {
89
 
90
  function ure_page_reload(response) {
91
 
92
- if (response.result=='error') {
93
  jQuery('#ure_task_status').hide();
94
  alert(response.message);
95
  return;
3
  * User Role Editor: support of 'Grant Roles' button for Users page (wp-admin/users.php)
4
  */
5
 
6
+ jQuery(document).ready(function() {
7
+ if (ure_users_grant_roles_data.show_wp_change_role!=1) {
8
+ jQuery('#new_role').hide();
9
+ jQuery('#new_role2').hide();
10
+ jQuery('#changeit').hide();
11
+ jQuery('[id=changeit]:eq(1)').hide(); // for 2nd 'Change' button with the same ID.
12
+ }
13
+ });
14
+
15
 
16
  function ure_get_selected_checkboxes(item_name) {
17
  var items = jQuery('input[type="checkbox"][name="'+ item_name +'\\[\\]"]:checked').map(function() { return this.value; }).get();
37
  title: ure_users_grant_roles_data.dialog_title,
38
  'buttons': {
39
  'OK': function () {
40
+ ure_grant_roles();
 
 
41
  jQuery(this).dialog('close');
42
  return true;
43
  },
51
 
52
 
53
  function ure_grant_roles() {
54
+ var primary_role = jQuery('#primary_role').val();
55
+ var other_roles = ure_get_selected_checkboxes('ure_roles');
 
 
 
 
56
  jQuery('#ure_task_status').show();
57
  var users = ure_get_selected_checkboxes('users');
58
  var data = {
59
  'action': 'ure_ajax',
60
  'sub_action':'grant_roles',
61
  'users': users,
62
+ 'primary_role': primary_role,
63
+ 'other_roles': other_roles,
64
  'wp_nonce': ure_users_grant_roles_data.wp_nonce};
65
  jQuery.post(ajaxurl, data, ure_page_reload, 'json');
66
 
93
 
94
  function ure_page_reload(response) {
95
 
96
+ if (response!==null && response.result=='error') {
97
  jQuery('#ure_task_status').hide();
98
  alert(response.message);
99
  return;
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: shinephp
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=vladimir%40shinephp%2ecom&lc=RU&item_name=ShinePHP%2ecom&item_number=User%20Role%20Editor%20WordPress%20plugin&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
4
  Tags: user, role, editor, security, access, permission, capability
5
  Requires at least: 4.0
6
- Tested up to: 4.7.3
7
- Stable tag: 4.32.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -78,6 +78,16 @@ https://translate.wordpress.org/projects/wp-plugins/user-role-editor/
78
 
79
 
80
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
81
  = [4.32.3] 03.04.2017 =
82
  * Fix: Boolean false was sent to WordPress core wp_enqueue_script() function as the 2nd parameter instead of an empty string. We should respect the type of parameter which code author supposed to use initially.
83
  * Fix: Bulk grant to users multiple roles JavaScript code is loaded now for users.php page only, not globally.
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=vladimir%40shinephp%2ecom&lc=RU&item_name=ShinePHP%2ecom&item_number=User%20Role%20Editor%20WordPress%20plugin&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
4
  Tags: user, role, editor, security, access, permission, capability
5
  Requires at least: 4.0
6
+ Tested up to: 4.7.5
7
+ Stable tag: 4.33
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
78
 
79
 
80
  == Changelog ==
81
+ = [4.33] 19.05.2017 =
82
+ * Fix: "Users->Without Roles", "Users->Grant Roles" are shown only to the users with 'edit_users' capability.
83
+ * Fix: Roles were updated for all sites of all networks for WordPress multisite. "Apply to All Sites" option updates roles inside a current network only.
84
+ * Update: "Reset" button moved from the "Users->User Role Editor" main page to the "Settings->User Role Editor->Tools" tab.
85
+ * Update: "Users->Grant Roles" button worked only for superadmin or user with 'ure_manage_options' capability. User with 'edit_users' can use this feature now.
86
+ * New: boolean filter 'ure_bulk_grant_roles' allows to not show "Users->Grant Roles" button if you don't need it.
87
+ * New: boolean filter 'ure_users_select_primary_role' can hide 'Primary role' selection controls from the user profile edit page.
88
+ * New: boolean filter 'ure_users_show_wp_change_role' can hide "Change Role" bulk action selection control from the Users page. So it's possible to configure permissions for user who can change just other roles of a user without changing his primary role.
89
+ * Update: Settings tabs and dialog stylesheets was updated to jQuery UI 1.11.4 default theme.
90
+
91
  = [4.32.3] 03.04.2017 =
92
  * Fix: Boolean false was sent to WordPress core wp_enqueue_script() function as the 2nd parameter instead of an empty string. We should respect the type of parameter which code author supposed to use initially.
93
  * Fix: Bulk grant to users multiple roles JavaScript code is loaded now for users.php page only, not globally.
screenshot-1.png CHANGED
Binary file
screenshot-2.png CHANGED
Binary file
screenshot-6.png CHANGED
Binary file
user-role-editor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: User Role Editor
4
  Plugin URI: https://www.role-editor.com
5
  Description: Change/add/delete WordPress user roles and capabilities.
6
- Version: 4.32.3
7
  Author: Vladimir Garagulya
8
  Author URI: https://www.role-editor.com
9
  Text Domain: ure
@@ -23,7 +23,7 @@ if (defined('URE_PLUGIN_URL')) {
23
  wp_die('It seems that other version of User Role Editor is active. Please deactivate it before use this version');
24
  }
25
 
26
- define('URE_VERSION', '4.32.3');
27
  define('URE_PLUGIN_URL', plugin_dir_url(__FILE__));
28
  define('URE_PLUGIN_DIR', plugin_dir_path(__FILE__));
29
  define('URE_PLUGIN_BASE_NAME', plugin_basename(__FILE__));
3
  Plugin Name: User Role Editor
4
  Plugin URI: https://www.role-editor.com
5
  Description: Change/add/delete WordPress user roles and capabilities.
6
+ Version: 4.33
7
  Author: Vladimir Garagulya
8
  Author URI: https://www.role-editor.com
9
  Text Domain: ure
23
  wp_die('It seems that other version of User Role Editor is active. Please deactivate it before use this version');
24
  }
25
 
26
+ define('URE_VERSION', '4.33');
27
  define('URE_PLUGIN_URL', plugin_dir_url(__FILE__));
28
  define('URE_PLUGIN_DIR', plugin_dir_path(__FILE__));
29
  define('URE_PLUGIN_BASE_NAME', plugin_basename(__FILE__));