Ultimate FAQ - Version 2.0.24

Version Description

(2021-10-07) = - Adds in error handling for when the display_faq isn't defined - Adds in additional checks to prevent a console errors when the plugin JS files are loaded without the default localization data being defined.

Download this release

Release Info

Developer Rustaurius
Plugin Icon 128x128 Ultimate FAQ
Version 2.0.24
Comparing to
See all releases

Code changes from version 2.0.23 to 2.0.24

Files changed (101) hide show
  1. assets/css/dashboard-review-ask.css +60 -60
  2. assets/css/ewd-ufaq-blocks.css +9 -9
  3. assets/css/ewd-ufaq-wc-admin.css +53 -53
  4. assets/css/ewd-ufaq-welcome-screen.css +189 -189
  5. assets/css/ewd-ufaq-wpforms.css +614 -614
  6. assets/css/ewd-ufaq.css +617 -617
  7. assets/css/jquery-ui.min.css +6 -6
  8. assets/css/plugin-deactivation.css +67 -67
  9. assets/js/dashboard-review-ask.js +61 -61
  10. assets/js/ewd-ufaq-blocks.js +161 -161
  11. assets/js/ewd-ufaq-wc-admin.js +57 -57
  12. assets/js/ewd-ufaq-welcome-screen.js +91 -91
  13. assets/js/ewd-ufaq.js +444 -442
  14. assets/js/plugin-deactivation.js +52 -52
  15. ewd-ufaq-templates/faq-answer.php +2 -2
  16. ewd-ufaq-templates/faq-author-date.php +8 -8
  17. ewd-ufaq-templates/faq-author.php +4 -4
  18. ewd-ufaq-templates/faq-back-to-top.php +6 -6
  19. ewd-ufaq-templates/faq-categories.php +10 -10
  20. ewd-ufaq-templates/faq-custom-fields.php +20 -20
  21. ewd-ufaq-templates/faq-date.php +4 -4
  22. ewd-ufaq-templates/faq-permalink.php +9 -9
  23. ewd-ufaq-templates/faq-preview.php +2 -2
  24. ewd-ufaq-templates/faq-ratings.php +17 -17
  25. ewd-ufaq-templates/faq-social-media-email.php +16 -16
  26. ewd-ufaq-templates/faq-social-media-facebook.php +16 -16
  27. ewd-ufaq-templates/faq-social-media-linkedin.php +16 -16
  28. ewd-ufaq-templates/faq-social-media-pinterest.php +16 -16
  29. ewd-ufaq-templates/faq-social-media-twitter.php +16 -16
  30. ewd-ufaq-templates/faq-social-media.php +10 -10
  31. ewd-ufaq-templates/faq-tags.php +10 -10
  32. ewd-ufaq-templates/faq-title.php +20 -20
  33. ewd-ufaq-templates/faq.php +16 -16
  34. ewd-ufaq-templates/faqs-category-footer.php +3 -3
  35. ewd-ufaq-templates/faqs-category-header.php +12 -12
  36. ewd-ufaq-templates/faqs-category-list-header.php +36 -36
  37. ewd-ufaq-templates/faqs-expand-collapse-all.php +12 -12
  38. ewd-ufaq-templates/faqs-list-header.php +19 -19
  39. ewd-ufaq-templates/faqs-pagination.php +20 -20
  40. ewd-ufaq-templates/faqs-search-submit.php +2 -2
  41. ewd-ufaq-templates/faqs-search.php +12 -12
  42. ewd-ufaq-templates/faqs-shortcode-args.php +5 -5
  43. ewd-ufaq-templates/faqs.php +16 -16
  44. ewd-ufaq-templates/submit-faq-captcha.php +10 -10
  45. ewd-ufaq-templates/submit-faq-custom-field-checkbox.php +20 -20
  46. ewd-ufaq-templates/submit-faq-custom-field-date.php +10 -10
  47. ewd-ufaq-templates/submit-faq-custom-field-datetime.php +10 -10
  48. ewd-ufaq-templates/submit-faq-custom-field-radio.php +20 -20
  49. ewd-ufaq-templates/submit-faq-custom-field-select.php +15 -15
  50. ewd-ufaq-templates/submit-faq-custom-field-text.php +10 -10
  51. ewd-ufaq-templates/submit-faq-custom-field-textarea.php +10 -10
  52. ewd-ufaq-templates/submit-faq-field-author-email.php +18 -18
  53. ewd-ufaq-templates/submit-faq-field-author.php +18 -18
  54. ewd-ufaq-templates/submit-faq-field-faq-answer.php +20 -20
  55. ewd-ufaq-templates/submit-faq-field-faq-question.php +18 -18
  56. ewd-ufaq-templates/submit-faq-submitted-faq-message.php +2 -2
  57. ewd-ufaq-templates/submit-faq.php +30 -30
  58. includes/Ajax.class.php +153 -153
  59. includes/BackwardsCompatibility.class.php +196 -196
  60. includes/Blocks.class.php +126 -126
  61. includes/CustomPostTypes.class.php +579 -579
  62. includes/Dashboard.class.php +328 -328
  63. includes/DeactivationSurvey.class.php +83 -83
  64. includes/Export.class.php +252 -252
  65. includes/FAQ.class.php +373 -373
  66. includes/Import.class.php +315 -315
  67. includes/InstallationWalkthrough.class.php +383 -383
  68. includes/Notifications.class.php +72 -72
  69. includes/OrderingTable.class.php +103 -103
  70. includes/Permissions.class.php +60 -60
  71. includes/Query.class.php +312 -312
  72. includes/ReviewAsk.class.php +100 -100
  73. includes/Settings.class.php +1976 -1976
  74. includes/UltimateWPMail.class.php +75 -75
  75. includes/WPForms.class.php +157 -157
  76. includes/Widgets.class.php +381 -381
  77. includes/WooCommerce.class.php +306 -306
  78. includes/template-functions.php +401 -401
  79. languages/ultimate-faqs-de_DE.po +2057 -2057
  80. languages/ultimate-faqs-it_IT.po +620 -620
  81. languages/ultimate-faqs.pot +1706 -1706
  82. lib/FPDF/FAQ.htm +272 -272
  83. lib/FPDF/changelog.htm +167 -167
  84. lib/FPDF/doc/__construct.htm +63 -63
  85. lib/FPDF/doc/acceptpagebreak.htm +63 -63
  86. lib/FPDF/doc/addfont.htm +55 -55
  87. lib/FPDF/doc/addlink.htm +26 -26
  88. lib/FPDF/doc/addpage.htm +61 -61
  89. lib/FPDF/doc/aliasnbpages.htm +45 -45
  90. lib/FPDF/doc/cell.htm +104 -104
  91. lib/FPDF/doc/close.htm +21 -21
  92. lib/FPDF/doc/error.htm +26 -26
  93. lib/FPDF/doc/footer.htm +35 -35
  94. lib/FPDF/doc/getpageheight.htm +18 -18
  95. lib/FPDF/doc/getpagewidth.htm +18 -18
  96. lib/FPDF/doc/getstringwidth.htm +23 -23
  97. lib/FPDF/doc/getx.htm +20 -20
  98. lib/FPDF/doc/gety.htm +20 -20
  99. lib/FPDF/doc/header.htm +37 -37
  100. lib/FPDF/doc/image.htm +99 -99
  101. lib/FPDF/doc/index.htm +15 -59
assets/css/dashboard-review-ask.css CHANGED
@@ -1,61 +1,61 @@
1
- .ewd-ufaq-hidden {
2
- display: none;
3
- }
4
- .ewd-ufaq-clear {
5
- clear: both;
6
- }
7
- .ewd-ufaq-main-dashboard-review-ask {
8
- border-left-color: #6026b4;
9
- }
10
- .ewd-ufaq-review-ask-plugin-icon {
11
- height: 100px;
12
- width: 100px;
13
- float: left;
14
- margin: 12px 24px 16px 10px;
15
- background-image: url( '../img/ewd-ufaq-icon.png' );
16
- background-size: contain;
17
- }
18
- .ewd-ufaq-review-ask-text p {
19
- padding: 10px 20px;
20
- font-weight: 600;
21
- font-size: 20px;
22
- }
23
- .ewd-ufaq-review-ask-action {
24
- width: 90px;
25
- padding: 6px;
26
- margin-right: 18px;
27
- text-align: center;
28
- float: left;
29
- border-radius: 4px;
30
- cursor: pointer;
31
- }
32
- .ewd-ufaq-review-ask-white {
33
- color: #999999;
34
- border: 1px solid #bbbbbb;
35
- }
36
- .ewd-ufaq-review-ask-green {
37
- color: #ffffff;
38
- background: #22C9A3;
39
- border: 1px solid #22C9A3;
40
- font-weight: 600;
41
- }
42
- .ewd-ufaq-review-ask-green a {
43
- color: #ffffff;
44
- text-decoration: none;
45
- }
46
- .ewd-ufaq-review-ask-feedback-form {
47
- position: relative;
48
- float: left;
49
- }.ewd-ufaq-review-ask-feedback-explanation textarea {
50
- height: 70px;
51
- width: 480px;
52
- }
53
- .ewd-ufaq-review-ask-send-feedback {
54
- margin: 10px 0px;
55
- }
56
-
57
-
58
- .ewd-ufaq-review-ask-review-text span {
59
- font-size: .8em;
60
- font-weight: normal;
61
  }
1
+ .ewd-ufaq-hidden {
2
+ display: none;
3
+ }
4
+ .ewd-ufaq-clear {
5
+ clear: both;
6
+ }
7
+ .ewd-ufaq-main-dashboard-review-ask {
8
+ border-left-color: #6026b4;
9
+ }
10
+ .ewd-ufaq-review-ask-plugin-icon {
11
+ height: 100px;
12
+ width: 100px;
13
+ float: left;
14
+ margin: 12px 24px 16px 10px;
15
+ background-image: url( '../img/ewd-ufaq-icon.png' );
16
+ background-size: contain;
17
+ }
18
+ .ewd-ufaq-review-ask-text p {
19
+ padding: 10px 20px;
20
+ font-weight: 600;
21
+ font-size: 20px;
22
+ }
23
+ .ewd-ufaq-review-ask-action {
24
+ width: 90px;
25
+ padding: 6px;
26
+ margin-right: 18px;
27
+ text-align: center;
28
+ float: left;
29
+ border-radius: 4px;
30
+ cursor: pointer;
31
+ }
32
+ .ewd-ufaq-review-ask-white {
33
+ color: #999999;
34
+ border: 1px solid #bbbbbb;
35
+ }
36
+ .ewd-ufaq-review-ask-green {
37
+ color: #ffffff;
38
+ background: #22C9A3;
39
+ border: 1px solid #22C9A3;
40
+ font-weight: 600;
41
+ }
42
+ .ewd-ufaq-review-ask-green a {
43
+ color: #ffffff;
44
+ text-decoration: none;
45
+ }
46
+ .ewd-ufaq-review-ask-feedback-form {
47
+ position: relative;
48
+ float: left;
49
+ }.ewd-ufaq-review-ask-feedback-explanation textarea {
50
+ height: 70px;
51
+ width: 480px;
52
+ }
53
+ .ewd-ufaq-review-ask-send-feedback {
54
+ margin: 10px 0px;
55
+ }
56
+
57
+
58
+ .ewd-ufaq-review-ask-review-text span {
59
+ font-size: .8em;
60
+ font-weight: normal;
61
  }
assets/css/ewd-ufaq-blocks.css CHANGED
@@ -1,9 +1,9 @@
1
- /*********************************
2
- BLOCKS
3
- *********************************/
4
- .ewd-ufaq-admin-block {
5
- text-align: center;
6
- font-family: Helvetica, Arial, sans-serif;
7
- font-size: 22px;
8
- font-weight: bold;
9
- }
1
+ /*********************************
2
+ BLOCKS
3
+ *********************************/
4
+ .ewd-ufaq-admin-block {
5
+ text-align: center;
6
+ font-family: Helvetica, Arial, sans-serif;
7
+ font-size: 22px;
8
+ font-weight: bold;
9
+ }
assets/css/ewd-ufaq-wc-admin.css CHANGED
@@ -1,53 +1,53 @@
1
- .ewd-ufaq-explanation {
2
- margin: 24px 2%;
3
- font-size: 1.1em;
4
- }
5
- .ewd-ufaq-category-filter {
6
- margin-bottom: 10px !important;
7
- }
8
- #ewd_ufaq_faqs.woocommerce_options_panel th {
9
- padding: 15px 10px;
10
- }
11
- #ewd_ufaq_faqs.woocommerce_options_panel th:first-of-type {
12
- width: 10%;
13
- }
14
- #ewd_ufaq_faqs.woocommerce_options_panel tr {
15
- border-bottom: 1px solid #eee;
16
- }
17
- #ewd-ufaq-add-delete-faq-form-container {
18
- position: relative;
19
- float: left;
20
- width: 100%;
21
- clear: both;
22
- }
23
- #ewd-ufaq-add-faq-form-div, #ewd-ufaq-delete-faq-form-div {
24
- position: relative;
25
- float: left;
26
- width: 45%;
27
- padding: 0 2%;
28
- }
29
- #ewd-ufaq-delete-faq-form-div {
30
- margin-top: 31px;
31
- border-left: 1px solid #eee;
32
- }
33
- @media screen and (max-width: 1200px) {
34
- #ewd-ufaq-add-faq-form-div, #ewd-ufaq-delete-faq-form-div {
35
- width: 96%;
36
- }
37
- #ewd-ufaq-delete-faq-form-div {
38
- border-left: none;
39
- }
40
- }
41
- .ewd-ufaq-delete-faq-button, .ewd-ufaq-add-faq-button {
42
- clear: both;
43
- position: relative;
44
- margin: 12px 0 12px 10px;
45
- padding: 5px 8px;
46
- border: none;
47
- background: #bbb;
48
- color: #fff;
49
- cursor: pointer;
50
- }
51
- .ewd-ufaq-delete-faq-button:hover, .ewd-ufaq-add-faq-button:hover {
52
- background: #ccc;
53
- }
1
+ .ewd-ufaq-explanation {
2
+ margin: 24px 2%;
3
+ font-size: 1.1em;
4
+ }
5
+ .ewd-ufaq-category-filter {
6
+ margin-bottom: 10px !important;
7
+ }
8
+ #ewd_ufaq_faqs.woocommerce_options_panel th {
9
+ padding: 15px 10px;
10
+ }
11
+ #ewd_ufaq_faqs.woocommerce_options_panel th:first-of-type {
12
+ width: 10%;
13
+ }
14
+ #ewd_ufaq_faqs.woocommerce_options_panel tr {
15
+ border-bottom: 1px solid #eee;
16
+ }
17
+ #ewd-ufaq-add-delete-faq-form-container {
18
+ position: relative;
19
+ float: left;
20
+ width: 100%;
21
+ clear: both;
22
+ }
23
+ #ewd-ufaq-add-faq-form-div, #ewd-ufaq-delete-faq-form-div {
24
+ position: relative;
25
+ float: left;
26
+ width: 45%;
27
+ padding: 0 2%;
28
+ }
29
+ #ewd-ufaq-delete-faq-form-div {
30
+ margin-top: 31px;
31
+ border-left: 1px solid #eee;
32
+ }
33
+ @media screen and (max-width: 1200px) {
34
+ #ewd-ufaq-add-faq-form-div, #ewd-ufaq-delete-faq-form-div {
35
+ width: 96%;
36
+ }
37
+ #ewd-ufaq-delete-faq-form-div {
38
+ border-left: none;
39
+ }
40
+ }
41
+ .ewd-ufaq-delete-faq-button, .ewd-ufaq-add-faq-button {
42
+ clear: both;
43
+ position: relative;
44
+ margin: 12px 0 12px 10px;
45
+ padding: 5px 8px;
46
+ border: none;
47
+ background: #bbb;
48
+ color: #fff;
49
+ cursor: pointer;
50
+ }
51
+ .ewd-ufaq-delete-faq-button:hover, .ewd-ufaq-add-faq-button:hover {
52
+ background: #ccc;
53
+ }
assets/css/ewd-ufaq-welcome-screen.css CHANGED
@@ -1,189 +1,189 @@
1
- .ewd-ufaq-welcome-clear {
2
- clear: both;
3
- }
4
-
5
- .ewd-ufaq-welcome-screen-header h1 {
6
- padding: 48px 0 16px 0;
7
- margin: 0;
8
- }
9
- .ewd-ufaq-welcome-screen-header p {
10
- margin-bottom: 32px;
11
- font-size: 15px;
12
- }
13
- .ewd-ufaq-welcome-screen h2 {
14
- background: #6700B2;
15
- color: #fff;
16
- padding: 18px;
17
- margin: 0;
18
- z-index: 2;
19
- position: relative;
20
- float: left;
21
- width: calc(100% - 36px);
22
- border-top: 1px solid #854DD6;
23
- }
24
- .ewd-ufaq-welcome-screen h2:hover {
25
- background: #682CBF;
26
- }
27
-
28
- .ewd-ufaq-welcome-screen-box .ewd-ufaq-welcome-screen-box-content {
29
- display: none;
30
- }
31
-
32
- .ewd-ufaq-welcome-screen-box.ewd-ufaq-welcome-screen-open .ewd-ufaq-welcome-screen-box-content {
33
- display: block;
34
- }
35
-
36
- .ewd-ufaq-welcome-screen-box {
37
- padding: 0px;
38
- max-width: 800px;
39
- margin: 0 auto;
40
- }
41
-
42
- .ewd-ufaq-welcome-screen-header,
43
- .ewd-ufaq-welcome-screen-skip-container {
44
- max-width: 800px;
45
- margin: 0 auto;
46
- }
47
-
48
- .ewd-ufaq-welcome-screen-header {
49
- text-align: center;
50
- }
51
-
52
- .ewd-ufaq-welcome-screen-box h2 {
53
- cursor: pointer;
54
- }
55
-
56
- .ewd-ufaq-welcome-screen-box-content {
57
- position: relative;
58
- float: left;
59
- background: #fff;
60
- width: 90%;
61
- margin: 0 auto 16px;
62
- box-shadow: 0 1px 12px #ddd;
63
- display: block;
64
- padding: 18px 5%;
65
- }
66
-
67
- .ewd-ufaq-welcome-screen-add-category-button,
68
- .ewd-ufaq-welcome-screen-add-faq-button,
69
- .ewd-ufaq-welcome-screen-add-faq-page-button,
70
- .ewd-ufaq-welcome-screen-save-options-button {
71
- position: relative;
72
- float: left;
73
- cursor: pointer;
74
- padding: 4px 8px;
75
- border: 2px solid #0acbaa;
76
- color: #fff;
77
- border-radius: 2px;
78
- background: #0acbaa;
79
- width: auto;
80
- text-align: center;
81
- margin-top: 12px;
82
- }
83
- .ewd-ufaq-welcome-screen-add-category-button:hover,
84
- .ewd-ufaq-welcome-screen-add-faq-button:hover,
85
- .ewd-ufaq-welcome-screen-add-faq-page-button:hover,
86
- .ewd-ufaq-welcome-screen-save-options-button:hover {
87
- border-color: #17d6b3;
88
- background: #17d6b3;
89
- }
90
-
91
- .ewd-ufaq-welcome-screen-next-button,
92
- .ewd-ufaq-welcome-screen-previous-button,
93
- .ewd-ufaq-welcome-screen-finish-button a {
94
- position: relative;
95
- float: right;
96
- cursor: pointer;
97
- padding: 4px 8px;
98
- border: 2px solid #6700B2;
99
- color: #6700B2;
100
- border-radius: 2px;
101
- background: transparent;
102
- width: auto;
103
- text-align: center;
104
- margin-top: 32px;
105
- text-decoration: none;
106
- }
107
- .ewd-ufaq-welcome-screen-next-button:hover,
108
- .ewd-ufaq-welcome-screen-previous-button:hover,
109
- .ewd-ufaq-welcome-screen-finish-button a:hover {
110
- color: #fff;
111
- background: #6700B2;
112
- text-decoration: none;
113
- }
114
- .ewd-ufaq-welcome-screen-next-button-not-top-margin {
115
- margin-top: 12px;
116
- }
117
- .ewd-ufaq-welcome-screen-previous-button {
118
- float: left;
119
- }
120
-
121
- .ewd-ufaq-welcome-screen-skip-button {
122
- position: relative;
123
- float: right;
124
- cursor: pointer;
125
- padding: 4px 8px;
126
- border: 2px solid #ccc;
127
- color: #999;
128
- border-radius: 2px;
129
- background: transparent;
130
- width: auto;
131
- text-align: center;
132
- margin-top: 12px;
133
- }
134
- .ewd-ufaq-welcome-screen-skip-button:hover {
135
- border-color: #aaa;
136
- color: #fff;
137
- background: #aaa;
138
- }
139
-
140
- .ewd-ufaq-welcome-screen-box-content input {
141
- margin: 0;
142
- }
143
- .ewd-ufaq-welcome-screen-box-content-divs {
144
- margin-bottom: 8px;
145
- }
146
-
147
- .ewd-ufaq-welcome-screen-show-created-categories {
148
- display: none;
149
- }
150
- .ewd-ufaq-welcome-screen-show-created-faqs {
151
- display: none;
152
- }
153
-
154
- .ewd-ufaq-welcome-screen-add-catalogue-categories h3 {
155
- padding-bottom: 0;
156
- margin-bottom: 0;
157
- }
158
-
159
- .ewd-ufaq-save-message {
160
- clear: both;
161
- position: relative;
162
- float: left;
163
- width: 100%;
164
- margin: 16px 0;
165
- }
166
- .ewd-ufaq-save-message-inside {
167
- position: relative;
168
- float: left;
169
- padding: 8px 12px;
170
- background: #eee;
171
- }
172
-
173
- /*CREATED TABLES*/
174
- .ewd-ufaq-welcome-screen-show-created-categories,
175
- .ewd-ufaq-welcome-screen-show-created-faqs {
176
- width: 100%;
177
- border-collapse: collapse;
178
- }
179
- .ewd-ufaq-welcome-screen-show-created-categories th,
180
- .ewd-ufaq-welcome-screen-show-created-categories td,
181
- .ewd-ufaq-welcome-screen-show-created-faqs th,
182
- .ewd-ufaq-welcome-screen-show-created-faqs td {
183
- border: 1px solid #ccc;
184
- padding: 12px;
185
- }
186
- .ewd-ufaq-welcome-screen-show-created-categories img,
187
- .ewd-ufaq-welcome-screen-show-created-faqs img {
188
- max-width: 100%;
189
- }
1
+ .ewd-ufaq-welcome-clear {
2
+ clear: both;
3
+ }
4
+
5
+ .ewd-ufaq-welcome-screen-header h1 {
6
+ padding: 48px 0 16px 0;
7
+ margin: 0;
8
+ }
9
+ .ewd-ufaq-welcome-screen-header p {
10
+ margin-bottom: 32px;
11
+ font-size: 15px;
12
+ }
13
+ .ewd-ufaq-welcome-screen h2 {
14
+ background: #6700B2;
15
+ color: #fff;
16
+ padding: 18px;
17
+ margin: 0;
18
+ z-index: 2;
19
+ position: relative;
20
+ float: left;
21
+ width: calc(100% - 36px);
22
+ border-top: 1px solid #854DD6;
23
+ }
24
+ .ewd-ufaq-welcome-screen h2:hover {
25
+ background: #682CBF;
26
+ }
27
+
28
+ .ewd-ufaq-welcome-screen-box .ewd-ufaq-welcome-screen-box-content {
29
+ display: none;
30
+ }
31
+
32
+ .ewd-ufaq-welcome-screen-box.ewd-ufaq-welcome-screen-open .ewd-ufaq-welcome-screen-box-content {
33
+ display: block;
34
+ }
35
+
36
+ .ewd-ufaq-welcome-screen-box {
37
+ padding: 0px;
38
+ max-width: 800px;
39
+ margin: 0 auto;
40
+ }
41
+
42
+ .ewd-ufaq-welcome-screen-header,
43
+ .ewd-ufaq-welcome-screen-skip-container {
44
+ max-width: 800px;
45
+ margin: 0 auto;
46
+ }
47
+
48
+ .ewd-ufaq-welcome-screen-header {
49
+ text-align: center;
50
+ }
51
+
52
+ .ewd-ufaq-welcome-screen-box h2 {
53
+ cursor: pointer;
54
+ }
55
+
56
+ .ewd-ufaq-welcome-screen-box-content {
57
+ position: relative;
58
+ float: left;
59
+ background: #fff;
60
+ width: 90%;
61
+ margin: 0 auto 16px;
62
+ box-shadow: 0 1px 12px #ddd;
63
+ display: block;
64
+ padding: 18px 5%;
65
+ }
66
+
67
+ .ewd-ufaq-welcome-screen-add-category-button,
68
+ .ewd-ufaq-welcome-screen-add-faq-button,
69
+ .ewd-ufaq-welcome-screen-add-faq-page-button,
70
+ .ewd-ufaq-welcome-screen-save-options-button {
71
+ position: relative;
72
+ float: left;
73
+ cursor: pointer;
74
+ padding: 4px 8px;
75
+ border: 2px solid #0acbaa;
76
+ color: #fff;
77
+ border-radius: 2px;
78
+ background: #0acbaa;
79
+ width: auto;
80
+ text-align: center;
81
+ margin-top: 12px;
82
+ }
83
+ .ewd-ufaq-welcome-screen-add-category-button:hover,
84
+ .ewd-ufaq-welcome-screen-add-faq-button:hover,
85
+ .ewd-ufaq-welcome-screen-add-faq-page-button:hover,
86
+ .ewd-ufaq-welcome-screen-save-options-button:hover {
87
+ border-color: #17d6b3;
88
+ background: #17d6b3;
89
+ }
90
+
91
+ .ewd-ufaq-welcome-screen-next-button,
92
+ .ewd-ufaq-welcome-screen-previous-button,
93
+ .ewd-ufaq-welcome-screen-finish-button a {
94
+ position: relative;
95
+ float: right;
96
+ cursor: pointer;
97
+ padding: 4px 8px;
98
+ border: 2px solid #6700B2;
99
+ color: #6700B2;
100
+ border-radius: 2px;
101
+ background: transparent;
102
+ width: auto;
103
+ text-align: center;
104
+ margin-top: 32px;
105
+ text-decoration: none;
106
+ }
107
+ .ewd-ufaq-welcome-screen-next-button:hover,
108
+ .ewd-ufaq-welcome-screen-previous-button:hover,
109
+ .ewd-ufaq-welcome-screen-finish-button a:hover {
110
+ color: #fff;
111
+ background: #6700B2;
112
+ text-decoration: none;
113
+ }
114
+ .ewd-ufaq-welcome-screen-next-button-not-top-margin {
115
+ margin-top: 12px;
116
+ }
117
+ .ewd-ufaq-welcome-screen-previous-button {
118
+ float: left;
119
+ }
120
+
121
+ .ewd-ufaq-welcome-screen-skip-button {
122
+ position: relative;
123
+ float: right;
124
+ cursor: pointer;
125
+ padding: 4px 8px;
126
+ border: 2px solid #ccc;
127
+ color: #999;
128
+ border-radius: 2px;
129
+ background: transparent;
130
+ width: auto;
131
+ text-align: center;
132
+ margin-top: 12px;
133
+ }
134
+ .ewd-ufaq-welcome-screen-skip-button:hover {
135
+ border-color: #aaa;
136
+ color: #fff;
137
+ background: #aaa;
138
+ }
139
+
140
+ .ewd-ufaq-welcome-screen-box-content input {
141
+ margin: 0;
142
+ }
143
+ .ewd-ufaq-welcome-screen-box-content-divs {
144
+ margin-bottom: 8px;
145
+ }
146
+
147
+ .ewd-ufaq-welcome-screen-show-created-categories {
148
+ display: none;
149
+ }
150
+ .ewd-ufaq-welcome-screen-show-created-faqs {
151
+ display: none;
152
+ }
153
+
154
+ .ewd-ufaq-welcome-screen-add-catalogue-categories h3 {
155
+ padding-bottom: 0;
156
+ margin-bottom: 0;
157
+ }
158
+
159
+ .ewd-ufaq-save-message {
160
+ clear: both;
161
+ position: relative;
162
+ float: left;
163
+ width: 100%;
164
+ margin: 16px 0;
165
+ }
166
+ .ewd-ufaq-save-message-inside {
167
+ position: relative;
168
+ float: left;
169
+ padding: 8px 12px;
170
+ background: #eee;
171
+ }
172
+
173
+ /*CREATED TABLES*/
174
+ .ewd-ufaq-welcome-screen-show-created-categories,
175
+ .ewd-ufaq-welcome-screen-show-created-faqs {
176
+ width: 100%;
177
+ border-collapse: collapse;
178
+ }
179
+ .ewd-ufaq-welcome-screen-show-created-categories th,
180
+ .ewd-ufaq-welcome-screen-show-created-categories td,
181
+ .ewd-ufaq-welcome-screen-show-created-faqs th,
182
+ .ewd-ufaq-welcome-screen-show-created-faqs td {
183
+ border: 1px solid #ccc;
184
+ padding: 12px;
185
+ }
186
+ .ewd-ufaq-welcome-screen-show-created-categories img,
187
+ .ewd-ufaq-welcome-screen-show-created-faqs img {
188
+ max-width: 100%;
189
+ }
assets/css/ewd-ufaq-wpforms.css CHANGED
@@ -1,614 +1,614 @@
1
- div.wpforms-container-full .wpforms-form .ewd-ufaq-hidden {
2
- display:none;
3
- }
4
-
5
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category-title-toggle {
6
- cursor: pointer;
7
- }
8
-
9
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category-body-hidden {
10
- display: none;
11
- }
12
-
13
- div.wpforms-container-full .wpforms-form .ewd-ufaq-clear {
14
- clear:both;
15
- }
16
-
17
- div.wpforms-container-full .wpforms-form .ewd-ufaq-permalink {
18
- margin: 24px 0;
19
- }
20
- div.wpforms-container-full .wpforms-form .ewd-ufaq-permalink-image {
21
- background: url("../img/insert_link.png");
22
- height: 21px;
23
- width: 30px;
24
- margin-top: -32px;
25
- margin-left: 112px;
26
- }
27
-
28
-
29
- div.wpforms-container-full .wpforms-form .ewd-ufaq-author {
30
- font-weight: 600;
31
- }
32
- div.wpforms-container-full .wpforms-form .ewd-ufaq-date {
33
- font-weight: 600;
34
- }
35
-
36
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category-title {
37
- width: 100%;
38
- clear: both;
39
- }
40
-
41
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category{
42
- margin-bottom: 20px;
43
- }
44
-
45
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category-inner {
46
- margin-bottom: 48px;
47
- }
48
-
49
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body {
50
- padding:10px 25px;
51
- padding-left: 55px;
52
- }
53
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-search{
54
- margin:5px 0 !important;
55
- }
56
- div.wpforms-container-full .wpforms-form .ewd-ufaq-search-highlight {
57
- background: #f7ff00;
58
- }
59
- .ewd-otp-field-label{
60
- width: auto !important;
61
- }
62
- div.wpforms-container-full .wpforms-form .ewd-ufaq-text-input {
63
- border-radius: 0 !important;
64
- margin:15px !important;
65
- }
66
- div.wpforms-container-full .wpforms-form .ewd-ufaq-submit{
67
- border-radius: 0 !important;
68
- }
69
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-header{
70
- margin:10px;
71
- }
72
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-header a:hover{
73
- text-decoration: none;
74
- }
75
- div.wpforms-container-full .wpforms-form div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin{
76
- text-decoration: none;
77
- }
78
- div.wpforms-container-full .wpforms-form div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin-symbol{
79
- text-decoration: none;
80
- float: left;
81
- text-align: center;
82
- /* width:35px;
83
- height: 35px;*/
84
- width: auto;
85
- height: auto;
86
- margin-right: 15px;
87
- padding: 2px 0px 0px 2px;
88
- line-height: 1;
89
- border-style: solid;
90
- }
91
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span{
92
- display: inline-block;
93
- font-size: 30px;
94
- margin: 0 auto;
95
- }
96
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title-text {
97
- float: left;
98
- width: 85%;
99
- }
100
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h1,
101
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h2,
102
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h3,
103
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h4,
104
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h5,
105
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h6 {
106
- display:inline-block;
107
- margin:5px !important;
108
- }
109
-
110
-
111
-
112
-
113
- div.wpforms-container-full .wpforms-form .ewd-ufaq-custom-field-label, div.wpforms-container-full .wpforms-form .ewd-ufaq-custom-field-value {
114
- position: relative;
115
- float: left;
116
- margin-top: 14px;
117
- }
118
- div.wpforms-container-full .wpforms-form .ewd-ufaq-custom-field-label {
119
- font-weight: normal;
120
- }
121
-
122
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .comment-respond {
123
- margin-top: 24px;
124
- }
125
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body li.comment {
126
- list-style-type: none;
127
- }
128
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body textarea {
129
- clear: both;
130
- display: block;
131
- position: relative;
132
- width: 35%;
133
- height: 100px;
134
- }
135
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .comment-form-comment label {
136
- clear: both;
137
- display: block;
138
- position: relative;
139
- width: 100%;
140
- }
141
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .submit {
142
- width: auto;
143
- background: transparent;
144
- cursor: pointer;
145
- color: #111;
146
- margin-bottom: 20px;
147
- }
148
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .submit:hover {
149
- background: #111;
150
- color: #fff;
151
- }
152
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .comment-author img {
153
- margin-right: 8px;
154
- }
155
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .comment-body p {
156
- margin: 10px 0;
157
- margin-top: 10px !important;
158
- }
159
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .reply {
160
- text-transform: uppercase;
161
- }
162
-
163
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .ewd-ufaq-back-to-top-link {
164
- cursor: pointer;
165
- }
166
-
167
- div.wpforms-container-full .wpforms-form .ewd-ufaq-ratings {
168
- padding: 14px 0 0;
169
- display: inline-block;
170
- width: 100%;
171
- margin-bottom: 20px;
172
- }
173
- div.wpforms-container-full .wpforms-form .ewd-ufaq-down-vote {
174
- background-position: 0px 8px !important;
175
- height: 50px !important;
176
- }
177
-
178
-
179
- /***********************
180
- * Pagination
181
- ***********************/
182
- div.wpforms-container-full .wpforms-form .ewd-ufaq-bottom {
183
- clear: both;
184
- }
185
- div.wpforms-container-full .wpforms-form .ewd-ufaq-previous-faqs h4 {
186
- float: left;
187
- padding-left: 12px;
188
- cursor: pointer;
189
- font-weight: 600;
190
- }
191
- div.wpforms-container-full .wpforms-form .ewd-ufaq-next-faqs h4 {
192
- float: right;
193
- padding-right: 12px;
194
- cursor: pointer;
195
- font-weight: 600;
196
- }
197
- div.wpforms-container-full .wpforms-form .ewd-ufaq-load-more h4 {
198
- text-align: center;
199
- cursor: pointer;
200
- font-weight: 600;
201
- }
202
-
203
-
204
- /***********************
205
- * Columns
206
- ***********************/
207
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-two {
208
- width: 48%;
209
- margin-right: 2%;
210
- float: left;
211
- clear: none;
212
- }
213
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three {
214
- width: 31%;
215
- margin-right: 2%;
216
- float: left;
217
- clear: none;
218
- }
219
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four {
220
- width: 23%;
221
- margin-right: 2%;
222
- float: left;
223
- clear: none;
224
- }
225
-
226
- @media only screen and (max-width: 960px) {
227
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three.ewd-ufaq-faq-responsive-columns-1,
228
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four.ewd-ufaq-faq-responsive-columns-1 {
229
- width: 48%;
230
- margin-right: 2%;
231
- }
232
- }
233
- @media only screen and (max-width: 520px) {
234
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-two.ewd-ufaq-faq-responsive-columns-1,
235
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three.ewd-ufaq-faq-responsive-columns-1,
236
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four.ewd-ufaq-faq-responsive-columns-1 {
237
- width: 100%;
238
- margin-right: none;
239
- }
240
- }
241
-
242
- /***********************
243
- Color Block Style
244
- ***********************/
245
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-color_block .ewd-ufaq-post-margin-symbol {
246
- background-color: #1188cc;
247
- color: #ffffff;
248
- }
249
-
250
- div.wpforms-container-full .wpforms-form .ewd-ufaq-Circle {
251
- border-radius: 18px;
252
- }
253
-
254
- div.wpforms-container-full .wpforms-form .ewd-ufaq-Square {
255
- border-radius: 0px;
256
- }
257
-
258
-
259
- /***********************
260
- Block Style
261
- ***********************/
262
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div {
263
- margin: 2px 0;
264
- padding:2px 0;
265
- clear: both;
266
- }
267
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-toggle:hover, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-toggle a:hover{
268
- cursor: pointer;
269
- cursor: hand;
270
- text-decoration: none;
271
- }
272
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block a, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block a:visited, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block a:active{
273
- text-decoration: none;
274
- }
275
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover,
276
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover a,
277
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h1,
278
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h2,
279
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h3,
280
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h4,
281
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h5,
282
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h6 {
283
- text-decoration: none !important;
284
- color:#fff;
285
- background: #1188cc;
286
- }
287
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block.ewd-ufaq-post-active, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block.ewd-ufaq-post-active a{
288
- color:#fff;
289
- background: #1188cc;
290
- }
291
-
292
-
293
- /***********************
294
- List Style
295
- ***********************/
296
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-header-title a {
297
- display: inline-block;
298
- }
299
-
300
-
301
-
302
- /***********************
303
- Minimalist Style
304
- ***********************/
305
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist {
306
- border-bottom: 1px solid #aaa;
307
- padding: 8px 0;
308
- }
309
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-post-margin-symbol {
310
- float: right;
311
- height: auto;
312
- }
313
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-post-margin-symbol span {
314
- font-size: 22px;
315
- }
316
-
317
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-body {
318
- padding: 20px 25px 10px;
319
- padding-left: 40px;
320
- }
321
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-tags, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-social-links {
322
- margin-top: 4px;
323
- }
324
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-social-links ul {
325
- float: left;
326
- margin-bottom: 14px;
327
- position: relative;
328
- width: auto;
329
- }
330
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-permalink {
331
- margin: 24px 0;
332
- }
333
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-permalink-image {
334
- margin-top: -32px;
335
- margin-left: 112px;
336
- }
337
-
338
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-author-date {
339
- margin-bottom: 14px;
340
- }
341
-
342
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-categories {
343
- margin: 14px 0;
344
- }
345
-
346
-
347
-
348
- /***********************
349
- Border Block Style
350
- ***********************/
351
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div {
352
- margin: 2px 0;
353
- padding:2px 0;
354
- clear: both;
355
- }
356
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-toggle:hover, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-toggle a:hover{
357
- cursor: pointer;
358
- cursor: hand;
359
- text-decoration: none;
360
- }
361
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block a, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block a:visited, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block a:active{
362
- text-decoration: none;
363
- }
364
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover,
365
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover a,
366
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h1,
367
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h2,
368
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h3,
369
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h4,
370
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h5,
371
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h6 {
372
- text-decoration: none !important;
373
- color:#fff;
374
- background: #1188cc;
375
- }
376
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active a{
377
- color:#fff !important;
378
- background: #1188cc;
379
- }
380
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-body {
381
- color:#555 !important;
382
- background: #fff;
383
- border: 3px solid #1188cc;
384
- border-bottom: 2px solid #1188cc;
385
- }
386
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-body a {
387
- color:#000 !important;
388
- background: transparent;
389
- }
390
-
391
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-tags, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-social-links {
392
- margin-top: 4px;
393
- }
394
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-social-links ul {
395
- float: left;
396
- margin-bottom: 14px;
397
- position: relative;
398
- width: auto;
399
- }
400
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-permalink {
401
- margin: 24px 0;
402
- }
403
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-permalink-image {
404
- margin-top: -32px;
405
- margin-left: 112px;
406
- }
407
-
408
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-author-date {
409
- margin-bottom: 14px;
410
- }
411
-
412
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-categories {
413
- margin: 14px 0;
414
- }
415
-
416
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active .ewd-ufaq-faq-title-text {
417
- color: #fff !important;
418
- }
419
-
420
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .comment-reply-title {
421
- background: transparent !important;
422
- color: #000 !important;
423
- }
424
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover .comment-reply-title {
425
- color: #000 !important;
426
- }
427
-
428
-
429
-
430
- /***********************
431
- Contemporary Style
432
- ***********************/
433
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary {
434
- border-bottom: 1px solid #ccc;
435
- padding: 0;
436
- margin: 0;
437
- }
438
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary:first-of-type {
439
- border-top: 1px solid #ccc;
440
- }
441
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-title {
442
- background: #f7f7f7;
443
- padding: 8px 0 8px 4px;
444
- }
445
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-post-margin-symbol {
446
- float: right;
447
- height: auto;
448
- }
449
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-body {
450
- padding: 20px 25px 10px;
451
- padding-left: 40px;
452
- }
453
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-tags, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-social-links {
454
- margin-top: 4px;
455
- }
456
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-social-links ul {
457
- float: left;
458
- margin-bottom: 14px;
459
- position: relative;
460
- width: auto;
461
- }
462
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-permalink {
463
- margin-left: 0;
464
- margin-bottom: 10px;
465
- }
466
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-back-to-top {
467
- margin-bottom: 14px;
468
- }
469
-
470
- div.wpforms-container-full .wpforms-form .ewd-ufaq-social-links-label {
471
- float: left;
472
- margin-right: 8px;
473
- position: relative;
474
- top: 3px;
475
- }
476
-
477
-
478
-
479
-
480
- /***********************
481
- Ratings
482
- ***********************/
483
- div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button {
484
- position: relative;
485
- float: left;
486
- width: 60px;
487
- height: 48px;
488
- margin-right: 12px;
489
- line-height: 48px;
490
- font-weight: 600;
491
- cursor: pointer;
492
-
493
- }
494
- div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button img {
495
- position: absolute;
496
- top: 0;
497
- left: 0;
498
- width: 75%;
499
- height: auto;
500
- }
501
- div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button span {
502
- text-align: right;
503
- width: 100%;
504
- display: block;
505
- }
506
- div.wpforms-container-full .wpforms-form .ewd-ufaq-up-vote {
507
- background: transparent;
508
- background-repeat: no-repeat;
509
- }
510
- div.wpforms-container-full .wpforms-form .ewd-ufaq-down-vote {
511
- background: transparent;
512
- background-repeat: no-repeat;
513
- }
514
- div.wpforms-container-full .wpforms-form .ewd-ufaq-ratings-custom-image {
515
- background: transparent;
516
- }
517
- div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-up-image,
518
- div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-down-image {
519
- background: none;
520
- padding-left: 0;
521
- }
522
- div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-up-image img,
523
- div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-down-image img {
524
- position: relative;
525
- float: left;
526
- width: 48px;
527
- height: auto;
528
- margin-right: 4px;
529
- }
530
-
531
-
532
- /************************
533
- * Expand/Collapse
534
- ************************/
535
- div.wpforms-container-full .wpforms-form .ewd-ufaq-expand-all,
536
- div.wpforms-container-full .wpforms-form .ewd-ufaq-collapse-all {
537
- text-decoration: none;
538
- cursor: pointer;
539
- font-size: 0.9em;
540
- }
541
-
542
- /*
543
- ==============================================
544
- Toggle Font
545
- ==============================================
546
- */
547
-
548
- @font-face { /* declare fonts */
549
- font-family: 'ewd-toggle-icon';
550
- src: url("../fonts/ewd-toggle-icon.eot");
551
- src: url('../fonts/ewd-toggle-icon.woff2') format('woff2'),
552
- url('../fonts/ewd-toggle-icon.woff') format('woff'),
553
- url("../fonts/ewd-toggle-icon.ttf") format("truetype"),
554
- url("../fonts/ewd-toggle-icon.svg#ewd-toggle-icon") format("svg");
555
- font-weight: normal;
556
- font-style: normal;
557
- }
558
-
559
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol,
560
- div.wpforms-container-full .wpforms-form .ewd-ufaq-toggle-all-symbol {
561
- font-family: 'ewd-toggle-icon';
562
- }
563
-
564
-
565
- /*
566
- ==============================================
567
- PChanges
568
- ==============================================
569
- */
570
-
571
- div.wpforms-container-full .wpforms-form .ewd-ufaq-question-update{
572
- font-size: 1.2em;
573
- margin-bottom: 20px;
574
- }
575
- div.wpforms-container-full .wpforms-form .ewd-ufaq-question-form .form-field {
576
- margin-bottom: 20px;
577
- }
578
-
579
- .rrssb-buttons li a .rrssb-text {
580
- color: #fff;
581
- margin-left: 5px;
582
- }
583
-
584
- div.wpforms-container-full .wpforms-form .ewd-ufaq-social-links .rrssb-buttons li {
585
- margin-bottom: 5px;
586
- }
587
-
588
- div.wpforms-container-full .wpforms-form .ewd-ufaq-permalink{
589
- clear: both;
590
- }
591
- @media only screen and (max-width: 810px) {
592
-
593
- div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title-text {
594
- width: 80%;
595
- }
596
-
597
- }
598
-
599
-
600
-
601
- /*
602
- ==============================================
603
- Pagination
604
- ==============================================
605
- */
606
- div.wpforms-container-full .wpforms-form .ewd-ufaq-previous-faqs, div.wpforms-container-full .wpforms-form .ewd-ufaq-next-faqs {
607
- margin-top: 16px;
608
- }
609
- div.wpforms-container-full .wpforms-form .ewd-ufaq-previous-faqs {
610
- float: left;
611
- }
612
- div.wpforms-container-full .wpforms-form .ewd-ufaq-next-faqs {
613
- float: right;
614
- }
1
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-hidden {
2
+ display:none;
3
+ }
4
+
5
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category-title-toggle {
6
+ cursor: pointer;
7
+ }
8
+
9
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category-body-hidden {
10
+ display: none;
11
+ }
12
+
13
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-clear {
14
+ clear:both;
15
+ }
16
+
17
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-permalink {
18
+ margin: 24px 0;
19
+ }
20
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-permalink-image {
21
+ background: url("../img/insert_link.png");
22
+ height: 21px;
23
+ width: 30px;
24
+ margin-top: -32px;
25
+ margin-left: 112px;
26
+ }
27
+
28
+
29
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-author {
30
+ font-weight: 600;
31
+ }
32
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-date {
33
+ font-weight: 600;
34
+ }
35
+
36
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category-title {
37
+ width: 100%;
38
+ clear: both;
39
+ }
40
+
41
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category{
42
+ margin-bottom: 20px;
43
+ }
44
+
45
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-category-inner {
46
+ margin-bottom: 48px;
47
+ }
48
+
49
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body {
50
+ padding:10px 25px;
51
+ padding-left: 55px;
52
+ }
53
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-search{
54
+ margin:5px 0 !important;
55
+ }
56
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-search-highlight {
57
+ background: #f7ff00;
58
+ }
59
+ .ewd-otp-field-label{
60
+ width: auto !important;
61
+ }
62
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-text-input {
63
+ border-radius: 0 !important;
64
+ margin:15px !important;
65
+ }
66
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-submit{
67
+ border-radius: 0 !important;
68
+ }
69
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-header{
70
+ margin:10px;
71
+ }
72
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-header a:hover{
73
+ text-decoration: none;
74
+ }
75
+ div.wpforms-container-full .wpforms-form div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin{
76
+ text-decoration: none;
77
+ }
78
+ div.wpforms-container-full .wpforms-form div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin-symbol{
79
+ text-decoration: none;
80
+ float: left;
81
+ text-align: center;
82
+ /* width:35px;
83
+ height: 35px;*/
84
+ width: auto;
85
+ height: auto;
86
+ margin-right: 15px;
87
+ padding: 2px 0px 0px 2px;
88
+ line-height: 1;
89
+ border-style: solid;
90
+ }
91
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span{
92
+ display: inline-block;
93
+ font-size: 30px;
94
+ margin: 0 auto;
95
+ }
96
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title-text {
97
+ float: left;
98
+ width: 85%;
99
+ }
100
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h1,
101
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h2,
102
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h3,
103
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h4,
104
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h5,
105
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title h6 {
106
+ display:inline-block;
107
+ margin:5px !important;
108
+ }
109
+
110
+
111
+
112
+
113
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-custom-field-label, div.wpforms-container-full .wpforms-form .ewd-ufaq-custom-field-value {
114
+ position: relative;
115
+ float: left;
116
+ margin-top: 14px;
117
+ }
118
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-custom-field-label {
119
+ font-weight: normal;
120
+ }
121
+
122
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .comment-respond {
123
+ margin-top: 24px;
124
+ }
125
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body li.comment {
126
+ list-style-type: none;
127
+ }
128
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body textarea {
129
+ clear: both;
130
+ display: block;
131
+ position: relative;
132
+ width: 35%;
133
+ height: 100px;
134
+ }
135
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .comment-form-comment label {
136
+ clear: both;
137
+ display: block;
138
+ position: relative;
139
+ width: 100%;
140
+ }
141
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .submit {
142
+ width: auto;
143
+ background: transparent;
144
+ cursor: pointer;
145
+ color: #111;
146
+ margin-bottom: 20px;
147
+ }
148
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .submit:hover {
149
+ background: #111;
150
+ color: #fff;
151
+ }
152
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .comment-author img {
153
+ margin-right: 8px;
154
+ }
155
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .comment-body p {
156
+ margin: 10px 0;
157
+ margin-top: 10px !important;
158
+ }
159
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .reply {
160
+ text-transform: uppercase;
161
+ }
162
+
163
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-body .ewd-ufaq-back-to-top-link {
164
+ cursor: pointer;
165
+ }
166
+
167
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-ratings {
168
+ padding: 14px 0 0;
169
+ display: inline-block;
170
+ width: 100%;
171
+ margin-bottom: 20px;
172
+ }
173
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-down-vote {
174
+ background-position: 0px 8px !important;
175
+ height: 50px !important;
176
+ }
177
+
178
+
179
+ /***********************
180
+ * Pagination
181
+ ***********************/
182
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-bottom {
183
+ clear: both;
184
+ }
185
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-previous-faqs h4 {
186
+ float: left;
187
+ padding-left: 12px;
188
+ cursor: pointer;
189
+ font-weight: 600;
190
+ }
191
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-next-faqs h4 {
192
+ float: right;
193
+ padding-right: 12px;
194
+ cursor: pointer;
195
+ font-weight: 600;
196
+ }
197
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-load-more h4 {
198
+ text-align: center;
199
+ cursor: pointer;
200
+ font-weight: 600;
201
+ }
202
+
203
+
204
+ /***********************
205
+ * Columns
206
+ ***********************/
207
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-two {
208
+ width: 48%;
209
+ margin-right: 2%;
210
+ float: left;
211
+ clear: none;
212
+ }
213
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three {
214
+ width: 31%;
215
+ margin-right: 2%;
216
+ float: left;
217
+ clear: none;
218
+ }
219
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four {
220
+ width: 23%;
221
+ margin-right: 2%;
222
+ float: left;
223
+ clear: none;
224
+ }
225
+
226
+ @media only screen and (max-width: 960px) {
227
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three.ewd-ufaq-faq-responsive-columns-1,
228
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four.ewd-ufaq-faq-responsive-columns-1 {
229
+ width: 48%;
230
+ margin-right: 2%;
231
+ }
232
+ }
233
+ @media only screen and (max-width: 520px) {
234
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-two.ewd-ufaq-faq-responsive-columns-1,
235
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three.ewd-ufaq-faq-responsive-columns-1,
236
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four.ewd-ufaq-faq-responsive-columns-1 {
237
+ width: 100%;
238
+ margin-right: none;
239
+ }
240
+ }
241
+
242
+ /***********************
243
+ Color Block Style
244
+ ***********************/
245
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-color_block .ewd-ufaq-post-margin-symbol {
246
+ background-color: #1188cc;
247
+ color: #ffffff;
248
+ }
249
+
250
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-Circle {
251
+ border-radius: 18px;
252
+ }
253
+
254
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-Square {
255
+ border-radius: 0px;
256
+ }
257
+
258
+
259
+ /***********************
260
+ Block Style
261
+ ***********************/
262
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div {
263
+ margin: 2px 0;
264
+ padding:2px 0;
265
+ clear: both;
266
+ }
267
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-toggle:hover, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-toggle a:hover{
268
+ cursor: pointer;
269
+ cursor: hand;
270
+ text-decoration: none;
271
+ }
272
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block a, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block a:visited, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block a:active{
273
+ text-decoration: none;
274
+ }
275
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover,
276
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover a,
277
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h1,
278
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h2,
279
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h3,
280
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h4,
281
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h5,
282
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block:hover h6 {
283
+ text-decoration: none !important;
284
+ color:#fff;
285
+ background: #1188cc;
286
+ }
287
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block.ewd-ufaq-post-active, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-block.ewd-ufaq-post-active a{
288
+ color:#fff;
289
+ background: #1188cc;
290
+ }
291
+
292
+
293
+ /***********************
294
+ List Style
295
+ ***********************/
296
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-header-title a {
297
+ display: inline-block;
298
+ }
299
+
300
+
301
+
302
+ /***********************
303
+ Minimalist Style
304
+ ***********************/
305
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist {
306
+ border-bottom: 1px solid #aaa;
307
+ padding: 8px 0;
308
+ }
309
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-post-margin-symbol {
310
+ float: right;
311
+ height: auto;
312
+ }
313
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-post-margin-symbol span {
314
+ font-size: 22px;
315
+ }
316
+
317
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-body {
318
+ padding: 20px 25px 10px;
319
+ padding-left: 40px;
320
+ }
321
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-tags, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-social-links {
322
+ margin-top: 4px;
323
+ }
324
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-social-links ul {
325
+ float: left;
326
+ margin-bottom: 14px;
327
+ position: relative;
328
+ width: auto;
329
+ }
330
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-permalink {
331
+ margin: 24px 0;
332
+ }
333
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-permalink-image {
334
+ margin-top: -32px;
335
+ margin-left: 112px;
336
+ }
337
+
338
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-author-date {
339
+ margin-bottom: 14px;
340
+ }
341
+
342
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-categories {
343
+ margin: 14px 0;
344
+ }
345
+
346
+
347
+
348
+ /***********************
349
+ Border Block Style
350
+ ***********************/
351
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-div {
352
+ margin: 2px 0;
353
+ padding:2px 0;
354
+ clear: both;
355
+ }
356
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-toggle:hover, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-toggle a:hover{
357
+ cursor: pointer;
358
+ cursor: hand;
359
+ text-decoration: none;
360
+ }
361
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block a, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block a:visited, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block a:active{
362
+ text-decoration: none;
363
+ }
364
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover,
365
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover a,
366
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h1,
367
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h2,
368
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h3,
369
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h4,
370
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h5,
371
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover h6 {
372
+ text-decoration: none !important;
373
+ color:#fff;
374
+ background: #1188cc;
375
+ }
376
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active a{
377
+ color:#fff !important;
378
+ background: #1188cc;
379
+ }
380
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-body {
381
+ color:#555 !important;
382
+ background: #fff;
383
+ border: 3px solid #1188cc;
384
+ border-bottom: 2px solid #1188cc;
385
+ }
386
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-body a {
387
+ color:#000 !important;
388
+ background: transparent;
389
+ }
390
+
391
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-tags, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-social-links {
392
+ margin-top: 4px;
393
+ }
394
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-social-links ul {
395
+ float: left;
396
+ margin-bottom: 14px;
397
+ position: relative;
398
+ width: auto;
399
+ }
400
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-permalink {
401
+ margin: 24px 0;
402
+ }
403
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-permalink-image {
404
+ margin-top: -32px;
405
+ margin-left: 112px;
406
+ }
407
+
408
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-author-date {
409
+ margin-bottom: 14px;
410
+ }
411
+
412
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-categories {
413
+ margin: 14px 0;
414
+ }
415
+
416
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active .ewd-ufaq-faq-title-text {
417
+ color: #fff !important;
418
+ }
419
+
420
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block .comment-reply-title {
421
+ background: transparent !important;
422
+ color: #000 !important;
423
+ }
424
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-border_block:hover .comment-reply-title {
425
+ color: #000 !important;
426
+ }
427
+
428
+
429
+
430
+ /***********************
431
+ Contemporary Style
432
+ ***********************/
433
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary {
434
+ border-bottom: 1px solid #ccc;
435
+ padding: 0;
436
+ margin: 0;
437
+ }
438
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary:first-of-type {
439
+ border-top: 1px solid #ccc;
440
+ }
441
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-title {
442
+ background: #f7f7f7;
443
+ padding: 8px 0 8px 4px;
444
+ }
445
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-post-margin-symbol {
446
+ float: right;
447
+ height: auto;
448
+ }
449
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-body {
450
+ padding: 20px 25px 10px;
451
+ padding-left: 40px;
452
+ }
453
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-tags, div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-social-links {
454
+ margin-top: 4px;
455
+ }
456
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-social-links ul {
457
+ float: left;
458
+ margin-bottom: 14px;
459
+ position: relative;
460
+ width: auto;
461
+ }
462
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-permalink {
463
+ margin-left: 0;
464
+ margin-bottom: 10px;
465
+ }
466
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-back-to-top {
467
+ margin-bottom: 14px;
468
+ }
469
+
470
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-social-links-label {
471
+ float: left;
472
+ margin-right: 8px;
473
+ position: relative;
474
+ top: 3px;
475
+ }
476
+
477
+
478
+
479
+
480
+ /***********************
481
+ Ratings
482
+ ***********************/
483
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button {
484
+ position: relative;
485
+ float: left;
486
+ width: 60px;
487
+ height: 48px;
488
+ margin-right: 12px;
489
+ line-height: 48px;
490
+ font-weight: 600;
491
+ cursor: pointer;
492
+
493
+ }
494
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button img {
495
+ position: absolute;
496
+ top: 0;
497
+ left: 0;
498
+ width: 75%;
499
+ height: auto;
500
+ }
501
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button span {
502
+ text-align: right;
503
+ width: 100%;
504
+ display: block;
505
+ }
506
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-up-vote {
507
+ background: transparent;
508
+ background-repeat: no-repeat;
509
+ }
510
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-down-vote {
511
+ background: transparent;
512
+ background-repeat: no-repeat;
513
+ }
514
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-ratings-custom-image {
515
+ background: transparent;
516
+ }
517
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-up-image,
518
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-down-image {
519
+ background: none;
520
+ padding-left: 0;
521
+ }
522
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-up-image img,
523
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-down-image img {
524
+ position: relative;
525
+ float: left;
526
+ width: 48px;
527
+ height: auto;
528
+ margin-right: 4px;
529
+ }
530
+
531
+
532
+ /************************
533
+ * Expand/Collapse
534
+ ************************/
535
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-expand-all,
536
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-collapse-all {
537
+ text-decoration: none;
538
+ cursor: pointer;
539
+ font-size: 0.9em;
540
+ }
541
+
542
+ /*
543
+ ==============================================
544
+ Toggle Font
545
+ ==============================================
546
+ */
547
+
548
+ @font-face { /* declare fonts */
549
+ font-family: 'ewd-toggle-icon';
550
+ src: url("../fonts/ewd-toggle-icon.eot");
551
+ src: url('../fonts/ewd-toggle-icon.woff2') format('woff2'),
552
+ url('../fonts/ewd-toggle-icon.woff') format('woff'),
553
+ url("../fonts/ewd-toggle-icon.ttf") format("truetype"),
554
+ url("../fonts/ewd-toggle-icon.svg#ewd-toggle-icon") format("svg");
555
+ font-weight: normal;
556
+ font-style: normal;
557
+ }
558
+
559
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol,
560
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-toggle-all-symbol {
561
+ font-family: 'ewd-toggle-icon';
562
+ }
563
+
564
+
565
+ /*
566
+ ==============================================
567
+ PChanges
568
+ ==============================================
569
+ */
570
+
571
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-question-update{
572
+ font-size: 1.2em;
573
+ margin-bottom: 20px;
574
+ }
575
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-question-form .form-field {
576
+ margin-bottom: 20px;
577
+ }
578
+
579
+ .rrssb-buttons li a .rrssb-text {
580
+ color: #fff;
581
+ margin-left: 5px;
582
+ }
583
+
584
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-social-links .rrssb-buttons li {
585
+ margin-bottom: 5px;
586
+ }
587
+
588
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-permalink{
589
+ clear: both;
590
+ }
591
+ @media only screen and (max-width: 810px) {
592
+
593
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-faq-title-text {
594
+ width: 80%;
595
+ }
596
+
597
+ }
598
+
599
+
600
+
601
+ /*
602
+ ==============================================
603
+ Pagination
604
+ ==============================================
605
+ */
606
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-previous-faqs, div.wpforms-container-full .wpforms-form .ewd-ufaq-next-faqs {
607
+ margin-top: 16px;
608
+ }
609
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-previous-faqs {
610
+ float: left;
611
+ }
612
+ div.wpforms-container-full .wpforms-form .ewd-ufaq-next-faqs {
613
+ float: right;
614
+ }
assets/css/ewd-ufaq.css CHANGED
@@ -1,617 +1,617 @@
1
- .ewd-ufaq-hidden {
2
- display:none;
3
- }
4
-
5
- .ewd-ufaq-faq-category-title-toggle {
6
- cursor: pointer;
7
- }
8
-
9
- .ewd-ufaq-faq-category-body-hidden {
10
- display: none;
11
- }
12
-
13
- .ewd-ufaq-clear {
14
- clear:both;
15
- }
16
-
17
- .ewd-ufaq-permalink {
18
- margin: 24px 0;
19
- }
20
- .ewd-ufaq-permalink-image {
21
- background: url("../img/insert_link.png");
22
- height: 21px;
23
- width: 30px;
24
- margin-top: -32px;
25
- margin-left: 112px;
26
- }
27
-
28
-
29
- .ewd-ufaq-author {
30
- font-weight: 600;
31
- }
32
- .ewd-ufaq-date {
33
- font-weight: 600;
34
- }
35
-
36
- .ewd-ufaq-faq-category-title {
37
- width: 100%;
38
- clear: both;
39
- }
40
-
41
- .ewd-ufaq-faq-category{
42
- margin-bottom: 20px;
43
- }
44
-
45
- .ewd-ufaq-faq-category-inner {
46
- margin-bottom: 48px;
47
- }
48
-
49
- .ewd-ufaq-faq-body {
50
- padding:10px 25px;
51
- padding-left: 55px;
52
- }
53
- .ewd-ufaq-faq-search{
54
- margin:5px 0 !important;
55
- }
56
- .ewd-ufaq-search-highlight {
57
- background: #f7ff00;
58
- }
59
- .ewd-otp-field-label{
60
- width: auto !important;
61
- }
62
- .ewd-ufaq-text-input {
63
- border-radius: 0 !important;
64
- margin:15px !important;
65
- }
66
- .ewd-ufaq-submit{
67
- border-radius: 0 !important;
68
- }
69
- .ewd-ufaq-faq-header{
70
- margin:10px;
71
- }
72
- .ewd-ufaq-faq-header a:hover{
73
- text-decoration: none;
74
- }
75
- div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin{
76
- text-decoration: none;
77
- }
78
- div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin-symbol{
79
- text-decoration: none;
80
- float: left;
81
- text-align: center;
82
- /* width:35px;
83
- height: 35px;*/
84
- width: auto;
85
- height: auto;
86
- margin-right: 15px;
87
- padding: 2px 0px 0px 2px;
88
- line-height: 1;
89
- border-style: solid;
90
- border-width: 0;
91
- }
92
- .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span{
93
- display: inline-block;
94
- font-size: 30px;
95
- margin: 0 auto;
96
- }
97
- .ewd-ufaq-faq-title-text {
98
- float: left;
99
- width: 85%;
100
- }
101
- .ewd-ufaq-faq-title h1,
102
- .ewd-ufaq-faq-title h2,
103
- .ewd-ufaq-faq-title h3,
104
- .ewd-ufaq-faq-title h4,
105
- .ewd-ufaq-faq-title h5,
106
- .ewd-ufaq-faq-title h6 {
107
- display:inline-block;
108
- margin:5px !important;
109
- }
110
-
111
-
112
-
113
-
114
- .ewd-ufaq-custom-field-label, .ewd-ufaq-custom-field-value {
115
- position: relative;
116
- float: left;
117
- margin-top: 14px;
118
- }
119
- .ewd-ufaq-custom-field-label {
120
- font-weight: normal;
121
- }
122
-
123
- .ewd-ufaq-faq-body .comment-respond {
124
- margin-top: 24px;
125
- }
126
- .ewd-ufaq-faq-body li.comment {
127
- list-style-type: none;
128
- }
129
- .ewd-ufaq-faq-body textarea {
130
- clear: both;
131
- display: block;
132
- position: relative;
133
- width: 35%;
134
- height: 100px;
135
- }
136
- .ewd-ufaq-faq-body .comment-form-comment label {
137
- clear: both;
138
- display: block;
139
- position: relative;
140
- width: 100%;
141
- }
142
- .ewd-ufaq-faq-body .submit {
143
- width: auto;
144
- background: transparent;
145
- cursor: pointer;
146
- color: #111;
147
- margin-bottom: 20px;
148
- }
149
- .ewd-ufaq-faq-body .submit:hover {
150
- background: #111;
151
- color: #fff;
152
- }
153
- .ewd-ufaq-faq-body .comment-author img {
154
- margin-right: 8px;
155
- }
156
- .ewd-ufaq-faq-body .comment-body p {
157
- margin: 10px 0;
158
- margin-top: 10px !important;
159
- }
160
- .ewd-ufaq-faq-body .reply {
161
- text-transform: uppercase;
162
- }
163
-
164
- .ewd-ufaq-faq-body .ewd-ufaq-back-to-top-link {
165
- cursor: pointer;
166
- }
167
-
168
- .ewd-ufaq-ratings {
169
- padding: 14px 0 0;
170
- display: inline-block;
171
- width: 100%;
172
- margin-bottom: 20px;
173
- }
174
- .ewd-ufaq-down-vote {
175
- background-position: 0px 8px !important;
176
- height: 50px !important;
177
- }
178
-
179
-
180
- /***********************
181
- * Pagination
182
- ***********************/
183
- .ewd-ufaq-bottom {
184
- clear: both;
185
- }
186
- .ewd-ufaq-previous-faqs h4 {
187
- float: left;
188
- padding-left: 12px;
189
- cursor: pointer;
190
- font-weight: 600;
191
- }
192
- .ewd-ufaq-next-faqs h4 {
193
- float: right;
194
- padding-right: 12px;
195
- cursor: pointer;
196
- font-weight: 600;
197
- }
198
- .ewd-ufaq-load-more h4 {
199
- text-align: center;
200
- cursor: pointer;
201
- font-weight: 600;
202
- }
203
-
204
-
205
- /***********************
206
- * Columns
207
- ***********************/
208
- .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-two {
209
- width: 48%;
210
- margin-right: 2%;
211
- float: left;
212
- clear: none;
213
- }
214
- .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three {
215
- width: 31%;
216
- margin-right: 2%;
217
- float: left;
218
- clear: none;
219
- }
220
- .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four {
221
- width: 23%;
222
- margin-right: 2%;
223
- float: left;
224
- clear: none;
225
- }
226
-
227
- @media only screen and (max-width: 960px) {
228
- .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three.ewd-ufaq-faq-responsive-columns-1,
229
- .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four.ewd-ufaq-faq-responsive-columns-1 {
230
- width: 48%;
231
- margin-right: 2%;
232
- }
233
- }
234
- @media only screen and (max-width: 520px) {
235
- .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-two.ewd-ufaq-faq-responsive-columns-1,
236
- .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three.ewd-ufaq-faq-responsive-columns-1,
237
- .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four.ewd-ufaq-faq-responsive-columns-1 {
238
- width: 100%;
239
- margin-right: none;
240
- }
241
- }
242
-
243
- /***********************
244
- Color Block Style
245
- ***********************/
246
- .ewd-ufaq-faq-display-style-color_block .ewd-ufaq-post-margin-symbol {
247
- background-color: #1188cc;
248
- color: #ffffff;
249
- }
250
-
251
- .ewd-ufaq-Circle {
252
- border-radius: 18px;
253
- }
254
-
255
- .ewd-ufaq-Square {
256
- border-radius: 0px;
257
- }
258
-
259
-
260
- /***********************
261
- Block Style
262
- ***********************/
263
- .ewd-ufaq-faq-div {
264
- margin: 2px 0;
265
- padding:2px 0;
266
- clear: both;
267
- }
268
- .ewd-ufaq-faq-toggle:hover, .ewd-ufaq-faq-toggle a:hover{
269
- cursor: pointer;
270
- cursor: hand;
271
- text-decoration: none;
272
- }
273
- .ewd-ufaq-faq-display-style-block a, .ewd-ufaq-faq-display-style-block a:visited, .ewd-ufaq-faq-display-style-block a:active{
274
- text-decoration: none;
275
- }
276
- .ewd-ufaq-faq-display-style-block:hover,
277
- .ewd-ufaq-faq-display-style-block:hover a,
278
- .ewd-ufaq-faq-display-style-block:hover h1,
279
- .ewd-ufaq-faq-display-style-block:hover h2,
280
- .ewd-ufaq-faq-display-style-block:hover h3,
281
- .ewd-ufaq-faq-display-style-block:hover h4,
282
- .ewd-ufaq-faq-display-style-block:hover h5,
283
- .ewd-ufaq-faq-display-style-block:hover h6 {
284
- text-decoration: none !important;
285
- color:#fff;
286
- background: #1188cc;
287
- }
288
- .ewd-ufaq-faq-display-style-block.ewd-ufaq-post-active, .ewd-ufaq-faq-display-style-block.ewd-ufaq-post-active a{
289
- color:#fff;
290
- background: #1188cc;
291
- }
292
-
293
-
294
- /***********************
295
- List Style
296
- ***********************/
297
- .ewd-ufaq-faq-header-title a {
298
- display: inline-block;
299
- }
300
-
301
-
302
-
303
- /***********************
304
- Minimalist Style
305
- ***********************/
306
- .ewd-ufaq-faq-display-style-minimalist {
307
- border-bottom: 1px solid #aaa;
308
- padding: 8px 0;
309
- }
310
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-post-margin-symbol {
311
- float: right;
312
- height: auto;
313
- }
314
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-post-margin-symbol span {
315
- font-size: 22px;
316
- }
317
-
318
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-body {
319
- padding: 20px 25px 10px;
320
- padding-left: 40px;
321
- }
322
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-tags, .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-social-links {
323
- margin-top: 4px;
324
- }
325
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-social-links ul {
326
- float: left;
327
- margin-bottom: 14px;
328
- position: relative;
329
- width: auto;
330
- }
331
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-permalink {
332
- margin: 24px 0;
333
- }
334
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-permalink-image {
335
- margin-top: -32px;
336
- margin-left: 112px;
337
- }
338
-
339
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-author-date {
340
- margin-bottom: 14px;
341
- }
342
-
343
- .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-categories {
344
- margin: 14px 0;
345
- }
346
-
347
-
348
-
349
- /***********************
350
- Border Block Style
351
- ***********************/
352
- .ewd-ufaq-faq-div {
353
- margin: 2px 0;
354
- padding:2px 0;
355
- clear: both;
356
- }
357
- .ewd-ufaq-faq-toggle:hover, .ewd-ufaq-faq-toggle a:hover{
358
- cursor: pointer;
359
- cursor: hand;
360
- text-decoration: none;
361
- }
362
- .ewd-ufaq-faq-display-style-border_block a, .ewd-ufaq-faq-display-style-border_block a:visited, .ewd-ufaq-faq-display-style-border_block a:active{
363
- text-decoration: none;
364
- }
365
- .ewd-ufaq-faq-display-style-border_block:hover,
366
- .ewd-ufaq-faq-display-style-border_block:hover a,
367
- .ewd-ufaq-faq-display-style-border_block:hover h1,
368
- .ewd-ufaq-faq-display-style-border_block:hover h2,
369
- .ewd-ufaq-faq-display-style-border_block:hover h3,
370
- .ewd-ufaq-faq-display-style-border_block:hover h4,
371
- .ewd-ufaq-faq-display-style-border_block:hover h5,
372
- .ewd-ufaq-faq-display-style-border_block:hover h6 {
373
- text-decoration: none !important;
374
- color:#fff;
375
- background: #1188cc;
376
- }
377
- .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active, .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active a{
378
- color:#fff !important;
379
- background: #1188cc;
380
- }
381
- .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-body {
382
- color:#555 !important;
383
- background: #fff;
384
- border: 3px solid #1188cc;
385
- border-bottom: 2px solid #1188cc;
386
- }
387
- .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-body a {
388
- color:#000 !important;
389
- background: transparent;
390
- }
391
-
392
- .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-tags, .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-social-links {
393
- margin-top: 4px;
394
- }
395
- .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-social-links ul {
396
- float: left;
397
- margin-bottom: 14px;
398
- position: relative;
399
- width: auto;
400
- }
401
- .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-permalink {
402
- margin: 24px 0;
403
- }
404
- .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-permalink-image {
405
- margin-top: -32px;
406
- margin-left: 112px;
407
- }
408
-
409
- .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-author-date {
410
- margin-bottom: 14px;
411
- }
412
-
413
- .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-categories {
414
- margin: 14px 0;
415
- }
416
-
417
- .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active .ewd-ufaq-faq-title-text {
418
- color: #fff !important;
419
- }
420
-
421
- .ewd-ufaq-faq-display-style-border_block .comment-reply-title {
422
- background: transparent !important;
423
- color: #000 !important;
424
- }
425
- .ewd-ufaq-faq-display-style-border_block:hover .comment-reply-title {
426
- color: #000 !important;
427
- }
428
-
429
-
430
-
431
- /***********************
432
- Contemporary Style
433
- ***********************/
434
- .ewd-ufaq-faq-display-style-contemporary {
435
- border-bottom: 1px solid #ccc;
436
- padding: 0;
437
- margin: 0;
438
- }
439
- .ewd-ufaq-faq-display-style-contemporary:first-of-type {
440
- border-top: 1px solid #ccc;
441
- }
442
- .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-title {
443
- background: #f7f7f7;
444
- padding: 8px 0 8px 4px;
445
- }
446
- .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-post-margin-symbol {
447
- float: right;
448
- height: auto;
449
- }
450
- .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-body {
451
- padding: 20px 25px 10px;
452
- padding-left: 40px;
453
- }
454
- .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-tags, .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-social-links {
455
- margin-top: 4px;
456
- }
457
- .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-social-links ul {
458
- float: left;
459
- margin-bottom: 14px;
460
- position: relative;
461
- width: auto;
462
- }
463
- .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-permalink {
464
- margin-left: 0;
465
- margin-bottom: 10px;
466
- }
467
- .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-back-to-top {
468
- margin-bottom: 14px;
469
- }
470
-
471
- .ewd-ufaq-social-links-label {
472
- float: left;
473
- margin-right: 8px;
474
- position: relative;
475
- top: 3px;
476
- }
477
-
478
-
479
-
480
-
481
- /***********************
482
- Ratings
483
- ***********************/
484
- .ewd-ufaq-rating-button {
485
- position: relative;
486
- float: left;
487
- width: 60px;
488
- height: 48px;
489
- margin-right: 12px;
490
- line-height: 48px;
491
- font-weight: 600;
492
- cursor: pointer;
493
-
494
- }
495
- .ewd-ufaq-rating-button img {
496
- position: absolute;
497
- top: 0;
498
- left: 0;
499
- width: 75%;
500
- height: auto;
501
- }
502
- .ewd-ufaq-rating-button span {
503
- text-align: right;
504
- width: 100%;
505
- display: block;
506
- }
507
- .ewd-ufaq-up-vote {
508
- background: transparent;
509
- background-repeat: no-repeat;
510
- }
511
- .ewd-ufaq-down-vote {
512
- background: transparent;
513
- background-repeat: no-repeat;
514
- }
515
- .ewd-ufaq-ratings-custom-image {
516
- background: transparent;
517
- }
518
- .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-up-image,
519
- .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-down-image {
520
- background: none;
521
- padding-left: 0;
522
- }
523
- .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-up-image img,
524
- .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-down-image img {
525
- position: relative;
526
- float: left;
527
- width: 48px;
528
- height: auto;
529
- margin-right: 4px;
530
- }
531
-
532
-
533
- /************************
534
- * Expand/Collapse
535
- ************************/
536
- .ewd-ufaq-expand-all,
537
- .ewd-ufaq-collapse-all {
538
- text-decoration: none;
539
- cursor: pointer;
540
- font-size: 0.9em;
541
- }
542
-
543
- /*
544
- ==============================================
545
- Toggle Font
546
- ==============================================
547
- */
548
-
549
- @font-face { /* declare fonts */
550
- font-family: 'ewd-toggle-icon';
551
- src: url("../fonts/ewd-toggle-icon.eot");
552
- src: url('../fonts/ewd-toggle-icon.woff2') format('woff2'),
553
- url('../fonts/ewd-toggle-icon.woff') format('woff'),
554
- url("../fonts/ewd-toggle-icon.ttf") format("truetype"),
555
- url("../fonts/ewd-toggle-icon.svg#ewd-toggle-icon") format("svg");
556
- font-weight: normal;
557
- font-style: normal;
558
- }
559
-
560
- .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol,
561
- .ewd-ufaq-toggle-all-symbol {
562
- font-family: 'ewd-toggle-icon';
563
- }
564
-
565
-
566
- /*
567
- ==============================================
568
- PChanges
569
- ==============================================
570
- */
571
-
572
- .ewd-ufaq-question-update{
573
- font-size: 1.2em;
574
- margin-bottom: 20px;
575
- }
576
- .ewd-ufaq-question-form .form-field {
577
- margin-bottom: 20px;
578
- }
579
-
580
- .rrssb-buttons li a .rrssb-text {
581
- color: #fff;
582
- margin-left: 5px;
583
- }
584
-
585
- .ewd-ufaq-social-links .rrssb-buttons li {
586
- margin-bottom: 5px;
587
- }
588
-
589
- .ewd-ufaq-permalink{
590
- clear: both;
591
- }
592
- @media only screen and (max-width: 810px) {
593
-
594
- .ewd-ufaq-faq-title-text {
595
- width: 80%;
596
- }
597
-
598
- }
599
-
600
-
601
-
602
- /*
603
- ==============================================
604
- Pagination
605
- ==============================================
606
- */
607
- .ewd-ufaq-previous-faqs, .ewd-ufaq-next-faqs {
608
- margin-top: 16px;
609
- }
610
- .ewd-ufaq-previous-faqs {
611
- float: left;
612
- }
613
- .ewd-ufaq-next-faqs {
614
- float: right;
615
- }
616
-
617
-
1
+ .ewd-ufaq-hidden {
2
+ display:none;
3
+ }
4
+
5
+ .ewd-ufaq-faq-category-title-toggle {
6
+ cursor: pointer;
7
+ }
8
+
9
+ .ewd-ufaq-faq-category-body-hidden {
10
+ display: none;
11
+ }
12
+
13
+ .ewd-ufaq-clear {
14
+ clear:both;
15
+ }
16
+
17
+ .ewd-ufaq-permalink {
18
+ margin: 24px 0;
19
+ }
20
+ .ewd-ufaq-permalink-image {
21
+ background: url("../img/insert_link.png");
22
+ height: 21px;
23
+ width: 30px;
24
+ margin-top: -32px;
25
+ margin-left: 112px;
26
+ }
27
+
28
+
29
+ .ewd-ufaq-author {
30
+ font-weight: 600;
31
+ }
32
+ .ewd-ufaq-date {
33
+ font-weight: 600;
34
+ }
35
+
36
+ .ewd-ufaq-faq-category-title {
37
+ width: 100%;
38
+ clear: both;
39
+ }
40
+
41
+ .ewd-ufaq-faq-category{
42
+ margin-bottom: 20px;
43
+ }
44
+
45
+ .ewd-ufaq-faq-category-inner {
46
+ margin-bottom: 48px;
47
+ }
48
+
49
+ .ewd-ufaq-faq-body {
50
+ padding:10px 25px;
51
+ padding-left: 55px;
52
+ }
53
+ .ewd-ufaq-faq-search{
54
+ margin:5px 0 !important;
55
+ }
56
+ .ewd-ufaq-search-highlight {
57
+ background: #f7ff00;
58
+ }
59
+ .ewd-otp-field-label{
60
+ width: auto !important;
61
+ }
62
+ .ewd-ufaq-text-input {
63
+ border-radius: 0 !important;
64
+ margin:15px !important;
65
+ }
66
+ .ewd-ufaq-submit{
67
+ border-radius: 0 !important;
68
+ }
69
+ .ewd-ufaq-faq-header{
70
+ margin:10px;
71
+ }
72
+ .ewd-ufaq-faq-header a:hover{
73
+ text-decoration: none;
74
+ }
75
+ div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin{
76
+ text-decoration: none;
77
+ }
78
+ div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin-symbol{
79
+ text-decoration: none;
80
+ float: left;
81
+ text-align: center;
82
+ /* width:35px;
83
+ height: 35px;*/
84
+ width: auto;
85
+ height: auto;
86
+ margin-right: 15px;
87
+ padding: 2px 0px 0px 2px;
88
+ line-height: 1;
89
+ border-style: solid;
90
+ border-width: 0;
91
+ }
92
+ .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span{
93
+ display: inline-block;
94
+ font-size: 30px;
95
+ margin: 0 auto;
96
+ }
97
+ .ewd-ufaq-faq-title-text {
98
+ float: left;
99
+ width: 85%;
100
+ }
101
+ .ewd-ufaq-faq-title h1,
102
+ .ewd-ufaq-faq-title h2,
103
+ .ewd-ufaq-faq-title h3,
104
+ .ewd-ufaq-faq-title h4,
105
+ .ewd-ufaq-faq-title h5,
106
+ .ewd-ufaq-faq-title h6 {
107
+ display:inline-block;
108
+ margin:5px !important;
109
+ }
110
+
111
+
112
+
113
+
114
+ .ewd-ufaq-custom-field-label, .ewd-ufaq-custom-field-value {
115
+ position: relative;
116
+ float: left;
117
+ margin-top: 14px;
118
+ }
119
+ .ewd-ufaq-custom-field-label {
120
+ font-weight: normal;
121
+ }
122
+
123
+ .ewd-ufaq-faq-body .comment-respond {
124
+ margin-top: 24px;
125
+ }
126
+ .ewd-ufaq-faq-body li.comment {
127
+ list-style-type: none;
128
+ }
129
+ .ewd-ufaq-faq-body textarea {
130
+ clear: both;
131
+ display: block;
132
+ position: relative;
133
+ width: 35%;
134
+ height: 100px;
135
+ }
136
+ .ewd-ufaq-faq-body .comment-form-comment label {
137
+ clear: both;
138
+ display: block;
139
+ position: relative;
140
+ width: 100%;
141
+ }
142
+ .ewd-ufaq-faq-body .submit {
143
+ width: auto;
144
+ background: transparent;
145
+ cursor: pointer;
146
+ color: #111;
147
+ margin-bottom: 20px;
148
+ }
149
+ .ewd-ufaq-faq-body .submit:hover {
150
+ background: #111;
151
+ color: #fff;
152
+ }
153
+ .ewd-ufaq-faq-body .comment-author img {
154
+ margin-right: 8px;
155
+ }
156
+ .ewd-ufaq-faq-body .comment-body p {
157
+ margin: 10px 0;
158
+ margin-top: 10px !important;
159
+ }
160
+ .ewd-ufaq-faq-body .reply {
161
+ text-transform: uppercase;
162
+ }
163
+
164
+ .ewd-ufaq-faq-body .ewd-ufaq-back-to-top-link {
165
+ cursor: pointer;
166
+ }
167
+
168
+ .ewd-ufaq-ratings {
169
+ padding: 14px 0 0;
170
+ display: inline-block;
171
+ width: 100%;
172
+ margin-bottom: 20px;
173
+ }
174
+ .ewd-ufaq-down-vote {
175
+ background-position: 0px 8px !important;
176
+ height: 50px !important;
177
+ }
178
+
179
+
180
+ /***********************
181
+ * Pagination
182
+ ***********************/
183
+ .ewd-ufaq-bottom {
184
+ clear: both;
185
+ }
186
+ .ewd-ufaq-previous-faqs h4 {
187
+ float: left;
188
+ padding-left: 12px;
189
+ cursor: pointer;
190
+ font-weight: 600;
191
+ }
192
+ .ewd-ufaq-next-faqs h4 {
193
+ float: right;
194
+ padding-right: 12px;
195
+ cursor: pointer;
196
+ font-weight: 600;
197
+ }
198
+ .ewd-ufaq-load-more h4 {
199
+ text-align: center;
200
+ cursor: pointer;
201
+ font-weight: 600;
202
+ }
203
+
204
+
205
+ /***********************
206
+ * Columns
207
+ ***********************/
208
+ .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-two {
209
+ width: 48%;
210
+ margin-right: 2%;
211
+ float: left;
212
+ clear: none;
213
+ }
214
+ .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three {
215
+ width: 31%;
216
+ margin-right: 2%;
217
+ float: left;
218
+ clear: none;
219
+ }
220
+ .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four {
221
+ width: 23%;
222
+ margin-right: 2%;
223
+ float: left;
224
+ clear: none;
225
+ }
226
+
227
+ @media only screen and (max-width: 960px) {
228
+ .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three.ewd-ufaq-faq-responsive-columns-1,
229
+ .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four.ewd-ufaq-faq-responsive-columns-1 {
230
+ width: 48%;
231
+ margin-right: 2%;
232
+ }
233
+ }
234
+ @media only screen and (max-width: 520px) {
235
+ .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-two.ewd-ufaq-faq-responsive-columns-1,
236
+ .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-three.ewd-ufaq-faq-responsive-columns-1,
237
+ .ewd-ufaq-faq-div.ewd-ufaq-faq-column-count-four.ewd-ufaq-faq-responsive-columns-1 {
238
+ width: 100%;
239
+ margin-right: none;
240
+ }
241
+ }
242
+
243
+ /***********************
244
+ Color Block Style
245
+ ***********************/
246
+ .ewd-ufaq-faq-display-style-color_block .ewd-ufaq-post-margin-symbol {
247
+ background-color: #1188cc;
248
+ color: #ffffff;
249
+ }
250
+
251
+ .ewd-ufaq-Circle {
252
+ border-radius: 18px;
253
+ }
254
+
255
+ .ewd-ufaq-Square {
256
+ border-radius: 0px;
257
+ }
258
+
259
+
260
+ /***********************
261
+ Block Style
262
+ ***********************/
263
+ .ewd-ufaq-faq-div {
264
+ margin: 2px 0;
265
+ padding:2px 0;
266
+ clear: both;
267
+ }
268
+ .ewd-ufaq-faq-toggle:hover, .ewd-ufaq-faq-toggle a:hover{
269
+ cursor: pointer;
270
+ cursor: hand;
271
+ text-decoration: none;
272
+ }
273
+ .ewd-ufaq-faq-display-style-block a, .ewd-ufaq-faq-display-style-block a:visited, .ewd-ufaq-faq-display-style-block a:active{
274
+ text-decoration: none;
275
+ }
276
+ .ewd-ufaq-faq-display-style-block:hover,
277
+ .ewd-ufaq-faq-display-style-block:hover a,
278
+ .ewd-ufaq-faq-display-style-block:hover h1,
279
+ .ewd-ufaq-faq-display-style-block:hover h2,
280
+ .ewd-ufaq-faq-display-style-block:hover h3,
281
+ .ewd-ufaq-faq-display-style-block:hover h4,
282
+ .ewd-ufaq-faq-display-style-block:hover h5,
283
+ .ewd-ufaq-faq-display-style-block:hover h6 {
284
+ text-decoration: none !important;
285
+ color:#fff;
286
+ background: #1188cc;
287
+ }
288
+ .ewd-ufaq-faq-display-style-block.ewd-ufaq-post-active, .ewd-ufaq-faq-display-style-block.ewd-ufaq-post-active a{
289
+ color:#fff;
290
+ background: #1188cc;
291
+ }
292
+
293
+
294
+ /***********************
295
+ List Style
296
+ ***********************/
297
+ .ewd-ufaq-faq-header-title a {
298
+ display: inline-block;
299
+ }
300
+
301
+
302
+
303
+ /***********************
304
+ Minimalist Style
305
+ ***********************/
306
+ .ewd-ufaq-faq-display-style-minimalist {
307
+ border-bottom: 1px solid #aaa;
308
+ padding: 8px 0;
309
+ }
310
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-post-margin-symbol {
311
+ float: right;
312
+ height: auto;
313
+ }
314
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-post-margin-symbol span {
315
+ font-size: 22px;
316
+ }
317
+
318
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-body {
319
+ padding: 20px 25px 10px;
320
+ padding-left: 40px;
321
+ }
322
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-tags, .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-social-links {
323
+ margin-top: 4px;
324
+ }
325
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-social-links ul {
326
+ float: left;
327
+ margin-bottom: 14px;
328
+ position: relative;
329
+ width: auto;
330
+ }
331
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-permalink {
332
+ margin: 24px 0;
333
+ }
334
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-permalink-image {
335
+ margin-top: -32px;
336
+ margin-left: 112px;
337
+ }
338
+
339
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-author-date {
340
+ margin-bottom: 14px;
341
+ }
342
+
343
+ .ewd-ufaq-faq-display-style-minimalist .ewd-ufaq-faq-categories {
344
+ margin: 14px 0;
345
+ }
346
+
347
+
348
+
349
+ /***********************
350
+ Border Block Style
351
+ ***********************/
352
+ .ewd-ufaq-faq-div {
353
+ margin: 2px 0;
354
+ padding:2px 0;
355
+ clear: both;
356
+ }
357
+ .ewd-ufaq-faq-toggle:hover, .ewd-ufaq-faq-toggle a:hover{
358
+ cursor: pointer;
359
+ cursor: hand;
360
+ text-decoration: none;
361
+ }
362
+ .ewd-ufaq-faq-display-style-border_block a, .ewd-ufaq-faq-display-style-border_block a:visited, .ewd-ufaq-faq-display-style-border_block a:active{
363
+ text-decoration: none;
364
+ }
365
+ .ewd-ufaq-faq-display-style-border_block:hover,
366
+ .ewd-ufaq-faq-display-style-border_block:hover a,
367
+ .ewd-ufaq-faq-display-style-border_block:hover h1,
368
+ .ewd-ufaq-faq-display-style-border_block:hover h2,
369
+ .ewd-ufaq-faq-display-style-border_block:hover h3,
370
+ .ewd-ufaq-faq-display-style-border_block:hover h4,
371
+ .ewd-ufaq-faq-display-style-border_block:hover h5,
372
+ .ewd-ufaq-faq-display-style-border_block:hover h6 {
373
+ text-decoration: none !important;
374
+ color:#fff;
375
+ background: #1188cc;
376
+ }
377
+ .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active, .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active a{
378
+ color:#fff !important;
379
+ background: #1188cc;
380
+ }
381
+ .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-body {
382
+ color:#555 !important;
383
+ background: #fff;
384
+ border: 3px solid #1188cc;
385
+ border-bottom: 2px solid #1188cc;
386
+ }
387
+ .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-body a {
388
+ color:#000 !important;
389
+ background: transparent;
390
+ }
391
+
392
+ .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-tags, .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-social-links {
393
+ margin-top: 4px;
394
+ }
395
+ .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-social-links ul {
396
+ float: left;
397
+ margin-bottom: 14px;
398
+ position: relative;
399
+ width: auto;
400
+ }
401
+ .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-permalink {
402
+ margin: 24px 0;
403
+ }
404
+ .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-permalink-image {
405
+ margin-top: -32px;
406
+ margin-left: 112px;
407
+ }
408
+
409
+ .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-author-date {
410
+ margin-bottom: 14px;
411
+ }
412
+
413
+ .ewd-ufaq-faq-display-style-border_block .ewd-ufaq-faq-categories {
414
+ margin: 14px 0;
415
+ }
416
+
417
+ .ewd-ufaq-faq-display-style-border_block.ewd-ufaq-post-active .ewd-ufaq-faq-title-text {
418
+ color: #fff !important;
419
+ }
420
+
421
+ .ewd-ufaq-faq-display-style-border_block .comment-reply-title {
422
+ background: transparent !important;
423
+ color: #000 !important;
424
+ }
425
+ .ewd-ufaq-faq-display-style-border_block:hover .comment-reply-title {
426
+ color: #000 !important;
427
+ }
428
+
429
+
430
+
431
+ /***********************
432
+ Contemporary Style
433
+ ***********************/
434
+ .ewd-ufaq-faq-display-style-contemporary {
435
+ border-bottom: 1px solid #ccc;
436
+ padding: 0;
437
+ margin: 0;
438
+ }
439
+ .ewd-ufaq-faq-display-style-contemporary:first-of-type {
440
+ border-top: 1px solid #ccc;
441
+ }
442
+ .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-title {
443
+ background: #f7f7f7;
444
+ padding: 8px 0 8px 4px;
445
+ }
446
+ .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-post-margin-symbol {
447
+ float: right;
448
+ height: auto;
449
+ }
450
+ .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-body {
451
+ padding: 20px 25px 10px;
452
+ padding-left: 40px;
453
+ }
454
+ .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-faq-tags, .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-social-links {
455
+ margin-top: 4px;
456
+ }
457
+ .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-social-links ul {
458
+ float: left;
459
+ margin-bottom: 14px;
460
+ position: relative;
461
+ width: auto;
462
+ }
463
+ .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-permalink {
464
+ margin-left: 0;
465
+ margin-bottom: 10px;
466
+ }
467
+ .ewd-ufaq-faq-display-style-contemporary .ewd-ufaq-back-to-top {
468
+ margin-bottom: 14px;
469
+ }
470
+
471
+ .ewd-ufaq-social-links-label {
472
+ float: left;
473
+ margin-right: 8px;
474
+ position: relative;
475
+ top: 3px;
476
+ }
477
+
478
+
479
+
480
+
481
+ /***********************
482
+ Ratings
483
+ ***********************/
484
+ .ewd-ufaq-rating-button {
485
+ position: relative;
486
+ float: left;
487
+ width: 60px;
488
+ height: 48px;
489
+ margin-right: 12px;
490
+ line-height: 48px;
491
+ font-weight: 600;
492
+ cursor: pointer;
493
+
494
+ }
495
+ .ewd-ufaq-rating-button img {
496
+ position: absolute;
497
+ top: 0;
498
+ left: 0;
499
+ width: 75%;
500
+ height: auto;
501
+ }
502
+ .ewd-ufaq-rating-button span {
503
+ text-align: right;
504
+ width: 100%;
505
+ display: block;
506
+ }
507
+ .ewd-ufaq-up-vote {
508
+ background: transparent;
509
+ background-repeat: no-repeat;
510
+ }
511
+ .ewd-ufaq-down-vote {
512
+ background: transparent;
513
+ background-repeat: no-repeat;
514
+ }
515
+ .ewd-ufaq-ratings-custom-image {
516
+ background: transparent;
517
+ }
518
+ .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-up-image,
519
+ .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-down-image {
520
+ background: none;
521
+ padding-left: 0;
522
+ }
523
+ .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-up-image img,
524
+ .ewd-ufaq-rating-button.ewd-ufaq-rating-button-custom-down-image img {
525
+ position: relative;
526
+ float: left;
527
+ width: 48px;
528
+ height: auto;
529
+ margin-right: 4px;
530
+ }
531
+
532
+
533
+ /************************
534
+ * Expand/Collapse
535
+ ************************/
536
+ .ewd-ufaq-expand-all,
537
+ .ewd-ufaq-collapse-all {
538
+ text-decoration: none;
539
+ cursor: pointer;
540
+ font-size: 0.9em;
541
+ }
542
+
543
+ /*
544
+ ==============================================
545
+ Toggle Font
546
+ ==============================================
547
+ */
548
+
549
+ @font-face { /* declare fonts */
550
+ font-family: 'ewd-toggle-icon';
551
+ src: url("../fonts/ewd-toggle-icon.eot");
552
+ src: url('../fonts/ewd-toggle-icon.woff2') format('woff2'),
553
+ url('../fonts/ewd-toggle-icon.woff') format('woff'),
554
+ url("../fonts/ewd-toggle-icon.ttf") format("truetype"),
555
+ url("../fonts/ewd-toggle-icon.svg#ewd-toggle-icon") format("svg");
556
+ font-weight: normal;
557
+ font-style: normal;
558
+ }
559
+
560
+ .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol,
561
+ .ewd-ufaq-toggle-all-symbol {
562
+ font-family: 'ewd-toggle-icon';
563
+ }
564
+
565
+
566
+ /*
567
+ ==============================================
568
+ PChanges
569
+ ==============================================
570
+ */
571
+
572
+ .ewd-ufaq-question-update{
573
+ font-size: 1.2em;
574
+ margin-bottom: 20px;
575
+ }
576
+ .ewd-ufaq-question-form .form-field {
577
+ margin-bottom: 20px;
578
+ }
579
+
580
+ .rrssb-buttons li a .rrssb-text {
581
+ color: #fff;
582
+ margin-left: 5px;
583
+ }
584
+
585
+ .ewd-ufaq-social-links .rrssb-buttons li {
586
+ margin-bottom: 5px;
587
+ }
588
+
589
+ .ewd-ufaq-permalink{
590
+ clear: both;
591
+ }
592
+ @media only screen and (max-width: 810px) {
593
+
594
+ .ewd-ufaq-faq-title-text {
595
+ width: 80%;
596
+ }
597
+
598
+ }
599
+
600
+
601
+
602
+ /*
603
+ ==============================================
604
+ Pagination
605
+ ==============================================
606
+ */
607
+ .ewd-ufaq-previous-faqs, .ewd-ufaq-next-faqs {
608
+ margin-top: 16px;
609
+ }
610
+ .ewd-ufaq-previous-faqs {
611
+ float: left;
612
+ }
613
+ .ewd-ufaq-next-faqs {
614
+ float: right;
615
+ }
616
+
617
+
assets/css/jquery-ui.min.css CHANGED
@@ -1,7 +1,7 @@
1
- /*! jQuery UI - v1.12.1 - 2016-09-14
2
- * http://jqueryui.com
3
- * Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
4
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
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-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;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.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-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.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:45%}.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-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{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-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.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-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.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;-ms-touch-action:none;touch-action:none}.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-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;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-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.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}body .ui-tooltip{border-width:2px}.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.ui-widget-content{border:1px solid #c5c5c5}.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,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{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,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{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,.ui-button:hover,.ui-button: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,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;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-checked{border:1px solid #dad55e;background:#fffa90}.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-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .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-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-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:-65px -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:-65px -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:1px -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:.003;filter:Alpha(Opacity=.3)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}
1
+ /*! jQuery UI - v1.12.1 - 2016-09-14
2
+ * http://jqueryui.com
3
+ * Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
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-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;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.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-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.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:45%}.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-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{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-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.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-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.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;-ms-touch-action:none;touch-action:none}.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-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;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-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.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}body .ui-tooltip{border-width:2px}.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.ui-widget-content{border:1px solid #c5c5c5}.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,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{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,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{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,.ui-button:hover,.ui-button: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,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;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-checked{border:1px solid #dad55e;background:#fffa90}.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-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .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-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-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:-65px -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:-65px -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:1px -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:.003;filter:Alpha(Opacity=.3)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}
assets/css/plugin-deactivation.css CHANGED
@@ -1,68 +1,68 @@
1
- .ewd-ufaq-deactivate-survey-modal {
2
- display: none;
3
- table-layout: fixed;
4
- position: fixed;
5
- z-index: 9999;
6
- width: 100%;
7
- height: 100%;
8
- text-align: center;
9
- font-size: 14px;
10
- top: 0;
11
- left: 0;
12
- background: rgba(0,0,0,0.8);
13
- }
14
- .ewd-ufaq-deactivate-survey-wrap {
15
- display: table-cell;
16
- vertical-align: middle;
17
- }
18
- .ewd-ufaq-deactivate-survey {
19
- background-color: #fff;
20
- max-width: 550px;
21
- margin: 0 auto;
22
- padding: 30px;
23
- text-align: left;
24
- }
25
- .ewd-ufaq-deactivate-survey .error {
26
- display: block;
27
- color: red;
28
- margin: 0 0 10px 0;
29
- }
30
- .ewd-ufaq-deactivate-survey-title {
31
- display: block;
32
- font-size: 18px;
33
- font-weight: 700;
34
- text-transform: uppercase;
35
- border-bottom: 1px solid #ddd;
36
- padding: 0 0 18px 0;
37
- margin: 0 0 18px 0;
38
- }
39
- .ewd-ufaq-deactivate-survey-title span {
40
- color: #999;
41
- margin-right: 10px;
42
- }
43
- .ewd-ufaq-deactivate-survey-desc {
44
- display: block;
45
- font-weight: 600;
46
- margin: 0 0 18px 0;
47
- }
48
- .ewd-ufaq-deactivate-survey-option {
49
- margin: 0 0 10px 0;
50
- }
51
- .ewd-ufaq-deactivate-survey-option-input {
52
- margin-right: 10px !important;
53
- }
54
- .ewd-ufaq-deactivate-survey-option-details {
55
- display: none;
56
- width: 90%;
57
- margin: 10px 0 0 30px;
58
- }
59
- .ewd-ufaq-deactivate-survey-footer {
60
- margin-top: 18px;
61
- }
62
- .ewd-ufaq-deactivate-survey-deactivate {
63
- float: right;
64
- font-size: 13px;
65
- color: #ccc;
66
- text-decoration: none;
67
- padding-top: 7px;
68
  }
1
+ .ewd-ufaq-deactivate-survey-modal {
2
+ display: none;
3
+ table-layout: fixed;
4
+ position: fixed;
5
+ z-index: 9999;
6
+ width: 100%;
7
+ height: 100%;
8
+ text-align: center;
9
+ font-size: 14px;
10
+ top: 0;
11
+ left: 0;
12
+ background: rgba(0,0,0,0.8);
13
+ }
14
+ .ewd-ufaq-deactivate-survey-wrap {
15
+ display: table-cell;
16
+ vertical-align: middle;
17
+ }
18
+ .ewd-ufaq-deactivate-survey {
19
+ background-color: #fff;
20
+ max-width: 550px;
21
+ margin: 0 auto;
22
+ padding: 30px;
23
+ text-align: left;
24
+ }
25
+ .ewd-ufaq-deactivate-survey .error {
26
+ display: block;
27
+ color: red;
28
+ margin: 0 0 10px 0;
29
+ }
30
+ .ewd-ufaq-deactivate-survey-title {
31
+ display: block;
32
+ font-size: 18px;
33
+ font-weight: 700;
34
+ text-transform: uppercase;
35
+ border-bottom: 1px solid #ddd;
36
+ padding: 0 0 18px 0;
37
+ margin: 0 0 18px 0;
38
+ }
39
+ .ewd-ufaq-deactivate-survey-title span {
40
+ color: #999;
41
+ margin-right: 10px;
42
+ }
43
+ .ewd-ufaq-deactivate-survey-desc {
44
+ display: block;
45
+ font-weight: 600;
46
+ margin: 0 0 18px 0;
47
+ }
48
+ .ewd-ufaq-deactivate-survey-option {
49
+ margin: 0 0 10px 0;
50
+ }
51
+ .ewd-ufaq-deactivate-survey-option-input {
52
+ margin-right: 10px !important;
53
+ }
54
+ .ewd-ufaq-deactivate-survey-option-details {
55
+ display: none;
56
+ width: 90%;
57
+ margin: 10px 0 0 30px;
58
+ }
59
+ .ewd-ufaq-deactivate-survey-footer {
60
+ margin-top: 18px;
61
+ }
62
+ .ewd-ufaq-deactivate-survey-deactivate {
63
+ float: right;
64
+ font-size: 13px;
65
+ color: #ccc;
66
+ text-decoration: none;
67
+ padding-top: 7px;
68
  }
assets/js/dashboard-review-ask.js CHANGED
@@ -1,62 +1,62 @@
1
- jQuery( document ).ready( function( $ ) {
2
- jQuery( '.ewd-ufaq-main-dashboard-review-ask' ).css( 'display', 'block' );
3
-
4
- jQuery(document).on( 'click', '.ewd-ufaq-main-dashboard-review-ask .notice-dismiss', function( event ) {
5
- var data = 'ask_review_time=7&action=ewd_ufaq_hide_review_ask';
6
- jQuery.post( ajaxurl, data, function() {} );
7
- });
8
-
9
- jQuery( '.ewd-ufaq-review-ask-yes' ).on( 'click', function() {
10
- jQuery( '.ewd-ufaq-review-ask-feedback-text' ).removeClass( 'ewd-ufaq-hidden' );
11
- jQuery( '.ewd-ufaq-review-ask-starting-text' ).addClass( 'ewd-ufaq-hidden' );
12
-
13
- jQuery( '.ewd-ufaq-review-ask-no-thanks' ).removeClass( 'ewd-ufaq-hidden' );
14
- jQuery( '.ewd-ufaq-review-ask-review' ).removeClass( 'ewd-ufaq-hidden' );
15
-
16
- jQuery( '.ewd-ufaq-review-ask-not-really' ).addClass( 'ewd-ufaq-hidden' );
17
- jQuery( '.ewd-ufaq-review-ask-yes' ).addClass( 'ewd-ufaq-hidden' );
18
-
19
- var data = 'ask_review_time=7&action=ewd_ufaq_hide_review_ask';
20
- jQuery.post( ajaxurl, data, function() {} );
21
- });
22
-
23
- jQuery( '.ewd-ufaq-review-ask-not-really' ).on( 'click', function() {
24
- jQuery( '.ewd-ufaq-review-ask-review-text' ).removeClass( 'ewd-ufaq-hidden' );
25
- jQuery( '.ewd-ufaq-review-ask-starting-text' ).addClass( 'ewd-ufaq-hidden' );
26
-
27
- jQuery( '.ewd-ufaq-review-ask-feedback-form' ).removeClass( 'ewd-ufaq-hidden' );
28
- jQuery( '.ewd-ufaq-review-ask-actions' ).addClass( 'ewd-ufaq-hidden' );
29
-
30
- var data = 'ask_review_time=1000&action=ewd_ufaq_hide_review_ask';
31
- jQuery.post( ajaxurl, data, function() {} );
32
- });
33
-
34
- jQuery( '.ewd-ufaq-review-ask-no-thanks' ).on( 'click', function() {
35
- var data = 'ask_review_time=1000&action=ewd_ufaq_hide_review_ask';
36
- jQuery.post( ajaxurl, data, function() {} );
37
-
38
- jQuery( '.ewd-ufaq-main-dashboard-review-ask' ).css( 'display', 'none' );
39
- });
40
-
41
- jQuery( '.ewd-ufaq-review-ask-review' ).on( 'click', function() {
42
- jQuery( '.ewd-ufaq-review-ask-feedback-text' ).addClass( 'ewd-ufaq-hidden' );
43
- jQuery( '.ewd-ufaq-review-ask-thank-you-text' ).removeClass( 'ewd-ufaq-hidden' );
44
-
45
- var data = 'ask_review_time=1000&action=ewd_ufaq_hide_review_ask';
46
- jQuery.post( ajaxurl, data, function() {} );
47
- });
48
-
49
- jQuery( '.ewd-ufaq-review-ask-send-feedback' ).on( 'click', function() {
50
- var feedback = jQuery( '.ewd-ufaq-review-ask-feedback-explanation textarea' ).val();
51
- var email_address = jQuery( '.ewd-ufaq-review-ask-feedback-explanation input[name="feedback_email_address"]' ).val();
52
- var data = 'feedback=' + feedback + '&email_address=' + email_address + '&action=ewd_ufaq_send_feedback';
53
- jQuery.post( ajaxurl, data, function() {} );
54
-
55
- var data = 'ask_review_time=1000&action=ewd_ufaq_hide_review_ask';
56
- jQuery.post( ajaxurl, data, function() {} );
57
-
58
- jQuery( '.ewd-ufaq-review-ask-feedback-form' ).addClass( 'ewd-ufaq-hidden' );
59
- jQuery( '.ewd-ufaq-review-ask-review-text' ).addClass( 'ewd-ufaq-hidden' );
60
- jQuery( '.ewd-ufaq-review-ask-thank-you-text' ).removeClass( 'ewd-ufaq-hidden' );
61
- });
62
  });
1
+ jQuery( document ).ready( function( $ ) {
2
+ jQuery( '.ewd-ufaq-main-dashboard-review-ask' ).css( 'display', 'block' );
3
+
4
+ jQuery(document).on( 'click', '.ewd-ufaq-main-dashboard-review-ask .notice-dismiss', function( event ) {
5
+ var data = 'ask_review_time=7&action=ewd_ufaq_hide_review_ask';
6
+ jQuery.post( ajaxurl, data, function() {} );
7
+ });
8
+
9
+ jQuery( '.ewd-ufaq-review-ask-yes' ).on( 'click', function() {
10
+ jQuery( '.ewd-ufaq-review-ask-feedback-text' ).removeClass( 'ewd-ufaq-hidden' );
11
+ jQuery( '.ewd-ufaq-review-ask-starting-text' ).addClass( 'ewd-ufaq-hidden' );
12
+
13
+ jQuery( '.ewd-ufaq-review-ask-no-thanks' ).removeClass( 'ewd-ufaq-hidden' );
14
+ jQuery( '.ewd-ufaq-review-ask-review' ).removeClass( 'ewd-ufaq-hidden' );
15
+
16
+ jQuery( '.ewd-ufaq-review-ask-not-really' ).addClass( 'ewd-ufaq-hidden' );
17
+ jQuery( '.ewd-ufaq-review-ask-yes' ).addClass( 'ewd-ufaq-hidden' );
18
+
19
+ var data = 'ask_review_time=7&action=ewd_ufaq_hide_review_ask';
20
+ jQuery.post( ajaxurl, data, function() {} );
21
+ });
22
+
23
+ jQuery( '.ewd-ufaq-review-ask-not-really' ).on( 'click', function() {
24
+ jQuery( '.ewd-ufaq-review-ask-review-text' ).removeClass( 'ewd-ufaq-hidden' );
25
+ jQuery( '.ewd-ufaq-review-ask-starting-text' ).addClass( 'ewd-ufaq-hidden' );
26
+
27
+ jQuery( '.ewd-ufaq-review-ask-feedback-form' ).removeClass( 'ewd-ufaq-hidden' );
28
+ jQuery( '.ewd-ufaq-review-ask-actions' ).addClass( 'ewd-ufaq-hidden' );
29
+
30
+ var data = 'ask_review_time=1000&action=ewd_ufaq_hide_review_ask';
31
+ jQuery.post( ajaxurl, data, function() {} );
32
+ });
33
+
34
+ jQuery( '.ewd-ufaq-review-ask-no-thanks' ).on( 'click', function() {
35
+ var data = 'ask_review_time=1000&action=ewd_ufaq_hide_review_ask';
36
+ jQuery.post( ajaxurl, data, function() {} );
37
+
38
+ jQuery( '.ewd-ufaq-main-dashboard-review-ask' ).css( 'display', 'none' );
39
+ });
40
+
41
+ jQuery( '.ewd-ufaq-review-ask-review' ).on( 'click', function() {
42
+ jQuery( '.ewd-ufaq-review-ask-feedback-text' ).addClass( 'ewd-ufaq-hidden' );
43
+ jQuery( '.ewd-ufaq-review-ask-thank-you-text' ).removeClass( 'ewd-ufaq-hidden' );
44
+
45
+ var data = 'ask_review_time=1000&action=ewd_ufaq_hide_review_ask';
46
+ jQuery.post( ajaxurl, data, function() {} );
47
+ });
48
+
49
+ jQuery( '.ewd-ufaq-review-ask-send-feedback' ).on( 'click', function() {
50
+ var feedback = jQuery( '.ewd-ufaq-review-ask-feedback-explanation textarea' ).val();
51
+ var email_address = jQuery( '.ewd-ufaq-review-ask-feedback-explanation input[name="feedback_email_address"]' ).val();
52
+ var data = 'feedback=' + feedback + '&email_address=' + email_address + '&action=ewd_ufaq_send_feedback';
53
+ jQuery.post( ajaxurl, data, function() {} );
54
+
55
+ var data = 'ask_review_time=1000&action=ewd_ufaq_hide_review_ask';
56
+ jQuery.post( ajaxurl, data, function() {} );
57
+
58
+ jQuery( '.ewd-ufaq-review-ask-feedback-form' ).addClass( 'ewd-ufaq-hidden' );
59
+ jQuery( '.ewd-ufaq-review-ask-review-text' ).addClass( 'ewd-ufaq-hidden' );
60
+ jQuery( '.ewd-ufaq-review-ask-thank-you-text' ).removeClass( 'ewd-ufaq-hidden' );
61
+ });
62
  });
assets/js/ewd-ufaq-blocks.js CHANGED
@@ -1,161 +1,161 @@
1
- var el = wp.element.createElement,
2
- registerBlockType = wp.blocks.registerBlockType,
3
- ServerSideRender = wp.components.ServerSideRender,
4
- TextControl = wp.components.TextControl,
5
- InspectorControls = wp.editor.InspectorControls;
6
-
7
- registerBlockType( 'ultimate-faqs/ewd-ufaq-display-faq-block', {
8
- title: 'Display FAQs',
9
- icon: 'editor-help',
10
- category: 'ewd-ufaq-blocks',
11
- attributes: {
12
- post_count: { type: 'string' },
13
- include_category: { type: 'string' },
14
- exclude_category: { type: 'string' },
15
- },
16
-
17
- edit: function( props ) {
18
- var returnString = [];
19
- returnString.push(
20
- el( InspectorControls, {},
21
- el( TextControl, {
22
- label: 'Number of FAQs',
23
- value: props.attributes.post_count,
24
- onChange: ( value ) => { props.setAttributes( { post_count: value } ); },
25
- } ),
26
- el( TextControl, {
27
- label: 'Include Category',
28
- value: props.attributes.include_category,
29
- onChange: ( value ) => { props.setAttributes( { include_category: value } ); },
30
- } ),
31
- el( TextControl, {
32
- label: 'Exclude Category',
33
- value: props.attributes.exclude_category,
34
- onChange: ( value ) => { props.setAttributes( { exclude_category: value } ); },
35
- } )
36
- ),
37
- );
38
- returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-display-faqs' }, 'Display FAQs Block' ) );
39
- return returnString;
40
- },
41
-
42
- save: function() {
43
- return null;
44
- },
45
- } );
46
-
47
- registerBlockType( 'ultimate-faqs/ewd-ufaq-search-block', {
48
- title: 'Search FAQs',
49
- icon: 'editor-help',
50
- category: 'ewd-ufaq-blocks',
51
- attributes: {
52
- include_category: { type: 'string' },
53
- exclude_category: { type: 'string' },
54
- show_on_load: { type: 'string' },
55
- },
56
-
57
- edit: function( props ) {
58
- var returnString = [];
59
- returnString.push(
60
- el( InspectorControls, {},
61
- el( TextControl, {
62
- label: 'Include Category',
63
- value: props.attributes.include_category,
64
- onChange: ( value ) => { props.setAttributes( { include_category: value } ); },
65
- } ),
66
- el( TextControl, {
67
- label: 'Exclude Category',
68
- value: props.attributes.exclude_category,
69
- onChange: ( value ) => { props.setAttributes( { exclude_category: value } ); },
70
- } ),
71
- el( TextControl, {
72
- label: 'Show all FAQs on Page Load? (Yes or No)',
73
- value: props.attributes.show_on_load,
74
- onChange: ( value ) => { props.setAttributes( { show_on_load: value } ); },
75
- } )
76
- ),
77
- );
78
- returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-search-faqs' }, 'Search FAQs Block' ) );
79
- return returnString;
80
- },
81
-
82
- save: function() {
83
- return null;
84
- },
85
- } );
86
-
87
- registerBlockType( 'ultimate-faqs/ewd-ufaq-submit-faq-block', {
88
- title: 'Submit FAQ',
89
- icon: 'editor-help',
90
- category: 'ewd-ufaq-blocks',
91
- attributes: {
92
- },
93
-
94
- edit: function( props ) {
95
- var returnString = [];
96
- returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-submit-faq' }, 'Submit Question Block' ) );
97
- return returnString;
98
- },
99
-
100
- save: function() {
101
- return null;
102
- },
103
- } );
104
-
105
- registerBlockType( 'ultimate-faqs/ewd-ufaq-recent-faqs-block', {
106
- title: 'Recent FAQs',
107
- icon: 'editor-help',
108
- category: 'ewd-ufaq-blocks',
109
- attributes: {
110
- post_count: { type: 'string' },
111
- },
112
-
113
- edit: function( props ) {
114
- var returnString = [];
115
- returnString.push(
116
- el( InspectorControls, {},
117
- el( TextControl, {
118
- label: 'Number of FAQs',
119
- value: props.attributes.post_count,
120
- onChange: ( value ) => { props.setAttributes( { post_count: value } ); },
121
- } )
122
- ),
123
- );
124
- returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-recent-faqs' }, 'Recent FAQs Block' ) );
125
- return returnString;
126
- },
127
-
128
- save: function() {
129
- return null;
130
- },
131
- } );
132
-
133
- registerBlockType( 'ultimate-faqs/ewd-ufaq-popular-faqs-block', {
134
- title: 'Popular FAQs',
135
- icon: 'editor-help',
136
- category: 'ewd-ufaq-blocks',
137
- attributes: {
138
- post_count: { type: 'string' },
139
- },
140
-
141
- edit: function( props ) {
142
- var returnString = [];
143
- returnString.push(
144
- el( InspectorControls, {},
145
- el( TextControl, {
146
- label: 'Number of FAQs',
147
- value: props.attributes.post_count,
148
- onChange: ( value ) => { props.setAttributes( { post_count: value } ); },
149
- } )
150
- ),
151
- );
152
- returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-popular-faqs' }, 'Popular FAQs Block' ) );
153
- return returnString;
154
- },
155
-
156
- save: function() {
157
- return null;
158
- },
159
- } );
160
-
161
-
1
+ var el = wp.element.createElement,
2
+ registerBlockType = wp.blocks.registerBlockType,
3
+ ServerSideRender = wp.components.ServerSideRender,
4
+ TextControl = wp.components.TextControl,
5
+ InspectorControls = wp.editor.InspectorControls;
6
+
7
+ registerBlockType( 'ultimate-faqs/ewd-ufaq-display-faq-block', {
8
+ title: 'Display FAQs',
9
+ icon: 'editor-help',
10
+ category: 'ewd-ufaq-blocks',
11
+ attributes: {
12
+ post_count: { type: 'string' },
13
+ include_category: { type: 'string' },
14
+ exclude_category: { type: 'string' },
15
+ },
16
+
17
+ edit: function( props ) {
18
+ var returnString = [];
19
+ returnString.push(
20
+ el( InspectorControls, {},
21
+ el( TextControl, {
22
+ label: 'Number of FAQs',
23
+ value: props.attributes.post_count,
24
+ onChange: ( value ) => { props.setAttributes( { post_count: value } ); },
25
+ } ),
26
+ el( TextControl, {
27
+ label: 'Include Category',
28
+ value: props.attributes.include_category,
29
+ onChange: ( value ) => { props.setAttributes( { include_category: value } ); },
30
+ } ),
31
+ el( TextControl, {
32
+ label: 'Exclude Category',
33
+ value: props.attributes.exclude_category,
34
+ onChange: ( value ) => { props.setAttributes( { exclude_category: value } ); },
35
+ } )
36
+ ),
37
+ );
38
+ returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-display-faqs' }, 'Display FAQs Block' ) );
39
+ return returnString;
40
+ },
41
+
42
+ save: function() {
43
+ return null;
44
+ },
45
+ } );
46
+
47
+ registerBlockType( 'ultimate-faqs/ewd-ufaq-search-block', {
48
+ title: 'Search FAQs',
49
+ icon: 'editor-help',
50
+ category: 'ewd-ufaq-blocks',
51
+ attributes: {
52
+ include_category: { type: 'string' },
53
+ exclude_category: { type: 'string' },
54
+ show_on_load: { type: 'string' },
55
+ },
56
+
57
+ edit: function( props ) {
58
+ var returnString = [];
59
+ returnString.push(
60
+ el( InspectorControls, {},
61
+ el( TextControl, {
62
+ label: 'Include Category',
63
+ value: props.attributes.include_category,
64
+ onChange: ( value ) => { props.setAttributes( { include_category: value } ); },
65
+ } ),
66
+ el( TextControl, {
67
+ label: 'Exclude Category',
68
+ value: props.attributes.exclude_category,
69
+ onChange: ( value ) => { props.setAttributes( { exclude_category: value } ); },
70
+ } ),
71
+ el( TextControl, {
72
+ label: 'Show all FAQs on Page Load? (Yes or No)',
73
+ value: props.attributes.show_on_load,
74
+ onChange: ( value ) => { props.setAttributes( { show_on_load: value } ); },
75
+ } )
76
+ ),
77
+ );
78
+ returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-search-faqs' }, 'Search FAQs Block' ) );
79
+ return returnString;
80
+ },
81
+
82
+ save: function() {
83
+ return null;
84
+ },
85
+ } );
86
+
87
+ registerBlockType( 'ultimate-faqs/ewd-ufaq-submit-faq-block', {
88
+ title: 'Submit FAQ',
89
+ icon: 'editor-help',
90
+ category: 'ewd-ufaq-blocks',
91
+ attributes: {
92
+ },
93
+
94
+ edit: function( props ) {
95
+ var returnString = [];
96
+ returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-submit-faq' }, 'Submit Question Block' ) );
97
+ return returnString;
98
+ },
99
+
100
+ save: function() {
101
+ return null;
102
+ },
103
+ } );
104
+
105
+ registerBlockType( 'ultimate-faqs/ewd-ufaq-recent-faqs-block', {
106
+ title: 'Recent FAQs',
107
+ icon: 'editor-help',
108
+ category: 'ewd-ufaq-blocks',
109
+ attributes: {
110
+ post_count: { type: 'string' },
111
+ },
112
+
113
+ edit: function( props ) {
114
+ var returnString = [];
115
+ returnString.push(
116
+ el( InspectorControls, {},
117
+ el( TextControl, {
118
+ label: 'Number of FAQs',
119
+ value: props.attributes.post_count,
120
+ onChange: ( value ) => { props.setAttributes( { post_count: value } ); },
121
+ } )
122
+ ),
123
+ );
124
+ returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-recent-faqs' }, 'Recent FAQs Block' ) );
125
+ return returnString;
126
+ },
127
+
128
+ save: function() {
129
+ return null;
130
+ },
131
+ } );
132
+
133
+ registerBlockType( 'ultimate-faqs/ewd-ufaq-popular-faqs-block', {
134
+ title: 'Popular FAQs',
135
+ icon: 'editor-help',
136
+ category: 'ewd-ufaq-blocks',
137
+ attributes: {
138
+ post_count: { type: 'string' },
139
+ },
140
+
141
+ edit: function( props ) {
142
+ var returnString = [];
143
+ returnString.push(
144
+ el( InspectorControls, {},
145
+ el( TextControl, {
146
+ label: 'Number of FAQs',
147
+ value: props.attributes.post_count,
148
+ onChange: ( value ) => { props.setAttributes( { post_count: value } ); },
149
+ } )
150
+ ),
151
+ );
152
+ returnString.push( el( 'div', { class: 'ewd-ufaq-admin-block ewd-ufaq-admin-block-popular-faqs' }, 'Popular FAQs Block' ) );
153
+ return returnString;
154
+ },
155
+
156
+ save: function() {
157
+ return null;
158
+ },
159
+ } );
160
+
161
+
assets/js/ewd-ufaq-wc-admin.js CHANGED
@@ -1,58 +1,58 @@
1
- jQuery(document).ready(function() {
2
- jQuery('.ewd-ufaq-add-faq-button').on('click', function(event) {
3
- var Post_ID = jQuery('#ewd-ufaq-post-id').val();
4
-
5
- var FAQs = [];
6
- jQuery('.ewd-ufaq-add-faq').each(function() {
7
- if (jQuery(this).is(':checked')) {FAQs.push(jQuery(this).val());}
8
- jQuery(this).prop('checked', false);
9
- });
10
-
11
- var data = 'FAQs=' + JSON.stringify(FAQs) + '&Post_ID=' + Post_ID + '&action=ewd_ufaq_add_wc_faqs';
12
- jQuery.post(ajaxurl, data, function(response) {
13
- var Add_FAQs = jQuery.parseJSON(response);
14
- jQuery(Add_FAQs).each(function(index, el) {
15
- var HTML = "<tr class='ewd-ufaq-faq-row ewd-ufaq-delete-faq-row' data-faqid='" + el.ID + "'>";
16
- HTML += "<td><input type='checkbox' class='ewd-ufaq-delete-faq' name='Delete_FAQs[]' value='" + el.ID + "'/></td>";
17
- HTML += "<td>" + el.Name + "</td>";
18
- HTML += "</tr>";
19
- jQuery('.ewd-ufaq-delete-table tr:last').after(HTML);
20
- });
21
- });
22
-
23
- event.preventDefault();
24
- })
25
- });
26
-
27
- jQuery(document).ready(function() {
28
- jQuery('.ewd-ufaq-delete-faq-button').on('click', function(event) {
29
- var Post_ID = jQuery('#ewd-ufaq-post-id').val();
30
-
31
- var FAQs = [];
32
- jQuery('.ewd-ufaq-delete-faq').each(function() {
33
- if (jQuery(this).is(':checked')) {FAQs.push(jQuery(this).val());}
34
- jQuery(this).prop('checked', false);
35
- });
36
-
37
- var data = 'FAQs=' + JSON.stringify(FAQs) + '&Post_ID=' + Post_ID + '&action=ewd_ufaq_delete_wc_faqs';
38
- jQuery.post(ajaxurl, data, function(response) {});
39
-
40
- jQuery(FAQs).each(function(index, el) {
41
- jQuery(".ewd-ufaq-delete-faq-row[data-faqid='" + el + "']").fadeOut('500', function() {jQuery(this).remove();});
42
- });
43
-
44
- event.preventDefault();
45
- })
46
- });
47
-
48
- jQuery(document).ready(function() {
49
- jQuery('.ewd-ufaq-category-filter').on('change', function() {
50
- var Cat_ID = jQuery(this).val();
51
-
52
- var data = 'Cat_ID=' + Cat_ID + '&action=ewd_ufaq_wc_faq_category';
53
- jQuery.post(ajaxurl, data, function(response) {
54
- jQuery('.ewd-ufaq-faq-add-table').remove();
55
- jQuery('.ewd-ufaq-category-filter').after(response);
56
- });
57
- })
58
  });
1
+ jQuery(document).ready(function() {
2
+ jQuery('.ewd-ufaq-add-faq-button').on('click', function(event) {
3
+ var Post_ID = jQuery('#ewd-ufaq-post-id').val();
4
+
5
+ var FAQs = [];
6
+ jQuery('.ewd-ufaq-add-faq').each(function() {
7
+ if (jQuery(this).is(':checked')) {FAQs.push(jQuery(this).val());}
8
+ jQuery(this).prop('checked', false);
9
+ });
10
+
11
+ var data = 'FAQs=' + JSON.stringify(FAQs) + '&Post_ID=' + Post_ID + '&action=ewd_ufaq_add_wc_faqs';
12
+ jQuery.post(ajaxurl, data, function(response) {
13
+ var Add_FAQs = jQuery.parseJSON(response);
14
+ jQuery(Add_FAQs).each(function(index, el) {
15
+ var HTML = "<tr class='ewd-ufaq-faq-row ewd-ufaq-delete-faq-row' data-faqid='" + el.ID + "'>";
16
+ HTML += "<td><input type='checkbox' class='ewd-ufaq-delete-faq' name='Delete_FAQs[]' value='" + el.ID + "'/></td>";
17
+ HTML += "<td>" + el.Name + "</td>";
18
+ HTML += "</tr>";
19
+ jQuery('.ewd-ufaq-delete-table tr:last').after(HTML);
20
+ });
21
+ });
22
+
23
+ event.preventDefault();
24
+ })
25
+ });
26
+
27
+ jQuery(document).ready(function() {
28
+ jQuery('.ewd-ufaq-delete-faq-button').on('click', function(event) {
29
+ var Post_ID = jQuery('#ewd-ufaq-post-id').val();
30
+
31
+ var FAQs = [];
32
+ jQuery('.ewd-ufaq-delete-faq').each(function() {
33
+ if (jQuery(this).is(':checked')) {FAQs.push(jQuery(this).val());}
34
+ jQuery(this).prop('checked', false);
35
+ });
36
+
37
+ var data = 'FAQs=' + JSON.stringify(FAQs) + '&Post_ID=' + Post_ID + '&action=ewd_ufaq_delete_wc_faqs';
38
+ jQuery.post(ajaxurl, data, function(response) {});
39
+
40
+ jQuery(FAQs).each(function(index, el) {
41
+ jQuery(".ewd-ufaq-delete-faq-row[data-faqid='" + el + "']").fadeOut('500', function() {jQuery(this).remove();});
42
+ });
43
+
44
+ event.preventDefault();
45
+ })
46
+ });
47
+
48
+ jQuery(document).ready(function() {
49
+ jQuery('.ewd-ufaq-category-filter').on('change', function() {
50
+ var Cat_ID = jQuery(this).val();
51
+
52
+ var data = 'Cat_ID=' + Cat_ID + '&action=ewd_ufaq_wc_faq_category';
53
+ jQuery.post(ajaxurl, data, function(response) {
54
+ jQuery('.ewd-ufaq-faq-add-table').remove();
55
+ jQuery('.ewd-ufaq-category-filter').after(response);
56
+ });
57
+ })
58
  });
assets/js/ewd-ufaq-welcome-screen.js CHANGED
@@ -1,92 +1,92 @@
1
- jQuery(document).ready(function() {
2
- jQuery('.ewd-ufaq-welcome-screen-box h2').on('click', function() {
3
- var page = jQuery(this).parent().data('screen');
4
- EWD_UFAQ_Toggle_Welcome_Page(page);
5
- });
6
-
7
- jQuery('.ewd-ufaq-welcome-screen-next-button').on('click', function() {
8
- var page = jQuery(this).data('nextaction');
9
- EWD_UFAQ_Toggle_Welcome_Page(page);
10
- });
11
-
12
- jQuery('.ewd-ufaq-welcome-screen-previous-button').on('click', function() {
13
- var page = jQuery(this).data('previousaction');
14
- EWD_UFAQ_Toggle_Welcome_Page(page);
15
- });
16
-
17
- jQuery('.ewd-ufaq-welcome-screen-add-category-button').on('click', function() {
18
-
19
- jQuery('.ewd-ufaq-welcome-screen-show-created-categories').show();
20
-
21
- var category_name = jQuery('.ewd-ufaq-welcome-screen-add-category-name input').val();
22
- var category_description = jQuery('.ewd-ufaq-welcome-screen-add-category-description textarea').val();
23
-
24
- jQuery('.ewd-ufaq-welcome-screen-add-category-name input').val('');
25
- jQuery('.ewd-ufaq-welcome-screen-add-category-description textarea').val('');
26
-
27
- var data = 'category_name=' + category_name + '&category_description=' + category_description + '&action=ewd_ufaq_welcome_add_category';
28
- jQuery.post(ajaxurl, data, function(response) {
29
- var HTML = '<tr class="ewd-ufaq-welcome-screen-category">';
30
- HTML += '<td class="ewd-ufaq-welcome-screen-category-name">' + category_name + '</td>';
31
- HTML += '<td class="ewd-ufaq-welcome-screen-category-description">' + category_description + '</td>';
32
- HTML += '</tr>';
33
-
34
- jQuery('.ewd-ufaq-welcome-screen-show-created-categories').append(HTML);
35
-
36
- var category = JSON.parse(response);
37
- jQuery('.ewd-ufaq-welcome-screen-add-faq-category select').append('<option value="' + category.category_id + '">' + category.category_name + '</option>');
38
- });
39
- });
40
-
41
- jQuery('.ewd-ufaq-welcome-screen-add-faq-page-button').on('click', function() {
42
- var faq_page_title = jQuery('.ewd-ufaq-welcome-screen-add-faq-page-name input').val();
43
-
44
- EWD_UFAQ_Toggle_Welcome_Page('options');
45
-
46
- var data = 'faq_page_title=' + faq_page_title + '&action=ewd_ufaq_welcome_add_faq_page';
47
- jQuery.post(ajaxurl, data, function(response) {});
48
- });
49
-
50
- jQuery('.ewd-ufaq-welcome-screen-save-options-button').on('click', function() {
51
- var faq_accordion = jQuery('input[name="faq_accordion"]:checked').val();
52
- var faq_toggle = jQuery('input[name="faq_toggle"]:checked').val();
53
- var group_by_category = jQuery('input[name="group_by_category"]:checked').val();
54
- var order_by_setting = jQuery('select[name="order_by_setting"]').val();
55
-
56
- var data = 'faq_accordion=' + faq_accordion + '&faq_toggle=' + faq_toggle + '&group_by_category=' + group_by_category + '&order_by_setting=' + order_by_setting + '&action=ewd_ufaq_welcome_set_options';
57
- jQuery.post(ajaxurl, data, function(response) {
58
- jQuery('.ewd-ufaq-welcome-screen-save-options-button').after('<div class="ewd-ufaq-save-message"><div class="ewd-ufaq-save-message-inside">Options have been saved.</div></div>');
59
- jQuery('.ewd-ufaq-save-message').delay(2000).fadeOut(400, function() {jQuery('.ewd-ufaq-save-message').remove();});
60
- });
61
- });
62
-
63
- jQuery('.ewd-ufaq-welcome-screen-add-faq-button').on('click', function() {
64
-
65
- jQuery('.ewd-ufaq-welcome-screen-show-created-faqs').show();
66
-
67
- var faq_question = jQuery('.ewd-ufaq-welcome-screen-add-faq-question input').val();
68
- var faq_answer = jQuery('.ewd-ufaq-welcome-screen-add-faq-answer textarea').val();
69
- var faq_category = jQuery('.ewd-ufaq-welcome-screen-add-faq-category select').val();
70
- var faq_category_name = jQuery('.ewd-ufaq-welcome-screen-add-faq-category select option:selected').text();
71
-
72
- jQuery('.ewd-ufaq-welcome-screen-add-faq-question input').val('');
73
- jQuery('.ewd-ufaq-welcome-screen-add-faq-answer textarea').val('');
74
- jQuery('.ewd-ufaq-welcome-screen-add-faq-category select').val('');
75
-
76
- var data = 'faq_question=' + faq_question + '&faq_answer=' + faq_answer + '&faq_category=' + faq_category + '&action=ewd_ufaq_welcome_add_faq';
77
- jQuery.post(ajaxurl, data, function(response) {
78
- var HTML = '<tr class="ewd-ufaq-welcome-screen-faq">';
79
- HTML += '<td class="ewd-ufaq-welcome-screen-faq-question">' + faq_question + '</td>';
80
- HTML += '<td class="ewd-ufaq-welcome-screen-faq-answer">' + faq_answer + '</td>';
81
- HTML += '<td class="ewd-ufaq-welcome-screen-faq-category">' + faq_category_name + '</td>';
82
- HTML += '</tr>';
83
-
84
- jQuery('.ewd-ufaq-welcome-screen-show-created-faqs').append(HTML);
85
- });
86
- });
87
- });
88
-
89
- function EWD_UFAQ_Toggle_Welcome_Page(page) {
90
- jQuery('.ewd-ufaq-welcome-screen-box').removeClass('ewd-ufaq-welcome-screen-open');
91
- jQuery('.ewd-ufaq-welcome-screen-' + page).addClass('ewd-ufaq-welcome-screen-open');
92
  }
1
+ jQuery(document).ready(function() {
2
+ jQuery('.ewd-ufaq-welcome-screen-box h2').on('click', function() {
3
+ var page = jQuery(this).parent().data('screen');
4
+ EWD_UFAQ_Toggle_Welcome_Page(page);
5
+ });
6
+
7
+ jQuery('.ewd-ufaq-welcome-screen-next-button').on('click', function() {
8
+ var page = jQuery(this).data('nextaction');
9
+ EWD_UFAQ_Toggle_Welcome_Page(page);
10
+ });
11
+
12
+ jQuery('.ewd-ufaq-welcome-screen-previous-button').on('click', function() {
13
+ var page = jQuery(this).data('previousaction');
14
+ EWD_UFAQ_Toggle_Welcome_Page(page);
15
+ });
16
+
17
+ jQuery('.ewd-ufaq-welcome-screen-add-category-button').on('click', function() {
18
+
19
+ jQuery('.ewd-ufaq-welcome-screen-show-created-categories').show();
20
+
21
+ var category_name = jQuery('.ewd-ufaq-welcome-screen-add-category-name input').val();
22
+ var category_description = jQuery('.ewd-ufaq-welcome-screen-add-category-description textarea').val();
23
+
24
+ jQuery('.ewd-ufaq-welcome-screen-add-category-name input').val('');
25
+ jQuery('.ewd-ufaq-welcome-screen-add-category-description textarea').val('');
26
+
27
+ var data = 'category_name=' + category_name + '&category_description=' + category_description + '&action=ewd_ufaq_welcome_add_category';
28
+ jQuery.post(ajaxurl, data, function(response) {
29
+ var HTML = '<tr class="ewd-ufaq-welcome-screen-category">';
30
+ HTML += '<td class="ewd-ufaq-welcome-screen-category-name">' + category_name + '</td>';
31
+ HTML += '<td class="ewd-ufaq-welcome-screen-category-description">' + category_description + '</td>';
32
+ HTML += '</tr>';
33
+
34
+ jQuery('.ewd-ufaq-welcome-screen-show-created-categories').append(HTML);
35
+
36
+ var category = JSON.parse(response);
37
+ jQuery('.ewd-ufaq-welcome-screen-add-faq-category select').append('<option value="' + category.category_id + '">' + category.category_name + '</option>');
38
+ });
39
+ });
40
+
41
+ jQuery('.ewd-ufaq-welcome-screen-add-faq-page-button').on('click', function() {
42
+ var faq_page_title = jQuery('.ewd-ufaq-welcome-screen-add-faq-page-name input').val();
43
+
44
+ EWD_UFAQ_Toggle_Welcome_Page('options');
45
+
46
+ var data = 'faq_page_title=' + faq_page_title + '&action=ewd_ufaq_welcome_add_faq_page';
47
+ jQuery.post(ajaxurl, data, function(response) {});
48
+ });
49
+
50
+ jQuery('.ewd-ufaq-welcome-screen-save-options-button').on('click', function() {
51
+ var faq_accordion = jQuery('input[name="faq_accordion"]:checked').val();
52
+ var faq_toggle = jQuery('input[name="faq_toggle"]:checked').val();
53
+ var group_by_category = jQuery('input[name="group_by_category"]:checked').val();
54
+ var order_by_setting = jQuery('select[name="order_by_setting"]').val();
55
+
56
+ var data = 'faq_accordion=' + faq_accordion + '&faq_toggle=' + faq_toggle + '&group_by_category=' + group_by_category + '&order_by_setting=' + order_by_setting + '&action=ewd_ufaq_welcome_set_options';
57
+ jQuery.post(ajaxurl, data, function(response) {
58
+ jQuery('.ewd-ufaq-welcome-screen-save-options-button').after('<div class="ewd-ufaq-save-message"><div class="ewd-ufaq-save-message-inside">Options have been saved.</div></div>');
59
+ jQuery('.ewd-ufaq-save-message').delay(2000).fadeOut(400, function() {jQuery('.ewd-ufaq-save-message').remove();});
60
+ });
61
+ });
62
+
63
+ jQuery('.ewd-ufaq-welcome-screen-add-faq-button').on('click', function() {
64
+
65
+ jQuery('.ewd-ufaq-welcome-screen-show-created-faqs').show();
66
+
67
+ var faq_question = jQuery('.ewd-ufaq-welcome-screen-add-faq-question input').val();
68
+ var faq_answer = jQuery('.ewd-ufaq-welcome-screen-add-faq-answer textarea').val();
69
+ var faq_category = jQuery('.ewd-ufaq-welcome-screen-add-faq-category select').val();
70
+ var faq_category_name = jQuery('.ewd-ufaq-welcome-screen-add-faq-category select option:selected').text();
71
+
72
+ jQuery('.ewd-ufaq-welcome-screen-add-faq-question input').val('');
73
+ jQuery('.ewd-ufaq-welcome-screen-add-faq-answer textarea').val('');
74
+ jQuery('.ewd-ufaq-welcome-screen-add-faq-category select').val('');
75
+
76
+ var data = 'faq_question=' + faq_question + '&faq_answer=' + faq_answer + '&faq_category=' + faq_category + '&action=ewd_ufaq_welcome_add_faq';
77
+ jQuery.post(ajaxurl, data, function(response) {
78
+ var HTML = '<tr class="ewd-ufaq-welcome-screen-faq">';
79
+ HTML += '<td class="ewd-ufaq-welcome-screen-faq-question">' + faq_question + '</td>';
80
+ HTML += '<td class="ewd-ufaq-welcome-screen-faq-answer">' + faq_answer + '</td>';
81
+ HTML += '<td class="ewd-ufaq-welcome-screen-faq-category">' + faq_category_name + '</td>';
82
+ HTML += '</tr>';
83
+
84
+ jQuery('.ewd-ufaq-welcome-screen-show-created-faqs').append(HTML);
85
+ });
86
+ });
87
+ });
88
+
89
+ function EWD_UFAQ_Toggle_Welcome_Page(page) {
90
+ jQuery('.ewd-ufaq-welcome-screen-box').removeClass('ewd-ufaq-welcome-screen-open');
91
+ jQuery('.ewd-ufaq-welcome-screen-' + page).addClass('ewd-ufaq-welcome-screen-open');
92
  }
assets/js/ewd-ufaq.js CHANGED
@@ -1,442 +1,444 @@
1
- var filtering_running = false;
2
- var wpforms_search_running = 'No';
3
-
4
- jQuery(function(){ //DOM Ready
5
- ufaqSetClickHandlers();
6
- UFAQSetAutoCompleteClickHandlers();
7
- UFAQSetRatingHandlers();
8
- UFAQSetExpandCollapseHandlers();
9
- UFAQSetPaginationHandlers();
10
-
11
- UFAQWPFormsHandler();
12
- });
13
-
14
- function ewd_ufaq_run_effect( display, faq_element ) {
15
-
16
- var selected_effect = ewd_ufaq_php_data.reveal_effect;
17
-
18
- // most effect types need no options passed by default
19
- var options = {};
20
-
21
- // some effects have required parameters
22
- if ( selected_effect === 'size' ) {
23
-
24
- options = { to: { width: 200, height: 60 } };
25
- }
26
-
27
- // run the effect
28
- if ( display == 'show' ) { faq_element.find( '.ewd-ufaq-faq-body' ).show( selected_effect, options, 500, ewd_ufaq_toggle_hidden_class( faq_element ) ); }
29
- if ( display == 'hide' ) { faq_element.find( '.ewd-ufaq-faq-body' ).hide( selected_effect, options, 500, ewd_ufaq_toggle_hidden_class( faq_element ) ); }
30
- };
31
-
32
- // callback function to bring a hidden box back
33
- function ewd_ufaq_toggle_hidden_class( faq_element ) {
34
-
35
- setTimeout( function() { faq_element.find( '.ewd-ufaq-faq-body' ).toggleClass( 'ewd-ufaq-hidden' ); }, 500 );
36
- };
37
-
38
- function ufaqSetClickHandlers() {
39
-
40
- jQuery( '.ewd-ufaq-faq-toggle' ).off( 'click' ).on( 'click', function( event ) {
41
-
42
- jQuery( this ).attr( 'aria-expanded', function ( i, attr ) {
43
- return attr == 'true' ? 'false' : 'true'
44
- });
45
-
46
- event.preventDefault();
47
-
48
- faq = jQuery( this ).parent();
49
-
50
- if ( faq.find( '.ewd-ufaq-faq-body' ).hasClass( 'ewd-ufaq-hidden' ) ) {
51
-
52
- EWD_UFAQ_Reveal_FAQ( faq );
53
-
54
- if ( ewd_ufaq_php_data.faq_scroll ) { jQuery('html, body').animate({scrollTop: jQuery(this).offset().top -80}, 100); }
55
- }
56
- else {
57
-
58
- EWD_UFAQ_Hide_FAQ( faq );
59
- }
60
- });
61
-
62
- jQuery( '.ewd-ufaq-faq-category-title-toggle' ).off( 'click' ).on( 'click', function() {
63
-
64
- var category = jQuery( this ).parent();
65
- var category_inner = category.find( '.ewd-ufaq-faq-category-inner' );
66
-
67
- category_inner.toggleClass( 'ewd-ufaq-faq-category-body-hidden' );
68
-
69
- if ( ! ewd_ufaq_php_data.category_accordion ) { return; }
70
-
71
- jQuery( '.ewd-ufaq-faq-category-inner' ).each( function( index, object ) {
72
-
73
- if ( object != category_inner.get( 0 ) ) { jQuery( this ).addClass( 'ewd-ufaq-faq-category-body-hidden' ); }
74
- });
75
- });
76
-
77
- jQuery( '.ewd-ufaq-back-to-top-link' ).off( 'click' ).on( 'click', function( event ) {
78
- event.preventDefault();
79
-
80
- jQuery( 'html, body' ).animate( { scrollTop: jQuery( '#ewd-ufaq-faq-list' ).offset().top -80 }, 100 );
81
- });
82
-
83
- jQuery( '.ewd-ufaq-faq-header-link' ).off( 'click' ).on( 'click', function( event ) {
84
- event.preventDefault();
85
-
86
- var faq_id = jQuery( this ).data( 'postid' );
87
- var faq = jQuery( '#ewd-ufaq-post-' + faq_id ).first();
88
-
89
- if ( faq.find( '.ewd-ufaq-faq-body' ).hasClass( 'ewd-ufaq-hidden' ) ) {
90
-
91
- EWD_UFAQ_Reveal_FAQ( faq );
92
- }
93
-
94
- jQuery( 'html, body' ).animate( { scrollTop: faq.offset().top - 20 }, 100 );
95
- });
96
- }
97
-
98
- function UFAQSetAutoCompleteClickHandlers() {
99
-
100
- jQuery( '.ewd-ufaq-text-auto-complete' ).on( 'keyup', function() {
101
-
102
- jQuery( '.ewd-ufaq-text-auto-complete' ).autocomplete({
103
-
104
- source: ewd_ufaq_php_data.question_titles,
105
- minLength: 3,
106
- appendTo: '#ewd-ufaq-jquery-ajax-search',
107
- select: function( event, ui ) {
108
- jQuery( this ).val( ui.item.value );
109
- ewd_ufaq_ajax_reload();
110
- }
111
- });
112
-
113
- jQuery( '.ewd-ufaq-text-auto-complete' ).autocomplete( 'enable' );
114
- });
115
- }
116
-
117
- function EWD_UFAQ_Reveal_FAQ( faq_element ) {
118
-
119
- var post_id = faq_element.data( 'post_id' );
120
-
121
- var data = 'post_id=' + post_id + '&action=ewd_ufaq_record_view';
122
- jQuery.post(ajaxurl, data, function(response) {});
123
-
124
- faq_element.find( '.ewd-ufaq-post-margin-symbol' ).html( faq_element.find( '.ewd-ufaq-post-margin-symbol' ).html().toUpperCase() );
125
-
126
- faq_element.find( '.ewd-ufaq-faq-excerpt' ).addClass( 'ewd-ufaq-hidden' );
127
-
128
- if ( ewd_ufaq_php_data.reveal_effect != 'none' ) { ewd_ufaq_run_effect( 'show', faq_element ); }
129
- else { faq_element.find( '.ewd-ufaq-faq-body' ).removeClass( 'ewd-ufaq-hidden' ); }
130
-
131
- if ( ewd_ufaq_php_data.faq_accordion ) {
132
-
133
- jQuery( '.ewd-ufaq-faq-div' ).each( function() {
134
-
135
- if ( jQuery( this ).prop( 'id' ) != faq_element.prop( 'id' ) ) {
136
-
137
- EWD_UFAQ_Hide_FAQ( jQuery(this) );
138
- }
139
- else {
140
-
141
- jQuery( this ).addClass( 'ewd-ufaq-post-active' );
142
- }
143
- });
144
- }
145
- else {
146
-
147
- faq_element.addClass( 'ewd-ufaq-post-active' );
148
- }
149
- }
150
-
151
- function EWD_UFAQ_Hide_FAQ( faq_element ) {
152
-
153
- var post_id = faq_element.data( 'post_id' );
154
-
155
- faq_element.find( '.ewd-ufaq-faq-excerpt' ).removeClass( 'ewd-ufaq-hidden' );
156
-
157
- if ( ewd_ufaq_php_data.reveal_effect != 'none' && ! faq_element.find( '.ewd-ufaq-faq-body' ).hasClass( 'ewd-ufaq-hidden' ) ) { ewd_ufaq_run_effect( 'hide', faq_element ); }
158
- else { faq_element.find( '.ewd-ufaq-faq-body' ).addClass( 'ewd-ufaq-hidden' ); }
159
-
160
- faq_element.removeClass( 'ewd-ufaq-post-active' );
161
- faq_element.find( '.ewd-ufaq-post-margin-symbol' ).html( faq_element.find( '.ewd-ufaq-post-margin-symbol' ).html().toLowerCase() );
162
- }
163
-
164
- jQuery(document).ready(function() {
165
-
166
- jQuery( '#ewd-ufaq-ajax-search-submit' ).click( function() {
167
-
168
- jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', 1 );
169
-
170
- ewd_ufaq_ajax_reload();
171
- });
172
-
173
- jQuery( '#ewd-ufaq-ajax-form' ).submit( function( event ) {
174
-
175
- event.preventDefault();
176
-
177
- ewd_ufaq_ajax_reload();
178
- });
179
-
180
- jQuery( '#ewd-ufaq-jquery-ajax-search .ewd-ufaq-text-input' ).keyup( function() {
181
-
182
- ewd_ufaq_ajax_reload();
183
- });
184
-
185
- if ( jQuery( '#ewd-ufaq-ajax-text-input' ).length ) {
186
-
187
- if ( jQuery( '#ewd-ufaq-ajax-text-input' ).val() != '' ) { ewd_ufaq_ajax_reload(); }
188
- }
189
-
190
- if ( typeof ewd_ufaq_php_data != 'undefined' && ewd_ufaq_php_data.display_faq ) {
191
-
192
- var faq = jQuery( '.ewd-ufaq-faq-div[data-post_id="' + ewd_ufaq_php_data.display_faq + '"]' );
193
-
194
- faq.parent().removeClass( 'ewd-ufaq-hidden' );
195
-
196
- EWD_UFAQ_Reveal_FAQ( faq );
197
-
198
- jQuery('html, body').animate({scrollTop: faq.offset().top -80}, 100);
199
- }
200
- });
201
-
202
- var request_count = 0;
203
- function ewd_ufaq_ajax_reload( pagination, append_results, search_string ) {
204
-
205
- filtering_running = true;
206
-
207
- var search_string = search_string ? search_string : jQuery( '.ewd-ufaq-text-input' ).val();
208
- var include_cat = jQuery( '#ewd-ufaq-include-category' ).val();
209
- var exclude_cat = jQuery( '#ewd-ufaq-exclude-category' ).val();
210
- var orderby = jQuery( '#ewd-ufaq-orderby' ).val();
211
- var order = jQuery( '#ewd-ufaq-order' ).val();
212
- var post_count = jQuery( '#ewd-ufaq-post-count' ).val();
213
- var current_url = jQuery( '#ewd-ufaq-current-url' ).val();
214
- var show_on_load = jQuery( '#ewd-ufaq-show-on-load' ).val();
215
-
216
- if ( search_string == undefined ) { search_string = ''; }
217
-
218
- if ( pagination == 'Yes' ) {
219
-
220
- var faqs_only = 'Yes';
221
- var faq_page = jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' );
222
- }
223
- else {
224
-
225
- jQuery( '.ewd-ufaq-faqs' ).html( '<h3>' + ewd_ufaq_php_data.retrieving_results + '</h3>' );
226
-
227
- var faqs_only = 'No';
228
- var faq_page = 0;
229
- }
230
-
231
- request_count = request_count + 1;
232
-
233
- if (show_on_load == 'No' && Question.length == 0) {jQuery('#ewd-ufaq-ajax-results').html(''); return;}
234
-
235
- var data = 'search_string=' + search_string + '&include_category=' + include_cat + '&exclude_category=' + exclude_cat + '&orderby=' + orderby + '&order=' + order + '&post_count=' + post_count + '&request_count=' + request_count + '&current_url=' + current_url + '&faqs_only=' + faqs_only + '&faq_page=' + faq_page + '&action=ewd_ufaq_search';
236
- jQuery.post( ajaxurl, data, function( response ) {
237
-
238
- if ( response.data.request_count == request_count ) {
239
-
240
- if ( append_results == 'Yes' ) { jQuery( '.ewd-ufaq-faqs' ).append( response.data.output ); }
241
- else { jQuery( '.ewd-ufaq-faqs' ).html( response.data.output ); }
242
-
243
- jQuery( '.ewd-ufaq-bottom' ).data( 'max_page', response.data.max_page );
244
-
245
- jQuery( '.ewd-ufaq-expand-all' ).removeClass( 'ewd-ufaq-hidden' );
246
- jQuery( '.ewd-ufaq-collapse-all' ).addClass( 'ewd-ufaq-hidden' );
247
-
248
- ufaqSetClickHandlers();
249
- UFAQSetRatingHandlers();
250
- UFAQSetPaginationHandlers();
251
- UFAQUpdatePaginationButtons();
252
- UFAQSetExpandCollapseHandlers();
253
-
254
- filtering_running = false;
255
- }
256
- });
257
- }
258
-
259
- function UFAQSetRatingHandlers() {
260
-
261
- jQuery( '.ewd-ufaq-rating-button' ).off( 'click' ).on( 'click', function() {
262
-
263
- var faq_id = jQuery( this ).data( 'faq_id' );
264
- jQuery( '*[data-faq_id="' + faq_id + '"]' ).off( 'click' );
265
-
266
- var current_count = jQuery( this ).find( 'span' ).html();
267
- current_count++;
268
- jQuery( this ).find( 'span' ).html( current_count );
269
-
270
- if ( jQuery( this ).hasClass( 'ewd-ufaq-up-vote' ) ) { vote_type = 'up'; }
271
- else { vote_type = 'down'; }
272
-
273
- var data = 'faq_id=' + faq_id + '&vote_type=' + vote_type + '&action=ewd_ufaq_update_rating';
274
-
275
- jQuery.post( ajaxurl, data );
276
- });
277
- }
278
-
279
- function UFAQSetExpandCollapseHandlers() {
280
-
281
- jQuery('.ewd-ufaq-expand-all').off('click').on('click', function() {
282
-
283
- var accordion_setting = ewd_ufaq_php_data.faq_accordion;
284
- ewd_ufaq_php_data.faq_accordion = false; // turn FAQ accordion off while expanding all
285
-
286
- jQuery( '.ewd-ufaq-faq-toggle' ).each( function() {
287
-
288
- var faq = jQuery(this).parent();
289
-
290
- jQuery(this).attr('aria-expanded', 'true');
291
-
292
- EWD_UFAQ_Reveal_FAQ( faq );
293
- });
294
-
295
- ewd_ufaq_php_data.faq_accordion = accordion_setting; //reset FAQ accordion setting
296
-
297
- jQuery('.ewd-ufaq-faq-category-inner').removeClass('ewd-ufaq-faq-category-body-hidden');
298
- jQuery('.ewd-ufaq-collapse-all').removeClass('ewd-ufaq-hidden');
299
- jQuery('.ewd-ufaq-expand-all').addClass('ewd-ufaq-hidden');
300
- });
301
-
302
- jQuery('.ewd-ufaq-collapse-all').off('click').on('click', function() {
303
-
304
- jQuery('.ewd-ufaq-faq-toggle').each(function() {
305
-
306
- var faq = jQuery(this).parent();
307
-
308
- jQuery(this).attr('aria-expanded', 'false');
309
-
310
- EWD_UFAQ_Hide_FAQ( faq );
311
- });
312
-
313
- if ( jQuery( '.ewd-ufaq-faq-category-title-toggle' ).length ) { jQuery( '.ewd-ufaq-faq-category-inner' ).addClass( 'ewd-ufaq-faq-category-body-hidden' );}
314
-
315
- jQuery('.ewd-ufaq-expand-all').removeClass('ewd-ufaq-hidden');
316
- jQuery('.ewd-ufaq-collapse-all').addClass('ewd-ufaq-hidden');
317
- });
318
- }
319
-
320
- function UFAQSetPaginationHandlers() {
321
-
322
- jQuery('.ewd-ufaq-previous-faqs').off( 'click' ).on('click', function() {
323
-
324
- var current_page = jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' );
325
-
326
- jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', Math.max( current_page - 1, 0 ) );
327
- jQuery( '.ewd-ufaq-max-faqs-not-reached' ).remove();
328
-
329
- ewd_ufaq_ajax_reload( 'Yes', 'No' );
330
- });
331
-
332
- jQuery('.ewd-ufaq-next-faqs').off( 'click' ).on('click', function() {
333
-
334
- var current_page = jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' );
335
-
336
- jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', current_page + 1 );
337
- jQuery( '.ewd-ufaq-max-faqs-not-reached' ).remove();
338
-
339
- ewd_ufaq_ajax_reload( 'Yes', 'No' );
340
- });
341
-
342
- jQuery( '.ewd-ufaq-load-more' ).off( 'click' ).on( 'click', function() {
343
-
344
- var current_page = jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' );
345
-
346
- jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', current_page + 1 );
347
- jQuery( '.ewd-ufaq-max-faqs-not-reached' ).remove();
348
-
349
- ewd_ufaq_ajax_reload( 'Yes', 'Yes' );
350
- });
351
-
352
- if ( jQuery( '.ewd-ufaq-pagination-infinite_scroll' ).length ) {
353
-
354
- jQuery( window ).scroll( function() {
355
-
356
- var infinite_pos = jQuery( '.ewd-ufaq-pagination-infinite_scroll').position();
357
-
358
- if ( infinite_pos != undefined && jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' ) != jQuery( '.ewd-ufaq-bottom' ).data( 'max_page' ) ) {
359
-
360
- if ( ( jQuery( window ).height() + jQuery( window ).scrollTop() > infinite_pos.top ) && filtering_running == false ) {
361
-
362
- jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' ) + 1 );
363
-
364
- ewd_ufaq_ajax_reload( 'Yes', 'Yes' );
365
- }
366
- }
367
- });
368
- }
369
- }
370
-
371
- function UFAQUpdatePaginationButtons() {
372
-
373
- jQuery('.ewd-ufaq-bottom').first().appendTo('.ewd-ufaq-faq-list');
374
-
375
- if ( jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' ) < jQuery( '.ewd-ufaq-bottom' ).data( 'max_page' ) ) {
376
-
377
- jQuery( '.ewd-ufaq-load-more, .ewd-ufaq-next-faqs' ).removeClass( 'ewd-ufaq-hidden' );
378
- }
379
- else { jQuery( '.ewd-ufaq-load-more, .ewd-ufaq-next-faqs' ).addClass( 'ewd-ufaq-hidden' ); }
380
-
381
- if ( jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' ) <= 1 ) {
382
-
383
- jQuery( '.ewd-ufaq-previous-faqs' ).addClass( 'ewd-ufaq-hidden' );
384
- }
385
- else { jQuery( '.ewd-ufaq-previous-faqs' ).removeClass( 'ewd-ufaq-hidden' ); }
386
- }
387
-
388
- function UFAQWPFormsHandler() {
389
-
390
- if ( typeof wpforms_integration === 'undefined' || wpforms_integration === null ) { return; }
391
-
392
- if ( wpforms_integration.ufaq_enabled == 'disabled' ) { return; }
393
-
394
- var target_field = wpforms_integration.ufaq_selected_field;
395
-
396
- jQuery( '#wpforms-' + wpforms_integration.form_id + '-field_' + wpforms_integration.ufaq_selected_field ).on( 'keyup', function() {
397
-
398
- var search_string = jQuery( this ).val();
399
-
400
- if ( search_string.length > 12 ) {
401
-
402
- jQuery( '.ewd-ufaq-wpforms-faq-results' ).removeClass( 'ewd-ufaq-hidden' );
403
- jQuery( '.ewd-ufaq-wpforms-label' ).removeClass( 'ewd-ufaq-hidden' );
404
-
405
- ewd_ufaq_ajax_reload( 'No', 'No', search_string );
406
- }
407
- else if ( ! filtering_running ) {
408
-
409
- jQuery( '.ewd-ufaq-faqs' ).html( ' ' );
410
- jQuery( '.ewd-ufaq-wpforms-faq-results' ).addClass( 'ewd-ufaq-hidden' );
411
- jQuery( '.ewd-ufaq-wpforms-label' ).addClass( 'ewd-ufaq-hidden' );
412
- }
413
-
414
- });
415
- }
416
-
417
- /*jQuery(document).ready(function() {
418
- jQuery('a[href*=#]:not([href=#])').click(function() {
419
- var post_id = jQuery(this).attr("data-postid");
420
- var selectedIDString = 'ewd-ufaq-body-'+post_id;
421
-
422
- if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
423
- var target = jQuery(this.hash);
424
- target = target.length ? target : jQuery('[name=' + this.hash.slice(1) +']');
425
- if (target.length) {
426
-
427
- jQuery('html,body').on("scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove", function(){
428
- jQuery('html,body').stop();
429
- });
430
-
431
- if (jQuery('#'+selectedIDString).hasClass("ewd-ufaq-hidden")) {
432
- EWD_UFAQ_Reveal_FAQ(post_id, selectedIDString);
433
- }
434
-
435
- jQuery('html,body').animate({
436
- scrollTop: target.offset().top
437
- }, 1000);
438
- //return false;
439
- }
440
- }
441
- });
442
- });*/
 
 
1
+ var filtering_running = false;
2
+ var wpforms_search_running = 'No';
3
+
4
+ jQuery(function(){ //DOM Ready
5
+ ufaqSetClickHandlers();
6
+ UFAQSetAutoCompleteClickHandlers();
7
+ UFAQSetRatingHandlers();
8
+ UFAQSetExpandCollapseHandlers();
9
+ UFAQSetPaginationHandlers();
10
+
11
+ UFAQWPFormsHandler();
12
+ });
13
+
14
+ function ewd_ufaq_run_effect( display, faq_element ) {
15
+
16
+ var selected_effect = typeof ewd_ufaq_php_data != 'undefined' ? ewd_ufaq_php_data.reveal_effect : 'none';
17
+
18
+ // most effect types need no options passed by default
19
+ var options = {};
20
+
21
+ // some effects have required parameters
22
+ if ( selected_effect === 'size' ) {
23
+
24
+ options = { to: { width: 200, height: 60 } };
25
+ }
26
+
27
+ // run the effect
28
+ if ( display == 'show' ) { faq_element.find( '.ewd-ufaq-faq-body' ).show( selected_effect, options, 500, ewd_ufaq_toggle_hidden_class( faq_element ) ); }
29
+ if ( display == 'hide' ) { faq_element.find( '.ewd-ufaq-faq-body' ).hide( selected_effect, options, 500, ewd_ufaq_toggle_hidden_class( faq_element ) ); }
30
+ };
31
+
32
+ // callback function to bring a hidden box back
33
+ function ewd_ufaq_toggle_hidden_class( faq_element ) {
34
+
35
+ setTimeout( function() { faq_element.find( '.ewd-ufaq-faq-body' ).toggleClass( 'ewd-ufaq-hidden' ); }, 500 );
36
+ };
37
+
38
+ function ufaqSetClickHandlers() {
39
+
40
+ jQuery( '.ewd-ufaq-faq-toggle' ).off( 'click' ).on( 'click', function( event ) {
41
+
42
+ jQuery( this ).attr( 'aria-expanded', function ( i, attr ) {
43
+ return attr == 'true' ? 'false' : 'true'
44
+ });
45
+
46
+ event.preventDefault();
47
+
48
+ faq = jQuery( this ).parent();
49
+
50
+ if ( faq.find( '.ewd-ufaq-faq-body' ).hasClass( 'ewd-ufaq-hidden' ) ) {
51
+
52
+ EWD_UFAQ_Reveal_FAQ( faq );
53
+
54
+ if ( typeof ewd_ufaq_php_data != 'undefined' && ewd_ufaq_php_data.faq_scroll ) { jQuery('html, body').animate({scrollTop: jQuery(this).offset().top -80}, 100); }
55
+ }
56
+ else {
57
+
58
+ EWD_UFAQ_Hide_FAQ( faq );
59
+ }
60
+ });
61
+
62
+ jQuery( '.ewd-ufaq-faq-category-title-toggle' ).off( 'click' ).on( 'click', function() {
63
+
64
+ var category = jQuery( this ).parent();
65
+ var category_inner = category.find( '.ewd-ufaq-faq-category-inner' );
66
+
67
+ category_inner.toggleClass( 'ewd-ufaq-faq-category-body-hidden' );
68
+
69
+ if ( typeof ewd_ufaq_php_data == 'undefined' || ! ewd_ufaq_php_data.category_accordion ) { return; }
70
+
71
+ jQuery( '.ewd-ufaq-faq-category-inner' ).each( function( index, object ) {
72
+
73
+ if ( object != category_inner.get( 0 ) ) { jQuery( this ).addClass( 'ewd-ufaq-faq-category-body-hidden' ); }
74
+ });
75
+ });
76
+
77
+ jQuery( '.ewd-ufaq-back-to-top-link' ).off( 'click' ).on( 'click', function( event ) {
78
+ event.preventDefault();
79
+
80
+ jQuery( 'html, body' ).animate( { scrollTop: jQuery( '#ewd-ufaq-faq-list' ).offset().top -80 }, 100 );
81
+ });
82
+
83
+ jQuery( '.ewd-ufaq-faq-header-link' ).off( 'click' ).on( 'click', function( event ) {
84
+ event.preventDefault();
85
+
86
+ var faq_id = jQuery( this ).data( 'postid' );
87
+ var faq = jQuery( '#ewd-ufaq-post-' + faq_id ).first();
88
+
89
+ if ( faq.find( '.ewd-ufaq-faq-body' ).hasClass( 'ewd-ufaq-hidden' ) ) {
90
+
91
+ EWD_UFAQ_Reveal_FAQ( faq );
92
+ }
93
+
94
+ jQuery( 'html, body' ).animate( { scrollTop: faq.offset().top - 20 }, 100 );
95
+ });
96
+ }
97
+
98
+ function UFAQSetAutoCompleteClickHandlers() {
99
+
100
+ jQuery( '.ewd-ufaq-text-auto-complete' ).on( 'keyup', function() {
101
+
102
+ jQuery( '.ewd-ufaq-text-auto-complete' ).autocomplete({
103
+
104
+ source: ewd_ufaq_php_data.question_titles,
105
+ minLength: 3,
106
+ appendTo: '#ewd-ufaq-jquery-ajax-search',
107
+ select: function( event, ui ) {
108
+ jQuery( this ).val( ui.item.value );
109
+ ewd_ufaq_ajax_reload();
110
+ }
111
+ });
112
+
113
+ jQuery( '.ewd-ufaq-text-auto-complete' ).autocomplete( 'enable' );
114
+ });
115
+ }
116
+
117
+ function EWD_UFAQ_Reveal_FAQ( faq_element ) {
118
+
119
+ var post_id = faq_element.data( 'post_id' );
120
+
121
+ var data = 'post_id=' + post_id + '&action=ewd_ufaq_record_view';
122
+ jQuery.post(ajaxurl, data, function(response) {});
123
+
124
+ faq_element.find( '.ewd-ufaq-post-margin-symbol' ).html( faq_element.find( '.ewd-ufaq-post-margin-symbol' ).html().toUpperCase() );
125
+
126
+ faq_element.find( '.ewd-ufaq-faq-excerpt' ).addClass( 'ewd-ufaq-hidden' );
127
+
128
+ if ( typeof ewd_ufaq_php_data != 'undefined' && ewd_ufaq_php_data.reveal_effect != 'none' ) { ewd_ufaq_run_effect( 'show', faq_element ); }
129
+ else { faq_element.find( '.ewd-ufaq-faq-body' ).removeClass( 'ewd-ufaq-hidden' ); }
130
+
131
+ if ( typeof ewd_ufaq_php_data != 'undefined' && ewd_ufaq_php_data.faq_accordion ) {
132
+
133
+ jQuery( '.ewd-ufaq-faq-div' ).each( function() {
134
+
135
+ if ( jQuery( this ).prop( 'id' ) != faq_element.prop( 'id' ) ) {
136
+
137
+ EWD_UFAQ_Hide_FAQ( jQuery(this) );
138
+ }
139
+ else {
140
+
141
+ jQuery( this ).addClass( 'ewd-ufaq-post-active' );
142
+ }
143
+ });
144
+ }
145
+ else {
146
+
147
+ faq_element.addClass( 'ewd-ufaq-post-active' );
148
+ }
149
+ }
150
+
151
+ function EWD_UFAQ_Hide_FAQ( faq_element ) {
152
+
153
+ var post_id = faq_element.data( 'post_id' );
154
+
155
+ faq_element.find( '.ewd-ufaq-faq-excerpt' ).removeClass( 'ewd-ufaq-hidden' );
156
+
157
+ if ( typeof ewd_ufaq_php_data != 'undefined' && ewd_ufaq_php_data.reveal_effect != 'none' && ! faq_element.find( '.ewd-ufaq-faq-body' ).hasClass( 'ewd-ufaq-hidden' ) ) { ewd_ufaq_run_effect( 'hide', faq_element ); }
158
+ else { faq_element.find( '.ewd-ufaq-faq-body' ).addClass( 'ewd-ufaq-hidden' ); }
159
+
160
+ faq_element.removeClass( 'ewd-ufaq-post-active' );
161
+ faq_element.find( '.ewd-ufaq-post-margin-symbol' ).html( faq_element.find( '.ewd-ufaq-post-margin-symbol' ).html().toLowerCase() );
162
+ }
163
+
164
+ jQuery(document).ready(function() {
165
+
166
+ jQuery( '#ewd-ufaq-ajax-search-submit' ).click( function() {
167
+
168
+ jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', 1 );
169
+
170
+ ewd_ufaq_ajax_reload();
171
+ });
172
+
173
+ jQuery( '#ewd-ufaq-ajax-form' ).submit( function( event ) {
174
+
175
+ event.preventDefault();
176
+
177
+ ewd_ufaq_ajax_reload();
178
+ });
179
+
180
+ jQuery( '#ewd-ufaq-jquery-ajax-search .ewd-ufaq-text-input' ).keyup( function() {
181
+
182
+ ewd_ufaq_ajax_reload();
183
+ });
184
+
185
+ if ( jQuery( '#ewd-ufaq-ajax-text-input' ).length ) {
186
+
187
+ if ( jQuery( '#ewd-ufaq-ajax-text-input' ).val() != '' ) { ewd_ufaq_ajax_reload(); }
188
+ }
189
+
190
+ if ( typeof ewd_ufaq_php_data != 'undefined' && ewd_ufaq_php_data.display_faq > 0 ) {
191
+
192
+ var faq = jQuery( '.ewd-ufaq-faq-div[data-post_id="' + ewd_ufaq_php_data.display_faq + '"]' );
193
+
194
+ faq.parent().removeClass( 'ewd-ufaq-hidden' );
195
+
196
+ EWD_UFAQ_Reveal_FAQ( faq );
197
+
198
+ jQuery('html, body').animate({scrollTop: faq.offset().top -80}, 100);
199
+ }
200
+ });
201
+
202
+ var request_count = 0;
203
+ function ewd_ufaq_ajax_reload( pagination, append_results, search_string ) {
204
+
205
+ filtering_running = true;
206
+
207
+ var search_string = search_string ? search_string : jQuery( '.ewd-ufaq-text-input' ).val();
208
+ var include_cat = jQuery( '#ewd-ufaq-include-category' ).val();
209
+ var exclude_cat = jQuery( '#ewd-ufaq-exclude-category' ).val();
210
+ var orderby = jQuery( '#ewd-ufaq-orderby' ).val();
211
+ var order = jQuery( '#ewd-ufaq-order' ).val();
212
+ var post_count = jQuery( '#ewd-ufaq-post-count' ).val();
213
+ var current_url = jQuery( '#ewd-ufaq-current-url' ).val();
214
+ var show_on_load = jQuery( '#ewd-ufaq-show-on-load' ).val();
215
+
216
+ if ( search_string == undefined ) { search_string = ''; }
217
+
218
+ if ( pagination == 'Yes' ) {
219
+
220
+ var faqs_only = 'Yes';
221
+ var faq_page = jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' );
222
+ }
223
+ else {
224
+
225
+ var retrieving_results = typeof ewd_ufaq_php_data != 'undefined' ? ewd_ufaq_php_data.retrieving_results : 'Retrieving Results';
226
+
227
+ jQuery( '.ewd-ufaq-faqs' ).html( '<h3>' + ewd_ufaq_php_data.retrieving_results + '</h3>' );
228
+
229
+ var faqs_only = 'No';
230
+ var faq_page = 0;
231
+ }
232
+
233
+ request_count = request_count + 1;
234
+
235
+ if (show_on_load == 'No' && Question.length == 0) {jQuery('#ewd-ufaq-ajax-results').html(''); return;}
236
+
237
+ var data = 'search_string=' + search_string + '&include_category=' + include_cat + '&exclude_category=' + exclude_cat + '&orderby=' + orderby + '&order=' + order + '&post_count=' + post_count + '&request_count=' + request_count + '&current_url=' + current_url + '&faqs_only=' + faqs_only + '&faq_page=' + faq_page + '&action=ewd_ufaq_search';
238
+ jQuery.post( ajaxurl, data, function( response ) {
239
+
240
+ if ( response.data.request_count == request_count ) {
241
+
242
+ if ( append_results == 'Yes' ) { jQuery( '.ewd-ufaq-faqs' ).append( response.data.output ); }
243
+ else { jQuery( '.ewd-ufaq-faqs' ).html( response.data.output ); }
244
+
245
+ jQuery( '.ewd-ufaq-bottom' ).data( 'max_page', response.data.max_page );
246
+
247
+ jQuery( '.ewd-ufaq-expand-all' ).removeClass( 'ewd-ufaq-hidden' );
248
+ jQuery( '.ewd-ufaq-collapse-all' ).addClass( 'ewd-ufaq-hidden' );
249
+
250
+ ufaqSetClickHandlers();
251
+ UFAQSetRatingHandlers();
252
+ UFAQSetPaginationHandlers();
253
+ UFAQUpdatePaginationButtons();
254
+ UFAQSetExpandCollapseHandlers();
255
+
256
+ filtering_running = false;
257
+ }
258
+ });
259
+ }
260
+
261
+ function UFAQSetRatingHandlers() {
262
+
263
+ jQuery( '.ewd-ufaq-rating-button' ).off( 'click' ).on( 'click', function() {
264
+
265
+ var faq_id = jQuery( this ).data( 'faq_id' );
266
+ jQuery( '*[data-faq_id="' + faq_id + '"]' ).off( 'click' );
267
+
268
+ var current_count = jQuery( this ).find( 'span' ).html();
269
+ current_count++;
270
+ jQuery( this ).find( 'span' ).html( current_count );
271
+
272
+ if ( jQuery( this ).hasClass( 'ewd-ufaq-up-vote' ) ) { vote_type = 'up'; }
273
+ else { vote_type = 'down'; }
274
+
275
+ var data = 'faq_id=' + faq_id + '&vote_type=' + vote_type + '&action=ewd_ufaq_update_rating';
276
+
277
+ jQuery.post( ajaxurl, data );
278
+ });
279
+ }
280
+
281
+ function UFAQSetExpandCollapseHandlers() {
282
+
283
+ jQuery('.ewd-ufaq-expand-all').off('click').on('click', function() {
284
+
285
+ var accordion_setting = ewd_ufaq_php_data.faq_accordion;
286
+ ewd_ufaq_php_data.faq_accordion = false; // turn FAQ accordion off while expanding all
287
+
288
+ jQuery( '.ewd-ufaq-faq-toggle' ).each( function() {
289
+
290
+ var faq = jQuery(this).parent();
291
+
292
+ jQuery(this).attr('aria-expanded', 'true');
293
+
294
+ EWD_UFAQ_Reveal_FAQ( faq );
295
+ });
296
+
297
+ ewd_ufaq_php_data.faq_accordion = accordion_setting; //reset FAQ accordion setting
298
+
299
+ jQuery('.ewd-ufaq-faq-category-inner').removeClass('ewd-ufaq-faq-category-body-hidden');
300
+ jQuery('.ewd-ufaq-collapse-all').removeClass('ewd-ufaq-hidden');
301
+ jQuery('.ewd-ufaq-expand-all').addClass('ewd-ufaq-hidden');
302
+ });
303
+
304
+ jQuery('.ewd-ufaq-collapse-all').off('click').on('click', function() {
305
+
306
+ jQuery('.ewd-ufaq-faq-toggle').each(function() {
307
+
308
+ var faq = jQuery(this).parent();
309
+
310
+ jQuery(this).attr('aria-expanded', 'false');
311
+
312
+ EWD_UFAQ_Hide_FAQ( faq );
313
+ });
314
+
315
+ if ( jQuery( '.ewd-ufaq-faq-category-title-toggle' ).length ) { jQuery( '.ewd-ufaq-faq-category-inner' ).addClass( 'ewd-ufaq-faq-category-body-hidden' );}
316
+
317
+ jQuery('.ewd-ufaq-expand-all').removeClass('ewd-ufaq-hidden');
318
+ jQuery('.ewd-ufaq-collapse-all').addClass('ewd-ufaq-hidden');
319
+ });
320
+ }
321
+
322
+ function UFAQSetPaginationHandlers() {
323
+
324
+ jQuery('.ewd-ufaq-previous-faqs').off( 'click' ).on('click', function() {
325
+
326
+ var current_page = jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' );
327
+
328
+ jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', Math.max( current_page - 1, 0 ) );
329
+ jQuery( '.ewd-ufaq-max-faqs-not-reached' ).remove();
330
+
331
+ ewd_ufaq_ajax_reload( 'Yes', 'No' );
332
+ });
333
+
334
+ jQuery('.ewd-ufaq-next-faqs').off( 'click' ).on('click', function() {
335
+
336
+ var current_page = jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' );
337
+
338
+ jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', current_page + 1 );
339
+ jQuery( '.ewd-ufaq-max-faqs-not-reached' ).remove();
340
+
341
+ ewd_ufaq_ajax_reload( 'Yes', 'No' );
342
+ });
343
+
344
+ jQuery( '.ewd-ufaq-load-more' ).off( 'click' ).on( 'click', function() {
345
+
346
+ var current_page = jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' );
347
+
348
+ jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', current_page + 1 );
349
+ jQuery( '.ewd-ufaq-max-faqs-not-reached' ).remove();
350
+
351
+ ewd_ufaq_ajax_reload( 'Yes', 'Yes' );
352
+ });
353
+
354
+ if ( jQuery( '.ewd-ufaq-pagination-infinite_scroll' ).length ) {
355
+
356
+ jQuery( window ).scroll( function() {
357
+
358
+ var infinite_pos = jQuery( '.ewd-ufaq-pagination-infinite_scroll').position();
359
+
360
+ if ( infinite_pos != undefined && jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' ) != jQuery( '.ewd-ufaq-bottom' ).data( 'max_page' ) ) {
361
+
362
+ if ( ( jQuery( window ).height() + jQuery( window ).scrollTop() > infinite_pos.top ) && filtering_running == false ) {
363
+
364
+ jQuery( '.ewd-ufaq-bottom' ).data( 'current_page', jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' ) + 1 );
365
+
366
+ ewd_ufaq_ajax_reload( 'Yes', 'Yes' );
367
+ }
368
+ }
369
+ });
370
+ }
371
+ }
372
+
373
+ function UFAQUpdatePaginationButtons() {
374
+
375
+ jQuery('.ewd-ufaq-bottom').first().appendTo('.ewd-ufaq-faq-list');
376
+
377
+ if ( jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' ) < jQuery( '.ewd-ufaq-bottom' ).data( 'max_page' ) ) {
378
+
379
+ jQuery( '.ewd-ufaq-load-more, .ewd-ufaq-next-faqs' ).removeClass( 'ewd-ufaq-hidden' );
380
+ }
381
+ else { jQuery( '.ewd-ufaq-load-more, .ewd-ufaq-next-faqs' ).addClass( 'ewd-ufaq-hidden' ); }
382
+
383
+ if ( jQuery( '.ewd-ufaq-bottom' ).data( 'current_page' ) <= 1 ) {
384
+
385
+ jQuery( '.ewd-ufaq-previous-faqs' ).addClass( 'ewd-ufaq-hidden' );
386
+ }
387
+ else { jQuery( '.ewd-ufaq-previous-faqs' ).removeClass( 'ewd-ufaq-hidden' ); }
388
+ }
389
+
390
+ function UFAQWPFormsHandler() {
391
+
392
+ if ( typeof wpforms_integration === 'undefined' || wpforms_integration === null ) { return; }
393
+
394
+ if ( wpforms_integration.ufaq_enabled == 'disabled' ) { return; }
395
+
396
+ var target_field = wpforms_integration.ufaq_selected_field;
397
+
398
+ jQuery( '#wpforms-' + wpforms_integration.form_id + '-field_' + wpforms_integration.ufaq_selected_field ).on( 'keyup', function() {
399
+
400
+ var search_string = jQuery( this ).val();
401
+
402
+ if ( search_string.length > 12 ) {
403
+
404
+ jQuery( '.ewd-ufaq-wpforms-faq-results' ).removeClass( 'ewd-ufaq-hidden' );
405
+ jQuery( '.ewd-ufaq-wpforms-label' ).removeClass( 'ewd-ufaq-hidden' );
406
+
407
+ ewd_ufaq_ajax_reload( 'No', 'No', search_string );
408
+ }
409
+ else if ( ! filtering_running ) {
410
+
411
+ jQuery( '.ewd-ufaq-faqs' ).html( ' ' );
412
+ jQuery( '.ewd-ufaq-wpforms-faq-results' ).addClass( 'ewd-ufaq-hidden' );
413
+ jQuery( '.ewd-ufaq-wpforms-label' ).addClass( 'ewd-ufaq-hidden' );
414
+ }
415
+
416
+ });
417
+ }
418
+
419
+ /*jQuery(document).ready(function() {
420
+ jQuery('a[href*=#]:not([href=#])').click(function() {
421
+ var post_id = jQuery(this).attr("data-postid");
422
+ var selectedIDString = 'ewd-ufaq-body-'+post_id;
423
+
424
+ if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
425
+ var target = jQuery(this.hash);
426
+ target = target.length ? target : jQuery('[name=' + this.hash.slice(1) +']');
427
+ if (target.length) {
428
+
429
+ jQuery('html,body').on("scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove", function(){
430
+ jQuery('html,body').stop();
431
+ });
432
+
433
+ if (jQuery('#'+selectedIDString).hasClass("ewd-ufaq-hidden")) {
434
+ EWD_UFAQ_Reveal_FAQ(post_id, selectedIDString);
435
+ }
436
+
437
+ jQuery('html,body').animate({
438
+ scrollTop: target.offset().top
439
+ }, 1000);
440
+ //return false;
441
+ }
442
+ }
443
+ });
444
+ });*/
assets/js/plugin-deactivation.js CHANGED
@@ -1,53 +1,53 @@
1
- jQuery(function($){
2
- var $deactivateLink = $('#the-list').find('[data-slug="ultimate-faqs"] span.deactivate a'),
3
- $overlay = $('#ewd-ufaq-deactivate-survey-ultimate-faqs'),
4
- $form = $overlay.find('form'),
5
- formOpen = false;
6
- // Plugin listing table deactivate link.
7
- $deactivateLink.on('click', function(event) {
8
- event.preventDefault();
9
- $overlay.css('display', 'table');
10
- formOpen = true;
11
- $form.find('.ewd-ufaq-deactivate-survey-option:first-of-type input[type=radio]').focus();
12
- });
13
- // Survey radio option selected.
14
- $form.on('change', 'input[type=radio]', function(event) {
15
- event.preventDefault();
16
- $form.find('input[type=text], .error').hide();
17
- $form.find('.ewd-ufaq-deactivate-survey-option').removeClass('selected');
18
- $(this).closest('.ewd-ufaq-deactivate-survey-option').addClass('selected').find('input[type=text]').show();
19
- });
20
- // Survey Skip & Deactivate.
21
- $form.on('click', '.ewd-ufaq-deactivate-survey-deactivate', function(event) {
22
- event.preventDefault();
23
- location.href = $deactivateLink.attr('href');
24
- });
25
- // Survey submit.
26
- $form.submit(function(event) {
27
- event.preventDefault();
28
- if (! $form.find('input[type=radio]:checked').val()) {
29
- $form.find('.ewd-ufaq-deactivate-survey-footer').prepend('<span class="error">Please select an option below</span>');
30
- return;
31
- }
32
- var data = {
33
- code: $form.find('.selected input[type=radio]').val(),
34
- install_time: $form.data('installtime'),
35
- reason: $form.find('.selected .ewd-ufaq-deactivate-survey-option-reason').text(),
36
- details: $form.find('.selected input[type=text]').val(),
37
- site: ewd_ufaq_deactivation_data.site_url,
38
- plugin: 'Ultimate FAQs'
39
- }
40
- var submitSurvey = $.post('https://www.etoilewebdesign.com/UPCP-Key-Check/Deactivation_Surveys.php', data);
41
- submitSurvey.always(function() {
42
- location.href = $deactivateLink.attr('href');
43
- });
44
- });
45
- // Exit key closes survey when open.
46
- $(document).keyup(function(event) {
47
- if (27 === event.keyCode && formOpen) {
48
- $overlay.hide();
49
- formOpen = false;
50
- $deactivateLink.focus();
51
- }
52
- });
53
  });
1
+ jQuery(function($){
2
+ var $deactivateLink = $('#the-list').find('[data-slug="ultimate-faqs"] span.deactivate a'),
3
+ $overlay = $('#ewd-ufaq-deactivate-survey-ultimate-faqs'),
4
+ $form = $overlay.find('form'),
5
+ formOpen = false;
6
+ // Plugin listing table deactivate link.
7
+ $deactivateLink.on('click', function(event) {
8
+ event.preventDefault();
9
+ $overlay.css('display', 'table');
10
+ formOpen = true;
11
+ $form.find('.ewd-ufaq-deactivate-survey-option:first-of-type input[type=radio]').focus();
12
+ });
13
+ // Survey radio option selected.
14
+ $form.on('change', 'input[type=radio]', function(event) {
15
+ event.preventDefault();
16
+ $form.find('input[type=text], .error').hide();
17
+ $form.find('.ewd-ufaq-deactivate-survey-option').removeClass('selected');
18
+ $(this).closest('.ewd-ufaq-deactivate-survey-option').addClass('selected').find('input[type=text]').show();
19
+ });
20
+ // Survey Skip & Deactivate.
21
+ $form.on('click', '.ewd-ufaq-deactivate-survey-deactivate', function(event) {
22
+ event.preventDefault();
23
+ location.href = $deactivateLink.attr('href');
24
+ });
25
+ // Survey submit.
26
+ $form.submit(function(event) {
27
+ event.preventDefault();
28
+ if (! $form.find('input[type=radio]:checked').val()) {
29
+ $form.find('.ewd-ufaq-deactivate-survey-footer').prepend('<span class="error">Please select an option below</span>');
30
+ return;
31
+ }
32
+ var data = {
33
+ code: $form.find('.selected input[type=radio]').val(),
34
+ install_time: $form.data('installtime'),
35
+ reason: $form.find('.selected .ewd-ufaq-deactivate-survey-option-reason').text(),
36
+ details: $form.find('.selected input[type=text]').val(),
37
+ site: ewd_ufaq_deactivation_data.site_url,
38
+ plugin: 'Ultimate FAQs'
39
+ }
40
+ var submitSurvey = $.post('https://www.etoilewebdesign.com/UPCP-Key-Check/Deactivation_Surveys.php', data);
41
+ submitSurvey.always(function() {
42
+ location.href = $deactivateLink.attr('href');
43
+ });
44
+ });
45
+ // Exit key closes survey when open.
46
+ $(document).keyup(function(event) {
47
+ if (27 === event.keyCode && formOpen) {
48
+ $overlay.hide();
49
+ formOpen = false;
50
+ $deactivateLink.focus();
51
+ }
52
+ });
53
  });
ewd-ufaq-templates/faq-answer.php CHANGED
@@ -1,3 +1,3 @@
1
- <div class='ewd-ufaq-post-margin ewd-ufaq-faq-post'>
2
- <?php echo $this->faq_answer; ?>
3
  </div>
1
+ <div class='ewd-ufaq-post-margin ewd-ufaq-faq-post'>
2
+ <?php echo $this->faq_answer; ?>
3
  </div>
ewd-ufaq-templates/faq-author-date.php CHANGED
@@ -1,9 +1,9 @@
1
- <div class='ewd-ufaq-author-date'>
2
-
3
- <?php echo esc_html( $this->get_label( 'label-posted' ) ); ?>
4
-
5
- <?php $this->maybe_print_author(); ?>
6
-
7
- <?php $this->maybe_print_date(); ?>
8
-
9
  </div>
1
+ <div class='ewd-ufaq-author-date'>
2
+
3
+ <?php echo esc_html( $this->get_label( 'label-posted' ) ); ?>
4
+
5
+ <?php $this->maybe_print_author(); ?>
6
+
7
+ <?php $this->maybe_print_date(); ?>
8
+
9
  </div>
ewd-ufaq-templates/faq-author.php CHANGED
@@ -1,5 +1,5 @@
1
- <?php echo esc_html( $this->get_label( 'label-by' ) ); ?>
2
-
3
- <span class='ewd-ufaq-author'>
4
- <?php echo $this->faq_author; ?>
5
  </span>
1
+ <?php echo esc_html( $this->get_label( 'label-by' ) ); ?>
2
+
3
+ <span class='ewd-ufaq-author'>
4
+ <?php echo $this->faq_author; ?>
5
  </span>
ewd-ufaq-templates/faq-back-to-top.php CHANGED
@@ -1,7 +1,7 @@
1
- <div class='ewd-ufaq-back-to-top'>
2
-
3
- <a class='ewd-ufaq-back-to-top-link'>
4
- <?php echo esc_html( $this->get_label( 'label-back-to-top' ) ); ?>
5
- </a>
6
-
7
  </div>
1
+ <div class='ewd-ufaq-back-to-top'>
2
+
3
+ <a class='ewd-ufaq-back-to-top-link'>
4
+ <?php echo esc_html( $this->get_label( 'label-back-to-top' ) ); ?>
5
+ </a>
6
+
7
  </div>
ewd-ufaq-templates/faq-categories.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class='ewd-ufaq-faq-categories'>
2
-
3
- <?php echo esc_html( $this->get_categories_label() ); ?>
4
-
5
- <?php foreach( $this->categories as $key => $category ) { ?>
6
-
7
- <?php echo $this->get_category_value( $category ) . ( $key != sizeOf( $this->categories ) - 1 ? ', ' : '' ); ?>
8
-
9
- <?php } ?>
10
-
11
  </div>
1
+ <div class='ewd-ufaq-faq-categories'>
2
+
3
+ <?php echo esc_html( $this->get_categories_label() ); ?>
4
+
5
+ <?php foreach( $this->categories as $key => $category ) { ?>
6
+
7
+ <?php echo $this->get_category_value( $category ) . ( $key != sizeOf( $this->categories ) - 1 ? ', ' : '' ); ?>
8
+
9
+ <?php } ?>
10
+
11
  </div>
ewd-ufaq-templates/faq-custom-fields.php CHANGED
@@ -1,21 +1,21 @@
1
- <div class='ewd-ufaq-faq-custom-fields'>
2
-
3
- <?php foreach ( $this->get_custom_fields() as $custom_field ) {?>
4
-
5
- <?php $value = $this->get_custom_field_value( $custom_field ); ?>
6
-
7
- <?php if ( $this->get_option( 'hide-blank-fields' ) and ! $value ) { continue; } ?>
8
-
9
- <div class='ewd-ufaq-custom-field-label'>
10
- <?php echo esc_html( $custom_field->name ); ?>:
11
- </div>
12
-
13
- <div class='ewd-ufaq-custom-field-value'>
14
- <?php echo ( is_array( $value ) ? implode( ', ', $value ) : $value ); ?>
15
- </div>
16
-
17
- <div class='ewd-ufaq-clear'></div>
18
-
19
- <?php } ?>
20
-
21
  </div>
1
+ <div class='ewd-ufaq-faq-custom-fields'>
2
+
3
+ <?php foreach ( $this->get_custom_fields() as $custom_field ) {?>
4
+
5
+ <?php $value = $this->get_custom_field_value( $custom_field ); ?>
6
+
7
+ <?php if ( $this->get_option( 'hide-blank-fields' ) and ! $value ) { continue; } ?>
8
+
9
+ <div class='ewd-ufaq-custom-field-label'>
10
+ <?php echo esc_html( $custom_field->name ); ?>:
11
+ </div>
12
+
13
+ <div class='ewd-ufaq-custom-field-value'>
14
+ <?php echo ( is_array( $value ) ? implode( ', ', $value ) : $value ); ?>
15
+ </div>
16
+
17
+ <div class='ewd-ufaq-clear'></div>
18
+
19
+ <?php } ?>
20
+
21
  </div>
ewd-ufaq-templates/faq-date.php CHANGED
@@ -1,5 +1,5 @@
1
- <?php echo esc_html( $this->get_label( 'label-on' ) ); ?>
2
-
3
- <span class='ewd-ufaq-date'>
4
- <?php echo $this->date; ?>
5
  </span>
1
+ <?php echo esc_html( $this->get_label( 'label-on' ) ); ?>
2
+
3
+ <span class='ewd-ufaq-date'>
4
+ <?php echo $this->date; ?>
5
  </span>
ewd-ufaq-templates/faq-permalink.php CHANGED
@@ -1,10 +1,10 @@
1
- <div class='ewd-ufaq-permalink'>
2
-
3
- <a href='<?php echo esc_attr( $this->permalink ); ?>'>
4
-
5
- <?php if ( $this->get_option( 'include-permalink' ) == 'both' or $this->get_option( 'include-permalink' ) == 'text' ) { echo $this->get_label( 'label-permalink' ); } ?>
6
- <?php if ( $this->get_option( 'include-permalink' ) == 'both' or $this->get_option( 'include-permalink' ) == 'icon' ) { ?> <div class='ewd-ufaq-permalink-image'></div> <?php } ?>
7
-
8
- </a>
9
-
10
  </div>
1
+ <div class='ewd-ufaq-permalink'>
2
+
3
+ <a href='<?php echo esc_attr( $this->permalink ); ?>'>
4
+
5
+ <?php if ( $this->get_option( 'include-permalink' ) == 'both' or $this->get_option( 'include-permalink' ) == 'text' ) { echo $this->get_label( 'label-permalink' ); } ?>
6
+ <?php if ( $this->get_option( 'include-permalink' ) == 'both' or $this->get_option( 'include-permalink' ) == 'icon' ) { ?> <div class='ewd-ufaq-permalink-image'></div> <?php } ?>
7
+
8
+ </a>
9
+
10
  </div>
ewd-ufaq-templates/faq-preview.php CHANGED
@@ -1,3 +1,3 @@
1
- <div class='ewd-ufaq-faq-excerpt'>
2
- <?php echo $this->faq_preview; ?>
3
  </div>
1
+ <div class='ewd-ufaq-faq-excerpt'>
2
+ <?php echo $this->faq_preview; ?>
3
  </div>
ewd-ufaq-templates/faq-ratings.php CHANGED
@@ -1,18 +1,18 @@
1
- <div class='ewd-ufaq-ratings'>
2
-
3
- <div class='ewd-ufaq-ratings-label'>
4
- <?php echo esc_html( $this->get_label( 'label-find-faq-helpful' ) ); ?>
5
- </div>
6
-
7
- <div class='ewd-ufaq-rating-button ewd-ufaq-up-vote <?php echo ( ( $ewd_ufaq_controller->settings->get_setting( 'thumbs-up-image' ) and $ewd_ufaq_controller->settings->get_setting( 'thumbs-up-image' ) != 'http://' ) ? 'ewd-ufaq-ratings-custom-image' : 'ewd-ufaq-ratings-default-image' ); ?>' data-faq_id='<?php echo $this->post->ID; ?>'>
8
- <?php echo $this->get_thumbs_up_image(); ?>
9
- <span><?php echo $this->get_up_votes(); ?></span>
10
- </div>
11
-
12
- <div class='ewd-ufaq-rating-button ewd-ufaq-down-vote <?php echo ( ( $ewd_ufaq_controller->settings->get_setting( 'thumbs-down-image' ) and $ewd_ufaq_controller->settings->get_setting( 'thumbs-down-image' ) != 'http://' ) ? 'ewd-ufaq-ratings-custom-image' : 'ewd-ufaq-ratings-default-image' ); ?>' data-faq_id='<?php echo $this->post->ID; ?>'>
13
- <?php echo $this->get_thumbs_down_image(); ?>
14
- <span><?php echo $this->get_down_votes(); ?></span>
15
- </div>
16
- </div>
17
-
18
  <div class='ewd-ufaq-clear'></div>
1
+ <div class='ewd-ufaq-ratings'>
2
+
3
+ <div class='ewd-ufaq-ratings-label'>
4
+ <?php echo esc_html( $this->get_label( 'label-find-faq-helpful' ) ); ?>
5
+ </div>
6
+
7
+ <div class='ewd-ufaq-rating-button ewd-ufaq-up-vote <?php echo ( ( $ewd_ufaq_controller->settings->get_setting( 'thumbs-up-image' ) and $ewd_ufaq_controller->settings->get_setting( 'thumbs-up-image' ) != 'http://' ) ? 'ewd-ufaq-ratings-custom-image' : 'ewd-ufaq-ratings-default-image' ); ?>' data-faq_id='<?php echo $this->post->ID; ?>'>
8
+ <?php echo $this->get_thumbs_up_image(); ?>
9
+ <span><?php echo $this->get_up_votes(); ?></span>
10
+ </div>
11
+
12
+ <div class='ewd-ufaq-rating-button ewd-ufaq-down-vote <?php echo ( ( $ewd_ufaq_controller->settings->get_setting( 'thumbs-down-image' ) and $ewd_ufaq_controller->settings->get_setting( 'thumbs-down-image' ) != 'http://' ) ? 'ewd-ufaq-ratings-custom-image' : 'ewd-ufaq-ratings-default-image' ); ?>' data-faq_id='<?php echo $this->post->ID; ?>'>
13
+ <?php echo $this->get_thumbs_down_image(); ?>
14
+ <span><?php echo $this->get_down_votes(); ?></span>
15
+ </div>
16
+ </div>
17
+
18
  <div class='ewd-ufaq-clear'></div>
ewd-ufaq-templates/faq-social-media-email.php CHANGED
@@ -1,17 +1,17 @@
1
- <li class='rrssb-email'>
2
-
3
- <a href='<?php echo esc_attr( $this->get_social_email_mailto_link() ); ?>'>
4
-
5
- <span class='rrssb-icon'>
6
-
7
- <svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'>
8
- <path d='M20.11 26.147c-2.335 1.05-4.36 1.4-7.124 1.4C6.524 27.548.84 22.916.84 15.284.84 7.343 6.602.45 15.4.45c6.854 0 11.8 4.7 11.8 11.252 0 5.684-3.193 9.265-7.398 9.3-1.83 0-3.153-.934-3.347-2.997h-.077c-1.208 1.986-2.96 2.997-5.023 2.997-2.532 0-4.36-1.868-4.36-5.062 0-4.75 3.503-9.07 9.11-9.07 1.713 0 3.7.4 4.6.972l-1.17 7.203c-.387 2.298-.115 3.3 1 3.4 1.674 0 3.774-2.102 3.774-6.58 0-5.06-3.27-8.994-9.304-8.994C9.05 2.87 3.83 7.545 3.83 14.97c0 6.5 4.2 10.2 10 10.202 1.987 0 4.09-.43 5.647-1.245l.634 2.22zM16.647 10.1c-.31-.078-.7-.155-1.207-.155-2.572 0-4.596 2.53-4.596 5.53 0 1.5.7 2.4 1.9 2.4 1.44 0 2.96-1.83 3.31-4.088l.592-3.72z' />
9
- </svg>
10
-
11
- </span>
12
-
13
- <span class='rrssb-text'>email</span>
14
-
15
- </a>
16
-
17
  </li>
1
+ <li class='rrssb-email'>
2
+
3
+ <a href='<?php echo esc_attr( $this->get_social_email_mailto_link() ); ?>'>
4
+
5
+ <span class='rrssb-icon'>
6
+
7
+ <svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'>
8
+ <path d='M20.11 26.147c-2.335 1.05-4.36 1.4-7.124 1.4C6.524 27.548.84 22.916.84 15.284.84 7.343 6.602.45 15.4.45c6.854 0 11.8 4.7 11.8 11.252 0 5.684-3.193 9.265-7.398 9.3-1.83 0-3.153-.934-3.347-2.997h-.077c-1.208 1.986-2.96 2.997-5.023 2.997-2.532 0-4.36-1.868-4.36-5.062 0-4.75 3.503-9.07 9.11-9.07 1.713 0 3.7.4 4.6.972l-1.17 7.203c-.387 2.298-.115 3.3 1 3.4 1.674 0 3.774-2.102 3.774-6.58 0-5.06-3.27-8.994-9.304-8.994C9.05 2.87 3.83 7.545 3.83 14.97c0 6.5 4.2 10.2 10 10.202 1.987 0 4.09-.43 5.647-1.245l.634 2.22zM16.647 10.1c-.31-.078-.7-.155-1.207-.155-2.572 0-4.596 2.53-4.596 5.53 0 1.5.7 2.4 1.9 2.4 1.44 0 2.96-1.83 3.31-4.088l.592-3.72z' />
9
+ </svg>
10
+
11
+ </span>
12
+
13
+ <span class='rrssb-text'>email</span>
14
+
15
+ </a>
16
+
17
  </li>
ewd-ufaq-templates/faq-social-media-facebook.php CHANGED
@@ -1,17 +1,17 @@
1
- <li class='rrssb-facebook'>
2
-
3
- <a href='https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode( $this->permalink ); ?>' class='popup'>
4
-
5
- <span class='rrssb-icon'>
6
-
7
- <svg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMidYMid' width='29' height='29' viewBox='0 0 29 29'>
8
- <path d='M26.4 0H2.6C1.714 0 0 1.715 0 2.6v23.8c0 .884 1.715 2.6 2.6 2.6h12.393V17.988h-3.996v-3.98h3.997v-3.062c0-3.746 2.835-5.97 6.177-5.97 1.6 0 2.444.173 2.845.226v3.792H21.18c-1.817 0-2.156.9-2.156 2.168v2.847h5.045l-.66 3.978h-4.386V29H26.4c.884 0 2.6-1.716 2.6-2.6V2.6c0-.885-1.716-2.6-2.6-2.6z' class='cls-2' fill-rule='evenodd' />
9
- </svg>
10
-
11
- </span>
12
-
13
- <span class='rrssb-text'>facebook</span>
14
-
15
- </a>
16
-
17
  </li>
1
+ <li class='rrssb-facebook'>
2
+
3
+ <a href='https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode( $this->permalink ); ?>' class='popup'>
4
+
5
+ <span class='rrssb-icon'>
6
+
7
+ <svg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMidYMid' width='29' height='29' viewBox='0 0 29 29'>
8
+ <path d='M26.4 0H2.6C1.714 0 0 1.715 0 2.6v23.8c0 .884 1.715 2.6 2.6 2.6h12.393V17.988h-3.996v-3.98h3.997v-3.062c0-3.746 2.835-5.97 6.177-5.97 1.6 0 2.444.173 2.845.226v3.792H21.18c-1.817 0-2.156.9-2.156 2.168v2.847h5.045l-.66 3.978h-4.386V29H26.4c.884 0 2.6-1.716 2.6-2.6V2.6c0-.885-1.716-2.6-2.6-2.6z' class='cls-2' fill-rule='evenodd' />
9
+ </svg>
10
+
11
+ </span>
12
+
13
+ <span class='rrssb-text'>facebook</span>
14
+
15
+ </a>
16
+
17
  </li>
ewd-ufaq-templates/faq-social-media-linkedin.php CHANGED
@@ -1,17 +1,17 @@
1
- <li class='rrssb-linkedin'>
2
-
3
- <a href='<?php echo esc_attr( $this->get_social_linkedin_link() ) ?>' class='popup'>
4
-
5
- <span class='rrssb-icon'>
6
-
7
- <svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'>
8
- <path d='M25.424 15.887v8.447h-4.896v-7.882c0-1.98-.71-3.33-2.48-3.33-1.354 0-2.158.91-2.514 1.802-.13.315-.162.753-.162 1.194v8.216h-4.9s.067-13.35 0-14.73h4.9v2.087c-.01.017-.023.033-.033.05h.032v-.05c.65-1.002 1.812-2.435 4.414-2.435 3.222 0 5.638 2.106 5.638 6.632zM5.348 2.5c-1.676 0-2.772 1.093-2.772 2.54 0 1.42 1.066 2.538 2.717 2.546h.032c1.71 0 2.77-1.132 2.77-2.546C8.056 3.593 7.02 2.5 5.344 2.5h.005zm-2.48 21.834h4.896V9.604H2.867v14.73z' />
9
- </svg>
10
-
11
- </span>
12
-
13
- <span class='rrssb-text'>linkedin</span>
14
-
15
- </a>
16
-
17
  </li>
1
+ <li class='rrssb-linkedin'>
2
+
3
+ <a href='<?php echo esc_attr( $this->get_social_linkedin_link() ) ?>' class='popup'>
4
+
5
+ <span class='rrssb-icon'>
6
+
7
+ <svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'>
8
+ <path d='M25.424 15.887v8.447h-4.896v-7.882c0-1.98-.71-3.33-2.48-3.33-1.354 0-2.158.91-2.514 1.802-.13.315-.162.753-.162 1.194v8.216h-4.9s.067-13.35 0-14.73h4.9v2.087c-.01.017-.023.033-.033.05h.032v-.05c.65-1.002 1.812-2.435 4.414-2.435 3.222 0 5.638 2.106 5.638 6.632zM5.348 2.5c-1.676 0-2.772 1.093-2.772 2.54 0 1.42 1.066 2.538 2.717 2.546h.032c1.71 0 2.77-1.132 2.77-2.546C8.056 3.593 7.02 2.5 5.344 2.5h.005zm-2.48 21.834h4.896V9.604H2.867v14.73z' />
9
+ </svg>
10
+
11
+ </span>
12
+
13
+ <span class='rrssb-text'>linkedin</span>
14
+
15
+ </a>
16
+
17
  </li>
ewd-ufaq-templates/faq-social-media-pinterest.php CHANGED
@@ -1,17 +1,17 @@
1
- <li class='rrssb-pinterest'>
2
-
3
- <a href='<?php echo esc_attr( $this->get_social_pinterest_link() ) ?>' class='popup'>
4
-
5
- <span class='rrssb-icon'>
6
-
7
- <svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'>
8
- <path d='M14.02 1.57c-7.06 0-12.784 5.723-12.784 12.785S6.96 27.14 14.02 27.14c7.062 0 12.786-5.725 12.786-12.785 0-7.06-5.724-12.785-12.785-12.785zm1.24 17.085c-1.16-.09-1.648-.666-2.558-1.22-.5 2.627-1.113 5.146-2.925 6.46-.56-3.972.822-6.952 1.462-10.117-1.094-1.84.13-5.545 2.437-4.632 2.837 1.123-2.458 6.842 1.1 7.557 3.71.744 5.226-6.44 2.924-8.775-3.324-3.374-9.677-.077-8.896 4.754.19 1.178 1.408 1.538.49 3.168-2.13-.472-2.764-2.15-2.683-4.388.132-3.662 3.292-6.227 6.46-6.582 4.008-.448 7.772 1.474 8.29 5.24.58 4.254-1.815 8.864-6.1 8.532v.003z' />
9
- </svg>
10
-
11
- </span>
12
-
13
- <span class='rrssb-text'>pinterest</span>
14
-
15
- </a>
16
-
17
  </li>
1
+ <li class='rrssb-pinterest'>
2
+
3
+ <a href='<?php echo esc_attr( $this->get_social_pinterest_link() ) ?>' class='popup'>
4
+
5
+ <span class='rrssb-icon'>
6
+
7
+ <svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'>
8
+ <path d='M14.02 1.57c-7.06 0-12.784 5.723-12.784 12.785S6.96 27.14 14.02 27.14c7.062 0 12.786-5.725 12.786-12.785 0-7.06-5.724-12.785-12.785-12.785zm1.24 17.085c-1.16-.09-1.648-.666-2.558-1.22-.5 2.627-1.113 5.146-2.925 6.46-.56-3.972.822-6.952 1.462-10.117-1.094-1.84.13-5.545 2.437-4.632 2.837 1.123-2.458 6.842 1.1 7.557 3.71.744 5.226-6.44 2.924-8.775-3.324-3.374-9.677-.077-8.896 4.754.19 1.178 1.408 1.538.49 3.168-2.13-.472-2.764-2.15-2.683-4.388.132-3.662 3.292-6.227 6.46-6.582 4.008-.448 7.772 1.474 8.29 5.24.58 4.254-1.815 8.864-6.1 8.532v.003z' />
9
+ </svg>
10
+
11
+ </span>
12
+
13
+ <span class='rrssb-text'>pinterest</span>
14
+
15
+ </a>
16
+
17
  </li>
ewd-ufaq-templates/faq-social-media-twitter.php CHANGED
@@ -1,17 +1,17 @@
1
- <li class='rrssb-twitter'>
2
-
3
- <a href='<?php echo esc_attr( $this->get_social_twitter_link() ) ?>' class='popup'>
4
-
5
- <span class='rrssb-icon'>
6
-
7
- <svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'>
8
- <path d='M24.253 8.756C24.69 17.08 18.297 24.182 9.97 24.62c-3.122.162-6.22-.646-8.86-2.32 2.702.18 5.375-.648 7.507-2.32-2.072-.248-3.818-1.662-4.49-3.64.802.13 1.62.077 2.4-.154-2.482-.466-4.312-2.586-4.412-5.11.688.276 1.426.408 2.168.387-2.135-1.65-2.73-4.62-1.394-6.965C5.574 7.816 9.54 9.84 13.802 10.07c-.842-2.738.694-5.64 3.434-6.48 2.018-.624 4.212.043 5.546 1.682 1.186-.213 2.318-.662 3.33-1.317-.386 1.256-1.248 2.312-2.4 2.942 1.048-.106 2.07-.394 3.02-.85-.458 1.182-1.343 2.15-2.48 2.71z' />
9
- </svg>
10
-
11
- </span>
12
-
13
- <span class='rrssb-text'>twitter</span>
14
-
15
- </a>
16
-
17
  </li>
1
+ <li class='rrssb-twitter'>
2
+
3
+ <a href='<?php echo esc_attr( $this->get_social_twitter_link() ) ?>' class='popup'>
4
+
5
+ <span class='rrssb-icon'>
6
+
7
+ <svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'>
8
+ <path d='M24.253 8.756C24.69 17.08 18.297 24.182 9.97 24.62c-3.122.162-6.22-.646-8.86-2.32 2.702.18 5.375-.648 7.507-2.32-2.072-.248-3.818-1.662-4.49-3.64.802.13 1.62.077 2.4-.154-2.482-.466-4.312-2.586-4.412-5.11.688.276 1.426.408 2.168.387-2.135-1.65-2.73-4.62-1.394-6.965C5.574 7.816 9.54 9.84 13.802 10.07c-.842-2.738.694-5.64 3.434-6.48 2.018-.624 4.212.043 5.546 1.682 1.186-.213 2.318-.662 3.33-1.317-.386 1.256-1.248 2.312-2.4 2.942 1.048-.106 2.07-.394 3.02-.85-.458 1.182-1.343 2.15-2.48 2.71z' />
9
+ </svg>
10
+
11
+ </span>
12
+
13
+ <span class='rrssb-text'>twitter</span>
14
+
15
+ </a>
16
+
17
  </li>
ewd-ufaq-templates/faq-social-media.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class='ewd-ufaq-social-links'>
2
-
3
- <span class='ewd-ufaq-social-links-label'>
4
- <?php echo esc_html( $this->get_label( 'label-share-faq' ) ); ?>
5
- </span>
6
-
7
- <ul class='rrssb-buttons'>
8
- <?php $this->print_social_media_buttons(); ?>
9
- </ul>
10
-
11
  </div>
1
+ <div class='ewd-ufaq-social-links'>
2
+
3
+ <span class='ewd-ufaq-social-links-label'>
4
+ <?php echo esc_html( $this->get_label( 'label-share-faq' ) ); ?>
5
+ </span>
6
+
7
+ <ul class='rrssb-buttons'>
8
+ <?php $this->print_social_media_buttons(); ?>
9
+ </ul>
10
+
11
  </div>
ewd-ufaq-templates/faq-tags.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class='ewd-ufaq-faq-tags'>
2
-
3
- <?php echo esc_html( $this->get_tags_label() ); ?>
4
-
5
- <?php foreach( $this->tags as $key => $tag ) { ?>
6
-
7
- <?php echo $this->get_tag_value( $tag ) . ( $key != sizeOf( $this->tags ) - 1 ? ', ' : '' ); ?>
8
-
9
- <?php } ?>
10
-
11
  </div>
1
+ <div class='ewd-ufaq-faq-tags'>
2
+
3
+ <?php echo esc_html( $this->get_tags_label() ); ?>
4
+
5
+ <?php foreach( $this->tags as $key => $tag ) { ?>
6
+
7
+ <?php echo $this->get_tag_value( $tag ) . ( $key != sizeOf( $this->tags ) - 1 ? ', ' : '' ); ?>
8
+
9
+ <?php } ?>
10
+
11
  </div>
ewd-ufaq-templates/faq-title.php CHANGED
@@ -1,21 +1,21 @@
1
- <div class='ewd-ufaq-faq-title <?php echo ( ! $this->get_option( 'disable-faq-toggle' ) ? 'ewd-ufaq-faq-toggle' : '' ) ?>'>
2
-
3
- <a class='ewd-ufaq-post-margin' href='<?php echo esc_attr( get_permalink( $this->post->ID ) ); ?>'>
4
-
5
- <div class='ewd-ufaq-post-margin-symbol <?php echo $this->get_color_block_shape(); ?>'>
6
- <span ><?php echo $this->get_toggle_symbol(); ?></span>
7
- </div>
8
-
9
- <div class='ewd-ufaq-faq-title-text'>
10
-
11
- <<?php echo $this->get_option( 'styling-faq-heading-type' ); ?>>
12
- <?php echo $this->faq_title; ?>
13
- </<?php echo $this->get_option( 'styling-faq-heading-type' ); ?>>
14
-
15
- </div>
16
-
17
- <div class='ewd-ufaq-clear'></div>
18
-
19
- </a>
20
-
21
  </div>
1
+ <div class='ewd-ufaq-faq-title <?php echo ( ! $this->get_option( 'disable-faq-toggle' ) ? 'ewd-ufaq-faq-toggle' : '' ) ?>'>
2
+
3
+ <a class='ewd-ufaq-post-margin' href='<?php echo esc_attr( get_permalink( $this->post->ID ) ); ?>'>
4
+
5
+ <div class='ewd-ufaq-post-margin-symbol <?php echo $this->get_color_block_shape(); ?>'>
6
+ <span ><?php echo $this->get_toggle_symbol(); ?></span>
7
+ </div>
8
+
9
+ <div class='ewd-ufaq-faq-title-text'>
10
+
11
+ <<?php echo $this->get_option( 'styling-faq-heading-type' ); ?>>
12
+ <?php echo $this->faq_title; ?>
13
+ </<?php echo $this->get_option( 'styling-faq-heading-type' ); ?>>
14
+
15
+ </div>
16
+
17
+ <div class='ewd-ufaq-clear'></div>
18
+
19
+ </a>
20
+
21
  </div>
ewd-ufaq-templates/faq.php CHANGED
@@ -1,17 +1,17 @@
1
- <div <?php echo ewd_format_classes( $this->classes ); ?> id='<?php echo $this->get_id(); ?>' data-post_id='<?php echo $this->post->ID; ?>'>
2
-
3
- <?php $this->print_faq_title(); ?>
4
-
5
- <?php $this->maybe_print_faq_preview(); ?>
6
-
7
- <div class='ewd-ufaq-faq-body <?php echo ( ! $this->display_all_answers ? 'ewd-ufaq-hidden' : '' ); ?>' >
8
-
9
- <?php foreach ( $this->get_order_elements() as $element => $label ) { ?>
10
-
11
- <?php $this->maybe_print_element( $element ); ?>
12
-
13
- <?php } ?>
14
-
15
- </div>
16
-
17
  </div>
1
+ <div <?php echo ewd_format_classes( $this->classes ); ?> id='<?php echo $this->get_id(); ?>' data-post_id='<?php echo $this->post->ID; ?>'>
2
+
3
+ <?php $this->print_faq_title(); ?>
4
+
5
+ <?php $this->maybe_print_faq_preview(); ?>
6
+
7
+ <div class='ewd-ufaq-faq-body <?php echo ( ! $this->display_all_answers ? 'ewd-ufaq-hidden' : '' ); ?>' >
8
+
9
+ <?php foreach ( $this->get_order_elements() as $element => $label ) { ?>
10
+
11
+ <?php $this->maybe_print_element( $element ); ?>
12
+
13
+ <?php } ?>
14
+
15
+ </div>
16
+
17
  </div>
ewd-ufaq-templates/faqs-category-footer.php CHANGED
@@ -1,3 +1,3 @@
1
- </div>
2
-
3
- </div>
1
+ </div>
2
+
3
+ </div>
ewd-ufaq-templates/faqs-category-header.php CHANGED
@@ -1,12 +1,12 @@
1
- <div id='ewd-ufaq-faq-category-<?php echo esc_attr( $this->get_category_slug() ); ?>' class='ewd-ufaq-faq-category'>
2
-
3
- <div class='ewd-ufaq-faq-category-title <?php echo ( $this->get_option( 'faq-category-toggle' ) ? 'ewd-ufaq-faq-category-title-toggle' : '' ); ?>' >
4
-
5
- <<?php echo $this->get_option( 'styling-category-heading-type' ); ?>>
6
- <?php echo esc_html( $this->get_category_name() ); ?>
7
- <?php if ( $this->get_option( 'group-by-category-count' ) ) { ?> <span>(<?php echo $this->get_category_count(); ?>)</span><?php } ?>
8
- </<?php echo $this->get_option( 'styling-category-heading-type' ); ?>>
9
-
10
- </div>
11
-
12
- <div class='ewd-ufaq-faq-category-inner <?php echo ( $this->get_option( 'faq-category-toggle' ) ? 'ewd-ufaq-faq-category-body-hidden' : '' ); ?>' >
1
+ <div id='ewd-ufaq-faq-category-<?php echo esc_attr( $this->get_category_slug() ); ?>' class='ewd-ufaq-faq-category'>
2
+
3
+ <div class='ewd-ufaq-faq-category-title <?php echo ( $this->get_option( 'faq-category-toggle' ) ? 'ewd-ufaq-faq-category-title-toggle' : '' ); ?>' >
4
+
5
+ <<?php echo $this->get_option( 'styling-category-heading-type' ); ?>>
6
+ <?php echo esc_html( $this->get_category_name() ); ?>
7
+ <?php if ( $this->get_option( 'group-by-category-count' ) ) { ?> <span>(<?php echo $this->get_category_count(); ?>)</span><?php } ?>
8
+ </<?php echo $this->get_option( 'styling-category-heading-type' ); ?>>
9
+
10
+ </div>
11
+
12
+ <div class='ewd-ufaq-faq-category-inner <?php echo ( $this->get_option( 'faq-category-toggle' ) ? 'ewd-ufaq-faq-category-body-hidden' : '' ); ?>' >
ewd-ufaq-templates/faqs-category-list-header.php CHANGED
@@ -1,37 +1,37 @@
1
- <div class='ewd-ufaq-faq-header'>
2
-
3
- <?php $faq_count = 0; ?>
4
-
5
- <?php foreach ( $this->category_faqs as $term_id => $category_faqs ) { ?>
6
-
7
- <?php if ( $faq_count < $this->faqs_per_page * ( $this->faq_page - 1) or $faq_count >= $this->faqs_per_page * ( $this->faq_page ) ) { continue; } ?>
8
-
9
- <?php $category = get_term( $term_id, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ); ?>
10
-
11
- <div class='ewd-ufaq-faq-header-category'>
12
-
13
- <div class='ewd-ufaq-faq-header-category-title' data-categoryid='<?php echo esc_attr( $category->term_id ); ?>'>
14
- <<?php echo $this->get_option( 'styling-category-heading-type' ) ?>><?php echo esc_html( $category->name ); ?></<?php echo $this->get_option( 'styling-category-heading-type' ) ?>>
15
- </div>
16
-
17
- <?php foreach ( $category_faqs as $faq ) { ?>
18
-
19
- <?php if ( ! in_array( $faq->post->ID, $this->displayed_faqs ) ) { continue; } ?>
20
-
21
- <div class='ewd-ufaq-faq-header-title'>
22
-
23
- <a class='ewd-ufaq-faq-header-link' data-postid='<?php echo esc_attr( $faq->unique_id ); ?>'>
24
- <?php echo esc_html( $faq->question ); ?>
25
- </a>
26
-
27
- </div>
28
-
29
- <?php $faq_count++; ?>
30
-
31
- <?php } ?>
32
-
33
- </div>
34
-
35
- <?php } ?>
36
-
37
  </div>
1
+ <div class='ewd-ufaq-faq-header'>
2
+
3
+ <?php $faq_count = 0; ?>
4
+
5
+ <?php foreach ( $this->category_faqs as $term_id => $category_faqs ) { ?>
6
+
7
+ <?php if ( $faq_count < $this->faqs_per_page * ( $this->faq_page - 1) or $faq_count >= $this->faqs_per_page * ( $this->faq_page ) ) { continue; } ?>
8
+
9
+ <?php $category = get_term( $term_id, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ); ?>
10
+
11
+ <div class='ewd-ufaq-faq-header-category'>
12
+
13
+ <div class='ewd-ufaq-faq-header-category-title' data-categoryid='<?php echo esc_attr( $category->term_id ); ?>'>
14
+ <<?php echo $this->get_option( 'styling-category-heading-type' ) ?>><?php echo esc_html( $category->name ); ?></<?php echo $this->get_option( 'styling-category-heading-type' ) ?>>
15
+ </div>
16
+
17
+ <?php foreach ( $category_faqs as $faq ) { ?>
18
+
19
+ <?php if ( ! in_array( $faq->post->ID, $this->displayed_faqs ) ) { continue; } ?>
20
+
21
+ <div class='ewd-ufaq-faq-header-title'>
22
+
23
+ <a class='ewd-ufaq-faq-header-link' data-postid='<?php echo esc_attr( $faq->unique_id ); ?>'>
24
+ <?php echo esc_html( $faq->question ); ?>
25
+ </a>
26
+
27
+ </div>
28
+
29
+ <?php $faq_count++; ?>
30
+
31
+ <?php } ?>
32
+
33
+ </div>
34
+
35
+ <?php } ?>
36
+
37
  </div>
ewd-ufaq-templates/faqs-expand-collapse-all.php CHANGED
@@ -1,13 +1,13 @@
1
- <div class='ewd-ufaq-expand-collapse-div'>
2
-
3
- <span class='ewd-ufaq-expand-all <?php echo ( $this->display_all_answers ? 'ewd-ufaq-hidden' : '' ); ?>'>
4
- <span class='ewd-ufaq-toggle-all-symbol'>c</span>
5
- <?php echo esc_html( $this->get_label( 'label-expand-all' ) ); ?>
6
- </span>
7
-
8
- <span class='ewd-ufaq-collapse-all <?php echo ( ! $this->display_all_answers ? 'ewd-ufaq-hidden' : '' ); ?>'>
9
- <span class='ewd-ufaq-toggle-all-symbol'>C</span>
10
- <?php echo esc_html( $this->get_label( 'label-collapse-all' ) ); ?>
11
- </span>
12
-
13
  </div>
1
+ <div class='ewd-ufaq-expand-collapse-div'>
2
+
3
+ <span class='ewd-ufaq-expand-all <?php echo ( $this->display_all_answers ? 'ewd-ufaq-hidden' : '' ); ?>'>
4
+ <span class='ewd-ufaq-toggle-all-symbol'>c</span>
5
+ <?php echo esc_html( $this->get_label( 'label-expand-all' ) ); ?>
6
+ </span>
7
+
8
+ <span class='ewd-ufaq-collapse-all <?php echo ( ! $this->display_all_answers ? 'ewd-ufaq-hidden' : '' ); ?>'>
9
+ <span class='ewd-ufaq-toggle-all-symbol'>C</span>
10
+ <?php echo esc_html( $this->get_label( 'label-collapse-all' ) ); ?>
11
+ </span>
12
+
13
  </div>
ewd-ufaq-templates/faqs-list-header.php CHANGED
@@ -1,20 +1,20 @@
1
- <div class='ewd-ufaq-faq-header'>
2
-
3
- <?php foreach ( $this->faqs as $faq_count => $faq ) { ?>
4
-
5
- <?php if ( $faq_count < $this->faqs_per_page * ( $this->faq_page - 1) or $faq_count >= $this->faqs_per_page * ( $this->faq_page ) ) { continue; } ?>
6
-
7
- <?php if ( ! in_array( $faq->post->ID, $this->displayed_faqs ) ) { continue; } ?>
8
-
9
- <div class='ewd-ufaq-faq-header-title'>
10
-
11
- <a class='ewd-ufaq-faq-header-link' data-postid='<?php echo esc_attr( $faq->unique_id ); ?>'>
12
- <?php echo esc_html( $faq->question ); ?>
13
- </a>
14
-
15
- </div>
16
-
17
-
18
- <?php } ?>
19
-
20
  </div>
1
+ <div class='ewd-ufaq-faq-header'>
2
+
3
+ <?php foreach ( $this->faqs as $faq_count => $faq ) { ?>
4
+
5
+ <?php if ( $faq_count < $this->faqs_per_page * ( $this->faq_page - 1) or $faq_count >= $this->faqs_per_page * ( $this->faq_page ) ) { continue; } ?>
6
+
7
+ <?php if ( ! in_array( $faq->post->ID, $this->displayed_faqs ) ) { continue; } ?>
8
+
9
+ <div class='ewd-ufaq-faq-header-title'>
10
+
11
+ <a class='ewd-ufaq-faq-header-link' data-postid='<?php echo esc_attr( $faq->unique_id ); ?>'>
12
+ <?php echo esc_html( $faq->question ); ?>
13
+ </a>
14
+
15
+ </div>
16
+
17
+
18
+ <?php } ?>
19
+
20
  </div>
ewd-ufaq-templates/faqs-pagination.php CHANGED
@@ -1,21 +1,21 @@
1
- <div class='ewd-ufaq-bottom ewd-ufaq-pagination-<?php echo esc_attr( $this->get_option( 'page-type' ) ); ?>' data-current_page='<?php echo esc_attr( $this->faq_page ); ?>' data-max_page='<?php echo esc_attr( $this->max_page ); ?>'>
2
-
3
- <?php if ( $this->get_option( 'page-type' ) == 'distinct' ) { ?>
4
-
5
- <div class='ewd-ufaq-previous-faqs <?php echo ( $this->faq_page <= 1 ? 'ewd-ufaq-hidden' : '' ); ?>'>
6
- <h4><?php echo esc_html( $this->get_label( 'label-previous' ) ); ?></h4>
7
- </div>
8
-
9
- <div class='ewd-ufaq-next-faqs <?php echo ( $this->faq_page >= $this->max_page ? 'ewd-ufaq-hidden' : '' ); ?>'>
10
- <h4><?php echo esc_html( $this->get_label( 'label-next' ) ); ?></h4>
11
- </div>
12
- <?php } ?>
13
-
14
- <?php if ( $this->get_option( 'page-type' ) == 'load_more' ) { ?>
15
-
16
- <div class='ewd-ufaq-load-more <?php echo ( $this->faq_page >= $this->max_page ? 'ewd-ufaq-hidden' : '' ); ?>'>
17
- <h4><?php echo esc_html( $this->get_label( 'label-load-more' ) ); ?></h4>
18
- </div>
19
- <?php } ?>
20
-
21
  </div>
1
+ <div class='ewd-ufaq-bottom ewd-ufaq-pagination-<?php echo esc_attr( $this->get_option( 'page-type' ) ); ?>' data-current_page='<?php echo esc_attr( $this->faq_page ); ?>' data-max_page='<?php echo esc_attr( $this->max_page ); ?>'>
2
+
3
+ <?php if ( $this->get_option( 'page-type' ) == 'distinct' ) { ?>
4
+
5
+ <div class='ewd-ufaq-previous-faqs <?php echo ( $this->faq_page <= 1 ? 'ewd-ufaq-hidden' : '' ); ?>'>
6
+ <h4><?php echo esc_html( $this->get_label( 'label-previous' ) ); ?></h4>
7
+ </div>
8
+
9
+ <div class='ewd-ufaq-next-faqs <?php echo ( $this->faq_page >= $this->max_page ? 'ewd-ufaq-hidden' : '' ); ?>'>
10
+ <h4><?php echo esc_html( $this->get_label( 'label-next' ) ); ?></h4>
11
+ </div>
12
+ <?php } ?>
13
+
14
+ <?php if ( $this->get_option( 'page-type' ) == 'load_more' ) { ?>
15
+
16
+ <div class='ewd-ufaq-load-more <?php echo ( $this->faq_page >= $this->max_page ? 'ewd-ufaq-hidden' : '' ); ?>'>
17
+ <h4><?php echo esc_html( $this->get_label( 'label-load-more' ) ); ?></h4>
18
+ </div>
19
+ <?php } ?>
20
+
21
  </div>
ewd-ufaq-templates/faqs-search-submit.php CHANGED
@@ -1,3 +1,3 @@
1
- <label for='ewd-ufaq-search-submit'></label>
2
-
3
  <input type='button' id='ewd-ufaq-ajax-search-submit' name='Search' value='<?php echo esc_html( $this->get_label( 'label-search' ) ); ?>'>
1
+ <label for='ewd-ufaq-search-submit'></label>
2
+
3
  <input type='button' id='ewd-ufaq-ajax-search-submit' name='Search' value='<?php echo esc_html( $this->get_label( 'label-search' ) ); ?>'>
ewd-ufaq-templates/faqs-search.php CHANGED
@@ -1,13 +1,13 @@
1
- <div id='ewd-ufaq-jquery-ajax-search'>
2
-
3
- <label class='ewd-ufaq-field-label'>
4
- <?php echo esc_html( $this->get_label( 'label-enter-question' ) ); ?>:
5
- </label>
6
-
7
- <?php $this->maybe_print_shortcode_args(); ?>
8
-
9
- <input type='search' class='ewd-ufaq-text-input <?php echo ( $this->get_option( 'auto-complete-titles' ) ? 'ewd-ufaq-text-auto-complete' : '' ); ?>' placeholder='<?php echo esc_attr( $this->get_label( 'label-search-placeholder' ) ); ?>' value='<?php echo ( isset( $_GET['faq_search_term'] ) ? esc_attr( $_GET['faq_search_term'] ) : '' ); ?>' />
10
-
11
- <?php $this->maybe_print_search_submit(); ?>
12
-
13
  </div>
1
+ <div id='ewd-ufaq-jquery-ajax-search'>
2
+
3
+ <label class='ewd-ufaq-field-label'>
4
+ <?php echo esc_html( $this->get_label( 'label-enter-question' ) ); ?>:
5
+ </label>
6
+
7
+ <?php $this->maybe_print_shortcode_args(); ?>
8
+
9
+ <input type='search' class='ewd-ufaq-text-input <?php echo ( $this->get_option( 'auto-complete-titles' ) ? 'ewd-ufaq-text-auto-complete' : '' ); ?>' placeholder='<?php echo esc_attr( $this->get_label( 'label-search-placeholder' ) ); ?>' value='<?php echo ( isset( $_GET['faq_search_term'] ) ? esc_attr( $_GET['faq_search_term'] ) : '' ); ?>' />
10
+
11
+ <?php $this->maybe_print_search_submit(); ?>
12
+
13
  </div>
ewd-ufaq-templates/faqs-shortcode-args.php CHANGED
@@ -1,6 +1,6 @@
1
- <input type='hidden' name='include_category' value='<?php echo esc_attr( $this->include_category ); ?>' id='ewd-ufaq-include-category' />
2
- <input type='hidden' name='exclude_category' value='<?php echo esc_attr( $this->exclude_category ); ?>' id='ewd-ufaq-exclude-category' />
3
- <input type='hidden' name='orderby' value='<?php echo esc_attr( $this->orderby ); ?>' id='ewd-ufaq-orderby' />
4
- <input type='hidden' name='order' value='<?php echo esc_attr( $this->order ); ?>' id='ewd-ufaq-order' />
5
- <input type='hidden' name='post_count' value='<?php echo esc_attr( $this->post_count ); ?>' id='ewd-ufaq-post-count' />
6
  <input type='hidden' name='current_url' value='<?php echo esc_attr( $_SERVER['REQUEST_URI'] ); ?>' id='ewd-ufaq-current-url' />
1
+ <input type='hidden' name='include_category' value='<?php echo esc_attr( $this->include_category ); ?>' id='ewd-ufaq-include-category' />
2
+ <input type='hidden' name='exclude_category' value='<?php echo esc_attr( $this->exclude_category ); ?>' id='ewd-ufaq-exclude-category' />
3
+ <input type='hidden' name='orderby' value='<?php echo esc_attr( $this->orderby ); ?>' id='ewd-ufaq-orderby' />
4
+ <input type='hidden' name='order' value='<?php echo esc_attr( $this->order ); ?>' id='ewd-ufaq-order' />
5
+ <input type='hidden' name='post_count' value='<?php echo esc_attr( $this->post_count ); ?>' id='ewd-ufaq-post-count' />
6
  <input type='hidden' name='current_url' value='<?php echo esc_attr( $_SERVER['REQUEST_URI'] ); ?>' id='ewd-ufaq-current-url' />
ewd-ufaq-templates/faqs.php CHANGED
@@ -1,17 +1,17 @@
1
- <div <?php echo ewd_format_classes( $this->classes ); ?> id='ewd-ufaq-faq-list'>
2
-
3
- <?php $this->print_shortcode_args(); ?>
4
-
5
- <?php $this->maybe_print_expand_collapse_all(); ?>
6
-
7
- <?php $this->maybe_print_header(); ?>
8
-
9
- <div class='ewd-ufaq-faqs'>
10
-
11
- <?php $this->print_faqs(); ?>
12
-
13
- </div>
14
-
15
- <?php $this->maybe_print_pagination(); ?>
16
-
17
  </div>
1
+ <div <?php echo ewd_format_classes( $this->classes ); ?> id='ewd-ufaq-faq-list'>
2
+
3
+ <?php $this->print_shortcode_args(); ?>
4
+
5
+ <?php $this->maybe_print_expand_collapse_all(); ?>
6
+
7
+ <?php $this->maybe_print_header(); ?>
8
+
9
+ <div class='ewd-ufaq-faqs'>
10
+
11
+ <?php $this->print_faqs(); ?>
12
+
13
+ </div>
14
+
15
+ <?php $this->maybe_print_pagination(); ?>
16
+
17
  </div>
ewd-ufaq-templates/submit-faq-captcha.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class='ewd-ufaq-captcha-div'>
2
-
3
- <label for='captcha_image'></label>
4
- <img src='data:image/png;base64,<?php echo $this->create_captcha_image(); ?>' alt='captcha' />
5
- <input type='hidden' name='ewd_ufaq_modified_captcha' value='<?php echo esc_attr( $this->captcha_form_code ); ?>' />
6
-
7
- </div>
8
-
9
- <div class='ewd-ufaq-captcha-response'><label for='captcha_text'><?php echo $this->get_label( 'label-captcha-image-number' ); ?>: </label>
10
- <input type='text' name='ewd_ufaq_captcha' value='' />
11
  </div>
1
+ <div class='ewd-ufaq-captcha-div'>
2
+
3
+ <label for='captcha_image'></label>
4
+ <img src='data:image/png;base64,<?php echo $this->create_captcha_image(); ?>' alt='captcha' />
5
+ <input type='hidden' name='ewd_ufaq_modified_captcha' value='<?php echo esc_attr( $this->captcha_form_code ); ?>' />
6
+
7
+ </div>
8
+
9
+ <div class='ewd-ufaq-captcha-response'><label for='captcha_text'><?php echo $this->get_label( 'label-captcha-image-number' ); ?>: </label>
10
+ <input type='text' name='ewd_ufaq_captcha' value='' />
11
  </div>
ewd-ufaq-templates/submit-faq-custom-field-checkbox.php CHANGED
@@ -1,21 +1,21 @@
1
- <div class='ewd-ufaq-meta-field'>
2
-
3
- <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
- <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
- </label>
6
-
7
- <div class='ewd-ufaq-submit-faq-radio-checkbox-container'>
8
-
9
- <?php $input_name = $this->get_custom_field_input_name(); ?>
10
-
11
- <?php foreach ( $this->get_custom_field_options() as $option ) { ?>
12
-
13
- <div class='ewd-ufaq-submit-faq-radio-checkbox-each'>
14
- <input type='checkbox' name='<?php echo esc_attr( $input_name ); ?>[]' value='<?php echo $option; ?>' <?php echo ( ( ! empty( $_POST[ $input_name ] ) and is_array( $_POST[ $input_name ] ) and in_array( $option, $_POST[ $input_name ] ) ) ? 'checked' : '' ); ?>/><?php echo $option; ?>
15
- </div>
16
-
17
- <?php } ?>
18
-
19
- </div>
20
-
21
  </div>
1
+ <div class='ewd-ufaq-meta-field'>
2
+
3
+ <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
+ <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
+ </label>
6
+
7
+ <div class='ewd-ufaq-submit-faq-radio-checkbox-container'>
8
+
9
+ <?php $input_name = $this->get_custom_field_input_name(); ?>
10
+
11
+ <?php foreach ( $this->get_custom_field_options() as $option ) { ?>
12
+
13
+ <div class='ewd-ufaq-submit-faq-radio-checkbox-each'>
14
+ <input type='checkbox' name='<?php echo esc_attr( $input_name ); ?>[]' value='<?php echo $option; ?>' <?php echo ( ( ! empty( $_POST[ $input_name ] ) and is_array( $_POST[ $input_name ] ) and in_array( $option, $_POST[ $input_name ] ) ) ? 'checked' : '' ); ?>/><?php echo $option; ?>
15
+ </div>
16
+
17
+ <?php } ?>
18
+
19
+ </div>
20
+
21
  </div>
ewd-ufaq-templates/submit-faq-custom-field-date.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class='ewd-ufaq-meta-field'>
2
-
3
- <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
- <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
- </label>
6
-
7
- <?php $input_name = $this->get_custom_field_input_name(); ?>
8
-
9
- <input type='date' class='ewd-ufaq-jquery-datepicker' id='ewd-ufaq-<?php echo esc_attr( $this->get_custom_field_name() ); ?>' name='<?php echo esc_attr( $input_name ); ?>' value='<?php echo ( ! empty( $_POST[ $input_name ] ) ? esc_attr( $_POST[ $input_name ] ) : '' ); ?>'/>
10
-
11
  </div>
1
+ <div class='ewd-ufaq-meta-field'>
2
+
3
+ <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
+ <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
+ </label>
6
+
7
+ <?php $input_name = $this->get_custom_field_input_name(); ?>
8
+
9
+ <input type='date' class='ewd-ufaq-jquery-datepicker' id='ewd-ufaq-<?php echo esc_attr( $this->get_custom_field_name() ); ?>' name='<?php echo esc_attr( $input_name ); ?>' value='<?php echo ( ! empty( $_POST[ $input_name ] ) ? esc_attr( $_POST[ $input_name ] ) : '' ); ?>'/>
10
+
11
  </div>
ewd-ufaq-templates/submit-faq-custom-field-datetime.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class='ewd-ufaq-meta-field'>
2
-
3
- <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
- <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
- </label>
6
-
7
- <?php $input_name = $this->get_custom_field_input_name(); ?>
8
-
9
- <input type='datetime-local' id='ewd-ufaq-<?php echo esc_attr( $this->get_custom_field_name() ); ?>' name='<?php echo esc_attr( $input_name ); ?>' value='<?php echo ( ! empty( $_POST[ $input_name ] ) ? esc_attr( $_POST[ $input_name ] ) : '' ); ?>' />
10
-
11
  </div>
1
+ <div class='ewd-ufaq-meta-field'>
2
+
3
+ <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
+ <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
+ </label>
6
+
7
+ <?php $input_name = $this->get_custom_field_input_name(); ?>
8
+
9
+ <input type='datetime-local' id='ewd-ufaq-<?php echo esc_attr( $this->get_custom_field_name() ); ?>' name='<?php echo esc_attr( $input_name ); ?>' value='<?php echo ( ! empty( $_POST[ $input_name ] ) ? esc_attr( $_POST[ $input_name ] ) : '' ); ?>' />
10
+
11
  </div>
ewd-ufaq-templates/submit-faq-custom-field-radio.php CHANGED
@@ -1,21 +1,21 @@
1
- <div class='ewd-ufaq-meta-field'>
2
-
3
- <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
- <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
- </label>
6
-
7
- <div class='ewd-ufaq-submit-faq-radio-checkbox-container'>
8
-
9
- <?php $input_name = $this->get_custom_field_input_name(); ?>
10
-
11
- <?php foreach ( $this->get_custom_field_options() as $option ) { ?>
12
-
13
- <div class='ewd-ufaq-submit-faq-radio-checkbox-each'>
14
- <input type='radio' name='<?php echo esc_attr( $input_name ); ?>' value='<?php echo $option; ?>' <?php echo ( ! empty( $_POST[ $input_name ] ) and $option == $_POST[ $input_name ] ? 'checked' : '' ); ?>/><?php echo $option; ?>
15
- </div>
16
-
17
- <?php } ?>
18
-
19
- </div>
20
-
21
  </div>
1
+ <div class='ewd-ufaq-meta-field'>
2
+
3
+ <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
+ <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
+ </label>
6
+
7
+ <div class='ewd-ufaq-submit-faq-radio-checkbox-container'>
8
+
9
+ <?php $input_name = $this->get_custom_field_input_name(); ?>
10
+
11
+ <?php foreach ( $this->get_custom_field_options() as $option ) { ?>
12
+
13
+ <div class='ewd-ufaq-submit-faq-radio-checkbox-each'>
14
+ <input type='radio' name='<?php echo esc_attr( $input_name ); ?>' value='<?php echo $option; ?>' <?php echo ( ! empty( $_POST[ $input_name ] ) and $option == $_POST[ $input_name ] ? 'checked' : '' ); ?>/><?php echo $option; ?>
15
+ </div>
16
+
17
+ <?php } ?>
18
+
19
+ </div>
20
+
21
  </div>
ewd-ufaq-templates/submit-faq-custom-field-select.php CHANGED
@@ -1,16 +1,16 @@
1
- <div class='ewd-ufaq-meta-field'>
2
-
3
- <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
- <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
- </label>
6
-
7
- <?php $input_name = $this->get_custom_field_input_name(); ?>
8
-
9
- <select name='<?php echo esc_attr( $input_name ); ?>' >
10
-
11
- <?php foreach ( $this->get_custom_field_options() as $option ) { ?>
12
- <option value='<?php echo $option; ?>' <?php echo ( ! empty( $_POST[ $input_name ] ) and $option == $_POST[ $input_name ] ? 'selected' : '' ); ?>><?php echo $option; ?></option>
13
- <?php } ?>
14
-
15
- </select>
16
  </div>
1
+ <div class='ewd-ufaq-meta-field'>
2
+
3
+ <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
+ <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
+ </label>
6
+
7
+ <?php $input_name = $this->get_custom_field_input_name(); ?>
8
+
9
+ <select name='<?php echo esc_attr( $input_name ); ?>' >
10
+
11
+ <?php foreach ( $this->get_custom_field_options() as $option ) { ?>
12
+ <option value='<?php echo $option; ?>' <?php echo ( ! empty( $_POST[ $input_name ] ) and $option == $_POST[ $input_name ] ? 'selected' : '' ); ?>><?php echo $option; ?></option>
13
+ <?php } ?>
14
+
15
+ </select>
16
  </div>
ewd-ufaq-templates/submit-faq-custom-field-text.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class='ewd-ufaq-meta-field'>
2
-
3
- <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
- <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
- </label>
6
-
7
- <?php $input_name = $this->get_custom_field_input_name(); ?>
8
-
9
- <input type='text' name='<?php echo esc_attr( $input_name ); ?>' class='ewd-ufaq-text-input' value='<?php echo ( ! empty( $_POST[ $input_name ] ) ? esc_attr( $_POST[ $input_name ] ) : '' ); ?>'/>
10
-
11
  </div>
1
+ <div class='ewd-ufaq-meta-field'>
2
+
3
+ <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
+ <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
+ </label>
6
+
7
+ <?php $input_name = $this->get_custom_field_input_name(); ?>
8
+
9
+ <input type='text' name='<?php echo esc_attr( $input_name ); ?>' class='ewd-ufaq-text-input' value='<?php echo ( ! empty( $_POST[ $input_name ] ) ? esc_attr( $_POST[ $input_name ] ) : '' ); ?>'/>
10
+
11
  </div>
ewd-ufaq-templates/submit-faq-custom-field-textarea.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class='ewd-ufaq-meta-field'>
2
-
3
- <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
- <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
- </label>
6
-
7
- <?php $input_name = $this->get_custom_field_input_name(); ?>
8
-
9
- <textarea name='<?php echo esc_attr( $input_name ); ?>' class='ewd-ufaq-faq-textarea'><?php echo ( ! empty( $_POST[ $input_name ] ) ? esc_attr( $_POST[ $input_name ] ) : '' ); ?></textarea>
10
-
11
  </div>
1
+ <div class='ewd-ufaq-meta-field'>
2
+
3
+ <label for='<?php echo esc_attr( $this->get_custom_field_name() ); ?>' class='ewd-ufaq-submit-faq-label'>
4
+ <?php echo esc_html( $this->get_custom_field_name() ); ?>
5
+ </label>
6
+
7
+ <?php $input_name = $this->get_custom_field_input_name(); ?>
8
+
9
+ <textarea name='<?php echo esc_attr( $input_name ); ?>' class='ewd-ufaq-faq-textarea'><?php echo ( ! empty( $_POST[ $input_name ] ) ? esc_attr( $_POST[ $input_name ] ) : '' ); ?></textarea>
10
+
11
  </div>
ewd-ufaq-templates/submit-faq-field-author-email.php CHANGED
@@ -1,19 +1,19 @@
1
- <div class='form-field'>
2
-
3
- <label id='ewd-ufaq-faq-author-email' class='ewd-ufaq-faq-label'>
4
- <?php echo esc_html( $this->get_label( 'label-question-author-email' ) ); ?>:
5
- </label>
6
-
7
- <input type='text' name='post_author_email' id='post_author_email' value='<?php echo ( ! empty( $_POST['post_author_email'] ) ? esc_attr( $_POST['post_author_email'] ) : ''); ?>' />
8
-
9
- <div id='ewd-ufaq-author-email-explanation' class='ewd-ufaq-field-explanation'>
10
-
11
- <label for='explanation'></label>
12
-
13
- <span>
14
- <?php echo esc_html( $this->get_label( 'label-question-author-email-explanation' ) ); ?>
15
- </span>
16
-
17
- </div>
18
-
19
  </div>
1
+ <div class='form-field'>
2
+
3
+ <label id='ewd-ufaq-faq-author-email' class='ewd-ufaq-faq-label'>
4
+ <?php echo esc_html( $this->get_label( 'label-question-author-email' ) ); ?>:
5
+ </label>
6
+
7
+ <input type='text' name='post_author_email' id='post_author_email' value='<?php echo ( ! empty( $_POST['post_author_email'] ) ? esc_attr( $_POST['post_author_email'] ) : ''); ?>' />
8
+
9
+ <div id='ewd-ufaq-author-email-explanation' class='ewd-ufaq-field-explanation'>
10
+
11
+ <label for='explanation'></label>
12
+
13
+ <span>
14
+ <?php echo esc_html( $this->get_label( 'label-question-author-email-explanation' ) ); ?>
15
+ </span>
16
+
17
+ </div>
18
+
19
  </div>
ewd-ufaq-templates/submit-faq-field-author.php CHANGED
@@ -1,19 +1,19 @@
1
- <div class='form-field'>
2
-
3
- <label id='ewd-ufaq-faq-author' class='ewd-ufaq-faq-label'>
4
- <?php echo esc_html( $this->get_label( 'label-question-author' ) ); ?>:
5
- </label>
6
-
7
- <input type='text' name='post_author' id='post_author' value='<?php echo ( ! empty( $_POST['post_author'] ) ? esc_attr( $_POST['post_author'] ) : ''); ?>' />
8
-
9
- <div id='ewd-ufaq-author-explanation' class='ewd-ufaq-field-explanation'>
10
-
11
- <label for='explanation'></label>
12
-
13
- <span>
14
- <?php echo esc_html( $this->get_label( 'label-question-author-explanation' ) ); ?>
15
- </span>
16
-
17
- </div>
18
-
19
  </div>
1
+ <div class='form-field'>
2
+
3
+ <label id='ewd-ufaq-faq-author' class='ewd-ufaq-faq-label'>
4
+ <?php echo esc_html( $this->get_label( 'label-question-author' ) ); ?>:
5
+ </label>
6
+
7
+ <input type='text' name='post_author' id='post_author' value='<?php echo ( ! empty( $_POST['post_author'] ) ? esc_attr( $_POST['post_author'] ) : ''); ?>' />
8
+
9
+ <div id='ewd-ufaq-author-explanation' class='ewd-ufaq-field-explanation'>
10
+
11
+ <label for='explanation'></label>
12
+
13
+ <span>
14
+ <?php echo esc_html( $this->get_label( 'label-question-author-explanation' ) ); ?>
15
+ </span>
16
+
17
+ </div>
18
+
19
  </div>
ewd-ufaq-templates/submit-faq-field-faq-answer.php CHANGED
@@ -1,21 +1,21 @@
1
- <div class='ewd-ufaq-meta-field'>
2
-
3
- <label for='faq_answer'>
4
- <?php echo esc_html( $this->get_label( 'label-proposed-answer' ) ); ?>:
5
- </label>
6
-
7
- <textarea name='faq_answer' class='ewd-ufaq-faq-textarea' required>
8
- <?php echo ( ! empty( $_POST['faq_answer'] ) ? esc_html( $_POST['faq_answer'] ) : '' ); ?>
9
- </textarea>
10
-
11
- <div id='ewd-ufaq-answer-explanation' class='ewd-ufaq-field-explanation'>
12
-
13
- <label for='explanation'></label>
14
-
15
- <span>
16
- <?php echo esc_html( $this->get_label( 'label-proposed-answer-explanation' ) ); ?>
17
- </span>
18
-
19
- </div>
20
-
21
  </div>
1
+ <div class='ewd-ufaq-meta-field'>
2
+
3
+ <label for='faq_answer'>
4
+ <?php echo esc_html( $this->get_label( 'label-proposed-answer' ) ); ?>:
5
+ </label>
6
+
7
+ <textarea name='faq_answer' class='ewd-ufaq-faq-textarea' required>
8
+ <?php echo ( ! empty( $_POST['faq_answer'] ) ? esc_html( $_POST['faq_answer'] ) : '' ); ?>
9
+ </textarea>
10
+
11
+ <div id='ewd-ufaq-answer-explanation' class='ewd-ufaq-field-explanation'>
12
+
13
+ <label for='explanation'></label>
14
+
15
+ <span>
16
+ <?php echo esc_html( $this->get_label( 'label-proposed-answer-explanation' ) ); ?>
17
+ </span>
18
+
19
+ </div>
20
+
21
  </div>
ewd-ufaq-templates/submit-faq-field-faq-question.php CHANGED
@@ -1,19 +1,19 @@
1
- <div class='form-field'>
2
-
3
- <label id='ewd-ufaq-submit-faq-question' class='ewd-ufaq-submit-faq-label'>
4
- <?php echo esc_html( $this->get_label( 'label-question-title' ) ); ?>:
5
- </label>
6
-
7
- <input type='text' name='faq_question' id='faq_question' value='<?php echo ( ! empty( $_POST['faq_question'] ) ? esc_attr( $_POST['faq_question'] ) : '' ); ?>' />
8
-
9
- <div id='ewd-ufaq-faq-question' class='ewd-ufaq-field-explanation'>
10
-
11
- <label for='explanation'></label>
12
-
13
- <span>
14
- <?php echo esc_html( $this->get_label( 'label-question-title-explanation' ) ); ?>
15
- </span>
16
-
17
- </div>
18
-
19
  </div>
1
+ <div class='form-field'>
2
+
3
+ <label id='ewd-ufaq-submit-faq-question' class='ewd-ufaq-submit-faq-label'>
4
+ <?php echo esc_html( $this->get_label( 'label-question-title' ) ); ?>:
5
+ </label>
6
+
7
+ <input type='text' name='faq_question' id='faq_question' value='<?php echo ( ! empty( $_POST['faq_question'] ) ? esc_attr( $_POST['faq_question'] ) : '' ); ?>' />
8
+
9
+ <div id='ewd-ufaq-faq-question' class='ewd-ufaq-field-explanation'>
10
+
11
+ <label for='explanation'></label>
12
+
13
+ <span>
14
+ <?php echo esc_html( $this->get_label( 'label-question-title-explanation' ) ); ?>
15
+ </span>
16
+
17
+ </div>
18
+
19
  </div>
ewd-ufaq-templates/submit-faq-submitted-faq-message.php CHANGED
@@ -1,3 +1,3 @@
1
- <div class='ewd-ufaq-update'>
2
- <?php echo $this->update_message; ?>
3
  </div>
1
+ <div class='ewd-ufaq-update'>
2
+ <?php echo $this->update_message; ?>
3
  </div>
ewd-ufaq-templates/submit-faq.php CHANGED
@@ -1,31 +1,31 @@
1
- <div class='ewd-ufaq-question-form'>
2
-
3
- <?php $this->maybe_print_submitted_faq_message(); ?>
4
-
5
- <form id='question_form' method='post' action='#'>
6
-
7
- <?php $this->print_nonce_field(); ?>
8
-
9
- <?php $this->print_referer_field(); ?>
10
-
11
- <?php $this->print_question_title_field(); ?>
12
-
13
- <?php $this->maybe_print_answer_field(); ?>
14
-
15
- <?php $this->maybe_print_custom_fields(); ?>
16
-
17
- <?php $this->print_author_field(); ?>
18
-
19
- <?php $this->maybe_print_author_email_field(); ?>
20
-
21
- <?php $this->maybe_print_captcha_field(); ?>
22
-
23
- <p class='submit'>
24
-
25
- <input type='submit' name='submit_question' id='submit' class='button-primary' value='<?php echo esc_attr( $this->submit_text ); ?>' />
26
-
27
- </p>
28
-
29
- </form>
30
-
31
  </div>
1
+ <div class='ewd-ufaq-question-form'>
2
+
3
+ <?php $this->maybe_print_submitted_faq_message(); ?>
4
+
5
+ <form id='question_form' method='post' action='#'>
6
+
7
+ <?php $this->print_nonce_field(); ?>
8
+
9
+ <?php $this->print_referer_field(); ?>
10
+
11
+ <?php $this->print_question_title_field(); ?>
12
+
13
+ <?php $this->maybe_print_answer_field(); ?>
14
+
15
+ <?php $this->maybe_print_custom_fields(); ?>
16
+
17
+ <?php $this->print_author_field(); ?>
18
+
19
+ <?php $this->maybe_print_author_email_field(); ?>
20
+
21
+ <?php $this->maybe_print_captcha_field(); ?>
22
+
23
+ <p class='submit'>
24
+
25
+ <input type='submit' name='submit_question' id='submit' class='button-primary' value='<?php echo esc_attr( $this->submit_text ); ?>' />
26
+
27
+ </p>
28
+
29
+ </form>
30
+
31
  </div>
includes/Ajax.class.php CHANGED
@@ -1,154 +1,154 @@
1
- <?php
2
- if ( !defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( !class_exists( 'ewdufaqAJAX' ) ) {
5
- /**
6
- * Class to handle AJAX interactions for Ultimate FAQs
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqAJAX {
11
-
12
- public function __construct() {
13
-
14
- add_action( 'wp_ajax_ewd_ufaq_search', array( $this, 'return_search_results' ) );
15
- add_action( 'wp_ajax_nopriv_ewd_ufaq_search', array( $this, 'return_search_results' ) );
16
-
17
- add_action( 'wp_ajax_ewd_ufaq_record_view', array( $this, 'record_view' ) );
18
- add_action( 'wp_ajax_nopriv_ewd_ufaq_record_view', array( $this, 'record_view' ) );
19
-
20
- add_action( 'wp_ajax_ewd_ufaq_update_rating', array( $this, 'update_rating' ) );
21
- add_action( 'wp_ajax_nopriv_ewd_ufaq_update_rating', array( $this, 'update_rating' ) );
22
-
23
- add_action( 'wp_ajax_ewd_ufaq_update_order', array( $this, 'update_order' ) );
24
- }
25
-
26
- /**
27
- * Get the results of the FAQ search
28
- * @since 2.0.0
29
- */
30
- public function return_search_results() {
31
- global $ewd_ufaq_controller;
32
-
33
- $faq_atts = array(
34
- 'is_search' => 1,
35
- 'search_string' => '',
36
- 'post__in' => '',
37
- 'post__in_string' => '',
38
- 'include_tag' => '',
39
- 'include_category' => '',
40
- 'exclude_category' => '',
41
- 'include_category_ids' => '',
42
- 'exclude_category_ids' => '',
43
- 'include_category_children' => '',
44
- 'no_comments' => '',
45
- 'orderby' => '',
46
- 'order' => '',
47
- 'display_all_answers' => '',
48
- 'faq_page' => 1,
49
- 'post_count' => -1
50
- );
51
-
52
- $query = new ewdufaqQuery( $faq_atts );
53
-
54
- $query->parse_request_args();
55
- $query->prepare_args();
56
-
57
- $faqs = new ewdufaqViewFAQs( $faq_atts );
58
-
59
- $faqs->set_request_parameters();
60
-
61
- $faqs->set_faqs( $query->get_faqs() );
62
-
63
- $faqs->set_faqs_options();
64
-
65
- $faqs->create_faq_data();
66
-
67
- ob_start();
68
-
69
- $ewd_ufaq_controller->shortcode_printing = true;
70
-
71
- $faqs->print_faqs();
72
-
73
- $ewd_ufaq_controller->shortcode_printing = false;
74
-
75
- $output = ob_get_clean();
76
-
77
- $output = $output ? $output : sprintf( $ewd_ufaq_controller->settings->get_setting( 'label-no-results-found' ), $query->args['search_string'] );
78
-
79
- wp_send_json_success(
80
- array(
81
- 'output' => $output,
82
- 'faq_count' => $faqs->faq_count,
83
- 'max_page' => $faqs->max_page,
84
- 'request_count' => intval( $_POST['request_count'] )
85
- )
86
- );
87
-
88
- die();
89
- }
90
-
91
- /**
92
- * Records the number of time an FAQ post is opened
93
- * @since 2.0.0
94
- */
95
- public function record_view() {
96
- global $wpdb;
97
-
98
- $post_id = intval( $_POST['post_id'] );
99
-
100
- $meta_id = $wpdb->get_var( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id=%d AND meta_key='ufaq_view_count'", $post_id ) );
101
-
102
- if ( $meta_id != '' and $meta_id != 0 ) { $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->postmeta SET meta_value=meta_value+1 WHERE post_id=%d AND meta_key='ufaq_view_count'", $post_id ) ); }
103
- else { $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta (post_id,meta_key,meta_value) VALUES (%d,'ufaq_view_count','1')", $post_id ) ); }
104
-
105
- die();
106
- }
107
-
108
- /**
109
- * Update the up or down rating for an FAQ
110
- * @since 2.0.0
111
- */
112
- public function update_rating() {
113
-
114
- $faq_id = is_numeric( $_POST['faq_id'] ) ? intval( $_POST['faq_id'] ) : 0;
115
- $vote_type = sanitize_text_field( $_POST['vote_type'] );
116
-
117
- if ( $vote_type == 'up' ) {
118
-
119
- $up_votes = get_post_meta( $faq_id, 'FAQ_Up_Votes', true );
120
- update_post_meta( $faq_id, 'FAQ_Up_Votes', $up_votes + 1 );
121
-
122
- $total_score = get_post_meta( $faq_id, 'FAQ_Total_Score', true );
123
- update_post_meta( $faq_id, 'FAQ_Total_Score', $total_score + 1 );
124
- }
125
- if ( $vote_type == 'down' ) {
126
-
127
- $down_votes = get_post_meta( $faq_id, 'FAQ_Down_Votes', true );
128
- update_post_meta( $faq_id, 'FAQ_Down_Votes', $down_votes + 1 );
129
-
130
- $total_score = get_post_meta( $faq_id, 'FAQ_Total_Score', true );
131
- update_post_meta( $faq_id, 'FAQ_Total_Score', $total_score - 1 );
132
- }
133
-
134
- die();
135
- }
136
-
137
- /**
138
- * Updates the order of the FAQ, based on the ordering table
139
- * @since 2.0.0
140
- */
141
- public function update_order() {
142
- global $ewd_ufaq_controller;
143
-
144
- if ( ! is_array( $_POST['ewd-ufaq-item'] ) or ! $ewd_ufaq_controller->permissions->check_permission( 'ordering' ) ) { return; }
145
-
146
- foreach ( $_POST['ewd-ufaq-item'] as $key => $id ) {
147
-
148
- update_post_meta( intval( $id ), 'ufaq_order', intval( $key ) );
149
- }
150
-
151
- die();
152
- }
153
- }
154
  }
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( !class_exists( 'ewdufaqAJAX' ) ) {
5
+ /**
6
+ * Class to handle AJAX interactions for Ultimate FAQs
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqAJAX {
11
+
12
+ public function __construct() {
13
+
14
+ add_action( 'wp_ajax_ewd_ufaq_search', array( $this, 'return_search_results' ) );
15
+ add_action( 'wp_ajax_nopriv_ewd_ufaq_search', array( $this, 'return_search_results' ) );
16
+
17
+ add_action( 'wp_ajax_ewd_ufaq_record_view', array( $this, 'record_view' ) );
18
+ add_action( 'wp_ajax_nopriv_ewd_ufaq_record_view', array( $this, 'record_view' ) );
19
+
20
+ add_action( 'wp_ajax_ewd_ufaq_update_rating', array( $this, 'update_rating' ) );
21
+ add_action( 'wp_ajax_nopriv_ewd_ufaq_update_rating', array( $this, 'update_rating' ) );
22
+
23
+ add_action( 'wp_ajax_ewd_ufaq_update_order', array( $this, 'update_order' ) );
24
+ }
25
+
26
+ /**
27
+ * Get the results of the FAQ search
28
+ * @since 2.0.0
29
+ */
30
+ public function return_search_results() {
31
+ global $ewd_ufaq_controller;
32
+
33
+ $faq_atts = array(
34
+ 'is_search' => 1,
35
+ 'search_string' => '',
36
+ 'post__in' => '',
37
+ 'post__in_string' => '',
38
+ 'include_tag' => '',
39
+ 'include_category' => '',
40
+ 'exclude_category' => '',
41
+ 'include_category_ids' => '',
42
+ 'exclude_category_ids' => '',
43
+ 'include_category_children' => '',
44
+ 'no_comments' => '',
45
+ 'orderby' => '',
46
+ 'order' => '',
47
+ 'display_all_answers' => '',
48
+ 'faq_page' => 1,
49
+ 'post_count' => -1
50
+ );
51
+
52
+ $query = new ewdufaqQuery( $faq_atts );
53
+
54
+ $query->parse_request_args();
55
+ $query->prepare_args();
56
+
57
+ $faqs = new ewdufaqViewFAQs( $faq_atts );
58
+
59
+ $faqs->set_request_parameters();
60
+
61
+ $faqs->set_faqs( $query->get_faqs() );
62
+
63
+ $faqs->set_faqs_options();
64
+
65
+ $faqs->create_faq_data();
66
+
67
+ ob_start();
68
+
69
+ $ewd_ufaq_controller->shortcode_printing = true;
70
+
71
+ $faqs->print_faqs();
72
+
73
+ $ewd_ufaq_controller->shortcode_printing = false;
74
+
75
+ $output = ob_get_clean();
76
+
77
+ $output = $output ? $output : sprintf( $ewd_ufaq_controller->settings->get_setting( 'label-no-results-found' ), $query->args['search_string'] );
78
+
79
+ wp_send_json_success(
80
+ array(
81
+ 'output' => $output,
82
+ 'faq_count' => $faqs->faq_count,
83
+ 'max_page' => $faqs->max_page,
84
+ 'request_count' => intval( $_POST['request_count'] )
85
+ )
86
+ );
87
+
88
+ die();
89
+ }
90
+
91
+ /**
92
+ * Records the number of time an FAQ post is opened
93
+ * @since 2.0.0
94
+ */
95
+ public function record_view() {
96
+ global $wpdb;
97
+
98
+ $post_id = intval( $_POST['post_id'] );
99
+
100
+ $meta_id = $wpdb->get_var( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id=%d AND meta_key='ufaq_view_count'", $post_id ) );
101
+
102
+ if ( $meta_id != '' and $meta_id != 0 ) { $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->postmeta SET meta_value=meta_value+1 WHERE post_id=%d AND meta_key='ufaq_view_count'", $post_id ) ); }
103
+ else { $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta (post_id,meta_key,meta_value) VALUES (%d,'ufaq_view_count','1')", $post_id ) ); }
104
+
105
+ die();
106
+ }
107
+
108
+ /**
109
+ * Update the up or down rating for an FAQ
110
+ * @since 2.0.0
111
+ */
112
+ public function update_rating() {
113
+
114
+ $faq_id = is_numeric( $_POST['faq_id'] ) ? intval( $_POST['faq_id'] ) : 0;
115
+ $vote_type = sanitize_text_field( $_POST['vote_type'] );
116
+
117
+ if ( $vote_type == 'up' ) {
118
+
119
+ $up_votes = get_post_meta( $faq_id, 'FAQ_Up_Votes', true );
120
+ update_post_meta( $faq_id, 'FAQ_Up_Votes', $up_votes + 1 );
121
+
122
+ $total_score = get_post_meta( $faq_id, 'FAQ_Total_Score', true );
123
+ update_post_meta( $faq_id, 'FAQ_Total_Score', $total_score + 1 );
124
+ }
125
+ if ( $vote_type == 'down' ) {
126
+
127
+ $down_votes = get_post_meta( $faq_id, 'FAQ_Down_Votes', true );
128
+ update_post_meta( $faq_id, 'FAQ_Down_Votes', $down_votes + 1 );
129
+
130
+ $total_score = get_post_meta( $faq_id, 'FAQ_Total_Score', true );
131
+ update_post_meta( $faq_id, 'FAQ_Total_Score', $total_score - 1 );
132
+ }
133
+
134
+ die();
135
+ }
136
+
137
+ /**
138
+ * Updates the order of the FAQ, based on the ordering table
139
+ * @since 2.0.0
140
+ */
141
+ public function update_order() {
142
+ global $ewd_ufaq_controller;
143
+
144
+ if ( ! is_array( $_POST['ewd-ufaq-item'] ) or ! $ewd_ufaq_controller->permissions->check_permission( 'ordering' ) ) { return; }
145
+
146
+ foreach ( $_POST['ewd-ufaq-item'] as $key => $id ) {
147
+
148
+ update_post_meta( intval( $id ), 'ufaq_order', intval( $key ) );
149
+ }
150
+
151
+ die();
152
+ }
153
+ }
154
  }
includes/BackwardsCompatibility.class.php CHANGED
@@ -1,197 +1,197 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( ! class_exists( 'ewdufaqBackwardsCompatibility' ) ) {
5
- /**
6
- * Class to handle transforming the plugin settings from the
7
- * previous style (individual options) to the new one (options array)
8
- *
9
- * @since 2.0.0
10
- */
11
- class ewdufaqBackwardsCompatibility {
12
-
13
- public function __construct() {
14
-
15
- if ( empty( get_option( 'ewd-ufaq-settings' ) ) and get_option( 'EWD_UFAQ_Full_Version' ) ) { $this->run_backwards_compat(); }
16
- elseif ( ! get_option( 'ewd-ufaq-permission-level' ) ) { update_option( 'ewd-ufaq-permission-level', 1 ); }
17
- }
18
-
19
- public function run_backwards_compat() {
20
-
21
- $settings = array(
22
- 'custom-css' => get_option( 'EWD_UFAQ_Custom_CSS' ),
23
- 'disable-faq-toggle' => get_option( 'EWD_UFAQ_Toggle' ) == 'Yes' ? false : true,
24
- 'faq-category-toggle' => get_option( 'EWD_UFAQ_Category_Toggle' ) == 'Yes' ? true : false,
25
- 'faq-category-accordion' => get_option( 'EWD_UFAQ_Category_Accordion' ) == 'Yes' ? true : false,
26
- 'expand-collapse-all' => get_option( 'EWD_UFAQ_Expand_Collapse_All' ) == 'Yes' ? true : false,
27
- 'faq-accordion' => get_option( 'EWD_UFAQ_FAQ_Accordion' ) == 'Yes' ? true : false,
28
- 'hide-categories' => get_option( 'EWD_UFAQ_Hide_Categories' ) == 'Yes' ? true : false,
29
- 'hide-tags' => get_option( 'EWD_UFAQ_Hide_Tags' ) == 'Yes' ? true : false,
30
- 'scroll-to-top' => get_option( 'EWD_UFAQ_Scroll_To_Top' ) == 'Yes' ? true : false,
31
- 'display-all-answers' => get_option( 'EWD_UFAQ_Display_All_Answers' ) == 'Yes' ? true : false,
32
- 'display-author' => get_option( 'EWD_UFAQ_Display_Author' ) == 'Yes' ? true : false,
33
- 'display-date' => get_option( 'EWD_UFAQ_Display_Date' ) == 'Yes' ? true : false,
34
- 'display-back-to-top' => get_option( 'EWD_UFAQ_Display_Back_To_Top' ) == 'Yes' ? true : false,
35
- 'include-permalink' => get_option( 'EWD_UFAQ_Include_Permalink' ) == 'Yes' ? 'both' : ( get_option( 'EWD_UFAQ_Include_Permalink' ) == 'No' ? 'none' : strtolower( get_option( 'EWD_UFAQ_Include_Permalink' ) ) ),
36
- 'permalink-type' => get_option( 'EWD_UFAQ_Permalink_Type' ) == 'SamePage' ? 'same_page' : 'individual_page',
37
- 'comments-on' => get_option( 'EWD_UFAQ_Comments_On' ) == 'Yes' ? true : false,
38
- 'disable-microdata' => get_option( 'EWD_UFAQ_Disable_Microdata' ) == 'Yes' ? true : false,
39
- 'access-role' => get_option( 'EWD_UFAQ_Access_Role' ),
40
- 'display-style' => strtolower( get_option( 'EWD_UFAQ_Display_Style' ) ),
41
- 'number-of-columns' => strtolower( get_option( 'EWD_UFAQ_FAQ_Number_Of_Columns' ) ),
42
- 'responsive-columns' => get_option( 'EWD_UFAQ_Responsive_Columns' ) == 'Yes' ? true : false,
43
- 'color-block-shape' => strtolower( get_option( 'EWD_UFAQ_Color_Block_Shape' ) ),
44
- 'faqs-per-page' => get_option( 'EWD_UFAQ_FAQs_Per_Page' ),
45
- 'page-type' => strtolower( get_option( 'EWD_UFAQ_Page_Type' ) ),
46
- 'faq-ratings' => get_option( 'EWD_UFAQ_FAQ_Ratings' ) == 'Yes' ? true : false,
47
- 'thumbs-up-image' => get_option( 'EWD_UFAQ_Thumbs_Up_Image' ),
48
- 'thumbs-down-image' => get_option( 'EWD_UFAQ_Thumbs_Down_Image' ),
49
- 'woocommerce-integration' => get_option( 'EWD_UFAQ_WooCommerce_FAQs' ) == 'Yes' ? true : false,
50
- 'woocommerce-use-product' => get_option( 'EWD_UFAQ_Use_Product' ) == 'Yes' ? true : false,
51
- 'wpforms-integration' => get_option( 'EWD_UFAQ_WPForms_Integration' ) == 'Yes' ? true : false,
52
- 'wpforms-post-count' => get_option( 'EWD_UFAQ_WPForms_Post_Count' ),
53
- 'wpforms-faq-location' => strtolower( get_option( 'EWD_UFAQ_WPForms_FAQ_Location' ) ),
54
- 'reveal-effect' => strtolower( get_option( 'EWD_UFAQ_Reveal_Effect' ) ),
55
- 'pretty-permalinks' => get_option( 'EWD_UFAQ_Pretty_Permalinks' ) == 'Yes' ? true : false,
56
- 'allow-proposed-answer' => get_option( 'EWD_UFAQ_Allow_Proposed_Answer' ) == 'Yes' ? true : false,
57
- 'submit-custom-fields' => get_option( 'EWD_UFAQ_Submit_Custom_Fields' ) == 'Yes' ? true : false,
58
- 'submit-question-captcha' => get_option( 'EWD_UFAQ_Submit_Question_Captcha' ) == 'Yes' ? true : false,
59
- 'submitted-default-category' => get_option( 'EWD_UFAQ_Submitted_Default_Category' ),
60
- 'admin-question-notification' => get_option( 'EWD_UFAQ_Admin_Question_Notification' ) == 'Yes' ? true : false,
61
- 'admin-notification-email' => get_option( 'EWD_UFAQ_Admin_Notification_Email' ),
62
- 'submit-faq-email' => get_option( 'EWD_UFAQ_Submit_FAQ_Email' ),
63
- 'auto-complete-titles' => get_option( 'EWD_UFAQ_Auto_Complete_Titles' ) == 'Yes' ? true : false,
64
- 'highlight-search-term' => get_option( 'EWD_UFAQ_Highlight_Search_Term' ) == 'Yes' ? true : false,
65
- 'slug-base' => get_option( 'EWD_UFAQ_Slug_Base' ),
66
- 'social-media' => array_diff( explode( ',', strtolower( get_option( 'EWD_UFAQ_Social_Media' ) ) ), array( 'blank' ) ),
67
- 'faq-elements-order' => $this->convert_elements_order(),
68
- 'slug-base' => get_option( 'EWD_UFAQ_Slug_Base' ),
69
- 'group-by-category' => get_option( 'EWD_UFAQ_Group_By_Category' ) == 'Yes' ? true : false,
70
- 'group-by-category-count' => get_option( 'EWD_UFAQ_Group_By_Category_Count' ) == 'Yes' ? true : false,
71
- 'category-order-by' => strtolower( get_option( 'EWD_UFAQ_Group_By_Order_By' ) ),
72
- 'category-order' => strtolower( get_option( 'EWD_UFAQ_Group_By_Order' ) ),
73
- 'faq-order-by' => strtolower( get_option( 'EWD_UFAQ_Order_By' ) ),
74
- 'faq-order' => strtolower( get_option( 'EWD_UFAQ_Order' ) ),
75
- 'faq-fields' => $this->convert_field_array(),
76
- 'hide-blank-fields' => get_option( 'EWD_UFAQ_Hide_Blank_Fields' ) == 'Yes' ? true : false,
77
- 'label-posted' => get_option( 'EWD_UFAQ_Posted_Label' ),
78
- 'label-by' => get_option( 'EWD_UFAQ_By_Label' ),
79
- 'label-on' => get_option( 'EWD_UFAQ_On_Label' ),
80
- 'label-categories' => get_option( 'EWD_UFAQ_Category_Label' ),
81
- 'label-tags' => get_option( 'EWD_UFAQ_Tag_Label' ),
82
- 'label-enter-question' => get_option( 'EWD_UFAQ_Enter_Question_Label' ),
83
- 'label-search' => get_option( 'EWD_UFAQ_Search_Label' ),
84
- 'label-permalink' => get_option( 'EWD_UFAQ_Permalink_Label' ),
85
- 'label-back-to-top' => get_option( 'EWD_UFAQ_Back_To_Top_Label' ),
86
- 'label-woocommerce-tab' => get_option( 'EWD_UFAQ_WooCommerce_Tab_Label' ),
87
- 'label-share-faq' => get_option( 'EWD_UFAQ_Share_FAQ_Label' ),
88
- 'label-ratings' => get_option( 'EWD_UFAQ_Find_FAQ_Helpful_Label' ),
89
- 'label-search-placeholder' => get_option( 'EWD_UFAQ_Search_Placeholder_Label' ),
90
- 'label-thank-you-submit' => get_option( 'EWD_UFAQ_Thank_You_Submit_Label' ),
91
- 'label-submit-question' => get_option( 'EWD_UFAQ_Submit_Question_Label' ),
92
- 'label-please-fill-form-below' => get_option( 'EWD_UFAQ_Please_Fill_Form_Below_Label' ),
93
- 'label-send-question' => get_option( 'EWD_UFAQ_Send_Question_Label' ),
94
- 'label-question-title' => get_option( 'EWD_UFAQ_Question_Title_Label' ),
95
- 'label-question-title-explanation' => get_option( 'EWD_UFAQ_What_Question_Being_Answered_Label' ),
96
- 'label-proposed-answer' => get_option( 'EWD_UFAQ_Proposed_Answer_Label' ),
97
- 'label-question-author' => get_option( 'EWD_UFAQ_Review_Author_Label' ),
98
- 'label-question-author-explanation' => get_option( 'EWD_UFAQ_What_Name_With_Review_Label' ),
99
- 'label-captcha-image-number' => get_option( 'EWD_UFAQ_Captcha_Image_Number_Label' ),
100
- 'label-retrieving-results' => get_option( 'EWD_UFAQ_Retrieving_Results' ),
101
- 'label-no-results-found' => get_option( 'EWD_UFAQ_No_Results_Found_Text' ),
102
- 'styling-toggle-background-color' => get_option( 'EWD_UFAQ_Styling_Default_Bg_Color' ),
103
- 'styling-toggle-font-color' => get_option( 'EWD_UFAQ_Styling_Default_Font_Color' ),
104
- 'styling-toggle-border-size' => get_option( 'EWD_UFAQ_Styling_Default_Border_Size' ),
105
- 'styling-toggle-border-color' => get_option( 'EWD_UFAQ_Styling_Default_Border_Color' ),
106
- 'styling-toggle-border-radius' => get_option( 'EWD_UFAQ_Styling_Default_Border_Radius' ),
107
- 'styling-toggle-symbol-size' => get_option( 'EWD_UFAQ_Styling_Toggle_Symbol_Size' ),
108
- 'styling-block-background-color' => get_option( 'EWD_UFAQ_Styling_Block_Bg_Color' ),
109
- 'styling-block-font-color' => get_option( 'EWD_UFAQ_Styling_Block_Font_Color' ),
110
- 'styling-list-font' => get_option( 'EWD_UFAQ_Styling_List_Font' ),
111
- 'styling-list-font-size' => get_option( 'EWD_UFAQ_Styling_List_Font_Size' ),
112
- 'styling-list-font-color' => get_option( 'EWD_UFAQ_Styling_List_Font_Color' ),
113
- 'styling-list-margin' => get_option( 'EWD_UFAQ_Styling_List_Margin' ),
114
- 'styling-list-padding' => get_option( 'EWD_UFAQ_Styling_List_Padding' ),
115
- 'styling-question-font' => get_option( 'EWD_UFAQ_Styling_Question_Font' ),
116
- 'styling-question-font-size' => get_option( 'EWD_UFAQ_Styling_Question_Font_Size' ),
117
- 'styling-question-font-color' => get_option( 'EWD_UFAQ_Styling_Question_Font_Color' ),
118
- 'styling-question-margin' => get_option( 'EWD_UFAQ_Styling_Question_Margin' ),
119
- 'styling-question-padding' => get_option( 'EWD_UFAQ_Styling_Question_Padding' ),
120
- 'styling-question-icon-top-margin' => get_option( 'EWD_UFAQ_Styling_Question_Icon_Top_Margin' ),
121
- 'styling-answer-font' => get_option( 'EWD_UFAQ_Styling_Answer_Font' ),
122
- 'styling-answer-font-size' => get_option( 'EWD_UFAQ_Styling_Answer_Font_Size' ),
123
- 'styling-answer-font-color' => get_option( 'EWD_UFAQ_Styling_Answer_Font_Color' ),
124
- 'styling-answer-margin' => get_option( 'EWD_UFAQ_Styling_Answer_Margin' ),
125
- 'styling-answer-padding' => get_option( 'EWD_UFAQ_Styling_Answer_Padding' ),
126
- 'styling-postdate-font' => get_option( 'EWD_UFAQ_Styling_Postdate_Font' ),
127
- 'styling-postdate-font-size' => get_option( 'EWD_UFAQ_Styling_Postdate_Font_Size' ),
128
- 'styling-postdate-font-color' => get_option( 'EWD_UFAQ_Styling_Postdate_Font_Color' ),
129
- 'styling-postdate-margin' => get_option( 'EWD_UFAQ_Styling_Postdate_Margin' ),
130
- 'styling-postdate-padding' => get_option( 'EWD_UFAQ_Styling_Postdate_Padding' ),
131
- 'styling-category-heading-font' => get_option( 'EWD_UFAQ_Styling_Category_Heading_Font' ),
132
- 'styling-category-heading-font-size' => get_option( 'EWD_UFAQ_Styling_Category_Heading_Font_Size' ),
133
- 'styling-category-heading-font-color' => get_option( 'EWD_UFAQ_Styling_Category_Heading_Font_Color' ),
134
- 'styling-category-font' => get_option( 'EWD_UFAQ_Styling_Category_Font' ),
135
- 'styling-category-font-size' => get_option( 'EWD_UFAQ_Styling_Category_Font_Size' ),
136
- 'styling-category-font-color' => get_option( 'EWD_UFAQ_Styling_Category_Font_Color' ),
137
- 'styling-category-margin' => get_option( 'EWD_UFAQ_Styling_Category_Margin' ),
138
- 'styling-category-padding' => get_option( 'EWD_UFAQ_Styling_Category_Padding' ),
139
- 'styling-category-heading-type' => get_option( 'EWD_UFAQ_Styling_Category_Heading_Type' ),
140
- 'styling-faq-heading-type' => get_option( 'EWD_UFAQ_Styling_FAQ_Heading_Type' ),
141
- 'styling-toggle-symbol' => get_option( 'EWD_UFAQ_Toggle_Symbol' ),
142
- );
143
-
144
- add_option( 'ewd-ufaq-review-ask-time', get_option( 'EWD_UFAQ_Ask_Review_Date' ) );
145
- add_option( 'ewd-ufaq-installation-time', get_option( 'EWD_UFAQ_Install_Time' ) );
146
-
147
- update_option( 'ewd-ufaq-permission-level', get_option( 'EWD_UFAQ_Full_Version' ) == 'Yes' ? 2 : 1 );
148
-
149
- update_option( 'ewd-ufaq-settings', $settings );
150
- }
151
-
152
- public function convert_elements_order() {
153
-
154
- $elements_order = array();
155
-
156
- $old_elements = get_option( 'EWD_UFAQ_FAQ_Elements' );
157
-
158
- foreach ( $old_elements as $old_element ) {
159
-
160
- $elements_order[ strtolower( $old_element ) ] = $this->get_element_label( $old_element );
161
- }
162
-
163
- return json_encode( $elements_order );
164
- }
165
-
166
- public function convert_field_array() {
167
-
168
- $old_faq_fields = get_option( 'EWD_UFAQ_FAQ_Fields' );
169
- $new_faq_fields = array();
170
-
171
- foreach ( $old_faq_fields as $old_faq_field ) {
172
-
173
- $new_field = array(
174
- 'id' => $old_faq_field['FieldID'],
175
- 'name' => $old_faq_field['FieldName'],
176
- 'type' => $old_faq_field['FieldType'],
177
- 'options' => ! empty( $old_faq_field['FieldValues'] ) ? $old_faq_field['FieldValues'] : '',
178
- );
179
-
180
- $new_faq_fields[] = $new_field;
181
- }
182
-
183
- return json_encode( $new_faq_fields );
184
- }
185
-
186
- public function get_element_label( $element ) {
187
-
188
- if ( $element == 'Author_Date' ) { return 'Author/Date'; }
189
- elseif ( $element == 'Custom_Fields' ) { return 'Custom Fields'; }
190
- elseif ( $element == 'Social_Media' ) { return 'Social Media'; }
191
- elseif ( $element == 'Back_To_Top' ) { return 'Back to Top'; }
192
-
193
- return $element;
194
- }
195
- }
196
-
197
  }
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( ! class_exists( 'ewdufaqBackwardsCompatibility' ) ) {
5
+ /**
6
+ * Class to handle transforming the plugin settings from the
7
+ * previous style (individual options) to the new one (options array)
8
+ *
9
+ * @since 2.0.0
10
+ */
11
+ class ewdufaqBackwardsCompatibility {
12
+
13
+ public function __construct() {
14
+
15
+ if ( empty( get_option( 'ewd-ufaq-settings' ) ) and get_option( 'EWD_UFAQ_Full_Version' ) ) { $this->run_backwards_compat(); }
16
+ elseif ( ! get_option( 'ewd-ufaq-permission-level' ) ) { update_option( 'ewd-ufaq-permission-level', 1 ); }
17
+ }
18
+
19
+ public function run_backwards_compat() {
20
+
21
+ $settings = array(
22
+ 'custom-css' => get_option( 'EWD_UFAQ_Custom_CSS' ),
23
+ 'disable-faq-toggle' => get_option( 'EWD_UFAQ_Toggle' ) == 'Yes' ? false : true,
24
+ 'faq-category-toggle' => get_option( 'EWD_UFAQ_Category_Toggle' ) == 'Yes' ? true : false,
25
+ 'faq-category-accordion' => get_option( 'EWD_UFAQ_Category_Accordion' ) == 'Yes' ? true : false,
26
+ 'expand-collapse-all' => get_option( 'EWD_UFAQ_Expand_Collapse_All' ) == 'Yes' ? true : false,
27
+ 'faq-accordion' => get_option( 'EWD_UFAQ_FAQ_Accordion' ) == 'Yes' ? true : false,
28
+ 'hide-categories' => get_option( 'EWD_UFAQ_Hide_Categories' ) == 'Yes' ? true : false,
29
+ 'hide-tags' => get_option( 'EWD_UFAQ_Hide_Tags' ) == 'Yes' ? true : false,
30
+ 'scroll-to-top' => get_option( 'EWD_UFAQ_Scroll_To_Top' ) == 'Yes' ? true : false,
31
+ 'display-all-answers' => get_option( 'EWD_UFAQ_Display_All_Answers' ) == 'Yes' ? true : false,
32
+ 'display-author' => get_option( 'EWD_UFAQ_Display_Author' ) == 'Yes' ? true : false,
33
+ 'display-date' => get_option( 'EWD_UFAQ_Display_Date' ) == 'Yes' ? true : false,
34
+ 'display-back-to-top' => get_option( 'EWD_UFAQ_Display_Back_To_Top' ) == 'Yes' ? true : false,
35
+ 'include-permalink' => get_option( 'EWD_UFAQ_Include_Permalink' ) == 'Yes' ? 'both' : ( get_option( 'EWD_UFAQ_Include_Permalink' ) == 'No' ? 'none' : strtolower( get_option( 'EWD_UFAQ_Include_Permalink' ) ) ),
36
+ 'permalink-type' => get_option( 'EWD_UFAQ_Permalink_Type' ) == 'SamePage' ? 'same_page' : 'individual_page',
37
+ 'comments-on' => get_option( 'EWD_UFAQ_Comments_On' ) == 'Yes' ? true : false,
38
+ 'disable-microdata' => get_option( 'EWD_UFAQ_Disable_Microdata' ) == 'Yes' ? true : false,
39
+ 'access-role' => get_option( 'EWD_UFAQ_Access_Role' ),
40
+ 'display-style' => strtolower( get_option( 'EWD_UFAQ_Display_Style' ) ),
41
+ 'number-of-columns' => strtolower( get_option( 'EWD_UFAQ_FAQ_Number_Of_Columns' ) ),
42
+ 'responsive-columns' => get_option( 'EWD_UFAQ_Responsive_Columns' ) == 'Yes' ? true : false,
43
+ 'color-block-shape' => strtolower( get_option( 'EWD_UFAQ_Color_Block_Shape' ) ),
44
+ 'faqs-per-page' => get_option( 'EWD_UFAQ_FAQs_Per_Page' ),
45
+ 'page-type' => strtolower( get_option( 'EWD_UFAQ_Page_Type' ) ),
46
+ 'faq-ratings' => get_option( 'EWD_UFAQ_FAQ_Ratings' ) == 'Yes' ? true : false,
47
+ 'thumbs-up-image' => get_option( 'EWD_UFAQ_Thumbs_Up_Image' ),
48
+ 'thumbs-down-image' => get_option( 'EWD_UFAQ_Thumbs_Down_Image' ),
49
+ 'woocommerce-integration' => get_option( 'EWD_UFAQ_WooCommerce_FAQs' ) == 'Yes' ? true : false,
50
+ 'woocommerce-use-product' => get_option( 'EWD_UFAQ_Use_Product' ) == 'Yes' ? true : false,
51
+ 'wpforms-integration' => get_option( 'EWD_UFAQ_WPForms_Integration' ) == 'Yes' ? true : false,
52
+ 'wpforms-post-count' => get_option( 'EWD_UFAQ_WPForms_Post_Count' ),
53
+ 'wpforms-faq-location' => strtolower( get_option( 'EWD_UFAQ_WPForms_FAQ_Location' ) ),
54
+ 'reveal-effect' => strtolower( get_option( 'EWD_UFAQ_Reveal_Effect' ) ),
55
+ 'pretty-permalinks' => get_option( 'EWD_UFAQ_Pretty_Permalinks' ) == 'Yes' ? true : false,
56
+ 'allow-proposed-answer' => get_option( 'EWD_UFAQ_Allow_Proposed_Answer' ) == 'Yes' ? true : false,
57
+ 'submit-custom-fields' => get_option( 'EWD_UFAQ_Submit_Custom_Fields' ) == 'Yes' ? true : false,
58
+ 'submit-question-captcha' => get_option( 'EWD_UFAQ_Submit_Question_Captcha' ) == 'Yes' ? true : false,
59
+ 'submitted-default-category' => get_option( 'EWD_UFAQ_Submitted_Default_Category' ),
60
+ 'admin-question-notification' => get_option( 'EWD_UFAQ_Admin_Question_Notification' ) == 'Yes' ? true : false,
61
+ 'admin-notification-email' => get_option( 'EWD_UFAQ_Admin_Notification_Email' ),
62
+ 'submit-faq-email' => get_option( 'EWD_UFAQ_Submit_FAQ_Email' ),
63
+ 'auto-complete-titles' => get_option( 'EWD_UFAQ_Auto_Complete_Titles' ) == 'Yes' ? true : false,
64
+ 'highlight-search-term' => get_option( 'EWD_UFAQ_Highlight_Search_Term' ) == 'Yes' ? true : false,
65
+ 'slug-base' => get_option( 'EWD_UFAQ_Slug_Base' ),
66
+ 'social-media' => array_diff( explode( ',', strtolower( get_option( 'EWD_UFAQ_Social_Media' ) ) ), array( 'blank' ) ),
67
+ 'faq-elements-order' => $this->convert_elements_order(),
68
+ 'slug-base' => get_option( 'EWD_UFAQ_Slug_Base' ),
69
+ 'group-by-category' => get_option( 'EWD_UFAQ_Group_By_Category' ) == 'Yes' ? true : false,
70
+ 'group-by-category-count' => get_option( 'EWD_UFAQ_Group_By_Category_Count' ) == 'Yes' ? true : false,
71
+ 'category-order-by' => strtolower( get_option( 'EWD_UFAQ_Group_By_Order_By' ) ),
72
+ 'category-order' => strtolower( get_option( 'EWD_UFAQ_Group_By_Order' ) ),
73
+ 'faq-order-by' => strtolower( get_option( 'EWD_UFAQ_Order_By' ) ),
74
+ 'faq-order' => strtolower( get_option( 'EWD_UFAQ_Order' ) ),
75
+ 'faq-fields' => $this->convert_field_array(),
76
+ 'hide-blank-fields' => get_option( 'EWD_UFAQ_Hide_Blank_Fields' ) == 'Yes' ? true : false,
77
+ 'label-posted' => get_option( 'EWD_UFAQ_Posted_Label' ),
78
+ 'label-by' => get_option( 'EWD_UFAQ_By_Label' ),
79
+ 'label-on' => get_option( 'EWD_UFAQ_On_Label' ),
80
+ 'label-categories' => get_option( 'EWD_UFAQ_Category_Label' ),
81
+ 'label-tags' => get_option( 'EWD_UFAQ_Tag_Label' ),
82
+ 'label-enter-question' => get_option( 'EWD_UFAQ_Enter_Question_Label' ),
83
+ 'label-search' => get_option( 'EWD_UFAQ_Search_Label' ),
84
+ 'label-permalink' => get_option( 'EWD_UFAQ_Permalink_Label' ),
85
+ 'label-back-to-top' => get_option( 'EWD_UFAQ_Back_To_Top_Label' ),
86
+ 'label-woocommerce-tab' => get_option( 'EWD_UFAQ_WooCommerce_Tab_Label' ),
87
+ 'label-share-faq' => get_option( 'EWD_UFAQ_Share_FAQ_Label' ),
88
+ 'label-ratings' => get_option( 'EWD_UFAQ_Find_FAQ_Helpful_Label' ),
89
+ 'label-search-placeholder' => get_option( 'EWD_UFAQ_Search_Placeholder_Label' ),
90
+ 'label-thank-you-submit' => get_option( 'EWD_UFAQ_Thank_You_Submit_Label' ),
91
+ 'label-submit-question' => get_option( 'EWD_UFAQ_Submit_Question_Label' ),
92
+ 'label-please-fill-form-below' => get_option( 'EWD_UFAQ_Please_Fill_Form_Below_Label' ),
93
+ 'label-send-question' => get_option( 'EWD_UFAQ_Send_Question_Label' ),
94
+ 'label-question-title' => get_option( 'EWD_UFAQ_Question_Title_Label' ),
95
+ 'label-question-title-explanation' => get_option( 'EWD_UFAQ_What_Question_Being_Answered_Label' ),
96
+ 'label-proposed-answer' => get_option( 'EWD_UFAQ_Proposed_Answer_Label' ),
97
+ 'label-question-author' => get_option( 'EWD_UFAQ_Review_Author_Label' ),
98
+ 'label-question-author-explanation' => get_option( 'EWD_UFAQ_What_Name_With_Review_Label' ),
99
+ 'label-captcha-image-number' => get_option( 'EWD_UFAQ_Captcha_Image_Number_Label' ),
100
+ 'label-retrieving-results' => get_option( 'EWD_UFAQ_Retrieving_Results' ),
101
+ 'label-no-results-found' => get_option( 'EWD_UFAQ_No_Results_Found_Text' ),
102
+ 'styling-toggle-background-color' => get_option( 'EWD_UFAQ_Styling_Default_Bg_Color' ),
103
+ 'styling-toggle-font-color' => get_option( 'EWD_UFAQ_Styling_Default_Font_Color' ),
104
+ 'styling-toggle-border-size' => get_option( 'EWD_UFAQ_Styling_Default_Border_Size' ),
105
+ 'styling-toggle-border-color' => get_option( 'EWD_UFAQ_Styling_Default_Border_Color' ),
106
+ 'styling-toggle-border-radius' => get_option( 'EWD_UFAQ_Styling_Default_Border_Radius' ),
107
+ 'styling-toggle-symbol-size' => get_option( 'EWD_UFAQ_Styling_Toggle_Symbol_Size' ),
108
+ 'styling-block-background-color' => get_option( 'EWD_UFAQ_Styling_Block_Bg_Color' ),
109
+ 'styling-block-font-color' => get_option( 'EWD_UFAQ_Styling_Block_Font_Color' ),
110
+ 'styling-list-font' => get_option( 'EWD_UFAQ_Styling_List_Font' ),
111
+ 'styling-list-font-size' => get_option( 'EWD_UFAQ_Styling_List_Font_Size' ),
112
+ 'styling-list-font-color' => get_option( 'EWD_UFAQ_Styling_List_Font_Color' ),
113
+ 'styling-list-margin' => get_option( 'EWD_UFAQ_Styling_List_Margin' ),
114
+ 'styling-list-padding' => get_option( 'EWD_UFAQ_Styling_List_Padding' ),
115
+ 'styling-question-font' => get_option( 'EWD_UFAQ_Styling_Question_Font' ),
116
+ 'styling-question-font-size' => get_option( 'EWD_UFAQ_Styling_Question_Font_Size' ),
117
+ 'styling-question-font-color' => get_option( 'EWD_UFAQ_Styling_Question_Font_Color' ),
118
+ 'styling-question-margin' => get_option( 'EWD_UFAQ_Styling_Question_Margin' ),
119
+ 'styling-question-padding' => get_option( 'EWD_UFAQ_Styling_Question_Padding' ),
120
+ 'styling-question-icon-top-margin' => get_option( 'EWD_UFAQ_Styling_Question_Icon_Top_Margin' ),
121
+ 'styling-answer-font' => get_option( 'EWD_UFAQ_Styling_Answer_Font' ),
122
+ 'styling-answer-font-size' => get_option( 'EWD_UFAQ_Styling_Answer_Font_Size' ),
123
+ 'styling-answer-font-color' => get_option( 'EWD_UFAQ_Styling_Answer_Font_Color' ),
124
+ 'styling-answer-margin' => get_option( 'EWD_UFAQ_Styling_Answer_Margin' ),
125
+ 'styling-answer-padding' => get_option( 'EWD_UFAQ_Styling_Answer_Padding' ),
126
+ 'styling-postdate-font' => get_option( 'EWD_UFAQ_Styling_Postdate_Font' ),
127
+ 'styling-postdate-font-size' => get_option( 'EWD_UFAQ_Styling_Postdate_Font_Size' ),
128
+ 'styling-postdate-font-color' => get_option( 'EWD_UFAQ_Styling_Postdate_Font_Color' ),
129
+ 'styling-postdate-margin' => get_option( 'EWD_UFAQ_Styling_Postdate_Margin' ),
130
+ 'styling-postdate-padding' => get_option( 'EWD_UFAQ_Styling_Postdate_Padding' ),
131
+ 'styling-category-heading-font' => get_option( 'EWD_UFAQ_Styling_Category_Heading_Font' ),
132
+ 'styling-category-heading-font-size' => get_option( 'EWD_UFAQ_Styling_Category_Heading_Font_Size' ),
133
+ 'styling-category-heading-font-color' => get_option( 'EWD_UFAQ_Styling_Category_Heading_Font_Color' ),
134
+ 'styling-category-font' => get_option( 'EWD_UFAQ_Styling_Category_Font' ),
135
+ 'styling-category-font-size' => get_option( 'EWD_UFAQ_Styling_Category_Font_Size' ),
136
+ 'styling-category-font-color' => get_option( 'EWD_UFAQ_Styling_Category_Font_Color' ),
137
+ 'styling-category-margin' => get_option( 'EWD_UFAQ_Styling_Category_Margin' ),
138
+ 'styling-category-padding' => get_option( 'EWD_UFAQ_Styling_Category_Padding' ),
139
+ 'styling-category-heading-type' => get_option( 'EWD_UFAQ_Styling_Category_Heading_Type' ),
140
+ 'styling-faq-heading-type' => get_option( 'EWD_UFAQ_Styling_FAQ_Heading_Type' ),
141
+ 'styling-toggle-symbol' => get_option( 'EWD_UFAQ_Toggle_Symbol' ),
142
+ );
143
+
144
+ add_option( 'ewd-ufaq-review-ask-time', get_option( 'EWD_UFAQ_Ask_Review_Date' ) );
145
+ add_option( 'ewd-ufaq-installation-time', get_option( 'EWD_UFAQ_Install_Time' ) );
146
+
147
+ update_option( 'ewd-ufaq-permission-level', get_option( 'EWD_UFAQ_Full_Version' ) == 'Yes' ? 2 : 1 );
148
+
149
+ update_option( 'ewd-ufaq-settings', $settings );
150
+ }
151
+
152
+ public function convert_elements_order() {
153
+
154
+ $elements_order = array();
155
+
156
+ $old_elements = get_option( 'EWD_UFAQ_FAQ_Elements' );
157
+
158
+ foreach ( $old_elements as $old_element ) {
159
+
160
+ $elements_order[ strtolower( $old_element ) ] = $this->get_element_label( $old_element );
161
+ }
162
+
163
+ return json_encode( $elements_order );
164
+ }
165
+
166
+ public function convert_field_array() {
167
+
168
+ $old_faq_fields = get_option( 'EWD_UFAQ_FAQ_Fields' );
169
+ $new_faq_fields = array();
170
+
171
+ foreach ( $old_faq_fields as $old_faq_field ) {
172
+
173
+ $new_field = array(
174
+ 'id' => $old_faq_field['FieldID'],
175
+ 'name' => $old_faq_field['FieldName'],
176
+ 'type' => $old_faq_field['FieldType'],
177
+ 'options' => ! empty( $old_faq_field['FieldValues'] ) ? $old_faq_field['FieldValues'] : '',
178
+ );
179
+
180
+ $new_faq_fields[] = $new_field;
181
+ }
182
+
183
+ return json_encode( $new_faq_fields );
184
+ }
185
+
186
+ public function get_element_label( $element ) {
187
+
188
+ if ( $element == 'Author_Date' ) { return 'Author/Date'; }
189
+ elseif ( $element == 'Custom_Fields' ) { return 'Custom Fields'; }
190
+ elseif ( $element == 'Social_Media' ) { return 'Social Media'; }
191
+ elseif ( $element == 'Back_To_Top' ) { return 'Back to Top'; }
192
+
193
+ return $element;
194
+ }
195
+ }
196
+
197
  }
includes/Blocks.class.php CHANGED
@@ -1,127 +1,127 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( ! class_exists( 'ewdufaqBlocks' ) ) {
5
- /**
6
- * Class to handle plugin Gutenberg blocks
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqBlocks {
11
-
12
- public function __construct() {
13
-
14
- add_action( 'init', array( $this, 'add_faq_blocks' ) );
15
-
16
- add_filter( 'block_categories_all', array( $this, 'add_block_category' ) );
17
- }
18
-
19
- /**
20
- * Add the Gutenberg block to the list of available blocks
21
- * @since 2.0.0
22
- */
23
- public function add_faq_blocks() {
24
-
25
- if ( ! function_exists( 'render_block_core_block' ) ) { return; }
26
-
27
- $this->enqueue_assets();
28
-
29
- $args = array(
30
- 'attributes' => array(
31
- 'post_count' => array(
32
- 'type' => 'integer',
33
- ),
34
- 'include_category' => array(
35
- 'type' => 'string',
36
- ),
37
- 'exclude_category' => array(
38
- 'type' => 'string',
39
- ),
40
- ),
41
- 'editor_script' => 'ewd-ufaq-blocks-js',
42
- 'editor_style' => 'ewd-ufaq-blocks-css',
43
- 'render_callback' => 'ewd_ufaq_faqs_shortcode',
44
- );
45
-
46
- register_block_type( 'ultimate-faqs/ewd-ufaq-display-faq-block', $args );
47
-
48
- $args = array(
49
- 'attributes' => array(
50
- 'post_count' => array(
51
- 'type' => 'integer',
52
- ),
53
- ),
54
- 'editor_script' => 'ewd-ufaq-blocks-js',
55
- 'editor_style' => 'ewd-ufaq-blocks-css',
56
- 'render_callback' => 'ewd_ufaq_recent_faqs_shortcode',
57
- );
58
-
59
- register_block_type( 'ultimate-faqs/ewd-ufaq-recent-faqs-block', $args );
60
-
61
- $args = array(
62
- 'attributes' => array(
63
- 'post_count' => array(
64
- 'type' => 'integer',
65
- ),
66
- ),
67
- 'editor_script' => 'ewd-ufaq-blocks-js',
68
- 'editor_style' => 'ewd-ufaq-blocks-css',
69
- 'render_callback' => 'ewd_ufaq_popular_faqs_shortcode',
70
- );
71
-
72
- register_block_type( 'ultimate-faqs/ewd-ufaq-popular-faqs-block', $args );
73
-
74
- $args = array(
75
- 'attributes' => array(
76
- 'post_count' => array(
77
- 'type' => 'integer',
78
- ),
79
- 'include_category' => array(
80
- 'type' => 'string',
81
- ),
82
- 'exclude_category' => array(
83
- 'type' => 'string',
84
- ),
85
- ),
86
- 'editor_script' => 'ewd-ufaq-blocks-js',
87
- 'editor_style' => 'ewd-ufaq-blocks-css',
88
- 'render_callback' => 'ewd_ufaq_search_faqs_shortcode',
89
- );
90
-
91
- register_block_type( 'ultimate-faqs/ewd-ufaq-search-block', $args );
92
-
93
- $args = array(
94
- 'editor_script' => 'ewd-ufaq-blocks-js',
95
- 'editor_style' => 'ewd-ufaq-blocks-css',
96
- 'render_callback' => 'ewd_ufaq_submit_faq_shortcode',
97
- );
98
-
99
- register_block_type( 'ultimate-faqs/ewd-ufaq-submit-faq-block', $args );
100
- }
101
-
102
- /**
103
- * Create a new category of blocks to hold our block
104
- * @since 2.0.0
105
- */
106
- public function add_block_category( $categories ) {
107
-
108
- $categories[] = array(
109
- 'slug' => 'ewd-ufaq-blocks',
110
- 'title' => __( 'Ultimate FAQs', 'ultimate-faqs' ),
111
- );
112
-
113
- return $categories;
114
- }
115
-
116
- /**
117
- * Register the necessary JS and CSS to display the block in the editor
118
- * @since 2.0.0
119
- */
120
- public function enqueue_assets() {
121
-
122
- wp_register_script( 'ewd-ufaq-blocks-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-blocks.js', array( 'wp-blocks', 'wp-element', 'wp-components', 'wp-editor' ), EWD_UFAQ_VERSION );
123
- wp_register_style( 'ewd-ufaq-blocks-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-blocks.css', array( 'wp-edit-blocks' ), EWD_UFAQ_VERSION );
124
- }
125
- }
126
-
127
  }
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( ! class_exists( 'ewdufaqBlocks' ) ) {
5
+ /**
6
+ * Class to handle plugin Gutenberg blocks
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqBlocks {
11
+
12
+ public function __construct() {
13
+
14
+ add_action( 'init', array( $this, 'add_faq_blocks' ) );
15
+
16
+ add_filter( 'block_categories_all', array( $this, 'add_block_category' ) );
17
+ }
18
+
19
+ /**
20
+ * Add the Gutenberg block to the list of available blocks
21
+ * @since 2.0.0
22
+ */
23
+ public function add_faq_blocks() {
24
+
25
+ if ( ! function_exists( 'render_block_core_block' ) ) { return; }
26
+
27
+ $this->enqueue_assets();
28
+
29
+ $args = array(
30
+ 'attributes' => array(
31
+ 'post_count' => array(
32
+ 'type' => 'integer',
33
+ ),
34
+ 'include_category' => array(
35
+ 'type' => 'string',
36
+ ),
37
+ 'exclude_category' => array(
38
+ 'type' => 'string',
39
+ ),
40
+ ),
41
+ 'editor_script' => 'ewd-ufaq-blocks-js',
42
+ 'editor_style' => 'ewd-ufaq-blocks-css',
43
+ 'render_callback' => 'ewd_ufaq_faqs_shortcode',
44
+ );
45
+
46
+ register_block_type( 'ultimate-faqs/ewd-ufaq-display-faq-block', $args );
47
+
48
+ $args = array(
49
+ 'attributes' => array(
50
+ 'post_count' => array(
51
+ 'type' => 'integer',
52
+ ),
53
+ ),
54
+ 'editor_script' => 'ewd-ufaq-blocks-js',
55
+ 'editor_style' => 'ewd-ufaq-blocks-css',
56
+ 'render_callback' => 'ewd_ufaq_recent_faqs_shortcode',
57
+ );
58
+
59
+ register_block_type( 'ultimate-faqs/ewd-ufaq-recent-faqs-block', $args );
60
+
61
+ $args = array(
62
+ 'attributes' => array(
63
+ 'post_count' => array(
64
+ 'type' => 'integer',
65
+ ),
66
+ ),
67
+ 'editor_script' => 'ewd-ufaq-blocks-js',
68
+ 'editor_style' => 'ewd-ufaq-blocks-css',
69
+ 'render_callback' => 'ewd_ufaq_popular_faqs_shortcode',
70
+ );
71
+
72
+ register_block_type( 'ultimate-faqs/ewd-ufaq-popular-faqs-block', $args );
73
+
74
+ $args = array(
75
+ 'attributes' => array(
76
+ 'post_count' => array(
77
+ 'type' => 'integer',
78
+ ),
79
+ 'include_category' => array(
80
+ 'type' => 'string',
81
+ ),
82
+ 'exclude_category' => array(
83
+ 'type' => 'string',
84
+ ),
85
+ ),
86
+ 'editor_script' => 'ewd-ufaq-blocks-js',
87
+ 'editor_style' => 'ewd-ufaq-blocks-css',
88
+ 'render_callback' => 'ewd_ufaq_search_faqs_shortcode',
89
+ );
90
+
91
+ register_block_type( 'ultimate-faqs/ewd-ufaq-search-block', $args );
92
+
93
+ $args = array(
94
+ 'editor_script' => 'ewd-ufaq-blocks-js',
95
+ 'editor_style' => 'ewd-ufaq-blocks-css',
96
+ 'render_callback' => 'ewd_ufaq_submit_faq_shortcode',
97
+ );
98
+
99
+ register_block_type( 'ultimate-faqs/ewd-ufaq-submit-faq-block', $args );
100
+ }
101
+
102
+ /**
103
+ * Create a new category of blocks to hold our block
104
+ * @since 2.0.0
105
+ */
106
+ public function add_block_category( $categories ) {
107
+
108
+ $categories[] = array(
109
+ 'slug' => 'ewd-ufaq-blocks',
110
+ 'title' => __( 'Ultimate FAQs', 'ultimate-faqs' ),
111
+ );
112
+
113
+ return $categories;
114
+ }
115
+
116
+ /**
117
+ * Register the necessary JS and CSS to display the block in the editor
118
+ * @since 2.0.0
119
+ */
120
+ public function enqueue_assets() {
121
+
122
+ wp_register_script( 'ewd-ufaq-blocks-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-blocks.js', array( 'wp-blocks', 'wp-element', 'wp-components', 'wp-editor' ), EWD_UFAQ_VERSION );
123
+ wp_register_style( 'ewd-ufaq-blocks-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-blocks.css', array( 'wp-edit-blocks' ), EWD_UFAQ_VERSION );
124
+ }
125
+ }
126
+
127
  }
includes/CustomPostTypes.class.php CHANGED
@@ -1,579 +1,579 @@
1
- <?php
2
- /**
3
- * Class to handle all custom post type definitions for Ultimate FAQs
4
- */
5
-
6
- if ( !defined( 'ABSPATH' ) )
7
- exit;
8
-
9
- if ( !class_exists( 'ewdufaqCustomPostTypes' ) ) {
10
- class ewdufaqCustomPostTypes {
11
-
12
- public function __construct() {
13
-
14
- // Call when plugin is initialized on every page load
15
- add_action( 'admin_init', array( $this, 'create_nonce' ) );
16
- add_action( 'init', array( $this, 'load_cpts' ) );
17
-
18
- // Handle metaboxes
19
- add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
20
- add_action( 'save_post', array( $this, 'save_meta' ) );
21
- add_action( 'post_edit_form_tag', array( $this, 'add_multipart_form_encoding' ) );
22
-
23
- // Add columns and filters to the admin list of FAQs
24
- add_filter( 'manage_ufaq_posts_columns', array( $this, 'register_faq_table_columns' ) );
25
- add_action( 'manage_ufaq_posts_custom_column', array( $this, 'display_faq_columns_content' ), 10, 2 );
26
- add_filter( 'manage_edit-ufaq_sortable_columns', array( $this, 'register_post_column_sortables' ) );
27
- add_filter( 'request', array( $this, 'orderby_custom_columns' ) );
28
- add_filter( 'parse_query', array( $this, 'convert_to_taxonomy_term' ) );
29
- add_filter( 'restrict_manage_posts', array( $this, 'add_categories_dropdown' ) );
30
- add_filter( 'posts_clauses', array( $this, 'sort_by_category' ), 10, 2 );
31
-
32
- // Add the option to bulk reset views from FAQs
33
- add_filter( 'bulk_actions-edit-ufaq', array( $this, 'add_reset_view_count_bulk_action' ) );
34
- add_filter( 'handle_bulk_actions-edit-ufaq', array( $this, 'handle_reset_view_count_bulk_action' ), 10, 3 );
35
- }
36
-
37
- /**
38
- * Initialize custom post types
39
- * @since 2.0.0
40
- */
41
- public function load_cpts() {
42
- global $ewd_ufaq_controller;
43
-
44
- // Define the faq custom post type
45
- $args = array(
46
- 'labels' => array(
47
- 'name' => __( 'FAQs', 'ultimate-faqs' ),
48
- 'singular_name' => __( 'FAQ', 'ultimate-faqs' ),
49
- 'menu_name' => __( 'FAQs', 'ultimate-faqs' ),
50
- 'name_admin_bar' => __( 'FAQs', 'ultimate-faqs' ),
51
- 'add_new' => __( 'Add New', 'ultimate-faqs' ),
52
- 'add_new_item' => __( 'Add New FAQ', 'ultimate-faqs' ),
53
- 'edit_item' => __( 'Edit FAQ', 'ultimate-faqs' ),
54
- 'new_item' => __( 'New FAQ', 'ultimate-faqs' ),
55
- 'view_item' => __( 'View FAQ', 'ultimate-faqs' ),
56
- 'search_items' => __( 'Search FAQs', 'ultimate-faqs' ),
57
- 'not_found' => __( 'No FAQs found', 'ultimate-faqs' ),
58
- 'not_found_in_trash' => __( 'No FAQs found in trash', 'ultimate-faqs' ),
59
- 'all_items' => __( 'All FAQs', 'ultimate-faqs' ),
60
- ),
61
- 'public' => true,
62
- 'has_archive' => true,
63
- 'menu_icon' => 'dashicons-format-chat',
64
- 'rewrite' => array(
65
- 'slug' => $ewd_ufaq_controller->settings->get_setting( 'slug-base' )
66
- ),
67
- 'supports' => array(
68
- 'title',
69
- 'editor',
70
- 'author',
71
- 'excerpt',
72
- 'comments'
73
- ),
74
- 'show_in_rest' => true,
75
- );
76
-
77
- // Create filter so addons can modify the arguments
78
- $args = apply_filters( 'ewd_ufaq_faqs_args', $args );
79
-
80
- // Add an action so addons can hook in before the post type is registered
81
- do_action( 'ewd_ufaq_faqs_pre_register' );
82
-
83
- // Register the post type
84
- register_post_type( EWD_UFAQ_FAQ_POST_TYPE, $args );
85
-
86
- // Add an action so addons can hook in after the post type is registered
87
- do_action( 'ewd_ufaq_faqs_post_register' );
88
-
89
- // Define the review category taxonomy
90
- $args = array(
91
- 'labels' => array(
92
- 'name' => __( 'FAQ Categories', 'ultimate-faqs' ),
93
- 'singular_name' => __( 'FAQ Category', 'ultimate-faqs' ),
94
- 'search_items' => __( 'Search FAQ Categories', 'ultimate-faqs' ),
95
- 'all_items' => __( 'All FAQ Categories', 'ultimate-faqs' ),
96
- 'parent_item' => __( 'Parent FAQ Category', 'ultimate-faqs' ),
97
- 'parent_item_colon' => __( 'Parent FAQ Category:', 'ultimate-faqs' ),
98
- 'edit_item' => __( 'Edit FAQ Category', 'ultimate-faqs' ),
99
- 'update_item' => __( 'Update FAQ Category', 'ultimate-faqs' ),
100
- 'add_new_item' => __( 'Add New FAQ Category', 'ultimate-faqs' ),
101
- 'new_item_name' => __( 'New FAQ Category Name', 'ultimate-faqs' ),
102
- 'menu_name' => __( 'FAQ Categories', 'ultimate-faqs' ),
103
- ),
104
- 'public' => true,
105
- 'query_var' => true,
106
- 'hierarchical' => true,
107
- 'show_in_rest' => true,
108
- );
109
-
110
- // Create filter so addons can modify the arguments
111
- $args = apply_filters( 'ewd_ufaq_category_args', $args );
112
-
113
- register_taxonomy( EWD_UFAQ_FAQ_CATEGORY_TAXONOMY, EWD_UFAQ_FAQ_POST_TYPE, $args );
114
-
115
- // Define the review category taxonomy
116
- $args = array(
117
- 'labels' => array(
118
- 'name' => __( 'FAQ Tags', 'ultimate-faqs' ),
119
- 'singular_name' => __( 'FAQ Tag', 'ultimate-faqs' ),
120
- 'search_items' => __( 'Search FAQ Tags', 'ultimate-faqs' ),
121
- 'all_items' => __( 'All FAQ Tags', 'ultimate-faqs' ),
122
- 'parent_item' => __( 'Parent FAQ Tag', 'ultimate-faqs' ),
123
- 'parent_item_colon' => __( 'Parent FAQ Tag:', 'ultimate-faqs' ),
124
- 'edit_item' => __( 'Edit FAQ Tag', 'ultimate-faqs' ),
125
- 'update_item' => __( 'Update FAQ Tag', 'ultimate-faqs' ),
126
- 'add_new_item' => __( 'Add New FAQ Tag', 'ultimate-faqs' ),
127
- 'new_item_name' => __( 'New FAQ Tag Name', 'ultimate-faqs' ),
128
- 'menu_name' => __( 'FAQ Tags', 'ultimate-faqs' ),
129
- ),
130
- 'public' => true,
131
- 'hierarchical' => false,
132
- 'show_in_rest' => true,
133
- );
134
-
135
- // Create filter so addons can modify the arguments
136
- $args = apply_filters( 'ewd_ufaq_tag_args', $args );
137
-
138
- register_taxonomy( EWD_UFAQ_FAQ_TAG_TAXONOMY, EWD_UFAQ_FAQ_POST_TYPE, $args );
139
- }
140
-
141
- /**
142
- * Generate a nonce for secure saving of metadata
143
- * @since 2.0.0
144
- */
145
- public function create_nonce() {
146
-
147
- $this->nonce = wp_create_nonce( basename( __FILE__ ) );
148
- }
149
-
150
- /**
151
- * Add in new columns for the ufaq type
152
- * @since 2.0.0
153
- */
154
- public function add_meta_boxes() {
155
-
156
- $meta_boxes = array(
157
-
158
- // Add in the FAQ meta information
159
- 'review_meta' => array (
160
- 'id' => 'ufaq',
161
- 'title' => esc_html__( 'FAQ Details', 'ultimate-faqs' ),
162
- 'callback' => array( $this, 'show_faq_meta' ),
163
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
164
- 'context' => 'normal',
165
- 'priority' => 'high'
166
- ),
167
-
168
- // Add in a link to the documentation for the plugin
169
- 'us_meta_need_help' => array (
170
- 'id' => 'ewd_ufaq_meta_need_help',
171
- 'title' => esc_html__( 'Need Help?', 'ultimate-faqs' ),
172
- 'callback' => array( $this, 'show_need_help_meta' ),
173
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
174
- 'context' => 'side',
175
- 'priority' => 'high'
176
- ),
177
- );
178
-
179
- // Create filter so addons can modify the metaboxes
180
- $meta_boxes = apply_filters( 'ewd_ufaq_meta_boxes', $meta_boxes );
181
-
182
- // Create the metaboxes
183
- foreach ( $meta_boxes as $meta_box ) {
184
- add_meta_box(
185
- $meta_box['id'],
186
- $meta_box['title'],
187
- $meta_box['callback'],
188
- $meta_box['post_type'],
189
- $meta_box['context'],
190
- $meta_box['priority']
191
- );
192
- }
193
- }
194
-
195
- /**
196
- * Add in a link to the plugin documentation
197
- * @since 2.0.0
198
- */
199
- public function show_faq_meta( $post ) {
200
- global $ewd_ufaq_controller;
201
-
202
- $faq_author = get_post_meta( $post->ID, 'EWD_UFAQ_Post_Author', true );
203
-
204
- $user = wp_get_current_user();
205
- $faq_author = $faq_author ? $faq_author : $user->display_name;
206
-
207
-
208
- $up_votes = get_post_meta( $post->ID, 'FAQ_Up_Votes', true );
209
- $down_votes = get_post_meta( $post->ID, 'FAQ_Down_Votes', true );
210
-
211
- ?>
212
-
213
- <input type="hidden" name="ewd_ufaq_nonce" value="<?php echo $this->nonce; ?>">
214
-
215
- <div class='ewd-ufaq-meta-field'>
216
- <label for='Post_Author'>
217
- <?php _e( 'Author Display Name:', 'ultimate-faqs' ); ?>
218
- </label>
219
- <input type='text' id='ewd-ufaq-post-author' name='faq_author' value='<?php echo esc_attr( $faq_author ); ?>' size='25' />
220
- </div>
221
-
222
- <?php if ( $ewd_ufaq_controller->settings->get_setting( 'faq-ratings' ) ) { ?>
223
-
224
- <div class='ewd-ufaq-meta-field'>
225
- <label class='ewd-ufaq-meta-label' for='review_karma'>
226
- <?php _e( 'Up Votes:', 'ultimate-faqs' ); ?>
227
- </label>
228
- <input type='text' id='ewd-ufaq-review-karma' name='up_votes' value='<?php echo esc_attr( $up_votes ); ?>' size='25' />
229
- <label class='ewd-ufaq-meta-label' for='review_karma'>
230
- <?php _e( 'Down Votes:', 'ultimate-faqs' ); ?>
231
- </label>
232
- <input type='text' id='ewd-ufaq-review-karma' name='down_votes' value='<?php echo esc_attr( $down_votes ); ?>' size='25' />
233
- </div>
234
-
235
- <?php } ?>
236
-
237
- <?php $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) ); ?>
238
-
239
- <?php foreach ( $custom_fields as $faq_field ) { ?>
240
-
241
- <?php $field_value = get_post_meta( $post->ID, "Custom_Field_" . $faq_field->id, true ); ?>
242
-
243
- <div class='ewd-ufaq-meta-field'>
244
- <label class='ewd-ufaq-score-label' for='<?php echo esc_attr( $faq_field->name ); ?>'>
245
- <?php echo esc_html( $faq_field->name ) ?>
246
- </label>
247
-
248
- <?php $options = explode( ',', $faq_field->options ); ?>
249
-
250
- <?php if ( $faq_field->type == 'textarea' ) { ?>
251
-
252
- <textarea id='ewd-ufaq-<?php echo esc_attr( $faq_field->name ); ?>' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>'>
253
- <?php echo esc_html( $field_value ); ?>
254
- </textarea>
255
-
256
- <?php } elseif ( $faq_field->type == 'dropdown' ) { ?>
257
- <?php if ( ! empty( $options ) ) { ?>
258
-
259
- <select name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>'>
260
- <?php foreach ( $options as $option ) { ?>
261
-
262
- <option value='<?php echo esc_attr( $option ); ?>' <?php echo ( $option == $field_value ? 'selected' : '' ); ?> >
263
- <?php echo esc_html( $option ); ?>
264
- </option>
265
- <?php } ?>
266
- </select>
267
-
268
- <?php } ?>
269
- <?php } elseif ( $faq_field->type == 'checkbox' ) { ?>
270
- <?php $field_value = is_array( $field_value ) ? $field_value : array(); ?>
271
- <?php if ( ! empty( $options ) ) { ?>
272
-
273
- <div class='ewd-ufaq-fields-page-radio-checkbox-container'>
274
- <?php foreach ( $options as $option ) { ?>
275
-
276
- <div class='ewd-ufaq-fields-page-radio-checkbox-each'>
277
- <input type='checkbox' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>[]' value='<?php echo esc_attr( $option ); ?>' <?php echo ( in_array( $option, $field_value ) ? 'checked' : '' ); ?> />
278
- <?php echo esc_html( $option ); ?>
279
- </div>
280
- <?php } ?>
281
- </div>
282
-
283
- <?php } ?>
284
- <?php } elseif ( $faq_field->type == 'radio' ) { ?>
285
- <?php if ( ! empty( $options ) ) { ?>
286
-
287
- <div class='ewd-ufaq-fields-page-radio-checkbox-container'>
288
- <?php foreach ( $options as $option ) { ?>
289
-
290
- <div class='ewd-ufaq-fields-page-radio-checkbox-each'>
291
- <input type='radio' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>' value='<?php echo esc_attr( $option ); ?>' <?php echo ( $option == $field_value ? 'checked' : '' ); ?> />
292
- <?php echo esc_html( $option ); ?>
293
- </div>
294
- <?php } ?>
295
- </div>
296
-
297
- <?php } ?>
298
- <?php } elseif ( $faq_field->type == 'date' ) { ?>
299
-
300
- <input type='date' class='ewd-ufaq-jquery-datepicker' id='ewd-ufaq-<?php echo esc_attr( $faq_field->name ); ?>' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>' value='<?php echo esc_attr( $field_value ); ?>' />
301
-
302
- <?php } elseif ( $faq_field->type == 'DateTime' ) { ?>
303
-
304
- <input type='datetime-local' id='ewd-ufaq-<?php echo esc_attr( $faq_field->name ); ?>' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>' value='<?php echo esc_attr( $field_value ); ?>' />
305
-
306
- <?php } else { ?>
307
-
308
- <input type='text' id='ewd-ufaq-<?php echo esc_attr( $faq_field->name ); ?>' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>' value='<?php echo esc_attr( $field_value ); ?>' size='25' />
309
-
310
- <?php } ?>
311
-
312
- </div>
313
-
314
- <?php
315
- }
316
- }
317
-
318
- /**
319
- * Add in a link to the plugin documentation
320
- * @since 2.0.0
321
- */
322
- public function show_need_help_meta() { ?>
323
-
324
- <div class='ewd-ufaq-need-help-box'>
325
- <div class='ewd-ufaq-need-help-text'>Visit our Support Center for documentation and tutorials</div>
326
- <a class='ewd-ufaq-need-help-button' href='https://www.etoilewebdesign.com/support-center/?Plugin=UFAQ' target='_blank'>GET SUPPORT</a>
327
- </div>
328
-
329
- <?php }
330
-
331
- /**
332
- * Save the metabox data for each review
333
- * @since 2.0.0
334
- */
335
- public function save_meta( $post_id ) {
336
- global $ewd_ufaq_controller;
337
-
338
- // Verify nonce
339
- if ( ! isset( $_POST['ewd_ufaq_nonce'] ) || ! wp_verify_nonce( $_POST['ewd_ufaq_nonce'], basename( __FILE__ ) ) ) {
340
-
341
- return $post_id;
342
- }
343
-
344
- // Check autosave
345
- if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
346
-
347
- return $post_id;
348
- }
349
-
350
- // Check permissions
351
- if ( ! current_user_can( 'edit_page', $post_id ) ) {
352
- return $post_id;
353
- } elseif ( ! current_user_can( 'edit_post', $post_id ) ) {
354
- return $post_id;
355
- }
356
-
357
- if ( ! get_post_meta( $post_id, 'ufaq_order', true ) ) { update_post_meta( $post_id, 'ufaq_order', 9999 ); }
358
-
359
- if ( isset( $_POST['faq_author'] ) ) { update_post_meta( $post_id, 'EWD_UFAQ_Post_Author', sanitize_text_field( $_POST['faq_author'] ) ); }
360
- if ( isset( $_POST['up_votes'] ) ) { update_post_meta( $post_id, 'FAQ_Up_Votes', sanitize_text_field( $_POST['up_votes'] ) ); }
361
- if ( isset( $_POST['down_votes'] ) ) { update_post_meta( $post_id, 'FAQ_Down_Votes', sanitize_text_field( $_POST['down_votes'] ) ); }
362
-
363
- $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
364
-
365
- foreach ( $custom_fields as $faq_field ) {
366
-
367
- $input_name = 'EWD_UFAQ_Custom_Field_' . $faq_field->id;
368
-
369
- if ( $faq_field->type == 'file' ) {
370
-
371
- $uploaded_file = wp_handle_upload( $_FILES[ $input_name ], array( 'test_form' => false ) );
372
- $field_value = $uploaded_file['url'];
373
- }
374
- elseif ( $faq_field->type == 'checkbox' ) {
375
-
376
- $field_value = ( isset( $_POST[ $input_name ] ) and is_array( $_POST[ $input_name ] ) ) ? array_map( 'sanitize_text_field', $_POST[ $input_name ] ) : array();
377
- update_post_meta( $post_id, 'Custom_Field_' . $faq_field->id, $field_value );
378
- }
379
- else {
380
-
381
- $field_value = sanitize_text_field( $_POST[ $input_name ] );
382
- update_post_meta( $post_id, 'Custom_Field_' . $faq_field->id, $field_value );
383
- }
384
- }
385
- }
386
-
387
- /**
388
- * Add in multi-part encoding to handle file uploading in custom fields
389
- * @since 2.0.0
390
- */
391
- public function add_multipart_form_encoding() {
392
- global $post;
393
-
394
- if ( ! $post ) { return; }
395
-
396
- if ( get_post_type( $post->ID ) != EWD_UFAQ_FAQ_POST_TYPE ) { return; }
397
-
398
- echo ' enctype="multipart/form-data"';
399
- }
400
-
401
- /**
402
- * Add in new columns for the ufaq type
403
- * @since 2.0.0
404
- */
405
- public function register_faq_table_columns( $defaults ) {
406
- global $ewd_ufaq_controller;
407
-
408
- $defaults['ewd_ufaq_views'] = __( '# of Views', 'ultimate-faqs' );
409
- $defaults['ewd_ufaq_categories'] = __( 'Categories', 'ultimate-faqs' );
410
- $defaults['ewd_ufaq_id'] = __( 'Post ID', 'ultimate-faqs' );
411
-
412
- return $defaults;
413
- }
414
-
415
-
416
- /**
417
- * Set the content for the custom columns
418
- * @since 2.0.0
419
- */
420
- public function display_faq_columns_content ( $column_name, $post_id ) {
421
-
422
- if ( $column_name == 'ewd_ufaq_views' ) {
423
-
424
- echo ( get_post_meta( $post_id, 'ufaq_view_count', true ) ? get_post_meta( $post_id, 'ufaq_view_count', true ) : 0 );
425
- }
426
-
427
- if ( $column_name == 'ewd_ufaq_categories' ) {
428
-
429
- echo get_the_term_list($post_id, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY, '', ', ', '');
430
- }
431
-
432
- if ( $column_name == 'ewd_ufaq_id' ) {
433
-
434
- echo $post_id;
435
- }
436
- }
437
-
438
- /**
439
- * Register the sortable columns
440
- * @since 2.0.0
441
- */
442
- public function register_post_column_sortables( $column ) {
443
- global $ewd_ufaq_controller;
444
-
445
- $column['ewd_ufaq_views'] = 'ewd_ufaq_views';
446
- $column['ewd_ufaq_categories'] = 'ewd_ufaq_product';
447
-
448
- return $column;
449
- }
450
-
451
- /**
452
- * Adjust the wp_query if the orderby clause is one of the custom ones
453
- * @since 2.0.0
454
- */
455
- public function orderby_custom_columns( $vars ) {
456
- global $wpdb;
457
-
458
- if ( ! isset( $vars['orderby'] ) ) { return $vars; }
459
-
460
- if ( $vars['orderby'] == 'ewd_ufaq_views' ) {
461
-
462
- $vars = array_merge(
463
- $vars,
464
- array(
465
- 'meta_key' => 'ufaq_view_count',
466
- 'orderby' => 'meta_value_num'
467
- )
468
- );
469
- }
470
-
471
- return $vars;
472
- }
473
-
474
- /**
475
- * Converts the UFAQ category to a taxonomy term
476
- * @since 2.0.0
477
- */
478
- public function convert_to_taxonomy_term( $query ) {
479
- global $typenow;
480
- global $pagenow;
481
-
482
- $taxonomy = EWD_UFAQ_FAQ_CATEGORY_TAXONOMY;
483
-
484
- $q_vars = &$query->query_vars;
485
-
486
- if ( empty( $typenow ) or $typenow != EWD_UFAQ_FAQ_POST_TYPE ) { return $query; }
487
-
488
- if ( ! isset( $q_vars[$taxonomy] ) or ! is_numeric( $q_vars[$taxonomy] )or $q_vars[$taxonomy] == 0 ) { return $query; }
489
-
490
- $term = get_term_by( 'id', $q_vars[$taxonomy], $taxonomy );
491
- $q_vars[$taxonomy] = $term->slug;
492
- }
493
-
494
- /**
495
- * Add a select box for the FAQ's category for UFAQ posts
496
- * @since 2.0.0
497
- */
498
- public function add_categories_dropdown() {
499
- global $typenow;
500
- global $wp_query;
501
-
502
- if ( $typenow != EWD_UFAQ_FAQ_POST_TYPE ) { return; }
503
-
504
- $faq_taxonomy = get_taxonomy( EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
505
-
506
- $args = array(
507
- 'show_option_all' => __("Show All {$faq_taxonomy->label}"),
508
- 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
509
- 'name' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
510
- 'orderby' => 'name',
511
- 'selected' => isset( $wp_query->query['term'] ) ? $wp_query->query['term'] : '',
512
- 'hierarchical' => true,
513
- 'depth' => 3,
514
- 'show_count' => true, // Show # listings in parens
515
- 'hide_empty' => true,
516
- );
517
-
518
- wp_dropdown_categories( $args );
519
- }
520
-
521
- /**
522
- * Sort the FAQs by the category they've been assigned to
523
- * @since 2.0.0
524
- */
525
- public function sort_by_category( $clauses, $wp_query ) {
526
- global $wpdb;
527
-
528
- if ( ! isset( $wp_query->query['orderby'] ) or $wp_query->query['orderby'] != EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ) { return $clauses; }
529
-
530
- $clauses['join'] .= <<<SQL
531
- LEFT OUTER JOIN {$wpdb->term_relationships} ON {$wpdb->posts}.ID={$wpdb->term_relationships}.object_id
532
- LEFT OUTER JOIN {$wpdb->term_taxonomy} USING (term_taxonomy_id)
533
- LEFT OUTER JOIN {$wpdb->terms} USING (term_id)
534
- SQL;
535
-
536
- $clauses['where'] .= "AND (taxonomy = 'ufaq-category' OR taxonomy IS NULL)";
537
- $clauses['groupby'] = "object_id";
538
- $clauses['orderby'] = "GROUP_CONCAT({$wpdb->terms}.name ORDER BY name ASC)";
539
-
540
- if ( strtoupper( $wp_query->get( 'order' ) ) == 'ASC' ) {
541
-
542
- $clauses['orderby'] .= 'ASC';
543
- }
544
- else {
545
-
546
- $clauses['orderby'] .= 'DESC';
547
- }
548
-
549
- return $clauses;
550
- }
551
-
552
- /**
553
- * Adds in a bulk action to reset the FAQ view count
554
- * @since 2.0.0
555
- */
556
- public function add_reset_view_count_bulk_action( $actions ) {
557
-
558
- $actions['reset_view_count'] = __( 'Reset View Count', 'ultimate-faqs' );
559
-
560
- return $actions;
561
- }
562
-
563
- /**
564
- * Handles the bulk action to reset the FAQ view count
565
- * @since 2.0.0
566
- */
567
- public function handle_reset_view_count_bulk_action( $redirect_to, $doaction, $post_ids ) {
568
-
569
- if ( $doaction != 'reset_view_count' ) { return $redirect_to; }
570
-
571
- foreach ( $post_ids as $post_id ) {
572
-
573
- update_post_meta( $post_id, 'ufaq_view_count', 0 );
574
- }
575
-
576
- return $redirect_to;
577
- }
578
- }
579
- } // endif;
1
+ <?php
2
+ /**
3
+ * Class to handle all custom post type definitions for Ultimate FAQs
4
+ */
5
+
6
+ if ( !defined( 'ABSPATH' ) )
7
+ exit;
8
+
9
+ if ( !class_exists( 'ewdufaqCustomPostTypes' ) ) {
10
+ class ewdufaqCustomPostTypes {
11
+
12
+ public function __construct() {
13
+
14
+ // Call when plugin is initialized on every page load
15
+ add_action( 'admin_init', array( $this, 'create_nonce' ) );
16
+ add_action( 'init', array( $this, 'load_cpts' ) );
17
+
18
+ // Handle metaboxes
19
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
20
+ add_action( 'save_post', array( $this, 'save_meta' ) );
21
+ add_action( 'post_edit_form_tag', array( $this, 'add_multipart_form_encoding' ) );
22
+
23
+ // Add columns and filters to the admin list of FAQs
24
+ add_filter( 'manage_ufaq_posts_columns', array( $this, 'register_faq_table_columns' ) );
25
+ add_action( 'manage_ufaq_posts_custom_column', array( $this, 'display_faq_columns_content' ), 10, 2 );
26
+ add_filter( 'manage_edit-ufaq_sortable_columns', array( $this, 'register_post_column_sortables' ) );
27
+ add_filter( 'request', array( $this, 'orderby_custom_columns' ) );
28
+ add_filter( 'parse_query', array( $this, 'convert_to_taxonomy_term' ) );
29
+ add_filter( 'restrict_manage_posts', array( $this, 'add_categories_dropdown' ) );
30
+ add_filter( 'posts_clauses', array( $this, 'sort_by_category' ), 10, 2 );
31
+
32
+ // Add the option to bulk reset views from FAQs
33
+ add_filter( 'bulk_actions-edit-ufaq', array( $this, 'add_reset_view_count_bulk_action' ) );
34
+ add_filter( 'handle_bulk_actions-edit-ufaq', array( $this, 'handle_reset_view_count_bulk_action' ), 10, 3 );
35
+ }
36
+
37
+ /**
38
+ * Initialize custom post types
39
+ * @since 2.0.0
40
+ */
41
+ public function load_cpts() {
42
+ global $ewd_ufaq_controller;
43
+
44
+ // Define the faq custom post type
45
+ $args = array(
46
+ 'labels' => array(
47
+ 'name' => __( 'FAQs', 'ultimate-faqs' ),
48
+ 'singular_name' => __( 'FAQ', 'ultimate-faqs' ),
49
+ 'menu_name' => __( 'FAQs', 'ultimate-faqs' ),
50
+ 'name_admin_bar' => __( 'FAQs', 'ultimate-faqs' ),
51
+ 'add_new' => __( 'Add New', 'ultimate-faqs' ),
52
+ 'add_new_item' => __( 'Add New FAQ', 'ultimate-faqs' ),
53
+ 'edit_item' => __( 'Edit FAQ', 'ultimate-faqs' ),
54
+ 'new_item' => __( 'New FAQ', 'ultimate-faqs' ),
55
+ 'view_item' => __( 'View FAQ', 'ultimate-faqs' ),
56
+ 'search_items' => __( 'Search FAQs', 'ultimate-faqs' ),
57
+ 'not_found' => __( 'No FAQs found', 'ultimate-faqs' ),
58
+ 'not_found_in_trash' => __( 'No FAQs found in trash', 'ultimate-faqs' ),
59
+ 'all_items' => __( 'All FAQs', 'ultimate-faqs' ),
60
+ ),
61
+ 'public' => true,
62
+ 'has_archive' => true,
63
+ 'menu_icon' => 'dashicons-format-chat',
64
+ 'rewrite' => array(
65
+ 'slug' => $ewd_ufaq_controller->settings->get_setting( 'slug-base' )
66
+ ),
67
+ 'supports' => array(
68
+ 'title',
69
+ 'editor',
70
+ 'author',
71
+ 'excerpt',
72
+ 'comments'
73
+ ),
74
+ 'show_in_rest' => true,
75
+ );
76
+
77
+ // Create filter so addons can modify the arguments
78
+ $args = apply_filters( 'ewd_ufaq_faqs_args', $args );
79
+
80
+ // Add an action so addons can hook in before the post type is registered
81
+ do_action( 'ewd_ufaq_faqs_pre_register' );
82
+
83
+ // Register the post type
84
+ register_post_type( EWD_UFAQ_FAQ_POST_TYPE, $args );
85
+
86
+ // Add an action so addons can hook in after the post type is registered
87
+ do_action( 'ewd_ufaq_faqs_post_register' );
88
+
89
+ // Define the review category taxonomy
90
+ $args = array(
91
+ 'labels' => array(
92
+ 'name' => __( 'FAQ Categories', 'ultimate-faqs' ),
93
+ 'singular_name' => __( 'FAQ Category', 'ultimate-faqs' ),
94
+ 'search_items' => __( 'Search FAQ Categories', 'ultimate-faqs' ),
95
+ 'all_items' => __( 'All FAQ Categories', 'ultimate-faqs' ),
96
+ 'parent_item' => __( 'Parent FAQ Category', 'ultimate-faqs' ),
97
+ 'parent_item_colon' => __( 'Parent FAQ Category:', 'ultimate-faqs' ),
98
+ 'edit_item' => __( 'Edit FAQ Category', 'ultimate-faqs' ),
99
+ 'update_item' => __( 'Update FAQ Category', 'ultimate-faqs' ),
100
+ 'add_new_item' => __( 'Add New FAQ Category', 'ultimate-faqs' ),
101
+ 'new_item_name' => __( 'New FAQ Category Name', 'ultimate-faqs' ),
102
+ 'menu_name' => __( 'FAQ Categories', 'ultimate-faqs' ),
103
+ ),
104
+ 'public' => true,
105
+ 'query_var' => true,
106
+ 'hierarchical' => true,
107
+ 'show_in_rest' => true,
108
+ );
109
+
110
+ // Create filter so addons can modify the arguments
111
+ $args = apply_filters( 'ewd_ufaq_category_args', $args );
112
+
113
+ register_taxonomy( EWD_UFAQ_FAQ_CATEGORY_TAXONOMY, EWD_UFAQ_FAQ_POST_TYPE, $args );
114
+
115
+ // Define the review category taxonomy
116
+ $args = array(
117
+ 'labels' => array(
118
+ 'name' => __( 'FAQ Tags', 'ultimate-faqs' ),
119
+ 'singular_name' => __( 'FAQ Tag', 'ultimate-faqs' ),
120
+ 'search_items' => __( 'Search FAQ Tags', 'ultimate-faqs' ),
121
+ 'all_items' => __( 'All FAQ Tags', 'ultimate-faqs' ),
122
+ 'parent_item' => __( 'Parent FAQ Tag', 'ultimate-faqs' ),
123
+ 'parent_item_colon' => __( 'Parent FAQ Tag:', 'ultimate-faqs' ),
124
+ 'edit_item' => __( 'Edit FAQ Tag', 'ultimate-faqs' ),
125
+ 'update_item' => __( 'Update FAQ Tag', 'ultimate-faqs' ),
126
+ 'add_new_item' => __( 'Add New FAQ Tag', 'ultimate-faqs' ),
127
+ 'new_item_name' => __( 'New FAQ Tag Name', 'ultimate-faqs' ),
128
+ 'menu_name' => __( 'FAQ Tags', 'ultimate-faqs' ),
129
+ ),
130
+ 'public' => true,
131
+ 'hierarchical' => false,
132
+ 'show_in_rest' => true,
133
+ );
134
+
135
+ // Create filter so addons can modify the arguments
136
+ $args = apply_filters( 'ewd_ufaq_tag_args', $args );
137
+
138
+ register_taxonomy( EWD_UFAQ_FAQ_TAG_TAXONOMY, EWD_UFAQ_FAQ_POST_TYPE, $args );
139
+ }
140
+
141
+ /**
142
+ * Generate a nonce for secure saving of metadata
143
+ * @since 2.0.0
144
+ */
145
+ public function create_nonce() {
146
+
147
+ $this->nonce = wp_create_nonce( basename( __FILE__ ) );
148
+ }
149
+
150
+ /**
151
+ * Add in new columns for the ufaq type
152
+ * @since 2.0.0
153
+ */
154
+ public function add_meta_boxes() {
155
+
156
+ $meta_boxes = array(
157
+
158
+ // Add in the FAQ meta information
159
+ 'review_meta' => array (
160
+ 'id' => 'ufaq',
161
+ 'title' => esc_html__( 'FAQ Details', 'ultimate-faqs' ),
162
+ 'callback' => array( $this, 'show_faq_meta' ),
163
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
164
+ 'context' => 'normal',
165
+ 'priority' => 'high'
166
+ ),
167
+
168
+ // Add in a link to the documentation for the plugin
169
+ 'us_meta_need_help' => array (
170
+ 'id' => 'ewd_ufaq_meta_need_help',
171
+ 'title' => esc_html__( 'Need Help?', 'ultimate-faqs' ),
172
+ 'callback' => array( $this, 'show_need_help_meta' ),
173
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
174
+ 'context' => 'side',
175
+ 'priority' => 'high'
176
+ ),
177
+ );
178
+
179
+ // Create filter so addons can modify the metaboxes
180
+ $meta_boxes = apply_filters( 'ewd_ufaq_meta_boxes', $meta_boxes );
181
+
182
+ // Create the metaboxes
183
+ foreach ( $meta_boxes as $meta_box ) {
184
+ add_meta_box(
185
+ $meta_box['id'],
186
+ $meta_box['title'],
187
+ $meta_box['callback'],
188
+ $meta_box['post_type'],
189
+ $meta_box['context'],
190
+ $meta_box['priority']
191
+ );
192
+ }
193
+ }
194
+
195
+ /**
196
+ * Add in a link to the plugin documentation
197
+ * @since 2.0.0
198
+ */
199
+ public function show_faq_meta( $post ) {
200
+ global $ewd_ufaq_controller;
201
+
202
+ $faq_author = get_post_meta( $post->ID, 'EWD_UFAQ_Post_Author', true );
203
+
204
+ $user = wp_get_current_user();
205
+ $faq_author = $faq_author ? $faq_author : $user->display_name;
206
+
207
+
208
+ $up_votes = get_post_meta( $post->ID, 'FAQ_Up_Votes', true );
209
+ $down_votes = get_post_meta( $post->ID, 'FAQ_Down_Votes', true );
210
+
211
+ ?>
212
+
213
+ <input type="hidden" name="ewd_ufaq_nonce" value="<?php echo $this->nonce; ?>">
214
+
215
+ <div class='ewd-ufaq-meta-field'>
216
+ <label for='Post_Author'>
217
+ <?php _e( 'Author Display Name:', 'ultimate-faqs' ); ?>
218
+ </label>
219
+ <input type='text' id='ewd-ufaq-post-author' name='faq_author' value='<?php echo esc_attr( $faq_author ); ?>' size='25' />
220
+ </div>
221
+
222
+ <?php if ( $ewd_ufaq_controller->settings->get_setting( 'faq-ratings' ) ) { ?>
223
+
224
+ <div class='ewd-ufaq-meta-field'>
225
+ <label class='ewd-ufaq-meta-label' for='review_karma'>
226
+ <?php _e( 'Up Votes:', 'ultimate-faqs' ); ?>
227
+ </label>
228
+ <input type='text' id='ewd-ufaq-review-karma' name='up_votes' value='<?php echo esc_attr( $up_votes ); ?>' size='25' />
229
+ <label class='ewd-ufaq-meta-label' for='review_karma'>
230
+ <?php _e( 'Down Votes:', 'ultimate-faqs' ); ?>
231
+ </label>
232
+ <input type='text' id='ewd-ufaq-review-karma' name='down_votes' value='<?php echo esc_attr( $down_votes ); ?>' size='25' />
233
+ </div>
234
+
235
+ <?php } ?>
236
+
237
+ <?php $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) ); ?>
238
+
239
+ <?php foreach ( $custom_fields as $faq_field ) { ?>
240
+
241
+ <?php $field_value = get_post_meta( $post->ID, "Custom_Field_" . $faq_field->id, true ); ?>
242
+
243
+ <div class='ewd-ufaq-meta-field'>
244
+ <label class='ewd-ufaq-score-label' for='<?php echo esc_attr( $faq_field->name ); ?>'>
245
+ <?php echo esc_html( $faq_field->name ) ?>
246
+ </label>
247
+
248
+ <?php $options = explode( ',', $faq_field->options ); ?>
249
+
250
+ <?php if ( $faq_field->type == 'textarea' ) { ?>
251
+
252
+ <textarea id='ewd-ufaq-<?php echo esc_attr( $faq_field->name ); ?>' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>'>
253
+ <?php echo esc_html( $field_value ); ?>
254
+ </textarea>
255
+
256
+ <?php } elseif ( $faq_field->type == 'dropdown' ) { ?>
257
+ <?php if ( ! empty( $options ) ) { ?>
258
+
259
+ <select name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>'>
260
+ <?php foreach ( $options as $option ) { ?>
261
+
262
+ <option value='<?php echo esc_attr( $option ); ?>' <?php echo ( $option == $field_value ? 'selected' : '' ); ?> >
263
+ <?php echo esc_html( $option ); ?>
264
+ </option>
265
+ <?php } ?>
266
+ </select>
267
+
268
+ <?php } ?>
269
+ <?php } elseif ( $faq_field->type == 'checkbox' ) { ?>
270
+ <?php $field_value = is_array( $field_value ) ? $field_value : array(); ?>
271
+ <?php if ( ! empty( $options ) ) { ?>
272
+
273
+ <div class='ewd-ufaq-fields-page-radio-checkbox-container'>
274
+ <?php foreach ( $options as $option ) { ?>
275
+
276
+ <div class='ewd-ufaq-fields-page-radio-checkbox-each'>
277
+ <input type='checkbox' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>[]' value='<?php echo esc_attr( $option ); ?>' <?php echo ( in_array( $option, $field_value ) ? 'checked' : '' ); ?> />
278
+ <?php echo esc_html( $option ); ?>
279
+ </div>
280
+ <?php } ?>
281
+ </div>
282
+
283
+ <?php } ?>
284
+ <?php } elseif ( $faq_field->type == 'radio' ) { ?>
285
+ <?php if ( ! empty( $options ) ) { ?>
286
+
287
+ <div class='ewd-ufaq-fields-page-radio-checkbox-container'>
288
+ <?php foreach ( $options as $option ) { ?>
289
+
290
+ <div class='ewd-ufaq-fields-page-radio-checkbox-each'>
291
+ <input type='radio' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>' value='<?php echo esc_attr( $option ); ?>' <?php echo ( $option == $field_value ? 'checked' : '' ); ?> />
292
+ <?php echo esc_html( $option ); ?>
293
+ </div>
294
+ <?php } ?>
295
+ </div>
296
+
297
+ <?php } ?>
298
+ <?php } elseif ( $faq_field->type == 'date' ) { ?>
299
+
300
+ <input type='date' class='ewd-ufaq-jquery-datepicker' id='ewd-ufaq-<?php echo esc_attr( $faq_field->name ); ?>' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>' value='<?php echo esc_attr( $field_value ); ?>' />
301
+
302
+ <?php } elseif ( $faq_field->type == 'DateTime' ) { ?>
303
+
304
+ <input type='datetime-local' id='ewd-ufaq-<?php echo esc_attr( $faq_field->name ); ?>' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>' value='<?php echo esc_attr( $field_value ); ?>' />
305
+
306
+ <?php } else { ?>
307
+
308
+ <input type='text' id='ewd-ufaq-<?php echo esc_attr( $faq_field->name ); ?>' name='EWD_UFAQ_Custom_Field_<?php echo esc_attr( $faq_field->id ); ?>' value='<?php echo esc_attr( $field_value ); ?>' size='25' />
309
+
310
+ <?php } ?>
311
+
312
+ </div>
313
+
314
+ <?php
315
+ }
316
+ }
317
+
318
+ /**
319
+ * Add in a link to the plugin documentation
320
+ * @since 2.0.0
321
+ */
322
+ public function show_need_help_meta() { ?>
323
+
324
+ <div class='ewd-ufaq-need-help-box'>
325
+ <div class='ewd-ufaq-need-help-text'>Visit our Support Center for documentation and tutorials</div>
326
+ <a class='ewd-ufaq-need-help-button' href='https://www.etoilewebdesign.com/support-center/?Plugin=UFAQ' target='_blank'>GET SUPPORT</a>
327
+ </div>
328
+
329
+ <?php }
330
+
331
+ /**
332
+ * Save the metabox data for each review
333
+ * @since 2.0.0
334
+ */
335
+ public function save_meta( $post_id ) {
336
+ global $ewd_ufaq_controller;
337
+
338
+ // Verify nonce
339
+ if ( ! isset( $_POST['ewd_ufaq_nonce'] ) || ! wp_verify_nonce( $_POST['ewd_ufaq_nonce'], basename( __FILE__ ) ) ) {
340
+
341
+ return $post_id;
342
+ }
343
+
344
+ // Check autosave
345
+ if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
346
+
347
+ return $post_id;
348
+ }
349
+
350
+ // Check permissions
351
+ if ( ! current_user_can( 'edit_page', $post_id ) ) {
352
+ return $post_id;
353
+ } elseif ( ! current_user_can( 'edit_post', $post_id ) ) {
354
+ return $post_id;
355
+ }
356
+
357
+ if ( ! get_post_meta( $post_id, 'ufaq_order', true ) ) { update_post_meta( $post_id, 'ufaq_order', 9999 ); }
358
+
359
+ if ( isset( $_POST['faq_author'] ) ) { update_post_meta( $post_id, 'EWD_UFAQ_Post_Author', sanitize_text_field( $_POST['faq_author'] ) ); }
360
+ if ( isset( $_POST['up_votes'] ) ) { update_post_meta( $post_id, 'FAQ_Up_Votes', sanitize_text_field( $_POST['up_votes'] ) ); }
361
+ if ( isset( $_POST['down_votes'] ) ) { update_post_meta( $post_id, 'FAQ_Down_Votes', sanitize_text_field( $_POST['down_votes'] ) ); }
362
+
363
+ $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
364
+
365
+ foreach ( $custom_fields as $faq_field ) {
366
+
367
+ $input_name = 'EWD_UFAQ_Custom_Field_' . $faq_field->id;
368
+
369
+ if ( $faq_field->type == 'file' ) {
370
+
371
+ $uploaded_file = wp_handle_upload( $_FILES[ $input_name ], array( 'test_form' => false ) );
372
+ $field_value = $uploaded_file['url'];
373
+ }
374
+ elseif ( $faq_field->type == 'checkbox' ) {
375
+
376
+ $field_value = ( isset( $_POST[ $input_name ] ) and is_array( $_POST[ $input_name ] ) ) ? array_map( 'sanitize_text_field', $_POST[ $input_name ] ) : array();
377
+ update_post_meta( $post_id, 'Custom_Field_' . $faq_field->id, $field_value );
378
+ }
379
+ else {
380
+
381
+ $field_value = sanitize_text_field( $_POST[ $input_name ] );
382
+ update_post_meta( $post_id, 'Custom_Field_' . $faq_field->id, $field_value );
383
+ }
384
+ }
385
+ }
386
+
387
+ /**
388
+ * Add in multi-part encoding to handle file uploading in custom fields
389
+ * @since 2.0.0
390
+ */
391
+ public function add_multipart_form_encoding() {
392
+ global $post;
393
+
394
+ if ( ! $post ) { return; }
395
+
396
+ if ( get_post_type( $post->ID ) != EWD_UFAQ_FAQ_POST_TYPE ) { return; }
397
+
398
+ echo ' enctype="multipart/form-data"';
399
+ }
400
+
401
+ /**
402
+ * Add in new columns for the ufaq type
403
+ * @since 2.0.0
404
+ */
405
+ public function register_faq_table_columns( $defaults ) {
406
+ global $ewd_ufaq_controller;
407
+
408
+ $defaults['ewd_ufaq_views'] = __( '# of Views', 'ultimate-faqs' );
409
+ $defaults['ewd_ufaq_categories'] = __( 'Categories', 'ultimate-faqs' );
410
+ $defaults['ewd_ufaq_id'] = __( 'Post ID', 'ultimate-faqs' );
411
+
412
+ return $defaults;
413
+ }
414
+
415
+
416
+ /**
417
+ * Set the content for the custom columns
418
+ * @since 2.0.0
419
+ */
420
+ public function display_faq_columns_content ( $column_name, $post_id ) {
421
+
422
+ if ( $column_name == 'ewd_ufaq_views' ) {
423
+
424
+ echo ( get_post_meta( $post_id, 'ufaq_view_count', true ) ? get_post_meta( $post_id, 'ufaq_view_count', true ) : 0 );
425
+ }
426
+
427
+ if ( $column_name == 'ewd_ufaq_categories' ) {
428
+
429
+ echo get_the_term_list($post_id, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY, '', ', ', '');
430
+ }
431
+
432
+ if ( $column_name == 'ewd_ufaq_id' ) {
433
+
434
+ echo $post_id;
435
+ }
436
+ }
437
+
438
+ /**
439
+ * Register the sortable columns
440
+ * @since 2.0.0
441
+ */
442
+ public function register_post_column_sortables( $column ) {
443
+ global $ewd_ufaq_controller;
444
+
445
+ $column['ewd_ufaq_views'] = 'ewd_ufaq_views';
446
+ $column['ewd_ufaq_categories'] = 'ewd_ufaq_product';
447
+
448
+ return $column;
449
+ }
450
+
451
+ /**
452
+ * Adjust the wp_query if the orderby clause is one of the custom ones
453
+ * @since 2.0.0
454
+ */
455
+ public function orderby_custom_columns( $vars ) {
456
+ global $wpdb;
457
+
458
+ if ( ! isset( $vars['orderby'] ) ) { return $vars; }
459
+
460
+ if ( $vars['orderby'] == 'ewd_ufaq_views' ) {
461
+
462
+ $vars = array_merge(
463
+ $vars,
464
+ array(
465
+ 'meta_key' => 'ufaq_view_count',
466
+ 'orderby' => 'meta_value_num'
467
+ )
468
+ );
469
+ }
470
+
471
+ return $vars;
472
+ }
473
+
474
+ /**
475
+ * Converts the UFAQ category to a taxonomy term
476
+ * @since 2.0.0
477
+ */
478
+ public function convert_to_taxonomy_term( $query ) {
479
+ global $typenow;
480
+ global $pagenow;
481
+
482
+ $taxonomy = EWD_UFAQ_FAQ_CATEGORY_TAXONOMY;
483
+
484
+ $q_vars = &$query->query_vars;
485
+
486
+ if ( empty( $typenow ) or $typenow != EWD_UFAQ_FAQ_POST_TYPE ) { return $query; }
487
+
488
+ if ( ! isset( $q_vars[$taxonomy] ) or ! is_numeric( $q_vars[$taxonomy] )or $q_vars[$taxonomy] == 0 ) { return $query; }
489
+
490
+ $term = get_term_by( 'id', $q_vars[$taxonomy], $taxonomy );
491
+ $q_vars[$taxonomy] = $term->slug;
492
+ }
493
+
494
+ /**
495
+ * Add a select box for the FAQ's category for UFAQ posts
496
+ * @since 2.0.0
497
+ */
498
+ public function add_categories_dropdown() {
499
+ global $typenow;
500
+ global $wp_query;
501
+
502
+ if ( $typenow != EWD_UFAQ_FAQ_POST_TYPE ) { return; }
503
+
504
+ $faq_taxonomy = get_taxonomy( EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
505
+
506
+ $args = array(
507
+ 'show_option_all' => __("Show All {$faq_taxonomy->label}"),
508
+ 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
509
+ 'name' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
510
+ 'orderby' => 'name',
511
+ 'selected' => isset( $wp_query->query['term'] ) ? $wp_query->query['term'] : '',
512
+ 'hierarchical' => true,
513
+ 'depth' => 3,
514
+ 'show_count' => true, // Show # listings in parens
515
+ 'hide_empty' => true,
516
+ );
517
+
518
+ wp_dropdown_categories( $args );
519
+ }
520
+
521
+ /**
522
+ * Sort the FAQs by the category they've been assigned to
523
+ * @since 2.0.0
524
+ */
525
+ public function sort_by_category( $clauses, $wp_query ) {
526
+ global $wpdb;
527
+
528
+ if ( ! isset( $wp_query->query['orderby'] ) or $wp_query->query['orderby'] != EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ) { return $clauses; }
529
+
530
+ $clauses['join'] .= <<<SQL
531
+ LEFT OUTER JOIN {$wpdb->term_relationships} ON {$wpdb->posts}.ID={$wpdb->term_relationships}.object_id
532
+ LEFT OUTER JOIN {$wpdb->term_taxonomy} USING (term_taxonomy_id)
533
+ LEFT OUTER JOIN {$wpdb->terms} USING (term_id)
534
+ SQL;
535
+
536
+ $clauses['where'] .= "AND (taxonomy = 'ufaq-category' OR taxonomy IS NULL)";
537
+ $clauses['groupby'] = "object_id";
538
+ $clauses['orderby'] = "GROUP_CONCAT({$wpdb->terms}.name ORDER BY name ASC)";
539
+
540
+ if ( strtoupper( $wp_query->get( 'order' ) ) == 'ASC' ) {
541
+
542
+ $clauses['orderby'] .= 'ASC';
543
+ }
544
+ else {
545
+
546
+ $clauses['orderby'] .= 'DESC';
547
+ }
548
+
549
+ return $clauses;
550
+ }
551
+
552
+ /**
553
+ * Adds in a bulk action to reset the FAQ view count
554
+ * @since 2.0.0
555
+ */
556
+ public function add_reset_view_count_bulk_action( $actions ) {
557
+
558
+ $actions['reset_view_count'] = __( 'Reset View Count', 'ultimate-faqs' );
559
+
560
+ return $actions;
561
+ }
562
+
563
+ /**
564
+ * Handles the bulk action to reset the FAQ view count
565
+ * @since 2.0.0
566
+ */
567
+ public function handle_reset_view_count_bulk_action( $redirect_to, $doaction, $post_ids ) {
568
+
569
+ if ( $doaction != 'reset_view_count' ) { return $redirect_to; }
570
+
571
+ foreach ( $post_ids as $post_id ) {
572
+
573
+ update_post_meta( $post_id, 'ufaq_view_count', 0 );
574
+ }
575
+
576
+ return $redirect_to;
577
+ }
578
+ }
579
+ } // endif;
includes/Dashboard.class.php CHANGED
@@ -1,328 +1,328 @@
1
- <?php
2
- if ( !defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( !class_exists( 'ewdufaqDashboard' ) ) {
5
- /**
6
- * Class to handle plugin dashboard
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqDashboard {
11
-
12
- public $message;
13
- public $status = true;
14
-
15
- public function __construct() {
16
- add_action( 'admin_menu', array( $this, 'add_dashboard_to_menu' ), 99 );
17
-
18
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
19
-
20
- add_action( 'wp_ajax_ewd_ufaq_hide_upgrade_box', array($this, 'hide_upgrade_box') );
21
- add_action( 'wp_ajax_ewd_ufaq_display_upgrade_box', array($this, 'display_upgrade_box') );
22
- }
23
-
24
- public function add_dashboard_to_menu() {
25
- global $ewd_ufaq_controller;
26
- global $submenu;
27
-
28
- add_submenu_page(
29
- 'edit.php?post_type=ufaq',
30
- 'Dashboard',
31
- 'Dashboard',
32
- 'manage_options',
33
- 'ewd-ufaq-dashboard',
34
- array($this, 'display_dashboard_screen')
35
- );
36
-
37
- // Create a new sub-menu in the order that we want
38
- $new_submenu = array();
39
- $menu_item_count = 3;
40
-
41
- if ( ! isset( $submenu['edit.php?post_type=ufaq'] ) or ! is_array($submenu['edit.php?post_type=ufaq']) ) { return; }
42
-
43
- foreach ( $submenu['edit.php?post_type=ufaq'] as $key => $sub_item ) {
44
-
45
- if ( $sub_item[0] == 'Dashboard' ) { $new_submenu[0] = $sub_item; }
46
- elseif ( $sub_item[0] == 'Settings' ) { $new_submenu[ sizeof($submenu) ] = $sub_item; }
47
- else {
48
-
49
- $new_submenu[$menu_item_count] = $sub_item;
50
- $menu_item_count++;
51
- }
52
- }
53
-
54
- ksort($new_submenu);
55
-
56
- $submenu['edit.php?post_type=ufaq'] = $new_submenu;
57
- }
58
-
59
- // Enqueues the admin script so that our hacky sub-menu opening function can run
60
- public function enqueue_scripts() {
61
- global $admin_page_hooks;
62
-
63
- $currentScreen = get_current_screen();
64
- if ( $currentScreen->id == $admin_page_hooks['edit.php?post_type=ufaq'] . '_page_ewd-ufaq-dashboard' ) {
65
-
66
- wp_enqueue_style( 'ewd-ufaq-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-admin.css', array(), EWD_UFAQ_VERSION );
67
-
68
- wp_register_script( 'ewd-ufaq-admin-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-admin.js', array( 'jquery', 'jquery-ui-sortable' ), EWD_UFAQ_VERSION, true );
69
-
70
- $args = array();
71
-
72
- wp_localize_script( 'ewd-ufaq-admin-js', 'ewd_ufaq_php_data', $args );
73
-
74
- wp_enqueue_script( 'ewd-ufaq-admin-js' );
75
- }
76
- }
77
-
78
- public function display_dashboard_screen() {
79
- global $ewd_ufaq_controller;
80
-
81
- $permission = $ewd_ufaq_controller->permissions->check_permission( 'styling' );
82
-
83
- $args = array(
84
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
85
- 'orderby' => 'meta_value_num',
86
- 'meta_key' => 'ufaq_view_count',
87
- 'posts_per_page' => 10
88
- );
89
-
90
- $query = new WP_Query( $args );
91
- $faqs = $query->get_posts();
92
-
93
- ?>
94
-
95
- <div id="ewd-ufaq-dashboard-content-area">
96
-
97
- <div id="ewd-ufaq-dashboard-content-left">
98
-
99
- <?php if ( ! $permission or get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) {
100
- $premium_info = '<div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full">';
101
- $premium_info .= '<div class="ewd-ufaq-dashboard-new-widget-box-top">';
102
- $premium_info .= sprintf( __( '<a href="%s" target="_blank">Visit our website</a> to learn how to upgrade to premium.'), 'https://www.etoilewebdesign.com/premium-upgrade-instructions/' );
103
- $premium_info .= '</div>';
104
- $premium_info .= '</div>';
105
-
106
- $premium_info = apply_filters( 'ewd_dashboard_top', $premium_info, 'UFAQ', 'https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1' );
107
-
108
- echo $premium_info;
109
- } ?>
110
-
111
- <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full" id="ewd-ufaq-dashboard-support-widget-box">
112
- <div class="ewd-ufaq-dashboard-new-widget-box-top"><?php _e('Get Support', 'ultimate-faqs'); ?><span id="ewd-ufaq-dash-mobile-support-down-caret">&nbsp;&nbsp;&#9660;</span><span id="ewd-ufaq-dash-mobile-support-up-caret">&nbsp;&nbsp;&#9650;</span></div>
113
- <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
114
- <ul class="ewd-ufaq-dashboard-support-widgets">
115
- <li>
116
- <a href="https://www.youtube.com/watch?v=zf-tYLqHpRs&list=PLEndQUuhlvSrNdfu5FKa1uGHsaKZxgdWt&index=2&ab_channel=%C3%89toileWebDesign" target="_blank">
117
- <img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-youtube.png', __FILE__ ); ?>">
118
- <div class="ewd-ufaq-dashboard-support-widgets-text"><?php _e('YouTube Tutorials', 'ultimate-faqs'); ?></div>
119
- </a>
120
- </li>
121
- <li>
122
- <a href="https://wordpress.org/plugins/ultimate-faqs/#faq" target="_blank">
123
- <img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-faqs.png', __FILE__ ); ?>">
124
- <div class="ewd-ufaq-dashboard-support-widgets-text"><?php _e('Plugin FAQs', 'ultimate-faqs'); ?></div>
125
- </a>
126
- </li>
127
- <li>
128
- <a href="https://www.etoilewebdesign.com/support-center/?Plugin=UFAQ&Type=FAQs" target="_blank">
129
- <img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-documentation.png', __FILE__ ); ?>">
130
- <div class="ewd-ufaq-dashboard-support-widgets-text"><?php _e('Documentation', 'ultimate-faqs'); ?></div>
131
- </a>
132
- </li>
133
- <li>
134
- <a href="https://www.etoilewebdesign.com/support-center/" target="_blank">
135
- <img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-forum.png', __FILE__ ); ?>">
136
- <div class="ewd-ufaq-dashboard-support-widgets-text"><?php _e('Get Support', 'ultimate-faqs'); ?></div>
137
- </a>
138
- </li>
139
- </ul>
140
- </div>
141
- </div>
142
-
143
- <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full" id="ewd-ufaq-dashboard-optional-table">
144
- <div class="ewd-ufaq-dashboard-new-widget-box-top"><?php _e('FAQ Summary', 'ultimate-faqs'); ?><span id="ewd-ufaq-dash-optional-table-down-caret">&nbsp;&nbsp;&#9660;</span><span id="ewd-ufaq-dash-optional-table-up-caret">&nbsp;&nbsp;&#9650;</span></div>
145
- <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
146
- <table class='ewd-ufaq-overview-table wp-list-table widefat fixed striped posts'>
147
- <thead>
148
- <tr>
149
- <th><?php _e("Title", 'ultimate-faqs'); ?></th>
150
- <th><?php _e("Views", 'ultimate-faqs'); ?></th>
151
- <th><?php _e("Categories", 'ultimate-faqs'); ?></th>
152
- </tr>
153
- </thead>
154
- <tbody>
155
- <?php
156
- if ( empty( $faqs ) ) {echo "<tr><td colspan='3'>" . __("No faqs to display yet. Create an faq and then view it for it to be displayed here.", 'ultimate-faqs') . "</td></tr>";}
157
- else {
158
- foreach ( $faqs as $faq ) { ?>
159
- <tr>
160
- <td><a href='post.php?post=<?php echo $faq->ID;?>&action=edit'><?php echo $faq->post_title; ?></a></td>
161
- <td><?php echo get_post_meta( $faq->ID, 'ufaq_view_count', true ); ?></td>
162
- <td><?php echo get_the_term_list( $faq->ID, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ); ?></td>
163
- </tr>
164
- <?php }
165
- }
166
- ?>
167
- </tbody>
168
- </table>
169
- </div>
170
- </div>
171
-
172
- <div class="ewd-ufaq-dashboard-new-widget-box <?php echo ( ($hideReview != 'Yes' and $Ask_Review_Date < time()) ? 'ewd-widget-box-full' : 'ewd-widget-box-full' ); ?>">
173
- <div class="ewd-ufaq-dashboard-new-widget-box-top">What People Are Saying</div>
174
- <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
175
- <ul class="ewd-ufaq-dashboard-testimonials">
176
- <?php $randomTestimonial = rand(0,2);
177
- if($randomTestimonial == 0){ ?>
178
- <li id="ewd-ufaq-dashboard-testimonial-one">
179
- <img src="<?php echo plugins_url( '../assets/img/dash-asset-stars.png', __FILE__ ); ?>">
180
- <div class="ewd-ufaq-dashboard-testimonial-title">"Awesome. Just Awesome."</div>
181
- <div class="ewd-ufaq-dashboard-testimonial-author">- @shizart</div>
182
- <div class="ewd-ufaq-dashboard-testimonial-text">Thanks for this very well-made plugin. This works so well out of the box, I barely had to do ANYTHING to create an amazing FAQ accordion display... <a href="https://wordpress.org/support/topic/awesome-just-awesome-11/" target="_blank">read more</a></div>
183
- </li>
184
- <?php }
185
- if($randomTestimonial == 1){ ?>
186
- <li id="ewd-ufaq-dashboard-testimonial-two">
187
- <img src="<?php echo plugins_url( '../assets/img/dash-asset-stars.png', __FILE__ ); ?>">
188
- <div class="ewd-ufaq-dashboard-testimonial-title">"Absolutely perfect with great support"</div>
189
- <div class="ewd-ufaq-dashboard-testimonial-author">- @isaac85</div>
190
- <div class="ewd-ufaq-dashboard-testimonial-text">I tried several different FAQ plugins and this is by far the prettiest and easiest to use... <a href="https://wordpress.org/support/topic/absolutely-perfect-with-great-support/" target="_blank">read more</a></div>
191
- </li>
192
- <?php }
193
- if($randomTestimonial == 2){ ?>
194
- <li id="ewd-ufaq-dashboard-testimonial-three">
195
- <img src="<?php echo plugins_url( '../assets/img/dash-asset-stars.png', __FILE__ ); ?>">
196
- <div class="ewd-ufaq-dashboard-testimonial-title">"Perfect FAQ Plugin"</div>
197
- <div class="ewd-ufaq-dashboard-testimonial-author">- @muti-wp</div>
198
- <div class="ewd-ufaq-dashboard-testimonial-text">Works great! Easy to configure and to use. Thanks! <a href="https://wordpress.org/support/topic/perfect-faq-plugin/" target="_blank">read more</a></div>
199
- </li>
200
- <?php } ?>
201
- </ul>
202
- </div>
203
- </div>
204
-
205
- <?php if ( ! $permission or get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) { ?>
206
- <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full" id="ewd-ufaq-dashboard-guarantee-widget-box">
207
- <div class="ewd-ufaq-dashboard-new-widget-box-top">
208
- <div class="ewd-ufaq-dashboard-guarantee">
209
- <div class="ewd-ufaq-dashboard-guarantee-title">14-Day 100% Money-Back Guarantee</div>
210
- <div class="ewd-ufaq-dashboard-guarantee-text">If you're not 100% satisfied with the premium version of our plugin - no problem. You have 14 days to receive a FULL REFUND. We're certain you won't need it, though.</div>
211
- </div>
212
- </div>
213
- </div>
214
- <?php } ?>
215
-
216
- </div> <!-- left -->
217
-
218
- <div id="ewd-ufaq-dashboard-content-right">
219
-
220
- <?php if ( ! $permission or get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) { ?>
221
- <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full" id="ewd-ufaq-dashboard-get-premium-widget-box">
222
- <div class="ewd-ufaq-dashboard-new-widget-box-top">Get Premium</div>
223
-
224
- <?php if ( get_option( "EWD_UFAQ_Trial_Happening" ) == "Yes" ) { do_action( 'ewd_trial_happening', 'UFAQ' ); } ?>
225
-
226
- <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
227
- <div class="ewd-ufaq-dashboard-get-premium-widget-features-title"<?php echo ( ( get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) ? "style='padding-top: 20px;'" : ""); ?>>GET FULL ACCESS WITH OUR PREMIUM VERSION AND GET:</div>
228
- <ul class="ewd-ufaq-dashboard-get-premium-widget-features">
229
- <li>Unlimited FAQs</li>
230
- <li>Advanced Styling Options</li>
231
- <li>Social Sharing</li>
232
- <li>SEO-Friendly Permalinks</li>
233
- <li>+ More</li>
234
- </ul>
235
- <a href="https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1" class="ewd-ufaq-dashboard-get-premium-widget-button" target="_blank">UPGRADE NOW</a>
236
-
237
- <?php if ( ! get_option("EWD_UFAQ_Trial_Happening") ) {
238
- $trial_info = sprintf( __( '<a href="%s" target="_blank">Visit our website</a> to learn how to get a free 7-day trial of the premium plugin.'), 'https://www.etoilewebdesign.com/premium-upgrade-instructions/' );
239
-
240
- echo apply_filters( 'ewd_trial_button', $trial_info, 'UFAQ' );
241
- } ?>
242
- </div>
243
- </div>
244
- <?php } ?>
245
-
246
- <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full">
247
- <div class="ewd-ufaq-dashboard-new-widget-box-top">Other Plugins by Etoile</div>
248
- <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
249
- <ul class="ewd-ufaq-dashboard-other-plugins">
250
- <li>
251
- <a href="https://wordpress.org/plugins/ultimate-reviews/" target="_blank"><img src="<?php echo plugins_url( '../assets/img/ewd-urp-icon.png', __FILE__ ); ?>"></a>
252
- <div class="ewd-ufaq-dashboard-other-plugins-text">
253
- <div class="ewd-ufaq-dashboard-other-plugins-title">Ultimate Reviews</div>
254
- <div class="ewd-ufaq-dashboard-other-plugins-blurb">Easily add a full reviewing system to your website. Also can be used to replace the default WooCommerce review system.</div>
255
- </div>
256
- </li>
257
- <li>
258
- <a href="https://wordpress.org/plugins/order-tracking/" target="_blank"><img src="<?php echo plugins_url( '../assets/img/ewd-otp-icon.png', __FILE__ ); ?>"></a>
259
- <div class="ewd-ufaq-dashboard-other-plugins-text">
260
- <div class="ewd-ufaq-dashboard-other-plugins-title">Order Tracking</div>
261
- <div class="ewd-ufaq-dashboard-other-plugins-blurb">Add a full order tracking system to your site. Integrates directly with WooCommerce for automatic order creation and status updates.</div>
262
- </div>
263
- </li>
264
- </ul>
265
- </div>
266
- </div>
267
-
268
- </div> <!-- right -->
269
-
270
- </div> <!-- us-dashboard-content-area -->
271
-
272
- <?php if ( ! $permission or get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) { ?>
273
- <div id="ewd-ufaq-dashboard-new-footer-one">
274
- <div class="ewd-ufaq-dashboard-new-footer-one-inside">
275
- <div class="ewd-ufaq-dashboard-new-footer-one-left">
276
- <div class="ewd-ufaq-dashboard-new-footer-one-title">What's Included in Our Premium Version?</div>
277
- <ul class="ewd-ufaq-dashboard-new-footer-one-benefits">
278
- <li>Unlimited FAQs</li>
279
- <li>FAQ Search</li>
280
- <li>Custom Fields</li>
281
- <li>WooCommerce FAQs</li>
282
- <li>15 Different Icon Sets</li>
283
- <li>Import/Export FAQs</li>
284
- <li>Advanced Styling Options</li>
285
- <li>Social Sharing</li>
286
- <li>Email Support</li>
287
- </ul>
288
- </div>
289
- <div class="ewd-ufaq-dashboard-new-footer-one-buttons">
290
- <a class="ewd-ufaq-dashboard-new-upgrade-button" href="https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1" target="_blank">UPGRADE NOW</a>
291
- </div>
292
- </div>
293
- </div> <!-- us-dashboard-new-footer-one -->
294
- <?php } ?>
295
- <div id="ewd-ufaq-dashboard-new-footer-two">
296
- <div class="ewd-ufaq-dashboard-new-footer-two-inside">
297
- <img src="<?php echo plugins_url( '../assets/img/ewd-logo-white.png', __FILE__ ); ?>" class="ewd-ufaq-dashboard-new-footer-two-icon">
298
- <div class="ewd-ufaq-dashboard-new-footer-two-blurb">
299
- At Etoile Web Design, we build reliable, easy-to-use WordPress plugins with a modern look. Rich in features, highly customizable and responsive, plugins by Etoile Web Design can be used as out-of-the-box solutions and can also be adapted to your specific requirements.
300
- </div>
301
- <ul class="ewd-ufaq-dashboard-new-footer-two-menu">
302
- <li>SOCIAL</li>
303
- <li><a href="https://www.facebook.com/EtoileWebDesign/" target="_blank">Facebook</a></li>
304
- <li><a href="https://twitter.com/EtoileWebDesign" target="_blank">Twitter</a></li>
305
- <li><a href="https://www.etoilewebdesign.com/blog/" target="_blank">Blog</a></li>
306
- </ul>
307
- <ul class="ewd-ufaq-dashboard-new-footer-two-menu">
308
- <li>SUPPORT</li>
309
- <li><a href="https://www.youtube.com/watch?v=zf-tYLqHpRs&list=PLEndQUuhlvSrNdfu5FKa1uGHsaKZxgdWt&index=2&ab_channel=%C3%89toileWebDesign" target="_blank">YouTube Tutorials</a></li>
310
- <li><a href="https://www.etoilewebdesign.com/support-center/?Plugin=UFAQ&Type=FAQs" target="_blank">Documentation</a></li>
311
- <li><a href="https://www.etoilewebdesign.com/support-center/" target="_blank">Get Support</a></li>
312
- <li><a href="https://wordpress.org/plugins/ultimate-faqs/#faq" target="_blank">FAQs</a></li>
313
- </ul>
314
- </div>
315
- </div> <!-- ewd-ufaq-dashboard-new-footer-two -->
316
-
317
- <?php }
318
-
319
- public function display_notice() {
320
- if ( $this->status ) {
321
- echo "<div class='updated'><p>" . $this->message . "</p></div>";
322
- }
323
- else {
324
- echo "<div class='error'><p>" . $this->message . "</p></div>";
325
- }
326
- }
327
- }
328
- } // endif
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( !class_exists( 'ewdufaqDashboard' ) ) {
5
+ /**
6
+ * Class to handle plugin dashboard
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqDashboard {
11
+
12
+ public $message;
13
+ public $status = true;
14
+
15
+ public function __construct() {
16
+ add_action( 'admin_menu', array( $this, 'add_dashboard_to_menu' ), 99 );
17
+
18
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
19
+
20
+ add_action( 'wp_ajax_ewd_ufaq_hide_upgrade_box', array($this, 'hide_upgrade_box') );
21
+ add_action( 'wp_ajax_ewd_ufaq_display_upgrade_box', array($this, 'display_upgrade_box') );
22
+ }
23
+
24
+ public function add_dashboard_to_menu() {
25
+ global $ewd_ufaq_controller;
26
+ global $submenu;
27
+
28
+ add_submenu_page(
29
+ 'edit.php?post_type=ufaq',
30
+ 'Dashboard',
31
+ 'Dashboard',
32
+ 'manage_options',
33
+ 'ewd-ufaq-dashboard',
34
+ array($this, 'display_dashboard_screen')
35
+ );
36
+
37
+ // Create a new sub-menu in the order that we want
38
+ $new_submenu = array();
39
+ $menu_item_count = 3;
40
+
41
+ if ( ! isset( $submenu['edit.php?post_type=ufaq'] ) or ! is_array($submenu['edit.php?post_type=ufaq']) ) { return; }
42
+
43
+ foreach ( $submenu['edit.php?post_type=ufaq'] as $key => $sub_item ) {
44
+
45
+ if ( $sub_item[0] == 'Dashboard' ) { $new_submenu[0] = $sub_item; }
46
+ elseif ( $sub_item[0] == 'Settings' ) { $new_submenu[ sizeof($submenu) ] = $sub_item; }
47
+ else {
48
+
49
+ $new_submenu[$menu_item_count] = $sub_item;
50
+ $menu_item_count++;
51
+ }
52
+ }
53
+
54
+ ksort($new_submenu);
55
+
56
+ $submenu['edit.php?post_type=ufaq'] = $new_submenu;
57
+ }
58
+
59
+ // Enqueues the admin script so that our hacky sub-menu opening function can run
60
+ public function enqueue_scripts() {
61
+ global $admin_page_hooks;
62
+
63
+ $currentScreen = get_current_screen();
64
+ if ( $currentScreen->id == $admin_page_hooks['edit.php?post_type=ufaq'] . '_page_ewd-ufaq-dashboard' ) {
65
+
66
+ wp_enqueue_style( 'ewd-ufaq-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-admin.css', array(), EWD_UFAQ_VERSION );
67
+
68
+ wp_register_script( 'ewd-ufaq-admin-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-admin.js', array( 'jquery', 'jquery-ui-sortable' ), EWD_UFAQ_VERSION, true );
69
+
70
+ $args = array();
71
+
72
+ wp_localize_script( 'ewd-ufaq-admin-js', 'ewd_ufaq_php_data', $args );
73
+
74
+ wp_enqueue_script( 'ewd-ufaq-admin-js' );
75
+ }
76
+ }
77
+
78
+ public function display_dashboard_screen() {
79
+ global $ewd_ufaq_controller;
80
+
81
+ $permission = $ewd_ufaq_controller->permissions->check_permission( 'styling' );
82
+
83
+ $args = array(
84
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
85
+ 'orderby' => 'meta_value_num',
86
+ 'meta_key' => 'ufaq_view_count',
87
+ 'posts_per_page' => 10
88
+ );
89
+
90
+ $query = new WP_Query( $args );
91
+ $faqs = $query->get_posts();
92
+
93
+ ?>
94
+
95
+ <div id="ewd-ufaq-dashboard-content-area">
96
+
97
+ <div id="ewd-ufaq-dashboard-content-left">
98
+
99
+ <?php if ( ! $permission or get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) {
100
+ $premium_info = '<div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full">';
101
+ $premium_info .= '<div class="ewd-ufaq-dashboard-new-widget-box-top">';
102
+ $premium_info .= sprintf( __( '<a href="%s" target="_blank">Visit our website</a> to learn how to upgrade to premium.'), 'https://www.etoilewebdesign.com/premium-upgrade-instructions/' );
103
+ $premium_info .= '</div>';
104
+ $premium_info .= '</div>';
105
+
106
+ $premium_info = apply_filters( 'ewd_dashboard_top', $premium_info, 'UFAQ', 'https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1' );
107
+
108
+ echo $premium_info;
109
+ } ?>
110
+
111
+ <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full" id="ewd-ufaq-dashboard-support-widget-box">
112
+ <div class="ewd-ufaq-dashboard-new-widget-box-top"><?php _e('Get Support', 'ultimate-faqs'); ?><span id="ewd-ufaq-dash-mobile-support-down-caret">&nbsp;&nbsp;&#9660;</span><span id="ewd-ufaq-dash-mobile-support-up-caret">&nbsp;&nbsp;&#9650;</span></div>
113
+ <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
114
+ <ul class="ewd-ufaq-dashboard-support-widgets">
115
+ <li>
116
+ <a href="https://www.youtube.com/watch?v=zf-tYLqHpRs&list=PLEndQUuhlvSrNdfu5FKa1uGHsaKZxgdWt&index=2&ab_channel=%C3%89toileWebDesign" target="_blank">
117
+ <img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-youtube.png', __FILE__ ); ?>">
118
+ <div class="ewd-ufaq-dashboard-support-widgets-text"><?php _e('YouTube Tutorials', 'ultimate-faqs'); ?></div>
119
+ </a>
120
+ </li>
121
+ <li>
122
+ <a href="https://wordpress.org/plugins/ultimate-faqs/#faq" target="_blank">
123
+ <img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-faqs.png', __FILE__ ); ?>">
124
+ <div class="ewd-ufaq-dashboard-support-widgets-text"><?php _e('Plugin FAQs', 'ultimate-faqs'); ?></div>
125
+ </a>
126
+ </li>
127
+ <li>
128
+ <a href="https://www.etoilewebdesign.com/support-center/?Plugin=UFAQ&Type=FAQs" target="_blank">
129
+ <img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-documentation.png', __FILE__ ); ?>">
130
+ <div class="ewd-ufaq-dashboard-support-widgets-text"><?php _e('Documentation', 'ultimate-faqs'); ?></div>
131
+ </a>
132
+ </li>
133
+ <li>
134
+ <a href="https://www.etoilewebdesign.com/support-center/" target="_blank">
135
+ <img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-forum.png', __FILE__ ); ?>">
136
+ <div class="ewd-ufaq-dashboard-support-widgets-text"><?php _e('Get Support', 'ultimate-faqs'); ?></div>
137
+ </a>
138
+ </li>
139
+ </ul>
140
+ </div>
141
+ </div>
142
+
143
+ <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full" id="ewd-ufaq-dashboard-optional-table">
144
+ <div class="ewd-ufaq-dashboard-new-widget-box-top"><?php _e('FAQ Summary', 'ultimate-faqs'); ?><span id="ewd-ufaq-dash-optional-table-down-caret">&nbsp;&nbsp;&#9660;</span><span id="ewd-ufaq-dash-optional-table-up-caret">&nbsp;&nbsp;&#9650;</span></div>
145
+ <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
146
+ <table class='ewd-ufaq-overview-table wp-list-table widefat fixed striped posts'>
147
+ <thead>
148
+ <tr>
149
+ <th><?php _e("Title", 'ultimate-faqs'); ?></th>
150
+ <th><?php _e("Views", 'ultimate-faqs'); ?></th>
151
+ <th><?php _e("Categories", 'ultimate-faqs'); ?></th>
152
+ </tr>
153
+ </thead>
154
+ <tbody>
155
+ <?php
156
+ if ( empty( $faqs ) ) {echo "<tr><td colspan='3'>" . __("No faqs to display yet. Create an faq and then view it for it to be displayed here.", 'ultimate-faqs') . "</td></tr>";}
157
+ else {
158
+ foreach ( $faqs as $faq ) { ?>
159
+ <tr>
160
+ <td><a href='post.php?post=<?php echo $faq->ID;?>&action=edit'><?php echo $faq->post_title; ?></a></td>
161
+ <td><?php echo get_post_meta( $faq->ID, 'ufaq_view_count', true ); ?></td>
162
+ <td><?php echo get_the_term_list( $faq->ID, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ); ?></td>
163
+ </tr>
164
+ <?php }
165
+ }
166
+ ?>
167
+ </tbody>
168
+ </table>
169
+ </div>
170
+ </div>
171
+
172
+ <div class="ewd-ufaq-dashboard-new-widget-box <?php echo ( ($hideReview != 'Yes' and $Ask_Review_Date < time()) ? 'ewd-widget-box-full' : 'ewd-widget-box-full' ); ?>">
173
+ <div class="ewd-ufaq-dashboard-new-widget-box-top">What People Are Saying</div>
174
+ <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
175
+ <ul class="ewd-ufaq-dashboard-testimonials">
176
+ <?php $randomTestimonial = rand(0,2);
177
+ if($randomTestimonial == 0){ ?>
178
+ <li id="ewd-ufaq-dashboard-testimonial-one">
179
+ <img src="<?php echo plugins_url( '../assets/img/dash-asset-stars.png', __FILE__ ); ?>">
180
+ <div class="ewd-ufaq-dashboard-testimonial-title">"Awesome. Just Awesome."</div>
181
+ <div class="ewd-ufaq-dashboard-testimonial-author">- @shizart</div>
182
+ <div class="ewd-ufaq-dashboard-testimonial-text">Thanks for this very well-made plugin. This works so well out of the box, I barely had to do ANYTHING to create an amazing FAQ accordion display... <a href="https://wordpress.org/support/topic/awesome-just-awesome-11/" target="_blank">read more</a></div>
183
+ </li>
184
+ <?php }
185
+ if($randomTestimonial == 1){ ?>
186
+ <li id="ewd-ufaq-dashboard-testimonial-two">
187
+ <img src="<?php echo plugins_url( '../assets/img/dash-asset-stars.png', __FILE__ ); ?>">
188
+ <div class="ewd-ufaq-dashboard-testimonial-title">"Absolutely perfect with great support"</div>
189
+ <div class="ewd-ufaq-dashboard-testimonial-author">- @isaac85</div>
190
+ <div class="ewd-ufaq-dashboard-testimonial-text">I tried several different FAQ plugins and this is by far the prettiest and easiest to use... <a href="https://wordpress.org/support/topic/absolutely-perfect-with-great-support/" target="_blank">read more</a></div>
191
+ </li>
192
+ <?php }
193
+ if($randomTestimonial == 2){ ?>
194
+ <li id="ewd-ufaq-dashboard-testimonial-three">
195
+ <img src="<?php echo plugins_url( '../assets/img/dash-asset-stars.png', __FILE__ ); ?>">
196
+ <div class="ewd-ufaq-dashboard-testimonial-title">"Perfect FAQ Plugin"</div>
197
+ <div class="ewd-ufaq-dashboard-testimonial-author">- @muti-wp</div>
198
+ <div class="ewd-ufaq-dashboard-testimonial-text">Works great! Easy to configure and to use. Thanks! <a href="https://wordpress.org/support/topic/perfect-faq-plugin/" target="_blank">read more</a></div>
199
+ </li>
200
+ <?php } ?>
201
+ </ul>
202
+ </div>
203
+ </div>
204
+
205
+ <?php if ( ! $permission or get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) { ?>
206
+ <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full" id="ewd-ufaq-dashboard-guarantee-widget-box">
207
+ <div class="ewd-ufaq-dashboard-new-widget-box-top">
208
+ <div class="ewd-ufaq-dashboard-guarantee">
209
+ <div class="ewd-ufaq-dashboard-guarantee-title">14-Day 100% Money-Back Guarantee</div>
210
+ <div class="ewd-ufaq-dashboard-guarantee-text">If you're not 100% satisfied with the premium version of our plugin - no problem. You have 14 days to receive a FULL REFUND. We're certain you won't need it, though.</div>
211
+ </div>
212
+ </div>
213
+ </div>
214
+ <?php } ?>
215
+
216
+ </div> <!-- left -->
217
+
218
+ <div id="ewd-ufaq-dashboard-content-right">
219
+
220
+ <?php if ( ! $permission or get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) { ?>
221
+ <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full" id="ewd-ufaq-dashboard-get-premium-widget-box">
222
+ <div class="ewd-ufaq-dashboard-new-widget-box-top">Get Premium</div>
223
+
224
+ <?php if ( get_option( "EWD_UFAQ_Trial_Happening" ) == "Yes" ) { do_action( 'ewd_trial_happening', 'UFAQ' ); } ?>
225
+
226
+ <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
227
+ <div class="ewd-ufaq-dashboard-get-premium-widget-features-title"<?php echo ( ( get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) ? "style='padding-top: 20px;'" : ""); ?>>GET FULL ACCESS WITH OUR PREMIUM VERSION AND GET:</div>
228
+ <ul class="ewd-ufaq-dashboard-get-premium-widget-features">
229
+ <li>Unlimited FAQs</li>
230
+ <li>Advanced Styling Options</li>
231
+ <li>Social Sharing</li>
232
+ <li>SEO-Friendly Permalinks</li>
233
+ <li>+ More</li>
234
+ </ul>
235
+ <a href="https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1" class="ewd-ufaq-dashboard-get-premium-widget-button" target="_blank">UPGRADE NOW</a>
236
+
237
+ <?php if ( ! get_option("EWD_UFAQ_Trial_Happening") ) {
238
+ $trial_info = sprintf( __( '<a href="%s" target="_blank">Visit our website</a> to learn how to get a free 7-day trial of the premium plugin.'), 'https://www.etoilewebdesign.com/premium-upgrade-instructions/' );
239
+
240
+ echo apply_filters( 'ewd_trial_button', $trial_info, 'UFAQ' );
241
+ } ?>
242
+ </div>
243
+ </div>
244
+ <?php } ?>
245
+
246
+ <div class="ewd-ufaq-dashboard-new-widget-box ewd-widget-box-full">
247
+ <div class="ewd-ufaq-dashboard-new-widget-box-top">Other Plugins by Etoile</div>
248
+ <div class="ewd-ufaq-dashboard-new-widget-box-bottom">
249
+ <ul class="ewd-ufaq-dashboard-other-plugins">
250
+ <li>
251
+ <a href="https://wordpress.org/plugins/ultimate-reviews/" target="_blank"><img src="<?php echo plugins_url( '../assets/img/ewd-urp-icon.png', __FILE__ ); ?>"></a>
252
+ <div class="ewd-ufaq-dashboard-other-plugins-text">
253
+ <div class="ewd-ufaq-dashboard-other-plugins-title">Ultimate Reviews</div>
254
+ <div class="ewd-ufaq-dashboard-other-plugins-blurb">Easily add a full reviewing system to your website. Also can be used to replace the default WooCommerce review system.</div>
255
+ </div>
256
+ </li>
257
+ <li>
258
+ <a href="https://wordpress.org/plugins/order-tracking/" target="_blank"><img src="<?php echo plugins_url( '../assets/img/ewd-otp-icon.png', __FILE__ ); ?>"></a>
259
+ <div class="ewd-ufaq-dashboard-other-plugins-text">
260
+ <div class="ewd-ufaq-dashboard-other-plugins-title">Order Tracking</div>
261
+ <div class="ewd-ufaq-dashboard-other-plugins-blurb">Add a full order tracking system to your site. Integrates directly with WooCommerce for automatic order creation and status updates.</div>
262
+ </div>
263
+ </li>
264
+ </ul>
265
+ </div>
266
+ </div>
267
+
268
+ </div> <!-- right -->
269
+
270
+ </div> <!-- us-dashboard-content-area -->
271
+
272
+ <?php if ( ! $permission or get_option("EWD_UFAQ_Trial_Happening") == "Yes" ) { ?>
273
+ <div id="ewd-ufaq-dashboard-new-footer-one">
274
+ <div class="ewd-ufaq-dashboard-new-footer-one-inside">
275
+ <div class="ewd-ufaq-dashboard-new-footer-one-left">
276
+ <div class="ewd-ufaq-dashboard-new-footer-one-title">What's Included in Our Premium Version?</div>
277
+ <ul class="ewd-ufaq-dashboard-new-footer-one-benefits">
278
+ <li>Unlimited FAQs</li>
279
+ <li>FAQ Search</li>
280
+ <li>Custom Fields</li>
281
+ <li>WooCommerce FAQs</li>
282
+ <li>15 Different Icon Sets</li>
283
+ <li>Import/Export FAQs</li>
284
+ <li>Advanced Styling Options</li>
285
+ <li>Social Sharing</li>
286
+ <li>Email Support</li>
287
+ </ul>
288
+ </div>
289
+ <div class="ewd-ufaq-dashboard-new-footer-one-buttons">
290
+ <a class="ewd-ufaq-dashboard-new-upgrade-button" href="https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1" target="_blank">UPGRADE NOW</a>
291
+ </div>
292
+ </div>
293
+ </div> <!-- us-dashboard-new-footer-one -->
294
+ <?php } ?>
295
+ <div id="ewd-ufaq-dashboard-new-footer-two">
296
+ <div class="ewd-ufaq-dashboard-new-footer-two-inside">
297
+ <img src="<?php echo plugins_url( '../assets/img/ewd-logo-white.png', __FILE__ ); ?>" class="ewd-ufaq-dashboard-new-footer-two-icon">
298
+ <div class="ewd-ufaq-dashboard-new-footer-two-blurb">
299
+ At Etoile Web Design, we build reliable, easy-to-use WordPress plugins with a modern look. Rich in features, highly customizable and responsive, plugins by Etoile Web Design can be used as out-of-the-box solutions and can also be adapted to your specific requirements.
300
+ </div>
301
+ <ul class="ewd-ufaq-dashboard-new-footer-two-menu">
302
+ <li>SOCIAL</li>
303
+ <li><a href="https://www.facebook.com/EtoileWebDesign/" target="_blank">Facebook</a></li>
304
+ <li><a href="https://twitter.com/EtoileWebDesign" target="_blank">Twitter</a></li>
305
+ <li><a href="https://www.etoilewebdesign.com/blog/" target="_blank">Blog</a></li>
306
+ </ul>
307
+ <ul class="ewd-ufaq-dashboard-new-footer-two-menu">
308
+ <li>SUPPORT</li>
309
+ <li><a href="https://www.youtube.com/watch?v=zf-tYLqHpRs&list=PLEndQUuhlvSrNdfu5FKa1uGHsaKZxgdWt&index=2&ab_channel=%C3%89toileWebDesign" target="_blank">YouTube Tutorials</a></li>
310
+ <li><a href="https://www.etoilewebdesign.com/support-center/?Plugin=UFAQ&Type=FAQs" target="_blank">Documentation</a></li>
311
+ <li><a href="https://www.etoilewebdesign.com/support-center/" target="_blank">Get Support</a></li>
312
+ <li><a href="https://wordpress.org/plugins/ultimate-faqs/#faq" target="_blank">FAQs</a></li>
313
+ </ul>
314
+ </div>
315
+ </div> <!-- ewd-ufaq-dashboard-new-footer-two -->
316
+
317
+ <?php }
318
+
319
+ public function display_notice() {
320
+ if ( $this->status ) {
321
+ echo "<div class='updated'><p>" . $this->message . "</p></div>";
322
+ }
323
+ else {
324
+ echo "<div class='error'><p>" . $this->message . "</p></div>";
325
+ }
326
+ }
327
+ }
328
+ } // endif
includes/DeactivationSurvey.class.php CHANGED
@@ -1,84 +1,84 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( ! class_exists( 'ewdufaqDeactivationSurvey' ) ) {
5
- /**
6
- * Class to handle plugin deactivation survey
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqDeactivationSurvey {
11
-
12
- public function __construct() {
13
- add_action( 'current_screen', array( $this, 'maybe_add_survey' ) );
14
- }
15
-
16
- public function maybe_add_survey() {
17
- if ( in_array( get_current_screen()->id, array( 'plugins', 'plugins-network' ), true) ) {
18
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_deactivation_scripts') );
19
- add_action( 'admin_footer', array( $this, 'add_deactivation_html') );
20
- }
21
- }
22
-
23
- public function enqueue_deactivation_scripts() {
24
- wp_enqueue_style( 'ewd-ufaq-deactivation-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/plugin-deactivation.css' );
25
- wp_enqueue_script( 'ewd-ufaq-deactivation-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/plugin-deactivation.js', array( 'jquery' ) );
26
-
27
- wp_localize_script( 'ewd-ufaq-deactivation-js', 'ewd_ufaq_deactivation_data', array( 'site_url' => site_url() ) );
28
- }
29
-
30
- public function add_deactivation_html() {
31
-
32
- $install_time = get_option( 'ewd-ufaq-installation-time' );
33
-
34
- $options = array(
35
- 1 => array(
36
- 'title' => esc_html__( 'I no longer need the plugin', 'ultimate-faqs' ),
37
- ),
38
- 2 => array(
39
- 'title' => esc_html__( 'I\'m switching to a different plugin', 'ultimate-faqs' ),
40
- 'details' => esc_html__( 'Please share which plugin', 'ultimate-faqs' ),
41
- ),
42
- 3 => array(
43
- 'title' => esc_html__( 'I couldn\'t get the plugin to work', 'ultimate-faqs' ),
44
- 'details' => esc_html__( 'Please share what wasn\'t working', 'ultimate-faqs' ),
45
- ),
46
- 4 => array(
47
- 'title' => esc_html__( 'It\'s a temporary deactivation', 'ultimate-faqs' ),
48
- ),
49
- 5 => array(
50
- 'title' => esc_html__( 'Other', 'ultimate-faqs' ),
51
- 'details' => esc_html__( 'Please share the reason', 'ultimate-faqs' ),
52
- ),
53
- );
54
- ?>
55
- <div class="ewd-ufaq-deactivate-survey-modal" id="ewd-ufaq-deactivate-survey-ultimate-faqs">
56
- <div class="ewd-ufaq-deactivate-survey-wrap">
57
- <form class="ewd-ufaq-deactivate-survey" method="post" data-installtime="<?php echo $install_time; ?>">
58
- <span class="ewd-ufaq-deactivate-survey-title"><span class="dashicons dashicons-testimonial"></span><?php echo ' ' . __( 'Quick Feedback', 'ultimate-faqs' ); ?></span>
59
- <span class="ewd-ufaq-deactivate-survey-desc"><?php echo __('If you have a moment, please share why you are deactivating Ultimate FAQs:', 'ultimate-faqs' ); ?></span>
60
- <div class="ewd-ufaq-deactivate-survey-options">
61
- <?php foreach ( $options as $id => $option ) : ?>
62
- <div class="ewd-ufaq-deactivate-survey-option">
63
- <label for="ewd-ufaq-deactivate-survey-option-ultimate-faqs-<?php echo $id; ?>" class="ewd-ufaq-deactivate-survey-option-label">
64
- <input id="ewd-ufaq-deactivate-survey-option-ultimate-faqs-<?php echo $id; ?>" class="ewd-ufaq-deactivate-survey-option-input" type="radio" name="code" value="<?php echo $id; ?>" />
65
- <span class="ewd-ufaq-deactivate-survey-option-reason"><?php echo $option['title']; ?></span>
66
- </label>
67
- <?php if ( ! empty( $option['details'] ) ) : ?>
68
- <input class="ewd-ufaq-deactivate-survey-option-details" type="text" placeholder="<?php echo $option['details']; ?>" />
69
- <?php endif; ?>
70
- </div>
71
- <?php endforeach; ?>
72
- </div>
73
- <div class="ewd-ufaq-deactivate-survey-footer">
74
- <button type="submit" class="ewd-ufaq-deactivate-survey-submit button button-primary button-large"><?php _e('Submit and Deactivate', 'ultimate-faqs' ); ?></button>
75
- <a href="#" class="ewd-ufaq-deactivate-survey-deactivate"><?php _e('Skip and Deactivate', 'ultimate-faqs' ); ?></a>
76
- </div>
77
- </form>
78
- </div>
79
- </div>
80
- <?php
81
- }
82
- }
83
-
84
  }
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( ! class_exists( 'ewdufaqDeactivationSurvey' ) ) {
5
+ /**
6
+ * Class to handle plugin deactivation survey
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqDeactivationSurvey {
11
+
12
+ public function __construct() {
13
+ add_action( 'current_screen', array( $this, 'maybe_add_survey' ) );
14
+ }
15
+
16
+ public function maybe_add_survey() {
17
+ if ( in_array( get_current_screen()->id, array( 'plugins', 'plugins-network' ), true) ) {
18
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_deactivation_scripts') );
19
+ add_action( 'admin_footer', array( $this, 'add_deactivation_html') );
20
+ }
21
+ }
22
+
23
+ public function enqueue_deactivation_scripts() {
24
+ wp_enqueue_style( 'ewd-ufaq-deactivation-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/plugin-deactivation.css' );
25
+ wp_enqueue_script( 'ewd-ufaq-deactivation-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/plugin-deactivation.js', array( 'jquery' ) );
26
+
27
+ wp_localize_script( 'ewd-ufaq-deactivation-js', 'ewd_ufaq_deactivation_data', array( 'site_url' => site_url() ) );
28
+ }
29
+
30
+ public function add_deactivation_html() {
31
+
32
+ $install_time = get_option( 'ewd-ufaq-installation-time' );
33
+
34
+ $options = array(
35
+ 1 => array(
36
+ 'title' => esc_html__( 'I no longer need the plugin', 'ultimate-faqs' ),
37
+ ),
38
+ 2 => array(
39
+ 'title' => esc_html__( 'I\'m switching to a different plugin', 'ultimate-faqs' ),
40
+ 'details' => esc_html__( 'Please share which plugin', 'ultimate-faqs' ),
41
+ ),
42
+ 3 => array(
43
+ 'title' => esc_html__( 'I couldn\'t get the plugin to work', 'ultimate-faqs' ),
44
+ 'details' => esc_html__( 'Please share what wasn\'t working', 'ultimate-faqs' ),
45
+ ),
46
+ 4 => array(
47
+ 'title' => esc_html__( 'It\'s a temporary deactivation', 'ultimate-faqs' ),
48
+ ),
49
+ 5 => array(
50
+ 'title' => esc_html__( 'Other', 'ultimate-faqs' ),
51
+ 'details' => esc_html__( 'Please share the reason', 'ultimate-faqs' ),
52
+ ),
53
+ );
54
+ ?>
55
+ <div class="ewd-ufaq-deactivate-survey-modal" id="ewd-ufaq-deactivate-survey-ultimate-faqs">
56
+ <div class="ewd-ufaq-deactivate-survey-wrap">
57
+ <form class="ewd-ufaq-deactivate-survey" method="post" data-installtime="<?php echo $install_time; ?>">
58
+ <span class="ewd-ufaq-deactivate-survey-title"><span class="dashicons dashicons-testimonial"></span><?php echo ' ' . __( 'Quick Feedback', 'ultimate-faqs' ); ?></span>
59
+ <span class="ewd-ufaq-deactivate-survey-desc"><?php echo __('If you have a moment, please share why you are deactivating Ultimate FAQs:', 'ultimate-faqs' ); ?></span>
60
+ <div class="ewd-ufaq-deactivate-survey-options">
61
+ <?php foreach ( $options as $id => $option ) : ?>
62
+ <div class="ewd-ufaq-deactivate-survey-option">
63
+ <label for="ewd-ufaq-deactivate-survey-option-ultimate-faqs-<?php echo $id; ?>" class="ewd-ufaq-deactivate-survey-option-label">
64
+ <input id="ewd-ufaq-deactivate-survey-option-ultimate-faqs-<?php echo $id; ?>" class="ewd-ufaq-deactivate-survey-option-input" type="radio" name="code" value="<?php echo $id; ?>" />
65
+ <span class="ewd-ufaq-deactivate-survey-option-reason"><?php echo $option['title']; ?></span>
66
+ </label>
67
+ <?php if ( ! empty( $option['details'] ) ) : ?>
68
+ <input class="ewd-ufaq-deactivate-survey-option-details" type="text" placeholder="<?php echo $option['details']; ?>" />
69
+ <?php endif; ?>
70
+ </div>
71
+ <?php endforeach; ?>
72
+ </div>
73
+ <div class="ewd-ufaq-deactivate-survey-footer">
74
+ <button type="submit" class="ewd-ufaq-deactivate-survey-submit button button-primary button-large"><?php _e('Submit and Deactivate', 'ultimate-faqs' ); ?></button>
75
+ <a href="#" class="ewd-ufaq-deactivate-survey-deactivate"><?php _e('Skip and Deactivate', 'ultimate-faqs' ); ?></a>
76
+ </div>
77
+ </form>
78
+ </div>
79
+ </div>
80
+ <?php
81
+ }
82
+ }
83
+
84
  }
includes/Export.class.php CHANGED
@@ -1,252 +1,252 @@
1
- <?php
2
-
3
- /**
4
- * Class to export reviews created by the plugin
5
- */
6
-
7
- if ( !defined( 'ABSPATH' ) )
8
- exit;
9
-
10
- if (!class_exists('ComposerAutoloaderInit4618f5c41cf5e27cc7908556f031e4d4')) { require_once EWD_UFAQ_PLUGIN_DIR . '/lib/PHPSpreadsheet/vendor/autoload.php'; }
11
- use PhpOffice\PhpSpreadsheet\Spreadsheet;
12
- use PhpOffice\PhpSpreadsheet\Writer\Xls;
13
- use PhpOffice\PhpSpreadsheet\Writer\Csv;
14
- class ewdufaqExport {
15
-
16
- public function __construct() {
17
- add_action( 'admin_menu', array($this, 'register_install_screen' ));
18
-
19
- if ( isset( $_POST['ewd_ufaq_export'] ) ) { add_action( 'admin_menu', array($this, 'export_faqs' )); }
20
- if ( isset( $_POST['ewd_ufaq_export_pdf'] ) ) { add_action( 'admin_menu', array($this, 'export_faqs_pdf' )); }
21
-
22
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_export_scripts' ) );
23
- }
24
-
25
- public function register_install_screen() {
26
- global $ewd_ufaq_controller;
27
-
28
- add_submenu_page(
29
- 'edit.php?post_type=ufaq',
30
- 'Export Menu',
31
- 'Export',
32
- $ewd_ufaq_controller->settings->get_setting( 'access-role' ),
33
- 'ewd-ufaq-export',
34
- array($this, 'display_export_screen')
35
- );
36
- }
37
-
38
- public function display_export_screen() {
39
- global $ewd_ufaq_controller;
40
-
41
- $export_permission = $ewd_ufaq_controller->permissions->check_permission( 'export' );
42
-
43
- ?>
44
- <div class='wrap'>
45
- <h2>Export</h2>
46
- <?php if ( $export_permission ) { ?>
47
- <form method='post'>
48
- <?php wp_nonce_field( 'EWD_UFAQ_Export_PDF', 'EWD_UFAQ_Export_PDF_Nonce' ); ?>
49
- <input type='submit' name='ewd_ufaq_export' value='Export to Spreadsheet' class='button button-primary' />
50
- </form>
51
- <form method='post'>
52
- <?php wp_nonce_field( 'EWD_UFAQ_Export_PDF', 'EWD_UFAQ_Export_PDF_Nonce' ); ?>
53
- <input type='submit' name='ewd_ufaq_export_pdf' value='Export to PDF' class='button button-primary' />
54
- </form>
55
- <?php } else { ?>
56
- <div class='ewd-ufaq-premium-locked'>
57
- <a href="https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1" target="_blank">Upgrade</a> to the premium version to use this feature
58
- </div>
59
- <?php } ?>
60
- </div>
61
- <?php }
62
-
63
- public function export_faqs() {
64
- global $ewd_ufaq_controller;
65
-
66
- if ( ! isset( $_POST['EWD_UFAQ_Export_PDF_Nonce'] ) ) { return; }
67
-
68
- if ( ! wp_verify_nonce( $_POST['EWD_UFAQ_Export_PDF_Nonce'], 'EWD_UFAQ_Export_PDF' ) ) { return; }
69
-
70
- $faq_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
71
-
72
- // Instantiate a new PHPExcel object
73
- $spreadsheet = new Spreadsheet();
74
- // Set the active Excel worksheet to sheet 0
75
- $spreadsheet->setActiveSheetIndex(0);
76
-
77
- // Print out the regular review field labels
78
- $spreadsheet->getActiveSheet()->setCellValue( 'A1', 'ID' );
79
- $spreadsheet->getActiveSheet()->setCellValue( 'B1', 'Question' );
80
- $spreadsheet->getActiveSheet()->setCellValue( 'C1', 'Answer' );
81
- $spreadsheet->getActiveSheet()->setCellValue( 'D1', 'Categories' );
82
- $spreadsheet->getActiveSheet()->setCellValue( 'E1', 'Tags' );
83
- $spreadsheet->getActiveSheet()->setCellValue( 'F1', 'Post Date' );
84
-
85
- $column = 'G';
86
- foreach ( $faq_fields as $faq_field ) {
87
-
88
- $spreadsheet->getActiveSheet()->setCellValue( $column . '1', $faq_field->name );
89
- $column++;
90
- }
91
-
92
- //start while loop to get data
93
- $row_count = 2;
94
-
95
- $params = array(
96
- 'posts_per_page' => -1,
97
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE
98
- );
99
-
100
- $faqs = get_posts( $params );
101
-
102
- foreach ( $faqs as $faq ) {
103
-
104
- $categories = strip_tags( get_the_term_list( $faq->ID, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY, '', ',' ) );
105
- $tags = strip_tags( get_the_term_list( $faq->ID, EWD_UFAQ_FAQ_TAG_TAXONOMY, '', ',' ) );
106
-
107
- $spreadsheet->getActiveSheet()->setCellValue( 'A' . $row_count, $faq->ID );
108
- $spreadsheet->getActiveSheet()->setCellValue( 'B' . $row_count, $faq->post_title );
109
- $spreadsheet->getActiveSheet()->setCellValue( 'C' . $row_count, $faq->post_content );
110
- $spreadsheet->getActiveSheet()->setCellValue( 'D' . $row_count, $categories );
111
- $spreadsheet->getActiveSheet()->setCellValue( 'E' . $row_count, $tags );
112
- $spreadsheet->getActiveSheet()->setCellValue( 'F' . $row_count, $faq->post_date );
113
-
114
- $column = 'G';
115
- foreach ( $faq_fields as $faq_field ) {
116
-
117
- $field_value = get_post_meta( $faq->ID, "Custom_Field_" . $faq_field->id, true );
118
- $field_value = is_array( $field_value ) ? implode( ',', $field_value ) : $field_value;
119
-
120
- $spreadsheet->getActiveSheet()->setCellValue( $column . $row_count, $field_value );
121
- $column++;
122
- }
123
-
124
- $row_count++;
125
- }
126
-
127
- // Redirect output to a client’s web browser (Excel5)
128
- if (!isset($format_type) == "csv") {
129
-
130
- header('Content-Type: application/vnd.ms-excel');
131
- header('Content-Disposition: attachment;filename="faqs_export.csv"');
132
- header('Cache-Control: max-age=0');
133
- $objWriter = new Csv($spreadsheet);
134
- $objWriter->save('php://output');
135
- die();
136
- }
137
- else {
138
-
139
- header('Content-Type: application/vnd.ms-excel');
140
- header('Content-Disposition: attachment;filename="faqs_export.xls"');
141
- header('Cache-Control: max-age=0');
142
- $objWriter = new Xls($spreadsheet);
143
- $objWriter->save('php://output');
144
- die();
145
- }
146
- }
147
-
148
- public function export_faqs_pdf() {
149
- global $ewd_ufaq_controller;
150
-
151
- if ( ! isset( $_POST['EWD_UFAQ_Export_PDF_Nonce'] ) ) { return; }
152
-
153
- if ( ! wp_verify_nonce( $_POST['EWD_UFAQ_Export_PDF_Nonce'], 'EWD_UFAQ_Export_PDF' ) ) { return; }
154
-
155
- $faq_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
156
-
157
- require_once EWD_UFAQ_PLUGIN_DIR . '/lib/FPDF/fpdf.php' ;
158
-
159
- $params = array(
160
- 'posts_per_page' => -1,
161
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE
162
- );
163
-
164
- $faqs = get_posts( $params );
165
-
166
- $pdf_passes = array(
167
- 'first_page_run',
168
- 'second_page_run',
169
- 'final'
170
- );
171
-
172
- $table_of_contents = array();
173
-
174
- foreach ( $pdf_passes as $pdf_pass ) {
175
-
176
- $pdf = new FPDF();
177
- $pdf->AddPage();
178
-
179
- if ( $pdf_pass == 'second_page_run' or $pdf_pass == 'final' ) {
180
-
181
- $pdf->SetFont( 'Arial', 'B', 14 );
182
- $pdf->Cell( 20, 10, 'Page #' );
183
- $pdf->Cell( 20, 10, 'Article Title' );
184
- $pdf->Ln();
185
- $pdf->SetFont( 'Arial', '', 12 );
186
-
187
- foreach ( $table_of_contents as $entry ) {
188
- $pdf->Cell(20, 5, " " . $entry['page']);
189
- $pdf->MultiCell(0, 5, $entry['title']);
190
- $pdf->Ln();
191
- }
192
-
193
- unset( $table_of_contents );
194
- }
195
-
196
- foreach ($faqs as $faq) {
197
-
198
- $question = utf8_decode( strip_tags( html_entity_decode( $faq->post_title ) ) );
199
-
200
- $answer = utf8_decode( strip_tags( html_entity_decode( $faq->post_content ) ) );
201
- $answer = str_replace( '&#91;', '[', $answer );
202
- $answer = str_replace( '&#93;', ']', $answer );
203
-
204
- $pdf->AddPage();
205
-
206
- $entry = array(
207
- 'page' => $pdf->GetPage(),
208
- 'title' => $question
209
- );
210
-
211
- $pdf->SetFont( 'Arial', 'B', 15 );
212
- $pdf->MultiCell( 0, 10, $question );
213
- $pdf->Ln();
214
- $pdf->SetFont( 'Arial', '', 12 );
215
- $pdf->MultiCell( 0, 10, $answer );
216
-
217
- $table_of_contents[] = $entry;
218
- }
219
-
220
- if ( $pdf_pass == 'first_page_run' or $pdf_pass == 'second_page_run' ) {
221
-
222
- $pdf->Close();
223
- }
224
-
225
- if ( $pdf_pass == 'final' ) {
226
-
227
- $pdf->Output( 'Ultimate-FAQ-Manual.pdf', 'D' );
228
- }
229
- }
230
- }
231
-
232
- public function enqueue_export_scripts() {
233
-
234
- $screen = get_current_screen();
235
-
236
- if ( $screen->id == 'ufaq_page_ewd-ufaq-export' ) {
237
-
238
- wp_enqueue_style( 'ewd-ufaq-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-admin.css', array(), EWD_UFAQ_VERSION );
239
-
240
- wp_register_script( 'ewd-ufaq-admin-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-admin.js', array( 'jquery', 'jquery-ui-sortable' ), EWD_UFAQ_VERSION, true );
241
-
242
- $args = array();
243
-
244
- wp_localize_script( 'ewd-ufaq-admin-js', 'ewd_ufaq_php_data', $args );
245
-
246
- wp_enqueue_script( 'ewd-ufaq-admin-js' );
247
- }
248
- }
249
-
250
- }
251
-
252
-
1
+ <?php
2
+
3
+ /**
4
+ * Class to export reviews created by the plugin
5
+ */
6
+
7
+ if ( !defined( 'ABSPATH' ) )
8
+ exit;
9
+
10
+ if (!class_exists('ComposerAutoloaderInit4618f5c41cf5e27cc7908556f031e4d4')) { require_once EWD_UFAQ_PLUGIN_DIR . '/lib/PHPSpreadsheet/vendor/autoload.php'; }
11
+ use PhpOffice\PhpSpreadsheet\Spreadsheet;
12
+ use PhpOffice\PhpSpreadsheet\Writer\Xls;
13
+ use PhpOffice\PhpSpreadsheet\Writer\Csv;
14
+ class ewdufaqExport {
15
+
16
+ public function __construct() {
17
+ add_action( 'admin_menu', array($this, 'register_install_screen' ));
18
+
19
+ if ( isset( $_POST['ewd_ufaq_export'] ) ) { add_action( 'admin_menu', array($this, 'export_faqs' )); }
20
+ if ( isset( $_POST['ewd_ufaq_export_pdf'] ) ) { add_action( 'admin_menu', array($this, 'export_faqs_pdf' )); }
21
+
22
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_export_scripts' ) );
23
+ }
24
+
25
+ public function register_install_screen() {
26
+ global $ewd_ufaq_controller;
27
+
28
+ add_submenu_page(
29
+ 'edit.php?post_type=ufaq',
30
+ 'Export Menu',
31
+ 'Export',
32
+ $ewd_ufaq_controller->settings->get_setting( 'access-role' ),
33
+ 'ewd-ufaq-export',
34
+ array($this, 'display_export_screen')
35
+ );
36
+ }
37
+
38
+ public function display_export_screen() {
39
+ global $ewd_ufaq_controller;
40
+
41
+ $export_permission = $ewd_ufaq_controller->permissions->check_permission( 'export' );
42
+
43
+ ?>
44
+ <div class='wrap'>
45
+ <h2>Export</h2>
46
+ <?php if ( $export_permission ) { ?>
47
+ <form method='post'>
48
+ <?php wp_nonce_field( 'EWD_UFAQ_Export_PDF', 'EWD_UFAQ_Export_PDF_Nonce' ); ?>
49
+ <input type='submit' name='ewd_ufaq_export' value='Export to Spreadsheet' class='button button-primary' />
50
+ </form>
51
+ <form method='post'>
52
+ <?php wp_nonce_field( 'EWD_UFAQ_Export_PDF', 'EWD_UFAQ_Export_PDF_Nonce' ); ?>
53
+ <input type='submit' name='ewd_ufaq_export_pdf' value='Export to PDF' class='button button-primary' />
54
+ </form>
55
+ <?php } else { ?>
56
+ <div class='ewd-ufaq-premium-locked'>
57
+ <a href="https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1" target="_blank">Upgrade</a> to the premium version to use this feature
58
+ </div>
59
+ <?php } ?>
60
+ </div>
61
+ <?php }
62
+
63
+ public function export_faqs() {
64
+ global $ewd_ufaq_controller;
65
+
66
+ if ( ! isset( $_POST['EWD_UFAQ_Export_PDF_Nonce'] ) ) { return; }
67
+
68
+ if ( ! wp_verify_nonce( $_POST['EWD_UFAQ_Export_PDF_Nonce'], 'EWD_UFAQ_Export_PDF' ) ) { return; }
69
+
70
+ $faq_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
71
+
72
+ // Instantiate a new PHPExcel object
73
+ $spreadsheet = new Spreadsheet();
74
+ // Set the active Excel worksheet to sheet 0
75
+ $spreadsheet->setActiveSheetIndex(0);
76
+
77
+ // Print out the regular review field labels
78
+ $spreadsheet->getActiveSheet()->setCellValue( 'A1', 'ID' );
79
+ $spreadsheet->getActiveSheet()->setCellValue( 'B1', 'Question' );
80
+ $spreadsheet->getActiveSheet()->setCellValue( 'C1', 'Answer' );
81
+ $spreadsheet->getActiveSheet()->setCellValue( 'D1', 'Categories' );
82
+ $spreadsheet->getActiveSheet()->setCellValue( 'E1', 'Tags' );
83
+ $spreadsheet->getActiveSheet()->setCellValue( 'F1', 'Post Date' );
84
+
85
+ $column = 'G';
86
+ foreach ( $faq_fields as $faq_field ) {
87
+
88
+ $spreadsheet->getActiveSheet()->setCellValue( $column . '1', $faq_field->name );
89
+ $column++;
90
+ }
91
+
92
+ //start while loop to get data
93
+ $row_count = 2;
94
+
95
+ $params = array(
96
+ 'posts_per_page' => -1,
97
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE
98
+ );
99
+
100
+ $faqs = get_posts( $params );
101
+
102
+ foreach ( $faqs as $faq ) {
103
+
104
+ $categories = strip_tags( get_the_term_list( $faq->ID, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY, '', ',' ) );
105
+ $tags = strip_tags( get_the_term_list( $faq->ID, EWD_UFAQ_FAQ_TAG_TAXONOMY, '', ',' ) );
106
+
107
+ $spreadsheet->getActiveSheet()->setCellValue( 'A' . $row_count, $faq->ID );
108
+ $spreadsheet->getActiveSheet()->setCellValue( 'B' . $row_count, $faq->post_title );
109
+ $spreadsheet->getActiveSheet()->setCellValue( 'C' . $row_count, $faq->post_content );
110
+ $spreadsheet->getActiveSheet()->setCellValue( 'D' . $row_count, $categories );
111
+ $spreadsheet->getActiveSheet()->setCellValue( 'E' . $row_count, $tags );
112
+ $spreadsheet->getActiveSheet()->setCellValue( 'F' . $row_count, $faq->post_date );
113
+
114
+ $column = 'G';
115
+ foreach ( $faq_fields as $faq_field ) {
116
+
117
+ $field_value = get_post_meta( $faq->ID, "Custom_Field_" . $faq_field->id, true );
118
+ $field_value = is_array( $field_value ) ? implode( ',', $field_value ) : $field_value;
119
+
120
+ $spreadsheet->getActiveSheet()->setCellValue( $column . $row_count, $field_value );
121
+ $column++;
122
+ }
123
+
124
+ $row_count++;
125
+ }
126
+
127
+ // Redirect output to a client’s web browser (Excel5)
128
+ if (!isset($format_type) == "csv") {
129
+
130
+ header('Content-Type: application/vnd.ms-excel');
131
+ header('Content-Disposition: attachment;filename="faqs_export.csv"');
132
+ header('Cache-Control: max-age=0');
133
+ $objWriter = new Csv($spreadsheet);
134
+ $objWriter->save('php://output');
135
+ die();
136
+ }
137
+ else {
138
+
139
+ header('Content-Type: application/vnd.ms-excel');
140
+ header('Content-Disposition: attachment;filename="faqs_export.xls"');
141
+ header('Cache-Control: max-age=0');
142
+ $objWriter = new Xls($spreadsheet);
143
+ $objWriter->save('php://output');
144
+ die();
145
+ }
146
+ }
147
+
148
+ public function export_faqs_pdf() {
149
+ global $ewd_ufaq_controller;
150
+
151
+ if ( ! isset( $_POST['EWD_UFAQ_Export_PDF_Nonce'] ) ) { return; }
152
+
153
+ if ( ! wp_verify_nonce( $_POST['EWD_UFAQ_Export_PDF_Nonce'], 'EWD_UFAQ_Export_PDF' ) ) { return; }
154
+
155
+ $faq_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
156
+
157
+ require_once EWD_UFAQ_PLUGIN_DIR . '/lib/FPDF/fpdf.php' ;
158
+
159
+ $params = array(
160
+ 'posts_per_page' => -1,
161
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE
162
+ );
163
+
164
+ $faqs = get_posts( $params );
165
+
166
+ $pdf_passes = array(
167
+ 'first_page_run',
168
+ 'second_page_run',
169
+ 'final'
170
+ );
171
+
172
+ $table_of_contents = array();
173
+
174
+ foreach ( $pdf_passes as $pdf_pass ) {
175
+
176
+ $pdf = new FPDF();
177
+ $pdf->AddPage();
178
+
179
+ if ( $pdf_pass == 'second_page_run' or $pdf_pass == 'final' ) {
180
+
181
+ $pdf->SetFont( 'Arial', 'B', 14 );
182
+ $pdf->Cell( 20, 10, 'Page #' );
183
+ $pdf->Cell( 20, 10, 'Article Title' );
184
+ $pdf->Ln();
185
+ $pdf->SetFont( 'Arial', '', 12 );
186
+
187
+ foreach ( $table_of_contents as $entry ) {
188
+ $pdf->Cell(20, 5, " " . $entry['page']);
189
+ $pdf->MultiCell(0, 5, $entry['title']);
190
+ $pdf->Ln();
191
+ }
192
+
193
+ unset( $table_of_contents );
194
+ }
195
+
196
+ foreach ($faqs as $faq) {
197
+
198
+ $question = utf8_decode( strip_tags( html_entity_decode( $faq->post_title ) ) );
199
+
200
+ $answer = utf8_decode( strip_tags( html_entity_decode( $faq->post_content ) ) );
201
+ $answer = str_replace( '&#91;', '[', $answer );
202
+ $answer = str_replace( '&#93;', ']', $answer );
203
+
204
+ $pdf->AddPage();
205
+
206
+ $entry = array(
207
+ 'page' => $pdf->GetPage(),
208
+ 'title' => $question
209
+ );
210
+
211
+ $pdf->SetFont( 'Arial', 'B', 15 );
212
+ $pdf->MultiCell( 0, 10, $question );
213
+ $pdf->Ln();
214
+ $pdf->SetFont( 'Arial', '', 12 );
215
+ $pdf->MultiCell( 0, 10, $answer );
216
+
217
+ $table_of_contents[] = $entry;
218
+ }
219
+
220
+ if ( $pdf_pass == 'first_page_run' or $pdf_pass == 'second_page_run' ) {
221
+
222
+ $pdf->Close();
223
+ }
224
+
225
+ if ( $pdf_pass == 'final' ) {
226
+
227
+ $pdf->Output( 'Ultimate-FAQ-Manual.pdf', 'D' );
228
+ }
229
+ }
230
+ }
231
+
232
+ public function enqueue_export_scripts() {
233
+
234
+ $screen = get_current_screen();
235
+
236
+ if ( $screen->id == 'ufaq_page_ewd-ufaq-export' ) {
237
+
238
+ wp_enqueue_style( 'ewd-ufaq-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-admin.css', array(), EWD_UFAQ_VERSION );
239
+
240
+ wp_register_script( 'ewd-ufaq-admin-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-admin.js', array( 'jquery', 'jquery-ui-sortable' ), EWD_UFAQ_VERSION, true );
241
+
242
+ $args = array();
243
+
244
+ wp_localize_script( 'ewd-ufaq-admin-js', 'ewd_ufaq_php_data', $args );
245
+
246
+ wp_enqueue_script( 'ewd-ufaq-admin-js' );
247
+ }
248
+ }
249
+
250
+ }
251
+
252
+
includes/FAQ.class.php CHANGED
@@ -1,373 +1,373 @@
1
- <?php
2
- if ( !defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( !class_exists( 'ewdufaqFAQ' ) ) {
5
- /**
6
- * Class to handle an FAQ for Ultimate FAQs
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqFAQ {
11
-
12
- /**
13
- * Whether or not this request has been processed. Used to prevent
14
- * duplicate forms on one page from processing an FAQ form more than
15
- * once.
16
- * @since 2.0.0
17
- */
18
- public $faq_processed = false;
19
-
20
- /**
21
- * Whether or not this request was successfully saved to the database.
22
- * @since 2.0.0
23
- */
24
- public $FAQ_inserted = false;
25
-
26
- public $custom_fields = array();
27
-
28
- public function __construct() {}
29
-
30
- /**
31
- * Load the FAQ information from a WP_Post object or an ID
32
- *
33
- * @uses load_wp_post()
34
- * @since 2.0.0
35
- */
36
- public function load_post( $post ) {
37
-
38
- if ( is_int( $post ) || is_string( $post ) ) {
39
- $post = get_post( $post );
40
- }
41
-
42
- if ( get_class( $post ) == 'WP_Post' && $post->post_type == EWD_UFAQ_FAQ_POST_TYPE ) {
43
- $this->load_wp_post( $post );
44
- return true;
45
- } else {
46
- return false;
47
- }
48
-
49
- }
50
-
51
- /**
52
- * Load data from WP post object and retrieve metadata
53
- *
54
- * @uses load_post_metadata()
55
- * @since 2.0.0
56
- */
57
- public function load_wp_post( $post ) {
58
-
59
- // Store post for access to other data if needed by extensions
60
- $this->post = $post;
61
-
62
- $this->ID = $post->ID;
63
- $this->question = $post->post_title;
64
- $this->date = $post->post_date;
65
- $this->answer = $post->post_content;
66
- $this->post_status = $post->post_status;
67
-
68
- $this->categories = get_the_terms( $post, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
69
- if ( ! is_array( $this->categories ) ) { $this->categories = array(); }
70
-
71
- $this->tags = get_the_terms( $post, EWD_UFAQ_FAQ_TAG_TAXONOMY );
72
- if ( ! is_array( $this->tags ) ) { $this->tags = array(); }
73
-
74
- $this->load_custom_fields();
75
- $this->load_post_metadata();
76
-
77
- do_action( 'ewd_ufaq_faq_load_post_data', $this, $post );
78
- }
79
-
80
- /**
81
- * Store custom field information for post
82
- * @since 2.0.0
83
- */
84
- public function load_custom_fields() {
85
- global $ewd_ufaq_controller;
86
-
87
- $this->score = get_post_meta( $this->ID, 'EWD_UFAQ_Overall_Score', true );
88
-
89
- $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
90
-
91
- foreach ( $custom_fields as $custom_field ) {
92
-
93
- if ( ! $custom_field->id ) { continue; }
94
-
95
- $this->custom_fields[ $custom_field->id ] = get_post_meta( $this->ID, 'Custom_Field_' . $custom_field->id, true );
96
- }
97
- }
98
-
99
- /**
100
- * Store metadata for post
101
- * @since 2.0.0
102
- */
103
- public function load_post_metadata() {
104
-
105
- $faq_author = get_post_meta( $this->ID, 'EWD_UFAQ_Post_Author', true );
106
-
107
- $user = wp_get_current_user();
108
- $this->faq_author = $faq_author ? $faq_author : $user->display_name;
109
- $this->faq_author_email = get_post_meta( $this->ID, 'EWD_UFAQ_Post_Author_Email', true );
110
-
111
-
112
- $this->up_votes = get_post_meta( $this->ID, 'FAQ_Up_Votes', true );
113
- $this->down_votes = get_post_meta( $this->ID, 'FAQ_Down_Votes', true );
114
- }
115
-
116
- /**
117
- * Insert a new FAQ submission into the database
118
- *
119
- * Validates the data, adds it to the database and executes notifications
120
- * @since 2.0.0
121
- */
122
- public function insert_faq() {
123
-
124
- // Check if this request has already been processed. If multiple forms
125
- // exist on the same page, this prevents a single submission from
126
- // being added twice.
127
- if ( $this->faq_processed === true ) {
128
- return true;
129
- }
130
-
131
- $this->faq_processed = true;
132
-
133
- if ( empty( $this->ID ) ) {
134
- $action = 'insert';
135
- } else {
136
- $action = 'update';
137
- }
138
-
139
- $this->validate_submission();
140
- if ( $this->is_valid_submission() === false ) {
141
- return false;
142
- }
143
-
144
- if ( $this->insert_post_data() === false ) {
145
- return false;
146
- } else {
147
- $this->faq_inserted = true;
148
- }
149
-
150
- do_action( 'ewd_ufaq_' . $action . '_faq', $this );
151
-
152
- return true;
153
- }
154
-
155
- /**
156
- * Validate submission data. Expects to find data in $_POST.
157
- * @since 2.0.0
158
- */
159
- public function validate_submission() {
160
- global $ewd_ufaq_controller;
161
-
162
- $this->validation_errors = array();
163
-
164
- // CAPTCHA
165
- if ( $ewd_ufaq_controller->settings->get_setting( 'submit-question-captcha' ) ) {
166
-
167
- $modified_code = intval( $_POST['ewd_ufaq_modified_captcha'] );
168
- $user_code = intval( $_POST['ewd_ufaq_captcha'] );
169
-
170
- if ( $user_code != $this->decrypt_modified_code( $modified_code ) ) {
171
-
172
- $this->validation_errors[] = array(
173
- 'field' => 'captcha',
174
- 'error_msg' => 'Captcha incorrect',
175
- 'message' => __( 'The number you entered for the image was incorrect.', 'ultimate-faqs' ),
176
- );
177
- }
178
- }
179
-
180
- // QUESTION
181
- $this->question = empty( $_POST['faq_question'] ) ? false : sanitize_text_field( $_POST['faq_question'] );
182
-
183
- if ( ! $this->question ) {
184
-
185
- $this->validation_errors[] = array(
186
- 'field' => 'faq_question',
187
- 'error_msg' => 'Question is blank',
188
- 'message' => __( 'Please make sure that there is a question that you are submitting as an FAQ', 'ultimate-faqs' ),
189
- );
190
- }
191
-
192
- // AUTHOR
193
- $this->faq_author = empty( $_POST['post_author'] ) ? false : sanitize_text_field( $_POST['post_author'] );
194
-
195
- // AUTHOR EMAIL
196
- $this->faq_author_email = empty( $_POST['post_author_email'] ) ? false : sanitize_text_field( $_POST['post_author_email'] );
197
-
198
- // ANSWER
199
- if ( $ewd_ufaq_controller->settings->get_setting( 'allow-proposed-answer' ) ) {
200
-
201
- $this->answer = empty( $_POST['faq_answer'] ) ? false : sanitize_textarea_field( $_POST['faq_answer'] );
202
- }
203
-
204
- // CATEGORY
205
- if ( $ewd_ufaq_controller->settings->get_setting( 'submitted-default-category' ) ) {
206
-
207
- $args = array(
208
- 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
209
- 'hide_empty' => false,
210
- 'slug' => $ewd_ufaq_controller->settings->get_setting( 'submitted-default-category' )
211
- );
212
-
213
- $this->categories = get_terms( $args );
214
- }
215
-
216
- // CUSTOM FIELDS
217
- $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
218
-
219
- foreach ( $custom_fields as $custom_field ) {
220
-
221
- if ( ! $custom_field->id ) { continue; }
222
-
223
- $input_name = 'ewd_ufaq_custom_field_' . $custom_field->id;
224
-
225
- if ( $custom_field->type == 'checkbox' ) {
226
-
227
- $checkbox_values = ( empty( $_POST[ $input_name ] ) or ! is_array( $_POST[ $input_name ] ) ) ? array() : $_POST[ $input_name ];
228
-
229
- $this->custom_fields[ $custom_field->id ] = array_map( 'sanitize_text_field', $checkbox_values );
230
- }
231
- else { $this->custom_fields[ $custom_field->id ] = empty( $_POST[ $input_name ] ) ? false : sanitize_text_field( $_POST[ $input_name ] ); }
232
- }
233
-
234
-
235
- $this->post_status = 'draft';
236
-
237
- do_action( 'ewd_ufaq_validate_faq_submission', $this );
238
- }
239
-
240
- /**
241
- * Returns the decrypted version of the captcha code
242
- * @since 2.0.0
243
- */
244
- public function decrypt_modified_code( $user_code ) {
245
-
246
- $decrypted_code = ($user_code / 3) - 5;
247
-
248
- return $decrypted_code;
249
- }
250
-
251
- /**
252
- * Check if submission is valid
253
- *
254
- * @since 2.0.0
255
- */
256
- public function is_valid_submission() {
257
-
258
- if ( !count( $this->validation_errors ) ) {
259
- return true;
260
- }
261
-
262
- return false;
263
- }
264
-
265
- /**
266
- * Insert post data for a new FAQ or update a FAQ
267
- * @since 2.0.0
268
- */
269
- public function insert_post_data() {
270
-
271
- $args = array(
272
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
273
- 'post_title' => $this->question,
274
- 'post_content' => ! empty( $this->answer ) ? $this->answer : '',
275
- 'post_status' => $this->post_status,
276
- );
277
-
278
- if ( ! empty( $this->ID ) ) {
279
- $args['ID'] = $this->ID;
280
- }
281
-
282
- $args = apply_filters( 'ewd_ufaq_insert_faq_data', $args, $this );
283
-
284
- // When updating a FAQ, we need to update the metadata first, so that
285
- // notifications hooked to the status changes go out with the new metadata.
286
- // If we're inserting a new FAQ, we have to insert it before we can
287
- // add metadata, and the default notifications don't fire until it's all done.
288
- if ( ! empty( $this->ID ) ) {
289
-
290
- $this->insert_post_meta();
291
- $this->insert_post_categories();
292
- $id = wp_insert_post( $args );
293
- } else {
294
-
295
- $id = wp_insert_post( $args );
296
- if ( $id && ! is_wp_error( $id ) ) {
297
- $this->ID = $id;
298
- $this->insert_post_meta();
299
- $this->insert_post_categories();
300
-
301
- $this->clear_post_submission();
302
- }
303
- }
304
-
305
- return ! is_wp_error( $id ) && $id !== false;
306
- }
307
-
308
- /**
309
- * Insert the post metadata for a new FAQ or when updating a FAQ
310
- * @since 2.0.0
311
- */
312
- public function insert_post_meta() {
313
- global $ewd_ufaq_controller;
314
-
315
- $meta = array();
316
-
317
- if ( ! empty( $this->faq_author ) ) {
318
-
319
- update_post_meta( $this->ID, 'EWD_UFAQ_Post_Author', $this->faq_author );
320
- }
321
-
322
- if ( ! empty( $this->faq_author_email ) ) {
323
-
324
- update_post_meta( $this->ID, 'EWD_UFAQ_Post_Author_Email', $this->faq_author_email );
325
- }
326
-
327
- $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
328
-
329
- foreach ( $custom_fields as $custom_field ) {
330
-
331
- if ( ! empty( $this->custom_fields[ $custom_field->id ] ) ) {
332
-
333
- update_post_meta( $this->ID, 'Custom_Field_' . $custom_field->id, $this->custom_fields[ $custom_field->id ] );
334
- }
335
- }
336
- }
337
-
338
- /**
339
- * Update the categories for an FAQ
340
- * @since 2.0.0
341
- */
342
- public function insert_post_categories() {
343
-
344
- if ( ! is_array( $this->categories ) or empty( $this->categories ) ) { return; }
345
-
346
- $submit_categories = array();
347
- foreach ( $this->categories as $category ) { $submit_categories[] = $category->term_id; }
348
-
349
- wp_set_object_terms( $this->ID, $submit_categories, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
350
- }
351
-
352
- /**
353
- * Clears the $_POST values used by the plugin on successful submission
354
- * @since 2.0.0
355
- */
356
- public function clear_post_submission() {
357
- global $ewd_ufaq_controller;
358
-
359
- unset( $_POST['faq_question'] );
360
- unset( $_POST['faq_answer'] );
361
- unset( $_POST['post_author'] );
362
- unset( $_POST['post_author_email'] );
363
-
364
- $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
365
-
366
- foreach ( $custom_fields as $custom_field ) {
367
-
368
- unset( $_POST[ 'ewd_ufaq_custom_field_' . $custom_field->id ] );
369
- }
370
- }
371
-
372
- }
373
- } // endif;
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( !class_exists( 'ewdufaqFAQ' ) ) {
5
+ /**
6
+ * Class to handle an FAQ for Ultimate FAQs
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqFAQ {
11
+
12
+ /**
13
+ * Whether or not this request has been processed. Used to prevent
14
+ * duplicate forms on one page from processing an FAQ form more than
15
+ * once.
16
+ * @since 2.0.0
17
+ */
18
+ public $faq_processed = false;
19
+
20
+ /**
21
+ * Whether or not this request was successfully saved to the database.
22
+ * @since 2.0.0
23
+ */
24
+ public $FAQ_inserted = false;
25
+
26
+ public $custom_fields = array();
27
+
28
+ public function __construct() {}
29
+
30
+ /**
31
+ * Load the FAQ information from a WP_Post object or an ID
32
+ *
33
+ * @uses load_wp_post()
34
+ * @since 2.0.0
35
+ */
36
+ public function load_post( $post ) {
37
+
38
+ if ( is_int( $post ) || is_string( $post ) ) {
39
+ $post = get_post( $post );
40
+ }
41
+
42
+ if ( get_class( $post ) == 'WP_Post' && $post->post_type == EWD_UFAQ_FAQ_POST_TYPE ) {
43
+ $this->load_wp_post( $post );
44
+ return true;
45
+ } else {
46
+ return false;
47
+ }
48
+
49
+ }
50
+
51
+ /**
52
+ * Load data from WP post object and retrieve metadata
53
+ *
54
+ * @uses load_post_metadata()
55
+ * @since 2.0.0
56
+ */
57
+ public function load_wp_post( $post ) {
58
+
59
+ // Store post for access to other data if needed by extensions
60
+ $this->post = $post;
61
+
62
+ $this->ID = $post->ID;
63
+ $this->question = $post->post_title;
64
+ $this->date = $post->post_date;
65
+ $this->answer = $post->post_content;
66
+ $this->post_status = $post->post_status;
67
+
68
+ $this->categories = get_the_terms( $post, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
69
+ if ( ! is_array( $this->categories ) ) { $this->categories = array(); }
70
+
71
+ $this->tags = get_the_terms( $post, EWD_UFAQ_FAQ_TAG_TAXONOMY );
72
+ if ( ! is_array( $this->tags ) ) { $this->tags = array(); }
73
+
74
+ $this->load_custom_fields();
75
+ $this->load_post_metadata();
76
+
77
+ do_action( 'ewd_ufaq_faq_load_post_data', $this, $post );
78
+ }
79
+
80
+ /**
81
+ * Store custom field information for post
82
+ * @since 2.0.0
83
+ */
84
+ public function load_custom_fields() {
85
+ global $ewd_ufaq_controller;
86
+
87
+ $this->score = get_post_meta( $this->ID, 'EWD_UFAQ_Overall_Score', true );
88
+
89
+ $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
90
+
91
+ foreach ( $custom_fields as $custom_field ) {
92
+
93
+ if ( ! $custom_field->id ) { continue; }
94
+
95
+ $this->custom_fields[ $custom_field->id ] = get_post_meta( $this->ID, 'Custom_Field_' . $custom_field->id, true );
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Store metadata for post
101
+ * @since 2.0.0
102
+ */
103
+ public function load_post_metadata() {
104
+
105
+ $faq_author = get_post_meta( $this->ID, 'EWD_UFAQ_Post_Author', true );
106
+
107
+ $user = wp_get_current_user();
108
+ $this->faq_author = $faq_author ? $faq_author : $user->display_name;
109
+ $this->faq_author_email = get_post_meta( $this->ID, 'EWD_UFAQ_Post_Author_Email', true );
110
+
111
+
112
+ $this->up_votes = get_post_meta( $this->ID, 'FAQ_Up_Votes', true );
113
+ $this->down_votes = get_post_meta( $this->ID, 'FAQ_Down_Votes', true );
114
+ }
115
+
116
+ /**
117
+ * Insert a new FAQ submission into the database
118
+ *
119
+ * Validates the data, adds it to the database and executes notifications
120
+ * @since 2.0.0
121
+ */
122
+ public function insert_faq() {
123
+
124
+ // Check if this request has already been processed. If multiple forms
125
+ // exist on the same page, this prevents a single submission from
126
+ // being added twice.
127
+ if ( $this->faq_processed === true ) {
128
+ return true;
129
+ }
130
+
131
+ $this->faq_processed = true;
132
+
133
+ if ( empty( $this->ID ) ) {
134
+ $action = 'insert';
135
+ } else {
136
+ $action = 'update';
137
+ }
138
+
139
+ $this->validate_submission();
140
+ if ( $this->is_valid_submission() === false ) {
141
+ return false;
142
+ }
143
+
144
+ if ( $this->insert_post_data() === false ) {
145
+ return false;
146
+ } else {
147
+ $this->faq_inserted = true;
148
+ }
149
+
150
+ do_action( 'ewd_ufaq_' . $action . '_faq', $this );
151
+
152
+ return true;
153
+ }
154
+
155
+ /**
156
+ * Validate submission data. Expects to find data in $_POST.
157
+ * @since 2.0.0
158
+ */
159
+ public function validate_submission() {
160
+ global $ewd_ufaq_controller;
161
+
162
+ $this->validation_errors = array();
163
+
164
+ // CAPTCHA
165
+ if ( $ewd_ufaq_controller->settings->get_setting( 'submit-question-captcha' ) ) {
166
+
167
+ $modified_code = intval( $_POST['ewd_ufaq_modified_captcha'] );
168
+ $user_code = intval( $_POST['ewd_ufaq_captcha'] );
169
+
170
+ if ( $user_code != $this->decrypt_modified_code( $modified_code ) ) {
171
+
172
+ $this->validation_errors[] = array(
173
+ 'field' => 'captcha',
174
+ 'error_msg' => 'Captcha incorrect',
175
+ 'message' => __( 'The number you entered for the image was incorrect.', 'ultimate-faqs' ),
176
+ );
177
+ }
178
+ }
179
+
180
+ // QUESTION
181
+ $this->question = empty( $_POST['faq_question'] ) ? false : sanitize_text_field( $_POST['faq_question'] );
182
+
183
+ if ( ! $this->question ) {
184
+
185
+ $this->validation_errors[] = array(
186
+ 'field' => 'faq_question',
187
+ 'error_msg' => 'Question is blank',
188
+ 'message' => __( 'Please make sure that there is a question that you are submitting as an FAQ', 'ultimate-faqs' ),
189
+ );
190
+ }
191
+
192
+ // AUTHOR
193
+ $this->faq_author = empty( $_POST['post_author'] ) ? false : sanitize_text_field( $_POST['post_author'] );
194
+
195
+ // AUTHOR EMAIL
196
+ $this->faq_author_email = empty( $_POST['post_author_email'] ) ? false : sanitize_text_field( $_POST['post_author_email'] );
197
+
198
+ // ANSWER
199
+ if ( $ewd_ufaq_controller->settings->get_setting( 'allow-proposed-answer' ) ) {
200
+
201
+ $this->answer = empty( $_POST['faq_answer'] ) ? false : sanitize_textarea_field( $_POST['faq_answer'] );
202
+ }
203
+
204
+ // CATEGORY
205
+ if ( $ewd_ufaq_controller->settings->get_setting( 'submitted-default-category' ) ) {
206
+
207
+ $args = array(
208
+ 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
209
+ 'hide_empty' => false,
210
+ 'slug' => $ewd_ufaq_controller->settings->get_setting( 'submitted-default-category' )
211
+ );
212
+
213
+ $this->categories = get_terms( $args );
214
+ }
215
+
216
+ // CUSTOM FIELDS
217
+ $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
218
+
219
+ foreach ( $custom_fields as $custom_field ) {
220
+
221
+ if ( ! $custom_field->id ) { continue; }
222
+
223
+ $input_name = 'ewd_ufaq_custom_field_' . $custom_field->id;
224
+
225
+ if ( $custom_field->type == 'checkbox' ) {
226
+
227
+ $checkbox_values = ( empty( $_POST[ $input_name ] ) or ! is_array( $_POST[ $input_name ] ) ) ? array() : $_POST[ $input_name ];
228
+
229
+ $this->custom_fields[ $custom_field->id ] = array_map( 'sanitize_text_field', $checkbox_values );
230
+ }
231
+ else { $this->custom_fields[ $custom_field->id ] = empty( $_POST[ $input_name ] ) ? false : sanitize_text_field( $_POST[ $input_name ] ); }
232
+ }
233
+
234
+
235
+ $this->post_status = 'draft';
236
+
237
+ do_action( 'ewd_ufaq_validate_faq_submission', $this );
238
+ }
239
+
240
+ /**
241
+ * Returns the decrypted version of the captcha code
242
+ * @since 2.0.0
243
+ */
244
+ public function decrypt_modified_code( $user_code ) {
245
+
246
+ $decrypted_code = ($user_code / 3) - 5;
247
+
248
+ return $decrypted_code;
249
+ }
250
+
251
+ /**
252
+ * Check if submission is valid
253
+ *
254
+ * @since 2.0.0
255
+ */
256
+ public function is_valid_submission() {
257
+
258
+ if ( !count( $this->validation_errors ) ) {
259
+ return true;
260
+ }
261
+
262
+ return false;
263
+ }
264
+
265
+ /**
266
+ * Insert post data for a new FAQ or update a FAQ
267
+ * @since 2.0.0
268
+ */
269
+ public function insert_post_data() {
270
+
271
+ $args = array(
272
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
273
+ 'post_title' => $this->question,
274
+ 'post_content' => ! empty( $this->answer ) ? $this->answer : '',
275
+ 'post_status' => $this->post_status,
276
+ );
277
+
278
+ if ( ! empty( $this->ID ) ) {
279
+ $args['ID'] = $this->ID;
280
+ }
281
+
282
+ $args = apply_filters( 'ewd_ufaq_insert_faq_data', $args, $this );
283
+
284
+ // When updating a FAQ, we need to update the metadata first, so that
285
+ // notifications hooked to the status changes go out with the new metadata.
286
+ // If we're inserting a new FAQ, we have to insert it before we can
287
+ // add metadata, and the default notifications don't fire until it's all done.
288
+ if ( ! empty( $this->ID ) ) {
289
+
290
+ $this->insert_post_meta();
291
+ $this->insert_post_categories();
292
+ $id = wp_insert_post( $args );
293
+ } else {
294
+
295
+ $id = wp_insert_post( $args );
296
+ if ( $id && ! is_wp_error( $id ) ) {
297
+ $this->ID = $id;
298
+ $this->insert_post_meta();
299
+ $this->insert_post_categories();
300
+
301
+ $this->clear_post_submission();
302
+ }
303
+ }
304
+
305
+ return ! is_wp_error( $id ) && $id !== false;
306
+ }
307
+
308
+ /**
309
+ * Insert the post metadata for a new FAQ or when updating a FAQ
310
+ * @since 2.0.0
311
+ */
312
+ public function insert_post_meta() {
313
+ global $ewd_ufaq_controller;
314
+
315
+ $meta = array();
316
+
317
+ if ( ! empty( $this->faq_author ) ) {
318
+
319
+ update_post_meta( $this->ID, 'EWD_UFAQ_Post_Author', $this->faq_author );
320
+ }
321
+
322
+ if ( ! empty( $this->faq_author_email ) ) {
323
+
324
+ update_post_meta( $this->ID, 'EWD_UFAQ_Post_Author_Email', $this->faq_author_email );
325
+ }
326
+
327
+ $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
328
+
329
+ foreach ( $custom_fields as $custom_field ) {
330
+
331
+ if ( ! empty( $this->custom_fields[ $custom_field->id ] ) ) {
332
+
333
+ update_post_meta( $this->ID, 'Custom_Field_' . $custom_field->id, $this->custom_fields[ $custom_field->id ] );
334
+ }
335
+ }
336
+ }
337
+
338
+ /**
339
+ * Update the categories for an FAQ
340
+ * @since 2.0.0
341
+ */
342
+ public function insert_post_categories() {
343
+
344
+ if ( ! is_array( $this->categories ) or empty( $this->categories ) ) { return; }
345
+
346
+ $submit_categories = array();
347
+ foreach ( $this->categories as $category ) { $submit_categories[] = $category->term_id; }
348
+
349
+ wp_set_object_terms( $this->ID, $submit_categories, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
350
+ }
351
+
352
+ /**
353
+ * Clears the $_POST values used by the plugin on successful submission
354
+ * @since 2.0.0
355
+ */
356
+ public function clear_post_submission() {
357
+ global $ewd_ufaq_controller;
358
+
359
+ unset( $_POST['faq_question'] );
360
+ unset( $_POST['faq_answer'] );
361
+ unset( $_POST['post_author'] );
362
+ unset( $_POST['post_author_email'] );
363
+
364
+ $custom_fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
365
+
366
+ foreach ( $custom_fields as $custom_field ) {
367
+
368
+ unset( $_POST[ 'ewd_ufaq_custom_field_' . $custom_field->id ] );
369
+ }
370
+ }
371
+
372
+ }
373
+ } // endif;
includes/Import.class.php CHANGED
@@ -1,315 +1,315 @@
1
- <?php
2
-
3
- /**
4
- * Class to handle importing FAQs into the plugin
5
- */
6
-
7
- if ( !defined( 'ABSPATH' ) )
8
- exit;
9
-
10
- if (!class_exists('ComposerAutoloaderInit4618f5c41cf5e27cc7908556f031e4d4')) {require_once EWD_UFAQ_PLUGIN_DIR . '/lib/PHPSpreadsheet/vendor/autoload.php';}
11
- use PhpOffice\PhpSpreadsheet\Spreadsheet;
12
- class ewdufaqImport {
13
-
14
- public $status;
15
- public $message;
16
-
17
- public function __construct() {
18
- add_action( 'admin_menu', array($this, 'register_install_screen' ));
19
-
20
- if ( isset( $_POST['ewdufaqImport'] ) ) { add_action( 'admin_init', array($this, 'import_faqs' )); }
21
-
22
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_import_scripts' ) );
23
- }
24
-
25
- public function register_install_screen() {
26
- global $ewd_ufaq_controller;
27
-
28
- add_submenu_page(
29
- 'edit.php?post_type=ufaq',
30
- 'Import Menu',
31
- 'Import',
32
- $ewd_ufaq_controller->settings->get_setting( 'access-role' ),
33
- 'ewd-ufaq-import',
34
- array($this, 'display_import_screen')
35
- );
36
- }
37
-
38
- public function display_import_screen() {
39
- global $ewd_ufaq_controller;
40
-
41
- $import_permission = $ewd_ufaq_controller->permissions->check_permission( 'import' );
42
- ?>
43
- <div class='wrap'>
44
- <h2>Import</h2>
45
- <?php if ( $import_permission ) { ?>
46
- <form method='post' enctype="multipart/form-data">
47
-
48
- <?php wp_nonce_field( 'EWD_UFAQ_Import', 'EWD_UFAQ_Import_Nonce' ); ?>
49
-
50
- <p>
51
- <label for="ewd_ufaq_faqs_spreadsheet"><?php _e( 'Spreadsheet Containing FAQs', 'ultimate-faqs' ) ?></label><br />
52
- <input name="ewd_ufaq_faqs_spreadsheet" type="file" value=""/>
53
- </p>
54
- <input type='submit' name='ewdufaqImport' value='Import FAQs' class='button button-primary' />
55
- </form>
56
- <?php } else { ?>
57
- <div class='ewd-ufaq-premium-locked'>
58
- <a href="https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1" target="_blank">Upgrade</a> to the premium version to use this feature
59
- </div>
60
- <?php } ?>
61
- </div>
62
- <?php }
63
-
64
- public function import_faqs() {
65
- global $ewd_ufaq_controller;
66
-
67
- if ( ! current_user_can( 'edit_posts' ) ) { return; }
68
-
69
- if ( ! isset( $_POST['EWD_UFAQ_Import_Nonce'] ) ) { return; }
70
-
71
- if ( ! wp_verify_nonce( $_POST['EWD_UFAQ_Import_Nonce'], 'EWD_UFAQ_Import' ) ) { return; }
72
-
73
- $update = $this->handle_spreadsheet_upload();
74
-
75
- $fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
76
-
77
- if ( $update['message_type'] != 'Success' ) :
78
- $this->status = false;
79
- $this->message = $update['message'];
80
-
81
- add_action( 'admin_notices', array( $this, 'display_notice' ) );
82
-
83
- return;
84
- endif;
85
-
86
- $excel_url = EWD_UFAQ_PLUGIN_DIR . '/faq-sheets/' . $update['filename'];
87
-
88
- // Build the workbook object out of the uploaded spreadsheet
89
- $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load( $excel_url );
90
-
91
- // Create a worksheet object out of the product sheet in the workbook
92
- $sheet = $spreadsheet->getActiveSheet();
93
-
94
- $allowable_custom_fields = array();
95
- foreach ( $fields as $field ) { $allowable_custom_fields[] = $field->name; }
96
- //List of fields that can be accepted via upload
97
- $allowed_fields = array( 'ID', 'Question', 'Answer', 'Categories', 'Tags', 'Post Date' );
98
-
99
- // Get column names
100
- $highest_column = $sheet->getHighestColumn();
101
- $highest_column_index = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString( $highest_column );
102
- for ( $column = 1; $column <= $highest_column_index; $column++ ) {
103
-
104
- if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'ID' ) { $ID_column = $column; }
105
- if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Question' ) { $question_column = $column; }
106
- if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Answer' ) { $answer_column = $column; }
107
- if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Categories' ) { $categories_column = $column; }
108
- if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Tags' ) { $tags_column = $column; }
109
- if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Post Date' ) { $date_column = $column; }
110
-
111
- foreach ( $fields as $field ) {
112
-
113
- if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == $field->name ) { $field->column = $column; }
114
- }
115
- }
116
-
117
- $ID_column = ! empty( $ID_column ) ? $ID_column : -1;
118
- $question_column = ! empty( $question_column ) ? $question_column : -1;
119
- $answer_column = ! empty( $answer_column ) ? $answer_column : -1;
120
- $categories_column = ! empty( $categories_column ) ? $categories_column : -1;
121
- $tags_column = ! empty( $tags_column ) ? $tags_column : -1;
122
- $date_column = ! empty( $date_column ) ? $date_column : -1;
123
-
124
- // Put the spreadsheet data into a multi-dimensional array to facilitate processing
125
- $highest_row = $sheet->getHighestRow();
126
- for ( $row = 2; $row <= $highest_row; $row++ ) {
127
- for ( $column = 1; $column <= $highest_column_index; $column++ ) {
128
- $data[$row][$column] = $sheet->getCellByColumnAndRow( $column, $row )->getValue();
129
- }
130
- }
131
-
132
- // Create the query to insert the products one at a time into the database and then run it
133
- foreach ( $data as $faq ) {
134
-
135
- // Create an array of the values that are being inserted for each FAQ
136
- $post = array();
137
- $field_values = array();
138
- foreach ( $faq as $col_index => $value ) {
139
-
140
- if ( $col_index == $ID_column ) { $post['ID'] = esc_sql( $value ); }
141
- elseif ( $col_index == $question_column ) { $post['post_title'] = esc_sql( $value ); }
142
- elseif ( $col_index == $answer_column ) { $post['post_content'] = esc_sql( $value ); }
143
- elseif ( $col_index == $date_column ) { $post['post_date'] = esc_sql( $value ); }
144
- elseif ( $col_index == $categories_column ) { $post_categories = explode( ',', esc_sql( $value ) ); }
145
- elseif ( $col_index == $tags_column ) { $post_tags = explode( ',', esc_sql( $value ) ); }
146
- else {
147
-
148
- foreach ( $fields as $field ) {
149
-
150
- if ( $col_index == $field->column ) { $field_values[ $field->name ] = esc_sql( $value ); }
151
- }
152
- }
153
- }
154
-
155
- if ( ! empty( $post['ID'] ) and get_post_type( $post['ID'] ) != 'ufaq' ) { continue; }
156
-
157
- $post['post_status'] = 'publish';
158
- $post['post_type'] = EWD_UFAQ_FAQ_POST_TYPE;
159
-
160
-
161
-
162
- $post_id = wp_insert_post( $post );
163
-
164
- // Required post_meta
165
- update_post_meta( $post_id, 'ufaq_order', 9999 );
166
-
167
- if ( $post_id != 0 ) {
168
-
169
- if ( ! empty( $post_categories ) ) {
170
-
171
- $category_ids = array();
172
- foreach ( $post_categories as $category ) {
173
-
174
- $term = term_exists( $category, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
175
- if ( ! empty( $term ) ) { $category_ids[] = (int) $term['term_id']; }
176
- }
177
- }
178
- if ( isset( $category_ids ) and is_array( $category_ids ) ) { wp_set_object_terms( $post_id, $category_ids, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ); }
179
-
180
- if ( ! empty( $post_tags ) ) {
181
-
182
- $tag_ids = array();
183
- foreach ( $post_tags as $tag ) {
184
-
185
- $term = term_exists( $tag, EWD_UFAQ_FAQ_TAG_TAXONOMY );
186
- if ( ! empty( $term ) ) { $tag_ids[] = (int) $term['term_id']; }
187
- }
188
- }
189
- if ( isset( $tag_ids ) and is_array( $tag_ids ) ) { wp_set_object_terms( $post_id, $tag_ids, EWD_UFAQ_FAQ_TAG_TAXONOMY ); }
190
-
191
- foreach ( $fields as $field ) {
192
-
193
- if ( empty( $field->column ) ) { continue; }
194
-
195
- if ( $field->type == 'checkbox' ) { update_post_meta( $post_id, "Custom_Field_" . $field->id, explode( ',', $field_values[ $field->name ] ) ); }
196
- else { update_post_meta( $post_id, "Custom_Field_" . $field->id, $field_values[ $field->name ]); }
197
- }
198
- }
199
-
200
- unset( $post_categories );
201
- unset( $category_ids );
202
- unset( $post_tags );
203
- unset( $tag_ids );
204
- }
205
-
206
- $this->status = true;
207
- $this->message = __( 'FAQs added successfully.', 'ultimate-faqs' );
208
-
209
- add_action( 'admin_notices', array( $this, 'display_notice' ) );
210
- }
211
-
212
- function handle_spreadsheet_upload() {
213
- /* Test if there is an error with the uploaded spreadsheet and return that error if there is */
214
- if ( ! empty( $_FILES['ewd_ufaq_faqs_spreadsheet']['error'] ) ) {
215
-
216
- switch( $_FILES['ewd_ufaq_faqs_spreadsheet']['error'] ) {
217
-
218
- case '1':
219
- $error = __( 'The uploaded file exceeds the upload_max_filesize directive in php.ini', 'ultimate-faqs' );
220
- break;
221
- case '2':
222
- $error = __( 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', 'ultimate-faqs' );
223
- break;
224
- case '3':
225
- $error = __( 'The uploaded file was only partially uploaded', 'ultimate-faqs' );
226
- break;
227
- case '4':
228
- $error = __( 'No file was uploaded.', 'ultimate-faqs' );
229
- break;
230
-
231
- case '6':
232
- $error = __( 'Missing a temporary folder', 'ultimate-faqs' );
233
- break;
234
- case '7':
235
- $error = __( 'Failed to write file to disk', 'ultimate-faqs' );
236
- break;
237
- case '8':
238
- $error = __( 'File upload stopped by extension', 'ultimate-faqs' );
239
- break;
240
- case '999':
241
- default:
242
- $error = __( 'No error code avaiable', 'ultimate-faqs' );
243
- }
244
- }
245
- /* Make sure that the file exists */
246
- elseif ( empty($_FILES['ewd_ufaq_faqs_spreadsheet']['tmp_name']) || $_FILES['ewd_ufaq_faqs_spreadsheet']['tmp_name'] == 'none' ) {
247
- $error = __( 'No file was uploaded here..', 'ultimate-faqs' );
248
- }
249
- /* Move the file and store the URL to pass it onwards*/
250
- /* Check that it is a .xls or .xlsx file */
251
- if ( ! isset($_FILES['ewd_ufaq_faqs_spreadsheet']['name'] ) or ( ! preg_match("/\.(xls.?)$/", $_FILES['ewd_ufaq_faqs_spreadsheet']['name'] ) and ! preg_match( "/\.(csv.?)$/", $_FILES['ewd_ufaq_faqs_spreadsheet']['name'] ) ) ) {
252
- $error = __( 'File must be .csv, .xls or .xlsx', 'ultimate-faqs' );
253
- }
254
- else {
255
- $filename = basename( $_FILES['ewd_ufaq_faqs_spreadsheet']['name'] );
256
- $filename = mb_ereg_replace( "([^\w\s\d\-_~,;\[\]\(\).])", '', $filename );
257
- $filename = mb_ereg_replace ("([\.]{2,})", '', $filename );
258
-
259
- //for security reason, we force to remove all uploaded file
260
- $target_path = EWD_UFAQ_PLUGIN_DIR . "/faq-sheets/";
261
-
262
- $target_path = $target_path . $filename;
263
-
264
- if ( ! move_uploaded_file($_FILES['ewd_ufaq_faqs_spreadsheet']['tmp_name'], $target_path ) ) {
265
- $error .= "There was an error uploading the file, please try again!";
266
- }
267
- else {
268
- $excel_file_name = $filename;
269
- }
270
- }
271
-
272
- /* Pass the data to the appropriate function in Update_Admin_Databases.php to create the products */
273
- if ( ! isset( $error ) ) {
274
- $update = array( "message_type" => "Success", "filename" => $excel_file_name );
275
- }
276
- else {
277
- $update = array( "message_type" => "Error", "message" => $error );
278
- }
279
-
280
- return $update;
281
- }
282
-
283
- public function enqueue_import_scripts() {
284
-
285
- $screen = get_current_screen();
286
-
287
- if ( $screen->id == 'ufaq_page_ewd-ufaq-import' ) {
288
-
289
- wp_enqueue_style( 'ewd-ufaq-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-admin.css', array(), '2.0.0' );
290
-
291
- wp_register_script( 'ewd-ufaq-admin-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-admin.js', array( 'jquery', 'jquery-ui-sortable' ), EWD_UFAQ_VERSION, true );
292
-
293
- $args = array();
294
-
295
- wp_localize_script( 'ewd-ufaq-admin-js', 'ewd_ufaq_php_data', $args );
296
-
297
- wp_enqueue_script( 'ewd-ufaq-admin-js' );
298
- }
299
- }
300
-
301
- public function display_notice() {
302
-
303
- if ( $this->status ) {
304
-
305
- echo "<div class='updated'><p>" . $this->message . "</p></div>";
306
- }
307
- else {
308
-
309
- echo "<div class='error'><p>" . $this->message . "</p></div>";
310
- }
311
- }
312
-
313
- }
314
-
315
-
1
+ <?php
2
+
3
+ /**
4
+ * Class to handle importing FAQs into the plugin
5
+ */
6
+
7
+ if ( !defined( 'ABSPATH' ) )
8
+ exit;
9
+
10
+ if (!class_exists('ComposerAutoloaderInit4618f5c41cf5e27cc7908556f031e4d4')) {require_once EWD_UFAQ_PLUGIN_DIR . '/lib/PHPSpreadsheet/vendor/autoload.php';}
11
+ use PhpOffice\PhpSpreadsheet\Spreadsheet;
12
+ class ewdufaqImport {
13
+
14
+ public $status;
15
+ public $message;
16
+
17
+ public function __construct() {
18
+ add_action( 'admin_menu', array($this, 'register_install_screen' ));
19
+
20
+ if ( isset( $_POST['ewdufaqImport'] ) ) { add_action( 'admin_init', array($this, 'import_faqs' )); }
21
+
22
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_import_scripts' ) );
23
+ }
24
+
25
+ public function register_install_screen() {
26
+ global $ewd_ufaq_controller;
27
+
28
+ add_submenu_page(
29
+ 'edit.php?post_type=ufaq',
30
+ 'Import Menu',
31
+ 'Import',
32
+ $ewd_ufaq_controller->settings->get_setting( 'access-role' ),
33
+ 'ewd-ufaq-import',
34
+ array($this, 'display_import_screen')
35
+ );
36
+ }
37
+
38
+ public function display_import_screen() {
39
+ global $ewd_ufaq_controller;
40
+
41
+ $import_permission = $ewd_ufaq_controller->permissions->check_permission( 'import' );
42
+ ?>
43
+ <div class='wrap'>
44
+ <h2>Import</h2>
45
+ <?php if ( $import_permission ) { ?>
46
+ <form method='post' enctype="multipart/form-data">
47
+
48
+ <?php wp_nonce_field( 'EWD_UFAQ_Import', 'EWD_UFAQ_Import_Nonce' ); ?>
49
+
50
+ <p>
51
+ <label for="ewd_ufaq_faqs_spreadsheet"><?php _e( 'Spreadsheet Containing FAQs', 'ultimate-faqs' ) ?></label><br />
52
+ <input name="ewd_ufaq_faqs_spreadsheet" type="file" value=""/>
53
+ </p>
54
+ <input type='submit' name='ewdufaqImport' value='Import FAQs' class='button button-primary' />
55
+ </form>
56
+ <?php } else { ?>
57
+ <div class='ewd-ufaq-premium-locked'>
58
+ <a href="https://www.etoilewebdesign.com/license-payment/?Selected=UFAQ&Quantity=1" target="_blank">Upgrade</a> to the premium version to use this feature
59
+ </div>
60
+ <?php } ?>
61
+ </div>
62
+ <?php }
63
+
64
+ public function import_faqs() {
65
+ global $ewd_ufaq_controller;
66
+
67
+ if ( ! current_user_can( 'edit_posts' ) ) { return; }
68
+
69
+ if ( ! isset( $_POST['EWD_UFAQ_Import_Nonce'] ) ) { return; }
70
+
71
+ if ( ! wp_verify_nonce( $_POST['EWD_UFAQ_Import_Nonce'], 'EWD_UFAQ_Import' ) ) { return; }
72
+
73
+ $update = $this->handle_spreadsheet_upload();
74
+
75
+ $fields = ewd_ufaq_decode_infinite_table_setting( $ewd_ufaq_controller->settings->get_setting( 'faq-fields' ) );
76
+
77
+ if ( $update['message_type'] != 'Success' ) :
78
+ $this->status = false;
79
+ $this->message = $update['message'];
80
+
81
+ add_action( 'admin_notices', array( $this, 'display_notice' ) );
82
+
83
+ return;
84
+ endif;
85
+
86
+ $excel_url = EWD_UFAQ_PLUGIN_DIR . '/faq-sheets/' . $update['filename'];
87
+
88
+ // Build the workbook object out of the uploaded spreadsheet
89
+ $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load( $excel_url );
90
+
91
+ // Create a worksheet object out of the product sheet in the workbook
92
+ $sheet = $spreadsheet->getActiveSheet();
93
+
94
+ $allowable_custom_fields = array();
95
+ foreach ( $fields as $field ) { $allowable_custom_fields[] = $field->name; }
96
+ //List of fields that can be accepted via upload
97
+ $allowed_fields = array( 'ID', 'Question', 'Answer', 'Categories', 'Tags', 'Post Date' );
98
+
99
+ // Get column names
100
+ $highest_column = $sheet->getHighestColumn();
101
+ $highest_column_index = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString( $highest_column );
102
+ for ( $column = 1; $column <= $highest_column_index; $column++ ) {
103
+
104
+ if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'ID' ) { $ID_column = $column; }
105
+ if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Question' ) { $question_column = $column; }
106
+ if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Answer' ) { $answer_column = $column; }
107
+ if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Categories' ) { $categories_column = $column; }
108
+ if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Tags' ) { $tags_column = $column; }
109
+ if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == 'Post Date' ) { $date_column = $column; }
110
+
111
+ foreach ( $fields as $field ) {
112
+
113
+ if ( trim( $sheet->getCellByColumnAndRow( $column, 1 )->getValue() ) == $field->name ) { $field->column = $column; }
114
+ }
115
+ }
116
+
117
+ $ID_column = ! empty( $ID_column ) ? $ID_column : -1;
118
+ $question_column = ! empty( $question_column ) ? $question_column : -1;
119
+ $answer_column = ! empty( $answer_column ) ? $answer_column : -1;
120
+ $categories_column = ! empty( $categories_column ) ? $categories_column : -1;
121
+ $tags_column = ! empty( $tags_column ) ? $tags_column : -1;
122
+ $date_column = ! empty( $date_column ) ? $date_column : -1;
123
+
124
+ // Put the spreadsheet data into a multi-dimensional array to facilitate processing
125
+ $highest_row = $sheet->getHighestRow();
126
+ for ( $row = 2; $row <= $highest_row; $row++ ) {
127
+ for ( $column = 1; $column <= $highest_column_index; $column++ ) {
128
+ $data[$row][$column] = $sheet->getCellByColumnAndRow( $column, $row )->getValue();
129
+ }
130
+ }
131
+
132
+ // Create the query to insert the products one at a time into the database and then run it
133
+ foreach ( $data as $faq ) {
134
+
135
+ // Create an array of the values that are being inserted for each FAQ
136
+ $post = array();
137
+ $field_values = array();
138
+ foreach ( $faq as $col_index => $value ) {
139
+
140
+ if ( $col_index == $ID_column ) { $post['ID'] = esc_sql( $value ); }
141
+ elseif ( $col_index == $question_column ) { $post['post_title'] = esc_sql( $value ); }
142
+ elseif ( $col_index == $answer_column ) { $post['post_content'] = esc_sql( $value ); }
143
+ elseif ( $col_index == $date_column ) { $post['post_date'] = esc_sql( $value ); }
144
+ elseif ( $col_index == $categories_column ) { $post_categories = explode( ',', esc_sql( $value ) ); }
145
+ elseif ( $col_index == $tags_column ) { $post_tags = explode( ',', esc_sql( $value ) ); }
146
+ else {
147
+
148
+ foreach ( $fields as $field ) {
149
+
150
+ if ( $col_index == $field->column ) { $field_values[ $field->name ] = esc_sql( $value ); }
151
+ }
152
+ }
153
+ }
154
+
155
+ if ( ! empty( $post['ID'] ) and get_post_type( $post['ID'] ) != 'ufaq' ) { continue; }
156
+
157
+ $post['post_status'] = 'publish';
158
+ $post['post_type'] = EWD_UFAQ_FAQ_POST_TYPE;
159
+
160
+
161
+
162
+ $post_id = wp_insert_post( $post );
163
+
164
+ // Required post_meta
165
+ update_post_meta( $post_id, 'ufaq_order', 9999 );
166
+
167
+ if ( $post_id != 0 ) {
168
+
169
+ if ( ! empty( $post_categories ) ) {
170
+
171
+ $category_ids = array();
172
+ foreach ( $post_categories as $category ) {
173
+
174
+ $term = term_exists( $category, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
175
+ if ( ! empty( $term ) ) { $category_ids[] = (int) $term['term_id']; }
176
+ }
177
+ }
178
+ if ( isset( $category_ids ) and is_array( $category_ids ) ) { wp_set_object_terms( $post_id, $category_ids, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ); }
179
+
180
+ if ( ! empty( $post_tags ) ) {
181
+
182
+ $tag_ids = array();
183
+ foreach ( $post_tags as $tag ) {
184
+
185
+ $term = term_exists( $tag, EWD_UFAQ_FAQ_TAG_TAXONOMY );
186
+ if ( ! empty( $term ) ) { $tag_ids[] = (int) $term['term_id']; }
187
+ }
188
+ }
189
+ if ( isset( $tag_ids ) and is_array( $tag_ids ) ) { wp_set_object_terms( $post_id, $tag_ids, EWD_UFAQ_FAQ_TAG_TAXONOMY ); }
190
+
191
+ foreach ( $fields as $field ) {
192
+
193
+ if ( empty( $field->column ) ) { continue; }
194
+
195
+ if ( $field->type == 'checkbox' ) { update_post_meta( $post_id, "Custom_Field_" . $field->id, explode( ',', $field_values[ $field->name ] ) ); }
196
+ else { update_post_meta( $post_id, "Custom_Field_" . $field->id, $field_values[ $field->name ]); }
197
+ }
198
+ }
199
+
200
+ unset( $post_categories );
201
+ unset( $category_ids );
202
+ unset( $post_tags );
203
+ unset( $tag_ids );
204
+ }
205
+
206
+ $this->status = true;
207
+ $this->message = __( 'FAQs added successfully.', 'ultimate-faqs' );
208
+
209
+ add_action( 'admin_notices', array( $this, 'display_notice' ) );
210
+ }
211
+
212
+ function handle_spreadsheet_upload() {
213
+ /* Test if there is an error with the uploaded spreadsheet and return that error if there is */
214
+ if ( ! empty( $_FILES['ewd_ufaq_faqs_spreadsheet']['error'] ) ) {
215
+
216
+ switch( $_FILES['ewd_ufaq_faqs_spreadsheet']['error'] ) {
217
+
218
+ case '1':
219
+ $error = __( 'The uploaded file exceeds the upload_max_filesize directive in php.ini', 'ultimate-faqs' );
220
+ break;
221
+ case '2':
222
+ $error = __( 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', 'ultimate-faqs' );
223
+ break;
224
+ case '3':
225
+ $error = __( 'The uploaded file was only partially uploaded', 'ultimate-faqs' );
226
+ break;
227
+ case '4':
228
+ $error = __( 'No file was uploaded.', 'ultimate-faqs' );
229
+ break;
230
+
231
+ case '6':
232
+ $error = __( 'Missing a temporary folder', 'ultimate-faqs' );
233
+ break;
234
+ case '7':
235
+ $error = __( 'Failed to write file to disk', 'ultimate-faqs' );
236
+ break;
237
+ case '8':
238
+ $error = __( 'File upload stopped by extension', 'ultimate-faqs' );
239
+ break;
240
+ case '999':
241
+ default:
242
+ $error = __( 'No error code avaiable', 'ultimate-faqs' );
243
+ }
244
+ }
245
+ /* Make sure that the file exists */
246
+ elseif ( empty($_FILES['ewd_ufaq_faqs_spreadsheet']['tmp_name']) || $_FILES['ewd_ufaq_faqs_spreadsheet']['tmp_name'] == 'none' ) {
247
+ $error = __( 'No file was uploaded here..', 'ultimate-faqs' );
248
+ }
249
+ /* Move the file and store the URL to pass it onwards*/
250
+ /* Check that it is a .xls or .xlsx file */
251
+ if ( ! isset($_FILES['ewd_ufaq_faqs_spreadsheet']['name'] ) or ( ! preg_match("/\.(xls.?)$/", $_FILES['ewd_ufaq_faqs_spreadsheet']['name'] ) and ! preg_match( "/\.(csv.?)$/", $_FILES['ewd_ufaq_faqs_spreadsheet']['name'] ) ) ) {
252
+ $error = __( 'File must be .csv, .xls or .xlsx', 'ultimate-faqs' );
253
+ }
254
+ else {
255
+ $filename = basename( $_FILES['ewd_ufaq_faqs_spreadsheet']['name'] );
256
+ $filename = mb_ereg_replace( "([^\w\s\d\-_~,;\[\]\(\).])", '', $filename );
257
+ $filename = mb_ereg_replace ("([\.]{2,})", '', $filename );
258
+
259
+ //for security reason, we force to remove all uploaded file
260
+ $target_path = EWD_UFAQ_PLUGIN_DIR . "/faq-sheets/";
261
+
262
+ $target_path = $target_path . $filename;
263
+
264
+ if ( ! move_uploaded_file($_FILES['ewd_ufaq_faqs_spreadsheet']['tmp_name'], $target_path ) ) {
265
+ $error .= "There was an error uploading the file, please try again!";
266
+ }
267
+ else {
268
+ $excel_file_name = $filename;
269
+ }
270
+ }
271
+
272
+ /* Pass the data to the appropriate function in Update_Admin_Databases.php to create the products */
273
+ if ( ! isset( $error ) ) {
274
+ $update = array( "message_type" => "Success", "filename" => $excel_file_name );
275
+ }
276
+ else {
277
+ $update = array( "message_type" => "Error", "message" => $error );
278
+ }
279
+
280
+ return $update;
281
+ }
282
+
283
+ public function enqueue_import_scripts() {
284
+
285
+ $screen = get_current_screen();
286
+
287
+ if ( $screen->id == 'ufaq_page_ewd-ufaq-import' ) {
288
+
289
+ wp_enqueue_style( 'ewd-ufaq-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-admin.css', array(), '2.0.0' );
290
+
291
+ wp_register_script( 'ewd-ufaq-admin-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-admin.js', array( 'jquery', 'jquery-ui-sortable' ), EWD_UFAQ_VERSION, true );
292
+
293
+ $args = array();
294
+
295
+ wp_localize_script( 'ewd-ufaq-admin-js', 'ewd_ufaq_php_data', $args );
296
+
297
+ wp_enqueue_script( 'ewd-ufaq-admin-js' );
298
+ }
299
+ }
300
+
301
+ public function display_notice() {
302
+
303
+ if ( $this->status ) {
304
+
305
+ echo "<div class='updated'><p>" . $this->message . "</p></div>";
306
+ }
307
+ else {
308
+
309
+ echo "<div class='error'><p>" . $this->message . "</p></div>";
310
+ }
311
+ }
312
+
313
+ }
314
+
315
+
includes/InstallationWalkthrough.class.php CHANGED
@@ -1,384 +1,384 @@
1
- <?php
2
-
3
- /**
4
- * Class to handle everything related to the walk-through that runs on plugin activation
5
- */
6
-
7
- if ( ! defined( 'ABSPATH' ) )
8
- exit;
9
-
10
- class ewdufaqInstallationWalkthrough {
11
-
12
- public function __construct() {
13
- add_action( 'admin_menu', array( $this, 'register_install_screen' ) );
14
- add_action( 'admin_head', array( $this, 'hide_install_screen_menu_item' ) );
15
- add_action( 'admin_init', array( $this, 'redirect' ), 9999 );
16
-
17
- add_action( 'admin_head', array( $this, 'admin_enqueue' ) );
18
-
19
- add_action( 'wp_ajax_ewd_ufaq_welcome_add_category', array( $this, 'create_category' ) );
20
- add_action( 'wp_ajax_ewd_ufaq_welcome_add_faq', array( $this, 'create_faq' ) );
21
- add_action( 'wp_ajax_ewd_ufaq_welcome_add_faq_page', array( $this, 'add_faqs_page' ) );
22
- add_action( 'wp_ajax_ewd_ufaq_welcome_set_options', array( $this, 'set_options' ) );
23
- }
24
-
25
- /**
26
- * On activation, redirect the user if they haven't used the plugin before
27
- * @since 2.0.0
28
- */
29
- public function redirect() {
30
- if ( ! get_transient( 'ewd-ufaq-getting-started' ) )
31
- return;
32
-
33
- delete_transient( 'ewd-ufaq-getting-started' );
34
-
35
- if ( is_network_admin() || isset( $_GET['activate-multi'] ) )
36
- return;
37
-
38
- if ( ! empty( get_posts( array( 'post_type' => EWD_UFAQ_FAQ_POST_TYPE ) ) ) ) {
39
- return;
40
- }
41
-
42
- wp_safe_redirect( admin_url( 'index.php?page=ewd-ufaq-getting-started' ) );
43
- exit;
44
- }
45
-
46
- /**
47
- * Create the installation admin page
48
- * @since 2.0.0
49
- */
50
- public function register_install_screen() {
51
-
52
- add_dashboard_page(
53
- esc_html__( 'Ultimate FAQs - Welcome!', 'ultimate-faqs' ),
54
- esc_html__( 'Ultimate FAQs - Welcome!', 'ultimate-faqs' ),
55
- 'manage_options',
56
- 'ewd-ufaq-getting-started',
57
- array($this, 'display_install_screen')
58
- );
59
- }
60
-
61
- /**
62
- * Hide the installation admin page from the WordPress sidebar menu
63
- * @since 2.0.0
64
- */
65
- public function hide_install_screen_menu_item() {
66
-
67
- remove_submenu_page( 'index.php', 'ewd-ufaq-getting-started' );
68
- }
69
-
70
- /**
71
- * Create an FAQ category
72
- * @since 2.0.0
73
- */
74
- public function create_category() {
75
-
76
- $category_name = isset( $_POST['category_name'] ) ? sanitize_text_field( $_POST['category_name'] ) : '';
77
- $category_description = isset( $_POST['category_description'] ) ? sanitize_textarea_field( $_POST['category_description'] ) : '';
78
-
79
- $category_term_id = wp_insert_term( $category_name, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY, array('description' => $category_description) );
80
-
81
- echo json_encode ( array( 'category_name' => $category_name, 'category_id' => $category_term_id['term_id'] ) );
82
-
83
- exit();
84
- }
85
-
86
- public function create_faq() {
87
-
88
- $args = array(
89
- 'post_title' => isset( $_POST['faq_question'] ) ? sanitize_text_field( $_POST['faq_question'] ) : '',
90
- 'post_content' => isset( $_POST['faq_answer'] ) ? sanitize_text_field( $_POST['faq_answer'] ) : '',
91
- 'post_status' => 'publish',
92
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE
93
- );
94
-
95
- $faq_post_id = wp_insert_post( $args );
96
-
97
- if ( isset( $_POST['faq_category'] ) and $_POST['faq_category'] ) {
98
-
99
- wp_set_post_terms( $faq_post_id, sanitize_text_field( $_POST['faq_category'] ), EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
100
- }
101
-
102
- exit();
103
- }
104
-
105
- /**
106
- * Add in a page with the ultimate-faqs shortcode
107
- * @since 2.0.0
108
- */
109
- public function add_faqs_page() {
110
-
111
- $args = array(
112
- 'post_title' => isset($_POST['faq_page_title'] ) ? sanitize_text_field( $_POST['faq_page_title'] ) : '',
113
- 'post_content' => '<!-- wp:paragraph --><p> [ultimate-faqs] </p><!-- /wp:paragraph -->',
114
- 'post_status' => 'publish',
115
- 'post_type' => 'page'
116
- );
117
-
118
- wp_insert_post( $args );
119
-
120
- exit();
121
- }
122
-
123
- /**
124
- * Set a number of key options selected during the walk-through process
125
- * @since 2.0.0
126
- */
127
- public function set_options() {
128
-
129
- $ewd_ufaq_options = get_option( 'ewd-ufaq-settings' );
130
-
131
- if ( isset( $_POST['faq_accordion'] ) ) { $ewd_ufaq_options['faq-accordion'] = intval( $_POST['faq_accordion'] ); }
132
- if ( isset( $_POST['disable_faq_toggle'] ) ) { $ewd_ufaq_options['disable-faq-toggle'] = intval( $_POST['disable_faq_toggle'] ); }
133
- if ( isset( $_POST['group_by_category'] ) ) { $ewd_ufaq_options['group-by-category'] = intval( $_POST['group_by_category'] ); }
134
- if ( isset( $_POST['order_by_setting'] ) ) { $ewd_ufaq_options['faq-order-by'] = sanitize_text_field( $_POST['order_by_setting'] ); }
135
-
136
- update_option( 'ewd-ufaq-settings', $ewd_ufaq_options );
137
-
138
- exit();
139
- }
140
-
141
- /**
142
- * Enqueue the admin assets necessary to run the walk-through and display it nicely
143
- * @since 2.0.0
144
- */
145
- public function admin_enqueue() {
146
-
147
- if ( ! isset( $_GET['page'] ) or $_GET['page'] != 'ewd-ufaq-getting-started' ) { return; }
148
-
149
- wp_enqueue_style( 'ewd-ufaq-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/admin.css', array(), EWD_UFAQ_VERSION );
150
- wp_enqueue_style( 'ewd-ufaq-sap-admin-css', EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/css/admin.css', array(), EWD_UFAQ_VERSION );
151
- wp_enqueue_style( 'ewd-ufaq-welcome-screen', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-welcome-screen.css', array(), EWD_UFAQ_VERSION );
152
- wp_enqueue_style( 'ewd-ufaq-admin-settings-css', EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/css/admin-settings.css', array(), EWD_UFAQ_VERSION );
153
-
154
- wp_enqueue_script( 'ewd-ufaq-getting-started', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-welcome-screen.js', array( 'jquery' ), EWD_UFAQ_VERSION );
155
- wp_enqueue_script( 'ewd-ufaq-admin-settings-js', EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/js/admin-settings.js', array( 'jquery' ), EWD_UFAQ_VERSION );
156
- wp_enqueue_script( 'ewd-ufaq-admin-spectrum-js', EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/js/spectrum.js', array( 'jquery' ), EWD_UFAQ_VERSION );
157
- }
158
-
159
- /**
160
- * Output the HTML of the walk-through screen
161
- * @since 2.0.0
162
- */
163
- public function display_install_screen() {
164
- global $ewd_ufaq_controller;
165
-
166
- $faq_accordion = $ewd_ufaq_controller->settings->get_setting( 'faq-accordion' );
167
- $disable_faq_toggle = $ewd_ufaq_controller->settings->get_setting( 'disable-faq-toggle' );
168
- $group_by_category = $ewd_ufaq_controller->settings->get_setting( 'group-by-category' );
169
- $faq_order_by = $ewd_ufaq_controller->settings->get_setting( 'faq-order-by' );
170
-
171
- ?>
172
-
173
- <div class='ewd-ufaq-welcome-screen'>
174
-
175
- <div class='ewd-ufaq-welcome-screen-header'>
176
- <h1><?php _e('Welcome to Ultimate FAQs', 'ultimate-faqs'); ?></h1>
177
- <p><?php _e('Thanks for choosing Ultimate FAQs! The following will help you get started with the setup by creating your first FAQ and category, as well as adding your FAQs to a page and configuring a few key options.', 'ultimate-faqs'); ?></p>
178
- </div>
179
-
180
- <div class='ewd-ufaq-welcome-screen-box ewd-ufaq-welcome-screen-categories ewd-ufaq-welcome-screen-open' data-screen='categories'>
181
- <h2><?php _e('1. Create Categories', 'ultimate-faqs'); ?></h2>
182
- <div class='ewd-ufaq-welcome-screen-box-content'>
183
- <p><?php _e('Categories let you organize your FAQs in a way that\'s easy for you - and your customers - to find.', 'ultimate-faqs'); ?></p>
184
- <table class='form-table ewd-ufaq-welcome-screen-created-categories'>
185
- <tr class='ewd-ufaq-welcome-screen-add-category-name ewd-ufaq-welcome-screen-box-content-divs'>
186
- <th scope='row'><?php _e( 'Category Name', 'ultimate-faqs' ); ?></th>
187
- <td class='ewd-ufaq-welcome-screen-option'>
188
- <input type='text'>
189
- </td>
190
- </tr>
191
- <tr class='ewd-ufaq-welcome-screen-add-category-description ewd-ufaq-welcome-screen-box-content-divs'>
192
- <th scope='row'><?php _e( 'Category Description', 'ultimate-faqs' ); ?></th>
193
- <td class='ewd-ufaq-welcome-screen-option'>
194
- <textarea></textarea>
195
- </td>
196
- </tr>
197
- <tr>
198
- <th scope='row'></th>
199
- <td>
200
- <div class='ewd-ufaq-welcome-screen-add-category-button'><?php _e('Add Category', 'ultimate-faqs'); ?></div>
201
- </td>
202
- </tr>
203
- <tr></tr>
204
- <tr>
205
- <td colspan="2">
206
- <h3><?php _e('Created Categories', 'ultimate-faqs'); ?></h3>
207
- <table class='ewd-ufaq-welcome-screen-show-created-categories'>
208
- <tr>
209
- <th class='ewd-ufaq-welcome-screen-show-created-categories-name'><?php _e('Name', 'ultimate-faqs'); ?></th>
210
- <th class='ewd-ufaq-welcome-screen-show-created-categories-description'><?php _e('Description', 'ultimate-faqs'); ?></th>
211
- </tr>
212
- </table>
213
- </td>
214
- </tr>
215
- </table>
216
-
217
- <div class='ewd-ufaq-welcome-screen-next-button' data-nextaction='questions'><?php _e('Next', 'ultimate-faqs'); ?></div>
218
- <div class='clear'></div>
219
- </div>
220
- </div>
221
-
222
- <div class='ewd-ufaq-welcome-screen-box ewd-ufaq-welcome-screen-questions' data-screen='questions'>
223
- <h2><?php _e('2. Questions & Answers', 'ultimate-faqs'); ?></h2>
224
- <div class='ewd-ufaq-welcome-screen-box-content'>
225
- <p><?php _e('Create your first set of questions and answers. Don\'t worry, you can always add more later.', 'ultimate-faqs'); ?></p>
226
- <table class='form-table ewd-ufaq-welcome-screen-created-categories'>
227
- <tr class='ewd-ufaq-welcome-screen-add-faq-question ewd-ufaq-welcome-screen-box-content-divs'>
228
- <th scope='row'><?php _e( 'Questions', 'ultimate-faqs' ); ?></th>
229
- <td class='ewd-ufaq-welcome-screen-option'>
230
- <input type='text'>
231
- </td>
232
- </tr>
233
- <tr class='ewd-ufaq-welcome-screen-add-faq-answer ewd-ufaq-welcome-screen-box-content-divs'>
234
- <th scope='row'><?php _e( 'Answer', 'ultimate-faqs' ); ?></th>
235
- <td class='ewd-ufaq-welcome-screen-option'>
236
- <textarea></textarea>
237
- </td>
238
- </tr>
239
- <tr class='ewd-ufaq-welcome-screen-add-faq-category ewd-ufaq-welcome-screen-box-content-divs'>
240
- <th scope='row'><?php _e( 'FAQ Category', 'ultimate-faqs' ); ?></th>
241
- <td class='ewd-ufaq-welcome-screen-option'>
242
- <select>
243
- <option></option>
244
- </select>
245
- </td>
246
- </tr>
247
- <tr>
248
- <th scope='row'></th>
249
- <td>
250
- <div class='ewd-ufaq-welcome-screen-add-faq-button'><?php _e('Add FAQ', 'ultimate-faqs'); ?></div>
251
- </td>
252
- </tr>
253
- <tr></tr>
254
- <tr>
255
- <td colspan="2">
256
- <h3><?php _e('Created FAQs', 'ultimate-faqs'); ?></h3>
257
- <table class='ewd-ufaq-welcome-screen-show-created-faqs'>
258
- <tr>
259
- <th class='ewd-ufaq-welcome-screen-show-created-faq-question'><?php _e('Question', 'ultimate-faqs'); ?></th>
260
- <th class='ewd-ufaq-welcome-screen-show-created-faq-answer'><?php _e('Answer', 'ultimate-faqs'); ?></th>
261
- <th class='ewd-ufaq-welcome-screen-show-created-faq-category'><?php _e('Category', 'ultimate-faqs'); ?></th>
262
- </tr>
263
- </table>
264
- </td>
265
- </tr>
266
- </table>
267
-
268
- <div class='ewd-ufaq-welcome-clear'></div>
269
- <div class='ewd-ufaq-welcome-screen-next-button' data-nextaction='faq-page'><?php _e('Next', 'ultimate-faqs'); ?></div>
270
- <div class='ewd-ufaq-welcome-screen-previous-button' data-previousaction='questions'><?php _e('Previous', 'ultimate-faqs'); ?></div>
271
- <div class='ewd-ufaq-clear'></div>
272
- </div>
273
- </div>
274
-
275
- <div class='ewd-ufaq-welcome-screen-box ewd-ufaq-welcome-screen-faq-page' data-screen='faq-page'>
276
- <h2><?php _e('3. Add an FAQ Page', 'ultimate-faqs'); ?></h2>
277
- <div class='ewd-ufaq-welcome-screen-box-content'>
278
- <p><?php _e('You can create a dedicated FAQ page below, or skip this step and add your FAQs to a page you\'ve already created manually.', 'ultimate-faqs'); ?></p>
279
- <table class='form-table ewd-ufaq-welcome-screen-faq-page'>
280
- <tr class='ewd-ufaq-welcome-screen-add-faq-page-name ewd-ufaq-welcome-screen-box-content-divs'>
281
- <th scope='row'><?php _e( 'Page Title', 'ultimate-faqs' ); ?></th>
282
- <td class='ewd-ufaq-welcome-screen-option'>
283
- <input type='text' value='FAQs'>
284
- </td>
285
- </tr>
286
- <tr>
287
- <th scope='row'></th>
288
- <td>
289
- <div class='ewd-ufaq-welcome-screen-add-faq-page-button' data-nextaction='options'><?php _e( 'Create Page', 'ultimate-faqs' ); ?></div>
290
- </td>
291
- </tr>
292
- </table>
293
-
294
- <div class='ewd-ufaq-welcome-clear'></div>
295
- <div class='ewd-ufaq-welcome-screen-next-button' data-nextaction='options'><?php _e('Next', 'ultimate-faqs'); ?></div>
296
- <div class='ewd-ufaq-welcome-screen-previous-button' data-previousaction='questions'><?php _e('Previous', 'ultimate-faqs'); ?></div>
297
- <div class='ewd-ufaq-clear'></div>
298
- </div>
299
- </div>
300
-
301
- <div class='ewd-ufaq-welcome-screen-box ewd-ufaq-welcome-screen-options' data-screen='options'>
302
- <h2><?php _e('4. Set Key Options', 'ultimate-faqs'); ?></h2>
303
- <div class='ewd-ufaq-welcome-screen-box-content'>
304
- <p><?php _e('Options can always be changed later, but here are a few tha a lot of users want to set for themselves.', 'ultimate-faqs'); ?></p>
305
- <table class='form-table'>
306
- <tr>
307
- <th scope='row'><?php _e('FAQ Accordion', 'ultimate-faqs'); ?></th>
308
- <td class='ewd-ufaq-welcome-screen-option'>
309
- <fieldset>
310
- <div class='sap-admin-hide-radios'>
311
- <input type='checkbox' name='faq_accordion' value='1'>
312
- </div>
313
- <label class='sap-admin-switch'>
314
- <input type='checkbox' class='sap-admin-option-toggle' data-inputname='faq_accordion' <?php if ( $faq_accordion == '1' ) { echo 'checked'; } ?>>
315
- <span class='sap-admin-switch-slider round'></span>
316
- </label>
317
- <p class='description'><?php _e('Should the FAQs accordion? (Only one FAQ is open at a time, requires FAQ Toggle)', 'ultimate-faqs'); ?></p>
318
- </fieldset>
319
- </td>
320
- </tr>
321
- <tr>
322
- <th scope='row'><?php _e('FAQ Toggle', 'ultimate-faqs'); ?></th>
323
- <td class='ewd-ufaq-welcome-screen-option'>
324
- <fieldset>
325
- <div class='sap-admin-hide-radios'>
326
- <input type='checkbox' name='disable_faq_toggle' value='1'>
327
- </div>
328
- <label class='sap-admin-switch'>
329
- <input type='checkbox' class='sap-admin-option-toggle' data-inputname='disable_faq_toggle' <?php if ( $disable_faq_toggle == '1' ) { echo 'checked'; } ?>>
330
- <span class='sap-admin-switch-slider round'></span>
331
- </label>
332
- <p class='description'><?php _e('Should the FAQs open on a separate page when clicked, instead of opening and closing?', 'ultimate-faqs'); ?></p>
333
- </fieldset>
334
- </td>
335
- </tr>
336
- <tr>
337
- <th scope='row'><?php _e('Group FAQs by Category', 'ultimate-faqs'); ?></th>
338
- <td class='ewd-ufaq-welcome-screen-option'>
339
- <fieldset>
340
- <div class='sap-admin-hide-radios'>
341
- <input type='checkbox' name='group_by_category' value='1'>
342
- </div>
343
- <label class='sap-admin-switch'>
344
- <input type='checkbox' class='sap-admin-option-toggle' data-inputname='group_by_category' <?php if ( $group_by_category == '1' ) { echo 'checked'; } ?>>
345
- <span class='sap-admin-switch-slider round'></span>
346
- </label>
347
- <p class='description'><?php _e('Should FAQs be grouped by category, or should all categories be mixed together?', 'ultimate-faqs'); ?></p>
348
- </fieldset>
349
- </td>
350
- </tr>
351
- <tr>
352
- <th scope='row'><?php _e('FAQ Ordering', 'ultimate-faqs'); ?></th>
353
- <td class='ewd-ufaq-welcome-screen-option'>
354
- <fieldset>
355
- <select name='order_by_setting'>
356
- <option value='date' <?php if ( $faq_order_by == 'date' ) { echo 'selected';} ?> ><?php _e( 'Created Date', 'ultimate-faqs' ); ?></option>
357
- <option value='title' <?php if ( $faq_order_by == 'title' ) { echo 'selected';} ?> ><?php _e( 'Title', 'ultimate-faqs' ); ?></option>
358
- <option value='modified' <?php if ( $faq_order_by == 'modified' ) { echo 'selected';} ?> ><?php _e( 'Modified Date', 'ultimate-faqs' ); ?></option>
359
- </select>
360
- <p class='description'><?php _e('How should individual FAQs be ordered?', 'ultimate-faqs'); ?></p>
361
- </fieldset>
362
- </td>
363
- </tr>
364
- </table>
365
-
366
- <div class='ewd-ufaq-welcome-screen-save-options-button'><?php _e('Save Options', 'ultimate-faqs'); ?></div>
367
- <div class='ewd-ufaq-welcome-clear'></div>
368
- <div class='ewd-ufaq-welcome-screen-previous-button' data-previousaction='faq-page'><?php _e('Previous', 'ultimate-faqs'); ?></div>
369
- <div class='ewd-ufaq-welcome-screen-finish-button'><a href='admin.php?page=ewd-ufaq-settings'><?php _e('Finish', 'ultimate-faqs'); ?></a></div>
370
-
371
- <div class='ewd-ufaq-clear'></div>
372
- </div>
373
- </div>
374
-
375
- <div class='ewd-ufaq-welcome-screen-skip-container'>
376
- <a href='admin.php?page=ewd-ufaq-settings'><div class='ewd-ufaq-welcome-screen-skip-button'><?php _e('Skip Setup', 'ultimate-faqs'); ?></div></a>
377
- </div>
378
- </div>
379
-
380
- <?php }
381
- }
382
-
383
-
384
  ?>
1
+ <?php
2
+
3
+ /**
4
+ * Class to handle everything related to the walk-through that runs on plugin activation
5
+ */
6
+
7
+ if ( ! defined( 'ABSPATH' ) )
8
+ exit;
9
+
10
+ class ewdufaqInstallationWalkthrough {
11
+
12
+ public function __construct() {
13
+ add_action( 'admin_menu', array( $this, 'register_install_screen' ) );
14
+ add_action( 'admin_head', array( $this, 'hide_install_screen_menu_item' ) );
15
+ add_action( 'admin_init', array( $this, 'redirect' ), 9999 );
16
+
17
+ add_action( 'admin_head', array( $this, 'admin_enqueue' ) );
18
+
19
+ add_action( 'wp_ajax_ewd_ufaq_welcome_add_category', array( $this, 'create_category' ) );
20
+ add_action( 'wp_ajax_ewd_ufaq_welcome_add_faq', array( $this, 'create_faq' ) );
21
+ add_action( 'wp_ajax_ewd_ufaq_welcome_add_faq_page', array( $this, 'add_faqs_page' ) );
22
+ add_action( 'wp_ajax_ewd_ufaq_welcome_set_options', array( $this, 'set_options' ) );
23
+ }
24
+
25
+ /**
26
+ * On activation, redirect the user if they haven't used the plugin before
27
+ * @since 2.0.0
28
+ */
29
+ public function redirect() {
30
+ if ( ! get_transient( 'ewd-ufaq-getting-started' ) )
31
+ return;
32
+
33
+ delete_transient( 'ewd-ufaq-getting-started' );
34
+
35
+ if ( is_network_admin() || isset( $_GET['activate-multi'] ) )
36
+ return;
37
+
38
+ if ( ! empty( get_posts( array( 'post_type' => EWD_UFAQ_FAQ_POST_TYPE ) ) ) ) {
39
+ return;
40
+ }
41
+
42
+ wp_safe_redirect( admin_url( 'index.php?page=ewd-ufaq-getting-started' ) );
43
+ exit;
44
+ }
45
+
46
+ /**
47
+ * Create the installation admin page
48
+ * @since 2.0.0
49
+ */
50
+ public function register_install_screen() {
51
+
52
+ add_dashboard_page(
53
+ esc_html__( 'Ultimate FAQs - Welcome!', 'ultimate-faqs' ),
54
+ esc_html__( 'Ultimate FAQs - Welcome!', 'ultimate-faqs' ),
55
+ 'manage_options',
56
+ 'ewd-ufaq-getting-started',
57
+ array($this, 'display_install_screen')
58
+ );
59
+ }
60
+
61
+ /**
62
+ * Hide the installation admin page from the WordPress sidebar menu
63
+ * @since 2.0.0
64
+ */
65
+ public function hide_install_screen_menu_item() {
66
+
67
+ remove_submenu_page( 'index.php', 'ewd-ufaq-getting-started' );
68
+ }
69
+
70
+ /**
71
+ * Create an FAQ category
72
+ * @since 2.0.0
73
+ */
74
+ public function create_category() {
75
+
76
+ $category_name = isset( $_POST['category_name'] ) ? sanitize_text_field( $_POST['category_name'] ) : '';
77
+ $category_description = isset( $_POST['category_description'] ) ? sanitize_textarea_field( $_POST['category_description'] ) : '';
78
+
79
+ $category_term_id = wp_insert_term( $category_name, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY, array('description' => $category_description) );
80
+
81
+ echo json_encode ( array( 'category_name' => $category_name, 'category_id' => $category_term_id['term_id'] ) );
82
+
83
+ exit();
84
+ }
85
+
86
+ public function create_faq() {
87
+
88
+ $args = array(
89
+ 'post_title' => isset( $_POST['faq_question'] ) ? sanitize_text_field( $_POST['faq_question'] ) : '',
90
+ 'post_content' => isset( $_POST['faq_answer'] ) ? sanitize_text_field( $_POST['faq_answer'] ) : '',
91
+ 'post_status' => 'publish',
92
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE
93
+ );
94
+
95
+ $faq_post_id = wp_insert_post( $args );
96
+
97
+ if ( isset( $_POST['faq_category'] ) and $_POST['faq_category'] ) {
98
+
99
+ wp_set_post_terms( $faq_post_id, sanitize_text_field( $_POST['faq_category'] ), EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
100
+ }
101
+
102
+ exit();
103
+ }
104
+
105
+ /**
106
+ * Add in a page with the ultimate-faqs shortcode
107
+ * @since 2.0.0
108
+ */
109
+ public function add_faqs_page() {
110
+
111
+ $args = array(
112
+ 'post_title' => isset($_POST['faq_page_title'] ) ? sanitize_text_field( $_POST['faq_page_title'] ) : '',
113
+ 'post_content' => '<!-- wp:paragraph --><p> [ultimate-faqs] </p><!-- /wp:paragraph -->',
114
+ 'post_status' => 'publish',
115
+ 'post_type' => 'page'
116
+ );
117
+
118
+ wp_insert_post( $args );
119
+
120
+ exit();
121
+ }
122
+
123
+ /**
124
+ * Set a number of key options selected during the walk-through process
125
+ * @since 2.0.0
126
+ */
127
+ public function set_options() {
128
+
129
+ $ewd_ufaq_options = get_option( 'ewd-ufaq-settings' );
130
+
131
+ if ( isset( $_POST['faq_accordion'] ) ) { $ewd_ufaq_options['faq-accordion'] = intval( $_POST['faq_accordion'] ); }
132
+ if ( isset( $_POST['disable_faq_toggle'] ) ) { $ewd_ufaq_options['disable-faq-toggle'] = intval( $_POST['disable_faq_toggle'] ); }
133
+ if ( isset( $_POST['group_by_category'] ) ) { $ewd_ufaq_options['group-by-category'] = intval( $_POST['group_by_category'] ); }
134
+ if ( isset( $_POST['order_by_setting'] ) ) { $ewd_ufaq_options['faq-order-by'] = sanitize_text_field( $_POST['order_by_setting'] ); }
135
+
136
+ update_option( 'ewd-ufaq-settings', $ewd_ufaq_options );
137
+
138
+ exit();
139
+ }
140
+
141
+ /**
142
+ * Enqueue the admin assets necessary to run the walk-through and display it nicely
143
+ * @since 2.0.0
144
+ */
145
+ public function admin_enqueue() {
146
+
147
+ if ( ! isset( $_GET['page'] ) or $_GET['page'] != 'ewd-ufaq-getting-started' ) { return; }
148
+
149
+ wp_enqueue_style( 'ewd-ufaq-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/admin.css', array(), EWD_UFAQ_VERSION );
150
+ wp_enqueue_style( 'ewd-ufaq-sap-admin-css', EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/css/admin.css', array(), EWD_UFAQ_VERSION );
151
+ wp_enqueue_style( 'ewd-ufaq-welcome-screen', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-welcome-screen.css', array(), EWD_UFAQ_VERSION );
152
+ wp_enqueue_style( 'ewd-ufaq-admin-settings-css', EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/css/admin-settings.css', array(), EWD_UFAQ_VERSION );
153
+
154
+ wp_enqueue_script( 'ewd-ufaq-getting-started', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-welcome-screen.js', array( 'jquery' ), EWD_UFAQ_VERSION );
155
+ wp_enqueue_script( 'ewd-ufaq-admin-settings-js', EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/js/admin-settings.js', array( 'jquery' ), EWD_UFAQ_VERSION );
156
+ wp_enqueue_script( 'ewd-ufaq-admin-spectrum-js', EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/js/spectrum.js', array( 'jquery' ), EWD_UFAQ_VERSION );
157
+ }
158
+
159
+ /**
160
+ * Output the HTML of the walk-through screen
161
+ * @since 2.0.0
162
+ */
163
+ public function display_install_screen() {
164
+ global $ewd_ufaq_controller;
165
+
166
+ $faq_accordion = $ewd_ufaq_controller->settings->get_setting( 'faq-accordion' );
167
+ $disable_faq_toggle = $ewd_ufaq_controller->settings->get_setting( 'disable-faq-toggle' );
168
+ $group_by_category = $ewd_ufaq_controller->settings->get_setting( 'group-by-category' );
169
+ $faq_order_by = $ewd_ufaq_controller->settings->get_setting( 'faq-order-by' );
170
+
171
+ ?>
172
+
173
+ <div class='ewd-ufaq-welcome-screen'>
174
+
175
+ <div class='ewd-ufaq-welcome-screen-header'>
176
+ <h1><?php _e('Welcome to Ultimate FAQs', 'ultimate-faqs'); ?></h1>
177
+ <p><?php _e('Thanks for choosing Ultimate FAQs! The following will help you get started with the setup by creating your first FAQ and category, as well as adding your FAQs to a page and configuring a few key options.', 'ultimate-faqs'); ?></p>
178
+ </div>
179
+
180
+ <div class='ewd-ufaq-welcome-screen-box ewd-ufaq-welcome-screen-categories ewd-ufaq-welcome-screen-open' data-screen='categories'>
181
+ <h2><?php _e('1. Create Categories', 'ultimate-faqs'); ?></h2>
182
+ <div class='ewd-ufaq-welcome-screen-box-content'>
183
+ <p><?php _e('Categories let you organize your FAQs in a way that\'s easy for you - and your customers - to find.', 'ultimate-faqs'); ?></p>
184
+ <table class='form-table ewd-ufaq-welcome-screen-created-categories'>
185
+ <tr class='ewd-ufaq-welcome-screen-add-category-name ewd-ufaq-welcome-screen-box-content-divs'>
186
+ <th scope='row'><?php _e( 'Category Name', 'ultimate-faqs' ); ?></th>
187
+ <td class='ewd-ufaq-welcome-screen-option'>
188
+ <input type='text'>
189
+ </td>
190
+ </tr>
191
+ <tr class='ewd-ufaq-welcome-screen-add-category-description ewd-ufaq-welcome-screen-box-content-divs'>
192
+ <th scope='row'><?php _e( 'Category Description', 'ultimate-faqs' ); ?></th>
193
+ <td class='ewd-ufaq-welcome-screen-option'>
194
+ <textarea></textarea>
195
+ </td>
196
+ </tr>
197
+ <tr>
198
+ <th scope='row'></th>
199
+ <td>
200
+ <div class='ewd-ufaq-welcome-screen-add-category-button'><?php _e('Add Category', 'ultimate-faqs'); ?></div>
201
+ </td>
202
+ </tr>
203
+ <tr></tr>
204
+ <tr>
205
+ <td colspan="2">
206
+ <h3><?php _e('Created Categories', 'ultimate-faqs'); ?></h3>
207
+ <table class='ewd-ufaq-welcome-screen-show-created-categories'>
208
+ <tr>
209
+ <th class='ewd-ufaq-welcome-screen-show-created-categories-name'><?php _e('Name', 'ultimate-faqs'); ?></th>
210
+ <th class='ewd-ufaq-welcome-screen-show-created-categories-description'><?php _e('Description', 'ultimate-faqs'); ?></th>
211
+ </tr>
212
+ </table>
213
+ </td>
214
+ </tr>
215
+ </table>
216
+
217
+ <div class='ewd-ufaq-welcome-screen-next-button' data-nextaction='questions'><?php _e('Next', 'ultimate-faqs'); ?></div>
218
+ <div class='clear'></div>
219
+ </div>
220
+ </div>
221
+
222
+ <div class='ewd-ufaq-welcome-screen-box ewd-ufaq-welcome-screen-questions' data-screen='questions'>
223
+ <h2><?php _e('2. Questions & Answers', 'ultimate-faqs'); ?></h2>
224
+ <div class='ewd-ufaq-welcome-screen-box-content'>
225
+ <p><?php _e('Create your first set of questions and answers. Don\'t worry, you can always add more later.', 'ultimate-faqs'); ?></p>
226
+ <table class='form-table ewd-ufaq-welcome-screen-created-categories'>
227
+ <tr class='ewd-ufaq-welcome-screen-add-faq-question ewd-ufaq-welcome-screen-box-content-divs'>
228
+ <th scope='row'><?php _e( 'Questions', 'ultimate-faqs' ); ?></th>
229
+ <td class='ewd-ufaq-welcome-screen-option'>
230
+ <input type='text'>
231
+ </td>
232
+ </tr>
233
+ <tr class='ewd-ufaq-welcome-screen-add-faq-answer ewd-ufaq-welcome-screen-box-content-divs'>
234
+ <th scope='row'><?php _e( 'Answer', 'ultimate-faqs' ); ?></th>
235
+ <td class='ewd-ufaq-welcome-screen-option'>
236
+ <textarea></textarea>
237
+ </td>
238
+ </tr>
239
+ <tr class='ewd-ufaq-welcome-screen-add-faq-category ewd-ufaq-welcome-screen-box-content-divs'>
240
+ <th scope='row'><?php _e( 'FAQ Category', 'ultimate-faqs' ); ?></th>
241
+ <td class='ewd-ufaq-welcome-screen-option'>
242
+ <select>
243
+ <option></option>
244
+ </select>
245
+ </td>
246
+ </tr>
247
+ <tr>
248
+ <th scope='row'></th>
249
+ <td>
250
+ <div class='ewd-ufaq-welcome-screen-add-faq-button'><?php _e('Add FAQ', 'ultimate-faqs'); ?></div>
251
+ </td>
252
+ </tr>
253
+ <tr></tr>
254
+ <tr>
255
+ <td colspan="2">
256
+ <h3><?php _e('Created FAQs', 'ultimate-faqs'); ?></h3>
257
+ <table class='ewd-ufaq-welcome-screen-show-created-faqs'>
258
+ <tr>
259
+ <th class='ewd-ufaq-welcome-screen-show-created-faq-question'><?php _e('Question', 'ultimate-faqs'); ?></th>
260
+ <th class='ewd-ufaq-welcome-screen-show-created-faq-answer'><?php _e('Answer', 'ultimate-faqs'); ?></th>
261
+ <th class='ewd-ufaq-welcome-screen-show-created-faq-category'><?php _e('Category', 'ultimate-faqs'); ?></th>
262
+ </tr>
263
+ </table>
264
+ </td>
265
+ </tr>
266
+ </table>
267
+
268
+ <div class='ewd-ufaq-welcome-clear'></div>
269
+ <div class='ewd-ufaq-welcome-screen-next-button' data-nextaction='faq-page'><?php _e('Next', 'ultimate-faqs'); ?></div>
270
+ <div class='ewd-ufaq-welcome-screen-previous-button' data-previousaction='questions'><?php _e('Previous', 'ultimate-faqs'); ?></div>
271
+ <div class='ewd-ufaq-clear'></div>
272
+ </div>
273
+ </div>
274
+
275
+ <div class='ewd-ufaq-welcome-screen-box ewd-ufaq-welcome-screen-faq-page' data-screen='faq-page'>
276
+ <h2><?php _e('3. Add an FAQ Page', 'ultimate-faqs'); ?></h2>
277
+ <div class='ewd-ufaq-welcome-screen-box-content'>
278
+ <p><?php _e('You can create a dedicated FAQ page below, or skip this step and add your FAQs to a page you\'ve already created manually.', 'ultimate-faqs'); ?></p>
279
+ <table class='form-table ewd-ufaq-welcome-screen-faq-page'>
280
+ <tr class='ewd-ufaq-welcome-screen-add-faq-page-name ewd-ufaq-welcome-screen-box-content-divs'>
281
+ <th scope='row'><?php _e( 'Page Title', 'ultimate-faqs' ); ?></th>
282
+ <td class='ewd-ufaq-welcome-screen-option'>
283
+ <input type='text' value='FAQs'>
284
+ </td>
285
+ </tr>
286
+ <tr>
287
+ <th scope='row'></th>
288
+ <td>
289
+ <div class='ewd-ufaq-welcome-screen-add-faq-page-button' data-nextaction='options'><?php _e( 'Create Page', 'ultimate-faqs' ); ?></div>
290
+ </td>
291
+ </tr>
292
+ </table>
293
+
294
+ <div class='ewd-ufaq-welcome-clear'></div>
295
+ <div class='ewd-ufaq-welcome-screen-next-button' data-nextaction='options'><?php _e('Next', 'ultimate-faqs'); ?></div>
296
+ <div class='ewd-ufaq-welcome-screen-previous-button' data-previousaction='questions'><?php _e('Previous', 'ultimate-faqs'); ?></div>
297
+ <div class='ewd-ufaq-clear'></div>
298
+ </div>
299
+ </div>
300
+
301
+ <div class='ewd-ufaq-welcome-screen-box ewd-ufaq-welcome-screen-options' data-screen='options'>
302
+ <h2><?php _e('4. Set Key Options', 'ultimate-faqs'); ?></h2>
303
+ <div class='ewd-ufaq-welcome-screen-box-content'>
304
+ <p><?php _e('Options can always be changed later, but here are a few tha a lot of users want to set for themselves.', 'ultimate-faqs'); ?></p>
305
+ <table class='form-table'>
306
+ <tr>
307
+ <th scope='row'><?php _e('FAQ Accordion', 'ultimate-faqs'); ?></th>
308
+ <td class='ewd-ufaq-welcome-screen-option'>
309
+ <fieldset>
310
+ <div class='sap-admin-hide-radios'>
311
+ <input type='checkbox' name='faq_accordion' value='1'>
312
+ </div>
313
+ <label class='sap-admin-switch'>
314
+ <input type='checkbox' class='sap-admin-option-toggle' data-inputname='faq_accordion' <?php if ( $faq_accordion == '1' ) { echo 'checked'; } ?>>
315
+ <span class='sap-admin-switch-slider round'></span>
316
+ </label>
317
+ <p class='description'><?php _e('Should the FAQs accordion? (Only one FAQ is open at a time, requires FAQ Toggle)', 'ultimate-faqs'); ?></p>
318
+ </fieldset>
319
+ </td>
320
+ </tr>
321
+ <tr>
322
+ <th scope='row'><?php _e('FAQ Toggle', 'ultimate-faqs'); ?></th>
323
+ <td class='ewd-ufaq-welcome-screen-option'>
324
+ <fieldset>
325
+ <div class='sap-admin-hide-radios'>
326
+ <input type='checkbox' name='disable_faq_toggle' value='1'>
327
+ </div>
328
+ <label class='sap-admin-switch'>
329
+ <input type='checkbox' class='sap-admin-option-toggle' data-inputname='disable_faq_toggle' <?php if ( $disable_faq_toggle == '1' ) { echo 'checked'; } ?>>
330
+ <span class='sap-admin-switch-slider round'></span>
331
+ </label>
332
+ <p class='description'><?php _e('Should the FAQs open on a separate page when clicked, instead of opening and closing?', 'ultimate-faqs'); ?></p>
333
+ </fieldset>
334
+ </td>
335
+ </tr>
336
+ <tr>
337
+ <th scope='row'><?php _e('Group FAQs by Category', 'ultimate-faqs'); ?></th>
338
+ <td class='ewd-ufaq-welcome-screen-option'>
339
+ <fieldset>
340
+ <div class='sap-admin-hide-radios'>
341
+ <input type='checkbox' name='group_by_category' value='1'>
342
+ </div>
343
+ <label class='sap-admin-switch'>
344
+ <input type='checkbox' class='sap-admin-option-toggle' data-inputname='group_by_category' <?php if ( $group_by_category == '1' ) { echo 'checked'; } ?>>
345
+ <span class='sap-admin-switch-slider round'></span>
346
+ </label>
347
+ <p class='description'><?php _e('Should FAQs be grouped by category, or should all categories be mixed together?', 'ultimate-faqs'); ?></p>
348
+ </fieldset>
349
+ </td>
350
+ </tr>
351
+ <tr>
352
+ <th scope='row'><?php _e('FAQ Ordering', 'ultimate-faqs'); ?></th>
353
+ <td class='ewd-ufaq-welcome-screen-option'>
354
+ <fieldset>
355
+ <select name='order_by_setting'>
356
+ <option value='date' <?php if ( $faq_order_by == 'date' ) { echo 'selected';} ?> ><?php _e( 'Created Date', 'ultimate-faqs' ); ?></option>
357
+ <option value='title' <?php if ( $faq_order_by == 'title' ) { echo 'selected';} ?> ><?php _e( 'Title', 'ultimate-faqs' ); ?></option>
358
+ <option value='modified' <?php if ( $faq_order_by == 'modified' ) { echo 'selected';} ?> ><?php _e( 'Modified Date', 'ultimate-faqs' ); ?></option>
359
+ </select>
360
+ <p class='description'><?php _e('How should individual FAQs be ordered?', 'ultimate-faqs'); ?></p>
361
+ </fieldset>
362
+ </td>
363
+ </tr>
364
+ </table>
365
+
366
+ <div class='ewd-ufaq-welcome-screen-save-options-button'><?php _e('Save Options', 'ultimate-faqs'); ?></div>
367
+ <div class='ewd-ufaq-welcome-clear'></div>
368
+ <div class='ewd-ufaq-welcome-screen-previous-button' data-previousaction='faq-page'><?php _e('Previous', 'ultimate-faqs'); ?></div>
369
+ <div class='ewd-ufaq-welcome-screen-finish-button'><a href='admin.php?page=ewd-ufaq-settings'><?php _e('Finish', 'ultimate-faqs'); ?></a></div>
370
+
371
+ <div class='ewd-ufaq-clear'></div>
372
+ </div>
373
+ </div>
374
+
375
+ <div class='ewd-ufaq-welcome-screen-skip-container'>
376
+ <a href='admin.php?page=ewd-ufaq-settings'><div class='ewd-ufaq-welcome-screen-skip-button'><?php _e('Skip Setup', 'ultimate-faqs'); ?></div></a>
377
+ </div>
378
+ </div>
379
+
380
+ <?php }
381
+ }
382
+
383
+
384
  ?>
includes/Notifications.class.php CHANGED
@@ -1,72 +1,72 @@
1
- <?php
2
-
3
- /**
4
- * Class to handle sending notifications when an FAQ is submitted
5
- */
6
-
7
- if ( !defined( 'ABSPATH' ) )
8
- exit;
9
-
10
- if ( !class_exists( 'ewdufaqNotifications' ) ) {
11
- class ewdufaqNotifications {
12
-
13
- public function __construct() {
14
-
15
- add_action( 'ewd_ufaq_insert_faq', array( $this, 'admin_notification_email' ) );
16
- add_action( 'ewd_ufaq_insert_faq', array( $this, 'user_submission_email' ) );
17
- }
18
-
19
- /**
20
- * Send an email to the site admin when an FAQ is submitted, if selected
21
- *
22
- * @since 2.0.0
23
- */
24
- public function admin_notification_email( $faq ) {
25
- global $ewd_ufaq_controller;
26
-
27
- if ( ! $ewd_ufaq_controller->settings->get_setting( 'admin-question-notification' ) ) { return; }
28
-
29
- $admin_email = $ewd_ufaq_controller->settings->get_setting( 'admin-notification-email' ) ? $ewd_ufaq_controller->settings->get_setting( 'admin-notification-email' ) : get_option( 'admin_email' );
30
-
31
- $faq_link = site_url() . '/wp-admin/post.php?post=' . $faq->ID . '&action=edit';
32
-
33
- $subject_line = __( 'New Question Received', 'ultimate-faqs' );
34
-
35
- $message_body = __( 'Hello Admin,', 'ultimate-faqs' ) . '<br/><br/>';
36
- $message_body .= __( 'You\'ve received a new question titled ', 'ultimate-faqs' ) . $faq->question . '.<br/><br/>';
37
- $message_body .= __( 'The answer reads:<br>', 'ultimate-faqs' );
38
- $message_body .= esc_html( $faq->answer ) . '<br><br><br>';
39
- $message_body .= __( 'You can view the question in the admin area by going to the following link:<br>', 'ultimate-faqs' );
40
- $message_body .= '<a href=\'' . $faq_link . '\'>' . __( 'See the FAQ', 'ultimate-faqs' ) . '</a><br/><br/>';
41
- $message_body .= __( 'Have a great day,', 'ultimate-faqs' ) . '<br/><br/>';
42
- $message_body .= __( 'Ultimate FAQs Team', 'ultimate-faqs' );
43
-
44
- $headers = array( 'Content-Type: text/html; charset=UTF-8' );
45
-
46
- return wp_mail( $admin_email, $subject_line, $message_body, $headers );
47
- }
48
-
49
- /**
50
- * Send an email to the FAQ author using UWPM when an FAQ is submitted, if selected
51
- *
52
- * @since 2.0.0
53
- */
54
- public function user_submission_email( $faq ) {
55
- global $ewd_ufaq_controller;
56
-
57
- if ( ! $ewd_ufaq_controller->settings->get_setting( 'submit-faq-email' ) ) { return; }
58
-
59
- $params = array(
60
- 'email_id' => $ewd_ufaq_controller->settings->get_setting( 'submit-faq-email' ),
61
- 'email_address' => $faq->faq_author_email,
62
- 'post_id' => $faq->ID
63
- );
64
-
65
- if ( function_exists( 'ewd_uwpm_send_email' ) ) {
66
-
67
- ewd_uwpm_send_email( $params );
68
- }
69
- }
70
- }
71
- } // endif;
72
-
1
+ <?php
2
+
3
+ /**
4
+ * Class to handle sending notifications when an FAQ is submitted
5
+ */
6
+
7
+ if ( !defined( 'ABSPATH' ) )
8
+ exit;
9
+
10
+ if ( !class_exists( 'ewdufaqNotifications' ) ) {
11
+ class ewdufaqNotifications {
12
+
13
+ public function __construct() {
14
+
15
+ add_action( 'ewd_ufaq_insert_faq', array( $this, 'admin_notification_email' ) );
16
+ add_action( 'ewd_ufaq_insert_faq', array( $this, 'user_submission_email' ) );
17
+ }
18
+
19
+ /**
20
+ * Send an email to the site admin when an FAQ is submitted, if selected
21
+ *
22
+ * @since 2.0.0
23
+ */
24
+ public function admin_notification_email( $faq ) {
25
+ global $ewd_ufaq_controller;
26
+
27
+ if ( ! $ewd_ufaq_controller->settings->get_setting( 'admin-question-notification' ) ) { return; }
28
+
29
+ $admin_email = $ewd_ufaq_controller->settings->get_setting( 'admin-notification-email' ) ? $ewd_ufaq_controller->settings->get_setting( 'admin-notification-email' ) : get_option( 'admin_email' );
30
+
31
+ $faq_link = site_url() . '/wp-admin/post.php?post=' . $faq->ID . '&action=edit';
32
+
33
+ $subject_line = __( 'New Question Received', 'ultimate-faqs' );
34
+
35
+ $message_body = __( 'Hello Admin,', 'ultimate-faqs' ) . '<br/><br/>';
36
+ $message_body .= __( 'You\'ve received a new question titled ', 'ultimate-faqs' ) . $faq->question . '.<br/><br/>';
37
+ $message_body .= __( 'The answer reads:<br>', 'ultimate-faqs' );
38
+ $message_body .= esc_html( $faq->answer ) . '<br><br><br>';
39
+ $message_body .= __( 'You can view the question in the admin area by going to the following link:<br>', 'ultimate-faqs' );
40
+ $message_body .= '<a href=\'' . $faq_link . '\'>' . __( 'See the FAQ', 'ultimate-faqs' ) . '</a><br/><br/>';
41
+ $message_body .= __( 'Have a great day,', 'ultimate-faqs' ) . '<br/><br/>';
42
+ $message_body .= __( 'Ultimate FAQs Team', 'ultimate-faqs' );
43
+
44
+ $headers = array( 'Content-Type: text/html; charset=UTF-8' );
45
+
46
+ return wp_mail( $admin_email, $subject_line, $message_body, $headers );
47
+ }
48
+
49
+ /**
50
+ * Send an email to the FAQ author using UWPM when an FAQ is submitted, if selected
51
+ *
52
+ * @since 2.0.0
53
+ */
54
+ public function user_submission_email( $faq ) {
55
+ global $ewd_ufaq_controller;
56
+
57
+ if ( ! $ewd_ufaq_controller->settings->get_setting( 'submit-faq-email' ) ) { return; }
58
+
59
+ $params = array(
60
+ 'email_id' => $ewd_ufaq_controller->settings->get_setting( 'submit-faq-email' ),
61
+ 'email_address' => $faq->faq_author_email,
62
+ 'post_id' => $faq->ID
63
+ );
64
+
65
+ if ( function_exists( 'ewd_uwpm_send_email' ) ) {
66
+
67
+ ewd_uwpm_send_email( $params );
68
+ }
69
+ }
70
+ }
71
+ } // endif;
72
+
includes/OrderingTable.class.php CHANGED
@@ -1,104 +1,104 @@
1
- <?php
2
- /**
3
- * Class to set the order of FAQs, if enabled
4
- */
5
-
6
- if ( !defined( 'ABSPATH' ) )
7
- exit;
8
-
9
- if ( !class_exists( 'ewdufaqOrderingTable' ) ) {
10
- class ewdufaqOrderingTable {
11
-
12
- public function __construct() {
13
-
14
- add_action( 'admin_menu', array( $this, 'register_menu_screen' ) );
15
- }
16
-
17
- /**
18
- * Adds filtering form, controls and column titles
19
- * @since 3.0.0
20
- */
21
- public function register_menu_screen() {
22
- global $ewd_ufaq_controller;
23
-
24
- if ( $ewd_ufaq_controller->settings->get_setting( 'faq-order-by' ) != 'set_order' ) { return; }
25
-
26
- add_submenu_page(
27
- 'edit.php?post_type=ufaq',
28
- esc_html__( 'Ordering Table', 'ultimate-faqs' ),
29
- esc_html__( 'Ordering Table', 'ultimate-faqs' ),
30
- $ewd_ufaq_controller->settings->get_setting( 'access-role' ),
31
- 'ewd-ufaq-ordering-table',
32
- array( $this, 'display_admin_screen' )
33
- );
34
- }
35
-
36
- /**
37
- * Diplays the admin screen where it's possible to set the order of FAQs
38
- * @since 3.0.0
39
- */
40
- public function display_admin_screen() {
41
-
42
- $args = array(
43
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
44
- 'posts_per_page' => -1,
45
- 'meta_query' => array(
46
- 'relation' => 'OR',
47
- array(
48
- 'key' => 'ufaq_order',
49
- 'compare' => 'EXISTS'
50
- ),
51
- array(
52
- 'key' => 'ufaq_order',
53
- 'compare' => 'NOT EXISTS'
54
- )
55
- ),
56
- 'orderby' => 'meta_value_num',
57
- 'order' => 'ASC'
58
- );
59
-
60
- $faqs = get_posts( $args );
61
-
62
- ?>
63
-
64
- <h2>FAQ Ordering Table</h2>
65
-
66
- <div id='ewd-ufaq-ordering-table-container'>
67
-
68
- <div id='ewd-ufaq-ordering-table-explanation'>
69
- <?php _e( 'Use the table below to set the order for your FAQs, either overall or within their categories depending on your selected settings.', 'ultimate-faqs' ); ?>
70
- </div>
71
-
72
- <table class='ewd-ufaq-ordering-table form-table wp-list-table widefat sorttable ewd-ufaq-list'>
73
- <thead>
74
- <tr>
75
- <th><?php _e( 'Question', 'ultimate-faqs' ); ?></th>
76
- <th><?php _e( 'Views', 'ultimate-faqs' ); ?></th>
77
- <th><?php _e( 'Categories', 'ultimate-faqs' ); ?></th>
78
- <th><?php _e( 'Tags', 'ultimate-faqs' ); ?></th>
79
- </tr>
80
- </thead>
81
- <tbody>
82
- <?php foreach ( $faqs as $faq ) { ?>
83
-
84
- <?php $faq_views = get_post_meta( $faq->ID, 'ufaq_view_count', true ); ?>
85
- <?php $faq_categories = get_the_term_list($faq->ID, 'ufaq-category', '', ', ', ''); ?>
86
- <?php $faq_tags = get_the_term_list($faq->ID, 'ufaq-tag', '', ', ', ''); ?>
87
-
88
- <tr id='ewd-ufaq-item-<?php echo $faq->ID; ?>' class='ewd-ufaq-item'>
89
- <td class='ewd-ufaq-title'><?php echo esc_html( $faq->post_title ); ?></td>
90
- <td class='ewd-ufaq-title'><?php echo esc_html( $faq_views ); ?></td>
91
- <td class='ewd-ufaq-title'><?php echo esc_html( strip_tags( $faq_categories ) ); ?></td>
92
- <td class='ewd-ufaq-title'><?php echo esc_html( strip_tags( $faq_tags ) ); ?></td>
93
- </tr>
94
-
95
- <?php } ?>
96
- </tbody>
97
- </table>
98
-
99
- </div>
100
-
101
- <?php }
102
-
103
- }
104
  } // endif;
1
+ <?php
2
+ /**
3
+ * Class to set the order of FAQs, if enabled
4
+ */
5
+
6
+ if ( !defined( 'ABSPATH' ) )
7
+ exit;
8
+
9
+ if ( !class_exists( 'ewdufaqOrderingTable' ) ) {
10
+ class ewdufaqOrderingTable {
11
+
12
+ public function __construct() {
13
+
14
+ add_action( 'admin_menu', array( $this, 'register_menu_screen' ) );
15
+ }
16
+
17
+ /**
18
+ * Adds filtering form, controls and column titles
19
+ * @since 3.0.0
20
+ */
21
+ public function register_menu_screen() {
22
+ global $ewd_ufaq_controller;
23
+
24
+ if ( $ewd_ufaq_controller->settings->get_setting( 'faq-order-by' ) != 'set_order' ) { return; }
25
+
26
+ add_submenu_page(
27
+ 'edit.php?post_type=ufaq',
28
+ esc_html__( 'Ordering Table', 'ultimate-faqs' ),
29
+ esc_html__( 'Ordering Table', 'ultimate-faqs' ),
30
+ $ewd_ufaq_controller->settings->get_setting( 'access-role' ),
31
+ 'ewd-ufaq-ordering-table',
32
+ array( $this, 'display_admin_screen' )
33
+ );
34
+ }
35
+
36
+ /**
37
+ * Diplays the admin screen where it's possible to set the order of FAQs
38
+ * @since 3.0.0
39
+ */
40
+ public function display_admin_screen() {
41
+
42
+ $args = array(
43
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
44
+ 'posts_per_page' => -1,
45
+ 'meta_query' => array(
46
+ 'relation' => 'OR',
47
+ array(
48
+ 'key' => 'ufaq_order',
49
+ 'compare' => 'EXISTS'
50
+ ),
51
+ array(
52
+ 'key' => 'ufaq_order',
53
+ 'compare' => 'NOT EXISTS'
54
+ )
55
+ ),
56
+ 'orderby' => 'meta_value_num',
57
+ 'order' => 'ASC'
58
+ );
59
+
60
+ $faqs = get_posts( $args );
61
+
62
+ ?>
63
+
64
+ <h2>FAQ Ordering Table</h2>
65
+
66
+ <div id='ewd-ufaq-ordering-table-container'>
67
+
68
+ <div id='ewd-ufaq-ordering-table-explanation'>
69
+ <?php _e( 'Use the table below to set the order for your FAQs, either overall or within their categories depending on your selected settings.', 'ultimate-faqs' ); ?>
70
+ </div>
71
+
72
+ <table class='ewd-ufaq-ordering-table form-table wp-list-table widefat sorttable ewd-ufaq-list'>
73
+ <thead>
74
+ <tr>
75
+ <th><?php _e( 'Question', 'ultimate-faqs' ); ?></th>
76
+ <th><?php _e( 'Views', 'ultimate-faqs' ); ?></th>
77
+ <th><?php _e( 'Categories', 'ultimate-faqs' ); ?></th>
78
+ <th><?php _e( 'Tags', 'ultimate-faqs' ); ?></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody>
82
+ <?php foreach ( $faqs as $faq ) { ?>
83
+
84
+ <?php $faq_views = get_post_meta( $faq->ID, 'ufaq_view_count', true ); ?>
85
+ <?php $faq_categories = get_the_term_list($faq->ID, 'ufaq-category', '', ', ', ''); ?>
86
+ <?php $faq_tags = get_the_term_list($faq->ID, 'ufaq-tag', '', ', ', ''); ?>
87
+
88
+ <tr id='ewd-ufaq-item-<?php echo $faq->ID; ?>' class='ewd-ufaq-item'>
89
+ <td class='ewd-ufaq-title'><?php echo esc_html( $faq->post_title ); ?></td>
90
+ <td class='ewd-ufaq-title'><?php echo esc_html( $faq_views ); ?></td>
91
+ <td class='ewd-ufaq-title'><?php echo esc_html( strip_tags( $faq_categories ) ); ?></td>
92
+ <td class='ewd-ufaq-title'><?php echo esc_html( strip_tags( $faq_tags ) ); ?></td>
93
+ </tr>
94
+
95
+ <?php } ?>
96
+ </tbody>
97
+ </table>
98
+
99
+ </div>
100
+
101
+ <?php }
102
+
103
+ }
104
  } // endif;
includes/Permissions.class.php CHANGED
@@ -1,61 +1,61 @@
1
- <?php
2
- if ( !defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( !class_exists( 'ewdufaqPermissions' ) ) {
5
- /**
6
- * Class to handle plugin permissions for Ultimate FAQs
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqPermissions {
11
-
12
- private $plugin_permissions;
13
- private $permission_level;
14
-
15
- public function __construct() {
16
-
17
- $this->plugin_permissions = array(
18
- 'styling' => 2,
19
- 'premium' => 2,
20
- 'fields' => 2,
21
- 'search' => 2,
22
- 'woocommerce' => 2,
23
- 'submit-faq' => 2,
24
- 'ordering' => 2,
25
- 'labelling' => 2,
26
- 'import' => 2,
27
- 'export' => 2
28
- );
29
- }
30
-
31
- public function set_permissions() {
32
- global $ewd_ufaq_controller;
33
-
34
- if ( get_option( 'ewd-ufaq-permission-level' ) >= 2 ) { return; }
35
-
36
- $this->permission_level = get_option( 'EWD_UFAQ_Full_Version' ) == 'Yes' ? 2 : 1;
37
-
38
- update_option( 'ewd-ufaq-permission-level', $this->permission_level );
39
- }
40
-
41
- public function get_permission_level() {
42
-
43
- $this->permission_level = get_option( 'ewd-ufaq-permission-level' );
44
-
45
- if ( ! $this->permission_level ) { $this->set_permissions(); }
46
- }
47
-
48
- public function check_permission( $permission_type = '' ) {
49
-
50
- if ( ! $this->permission_level ) { $this->get_permission_level(); }
51
-
52
- return ( array_key_exists( $permission_type, $this->plugin_permissions ) ? ( $this->permission_level >= $this->plugin_permissions[$permission_type] ? true : false ) : false );
53
- }
54
-
55
- public function update_permissions() {
56
-
57
- $this->permission_level = get_option( 'ewd-ufaq-permission-level' );
58
- }
59
- }
60
-
61
  }
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( !class_exists( 'ewdufaqPermissions' ) ) {
5
+ /**
6
+ * Class to handle plugin permissions for Ultimate FAQs
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqPermissions {
11
+
12
+ private $plugin_permissions;
13
+ private $permission_level;
14
+
15
+ public function __construct() {
16
+
17
+ $this->plugin_permissions = array(
18
+ 'styling' => 2,
19
+ 'premium' => 2,
20
+ 'fields' => 2,
21
+ 'search' => 2,
22
+ 'woocommerce' => 2,
23
+ 'submit-faq' => 2,
24
+ 'ordering' => 2,
25
+ 'labelling' => 2,
26
+ 'import' => 2,
27
+ 'export' => 2
28
+ );
29
+ }
30
+
31
+ public function set_permissions() {
32
+ global $ewd_ufaq_controller;
33
+
34
+ if ( get_option( 'ewd-ufaq-permission-level' ) >= 2 ) { return; }
35
+
36
+ $this->permission_level = get_option( 'EWD_UFAQ_Full_Version' ) == 'Yes' ? 2 : 1;
37
+
38
+ update_option( 'ewd-ufaq-permission-level', $this->permission_level );
39
+ }
40
+
41
+ public function get_permission_level() {
42
+
43
+ $this->permission_level = get_option( 'ewd-ufaq-permission-level' );
44
+
45
+ if ( ! $this->permission_level ) { $this->set_permissions(); }
46
+ }
47
+
48
+ public function check_permission( $permission_type = '' ) {
49
+
50
+ if ( ! $this->permission_level ) { $this->get_permission_level(); }
51
+
52
+ return ( array_key_exists( $permission_type, $this->plugin_permissions ) ? ( $this->permission_level >= $this->plugin_permissions[$permission_type] ? true : false ) : false );
53
+ }
54
+
55
+ public function update_permissions() {
56
+
57
+ $this->permission_level = get_option( 'ewd-ufaq-permission-level' );
58
+ }
59
+ }
60
+
61
  }
includes/Query.class.php CHANGED
@@ -1,312 +1,312 @@
1
- <?php
2
- if ( !defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( !class_exists( 'ewdufaqQuery' ) ) {
5
- /**
6
- * Class to handle common queries used to pull faqs from
7
- * the database.
8
- *
9
- * Bookings can be retrieved with specific date ranges, common
10
- * date params (today/upcoming), etc. This class is intended for
11
- * the base plugin as well as extensions or custom projects which
12
- * need a stable mechanism for reliably retrieving faqs data.
13
- *
14
- * Queries return an array of ewdufaqReview objects.
15
- *
16
- * @since 2.0.0
17
- */
18
- class ewdufaqQuery {
19
-
20
- /**
21
- * Bookings
22
- *
23
- * Array of faqs retrieved after get_faqs() is called
24
- *
25
- * @since 2.0.0
26
- */
27
- public $faqs = array();
28
-
29
- /**
30
- * Query args
31
- *
32
- * Passed to WP_Query
33
- * http://codex.wordpress.org/Class_Reference/WP_Query
34
- *
35
- * @since 2.0.0
36
- */
37
- public $args = array();
38
-
39
- /**
40
- * Query context
41
- *
42
- * Defines the context in which the query is run.
43
- * Useful for hooking into the right query without
44
- * tampering with others.
45
- *
46
- * @since 2.0.0
47
- */
48
- public $context;
49
-
50
- /**
51
- * Instantiate the query with an array of arguments
52
- *
53
- * This supports all WP_Query args as well as several
54
- * short-hand arguments for common needs. Short-hands
55
- * include:
56
- *
57
- * date_range string today|upcoming|dates
58
- * start_date string don't get faqs before this
59
- * end_date string don't get faqs after this
60
- *
61
- * @see ewdufaqQuery::prepare_args()
62
- * @param args array Options to tailor the query
63
- * @param context string Context for the query, used
64
- * in filters
65
- * @since 2.0.0
66
- */
67
- public function __construct( $args = array(), $context = '' ) {
68
-
69
- global $ewd_ufaq_controller;
70
-
71
- $defaults = array(
72
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
73
- 'posts_per_page' => -1,
74
- 'post_status' => 'publish',
75
- 'order' => 'DESC',
76
- 'paged' => 1,
77
- );
78
-
79
- $this->args = wp_parse_args( $args, $defaults );
80
-
81
- $this->context = $context;
82
-
83
- }
84
-
85
- /**
86
- * Parse the args array and convert custom arguments
87
- * for use by WP_Query
88
- *
89
- * @since 2.0.0
90
- */
91
- public function prepare_args() {
92
- global $ewd_ufaq_controller;
93
-
94
- $args = $this->args;
95
-
96
- $this->include_children = ( ! empty( $args['include_children'] ) and strtolower( $args['include_children'] ) != 'yes' ) ? false : true;
97
-
98
- if ( ! empty( $args['search_string'] ) ) { $args['s'] = $args['search_string']; }
99
-
100
- if ( ! empty( $args['post_count'] ) ) { $args['posts_per_page'] = $args['post_count']; }
101
-
102
- if ( ! empty( $args['faq_page'] ) ) { $args['paged'] = $args['faq_page']; }
103
-
104
- if ( ! empty( $args['post__in'] ) ) { $args['post__in'] = is_array( $args['post__in'] ) ? $args['post__in'] : json_decode( str_replace( array( '&lsqb;', '&rsqb;' ), array( '[', ']' ) ) ); }
105
-
106
- if ( ! empty( $args['post__in_string'] ) ) { $args['post__in'] = ! empty( $args['post__in'] ) ? array_merge( $args['post__in'], explode( ',', $args['post__in_string'] ) ) : explode( ',', $args['post__in_string'] ); }
107
-
108
- $tax_query = array();
109
-
110
- if ( ! empty( $args['include_category'] ) ) {
111
-
112
- $include_category_array = explode( ',', $args['include_category'] );
113
-
114
- $tax_query[] = array(
115
- 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
116
- 'field' => 'slug',
117
- 'terms' => $include_category_array,
118
- 'include_children' => $this->include_children
119
- );
120
- }
121
-
122
- if ( ! empty( $args['exclude_category'] ) ) {
123
-
124
- $exclude_category_array = explode( ',', $args['exclude_category'] );
125
-
126
- $tax_query[] = array(
127
- 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
128
- 'field' => 'slug',
129
- 'operator' => 'NOT IN',
130
- 'terms' => $exclude_category_array,
131
- 'include_children' => $this->include_children
132
- );
133
- }
134
-
135
- if ( ! empty( $args['include_category_ids'] ) ) {
136
-
137
- $include_category_ids_array = explode( ',', $args['include_category_ids'] );
138
-
139
- $tax_query[] = array(
140
- 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
141
- 'field' => 'term_id',
142
- 'terms' => $include_category_ids_array,
143
- 'include_children' => $this->include_children
144
- );
145
- }
146
-
147
- if ( ! empty( $args['exclude_category_ids'] ) ) {
148
-
149
- $exclude_category_ids_array = explode( ',', $args['exclude_category_ids'] );
150
-
151
- $tax_query[] = array(
152
- 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
153
- 'field' => 'term_id',
154
- 'operator' => 'NOT IN',
155
- 'terms' => $exclude_category_ids_array,
156
- 'include_children' => $this->include_children
157
- );
158
- }
159
-
160
- if ( ! empty( $args['include_tag'] ) ) {
161
-
162
- $include_tag_ids_array = explode( ',', $args['include_tag'] );
163
-
164
- $tax_query[] = array(
165
- 'taxonomy' => EWD_UFAQ_FAQ_TAG_TAXONOMY,
166
- 'field' => 'slug',
167
- 'terms' => $include_tag_ids_array
168
- );
169
- }
170
-
171
- if ( ! empty( $tax_query ) ) { $args['tax_query'] = $tax_query; }
172
-
173
- /*$meta_query = array();
174
-
175
- if ( ! empty( $args['product_name'] ) ) {
176
-
177
- $meta_query[] = array(
178
- 'key' => 'EWD_UFAQ_Product_Name',
179
- 'value' => $args['product_name'],
180
- 'compare' => '=',
181
- );
182
- }
183
-
184
- if ( ! empty( $meta_query ) ) { $args['meta_query'] = $meta_query; }*/
185
-
186
- $orderby = array();
187
-
188
- if ( empty( $args['product_name'] ) and $ewd_ufaq_controller->settings->get_setting( 'group-by-product' ) ) {
189
-
190
- $orderby['meta_value'] = $ewd_ufaq_controller->settings->get_setting( 'group-by-product-order' );
191
- }
192
-
193
- if ( ! empty( $args['orderby'] ) ) {
194
-
195
- if ( $args['orderby'] == 'rating' or $args['orderby'] == 'popular' ) { $orderby['meta_value_num'] = $args['order']; }
196
- elseif ( $args['orderby'] == 'date' ) { $orderby['date'] = $args['order']; }
197
- elseif ( $args['orderby'] == 'title' ) { $orderby['title'] = $args['order']; }
198
- elseif ( $args['orderby'] == 'set_order' ) { $orderby['meta_value_num'] = $args['order']; }
199
- }
200
-
201
- if ( $args['orderby'] == 'rating' ) { $args['meta_key'] = 'FAQ_Total_Score'; }
202
- elseif ( $args['orderby'] == 'popular' ) { $args['meta_key'] = 'ufaq_view_count'; }
203
- elseif ( $args['orderby'] == 'set_order' ) { $args['meta_key'] = 'ufaq_order'; }
204
-
205
- if ( ! empty( $orderby ) ) { $args['orderby'] = $orderby; }
206
-
207
- $this->args = $args;
208
-
209
- return $this->args;
210
- }
211
-
212
- /**
213
- * Parse $_REQUEST args and store in $this->args
214
- *
215
- * @since 2.0.0
216
- */
217
- public function parse_request_args() {
218
-
219
- $args = array();
220
-
221
- if ( isset( $_REQUEST['faq_page'] ) ) {
222
-
223
- $args['faq_page'] = intval( $_REQUEST['faq_page'] );
224
- }
225
-
226
- if ( isset( $_REQUEST['search_string'] ) ) {
227
-
228
- $args['search_string'] = sanitize_text_field( stripslashes( $_REQUEST['search_string'] ) );
229
- }
230
-
231
- if ( isset( $_REQUEST['post_count'] ) ) {
232
-
233
- $args['post_count'] = sanitize_text_field( $_REQUEST['post_count'] );
234
- }
235
-
236
- if ( isset( $_REQUEST['orderby'] ) ) {
237
-
238
- $args['orderby'] = sanitize_text_field( $_REQUEST['orderby'] );
239
- }
240
-
241
- if ( isset( $_REQUEST['order'] ) ) {
242
-
243
- $args['order'] = sanitize_text_field( $_REQUEST['order'] );
244
- }
245
-
246
- if ( isset( $_REQUEST['include_category'] ) ) {
247
-
248
- $args['include_category'] = sanitize_text_field( $_REQUEST['include_category'] );
249
- }
250
-
251
- if ( isset( $_REQUEST['exclude_category'] ) ) {
252
-
253
- $args['exclude_category'] = sanitize_text_field( $_REQUEST['exclude_category'] );
254
- }
255
-
256
- if ( get_query_var( 'ufaq_category_slug' ) ) {
257
-
258
- $args['include_category'] = get_query_var( 'ufaq_category_slug' );
259
- }
260
-
261
- if ( isset( $_REQUEST['include_tag'] ) ) {
262
-
263
- $args['include_tag'] = sanitize_text_field( $_REQUEST['include_tag'] );
264
- }
265
-
266
- if ( get_query_var( 'ufaq_tag_slug' ) ) {
267
-
268
- $args['include_tag'] = get_query_var( 'ufaq_tag_slug' );
269
- }
270
-
271
- $this->args = array_merge( $this->args, $args );
272
- }
273
-
274
- /**
275
- * Retrieve query results
276
- *
277
- * @since 2.0.0
278
- */
279
- public function get_faqs() {
280
-
281
- $faqs = array();
282
-
283
- $args = apply_filters( 'ewd_ufaq_query_args', $this->args, $this->context );
284
-
285
- $query = new WP_Query( $args );
286
-
287
- if ( $query->have_posts() ) {
288
-
289
- while( $query->have_posts() ) {
290
- $query->the_post();
291
-
292
- $faq = new ewdufaqFaq();
293
- if ( $faq->load_post( $query->post ) ) {
294
- $faqs[] = $faq;
295
- }
296
- }
297
- }
298
-
299
- $this->found_faqs = $query->found_posts;
300
-
301
- $this->current_page = $this->args['paged'];
302
-
303
- $this->max_page = $query->max_num_pages;
304
-
305
- $this->faqs = $faqs;
306
-
307
- wp_reset_query();
308
-
309
- return $this->faqs;
310
- }
311
- }
312
- } // endif
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( !class_exists( 'ewdufaqQuery' ) ) {
5
+ /**
6
+ * Class to handle common queries used to pull faqs from
7
+ * the database.
8
+ *
9
+ * Bookings can be retrieved with specific date ranges, common
10
+ * date params (today/upcoming), etc. This class is intended for
11
+ * the base plugin as well as extensions or custom projects which
12
+ * need a stable mechanism for reliably retrieving faqs data.
13
+ *
14
+ * Queries return an array of ewdufaqReview objects.
15
+ *
16
+ * @since 2.0.0
17
+ */
18
+ class ewdufaqQuery {
19
+
20
+ /**
21
+ * Bookings
22
+ *
23
+ * Array of faqs retrieved after get_faqs() is called
24
+ *
25
+ * @since 2.0.0
26
+ */
27
+ public $faqs = array();
28
+
29
+ /**
30
+ * Query args
31
+ *
32
+ * Passed to WP_Query
33
+ * http://codex.wordpress.org/Class_Reference/WP_Query
34
+ *
35
+ * @since 2.0.0
36
+ */
37
+ public $args = array();
38
+
39
+ /**
40
+ * Query context
41
+ *
42
+ * Defines the context in which the query is run.
43
+ * Useful for hooking into the right query without
44
+ * tampering with others.
45
+ *
46
+ * @since 2.0.0
47
+ */
48
+ public $context;
49
+
50
+ /**
51
+ * Instantiate the query with an array of arguments
52
+ *
53
+ * This supports all WP_Query args as well as several
54
+ * short-hand arguments for common needs. Short-hands
55
+ * include:
56
+ *
57
+ * date_range string today|upcoming|dates
58
+ * start_date string don't get faqs before this
59
+ * end_date string don't get faqs after this
60
+ *
61
+ * @see ewdufaqQuery::prepare_args()
62
+ * @param args array Options to tailor the query
63
+ * @param context string Context for the query, used
64
+ * in filters
65
+ * @since 2.0.0
66
+ */
67
+ public function __construct( $args = array(), $context = '' ) {
68
+
69
+ global $ewd_ufaq_controller;
70
+
71
+ $defaults = array(
72
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
73
+ 'posts_per_page' => -1,
74
+ 'post_status' => 'publish',
75
+ 'order' => 'DESC',
76
+ 'paged' => 1,
77
+ );
78
+
79
+ $this->args = wp_parse_args( $args, $defaults );
80
+
81
+ $this->context = $context;
82
+
83
+ }
84
+
85
+ /**
86
+ * Parse the args array and convert custom arguments
87
+ * for use by WP_Query
88
+ *
89
+ * @since 2.0.0
90
+ */
91
+ public function prepare_args() {
92
+ global $ewd_ufaq_controller;
93
+
94
+ $args = $this->args;
95
+
96
+ $this->include_children = ( ! empty( $args['include_children'] ) and strtolower( $args['include_children'] ) != 'yes' ) ? false : true;
97
+
98
+ if ( ! empty( $args['search_string'] ) ) { $args['s'] = $args['search_string']; }
99
+
100
+ if ( ! empty( $args['post_count'] ) ) { $args['posts_per_page'] = $args['post_count']; }
101
+
102
+ if ( ! empty( $args['faq_page'] ) ) { $args['paged'] = $args['faq_page']; }
103
+
104
+ if ( ! empty( $args['post__in'] ) ) { $args['post__in'] = is_array( $args['post__in'] ) ? $args['post__in'] : json_decode( str_replace( array( '&lsqb;', '&rsqb;' ), array( '[', ']' ) ) ); }
105
+
106
+ if ( ! empty( $args['post__in_string'] ) ) { $args['post__in'] = ! empty( $args['post__in'] ) ? array_merge( $args['post__in'], explode( ',', $args['post__in_string'] ) ) : explode( ',', $args['post__in_string'] ); }
107
+
108
+ $tax_query = array();
109
+
110
+ if ( ! empty( $args['include_category'] ) ) {
111
+
112
+ $include_category_array = explode( ',', $args['include_category'] );
113
+
114
+ $tax_query[] = array(
115
+ 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
116
+ 'field' => 'slug',
117
+ 'terms' => $include_category_array,
118
+ 'include_children' => $this->include_children
119
+ );
120
+ }
121
+
122
+ if ( ! empty( $args['exclude_category'] ) ) {
123
+
124
+ $exclude_category_array = explode( ',', $args['exclude_category'] );
125
+
126
+ $tax_query[] = array(
127
+ 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
128
+ 'field' => 'slug',
129
+ 'operator' => 'NOT IN',
130
+ 'terms' => $exclude_category_array,
131
+ 'include_children' => $this->include_children
132
+ );
133
+ }
134
+
135
+ if ( ! empty( $args['include_category_ids'] ) ) {
136
+
137
+ $include_category_ids_array = explode( ',', $args['include_category_ids'] );
138
+
139
+ $tax_query[] = array(
140
+ 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
141
+ 'field' => 'term_id',
142
+ 'terms' => $include_category_ids_array,
143
+ 'include_children' => $this->include_children
144
+ );
145
+ }
146
+
147
+ if ( ! empty( $args['exclude_category_ids'] ) ) {
148
+
149
+ $exclude_category_ids_array = explode( ',', $args['exclude_category_ids'] );
150
+
151
+ $tax_query[] = array(
152
+ 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
153
+ 'field' => 'term_id',
154
+ 'operator' => 'NOT IN',
155
+ 'terms' => $exclude_category_ids_array,
156
+ 'include_children' => $this->include_children
157
+ );
158
+ }
159
+
160
+ if ( ! empty( $args['include_tag'] ) ) {
161
+
162
+ $include_tag_ids_array = explode( ',', $args['include_tag'] );
163
+
164
+ $tax_query[] = array(
165
+ 'taxonomy' => EWD_UFAQ_FAQ_TAG_TAXONOMY,
166
+ 'field' => 'slug',
167
+ 'terms' => $include_tag_ids_array
168
+ );
169
+ }
170
+
171
+ if ( ! empty( $tax_query ) ) { $args['tax_query'] = $tax_query; }
172
+
173
+ /*$meta_query = array();
174
+
175
+ if ( ! empty( $args['product_name'] ) ) {
176
+
177
+ $meta_query[] = array(
178
+ 'key' => 'EWD_UFAQ_Product_Name',
179
+ 'value' => $args['product_name'],
180
+ 'compare' => '=',
181
+ );
182
+ }
183
+
184
+ if ( ! empty( $meta_query ) ) { $args['meta_query'] = $meta_query; }*/
185
+
186
+ $orderby = array();
187
+
188
+ if ( empty( $args['product_name'] ) and $ewd_ufaq_controller->settings->get_setting( 'group-by-product' ) ) {
189
+
190
+ $orderby['meta_value'] = $ewd_ufaq_controller->settings->get_setting( 'group-by-product-order' );
191
+ }
192
+
193
+ if ( ! empty( $args['orderby'] ) ) {
194
+
195
+ if ( $args['orderby'] == 'rating' or $args['orderby'] == 'popular' ) { $orderby['meta_value_num'] = $args['order']; }
196
+ elseif ( $args['orderby'] == 'date' ) { $orderby['date'] = $args['order']; }
197
+ elseif ( $args['orderby'] == 'title' ) { $orderby['title'] = $args['order']; }
198
+ elseif ( $args['orderby'] == 'set_order' ) { $orderby['meta_value_num'] = $args['order']; }
199
+ }
200
+
201
+ if ( $args['orderby'] == 'rating' ) { $args['meta_key'] = 'FAQ_Total_Score'; }
202
+ elseif ( $args['orderby'] == 'popular' ) { $args['meta_key'] = 'ufaq_view_count'; }
203
+ elseif ( $args['orderby'] == 'set_order' ) { $args['meta_key'] = 'ufaq_order'; }
204
+
205
+ if ( ! empty( $orderby ) ) { $args['orderby'] = $orderby; }
206
+
207
+ $this->args = $args;
208
+
209
+ return $this->args;
210
+ }
211
+
212
+ /**
213
+ * Parse $_REQUEST args and store in $this->args
214
+ *
215
+ * @since 2.0.0
216
+ */
217
+ public function parse_request_args() {
218
+
219
+ $args = array();
220
+
221
+ if ( isset( $_REQUEST['faq_page'] ) ) {
222
+
223
+ $args['faq_page'] = intval( $_REQUEST['faq_page'] );
224
+ }
225
+
226
+ if ( isset( $_REQUEST['search_string'] ) ) {
227
+
228
+ $args['search_string'] = sanitize_text_field( stripslashes( $_REQUEST['search_string'] ) );
229
+ }
230
+
231
+ if ( isset( $_REQUEST['post_count'] ) ) {
232
+
233
+ $args['post_count'] = sanitize_text_field( $_REQUEST['post_count'] );
234
+ }
235
+
236
+ if ( isset( $_REQUEST['orderby'] ) ) {
237
+
238
+ $args['orderby'] = sanitize_text_field( $_REQUEST['orderby'] );
239
+ }
240
+
241
+ if ( isset( $_REQUEST['order'] ) ) {
242
+
243
+ $args['order'] = sanitize_text_field( $_REQUEST['order'] );
244
+ }
245
+
246
+ if ( isset( $_REQUEST['include_category'] ) ) {
247
+
248
+ $args['include_category'] = sanitize_text_field( $_REQUEST['include_category'] );
249
+ }
250
+
251
+ if ( isset( $_REQUEST['exclude_category'] ) ) {
252
+
253
+ $args['exclude_category'] = sanitize_text_field( $_REQUEST['exclude_category'] );
254
+ }
255
+
256
+ if ( get_query_var( 'ufaq_category_slug' ) ) {
257
+
258
+ $args['include_category'] = get_query_var( 'ufaq_category_slug' );
259
+ }
260
+
261
+ if ( isset( $_REQUEST['include_tag'] ) ) {
262
+
263
+ $args['include_tag'] = sanitize_text_field( $_REQUEST['include_tag'] );
264
+ }
265
+
266
+ if ( get_query_var( 'ufaq_tag_slug' ) ) {
267
+
268
+ $args['include_tag'] = get_query_var( 'ufaq_tag_slug' );
269
+ }
270
+
271
+ $this->args = array_merge( $this->args, $args );
272
+ }
273
+
274
+ /**
275
+ * Retrieve query results
276
+ *
277
+ * @since 2.0.0
278
+ */
279
+ public function get_faqs() {
280
+
281
+ $faqs = array();
282
+
283
+ $args = apply_filters( 'ewd_ufaq_query_args', $this->args, $this->context );
284
+
285
+ $query = new WP_Query( $args );
286
+
287
+ if ( $query->have_posts() ) {
288
+
289
+ while( $query->have_posts() ) {
290
+ $query->the_post();
291
+
292
+ $faq = new ewdufaqFaq();
293
+ if ( $faq->load_post( $query->post ) ) {
294
+ $faqs[] = $faq;
295
+ }
296
+ }
297
+ }
298
+
299
+ $this->found_faqs = $query->found_posts;
300
+
301
+ $this->current_page = $this->args['paged'];
302
+
303
+ $this->max_page = $query->max_num_pages;
304
+
305
+ $this->faqs = $faqs;
306
+
307
+ wp_reset_query();
308
+
309
+ return $this->faqs;
310
+ }
311
+ }
312
+ } // endif
includes/ReviewAsk.class.php CHANGED
@@ -1,101 +1,101 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( ! class_exists( 'ewdufaqReviewAsk' ) ) {
5
- /**
6
- * Class to handle plugin review ask
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqReviewAsk {
11
-
12
- public function __construct() {
13
-
14
- add_action( 'admin_notices', array( $this, 'maybe_add_review_ask' ) );
15
-
16
- add_action( 'wp_ajax_ewd_ufaq_hide_review_ask', array( $this, 'hide_review_ask' ) );
17
- add_action( 'wp_ajax_ewd_ufaq_send_feedback', array( $this, 'send_feedback' ) );
18
-
19
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_review_ask_scripts' ) );
20
- }
21
-
22
- public function maybe_add_review_ask() {
23
-
24
- $ask_review_time = get_option( 'ewd-ufaq-review-ask-time' );
25
-
26
- $install_time = get_option( 'ewd-ufaq-installation-time' );
27
- if ( ! $install_time ) { update_option( 'ewd-ufaq-installation-time', time() ); $install_time = time(); }
28
-
29
- $ask_review_time = $ask_review_time != '' ? $ask_review_time : $install_time + 3600*24*4;
30
-
31
- if ( $ask_review_time < time() and $install_time != '' and $install_time < time() - 3600*24*4 ) {
32
-
33
- global $pagenow;
34
-
35
- if ( $pagenow != 'post.php' && $pagenow != 'post-new.php' ) { ?>
36
-
37
- <div class='notice notice-info is-dismissible ewd-ufaq-main-dashboard-review-ask' style='display:none'>
38
- <div class='ewd-ufaq-review-ask-plugin-icon'></div>
39
- <div class='ewd-ufaq-review-ask-text'>
40
- <p class='ewd-ufaq-review-ask-starting-text'>Enjoying using the Ultimate FAQs?</p>
41
- <p class='ewd-ufaq-review-ask-feedback-text ewd-ufaq-hidden'>Help us make the plugin better! Please take a minute to rate the plugin. Thanks!</p>
42
- <p class='ewd-ufaq-review-ask-review-text ewd-ufaq-hidden'>Please let us know what we could do to make the plugin better!<br /><span>(If you would like a response, please include your email address.)</span></p>
43
- <p class='ewd-ufaq-review-ask-thank-you-text ewd-ufaq-hidden'>Thank you for taking the time to help us!</p>
44
- </div>
45
- <div class='ewd-ufaq-review-ask-actions'>
46
- <div class='ewd-ufaq-review-ask-action ewd-ufaq-review-ask-not-really ewd-ufaq-review-ask-white'>Not Really</div>
47
- <div class='ewd-ufaq-review-ask-action ewd-ufaq-review-ask-yes ewd-ufaq-review-ask-green'>Yes!</div>
48
- <div class='ewd-ufaq-review-ask-action ewd-ufaq-review-ask-no-thanks ewd-ufaq-review-ask-white ewd-ufaq-hidden'>No Thanks</div>
49
- <a href='https://wordpress.org/support/plugin/ultimate-faqs/reviews/' target='_blank'>
50
- <div class='ewd-ufaq-review-ask-action ewd-ufaq-review-ask-review ewd-ufaq-review-ask-green ewd-ufaq-hidden'>OK, Sure</div>
51
- </a>
52
- </div>
53
- <div class='ewd-ufaq-review-ask-feedback-form ewd-ufaq-hidden'>
54
- <div class='ewd-ufaq-review-ask-feedback-explanation'>
55
- <textarea></textarea>
56
- <br>
57
- <input type="email" name="feedback_email_address" placeholder="<?php _e('Email Address', 'ultimate-faqs'); ?>">
58
- </div>
59
- <div class='ewd-ufaq-review-ask-send-feedback ewd-ufaq-review-ask-action ewd-ufaq-review-ask-green'>Send Feedback</div>
60
- </div>
61
- <div class='ewd-ufaq-clear'></div>
62
- </div>
63
-
64
- <?php
65
- }
66
- }
67
- else {
68
- wp_dequeue_script( 'ewd-ufaq-review-ask-js' );
69
- wp_dequeue_style( 'ewd-ufaq-review-ask-css' );
70
- }
71
- }
72
-
73
- public function enqueue_review_ask_scripts() {
74
- wp_enqueue_style( 'ewd-ufaq-review-ask-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/dashboard-review-ask.css' );
75
- wp_enqueue_script( 'ewd-ufaq-review-ask-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/dashboard-review-ask.js', array( 'jquery' ), EWD_UFAQ_VERSION, true );
76
- }
77
-
78
- public function hide_review_ask() {
79
-
80
- $ask_review_time = sanitize_text_field($_POST['ask_review_time']);
81
-
82
- if ( get_option( 'ewd-ufaq-review-ask-time' ) < time() + 3600*24 * $ask_review_time ) {
83
- update_option( 'ewd-ufaq-review-ask-time', time() + 3600*24 * $ask_review_time );
84
- }
85
-
86
- die();
87
- }
88
-
89
- public function send_feedback() {
90
- $headers = 'Content-type: text/html;charset=utf-8' . "\r\n";
91
- $feedback = sanitize_text_field($_POST['feedback']);
92
- $feedback .= '<br /><br />Email Address: ';
93
- $feedback .= sanitize_text_field($_POST['email_address']);
94
-
95
- wp_mail('contact@etoilewebdesign.com', 'UFAQ Feedback - Dashboard Form', $feedback, $headers);
96
-
97
- die();
98
- }
99
- }
100
-
101
  }
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( ! class_exists( 'ewdufaqReviewAsk' ) ) {
5
+ /**
6
+ * Class to handle plugin review ask
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqReviewAsk {
11
+
12
+ public function __construct() {
13
+
14
+ add_action( 'admin_notices', array( $this, 'maybe_add_review_ask' ) );
15
+
16
+ add_action( 'wp_ajax_ewd_ufaq_hide_review_ask', array( $this, 'hide_review_ask' ) );
17
+ add_action( 'wp_ajax_ewd_ufaq_send_feedback', array( $this, 'send_feedback' ) );
18
+
19
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_review_ask_scripts' ) );
20
+ }
21
+
22
+ public function maybe_add_review_ask() {
23
+
24
+ $ask_review_time = get_option( 'ewd-ufaq-review-ask-time' );
25
+
26
+ $install_time = get_option( 'ewd-ufaq-installation-time' );
27
+ if ( ! $install_time ) { update_option( 'ewd-ufaq-installation-time', time() ); $install_time = time(); }
28
+
29
+ $ask_review_time = $ask_review_time != '' ? $ask_review_time : $install_time + 3600*24*4;
30
+
31
+ if ( $ask_review_time < time() and $install_time != '' and $install_time < time() - 3600*24*4 ) {
32
+
33
+ global $pagenow;
34
+
35
+ if ( $pagenow != 'post.php' && $pagenow != 'post-new.php' ) { ?>
36
+
37
+ <div class='notice notice-info is-dismissible ewd-ufaq-main-dashboard-review-ask' style='display:none'>
38
+ <div class='ewd-ufaq-review-ask-plugin-icon'></div>
39
+ <div class='ewd-ufaq-review-ask-text'>
40
+ <p class='ewd-ufaq-review-ask-starting-text'>Enjoying using the Ultimate FAQs?</p>
41
+ <p class='ewd-ufaq-review-ask-feedback-text ewd-ufaq-hidden'>Help us make the plugin better! Please take a minute to rate the plugin. Thanks!</p>
42
+ <p class='ewd-ufaq-review-ask-review-text ewd-ufaq-hidden'>Please let us know what we could do to make the plugin better!<br /><span>(If you would like a response, please include your email address.)</span></p>
43
+ <p class='ewd-ufaq-review-ask-thank-you-text ewd-ufaq-hidden'>Thank you for taking the time to help us!</p>
44
+ </div>
45
+ <div class='ewd-ufaq-review-ask-actions'>
46
+ <div class='ewd-ufaq-review-ask-action ewd-ufaq-review-ask-not-really ewd-ufaq-review-ask-white'>Not Really</div>
47
+ <div class='ewd-ufaq-review-ask-action ewd-ufaq-review-ask-yes ewd-ufaq-review-ask-green'>Yes!</div>
48
+ <div class='ewd-ufaq-review-ask-action ewd-ufaq-review-ask-no-thanks ewd-ufaq-review-ask-white ewd-ufaq-hidden'>No Thanks</div>
49
+ <a href='https://wordpress.org/support/plugin/ultimate-faqs/reviews/' target='_blank'>
50
+ <div class='ewd-ufaq-review-ask-action ewd-ufaq-review-ask-review ewd-ufaq-review-ask-green ewd-ufaq-hidden'>OK, Sure</div>
51
+ </a>
52
+ </div>
53
+ <div class='ewd-ufaq-review-ask-feedback-form ewd-ufaq-hidden'>
54
+ <div class='ewd-ufaq-review-ask-feedback-explanation'>
55
+ <textarea></textarea>
56
+ <br>
57
+ <input type="email" name="feedback_email_address" placeholder="<?php _e('Email Address', 'ultimate-faqs'); ?>">
58
+ </div>
59
+ <div class='ewd-ufaq-review-ask-send-feedback ewd-ufaq-review-ask-action ewd-ufaq-review-ask-green'>Send Feedback</div>
60
+ </div>
61
+ <div class='ewd-ufaq-clear'></div>
62
+ </div>
63
+
64
+ <?php
65
+ }
66
+ }
67
+ else {
68
+ wp_dequeue_script( 'ewd-ufaq-review-ask-js' );
69
+ wp_dequeue_style( 'ewd-ufaq-review-ask-css' );
70
+ }
71
+ }
72
+
73
+ public function enqueue_review_ask_scripts() {
74
+ wp_enqueue_style( 'ewd-ufaq-review-ask-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/dashboard-review-ask.css' );
75
+ wp_enqueue_script( 'ewd-ufaq-review-ask-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/dashboard-review-ask.js', array( 'jquery' ), EWD_UFAQ_VERSION, true );
76
+ }
77
+
78
+ public function hide_review_ask() {
79
+
80
+ $ask_review_time = sanitize_text_field($_POST['ask_review_time']);
81
+
82
+ if ( get_option( 'ewd-ufaq-review-ask-time' ) < time() + 3600*24 * $ask_review_time ) {
83
+ update_option( 'ewd-ufaq-review-ask-time', time() + 3600*24 * $ask_review_time );
84
+ }
85
+
86
+ die();
87
+ }
88
+
89
+ public function send_feedback() {
90
+ $headers = 'Content-type: text/html;charset=utf-8' . "\r\n";
91
+ $feedback = sanitize_text_field($_POST['feedback']);
92
+ $feedback .= '<br /><br />Email Address: ';
93
+ $feedback .= sanitize_text_field($_POST['email_address']);
94
+
95
+ wp_mail('contact@etoilewebdesign.com', 'UFAQ Feedback - Dashboard Form', $feedback, $headers);
96
+
97
+ die();
98
+ }
99
+ }
100
+
101
  }
includes/Settings.class.php CHANGED
@@ -1,1976 +1,1976 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( ! class_exists( 'ewdufaqSettings' ) ) {
5
- /**
6
- * Class to handle configurable settings for Ultimate FAQs
7
- * @since 2.0.0
8
- */
9
- class ewdufaqSettings {
10
-
11
- /**
12
- * Default values for settings
13
- * @since 2.0.0
14
- */
15
- public $defaults = array();
16
-
17
- /**
18
- * Stored values for settings
19
- * @since 2.0.0
20
- */
21
- public $settings = array();
22
-
23
- public function __construct() {
24
-
25
- add_action( 'init', array( $this, 'set_defaults' ) );
26
-
27
- add_action( 'init', array( $this, 'load_settings_panel' ), 11 );
28
- }
29
-
30
- /**
31
- * Load the plugin's default settings
32
- * @since 2.0.0
33
- */
34
- public function set_defaults() {
35
-
36
- $this->defaults = array(
37
-
38
- 'include-permalink' => 'none',
39
- 'permalink-type' => 'same_page',
40
- 'access-role' => 'manage_options',
41
-
42
- 'display-style' => 'default',
43
- 'slug-base' => 'ufaqs',
44
- 'number-of-columns' => 'one',
45
- 'faqs-per-page' => 100000,
46
- 'page-type' => 'distinct',
47
- 'wpforms-faq-location' => 'above',
48
-
49
- 'category-order' => 'asc',
50
- 'faq-order-by' => 'title',
51
- 'faq-order' => 'asc',
52
-
53
- 'faq-fields' => array(),
54
-
55
- 'styling-toggle-symbol' => 'A',
56
- 'styling-category-heading-type' => 'h3',
57
- 'styling-faq-heading-type' => 'h4',
58
-
59
- 'faq-elements-order' => json_encode(
60
- array(
61
- 'categories' => 'Categories',
62
- 'body' => 'Body',
63
- 'author_date' => 'Author/Date',
64
- 'custom_fields' => 'Custom Fields',
65
- 'tags' => 'Tags',
66
- 'ratings' => 'Ratings',
67
- 'social_media' => 'Social Media',
68
- 'permalink' => 'Permalink',
69
- 'comments' => 'Comments',
70
- 'back_to_top' => 'Back to Top',
71
- )
72
- ),
73
-
74
- 'label-retrieving-results' => __( 'Retrieving Results', 'ultimate-faqs' ),
75
- 'label-no-results-found' => __( 'No result FAQ\'s contained the term \'%s\'', 'ultimate-faqs' ),
76
- 'label-woocommerce-tab' => __( 'FAQs', 'ultimate-faqs' ),
77
- 'label-thank-you-submit' => __( 'Thank you for submitting an FAQ.', 'ultimate-faqs' ),
78
- );
79
-
80
- $this->defaults = apply_filters( 'ewd_ufaq_defaults', $this->defaults );
81
- }
82
-
83
- /**
84
- * Get a setting's value or fallback to a default if one exists
85
- * @since 2.0.0
86
- */
87
- public function get_setting( $setting ) {
88
-
89
- if ( empty( $this->settings ) ) {
90
- $this->settings = get_option( 'ewd-ufaq-settings' );
91
- }
92
-
93
- if ( ! empty( $this->settings[ $setting ] ) ) {
94
- return apply_filters( 'ewd-ufaq-settings-' . $setting, $this->settings[ $setting ] );
95
- }
96
-
97
- if ( ! empty( $this->defaults[ $setting ] ) ) {
98
- return apply_filters( 'ewd-ufaq-settings-' . $setting, $this->defaults[ $setting ] );
99
- }
100
-
101
- return apply_filters( 'ewd-ufaq-settings-' . $setting, null );
102
- }
103
-
104
- /**
105
- * Set a setting to a particular value
106
- * @since 2.0.0
107
- */
108
- public function set_setting( $setting, $value ) {
109
-
110
- $this->settings[ $setting ] = $value;
111
- }
112
-
113
- /**
114
- * Save all settings, to be used with set_setting
115
- * @since 2.0.0
116
- */
117
- public function save_settings() {
118
-
119
- update_option( 'ewd-ufaq-settings', $this->settings );
120
- }
121
-
122
- /**
123
- * Load the admin settings page
124
- * @since 2.0.0
125
- * @sa https://github.com/NateWr/simple-admin-pages
126
- */
127
- public function load_settings_panel() {
128
-
129
- global $ewd_ufaq_controller;
130
-
131
- require_once( EWD_UFAQ_PLUGIN_DIR . '/lib/simple-admin-pages/simple-admin-pages.php' );
132
- $sap = sap_initialize_library(
133
- $args = array(
134
- 'version' => '2.5.3',
135
- 'lib_url' => EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/',
136
- )
137
- );
138
-
139
- $sap->add_page(
140
- 'submenu',
141
- array(
142
- 'id' => 'ewd-ufaq-settings',
143
- 'title' => __( 'Settings', 'ultimate-faqs' ),
144
- 'menu_title' => __( 'Settings', 'ultimate-faqs' ),
145
- 'parent_menu' => 'edit.php?post_type=ufaq',
146
- 'description' => '',
147
- 'capability' => $this->get_setting( 'access-role' ),
148
- 'default_tab' => 'ewd-ufaq-basic-tab',
149
- )
150
- );
151
-
152
- $sap->add_section(
153
- 'ewd-ufaq-settings',
154
- array(
155
- 'id' => 'ewd-ufaq-basic-tab',
156
- 'title' => __( 'Basic', 'ultimate-faqs' ),
157
- 'is_tab' => true,
158
- )
159
- );
160
-
161
- $sap->add_section(
162
- 'ewd-ufaq-settings',
163
- array(
164
- 'id' => 'ewd-ufaq-general',
165
- 'title' => __( 'General', 'ultimate-faqs' ),
166
- 'tab' => 'ewd-ufaq-basic-tab',
167
- )
168
- );
169
-
170
- $sap->add_setting(
171
- 'ewd-ufaq-settings',
172
- 'ewd-ufaq-general',
173
- 'warningtip',
174
- array(
175
- 'id' => 'shortcodes-reminder',
176
- 'title' => __( 'REMINDER:', 'ultimate-faqs' ),
177
- 'placeholder' => __( 'To display FAQs, place the [ultimate-faqs] shortcode on a page' )
178
- )
179
- );
180
-
181
- $sap->add_setting(
182
- 'ewd-ufaq-settings',
183
- 'ewd-ufaq-general',
184
- 'textarea',
185
- array(
186
- 'id' => 'custom-css',
187
- 'title' => __( 'Custom CSS', 'ultimate-faqs' ),
188
- 'description' => __( 'You can add custom CSS styles to your FAQs in the box above.', 'ultimate-faqs' ), )
189
- );
190
-
191
- $sap->add_setting(
192
- 'ewd-ufaq-settings',
193
- 'ewd-ufaq-general',
194
- 'toggle',
195
- array(
196
- 'id' => 'scroll-to-top',
197
- 'title' => __( 'Scroll To Top', 'ultimate-faqs' ),
198
- 'description' => __( 'Should the browser scroll to the top of the FAQ when it\'s opened?', 'ultimate-faqs' )
199
- )
200
- );
201
-
202
- $sap->add_setting(
203
- 'ewd-ufaq-settings',
204
- 'ewd-ufaq-general',
205
- 'toggle',
206
- array(
207
- 'id' => 'comments-on',
208
- 'title' => __( 'Turn On Comment Support', 'ultimate-faqs' ),
209
- 'description' => __( 'Should comment support be turned on, so that if the "Allow Comments" checkbox is selected for a given FAQ, comments are shown in the FAQ list?', 'ultimate-faqs' )
210
- )
211
- );
212
-
213
- $sap->add_setting(
214
- 'ewd-ufaq-settings',
215
- 'ewd-ufaq-general',
216
- 'toggle',
217
- array(
218
- 'id' => 'disable-microdata',
219
- 'title' => __( 'Disable Microdata', 'ultimate-faqs' ),
220
- 'description' => __( 'By default, the plugin adds FAQ page scheme when the shortcode is used. Select this option to disable this behaviour.', 'ultimate-faqs' )
221
- )
222
- );
223
-
224
- $sap->add_setting(
225
- 'ewd-ufaq-settings',
226
- 'ewd-ufaq-general',
227
- 'radio',
228
- array(
229
- 'id' => 'include-permalink',
230
- 'title' => __( 'Include Permalink', 'ultimate-faqs' ),
231
- 'description' => __( 'Display permalink to each question? If so, text, icon or both?', 'ultimate-faqs' ),
232
- 'options' => array(
233
- 'none' => __( 'None', 'ultimate-faqs' ),
234
- 'text' => __( 'Text', 'ultimate-faqs' ),
235
- 'icon' => __( 'Icon', 'ultimate-faqs' ),
236
- 'both' => __( 'Both', 'ultimate-faqs' ),
237
- ),
238
- 'default' => $this->defaults['include-permalink']
239
- )
240
- );
241
-
242
- $sap->add_setting(
243
- 'ewd-ufaq-settings',
244
- 'ewd-ufaq-general',
245
- 'radio',
246
- array(
247
- 'id' => 'permalink-type',
248
- 'title' => __( 'Permalink Destination', 'ultimate-faqs' ),
249
- 'description' => __( 'Should the permalink link to the main FAQ page or the individual FAQ page?', 'ultimate-faqs' ),
250
- 'options' => array(
251
- 'same_page' => __( 'Main FAQ Page', 'ultimate-faqs' ),
252
- 'individual_page' => __( 'Individual FAQ Page', 'ultimate-faqs' ),
253
- ),
254
- 'default' => $this->defaults['permalink-type']
255
- )
256
- );
257
-
258
- $sap->add_setting(
259
- 'ewd-ufaq-settings',
260
- 'ewd-ufaq-general',
261
- 'select',
262
- array(
263
- 'id' => 'access-role',
264
- 'title' => __( 'Set Access Role', 'ultimate-faqs' ),
265
- 'description' => __( 'Which level of user should have access to FAQs, Settings, etc.?.', 'ultimate-faqs' ),
266
- 'blank_option' => false,
267
- 'options' => array(
268
- 'administrator' => __( 'Administrator', 'ultimate-faqs' ),
269
- 'delete_others_pages' => __( 'Editor', 'ultimate-faqs' ),
270
- 'delete_published_posts' => __( 'Author', 'ultimate-faqs' ),
271
- 'delete_posts' => __( 'Contributor', 'ultimate-faqs' ),
272
- )
273
- )
274
- );
275
-
276
- $sap->add_section(
277
- 'ewd-ufaq-settings',
278
- array(
279
- 'id' => 'ewd-ufaq-functionality',
280
- 'title' => __( 'Functionality', 'ultimate-faqs' ),
281
- 'tab' => 'ewd-ufaq-basic-tab',
282
- )
283
- );
284
-
285
- $sap->add_setting(
286
- 'ewd-ufaq-settings',
287
- 'ewd-ufaq-functionality',
288
- 'toggle',
289
- array(
290
- 'id' => 'disable-faq-toggle',
291
- 'title' => __( 'Disable FAQ Toggle', 'ultimate-faqs' ),
292
- 'description' => __( 'Should the FAQs open on a separate page when clicked, instead of opening and closing?', 'ultimate-faqs' )
293
- )
294
- );
295
-
296
- $sap->add_setting(
297
- 'ewd-ufaq-settings',
298
- 'ewd-ufaq-functionality',
299
- 'toggle',
300
- array(
301
- 'id' => 'faq-accordion',
302
- 'title' => __( 'FAQ Accordion', 'ultimate-faqs' ),
303
- 'description' => __( 'Should the FAQs accordion? (Only one FAQ is open at a time, requires FAQ Toggle)', 'ultimate-faqs' )
304
- )
305
- );
306
-
307
- $sap->add_setting(
308
- 'ewd-ufaq-settings',
309
- 'ewd-ufaq-functionality',
310
- 'toggle',
311
- array(
312
- 'id' => 'faq-category-toggle',
313
- 'title' => __( 'FAQ Category Toggle', 'ultimate-faqs' ),
314
- 'description' => __( 'Should the FAQ categories hide/open when they are clicked, if FAQs are being grouped by category ("Group FAQs by Category" in the "Ordering" area)?', 'ultimate-faqs' )
315
- )
316
- );
317
-
318
- $sap->add_setting(
319
- 'ewd-ufaq-settings',
320
- 'ewd-ufaq-functionality',
321
- 'toggle',
322
- array(
323
- 'id' => 'faq-category-accordion',
324
- 'title' => __( 'FAQ Category Accordion', 'ultimate-faqs' ),
325
- 'description' => __( 'Should it only be possible to open one FAQ category at a time, if FAQ categories are being toggled ("FAQ Category Toggle" must be enabled above)?', 'ultimate-faqs' )
326
- )
327
- );
328
-
329
- $sap->add_setting(
330
- 'ewd-ufaq-settings',
331
- 'ewd-ufaq-functionality',
332
- 'toggle',
333
- array(
334
- 'id' => 'expand-collapse-all',
335
- 'title' => __( 'FAQ Expand/Collapse All', 'ultimate-faqs' ),
336
- 'description' => __( 'Should there be a control to open and close all FAQs simultaneously?', 'ultimate-faqs' )
337
- )
338
- );
339
-
340
- $sap->add_section(
341
- 'ewd-ufaq-settings',
342
- array(
343
- 'id' => 'ewd-ufaq-display',
344
- 'title' => __( 'Display', 'ultimate-faqs' ),
345
- 'tab' => 'ewd-ufaq-basic-tab',
346
- )
347
- );
348
-
349
- $sap->add_setting(
350
- 'ewd-ufaq-settings',
351
- 'ewd-ufaq-display',
352
- 'toggle',
353
- array(
354
- 'id' => 'hide-categories',
355
- 'title' => __( 'Hide Categories', 'ultimate-faqs' ),
356
- 'description' => __( 'Should the categories for each FAQ be hidden?', 'ultimate-faqs' )
357
- )
358
- );
359
-
360
- $sap->add_setting(
361
- 'ewd-ufaq-settings',
362
- 'ewd-ufaq-display',
363
- 'toggle',
364
- array(
365
- 'id' => 'hide-tags',
366
- 'title' => __( 'Hide Tags', 'ultimate-faqs' ),
367
- 'description' => __( 'Should the tags for each FAQ be hidden?', 'ultimate-faqs' )
368
- )
369
- );
370
-
371
- $sap->add_setting(
372
- 'ewd-ufaq-settings',
373
- 'ewd-ufaq-display',
374
- 'toggle',
375
- array(
376
- 'id' => 'display-all-answers',
377
- 'title' => __( 'Display All Answers', 'ultimate-faqs' ),
378
- 'description' => __( 'Should all answers be displayed when the page loads? (Careful if FAQ Accordion is on)', 'ultimate-faqs' )
379
- )
380
- );
381
-
382
- $sap->add_setting(
383
- 'ewd-ufaq-settings',
384
- 'ewd-ufaq-display',
385
- 'toggle',
386
- array(
387
- 'id' => 'display-author',
388
- 'title' => __( 'Display Post Author', 'ultimate-faqs' ),
389
- 'description' => __( 'Should the display name of the post\'s author be displayed beneath the FAQ title?', 'ultimate-faqs' )
390
- )
391
- );
392
-
393
- $sap->add_setting(
394
- 'ewd-ufaq-settings',
395
- 'ewd-ufaq-display',
396
- 'toggle',
397
- array(
398
- 'id' => 'display-date',
399
- 'title' => __( 'Display Post Date', 'ultimate-faqs' ),
400
- 'description' => __( 'Should the date the post was created be displayed beneath the FAQ title?', 'ultimate-faqs' )
401
- )
402
- );
403
-
404
- $sap->add_setting(
405
- 'ewd-ufaq-settings',
406
- 'ewd-ufaq-display',
407
- 'toggle',
408
- array(
409
- 'id' => 'display-back-to-top',
410
- 'title' => __( 'Display \'Back to Top\'', 'ultimate-faqs' ),
411
- 'description' => __( 'Should a link to return to the top of the page be added to each FAQ post?', 'ultimate-faqs' )
412
- )
413
- );
414
-
415
- if ( ! $ewd_ufaq_controller->permissions->check_permission( 'premium' ) ) {
416
- $ewd_ufaq_premium_permissions = array(
417
- 'disabled' => true,
418
- 'disabled_image'=> '#',
419
- 'purchase_link' => 'https://www.etoilewebdesign.com/plugins/ultimate-faq/'
420
- );
421
- }
422
- else { $ewd_ufaq_premium_permissions = array(); }
423
-
424
- $sap->add_section(
425
- 'ewd-ufaq-settings',
426
- array(
427
- 'id' => 'ewd-ufaq-premium-tab',
428
- 'title' => __( 'Premium', 'ultimate-faqs' ),
429
- 'is_tab' => true,
430
- )
431
- );
432
-
433
- $sap->add_section(
434
- 'ewd-ufaq-settings',
435
- array_merge(
436
- array(
437
- 'id' => 'ewd-ufaq-premium-display',
438
- 'title' => __( 'Display', 'ultimate-faqs' ),
439
- 'tab' => 'ewd-ufaq-premium-tab',
440
- ),
441
- $ewd_ufaq_premium_permissions
442
- )
443
- );
444
-
445
- $sap->add_setting(
446
- 'ewd-ufaq-settings',
447
- 'ewd-ufaq-premium-display',
448
- 'radio',
449
- array(
450
- 'id' => 'display-style',
451
- 'title' => __( 'FAQ Display Style', 'ultimate-faqs' ),
452
- 'description' => __( 'Which theme should be used to display the FAQ\'s?', 'ultimate-faqs' ),
453
- 'options' => array(
454
- 'default' => __( 'Default', 'ultimate-faqs' ),
455
- 'block' => __( 'Block', 'ultimate-faqs' ),
456
- 'border_block' => __( 'Border Block', 'ultimate-faqs' ),
457
- 'contemporary' => __( 'Contemporary', 'ultimate-faqs' ),
458
- 'list' => __( 'List', 'ultimate-faqs' ),
459
- 'minimalist' => __( 'Minimalist', 'ultimate-faqs' ),
460
- ),
461
- 'default' => $this->defaults['display-style']
462
- )
463
- );
464
-
465
- $sap->add_setting(
466
- 'ewd-ufaq-settings',
467
- 'ewd-ufaq-premium-display',
468
- 'radio',
469
- array(
470
- 'id' => 'number-of-columns',
471
- 'title' => __( 'Number of Columns', 'ultimate-faqs' ),
472
- 'description' => __( 'In how many columns would you like your FAQs displayed?', 'ultimate-faqs' ),
473
- 'options' => array(
474
- 'one' => __( 'One', 'ultimate-faqs' ),
475
- 'two' => __( 'Two', 'ultimate-faqs' ),
476
- 'three' => __( 'Three', 'ultimate-faqs' ),
477
- 'four' => __( 'Four', 'ultimate-faqs' ),
478
- ),
479
- 'default' => $this->defaults['number-of-columns']
480
- )
481
- );
482
-
483
- $sap->add_setting(
484
- 'ewd-ufaq-settings',
485
- 'ewd-ufaq-premium-display',
486
- 'toggle',
487
- array(
488
- 'id' => 'responsive-columns',
489
- 'title' => __( 'Responsive Columns', 'ultimate-faqs' ),
490
- 'description' => __( 'If you have more than one column, would you like them to be responsive? If this option is disabled, the number of columns will remain the same on all screen sizes.', 'ultimate-faqs' )
491
- )
492
- );
493
-
494
- $sap->add_setting(
495
- 'ewd-ufaq-settings',
496
- 'ewd-ufaq-premium-display',
497
- 'select',
498
- array(
499
- 'id' => 'reveal-effect',
500
- 'title' => __( 'Reveal Effect', 'ultimate-faqs' ),
501
- 'description' => __( 'How should FAQ\'s be displayed when their titles are clicked?', 'ultimate-faqs' ),
502
- 'blank_option' => false,
503
- 'options' => array(
504
- 'none' => __( 'None', 'ultimate-faqs' ),
505
- 'blind' => __( 'Blind', 'ultimate-faqs' ),
506
- 'bounce' => __( 'Bounce', 'ultimate-faqs' ),
507
- 'clip' => __( 'Clip', 'ultimate-faqs' ),
508
- 'drop' => __( 'Drop', 'ultimate-faqs' ),
509
- 'explode' => __( 'Explode', 'ultimate-faqs' ),
510
- 'fade' => __( 'Fade', 'ultimate-faqs' ),
511
- 'fold' => __( 'Fold', 'ultimate-faqs' ),
512
- 'highlight' => __( 'Highlight', 'ultimate-faqs' ),
513
- 'puff' => __( 'Puff', 'ultimate-faqs' ),
514
- 'pulsate' => __( 'Pulsate', 'ultimate-faqs' ),
515
- 'shake' => __( 'Shake', 'ultimate-faqs' ),
516
- 'size' => __( 'Size', 'ultimate-faqs' ),
517
- 'slide' => __( 'Slide', 'ultimate-faqs' ),
518
- )
519
- )
520
- );
521
-
522
- $sap->add_setting(
523
- 'ewd-ufaq-settings',
524
- 'ewd-ufaq-premium-display',
525
- 'text',
526
- array(
527
- 'id' => 'faqs-per-page',
528
- 'title' => __( 'FAQs Per Page', 'ultimate-faqs' ),
529
- 'description' => __( 'How many FAQs should be displayed on each page? (Leave blank to display all FAQs)', 'ultimate-faqs' ),
530
- 'small' => true
531
- )
532
- );
533
-
534
- $sap->add_setting(
535
- 'ewd-ufaq-settings',
536
- 'ewd-ufaq-premium-display',
537
- 'radio',
538
- array(
539
- 'id' => 'page-type',
540
- 'title' => __( 'FAQ Page Type', 'ultimate-faqs' ),
541
- 'description' => __( 'If FAQs are in pages, how should pages load?', 'ultimate-faqs' ),
542
- 'options' => array(
543
- 'distinct' => __( 'Distinct Pages', 'ultimate-faqs' ),
544
- 'load_more' => __( 'Load More Button', 'ultimate-faqs' ),
545
- 'infinite_scroll' => __( 'Infinite Scroll', 'ultimate-faqs' )
546
- ),
547
- 'default' => $this->defaults['page-type']
548
- )
549
- );
550
-
551
- $sap->add_section(
552
- 'ewd-ufaq-settings',
553
- array_merge(
554
- array(
555
- 'id' => 'ewd-ufaq-premium-general',
556
- 'title' => __( 'General', 'ultimate-faqs' ),
557
- 'tab' => 'ewd-ufaq-premium-tab',
558
- ),
559
- $ewd_ufaq_premium_permissions
560
- )
561
- );
562
-
563
- $sap->add_setting(
564
- 'ewd-ufaq-settings',
565
- 'ewd-ufaq-premium-general',
566
- 'toggle',
567
- array(
568
- 'id' => 'faq-ratings',
569
- 'title' => __( 'FAQ Ratings', 'ultimate-faqs' ),
570
- 'description' => __( 'Should visitors be able to up or down vote FAQs to let others know if they found them helpful?', 'ultimate-faqs' )
571
- )
572
- );
573
-
574
- $sap->add_setting(
575
- 'ewd-ufaq-settings',
576
- 'ewd-ufaq-premium-general',
577
- 'file-upload',
578
- array(
579
- 'id' => 'thumbs-up-image',
580
- 'title' => __( 'FAQ Ratings \'Thumbs Up\' Image', 'ultimate-faqs' ),
581
- 'description' => __( 'You can use this to upload your own image to replace the default "thumbs up" image.', 'ultimate-faqs' )
582
- )
583
- );
584
-
585
- $sap->add_setting(
586
- 'ewd-ufaq-settings',
587
- 'ewd-ufaq-premium-general',
588
- 'file-upload',
589
- array(
590
- 'id' => 'thumbs-down-image',
591
- 'title' => __( 'FAQ Ratings \'Thumbs Down\' Image', 'ultimate-faqs' ),
592
- 'description' => __( 'You can use this to upload your own image to replace the default "thumbs down" image.', 'ultimate-faqs' )
593
- )
594
- );
595
-
596
- $sap->add_setting(
597
- 'ewd-ufaq-settings',
598
- 'ewd-ufaq-premium-general',
599
- 'toggle',
600
- array(
601
- 'id' => 'pretty-permalinks',
602
- 'title' => __( 'Pretty Permalinks', 'ultimate-faqs' ),
603
- 'description' => __( 'Should an SEO friendly permalink structure be used for the link to the FAQ?', 'ultimate-faqs' )
604
- )
605
- );
606
-
607
- $sap->add_setting(
608
- 'ewd-ufaq-settings',
609
- 'ewd-ufaq-premium-general',
610
- 'toggle',
611
- array(
612
- 'id' => 'disable-homepage-canoncial-redirect',
613
- 'title' => __( 'Disable Front-Page Canonical Redirects', 'ultimate-faqs' ),
614
- 'description' => __( 'Should canonical redirects be disabled for the front page of your site? Only necessary if you\'re using the plugin on your homepage and have pretty permalinks enabled.', 'ultimate-faqs' )
615
- )
616
- );
617
-
618
- $sap->add_setting(
619
- 'ewd-ufaq-settings',
620
- 'ewd-ufaq-premium-general',
621
- 'toggle',
622
- array(
623
- 'id' => 'auto-complete-titles',
624
- 'title' => __( 'FAQ Auto Complete Titles', 'ultimate-faqs' ),
625
- 'description' => __( 'Should the FAQ Titles auto complete when using the FAQ search shortcode?', 'ultimate-faqs' )
626
- )
627
- );
628
-
629
- $sap->add_setting(
630
- 'ewd-ufaq-settings',
631
- 'ewd-ufaq-premium-general',
632
- 'text',
633
- array(
634
- 'id' => 'slug-base',
635
- 'title' => __( 'FAQ Slug Base', 'ultimate-faqs' ),
636
- 'description' => __( 'This option can be used to change the slug base for all FAQ posts. Be sure to go to "Settings" -> "Permalinks" in the WordPress sidebar and hit "Save Changes" to avoid 404 errors.', 'ultimate-faqs' ),
637
- 'small' => true
638
- )
639
- );
640
-
641
- $sap->add_setting(
642
- 'ewd-ufaq-settings',
643
- 'ewd-ufaq-premium-general',
644
- 'checkbox',
645
- array(
646
- 'id' => 'social-media',
647
- 'title' => __( 'Social Media Options', 'ultimate-faqs' ),
648
- 'description' => '',
649
- 'options' => array(
650
- 'facebook' => 'Facebook',
651
- 'twitter' => 'Twitter',
652
- 'linkedin' => 'LinkedIn',
653
- 'pinterest' => 'Pinterest',
654
- 'email' => 'Email',
655
- )
656
- )
657
- );
658
-
659
- $sap->add_section(
660
- 'ewd-ufaq-settings',
661
- array_merge(
662
- array(
663
- 'id' => 'ewd-ufaq-woocommerce',
664
- 'title' => __( 'WooCommerce', 'ultimate-faqs' ),
665
- 'tab' => 'ewd-ufaq-premium-tab',
666
- ),
667
- $ewd_ufaq_premium_permissions
668
- )
669
- );
670
-
671
- $sap->add_setting(
672
- 'ewd-ufaq-settings',
673
- 'ewd-ufaq-woocommerce',
674
- 'toggle',
675
- array(
676
- 'id' => 'woocommerce-faqs',
677
- 'title' => __( 'WooCommerce FAQs', 'ultimate-faqs' ),
678
- 'description' => __( 'Should FAQs for a given product be displayed as an extra tab on the WooCommerce product page? For this to work correctly, an FAQ category needs to be created with the same name as a given WooCommerce product.', 'ultimate-faqs' )
679
- )
680
- );
681
-
682
- $sap->add_setting(
683
- 'ewd-ufaq-settings',
684
- 'ewd-ufaq-woocommerce',
685
- 'toggle',
686
- array(
687
- 'id' => 'woocommerce-use-product',
688
- 'title' => __( 'Use WooCommerce Product Object', 'ultimate-faqs' ),
689
- 'description' => __( 'Should the FAQ tab be set up using the WooCommerce product object, as in the WC documentation, or just using the ID of the page?', 'ultimate-faqs' )
690
- )
691
- );
692
-
693
- $sap->add_section(
694
- 'ewd-ufaq-settings',
695
- array_merge(
696
- array(
697
- 'id' => 'ewd-ufaq-wpforms-integration',
698
- 'title' => __( 'WP Forms', 'ultimate-faqs' ),
699
- 'tab' => 'ewd-ufaq-premium-tab',
700
- ),
701
- $ewd_ufaq_premium_permissions
702
- )
703
- );
704
-
705
- $sap->add_setting(
706
- 'ewd-ufaq-settings',
707
- 'ewd-ufaq-wpforms-integration',
708
- 'toggle',
709
- array(
710
- 'id' => 'wpforms-integration',
711
- 'title' => __( 'WP Forms Integration', 'ultimate-faqs' ),
712
- 'description' => __( 'Should FAQs be displayed when a visitor starts typing a message into a paragraph text field in WP Forms? This can be turned off for specific forms via the form\'s settings panel.', 'ultimate-faqs' )
713
- )
714
- );
715
-
716
- $sap->add_setting(
717
- 'ewd-ufaq-settings',
718
- 'ewd-ufaq-wpforms-integration',
719
- 'text',
720
- array(
721
- 'id' => 'wpforms-post-count',
722
- 'title' => __( 'WP Forms Post Count', 'ultimate-faqs' ),
723
- 'description' => __( 'How many posts should be displayed below paragraph text fields, if WP Forms Integration has been turned on?', 'ultimate-faqs' ),
724
- 'small' => true
725
- )
726
- );
727
-
728
- $sap->add_setting(
729
- 'ewd-ufaq-settings',
730
- 'ewd-ufaq-wpforms-integration',
731
- 'radio',
732
- array(
733
- 'id' => 'wpforms-faq-location',
734
- 'title' => __( 'WP Forms FAQ Location', 'ultimate-faqs' ),
735
- 'description' => __( 'If WP Forms Integration has been turned on, where should the FAQs be displayed?', 'ultimate-faqs' ),
736
- 'options' => array(
737
- 'above' => __( 'Above', 'ultimate-faqs' ),
738
- 'below' => __( 'Below', 'ultimate-faqs' ),
739
- ),
740
- 'default' => $this->defaults['wpforms-faq-location']
741
- )
742
- );
743
-
744
- $sap->add_section(
745
- 'ewd-ufaq-settings',
746
- array_merge(
747
- array(
748
- 'id' => 'ewd-ufaq-submit-faq',
749
- 'title' => __( 'Submit FAQ', 'ultimate-faqs' ),
750
- 'tab' => 'ewd-ufaq-premium-tab',
751
- ),
752
- $ewd_ufaq_premium_permissions
753
- )
754
- );
755
-
756
- $sap->add_setting(
757
- 'ewd-ufaq-settings',
758
- 'ewd-ufaq-submit-faq',
759
- 'toggle',
760
- array(
761
- 'id' => 'allow-proposed-answer',
762
- 'title' => __( 'Allow Proposed Answer', 'ultimate-faqs' ),
763
- 'description' => __( 'When using the user-submitted question shortcode, should users be able to propose an answer to the question they\'re submitting?', 'ultimate-faqs' )
764
- )
765
- );
766
-
767
- $sap->add_setting(
768
- 'ewd-ufaq-settings',
769
- 'ewd-ufaq-submit-faq',
770
- 'toggle',
771
- array(
772
- 'id' => 'submit-custom-fields',
773
- 'title' => __( 'Submit Custom Fields', 'ultimate-faqs' ),
774
- 'description' => __( 'When using the user-submitted question shortcode, should users be able to fill in custom fields for the question they\'re submitting? File type custom fields cannot be submitted for security reasons.', 'ultimate-faqs' )
775
- )
776
- );
777
-
778
- $sap->add_setting(
779
- 'ewd-ufaq-settings',
780
- 'ewd-ufaq-submit-faq',
781
- 'toggle',
782
- array(
783
- 'id' => 'submit-question-captcha',
784
- 'title' => __( 'Submit Question Captcha', 'ultimate-faqs' ),
785
- 'description' => __( 'When using the user-submitted question shortcode, should a captcha field be added to the form to reduce the volume of spam FAQs?', 'ultimate-faqs' )
786
- )
787
- );
788
-
789
- $args = array(
790
- 'hide_empty' => false,
791
- 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY
792
- );
793
-
794
- $categories = get_terms( $args );
795
-
796
- $category_options = array();
797
-
798
- foreach ( $categories as $category ) {
799
-
800
- $category_options[ $category->slug ] = $category->name;
801
- }
802
-
803
- $sap->add_setting(
804
- 'ewd-ufaq-settings',
805
- 'ewd-ufaq-submit-faq',
806
- 'select',
807
- array(
808
- 'id' => 'submitted-default-category',
809
- 'title' => __( 'Default Category', 'ultimate-faqs' ),
810
- 'description' => __( 'Which category should submitted questions default to?', 'ultimate-faqs' ),
811
- 'blank_option' => true,
812
- 'options' => $category_options
813
- )
814
- );
815
-
816
- $sap->add_setting(
817
- 'ewd-ufaq-settings',
818
- 'ewd-ufaq-submit-faq',
819
- 'toggle',
820
- array(
821
- 'id' => 'admin-question-notification',
822
- 'title' => __( 'Admin Question Notification', 'ultimate-faqs' ),
823
- 'description' => __( 'Should an email be sent to the site administrator when a question is submitted?', 'ultimate-faqs' )
824
- )
825
- );
826
-
827
- $sap->add_setting(
828
- 'ewd-ufaq-settings',
829
- 'ewd-ufaq-submit-faq',
830
- 'text',
831
- array(
832
- 'id' => 'admin-notification-email',
833
- 'title' => __( 'Admin Notification Email', 'ultimate-faqs' ),
834
- 'description' => __( 'What email address should the notifications be sent to if "Admin Question Notification" is enabled above? If blank, the default WordPress admin email will be used.', 'ultimate-faqs' ),
835
- 'small' => true
836
- )
837
- );
838
-
839
- $emails = array();
840
- if ( post_type_exists( 'uwpm_mail_template' ) ) {
841
-
842
- $email_posts = get_posts( array( 'post_type' => 'uwpm_mail_template', 'posts_per_page' => -1 ) );
843
- foreach ( $email_posts as $email_post ) { $emails[$email_post->ID ] = $email_post->post_title; }
844
- }
845
-
846
- $sap->add_setting(
847
- 'ewd-ufaq-settings',
848
- 'ewd-ufaq-submit-faq',
849
- 'select',
850
- array(
851
- 'id' => 'submit-faq-email',
852
- 'title' => __( 'FAQ Submitted Thank You E-mail', 'ultimate-faqs' ),
853
- 'description' => __( 'You can use the <a href="https://wordpress.org/plugins/ultimate-wp-mail/">Ultimate WP Mail plugin</a> to create a custom email that is sent whenever an faq is submitted.', 'ultimate-faqs' ),
854
- 'blank_option' => true,
855
- 'options' => $emails
856
- )
857
- );
858
-
859
- $sap->add_section(
860
- 'ewd-ufaq-settings',
861
- array_merge(
862
- array(
863
- 'id' => 'ewd-ufaq-faq-elements-order',
864
- 'title' => __( 'FAQ Elements Order', 'ultimate-faqs' ),
865
- 'tab' => 'ewd-ufaq-premium-tab',
866
- ),
867
- $ewd_ufaq_premium_permissions
868
- )
869
- );
870
-
871
- $sap->add_setting(
872
- 'ewd-ufaq-settings',
873
- 'ewd-ufaq-faq-elements-order',
874
- 'ordering-table',
875
- array(
876
- 'id' => 'faq-elements-order',
877
- 'title' => __( 'FAQ Elements Order', 'ultimate-faqs' ),
878
- 'description' => __( 'You can use this table to drag-and-drop the elements of an FAQ into a different order.', 'ultimate-faqs' ),
879
- 'items' => $this->get_setting( 'faq-elements-order' )
880
- )
881
- );
882
-
883
- $sap->add_section(
884
- 'ewd-ufaq-settings',
885
- array(
886
- 'id' => 'ewd-ufaq-ordering-tab',
887
- 'title' => __( 'Ordering', 'ultimate-faqs' ),
888
- 'is_tab' => true,
889
- )
890
- );
891
-
892
- $sap->add_section(
893
- 'ewd-ufaq-settings',
894
- array(
895
- 'id' => 'ewd-ufaq-ordering-settings',
896
- 'title' => __( 'Settings', 'ultimate-faqs' ),
897
- 'tab' => 'ewd-ufaq-ordering-tab',
898
- )
899
- );
900
-
901
- $sap->add_setting(
902
- 'ewd-ufaq-settings',
903
- 'ewd-ufaq-ordering-settings',
904
- 'toggle',
905
- array(
906
- 'id' => 'group-by-category',
907
- 'title' => __( 'Group FAQs by Category', 'ultimate-faqs' ),
908
- 'description' => __( 'Should FAQs be grouped by category, or should all categories be mixed together?', 'ultimate-faqs' )
909
- )
910
- );
911
-
912
- $sap->add_setting(
913
- 'ewd-ufaq-settings',
914
- 'ewd-ufaq-ordering-settings',
915
- 'toggle',
916
- array(
917
- 'id' => 'group-by-category-count',
918
- 'title' => __( 'Display FAQ Category Count', 'ultimate-faqs' ),
919
- 'description' => __( 'If FAQs are grouped by category, should the number of FAQs in a category be displayed beside the category name?', 'ultimate-faqs' )
920
- )
921
- );
922
-
923
- $sap->add_setting(
924
- 'ewd-ufaq-settings',
925
- 'ewd-ufaq-ordering-settings',
926
- 'select',
927
- array(
928
- 'id' => 'category-order-by',
929
- 'title' => __( 'Sort Categories', 'ultimate-faqs' ),
930
- 'description' => __( 'How should FAQ categories be ordered? (Only used if "Group FAQs by Category" above is enabled.)', 'ultimate-faqs' ),
931
- 'blank_option' => false,
932
- 'options' => array(
933
- 'name' => __( 'Name', 'ultimate-faqs' ),
934
- 'count' => __( 'FAQ Count', 'ultimate-faqs' ),
935
- 'slug' => __( 'Slug', 'ultimate-faqs' ),
936
- )
937
- )
938
- );
939
-
940
- $sap->add_setting(
941
- 'ewd-ufaq-settings',
942
- 'ewd-ufaq-ordering-settings',
943
- 'radio',
944
- array(
945
- 'id' => 'category-order',
946
- 'title' => __( 'Sort Categories Ordering', 'ultimate-faqs' ),
947
- 'description' => __( 'How should FAQ categories be ordered? (Only used if "Group FAQs by Category" above is enabled.)', 'ultimate-faqs' ),
948
- 'options' => array(
949
- 'asc' => __( 'Ascending', 'ultimate-faqs' ),
950
- 'desc' => __( 'Descending', 'ultimate-faqs' ),
951
- ),
952
- 'default' => $this->defaults['category-order']
953
- )
954
- );
955
-
956
- $sap->add_setting(
957
- 'ewd-ufaq-settings',
958
- 'ewd-ufaq-ordering-settings',
959
- 'radio',
960
- array(
961
- 'id' => 'faq-order-by',
962
- 'title' => __( 'FAQ Ordering', 'ultimate-faqs' ),
963
- 'description' => __( 'How should individual FAQs be ordered?', 'ultimate-faqs' ),
964
- 'blank_option' => false,
965
- 'options' => array(
966
- 'date' => __( 'Created Date', 'ultimate-faqs' ),
967
- 'title' => __( 'Title', 'ultimate-faqs' ),
968
- 'modified' => __( 'Modified Date', 'ultimate-faqs' ),
969
- 'set_order' => __( 'Selected Order (Premium option)', 'ultimate-faqs' ),
970
- ),
971
- 'default' => $this->defaults['faq-order-by']
972
- )
973
- );
974
-
975
- $sap->add_setting(
976
- 'ewd-ufaq-settings',
977
- 'ewd-ufaq-ordering-settings',
978
- 'radio',
979
- array(
980
- 'id' => 'faq-order',
981
- 'title' => __( 'Sort FAQs Ordering', 'ultimate-faqs' ),
982
- 'description' => __( 'Should FAQ be ascending or descending order, based on the ordering criteria above?', 'ultimate-faqs' ),
983
- 'options' => array(
984
- 'asc' => __( 'Ascending', 'ultimate-faqs' ),
985
- 'desc' => __( 'Descending', 'ultimate-faqs' ),
986
- ),
987
- 'default' => $this->defaults['faq-order']
988
- )
989
- );
990
-
991
- if ( ! $ewd_ufaq_controller->permissions->check_permission( 'fields' ) ) {
992
- $ewd_ufaq_fields_permissions = array(
993
- 'disabled' => true,
994
- 'disabled_image'=> '#',
995
- 'purchase_link' => 'https://www.etoilewebdesign.com/plugins/ultimate-faq/'
996
- );
997
- }
998
- else { $ewd_ufaq_fields_permissions = array(); }
999
-
1000
- $sap->add_section(
1001
- 'ewd-ufaq-settings',
1002
- array(
1003
- 'id' => 'ewd-ufaq-fields-tab',
1004
- 'title' => __( 'Fields', 'ultimate-faqs' ),
1005
- 'is_tab' => true,
1006
- )
1007
- );
1008
-
1009
- $sap->add_section(
1010
- 'ewd-ufaq-settings',
1011
- array_merge(
1012
- array(
1013
- 'id' => 'ewd-ufaq-fields-settings',
1014
- 'title' => __( 'Settings', 'ultimate-faqs' ),
1015
- 'tab' => 'ewd-ufaq-fields-tab',
1016
- ),
1017
- $ewd_ufaq_fields_permissions
1018
- )
1019
- );
1020
-
1021
- $sap->add_setting(
1022
- 'ewd-ufaq-settings',
1023
- 'ewd-ufaq-fields-settings',
1024
- 'toggle',
1025
- array(
1026
- 'id' => 'hide-blank-fields',
1027
- 'title' => __( 'Hide Blank Fields', 'ultimate-faqs' ),
1028
- 'description' => __( 'Should field labels be hidden if a field hasn\'t been filled out for a particular FAQ?', 'ultimate-faqs' )
1029
- )
1030
- );
1031
-
1032
- $fields_description = __( 'Should any extra fields be added to the FAQs?', 'ultimate-faqs' ) . '<br />';
1033
- $fields_description .= __( 'The "Field Values" should be a comma-separated list of values for the select, radio or checkbox field types (no extra spaces after the comma).', 'ultimate-faqs' ) . '<br />';
1034
- $fields_description .= __( 'For security reasons, file fields cannot be included in the submit FAQ form.', 'ultimate-faqs' ) . '<br />';
1035
-
1036
- $sap->add_setting(
1037
- 'ewd-ufaq-settings',
1038
- 'ewd-ufaq-fields-settings',
1039
- 'infinite_table',
1040
- array(
1041
- 'id' => 'faq-fields',
1042
- 'title' => __( 'FAQ Custom Fields', 'ultimate-faqs' ),
1043
- 'add_label' => __( '&plus; ADD', 'ultimate-faqs' ),
1044
- 'del_label' => __( 'Delete', 'ultimate-faqs' ),
1045
- 'description' => $fields_description,
1046
- 'fields' => array(
1047
- 'id' => array(
1048
- 'type' => 'hidden',
1049
- 'label' => 'Field ID',
1050
- 'required' => true
1051
- ),
1052
- 'name' => array(
1053
- 'type' => 'text',
1054
- 'label' => 'Field Name',
1055
- 'required' => true
1056
- ),
1057
- 'type' => array(
1058
- 'type' => 'select',
1059
- 'label' => __( 'Field Type', 'ultimate-faqs' ),
1060
- 'options' => array(
1061
- 'text' => __( 'Text', 'ultimate-faqs' ),
1062
- 'textarea' => __( 'Text Area', 'ultimate-faqs' ),
1063
- 'select' => __( 'Select Box', 'ultimate-faqs' ),
1064
- 'radio' => __( 'Radio Buttons', 'ultimate-faqs' ),
1065
- 'checkbox' => __( 'Checkbox', 'ultimate-faqs' ),
1066
- 'file' => __( 'File', 'ultimate-faqs' ),
1067
- 'link' => __( 'Link', 'ultimate-faqs' ),
1068
- 'date' => __( 'Date', 'ultimate-faqs' ),
1069
- 'datetime' => __( 'Date/Time', 'ultimate-faqs' ),
1070
- )
1071
- ),
1072
- 'options' => array(
1073
- 'type' => 'text',
1074
- 'label' => __( 'Field Values', 'ultimate-faqs' ),
1075
- 'required' => false
1076
- )
1077
- )
1078
- )
1079
- );
1080
-
1081
- if ( ! $ewd_ufaq_controller->permissions->check_permission( 'labelling' ) ) {
1082
- $ewd_ufaq_labelling_permissions = array(
1083
- 'disabled' => true,
1084
- 'disabled_image'=> '#',
1085
- 'purchase_link' => 'https://www.etoilewebdesign.com/plugins/ultimate-faq/'
1086
- );
1087
- }
1088
- else { $ewd_ufaq_labelling_permissions = array(); }
1089
-
1090
- $sap->add_section(
1091
- 'ewd-ufaq-settings',
1092
- array(
1093
- 'id' => 'ewd-ufaq-labelling-tab',
1094
- 'title' => __( 'Labelling', 'ultimate-faqs' ),
1095
- 'is_tab' => true,
1096
- )
1097
- );
1098
-
1099
- $sap->add_section(
1100
- 'ewd-ufaq-settings',
1101
- array_merge(
1102
- array(
1103
- 'id' => 'ewd-ufaq-labelling-faq-and-search',
1104
- 'title' => __( 'FAQ Page and Search', 'ultimate-faqs' ),
1105
- 'tab' => 'ewd-ufaq-labelling-tab',
1106
- ),
1107
- $ewd_ufaq_labelling_permissions
1108
- )
1109
- );
1110
-
1111
- $sap->add_setting(
1112
- 'ewd-ufaq-settings',
1113
- 'ewd-ufaq-labelling-faq-and-search',
1114
- 'text',
1115
- array(
1116
- 'id' => 'label-posted',
1117
- 'title' => __( 'Posted', 'ultimate-faqs' ),
1118
- 'description' => ''
1119
- )
1120
- );
1121
-
1122
- $sap->add_setting(
1123
- 'ewd-ufaq-settings',
1124
- 'ewd-ufaq-labelling-faq-and-search',
1125
- 'text',
1126
- array(
1127
- 'id' => 'label-by',
1128
- 'title' => __( 'By', 'ultimate-faqs' ),
1129
- 'description' => ''
1130
- )
1131
- );
1132
-
1133
- $sap->add_setting(
1134
- 'ewd-ufaq-settings',
1135
- 'ewd-ufaq-labelling-faq-and-search',
1136
- 'text',
1137
- array(
1138
- 'id' => 'label-on',
1139
- 'title' => __( 'On', 'ultimate-faqs' ),
1140
- 'description' => ''
1141
- )
1142
- );
1143
-
1144
- $sap->add_setting(
1145
- 'ewd-ufaq-settings',
1146
- 'ewd-ufaq-labelling-faq-and-search',
1147
- 'text',
1148
- array(
1149
- 'id' => 'label-categories',
1150
- 'title' => __( 'Categories', 'ultimate-faqs' ),
1151
- 'description' => ''
1152
- )
1153
- );
1154
-
1155
- $sap->add_setting(
1156
- 'ewd-ufaq-settings',
1157
- 'ewd-ufaq-labelling-faq-and-search',
1158
- 'text',
1159
- array(
1160
- 'id' => 'label-tags',
1161
- 'title' => __( 'Tags', 'ultimate-faqs' ),
1162
- 'description' => ''
1163
- )
1164
- );
1165
-
1166
- $sap->add_setting(
1167
- 'ewd-ufaq-settings',
1168
- 'ewd-ufaq-labelling-faq-and-search',
1169
- 'text',
1170
- array(
1171
- 'id' => 'label-permalink',
1172
- 'title' => __( 'Permalink', 'ultimate-faqs' ),
1173
- 'description' => ''
1174
- )
1175
- );
1176
-
1177
- $sap->add_setting(
1178
- 'ewd-ufaq-settings',
1179
- 'ewd-ufaq-labelling-faq-and-search',
1180
- 'text',
1181
- array(
1182
- 'id' => 'label-back-to-top',
1183
- 'title' => __( 'Back To Top', 'ultimate-faqs' ),
1184
- 'description' => ''
1185
- )
1186
- );
1187
-
1188
- $sap->add_setting(
1189
- 'ewd-ufaq-settings',
1190
- 'ewd-ufaq-labelling-faq-and-search',
1191
- 'text',
1192
- array(
1193
- 'id' => 'label-woocommerce-tab',
1194
- 'title' => __( 'WooCommerce Tab', 'ultimate-faqs' ),
1195
- 'description' => ''
1196
- )
1197
- );
1198
-
1199
- $sap->add_setting(
1200
- 'ewd-ufaq-settings',
1201
- 'ewd-ufaq-labelling-faq-and-search',
1202
- 'text',
1203
- array(
1204
- 'id' => 'label-share-faq',
1205
- 'title' => __( 'Share', 'ultimate-faqs' ),
1206
- 'description' => ''
1207
- )
1208
- );
1209
-
1210
- $sap->add_setting(
1211
- 'ewd-ufaq-settings',
1212
- 'ewd-ufaq-labelling-faq-and-search',
1213
- 'text',
1214
- array(
1215
- 'id' => 'label-find-faq-helpful',
1216
- 'title' => __( 'Did you find this FAQ helpful?', 'ultimate-faqs' ),
1217
- 'description' => ''
1218
- )
1219
- );
1220
-
1221
- $sap->add_setting(
1222
- 'ewd-ufaq-settings',
1223
- 'ewd-ufaq-labelling-faq-and-search',
1224
- 'text',
1225
- array(
1226
- 'id' => 'label-enter-question',
1227
- 'title' => __( 'Enter your quetion', 'ultimate-faqs' ),
1228
- 'description' => ''
1229
- )
1230
- );
1231
-
1232
- $sap->add_setting(
1233
- 'ewd-ufaq-settings',
1234
- 'ewd-ufaq-labelling-faq-and-search',
1235
- 'text',
1236
- array(
1237
- 'id' => 'label-search-placeholder',
1238
- 'title' => __( 'Search Placeholder', 'ultimate-faqs' ),
1239
- 'description' => ''
1240
- )
1241
- );
1242
-
1243
- $sap->add_setting(
1244
- 'ewd-ufaq-settings',
1245
- 'ewd-ufaq-labelling-faq-and-search',
1246
- 'text',
1247
- array(
1248
- 'id' => 'label-search',
1249
- 'title' => __( 'Search Button', 'ultimate-faqs' ),
1250
- 'description' => ''
1251
- )
1252
- );
1253
-
1254
- $sap->add_setting(
1255
- 'ewd-ufaq-settings',
1256
- 'ewd-ufaq-labelling-faq-and-search',
1257
- 'text',
1258
- array(
1259
- 'id' => 'label-retrieving-results',
1260
- 'title' => __( 'Retrieving Results', 'ultimate-faqs' ),
1261
- 'description' => ''
1262
- )
1263
- );
1264
-
1265
- $sap->add_setting(
1266
- 'ewd-ufaq-settings',
1267
- 'ewd-ufaq-labelling-faq-and-search',
1268
- 'text',
1269
- array(
1270
- 'id' => 'label-no-results-found',
1271
- 'title' => __( 'No result FAQ\'s contained the term \'%s\'', 'ultimate-faqs' ),
1272
- 'description' => ''
1273
- )
1274
- );
1275
-
1276
- $sap->add_section(
1277
- 'ewd-ufaq-settings',
1278
- array_merge(
1279
- array(
1280
- 'id' => 'ewd-ufaq-labelling-faq-submit-page',
1281
- 'title' => __( 'FAQ Submit Page', 'ultimate-faqs' ),
1282
- 'tab' => 'ewd-ufaq-labelling-tab',
1283
- ),
1284
- $ewd_ufaq_labelling_permissions
1285
- )
1286
- );
1287
-
1288
- $sap->add_setting(
1289
- 'ewd-ufaq-settings',
1290
- 'ewd-ufaq-labelling-faq-submit-page',
1291
- 'text',
1292
- array(
1293
- 'id' => 'label-thank-you-submit',
1294
- 'title' => __( 'Thank you for submitting an FAQ', 'ultimate-faqs' ),
1295
- 'description' => ''
1296
- )
1297
- );
1298
-
1299
- $sap->add_setting(
1300
- 'ewd-ufaq-settings',
1301
- 'ewd-ufaq-labelling-faq-submit-page',
1302
- 'text',
1303
- array(
1304
- 'id' => 'label-submit-question',
1305
- 'title' => __( 'Submit a Question', 'ultimate-faqs' ),
1306
- 'description' => ''
1307
- )
1308
- );
1309
-
1310
- $sap->add_setting(
1311
- 'ewd-ufaq-settings',
1312
- 'ewd-ufaq-labelling-faq-submit-page',
1313
- 'text',
1314
- array(
1315
- 'id' => 'label-please-fill-form-below',
1316
- 'title' => __( 'Please fill out the form below to submit a question.', 'ultimate-faqs' ),
1317
- 'description' => ''
1318
- )
1319
- );
1320
-
1321
- $sap->add_setting(
1322
- 'ewd-ufaq-settings',
1323
- 'ewd-ufaq-labelling-faq-submit-page',
1324
- 'text',
1325
- array(
1326
- 'id' => 'label-send-question',
1327
- 'title' => __( 'Send Question', 'ultimate-faqs' ),
1328
- 'description' => ''
1329
- )
1330
- );
1331
-
1332
- $sap->add_setting(
1333
- 'ewd-ufaq-settings',
1334
- 'ewd-ufaq-labelling-faq-submit-page',
1335
- 'text',
1336
- array(
1337
- 'id' => 'label-question-title',
1338
- 'title' => __( 'Question Title', 'ultimate-faqs' ),
1339
- 'description' => ''
1340
- )
1341
- );
1342
-
1343
- $sap->add_setting(
1344
- 'ewd-ufaq-settings',
1345
- 'ewd-ufaq-labelling-faq-submit-page',
1346
- 'text',
1347
- array(
1348
- 'id' => 'label-question-title-explanation',
1349
- 'title' => __( 'What question is being answered?', 'ultimate-faqs' ),
1350
- 'description' => ''
1351
- )
1352
- );
1353
-
1354
- $sap->add_setting(
1355
- 'ewd-ufaq-settings',
1356
- 'ewd-ufaq-labelling-faq-submit-page',
1357
- 'text',
1358
- array(
1359
- 'id' => 'label-proposed-answer',
1360
- 'title' => __( 'Proposed Answer', 'ultimate-faqs' ),
1361
- 'description' => ''
1362
- )
1363
- );
1364
-
1365
- $sap->add_setting(
1366
- 'ewd-ufaq-settings',
1367
- 'ewd-ufaq-labelling-faq-submit-page',
1368
- 'text',
1369
- array(
1370
- 'id' => 'label-proposed-answer-explanation',
1371
- 'title' => __( 'What answer should be displayed for this question?', 'ultimate-faqs' ),
1372
- 'description' => ''
1373
- )
1374
- );
1375
-
1376
- $sap->add_setting(
1377
- 'ewd-ufaq-settings',
1378
- 'ewd-ufaq-labelling-faq-submit-page',
1379
- 'text',
1380
- array(
1381
- 'id' => 'label-question-author',
1382
- 'title' => __( 'Question Author', 'ultimate-faqs' ),
1383
- 'description' => ''
1384
- )
1385
- );
1386
-
1387
- $sap->add_setting(
1388
- 'ewd-ufaq-settings',
1389
- 'ewd-ufaq-labelling-faq-submit-page',
1390
- 'text',
1391
- array(
1392
- 'id' => 'label-captcha-image-number',
1393
- 'title' => __( 'Image Number', 'ultimate-faqs' ),
1394
- 'description' => ''
1395
- )
1396
- );
1397
-
1398
- $sap->add_setting(
1399
- 'ewd-ufaq-settings',
1400
- 'ewd-ufaq-labelling-faq-submit-page',
1401
- 'text',
1402
- array(
1403
- 'id' => 'label-question-author-explanation',
1404
- 'title' => __( 'What name should be displayed with your question?', 'ultimate-faqs' ),
1405
- 'description' => ''
1406
- )
1407
- );
1408
-
1409
- if ( ! $ewd_ufaq_controller->permissions->check_permission( 'styling' ) ) {
1410
- $ewd_ufaq_styling_permissions = array(
1411
- 'disabled' => true,
1412
- 'disabled_image'=> '#',
1413
- 'purchase_link' => 'https://www.etoilewebdesign.com/plugins/ultimate-faq/'
1414
- );
1415
- }
1416
- else { $ewd_ufaq_styling_permissions = array(); }
1417
-
1418
- $sap->add_section(
1419
- 'ewd-ufaq-settings',
1420
- array(
1421
- 'id' => 'ewd-ufaq-styling-tab',
1422
- 'title' => __( 'Styling', 'ultimate-faqs' ),
1423
- 'is_tab' => true,
1424
- )
1425
- );
1426
-
1427
- $sap->add_section(
1428
- 'ewd-ufaq-settings',
1429
- array_merge(
1430
- array(
1431
- 'id' => 'ewd-ufaq-styling-toggle-symbol',
1432
- 'title' => __( 'Toggle Symbol', 'ultimate-faqs' ),
1433
- 'tab' => 'ewd-ufaq-styling-tab',
1434
- ),
1435
- $ewd_ufaq_styling_permissions
1436
- )
1437
- );
1438
-
1439
- $sap->add_setting(
1440
- 'ewd-ufaq-settings',
1441
- 'ewd-ufaq-styling-toggle-symbol',
1442
- 'radio',
1443
- array(
1444
- 'id' => 'styling-toggle-symbol',
1445
- 'title' => __( 'Toggle Symbol', 'ultimate-lightbox' ),
1446
- 'columns' => '3',
1447
- 'options' => array(
1448
- 'A' => '<span class="ewd-ufaq-toggle-symbol">a A</span>',
1449
- 'B' => '<span class="ewd-ufaq-toggle-symbol">b B</span>',
1450
- 'C' => '<span class="ewd-ufaq-toggle-symbol">c C</span>',
1451
- 'D' => '<span class="ewd-ufaq-toggle-symbol">d D</span>',
1452
- 'E' => '<span class="ewd-ufaq-toggle-symbol">e E</span>',
1453
- 'F' => '<span class="ewd-ufaq-toggle-symbol">f F</span>',
1454
- 'G' => '<span class="ewd-ufaq-toggle-symbol">g G</span>',
1455
- 'H' => '<span class="ewd-ufaq-toggle-symbol">h H</span>',
1456
- 'I' => '<span class="ewd-ufaq-toggle-symbol">i I</span>',
1457
- 'J' => '<span class="ewd-ufaq-toggle-symbol">j J</span>',
1458
- 'K' => '<span class="ewd-ufaq-toggle-symbol">k K</span>',
1459
- 'L' => '<span class="ewd-ufaq-toggle-symbol">l L</span>',
1460
- 'M' => '<span class="ewd-ufaq-toggle-symbol">m M</span>',
1461
- 'N' => '<span class="ewd-ufaq-toggle-symbol">n N</span>',
1462
- 'O' => '<span class="ewd-ufaq-toggle-symbol">o O</span>',
1463
- ),
1464
- 'default' => $this->defaults['styling-toggle-symbol']
1465
- )
1466
- );
1467
-
1468
- $sap->add_setting(
1469
- 'ewd-ufaq-settings',
1470
- 'ewd-ufaq-styling-toggle-symbol',
1471
- 'colorpicker',
1472
- array(
1473
- 'id' => 'styling-toggle-background-color',
1474
- 'title' => __( 'Toggle Background Color', 'ultimate-faqs' )
1475
- )
1476
- );
1477
-
1478
- $sap->add_setting(
1479
- 'ewd-ufaq-settings',
1480
- 'ewd-ufaq-styling-toggle-symbol',
1481
- 'colorpicker',
1482
- array(
1483
- 'id' => 'styling-toggle-font-color',
1484
- 'title' => __( 'Toggle Color', 'ultimate-faqs' )
1485
- )
1486
- );
1487
-
1488
- $sap->add_setting(
1489
- 'ewd-ufaq-settings',
1490
- 'ewd-ufaq-styling-toggle-symbol',
1491
- 'colorpicker',
1492
- array(
1493
- 'id' => 'styling-toggle-border-color',
1494
- 'title' => __( 'Toggle Border Color', 'ultimate-faqs' )
1495
- )
1496
- );
1497
-
1498
- $sap->add_setting(
1499
- 'ewd-ufaq-settings',
1500
- 'ewd-ufaq-styling-toggle-symbol',
1501
- 'text',
1502
- array(
1503
- 'id' => 'styling-toggle-symbol-size',
1504
- 'title' => __( 'Toggle Font Size', 'ultimate-faqs' ),
1505
- 'description' => '',
1506
- 'small' => true
1507
- )
1508
- );
1509
-
1510
- $sap->add_setting(
1511
- 'ewd-ufaq-settings',
1512
- 'ewd-ufaq-styling-toggle-symbol',
1513
- 'text',
1514
- array(
1515
- 'id' => 'styling-toggle-border-size',
1516
- 'title' => __( 'Border Size', 'ultimate-faqs' ),
1517
- 'description' => '',
1518
- 'small' => true
1519
- )
1520
- );
1521
-
1522
- $sap->add_setting(
1523
- 'ewd-ufaq-settings',
1524
- 'ewd-ufaq-styling-toggle-symbol',
1525
- 'text',
1526
- array(
1527
- 'id' => 'styling-toggle-border-radius',
1528
- 'title' => __( 'Border Radius', 'ultimate-faqs' ),
1529
- 'description' => '',
1530
- 'small' => true
1531
- )
1532
- );
1533
-
1534
- $sap->add_section(
1535
- 'ewd-ufaq-settings',
1536
- array_merge(
1537
- array(
1538
- 'id' => 'ewd-ufaq-styling-themes',
1539
- 'title' => __( 'Themes', 'ultimate-faqs' ),
1540
- 'tab' => 'ewd-ufaq-styling-tab',
1541
- ),
1542
- $ewd_ufaq_styling_permissions
1543
- )
1544
- );
1545
-
1546
- $sap->add_setting(
1547
- 'ewd-ufaq-settings',
1548
- 'ewd-ufaq-styling-themes',
1549
- 'colorpicker',
1550
- array(
1551
- 'id' => 'styling-block-background-color',
1552
- 'title' => __( 'Block and Border Block Background Color', 'ultimate-faqs' )
1553
- )
1554
- );
1555
-
1556
- $sap->add_setting(
1557
- 'ewd-ufaq-settings',
1558
- 'ewd-ufaq-styling-themes',
1559
- 'colorpicker',
1560
- array(
1561
- 'id' => 'styling-block-font-color',
1562
- 'title' => __( 'Block and Border Block Hover Font Color', 'ultimate-faqs' )
1563
- )
1564
- );
1565
-
1566
- $sap->add_setting(
1567
- 'ewd-ufaq-settings',
1568
- 'ewd-ufaq-styling-themes',
1569
- 'colorpicker',
1570
- array(
1571
- 'id' => 'styling-list-font-color',
1572
- 'title' => __( 'List Font Color', 'ultimate-faqs' )
1573
- )
1574
- );
1575
-
1576
-
1577
- $sap->add_setting(
1578
- 'ewd-ufaq-settings',
1579
- 'ewd-ufaq-styling-themes',
1580
- 'text',
1581
- array(
1582
- 'id' => 'styling-list-font',
1583
- 'title' => __( 'Font Family', 'ultimate-faqs' ),
1584
- 'description' => '',
1585
- 'small' => true
1586
- )
1587
- );
1588
-
1589
- $sap->add_setting(
1590
- 'ewd-ufaq-settings',
1591
- 'ewd-ufaq-styling-themes',
1592
- 'text',
1593
- array(
1594
- 'id' => 'styling-list-font-size',
1595
- 'title' => __( 'Font Size', 'ultimate-faqs' ),
1596
- 'description' => '',
1597
- 'small' => true
1598
- )
1599
- );
1600
-
1601
- $sap->add_setting(
1602
- 'ewd-ufaq-settings',
1603
- 'ewd-ufaq-styling-themes',
1604
- 'text',
1605
- array(
1606
- 'id' => 'styling-list-margin',
1607
- 'title' => __( 'Margin', 'ultimate-faqs' ),
1608
- 'description' => '',
1609
- 'small' => true
1610
- )
1611
- );
1612
-
1613
- $sap->add_setting(
1614
- 'ewd-ufaq-settings',
1615
- 'ewd-ufaq-styling-themes',
1616
- 'text',
1617
- array(
1618
- 'id' => 'styling-list-padding',
1619
- 'title' => __( 'Padding', 'ultimate-faqs' ),
1620
- 'description' => '',
1621
- 'small' => true
1622
- )
1623
- );
1624
-
1625
- $sap->add_section(
1626
- 'ewd-ufaq-settings',
1627
- array_merge(
1628
- array(
1629
- 'id' => 'ewd-ufaq-styling-faq-elements',
1630
- 'title' => __( 'FAQ Elements', 'ultimate-faqs' ),
1631
- 'tab' => 'ewd-ufaq-styling-tab',
1632
- ),
1633
- $ewd_ufaq_styling_permissions
1634
- )
1635
- );
1636
-
1637
- $sap->add_setting(
1638
- 'ewd-ufaq-settings',
1639
- 'ewd-ufaq-styling-faq-elements',
1640
- 'colorpicker',
1641
- array(
1642
- 'id' => 'styling-question-font-color',
1643
- 'title' => __( 'Question Font Color', 'ultimate-faqs' )
1644
- )
1645
- );
1646
-
1647
-
1648
- $sap->add_setting(
1649
- 'ewd-ufaq-settings',
1650
- 'ewd-ufaq-styling-faq-elements',
1651
- 'text',
1652
- array(
1653
- 'id' => 'styling-question-font',
1654
- 'title' => __( 'Question Font Family', 'ultimate-faqs' ),
1655
- 'description' => '',
1656
- 'small' => true
1657
- )
1658
- );
1659
-
1660
- $sap->add_setting(
1661
- 'ewd-ufaq-settings',
1662
- 'ewd-ufaq-styling-faq-elements',
1663
- 'text',
1664
- array(
1665
- 'id' => 'styling-question-font-size',
1666
- 'title' => __( 'Question Font Size', 'ultimate-faqs' ),
1667
- 'description' => '',
1668
- 'small' => true
1669
- )
1670
- );
1671
-
1672
- $sap->add_setting(
1673
- 'ewd-ufaq-settings',
1674
- 'ewd-ufaq-styling-faq-elements',
1675
- 'text',
1676
- array(
1677
- 'id' => 'styling-question-margin',
1678
- 'title' => __( 'Question Margin', 'ultimate-faqs' ),
1679
- 'description' => '',
1680
- 'small' => true
1681
- )
1682
- );
1683
-
1684
- $sap->add_setting(
1685
- 'ewd-ufaq-settings',
1686
- 'ewd-ufaq-styling-faq-elements',
1687
- 'text',
1688
- array(
1689
- 'id' => 'styling-question-padding',
1690
- 'title' => __( 'Question Padding', 'ultimate-faqs' ),
1691
- 'description' => '',
1692
- 'small' => true
1693
- )
1694
- );
1695
-
1696
- $sap->add_setting(
1697
- 'ewd-ufaq-settings',
1698
- 'ewd-ufaq-styling-faq-elements',
1699
- 'text',
1700
- array(
1701
- 'id' => 'styling-question-icon-top-margin',
1702
- 'title' => __( 'Toggle Symbol Top Margin', 'ultimate-faqs' ),
1703
- 'description' => '',
1704
- 'small' => true
1705
- )
1706
- );
1707
-
1708
- $sap->add_setting(
1709
- 'ewd-ufaq-settings',
1710
- 'ewd-ufaq-styling-faq-elements',
1711
- 'colorpicker',
1712
- array(
1713
- 'id' => 'styling-answer-font-color',
1714
- 'title' => __( 'Answer Font Color', 'ultimate-faqs' )
1715
- )
1716
- );
1717
-
1718
-
1719
- $sap->add_setting(
1720
- 'ewd-ufaq-settings',
1721
- 'ewd-ufaq-styling-faq-elements',
1722
- 'text',
1723
- array(
1724
- 'id' => 'styling-answer-font',
1725
- 'title' => __( 'Answer Font Family', 'ultimate-faqs' ),
1726
- 'description' => '',
1727
- 'small' => true
1728
- )
1729
- );
1730
-
1731
- $sap->add_setting(
1732
- 'ewd-ufaq-settings',
1733
- 'ewd-ufaq-styling-faq-elements',
1734
- 'text',
1735
- array(
1736
- 'id' => 'styling-answer-font-size',
1737
- 'title' => __( 'Answer Font Size', 'ultimate-faqs' ),
1738
- 'description' => '',
1739
- 'small' => true
1740
- )
1741
- );
1742
-
1743
- $sap->add_setting(
1744
- 'ewd-ufaq-settings',
1745
- 'ewd-ufaq-styling-faq-elements',
1746
- 'text',
1747
- array(
1748
- 'id' => 'styling-answer-margin',
1749
- 'title' => __( 'Answer Margin', 'ultimate-faqs' ),
1750
- 'description' => '',
1751
- 'small' => true
1752
- )
1753
- );
1754
-
1755
- $sap->add_setting(
1756
- 'ewd-ufaq-settings',
1757
- 'ewd-ufaq-styling-faq-elements',
1758
- 'text',
1759
- array(
1760
- 'id' => 'styling-answer-padding',
1761
- 'title' => __( 'Answer Padding', 'ultimate-faqs' ),
1762
- 'description' => '',
1763
- 'small' => true
1764
- )
1765
- );
1766
-
1767
- $sap->add_setting(
1768
- 'ewd-ufaq-settings',
1769
- 'ewd-ufaq-styling-faq-elements',
1770
- 'colorpicker',
1771
- array(
1772
- 'id' => 'styling-category-font-color',
1773
- 'title' => __( 'Categories, Tags Font Color', 'ultimate-faqs' )
1774
- )
1775
- );
1776
-
1777
-
1778
- $sap->add_setting(
1779
- 'ewd-ufaq-settings',
1780
- 'ewd-ufaq-styling-faq-elements',
1781
- 'text',
1782
- array(
1783
- 'id' => 'styling-category-font',
1784
- 'title' => __( 'Categories, Tags Font Family', 'ultimate-faqs' ),
1785
- 'description' => '',
1786
- 'small' => true
1787
- )
1788
- );
1789
-
1790
- $sap->add_setting(
1791
- 'ewd-ufaq-settings',
1792
- 'ewd-ufaq-styling-faq-elements',
1793
- 'text',
1794
- array(
1795
- 'id' => 'styling-category-font-size',
1796
- 'title' => __( 'Categories, Tags Font Size', 'ultimate-faqs' ),
1797
- 'description' => '',
1798
- 'small' => true
1799
- )
1800
- );
1801
-
1802
- $sap->add_setting(
1803
- 'ewd-ufaq-settings',
1804
- 'ewd-ufaq-styling-faq-elements',
1805
- 'text',
1806
- array(
1807
- 'id' => 'styling-category-margin',
1808
- 'title' => __( 'Categories, Tags Margin', 'ultimate-faqs' ),
1809
- 'description' => '',
1810
- 'small' => true
1811
- )
1812
- );
1813
-
1814
- $sap->add_setting(
1815
- 'ewd-ufaq-settings',
1816
- 'ewd-ufaq-styling-faq-elements',
1817
- 'text',
1818
- array(
1819
- 'id' => 'styling-category-padding',
1820
- 'title' => __( 'Categories, Tags Padding', 'ultimate-faqs' ),
1821
- 'description' => '',
1822
- 'small' => true
1823
- )
1824
- );
1825
-
1826
- $sap->add_setting(
1827
- 'ewd-ufaq-settings',
1828
- 'ewd-ufaq-styling-faq-elements',
1829
- 'colorpicker',
1830
- array(
1831
- 'id' => 'styling-postdate-font-color',
1832
- 'title' => __( 'Post Date Font Color', 'ultimate-faqs' )
1833
- )
1834
- );
1835
-
1836
-
1837
- $sap->add_setting(
1838
- 'ewd-ufaq-settings',
1839
- 'ewd-ufaq-styling-faq-elements',
1840
- 'text',
1841
- array(
1842
- 'id' => 'styling-postdate-font',
1843
- 'title' => __( 'Post Date Font Family', 'ultimate-faqs' ),
1844
- 'description' => '',
1845
- 'small' => true
1846
- )
1847
- );
1848
-
1849
- $sap->add_setting(
1850
- 'ewd-ufaq-settings',
1851
- 'ewd-ufaq-styling-faq-elements',
1852
- 'text',
1853
- array(
1854
- 'id' => 'styling-postdate-font-size',
1855
- 'title' => __( 'Post Date Font Size', 'ultimate-faqs' ),
1856
- 'description' => '',
1857
- 'small' => true
1858
- )
1859
- );
1860
-
1861
- $sap->add_setting(
1862
- 'ewd-ufaq-settings',
1863
- 'ewd-ufaq-styling-faq-elements',
1864
- 'text',
1865
- array(
1866
- 'id' => 'styling-postdate-margin',
1867
- 'title' => __( 'Post Date Margin', 'ultimate-faqs' ),
1868
- 'description' => '',
1869
- 'small' => true
1870
- )
1871
- );
1872
-
1873
- $sap->add_setting(
1874
- 'ewd-ufaq-settings',
1875
- 'ewd-ufaq-styling-faq-elements',
1876
- 'text',
1877
- array(
1878
- 'id' => 'styling-postdate-padding',
1879
- 'title' => __( 'Post Date Padding', 'ultimate-faqs' ),
1880
- 'description' => '',
1881
- 'small' => true
1882
- )
1883
- );
1884
-
1885
- $sap->add_section(
1886
- 'ewd-ufaq-settings',
1887
- array_merge(
1888
- array(
1889
- 'id' => 'ewd-ufaq-styling-headings',
1890
- 'title' => __( 'Headings', 'ultimate-faqs' ),
1891
- 'tab' => 'ewd-ufaq-styling-tab',
1892
- ),
1893
- $ewd_ufaq_styling_permissions
1894
- )
1895
- );
1896
-
1897
- $sap->add_setting(
1898
- 'ewd-ufaq-settings',
1899
- 'ewd-ufaq-styling-headings',
1900
- 'radio',
1901
- array(
1902
- 'id' => 'styling-category-heading-type',
1903
- 'title' => __( 'Category Heading Type', 'ultimate-faqs' ),
1904
- 'options' => array(
1905
- 'h1' => __( 'H1', 'ultimate-faqs' ),
1906
- 'h2' => __( 'H2', 'ultimate-faqs' ),
1907
- 'h3' => __( 'H3', 'ultimate-faqs' ),
1908
- 'h4' => __( 'H4', 'ultimate-faqs' ),
1909
- 'h5' => __( 'H5', 'ultimate-faqs' ),
1910
- 'h6' => __( 'H6', 'ultimate-faqs' ),
1911
- ),
1912
- 'default' => $this->defaults['styling-category-heading-type']
1913
- )
1914
- );
1915
-
1916
- $sap->add_setting(
1917
- 'ewd-ufaq-settings',
1918
- 'ewd-ufaq-styling-headings',
1919
- 'radio',
1920
- array(
1921
- 'id' => 'styling-faq-heading-type',
1922
- 'title' => __( 'FAQ Heading Type', 'ultimate-faqs' ),
1923
- 'options' => array(
1924
- 'h1' => __( 'H1', 'ultimate-faqs' ),
1925
- 'h2' => __( 'H2', 'ultimate-faqs' ),
1926
- 'h3' => __( 'H3', 'ultimate-faqs' ),
1927
- 'h4' => __( 'H4', 'ultimate-faqs' ),
1928
- 'h5' => __( 'H5', 'ultimate-faqs' ),
1929
- 'h6' => __( 'H6', 'ultimate-faqs' ),
1930
- ),
1931
- 'default' => $this->defaults['styling-faq-heading-type']
1932
- )
1933
- );
1934
-
1935
- $sap->add_setting(
1936
- 'ewd-ufaq-settings',
1937
- 'ewd-ufaq-styling-headings',
1938
- 'colorpicker',
1939
- array(
1940
- 'id' => 'styling-category-heading-font-color',
1941
- 'title' => __( 'Category Heading Font Color', 'ultimate-faqs' )
1942
- )
1943
- );
1944
-
1945
-
1946
- $sap->add_setting(
1947
- 'ewd-ufaq-settings',
1948
- 'ewd-ufaq-styling-headings',
1949
- 'text',
1950
- array(
1951
- 'id' => 'styling-category-heading-font',
1952
- 'title' => __( 'Category Heading Font Family', 'ultimate-faqs' ),
1953
- 'description' => '',
1954
- 'small' => true
1955
- )
1956
- );
1957
-
1958
- $sap->add_setting(
1959
- 'ewd-ufaq-settings',
1960
- 'ewd-ufaq-styling-headings',
1961
- 'text',
1962
- array(
1963
- 'id' => 'styling-category-heading-font-size',
1964
- 'title' => __( 'Category Heading Font Size', 'ultimate-faqs' ),
1965
- 'description' => '',
1966
- 'small' => true
1967
- )
1968
- );
1969
-
1970
- $sap = apply_filters( 'ewd_ufaq_settings_page', $sap );
1971
-
1972
- $sap->add_admin_menus();
1973
-
1974
- }
1975
- }
1976
- } // endif;
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( ! class_exists( 'ewdufaqSettings' ) ) {
5
+ /**
6
+ * Class to handle configurable settings for Ultimate FAQs
7
+ * @since 2.0.0
8
+ */
9
+ class ewdufaqSettings {
10
+
11
+ /**
12
+ * Default values for settings
13
+ * @since 2.0.0
14
+ */
15
+ public $defaults = array();
16
+
17
+ /**
18
+ * Stored values for settings
19
+ * @since 2.0.0
20
+ */
21
+ public $settings = array();
22
+
23
+ public function __construct() {
24
+
25
+ add_action( 'init', array( $this, 'set_defaults' ) );
26
+
27
+ add_action( 'init', array( $this, 'load_settings_panel' ), 11 );
28
+ }
29
+
30
+ /**
31
+ * Load the plugin's default settings
32
+ * @since 2.0.0
33
+ */
34
+ public function set_defaults() {
35
+
36
+ $this->defaults = array(
37
+
38
+ 'include-permalink' => 'none',
39
+ 'permalink-type' => 'same_page',
40
+ 'access-role' => 'manage_options',
41
+
42
+ 'display-style' => 'default',
43
+ 'slug-base' => 'ufaqs',
44
+ 'number-of-columns' => 'one',
45
+ 'faqs-per-page' => 100000,
46
+ 'page-type' => 'distinct',
47
+ 'wpforms-faq-location' => 'above',
48
+
49
+ 'category-order' => 'asc',
50
+ 'faq-order-by' => 'title',
51
+ 'faq-order' => 'asc',
52
+
53
+ 'faq-fields' => array(),
54
+
55
+ 'styling-toggle-symbol' => 'A',
56
+ 'styling-category-heading-type' => 'h3',
57
+ 'styling-faq-heading-type' => 'h4',
58
+
59
+ 'faq-elements-order' => json_encode(
60
+ array(
61
+ 'categories' => 'Categories',
62
+ 'body' => 'Body',
63
+ 'author_date' => 'Author/Date',
64
+ 'custom_fields' => 'Custom Fields',
65
+ 'tags' => 'Tags',
66
+ 'ratings' => 'Ratings',
67
+ 'social_media' => 'Social Media',
68
+ 'permalink' => 'Permalink',
69
+ 'comments' => 'Comments',
70
+ 'back_to_top' => 'Back to Top',
71
+ )
72
+ ),
73
+
74
+ 'label-retrieving-results' => __( 'Retrieving Results', 'ultimate-faqs' ),
75
+ 'label-no-results-found' => __( 'No result FAQ\'s contained the term \'%s\'', 'ultimate-faqs' ),
76
+ 'label-woocommerce-tab' => __( 'FAQs', 'ultimate-faqs' ),
77
+ 'label-thank-you-submit' => __( 'Thank you for submitting an FAQ.', 'ultimate-faqs' ),
78
+ );
79
+
80
+ $this->defaults = apply_filters( 'ewd_ufaq_defaults', $this->defaults );
81
+ }
82
+
83
+ /**
84
+ * Get a setting's value or fallback to a default if one exists
85
+ * @since 2.0.0
86
+ */
87
+ public function get_setting( $setting ) {
88
+
89
+ if ( empty( $this->settings ) ) {
90
+ $this->settings = get_option( 'ewd-ufaq-settings' );
91
+ }
92
+
93
+ if ( ! empty( $this->settings[ $setting ] ) ) {
94
+ return apply_filters( 'ewd-ufaq-settings-' . $setting, $this->settings[ $setting ] );
95
+ }
96
+
97
+ if ( ! empty( $this->defaults[ $setting ] ) ) {
98
+ return apply_filters( 'ewd-ufaq-settings-' . $setting, $this->defaults[ $setting ] );
99
+ }
100
+
101
+ return apply_filters( 'ewd-ufaq-settings-' . $setting, null );
102
+ }
103
+
104
+ /**
105
+ * Set a setting to a particular value
106
+ * @since 2.0.0
107
+ */
108
+ public function set_setting( $setting, $value ) {
109
+
110
+ $this->settings[ $setting ] = $value;
111
+ }
112
+
113
+ /**
114
+ * Save all settings, to be used with set_setting
115
+ * @since 2.0.0
116
+ */
117
+ public function save_settings() {
118
+
119
+ update_option( 'ewd-ufaq-settings', $this->settings );
120
+ }
121
+
122
+ /**
123
+ * Load the admin settings page
124
+ * @since 2.0.0
125
+ * @sa https://github.com/NateWr/simple-admin-pages
126
+ */
127
+ public function load_settings_panel() {
128
+
129
+ global $ewd_ufaq_controller;
130
+
131
+ require_once( EWD_UFAQ_PLUGIN_DIR . '/lib/simple-admin-pages/simple-admin-pages.php' );
132
+ $sap = sap_initialize_library(
133
+ $args = array(
134
+ 'version' => '2.5.3',
135
+ 'lib_url' => EWD_UFAQ_PLUGIN_URL . '/lib/simple-admin-pages/',
136
+ )
137
+ );
138
+
139
+ $sap->add_page(
140
+ 'submenu',
141
+ array(
142
+ 'id' => 'ewd-ufaq-settings',
143
+ 'title' => __( 'Settings', 'ultimate-faqs' ),
144
+ 'menu_title' => __( 'Settings', 'ultimate-faqs' ),
145
+ 'parent_menu' => 'edit.php?post_type=ufaq',
146
+ 'description' => '',
147
+ 'capability' => $this->get_setting( 'access-role' ),
148
+ 'default_tab' => 'ewd-ufaq-basic-tab',
149
+ )
150
+ );
151
+
152
+ $sap->add_section(
153
+ 'ewd-ufaq-settings',
154
+ array(
155
+ 'id' => 'ewd-ufaq-basic-tab',
156
+ 'title' => __( 'Basic', 'ultimate-faqs' ),
157
+ 'is_tab' => true,
158
+ )
159
+ );
160
+
161
+ $sap->add_section(
162
+ 'ewd-ufaq-settings',
163
+ array(
164
+ 'id' => 'ewd-ufaq-general',
165
+ 'title' => __( 'General', 'ultimate-faqs' ),
166
+ 'tab' => 'ewd-ufaq-basic-tab',
167
+ )
168
+ );
169
+
170
+ $sap->add_setting(
171
+ 'ewd-ufaq-settings',
172
+ 'ewd-ufaq-general',
173
+ 'warningtip',
174
+ array(
175
+ 'id' => 'shortcodes-reminder',
176
+ 'title' => __( 'REMINDER:', 'ultimate-faqs' ),
177
+ 'placeholder' => __( 'To display FAQs, place the [ultimate-faqs] shortcode on a page' )
178
+ )
179
+ );
180
+
181
+ $sap->add_setting(
182
+ 'ewd-ufaq-settings',
183
+ 'ewd-ufaq-general',
184
+ 'textarea',
185
+ array(
186
+ 'id' => 'custom-css',
187
+ 'title' => __( 'Custom CSS', 'ultimate-faqs' ),
188
+ 'description' => __( 'You can add custom CSS styles to your FAQs in the box above.', 'ultimate-faqs' ), )
189
+ );
190
+
191
+ $sap->add_setting(
192
+ 'ewd-ufaq-settings',
193
+ 'ewd-ufaq-general',
194
+ 'toggle',
195
+ array(
196
+ 'id' => 'scroll-to-top',
197
+ 'title' => __( 'Scroll To Top', 'ultimate-faqs' ),
198
+ 'description' => __( 'Should the browser scroll to the top of the FAQ when it\'s opened?', 'ultimate-faqs' )
199
+ )
200
+ );
201
+
202
+ $sap->add_setting(
203
+ 'ewd-ufaq-settings',
204
+ 'ewd-ufaq-general',
205
+ 'toggle',
206
+ array(
207
+ 'id' => 'comments-on',
208
+ 'title' => __( 'Turn On Comment Support', 'ultimate-faqs' ),
209
+ 'description' => __( 'Should comment support be turned on, so that if the "Allow Comments" checkbox is selected for a given FAQ, comments are shown in the FAQ list?', 'ultimate-faqs' )
210
+ )
211
+ );
212
+
213
+ $sap->add_setting(
214
+ 'ewd-ufaq-settings',
215
+ 'ewd-ufaq-general',
216
+ 'toggle',
217
+ array(
218
+ 'id' => 'disable-microdata',
219
+ 'title' => __( 'Disable Microdata', 'ultimate-faqs' ),
220
+ 'description' => __( 'By default, the plugin adds FAQ page scheme when the shortcode is used. Select this option to disable this behaviour.', 'ultimate-faqs' )
221
+ )
222
+ );
223
+
224
+ $sap->add_setting(
225
+ 'ewd-ufaq-settings',
226
+ 'ewd-ufaq-general',
227
+ 'radio',
228
+ array(
229
+ 'id' => 'include-permalink',
230
+ 'title' => __( 'Include Permalink', 'ultimate-faqs' ),
231
+ 'description' => __( 'Display permalink to each question? If so, text, icon or both?', 'ultimate-faqs' ),
232
+ 'options' => array(
233
+ 'none' => __( 'None', 'ultimate-faqs' ),
234
+ 'text' => __( 'Text', 'ultimate-faqs' ),
235
+ 'icon' => __( 'Icon', 'ultimate-faqs' ),
236
+ 'both' => __( 'Both', 'ultimate-faqs' ),
237
+ ),
238
+ 'default' => $this->defaults['include-permalink']
239
+ )
240
+ );
241
+
242
+ $sap->add_setting(
243
+ 'ewd-ufaq-settings',
244
+ 'ewd-ufaq-general',
245
+ 'radio',
246
+ array(
247
+ 'id' => 'permalink-type',
248
+ 'title' => __( 'Permalink Destination', 'ultimate-faqs' ),
249
+ 'description' => __( 'Should the permalink link to the main FAQ page or the individual FAQ page?', 'ultimate-faqs' ),
250
+ 'options' => array(
251
+ 'same_page' => __( 'Main FAQ Page', 'ultimate-faqs' ),
252
+ 'individual_page' => __( 'Individual FAQ Page', 'ultimate-faqs' ),
253
+ ),
254
+ 'default' => $this->defaults['permalink-type']
255
+ )
256
+ );
257
+
258
+ $sap->add_setting(
259
+ 'ewd-ufaq-settings',
260
+ 'ewd-ufaq-general',
261
+ 'select',
262
+ array(
263
+ 'id' => 'access-role',
264
+ 'title' => __( 'Set Access Role', 'ultimate-faqs' ),
265
+ 'description' => __( 'Which level of user should have access to FAQs, Settings, etc.?.', 'ultimate-faqs' ),
266
+ 'blank_option' => false,
267
+ 'options' => array(
268
+ 'administrator' => __( 'Administrator', 'ultimate-faqs' ),
269
+ 'delete_others_pages' => __( 'Editor', 'ultimate-faqs' ),
270
+ 'delete_published_posts' => __( 'Author', 'ultimate-faqs' ),
271
+ 'delete_posts' => __( 'Contributor', 'ultimate-faqs' ),
272
+ )
273
+ )
274
+ );
275
+
276
+ $sap->add_section(
277
+ 'ewd-ufaq-settings',
278
+ array(
279
+ 'id' => 'ewd-ufaq-functionality',
280
+ 'title' => __( 'Functionality', 'ultimate-faqs' ),
281
+ 'tab' => 'ewd-ufaq-basic-tab',
282
+ )
283
+ );
284
+
285
+ $sap->add_setting(
286
+ 'ewd-ufaq-settings',
287
+ 'ewd-ufaq-functionality',
288
+ 'toggle',
289
+ array(
290
+ 'id' => 'disable-faq-toggle',
291
+ 'title' => __( 'Disable FAQ Toggle', 'ultimate-faqs' ),
292
+ 'description' => __( 'Should the FAQs open on a separate page when clicked, instead of opening and closing?', 'ultimate-faqs' )
293
+ )
294
+ );
295
+
296
+ $sap->add_setting(
297
+ 'ewd-ufaq-settings',
298
+ 'ewd-ufaq-functionality',
299
+ 'toggle',
300
+ array(
301
+ 'id' => 'faq-accordion',
302
+ 'title' => __( 'FAQ Accordion', 'ultimate-faqs' ),
303
+ 'description' => __( 'Should the FAQs accordion? (Only one FAQ is open at a time, requires FAQ Toggle)', 'ultimate-faqs' )
304
+ )
305
+ );
306
+
307
+ $sap->add_setting(
308
+ 'ewd-ufaq-settings',
309
+ 'ewd-ufaq-functionality',
310
+ 'toggle',
311
+ array(
312
+ 'id' => 'faq-category-toggle',
313
+ 'title' => __( 'FAQ Category Toggle', 'ultimate-faqs' ),
314
+ 'description' => __( 'Should the FAQ categories hide/open when they are clicked, if FAQs are being grouped by category ("Group FAQs by Category" in the "Ordering" area)?', 'ultimate-faqs' )
315
+ )
316
+ );
317
+
318
+ $sap->add_setting(
319
+ 'ewd-ufaq-settings',
320
+ 'ewd-ufaq-functionality',
321
+ 'toggle',
322
+ array(
323
+ 'id' => 'faq-category-accordion',
324
+ 'title' => __( 'FAQ Category Accordion', 'ultimate-faqs' ),
325
+ 'description' => __( 'Should it only be possible to open one FAQ category at a time, if FAQ categories are being toggled ("FAQ Category Toggle" must be enabled above)?', 'ultimate-faqs' )
326
+ )
327
+ );
328
+
329
+ $sap->add_setting(
330
+ 'ewd-ufaq-settings',
331
+ 'ewd-ufaq-functionality',
332
+ 'toggle',
333
+ array(
334
+ 'id' => 'expand-collapse-all',
335
+ 'title' => __( 'FAQ Expand/Collapse All', 'ultimate-faqs' ),
336
+ 'description' => __( 'Should there be a control to open and close all FAQs simultaneously?', 'ultimate-faqs' )
337
+ )
338
+ );
339
+
340
+ $sap->add_section(
341
+ 'ewd-ufaq-settings',
342
+ array(
343
+ 'id' => 'ewd-ufaq-display',
344
+ 'title' => __( 'Display', 'ultimate-faqs' ),
345
+ 'tab' => 'ewd-ufaq-basic-tab',
346
+ )
347
+ );
348
+
349
+ $sap->add_setting(
350
+ 'ewd-ufaq-settings',
351
+ 'ewd-ufaq-display',
352
+ 'toggle',
353
+ array(
354
+ 'id' => 'hide-categories',
355
+ 'title' => __( 'Hide Categories', 'ultimate-faqs' ),
356
+ 'description' => __( 'Should the categories for each FAQ be hidden?', 'ultimate-faqs' )
357
+ )
358
+ );
359
+
360
+ $sap->add_setting(
361
+ 'ewd-ufaq-settings',
362
+ 'ewd-ufaq-display',
363
+ 'toggle',
364
+ array(
365
+ 'id' => 'hide-tags',
366
+ 'title' => __( 'Hide Tags', 'ultimate-faqs' ),
367
+ 'description' => __( 'Should the tags for each FAQ be hidden?', 'ultimate-faqs' )
368
+ )
369
+ );
370
+
371
+ $sap->add_setting(
372
+ 'ewd-ufaq-settings',
373
+ 'ewd-ufaq-display',
374
+ 'toggle',
375
+ array(
376
+ 'id' => 'display-all-answers',
377
+ 'title' => __( 'Display All Answers', 'ultimate-faqs' ),
378
+ 'description' => __( 'Should all answers be displayed when the page loads? (Careful if FAQ Accordion is on)', 'ultimate-faqs' )
379
+ )
380
+ );
381
+
382
+ $sap->add_setting(
383
+ 'ewd-ufaq-settings',
384
+ 'ewd-ufaq-display',
385
+ 'toggle',
386
+ array(
387
+ 'id' => 'display-author',
388
+ 'title' => __( 'Display Post Author', 'ultimate-faqs' ),
389
+ 'description' => __( 'Should the display name of the post\'s author be displayed beneath the FAQ title?', 'ultimate-faqs' )
390
+ )
391
+ );
392
+
393
+ $sap->add_setting(
394
+ 'ewd-ufaq-settings',
395
+ 'ewd-ufaq-display',
396
+ 'toggle',
397
+ array(
398
+ 'id' => 'display-date',
399
+ 'title' => __( 'Display Post Date', 'ultimate-faqs' ),
400
+ 'description' => __( 'Should the date the post was created be displayed beneath the FAQ title?', 'ultimate-faqs' )
401
+ )
402
+ );
403
+
404
+ $sap->add_setting(
405
+ 'ewd-ufaq-settings',
406
+ 'ewd-ufaq-display',
407
+ 'toggle',
408
+ array(
409
+ 'id' => 'display-back-to-top',
410
+ 'title' => __( 'Display \'Back to Top\'', 'ultimate-faqs' ),
411
+ 'description' => __( 'Should a link to return to the top of the page be added to each FAQ post?', 'ultimate-faqs' )
412
+ )
413
+ );
414
+
415
+ if ( ! $ewd_ufaq_controller->permissions->check_permission( 'premium' ) ) {
416
+ $ewd_ufaq_premium_permissions = array(
417
+ 'disabled' => true,
418
+ 'disabled_image'=> '#',
419
+ 'purchase_link' => 'https://www.etoilewebdesign.com/plugins/ultimate-faq/'
420
+ );
421
+ }
422
+ else { $ewd_ufaq_premium_permissions = array(); }
423
+
424
+ $sap->add_section(
425
+ 'ewd-ufaq-settings',
426
+ array(
427
+ 'id' => 'ewd-ufaq-premium-tab',
428
+ 'title' => __( 'Premium', 'ultimate-faqs' ),
429
+ 'is_tab' => true,
430
+ )
431
+ );
432
+
433
+ $sap->add_section(
434
+ 'ewd-ufaq-settings',
435
+ array_merge(
436
+ array(
437
+ 'id' => 'ewd-ufaq-premium-display',
438
+ 'title' => __( 'Display', 'ultimate-faqs' ),
439
+ 'tab' => 'ewd-ufaq-premium-tab',
440
+ ),
441
+ $ewd_ufaq_premium_permissions
442
+ )
443
+ );
444
+
445
+ $sap->add_setting(
446
+ 'ewd-ufaq-settings',
447
+ 'ewd-ufaq-premium-display',
448
+ 'radio',
449
+ array(
450
+ 'id' => 'display-style',
451
+ 'title' => __( 'FAQ Display Style', 'ultimate-faqs' ),
452
+ 'description' => __( 'Which theme should be used to display the FAQ\'s?', 'ultimate-faqs' ),
453
+ 'options' => array(
454
+ 'default' => __( 'Default', 'ultimate-faqs' ),
455
+ 'block' => __( 'Block', 'ultimate-faqs' ),
456
+ 'border_block' => __( 'Border Block', 'ultimate-faqs' ),
457
+ 'contemporary' => __( 'Contemporary', 'ultimate-faqs' ),
458
+ 'list' => __( 'List', 'ultimate-faqs' ),
459
+ 'minimalist' => __( 'Minimalist', 'ultimate-faqs' ),
460
+ ),
461
+ 'default' => $this->defaults['display-style']
462
+ )
463
+ );
464
+
465
+ $sap->add_setting(
466
+ 'ewd-ufaq-settings',
467
+ 'ewd-ufaq-premium-display',
468
+ 'radio',
469
+ array(
470
+ 'id' => 'number-of-columns',
471
+ 'title' => __( 'Number of Columns', 'ultimate-faqs' ),
472
+ 'description' => __( 'In how many columns would you like your FAQs displayed?', 'ultimate-faqs' ),
473
+ 'options' => array(
474
+ 'one' => __( 'One', 'ultimate-faqs' ),
475
+ 'two' => __( 'Two', 'ultimate-faqs' ),
476
+ 'three' => __( 'Three', 'ultimate-faqs' ),
477
+ 'four' => __( 'Four', 'ultimate-faqs' ),
478
+ ),
479
+ 'default' => $this->defaults['number-of-columns']
480
+ )
481
+ );
482
+
483
+ $sap->add_setting(
484
+ 'ewd-ufaq-settings',
485
+ 'ewd-ufaq-premium-display',
486
+ 'toggle',
487
+ array(
488
+ 'id' => 'responsive-columns',
489
+ 'title' => __( 'Responsive Columns', 'ultimate-faqs' ),
490
+ 'description' => __( 'If you have more than one column, would you like them to be responsive? If this option is disabled, the number of columns will remain the same on all screen sizes.', 'ultimate-faqs' )
491
+ )
492
+ );
493
+
494
+ $sap->add_setting(
495
+ 'ewd-ufaq-settings',
496
+ 'ewd-ufaq-premium-display',
497
+ 'select',
498
+ array(
499
+ 'id' => 'reveal-effect',
500
+ 'title' => __( 'Reveal Effect', 'ultimate-faqs' ),
501
+ 'description' => __( 'How should FAQ\'s be displayed when their titles are clicked?', 'ultimate-faqs' ),
502
+ 'blank_option' => false,
503
+ 'options' => array(
504
+ 'none' => __( 'None', 'ultimate-faqs' ),
505
+ 'blind' => __( 'Blind', 'ultimate-faqs' ),
506
+ 'bounce' => __( 'Bounce', 'ultimate-faqs' ),
507
+ 'clip' => __( 'Clip', 'ultimate-faqs' ),
508
+ 'drop' => __( 'Drop', 'ultimate-faqs' ),
509
+ 'explode' => __( 'Explode', 'ultimate-faqs' ),
510
+ 'fade' => __( 'Fade', 'ultimate-faqs' ),
511
+ 'fold' => __( 'Fold', 'ultimate-faqs' ),
512
+ 'highlight' => __( 'Highlight', 'ultimate-faqs' ),
513
+ 'puff' => __( 'Puff', 'ultimate-faqs' ),
514
+ 'pulsate' => __( 'Pulsate', 'ultimate-faqs' ),
515
+ 'shake' => __( 'Shake', 'ultimate-faqs' ),
516
+ 'size' => __( 'Size', 'ultimate-faqs' ),
517
+ 'slide' => __( 'Slide', 'ultimate-faqs' ),
518
+ )
519
+ )
520
+ );
521
+
522
+ $sap->add_setting(
523
+ 'ewd-ufaq-settings',
524
+ 'ewd-ufaq-premium-display',
525
+ 'text',
526
+ array(
527
+ 'id' => 'faqs-per-page',
528
+ 'title' => __( 'FAQs Per Page', 'ultimate-faqs' ),
529
+ 'description' => __( 'How many FAQs should be displayed on each page? (Leave blank to display all FAQs)', 'ultimate-faqs' ),
530
+ 'small' => true
531
+ )
532
+ );
533
+
534
+ $sap->add_setting(
535
+ 'ewd-ufaq-settings',
536
+ 'ewd-ufaq-premium-display',
537
+ 'radio',
538
+ array(
539
+ 'id' => 'page-type',
540
+ 'title' => __( 'FAQ Page Type', 'ultimate-faqs' ),
541
+ 'description' => __( 'If FAQs are in pages, how should pages load?', 'ultimate-faqs' ),
542
+ 'options' => array(
543
+ 'distinct' => __( 'Distinct Pages', 'ultimate-faqs' ),
544
+ 'load_more' => __( 'Load More Button', 'ultimate-faqs' ),
545
+ 'infinite_scroll' => __( 'Infinite Scroll', 'ultimate-faqs' )
546
+ ),
547
+ 'default' => $this->defaults['page-type']
548
+ )
549
+ );
550
+
551
+ $sap->add_section(
552
+ 'ewd-ufaq-settings',
553
+ array_merge(
554
+ array(
555
+ 'id' => 'ewd-ufaq-premium-general',
556
+ 'title' => __( 'General', 'ultimate-faqs' ),
557
+ 'tab' => 'ewd-ufaq-premium-tab',
558
+ ),
559
+ $ewd_ufaq_premium_permissions
560
+ )
561
+ );
562
+
563
+ $sap->add_setting(
564
+ 'ewd-ufaq-settings',
565
+ 'ewd-ufaq-premium-general',
566
+ 'toggle',
567
+ array(
568
+ 'id' => 'faq-ratings',
569
+ 'title' => __( 'FAQ Ratings', 'ultimate-faqs' ),
570
+ 'description' => __( 'Should visitors be able to up or down vote FAQs to let others know if they found them helpful?', 'ultimate-faqs' )
571
+ )
572
+ );
573
+
574
+ $sap->add_setting(
575
+ 'ewd-ufaq-settings',
576
+ 'ewd-ufaq-premium-general',
577
+ 'file-upload',
578
+ array(
579
+ 'id' => 'thumbs-up-image',
580
+ 'title' => __( 'FAQ Ratings \'Thumbs Up\' Image', 'ultimate-faqs' ),
581
+ 'description' => __( 'You can use this to upload your own image to replace the default "thumbs up" image.', 'ultimate-faqs' )
582
+ )
583
+ );
584
+
585
+ $sap->add_setting(
586
+ 'ewd-ufaq-settings',
587
+ 'ewd-ufaq-premium-general',
588
+ 'file-upload',
589
+ array(
590
+ 'id' => 'thumbs-down-image',
591
+ 'title' => __( 'FAQ Ratings \'Thumbs Down\' Image', 'ultimate-faqs' ),
592
+ 'description' => __( 'You can use this to upload your own image to replace the default "thumbs down" image.', 'ultimate-faqs' )
593
+ )
594
+ );
595
+
596
+ $sap->add_setting(
597
+ 'ewd-ufaq-settings',
598
+ 'ewd-ufaq-premium-general',
599
+ 'toggle',
600
+ array(
601
+ 'id' => 'pretty-permalinks',
602
+ 'title' => __( 'Pretty Permalinks', 'ultimate-faqs' ),
603
+ 'description' => __( 'Should an SEO friendly permalink structure be used for the link to the FAQ?', 'ultimate-faqs' )
604
+ )
605
+ );
606
+
607
+ $sap->add_setting(
608
+ 'ewd-ufaq-settings',
609
+ 'ewd-ufaq-premium-general',
610
+ 'toggle',
611
+ array(
612
+ 'id' => 'disable-homepage-canoncial-redirect',
613
+ 'title' => __( 'Disable Front-Page Canonical Redirects', 'ultimate-faqs' ),
614
+ 'description' => __( 'Should canonical redirects be disabled for the front page of your site? Only necessary if you\'re using the plugin on your homepage and have pretty permalinks enabled.', 'ultimate-faqs' )
615
+ )
616
+ );
617
+
618
+ $sap->add_setting(
619
+ 'ewd-ufaq-settings',
620
+ 'ewd-ufaq-premium-general',
621
+ 'toggle',
622
+ array(
623
+ 'id' => 'auto-complete-titles',
624
+ 'title' => __( 'FAQ Auto Complete Titles', 'ultimate-faqs' ),
625
+ 'description' => __( 'Should the FAQ Titles auto complete when using the FAQ search shortcode?', 'ultimate-faqs' )
626
+ )
627
+ );
628
+
629
+ $sap->add_setting(
630
+ 'ewd-ufaq-settings',
631
+ 'ewd-ufaq-premium-general',
632
+ 'text',
633
+ array(
634
+ 'id' => 'slug-base',
635
+ 'title' => __( 'FAQ Slug Base', 'ultimate-faqs' ),
636
+ 'description' => __( 'This option can be used to change the slug base for all FAQ posts. Be sure to go to "Settings" -> "Permalinks" in the WordPress sidebar and hit "Save Changes" to avoid 404 errors.', 'ultimate-faqs' ),
637
+ 'small' => true
638
+ )
639
+ );
640
+
641
+ $sap->add_setting(
642
+ 'ewd-ufaq-settings',
643
+ 'ewd-ufaq-premium-general',
644
+ 'checkbox',
645
+ array(
646
+ 'id' => 'social-media',
647
+ 'title' => __( 'Social Media Options', 'ultimate-faqs' ),
648
+ 'description' => '',
649
+ 'options' => array(
650
+ 'facebook' => 'Facebook',
651
+ 'twitter' => 'Twitter',
652
+ 'linkedin' => 'LinkedIn',
653
+ 'pinterest' => 'Pinterest',
654
+ 'email' => 'Email',
655
+ )
656
+ )
657
+ );
658
+
659
+ $sap->add_section(
660
+ 'ewd-ufaq-settings',
661
+ array_merge(
662
+ array(
663
+ 'id' => 'ewd-ufaq-woocommerce',
664
+ 'title' => __( 'WooCommerce', 'ultimate-faqs' ),
665
+ 'tab' => 'ewd-ufaq-premium-tab',
666
+ ),
667
+ $ewd_ufaq_premium_permissions
668
+ )
669
+ );
670
+
671
+ $sap->add_setting(
672
+ 'ewd-ufaq-settings',
673
+ 'ewd-ufaq-woocommerce',
674
+ 'toggle',
675
+ array(
676
+ 'id' => 'woocommerce-faqs',
677
+ 'title' => __( 'WooCommerce FAQs', 'ultimate-faqs' ),
678
+ 'description' => __( 'Should FAQs for a given product be displayed as an extra tab on the WooCommerce product page? For this to work correctly, an FAQ category needs to be created with the same name as a given WooCommerce product.', 'ultimate-faqs' )
679
+ )
680
+ );
681
+
682
+ $sap->add_setting(
683
+ 'ewd-ufaq-settings',
684
+ 'ewd-ufaq-woocommerce',
685
+ 'toggle',
686
+ array(
687
+ 'id' => 'woocommerce-use-product',
688
+ 'title' => __( 'Use WooCommerce Product Object', 'ultimate-faqs' ),
689
+ 'description' => __( 'Should the FAQ tab be set up using the WooCommerce product object, as in the WC documentation, or just using the ID of the page?', 'ultimate-faqs' )
690
+ )
691
+ );
692
+
693
+ $sap->add_section(
694
+ 'ewd-ufaq-settings',
695
+ array_merge(
696
+ array(
697
+ 'id' => 'ewd-ufaq-wpforms-integration',
698
+ 'title' => __( 'WP Forms', 'ultimate-faqs' ),
699
+ 'tab' => 'ewd-ufaq-premium-tab',
700
+ ),
701
+ $ewd_ufaq_premium_permissions
702
+ )
703
+ );
704
+
705
+ $sap->add_setting(
706
+ 'ewd-ufaq-settings',
707
+ 'ewd-ufaq-wpforms-integration',
708
+ 'toggle',
709
+ array(
710
+ 'id' => 'wpforms-integration',
711
+ 'title' => __( 'WP Forms Integration', 'ultimate-faqs' ),
712
+ 'description' => __( 'Should FAQs be displayed when a visitor starts typing a message into a paragraph text field in WP Forms? This can be turned off for specific forms via the form\'s settings panel.', 'ultimate-faqs' )
713
+ )
714
+ );
715
+
716
+ $sap->add_setting(
717
+ 'ewd-ufaq-settings',
718
+ 'ewd-ufaq-wpforms-integration',
719
+ 'text',
720
+ array(
721
+ 'id' => 'wpforms-post-count',
722
+ 'title' => __( 'WP Forms Post Count', 'ultimate-faqs' ),
723
+ 'description' => __( 'How many posts should be displayed below paragraph text fields, if WP Forms Integration has been turned on?', 'ultimate-faqs' ),
724
+ 'small' => true
725
+ )
726
+ );
727
+
728
+ $sap->add_setting(
729
+ 'ewd-ufaq-settings',
730
+ 'ewd-ufaq-wpforms-integration',
731
+ 'radio',
732
+ array(
733
+ 'id' => 'wpforms-faq-location',
734
+ 'title' => __( 'WP Forms FAQ Location', 'ultimate-faqs' ),
735
+ 'description' => __( 'If WP Forms Integration has been turned on, where should the FAQs be displayed?', 'ultimate-faqs' ),
736
+ 'options' => array(
737
+ 'above' => __( 'Above', 'ultimate-faqs' ),
738
+ 'below' => __( 'Below', 'ultimate-faqs' ),
739
+ ),
740
+ 'default' => $this->defaults['wpforms-faq-location']
741
+ )
742
+ );
743
+
744
+ $sap->add_section(
745
+ 'ewd-ufaq-settings',
746
+ array_merge(
747
+ array(
748
+ 'id' => 'ewd-ufaq-submit-faq',
749
+ 'title' => __( 'Submit FAQ', 'ultimate-faqs' ),
750
+ 'tab' => 'ewd-ufaq-premium-tab',
751
+ ),
752
+ $ewd_ufaq_premium_permissions
753
+ )
754
+ );
755
+
756
+ $sap->add_setting(
757
+ 'ewd-ufaq-settings',
758
+ 'ewd-ufaq-submit-faq',
759
+ 'toggle',
760
+ array(
761
+ 'id' => 'allow-proposed-answer',
762
+ 'title' => __( 'Allow Proposed Answer', 'ultimate-faqs' ),
763
+ 'description' => __( 'When using the user-submitted question shortcode, should users be able to propose an answer to the question they\'re submitting?', 'ultimate-faqs' )
764
+ )
765
+ );
766
+
767
+ $sap->add_setting(
768
+ 'ewd-ufaq-settings',
769
+ 'ewd-ufaq-submit-faq',
770
+ 'toggle',
771
+ array(
772
+ 'id' => 'submit-custom-fields',
773
+ 'title' => __( 'Submit Custom Fields', 'ultimate-faqs' ),
774
+ 'description' => __( 'When using the user-submitted question shortcode, should users be able to fill in custom fields for the question they\'re submitting? File type custom fields cannot be submitted for security reasons.', 'ultimate-faqs' )
775
+ )
776
+ );
777
+
778
+ $sap->add_setting(
779
+ 'ewd-ufaq-settings',
780
+ 'ewd-ufaq-submit-faq',
781
+ 'toggle',
782
+ array(
783
+ 'id' => 'submit-question-captcha',
784
+ 'title' => __( 'Submit Question Captcha', 'ultimate-faqs' ),
785
+ 'description' => __( 'When using the user-submitted question shortcode, should a captcha field be added to the form to reduce the volume of spam FAQs?', 'ultimate-faqs' )
786
+ )
787
+ );
788
+
789
+ $args = array(
790
+ 'hide_empty' => false,
791
+ 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY
792
+ );
793
+
794
+ $categories = get_terms( $args );
795
+
796
+ $category_options = array();
797
+
798
+ foreach ( $categories as $category ) {
799
+
800
+ $category_options[ $category->slug ] = $category->name;
801
+ }
802
+
803
+ $sap->add_setting(
804
+ 'ewd-ufaq-settings',
805
+ 'ewd-ufaq-submit-faq',
806
+ 'select',
807
+ array(
808
+ 'id' => 'submitted-default-category',
809
+ 'title' => __( 'Default Category', 'ultimate-faqs' ),
810
+ 'description' => __( 'Which category should submitted questions default to?', 'ultimate-faqs' ),
811
+ 'blank_option' => true,
812
+ 'options' => $category_options
813
+ )
814
+ );
815
+
816
+ $sap->add_setting(
817
+ 'ewd-ufaq-settings',
818
+ 'ewd-ufaq-submit-faq',
819
+ 'toggle',
820
+ array(
821
+ 'id' => 'admin-question-notification',
822
+ 'title' => __( 'Admin Question Notification', 'ultimate-faqs' ),
823
+ 'description' => __( 'Should an email be sent to the site administrator when a question is submitted?', 'ultimate-faqs' )
824
+ )
825
+ );
826
+
827
+ $sap->add_setting(
828
+ 'ewd-ufaq-settings',
829
+ 'ewd-ufaq-submit-faq',
830
+ 'text',
831
+ array(
832
+ 'id' => 'admin-notification-email',
833
+ 'title' => __( 'Admin Notification Email', 'ultimate-faqs' ),
834
+ 'description' => __( 'What email address should the notifications be sent to if "Admin Question Notification" is enabled above? If blank, the default WordPress admin email will be used.', 'ultimate-faqs' ),
835
+ 'small' => true
836
+ )
837
+ );
838
+
839
+ $emails = array();
840
+ if ( post_type_exists( 'uwpm_mail_template' ) ) {
841
+
842
+ $email_posts = get_posts( array( 'post_type' => 'uwpm_mail_template', 'posts_per_page' => -1 ) );
843
+ foreach ( $email_posts as $email_post ) { $emails[$email_post->ID ] = $email_post->post_title; }
844
+ }
845
+
846
+ $sap->add_setting(
847
+ 'ewd-ufaq-settings',
848
+ 'ewd-ufaq-submit-faq',
849
+ 'select',
850
+ array(
851
+ 'id' => 'submit-faq-email',
852
+ 'title' => __( 'FAQ Submitted Thank You E-mail', 'ultimate-faqs' ),
853
+ 'description' => __( 'You can use the <a href="https://wordpress.org/plugins/ultimate-wp-mail/">Ultimate WP Mail plugin</a> to create a custom email that is sent whenever an faq is submitted.', 'ultimate-faqs' ),
854
+ 'blank_option' => true,
855
+ 'options' => $emails
856
+ )
857
+ );
858
+
859
+ $sap->add_section(
860
+ 'ewd-ufaq-settings',
861
+ array_merge(
862
+ array(
863
+ 'id' => 'ewd-ufaq-faq-elements-order',
864
+ 'title' => __( 'FAQ Elements Order', 'ultimate-faqs' ),
865
+ 'tab' => 'ewd-ufaq-premium-tab',
866
+ ),
867
+ $ewd_ufaq_premium_permissions
868
+ )
869
+ );
870
+
871
+ $sap->add_setting(
872
+ 'ewd-ufaq-settings',
873
+ 'ewd-ufaq-faq-elements-order',
874
+ 'ordering-table',
875
+ array(
876
+ 'id' => 'faq-elements-order',
877
+ 'title' => __( 'FAQ Elements Order', 'ultimate-faqs' ),
878
+ 'description' => __( 'You can use this table to drag-and-drop the elements of an FAQ into a different order.', 'ultimate-faqs' ),
879
+ 'items' => $this->get_setting( 'faq-elements-order' )
880
+ )
881
+ );
882
+
883
+ $sap->add_section(
884
+ 'ewd-ufaq-settings',
885
+ array(
886
+ 'id' => 'ewd-ufaq-ordering-tab',
887
+ 'title' => __( 'Ordering', 'ultimate-faqs' ),
888
+ 'is_tab' => true,
889
+ )
890
+ );
891
+
892
+ $sap->add_section(
893
+ 'ewd-ufaq-settings',
894
+ array(
895
+ 'id' => 'ewd-ufaq-ordering-settings',
896
+ 'title' => __( 'Settings', 'ultimate-faqs' ),
897
+ 'tab' => 'ewd-ufaq-ordering-tab',
898
+ )
899
+ );
900
+
901
+ $sap->add_setting(
902
+ 'ewd-ufaq-settings',
903
+ 'ewd-ufaq-ordering-settings',
904
+ 'toggle',
905
+ array(
906
+ 'id' => 'group-by-category',
907
+ 'title' => __( 'Group FAQs by Category', 'ultimate-faqs' ),
908
+ 'description' => __( 'Should FAQs be grouped by category, or should all categories be mixed together?', 'ultimate-faqs' )
909
+ )
910
+ );
911
+
912
+ $sap->add_setting(
913
+ 'ewd-ufaq-settings',
914
+ 'ewd-ufaq-ordering-settings',
915
+ 'toggle',
916
+ array(
917
+ 'id' => 'group-by-category-count',
918
+ 'title' => __( 'Display FAQ Category Count', 'ultimate-faqs' ),
919
+ 'description' => __( 'If FAQs are grouped by category, should the number of FAQs in a category be displayed beside the category name?', 'ultimate-faqs' )
920
+ )
921
+ );
922
+
923
+ $sap->add_setting(
924
+ 'ewd-ufaq-settings',
925
+ 'ewd-ufaq-ordering-settings',
926
+ 'select',
927
+ array(
928
+ 'id' => 'category-order-by',
929
+ 'title' => __( 'Sort Categories', 'ultimate-faqs' ),
930
+ 'description' => __( 'How should FAQ categories be ordered? (Only used if "Group FAQs by Category" above is enabled.)', 'ultimate-faqs' ),
931
+ 'blank_option' => false,
932
+ 'options' => array(
933
+ 'name' => __( 'Name', 'ultimate-faqs' ),
934
+ 'count' => __( 'FAQ Count', 'ultimate-faqs' ),
935
+ 'slug' => __( 'Slug', 'ultimate-faqs' ),
936
+ )
937
+ )
938
+ );
939
+
940
+ $sap->add_setting(
941
+ 'ewd-ufaq-settings',
942
+ 'ewd-ufaq-ordering-settings',
943
+ 'radio',
944
+ array(
945
+ 'id' => 'category-order',
946
+ 'title' => __( 'Sort Categories Ordering', 'ultimate-faqs' ),
947
+ 'description' => __( 'How should FAQ categories be ordered? (Only used if "Group FAQs by Category" above is enabled.)', 'ultimate-faqs' ),
948
+ 'options' => array(
949
+ 'asc' => __( 'Ascending', 'ultimate-faqs' ),
950
+ 'desc' => __( 'Descending', 'ultimate-faqs' ),
951
+ ),
952
+ 'default' => $this->defaults['category-order']
953
+ )
954
+ );
955
+
956
+ $sap->add_setting(
957
+ 'ewd-ufaq-settings',
958
+ 'ewd-ufaq-ordering-settings',
959
+ 'radio',
960
+ array(
961
+ 'id' => 'faq-order-by',
962
+ 'title' => __( 'FAQ Ordering', 'ultimate-faqs' ),
963
+ 'description' => __( 'How should individual FAQs be ordered?', 'ultimate-faqs' ),
964
+ 'blank_option' => false,
965
+ 'options' => array(
966
+ 'date' => __( 'Created Date', 'ultimate-faqs' ),
967
+ 'title' => __( 'Title', 'ultimate-faqs' ),
968
+ 'modified' => __( 'Modified Date', 'ultimate-faqs' ),
969
+ 'set_order' => __( 'Selected Order (Premium option)', 'ultimate-faqs' ),
970
+ ),
971
+ 'default' => $this->defaults['faq-order-by']
972
+ )
973
+ );
974
+
975
+ $sap->add_setting(
976
+ 'ewd-ufaq-settings',
977
+ 'ewd-ufaq-ordering-settings',
978
+ 'radio',
979
+ array(
980
+ 'id' => 'faq-order',
981
+ 'title' => __( 'Sort FAQs Ordering', 'ultimate-faqs' ),
982
+ 'description' => __( 'Should FAQ be ascending or descending order, based on the ordering criteria above?', 'ultimate-faqs' ),
983
+ 'options' => array(
984
+ 'asc' => __( 'Ascending', 'ultimate-faqs' ),
985
+ 'desc' => __( 'Descending', 'ultimate-faqs' ),
986
+ ),
987
+ 'default' => $this->defaults['faq-order']
988
+ )
989
+ );
990
+
991
+ if ( ! $ewd_ufaq_controller->permissions->check_permission( 'fields' ) ) {
992
+ $ewd_ufaq_fields_permissions = array(
993
+ 'disabled' => true,
994
+ 'disabled_image'=> '#',
995
+ 'purchase_link' => 'https://www.etoilewebdesign.com/plugins/ultimate-faq/'
996
+ );
997
+ }
998
+ else { $ewd_ufaq_fields_permissions = array(); }
999
+
1000
+ $sap->add_section(
1001
+ 'ewd-ufaq-settings',
1002
+ array(
1003
+ 'id' => 'ewd-ufaq-fields-tab',
1004
+ 'title' => __( 'Fields', 'ultimate-faqs' ),
1005
+ 'is_tab' => true,
1006
+ )
1007
+ );
1008
+
1009
+ $sap->add_section(
1010
+ 'ewd-ufaq-settings',
1011
+ array_merge(
1012
+ array(
1013
+ 'id' => 'ewd-ufaq-fields-settings',
1014
+ 'title' => __( 'Settings', 'ultimate-faqs' ),
1015
+ 'tab' => 'ewd-ufaq-fields-tab',
1016
+ ),
1017
+ $ewd_ufaq_fields_permissions
1018
+ )
1019
+ );
1020
+
1021
+ $sap->add_setting(
1022
+ 'ewd-ufaq-settings',
1023
+ 'ewd-ufaq-fields-settings',
1024
+ 'toggle',
1025
+ array(
1026
+ 'id' => 'hide-blank-fields',
1027
+ 'title' => __( 'Hide Blank Fields', 'ultimate-faqs' ),
1028
+ 'description' => __( 'Should field labels be hidden if a field hasn\'t been filled out for a particular FAQ?', 'ultimate-faqs' )
1029
+ )
1030
+ );
1031
+
1032
+ $fields_description = __( 'Should any extra fields be added to the FAQs?', 'ultimate-faqs' ) . '<br />';
1033
+ $fields_description .= __( 'The "Field Values" should be a comma-separated list of values for the select, radio or checkbox field types (no extra spaces after the comma).', 'ultimate-faqs' ) . '<br />';
1034
+ $fields_description .= __( 'For security reasons, file fields cannot be included in the submit FAQ form.', 'ultimate-faqs' ) . '<br />';
1035
+
1036
+ $sap->add_setting(
1037
+ 'ewd-ufaq-settings',
1038
+ 'ewd-ufaq-fields-settings',
1039
+ 'infinite_table',
1040
+ array(
1041
+ 'id' => 'faq-fields',
1042
+ 'title' => __( 'FAQ Custom Fields', 'ultimate-faqs' ),
1043
+ 'add_label' => __( '&plus; ADD', 'ultimate-faqs' ),
1044
+ 'del_label' => __( 'Delete', 'ultimate-faqs' ),
1045
+ 'description' => $fields_description,
1046
+ 'fields' => array(
1047
+ 'id' => array(
1048
+ 'type' => 'hidden',
1049
+ 'label' => 'Field ID',
1050
+ 'required' => true
1051
+ ),
1052
+ 'name' => array(
1053
+ 'type' => 'text',
1054
+ 'label' => 'Field Name',
1055
+ 'required' => true
1056
+ ),
1057
+ 'type' => array(
1058
+ 'type' => 'select',
1059
+ 'label' => __( 'Field Type', 'ultimate-faqs' ),
1060
+ 'options' => array(
1061
+ 'text' => __( 'Text', 'ultimate-faqs' ),
1062
+ 'textarea' => __( 'Text Area', 'ultimate-faqs' ),
1063
+ 'select' => __( 'Select Box', 'ultimate-faqs' ),
1064
+ 'radio' => __( 'Radio Buttons', 'ultimate-faqs' ),
1065
+ 'checkbox' => __( 'Checkbox', 'ultimate-faqs' ),
1066
+ 'file' => __( 'File', 'ultimate-faqs' ),
1067
+ 'link' => __( 'Link', 'ultimate-faqs' ),
1068
+ 'date' => __( 'Date', 'ultimate-faqs' ),
1069
+ 'datetime' => __( 'Date/Time', 'ultimate-faqs' ),
1070
+ )
1071
+ ),
1072
+ 'options' => array(
1073
+ 'type' => 'text',
1074
+ 'label' => __( 'Field Values', 'ultimate-faqs' ),
1075
+ 'required' => false
1076
+ )
1077
+ )
1078
+ )
1079
+ );
1080
+
1081
+ if ( ! $ewd_ufaq_controller->permissions->check_permission( 'labelling' ) ) {
1082
+ $ewd_ufaq_labelling_permissions = array(
1083
+ 'disabled' => true,
1084
+ 'disabled_image'=> '#',
1085
+ 'purchase_link' => 'https://www.etoilewebdesign.com/plugins/ultimate-faq/'
1086
+ );
1087
+ }
1088
+ else { $ewd_ufaq_labelling_permissions = array(); }
1089
+
1090
+ $sap->add_section(
1091
+ 'ewd-ufaq-settings',
1092
+ array(
1093
+ 'id' => 'ewd-ufaq-labelling-tab',
1094
+ 'title' => __( 'Labelling', 'ultimate-faqs' ),
1095
+ 'is_tab' => true,
1096
+ )
1097
+ );
1098
+
1099
+ $sap->add_section(
1100
+ 'ewd-ufaq-settings',
1101
+ array_merge(
1102
+ array(
1103
+ 'id' => 'ewd-ufaq-labelling-faq-and-search',
1104
+ 'title' => __( 'FAQ Page and Search', 'ultimate-faqs' ),
1105
+ 'tab' => 'ewd-ufaq-labelling-tab',
1106
+ ),
1107
+ $ewd_ufaq_labelling_permissions
1108
+ )
1109
+ );
1110
+
1111
+ $sap->add_setting(
1112
+ 'ewd-ufaq-settings',
1113
+ 'ewd-ufaq-labelling-faq-and-search',
1114
+ 'text',
1115
+ array(
1116
+ 'id' => 'label-posted',
1117
+ 'title' => __( 'Posted', 'ultimate-faqs' ),
1118
+ 'description' => ''
1119
+ )
1120
+ );
1121
+
1122
+ $sap->add_setting(
1123
+ 'ewd-ufaq-settings',
1124
+ 'ewd-ufaq-labelling-faq-and-search',
1125
+ 'text',
1126
+ array(
1127
+ 'id' => 'label-by',
1128
+ 'title' => __( 'By', 'ultimate-faqs' ),
1129
+ 'description' => ''
1130
+ )
1131
+ );
1132
+
1133
+ $sap->add_setting(
1134
+ 'ewd-ufaq-settings',
1135
+ 'ewd-ufaq-labelling-faq-and-search',
1136
+ 'text',
1137
+ array(
1138
+ 'id' => 'label-on',
1139
+ 'title' => __( 'On', 'ultimate-faqs' ),
1140
+ 'description' => ''
1141
+ )
1142
+ );
1143
+
1144
+ $sap->add_setting(
1145
+ 'ewd-ufaq-settings',
1146
+ 'ewd-ufaq-labelling-faq-and-search',
1147
+ 'text',
1148
+ array(
1149
+ 'id' => 'label-categories',
1150
+ 'title' => __( 'Categories', 'ultimate-faqs' ),
1151
+ 'description' => ''
1152
+ )
1153
+ );
1154
+
1155
+ $sap->add_setting(
1156
+ 'ewd-ufaq-settings',
1157
+ 'ewd-ufaq-labelling-faq-and-search',
1158
+ 'text',
1159
+ array(
1160
+ 'id' => 'label-tags',
1161
+ 'title' => __( 'Tags', 'ultimate-faqs' ),
1162
+ 'description' => ''
1163
+ )
1164
+ );
1165
+
1166
+ $sap->add_setting(
1167
+ 'ewd-ufaq-settings',
1168
+ 'ewd-ufaq-labelling-faq-and-search',
1169
+ 'text',
1170
+ array(
1171
+ 'id' => 'label-permalink',
1172
+ 'title' => __( 'Permalink', 'ultimate-faqs' ),
1173
+ 'description' => ''
1174
+ )
1175
+ );
1176
+
1177
+ $sap->add_setting(
1178
+ 'ewd-ufaq-settings',
1179
+ 'ewd-ufaq-labelling-faq-and-search',
1180
+ 'text',
1181
+ array(
1182
+ 'id' => 'label-back-to-top',
1183
+ 'title' => __( 'Back To Top', 'ultimate-faqs' ),
1184
+ 'description' => ''
1185
+ )
1186
+ );
1187
+
1188
+ $sap->add_setting(
1189
+ 'ewd-ufaq-settings',
1190
+ 'ewd-ufaq-labelling-faq-and-search',
1191
+ 'text',
1192
+ array(
1193
+ 'id' => 'label-woocommerce-tab',
1194
+ 'title' => __( 'WooCommerce Tab', 'ultimate-faqs' ),
1195
+ 'description' => ''
1196
+ )
1197
+ );
1198
+
1199
+ $sap->add_setting(
1200
+ 'ewd-ufaq-settings',
1201
+ 'ewd-ufaq-labelling-faq-and-search',
1202
+ 'text',
1203
+ array(
1204
+ 'id' => 'label-share-faq',
1205
+ 'title' => __( 'Share', 'ultimate-faqs' ),
1206
+ 'description' => ''
1207
+ )
1208
+ );
1209
+
1210
+ $sap->add_setting(
1211
+ 'ewd-ufaq-settings',
1212
+ 'ewd-ufaq-labelling-faq-and-search',
1213
+ 'text',
1214
+ array(
1215
+ 'id' => 'label-find-faq-helpful',
1216
+ 'title' => __( 'Did you find this FAQ helpful?', 'ultimate-faqs' ),
1217
+ 'description' => ''
1218
+ )
1219
+ );
1220
+
1221
+ $sap->add_setting(
1222
+ 'ewd-ufaq-settings',
1223
+ 'ewd-ufaq-labelling-faq-and-search',
1224
+ 'text',
1225
+ array(
1226
+ 'id' => 'label-enter-question',
1227
+ 'title' => __( 'Enter your quetion', 'ultimate-faqs' ),
1228
+ 'description' => ''
1229
+ )
1230
+ );
1231
+
1232
+ $sap->add_setting(
1233
+ 'ewd-ufaq-settings',
1234
+ 'ewd-ufaq-labelling-faq-and-search',
1235
+ 'text',
1236
+ array(
1237
+ 'id' => 'label-search-placeholder',
1238
+ 'title' => __( 'Search Placeholder', 'ultimate-faqs' ),
1239
+ 'description' => ''
1240
+ )
1241
+ );
1242
+
1243
+ $sap->add_setting(
1244
+ 'ewd-ufaq-settings',
1245
+ 'ewd-ufaq-labelling-faq-and-search',
1246
+ 'text',
1247
+ array(
1248
+ 'id' => 'label-search',
1249
+ 'title' => __( 'Search Button', 'ultimate-faqs' ),
1250
+ 'description' => ''
1251
+ )
1252
+ );
1253
+
1254
+ $sap->add_setting(
1255
+ 'ewd-ufaq-settings',
1256
+ 'ewd-ufaq-labelling-faq-and-search',
1257
+ 'text',
1258
+ array(
1259
+ 'id' => 'label-retrieving-results',
1260
+ 'title' => __( 'Retrieving Results', 'ultimate-faqs' ),
1261
+ 'description' => ''
1262
+ )
1263
+ );
1264
+
1265
+ $sap->add_setting(
1266
+ 'ewd-ufaq-settings',
1267
+ 'ewd-ufaq-labelling-faq-and-search',
1268
+ 'text',
1269
+ array(
1270
+ 'id' => 'label-no-results-found',
1271
+ 'title' => __( 'No result FAQ\'s contained the term \'%s\'', 'ultimate-faqs' ),
1272
+ 'description' => ''
1273
+ )
1274
+ );
1275
+
1276
+ $sap->add_section(
1277
+ 'ewd-ufaq-settings',
1278
+ array_merge(
1279
+ array(
1280
+ 'id' => 'ewd-ufaq-labelling-faq-submit-page',
1281
+ 'title' => __( 'FAQ Submit Page', 'ultimate-faqs' ),
1282
+ 'tab' => 'ewd-ufaq-labelling-tab',
1283
+ ),
1284
+ $ewd_ufaq_labelling_permissions
1285
+ )
1286
+ );
1287
+
1288
+ $sap->add_setting(
1289
+ 'ewd-ufaq-settings',
1290
+ 'ewd-ufaq-labelling-faq-submit-page',
1291
+ 'text',
1292
+ array(
1293
+ 'id' => 'label-thank-you-submit',
1294
+ 'title' => __( 'Thank you for submitting an FAQ', 'ultimate-faqs' ),
1295
+ 'description' => ''
1296
+ )
1297
+ );
1298
+
1299
+ $sap->add_setting(
1300
+ 'ewd-ufaq-settings',
1301
+ 'ewd-ufaq-labelling-faq-submit-page',
1302
+ 'text',
1303
+ array(
1304
+ 'id' => 'label-submit-question',
1305
+ 'title' => __( 'Submit a Question', 'ultimate-faqs' ),
1306
+ 'description' => ''
1307
+ )
1308
+ );
1309
+
1310
+ $sap->add_setting(
1311
+ 'ewd-ufaq-settings',
1312
+ 'ewd-ufaq-labelling-faq-submit-page',
1313
+ 'text',
1314
+ array(
1315
+ 'id' => 'label-please-fill-form-below',
1316
+ 'title' => __( 'Please fill out the form below to submit a question.', 'ultimate-faqs' ),
1317
+ 'description' => ''
1318
+ )
1319
+ );
1320
+
1321
+ $sap->add_setting(
1322
+ 'ewd-ufaq-settings',
1323
+ 'ewd-ufaq-labelling-faq-submit-page',
1324
+ 'text',
1325
+ array(
1326
+ 'id' => 'label-send-question',
1327
+ 'title' => __( 'Send Question', 'ultimate-faqs' ),
1328
+ 'description' => ''
1329
+ )
1330
+ );
1331
+
1332
+ $sap->add_setting(
1333
+ 'ewd-ufaq-settings',
1334
+ 'ewd-ufaq-labelling-faq-submit-page',
1335
+ 'text',
1336
+ array(
1337
+ 'id' => 'label-question-title',
1338
+ 'title' => __( 'Question Title', 'ultimate-faqs' ),
1339
+ 'description' => ''
1340
+ )
1341
+ );
1342
+
1343
+ $sap->add_setting(
1344
+ 'ewd-ufaq-settings',
1345
+ 'ewd-ufaq-labelling-faq-submit-page',
1346
+ 'text',
1347
+ array(
1348
+ 'id' => 'label-question-title-explanation',
1349
+ 'title' => __( 'What question is being answered?', 'ultimate-faqs' ),
1350
+ 'description' => ''
1351
+ )
1352
+ );
1353
+
1354
+ $sap->add_setting(
1355
+ 'ewd-ufaq-settings',
1356
+ 'ewd-ufaq-labelling-faq-submit-page',
1357
+ 'text',
1358
+ array(
1359
+ 'id' => 'label-proposed-answer',
1360
+ 'title' => __( 'Proposed Answer', 'ultimate-faqs' ),
1361
+ 'description' => ''
1362
+ )
1363
+ );
1364
+
1365
+ $sap->add_setting(
1366
+ 'ewd-ufaq-settings',
1367
+ 'ewd-ufaq-labelling-faq-submit-page',
1368
+ 'text',
1369
+ array(
1370
+ 'id' => 'label-proposed-answer-explanation',
1371
+ 'title' => __( 'What answer should be displayed for this question?', 'ultimate-faqs' ),
1372
+ 'description' => ''
1373
+ )
1374
+ );
1375
+
1376
+ $sap->add_setting(
1377
+ 'ewd-ufaq-settings',
1378
+ 'ewd-ufaq-labelling-faq-submit-page',
1379
+ 'text',
1380
+ array(
1381
+ 'id' => 'label-question-author',
1382
+ 'title' => __( 'Question Author', 'ultimate-faqs' ),
1383
+ 'description' => ''
1384
+ )
1385
+ );
1386
+
1387
+ $sap->add_setting(
1388
+ 'ewd-ufaq-settings',
1389
+ 'ewd-ufaq-labelling-faq-submit-page',
1390
+ 'text',
1391
+ array(
1392
+ 'id' => 'label-captcha-image-number',
1393
+ 'title' => __( 'Image Number', 'ultimate-faqs' ),
1394
+ 'description' => ''
1395
+ )
1396
+ );
1397
+
1398
+ $sap->add_setting(
1399
+ 'ewd-ufaq-settings',
1400
+ 'ewd-ufaq-labelling-faq-submit-page',
1401
+ 'text',
1402
+ array(
1403
+ 'id' => 'label-question-author-explanation',
1404
+ 'title' => __( 'What name should be displayed with your question?', 'ultimate-faqs' ),
1405
+ 'description' => ''
1406
+ )
1407
+ );
1408
+
1409
+ if ( ! $ewd_ufaq_controller->permissions->check_permission( 'styling' ) ) {
1410
+ $ewd_ufaq_styling_permissions = array(
1411
+ 'disabled' => true,
1412
+ 'disabled_image'=> '#',
1413
+ 'purchase_link' => 'https://www.etoilewebdesign.com/plugins/ultimate-faq/'
1414
+ );
1415
+ }
1416
+ else { $ewd_ufaq_styling_permissions = array(); }
1417
+
1418
+ $sap->add_section(
1419
+ 'ewd-ufaq-settings',
1420
+ array(
1421
+ 'id' => 'ewd-ufaq-styling-tab',
1422
+ 'title' => __( 'Styling', 'ultimate-faqs' ),
1423
+ 'is_tab' => true,
1424
+ )
1425
+ );
1426
+
1427
+ $sap->add_section(
1428
+ 'ewd-ufaq-settings',
1429
+ array_merge(
1430
+ array(
1431
+ 'id' => 'ewd-ufaq-styling-toggle-symbol',
1432
+ 'title' => __( 'Toggle Symbol', 'ultimate-faqs' ),
1433
+ 'tab' => 'ewd-ufaq-styling-tab',
1434
+ ),
1435
+ $ewd_ufaq_styling_permissions
1436
+ )
1437
+ );
1438
+
1439
+ $sap->add_setting(
1440
+ 'ewd-ufaq-settings',
1441
+ 'ewd-ufaq-styling-toggle-symbol',
1442
+ 'radio',
1443
+ array(
1444
+ 'id' => 'styling-toggle-symbol',
1445
+ 'title' => __( 'Toggle Symbol', 'ultimate-lightbox' ),
1446
+ 'columns' => '3',
1447
+ 'options' => array(
1448
+ 'A' => '<span class="ewd-ufaq-toggle-symbol">a A</span>',
1449
+ 'B' => '<span class="ewd-ufaq-toggle-symbol">b B</span>',
1450
+ 'C' => '<span class="ewd-ufaq-toggle-symbol">c C</span>',
1451
+ 'D' => '<span class="ewd-ufaq-toggle-symbol">d D</span>',
1452
+ 'E' => '<span class="ewd-ufaq-toggle-symbol">e E</span>',
1453
+ 'F' => '<span class="ewd-ufaq-toggle-symbol">f F</span>',
1454
+ 'G' => '<span class="ewd-ufaq-toggle-symbol">g G</span>',
1455
+ 'H' => '<span class="ewd-ufaq-toggle-symbol">h H</span>',
1456
+ 'I' => '<span class="ewd-ufaq-toggle-symbol">i I</span>',
1457
+ 'J' => '<span class="ewd-ufaq-toggle-symbol">j J</span>',
1458
+ 'K' => '<span class="ewd-ufaq-toggle-symbol">k K</span>',
1459
+ 'L' => '<span class="ewd-ufaq-toggle-symbol">l L</span>',
1460
+ 'M' => '<span class="ewd-ufaq-toggle-symbol">m M</span>',
1461
+ 'N' => '<span class="ewd-ufaq-toggle-symbol">n N</span>',
1462
+ 'O' => '<span class="ewd-ufaq-toggle-symbol">o O</span>',
1463
+ ),
1464
+ 'default' => $this->defaults['styling-toggle-symbol']
1465
+ )
1466
+ );
1467
+
1468
+ $sap->add_setting(
1469
+ 'ewd-ufaq-settings',
1470
+ 'ewd-ufaq-styling-toggle-symbol',
1471
+ 'colorpicker',
1472
+ array(
1473
+ 'id' => 'styling-toggle-background-color',
1474
+ 'title' => __( 'Toggle Background Color', 'ultimate-faqs' )
1475
+ )
1476
+ );
1477
+
1478
+ $sap->add_setting(
1479
+ 'ewd-ufaq-settings',
1480
+ 'ewd-ufaq-styling-toggle-symbol',
1481
+ 'colorpicker',
1482
+ array(
1483
+ 'id' => 'styling-toggle-font-color',
1484
+ 'title' => __( 'Toggle Color', 'ultimate-faqs' )
1485
+ )
1486
+ );
1487
+
1488
+ $sap->add_setting(
1489
+ 'ewd-ufaq-settings',
1490
+ 'ewd-ufaq-styling-toggle-symbol',
1491
+ 'colorpicker',
1492
+ array(
1493
+ 'id' => 'styling-toggle-border-color',
1494
+ 'title' => __( 'Toggle Border Color', 'ultimate-faqs' )
1495
+ )
1496
+ );
1497
+
1498
+ $sap->add_setting(
1499
+ 'ewd-ufaq-settings',
1500
+ 'ewd-ufaq-styling-toggle-symbol',
1501
+ 'text',
1502
+ array(
1503
+ 'id' => 'styling-toggle-symbol-size',
1504
+ 'title' => __( 'Toggle Font Size', 'ultimate-faqs' ),
1505
+ 'description' => '',
1506
+ 'small' => true
1507
+ )
1508
+ );
1509
+
1510
+ $sap->add_setting(
1511
+ 'ewd-ufaq-settings',
1512
+ 'ewd-ufaq-styling-toggle-symbol',
1513
+ 'text',
1514
+ array(
1515
+ 'id' => 'styling-toggle-border-size',
1516
+ 'title' => __( 'Border Size', 'ultimate-faqs' ),
1517
+ 'description' => '',
1518
+ 'small' => true
1519
+ )
1520
+ );
1521
+
1522
+ $sap->add_setting(
1523
+ 'ewd-ufaq-settings',
1524
+ 'ewd-ufaq-styling-toggle-symbol',
1525
+ 'text',
1526
+ array(
1527
+ 'id' => 'styling-toggle-border-radius',
1528
+ 'title' => __( 'Border Radius', 'ultimate-faqs' ),
1529
+ 'description' => '',
1530
+ 'small' => true
1531
+ )
1532
+ );
1533
+
1534
+ $sap->add_section(
1535
+ 'ewd-ufaq-settings',
1536
+ array_merge(
1537
+ array(
1538
+ 'id' => 'ewd-ufaq-styling-themes',
1539
+ 'title' => __( 'Themes', 'ultimate-faqs' ),
1540
+ 'tab' => 'ewd-ufaq-styling-tab',
1541
+ ),
1542
+ $ewd_ufaq_styling_permissions
1543
+ )
1544
+ );
1545
+
1546
+ $sap->add_setting(
1547
+ 'ewd-ufaq-settings',
1548
+ 'ewd-ufaq-styling-themes',
1549
+ 'colorpicker',
1550
+ array(
1551
+ 'id' => 'styling-block-background-color',
1552
+ 'title' => __( 'Block and Border Block Background Color', 'ultimate-faqs' )
1553
+ )
1554
+ );
1555
+
1556
+ $sap->add_setting(
1557
+ 'ewd-ufaq-settings',
1558
+ 'ewd-ufaq-styling-themes',
1559
+ 'colorpicker',
1560
+ array(
1561
+ 'id' => 'styling-block-font-color',
1562
+ 'title' => __( 'Block and Border Block Hover Font Color', 'ultimate-faqs' )
1563
+ )
1564
+ );
1565
+
1566
+ $sap->add_setting(
1567
+ 'ewd-ufaq-settings',
1568
+ 'ewd-ufaq-styling-themes',
1569
+ 'colorpicker',
1570
+ array(
1571
+ 'id' => 'styling-list-font-color',
1572
+ 'title' => __( 'List Font Color', 'ultimate-faqs' )
1573
+ )
1574
+ );
1575
+
1576
+
1577
+ $sap->add_setting(
1578
+ 'ewd-ufaq-settings',
1579
+ 'ewd-ufaq-styling-themes',
1580
+ 'text',
1581
+ array(
1582
+ 'id' => 'styling-list-font',
1583
+ 'title' => __( 'Font Family', 'ultimate-faqs' ),
1584
+ 'description' => '',
1585
+ 'small' => true
1586
+ )
1587
+ );
1588
+
1589
+ $sap->add_setting(
1590
+ 'ewd-ufaq-settings',
1591
+ 'ewd-ufaq-styling-themes',
1592
+ 'text',
1593
+ array(
1594
+ 'id' => 'styling-list-font-size',
1595
+ 'title' => __( 'Font Size', 'ultimate-faqs' ),
1596
+ 'description' => '',
1597
+ 'small' => true
1598
+ )
1599
+ );
1600
+
1601
+ $sap->add_setting(
1602
+ 'ewd-ufaq-settings',
1603
+ 'ewd-ufaq-styling-themes',
1604
+ 'text',
1605
+ array(
1606
+ 'id' => 'styling-list-margin',
1607
+ 'title' => __( 'Margin', 'ultimate-faqs' ),
1608
+ 'description' => '',
1609
+ 'small' => true
1610
+ )
1611
+ );
1612
+
1613
+ $sap->add_setting(
1614
+ 'ewd-ufaq-settings',
1615
+ 'ewd-ufaq-styling-themes',
1616
+ 'text',
1617
+ array(
1618
+ 'id' => 'styling-list-padding',
1619
+ 'title' => __( 'Padding', 'ultimate-faqs' ),
1620
+ 'description' => '',
1621
+ 'small' => true
1622
+ )
1623
+ );
1624
+
1625
+ $sap->add_section(
1626
+ 'ewd-ufaq-settings',
1627
+ array_merge(
1628
+ array(
1629
+ 'id' => 'ewd-ufaq-styling-faq-elements',
1630
+ 'title' => __( 'FAQ Elements', 'ultimate-faqs' ),
1631
+ 'tab' => 'ewd-ufaq-styling-tab',
1632
+ ),
1633
+ $ewd_ufaq_styling_permissions
1634
+ )
1635
+ );
1636
+
1637
+ $sap->add_setting(
1638
+ 'ewd-ufaq-settings',
1639
+ 'ewd-ufaq-styling-faq-elements',
1640
+ 'colorpicker',
1641
+ array(
1642
+ 'id' => 'styling-question-font-color',
1643
+ 'title' => __( 'Question Font Color', 'ultimate-faqs' )
1644
+ )
1645
+ );
1646
+
1647
+
1648
+ $sap->add_setting(
1649
+ 'ewd-ufaq-settings',
1650
+ 'ewd-ufaq-styling-faq-elements',
1651
+ 'text',
1652
+ array(
1653
+ 'id' => 'styling-question-font',
1654
+ 'title' => __( 'Question Font Family', 'ultimate-faqs' ),
1655
+ 'description' => '',
1656
+ 'small' => true
1657
+ )
1658
+ );
1659
+
1660
+ $sap->add_setting(
1661
+ 'ewd-ufaq-settings',
1662
+ 'ewd-ufaq-styling-faq-elements',
1663
+ 'text',
1664
+ array(
1665
+ 'id' => 'styling-question-font-size',
1666
+ 'title' => __( 'Question Font Size', 'ultimate-faqs' ),
1667
+ 'description' => '',
1668
+ 'small' => true
1669
+ )
1670
+ );
1671
+
1672
+ $sap->add_setting(
1673
+ 'ewd-ufaq-settings',
1674
+ 'ewd-ufaq-styling-faq-elements',
1675
+ 'text',
1676
+ array(
1677
+ 'id' => 'styling-question-margin',
1678
+ 'title' => __( 'Question Margin', 'ultimate-faqs' ),
1679
+ 'description' => '',
1680
+ 'small' => true
1681
+ )
1682
+ );
1683
+
1684
+ $sap->add_setting(
1685
+ 'ewd-ufaq-settings',
1686
+ 'ewd-ufaq-styling-faq-elements',
1687
+ 'text',
1688
+ array(
1689
+ 'id' => 'styling-question-padding',
1690
+ 'title' => __( 'Question Padding', 'ultimate-faqs' ),
1691
+ 'description' => '',
1692
+ 'small' => true
1693
+ )
1694
+ );
1695
+
1696
+ $sap->add_setting(
1697
+ 'ewd-ufaq-settings',
1698
+ 'ewd-ufaq-styling-faq-elements',
1699
+ 'text',
1700
+ array(
1701
+ 'id' => 'styling-question-icon-top-margin',
1702
+ 'title' => __( 'Toggle Symbol Top Margin', 'ultimate-faqs' ),
1703
+ 'description' => '',
1704
+ 'small' => true
1705
+ )
1706
+ );
1707
+
1708
+ $sap->add_setting(
1709
+ 'ewd-ufaq-settings',
1710
+ 'ewd-ufaq-styling-faq-elements',
1711
+ 'colorpicker',
1712
+ array(
1713
+ 'id' => 'styling-answer-font-color',
1714
+ 'title' => __( 'Answer Font Color', 'ultimate-faqs' )
1715
+ )
1716
+ );
1717
+
1718
+
1719
+ $sap->add_setting(
1720
+ 'ewd-ufaq-settings',
1721
+ 'ewd-ufaq-styling-faq-elements',
1722
+ 'text',
1723
+ array(
1724
+ 'id' => 'styling-answer-font',
1725
+ 'title' => __( 'Answer Font Family', 'ultimate-faqs' ),
1726
+ 'description' => '',
1727
+ 'small' => true
1728
+ )
1729
+ );
1730
+
1731
+ $sap->add_setting(
1732
+ 'ewd-ufaq-settings',
1733
+ 'ewd-ufaq-styling-faq-elements',
1734
+ 'text',
1735
+ array(
1736
+ 'id' => 'styling-answer-font-size',
1737
+ 'title' => __( 'Answer Font Size', 'ultimate-faqs' ),
1738
+ 'description' => '',
1739
+ 'small' => true
1740
+ )
1741
+ );
1742
+
1743
+ $sap->add_setting(
1744
+ 'ewd-ufaq-settings',
1745
+ 'ewd-ufaq-styling-faq-elements',
1746
+ 'text',
1747
+ array(
1748
+ 'id' => 'styling-answer-margin',
1749
+ 'title' => __( 'Answer Margin', 'ultimate-faqs' ),
1750
+ 'description' => '',
1751
+ 'small' => true
1752
+ )
1753
+ );
1754
+
1755
+ $sap->add_setting(
1756
+ 'ewd-ufaq-settings',
1757
+ 'ewd-ufaq-styling-faq-elements',
1758
+ 'text',
1759
+ array(
1760
+ 'id' => 'styling-answer-padding',
1761
+ 'title' => __( 'Answer Padding', 'ultimate-faqs' ),
1762
+ 'description' => '',
1763
+ 'small' => true
1764
+ )
1765
+ );
1766
+
1767
+ $sap->add_setting(
1768
+ 'ewd-ufaq-settings',
1769
+ 'ewd-ufaq-styling-faq-elements',
1770
+ 'colorpicker',
1771
+ array(
1772
+ 'id' => 'styling-category-font-color',
1773
+ 'title' => __( 'Categories, Tags Font Color', 'ultimate-faqs' )
1774
+ )
1775
+ );
1776
+
1777
+
1778
+ $sap->add_setting(
1779
+ 'ewd-ufaq-settings',
1780
+ 'ewd-ufaq-styling-faq-elements',
1781
+ 'text',
1782
+ array(
1783
+ 'id' => 'styling-category-font',
1784
+ 'title' => __( 'Categories, Tags Font Family', 'ultimate-faqs' ),
1785
+ 'description' => '',
1786
+ 'small' => true
1787
+ )
1788
+ );
1789
+
1790
+ $sap->add_setting(
1791
+ 'ewd-ufaq-settings',
1792
+ 'ewd-ufaq-styling-faq-elements',
1793
+ 'text',
1794
+ array(
1795
+ 'id' => 'styling-category-font-size',
1796
+ 'title' => __( 'Categories, Tags Font Size', 'ultimate-faqs' ),
1797
+ 'description' => '',
1798
+ 'small' => true
1799
+ )
1800
+ );
1801
+
1802
+ $sap->add_setting(
1803
+ 'ewd-ufaq-settings',
1804
+ 'ewd-ufaq-styling-faq-elements',
1805
+ 'text',
1806
+ array(
1807
+ 'id' => 'styling-category-margin',
1808
+ 'title' => __( 'Categories, Tags Margin', 'ultimate-faqs' ),
1809
+ 'description' => '',
1810
+ 'small' => true
1811
+ )
1812
+ );
1813
+
1814
+ $sap->add_setting(
1815
+ 'ewd-ufaq-settings',
1816
+ 'ewd-ufaq-styling-faq-elements',
1817
+ 'text',
1818
+ array(
1819
+ 'id' => 'styling-category-padding',
1820
+ 'title' => __( 'Categories, Tags Padding', 'ultimate-faqs' ),
1821
+ 'description' => '',
1822
+ 'small' => true
1823
+ )
1824
+ );
1825
+
1826
+ $sap->add_setting(
1827
+ 'ewd-ufaq-settings',
1828
+ 'ewd-ufaq-styling-faq-elements',
1829
+ 'colorpicker',
1830
+ array(
1831
+ 'id' => 'styling-postdate-font-color',
1832
+ 'title' => __( 'Post Date Font Color', 'ultimate-faqs' )
1833
+ )
1834
+ );
1835
+
1836
+
1837
+ $sap->add_setting(
1838
+ 'ewd-ufaq-settings',
1839
+ 'ewd-ufaq-styling-faq-elements',
1840
+ 'text',
1841
+ array(
1842
+ 'id' => 'styling-postdate-font',
1843
+ 'title' => __( 'Post Date Font Family', 'ultimate-faqs' ),
1844
+ 'description' => '',
1845
+ 'small' => true
1846
+ )
1847
+ );
1848
+
1849
+ $sap->add_setting(
1850
+ 'ewd-ufaq-settings',
1851
+ 'ewd-ufaq-styling-faq-elements',
1852
+ 'text',
1853
+ array(
1854
+ 'id' => 'styling-postdate-font-size',
1855
+ 'title' => __( 'Post Date Font Size', 'ultimate-faqs' ),
1856
+ 'description' => '',
1857
+ 'small' => true
1858
+ )
1859
+ );
1860
+
1861
+ $sap->add_setting(
1862
+ 'ewd-ufaq-settings',
1863
+ 'ewd-ufaq-styling-faq-elements',
1864
+ 'text',
1865
+ array(
1866
+ 'id' => 'styling-postdate-margin',
1867
+ 'title' => __( 'Post Date Margin', 'ultimate-faqs' ),
1868
+ 'description' => '',
1869
+ 'small' => true
1870
+ )
1871
+ );
1872
+
1873
+ $sap->add_setting(
1874
+ 'ewd-ufaq-settings',
1875
+ 'ewd-ufaq-styling-faq-elements',
1876
+ 'text',
1877
+ array(
1878
+ 'id' => 'styling-postdate-padding',
1879
+ 'title' => __( 'Post Date Padding', 'ultimate-faqs' ),
1880
+ 'description' => '',
1881
+ 'small' => true
1882
+ )
1883
+ );
1884
+
1885
+ $sap->add_section(
1886
+ 'ewd-ufaq-settings',
1887
+ array_merge(
1888
+ array(
1889
+ 'id' => 'ewd-ufaq-styling-headings',
1890
+ 'title' => __( 'Headings', 'ultimate-faqs' ),
1891
+ 'tab' => 'ewd-ufaq-styling-tab',
1892
+ ),
1893
+ $ewd_ufaq_styling_permissions
1894
+ )
1895
+ );
1896
+
1897
+ $sap->add_setting(
1898
+ 'ewd-ufaq-settings',
1899
+ 'ewd-ufaq-styling-headings',
1900
+ 'radio',
1901
+ array(
1902
+ 'id' => 'styling-category-heading-type',
1903
+ 'title' => __( 'Category Heading Type', 'ultimate-faqs' ),
1904
+ 'options' => array(
1905
+ 'h1' => __( 'H1', 'ultimate-faqs' ),
1906
+ 'h2' => __( 'H2', 'ultimate-faqs' ),
1907
+ 'h3' => __( 'H3', 'ultimate-faqs' ),
1908
+ 'h4' => __( 'H4', 'ultimate-faqs' ),
1909
+ 'h5' => __( 'H5', 'ultimate-faqs' ),
1910
+ 'h6' => __( 'H6', 'ultimate-faqs' ),
1911
+ ),
1912
+ 'default' => $this->defaults['styling-category-heading-type']
1913
+ )
1914
+ );
1915
+
1916
+ $sap->add_setting(
1917
+ 'ewd-ufaq-settings',
1918
+ 'ewd-ufaq-styling-headings',
1919
+ 'radio',
1920
+ array(
1921
+ 'id' => 'styling-faq-heading-type',
1922
+ 'title' => __( 'FAQ Heading Type', 'ultimate-faqs' ),
1923
+ 'options' => array(
1924
+ 'h1' => __( 'H1', 'ultimate-faqs' ),
1925
+ 'h2' => __( 'H2', 'ultimate-faqs' ),
1926
+ 'h3' => __( 'H3', 'ultimate-faqs' ),
1927
+ 'h4' => __( 'H4', 'ultimate-faqs' ),
1928
+ 'h5' => __( 'H5', 'ultimate-faqs' ),
1929
+ 'h6' => __( 'H6', 'ultimate-faqs' ),
1930
+ ),
1931
+ 'default' => $this->defaults['styling-faq-heading-type']
1932
+ )
1933
+ );
1934
+
1935
+ $sap->add_setting(
1936
+ 'ewd-ufaq-settings',
1937
+ 'ewd-ufaq-styling-headings',
1938
+ 'colorpicker',
1939
+ array(
1940
+ 'id' => 'styling-category-heading-font-color',
1941
+ 'title' => __( 'Category Heading Font Color', 'ultimate-faqs' )
1942
+ )
1943
+ );
1944
+
1945
+
1946
+ $sap->add_setting(
1947
+ 'ewd-ufaq-settings',
1948
+ 'ewd-ufaq-styling-headings',
1949
+ 'text',
1950
+ array(
1951
+ 'id' => 'styling-category-heading-font',
1952
+ 'title' => __( 'Category Heading Font Family', 'ultimate-faqs' ),
1953
+ 'description' => '',
1954
+ 'small' => true
1955
+ )
1956
+ );
1957
+
1958
+ $sap->add_setting(
1959
+ 'ewd-ufaq-settings',
1960
+ 'ewd-ufaq-styling-headings',
1961
+ 'text',
1962
+ array(
1963
+ 'id' => 'styling-category-heading-font-size',
1964
+ 'title' => __( 'Category Heading Font Size', 'ultimate-faqs' ),
1965
+ 'description' => '',
1966
+ 'small' => true
1967
+ )
1968
+ );
1969
+
1970
+ $sap = apply_filters( 'ewd_ufaq_settings_page', $sap );
1971
+
1972
+ $sap->add_admin_menus();
1973
+
1974
+ }
1975
+ }
1976
+ } // endif;
includes/UltimateWPMail.class.php CHANGED
@@ -1,76 +1,76 @@
1
- <?php
2
- if ( !defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( !class_exists( 'ewdufaqUltimateWPMail' ) ) {
5
- /**
6
- * Class to handle Ultimate WP Mail integration for Ultimate FAQs
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqUltimateWPMail {
11
-
12
- public function __construct() {
13
-
14
- add_filter( 'uwpm_register_custom_element_section', array( $this, 'add_element_section' ) );
15
- add_action( 'uwpm_register_custom_element', array( $this, 'add_elements' ) );
16
- }
17
-
18
- /**
19
- * Adds in a section for UFAQ tags in Ultimate WP Mail
20
- * @since 2.0.0
21
- */
22
- public function add_element_section() {
23
-
24
- if ( ! function_exists( 'uwpm_register_custom_element_section' ) ) { return; }
25
-
26
- $args = array(
27
- 'label' => 'FAQ Tags'
28
- );
29
-
30
- uwpm_register_custom_element_section( 'ewd_ufaq_uwpm_elements', $args );
31
- }
32
-
33
- /**
34
- * Adds in tags for author and author email
35
- * @since 2.0.0
36
- */
37
- public function add_elements() {
38
-
39
- if ( ! function_exists( 'uwpm_register_custom_element' ) ) { return; }
40
-
41
- $args = array(
42
- 'label' => 'FAQ Author',
43
- 'callback_function' => array( $this, 'get_faq_author' ),
44
- 'section' => 'ewd_ufaq_uwpm_elements'
45
- );
46
-
47
- uwpm_register_custom_element( 'ewd_ufaq_author', $args );
48
-
49
- $args = array(
50
- 'label' => 'FAQ Author Email',
51
- 'callback_function' => array( $this, 'get_faq_author_email' ),
52
- 'section' => 'ewd_ufaq_uwpm_elements'
53
- );
54
-
55
- uwpm_register_custom_element( 'ewd_ufaq_author_email', $args );
56
- }
57
-
58
- /**
59
- * Returns the author of a specified FAQ
60
- * @since 2.0.0
61
- */
62
- public function get_faq_author( $params, $user ) {
63
-
64
- return ! empty( $params['post_id'] ) ? get_post_meta( $params['post_id'], 'EWD_UFAQ_Post_Author', true ) : '';
65
- }
66
-
67
- /**
68
- * Returns the author email of a specified FAQ
69
- * @since 2.0.0
70
- */
71
- public function get_faq_author_email( $params, $user ) {
72
-
73
- return ! empty( $params['post_id'] ) ? get_post_meta( $params['post_id'], 'EWD_UFAQ_Post_Author_Email', true ) : '';
74
- }
75
- }
76
  }
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( !class_exists( 'ewdufaqUltimateWPMail' ) ) {
5
+ /**
6
+ * Class to handle Ultimate WP Mail integration for Ultimate FAQs
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqUltimateWPMail {
11
+
12
+ public function __construct() {
13
+
14
+ add_filter( 'uwpm_register_custom_element_section', array( $this, 'add_element_section' ) );
15
+ add_action( 'uwpm_register_custom_element', array( $this, 'add_elements' ) );
16
+ }
17
+
18
+ /**
19
+ * Adds in a section for UFAQ tags in Ultimate WP Mail
20
+ * @since 2.0.0
21
+ */
22
+ public function add_element_section() {
23
+
24
+ if ( ! function_exists( 'uwpm_register_custom_element_section' ) ) { return; }
25
+
26
+ $args = array(
27
+ 'label' => 'FAQ Tags'
28
+ );
29
+
30
+ uwpm_register_custom_element_section( 'ewd_ufaq_uwpm_elements', $args );
31
+ }
32
+
33
+ /**
34
+ * Adds in tags for author and author email
35
+ * @since 2.0.0
36
+ */
37
+ public function add_elements() {
38
+
39
+ if ( ! function_exists( 'uwpm_register_custom_element' ) ) { return; }
40
+
41
+ $args = array(
42
+ 'label' => 'FAQ Author',
43
+ 'callback_function' => array( $this, 'get_faq_author' ),
44
+ 'section' => 'ewd_ufaq_uwpm_elements'
45
+ );
46
+
47
+ uwpm_register_custom_element( 'ewd_ufaq_author', $args );
48
+
49
+ $args = array(
50
+ 'label' => 'FAQ Author Email',
51
+ 'callback_function' => array( $this, 'get_faq_author_email' ),
52
+ 'section' => 'ewd_ufaq_uwpm_elements'
53
+ );
54
+
55
+ uwpm_register_custom_element( 'ewd_ufaq_author_email', $args );
56
+ }
57
+
58
+ /**
59
+ * Returns the author of a specified FAQ
60
+ * @since 2.0.0
61
+ */
62
+ public function get_faq_author( $params, $user ) {
63
+
64
+ return ! empty( $params['post_id'] ) ? get_post_meta( $params['post_id'], 'EWD_UFAQ_Post_Author', true ) : '';
65
+ }
66
+
67
+ /**
68
+ * Returns the author email of a specified FAQ
69
+ * @since 2.0.0
70
+ */
71
+ public function get_faq_author_email( $params, $user ) {
72
+
73
+ return ! empty( $params['post_id'] ) ? get_post_meta( $params['post_id'], 'EWD_UFAQ_Post_Author_Email', true ) : '';
74
+ }
75
+ }
76
  }
includes/WPForms.class.php CHANGED
@@ -1,158 +1,158 @@
1
- <?php
2
- if ( !defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( !class_exists( 'ewdufaqWPForms' ) ) {
5
- /**
6
- * Class to handle WP Forms integration for Ultimate FAQs
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqWPForms {
11
-
12
- public function __construct() {
13
-
14
- add_filter( 'wpforms_builder_settings_sections', array( $this, 'add_settings_panel' ) );
15
- add_action( 'wpforms_form_settings_panel_content', array( $this, 'add_settings' ) );
16
-
17
- add_action( 'wpforms_frontend_output_before', array( $this, 'js_localization' ), 10, 2 );
18
-
19
- add_action( 'wpforms_display_field_before', array( $this, 'display_faqs' ), 10, 2 );
20
- add_action( 'wpforms_display_field_after', array( $this, 'display_faqs' ), 10, 2 );
21
-
22
- add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
23
- }
24
-
25
- /**
26
- * Adds an FAQs settings panel to the WP Forms admin screen
27
- * @since 2.0.0
28
- */
29
- public function add_settings_panel( $panels ) {
30
-
31
- $panels['ufaq'] = esc_html__( 'FAQs', 'ultimate-faqs' );
32
-
33
- return $panels;
34
-
35
- }
36
-
37
- /**
38
- * Adds an the settings to enable WP Forms integration
39
- * @since 2.0.0
40
- */
41
- public function add_settings( $instance ) { ?>
42
-
43
- <div class="wpforms-panel-content-section wpforms-panel-content-section-ufaq">
44
-
45
- <div class="wpforms-panel-content-section-title">
46
- <?php esc_html_e( 'Ultimate FAQs', 'ultimate-faqs' ); ?>
47
- </div>
48
-
49
- <?php
50
-
51
- wpforms_panel_field(
52
- 'radio',
53
- 'settings',
54
- 'ufaq_enabled',
55
- $instance->form_data,
56
- esc_html__( 'Disable FAQ display for this form, or enable it only on specific fields.', 'wpforms-lite' ),
57
- array(
58
- 'options' => array(
59
- 'enabled' => array( 'label' => 'Enable' ),
60
- 'disabled' => array( 'label' => 'Disable' ),
61
- 'specific' => array( 'label' => 'Specific Field' )
62
- )
63
- )
64
- );
65
-
66
- wpforms_panel_field(
67
- 'select',
68
- 'settings',
69
- 'ufaq_selected_field',
70
- $instance->form_data,
71
- esc_html__( 'If FAQs are set to a specific field, which field should FAQs be displayed for?', 'wpforms-lite' ),
72
- array(
73
- 'field_map' => array(
74
- 'text',
75
- 'textarea'
76
- ),
77
- 'placeholder' => __( '-- Select Field --', 'ultimate-faqs' ),
78
- )
79
- );
80
-
81
- ?>
82
-
83
- </div>
84
-
85
- <?php }
86
-
87
- /**
88
- * Pass the target field and other form data to the front-end
89
- * @since 2.0.0
90
- */
91
- public function js_localization( $form_data, $form ) {
92
-
93
- $target_field = $this->get_target_field( $form_data );
94
-
95
- wp_localize_script(
96
- 'ewd-ufaq-js',
97
- 'wpforms_integration',
98
- array(
99
- 'ufaq_enabled' => isset ( $form_data['settings']['ufaq_enabled'] ) ? $form_data['settings']['ufaq_enabled'] : 'enabled',
100
- 'ufaq_selected_field' => $target_field,
101
- 'form_id' => $form_data['id']
102
- )
103
- );
104
- }
105
-
106
- public function enqueue_scripts() {
107
-
108
- wp_enqueue_style( 'ewd-ufaq-wpforms-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-wpforms.css', array(), EWD_UFAQ_VERSION );
109
- }
110
-
111
- public function display_faqs( $field, $form_data ) {
112
- global $ewd_ufaq_controller;
113
-
114
- $target_field = $this->get_target_field( $form_data );
115
-
116
- if ( isset( $form_data['settings']['ufaq_enabled'] ) and $form_data['settings']['ufaq_enabled'] == 'disabled' ) { return; }
117
-
118
- if ( $field['id'] != $target_field ) { return; }
119
-
120
- if ( current_action() == 'wpforms_display_field_after' and $ewd_ufaq_controller->settings->get_setting( 'wpforms-faq-location' ) == 'above' ) { return; }
121
-
122
- if ( current_action() == 'wpforms_display_field_before' and $ewd_ufaq_controller->settings->get_setting( 'wpforms-faq-location' ) == 'below' ) { return; }
123
-
124
- $post_count = $ewd_ufaq_controller->settings->get_setting( 'wpforms-post-count' );
125
-
126
- ?>
127
-
128
- <div class="ewd-ufaq-wpforms-label ewd-ufaq-hidden"><?php esc_html_e( 'Possible FAQs related to your message:', 'ultimate-faqs' ); ?></div>
129
- <div class="ewd-ufaq-wpforms-faq-results ewd-ufaq-hidden"><?php echo do_shortcode( '[ultimate-faqs post__in_string="-1" post_count="' . $post_count . '"]' ); ?></div>
130
-
131
- <?php }
132
-
133
- /**
134
- * Determine which field FAQs should be displayed for
135
- * @since 2.0.0
136
- */
137
- public function get_target_field( $form_data ) {
138
-
139
- if ( isset ( $form_data['settings']['ufaq_enabled'] ) and $form_data['settings']['ufaq_enabled'] == 'specific' ) {
140
-
141
- return isset( $form_data['settings']['ufaq_selected_field'] ) ? $form_data['settings']['ufaq_selected_field'] : 0;
142
- }
143
-
144
- if ( ! isset( $form_data['settings']['ufaq_enabled'] ) or ( isset ( $form_data['settings']['ufaq_enabled'] ) and $form_data['settings']['ufaq_enabled'] != 'disabled' ) ) {
145
-
146
- foreach ( $form_data['fields'] as $field_id => $field ){
147
-
148
- if ( $field['type'] == 'textarea' ) {
149
-
150
- return $field['id'];
151
- }
152
- }
153
- }
154
-
155
- return false;
156
- }
157
- }
158
  }
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( !class_exists( 'ewdufaqWPForms' ) ) {
5
+ /**
6
+ * Class to handle WP Forms integration for Ultimate FAQs
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqWPForms {
11
+
12
+ public function __construct() {
13
+
14
+ add_filter( 'wpforms_builder_settings_sections', array( $this, 'add_settings_panel' ) );
15
+ add_action( 'wpforms_form_settings_panel_content', array( $this, 'add_settings' ) );
16
+
17
+ add_action( 'wpforms_frontend_output_before', array( $this, 'js_localization' ), 10, 2 );
18
+
19
+ add_action( 'wpforms_display_field_before', array( $this, 'display_faqs' ), 10, 2 );
20
+ add_action( 'wpforms_display_field_after', array( $this, 'display_faqs' ), 10, 2 );
21
+
22
+ add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
23
+ }
24
+
25
+ /**
26
+ * Adds an FAQs settings panel to the WP Forms admin screen
27
+ * @since 2.0.0
28
+ */
29
+ public function add_settings_panel( $panels ) {
30
+
31
+ $panels['ufaq'] = esc_html__( 'FAQs', 'ultimate-faqs' );
32
+
33
+ return $panels;
34
+
35
+ }
36
+
37
+ /**
38
+ * Adds an the settings to enable WP Forms integration
39
+ * @since 2.0.0
40
+ */
41
+ public function add_settings( $instance ) { ?>
42
+
43
+ <div class="wpforms-panel-content-section wpforms-panel-content-section-ufaq">
44
+
45
+ <div class="wpforms-panel-content-section-title">
46
+ <?php esc_html_e( 'Ultimate FAQs', 'ultimate-faqs' ); ?>
47
+ </div>
48
+
49
+ <?php
50
+
51
+ wpforms_panel_field(
52
+ 'radio',
53
+ 'settings',
54
+ 'ufaq_enabled',
55
+ $instance->form_data,
56
+ esc_html__( 'Disable FAQ display for this form, or enable it only on specific fields.', 'wpforms-lite' ),
57
+ array(
58
+ 'options' => array(
59
+ 'enabled' => array( 'label' => 'Enable' ),
60
+ 'disabled' => array( 'label' => 'Disable' ),
61
+ 'specific' => array( 'label' => 'Specific Field' )
62
+ )
63
+ )
64
+ );
65
+
66
+ wpforms_panel_field(
67
+ 'select',
68
+ 'settings',
69
+ 'ufaq_selected_field',
70
+ $instance->form_data,
71
+ esc_html__( 'If FAQs are set to a specific field, which field should FAQs be displayed for?', 'wpforms-lite' ),
72
+ array(
73
+ 'field_map' => array(
74
+ 'text',
75
+ 'textarea'
76
+ ),
77
+ 'placeholder' => __( '-- Select Field --', 'ultimate-faqs' ),
78
+ )
79
+ );
80
+
81
+ ?>
82
+
83
+ </div>
84
+
85
+ <?php }
86
+
87
+ /**
88
+ * Pass the target field and other form data to the front-end
89
+ * @since 2.0.0
90
+ */
91
+ public function js_localization( $form_data, $form ) {
92
+
93
+ $target_field = $this->get_target_field( $form_data );
94
+
95
+ wp_localize_script(
96
+ 'ewd-ufaq-js',
97
+ 'wpforms_integration',
98
+ array(
99
+ 'ufaq_enabled' => isset ( $form_data['settings']['ufaq_enabled'] ) ? $form_data['settings']['ufaq_enabled'] : 'enabled',
100
+ 'ufaq_selected_field' => $target_field,
101
+ 'form_id' => $form_data['id']
102
+ )
103
+ );
104
+ }
105
+
106
+ public function enqueue_scripts() {
107
+
108
+ wp_enqueue_style( 'ewd-ufaq-wpforms-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-wpforms.css', array(), EWD_UFAQ_VERSION );
109
+ }
110
+
111
+ public function display_faqs( $field, $form_data ) {
112
+ global $ewd_ufaq_controller;
113
+
114
+ $target_field = $this->get_target_field( $form_data );
115
+
116
+ if ( isset( $form_data['settings']['ufaq_enabled'] ) and $form_data['settings']['ufaq_enabled'] == 'disabled' ) { return; }
117
+
118
+ if ( $field['id'] != $target_field ) { return; }
119
+
120
+ if ( current_action() == 'wpforms_display_field_after' and $ewd_ufaq_controller->settings->get_setting( 'wpforms-faq-location' ) == 'above' ) { return; }
121
+
122
+ if ( current_action() == 'wpforms_display_field_before' and $ewd_ufaq_controller->settings->get_setting( 'wpforms-faq-location' ) == 'below' ) { return; }
123
+
124
+ $post_count = $ewd_ufaq_controller->settings->get_setting( 'wpforms-post-count' );
125
+
126
+ ?>
127
+
128
+ <div class="ewd-ufaq-wpforms-label ewd-ufaq-hidden"><?php esc_html_e( 'Possible FAQs related to your message:', 'ultimate-faqs' ); ?></div>
129
+ <div class="ewd-ufaq-wpforms-faq-results ewd-ufaq-hidden"><?php echo do_shortcode( '[ultimate-faqs post__in_string="-1" post_count="' . $post_count . '"]' ); ?></div>
130
+
131
+ <?php }
132
+
133
+ /**
134
+ * Determine which field FAQs should be displayed for
135
+ * @since 2.0.0
136
+ */
137
+ public function get_target_field( $form_data ) {
138
+
139
+ if ( isset ( $form_data['settings']['ufaq_enabled'] ) and $form_data['settings']['ufaq_enabled'] == 'specific' ) {
140
+
141
+ return isset( $form_data['settings']['ufaq_selected_field'] ) ? $form_data['settings']['ufaq_selected_field'] : 0;
142
+ }
143
+
144
+ if ( ! isset( $form_data['settings']['ufaq_enabled'] ) or ( isset ( $form_data['settings']['ufaq_enabled'] ) and $form_data['settings']['ufaq_enabled'] != 'disabled' ) ) {
145
+
146
+ foreach ( $form_data['fields'] as $field_id => $field ){
147
+
148
+ if ( $field['type'] == 'textarea' ) {
149
+
150
+ return $field['id'];
151
+ }
152
+ }
153
+ }
154
+
155
+ return false;
156
+ }
157
+ }
158
  }
includes/Widgets.class.php CHANGED
@@ -1,382 +1,382 @@
1
- <?php
2
-
3
- class ewdufaqWidgetManager {
4
-
5
- public function __construct() {
6
-
7
- add_action( 'widgets_init', array( $this, 'register_faq_post_list_widget' ) );
8
- add_action( 'widgets_init', array( $this, 'register_recent_faqs_widget' ) );
9
- add_action( 'widgets_init', array( $this, 'register_popular_faqs_widget' ) );
10
- add_action( 'widgets_init', array( $this, 'register_random_faqs_widget' ) );
11
- add_action( 'widgets_init', array( $this, 'register_faq_categories_widget' ) );
12
- }
13
-
14
- public function register_faq_post_list_widget() {
15
-
16
- return register_widget( 'ewdufaqFAQPostListWidget' );
17
- }
18
-
19
- public function register_recent_faqs_widget() {
20
-
21
- return register_widget( 'ewdufaqRecentFAQsWidget' );
22
- }
23
-
24
- public function register_popular_faqs_widget() {
25
-
26
- return register_widget( 'ewdufaqPopularFAQsWidget' );
27
- }
28
-
29
- public function register_random_faqs_widget() {
30
-
31
- return register_widget( 'ewdufaqRandomFAQsWidget' );
32
- }
33
-
34
- public function register_faq_categories_widget() {
35
-
36
- return register_widget( 'ewdufaqFAQCategoriesWidget' );
37
- }
38
-
39
- }
40
-
41
- class ewdufaqFAQPostListWidget extends WP_Widget {
42
-
43
- /**
44
- * Sets up the widgets name etc
45
- */
46
- public function __construct() {
47
-
48
- parent::__construct(
49
- 'ewd_ufaq_display_faq_post_list', // Base ID
50
- __( 'UFAQ FAQ ID List', 'ultimate-faqs' ), // Name
51
- array( 'description' => __( 'Insert FAQ posts using a comma-separated list of post IDs', 'ultimate-faqs' ), ) // Args
52
- );
53
- }
54
-
55
- /**
56
- * Outputs the content of the widget
57
- *
58
- * @param array $args
59
- * @param array $instance
60
- */
61
- public function widget( $args, $instance ) {
62
-
63
- echo $args['before_widget'];
64
- if ( $instance['faq_title'] != '' ) { echo ( $args['before_title'] != '' ? $args['before_title'] : '<h3>' ) . $instance['faq_title'] . ( $args['after_title'] != '' ? $args['after_title'] : '</h3>' ); }
65
- echo do_shortcode( "[select-faq faq_id='". $instance['faq_id'] . "' no_comments='Yes']" );
66
- echo $args['after_widget'];
67
- }
68
-
69
- /**
70
- * Outputs the options form on admin
71
- *
72
- * @param array $instance The widget options
73
- */
74
- public function form( $instance ) {
75
-
76
- $faq_id = ! empty( $instance['faq_id'] ) ? $instance['faq_id'] : __( 'FAQ ID List', 'ultimate-faqs' );
77
- $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( '', 'ultimate-faqs' );
78
-
79
- ?>
80
-
81
- <p>
82
- <label for="<?php echo $this->get_field_id( 'faq_id' ); ?>"><?php _e( 'FAQ ID List:', 'ultimate-faqs' ); ?></label>
83
- <input class="widefat" id="<?php echo $this->get_field_id( 'faq_id' ); ?>" name="<?php echo $this->get_field_name( 'faq_id' ); ?>" type="text" value="<?php echo esc_attr( $faq_id ); ?>">
84
- </p>
85
- <p>
86
- <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
87
- <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
88
- </p>
89
-
90
- <?php
91
- }
92
-
93
- /**
94
- * Processing widget options on save
95
- *
96
- * @param array $new_instance The new options
97
- * @param array $old_instance The previous options
98
- */
99
- public function update( $new_instance, $old_instance ) {
100
-
101
- $instance = array();
102
- $instance['faq_id'] = ( ! empty( $new_instance['faq_id'] ) ) ? strip_tags( $new_instance['faq_id'] ) : '';
103
- $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
104
-
105
- return $instance;
106
- }
107
- }
108
-
109
- class ewdufaqRecentFAQsWidget extends WP_Widget {
110
-
111
- /**
112
- * Sets up the widgets name etc
113
- */
114
- public function __construct() {
115
-
116
- parent::__construct(
117
- 'ewd_ufaq_display_recent_faqs', // Base ID
118
- __( 'Recent FAQs', 'ultimate-faqs' ), // Name
119
- array( 'description' => __( 'Insert a number of the most recent FAQs', 'ultimate-faqs' ), ) // Args
120
- );
121
- }
122
-
123
- /**
124
- * Outputs the content of the widget
125
- *
126
- * @param array $args
127
- * @param array $instance
128
- */
129
- public function widget( $args, $instance ) {
130
-
131
- echo $args['before_widget'];
132
- if ( $instance['faq_title'] != '' ) { echo ( $args['before_title'] != '' ? $args['before_title'] : '<h3>' ) . $instance['faq_title'] . ( $args['after_title'] != '' ? $args['after_title'] : '</h3>' ); }
133
- echo do_shortcode( "[recent-faqs post_count='". $instance['post_count'] . "' no_comments='Yes']" );
134
- echo $args['after_widget'];
135
- }
136
-
137
- /**
138
- * Outputs the options form on admin
139
- *
140
- * @param array $instance The widget options
141
- */
142
- public function form( $instance ) {
143
-
144
- $post_count = ! empty( $instance['post_count'] ) ? $instance['post_count'] : __( 'Number of FAQs', 'ultimate-faqs' );
145
- $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( 'Widget Title', 'ultimate-faqs' );
146
-
147
- ?>
148
-
149
- <p>
150
- <label for="<?php echo $this->get_field_id( 'post_count' ); ?>"><?php _e( 'Number of FAQs:', 'ultimate-faqs' ); ?></label>
151
- <input class="widefat" id="<?php echo $this->get_field_id( 'post_count' ); ?>" name="<?php echo $this->get_field_name( 'post_count' ); ?>" type="text" value="<?php echo esc_attr( $post_count ); ?>">
152
- </p>
153
- <p>
154
- <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
155
- <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
156
- </p>
157
-
158
- <?php
159
- }
160
-
161
- /**
162
- * Processing widget options on save
163
- *
164
- * @param array $new_instance The new options
165
- * @param array $old_instance The previous options
166
- */
167
- public function update( $new_instance, $old_instance ) {
168
-
169
- $instance = array();
170
- $instance['post_count'] = ( ! empty( $new_instance['post_count'] ) ) ? strip_tags( $new_instance['post_count'] ) : '';
171
- $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
172
-
173
- return $instance;
174
- }
175
- }
176
-
177
- class ewdufaqPopularFAQsWidget extends WP_Widget {
178
-
179
- /**
180
- * Sets up the widgets name etc
181
- */
182
- public function __construct() {
183
-
184
- parent::__construct(
185
- 'ewd_ufaq_popular_reviews_widget', // Base ID
186
- __( 'Popular FAQs', 'ultimate-faqs' ), // Name
187
- array( 'description' => __( 'Insert a number of popular FAQs.', 'ultimate-faqs' ), ) // Args
188
- );
189
- }
190
-
191
- /**
192
- * Outputs the content of the widget
193
- *
194
- * @param array $args
195
- * @param array $instance
196
- */
197
- public function widget( $args, $instance ) {
198
-
199
- echo $args['before_widget'];
200
- if ( $instance['faq_title'] != '' ) { echo ( $args['before_title'] != '' ? $args['before_title'] : '<h3>' ) . $instance['faq_title'] . ( $args['after_title'] != '' ? $args['after_title'] : '</h3>' ); }
201
- echo do_shortcode( "[popular-faqs post_count='". $instance['post_count'] . "' no_comments='Yes']" );
202
- echo $args['after_widget'];
203
- }
204
-
205
- /**
206
- * Outputs the options form on admin
207
- *
208
- * @param array $instance The widget options
209
- */
210
- public function form( $instance ) {
211
-
212
- $post_count = ! empty( $instance['post_count'] ) ? $instance['post_count'] : __( 'Number of FAQs', 'ultimate-faqs' );
213
- $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( 'Widget Title', 'ultimate-faqs' );
214
-
215
- ?>
216
-
217
- <p>
218
- <label for="<?php echo $this->get_field_id( 'post_count' ); ?>"><?php _e( 'Number of FAQs:', 'ultimate-faqs' ); ?></label>
219
- <input class="widefat" id="<?php echo $this->get_field_id( 'post_count' ); ?>" name="<?php echo $this->get_field_name( 'post_count' ); ?>" type="text" value="<?php echo esc_attr( $post_count ); ?>">
220
- </p>
221
- <p>
222
- <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
223
- <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
224
- </p>
225
-
226
- <?php
227
- }
228
-
229
- /**
230
- * Processing widget options on save
231
- *
232
- * @param array $new_instance The new options
233
- * @param array $old_instance The previous options
234
- */
235
- public function update( $new_instance, $old_instance ) {
236
-
237
- $instance = array();
238
- $instance['post_count'] = ( ! empty( $new_instance['post_count'] ) ) ? strip_tags( $new_instance['post_count'] ) : '';
239
- $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
240
-
241
- return $instance;
242
- }
243
- }
244
-
245
- class ewdufaqRandomFAQsWidget extends WP_Widget {
246
-
247
- /**
248
- * Sets up the widgets name etc
249
- */
250
- public function __construct() {
251
-
252
- parent::__construct(
253
- 'ewd_ufaq_display_random_faq', // Base ID
254
- __( 'Random FAQ', 'ultimate-faqs' ), // Name
255
- array( 'description' => __( 'Display a random FAQ', 'ultimate-faqs' ), ) // Args
256
- );
257
- }
258
-
259
- /**
260
- * Outputs the content of the widget
261
- *
262
- * @param array $args
263
- * @param array $instance
264
- */
265
- public function widget( $args, $instance ) {
266
-
267
- $args = array(
268
- 'orderby' => 'rand',
269
- 'posts_per_page' => '1',
270
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE
271
- );
272
-
273
- $faqs = get_posts( $args );
274
- $faq = reset( $faqs );
275
-
276
- echo $args['before_widget'];
277
- if ($instance['faq_title'] != "") {echo ($args['before_title'] != '' ? $args['before_title'] : "<h3>") . $instance['faq_title'] . ($args['after_title'] != '' ? $args['after_title'] : "</h3>");}
278
- echo do_shortcode( "[select-faq faq_id='". $faq->ID . "' no_comments='Yes']" );
279
- echo $args['after_widget'];
280
- }
281
-
282
- /**
283
- * Outputs the options form on admin
284
- *
285
- * @param array $instance The widget options
286
- */
287
- public function form( $instance ) {
288
-
289
- $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( 'Widget Title', 'ultimate-faqs' );
290
-
291
- ?>
292
-
293
- <p>
294
- <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
295
- <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
296
- </p>
297
-
298
- <?php
299
- }
300
-
301
- /**
302
- * Processing widget options on save
303
- *
304
- * @param array $new_instance The new options
305
- * @param array $old_instance The previous options
306
- */
307
- public function update( $new_instance, $old_instance ) {
308
-
309
- $instance = array();
310
- $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
311
-
312
- return $instance;
313
- }
314
- }
315
-
316
- class ewdufaqFAQCategoriesWidget extends WP_Widget {
317
-
318
- /**
319
- * Sets up the widgets name etc
320
- */
321
- public function __construct() {
322
-
323
- parent::__construct(
324
- 'ewd_ufaq_display_faq_categories', // Base ID
325
- __( 'UFAQ FAQ Category List', 'ultimate-faqs' ), // Name
326
- array( 'description' => __( 'Insert FAQ posts using a comma-separated list of categories', 'ultimate-faqs' ), ) // Args
327
- );
328
- }
329
-
330
- /**
331
- * Outputs the content of the widget
332
- *
333
- * @param array $args
334
- * @param array $instance
335
- */
336
- public function widget( $args, $instance ) {
337
-
338
- echo $args['before_widget'];
339
- if ($instance['faq_title'] != "") {echo ($args['before_title'] != '' ? $args['before_title'] : "<h3>") . $instance['faq_title'] . ($args['after_title'] != '' ? $args['after_title'] : "</h3>");}
340
- echo do_shortcode( "[ultimate-faqs include_category='". $instance['include_category'] . "' no_comments='Yes']" );
341
- echo $args['after_widget'];
342
- }
343
-
344
- /**
345
- * Outputs the options form on admin
346
- *
347
- * @param array $instance The widget options
348
- */
349
- public function form( $instance ) {
350
-
351
- $include_category = ! empty( $instance['include_category'] ) ? $instance['include_category'] : __( 'FAQ Category List', 'ultimate-faqs' );
352
- $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( 'Widget Title', 'ultimate-faqs' );
353
-
354
- ?>
355
-
356
- <p>
357
- <label for="<?php echo $this->get_field_id( 'include_category' ); ?>"><?php _e( 'FAQ Category List:', 'ultimate-faqs' ); ?></label>
358
- <input class="widefat" id="<?php echo $this->get_field_id( 'include_category' ); ?>" name="<?php echo $this->get_field_name( 'include_category' ); ?>" type="text" value="<?php echo esc_attr( $include_category ); ?>">
359
- </p>
360
- <p>
361
- <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
362
- <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
363
- </p>
364
-
365
- <?php
366
- }
367
-
368
- /**
369
- * Processing widget options on save
370
- *
371
- * @param array $new_instance The new options
372
- * @param array $old_instance The previous options
373
- */
374
- public function update( $new_instance, $old_instance ) {
375
-
376
- $instance = array();
377
- $instance['include_category'] = ( ! empty( $new_instance['include_category'] ) ) ? strip_tags( $new_instance['include_category'] ) : '';
378
- $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
379
-
380
- return $instance;
381
- }
382
  }
1
+ <?php
2
+
3
+ class ewdufaqWidgetManager {
4
+
5
+ public function __construct() {
6
+
7
+ add_action( 'widgets_init', array( $this, 'register_faq_post_list_widget' ) );
8
+ add_action( 'widgets_init', array( $this, 'register_recent_faqs_widget' ) );
9
+ add_action( 'widgets_init', array( $this, 'register_popular_faqs_widget' ) );
10
+ add_action( 'widgets_init', array( $this, 'register_random_faqs_widget' ) );
11
+ add_action( 'widgets_init', array( $this, 'register_faq_categories_widget' ) );
12
+ }
13
+
14
+ public function register_faq_post_list_widget() {
15
+
16
+ return register_widget( 'ewdufaqFAQPostListWidget' );
17
+ }
18
+
19
+ public function register_recent_faqs_widget() {
20
+
21
+ return register_widget( 'ewdufaqRecentFAQsWidget' );
22
+ }
23
+
24
+ public function register_popular_faqs_widget() {
25
+
26
+ return register_widget( 'ewdufaqPopularFAQsWidget' );
27
+ }
28
+
29
+ public function register_random_faqs_widget() {
30
+
31
+ return register_widget( 'ewdufaqRandomFAQsWidget' );
32
+ }
33
+
34
+ public function register_faq_categories_widget() {
35
+
36
+ return register_widget( 'ewdufaqFAQCategoriesWidget' );
37
+ }
38
+
39
+ }
40
+
41
+ class ewdufaqFAQPostListWidget extends WP_Widget {
42
+
43
+ /**
44
+ * Sets up the widgets name etc
45
+ */
46
+ public function __construct() {
47
+
48
+ parent::__construct(
49
+ 'ewd_ufaq_display_faq_post_list', // Base ID
50
+ __( 'UFAQ FAQ ID List', 'ultimate-faqs' ), // Name
51
+ array( 'description' => __( 'Insert FAQ posts using a comma-separated list of post IDs', 'ultimate-faqs' ), ) // Args
52
+ );
53
+ }
54
+
55
+ /**
56
+ * Outputs the content of the widget
57
+ *
58
+ * @param array $args
59
+ * @param array $instance
60
+ */
61
+ public function widget( $args, $instance ) {
62
+
63
+ echo $args['before_widget'];
64
+ if ( $instance['faq_title'] != '' ) { echo ( $args['before_title'] != '' ? $args['before_title'] : '<h3>' ) . $instance['faq_title'] . ( $args['after_title'] != '' ? $args['after_title'] : '</h3>' ); }
65
+ echo do_shortcode( "[select-faq faq_id='". $instance['faq_id'] . "' no_comments='Yes']" );
66
+ echo $args['after_widget'];
67
+ }
68
+
69
+ /**
70
+ * Outputs the options form on admin
71
+ *
72
+ * @param array $instance The widget options
73
+ */
74
+ public function form( $instance ) {
75
+
76
+ $faq_id = ! empty( $instance['faq_id'] ) ? $instance['faq_id'] : __( 'FAQ ID List', 'ultimate-faqs' );
77
+ $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( '', 'ultimate-faqs' );
78
+
79
+ ?>
80
+
81
+ <p>
82
+ <label for="<?php echo $this->get_field_id( 'faq_id' ); ?>"><?php _e( 'FAQ ID List:', 'ultimate-faqs' ); ?></label>
83
+ <input class="widefat" id="<?php echo $this->get_field_id( 'faq_id' ); ?>" name="<?php echo $this->get_field_name( 'faq_id' ); ?>" type="text" value="<?php echo esc_attr( $faq_id ); ?>">
84
+ </p>
85
+ <p>
86
+ <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
87
+ <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
88
+ </p>
89
+
90
+ <?php
91
+ }
92
+
93
+ /**
94
+ * Processing widget options on save
95
+ *
96
+ * @param array $new_instance The new options
97
+ * @param array $old_instance The previous options
98
+ */
99
+ public function update( $new_instance, $old_instance ) {
100
+
101
+ $instance = array();
102
+ $instance['faq_id'] = ( ! empty( $new_instance['faq_id'] ) ) ? strip_tags( $new_instance['faq_id'] ) : '';
103
+ $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
104
+
105
+ return $instance;
106
+ }
107
+ }
108
+
109
+ class ewdufaqRecentFAQsWidget extends WP_Widget {
110
+
111
+ /**
112
+ * Sets up the widgets name etc
113
+ */
114
+ public function __construct() {
115
+
116
+ parent::__construct(
117
+ 'ewd_ufaq_display_recent_faqs', // Base ID
118
+ __( 'Recent FAQs', 'ultimate-faqs' ), // Name
119
+ array( 'description' => __( 'Insert a number of the most recent FAQs', 'ultimate-faqs' ), ) // Args
120
+ );
121
+ }
122
+
123
+ /**
124
+ * Outputs the content of the widget
125
+ *
126
+ * @param array $args
127
+ * @param array $instance
128
+ */
129
+ public function widget( $args, $instance ) {
130
+
131
+ echo $args['before_widget'];
132
+ if ( $instance['faq_title'] != '' ) { echo ( $args['before_title'] != '' ? $args['before_title'] : '<h3>' ) . $instance['faq_title'] . ( $args['after_title'] != '' ? $args['after_title'] : '</h3>' ); }
133
+ echo do_shortcode( "[recent-faqs post_count='". $instance['post_count'] . "' no_comments='Yes']" );
134
+ echo $args['after_widget'];
135
+ }
136
+
137
+ /**
138
+ * Outputs the options form on admin
139
+ *
140
+ * @param array $instance The widget options
141
+ */
142
+ public function form( $instance ) {
143
+
144
+ $post_count = ! empty( $instance['post_count'] ) ? $instance['post_count'] : __( 'Number of FAQs', 'ultimate-faqs' );
145
+ $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( 'Widget Title', 'ultimate-faqs' );
146
+
147
+ ?>
148
+
149
+ <p>
150
+ <label for="<?php echo $this->get_field_id( 'post_count' ); ?>"><?php _e( 'Number of FAQs:', 'ultimate-faqs' ); ?></label>
151
+ <input class="widefat" id="<?php echo $this->get_field_id( 'post_count' ); ?>" name="<?php echo $this->get_field_name( 'post_count' ); ?>" type="text" value="<?php echo esc_attr( $post_count ); ?>">
152
+ </p>
153
+ <p>
154
+ <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
155
+ <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
156
+ </p>
157
+
158
+ <?php
159
+ }
160
+
161
+ /**
162
+ * Processing widget options on save
163
+ *
164
+ * @param array $new_instance The new options
165
+ * @param array $old_instance The previous options
166
+ */
167
+ public function update( $new_instance, $old_instance ) {
168
+
169
+ $instance = array();
170
+ $instance['post_count'] = ( ! empty( $new_instance['post_count'] ) ) ? strip_tags( $new_instance['post_count'] ) : '';
171
+ $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
172
+
173
+ return $instance;
174
+ }
175
+ }
176
+
177
+ class ewdufaqPopularFAQsWidget extends WP_Widget {
178
+
179
+ /**
180
+ * Sets up the widgets name etc
181
+ */
182
+ public function __construct() {
183
+
184
+ parent::__construct(
185
+ 'ewd_ufaq_popular_reviews_widget', // Base ID
186
+ __( 'Popular FAQs', 'ultimate-faqs' ), // Name
187
+ array( 'description' => __( 'Insert a number of popular FAQs.', 'ultimate-faqs' ), ) // Args
188
+ );
189
+ }
190
+
191
+ /**
192
+ * Outputs the content of the widget
193
+ *
194
+ * @param array $args
195
+ * @param array $instance
196
+ */
197
+ public function widget( $args, $instance ) {
198
+
199
+ echo $args['before_widget'];
200
+ if ( $instance['faq_title'] != '' ) { echo ( $args['before_title'] != '' ? $args['before_title'] : '<h3>' ) . $instance['faq_title'] . ( $args['after_title'] != '' ? $args['after_title'] : '</h3>' ); }
201
+ echo do_shortcode( "[popular-faqs post_count='". $instance['post_count'] . "' no_comments='Yes']" );
202
+ echo $args['after_widget'];
203
+ }
204
+
205
+ /**
206
+ * Outputs the options form on admin
207
+ *
208
+ * @param array $instance The widget options
209
+ */
210
+ public function form( $instance ) {
211
+
212
+ $post_count = ! empty( $instance['post_count'] ) ? $instance['post_count'] : __( 'Number of FAQs', 'ultimate-faqs' );
213
+ $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( 'Widget Title', 'ultimate-faqs' );
214
+
215
+ ?>
216
+
217
+ <p>
218
+ <label for="<?php echo $this->get_field_id( 'post_count' ); ?>"><?php _e( 'Number of FAQs:', 'ultimate-faqs' ); ?></label>
219
+ <input class="widefat" id="<?php echo $this->get_field_id( 'post_count' ); ?>" name="<?php echo $this->get_field_name( 'post_count' ); ?>" type="text" value="<?php echo esc_attr( $post_count ); ?>">
220
+ </p>
221
+ <p>
222
+ <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
223
+ <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
224
+ </p>
225
+
226
+ <?php
227
+ }
228
+
229
+ /**
230
+ * Processing widget options on save
231
+ *
232
+ * @param array $new_instance The new options
233
+ * @param array $old_instance The previous options
234
+ */
235
+ public function update( $new_instance, $old_instance ) {
236
+
237
+ $instance = array();
238
+ $instance['post_count'] = ( ! empty( $new_instance['post_count'] ) ) ? strip_tags( $new_instance['post_count'] ) : '';
239
+ $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
240
+
241
+ return $instance;
242
+ }
243
+ }
244
+
245
+ class ewdufaqRandomFAQsWidget extends WP_Widget {
246
+
247
+ /**
248
+ * Sets up the widgets name etc
249
+ */
250
+ public function __construct() {
251
+
252
+ parent::__construct(
253
+ 'ewd_ufaq_display_random_faq', // Base ID
254
+ __( 'Random FAQ', 'ultimate-faqs' ), // Name
255
+ array( 'description' => __( 'Display a random FAQ', 'ultimate-faqs' ), ) // Args
256
+ );
257
+ }
258
+
259
+ /**
260
+ * Outputs the content of the widget
261
+ *
262
+ * @param array $args
263
+ * @param array $instance
264
+ */
265
+ public function widget( $args, $instance ) {
266
+
267
+ $args = array(
268
+ 'orderby' => 'rand',
269
+ 'posts_per_page' => '1',
270
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE
271
+ );
272
+
273
+ $faqs = get_posts( $args );
274
+ $faq = reset( $faqs );
275
+
276
+ echo $args['before_widget'];
277
+ if ($instance['faq_title'] != "") {echo ($args['before_title'] != '' ? $args['before_title'] : "<h3>") . $instance['faq_title'] . ($args['after_title'] != '' ? $args['after_title'] : "</h3>");}
278
+ echo do_shortcode( "[select-faq faq_id='". $faq->ID . "' no_comments='Yes']" );
279
+ echo $args['after_widget'];
280
+ }
281
+
282
+ /**
283
+ * Outputs the options form on admin
284
+ *
285
+ * @param array $instance The widget options
286
+ */
287
+ public function form( $instance ) {
288
+
289
+ $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( 'Widget Title', 'ultimate-faqs' );
290
+
291
+ ?>
292
+
293
+ <p>
294
+ <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
295
+ <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
296
+ </p>
297
+
298
+ <?php
299
+ }
300
+
301
+ /**
302
+ * Processing widget options on save
303
+ *
304
+ * @param array $new_instance The new options
305
+ * @param array $old_instance The previous options
306
+ */
307
+ public function update( $new_instance, $old_instance ) {
308
+
309
+ $instance = array();
310
+ $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
311
+
312
+ return $instance;
313
+ }
314
+ }
315
+
316
+ class ewdufaqFAQCategoriesWidget extends WP_Widget {
317
+
318
+ /**
319
+ * Sets up the widgets name etc
320
+ */
321
+ public function __construct() {
322
+
323
+ parent::__construct(
324
+ 'ewd_ufaq_display_faq_categories', // Base ID
325
+ __( 'UFAQ FAQ Category List', 'ultimate-faqs' ), // Name
326
+ array( 'description' => __( 'Insert FAQ posts using a comma-separated list of categories', 'ultimate-faqs' ), ) // Args
327
+ );
328
+ }
329
+
330
+ /**
331
+ * Outputs the content of the widget
332
+ *
333
+ * @param array $args
334
+ * @param array $instance
335
+ */
336
+ public function widget( $args, $instance ) {
337
+
338
+ echo $args['before_widget'];
339
+ if ($instance['faq_title'] != "") {echo ($args['before_title'] != '' ? $args['before_title'] : "<h3>") . $instance['faq_title'] . ($args['after_title'] != '' ? $args['after_title'] : "</h3>");}
340
+ echo do_shortcode( "[ultimate-faqs include_category='". $instance['include_category'] . "' no_comments='Yes']" );
341
+ echo $args['after_widget'];
342
+ }
343
+
344
+ /**
345
+ * Outputs the options form on admin
346
+ *
347
+ * @param array $instance The widget options
348
+ */
349
+ public function form( $instance ) {
350
+
351
+ $include_category = ! empty( $instance['include_category'] ) ? $instance['include_category'] : __( 'FAQ Category List', 'ultimate-faqs' );
352
+ $faq_title = ! empty( $instance['faq_title'] ) ? $instance['faq_title'] : __( 'Widget Title', 'ultimate-faqs' );
353
+
354
+ ?>
355
+
356
+ <p>
357
+ <label for="<?php echo $this->get_field_id( 'include_category' ); ?>"><?php _e( 'FAQ Category List:', 'ultimate-faqs' ); ?></label>
358
+ <input class="widefat" id="<?php echo $this->get_field_id( 'include_category' ); ?>" name="<?php echo $this->get_field_name( 'include_category' ); ?>" type="text" value="<?php echo esc_attr( $include_category ); ?>">
359
+ </p>
360
+ <p>
361
+ <label for="<?php echo $this->get_field_id( 'faq_title' ); ?>"><?php _e( 'Widget Title:', 'ultimate-faqs' ); ?></label>
362
+ <input class="widefat" id="<?php echo $this->get_field_id( 'faq_title' ); ?>" name="<?php echo $this->get_field_name( 'faq_title' ); ?>" type="text" value="<?php echo esc_attr( $faq_title ); ?>">
363
+ </p>
364
+
365
+ <?php
366
+ }
367
+
368
+ /**
369
+ * Processing widget options on save
370
+ *
371
+ * @param array $new_instance The new options
372
+ * @param array $old_instance The previous options
373
+ */
374
+ public function update( $new_instance, $old_instance ) {
375
+
376
+ $instance = array();
377
+ $instance['include_category'] = ( ! empty( $new_instance['include_category'] ) ) ? strip_tags( $new_instance['include_category'] ) : '';
378
+ $instance['faq_title'] = ( ! empty( $new_instance['faq_title'] ) ) ? strip_tags( $new_instance['faq_title'] ) : '';
379
+
380
+ return $instance;
381
+ }
382
  }
includes/WooCommerce.class.php CHANGED
@@ -1,307 +1,307 @@
1
- <?php
2
- if ( !defined( 'ABSPATH' ) ) exit;
3
-
4
- if ( !class_exists( 'ewdufaqWooCommerce' ) ) {
5
- /**
6
- * Class to handle WooCommerce integration for Ultimate FAQs
7
- *
8
- * @since 2.0.0
9
- */
10
- class ewdufaqWooCommerce {
11
-
12
- public function __construct() {
13
-
14
- add_filter( 'woocommerce_product_tabs', array( $this, 'add_woocommerce_tab' ) );
15
-
16
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue' ) );
17
-
18
- add_filter( 'woocommerce_product_data_tabs', array( $this, 'add_admin_product_page_faq_tab' ), 10, 1 );
19
- add_action( 'woocommerce_product_data_panels', array( $this, 'add_admin_product_page_faqs' ) );
20
-
21
- add_action( 'wp_ajax_ewd_ufaq_add_wc_faqs', array( $this, 'add_wc_faqs' ) );
22
- add_action( 'wp_ajax_ewd_ufaq_delete_wc_faqs', array( $this, 'delete_wc_faqs' ) );
23
- add_action( 'wp_ajax_ewd_ufaq_wc_faq_category', array( $this, 'wc_faq_category' ) );
24
- }
25
-
26
- /**
27
- * Adds an FAQ tab to WooCommerce
28
- * @since 2.0.0
29
- */
30
- public function add_woocommerce_tab( $tabs ) {
31
- global $product;
32
- global $ewd_ufaq_controller;
33
-
34
- if ( ! $ewd_ufaq_controller->settings->get_setting( 'woocommerce-faqs' ) ) { return $tabs; }
35
-
36
- $product_post = ( $ewd_ufaq_controller->settings->get_setting( 'woocommerce-use-product' ) and is_object( $product ) ) ? get_post( $product->get_id() ) : get_post( get_the_id() );
37
-
38
- $ufaq_product_category = get_term_by( 'name', $product_post->post_title, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
39
-
40
- $wc_cats = get_the_terms( $product_post, 'product_cat' );
41
-
42
- $ufaq_wccat_category = false;
43
-
44
- if ( $wc_cats ) {
45
-
46
- foreach ( $wc_cats as $wc_cat ) {
47
-
48
- if ( get_term_by( 'name', $wc_cat->name, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ) ) { $ufaq_wccat_category = true; }
49
- }
50
- }
51
-
52
- $current_faqs = is_array( get_post_meta( $product_post->ID, 'EWD_UFAQ_WC_Selected_FAQs', true ) ) ? get_post_meta( $product_post->ID, 'EWD_UFAQ_WC_Selected_FAQs', true ) : array();
53
-
54
- if ( ( $ufaq_product_category or $ufaq_wccat_category or ! empty( $current_faqs ) ) ) {
55
-
56
- $tabs['faq_tab'] = array(
57
- 'title' => $ewd_ufaq_controller->settings->get_setting( 'label-woocommerce-tab' ),
58
- 'priority' => 50,
59
- 'callback' => array( $this, 'faq_tab_content' )
60
- );
61
-
62
- return $tabs;
63
- }
64
- }
65
-
66
- public function admin_enqueue( $hook ) {
67
- global $post;
68
- global $ewd_ufaq_controller;
69
-
70
- if ( ! $ewd_ufaq_controller->settings->get_setting( 'woocommerce-faqs' ) ) { return; }
71
-
72
- if ( $hook != 'edit.php' and $hook != 'post-new.php' and $hook != 'post.php' ) { return; }
73
-
74
- if ( ! isset( $post->post_type ) or $post->post_type != 'product' ) { return; }
75
-
76
- wp_enqueue_style( 'ewd-ufaq-wc-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-wc-admin.css', array(), EWD_UFAQ_VERSION );
77
-
78
- wp_enqueue_script( 'ewd-ufaq-wc-admin-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-wc-admin.js', array( 'jquery' ), EWD_UFAQ_VERSION );
79
- }
80
-
81
- public function faq_tab_content() {
82
- global $product;
83
- global $ewd_ufaq_controller;
84
-
85
- $product_post = ( $ewd_ufaq_controller->settings->get_setting( 'woocommerce-use-product' ) and is_object( $product ) ) ? get_post( $product->get_id() ) : get_post( get_the_id() );
86
-
87
- $ufaq_product_category = get_term_by( 'name', $product_post->post_title, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
88
-
89
- echo '<h2>' . esc_html( $ewd_ufaq_controller->settings->get_setting( 'label-woocommerce-tab' ) ) . '</h2>';
90
-
91
- $current_faqs = is_array( get_post_meta( $product_post->ID, 'EWD_UFAQ_WC_Selected_FAQs', true ) ) ? get_post_meta( $product_post->ID, 'EWD_UFAQ_WC_Selected_FAQs', true ) : array();
92
-
93
- if ( ! empty( $current_faqs ) ) {
94
-
95
- $faq_list = implode( ',', $current_faqs );
96
- echo do_shortcode( "[ultimate-faqs post__in_string='". $faq_list . "']" );
97
- }
98
- else {
99
-
100
- $wc_cats = get_the_terms( $product_post, 'product_cat' );
101
- $ufaq_wc_category_list = '';
102
-
103
- if ( $wc_cats ) {
104
-
105
- foreach ( $wc_cats as $wc_cat ) {
106
-
107
- $ufaq_wc_category = get_term_by( 'name', $wc_cat->name, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
108
- if ( $ufaq_wc_category ) { $ufaq_wc_category_list .= ',' . $ufaq_wc_category->slug; }
109
- }
110
- }
111
- echo do_shortcode( "[ultimate-faqs include_category='". $ufaq_product_category->slug . $ufaq_wc_category_list . "']" );
112
- }
113
- }
114
-
115
- public function add_admin_product_page_faq_tab( $tabs ) {
116
- global $ewd_ufaq_controller;
117
-
118
- if ( ! $ewd_ufaq_controller->settings->get_setting( 'woocommerce-faqs' ) ) { return $tabs; }
119
-
120
- $args = array(
121
- 'label' => __('FAQs', 'ultimate-faqs'),
122
- 'target' => 'ewd_ufaq_faqs',
123
- 'class' => array()
124
- );
125
-
126
- $tabs['faqs'] = $args;
127
-
128
- return $tabs;
129
- }
130
-
131
- public function add_admin_product_page_faqs() {
132
- global $thepostid;
133
- global $ewd_ufaq_controller;
134
-
135
- if ( ! $ewd_ufaq_controller->settings->get_setting( 'woocommerce-faqs' ) ) { return $tabs; }
136
-
137
- $current_faqs = (array) get_post_meta( $thepostid, 'EWD_UFAQ_WC_Selected_FAQs', true );
138
-
139
- $all_faqs = get_posts( array( 'numberposts' => -1, 'post_type' => EWD_UFAQ_FAQ_POST_TYPE ) );
140
- $categories = get_terms( array( 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ) );
141
-
142
- ?>
143
-
144
- <div id='ewd_ufaq_faqs' class='panel woocommerce_options_panel'>
145
-
146
- <div class='ewd-ufaq-explanation'>
147
- <?php _e( 'You can use the form below to select which FAQs to display for this product, or leave it blank to use the default category naming system.', 'ultimate-faqs' ); ?>
148
- </div>
149
-
150
- <div id='ewd-ufaq-add-delete-faq-form-container'>
151
-
152
- <div id='ewd-ufaq-add-faq-form-div'>
153
-
154
- <form id='ewd-ufaq-add-faq-form'>
155
-
156
- <select class='ewd-ufaq-category-filter' name='ewd-ufaq-category-filter'>
157
- <option value=''><?php _e('All Categories', 'ultimate-faqs' ); ?></option>
158
- <?php foreach ( $categories as $category ) { ?> <option value='<?php echo $category->term_id; ?>'><?php echo esc_html( $category->name ); ?></option><?php } ?>
159
- </select>
160
-
161
- <table class='form-table ewd-ufaq-faq-add-table'>
162
-
163
- <tr>
164
- <th><?php _e( 'Add?', 'ultimate-faqs' ); ?></th>
165
- <th><?php _e( 'FAQ', 'ultimate-faqs' ); ?></th>
166
- </tr>
167
-
168
- <?php foreach ( $all_faqs as $faq ) { ?>
169
-
170
- <tr class='ewd-ufaq-faq-row' data-faqid='<?php echo $faq->ID; ?>'>
171
- <td><input type='checkbox' class='ewd-ufaq-add-faq' name='Add_FAQs[]' value='<?php echo $faq->ID; ?>'/></td>
172
- <td><?php echo esc_html( $faq->post_title ); ?></td>
173
- </tr>
174
- <?php } ?>
175
-
176
- </table>
177
- </form>
178
-
179
- <button class='ewd-ufaq-add-faq-button'><?php _e( 'Add FAQs', 'ultimate-faqs' ); ?></button>
180
- </div>
181
-
182
- <div id='ewd-ufaq-delete-faq-form-div'>
183
-
184
- <form id='ewd-ufaq-delete-faq-form'>
185
-
186
- <input type='hidden' id='ewd-ufaq-post-id' value='<?php echo esc_attr( $thepostid ); ?>' />
187
-
188
- <table class='form-table ewd-ufaq-delete-table'>
189
-
190
- <tr>
191
- <th><?php _e( 'Delete?', 'ultimate-faqs' ); ?></th>
192
- <th><?php _e( 'FAQ', 'ultimate-faqs' ); ?></th>
193
- </tr>
194
-
195
- <?php foreach ( $current_faqs as $faq_id ) { ?>
196
-
197
- <?php $faq = get_post( $faq_id ); ?>
198
- <tr class='ewd-ufaq-faq-row ewd-ufaq-delete-faq-row' data-faqid='<?php echo $faq_id; ?>'>
199
- <td><input type='checkbox' class='ewd-ufaq-delete-faq' name='Delete_FAQs[]' value='<?php echo $faq_id; ?>'/></td>
200
- <td><?php echo esc_html( $faq->post_title ); ?></td>
201
- </tr>
202
- <?php } ?>
203
-
204
- </table>
205
- </form>
206
-
207
- <button class='ewd-ufaq-delete-faq-button'><?php _e( 'Delete FAQs', 'ultimate-faqs' ); ?></button>
208
- </div>
209
- </div>
210
- </div>
211
-
212
- <?php
213
-
214
- }
215
-
216
- public function add_wc_faqs() {
217
-
218
- $post_id = intval( $_POST['Post_ID'] );
219
-
220
- $current_faqs = (array) get_post_meta( $post_id, 'EWD_UFAQ_WC_Selected_FAQs', true );
221
-
222
- $faqs = json_decode( stripslashes_deep( $_POST['FAQs'] ) );
223
- if ( ! is_array( $faqs ) ) { $faqs = array(); }
224
-
225
- $added_faqs = array();
226
- foreach ( $faqs as $faq ) {
227
-
228
- if ( in_array( $faq, $current_faqs ) ) { continue; }
229
-
230
- $current_faqs[] = $faq;
231
-
232
- $faq_post = get_post( $faq );
233
- $added_faqs[] = array( 'ID' => $faq, 'Name' => $faq_post->post_title);
234
- }
235
-
236
- update_post_meta( $post_id, 'EWD_UFAQ_WC_Selected_FAQs', $current_faqs );
237
-
238
- echo json_encode( $added_faqs );
239
-
240
- die();
241
- }
242
-
243
- public function delete_wc_faqs() {
244
-
245
- $post_id = intval( $_POST['Post_ID'] );
246
-
247
- $current_faqs = (array) get_post_meta( $post_id, 'EWD_UFAQ_WC_Selected_FAQs', true );
248
-
249
- $faqs = json_decode( stripslashes_deep( $_POST['FAQs'] ) );
250
- if ( ! is_array( $faqs ) ) { $faqs = array(); }
251
-
252
- $remaining_faqs = array_diff( $current_faqs, $faqs );
253
-
254
- update_post_meta( $post_id, 'EWD_UFAQ_WC_Selected_FAQs', $remaining_faqs );
255
-
256
- die();
257
- }
258
-
259
- public function wc_faq_category() {
260
-
261
- $cat_id = intval( $_POST['Cat_ID'] );
262
-
263
- $args = array(
264
- 'numberposts' => -1,
265
- 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
266
- );
267
-
268
- if ( $cat_id != '' ) {
269
-
270
- $args['tax_query'] = array(
271
- array(
272
- 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
273
- 'terms' => $cat_id
274
- )
275
- );
276
- }
277
-
278
- $all_faqs = get_posts( $args );
279
-
280
- ob_start();
281
-
282
- ?>
283
-
284
- <table class='form-table ewd-ufaq-faq-add-table'>
285
- <tr>
286
- <th><?php _e( 'Add?', 'ultimate-faqs' ); ?></th>
287
- <th><?php _e( 'FAQ', 'ultimate-faqs' ); ?></th>
288
- </tr>
289
- <?php foreach ( $all_faqs as $faq ) { ?>
290
-
291
- <tr class='ewd-ufaq-faq-row' data-faqid='<?php echo $faq->ID; ?>'>
292
- <td><input type='checkbox' class='ewd-ufaq-add-faq' name='Add_FAQs[]' value='<?php echo $faq->ID; ?>'/></td>
293
- <td><?php echo esc_html( $faq->post_title ); ?></td>
294
- </tr>
295
- <?php } ?>
296
- </table>
297
-
298
- <?php
299
-
300
- $output = ob_get_clean();
301
-
302
- echo $output;
303
-
304
- die();
305
- }
306
- }
307
  }
1
+ <?php
2
+ if ( !defined( 'ABSPATH' ) ) exit;
3
+
4
+ if ( !class_exists( 'ewdufaqWooCommerce' ) ) {
5
+ /**
6
+ * Class to handle WooCommerce integration for Ultimate FAQs
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ class ewdufaqWooCommerce {
11
+
12
+ public function __construct() {
13
+
14
+ add_filter( 'woocommerce_product_tabs', array( $this, 'add_woocommerce_tab' ) );
15
+
16
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue' ) );
17
+
18
+ add_filter( 'woocommerce_product_data_tabs', array( $this, 'add_admin_product_page_faq_tab' ), 10, 1 );
19
+ add_action( 'woocommerce_product_data_panels', array( $this, 'add_admin_product_page_faqs' ) );
20
+
21
+ add_action( 'wp_ajax_ewd_ufaq_add_wc_faqs', array( $this, 'add_wc_faqs' ) );
22
+ add_action( 'wp_ajax_ewd_ufaq_delete_wc_faqs', array( $this, 'delete_wc_faqs' ) );
23
+ add_action( 'wp_ajax_ewd_ufaq_wc_faq_category', array( $this, 'wc_faq_category' ) );
24
+ }
25
+
26
+ /**
27
+ * Adds an FAQ tab to WooCommerce
28
+ * @since 2.0.0
29
+ */
30
+ public function add_woocommerce_tab( $tabs ) {
31
+ global $product;
32
+ global $ewd_ufaq_controller;
33
+
34
+ if ( ! $ewd_ufaq_controller->settings->get_setting( 'woocommerce-faqs' ) ) { return $tabs; }
35
+
36
+ $product_post = ( $ewd_ufaq_controller->settings->get_setting( 'woocommerce-use-product' ) and is_object( $product ) ) ? get_post( $product->get_id() ) : get_post( get_the_id() );
37
+
38
+ $ufaq_product_category = get_term_by( 'name', $product_post->post_title, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
39
+
40
+ $wc_cats = get_the_terms( $product_post, 'product_cat' );
41
+
42
+ $ufaq_wccat_category = false;
43
+
44
+ if ( $wc_cats ) {
45
+
46
+ foreach ( $wc_cats as $wc_cat ) {
47
+
48
+ if ( get_term_by( 'name', $wc_cat->name, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ) ) { $ufaq_wccat_category = true; }
49
+ }
50
+ }
51
+
52
+ $current_faqs = is_array( get_post_meta( $product_post->ID, 'EWD_UFAQ_WC_Selected_FAQs', true ) ) ? get_post_meta( $product_post->ID, 'EWD_UFAQ_WC_Selected_FAQs', true ) : array();
53
+
54
+ if ( ( $ufaq_product_category or $ufaq_wccat_category or ! empty( $current_faqs ) ) ) {
55
+
56
+ $tabs['faq_tab'] = array(
57
+ 'title' => $ewd_ufaq_controller->settings->get_setting( 'label-woocommerce-tab' ),
58
+ 'priority' => 50,
59
+ 'callback' => array( $this, 'faq_tab_content' )
60
+ );
61
+
62
+ return $tabs;
63
+ }
64
+ }
65
+
66
+ public function admin_enqueue( $hook ) {
67
+ global $post;
68
+ global $ewd_ufaq_controller;
69
+
70
+ if ( ! $ewd_ufaq_controller->settings->get_setting( 'woocommerce-faqs' ) ) { return; }
71
+
72
+ if ( $hook != 'edit.php' and $hook != 'post-new.php' and $hook != 'post.php' ) { return; }
73
+
74
+ if ( ! isset( $post->post_type ) or $post->post_type != 'product' ) { return; }
75
+
76
+ wp_enqueue_style( 'ewd-ufaq-wc-admin-css', EWD_UFAQ_PLUGIN_URL . '/assets/css/ewd-ufaq-wc-admin.css', array(), EWD_UFAQ_VERSION );
77
+
78
+ wp_enqueue_script( 'ewd-ufaq-wc-admin-js', EWD_UFAQ_PLUGIN_URL . '/assets/js/ewd-ufaq-wc-admin.js', array( 'jquery' ), EWD_UFAQ_VERSION );
79
+ }
80
+
81
+ public function faq_tab_content() {
82
+ global $product;
83
+ global $ewd_ufaq_controller;
84
+
85
+ $product_post = ( $ewd_ufaq_controller->settings->get_setting( 'woocommerce-use-product' ) and is_object( $product ) ) ? get_post( $product->get_id() ) : get_post( get_the_id() );
86
+
87
+ $ufaq_product_category = get_term_by( 'name', $product_post->post_title, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
88
+
89
+ echo '<h2>' . esc_html( $ewd_ufaq_controller->settings->get_setting( 'label-woocommerce-tab' ) ) . '</h2>';
90
+
91
+ $current_faqs = is_array( get_post_meta( $product_post->ID, 'EWD_UFAQ_WC_Selected_FAQs', true ) ) ? get_post_meta( $product_post->ID, 'EWD_UFAQ_WC_Selected_FAQs', true ) : array();
92
+
93
+ if ( ! empty( $current_faqs ) ) {
94
+
95
+ $faq_list = implode( ',', $current_faqs );
96
+ echo do_shortcode( "[ultimate-faqs post__in_string='". $faq_list . "']" );
97
+ }
98
+ else {
99
+
100
+ $wc_cats = get_the_terms( $product_post, 'product_cat' );
101
+ $ufaq_wc_category_list = '';
102
+
103
+ if ( $wc_cats ) {
104
+
105
+ foreach ( $wc_cats as $wc_cat ) {
106
+
107
+ $ufaq_wc_category = get_term_by( 'name', $wc_cat->name, EWD_UFAQ_FAQ_CATEGORY_TAXONOMY );
108
+ if ( $ufaq_wc_category ) { $ufaq_wc_category_list .= ',' . $ufaq_wc_category->slug; }
109
+ }
110
+ }
111
+ echo do_shortcode( "[ultimate-faqs include_category='". $ufaq_product_category->slug . $ufaq_wc_category_list . "']" );
112
+ }
113
+ }
114
+
115
+ public function add_admin_product_page_faq_tab( $tabs ) {
116
+ global $ewd_ufaq_controller;
117
+
118
+ if ( ! $ewd_ufaq_controller->settings->get_setting( 'woocommerce-faqs' ) ) { return $tabs; }
119
+
120
+ $args = array(
121
+ 'label' => __('FAQs', 'ultimate-faqs'),
122
+ 'target' => 'ewd_ufaq_faqs',
123
+ 'class' => array()
124
+ );
125
+
126
+ $tabs['faqs'] = $args;
127
+
128
+ return $tabs;
129
+ }
130
+
131
+ public function add_admin_product_page_faqs() {
132
+ global $thepostid;
133
+ global $ewd_ufaq_controller;
134
+
135
+ if ( ! $ewd_ufaq_controller->settings->get_setting( 'woocommerce-faqs' ) ) { return $tabs; }
136
+
137
+ $current_faqs = (array) get_post_meta( $thepostid, 'EWD_UFAQ_WC_Selected_FAQs', true );
138
+
139
+ $all_faqs = get_posts( array( 'numberposts' => -1, 'post_type' => EWD_UFAQ_FAQ_POST_TYPE ) );
140
+ $categories = get_terms( array( 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY ) );
141
+
142
+ ?>
143
+
144
+ <div id='ewd_ufaq_faqs' class='panel woocommerce_options_panel'>
145
+
146
+ <div class='ewd-ufaq-explanation'>
147
+ <?php _e( 'You can use the form below to select which FAQs to display for this product, or leave it blank to use the default category naming system.', 'ultimate-faqs' ); ?>
148
+ </div>
149
+
150
+ <div id='ewd-ufaq-add-delete-faq-form-container'>
151
+
152
+ <div id='ewd-ufaq-add-faq-form-div'>
153
+
154
+ <form id='ewd-ufaq-add-faq-form'>
155
+
156
+ <select class='ewd-ufaq-category-filter' name='ewd-ufaq-category-filter'>
157
+ <option value=''><?php _e('All Categories', 'ultimate-faqs' ); ?></option>
158
+ <?php foreach ( $categories as $category ) { ?> <option value='<?php echo $category->term_id; ?>'><?php echo esc_html( $category->name ); ?></option><?php } ?>
159
+ </select>
160
+
161
+ <table class='form-table ewd-ufaq-faq-add-table'>
162
+
163
+ <tr>
164
+ <th><?php _e( 'Add?', 'ultimate-faqs' ); ?></th>
165
+ <th><?php _e( 'FAQ', 'ultimate-faqs' ); ?></th>
166
+ </tr>
167
+
168
+ <?php foreach ( $all_faqs as $faq ) { ?>
169
+
170
+ <tr class='ewd-ufaq-faq-row' data-faqid='<?php echo $faq->ID; ?>'>
171
+ <td><input type='checkbox' class='ewd-ufaq-add-faq' name='Add_FAQs[]' value='<?php echo $faq->ID; ?>'/></td>
172
+ <td><?php echo esc_html( $faq->post_title ); ?></td>
173
+ </tr>
174
+ <?php } ?>
175
+
176
+ </table>
177
+ </form>
178
+
179
+ <button class='ewd-ufaq-add-faq-button'><?php _e( 'Add FAQs', 'ultimate-faqs' ); ?></button>
180
+ </div>
181
+
182
+ <div id='ewd-ufaq-delete-faq-form-div'>
183
+
184
+ <form id='ewd-ufaq-delete-faq-form'>
185
+
186
+ <input type='hidden' id='ewd-ufaq-post-id' value='<?php echo esc_attr( $thepostid ); ?>' />
187
+
188
+ <table class='form-table ewd-ufaq-delete-table'>
189
+
190
+ <tr>
191
+ <th><?php _e( 'Delete?', 'ultimate-faqs' ); ?></th>
192
+ <th><?php _e( 'FAQ', 'ultimate-faqs' ); ?></th>
193
+ </tr>
194
+
195
+ <?php foreach ( $current_faqs as $faq_id ) { ?>
196
+
197
+ <?php $faq = get_post( $faq_id ); ?>
198
+ <tr class='ewd-ufaq-faq-row ewd-ufaq-delete-faq-row' data-faqid='<?php echo $faq_id; ?>'>
199
+ <td><input type='checkbox' class='ewd-ufaq-delete-faq' name='Delete_FAQs[]' value='<?php echo $faq_id; ?>'/></td>
200
+ <td><?php echo esc_html( $faq->post_title ); ?></td>
201
+ </tr>
202
+ <?php } ?>
203
+
204
+ </table>
205
+ </form>
206
+
207
+ <button class='ewd-ufaq-delete-faq-button'><?php _e( 'Delete FAQs', 'ultimate-faqs' ); ?></button>
208
+ </div>
209
+ </div>
210
+ </div>
211
+
212
+ <?php
213
+
214
+ }
215
+
216
+ public function add_wc_faqs() {
217
+
218
+ $post_id = intval( $_POST['Post_ID'] );
219
+
220
+ $current_faqs = (array) get_post_meta( $post_id, 'EWD_UFAQ_WC_Selected_FAQs', true );
221
+
222
+ $faqs = json_decode( stripslashes_deep( $_POST['FAQs'] ) );
223
+ if ( ! is_array( $faqs ) ) { $faqs = array(); }
224
+
225
+ $added_faqs = array();
226
+ foreach ( $faqs as $faq ) {
227
+
228
+ if ( in_array( $faq, $current_faqs ) ) { continue; }
229
+
230
+ $current_faqs[] = $faq;
231
+
232
+ $faq_post = get_post( $faq );
233
+ $added_faqs[] = array( 'ID' => $faq, 'Name' => $faq_post->post_title);
234
+ }
235
+
236
+ update_post_meta( $post_id, 'EWD_UFAQ_WC_Selected_FAQs', $current_faqs );
237
+
238
+ echo json_encode( $added_faqs );
239
+
240
+ die();
241
+ }
242
+
243
+ public function delete_wc_faqs() {
244
+
245
+ $post_id = intval( $_POST['Post_ID'] );
246
+
247
+ $current_faqs = (array) get_post_meta( $post_id, 'EWD_UFAQ_WC_Selected_FAQs', true );
248
+
249
+ $faqs = json_decode( stripslashes_deep( $_POST['FAQs'] ) );
250
+ if ( ! is_array( $faqs ) ) { $faqs = array(); }
251
+
252
+ $remaining_faqs = array_diff( $current_faqs, $faqs );
253
+
254
+ update_post_meta( $post_id, 'EWD_UFAQ_WC_Selected_FAQs', $remaining_faqs );
255
+
256
+ die();
257
+ }
258
+
259
+ public function wc_faq_category() {
260
+
261
+ $cat_id = intval( $_POST['Cat_ID'] );
262
+
263
+ $args = array(
264
+ 'numberposts' => -1,
265
+ 'post_type' => EWD_UFAQ_FAQ_POST_TYPE,
266
+ );
267
+
268
+ if ( $cat_id != '' ) {
269
+
270
+ $args['tax_query'] = array(
271
+ array(
272
+ 'taxonomy' => EWD_UFAQ_FAQ_CATEGORY_TAXONOMY,
273
+ 'terms' => $cat_id
274
+ )
275
+ );
276
+ }
277
+
278
+ $all_faqs = get_posts( $args );
279
+
280
+ ob_start();
281
+
282
+ ?>
283
+
284
+ <table class='form-table ewd-ufaq-faq-add-table'>
285
+ <tr>
286
+ <th><?php _e( 'Add?', 'ultimate-faqs' ); ?></th>
287
+ <th><?php _e( 'FAQ', 'ultimate-faqs' ); ?></th>
288
+ </tr>
289
+ <?php foreach ( $all_faqs as $faq ) { ?>
290
+
291
+ <tr class='ewd-ufaq-faq-row' data-faqid='<?php echo $faq->ID; ?>'>
292
+ <td><input type='checkbox' class='ewd-ufaq-add-faq' name='Add_FAQs[]' value='<?php echo $faq->ID; ?>'/></td>
293
+ <td><?php echo esc_html( $faq->post_title ); ?></td>
294
+ </tr>
295
+ <?php } ?>
296
+ </table>
297
+
298
+ <?php
299
+
300
+ $output = ob_get_clean();
301
+
302
+ echo $output;
303
+
304
+ die();
305
+ }
306
+ }
307
  }
includes/template-functions.php CHANGED
@@ -1,402 +1,402 @@
1
- <?php
2
-
3
- /**
4
- * Create a shortcode to display multiple FAQs
5
- * @since 2.0.0
6
- */
7
- function ewd_ufaq_faqs_shortcode( $atts ) {
8
- global $ewd_ufaq_controller;
9
-
10
- // Define shortcode attributes
11
- $faq_atts = array(
12
- 'search_string' => '',
13
- 'post__in' => '',
14
- 'post__in_string' => '',
15
- 'include_tag' => '',
16
- 'include_category' => '',
17
- 'exclude_category' => '',
18
- 'include_category_ids' => '',
19
- 'exclude_category_ids' => '',
20
- 'include_category_children' => '',
21
- 'no_comments' => '',
22
- 'orderby' => '',
23
- 'order' => '',
24
- 'display_all_answers' => '',
25
- 'faq_page' => 1,
26
- 'post_count' => -1
27
- );
28
-
29
- if ( empty( $faq_atts['orderby'] ) ) { $faq_atts['orderby'] = $ewd_ufaq_controller->settings->get_setting( 'faq-order-by' ); }
30
-
31
- if ( empty( $faq_atts['order'] ) ) { $faq_atts['order'] = $ewd_ufaq_controller->settings->get_setting( 'faq-order' ); }
32
-
33
- // Create filter so addons can modify the accepted attributes
34
- $faq_atts = apply_filters( 'ewd_ufaq_faqs_shortcode_atts', $faq_atts );
35
-
36
- // Extract the shortcode attributes
37
- $args = shortcode_atts( $faq_atts, $atts );
38
-
39
- $query = new ewdufaqQuery( $args );
40
-
41
- $query->parse_request_args();
42
- $query->prepare_args();
43
-
44
- // Render faqs
45
- ewd_ufaq_load_view_files();
46
-
47
- $faqs = new ewdufaqViewFAQs( $args );
48
-
49
- $faqs->set_faqs( $query->get_faqs() );
50
-
51
- $ewd_ufaq_controller->shortcode_printing = true;
52
-
53
- $output = $faqs->render();
54
-
55
- $ewd_ufaq_controller->shortcode_printing = false;
56
-
57
- return $output;
58
- }
59
- add_shortcode( 'ultimate-faqs', 'ewd_ufaq_faqs_shortcode' );
60
-
61
- /**
62
- * Create a shortcode to display the FAQ search, plus any matching FAQs
63
- * @since 2.0.0
64
- */
65
- function ewd_ufaq_search_faqs_shortcode( $atts ) {
66
- global $ewd_ufaq_controller;
67
-
68
- if ( ! $ewd_ufaq_controller->permissions->check_permission( 'search' ) ) { return; }
69
-
70
- // Define shortcode attributes
71
- $faq_atts = array(
72
- 'include_category' => '',
73
- 'exclude_category' => '',
74
- 'show_on_load' => '',
75
- 'no_comments' => '',
76
- 'orderby' => '',
77
- 'order' => '',
78
- 'display_all_answers' => '',
79
- 'faq_page' => 1,
80
- 'post_count' => -1,
81
- );
82
-
83
- if ( empty( $faq_atts['orderby'] ) ) { $faq_atts['orderby'] = $ewd_ufaq_controller->settings->get_setting( 'faq-order-by' ); }
84
-
85
- if ( empty( $faq_atts['order'] ) ) { $faq_atts['order'] = $ewd_ufaq_controller->settings->get_setting( 'faq-order' ); }
86
-
87
- // Create filter so addons can modify the accepted attributes
88
- $faq_atts = apply_filters( 'ewd_ufaq_faqs_shortcode_atts', $faq_atts );
89
-
90
- // Extract the shortcode attributes
91
- $args = shortcode_atts( $faq_atts, $atts );
92
-
93
- $query = new ewdufaqQuery( $args );
94
-
95
- $query->parse_request_args();
96
- $query->prepare_args();
97
-
98
- // Render faqs
99
- ewd_ufaq_load_view_files();
100
-
101
- $faqs = new ewdufaqViewFAQSearch( $args );
102
-
103
- $faqs->set_faqs( $query->get_faqs() );
104
-
105
- $ewd_ufaq_controller->shortcode_printing = true;
106
-
107
- $output = $faqs->render();
108
-
109
- $ewd_ufaq_controller->shortcode_printing = false;
110
-
111
- return $output;
112
- }
113
- add_shortcode( 'ultimate-faq-search', 'ewd_ufaq_search_faqs_shortcode' );
114
-
115
- /**
116
- * Create a shortcode to display multiple FAQs
117
- * @since 2.0.0
118
- */
119
- function ewd_ufaq_submit_faq_shortcode( $atts ) {
120
- global $ewd_ufaq_controller;
121
-
122
- if ( ! $ewd_ufaq_controller->permissions->check_permission( 'submit-faq' ) ) { return; }
123
-
124
- // Define shortcode attributes
125
- $faq_atts = array(
126
- 'success_message' => '',
127
- 'submit_faq_form_title' => '',
128
- 'submit_faq_instructions' => '',
129
- 'submit_text' => '',
130
- );
131
-
132
- // Create filter so addons can modify the accepted attributes
133
- $faq_atts = apply_filters( 'ewd_ufaq_faqs_shortcode_atts', $faq_atts );
134
-
135
- // Extract the shortcode attributes
136
- $args = shortcode_atts( $faq_atts, $atts );
137
-
138
- // Handle FAQ submission
139
- if ( isset( $_POST['submit_question'] ) ) {
140
-
141
- $args['faq_submitted'] = true;
142
-
143
- $faq = new ewdufaqFAQ();
144
- $success = $faq->insert_faq();
145
-
146
- if ( $success ) {
147
-
148
- $args['update_message'] = ! empty( $args['success_message'] ) ? $args['success_message'] : $ewd_ufaq_controller->settings->get_setting( 'label-thank-you-submit' );
149
- }
150
- else {
151
-
152
- $args['update_message'] = '';
153
-
154
- foreach ( $faq->validation_errors as $validation_error ) {
155
-
156
- $args['update_message'] .= '<br />' . $validation_error['message'];
157
- }
158
- }
159
- }
160
-
161
- // Render faq
162
- ewd_ufaq_load_view_files();
163
-
164
- $submit_faq = new ewdufaqViewSubmitFAQ( $args );
165
-
166
- $ewd_ufaq_controller->shortcode_printing = true;
167
-
168
- $output = $submit_faq->render();
169
-
170
- $ewd_ufaq_controller->shortcode_printing = false;
171
-
172
- return $output;
173
- }
174
- add_shortcode( 'submit-question', 'ewd_ufaq_submit_faq_shortcode' );
175
-
176
- /**
177
- * Create a shortcode to display a single review
178
- * @since 2.0.0
179
- */
180
- function ewd_ufaq_faq_shortcode( $atts ) {
181
- global $ewd_ufaq_controller;
182
-
183
- // Define shortcode attributes
184
- $faq_atts = array(
185
- 'faq_id' => 0,
186
- 'faq_name' => '',
187
- 'faq_slug' => '',
188
- 'no_comments' => ''
189
- );
190
-
191
- // Create filter so addons can modify the accepted attributes
192
- $faq_atts = apply_filters( 'ewd_ufaq_review_shortcode', $faq_atts );
193
-
194
- $args = shortcode_atts( $faq_atts, $atts );
195
-
196
- $name_array = ! empty( $args['faq_name'] ) ? explode( ',', $args['faq_name'] ) : array();
197
- $slug_array = ! empty( $args['faq_slug'] ) ? explode( ',', $args['faq_slug'] ) : array();
198
- $id_array = ! empty( $args['faq_id'] ) ? explode( ',', $args['faq_id'] ) : array();
199
-
200
- $post_id_array = array();
201
-
202
- foreach ( $name_array as $post_name ) {
203
-
204
- $single_post = get_page_by_title( $post_name, 'OBJECT', EWD_UFAQ_FAQ_POST_TYPE );
205
- $post_id_array[] = $single_post->ID;
206
- }
207
-
208
- foreach ( $slug_array as $post_slug ) {
209
-
210
- $single_post = get_page_by_path( $post_slug, 'OBJECT', EWD_UFAQ_FAQ_POST_TYPE );
211
- $post_id_array[] = $single_post->ID;
212
- }
213
-
214
- foreach ( $id_array as $post_id ) {
215
-
216
- $post_id_array[] = (int) $post_id;
217
- }
218
-
219
- $faq_args = array(
220
- 'post__in' => $post_id_array,
221
- 'no_comments' => $args['no_comments']
222
- );
223
-
224
- $output = ewd_ufaq_faqs_shortcode( $faq_args );
225
-
226
- return $output;
227
- }
228
- add_shortcode( 'select-faq', 'ewd_ufaq_faq_shortcode' );
229
-
230
- /**
231
- * Create a shortcode to display a number of the most popular FAQs
232
- * @since 2.0.0
233
- */
234
- function ewd_ufaq_popular_faqs_shortcode( $atts ) {
235
-
236
- $defaults = array(
237
- 'no_comments' => '',
238
- 'post_count' => 5
239
- );
240
-
241
- $shortcode_atts = shortcode_atts( $defaults, $atts ) ;
242
-
243
- $shortcode_atts['orderby'] = 'popular';
244
- $shortcode_atts['order'] = ! empty( $shortcode_atts['order'] ) ? $shortcode_atts['order'] : 'DESC';
245
-
246
- $output = ewd_ufaq_faqs_shortcode( $shortcode_atts );
247
-
248
- return $output;
249
- }
250
- add_shortcode( 'popular-faqs', 'ewd_ufaq_popular_faqs_shortcode' );
251
-
252
- /**
253
- * Create a shortcode to display a number of the most recently published FAQs
254
- * @since 2.0.0
255
- */
256
- function ewd_ufaq_recent_faqs_shortcode( $atts ) {
257
-
258
- $defaults = array(
259
- 'no_comments' => '',
260
- 'post_count' => 5
261
- );
262
-
263
- $shortcode_atts = shortcode_atts( $defaults, $atts );
264
-
265
- $shortcode_atts['orderby'] = 'date';
266
-
267
- $output = ewd_ufaq_faqs_shortcode( $shortcode_atts );
268
-
269
- return $output;
270
- }
271
- add_shortcode( 'recent-faqs', 'ewd_ufaq_recent_faqs_shortcode' );
272
-
273
- /**
274
- * Create a shortcode to display a number of the top rated FAQs
275
- * @since 2.0.0
276
- */
277
- function ewd_ufaq_top_rated_faqs_shortcode( $atts ) {
278
-
279
- $defaults = array(
280
- 'no_comments' => '',
281
- 'post_count' => 5
282
- );
283
-
284
- $shortcode_atts = shortcode_atts( $defaults, $atts );
285
-
286
- $shortcode_atts['orderby'] = 'rating';
287
-
288
- $output = ewd_ufaq_faqs_shortcode( $shortcode_atts );
289
-
290
- return $output;
291
- }
292
- add_shortcode( 'top-rated-faqs', 'ewd_ufaq_top_rated_faqs_shortcode' );
293
-
294
- function ewd_ufaq_load_view_files() {
295
-
296
- $files = array(
297
- EWD_UFAQ_PLUGIN_DIR . '/views/Base.class.php' // This will load all default classes
298
- );
299
-
300
- $files = apply_filters( 'ewd_ufaq_load_view_files', $files );
301
-
302
- foreach( $files as $file ) {
303
- require_once( $file );
304
- }
305
-
306
- }
307
-
308
- if ( ! function_exists( 'ewd_ufaq_validate_captcha' ) ) {
309
- function ewd_ufaq_validate_captcha() {
310
-
311
- $modifiedcode = intval( $_POST['ewd_ufaq_modified_captcha'] );
312
- $usercode = intval( $_POST['ewd_ufaq_captcha'] );
313
-
314
- $code = ewd_ufaq_decrypt_catpcha_code( $modifiedcode );
315
-
316
- $validate_captcha = $code == $usercode ? 'Yes' : 'No';
317
-
318
- return $validate_captcha;
319
- }
320
- }
321
-
322
- if ( ! function_exists( 'ewd_ufaq_encrypt_captcha_code' ) ) {
323
- function ewd_ufaq_encrypt_captcha_code( $code ) {
324
-
325
- $modifiedcode = ($code + 5) * 3;
326
-
327
- return $modifiedcode;
328
- }
329
- }
330
-
331
- if ( ! function_exists( 'ewd_ufaq_encrypt_captcha_code' ) ) {
332
- function ewd_ufaq_decrypt_catpcha_code( $modifiedcode ) {
333
-
334
- $code = ($modifiedcode / 3) - 5;
335
-
336
- return $code;
337
- }
338
- }
339
-
340
- if ( ! function_exists( 'ewd_ufaq_decode_infinite_table_setting' ) ) {
341
- function ewd_ufaq_decode_infinite_table_setting( $values ) {
342
-
343
- return is_array( json_decode( html_entity_decode( $values ) ) ) ? json_decode( html_entity_decode( $values ) ) : array();
344
- }
345
- }
346
-
347
- if ( ! function_exists( 'ewd_hex_to_rgb' ) ) {
348
- function ewd_hex_to_rgb( $hex ) {
349
-
350
- $hex = str_replace("#", "", $hex);
351
-
352
- // return if the string isn't a color code
353
- if ( strlen( $hex ) !== 3 and strlen( $hex ) !== 6 ) { return '0,0,0'; }
354
-
355
- if(strlen($hex) == 3) {
356
- $r = hexdec( substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) );
357
- $g = hexdec( substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) );
358
- $b = hexdec( substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ) );
359
- } else {
360
- $r = hexdec( substr( $hex, 0, 2 ) );
361
- $g = hexdec( substr( $hex, 2, 2 ) );
362
- $b = hexdec( substr( $hex, 4, 2 ) );
363
- }
364
-
365
- $rgb = $r . ", " . $g . ", " . $b;
366
-
367
- return $rgb;
368
- }
369
- }
370
-
371
- if ( ! function_exists( 'ewd_format_classes' ) ) {
372
- function ewd_format_classes( $classes ) {
373
-
374
- if ( count( $classes ) ) {
375
- return ' class="' . join( ' ', $classes ) . '"';
376
- }
377
- }
378
- }
379
-
380
- if ( ! function_exists( 'ewd_add_frontend_ajax_url' ) ) {
381
- function ewd_add_frontend_ajax_url() { ?>
382
-
383
- <script type="text/javascript">
384
- var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
385
- </script>
386
- <?php }
387
- }
388
-
389
- if ( ! function_exists( 'ewd_random_string' ) ) {
390
- function ewd_random_string( $length = 10 ) {
391
-
392
- $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
393
- $randstring = '';
394
-
395
- for ( $i = 0; $i < $length; $i++ ) {
396
-
397
- $randstring .= $characters[ rand( 0, strlen( $characters ) - 1 ) ];
398
- }
399
-
400
- return $randstring;
401
- }
402
  }
1
+ <?php
2
+
3
+ /**
4
+ * Create a shortcode to display multiple FAQs
5
+ * @since 2.0.0
6
+ */
7
+ function ewd_ufaq_faqs_shortcode( $atts ) {
8
+ global $ewd_ufaq_controller;
9
+
10
+ // Define shortcode attributes
11
+ $faq_atts = array(
12
+ 'search_string' => '',
13
+ 'post__in' => '',
14
+ 'post__in_string' => '',
15
+ 'include_tag' => '',
16
+ 'include_category' => '',
17
+ 'exclude_category' => '',
18
+ 'include_category_ids' => '',
19
+ 'exclude_category_ids' => '',
20
+ 'include_category_children' => '',
21
+ 'no_comments' => '',
22
+ 'orderby' => '',
23
+ 'order' => '',
24
+ 'display_all_answers' => '',
25
+ 'faq_page' => 1,
26
+ 'post_count' => -1
27
+ );
28
+
29
+ if ( empty( $faq_atts['orderby'] ) ) { $faq_atts['orderby'] = $ewd_ufaq_controller->settings->get_setting( 'faq-order-by' ); }
30
+
31
+ if ( empty( $faq_atts['order'] ) ) { $faq_atts['order'] = $ewd_ufaq_controller->settings->get_setting( 'faq-order' ); }
32
+
33
+ // Create filter so addons can modify the accepted attributes
34
+ $faq_atts = apply_filters( 'ewd_ufaq_faqs_shortcode_atts', $faq_atts );
35
+
36
+ // Extract the shortcode attributes
37
+ $args = shortcode_atts( $faq_atts, $atts );
38
+
39
+ $query = new ewdufaqQuery( $args );
40
+
41
+ $query->parse_request_args();
42
+ $query->prepare_args();
43
+
44
+ // Render faqs
45
+ ewd_ufaq_load_view_files();
46
+
47
+ $faqs = new ewdufaqViewFAQs( $args );
48
+
49
+ $faqs->set_faqs( $query->get_faqs() );
50
+
51
+ $ewd_ufaq_controller->shortcode_printing = true;
52
+
53
+ $output = $faqs->render();
54
+
55
+ $ewd_ufaq_controller->shortcode_printing = false;
56
+
57
+ return $output;
58
+ }
59
+ add_shortcode( 'ultimate-faqs', 'ewd_ufaq_faqs_shortcode' );
60
+
61
+ /**
62
+ * Create a shortcode to display the FAQ search, plus any matching FAQs
63
+ * @since 2.0.0
64
+ */
65
+ function ewd_ufaq_search_faqs_shortcode( $atts ) {
66
+ global $ewd_ufaq_controller;
67
+
68
+ if ( ! $ewd_ufaq_controller->permissions->check_permission( 'search' ) ) { return; }
69
+
70
+ // Define shortcode attributes
71
+ $faq_atts = array(
72
+ 'include_category' => '',
73
+ 'exclude_category' => '',
74
+ 'show_on_load' => '',
75
+ 'no_comments' => '',
76
+ 'orderby' => '',
77
+ 'order' => '',
78
+ 'display_all_answers' => '',
79
+ 'faq_page' => 1,
80
+ 'post_count' => -1,
81
+ );
82
+
83
+ if ( empty( $faq_atts['orderby'] ) ) { $faq_atts['orderby'] = $ewd_ufaq_controller->settings->get_setting( 'faq-order-by' ); }
84
+
85
+ if ( empty( $faq_atts['order'] ) ) { $faq_atts['order'] = $ewd_ufaq_controller->settings->get_setting( 'faq-order' ); }
86
+
87
+ // Create filter so addons can modify the accepted attributes
88
+ $faq_atts = apply_filters( 'ewd_ufaq_faqs_shortcode_atts', $faq_atts );
89
+
90
+ // Extract the shortcode attributes
91
+ $args = shortcode_atts( $faq_atts, $atts );
92
+
93
+ $query = new ewdufaqQuery( $args );
94
+
95
+ $query->parse_request_args();
96
+ $query->prepare_args();
97
+
98
+ // Render faqs
99
+ ewd_ufaq_load_view_files();
100
+
101
+ $faqs = new ewdufaqViewFAQSearch( $args );
102
+
103
+ $faqs->set_faqs( $query->get_faqs() );
104
+
105
+ $ewd_ufaq_controller->shortcode_printing = true;
106
+
107
+ $output = $faqs->render();
108
+
109
+ $ewd_ufaq_controller->shortcode_printing = false;
110
+
111
+ return $output;
112
+ }
113
+ add_shortcode( 'ultimate-faq-search', 'ewd_ufaq_search_faqs_shortcode' );
114
+
115
+ /**
116
+ * Create a shortcode to display multiple FAQs
117
+ * @since 2.0.0
118
+ */
119
+ function ewd_ufaq_submit_faq_shortcode( $atts ) {
120
+ global $ewd_ufaq_controller;
121
+
122
+ if ( ! $ewd_ufaq_controller->permissions->check_permission( 'submit-faq' ) ) { return; }
123
+
124
+ // Define shortcode attributes
125
+ $faq_atts = array(
126
+ 'success_message' => '',
127
+ 'submit_faq_form_title' => '',
128
+ 'submit_faq_instructions' => '',
129
+ 'submit_text' => '',
130
+ );
131
+
132
+ // Create filter so addons can modify the accepted attributes
133
+ $faq_atts = apply_filters( 'ewd_ufaq_faqs_shortcode_atts', $faq_atts );
134
+
135
+ // Extract the shortcode attributes
136
+ $args = shortcode_atts( $faq_atts, $atts );
137
+
138
+ // Handle FAQ submission
139
+ if ( isset( $_POST['submit_question'] ) ) {
140
+
141
+ $args['faq_submitted'] = true;
142
+
143
+ $faq = new ewdufaqFAQ();
144
+ $success = $faq->insert_faq();
145
+
146
+ if ( $success ) {
147
+
148
+ $args['update_message'] = ! empty( $args['success_message'] ) ? $args['success_message'] : $ewd_ufaq_controller->settings->get_setting( 'label-thank-you-submit' );
149
+ }
150
+ else {
151
+
152
+ $args['update_message'] = '';
153
+
154
+ foreach ( $faq->validation_errors as $validation_error ) {
155
+
156
+ $args['update_message'] .= '<br />' . $validation_error['message'];
157
+ }
158
+ }
159
+ }
160
+
161
+ // Render faq
162
+ ewd_ufaq_load_view_files();
163
+
164
+ $submit_faq = new ewdufaqViewSubmitFAQ( $args );
165
+
166
+ $ewd_ufaq_controller->shortcode_printing = true;
167
+
168
+ $output = $submit_faq->render();
169
+
170
+ $ewd_ufaq_controller->shortcode_printing = false;
171
+
172
+ return $output;
173
+ }
174
+ add_shortcode( 'submit-question', 'ewd_ufaq_submit_faq_shortcode' );
175
+
176
+ /**
177
+ * Create a shortcode to display a single review
178
+ * @since 2.0.0
179
+ */
180
+ function ewd_ufaq_faq_shortcode( $atts ) {
181
+ global $ewd_ufaq_controller;
182
+
183
+ // Define shortcode attributes
184
+ $faq_atts = array(
185
+ 'faq_id' => 0,
186
+ 'faq_name' => '',
187
+ 'faq_slug' => '',
188
+ 'no_comments' => ''
189
+ );
190
+
191
+ // Create filter so addons can modify the accepted attributes
192
+ $faq_atts = apply_filters( 'ewd_ufaq_review_shortcode', $faq_atts );
193
+
194
+ $args = shortcode_atts( $faq_atts, $atts );
195
+
196
+ $name_array = ! empty( $args['faq_name'] ) ? explode( ',', $args['faq_name'] ) : array();
197
+ $slug_array = ! empty( $args['faq_slug'] ) ? explode( ',', $args['faq_slug'] ) : array();
198
+ $id_array = ! empty( $args['faq_id'] ) ? explode( ',', $args['faq_id'] ) : array();
199
+
200
+ $post_id_array = array();
201
+
202
+ foreach ( $name_array as $post_name ) {
203
+
204
+ $single_post = get_page_by_title( $post_name, 'OBJECT', EWD_UFAQ_FAQ_POST_TYPE );
205
+ $post_id_array[] = $single_post->ID;
206
+ }
207
+
208
+ foreach ( $slug_array as $post_slug ) {
209
+
210
+ $single_post = get_page_by_path( $post_slug, 'OBJECT', EWD_UFAQ_FAQ_POST_TYPE );
211
+ $post_id_array[] = $single_post->ID;
212
+ }
213
+
214
+ foreach ( $id_array as $post_id ) {
215
+
216
+ $post_id_array[] = (int) $post_id;
217
+ }
218
+
219
+ $faq_args = array(
220
+ 'post__in' => $post_id_array,
221
+ 'no_comments' => $args['no_comments']
222
+ );
223
+
224
+ $output = ewd_ufaq_faqs_shortcode( $faq_args );
225
+
226
+ return $output;
227
+ }
228
+ add_shortcode( 'select-faq', 'ewd_ufaq_faq_shortcode' );
229
+
230
+ /**
231
+ * Create a shortcode to display a number of the most popular FAQs
232
+ * @since 2.0.0
233
+ */
234
+ function ewd_ufaq_popular_faqs_shortcode( $atts ) {
235
+
236
+ $defaults = array(
237
+ 'no_comments' => '',
238
+ 'post_count' => 5
239
+ );
240
+
241
+ $shortcode_atts = shortcode_atts( $defaults, $atts ) ;
242
+
243
+ $shortcode_atts['orderby'] = 'popular';
244
+ $shortcode_atts['order'] = ! empty( $shortcode_atts['order'] ) ? $shortcode_atts['order'] : 'DESC';
245
+
246
+ $output = ewd_ufaq_faqs_shortcode( $shortcode_atts );
247
+
248
+ return $output;
249
+ }
250
+ add_shortcode( 'popular-faqs', 'ewd_ufaq_popular_faqs_shortcode' );
251
+
252
+ /**
253
+ * Create a shortcode to display a number of the most recently published FAQs
254
+ * @since 2.0.0
255
+ */
256
+ function ewd_ufaq_recent_faqs_shortcode( $atts ) {
257
+
258
+ $defaults = array(
259
+ 'no_comments' => '',
260
+ 'post_count' => 5
261
+ );
262
+
263
+ $shortcode_atts = shortcode_atts( $defaults, $atts );
264
+
265
+ $shortcode_atts['orderby'] = 'date';
266
+
267
+ $output = ewd_ufaq_faqs_shortcode( $shortcode_atts );
268
+
269
+ return $output;
270
+ }
271
+ add_shortcode( 'recent-faqs', 'ewd_ufaq_recent_faqs_shortcode' );
272
+
273
+ /**
274
+ * Create a shortcode to display a number of the top rated FAQs
275
+ * @since 2.0.0
276
+ */
277
+ function ewd_ufaq_top_rated_faqs_shortcode( $atts ) {
278
+
279
+ $defaults = array(
280
+ 'no_comments' => '',
281
+ 'post_count' => 5
282
+ );
283
+
284
+ $shortcode_atts = shortcode_atts( $defaults, $atts );
285
+
286
+ $shortcode_atts['orderby'] = 'rating';
287
+
288
+ $output = ewd_ufaq_faqs_shortcode( $shortcode_atts );
289
+
290
+ return $output;
291
+ }
292
+ add_shortcode( 'top-rated-faqs', 'ewd_ufaq_top_rated_faqs_shortcode' );
293
+
294
+ function ewd_ufaq_load_view_files() {
295
+
296
+ $files = array(
297
+ EWD_UFAQ_PLUGIN_DIR . '/views/Base.class.php' // This will load all default classes
298
+ );
299
+
300
+ $files = apply_filters( 'ewd_ufaq_load_view_files', $files );
301
+
302
+ foreach( $files as $file ) {
303
+ require_once( $file );
304
+ }
305
+
306
+ }
307
+
308
+ if ( ! function_exists( 'ewd_ufaq_validate_captcha' ) ) {
309
+ function ewd_ufaq_validate_captcha() {
310
+
311
+ $modifiedcode = intval( $_POST['ewd_ufaq_modified_captcha'] );
312
+ $usercode = intval( $_POST['ewd_ufaq_captcha'] );
313
+
314
+ $code = ewd_ufaq_decrypt_catpcha_code( $modifiedcode );
315
+
316
+ $validate_captcha = $code == $usercode ? 'Yes' : 'No';
317
+
318
+ return $validate_captcha;
319
+ }
320
+ }
321
+
322
+ if ( ! function_exists( 'ewd_ufaq_encrypt_captcha_code' ) ) {
323
+ function ewd_ufaq_encrypt_captcha_code( $code ) {
324
+
325
+ $modifiedcode = ($code + 5) * 3;
326
+
327
+ return $modifiedcode;
328
+ }
329
+ }
330
+
331
+ if ( ! function_exists( 'ewd_ufaq_encrypt_captcha_code' ) ) {
332
+ function ewd_ufaq_decrypt_catpcha_code( $modifiedcode ) {
333
+
334
+ $code = ($modifiedcode / 3) - 5;
335
+
336
+ return $code;
337
+ }
338
+ }
339
+
340
+ if ( ! function_exists( 'ewd_ufaq_decode_infinite_table_setting' ) ) {
341
+ function ewd_ufaq_decode_infinite_table_setting( $values ) {
342
+
343
+ return is_array( json_decode( html_entity_decode( $values ) ) ) ? json_decode( html_entity_decode( $values ) ) : array();
344
+ }
345
+ }
346
+
347
+ if ( ! function_exists( 'ewd_hex_to_rgb' ) ) {
348
+ function ewd_hex_to_rgb( $hex ) {
349
+
350
+ $hex = str_replace("#", "", $hex);
351
+
352
+ // return if the string isn't a color code
353
+ if ( strlen( $hex ) !== 3 and strlen( $hex ) !== 6 ) { return '0,0,0'; }
354
+
355
+ if(strlen($hex) == 3) {
356
+ $r = hexdec( substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) );
357
+ $g = hexdec( substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) );
358
+ $b = hexdec( substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ) );
359
+ } else {
360
+ $r = hexdec( substr( $hex, 0, 2 ) );
361
+ $g = hexdec( substr( $hex, 2, 2 ) );
362
+ $b = hexdec( substr( $hex, 4, 2 ) );
363
+ }
364
+
365
+ $rgb = $r . ", " . $g . ", " . $b;
366
+
367
+ return $rgb;
368
+ }
369
+ }
370
+
371
+ if ( ! function_exists( 'ewd_format_classes' ) ) {
372
+ function ewd_format_classes( $classes ) {
373
+
374
+ if ( count( $classes ) ) {
375
+ return ' class="' . join( ' ', $classes ) . '"';
376
+ }
377
+ }
378
+ }
379
+
380
+ if ( ! function_exists( 'ewd_add_frontend_ajax_url' ) ) {
381
+ function ewd_add_frontend_ajax_url() { ?>
382
+
383
+ <script type="text/javascript">
384
+ var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
385
+ </script>
386
+ <?php }
387
+ }
388
+
389
+ if ( ! function_exists( 'ewd_random_string' ) ) {
390
+ function ewd_random_string( $length = 10 ) {
391
+
392
+ $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
393
+ $randstring = '';
394
+
395
+ for ( $i = 0; $i < $length; $i++ ) {
396
+
397
+ $randstring .= $characters[ rand( 0, strlen( $characters ) - 1 ) ];
398
+ }
399
+
400
+ return $randstring;
401
+ }
402
  }
languages/ultimate-faqs-de_DE.po CHANGED
@@ -1,2057 +1,2057 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: Ultimate FAQs\n"
4
- "POT-Creation-Date: 2021-05-24 09:04+0200\n"
5
- "PO-Revision-Date: 2021-05-27 17:42+0200\n"
6
- "Last-Translator: \n"
7
- "Language-Team: \n"
8
- "Language: de_DE\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 3.0\n"
13
- "X-Poedit-Basepath: ..\n"
14
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
- "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
- "X-Poedit-WPHeader: ultimate-faqs.php\n"
17
- "X-Poedit-SourceCharset: UTF-8\n"
18
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
19
- "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
20
- "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
21
- "X-Poedit-SearchPath-0: .\n"
22
- "X-Poedit-SearchPathExcluded-0: *.min.js\n"
23
-
24
- #. Plugin Name of the plugin/theme
25
- #: includes/Blocks.class.php:110 includes/WPForms.class.php:46
26
- msgid "Ultimate FAQs"
27
- msgstr "Ultimative FAQs"
28
-
29
- #: includes/CustomPostTypes.class.php:47 includes/CustomPostTypes.class.php:49
30
- #: includes/CustomPostTypes.class.php:50 includes/Settings.class.php:76
31
- #: includes/WPForms.class.php:31 includes/WooCommerce.class.php:121
32
- #: ultimate-faqs.php:407 views/View.class.php:119
33
- msgid "FAQs"
34
- msgstr "FAQs"
35
-
36
- #: includes/CustomPostTypes.class.php:48 includes/WooCommerce.class.php:165
37
- #: includes/WooCommerce.class.php:192 includes/WooCommerce.class.php:287
38
- msgid "FAQ"
39
- msgstr "FAQ"
40
-
41
- #: includes/CustomPostTypes.class.php:51 ultimate-faqs.php:408
42
- msgid "Add New"
43
- msgstr "Neu hinzufügen"
44
-
45
- #: includes/CustomPostTypes.class.php:52
46
- msgid "Add New FAQ"
47
- msgstr "Neue FAQ hinzufügen"
48
-
49
- #: includes/CustomPostTypes.class.php:53
50
- msgid "Edit FAQ"
51
- msgstr "FAQ bearbeiten"
52
-
53
- #: includes/CustomPostTypes.class.php:54
54
- msgid "New FAQ"
55
- msgstr "Neue FAQ"
56
-
57
- #: includes/CustomPostTypes.class.php:55
58
- msgid "View FAQ"
59
- msgstr "FAQ anzeigen"
60
-
61
- #: includes/CustomPostTypes.class.php:56
62
- msgid "Search FAQs"
63
- msgstr "FAQs suchen"
64
-
65
- #: includes/CustomPostTypes.class.php:57
66
- msgid "No FAQs found"
67
- msgstr "Keine FAQs gefunden"
68
-
69
- #: includes/CustomPostTypes.class.php:58
70
- msgid "No FAQs found in trash"
71
- msgstr "Keine FAQs im Papierkorb gefunden"
72
-
73
- #: includes/CustomPostTypes.class.php:59
74
- msgid "All FAQs"
75
- msgstr "Alle FAQs"
76
-
77
- #: includes/CustomPostTypes.class.php:92 includes/CustomPostTypes.class.php:102
78
- msgid "FAQ Categories"
79
- msgstr "FAQ Kategorien"
80
-
81
- #: includes/CustomPostTypes.class.php:93
82
- #: includes/InstallationWalkthrough.class.php:240
83
- msgid "FAQ Category"
84
- msgstr "FAQ Kategorie"
85
-
86
- #: includes/CustomPostTypes.class.php:94
87
- msgid "Search FAQ Categories"
88
- msgstr "Suche FAQ Kategorien"
89
-
90
- #: includes/CustomPostTypes.class.php:95
91
- msgid "All FAQ Categories"
92
- msgstr "Alle FAQ Kategorien"
93
-
94
- #: includes/CustomPostTypes.class.php:96
95
- msgid "Parent FAQ Category"
96
- msgstr "Übergeordnete FAQ Kategorie"
97
-
98
- #: includes/CustomPostTypes.class.php:97
99
- msgid "Parent FAQ Category:"
100
- msgstr "Übergeordnete FAQ Kategorie:"
101
-
102
- #: includes/CustomPostTypes.class.php:98
103
- msgid "Edit FAQ Category"
104
- msgstr "FAQ Kategorie bearbeiten"
105
-
106
- #: includes/CustomPostTypes.class.php:99
107
- msgid "Update FAQ Category"
108
- msgstr "FAQ Kategorie aktualisieren"
109
-
110
- #: includes/CustomPostTypes.class.php:100
111
- msgid "Add New FAQ Category"
112
- msgstr "Neue FAQ Kategorie hinzufügen"
113
-
114
- #: includes/CustomPostTypes.class.php:101
115
- msgid "New FAQ Category Name"
116
- msgstr "Neuer FAQ Kategorien Name"
117
-
118
- #: includes/CustomPostTypes.class.php:118
119
- #: includes/CustomPostTypes.class.php:128
120
- msgid "FAQ Tags"
121
- msgstr "FAQ-Schlagworte"
122
-
123
- #: includes/CustomPostTypes.class.php:119
124
- msgid "FAQ Tag"
125
- msgstr "FAQ-Schlagwort"
126
-
127
- #: includes/CustomPostTypes.class.php:120
128
- msgid "Search FAQ Tags"
129
- msgstr "FAQ-Schlagworte suchen"
130
-
131
- #: includes/CustomPostTypes.class.php:121
132
- msgid "All FAQ Tags"
133
- msgstr "Alle FAQ-Schlagworte"
134
-
135
- #: includes/CustomPostTypes.class.php:122
136
- msgid "Parent FAQ Tag"
137
- msgstr "Übergeordnetes FAQ-Schlagwort"
138
-
139
- #: includes/CustomPostTypes.class.php:123
140
- msgid "Parent FAQ Tag:"
141
- msgstr "Übergeordnetes FAQ-Schlagwort:"
142
-
143
- #: includes/CustomPostTypes.class.php:124
144
- msgid "Edit FAQ Tag"
145
- msgstr "FAQ-Schlagwort bearbeiten"
146
-
147
- #: includes/CustomPostTypes.class.php:125
148
- msgid "Update FAQ Tag"
149
- msgstr "FAQ-Schlagwort aktualisieren"
150
-
151
- #: includes/CustomPostTypes.class.php:126
152
- msgid "Add New FAQ Tag"
153
- msgstr "Neues FAQ Schlagwort hinzufügen"
154
-
155
- #: includes/CustomPostTypes.class.php:127
156
- msgid "New FAQ Tag Name"
157
- msgstr "Neuer Name für FAQ-Schlagwort"
158
-
159
- #: includes/CustomPostTypes.class.php:161
160
- msgid "FAQ Details"
161
- msgstr "FAQ-Details"
162
-
163
- #: includes/CustomPostTypes.class.php:171
164
- msgid "Need Help?"
165
- msgstr "Brauchst Du Hilfe?"
166
-
167
- #: includes/CustomPostTypes.class.php:217
168
- msgid "Author Display Name:"
169
- msgstr "Name des Autors wie er auf dem Frontend erscheinen soll:"
170
-
171
- #: includes/CustomPostTypes.class.php:226
172
- msgid "Up Votes:"
173
- msgstr "Daumen hoch:"
174
-
175
- #: includes/CustomPostTypes.class.php:230
176
- msgid "Down Votes:"
177
- msgstr "Daumen runter:"
178
-
179
- #: includes/CustomPostTypes.class.php:408
180
- msgid "# of Views"
181
- msgstr "Anzahl an Aufrufen"
182
-
183
- #: includes/CustomPostTypes.class.php:409 includes/Dashboard.class.php:151
184
- #: includes/OrderingTable.class.php:77 includes/Settings.class.php:1150
185
- #: ultimate-faqs.php:409
186
- msgid "Categories"
187
- msgstr "Kategorien"
188
-
189
- #: includes/CustomPostTypes.class.php:410
190
- msgid "Post ID"
191
- msgstr "Beitrag-ID"
192
-
193
- #: includes/CustomPostTypes.class.php:558
194
- msgid "Reset View Count"
195
- msgstr "Ansichtenzähler zurücksetzen"
196
-
197
- #: includes/Dashboard.class.php:102
198
- #, php-format
199
- msgid ""
200
- "<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to "
201
- "upgrade to premium."
202
- msgstr ""
203
- "<a href=\"%s\" target=\"_blank\">Besuch unsere Website</a>, um zu erfahren, "
204
- "wie du auf Premium upgraden kannst."
205
-
206
- #: includes/Dashboard.class.php:112 includes/Dashboard.class.php:136
207
- msgid "Get Support"
208
- msgstr "Support erhalten"
209
-
210
- #: includes/Dashboard.class.php:118
211
- msgid "YouTube Tutorials"
212
- msgstr "YouTube-Tutorials"
213
-
214
- #: includes/Dashboard.class.php:124
215
- msgid "Plugin FAQs"
216
- msgstr "Plugin-FAQs"
217
-
218
- #: includes/Dashboard.class.php:130
219
- msgid "Documentation"
220
- msgstr "Dokumentation"
221
-
222
- #: includes/Dashboard.class.php:144
223
- msgid "FAQ Summary"
224
- msgstr "FAQ-Zusammenfassung"
225
-
226
- #: includes/Dashboard.class.php:149
227
- #: includes/InstallationWalkthrough.class.php:357
228
- #: includes/Settings.class.php:967
229
- msgid "Title"
230
- msgstr "Titel"
231
-
232
- #: includes/Dashboard.class.php:150 includes/OrderingTable.class.php:76
233
- msgid "Views"
234
- msgstr "Ansichten"
235
-
236
- #: includes/Dashboard.class.php:156
237
- msgid ""
238
- "No faqs to display yet. Create an faq and then view it for it to be "
239
- "displayed here."
240
- msgstr ""
241
- "Noch keine FAQs zum Anzeigen. Erstelle eine FAQ und sieh dann nach, ob sie "
242
- "hier angezeigt wird."
243
-
244
- #: includes/Dashboard.class.php:238
245
- #, php-format
246
- msgid ""
247
- "<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to get a "
248
- "free 7-day trial of the premium plugin."
249
- msgstr ""
250
- "<a href=\"%s\" target=\"_blank\">Besuch unsere Website</a>, um zu erfahren, "
251
- "wie du eine kostenlose 7-Tage-Testversion des Premium-Plugins erhältst."
252
-
253
- #: includes/DeactivationSurvey.class.php:36
254
- msgid "I no longer need the plugin"
255
- msgstr "Ich brauche das Plugin nicht mehr"
256
-
257
- #: includes/DeactivationSurvey.class.php:39
258
- msgid "I'm switching to a different plugin"
259
- msgstr "Ich wechsele zu einem anderen Plugin"
260
-
261
- #: includes/DeactivationSurvey.class.php:40
262
- msgid "Please share which plugin"
263
- msgstr "Bitte teile uns mit, welches Plugin"
264
-
265
- #: includes/DeactivationSurvey.class.php:43
266
- msgid "I couldn't get the plugin to work"
267
- msgstr "Ich konnte das Plugin nicht zum Laufen bringen"
268
-
269
- #: includes/DeactivationSurvey.class.php:44
270
- msgid "Please share what wasn't working"
271
- msgstr "Bitte teile mit, was nicht funktioniert hat"
272
-
273
- #: includes/DeactivationSurvey.class.php:47
274
- msgid "It's a temporary deactivation"
275
- msgstr "Die Deaktivierung ist nur vorübergehend"
276
-
277
- #: includes/DeactivationSurvey.class.php:50
278
- msgid "Other"
279
- msgstr "Andere"
280
-
281
- #: includes/DeactivationSurvey.class.php:51
282
- msgid "Please share the reason"
283
- msgstr "Bitte teile uns den Grund mit"
284
-
285
- #: includes/DeactivationSurvey.class.php:58
286
- msgid "Quick Feedback"
287
- msgstr "Schnelles Feedback"
288
-
289
- #: includes/DeactivationSurvey.class.php:59
290
- msgid ""
291
- "If you have a moment, please share why you are deactivating Ultimate FAQs:"
292
- msgstr ""
293
- "Wenn du einen Moment Zeit hast, teile uns bitte mit, warum du Ultimate FAQs "
294
- "deaktivierst:"
295
-
296
- #: includes/DeactivationSurvey.class.php:74
297
- msgid "Submit and Deactivate"
298
- msgstr "Absenden und deaktivieren"
299
-
300
- #: includes/DeactivationSurvey.class.php:75
301
- msgid "Skip and Deactivate"
302
- msgstr "Überspringen und abschalten"
303
-
304
- #: includes/FAQ.class.php:175
305
- msgid "The number you entered for the image was incorrect."
306
- msgstr "Die Zahl, die du für das Bild eingegeben hast, war falsch."
307
-
308
- #: includes/FAQ.class.php:188
309
- msgid ""
310
- "Please make sure that there is a question that you are submitting as an FAQ"
311
- msgstr ""
312
- "Bitte stell sicher, dass es sich um eine Frage handelt, die du als FAQ "
313
- "abschickst"
314
-
315
- #: includes/Import.class.php:51
316
- msgid "Spreadsheet Containing FAQs"
317
- msgstr "Spreadsheet enthält FAQs"
318
-
319
- #: includes/Import.class.php:200
320
- msgid "FAQs added successfully."
321
- msgstr "FAQs wurden erfolgreich hinzugefügt."
322
-
323
- #: includes/Import.class.php:212
324
- msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
325
- msgstr ""
326
- "Die hochzuladende Datei überschreitet die Einstellung upload_max_filesize "
327
- "der php.ini"
328
-
329
- #: includes/Import.class.php:215
330
- msgid ""
331
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
332
- "the HTML form"
333
- msgstr ""
334
- "Die hochgeladene Datei überschreitet die \"MAX_FILE_SIZE\" Direktive, die im "
335
- "HTML-Formular angegeben wurde"
336
-
337
- #: includes/Import.class.php:218
338
- msgid "The uploaded file was only partially uploaded"
339
- msgstr "Die Datei wurde nur teilweise hochgeladen"
340
-
341
- #: includes/Import.class.php:221
342
- msgid "No file was uploaded."
343
- msgstr "Es wurde keine Datei hochgeladen."
344
-
345
- #: includes/Import.class.php:225
346
- msgid "Missing a temporary folder"
347
- msgstr "Es fehlt ein temporärer Ordner"
348
-
349
- #: includes/Import.class.php:228
350
- msgid "Failed to write file to disk"
351
- msgstr "Fehler beim Schreiben der Datei"
352
-
353
- #: includes/Import.class.php:231
354
- msgid "File upload stopped by extension"
355
- msgstr "Datei-Upload durch Erweiterung gestoppt"
356
-
357
- #: includes/Import.class.php:235
358
- msgid "No error code avaiable"
359
- msgstr "Kein Fehler Code verfügbar"
360
-
361
- #: includes/Import.class.php:240
362
- msgid "No file was uploaded here.."
363
- msgstr "Es wurde keine Datei hochgeladen.."
364
-
365
- #: includes/Import.class.php:245
366
- msgid "File must be .csv, .xls or .xlsx"
367
- msgstr "Datei muss CSV, .xls oder .xlsx"
368
-
369
- #: includes/InstallationWalkthrough.class.php:53
370
- #: includes/InstallationWalkthrough.class.php:54
371
- msgid "Ultimate FAQs - Welcome!"
372
- msgstr "Ultimate FAQs - Willkommen!"
373
-
374
- #: includes/InstallationWalkthrough.class.php:176
375
- msgid "Welcome to Ultimate FAQs"
376
- msgstr "Willkommen bei Ultimate FAQs"
377
-
378
- #: includes/InstallationWalkthrough.class.php:177
379
- msgid ""
380
- "Thanks for choosing Ultimate FAQs! The following will help you get started "
381
- "with the setup by creating your first FAQ and category, as well as adding "
382
- "your FAQs to a page and configuring a few key options."
383
- msgstr ""
384
- "Vielen Dank für die Wahl von Ultimate FAQs! Im Folgenden kannst du mit dem "
385
- "Setup beginnen, indem du deine erste FAQ und Kategorie erstellst, deine FAQs "
386
- "zu einer Seite hinzufügst und einige wichtige Optionen konfigurierst."
387
-
388
- #: includes/InstallationWalkthrough.class.php:181
389
- msgid "1. Create Categories"
390
- msgstr "1. Kategorien erstellen"
391
-
392
- #: includes/InstallationWalkthrough.class.php:183
393
- msgid ""
394
- "Categories let you organize your FAQs in a way that's easy for you - and "
395
- "your customers - to find."
396
- msgstr ""
397
- "Mit Kategorien kannst du deine FAQs auf einfache Art für dich - und deine "
398
- "Kunden - organisieren."
399
-
400
- #: includes/InstallationWalkthrough.class.php:186
401
- msgid "Category Name"
402
- msgstr "Kategoriename"
403
-
404
- #: includes/InstallationWalkthrough.class.php:192
405
- msgid "Category Description"
406
- msgstr "Kategorie Beschreibung"
407
-
408
- #: includes/InstallationWalkthrough.class.php:200
409
- msgid "Add Category"
410
- msgstr "Kategorie hinzufügen"
411
-
412
- #: includes/InstallationWalkthrough.class.php:206
413
- msgid "Created Categories"
414
- msgstr "Erstellte Kategorien"
415
-
416
- #: includes/InstallationWalkthrough.class.php:209
417
- #: includes/Settings.class.php:933
418
- msgid "Name"
419
- msgstr "Name"
420
-
421
- #: includes/InstallationWalkthrough.class.php:210
422
- msgid "Description"
423
- msgstr "Beschreibung"
424
-
425
- #: includes/InstallationWalkthrough.class.php:217
426
- #: includes/InstallationWalkthrough.class.php:269
427
- #: includes/InstallationWalkthrough.class.php:295 views/View.class.php:117
428
- msgid "Next"
429
- msgstr "Vor"
430
-
431
- #: includes/InstallationWalkthrough.class.php:223
432
- msgid "2. Questions & Answers"
433
- msgstr "2. Fragen und Antworten"
434
-
435
- #: includes/InstallationWalkthrough.class.php:225
436
- msgid ""
437
- "Create your first set of questions and answers. Don't worry, you can always "
438
- "add more later."
439
- msgstr ""
440
- "Erstelle deinen ersten Satz von Fragen und Antworten. Keine Sorge, du kannst "
441
- "später jederzeit weitere hinzufügen."
442
-
443
- #: includes/InstallationWalkthrough.class.php:228
444
- msgid "Questions"
445
- msgstr "Fragen"
446
-
447
- #: includes/InstallationWalkthrough.class.php:234
448
- #: includes/InstallationWalkthrough.class.php:260
449
- msgid "Answer"
450
- msgstr "Antwort"
451
-
452
- #: includes/InstallationWalkthrough.class.php:250
453
- msgid "Add FAQ"
454
- msgstr "FAQ hinzufügen"
455
-
456
- #: includes/InstallationWalkthrough.class.php:256
457
- msgid "Created FAQs"
458
- msgstr "Erstellte FAQs"
459
-
460
- #: includes/InstallationWalkthrough.class.php:259
461
- #: includes/OrderingTable.class.php:75
462
- msgid "Question"
463
- msgstr "Frage"
464
-
465
- #: includes/InstallationWalkthrough.class.php:261
466
- msgid "Category"
467
- msgstr "Kategorie"
468
-
469
- #: includes/InstallationWalkthrough.class.php:270
470
- #: includes/InstallationWalkthrough.class.php:296
471
- #: includes/InstallationWalkthrough.class.php:368 views/View.class.php:116
472
- msgid "Previous"
473
- msgstr "Zurück"
474
-
475
- #: includes/InstallationWalkthrough.class.php:276
476
- msgid "3. Add an FAQ Page"
477
- msgstr "3. Eine FAQ-Seite hinzufügen"
478
-
479
- #: includes/InstallationWalkthrough.class.php:278
480
- msgid ""
481
- "You can create a dedicated FAQ page below, or skip this step and add your "
482
- "FAQs to a page you've already created manually."
483
- msgstr ""
484
- "Du kannst unten eine spezielle FAQ-Seite erstellen oder diesen Schritt "
485
- "überspringen und deine FAQs zu einer Seite hinzufügen, die du bereits "
486
- "manuell erstellt hast."
487
-
488
- #: includes/InstallationWalkthrough.class.php:281
489
- msgid "Page Title"
490
- msgstr "Seitentitel"
491
-
492
- #: includes/InstallationWalkthrough.class.php:289
493
- msgid "Create Page"
494
- msgstr "Seite erstellen"
495
-
496
- #: includes/InstallationWalkthrough.class.php:302
497
- msgid "4. Set Key Options"
498
- msgstr "4. Schlüsseloptionen festlegen"
499
-
500
- #: includes/InstallationWalkthrough.class.php:304
501
- msgid ""
502
- "Options can always be changed later, but here are a few tha a lot of users "
503
- "want to set for themselves."
504
- msgstr ""
505
- "Die Optionen können später immer noch geändert werden, aber hier sind ein "
506
- "paar, die viele Benutzer für sich selbst einstellen möchten."
507
-
508
- #: includes/InstallationWalkthrough.class.php:307
509
- #: includes/Settings.class.php:302
510
- msgid "FAQ Accordion"
511
- msgstr "FAQ-Akkordeon"
512
-
513
- #: includes/InstallationWalkthrough.class.php:317
514
- #: includes/Settings.class.php:303
515
- msgid ""
516
- "Should the FAQs accordion? (Only one FAQ is open at a time, requires FAQ "
517
- "Toggle)"
518
- msgstr ""
519
- "Sollen die FAQs als Akkordeon dargestellt werden? (Nur eine FAQ ist "
520
- "gleichzeitig geöffnet, erfordert FAQ-Umschalter)"
521
-
522
- #: includes/InstallationWalkthrough.class.php:322
523
- msgid "FAQ Toggle"
524
- msgstr "FAQ-Umschalter"
525
-
526
- #: includes/InstallationWalkthrough.class.php:332
527
- #: includes/Settings.class.php:292
528
- msgid ""
529
- "Should the FAQs open on a separate page when clicked, instead of opening and "
530
- "closing?"
531
- msgstr ""
532
- "Sollen die FAQs beim Anklicken auf einer separaten Seite geöffnet werden, "
533
- "anstatt sich zu öffnen und zu schließen?"
534
-
535
- #: includes/InstallationWalkthrough.class.php:337
536
- #: includes/Settings.class.php:907
537
- msgid "Group FAQs by Category"
538
- msgstr "FAQs nach Kategorie gruppieren"
539
-
540
- #: includes/InstallationWalkthrough.class.php:347
541
- #: includes/Settings.class.php:908
542
- msgid ""
543
- "Should FAQs be grouped by category, or should all categories be mixed "
544
- "together?"
545
- msgstr ""
546
- "Sollen die FAQs nach Kategorien gruppiert werden, oder sollen alle "
547
- "Kategorien zusammengemischt werden?"
548
-
549
- #: includes/InstallationWalkthrough.class.php:352
550
- #: includes/Settings.class.php:962
551
- msgid "FAQ Ordering"
552
- msgstr "FAQ-Sortierung"
553
-
554
- #: includes/InstallationWalkthrough.class.php:356
555
- #: includes/Settings.class.php:966
556
- msgid "Created Date"
557
- msgstr "Erstellungsdatum"
558
-
559
- #: includes/InstallationWalkthrough.class.php:358
560
- #: includes/Settings.class.php:968
561
- msgid "Modified Date"
562
- msgstr "Änderungsdatum"
563
-
564
- #: includes/InstallationWalkthrough.class.php:360
565
- #: includes/Settings.class.php:963
566
- msgid "How should individual FAQs be ordered?"
567
- msgstr "Wie sollten die einzelnen FAQs sortiert werden?"
568
-
569
- #: includes/InstallationWalkthrough.class.php:366
570
- msgid "Save Options"
571
- msgstr "Einstellungen speichern"
572
-
573
- #: includes/InstallationWalkthrough.class.php:369
574
- msgid "Finish"
575
- msgstr "Fertigstellen"
576
-
577
- #: includes/InstallationWalkthrough.class.php:376
578
- msgid "Skip Setup"
579
- msgstr "Setup überspringen"
580
-
581
- #: includes/Notifications.class.php:33
582
- msgid "New Question Received"
583
- msgstr "Neue Frage erhalten"
584
-
585
- #: includes/Notifications.class.php:35
586
- msgid "Hello Admin,"
587
- msgstr "Hallo Admin,"
588
-
589
- #: includes/Notifications.class.php:36
590
- msgid "You've received a new question titled "
591
- msgstr "Du hast eine neue Frage erhalten mit dem Titel "
592
-
593
- #: includes/Notifications.class.php:37
594
- msgid "The answer reads:<br>"
595
- msgstr "Die Antwort lautet:<br>"
596
-
597
- #: includes/Notifications.class.php:39
598
- msgid ""
599
- "You can view the question in the admin area by going to the following link:"
600
- "<br>"
601
- msgstr ""
602
- "Du kannst die Frage im Admin-Bereich anzeigen, indem du auf den folgenden "
603
- "Link klickst:<br>"
604
-
605
- #: includes/Notifications.class.php:40
606
- msgid "See the FAQ"
607
- msgstr "Schau in die FAQ"
608
-
609
- #: includes/Notifications.class.php:41
610
- msgid "Have a great day,"
611
- msgstr "Einen schönen Tag,"
612
-
613
- #: includes/Notifications.class.php:42
614
- msgid "Ultimate FAQs Team"
615
- msgstr "Ultimate FAQs Team"
616
-
617
- #: includes/OrderingTable.class.php:28 includes/OrderingTable.class.php:29
618
- msgid "Ordering Table"
619
- msgstr "Reihenfolge der Tabelle"
620
-
621
- #: includes/OrderingTable.class.php:69
622
- msgid ""
623
- "Use the table below to set the order for your FAQs, either overall or within "
624
- "their categories depending on your selected settings."
625
- msgstr ""
626
- "Verwende die folgende Tabelle, um die Reihenfolge deiner FAQs festzulegen, "
627
- "entweder insgesamt oder innerhalb ihrer Kategorien, abhängig von den "
628
- "gewählten Einstellungen."
629
-
630
- #: includes/OrderingTable.class.php:78 includes/Settings.class.php:1161
631
- #: ultimate-faqs.php:410
632
- msgid "Tags"
633
- msgstr "Schlagwörter"
634
-
635
- #: includes/ReviewAsk.class.php:57
636
- msgid "Email Address"
637
- msgstr "E-Mail-Adresse"
638
-
639
- #: includes/Settings.class.php:74 includes/Settings.class.php:1260
640
- msgid "Retrieving Results"
641
- msgstr "Ergebnisse werden abgerufen"
642
-
643
- #: includes/Settings.class.php:75 includes/Settings.class.php:1271
644
- #, php-format
645
- msgid "No result FAQ's contained the term '%s'"
646
- msgstr "Keine FAQ enthielt den Begriff ' %s '"
647
-
648
- #: includes/Settings.class.php:77 views/View.class.php:123
649
- msgid "Thank you for submitting an FAQ."
650
- msgstr "Vielen Dank, dass du eine FAQ gesendet hast."
651
-
652
- #: includes/Settings.class.php:143 includes/Settings.class.php:144
653
- #: includes/Settings.class.php:896 includes/Settings.class.php:1014
654
- #: ultimate-faqs.php:318 ultimate-faqs.php:416
655
- msgid "Settings"
656
- msgstr "Einstellungen"
657
-
658
- #: includes/Settings.class.php:156
659
- msgid "Basic"
660
- msgstr "Basic"
661
-
662
- #: includes/Settings.class.php:165 includes/Settings.class.php:556
663
- msgid "General"
664
- msgstr "Allgemein"
665
-
666
- #: includes/Settings.class.php:176
667
- msgid "REMINDER:"
668
- msgstr "ERINNERUNG:"
669
-
670
- #: includes/Settings.class.php:177
671
- msgid "To display FAQs, place the [ultimate-faqs] shortcode on a page"
672
- msgstr ""
673
- "Um FAQs anzuzeigen, platziere den Shortcode [ultimate-faqs] auf einer Seite"
674
-
675
- #: includes/Settings.class.php:187
676
- msgid "Custom CSS"
677
- msgstr "Benutzerdefiniertes CSS"
678
-
679
- #: includes/Settings.class.php:188
680
- msgid "You can add custom CSS styles to your FAQs in the box above."
681
- msgstr ""
682
- "Du kannst benutzerdefinierte CSS-Stile zu deinen FAQs in dem Feld oben "
683
- "hinzufügen."
684
-
685
- #: includes/Settings.class.php:197
686
- msgid "Scroll To Top"
687
- msgstr "Nach Oben Scrollen"
688
-
689
- #: includes/Settings.class.php:198
690
- msgid "Should the browser scroll to the top of the FAQ when it's opened?"
691
- msgstr ""
692
- "Soll der Browser an den Anfang der FAQ scrollen, wenn er geöffnet wird?"
693
-
694
- #: includes/Settings.class.php:208
695
- msgid "Turn On Comment Support"
696
- msgstr "Kommentarunterstützung einschalten"
697
-
698
- #: includes/Settings.class.php:209
699
- msgid ""
700
- "Should comment support be turned on, so that if the \"Allow Comments\" "
701
- "checkbox is selected for a given FAQ, comments are shown in the FAQ list?"
702
- msgstr ""
703
- "Soll die Unterstützung für Kommentare eingeschaltet werden, so dass, wenn "
704
- "das Kontrollkästchen \"Kommentare zulassen\" für eine bestimmte FAQ "
705
- "ausgewählt ist, Kommentare in der FAQ-Liste angezeigt werden?"
706
-
707
- #: includes/Settings.class.php:219
708
- msgid "Disable Microdata"
709
- msgstr "Microdata deaktivieren"
710
-
711
- #: includes/Settings.class.php:220
712
- msgid ""
713
- "By default, the plugin adds FAQ page scheme when the shortcode is used. "
714
- "Select this option to disable this behaviour."
715
- msgstr ""
716
- "Standardmäßig fügt das Plugin ein FAQ-Seitenschema hinzu, wenn der Shortcode "
717
- "verwendet wird. Wähle diese Option, um dieses Verhalten zu deaktivieren."
718
-
719
- #: includes/Settings.class.php:230
720
- msgid "Include Permalink"
721
- msgstr "Permalink einbeziehen"
722
-
723
- #: includes/Settings.class.php:231
724
- msgid "Display permalink to each question? If so, text, icon or both?"
725
- msgstr "Permalink zu jeder Frage anzeigen? Wenn ja, Text, Symbol oder beides?"
726
-
727
- #: includes/Settings.class.php:233 includes/Settings.class.php:504
728
- msgid "None"
729
- msgstr "Nichts"
730
-
731
- #: includes/Settings.class.php:234 includes/Settings.class.php:1061
732
- msgid "Text"
733
- msgstr "Text"
734
-
735
- #: includes/Settings.class.php:235
736
- msgid "Icon"
737
- msgstr "Icon"
738
-
739
- #: includes/Settings.class.php:236
740
- msgid "Both"
741
- msgstr "Beide"
742
-
743
- #: includes/Settings.class.php:248
744
- msgid "Permalink Destination"
745
- msgstr "Permalink Ziel"
746
-
747
- #: includes/Settings.class.php:249
748
- msgid ""
749
- "Should the permalink link to the main FAQ page or the individual FAQ page?"
750
- msgstr ""
751
- "Soll der Permalink auf die Haupt-FAQ-Seite oder auf die einzelnen FAQ-Seiten "
752
- "verweisen?"
753
-
754
- #: includes/Settings.class.php:251
755
- msgid "Main FAQ Page"
756
- msgstr "Haupt-FAQ-Seite"
757
-
758
- #: includes/Settings.class.php:252
759
- msgid "Individual FAQ Page"
760
- msgstr "Individuelle FAQ-Seite"
761
-
762
- #: includes/Settings.class.php:264
763
- msgid "Set Access Role"
764
- msgstr "Zugriffsrolle festlegen"
765
-
766
- #: includes/Settings.class.php:265
767
- msgid "Which level of user should have access to FAQs, Settings, etc.?."
768
- msgstr ""
769
- "Welche Benutzerebene sollte Zugriff auf FAQs, Einstellungen usw. haben?"
770
-
771
- #: includes/Settings.class.php:268
772
- msgid "Administrator"
773
- msgstr "Administrator"
774
-
775
- #: includes/Settings.class.php:269
776
- msgid "Editor"
777
- msgstr "Editor"
778
-
779
- #: includes/Settings.class.php:270
780
- msgid "Author"
781
- msgstr "Autor"
782
-
783
- #: includes/Settings.class.php:271
784
- msgid "Contributor"
785
- msgstr "Mitarbeiter"
786
-
787
- #: includes/Settings.class.php:280
788
- msgid "Functionality"
789
- msgstr "Funktionalität"
790
-
791
- #: includes/Settings.class.php:291
792
- msgid "Disable FAQ Toggle"
793
- msgstr "FAQ-Umschalter deaktivieren"
794
-
795
- #: includes/Settings.class.php:313
796
- msgid "FAQ Category Toggle"
797
- msgstr "FAQ-Kategorie umschalten"
798
-
799
- #: includes/Settings.class.php:314
800
- msgid ""
801
- "Should the FAQ categories hide/open when they are clicked, if FAQs are being "
802
- "grouped by category (\"Group FAQs by Category\" in the \"Ordering\" area)?"
803
- msgstr ""
804
- "Sollen die FAQ-Kategorien ausgeblendet/geöffnet werden, wenn sie angeklickt "
805
- "werden, wenn die FAQs nach Kategorien gruppiert werden (\"FAQs nach "
806
- "Kategorie gruppieren\" im Bereich \"Sortierung\")?"
807
-
808
- #: includes/Settings.class.php:324
809
- msgid "FAQ Category Accordion"
810
- msgstr "FAQ-Kategorie Akkordeon"
811
-
812
- #: includes/Settings.class.php:325
813
- msgid ""
814
- "Should it only be possible to open one FAQ category at a time, if FAQ "
815
- "categories are being toggled (\"FAQ Category Toggle\" must be enabled above)?"
816
- msgstr ""
817
- "Soll es nur möglich sein, eine FAQ-Kategorie auf einmal zu öffnen, wenn die "
818
- "FAQ-Kategorien umgeschaltet werden (\"FAQ-Kategorie umschalten\" muss oben "
819
- "aktiviert sein)?"
820
-
821
- #: includes/Settings.class.php:335
822
- msgid "FAQ Expand/Collapse All"
823
- msgstr "Alle FAQ aus-/einklappen"
824
-
825
- #: includes/Settings.class.php:336
826
- msgid "Should there be a control to open and close all FAQs simultaneously?"
827
- msgstr ""
828
- "Soll es eine Steuerung geben, um alle FAQs gleichzeitig zu öffnen und zu "
829
- "schließen?"
830
-
831
- #: includes/Settings.class.php:344 includes/Settings.class.php:438
832
- msgid "Display"
833
- msgstr "Anzeige"
834
-
835
- #: includes/Settings.class.php:355
836
- msgid "Hide Categories"
837
- msgstr "Kategorien verbergen"
838
-
839
- #: includes/Settings.class.php:356
840
- msgid "Should the categories for each FAQ be hidden?"
841
- msgstr "Sollen die Kategorien für jede FAQ ausgeblendet werden?"
842
-
843
- #: includes/Settings.class.php:366
844
- msgid "Hide Tags"
845
- msgstr "Schlagworte ausblenden"
846
-
847
- #: includes/Settings.class.php:367
848
- msgid "Should the tags for each FAQ be hidden?"
849
- msgstr "Sollen die Tags für jede FAQ ausgeblendet werden?"
850
-
851
- #: includes/Settings.class.php:377
852
- msgid "Display All Answers"
853
- msgstr "Alle Antworten anzeigen"
854
-
855
- #: includes/Settings.class.php:378
856
- msgid ""
857
- "Should all answers be displayed when the page loads? (Careful if FAQ "
858
- "Accordion is on)"
859
- msgstr ""
860
- "Sollen alle Antworten beim Laden der Seite angezeigt werden? (Vorsicht, wenn "
861
- "FAQ-Akkordeon aktiviert ist)"
862
-
863
- #: includes/Settings.class.php:388
864
- msgid "Display Post Author"
865
- msgstr "Autor des Beitrags anzeigen"
866
-
867
- #: includes/Settings.class.php:389
868
- msgid ""
869
- "Should the display name of the post's author be displayed beneath the FAQ "
870
- "title?"
871
- msgstr ""
872
- "Soll der Anzeigename des Autors des Beitrags unter dem FAQ-Titel angezeigt "
873
- "werden?"
874
-
875
- #: includes/Settings.class.php:399
876
- msgid "Display Post Date"
877
- msgstr "Datum des Beitrages anzeigen"
878
-
879
- #: includes/Settings.class.php:400
880
- msgid ""
881
- "Should the date the post was created be displayed beneath the FAQ title?"
882
- msgstr ""
883
- "Soll das Datum, an dem der Beitrag erstellt wurde, unter dem FAQ-Titel "
884
- "angezeigt werden?"
885
-
886
- #: includes/Settings.class.php:410
887
- msgid "Display 'Back to Top'"
888
- msgstr "'Zurück zum Anfang' anzeigen"
889
-
890
- #: includes/Settings.class.php:411
891
- msgid ""
892
- "Should a link to return to the top of the page be added to each FAQ post?"
893
- msgstr ""
894
- "Soll zu jedem FAQ-Beitrag ein Link zurück zum Anfang der Seite hinzugefügt "
895
- "werden?"
896
-
897
- #: includes/Settings.class.php:428
898
- msgid "Premium"
899
- msgstr "Premium"
900
-
901
- #: includes/Settings.class.php:451
902
- msgid "FAQ Display Style"
903
- msgstr "FAQ Anzeigeart"
904
-
905
- #: includes/Settings.class.php:452
906
- msgid "Which theme should be used to display the FAQ's?"
907
- msgstr "Welches Thema soll für die Anzeige der FAQs verwendet werden?"
908
-
909
- #: includes/Settings.class.php:454
910
- msgid "Default"
911
- msgstr "Standard"
912
-
913
- #: includes/Settings.class.php:455
914
- msgid "Block"
915
- msgstr "Block"
916
-
917
- #: includes/Settings.class.php:456
918
- msgid "Border Block"
919
- msgstr "Blockumrandung"
920
-
921
- #: includes/Settings.class.php:457
922
- msgid "Contemporary"
923
- msgstr "Zeitgenössisch"
924
-
925
- #: includes/Settings.class.php:458
926
- msgid "List"
927
- msgstr "Liste"
928
-
929
- #: includes/Settings.class.php:459
930
- msgid "Minimalist"
931
- msgstr "Minimalistisch"
932
-
933
- #: includes/Settings.class.php:471
934
- msgid "Number of Columns"
935
- msgstr "Anzahl der Spalten"
936
-
937
- #: includes/Settings.class.php:472
938
- msgid "In how many columns would you like your FAQs displayed?"
939
- msgstr "In wie vielen Spalten möchtest du deine FAQs anzeigen lassen?"
940
-
941
- #: includes/Settings.class.php:474
942
- msgid "One"
943
- msgstr "Eins"
944
-
945
- #: includes/Settings.class.php:475
946
- msgid "Two"
947
- msgstr "Zwei"
948
-
949
- #: includes/Settings.class.php:476
950
- msgid "Three"
951
- msgstr "Drei"
952
-
953
- #: includes/Settings.class.php:477
954
- msgid "Four"
955
- msgstr "Vier"
956
-
957
- #: includes/Settings.class.php:489
958
- msgid "Responsive Columns"
959
- msgstr "Responsive Spalten"
960
-
961
- #: includes/Settings.class.php:490
962
- msgid ""
963
- "If you have more than one column, would you like them to be responsive? If "
964
- "this option is disabled, the number of columns will remain the same on all "
965
- "screen sizes."
966
- msgstr ""
967
- "Wenn du mehr als eine Spalte hast, möchtest du, dass sie responsiv sind? "
968
- "Wenn diese Option deaktiviert ist, bleibt die Anzahl der Spalten bei allen "
969
- "Bildschirmgrößen gleich."
970
-
971
- #: includes/Settings.class.php:500
972
- msgid "Reveal Effect"
973
- msgstr "Anzeigeeffekt"
974
-
975
- #: includes/Settings.class.php:501
976
- msgid "How should FAQ's be displayed when their titles are clicked?"
977
- msgstr "Wie sollen FAQs angezeigt werden, wenn ein Titel angeklickt wird?"
978
-
979
- #: includes/Settings.class.php:505
980
- msgid "Blind"
981
- msgstr "Blind"
982
-
983
- #: includes/Settings.class.php:506
984
- msgid "Bounce"
985
- msgstr "Hüpfen"
986
-
987
- #: includes/Settings.class.php:507
988
- msgid "Clip"
989
- msgstr "Videoclip"
990
-
991
- #: includes/Settings.class.php:508
992
- msgid "Drop"
993
- msgstr "Ablegen"
994
-
995
- #: includes/Settings.class.php:509
996
- msgid "Explode"
997
- msgstr "Explodieren"
998
-
999
- #: includes/Settings.class.php:510
1000
- msgid "Fade"
1001
- msgstr "Überblenden"
1002
-
1003
- #: includes/Settings.class.php:511
1004
- msgid "Fold"
1005
- msgstr "Falten"
1006
-
1007
- #: includes/Settings.class.php:512
1008
- msgid "Highlight"
1009
- msgstr "Hervorheben"
1010
-
1011
- #: includes/Settings.class.php:513
1012
- msgid "Puff"
1013
- msgstr "Puffen"
1014
-
1015
- #: includes/Settings.class.php:514
1016
- msgid "Pulsate"
1017
- msgstr "Pulsieren"
1018
-
1019
- #: includes/Settings.class.php:515
1020
- msgid "Shake"
1021
- msgstr "Schütteln"
1022
-
1023
- #: includes/Settings.class.php:516
1024
- msgid "Size"
1025
- msgstr "Größe"
1026
-
1027
- #: includes/Settings.class.php:517
1028
- msgid "Slide"
1029
- msgstr "Slide"
1030
-
1031
- #: includes/Settings.class.php:528
1032
- msgid "FAQs Per Page"
1033
- msgstr "FAQs pro Seite"
1034
-
1035
- #: includes/Settings.class.php:529
1036
- msgid ""
1037
- "How many FAQs should be displayed on each page? (Leave blank to display all "
1038
- "FAQs)"
1039
- msgstr ""
1040
- "Wie viele FAQs sollen auf jeder Seite angezeigt werden? (Leer lassen, um "
1041
- "alle FAQs anzuzeigen)"
1042
-
1043
- #: includes/Settings.class.php:540
1044
- msgid "FAQ Page Type"
1045
- msgstr "FAQ-Seite Typ"
1046
-
1047
- #: includes/Settings.class.php:541
1048
- msgid "If FAQs are in pages, how should pages load?"
1049
- msgstr "Wenn sich FAQs in Seiten befinden, wie sollen Seiten geladen werden?"
1050
-
1051
- #: includes/Settings.class.php:543
1052
- msgid "Distinct Pages"
1053
- msgstr "Eindeutige Seiten"
1054
-
1055
- #: includes/Settings.class.php:544
1056
- msgid "Load More Button"
1057
- msgstr "Mehr anzeigen Taste"
1058
-
1059
- #: includes/Settings.class.php:545
1060
- msgid "Infinite Scroll"
1061
- msgstr "Endloses Scrollen"
1062
-
1063
- #: includes/Settings.class.php:569
1064
- msgid "FAQ Ratings"
1065
- msgstr "FAQ-Bewertungen"
1066
-
1067
- #: includes/Settings.class.php:570
1068
- msgid ""
1069
- "Should visitors be able to up or down vote FAQs to let others know if they "
1070
- "found them helpful?"
1071
- msgstr ""
1072
- "Sollen Besucher die Möglichkeit haben, FAQs hoch oder runter zu bewerten, um "
1073
- "anderen mitzuteilen, ob sie sie hilfreich fanden?"
1074
-
1075
- #: includes/Settings.class.php:580
1076
- msgid "FAQ Ratings 'Thumbs Up' Image"
1077
- msgstr "FAQ-Bewertungen 'Daumen hoch' Bild"
1078
-
1079
- #: includes/Settings.class.php:581
1080
- msgid ""
1081
- "You can use this to upload your own image to replace the default \"thumbs up"
1082
- "\" image."
1083
- msgstr ""
1084
- "Hier kannst du dein eigenes Bild hochladen, um das Standardbild \"Daumen hoch"
1085
- "\" zu ersetzen."
1086
-
1087
- #: includes/Settings.class.php:591
1088
- msgid "FAQ Ratings 'Thumbs Down' Image"
1089
- msgstr "FAQ-Bewertungen 'Daumen runter' Bild"
1090
-
1091
- #: includes/Settings.class.php:592
1092
- msgid ""
1093
- "You can use this to upload your own image to replace the default \"thumbs "
1094
- "down\" image."
1095
- msgstr ""
1096
- "Hier kannst du dein eigenes Bild hochladen, um das Standardbild \"Daumen "
1097
- "runter\" zu ersetzen."
1098
-
1099
- #: includes/Settings.class.php:602
1100
- msgid "Pretty Permalinks"
1101
- msgstr "Schöne Permalinks"
1102
-
1103
- #: includes/Settings.class.php:603
1104
- msgid ""
1105
- "Should an SEO friendly permalink structure be used for the link to the FAQ?"
1106
- msgstr ""
1107
- "Soll eine SEO-freundliche Permalinkstruktur für den Link zur FAQ verwendet "
1108
- "werden?"
1109
-
1110
- #: includes/Settings.class.php:613
1111
- msgid "Disable Front-Page Canonical Redirects"
1112
- msgstr "Kanonische Umleitungen der Startseite deaktivieren"
1113
-
1114
- #: includes/Settings.class.php:614
1115
- msgid ""
1116
- "Should canonical redirects be disabled for the front page of your site? Only "
1117
- "necessary if you're using the plugin on your homepage and have pretty "
1118
- "permalinks enabled."
1119
- msgstr ""
1120
- "Sollten kanonische Weiterleitungen für die Startseite Deiner Website "
1121
- "deaktiviert werden? Nur notwendig, wenn Sie das Plugin auf Deiner Homepage "
1122
- "verwenden und schöne Permalinks aktiviert haben."
1123
-
1124
- #: includes/Settings.class.php:624
1125
- msgid "FAQ Auto Complete Titles"
1126
- msgstr "FAQ Titel automatisch vervollständigen"
1127
-
1128
- #: includes/Settings.class.php:625
1129
- msgid ""
1130
- "Should the FAQ Titles auto complete when using the FAQ search shortcode?"
1131
- msgstr ""
1132
- "Sollen die FAQ-Titel automatisch vervollständigt werden, wenn der FAQ-Such-"
1133
- "Shortcode verwendet wird?"
1134
-
1135
- #: includes/Settings.class.php:635
1136
- msgid "FAQ Slug Base"
1137
- msgstr "FAQ Slug-Basis"
1138
-
1139
- #: includes/Settings.class.php:636
1140
- msgid ""
1141
- "This option can be used to change the slug base for all FAQ posts. Be sure "
1142
- "to go to \"Settings\" -> \"Permalinks\" in the WordPress sidebar and hit "
1143
- "\"Save Changes\" to avoid 404 errors."
1144
- msgstr ""
1145
- "Diese Option kann verwendet werden, um die Slug-Basis für alle FAQ-Beiträge "
1146
- "zu ändern. Stell sicher, dass du zu \"Einstellungen\" -> \"Permalinks\" in "
1147
- "der WordPress-Seitenleiste gehst und auf \"Änderungen speichern\" klickst, "
1148
- "um 404-Fehler zu vermeiden."
1149
-
1150
- #: includes/Settings.class.php:647
1151
- msgid "Social Media Options"
1152
- msgstr "Social Media Optionen"
1153
-
1154
- #: includes/Settings.class.php:664
1155
- msgid "WooCommerce"
1156
- msgstr "WooCommerce"
1157
-
1158
- #: includes/Settings.class.php:677
1159
- msgid "WooCommerce FAQs"
1160
- msgstr "WooCommerce-FAQs"
1161
-
1162
- #: includes/Settings.class.php:678
1163
- msgid ""
1164
- "Should FAQs for a given product be displayed as an extra tab on the "
1165
- "WooCommerce product page? For this to work correctly, an FAQ category needs "
1166
- "to be created with the same name as a given WooCommerce product."
1167
- msgstr ""
1168
- "Sollen die FAQs für ein bestimmtes Produkt als zusätzliches Tab auf der "
1169
- "WooCommerce-Produktseite angezeigt werden? Damit dies korrekt funktioniert, "
1170
- "muss eine FAQ-Kategorie mit dem gleichen Namen wie ein bestimmtes "
1171
- "WooCommerce-Produkt erstellt werden."
1172
-
1173
- #: includes/Settings.class.php:688
1174
- msgid "Use WooCommerce Product Object"
1175
- msgstr "WooCommerce Produktobjekt verwenden"
1176
-
1177
- #: includes/Settings.class.php:689
1178
- msgid ""
1179
- "Should the FAQ tab be set up using the WooCommerce product object, as in the "
1180
- "WC documentation, or just using the ID of the page?"
1181
- msgstr ""
1182
- "Soll das FAQ-Tab als WooCommerce-Produktobjekt eingerichtet werden, wie in "
1183
- "der WC-Dokumentation, oder nur über die ID der Seite?"
1184
-
1185
- #: includes/Settings.class.php:698
1186
- msgid "WP Forms"
1187
- msgstr "WP Forms"
1188
-
1189
- #: includes/Settings.class.php:711
1190
- msgid "WP Forms Integration"
1191
- msgstr "WP Forms Integration"
1192
-
1193
- #: includes/Settings.class.php:712
1194
- msgid ""
1195
- "Should FAQs be displayed when a visitor starts typing a message into a "
1196
- "paragraph text field in WP Forms? This can be turned off for specific forms "
1197
- "via the form's settings panel."
1198
- msgstr ""
1199
- "Sollen FAQs angezeigt werden, wenn ein Besucher mit der Eingabe einer "
1200
- "Nachricht in ein Absatztextfeld in WP Forms beginnt? Dies kann für bestimmte "
1201
- "Formulare über das Einstellungsfeld des Formulars ausgeschaltet werden."
1202
-
1203
- #: includes/Settings.class.php:722
1204
- msgid "WP Forms Post Count"
1205
- msgstr "Anzahl WP Forms Beiträge"
1206
-
1207
- #: includes/Settings.class.php:723
1208
- msgid ""
1209
- "How many posts should be displayed below paragraph text fields, if WP Forms "
1210
- "Integration has been turned on?"
1211
- msgstr ""
1212
- "Wie viele Beiträge sollen unter Absatztextfeldern angezeigt werden, wenn die "
1213
- "WP Forms-Integration eingeschaltet ist?"
1214
-
1215
- #: includes/Settings.class.php:734
1216
- msgid "WP Forms FAQ Location"
1217
- msgstr "WP Forms FAQ Position"
1218
-
1219
- #: includes/Settings.class.php:735
1220
- msgid ""
1221
- "If WP Forms Integration has been turned on, where should the FAQs be "
1222
- "displayed?"
1223
- msgstr ""
1224
- "Wenn die WP Forms-Integration aktiviert wurde, wo sollen die FAQs angezeigt "
1225
- "werden?"
1226
-
1227
- #: includes/Settings.class.php:737
1228
- msgid "Above"
1229
- msgstr "Oberhalb"
1230
-
1231
- #: includes/Settings.class.php:738
1232
- msgid "Below"
1233
- msgstr "Unterhalb"
1234
-
1235
- #: includes/Settings.class.php:749
1236
- msgid "Submit FAQ"
1237
- msgstr "FAQ senden"
1238
-
1239
- #: includes/Settings.class.php:762
1240
- msgid "Allow Proposed Answer"
1241
- msgstr "Vorgeschlagene Antwort zulassen"
1242
-
1243
- #: includes/Settings.class.php:763
1244
- msgid ""
1245
- "When using the user-submitted question shortcode, should users be able to "
1246
- "propose an answer to the question they're submitting?"
1247
- msgstr ""
1248
- "Sollen Benutzer bei Verwendung des Shortcodes für vom Benutzer eingereichte "
1249
- "Fragen in der Lage sein, eine Antwort auf die Frage vorzuschlagen, die sie "
1250
- "einreichen?"
1251
-
1252
- #: includes/Settings.class.php:773
1253
- msgid "Submit Custom Fields"
1254
- msgstr "Benutzerdefinierte Felder übermitteln"
1255
-
1256
- #: includes/Settings.class.php:774
1257
- msgid ""
1258
- "When using the user-submitted question shortcode, should users be able to "
1259
- "fill in custom fields for the question they're submitting? File type custom "
1260
- "fields cannot be submitted for security reasons."
1261
- msgstr ""
1262
- "Sollen Benutzer bei Verwendung des Shortcodes für vom Benutzer eingereichte "
1263
- "Fragen benutzerdefinierte Felder für die Frage, die sie übermitteln, "
1264
- "ausfüllen können? Aus Sicherheitsgründen können Inhalte von Dateifeldern "
1265
- "nicht übermittelt werden."
1266
-
1267
- #: includes/Settings.class.php:784
1268
- msgid "Submit Question Captcha"
1269
- msgstr "Frage stellen Captcha"
1270
-
1271
- #: includes/Settings.class.php:785
1272
- msgid ""
1273
- "When using the user-submitted question shortcode, should a captcha field be "
1274
- "added to the form to reduce the volume of spam FAQs?"
1275
- msgstr ""
1276
- "Soll bei Verwendung des Shortcodes für vom Benutzer eingereichte Fragen ein "
1277
- "Captcha-Feld in das Formular eingefügt werden, um das Aufkommen von Spam-"
1278
- "FAQs zu reduzieren?"
1279
-
1280
- #: includes/Settings.class.php:809
1281
- msgid "Default Category"
1282
- msgstr "Standardkategorie"
1283
-
1284
- #: includes/Settings.class.php:810
1285
- msgid "Which category should submitted questions default to?"
1286
- msgstr "In welche Kategorie sollen eingereichte Fragen standardmäßig fallen?"
1287
-
1288
- #: includes/Settings.class.php:822
1289
- msgid "Admin Question Notification"
1290
- msgstr "Benachrichtigung bei Fragen an Admin"
1291
-
1292
- #: includes/Settings.class.php:823
1293
- msgid ""
1294
- "Should an email be sent to the site administrator when a question is "
1295
- "submitted?"
1296
- msgstr ""
1297
- "Soll eine E-Mail an den Site-Administrator gesendet werden, wenn eine Frage "
1298
- "übermittelt wird?"
1299
-
1300
- #: includes/Settings.class.php:833
1301
- msgid "Admin Notification Email"
1302
- msgstr "E-Mail-Benachrichtigung von Admin"
1303
-
1304
- #: includes/Settings.class.php:834
1305
- msgid ""
1306
- "What email address should the notifications be sent to if \"Admin Question "
1307
- "Notification\" is enabled above? If blank, the default WordPress admin email "
1308
- "will be used."
1309
- msgstr ""
1310
- "An welche E-Mail-Adresse sollen die Benachrichtigungen gesendet werden, wenn "
1311
- "\"Benachrichtigung bei Fragen an Admin\" oben aktiviert ist? Wenn leer, wird "
1312
- "die Standard-WordPress-Admin-E-Mail verwendet."
1313
-
1314
- #: includes/Settings.class.php:852
1315
- msgid "FAQ Submitted Thank You E-mail"
1316
- msgstr "FAQ übermittelt, Danke E-Mail"
1317
-
1318
- #: includes/Settings.class.php:853
1319
- msgid ""
1320
- "You can use the <a href=\"https://wordpress.org/plugins/ultimate-wp-mail/"
1321
- "\">Ultimate WP Mail plugin</a> to create a custom email that is sent "
1322
- "whenever an faq is submitted."
1323
- msgstr ""
1324
- "Du kannst das <a href=\"https://wordpress.org/plugins/ultimate-wp-mail/"
1325
- "\">Plugin Ultimate WP Mail</a> verwenden, um eine benutzerdefinierte E-Mail "
1326
- "zu erstellen, die immer dann gesendet wird, wenn eine FAQ übermittelt wird."
1327
-
1328
- #: includes/Settings.class.php:864 includes/Settings.class.php:877
1329
- msgid "FAQ Elements Order"
1330
- msgstr "FAQ-Elementreihenfolge"
1331
-
1332
- #: includes/Settings.class.php:878
1333
- msgid ""
1334
- "You can use this table to drag-and-drop the elements of an FAQ into a "
1335
- "different order."
1336
- msgstr ""
1337
- "Du kannst diese Tabelle verwenden, um die Elemente einer FAQ per Drag-and-"
1338
- "Drop in eine andere Reihenfolge zu bringen."
1339
-
1340
- #: includes/Settings.class.php:887
1341
- msgid "Ordering"
1342
- msgstr "Sortierung"
1343
-
1344
- #: includes/Settings.class.php:918
1345
- msgid "Display FAQ Category Count"
1346
- msgstr "Anzahl der FAQ-Kategorien anzeigen"
1347
-
1348
- #: includes/Settings.class.php:919
1349
- msgid ""
1350
- "If FAQs are grouped by category, should the number of FAQs in a category be "
1351
- "displayed beside the category name?"
1352
- msgstr ""
1353
- "Wenn FAQs nach Kategorien gruppiert sind, soll dann die Anzahl der FAQs in "
1354
- "einer Kategorie neben dem Kategorienamen angezeigt werden?"
1355
-
1356
- #: includes/Settings.class.php:929
1357
- msgid "Sort Categories"
1358
- msgstr "Kategorien sortieren"
1359
-
1360
- #: includes/Settings.class.php:930 includes/Settings.class.php:947
1361
- msgid ""
1362
- "How should FAQ categories be ordered? (Only used if \"Group FAQs by Category"
1363
- "\" above is enabled.)"
1364
- msgstr ""
1365
- "Wie sollen die FAQ-Kategorien sortiert werden? (Wird nur verwendet, wenn "
1366
- "\"FAQs nach Kategorie gruppieren\" oben aktiviert ist.)"
1367
-
1368
- #: includes/Settings.class.php:934
1369
- msgid "FAQ Count"
1370
- msgstr "FAQ Anzahl"
1371
-
1372
- #: includes/Settings.class.php:935
1373
- msgid "Slug"
1374
- msgstr "Slug"
1375
-
1376
- #: includes/Settings.class.php:946
1377
- msgid "Sort Categories Ordering"
1378
- msgstr "Kategorien sortieren Reihenfolge"
1379
-
1380
- #: includes/Settings.class.php:949 includes/Settings.class.php:984
1381
- msgid "Ascending"
1382
- msgstr "Aufsteigend"
1383
-
1384
- #: includes/Settings.class.php:950 includes/Settings.class.php:985
1385
- msgid "Descending"
1386
- msgstr "Absteigend"
1387
-
1388
- #: includes/Settings.class.php:969
1389
- msgid "Selected Order (Premium option)"
1390
- msgstr "Ausgewählte Sortierung (Premium-Option)"
1391
-
1392
- #: includes/Settings.class.php:981
1393
- msgid "Sort FAQs Ordering"
1394
- msgstr "FAQs Reihenfolge sortieren"
1395
-
1396
- #: includes/Settings.class.php:982
1397
- msgid ""
1398
- "Should FAQ be ascending or descending order, based on the ordering criteria "
1399
- "above?"
1400
- msgstr ""
1401
- "Soll die FAQ aufsteigend oder absteigend sortiert sein, basierend auf den "
1402
- "obigen Sortierkriterien?"
1403
-
1404
- #: includes/Settings.class.php:1004
1405
- msgid "Fields"
1406
- msgstr "Felder"
1407
-
1408
- #: includes/Settings.class.php:1027
1409
- msgid "Hide Blank Fields"
1410
- msgstr "Leere Felder ausblenden"
1411
-
1412
- #: includes/Settings.class.php:1028
1413
- msgid ""
1414
- "Should field labels be hidden if a field hasn't been filled out for a "
1415
- "particular FAQ?"
1416
- msgstr ""
1417
- "Sollen Feldbezeichnungen ausgeblendet werden, wenn ein Feld für eine "
1418
- "bestimmte FAQ nicht ausgefüllt wurde?"
1419
-
1420
- #: includes/Settings.class.php:1032
1421
- msgid "Should any extra fields be added to the FAQs?"
1422
- msgstr "Sollen den FAQs zusätzliche Felder hinzugefügt werden?"
1423
-
1424
- #: includes/Settings.class.php:1033
1425
- msgid ""
1426
- "The \"Field Values\" should be a comma-separated list of values for the "
1427
- "select, radio or checkbox field types (no extra spaces after the comma)."
1428
- msgstr ""
1429
- "Die \"Feldwerte\" sollten eine kommagetrennte Liste von Werten für die "
1430
- "Feldtypen Select, Radio oder Checkbox sein (keine zusätzlichen Leerzeichen "
1431
- "nach dem Komma)."
1432
-
1433
- #: includes/Settings.class.php:1034
1434
- msgid ""
1435
- "For security reasons, file fields cannot be included in the submit FAQ form."
1436
- msgstr ""
1437
- "Aus Sicherheitsgründen kann das FAQ-Übermittlungsformular keine Dateifelder "
1438
- "enthalten."
1439
-
1440
- #: includes/Settings.class.php:1042
1441
- msgid "FAQ Custom Fields"
1442
- msgstr "FAQ Benutzerdefinierte Felder"
1443
-
1444
- #: includes/Settings.class.php:1043
1445
- msgid "&plus; ADD"
1446
- msgstr "+ ADD"
1447
-
1448
- #: includes/Settings.class.php:1044
1449
- msgid "Delete"
1450
- msgstr "Löschen"
1451
-
1452
- #: includes/Settings.class.php:1059
1453
- msgid "Field Type"
1454
- msgstr "Feldtyp"
1455
-
1456
- #: includes/Settings.class.php:1062
1457
- msgid "Text Area"
1458
- msgstr "Textbereich"
1459
-
1460
- #: includes/Settings.class.php:1063
1461
- msgid "Select Box"
1462
- msgstr "Auswahlbox"
1463
-
1464
- #: includes/Settings.class.php:1064
1465
- msgid "Radio Buttons"
1466
- msgstr "Optionsfelder"
1467
-
1468
- #: includes/Settings.class.php:1065
1469
- msgid "Checkbox"
1470
- msgstr "Checkbox"
1471
-
1472
- #: includes/Settings.class.php:1066
1473
- msgid "File"
1474
- msgstr "Datei"
1475
-
1476
- #: includes/Settings.class.php:1067
1477
- msgid "Link"
1478
- msgstr "Link"
1479
-
1480
- #: includes/Settings.class.php:1068
1481
- msgid "Date"
1482
- msgstr "Datum"
1483
-
1484
- #: includes/Settings.class.php:1069
1485
- msgid "Date/Time"
1486
- msgstr "Datum/Uhrzeit"
1487
-
1488
- #: includes/Settings.class.php:1074
1489
- msgid "Field Values"
1490
- msgstr "Feldwerte"
1491
-
1492
- #: includes/Settings.class.php:1094
1493
- msgid "Labelling"
1494
- msgstr "Beschriftung"
1495
-
1496
- #: includes/Settings.class.php:1104
1497
- msgid "FAQ Page and Search"
1498
- msgstr "FAQ-Seite und -Suche"
1499
-
1500
- #: includes/Settings.class.php:1117 views/View.class.php:107
1501
- msgid "Posted"
1502
- msgstr "Veröffentlicht"
1503
-
1504
- #: includes/Settings.class.php:1128
1505
- msgid "By"
1506
- msgstr "Von"
1507
-
1508
- #: includes/Settings.class.php:1139
1509
- msgid "On"
1510
- msgstr "An"
1511
-
1512
- #: includes/Settings.class.php:1172 views/View.class.php:112
1513
- msgid "Permalink"
1514
- msgstr "Permalink"
1515
-
1516
- #: includes/Settings.class.php:1183
1517
- msgid "Back To Top"
1518
- msgstr "Nach oben"
1519
-
1520
- #: includes/Settings.class.php:1194
1521
- msgid "WooCommerce Tab"
1522
- msgstr "WooCommerce Register"
1523
-
1524
- #: includes/Settings.class.php:1205 views/View.class.php:120
1525
- msgid "Share"
1526
- msgstr "Teilen"
1527
-
1528
- #: includes/Settings.class.php:1216 views/View.class.php:121
1529
- msgid "Did you find this FAQ helpful?"
1530
- msgstr "Fanden Sie diese FAQ hilfreich?"
1531
-
1532
- #: includes/Settings.class.php:1227
1533
- msgid "Enter your quetion"
1534
- msgstr "Gib Deine Frage ein"
1535
-
1536
- #: includes/Settings.class.php:1238
1537
- msgid "Search Placeholder"
1538
- msgstr "Platzhalter für Suche"
1539
-
1540
- #: includes/Settings.class.php:1249
1541
- msgid "Search Button"
1542
- msgstr "Such-Button"
1543
-
1544
- #: includes/Settings.class.php:1281
1545
- msgid "FAQ Submit Page"
1546
- msgstr "FAQ-Seite senden"
1547
-
1548
- #: includes/Settings.class.php:1294
1549
- msgid "Thank you for submitting an FAQ"
1550
- msgstr "Vielen Dank, dass Sie eine FAQ gesendet haben"
1551
-
1552
- #: includes/Settings.class.php:1305 views/View.class.php:124
1553
- msgid "Submit a Question"
1554
- msgstr "Stell eine Frage"
1555
-
1556
- #: includes/Settings.class.php:1316 views/View.class.php:125
1557
- msgid "Please fill out the form below to submit a question."
1558
- msgstr "Bitte füll das folgende Formular aus, um eine Frage zu stellen."
1559
-
1560
- #: includes/Settings.class.php:1327 views/View.class.php:126
1561
- msgid "Send Question"
1562
- msgstr "Frage senden"
1563
-
1564
- #: includes/Settings.class.php:1338 views/View.class.php:127
1565
- msgid "Question Title"
1566
- msgstr "Titel der Frage"
1567
-
1568
- #: includes/Settings.class.php:1349 views/View.class.php:128
1569
- msgid "What question is being answered?"
1570
- msgstr "Welche Frage ist zu beantworten?"
1571
-
1572
- #: includes/Settings.class.php:1360 views/View.class.php:129
1573
- msgid "Proposed Answer"
1574
- msgstr "Vorgeschlagene Antwort"
1575
-
1576
- #: includes/Settings.class.php:1371 views/View.class.php:130
1577
- msgid "What answer should be displayed for this question?"
1578
- msgstr "Welche Antwort soll bei dieser Frage angezeigt werden?"
1579
-
1580
- #: includes/Settings.class.php:1382
1581
- msgid "Question Author"
1582
- msgstr "Autor der Frage"
1583
-
1584
- #: includes/Settings.class.php:1393 views/View.class.php:135
1585
- msgid "Image Number"
1586
- msgstr "Bild Nummer"
1587
-
1588
- #: includes/Settings.class.php:1404
1589
- msgid "What name should be displayed with your question?"
1590
- msgstr "Welcher Name sollte bei deiner Frage angezeigt werden?"
1591
-
1592
- #: includes/Settings.class.php:1422
1593
- msgid "Styling"
1594
- msgstr "Styling"
1595
-
1596
- #: includes/Settings.class.php:1432 includes/Settings.class.php:1445
1597
- msgid "Toggle Symbol"
1598
- msgstr "Symbol umschalten"
1599
-
1600
- #: includes/Settings.class.php:1474
1601
- msgid "Toggle Background Color"
1602
- msgstr "Hintergrundfarbe umschalten"
1603
-
1604
- #: includes/Settings.class.php:1484
1605
- msgid "Toggle Color"
1606
- msgstr "Textfarbe Umschalter"
1607
-
1608
- #: includes/Settings.class.php:1494
1609
- msgid "Toggle Border Color"
1610
- msgstr "Umrandungsfarbe umschalten"
1611
-
1612
- #: includes/Settings.class.php:1504
1613
- msgid "Toggle Font Size"
1614
- msgstr "Schriftgröße umschalten"
1615
-
1616
- #: includes/Settings.class.php:1516
1617
- msgid "Border Size"
1618
- msgstr "Rahmengröße"
1619
-
1620
- #: includes/Settings.class.php:1528
1621
- msgid "Border Radius"
1622
- msgstr "Rahmen Radius"
1623
-
1624
- #: includes/Settings.class.php:1539
1625
- msgid "Themes"
1626
- msgstr "Themes"
1627
-
1628
- #: includes/Settings.class.php:1552
1629
- msgid "Block and Border Block Background Color"
1630
- msgstr "Block und Block-Umrandung Hintergrundfarbe"
1631
-
1632
- #: includes/Settings.class.php:1562
1633
- msgid "Block and Border Block Hover Font Color"
1634
- msgstr "Block und Block-Umrandung Hover-Schriftfarbe"
1635
-
1636
- #: includes/Settings.class.php:1572
1637
- msgid "List Font Color"
1638
- msgstr "Liste Schriftfarbe"
1639
-
1640
- #: includes/Settings.class.php:1583
1641
- msgid "Font Family"
1642
- msgstr "Schriftfamilie"
1643
-
1644
- #: includes/Settings.class.php:1595
1645
- msgid "Font Size"
1646
- msgstr "Schriftgröße"
1647
-
1648
- #: includes/Settings.class.php:1607
1649
- msgid "Margin"
1650
- msgstr "Margin"
1651
-
1652
- #: includes/Settings.class.php:1619
1653
- msgid "Padding"
1654
- msgstr "Innenabstand"
1655
-
1656
- #: includes/Settings.class.php:1630
1657
- msgid "FAQ Elements"
1658
- msgstr "FAQ-Elemente"
1659
-
1660
- #: includes/Settings.class.php:1643
1661
- msgid "Question Font Color"
1662
- msgstr "Frage Schriftfarbe"
1663
-
1664
- #: includes/Settings.class.php:1654
1665
- msgid "Question Font Family"
1666
- msgstr "Frage Schriftfamilie"
1667
-
1668
- #: includes/Settings.class.php:1666
1669
- msgid "Question Font Size"
1670
- msgstr "Frage Schriftgröße"
1671
-
1672
- #: includes/Settings.class.php:1678
1673
- msgid "Question Margin"
1674
- msgstr "Frage äußerer Rand"
1675
-
1676
- #: includes/Settings.class.php:1690
1677
- msgid "Question Padding"
1678
- msgstr "Frage innerer Rand"
1679
-
1680
- #: includes/Settings.class.php:1702
1681
- msgid "Toggle Symbol Top Margin"
1682
- msgstr "Umschalten des Symbols oberer Rand"
1683
-
1684
- #: includes/Settings.class.php:1714
1685
- msgid "Answer Font Color"
1686
- msgstr "Antwort Schriftfarbe"
1687
-
1688
- #: includes/Settings.class.php:1725
1689
- msgid "Answer Font Family"
1690
- msgstr "Antwort Schriftfamilie"
1691
-
1692
- #: includes/Settings.class.php:1737
1693
- msgid "Answer Font Size"
1694
- msgstr "Antwort Schriftgröße"
1695
-
1696
- #: includes/Settings.class.php:1749
1697
- msgid "Answer Margin"
1698
- msgstr "Antwort äußerer Rand"
1699
-
1700
- #: includes/Settings.class.php:1761
1701
- msgid "Answer Padding"
1702
- msgstr "Antwort innerer Rand"
1703
-
1704
- #: includes/Settings.class.php:1773
1705
- msgid "Categories, Tags Font Color"
1706
- msgstr "Kategorien und Tags Schriftfarbe"
1707
-
1708
- #: includes/Settings.class.php:1784
1709
- msgid "Categories, Tags Font Family"
1710
- msgstr "Kategorien und Tags Schriftfamilie"
1711
-
1712
- #: includes/Settings.class.php:1796
1713
- msgid "Categories, Tags Font Size"
1714
- msgstr "Kategorien und Tags Schriftgröße"
1715
-
1716
- #: includes/Settings.class.php:1808
1717
- msgid "Categories, Tags Margin"
1718
- msgstr "Kategorien und Tags äußerer Rand"
1719
-
1720
- #: includes/Settings.class.php:1820
1721
- msgid "Categories, Tags Padding"
1722
- msgstr "Kategorien und Tags innerer Rand"
1723
-
1724
- #: includes/Settings.class.php:1832
1725
- msgid "Post Date Font Color"
1726
- msgstr "Beitragsdatum Schriftfarbe"
1727
-
1728
- #: includes/Settings.class.php:1843
1729
- msgid "Post Date Font Family"
1730
- msgstr "Beitragsdatum Schriftfamilie"
1731
-
1732
- #: includes/Settings.class.php:1855
1733
- msgid "Post Date Font Size"
1734
- msgstr "Beitragsdatum Schriftgröße"
1735
-
1736
- #: includes/Settings.class.php:1867
1737
- msgid "Post Date Margin"
1738
- msgstr "Beitragsdatum äußerer Rand"
1739
-
1740
- #: includes/Settings.class.php:1879
1741
- msgid "Post Date Padding"
1742
- msgstr "Beitragsdatum innerer Rand"
1743
-
1744
- #: includes/Settings.class.php:1890
1745
- msgid "Headings"
1746
- msgstr "Überschriften"
1747
-
1748
- #: includes/Settings.class.php:1903
1749
- msgid "Category Heading Type"
1750
- msgstr "Kategorie Überschriftarten"
1751
-
1752
- #: includes/Settings.class.php:1905 includes/Settings.class.php:1924
1753
- msgid "H1"
1754
- msgstr "H1"
1755
-
1756
- #: includes/Settings.class.php:1906 includes/Settings.class.php:1925
1757
- msgid "H2"
1758
- msgstr "H2"
1759
-
1760
- #: includes/Settings.class.php:1907 includes/Settings.class.php:1926
1761
- msgid "H3"
1762
- msgstr "H3"
1763
-
1764
- #: includes/Settings.class.php:1908 includes/Settings.class.php:1927
1765
- msgid "H4"
1766
- msgstr "H4"
1767
-
1768
- #: includes/Settings.class.php:1909 includes/Settings.class.php:1928
1769
- msgid "H5"
1770
- msgstr "H5"
1771
-
1772
- #: includes/Settings.class.php:1910 includes/Settings.class.php:1929
1773
- msgid "H6"
1774
- msgstr "H6"
1775
-
1776
- #: includes/Settings.class.php:1922
1777
- msgid "FAQ Heading Type"
1778
- msgstr "FAQ-Überschrift"
1779
-
1780
- #: includes/Settings.class.php:1941
1781
- msgid "Category Heading Font Color"
1782
- msgstr "Kategorie-Überschrift Schriftfarbe"
1783
-
1784
- #: includes/Settings.class.php:1952
1785
- msgid "Category Heading Font Family"
1786
- msgstr "Kategorie-Überschrift Schriftfamilie"
1787
-
1788
- #: includes/Settings.class.php:1964
1789
- msgid "Category Heading Font Size"
1790
- msgstr "Kategorie-Überschrift Schriftgröße"
1791
-
1792
- #: includes/WPForms.class.php:56
1793
- msgid ""
1794
- "Disable FAQ display for this form, or enable it only on specific fields."
1795
- msgstr ""
1796
- "Deaktiviere die FAQ Anzeige für dieses Formular oder aktiviere sie nur für "
1797
- "bestimmte Felder."
1798
-
1799
- #: includes/WPForms.class.php:71
1800
- msgid ""
1801
- "If FAQs are set to a specific field, which field should FAQs be displayed "
1802
- "for?"
1803
- msgstr ""
1804
- "Wenn FAQs auf ein bestimmtes Feld festgelegt sind, für welches Feld sollten "
1805
- "FAQs angezeigt werden?"
1806
-
1807
- #: includes/WPForms.class.php:77
1808
- msgid "-- Select Field --"
1809
- msgstr "-- Feld auswählen --"
1810
-
1811
- #: includes/WPForms.class.php:128
1812
- msgid "Possible FAQs related to your message:"
1813
- msgstr "Mögliche FAQs zu Deiner Frage:"
1814
-
1815
- #: includes/Widgets.class.php:50
1816
- msgid "UFAQ FAQ ID List"
1817
- msgstr "UFAQ FAQ-ID-Liste"
1818
-
1819
- #: includes/Widgets.class.php:51
1820
- msgid "Insert FAQ posts using a comma-separated list of post IDs"
1821
- msgstr ""
1822
- "Füge FAQ-Beiträge mit einer durch Kommata getrennten Liste von Beitrags-IDs "
1823
- "ein"
1824
-
1825
- #: includes/Widgets.class.php:76
1826
- msgid "FAQ ID List"
1827
- msgstr "FAQ-ID-Liste"
1828
-
1829
- #: includes/Widgets.class.php:82
1830
- msgid "FAQ ID List:"
1831
- msgstr "FAQ-ID-Liste:"
1832
-
1833
- #: includes/Widgets.class.php:86 includes/Widgets.class.php:154
1834
- #: includes/Widgets.class.php:222 includes/Widgets.class.php:294
1835
- #: includes/Widgets.class.php:361
1836
- msgid "Widget Title:"
1837
- msgstr "Widget Titel:"
1838
-
1839
- #: includes/Widgets.class.php:118
1840
- msgid "Recent FAQs"
1841
- msgstr "Neueste FAQs"
1842
-
1843
- #: includes/Widgets.class.php:119
1844
- msgid "Insert a number of the most recent FAQs"
1845
- msgstr "Füge eine Reihe der neuesten FAQs ein"
1846
-
1847
- #: includes/Widgets.class.php:144 includes/Widgets.class.php:212
1848
- msgid "Number of FAQs"
1849
- msgstr "Anzahl der FAQs"
1850
-
1851
- #: includes/Widgets.class.php:145 includes/Widgets.class.php:213
1852
- #: includes/Widgets.class.php:289 includes/Widgets.class.php:352
1853
- msgid "Widget Title"
1854
- msgstr "Widget Titel"
1855
-
1856
- #: includes/Widgets.class.php:150 includes/Widgets.class.php:218
1857
- msgid "Number of FAQs:"
1858
- msgstr "Anzahl der FAQs:"
1859
-
1860
- #: includes/Widgets.class.php:186
1861
- msgid "Popular FAQs"
1862
- msgstr "Beliebte FAQs"
1863
-
1864
- #: includes/Widgets.class.php:187
1865
- msgid "Insert a number of popular FAQs."
1866
- msgstr "Füge eine Reihe von beliebten FAQs ein."
1867
-
1868
- #: includes/Widgets.class.php:254
1869
- msgid "Random FAQ"
1870
- msgstr "Zufällige FAQs"
1871
-
1872
- #: includes/Widgets.class.php:255
1873
- msgid "Display a random FAQ"
1874
- msgstr "Eine zufällige FAQ anzeigen"
1875
-
1876
- #: includes/Widgets.class.php:325
1877
- msgid "UFAQ FAQ Category List"
1878
- msgstr "UFAQ FAQ-Kategorienliste"
1879
-
1880
- #: includes/Widgets.class.php:326
1881
- msgid "Insert FAQ posts using a comma-separated list of categories"
1882
- msgstr ""
1883
- "Füge FAQ-Beiträge mit einer durch Kommata getrennten Liste von Kategorien ein"
1884
-
1885
- #: includes/Widgets.class.php:351
1886
- msgid "FAQ Category List"
1887
- msgstr "FAQ-Kategorienliste"
1888
-
1889
- #: includes/Widgets.class.php:357
1890
- msgid "FAQ Category List:"
1891
- msgstr "FAQ-Kategorienliste:"
1892
-
1893
- #: includes/WooCommerce.class.php:147
1894
- msgid ""
1895
- "You can use the form below to select which FAQs to display for this product, "
1896
- "or leave it blank to use the default category naming system."
1897
- msgstr ""
1898
- "Du kannst das folgende Formular verwenden, um auszuwählen, welche FAQs für "
1899
- "dieses Produkt angezeigt werden sollen, oder es leer lassen, um das "
1900
- "Standardsystem für die Benennung von Kategorien zu verwenden."
1901
-
1902
- #: includes/WooCommerce.class.php:157
1903
- msgid "All Categories"
1904
- msgstr "Alle Kategorien"
1905
-
1906
- #: includes/WooCommerce.class.php:164 includes/WooCommerce.class.php:286
1907
- msgid "Add?"
1908
- msgstr "Hinzufügen?"
1909
-
1910
- #: includes/WooCommerce.class.php:179
1911
- msgid "Add FAQs"
1912
- msgstr "FAQs hinzufügen"
1913
-
1914
- #: includes/WooCommerce.class.php:191
1915
- msgid "Delete?"
1916
- msgstr "Löschen?"
1917
-
1918
- #: includes/WooCommerce.class.php:207
1919
- msgid "Delete FAQs"
1920
- msgstr "FAQs löschen"
1921
-
1922
- #: lib/simple-admin-pages/classes/AdminPage.class.php:173
1923
- msgid "You do not have sufficient permissions to access this page."
1924
- msgstr ""
1925
- "Du hast nicht die erforderlichen Rechte, um auf diese Seite zuzugreifen."
1926
-
1927
- #: lib/simple-admin-pages/classes/AdminPageSetting.FileUpload.class.php:46
1928
- msgid "Current image:"
1929
- msgstr "Aktuelles Bild:"
1930
-
1931
- #: lib/simple-admin-pages/classes/AdminPageSetting.FileUpload.class.php:59
1932
- msgid "Upload Image"
1933
- msgstr "Bild hochladen"
1934
-
1935
- #: ultimate-faqs.php:318
1936
- msgid "Head to the settings page for Ultimate FAQs"
1937
- msgstr "Gehe zur Einstellungsseite für Ultimate FAQs"
1938
-
1939
- #: ultimate-faqs.php:405
1940
- msgid "MENU"
1941
- msgstr "MENÜ"
1942
-
1943
- #: ultimate-faqs.php:406
1944
- msgid "Dashboard"
1945
- msgstr "Dashboard"
1946
-
1947
- #: ultimate-faqs.php:411
1948
- msgid "Import"
1949
- msgstr "Importieren"
1950
-
1951
- #: ultimate-faqs.php:412
1952
- msgid "Export"
1953
- msgstr "Export"
1954
-
1955
- #: ultimate-faqs.php:414
1956
- msgid "FAQ Order"
1957
- msgstr "FAQ-Sortierung"
1958
-
1959
- #: views/View.FAQ.class.php:499
1960
- msgid "Category:"
1961
- msgstr "Kategorie:"
1962
-
1963
- #: views/View.FAQ.class.php:499
1964
- msgid "Categories:"
1965
- msgstr "Kategorien:"
1966
-
1967
- #: views/View.FAQ.class.php:523
1968
- msgid "Tag:"
1969
- msgstr "Schlagwort:"
1970
-
1971
- #: views/View.FAQ.class.php:523
1972
- msgid "Tags:"
1973
- msgstr "Tags:"
1974
-
1975
- #: views/View.FAQ.class.php:592 views/View.FAQ.class.php:604
1976
- #: views/View.FAQ.class.php:616 views/View.FAQ.class.php:628
1977
- msgid "Check out this helpful FAQ"
1978
- msgstr "Schau dir diese hilfreiche FAQ an"
1979
-
1980
- #: views/View.class.php:108
1981
- msgid "by"
1982
- msgstr "von"
1983
-
1984
- #: views/View.class.php:109
1985
- msgid "on"
1986
- msgstr "an"
1987
-
1988
- #: views/View.class.php:110
1989
- msgid "Enter your question"
1990
- msgstr "Was suchst Du"
1991
-
1992
- #: views/View.class.php:111
1993
- msgid "Search"
1994
- msgstr "Suchen"
1995
-
1996
- #: views/View.class.php:113
1997
- msgid "Back to Top"
1998
- msgstr "Nach oben"
1999
-
2000
- #: views/View.class.php:114
2001
- msgid "Expand All"
2002
- msgstr "Alle ausklappen"
2003
-
2004
- #: views/View.class.php:115
2005
- msgid "Collapse All"
2006
- msgstr "Alles einklappen"
2007
-
2008
- #: views/View.class.php:118
2009
- msgid "Load More"
2010
- msgstr "Mehr laden"
2011
-
2012
- #: views/View.class.php:122
2013
- msgid "Enter your question..."
2014
- msgstr "Gib ein Schlagwort ein..."
2015
-
2016
- #: views/View.class.php:131
2017
- msgid "FAQ Author"
2018
- msgstr "FAQ-Autor"
2019
-
2020
- #: views/View.class.php:132
2021
- msgid "What name should be displayed with your FAQ?"
2022
- msgstr "Welcher Name sollte in deiner FAQ angezeigt werden?"
2023
-
2024
- #: views/View.class.php:133
2025
- msgid "Author Email"
2026
- msgstr "Autoren E-Mail"
2027
-
2028
- #: views/View.class.php:134
2029
- msgid ""
2030
- "This is only used to verify the authenticity of the FAQ. It is not displayed "
2031
- "anywhere."
2032
- msgstr ""
2033
- "Dies wird nur verwendet, um die Echtheit der FAQ zu überprüfen. Es wird "
2034
- "nirgendwo angezeigt."
2035
-
2036
- #: views/View.class.php:136
2037
- #, php-format
2038
- msgid "No result FAQs contained the term '%s'"
2039
- msgstr "Kein Ergebnis der FAQs enthielt den Begriff '%s'"
2040
-
2041
- #. Plugin URI of the plugin/theme
2042
- #. Author URI of the plugin/theme
2043
- msgid "http://www.EtoileWebDesign.com/plugins/ultimate-faqs/"
2044
- msgstr "http://www.EtoileWebDesign.com/plugins/ultimate-faqs/"
2045
-
2046
- #. Description of the plugin/theme
2047
- msgid ""
2048
- "Easily create and add FAQs to your WordPress site with a Gutenberg block, "
2049
- "shortcode or widget. Includes FAQ schema, search, accordion toggle and more."
2050
- msgstr ""
2051
- "Einfaches Erstellen und Hinzufügen von FAQs zu Deiner WordPress-Website mit "
2052
- "einem Gutenberg-Block, Shortcode oder Widget. Enthält FAQ-Schema, Suche, "
2053
- "Akkordeon-Toggle und mehr."
2054
-
2055
- #. Author of the plugin/theme
2056
- msgid "Etoile Web Design"
2057
- msgstr "Etoile Web Design"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Ultimate FAQs\n"
4
+ "POT-Creation-Date: 2021-05-24 09:04+0200\n"
5
+ "PO-Revision-Date: 2021-05-27 17:42+0200\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "Language: de_DE\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 3.0\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
+ "X-Poedit-WPHeader: ultimate-faqs.php\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
19
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
20
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.min.js\n"
23
+
24
+ #. Plugin Name of the plugin/theme
25
+ #: includes/Blocks.class.php:110 includes/WPForms.class.php:46
26
+ msgid "Ultimate FAQs"
27
+ msgstr "Ultimative FAQs"
28
+
29
+ #: includes/CustomPostTypes.class.php:47 includes/CustomPostTypes.class.php:49
30
+ #: includes/CustomPostTypes.class.php:50 includes/Settings.class.php:76
31
+ #: includes/WPForms.class.php:31 includes/WooCommerce.class.php:121
32
+ #: ultimate-faqs.php:407 views/View.class.php:119
33
+ msgid "FAQs"
34
+ msgstr "FAQs"
35
+
36
+ #: includes/CustomPostTypes.class.php:48 includes/WooCommerce.class.php:165
37
+ #: includes/WooCommerce.class.php:192 includes/WooCommerce.class.php:287
38
+ msgid "FAQ"
39
+ msgstr "FAQ"
40
+
41
+ #: includes/CustomPostTypes.class.php:51 ultimate-faqs.php:408
42
+ msgid "Add New"
43
+ msgstr "Neu hinzufügen"
44
+
45
+ #: includes/CustomPostTypes.class.php:52
46
+ msgid "Add New FAQ"
47
+ msgstr "Neue FAQ hinzufügen"
48
+
49
+ #: includes/CustomPostTypes.class.php:53
50
+ msgid "Edit FAQ"
51
+ msgstr "FAQ bearbeiten"
52
+
53
+ #: includes/CustomPostTypes.class.php:54
54
+ msgid "New FAQ"
55
+ msgstr "Neue FAQ"
56
+
57
+ #: includes/CustomPostTypes.class.php:55
58
+ msgid "View FAQ"
59
+ msgstr "FAQ anzeigen"
60
+
61
+ #: includes/CustomPostTypes.class.php:56
62
+ msgid "Search FAQs"
63
+ msgstr "FAQs suchen"
64
+
65
+ #: includes/CustomPostTypes.class.php:57
66
+ msgid "No FAQs found"
67
+ msgstr "Keine FAQs gefunden"
68
+
69
+ #: includes/CustomPostTypes.class.php:58
70
+ msgid "No FAQs found in trash"
71
+ msgstr "Keine FAQs im Papierkorb gefunden"
72
+
73
+ #: includes/CustomPostTypes.class.php:59
74
+ msgid "All FAQs"
75
+ msgstr "Alle FAQs"
76
+
77
+ #: includes/CustomPostTypes.class.php:92 includes/CustomPostTypes.class.php:102
78
+ msgid "FAQ Categories"
79
+ msgstr "FAQ Kategorien"
80
+
81
+ #: includes/CustomPostTypes.class.php:93
82
+ #: includes/InstallationWalkthrough.class.php:240
83
+ msgid "FAQ Category"
84
+ msgstr "FAQ Kategorie"
85
+
86
+ #: includes/CustomPostTypes.class.php:94
87
+ msgid "Search FAQ Categories"
88
+ msgstr "Suche FAQ Kategorien"
89
+
90
+ #: includes/CustomPostTypes.class.php:95
91
+ msgid "All FAQ Categories"
92
+ msgstr "Alle FAQ Kategorien"
93
+
94
+ #: includes/CustomPostTypes.class.php:96
95
+ msgid "Parent FAQ Category"
96
+ msgstr "Übergeordnete FAQ Kategorie"
97
+
98
+ #: includes/CustomPostTypes.class.php:97
99
+ msgid "Parent FAQ Category:"
100
+ msgstr "Übergeordnete FAQ Kategorie:"
101
+
102
+ #: includes/CustomPostTypes.class.php:98
103
+ msgid "Edit FAQ Category"
104
+ msgstr "FAQ Kategorie bearbeiten"
105
+
106
+ #: includes/CustomPostTypes.class.php:99
107
+ msgid "Update FAQ Category"
108
+ msgstr "FAQ Kategorie aktualisieren"
109
+
110
+ #: includes/CustomPostTypes.class.php:100
111
+ msgid "Add New FAQ Category"
112
+ msgstr "Neue FAQ Kategorie hinzufügen"
113
+
114
+ #: includes/CustomPostTypes.class.php:101
115
+ msgid "New FAQ Category Name"
116
+ msgstr "Neuer FAQ Kategorien Name"
117
+
118
+ #: includes/CustomPostTypes.class.php:118
119
+ #: includes/CustomPostTypes.class.php:128
120
+ msgid "FAQ Tags"
121
+ msgstr "FAQ-Schlagworte"
122
+
123
+ #: includes/CustomPostTypes.class.php:119
124
+ msgid "FAQ Tag"
125
+ msgstr "FAQ-Schlagwort"
126
+
127
+ #: includes/CustomPostTypes.class.php:120
128
+ msgid "Search FAQ Tags"
129
+ msgstr "FAQ-Schlagworte suchen"
130
+
131
+ #: includes/CustomPostTypes.class.php:121
132
+ msgid "All FAQ Tags"
133
+ msgstr "Alle FAQ-Schlagworte"
134
+
135
+ #: includes/CustomPostTypes.class.php:122
136
+ msgid "Parent FAQ Tag"
137
+ msgstr "Übergeordnetes FAQ-Schlagwort"
138
+
139
+ #: includes/CustomPostTypes.class.php:123
140
+ msgid "Parent FAQ Tag:"
141
+ msgstr "Übergeordnetes FAQ-Schlagwort:"
142
+
143
+ #: includes/CustomPostTypes.class.php:124
144
+ msgid "Edit FAQ Tag"
145
+ msgstr "FAQ-Schlagwort bearbeiten"
146
+
147
+ #: includes/CustomPostTypes.class.php:125
148
+ msgid "Update FAQ Tag"
149
+ msgstr "FAQ-Schlagwort aktualisieren"
150
+
151
+ #: includes/CustomPostTypes.class.php:126
152
+ msgid "Add New FAQ Tag"
153
+ msgstr "Neues FAQ Schlagwort hinzufügen"
154
+
155
+ #: includes/CustomPostTypes.class.php:127
156
+ msgid "New FAQ Tag Name"
157
+ msgstr "Neuer Name für FAQ-Schlagwort"
158
+
159
+ #: includes/CustomPostTypes.class.php:161
160
+ msgid "FAQ Details"
161
+ msgstr "FAQ-Details"
162
+
163
+ #: includes/CustomPostTypes.class.php:171
164
+ msgid "Need Help?"
165
+ msgstr "Brauchst Du Hilfe?"
166
+
167
+ #: includes/CustomPostTypes.class.php:217
168
+ msgid "Author Display Name:"
169
+ msgstr "Name des Autors wie er auf dem Frontend erscheinen soll:"
170
+
171
+ #: includes/CustomPostTypes.class.php:226
172
+ msgid "Up Votes:"
173
+ msgstr "Daumen hoch:"
174
+
175
+ #: includes/CustomPostTypes.class.php:230
176
+ msgid "Down Votes:"
177
+ msgstr "Daumen runter:"
178
+
179
+ #: includes/CustomPostTypes.class.php:408
180
+ msgid "# of Views"
181
+ msgstr "Anzahl an Aufrufen"
182
+
183
+ #: includes/CustomPostTypes.class.php:409 includes/Dashboard.class.php:151
184
+ #: includes/OrderingTable.class.php:77 includes/Settings.class.php:1150
185
+ #: ultimate-faqs.php:409
186
+ msgid "Categories"
187
+ msgstr "Kategorien"
188
+
189
+ #: includes/CustomPostTypes.class.php:410
190
+ msgid "Post ID"
191
+ msgstr "Beitrag-ID"
192
+
193
+ #: includes/CustomPostTypes.class.php:558
194
+ msgid "Reset View Count"
195
+ msgstr "Ansichtenzähler zurücksetzen"
196
+
197
+ #: includes/Dashboard.class.php:102
198
+ #, php-format
199
+ msgid ""
200
+ "<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to "
201
+ "upgrade to premium."
202
+ msgstr ""
203
+ "<a href=\"%s\" target=\"_blank\">Besuch unsere Website</a>, um zu erfahren, "
204
+ "wie du auf Premium upgraden kannst."
205
+
206
+ #: includes/Dashboard.class.php:112 includes/Dashboard.class.php:136
207
+ msgid "Get Support"
208
+ msgstr "Support erhalten"
209
+
210
+ #: includes/Dashboard.class.php:118
211
+ msgid "YouTube Tutorials"
212
+ msgstr "YouTube-Tutorials"
213
+
214
+ #: includes/Dashboard.class.php:124
215
+ msgid "Plugin FAQs"
216
+ msgstr "Plugin-FAQs"
217
+
218
+ #: includes/Dashboard.class.php:130
219
+ msgid "Documentation"
220
+ msgstr "Dokumentation"
221
+
222
+ #: includes/Dashboard.class.php:144
223
+ msgid "FAQ Summary"
224
+ msgstr "FAQ-Zusammenfassung"
225
+
226
+ #: includes/Dashboard.class.php:149
227
+ #: includes/InstallationWalkthrough.class.php:357
228
+ #: includes/Settings.class.php:967
229
+ msgid "Title"
230
+ msgstr "Titel"
231
+
232
+ #: includes/Dashboard.class.php:150 includes/OrderingTable.class.php:76
233
+ msgid "Views"
234
+ msgstr "Ansichten"
235
+
236
+ #: includes/Dashboard.class.php:156
237
+ msgid ""
238
+ "No faqs to display yet. Create an faq and then view it for it to be "
239
+ "displayed here."
240
+ msgstr ""
241
+ "Noch keine FAQs zum Anzeigen. Erstelle eine FAQ und sieh dann nach, ob sie "
242
+ "hier angezeigt wird."
243
+
244
+ #: includes/Dashboard.class.php:238
245
+ #, php-format
246
+ msgid ""
247
+ "<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to get a "
248
+ "free 7-day trial of the premium plugin."
249
+ msgstr ""
250
+ "<a href=\"%s\" target=\"_blank\">Besuch unsere Website</a>, um zu erfahren, "
251
+ "wie du eine kostenlose 7-Tage-Testversion des Premium-Plugins erhältst."
252
+
253
+ #: includes/DeactivationSurvey.class.php:36
254
+ msgid "I no longer need the plugin"
255
+ msgstr "Ich brauche das Plugin nicht mehr"
256
+
257
+ #: includes/DeactivationSurvey.class.php:39
258
+ msgid "I'm switching to a different plugin"
259
+ msgstr "Ich wechsele zu einem anderen Plugin"
260
+
261
+ #: includes/DeactivationSurvey.class.php:40
262
+ msgid "Please share which plugin"
263
+ msgstr "Bitte teile uns mit, welches Plugin"
264
+
265
+ #: includes/DeactivationSurvey.class.php:43
266
+ msgid "I couldn't get the plugin to work"
267
+ msgstr "Ich konnte das Plugin nicht zum Laufen bringen"
268
+
269
+ #: includes/DeactivationSurvey.class.php:44
270
+ msgid "Please share what wasn't working"
271
+ msgstr "Bitte teile mit, was nicht funktioniert hat"
272
+
273
+ #: includes/DeactivationSurvey.class.php:47
274
+ msgid "It's a temporary deactivation"
275
+ msgstr "Die Deaktivierung ist nur vorübergehend"
276
+
277
+ #: includes/DeactivationSurvey.class.php:50
278
+ msgid "Other"
279
+ msgstr "Andere"
280
+
281
+ #: includes/DeactivationSurvey.class.php:51
282
+ msgid "Please share the reason"
283
+ msgstr "Bitte teile uns den Grund mit"
284
+
285
+ #: includes/DeactivationSurvey.class.php:58
286
+ msgid "Quick Feedback"
287
+ msgstr "Schnelles Feedback"
288
+
289
+ #: includes/DeactivationSurvey.class.php:59
290
+ msgid ""
291
+ "If you have a moment, please share why you are deactivating Ultimate FAQs:"
292
+ msgstr ""
293
+ "Wenn du einen Moment Zeit hast, teile uns bitte mit, warum du Ultimate FAQs "
294
+ "deaktivierst:"
295
+
296
+ #: includes/DeactivationSurvey.class.php:74
297
+ msgid "Submit and Deactivate"
298
+ msgstr "Absenden und deaktivieren"
299
+
300
+ #: includes/DeactivationSurvey.class.php:75
301
+ msgid "Skip and Deactivate"
302
+ msgstr "Überspringen und abschalten"
303
+
304
+ #: includes/FAQ.class.php:175
305
+ msgid "The number you entered for the image was incorrect."
306
+ msgstr "Die Zahl, die du für das Bild eingegeben hast, war falsch."
307
+
308
+ #: includes/FAQ.class.php:188
309
+ msgid ""
310
+ "Please make sure that there is a question that you are submitting as an FAQ"
311
+ msgstr ""
312
+ "Bitte stell sicher, dass es sich um eine Frage handelt, die du als FAQ "
313
+ "abschickst"
314
+
315
+ #: includes/Import.class.php:51
316
+ msgid "Spreadsheet Containing FAQs"
317
+ msgstr "Spreadsheet enthält FAQs"
318
+
319
+ #: includes/Import.class.php:200
320
+ msgid "FAQs added successfully."
321
+ msgstr "FAQs wurden erfolgreich hinzugefügt."
322
+
323
+ #: includes/Import.class.php:212
324
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
325
+ msgstr ""
326
+ "Die hochzuladende Datei überschreitet die Einstellung upload_max_filesize "
327
+ "der php.ini"
328
+
329
+ #: includes/Import.class.php:215
330
+ msgid ""
331
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
332
+ "the HTML form"
333
+ msgstr ""
334
+ "Die hochgeladene Datei überschreitet die \"MAX_FILE_SIZE\" Direktive, die im "
335
+ "HTML-Formular angegeben wurde"
336
+
337
+ #: includes/Import.class.php:218
338
+ msgid "The uploaded file was only partially uploaded"
339
+ msgstr "Die Datei wurde nur teilweise hochgeladen"
340
+
341
+ #: includes/Import.class.php:221
342
+ msgid "No file was uploaded."
343
+ msgstr "Es wurde keine Datei hochgeladen."
344
+
345
+ #: includes/Import.class.php:225
346
+ msgid "Missing a temporary folder"
347
+ msgstr "Es fehlt ein temporärer Ordner"
348
+
349
+ #: includes/Import.class.php:228
350
+ msgid "Failed to write file to disk"
351
+ msgstr "Fehler beim Schreiben der Datei"
352
+
353
+ #: includes/Import.class.php:231
354
+ msgid "File upload stopped by extension"
355
+ msgstr "Datei-Upload durch Erweiterung gestoppt"
356
+
357
+ #: includes/Import.class.php:235
358
+ msgid "No error code avaiable"
359
+ msgstr "Kein Fehler Code verfügbar"
360
+
361
+ #: includes/Import.class.php:240
362
+ msgid "No file was uploaded here.."
363
+ msgstr "Es wurde keine Datei hochgeladen.."
364
+
365
+ #: includes/Import.class.php:245
366
+ msgid "File must be .csv, .xls or .xlsx"
367
+ msgstr "Datei muss CSV, .xls oder .xlsx"
368
+
369
+ #: includes/InstallationWalkthrough.class.php:53
370
+ #: includes/InstallationWalkthrough.class.php:54
371
+ msgid "Ultimate FAQs - Welcome!"
372
+ msgstr "Ultimate FAQs - Willkommen!"
373
+
374
+ #: includes/InstallationWalkthrough.class.php:176
375
+ msgid "Welcome to Ultimate FAQs"
376
+ msgstr "Willkommen bei Ultimate FAQs"
377
+
378
+ #: includes/InstallationWalkthrough.class.php:177
379
+ msgid ""
380
+ "Thanks for choosing Ultimate FAQs! The following will help you get started "
381
+ "with the setup by creating your first FAQ and category, as well as adding "
382
+ "your FAQs to a page and configuring a few key options."
383
+ msgstr ""
384
+ "Vielen Dank für die Wahl von Ultimate FAQs! Im Folgenden kannst du mit dem "
385
+ "Setup beginnen, indem du deine erste FAQ und Kategorie erstellst, deine FAQs "
386
+ "zu einer Seite hinzufügst und einige wichtige Optionen konfigurierst."
387
+
388
+ #: includes/InstallationWalkthrough.class.php:181
389
+ msgid "1. Create Categories"
390
+ msgstr "1. Kategorien erstellen"
391
+
392
+ #: includes/InstallationWalkthrough.class.php:183
393
+ msgid ""
394
+ "Categories let you organize your FAQs in a way that's easy for you - and "
395
+ "your customers - to find."
396
+ msgstr ""
397
+ "Mit Kategorien kannst du deine FAQs auf einfache Art für dich - und deine "
398
+ "Kunden - organisieren."
399
+
400
+ #: includes/InstallationWalkthrough.class.php:186
401
+ msgid "Category Name"
402
+ msgstr "Kategoriename"
403
+
404
+ #: includes/InstallationWalkthrough.class.php:192
405
+ msgid "Category Description"
406
+ msgstr "Kategorie Beschreibung"
407
+
408
+ #: includes/InstallationWalkthrough.class.php:200
409
+ msgid "Add Category"
410
+ msgstr "Kategorie hinzufügen"
411
+
412
+ #: includes/InstallationWalkthrough.class.php:206
413
+ msgid "Created Categories"
414
+ msgstr "Erstellte Kategorien"
415
+
416
+ #: includes/InstallationWalkthrough.class.php:209
417
+ #: includes/Settings.class.php:933
418
+ msgid "Name"
419
+ msgstr "Name"
420
+
421
+ #: includes/InstallationWalkthrough.class.php:210
422
+ msgid "Description"
423
+ msgstr "Beschreibung"
424
+
425
+ #: includes/InstallationWalkthrough.class.php:217
426
+ #: includes/InstallationWalkthrough.class.php:269
427
+ #: includes/InstallationWalkthrough.class.php:295 views/View.class.php:117
428
+ msgid "Next"
429
+ msgstr "Vor"
430
+
431
+ #: includes/InstallationWalkthrough.class.php:223
432
+ msgid "2. Questions & Answers"
433
+ msgstr "2. Fragen und Antworten"
434
+
435
+ #: includes/InstallationWalkthrough.class.php:225
436
+ msgid ""
437
+ "Create your first set of questions and answers. Don't worry, you can always "
438
+ "add more later."
439
+ msgstr ""
440
+ "Erstelle deinen ersten Satz von Fragen und Antworten. Keine Sorge, du kannst "
441
+ "später jederzeit weitere hinzufügen."
442
+
443
+ #: includes/InstallationWalkthrough.class.php:228
444
+ msgid "Questions"
445
+ msgstr "Fragen"
446
+
447
+ #: includes/InstallationWalkthrough.class.php:234
448
+ #: includes/InstallationWalkthrough.class.php:260
449
+ msgid "Answer"
450
+ msgstr "Antwort"
451
+
452
+ #: includes/InstallationWalkthrough.class.php:250
453
+ msgid "Add FAQ"
454
+ msgstr "FAQ hinzufügen"
455
+
456
+ #: includes/InstallationWalkthrough.class.php:256
457
+ msgid "Created FAQs"
458
+ msgstr "Erstellte FAQs"
459
+
460
+ #: includes/InstallationWalkthrough.class.php:259
461
+ #: includes/OrderingTable.class.php:75
462
+ msgid "Question"
463
+ msgstr "Frage"
464
+
465
+ #: includes/InstallationWalkthrough.class.php:261
466
+ msgid "Category"
467
+ msgstr "Kategorie"
468
+
469
+ #: includes/InstallationWalkthrough.class.php:270
470
+ #: includes/InstallationWalkthrough.class.php:296
471
+ #: includes/InstallationWalkthrough.class.php:368 views/View.class.php:116
472
+ msgid "Previous"
473
+ msgstr "Zurück"
474
+
475
+ #: includes/InstallationWalkthrough.class.php:276
476
+ msgid "3. Add an FAQ Page"
477
+ msgstr "3. Eine FAQ-Seite hinzufügen"
478
+
479
+ #: includes/InstallationWalkthrough.class.php:278
480
+ msgid ""
481
+ "You can create a dedicated FAQ page below, or skip this step and add your "
482
+ "FAQs to a page you've already created manually."
483
+ msgstr ""
484
+ "Du kannst unten eine spezielle FAQ-Seite erstellen oder diesen Schritt "
485
+ "überspringen und deine FAQs zu einer Seite hinzufügen, die du bereits "
486
+ "manuell erstellt hast."
487
+
488
+ #: includes/InstallationWalkthrough.class.php:281
489
+ msgid "Page Title"
490
+ msgstr "Seitentitel"
491
+
492
+ #: includes/InstallationWalkthrough.class.php:289
493
+ msgid "Create Page"
494
+ msgstr "Seite erstellen"
495
+
496
+ #: includes/InstallationWalkthrough.class.php:302
497
+ msgid "4. Set Key Options"
498
+ msgstr "4. Schlüsseloptionen festlegen"
499
+
500
+ #: includes/InstallationWalkthrough.class.php:304
501
+ msgid ""
502
+ "Options can always be changed later, but here are a few tha a lot of users "
503
+ "want to set for themselves."
504
+ msgstr ""
505
+ "Die Optionen können später immer noch geändert werden, aber hier sind ein "
506
+ "paar, die viele Benutzer für sich selbst einstellen möchten."
507
+
508
+ #: includes/InstallationWalkthrough.class.php:307
509
+ #: includes/Settings.class.php:302
510
+ msgid "FAQ Accordion"
511
+ msgstr "FAQ-Akkordeon"
512
+
513
+ #: includes/InstallationWalkthrough.class.php:317
514
+ #: includes/Settings.class.php:303
515
+ msgid ""
516
+ "Should the FAQs accordion? (Only one FAQ is open at a time, requires FAQ "
517
+ "Toggle)"
518
+ msgstr ""
519
+ "Sollen die FAQs als Akkordeon dargestellt werden? (Nur eine FAQ ist "
520
+ "gleichzeitig geöffnet, erfordert FAQ-Umschalter)"
521
+
522
+ #: includes/InstallationWalkthrough.class.php:322
523
+ msgid "FAQ Toggle"
524
+ msgstr "FAQ-Umschalter"
525
+
526
+ #: includes/InstallationWalkthrough.class.php:332
527
+ #: includes/Settings.class.php:292
528
+ msgid ""
529
+ "Should the FAQs open on a separate page when clicked, instead of opening and "
530
+ "closing?"
531
+ msgstr ""
532
+ "Sollen die FAQs beim Anklicken auf einer separaten Seite geöffnet werden, "
533
+ "anstatt sich zu öffnen und zu schließen?"
534
+
535
+ #: includes/InstallationWalkthrough.class.php:337
536
+ #: includes/Settings.class.php:907
537
+ msgid "Group FAQs by Category"
538
+ msgstr "FAQs nach Kategorie gruppieren"
539
+
540
+ #: includes/InstallationWalkthrough.class.php:347
541
+ #: includes/Settings.class.php:908
542
+ msgid ""
543
+ "Should FAQs be grouped by category, or should all categories be mixed "
544
+ "together?"
545
+ msgstr ""
546
+ "Sollen die FAQs nach Kategorien gruppiert werden, oder sollen alle "
547
+ "Kategorien zusammengemischt werden?"
548
+
549
+ #: includes/InstallationWalkthrough.class.php:352
550
+ #: includes/Settings.class.php:962
551
+ msgid "FAQ Ordering"
552
+ msgstr "FAQ-Sortierung"
553
+
554
+ #: includes/InstallationWalkthrough.class.php:356
555
+ #: includes/Settings.class.php:966
556
+ msgid "Created Date"
557
+ msgstr "Erstellungsdatum"
558
+
559
+ #: includes/InstallationWalkthrough.class.php:358
560
+ #: includes/Settings.class.php:968
561
+ msgid "Modified Date"
562
+ msgstr "Änderungsdatum"
563
+
564
+ #: includes/InstallationWalkthrough.class.php:360
565
+ #: includes/Settings.class.php:963
566
+ msgid "How should individual FAQs be ordered?"
567
+ msgstr "Wie sollten die einzelnen FAQs sortiert werden?"
568
+
569
+ #: includes/InstallationWalkthrough.class.php:366
570
+ msgid "Save Options"
571
+ msgstr "Einstellungen speichern"
572
+
573
+ #: includes/InstallationWalkthrough.class.php:369
574
+ msgid "Finish"
575
+ msgstr "Fertigstellen"
576
+
577
+ #: includes/InstallationWalkthrough.class.php:376
578
+ msgid "Skip Setup"
579
+ msgstr "Setup überspringen"
580
+
581
+ #: includes/Notifications.class.php:33
582
+ msgid "New Question Received"
583
+ msgstr "Neue Frage erhalten"
584
+
585
+ #: includes/Notifications.class.php:35
586
+ msgid "Hello Admin,"
587
+ msgstr "Hallo Admin,"
588
+
589
+ #: includes/Notifications.class.php:36
590
+ msgid "You've received a new question titled "
591
+ msgstr "Du hast eine neue Frage erhalten mit dem Titel "
592
+
593
+ #: includes/Notifications.class.php:37
594
+ msgid "The answer reads:<br>"
595
+ msgstr "Die Antwort lautet:<br>"
596
+
597
+ #: includes/Notifications.class.php:39
598
+ msgid ""
599
+ "You can view the question in the admin area by going to the following link:"
600
+ "<br>"
601
+ msgstr ""
602
+ "Du kannst die Frage im Admin-Bereich anzeigen, indem du auf den folgenden "
603
+ "Link klickst:<br>"
604
+
605
+ #: includes/Notifications.class.php:40
606
+ msgid "See the FAQ"
607
+ msgstr "Schau in die FAQ"
608
+
609
+ #: includes/Notifications.class.php:41
610
+ msgid "Have a great day,"
611
+ msgstr "Einen schönen Tag,"
612
+
613
+ #: includes/Notifications.class.php:42
614
+ msgid "Ultimate FAQs Team"
615
+ msgstr "Ultimate FAQs Team"
616
+
617
+ #: includes/OrderingTable.class.php:28 includes/OrderingTable.class.php:29
618
+ msgid "Ordering Table"
619
+ msgstr "Reihenfolge der Tabelle"
620
+
621
+ #: includes/OrderingTable.class.php:69
622
+ msgid ""
623
+ "Use the table below to set the order for your FAQs, either overall or within "
624
+ "their categories depending on your selected settings."
625
+ msgstr ""
626
+ "Verwende die folgende Tabelle, um die Reihenfolge deiner FAQs festzulegen, "
627
+ "entweder insgesamt oder innerhalb ihrer Kategorien, abhängig von den "
628
+ "gewählten Einstellungen."
629
+
630
+ #: includes/OrderingTable.class.php:78 includes/Settings.class.php:1161
631
+ #: ultimate-faqs.php:410
632
+ msgid "Tags"
633
+ msgstr "Schlagwörter"
634
+
635
+ #: includes/ReviewAsk.class.php:57
636
+ msgid "Email Address"
637
+ msgstr "E-Mail-Adresse"
638
+
639
+ #: includes/Settings.class.php:74 includes/Settings.class.php:1260
640
+ msgid "Retrieving Results"
641
+ msgstr "Ergebnisse werden abgerufen"
642
+
643
+ #: includes/Settings.class.php:75 includes/Settings.class.php:1271
644
+ #, php-format
645
+ msgid "No result FAQ's contained the term '%s'"
646
+ msgstr "Keine FAQ enthielt den Begriff ' %s '"
647
+
648
+ #: includes/Settings.class.php:77 views/View.class.php:123
649
+ msgid "Thank you for submitting an FAQ."
650
+ msgstr "Vielen Dank, dass du eine FAQ gesendet hast."
651
+
652
+ #: includes/Settings.class.php:143 includes/Settings.class.php:144
653
+ #: includes/Settings.class.php:896 includes/Settings.class.php:1014
654
+ #: ultimate-faqs.php:318 ultimate-faqs.php:416
655
+ msgid "Settings"
656
+ msgstr "Einstellungen"
657
+
658
+ #: includes/Settings.class.php:156
659
+ msgid "Basic"
660
+ msgstr "Basic"
661
+
662
+ #: includes/Settings.class.php:165 includes/Settings.class.php:556
663
+ msgid "General"
664
+ msgstr "Allgemein"
665
+
666
+ #: includes/Settings.class.php:176
667
+ msgid "REMINDER:"
668
+ msgstr "ERINNERUNG:"
669
+
670
+ #: includes/Settings.class.php:177
671
+ msgid "To display FAQs, place the [ultimate-faqs] shortcode on a page"
672
+ msgstr ""
673
+ "Um FAQs anzuzeigen, platziere den Shortcode [ultimate-faqs] auf einer Seite"
674
+
675
+ #: includes/Settings.class.php:187
676
+ msgid "Custom CSS"
677
+ msgstr "Benutzerdefiniertes CSS"
678
+
679
+ #: includes/Settings.class.php:188
680
+ msgid "You can add custom CSS styles to your FAQs in the box above."
681
+ msgstr ""
682
+ "Du kannst benutzerdefinierte CSS-Stile zu deinen FAQs in dem Feld oben "
683
+ "hinzufügen."
684
+
685
+ #: includes/Settings.class.php:197
686
+ msgid "Scroll To Top"
687
+ msgstr "Nach Oben Scrollen"
688
+
689
+ #: includes/Settings.class.php:198
690
+ msgid "Should the browser scroll to the top of the FAQ when it's opened?"
691
+ msgstr ""
692
+ "Soll der Browser an den Anfang der FAQ scrollen, wenn er geöffnet wird?"
693
+
694
+ #: includes/Settings.class.php:208
695
+ msgid "Turn On Comment Support"
696
+ msgstr "Kommentarunterstützung einschalten"
697
+
698
+ #: includes/Settings.class.php:209
699
+ msgid ""
700
+ "Should comment support be turned on, so that if the \"Allow Comments\" "
701
+ "checkbox is selected for a given FAQ, comments are shown in the FAQ list?"
702
+ msgstr ""
703
+ "Soll die Unterstützung für Kommentare eingeschaltet werden, so dass, wenn "
704
+ "das Kontrollkästchen \"Kommentare zulassen\" für eine bestimmte FAQ "
705
+ "ausgewählt ist, Kommentare in der FAQ-Liste angezeigt werden?"
706
+
707
+ #: includes/Settings.class.php:219
708
+ msgid "Disable Microdata"
709
+ msgstr "Microdata deaktivieren"
710
+
711
+ #: includes/Settings.class.php:220
712
+ msgid ""
713
+ "By default, the plugin adds FAQ page scheme when the shortcode is used. "
714
+ "Select this option to disable this behaviour."
715
+ msgstr ""
716
+ "Standardmäßig fügt das Plugin ein FAQ-Seitenschema hinzu, wenn der Shortcode "
717
+ "verwendet wird. Wähle diese Option, um dieses Verhalten zu deaktivieren."
718
+
719
+ #: includes/Settings.class.php:230
720
+ msgid "Include Permalink"
721
+ msgstr "Permalink einbeziehen"
722
+
723
+ #: includes/Settings.class.php:231
724
+ msgid "Display permalink to each question? If so, text, icon or both?"
725
+ msgstr "Permalink zu jeder Frage anzeigen? Wenn ja, Text, Symbol oder beides?"
726
+
727
+ #: includes/Settings.class.php:233 includes/Settings.class.php:504
728
+ msgid "None"
729
+ msgstr "Nichts"
730
+
731
+ #: includes/Settings.class.php:234 includes/Settings.class.php:1061
732
+ msgid "Text"
733
+ msgstr "Text"
734
+
735
+ #: includes/Settings.class.php:235
736
+ msgid "Icon"
737
+ msgstr "Icon"
738
+
739
+ #: includes/Settings.class.php:236
740
+ msgid "Both"
741
+ msgstr "Beide"
742
+
743
+ #: includes/Settings.class.php:248
744
+ msgid "Permalink Destination"
745
+ msgstr "Permalink Ziel"
746
+
747
+ #: includes/Settings.class.php:249
748
+ msgid ""
749
+ "Should the permalink link to the main FAQ page or the individual FAQ page?"
750
+ msgstr ""
751
+ "Soll der Permalink auf die Haupt-FAQ-Seite oder auf die einzelnen FAQ-Seiten "
752
+ "verweisen?"
753
+
754
+ #: includes/Settings.class.php:251
755
+ msgid "Main FAQ Page"
756
+ msgstr "Haupt-FAQ-Seite"
757
+
758
+ #: includes/Settings.class.php:252
759
+ msgid "Individual FAQ Page"
760
+ msgstr "Individuelle FAQ-Seite"
761
+
762
+ #: includes/Settings.class.php:264
763
+ msgid "Set Access Role"
764
+ msgstr "Zugriffsrolle festlegen"
765
+
766
+ #: includes/Settings.class.php:265
767
+ msgid "Which level of user should have access to FAQs, Settings, etc.?."
768
+ msgstr ""
769
+ "Welche Benutzerebene sollte Zugriff auf FAQs, Einstellungen usw. haben?"
770
+
771
+ #: includes/Settings.class.php:268
772
+ msgid "Administrator"
773
+ msgstr "Administrator"
774
+
775
+ #: includes/Settings.class.php:269
776
+ msgid "Editor"
777
+ msgstr "Editor"
778
+
779
+ #: includes/Settings.class.php:270
780
+ msgid "Author"
781
+ msgstr "Autor"
782
+
783
+ #: includes/Settings.class.php:271
784
+ msgid "Contributor"
785
+ msgstr "Mitarbeiter"
786
+
787
+ #: includes/Settings.class.php:280
788
+ msgid "Functionality"
789
+ msgstr "Funktionalität"
790
+
791
+ #: includes/Settings.class.php:291
792
+ msgid "Disable FAQ Toggle"
793
+ msgstr "FAQ-Umschalter deaktivieren"
794
+
795
+ #: includes/Settings.class.php:313
796
+ msgid "FAQ Category Toggle"
797
+ msgstr "FAQ-Kategorie umschalten"
798
+
799
+ #: includes/Settings.class.php:314
800
+ msgid ""
801
+ "Should the FAQ categories hide/open when they are clicked, if FAQs are being "
802
+ "grouped by category (\"Group FAQs by Category\" in the \"Ordering\" area)?"
803
+ msgstr ""
804
+ "Sollen die FAQ-Kategorien ausgeblendet/geöffnet werden, wenn sie angeklickt "
805
+ "werden, wenn die FAQs nach Kategorien gruppiert werden (\"FAQs nach "
806
+ "Kategorie gruppieren\" im Bereich \"Sortierung\")?"
807
+
808
+ #: includes/Settings.class.php:324
809
+ msgid "FAQ Category Accordion"
810
+ msgstr "FAQ-Kategorie Akkordeon"
811
+
812
+ #: includes/Settings.class.php:325
813
+ msgid ""
814
+ "Should it only be possible to open one FAQ category at a time, if FAQ "
815
+ "categories are being toggled (\"FAQ Category Toggle\" must be enabled above)?"
816
+ msgstr ""
817
+ "Soll es nur möglich sein, eine FAQ-Kategorie auf einmal zu öffnen, wenn die "
818
+ "FAQ-Kategorien umgeschaltet werden (\"FAQ-Kategorie umschalten\" muss oben "
819
+ "aktiviert sein)?"
820
+
821
+ #: includes/Settings.class.php:335
822
+ msgid "FAQ Expand/Collapse All"
823
+ msgstr "Alle FAQ aus-/einklappen"
824
+
825
+ #: includes/Settings.class.php:336
826
+ msgid "Should there be a control to open and close all FAQs simultaneously?"
827
+ msgstr ""
828
+ "Soll es eine Steuerung geben, um alle FAQs gleichzeitig zu öffnen und zu "
829
+ "schließen?"
830
+
831
+ #: includes/Settings.class.php:344 includes/Settings.class.php:438
832
+ msgid "Display"
833
+ msgstr "Anzeige"
834
+
835
+ #: includes/Settings.class.php:355
836
+ msgid "Hide Categories"
837
+ msgstr "Kategorien verbergen"
838
+
839
+ #: includes/Settings.class.php:356
840
+ msgid "Should the categories for each FAQ be hidden?"
841
+ msgstr "Sollen die Kategorien für jede FAQ ausgeblendet werden?"
842
+
843
+ #: includes/Settings.class.php:366
844
+ msgid "Hide Tags"
845
+ msgstr "Schlagworte ausblenden"
846
+
847
+ #: includes/Settings.class.php:367
848
+ msgid "Should the tags for each FAQ be hidden?"
849
+ msgstr "Sollen die Tags für jede FAQ ausgeblendet werden?"
850
+
851
+ #: includes/Settings.class.php:377
852
+ msgid "Display All Answers"
853
+ msgstr "Alle Antworten anzeigen"
854
+
855
+ #: includes/Settings.class.php:378
856
+ msgid ""
857
+ "Should all answers be displayed when the page loads? (Careful if FAQ "
858
+ "Accordion is on)"
859
+ msgstr ""
860
+ "Sollen alle Antworten beim Laden der Seite angezeigt werden? (Vorsicht, wenn "
861
+ "FAQ-Akkordeon aktiviert ist)"
862
+
863
+ #: includes/Settings.class.php:388
864
+ msgid "Display Post Author"
865
+ msgstr "Autor des Beitrags anzeigen"
866
+
867
+ #: includes/Settings.class.php:389
868
+ msgid ""
869
+ "Should the display name of the post's author be displayed beneath the FAQ "
870
+ "title?"
871
+ msgstr ""
872
+ "Soll der Anzeigename des Autors des Beitrags unter dem FAQ-Titel angezeigt "
873
+ "werden?"
874
+
875
+ #: includes/Settings.class.php:399
876
+ msgid "Display Post Date"
877
+ msgstr "Datum des Beitrages anzeigen"
878
+
879
+ #: includes/Settings.class.php:400
880
+ msgid ""
881
+ "Should the date the post was created be displayed beneath the FAQ title?"
882
+ msgstr ""
883
+ "Soll das Datum, an dem der Beitrag erstellt wurde, unter dem FAQ-Titel "
884
+ "angezeigt werden?"
885
+
886
+ #: includes/Settings.class.php:410
887
+ msgid "Display 'Back to Top'"
888
+ msgstr "'Zurück zum Anfang' anzeigen"
889
+
890
+ #: includes/Settings.class.php:411
891
+ msgid ""
892
+ "Should a link to return to the top of the page be added to each FAQ post?"
893
+ msgstr ""
894
+ "Soll zu jedem FAQ-Beitrag ein Link zurück zum Anfang der Seite hinzugefügt "
895
+ "werden?"
896
+
897
+ #: includes/Settings.class.php:428
898
+ msgid "Premium"
899
+ msgstr "Premium"
900
+
901
+ #: includes/Settings.class.php:451
902
+ msgid "FAQ Display Style"
903
+ msgstr "FAQ Anzeigeart"
904
+
905
+ #: includes/Settings.class.php:452
906
+ msgid "Which theme should be used to display the FAQ's?"
907
+ msgstr "Welches Thema soll für die Anzeige der FAQs verwendet werden?"
908
+
909
+ #: includes/Settings.class.php:454
910
+ msgid "Default"
911
+ msgstr "Standard"
912
+
913
+ #: includes/Settings.class.php:455
914
+ msgid "Block"
915
+ msgstr "Block"
916
+
917
+ #: includes/Settings.class.php:456
918
+ msgid "Border Block"
919
+ msgstr "Blockumrandung"
920
+
921
+ #: includes/Settings.class.php:457
922
+ msgid "Contemporary"
923
+ msgstr "Zeitgenössisch"
924
+
925
+ #: includes/Settings.class.php:458
926
+ msgid "List"
927
+ msgstr "Liste"
928
+
929
+ #: includes/Settings.class.php:459
930
+ msgid "Minimalist"
931
+ msgstr "Minimalistisch"
932
+
933
+ #: includes/Settings.class.php:471
934
+ msgid "Number of Columns"
935
+ msgstr "Anzahl der Spalten"
936
+
937
+ #: includes/Settings.class.php:472
938
+ msgid "In how many columns would you like your FAQs displayed?"
939
+ msgstr "In wie vielen Spalten möchtest du deine FAQs anzeigen lassen?"
940
+
941
+ #: includes/Settings.class.php:474
942
+ msgid "One"
943
+ msgstr "Eins"
944
+
945
+ #: includes/Settings.class.php:475
946
+ msgid "Two"
947
+ msgstr "Zwei"
948
+
949
+ #: includes/Settings.class.php:476
950
+ msgid "Three"
951
+ msgstr "Drei"
952
+
953
+ #: includes/Settings.class.php:477
954
+ msgid "Four"
955
+ msgstr "Vier"
956
+
957
+ #: includes/Settings.class.php:489
958
+ msgid "Responsive Columns"
959
+ msgstr "Responsive Spalten"
960
+
961
+ #: includes/Settings.class.php:490
962
+ msgid ""
963
+ "If you have more than one column, would you like them to be responsive? If "
964
+ "this option is disabled, the number of columns will remain the same on all "
965
+ "screen sizes."
966
+ msgstr ""
967
+ "Wenn du mehr als eine Spalte hast, möchtest du, dass sie responsiv sind? "
968
+ "Wenn diese Option deaktiviert ist, bleibt die Anzahl der Spalten bei allen "
969
+ "Bildschirmgrößen gleich."
970
+
971
+ #: includes/Settings.class.php:500
972
+ msgid "Reveal Effect"
973
+ msgstr "Anzeigeeffekt"
974
+
975
+ #: includes/Settings.class.php:501
976
+ msgid "How should FAQ's be displayed when their titles are clicked?"
977
+ msgstr "Wie sollen FAQs angezeigt werden, wenn ein Titel angeklickt wird?"
978
+
979
+ #: includes/Settings.class.php:505
980
+ msgid "Blind"
981
+ msgstr "Blind"
982
+
983
+ #: includes/Settings.class.php:506
984
+ msgid "Bounce"
985
+ msgstr "Hüpfen"
986
+
987
+ #: includes/Settings.class.php:507
988
+ msgid "Clip"
989
+ msgstr "Videoclip"
990
+
991
+ #: includes/Settings.class.php:508
992
+ msgid "Drop"
993
+ msgstr "Ablegen"
994
+
995
+ #: includes/Settings.class.php:509
996
+ msgid "Explode"
997
+ msgstr "Explodieren"
998
+
999
+ #: includes/Settings.class.php:510
1000
+ msgid "Fade"
1001
+ msgstr "Überblenden"
1002
+
1003
+ #: includes/Settings.class.php:511
1004
+ msgid "Fold"
1005
+ msgstr "Falten"
1006
+
1007
+ #: includes/Settings.class.php:512
1008
+ msgid "Highlight"
1009
+ msgstr "Hervorheben"
1010
+
1011
+ #: includes/Settings.class.php:513
1012
+ msgid "Puff"
1013
+ msgstr "Puffen"
1014
+
1015
+ #: includes/Settings.class.php:514
1016
+ msgid "Pulsate"
1017
+ msgstr "Pulsieren"
1018
+
1019
+ #: includes/Settings.class.php:515
1020
+ msgid "Shake"
1021
+ msgstr "Schütteln"
1022
+
1023
+ #: includes/Settings.class.php:516
1024
+ msgid "Size"
1025
+ msgstr "Größe"
1026
+
1027
+ #: includes/Settings.class.php:517
1028
+ msgid "Slide"
1029
+ msgstr "Slide"
1030
+
1031
+ #: includes/Settings.class.php:528
1032
+ msgid "FAQs Per Page"
1033
+ msgstr "FAQs pro Seite"
1034
+
1035
+ #: includes/Settings.class.php:529
1036
+ msgid ""
1037
+ "How many FAQs should be displayed on each page? (Leave blank to display all "
1038
+ "FAQs)"
1039
+ msgstr ""
1040
+ "Wie viele FAQs sollen auf jeder Seite angezeigt werden? (Leer lassen, um "
1041
+ "alle FAQs anzuzeigen)"
1042
+
1043
+ #: includes/Settings.class.php:540
1044
+ msgid "FAQ Page Type"
1045
+ msgstr "FAQ-Seite Typ"
1046
+
1047
+ #: includes/Settings.class.php:541
1048
+ msgid "If FAQs are in pages, how should pages load?"
1049
+ msgstr "Wenn sich FAQs in Seiten befinden, wie sollen Seiten geladen werden?"
1050
+
1051
+ #: includes/Settings.class.php:543
1052
+ msgid "Distinct Pages"
1053
+ msgstr "Eindeutige Seiten"
1054
+
1055
+ #: includes/Settings.class.php:544
1056
+ msgid "Load More Button"
1057
+ msgstr "Mehr anzeigen Taste"
1058
+
1059
+ #: includes/Settings.class.php:545
1060
+ msgid "Infinite Scroll"
1061
+ msgstr "Endloses Scrollen"
1062
+
1063
+ #: includes/Settings.class.php:569
1064
+ msgid "FAQ Ratings"
1065
+ msgstr "FAQ-Bewertungen"
1066
+
1067
+ #: includes/Settings.class.php:570
1068
+ msgid ""
1069
+ "Should visitors be able to up or down vote FAQs to let others know if they "
1070
+ "found them helpful?"
1071
+ msgstr ""
1072
+ "Sollen Besucher die Möglichkeit haben, FAQs hoch oder runter zu bewerten, um "
1073
+ "anderen mitzuteilen, ob sie sie hilfreich fanden?"
1074
+
1075
+ #: includes/Settings.class.php:580
1076
+ msgid "FAQ Ratings 'Thumbs Up' Image"
1077
+ msgstr "FAQ-Bewertungen 'Daumen hoch' Bild"
1078
+
1079
+ #: includes/Settings.class.php:581
1080
+ msgid ""
1081
+ "You can use this to upload your own image to replace the default \"thumbs up"
1082
+ "\" image."
1083
+ msgstr ""
1084
+ "Hier kannst du dein eigenes Bild hochladen, um das Standardbild \"Daumen hoch"
1085
+ "\" zu ersetzen."
1086
+
1087
+ #: includes/Settings.class.php:591
1088
+ msgid "FAQ Ratings 'Thumbs Down' Image"
1089
+ msgstr "FAQ-Bewertungen 'Daumen runter' Bild"
1090
+
1091
+ #: includes/Settings.class.php:592
1092
+ msgid ""
1093
+ "You can use this to upload your own image to replace the default \"thumbs "
1094
+ "down\" image."
1095
+ msgstr ""
1096
+ "Hier kannst du dein eigenes Bild hochladen, um das Standardbild \"Daumen "
1097
+ "runter\" zu ersetzen."
1098
+
1099
+ #: includes/Settings.class.php:602
1100
+ msgid "Pretty Permalinks"
1101
+ msgstr "Schöne Permalinks"
1102
+
1103
+ #: includes/Settings.class.php:603
1104
+ msgid ""
1105
+ "Should an SEO friendly permalink structure be used for the link to the FAQ?"
1106
+ msgstr ""
1107
+ "Soll eine SEO-freundliche Permalinkstruktur für den Link zur FAQ verwendet "
1108
+ "werden?"
1109
+
1110
+ #: includes/Settings.class.php:613
1111
+ msgid "Disable Front-Page Canonical Redirects"
1112
+ msgstr "Kanonische Umleitungen der Startseite deaktivieren"
1113
+
1114
+ #: includes/Settings.class.php:614
1115
+ msgid ""
1116
+ "Should canonical redirects be disabled for the front page of your site? Only "
1117
+ "necessary if you're using the plugin on your homepage and have pretty "
1118
+ "permalinks enabled."
1119
+ msgstr ""
1120
+ "Sollten kanonische Weiterleitungen für die Startseite Deiner Website "
1121
+ "deaktiviert werden? Nur notwendig, wenn Sie das Plugin auf Deiner Homepage "
1122
+ "verwenden und schöne Permalinks aktiviert haben."
1123
+
1124
+ #: includes/Settings.class.php:624
1125
+ msgid "FAQ Auto Complete Titles"
1126
+ msgstr "FAQ Titel automatisch vervollständigen"
1127
+
1128
+ #: includes/Settings.class.php:625
1129
+ msgid ""
1130
+ "Should the FAQ Titles auto complete when using the FAQ search shortcode?"
1131
+ msgstr ""
1132
+ "Sollen die FAQ-Titel automatisch vervollständigt werden, wenn der FAQ-Such-"
1133
+ "Shortcode verwendet wird?"
1134
+
1135
+ #: includes/Settings.class.php:635
1136
+ msgid "FAQ Slug Base"
1137
+ msgstr "FAQ Slug-Basis"
1138
+
1139
+ #: includes/Settings.class.php:636
1140
+ msgid ""
1141
+ "This option can be used to change the slug base for all FAQ posts. Be sure "
1142
+ "to go to \"Settings\" -> \"Permalinks\" in the WordPress sidebar and hit "
1143
+ "\"Save Changes\" to avoid 404 errors."
1144
+ msgstr ""
1145
+ "Diese Option kann verwendet werden, um die Slug-Basis für alle FAQ-Beiträge "
1146
+ "zu ändern. Stell sicher, dass du zu \"Einstellungen\" -> \"Permalinks\" in "
1147
+ "der WordPress-Seitenleiste gehst und auf \"Änderungen speichern\" klickst, "
1148
+ "um 404-Fehler zu vermeiden."
1149
+
1150
+ #: includes/Settings.class.php:647
1151
+ msgid "Social Media Options"
1152
+ msgstr "Social Media Optionen"
1153
+
1154
+ #: includes/Settings.class.php:664
1155
+ msgid "WooCommerce"
1156
+ msgstr "WooCommerce"
1157
+
1158
+ #: includes/Settings.class.php:677
1159
+ msgid "WooCommerce FAQs"
1160
+ msgstr "WooCommerce-FAQs"
1161
+
1162
+ #: includes/Settings.class.php:678
1163
+ msgid ""
1164
+ "Should FAQs for a given product be displayed as an extra tab on the "
1165
+ "WooCommerce product page? For this to work correctly, an FAQ category needs "
1166
+ "to be created with the same name as a given WooCommerce product."
1167
+ msgstr ""
1168
+ "Sollen die FAQs für ein bestimmtes Produkt als zusätzliches Tab auf der "
1169
+ "WooCommerce-Produktseite angezeigt werden? Damit dies korrekt funktioniert, "
1170
+ "muss eine FAQ-Kategorie mit dem gleichen Namen wie ein bestimmtes "
1171
+ "WooCommerce-Produkt erstellt werden."
1172
+
1173
+ #: includes/Settings.class.php:688
1174
+ msgid "Use WooCommerce Product Object"
1175
+ msgstr "WooCommerce Produktobjekt verwenden"
1176
+
1177
+ #: includes/Settings.class.php:689
1178
+ msgid ""
1179
+ "Should the FAQ tab be set up using the WooCommerce product object, as in the "
1180
+ "WC documentation, or just using the ID of the page?"
1181
+ msgstr ""
1182
+ "Soll das FAQ-Tab als WooCommerce-Produktobjekt eingerichtet werden, wie in "
1183
+ "der WC-Dokumentation, oder nur über die ID der Seite?"
1184
+
1185
+ #: includes/Settings.class.php:698
1186
+ msgid "WP Forms"
1187
+ msgstr "WP Forms"
1188
+
1189
+ #: includes/Settings.class.php:711
1190
+ msgid "WP Forms Integration"
1191
+ msgstr "WP Forms Integration"
1192
+
1193
+ #: includes/Settings.class.php:712
1194
+ msgid ""
1195
+ "Should FAQs be displayed when a visitor starts typing a message into a "
1196
+ "paragraph text field in WP Forms? This can be turned off for specific forms "
1197
+ "via the form's settings panel."
1198
+ msgstr ""
1199
+ "Sollen FAQs angezeigt werden, wenn ein Besucher mit der Eingabe einer "
1200
+ "Nachricht in ein Absatztextfeld in WP Forms beginnt? Dies kann für bestimmte "
1201
+ "Formulare über das Einstellungsfeld des Formulars ausgeschaltet werden."
1202
+
1203
+ #: includes/Settings.class.php:722
1204
+ msgid "WP Forms Post Count"
1205
+ msgstr "Anzahl WP Forms Beiträge"
1206
+
1207
+ #: includes/Settings.class.php:723
1208
+ msgid ""
1209
+ "How many posts should be displayed below paragraph text fields, if WP Forms "
1210
+ "Integration has been turned on?"
1211
+ msgstr ""
1212
+ "Wie viele Beiträge sollen unter Absatztextfeldern angezeigt werden, wenn die "
1213
+ "WP Forms-Integration eingeschaltet ist?"
1214
+
1215
+ #: includes/Settings.class.php:734
1216
+ msgid "WP Forms FAQ Location"
1217
+ msgstr "WP Forms FAQ Position"
1218
+
1219
+ #: includes/Settings.class.php:735
1220
+ msgid ""
1221
+ "If WP Forms Integration has been turned on, where should the FAQs be "
1222
+ "displayed?"
1223
+ msgstr ""
1224
+ "Wenn die WP Forms-Integration aktiviert wurde, wo sollen die FAQs angezeigt "
1225
+ "werden?"
1226
+
1227
+ #: includes/Settings.class.php:737
1228
+ msgid "Above"
1229
+ msgstr "Oberhalb"
1230
+
1231
+ #: includes/Settings.class.php:738
1232
+ msgid "Below"
1233
+ msgstr "Unterhalb"
1234
+
1235
+ #: includes/Settings.class.php:749
1236
+ msgid "Submit FAQ"
1237
+ msgstr "FAQ senden"
1238
+
1239
+ #: includes/Settings.class.php:762
1240
+ msgid "Allow Proposed Answer"
1241
+ msgstr "Vorgeschlagene Antwort zulassen"
1242
+
1243
+ #: includes/Settings.class.php:763
1244
+ msgid ""
1245
+ "When using the user-submitted question shortcode, should users be able to "
1246
+ "propose an answer to the question they're submitting?"
1247
+ msgstr ""
1248
+ "Sollen Benutzer bei Verwendung des Shortcodes für vom Benutzer eingereichte "
1249
+ "Fragen in der Lage sein, eine Antwort auf die Frage vorzuschlagen, die sie "
1250
+ "einreichen?"
1251
+
1252
+ #: includes/Settings.class.php:773
1253
+ msgid "Submit Custom Fields"
1254
+ msgstr "Benutzerdefinierte Felder übermitteln"
1255
+
1256
+ #: includes/Settings.class.php:774
1257
+ msgid ""
1258
+ "When using the user-submitted question shortcode, should users be able to "
1259
+ "fill in custom fields for the question they're submitting? File type custom "
1260
+ "fields cannot be submitted for security reasons."
1261
+ msgstr ""
1262
+ "Sollen Benutzer bei Verwendung des Shortcodes für vom Benutzer eingereichte "
1263
+ "Fragen benutzerdefinierte Felder für die Frage, die sie übermitteln, "
1264
+ "ausfüllen können? Aus Sicherheitsgründen können Inhalte von Dateifeldern "
1265
+ "nicht übermittelt werden."
1266
+
1267
+ #: includes/Settings.class.php:784
1268
+ msgid "Submit Question Captcha"
1269
+ msgstr "Frage stellen Captcha"
1270
+
1271
+ #: includes/Settings.class.php:785
1272
+ msgid ""
1273
+ "When using the user-submitted question shortcode, should a captcha field be "
1274
+ "added to the form to reduce the volume of spam FAQs?"
1275
+ msgstr ""
1276
+ "Soll bei Verwendung des Shortcodes für vom Benutzer eingereichte Fragen ein "
1277
+ "Captcha-Feld in das Formular eingefügt werden, um das Aufkommen von Spam-"
1278
+ "FAQs zu reduzieren?"
1279
+
1280
+ #: includes/Settings.class.php:809
1281
+ msgid "Default Category"
1282
+ msgstr "Standardkategorie"
1283
+
1284
+ #: includes/Settings.class.php:810
1285
+ msgid "Which category should submitted questions default to?"
1286
+ msgstr "In welche Kategorie sollen eingereichte Fragen standardmäßig fallen?"
1287
+
1288
+ #: includes/Settings.class.php:822
1289
+ msgid "Admin Question Notification"
1290
+ msgstr "Benachrichtigung bei Fragen an Admin"
1291
+
1292
+ #: includes/Settings.class.php:823
1293
+ msgid ""
1294
+ "Should an email be sent to the site administrator when a question is "
1295
+ "submitted?"
1296
+ msgstr ""
1297
+ "Soll eine E-Mail an den Site-Administrator gesendet werden, wenn eine Frage "
1298
+ "übermittelt wird?"
1299
+
1300
+ #: includes/Settings.class.php:833
1301
+ msgid "Admin Notification Email"
1302
+ msgstr "E-Mail-Benachrichtigung von Admin"
1303
+
1304
+ #: includes/Settings.class.php:834
1305
+ msgid ""
1306
+ "What email address should the notifications be sent to if \"Admin Question "
1307
+ "Notification\" is enabled above? If blank, the default WordPress admin email "
1308
+ "will be used."
1309
+ msgstr ""
1310
+ "An welche E-Mail-Adresse sollen die Benachrichtigungen gesendet werden, wenn "
1311
+ "\"Benachrichtigung bei Fragen an Admin\" oben aktiviert ist? Wenn leer, wird "
1312
+ "die Standard-WordPress-Admin-E-Mail verwendet."
1313
+
1314
+ #: includes/Settings.class.php:852
1315
+ msgid "FAQ Submitted Thank You E-mail"
1316
+ msgstr "FAQ übermittelt, Danke E-Mail"
1317
+
1318
+ #: includes/Settings.class.php:853
1319
+ msgid ""
1320
+ "You can use the <a href=\"https://wordpress.org/plugins/ultimate-wp-mail/"
1321
+ "\">Ultimate WP Mail plugin</a> to create a custom email that is sent "
1322
+ "whenever an faq is submitted."
1323
+ msgstr ""
1324
+ "Du kannst das <a href=\"https://wordpress.org/plugins/ultimate-wp-mail/"
1325
+ "\">Plugin Ultimate WP Mail</a> verwenden, um eine benutzerdefinierte E-Mail "
1326
+ "zu erstellen, die immer dann gesendet wird, wenn eine FAQ übermittelt wird."
1327
+
1328
+ #: includes/Settings.class.php:864 includes/Settings.class.php:877
1329
+ msgid "FAQ Elements Order"
1330
+ msgstr "FAQ-Elementreihenfolge"
1331
+
1332
+ #: includes/Settings.class.php:878
1333
+ msgid ""
1334
+ "You can use this table to drag-and-drop the elements of an FAQ into a "
1335
+ "different order."
1336
+ msgstr ""
1337
+ "Du kannst diese Tabelle verwenden, um die Elemente einer FAQ per Drag-and-"
1338
+ "Drop in eine andere Reihenfolge zu bringen."
1339
+
1340
+ #: includes/Settings.class.php:887
1341
+ msgid "Ordering"
1342
+ msgstr "Sortierung"
1343
+
1344
+ #: includes/Settings.class.php:918
1345
+ msgid "Display FAQ Category Count"
1346
+ msgstr "Anzahl der FAQ-Kategorien anzeigen"
1347
+
1348
+ #: includes/Settings.class.php:919
1349
+ msgid ""
1350
+ "If FAQs are grouped by category, should the number of FAQs in a category be "
1351
+ "displayed beside the category name?"
1352
+ msgstr ""
1353
+ "Wenn FAQs nach Kategorien gruppiert sind, soll dann die Anzahl der FAQs in "
1354
+ "einer Kategorie neben dem Kategorienamen angezeigt werden?"
1355
+
1356
+ #: includes/Settings.class.php:929
1357
+ msgid "Sort Categories"
1358
+ msgstr "Kategorien sortieren"
1359
+
1360
+ #: includes/Settings.class.php:930 includes/Settings.class.php:947
1361
+ msgid ""
1362
+ "How should FAQ categories be ordered? (Only used if \"Group FAQs by Category"
1363
+ "\" above is enabled.)"
1364
+ msgstr ""
1365
+ "Wie sollen die FAQ-Kategorien sortiert werden? (Wird nur verwendet, wenn "
1366
+ "\"FAQs nach Kategorie gruppieren\" oben aktiviert ist.)"
1367
+
1368
+ #: includes/Settings.class.php:934
1369
+ msgid "FAQ Count"
1370
+ msgstr "FAQ Anzahl"
1371
+
1372
+ #: includes/Settings.class.php:935
1373
+ msgid "Slug"
1374
+ msgstr "Slug"
1375
+
1376
+ #: includes/Settings.class.php:946
1377
+ msgid "Sort Categories Ordering"
1378
+ msgstr "Kategorien sortieren Reihenfolge"
1379
+
1380
+ #: includes/Settings.class.php:949 includes/Settings.class.php:984
1381
+ msgid "Ascending"
1382
+ msgstr "Aufsteigend"
1383
+
1384
+ #: includes/Settings.class.php:950 includes/Settings.class.php:985
1385
+ msgid "Descending"
1386
+ msgstr "Absteigend"
1387
+
1388
+ #: includes/Settings.class.php:969
1389
+ msgid "Selected Order (Premium option)"
1390
+ msgstr "Ausgewählte Sortierung (Premium-Option)"
1391
+
1392
+ #: includes/Settings.class.php:981
1393
+ msgid "Sort FAQs Ordering"
1394
+ msgstr "FAQs Reihenfolge sortieren"
1395
+
1396
+ #: includes/Settings.class.php:982
1397
+ msgid ""
1398
+ "Should FAQ be ascending or descending order, based on the ordering criteria "
1399
+ "above?"
1400
+ msgstr ""
1401
+ "Soll die FAQ aufsteigend oder absteigend sortiert sein, basierend auf den "
1402
+ "obigen Sortierkriterien?"
1403
+
1404
+ #: includes/Settings.class.php:1004
1405
+ msgid "Fields"
1406
+ msgstr "Felder"
1407
+
1408
+ #: includes/Settings.class.php:1027
1409
+ msgid "Hide Blank Fields"
1410
+ msgstr "Leere Felder ausblenden"
1411
+
1412
+ #: includes/Settings.class.php:1028
1413
+ msgid ""
1414
+ "Should field labels be hidden if a field hasn't been filled out for a "
1415
+ "particular FAQ?"
1416
+ msgstr ""
1417
+ "Sollen Feldbezeichnungen ausgeblendet werden, wenn ein Feld für eine "
1418
+ "bestimmte FAQ nicht ausgefüllt wurde?"
1419
+
1420
+ #: includes/Settings.class.php:1032
1421
+ msgid "Should any extra fields be added to the FAQs?"
1422
+ msgstr "Sollen den FAQs zusätzliche Felder hinzugefügt werden?"
1423
+
1424
+ #: includes/Settings.class.php:1033
1425
+ msgid ""
1426
+ "The \"Field Values\" should be a comma-separated list of values for the "
1427
+ "select, radio or checkbox field types (no extra spaces after the comma)."
1428
+ msgstr ""
1429
+ "Die \"Feldwerte\" sollten eine kommagetrennte Liste von Werten für die "
1430
+ "Feldtypen Select, Radio oder Checkbox sein (keine zusätzlichen Leerzeichen "
1431
+ "nach dem Komma)."
1432
+
1433
+ #: includes/Settings.class.php:1034
1434
+ msgid ""
1435
+ "For security reasons, file fields cannot be included in the submit FAQ form."
1436
+ msgstr ""
1437
+ "Aus Sicherheitsgründen kann das FAQ-Übermittlungsformular keine Dateifelder "
1438
+ "enthalten."
1439
+
1440
+ #: includes/Settings.class.php:1042
1441
+ msgid "FAQ Custom Fields"
1442
+ msgstr "FAQ Benutzerdefinierte Felder"
1443
+
1444
+ #: includes/Settings.class.php:1043
1445
+ msgid "&plus; ADD"
1446
+ msgstr "+ ADD"
1447
+
1448
+ #: includes/Settings.class.php:1044
1449
+ msgid "Delete"
1450
+ msgstr "Löschen"
1451
+
1452
+ #: includes/Settings.class.php:1059
1453
+ msgid "Field Type"
1454
+ msgstr "Feldtyp"
1455
+
1456
+ #: includes/Settings.class.php:1062
1457
+ msgid "Text Area"
1458
+ msgstr "Textbereich"
1459
+
1460
+ #: includes/Settings.class.php:1063
1461
+ msgid "Select Box"
1462
+ msgstr "Auswahlbox"
1463
+
1464
+ #: includes/Settings.class.php:1064
1465
+ msgid "Radio Buttons"
1466
+ msgstr "Optionsfelder"
1467
+
1468
+ #: includes/Settings.class.php:1065
1469
+ msgid "Checkbox"
1470
+ msgstr "Checkbox"
1471
+
1472
+ #: includes/Settings.class.php:1066
1473
+ msgid "File"
1474
+ msgstr "Datei"
1475
+
1476
+ #: includes/Settings.class.php:1067
1477
+ msgid "Link"
1478
+ msgstr "Link"
1479
+
1480
+ #: includes/Settings.class.php:1068
1481
+ msgid "Date"
1482
+ msgstr "Datum"
1483
+
1484
+ #: includes/Settings.class.php:1069
1485
+ msgid "Date/Time"
1486
+ msgstr "Datum/Uhrzeit"
1487
+
1488
+ #: includes/Settings.class.php:1074
1489
+ msgid "Field Values"
1490
+ msgstr "Feldwerte"
1491
+
1492
+ #: includes/Settings.class.php:1094
1493
+ msgid "Labelling"
1494
+ msgstr "Beschriftung"
1495
+
1496
+ #: includes/Settings.class.php:1104
1497
+ msgid "FAQ Page and Search"
1498
+ msgstr "FAQ-Seite und -Suche"
1499
+
1500
+ #: includes/Settings.class.php:1117 views/View.class.php:107
1501
+ msgid "Posted"
1502
+ msgstr "Veröffentlicht"
1503
+
1504
+ #: includes/Settings.class.php:1128
1505
+ msgid "By"
1506
+ msgstr "Von"
1507
+
1508
+ #: includes/Settings.class.php:1139
1509
+ msgid "On"
1510
+ msgstr "An"
1511
+
1512
+ #: includes/Settings.class.php:1172 views/View.class.php:112
1513
+ msgid "Permalink"
1514
+ msgstr "Permalink"
1515
+
1516
+ #: includes/Settings.class.php:1183
1517
+ msgid "Back To Top"
1518
+ msgstr "Nach oben"
1519
+
1520
+ #: includes/Settings.class.php:1194
1521
+ msgid "WooCommerce Tab"
1522
+ msgstr "WooCommerce Register"
1523
+
1524
+ #: includes/Settings.class.php:1205 views/View.class.php:120
1525
+ msgid "Share"
1526
+ msgstr "Teilen"
1527
+
1528
+ #: includes/Settings.class.php:1216 views/View.class.php:121
1529
+ msgid "Did you find this FAQ helpful?"
1530
+ msgstr "Fanden Sie diese FAQ hilfreich?"
1531
+
1532
+ #: includes/Settings.class.php:1227
1533
+ msgid "Enter your quetion"
1534
+ msgstr "Gib Deine Frage ein"
1535
+
1536
+ #: includes/Settings.class.php:1238
1537
+ msgid "Search Placeholder"
1538
+ msgstr "Platzhalter für Suche"
1539
+
1540
+ #: includes/Settings.class.php:1249
1541
+ msgid "Search Button"
1542
+ msgstr "Such-Button"
1543
+
1544
+ #: includes/Settings.class.php:1281
1545
+ msgid "FAQ Submit Page"
1546
+ msgstr "FAQ-Seite senden"
1547
+
1548
+ #: includes/Settings.class.php:1294
1549
+ msgid "Thank you for submitting an FAQ"
1550
+ msgstr "Vielen Dank, dass Sie eine FAQ gesendet haben"
1551
+
1552
+ #: includes/Settings.class.php:1305 views/View.class.php:124
1553
+ msgid "Submit a Question"
1554
+ msgstr "Stell eine Frage"
1555
+
1556
+ #: includes/Settings.class.php:1316 views/View.class.php:125
1557
+ msgid "Please fill out the form below to submit a question."
1558
+ msgstr "Bitte füll das folgende Formular aus, um eine Frage zu stellen."
1559
+
1560
+ #: includes/Settings.class.php:1327 views/View.class.php:126
1561
+ msgid "Send Question"
1562
+ msgstr "Frage senden"
1563
+
1564
+ #: includes/Settings.class.php:1338 views/View.class.php:127
1565
+ msgid "Question Title"
1566
+ msgstr "Titel der Frage"
1567
+
1568
+ #: includes/Settings.class.php:1349 views/View.class.php:128
1569
+ msgid "What question is being answered?"
1570
+ msgstr "Welche Frage ist zu beantworten?"
1571
+
1572
+ #: includes/Settings.class.php:1360 views/View.class.php:129
1573
+ msgid "Proposed Answer"
1574
+ msgstr "Vorgeschlagene Antwort"
1575
+
1576
+ #: includes/Settings.class.php:1371 views/View.class.php:130
1577
+ msgid "What answer should be displayed for this question?"
1578
+ msgstr "Welche Antwort soll bei dieser Frage angezeigt werden?"
1579
+
1580
+ #: includes/Settings.class.php:1382
1581
+ msgid "Question Author"
1582
+ msgstr "Autor der Frage"
1583
+
1584
+ #: includes/Settings.class.php:1393 views/View.class.php:135
1585
+ msgid "Image Number"
1586
+ msgstr "Bild Nummer"
1587
+
1588
+ #: includes/Settings.class.php:1404
1589
+ msgid "What name should be displayed with your question?"
1590
+ msgstr "Welcher Name sollte bei deiner Frage angezeigt werden?"
1591
+
1592
+ #: includes/Settings.class.php:1422
1593
+ msgid "Styling"
1594
+ msgstr "Styling"
1595
+
1596
+ #: includes/Settings.class.php:1432 includes/Settings.class.php:1445
1597
+ msgid "Toggle Symbol"
1598
+ msgstr "Symbol umschalten"
1599
+
1600
+ #: includes/Settings.class.php:1474
1601
+ msgid "Toggle Background Color"
1602
+ msgstr "Hintergrundfarbe umschalten"
1603
+
1604
+ #: includes/Settings.class.php:1484
1605
+ msgid "Toggle Color"
1606
+ msgstr "Textfarbe Umschalter"
1607
+
1608
+ #: includes/Settings.class.php:1494
1609
+ msgid "Toggle Border Color"
1610
+ msgstr "Umrandungsfarbe umschalten"
1611
+
1612
+ #: includes/Settings.class.php:1504
1613
+ msgid "Toggle Font Size"
1614
+ msgstr "Schriftgröße umschalten"
1615
+
1616
+ #: includes/Settings.class.php:1516
1617
+ msgid "Border Size"
1618
+ msgstr "Rahmengröße"
1619
+
1620
+ #: includes/Settings.class.php:1528
1621
+ msgid "Border Radius"
1622
+ msgstr "Rahmen Radius"
1623
+
1624
+ #: includes/Settings.class.php:1539
1625
+ msgid "Themes"
1626
+ msgstr "Themes"
1627
+
1628
+ #: includes/Settings.class.php:1552
1629
+ msgid "Block and Border Block Background Color"
1630
+ msgstr "Block und Block-Umrandung Hintergrundfarbe"
1631
+
1632
+ #: includes/Settings.class.php:1562
1633
+ msgid "Block and Border Block Hover Font Color"
1634
+ msgstr "Block und Block-Umrandung Hover-Schriftfarbe"
1635
+
1636
+ #: includes/Settings.class.php:1572
1637
+ msgid "List Font Color"
1638
+ msgstr "Liste Schriftfarbe"
1639
+
1640
+ #: includes/Settings.class.php:1583
1641
+ msgid "Font Family"
1642
+ msgstr "Schriftfamilie"
1643
+
1644
+ #: includes/Settings.class.php:1595
1645
+ msgid "Font Size"
1646
+ msgstr "Schriftgröße"
1647
+
1648
+ #: includes/Settings.class.php:1607
1649
+ msgid "Margin"
1650
+ msgstr "Margin"
1651
+
1652
+ #: includes/Settings.class.php:1619
1653
+ msgid "Padding"
1654
+ msgstr "Innenabstand"
1655
+
1656
+ #: includes/Settings.class.php:1630
1657
+ msgid "FAQ Elements"
1658
+ msgstr "FAQ-Elemente"
1659
+
1660
+ #: includes/Settings.class.php:1643
1661
+ msgid "Question Font Color"
1662
+ msgstr "Frage Schriftfarbe"
1663
+
1664
+ #: includes/Settings.class.php:1654
1665
+ msgid "Question Font Family"
1666
+ msgstr "Frage Schriftfamilie"
1667
+
1668
+ #: includes/Settings.class.php:1666
1669
+ msgid "Question Font Size"
1670
+ msgstr "Frage Schriftgröße"
1671
+
1672
+ #: includes/Settings.class.php:1678
1673
+ msgid "Question Margin"
1674
+ msgstr "Frage äußerer Rand"
1675
+
1676
+ #: includes/Settings.class.php:1690
1677
+ msgid "Question Padding"
1678
+ msgstr "Frage innerer Rand"
1679
+
1680
+ #: includes/Settings.class.php:1702
1681
+ msgid "Toggle Symbol Top Margin"
1682
+ msgstr "Umschalten des Symbols oberer Rand"
1683
+
1684
+ #: includes/Settings.class.php:1714
1685
+ msgid "Answer Font Color"
1686
+ msgstr "Antwort Schriftfarbe"
1687
+
1688
+ #: includes/Settings.class.php:1725
1689
+ msgid "Answer Font Family"
1690
+ msgstr "Antwort Schriftfamilie"
1691
+
1692
+ #: includes/Settings.class.php:1737
1693
+ msgid "Answer Font Size"
1694
+ msgstr "Antwort Schriftgröße"
1695
+
1696
+ #: includes/Settings.class.php:1749
1697
+ msgid "Answer Margin"
1698
+ msgstr "Antwort äußerer Rand"
1699
+
1700
+ #: includes/Settings.class.php:1761
1701
+ msgid "Answer Padding"
1702
+ msgstr "Antwort innerer Rand"
1703
+
1704
+ #: includes/Settings.class.php:1773
1705
+ msgid "Categories, Tags Font Color"
1706
+ msgstr "Kategorien und Tags Schriftfarbe"
1707
+
1708
+ #: includes/Settings.class.php:1784
1709
+ msgid "Categories, Tags Font Family"
1710
+ msgstr "Kategorien und Tags Schriftfamilie"
1711
+
1712
+ #: includes/Settings.class.php:1796
1713
+ msgid "Categories, Tags Font Size"
1714
+ msgstr "Kategorien und Tags Schriftgröße"
1715
+
1716
+ #: includes/Settings.class.php:1808
1717
+ msgid "Categories, Tags Margin"
1718
+ msgstr "Kategorien und Tags äußerer Rand"
1719
+
1720
+ #: includes/Settings.class.php:1820
1721
+ msgid "Categories, Tags Padding"
1722
+ msgstr "Kategorien und Tags innerer Rand"
1723
+
1724
+ #: includes/Settings.class.php:1832
1725
+ msgid "Post Date Font Color"
1726
+ msgstr "Beitragsdatum Schriftfarbe"
1727
+
1728
+ #: includes/Settings.class.php:1843
1729
+ msgid "Post Date Font Family"
1730
+ msgstr "Beitragsdatum Schriftfamilie"
1731
+
1732
+ #: includes/Settings.class.php:1855
1733
+ msgid "Post Date Font Size"
1734
+ msgstr "Beitragsdatum Schriftgröße"
1735
+
1736
+ #: includes/Settings.class.php:1867
1737
+ msgid "Post Date Margin"
1738
+ msgstr "Beitragsdatum äußerer Rand"
1739
+
1740
+ #: includes/Settings.class.php:1879
1741
+ msgid "Post Date Padding"
1742
+ msgstr "Beitragsdatum innerer Rand"
1743
+
1744
+ #: includes/Settings.class.php:1890
1745
+ msgid "Headings"
1746
+ msgstr "Überschriften"
1747
+
1748
+ #: includes/Settings.class.php:1903
1749
+ msgid "Category Heading Type"
1750
+ msgstr "Kategorie Überschriftarten"
1751
+
1752
+ #: includes/Settings.class.php:1905 includes/Settings.class.php:1924
1753
+ msgid "H1"
1754
+ msgstr "H1"
1755
+
1756
+ #: includes/Settings.class.php:1906 includes/Settings.class.php:1925
1757
+ msgid "H2"
1758
+ msgstr "H2"
1759
+
1760
+ #: includes/Settings.class.php:1907 includes/Settings.class.php:1926
1761
+ msgid "H3"
1762
+ msgstr "H3"
1763
+
1764
+ #: includes/Settings.class.php:1908 includes/Settings.class.php:1927
1765
+ msgid "H4"
1766
+ msgstr "H4"
1767
+
1768
+ #: includes/Settings.class.php:1909 includes/Settings.class.php:1928
1769
+ msgid "H5"
1770
+ msgstr "H5"
1771
+
1772
+ #: includes/Settings.class.php:1910 includes/Settings.class.php:1929
1773
+ msgid "H6"
1774
+ msgstr "H6"
1775
+
1776
+ #: includes/Settings.class.php:1922
1777
+ msgid "FAQ Heading Type"
1778
+ msgstr "FAQ-Überschrift"
1779
+
1780
+ #: includes/Settings.class.php:1941
1781
+ msgid "Category Heading Font Color"
1782
+ msgstr "Kategorie-Überschrift Schriftfarbe"
1783
+
1784
+ #: includes/Settings.class.php:1952
1785
+ msgid "Category Heading Font Family"
1786
+ msgstr "Kategorie-Überschrift Schriftfamilie"
1787
+
1788
+ #: includes/Settings.class.php:1964
1789
+ msgid "Category Heading Font Size"
1790
+ msgstr "Kategorie-Überschrift Schriftgröße"
1791
+
1792
+ #: includes/WPForms.class.php:56
1793
+ msgid ""
1794
+ "Disable FAQ display for this form, or enable it only on specific fields."
1795
+ msgstr ""
1796
+ "Deaktiviere die FAQ Anzeige für dieses Formular oder aktiviere sie nur für "
1797
+ "bestimmte Felder."
1798
+
1799
+ #: includes/WPForms.class.php:71
1800
+ msgid ""
1801
+ "If FAQs are set to a specific field, which field should FAQs be displayed "
1802
+ "for?"
1803
+ msgstr ""
1804
+ "Wenn FAQs auf ein bestimmtes Feld festgelegt sind, für welches Feld sollten "
1805
+ "FAQs angezeigt werden?"
1806
+
1807
+ #: includes/WPForms.class.php:77
1808
+ msgid "-- Select Field --"
1809
+ msgstr "-- Feld auswählen --"
1810
+
1811
+ #: includes/WPForms.class.php:128
1812
+ msgid "Possible FAQs related to your message:"
1813
+ msgstr "Mögliche FAQs zu Deiner Frage:"
1814
+
1815
+ #: includes/Widgets.class.php:50
1816
+ msgid "UFAQ FAQ ID List"
1817
+ msgstr "UFAQ FAQ-ID-Liste"
1818
+
1819
+ #: includes/Widgets.class.php:51
1820
+ msgid "Insert FAQ posts using a comma-separated list of post IDs"
1821
+ msgstr ""
1822
+ "Füge FAQ-Beiträge mit einer durch Kommata getrennten Liste von Beitrags-IDs "
1823
+ "ein"
1824
+
1825
+ #: includes/Widgets.class.php:76
1826
+ msgid "FAQ ID List"
1827
+ msgstr "FAQ-ID-Liste"
1828
+
1829
+ #: includes/Widgets.class.php:82
1830
+ msgid "FAQ ID List:"
1831
+ msgstr "FAQ-ID-Liste:"
1832
+
1833
+ #: includes/Widgets.class.php:86 includes/Widgets.class.php:154
1834
+ #: includes/Widgets.class.php:222 includes/Widgets.class.php:294
1835
+ #: includes/Widgets.class.php:361
1836
+ msgid "Widget Title:"
1837
+ msgstr "Widget Titel:"
1838
+
1839
+ #: includes/Widgets.class.php:118
1840
+ msgid "Recent FAQs"
1841
+ msgstr "Neueste FAQs"
1842
+
1843
+ #: includes/Widgets.class.php:119
1844
+ msgid "Insert a number of the most recent FAQs"
1845
+ msgstr "Füge eine Reihe der neuesten FAQs ein"
1846
+
1847
+ #: includes/Widgets.class.php:144 includes/Widgets.class.php:212
1848
+ msgid "Number of FAQs"
1849
+ msgstr "Anzahl der FAQs"
1850
+
1851
+ #: includes/Widgets.class.php:145 includes/Widgets.class.php:213
1852
+ #: includes/Widgets.class.php:289 includes/Widgets.class.php:352
1853
+ msgid "Widget Title"
1854
+ msgstr "Widget Titel"
1855
+
1856
+ #: includes/Widgets.class.php:150 includes/Widgets.class.php:218
1857
+ msgid "Number of FAQs:"
1858
+ msgstr "Anzahl der FAQs:"
1859
+
1860
+ #: includes/Widgets.class.php:186
1861
+ msgid "Popular FAQs"
1862
+ msgstr "Beliebte FAQs"
1863
+
1864
+ #: includes/Widgets.class.php:187
1865
+ msgid "Insert a number of popular FAQs."
1866
+ msgstr "Füge eine Reihe von beliebten FAQs ein."
1867
+
1868
+ #: includes/Widgets.class.php:254
1869
+ msgid "Random FAQ"
1870
+ msgstr "Zufällige FAQs"
1871
+
1872
+ #: includes/Widgets.class.php:255
1873
+ msgid "Display a random FAQ"
1874
+ msgstr "Eine zufällige FAQ anzeigen"
1875
+
1876
+ #: includes/Widgets.class.php:325
1877
+ msgid "UFAQ FAQ Category List"
1878
+ msgstr "UFAQ FAQ-Kategorienliste"
1879
+
1880
+ #: includes/Widgets.class.php:326
1881
+ msgid "Insert FAQ posts using a comma-separated list of categories"
1882
+ msgstr ""
1883
+ "Füge FAQ-Beiträge mit einer durch Kommata getrennten Liste von Kategorien ein"
1884
+
1885
+ #: includes/Widgets.class.php:351
1886
+ msgid "FAQ Category List"
1887
+ msgstr "FAQ-Kategorienliste"
1888
+
1889
+ #: includes/Widgets.class.php:357
1890
+ msgid "FAQ Category List:"
1891
+ msgstr "FAQ-Kategorienliste:"
1892
+
1893
+ #: includes/WooCommerce.class.php:147
1894
+ msgid ""
1895
+ "You can use the form below to select which FAQs to display for this product, "
1896
+ "or leave it blank to use the default category naming system."
1897
+ msgstr ""
1898
+ "Du kannst das folgende Formular verwenden, um auszuwählen, welche FAQs für "
1899
+ "dieses Produkt angezeigt werden sollen, oder es leer lassen, um das "
1900
+ "Standardsystem für die Benennung von Kategorien zu verwenden."
1901
+
1902
+ #: includes/WooCommerce.class.php:157
1903
+ msgid "All Categories"
1904
+ msgstr "Alle Kategorien"
1905
+
1906
+ #: includes/WooCommerce.class.php:164 includes/WooCommerce.class.php:286
1907
+ msgid "Add?"
1908
+ msgstr "Hinzufügen?"
1909
+
1910
+ #: includes/WooCommerce.class.php:179
1911
+ msgid "Add FAQs"
1912
+ msgstr "FAQs hinzufügen"
1913
+
1914
+ #: includes/WooCommerce.class.php:191
1915
+ msgid "Delete?"
1916
+ msgstr "Löschen?"
1917
+
1918
+ #: includes/WooCommerce.class.php:207
1919
+ msgid "Delete FAQs"
1920
+ msgstr "FAQs löschen"
1921
+
1922
+ #: lib/simple-admin-pages/classes/AdminPage.class.php:173
1923
+ msgid "You do not have sufficient permissions to access this page."
1924
+ msgstr ""
1925
+ "Du hast nicht die erforderlichen Rechte, um auf diese Seite zuzugreifen."
1926
+
1927
+ #: lib/simple-admin-pages/classes/AdminPageSetting.FileUpload.class.php:46
1928
+ msgid "Current image:"
1929
+ msgstr "Aktuelles Bild:"
1930
+
1931
+ #: lib/simple-admin-pages/classes/AdminPageSetting.FileUpload.class.php:59
1932
+ msgid "Upload Image"
1933
+ msgstr "Bild hochladen"
1934
+
1935
+ #: ultimate-faqs.php:318
1936
+ msgid "Head to the settings page for Ultimate FAQs"
1937
+ msgstr "Gehe zur Einstellungsseite für Ultimate FAQs"
1938
+
1939
+ #: ultimate-faqs.php:405
1940
+ msgid "MENU"
1941
+ msgstr "MENÜ"
1942
+
1943
+ #: ultimate-faqs.php:406
1944
+ msgid "Dashboard"
1945
+ msgstr "Dashboard"
1946
+
1947
+ #: ultimate-faqs.php:411
1948
+ msgid "Import"
1949
+ msgstr "Importieren"
1950
+
1951
+ #: ultimate-faqs.php:412
1952
+ msgid "Export"
1953
+ msgstr "Export"
1954
+
1955
+ #: ultimate-faqs.php:414
1956
+ msgid "FAQ Order"
1957
+ msgstr "FAQ-Sortierung"
1958
+
1959
+ #: views/View.FAQ.class.php:499
1960
+ msgid "Category:"
1961
+ msgstr "Kategorie:"
1962
+
1963
+ #: views/View.FAQ.class.php:499
1964
+ msgid "Categories:"
1965
+ msgstr "Kategorien:"
1966
+
1967
+ #: views/View.FAQ.class.php:523
1968
+ msgid "Tag:"
1969
+ msgstr "Schlagwort:"
1970
+
1971
+ #: views/View.FAQ.class.php:523
1972
+ msgid "Tags:"
1973
+ msgstr "Tags:"
1974
+
1975
+ #: views/View.FAQ.class.php:592 views/View.FAQ.class.php:604
1976
+ #: views/View.FAQ.class.php:616 views/View.FAQ.class.php:628
1977
+ msgid "Check out this helpful FAQ"
1978
+ msgstr "Schau dir diese hilfreiche FAQ an"
1979
+
1980
+ #: views/View.class.php:108
1981
+ msgid "by"
1982
+ msgstr "von"
1983
+
1984
+ #: views/View.class.php:109
1985
+ msgid "on"
1986
+ msgstr "an"
1987
+
1988
+ #: views/View.class.php:110
1989
+ msgid "Enter your question"
1990
+ msgstr "Was suchst Du"
1991
+
1992
+ #: views/View.class.php:111
1993
+ msgid "Search"
1994
+ msgstr "Suchen"
1995
+
1996
+ #: views/View.class.php:113
1997
+ msgid "Back to Top"
1998
+ msgstr "Nach oben"
1999
+
2000
+ #: views/View.class.php:114
2001
+ msgid "Expand All"
2002
+ msgstr "Alle ausklappen"
2003
+
2004
+ #: views/View.class.php:115
2005
+ msgid "Collapse All"
2006
+ msgstr "Alles einklappen"
2007
+
2008
+ #: views/View.class.php:118
2009
+ msgid "Load More"
2010
+ msgstr "Mehr laden"
2011
+
2012
+ #: views/View.class.php:122
2013
+ msgid "Enter your question..."
2014
+ msgstr "Gib ein Schlagwort ein..."
2015
+
2016
+ #: views/View.class.php:131
2017
+ msgid "FAQ Author"
2018
+ msgstr "FAQ-Autor"
2019
+
2020
+ #: views/View.class.php:132
2021
+ msgid "What name should be displayed with your FAQ?"
2022
+ msgstr "Welcher Name sollte in deiner FAQ angezeigt werden?"
2023
+
2024
+ #: views/View.class.php:133
2025
+ msgid "Author Email"
2026
+ msgstr "Autoren E-Mail"
2027
+
2028
+ #: views/View.class.php:134
2029
+ msgid ""
2030
+ "This is only used to verify the authenticity of the FAQ. It is not displayed "
2031
+ "anywhere."
2032
+ msgstr ""
2033
+ "Dies wird nur verwendet, um die Echtheit der FAQ zu überprüfen. Es wird "
2034
+ "nirgendwo angezeigt."
2035
+
2036
+ #: views/View.class.php:136
2037
+ #, php-format
2038
+ msgid "No result FAQs contained the term '%s'"
2039
+ msgstr "Kein Ergebnis der FAQs enthielt den Begriff '%s'"
2040
+
2041
+ #. Plugin URI of the plugin/theme
2042
+ #. Author URI of the plugin/theme
2043
+ msgid "http://www.EtoileWebDesign.com/plugins/ultimate-faqs/"
2044
+ msgstr "http://www.EtoileWebDesign.com/plugins/ultimate-faqs/"
2045
+
2046
+ #. Description of the plugin/theme
2047
+ msgid ""
2048
+ "Easily create and add FAQs to your WordPress site with a Gutenberg block, "
2049
+ "shortcode or widget. Includes FAQ schema, search, accordion toggle and more."
2050
+ msgstr ""
2051
+ "Einfaches Erstellen und Hinzufügen von FAQs zu Deiner WordPress-Website mit "
2052
+ "einem Gutenberg-Block, Shortcode oder Widget. Enthält FAQ-Schema, Suche, "
2053
+ "Akkordeon-Toggle und mehr."
2054
+
2055
+ #. Author of the plugin/theme
2056
+ msgid "Etoile Web Design"
2057
+ msgstr "Etoile Web Design"
languages/ultimate-faqs-it_IT.po CHANGED
@@ -1,620 +1,620 @@
1
- # Copyright (C) 2017 FAQ
2
- # This file is distributed under the same license as the FAQ package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: FAQ 1.5.13\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ultimate-faqs\n"
7
- "POT-Creation-Date: 2017-05-16 11:51+0200\n"
8
- "PO-Revision-Date: 2017-05-19 11:16+0200\n"
9
- "Last-Translator: \n"
10
- "Language-Team: \n"
11
- "Language: it_IT\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 2.0.2\n"
16
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
-
18
- #: Functions/EWD_UFAQ_Add_Social_Media_Buttons.php:4
19
- msgid "Check out this helpful FAQ"
20
- msgstr "Scopri questa utile FAQ"
21
-
22
- #: Functions/EWD_UFAQ_Add_Views_Column.php:4
23
- msgid "# of Views"
24
- msgstr "# di Visualizzazioni"
25
-
26
- #: Functions/EWD_UFAQ_Add_Views_Column.php:5 Main.php:85
27
- #: html/DashboardPage.php:182 html/OptionsPage.php:524 html/OptionsPage.php:557
28
- #: html/OptionsPage.php:655
29
- msgid "Categories"
30
- msgstr "Categorie"
31
-
32
- #: Functions/EWD_UFAQ_Add_Views_Column.php:6
33
- msgid "Post ID"
34
- msgstr "ID del Post"
35
-
36
- #: Functions/EWD_UFAQ_Import.php:113
37
- msgid "FAQs added successfully."
38
- msgstr "FAQs aggiunte correttamente."
39
-
40
- #: Functions/EWD_UFAQ_Import.php:125
41
- msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
42
- msgstr ""
43
- "Il file caricato risulta più grande della dimensione massima specificata nel "
44
- "php.ini"
45
-
46
- #: Functions/EWD_UFAQ_Import.php:128
47
- msgid ""
48
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
49
- "the HTML form"
50
- msgstr ""
51
- "Il file caricato risulta più grande della dimensione massima specificata nel "
52
- "form HTML"
53
-
54
- #: Functions/EWD_UFAQ_Import.php:131
55
- msgid "The uploaded file was only partially uploaded"
56
- msgstr "Il file è stato caricato solo parzialmente"
57
-
58
- #: Functions/EWD_UFAQ_Import.php:134 Functions/EWD_UFAQ_Meta_Boxes.php:257
59
- msgid "No file was uploaded."
60
- msgstr "Nessun file caricato."
61
-
62
- #: Functions/EWD_UFAQ_Import.php:138
63
- msgid "Missing a temporary folder"
64
- msgstr "Manca la cartella temporanea"
65
-
66
- #: Functions/EWD_UFAQ_Import.php:141
67
- msgid "Failed to write file to disk"
68
- msgstr "Impossibile scrivere il file sul disco"
69
-
70
- #: Functions/EWD_UFAQ_Import.php:144
71
- msgid "File upload stopped by extension"
72
- msgstr "L'estensione del file non risulta corretta"
73
-
74
- #: Functions/EWD_UFAQ_Import.php:148
75
- msgid "No error code avaiable"
76
- msgstr "Nessun codice d'errore disponibile"
77
-
78
- #: Functions/EWD_UFAQ_Import.php:153
79
- msgid "No file was uploaded here.."
80
- msgstr "Nessun file è stato caricato qui.."
81
-
82
- #: Functions/EWD_UFAQ_Import.php:158
83
- msgid "File must be .csv, .xls or .xlsx"
84
- msgstr "Il file deve essere .csv, .xls o .xlsx"
85
-
86
- #: Functions/EWD_UFAQ_Meta_Boxes.php:7
87
- msgid "Use the following shortcode to add this FAQ to a page:"
88
- msgstr "Utilizza il seguente shotcode per aggiungere questa FAQ ad una pagina:"
89
-
90
- #: Functions/EWD_UFAQ_Meta_Boxes.php:17
91
- msgid "FAQ shortcode for this category"
92
- msgstr "FAQ shortcode per questa categoria"
93
-
94
- #: Functions/EWD_UFAQ_Meta_Boxes.php:22
95
- msgid "FAQ Details"
96
- msgstr "Dettagli FAQ"
97
-
98
- #: Functions/EWD_UFAQ_Meta_Boxes.php:51
99
- msgid "Author Display Name:"
100
- msgstr "Nome Visualizzato dell'Autore:"
101
-
102
- #: Functions/EWD_UFAQ_Meta_Boxes.php:62
103
- msgid "Up Votes:"
104
- msgstr "Voti positivi:"
105
-
106
- #: Functions/EWD_UFAQ_Meta_Boxes.php:68
107
- msgid "Down Votes:"
108
- msgstr "Voti negativi:"
109
-
110
- #: Functions/EWD_UFAQ_Meta_Boxes.php:207
111
- msgid " One or more custom field values were incorrect."
112
- msgstr " Uno o più valori del campo custom erano errari."
113
-
114
- #: Functions/EWD_UFAQ_Submit_Question.php:16
115
- msgid "FAQ was not created succesfully."
116
- msgstr "FAQ non è stata creata correttamente."
117
-
118
- #: Functions/EWD_UFAQ_Submit_Question.php:32
119
- msgid "New Question Received"
120
- msgstr "Nuova domanda ricevuta"
121
-
122
- #: Functions/EWD_UFAQ_Submit_Question.php:34
123
- msgid "Hello Admin,"
124
- msgstr "Ciao Admin,"
125
-
126
- #: Functions/EWD_UFAQ_Submit_Question.php:35
127
- msgid "You've received a new question titled"
128
- msgstr "Hai ricevuto una nuova domanda intitolata"
129
-
130
- #: Functions/EWD_UFAQ_Submit_Question.php:37
131
- msgid "The answer reads:<br>"
132
- msgstr "La risposta è stata letta:<br>"
133
-
134
- #: Functions/EWD_UFAQ_Submit_Question.php:40
135
- msgid ""
136
- "You can view the question in the admin area by going to the following link:"
137
- "<br>"
138
- msgstr ""
139
- "Puoi visualizzare la domanda nel pannello di amministrazione passando al "
140
- "seguente link:<br>"
141
-
142
- #: Functions/EWD_UFAQ_Submit_Question.php:41
143
- msgid "See the review"
144
- msgstr "Vedi la recensione"
145
-
146
- #: Functions/EWD_UFAQ_Submit_Question.php:42
147
- msgid "Have a great day,"
148
- msgstr "Buona giornata,"
149
-
150
- #: Functions/EWD_UFAQ_Submit_Question.php:43
151
- msgid "Ultimate FAQs Team"
152
- msgstr "Team di Ultimate FAQs"
153
-
154
- #: Functions/EWD_UFAQ_Upgrade_Box.php:7 html/DashboardPage.php:30
155
- msgid "Full Version"
156
- msgstr "Versione Completa"
157
-
158
- #: Functions/EWD_UFAQ_Upgrade_Box.php:9 html/DashboardPage.php:32
159
- msgid "Upgrade to the full version "
160
- msgstr "Aggiorna alla versione completa "
161
-
162
- #: Functions/EWD_UFAQ_Upgrade_Box.php:9
163
- msgid ""
164
- "to take advantage of all the available features of the Ultimate FAQs for "
165
- "Wordpress!"
166
- msgstr ""
167
- "per approfittare di tutte le funzionalità disponibili di Ultimate FAQs per "
168
- "Wordpress!"
169
-
170
- #: Functions/EWD_UFAQ_Upgrade_Box.php:10 html/DashboardPage.php:36
171
- msgid "What you get by upgrading:"
172
- msgstr "Cosa ricevi effettuando l'aggiornamento:"
173
-
174
- #: Functions/EWD_UFAQ_Upgrade_Box.php:20 html/DashboardPage.php:46
175
- msgid "Product Key"
176
- msgstr "Chiave del Prodotto"
177
-
178
- #: Functions/EWD_UFAQ_Upgrade_Box.php:23 html/DashboardPage.php:49
179
- msgid "Upgrade"
180
- msgstr "Aggiornamento"
181
-
182
- #: Functions/EWD_UFAQ_Upgrade_Box.php:37
183
- msgid "Upgrade Complete!"
184
- msgstr "Aggiornamento Completato!"
185
-
186
- #: Functions/EWD_UFAQ_Widgets.php:10
187
- msgid "UFAQ FAQ ID List"
188
- msgstr "Lista ID delle FAQ di UFAQ"
189
-
190
- #: Functions/EWD_UFAQ_Widgets.php:11
191
- msgid "Insert FAQ posts using a comma-separated list of post IDs"
192
- msgstr ""
193
- "Inserisci le FAQ utilizzando un elenco di ID (delle FAQ) separato da virgole"
194
-
195
- #: Functions/EWD_UFAQ_Widgets.php:33
196
- msgid "FAQ ID List"
197
- msgstr "Lista ID delle FAQ"
198
-
199
- #: Functions/EWD_UFAQ_Widgets.php:36
200
- msgid "FAQ ID List:"
201
- msgstr "Lista ID delle FAQ:"
202
-
203
- #: Functions/EWD_UFAQ_Widgets.php:65
204
- msgid "Recent FAQs"
205
- msgstr "FAQs Recenti"
206
-
207
- #: Functions/EWD_UFAQ_Widgets.php:66
208
- msgid "Insert a number of the most recent FAQs"
209
- msgstr "Inserisci un numero di FAQ più recenti"
210
-
211
- #: Functions/EWD_UFAQ_Widgets.php:88 Functions/EWD_UFAQ_Widgets.php:143
212
- msgid "Number of FAQs"
213
- msgstr "Numero di FAQ"
214
-
215
- #: Functions/EWD_UFAQ_Widgets.php:91 Functions/EWD_UFAQ_Widgets.php:146
216
- msgid "Number of FAQs:"
217
- msgstr "Numero di FAQ:"
218
-
219
- #: Functions/EWD_UFAQ_Widgets.php:120
220
- msgid "Popular FAQs"
221
- msgstr "FAQs Popolari"
222
-
223
- #: Functions/EWD_UFAQ_Widgets.php:121
224
- msgid "Insert a number of the most popular FAQs"
225
- msgstr "Inserisci un numero di FAQ più popolari"
226
-
227
- #: Functions/EWD_UFAQ_Widgets.php:175
228
- msgid "UFAQ FAQ Category List"
229
- msgstr "Elenco categorie FAQ di UFAQ"
230
-
231
- #: Functions/EWD_UFAQ_Widgets.php:176
232
- msgid "Insert FAQ posts using a comma-separated list of categories"
233
- msgstr ""
234
- "Inserisci i post delle FAQ utilizzando un elenco di categorie separate da "
235
- "virgole"
236
-
237
- #: Functions/EWD_UFAQ_Widgets.php:198
238
- msgid "FAQ Category List"
239
- msgstr "Elenco categorie FAQ"
240
-
241
- #: Functions/EWD_UFAQ_Widgets.php:201
242
- msgid "FAQ Category List:"
243
- msgstr "Elenco categorie FAQ:"
244
-
245
- #: Functions/EWD_UFAQ_WooCommerce_Tab.php:26
246
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:7
247
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:9 Main.php:82
248
- msgid "FAQs"
249
- msgstr "FAQs"
250
-
251
- #: Functions/Full_Upgrade.php:8
252
- msgid "Trial successfully started!"
253
- msgstr "Periodo di prova iniziato!"
254
-
255
- #. Plugin Name of the plugin/theme
256
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:8
257
- msgid "FAQ"
258
- msgstr "FAQ"
259
-
260
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:10 Main.php:84
261
- msgid "Add New"
262
- msgstr "Aggiungi FAQ"
263
-
264
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:11
265
- msgid "Add New FAQ"
266
- msgstr "Aggiungi Nuova FAQ"
267
-
268
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:12
269
- msgid "Edit FAQ"
270
- msgstr "Modifica FAQ"
271
-
272
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:13
273
- msgid "New FAQ"
274
- msgstr "Nuova FAQ"
275
-
276
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:14
277
- msgid "View FAQ"
278
- msgstr "Visualizza FAQ"
279
-
280
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:15
281
- msgid "Search FAQs"
282
- msgstr "Cerca FAQs"
283
-
284
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:16
285
- msgid "Nothing found"
286
- msgstr "Nessun risultato"
287
-
288
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:17
289
- msgid "Nothing found in Trash"
290
- msgstr "Nessun risultato nel Cestino"
291
-
292
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:46
293
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:56
294
- msgid "FAQ Categories"
295
- msgstr "Categorie FAQ"
296
-
297
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:47
298
- msgid "FAQ Category"
299
- msgstr "Categoria FAQ"
300
-
301
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:48
302
- msgid "Search FAQ Categories"
303
- msgstr "Cerca le Categorie FAQ"
304
-
305
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:49
306
- msgid "All FAQ Categories"
307
- msgstr "Tutte le Categorie FAQ"
308
-
309
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:50
310
- msgid "Parent FAQ Category"
311
- msgstr "Categoria FAQ Genitore"
312
-
313
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:51
314
- msgid "Parent FAQ Category:"
315
- msgstr "Categoria FAQ Genitore:"
316
-
317
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:52
318
- msgid "Edit FAQ Category"
319
- msgstr "Modifica Categoria FAQ"
320
-
321
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:53
322
- msgid "Update FAQ Category"
323
- msgstr "Aggiorna Categoria FAQ"
324
-
325
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:54
326
- msgid "Add New FAQ Category"
327
- msgstr "Aggiungi Nuova Categoria FAQ"
328
-
329
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:55
330
- msgid "New FAQ Category Name"
331
- msgstr "Nuovo Nome Categoria FAQ"
332
-
333
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:66
334
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:76
335
- msgid "FAQ Tags"
336
- msgstr "Tags FAQ"
337
-
338
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:67
339
- msgid "FAQ Tag"
340
- msgstr "Tag FAQ"
341
-
342
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:68
343
- msgid "Search FAQ Tags"
344
- msgstr "Cerca i Tags FAQ"
345
-
346
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:69
347
- msgid "All FAQ Tags"
348
- msgstr "Tutti i Tags FAQ"
349
-
350
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:70
351
- msgid "Parent FAQ Tag"
352
- msgstr "Tag FAQ Genitore"
353
-
354
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:71
355
- msgid "Parent FAQ Tag:"
356
- msgstr "Tag FAQ Genitore:"
357
-
358
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:72
359
- msgid "Edit FAQ Tag"
360
- msgstr "Modifica Tag FAQ"
361
-
362
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:73
363
- msgid "Update FAQ Tag"
364
- msgstr "Aggiorna Tag FAQ"
365
-
366
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:74
367
- msgid "Add New FAQ Tag"
368
- msgstr "Aggiungi Nuovo Tag FAQ"
369
-
370
- #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:75
371
- msgid "New FAQ Tag Name"
372
- msgstr "Nuovo Nome Tag FAQ"
373
-
374
- #: Functions/Update_EWD_UFAQ_Content.php:27
375
- msgid "The form has not worked correctly. Please contact the plugin developer."
376
- msgstr ""
377
- "Il form non funziona correttamente. Si prega di contattare lo sviluppatore "
378
- "del plugin."
379
-
380
- #: Main.php:77 html/MainScreen.php:3
381
- msgid "Dashboard"
382
- msgstr "Pannello di Controllo"
383
-
384
- #: Main.php:79
385
- msgid "Approved FAQs"
386
- msgstr "FAQs Approvate"
387
-
388
- #: Main.php:80
389
- msgid "Awaiting Approval"
390
- msgstr "In attesa di approvazione"
391
-
392
- #: Main.php:86 html/OptionsPage.php:525 html/OptionsPage.php:558
393
- #: html/OptionsPage.php:661
394
- msgid "Tags"
395
- msgstr "Tags"
396
-
397
- #: Main.php:87
398
- msgid "Settings"
399
- msgstr "Impostazioni"
400
-
401
- #: Main.php:88
402
- msgid "Export"
403
- msgstr "Esporta"
404
-
405
- #: Main.php:89
406
- msgid "Import"
407
- msgstr "Importa"
408
-
409
- #: Main.php:134 html/OptionsPage.php:749
410
- msgid "Retrieving Results"
411
- msgstr "Recupero dei risultati"
412
-
413
- #: Main.php:289
414
- msgid "Next"
415
- msgstr "Successivo"
416
-
417
- #: Main.php:290
418
- msgid "Close"
419
- msgstr "Chiudi"
420
-
421
- #: Shortcodes/DisplayFAQs.php:46
422
- msgid "Posted "
423
- msgstr "Inserito "
424
-
425
- #: Shortcodes/DisplayFAQs.php:48
426
- msgid "by "
427
- msgstr "da "
428
-
429
- #: Shortcodes/DisplayFAQs.php:50
430
- msgid "on "
431
- msgstr "su "
432
-
433
- #: Shortcodes/DisplayFAQs.php:54
434
- msgid "Back to Top"
435
- msgstr "Torna su"
436
-
437
- #: Shortcodes/DisplayFAQs.php:56 html/OptionsPage.php:679
438
- msgid "Permalink"
439
- msgstr "Permalink"
440
-
441
- #: Shortcodes/DisplayFAQs.php:58
442
- msgid "No result FAQ's contained the term '%s'"
443
- msgstr "Nessun risultato nelle FAQ contiene il termine '%s'"
444
-
445
- #: Shortcodes/DisplayFAQs.php:197
446
- msgid "Expand All"
447
- msgstr "Espandi Tutto"
448
-
449
- #: Shortcodes/DisplayFAQs.php:198
450
- msgid "Collapse All"
451
- msgstr "Riduci Tutto"
452
-
453
- #: Shortcodes/DisplayFAQs.php:361
454
- msgid "Did you find this FAQ helpful?"
455
- msgstr "Hai trovato questa FAQ utile?"
456
-
457
- #: Shortcodes/Display_FAQ_Search.php:21 html/OptionsPage.php:667
458
- msgid "Enter your question"
459
- msgstr "Inserisci la tua domanda"
460
-
461
- #: Shortcodes/Display_FAQ_Search.php:23 html/OptionsPage.php:673
462
- msgid "Search"
463
- msgstr "Cerca"
464
-
465
- #: Shortcodes/SubmitFAQ.php:15
466
- msgid "Thank you for submitting an FAQ."
467
- msgstr "Grazie per aver inviato una FAQ."
468
-
469
- #: Shortcodes/SubmitFAQ.php:16 html/OptionsPage.php:701
470
- msgid "Submit a Question"
471
- msgstr "Invia una Domanda"
472
-
473
- #: Shortcodes/SubmitFAQ.php:17 html/OptionsPage.php:707
474
- msgid "Please fill out the form below to submit a question."
475
- msgstr "Compila il modulo sottostante per inviare una domanda."
476
-
477
- #: Shortcodes/SubmitFAQ.php:18 html/OptionsPage.php:713
478
- msgid "Send Question"
479
- msgstr "Invia Domanda"
480
-
481
- #: Shortcodes/SubmitFAQ.php:27 html/OptionsPage.php:719
482
- msgid "Question Title"
483
- msgstr "Titolo della Domanda"
484
-
485
- #: Shortcodes/SubmitFAQ.php:29 html/OptionsPage.php:725
486
- msgid "What question is being answered?"
487
- msgstr "Quale domanda ha ottenuto una risposta?"
488
-
489
- #: Shortcodes/SubmitFAQ.php:31 html/OptionsPage.php:731
490
- msgid "Proposed Answer"
491
- msgstr "Risposta Proposta"
492
-
493
- #: Shortcodes/SubmitFAQ.php:33
494
- msgid "FAQ Author"
495
- msgstr "Autore della FAQ"
496
-
497
- #: Shortcodes/SubmitFAQ.php:35
498
- msgid "What name should be displayed with your FAQ?"
499
- msgstr "Quale nome dovrebbe essere visualizzato per la tua FAQ?"
500
-
501
- #: html/AdminHeader.php:2
502
- msgid "Ultimate FAQ Settings"
503
- msgstr "Impostazioni Ultimate FAQ"
504
-
505
- #: html/DashboardPage.php:32
506
- msgid ""
507
- "to take advantage of all the available features of Ultimate FAQs for "
508
- "Wordpress!"
509
- msgstr ""
510
- "per approfittare di tutte le funzioni disponibili di Ultimate FAQs per "
511
- "Wordpress!"
512
-
513
- #: html/DashboardPage.php:180
514
- msgid "Title"
515
- msgstr "Titolo"
516
-
517
- #: html/DashboardPage.php:181 html/OptionsPage.php:523 html/OptionsPage.php:556
518
- msgid "Views"
519
- msgstr "Visualizzazioni"
520
-
521
- #: html/DashboardPage.php:196
522
- msgid ""
523
- "No FAQs to display yet. Create an FAQ and then view it for it to be "
524
- "displayed here."
525
- msgstr ""
526
- "Nessuna domanda da visualizzare finora. Crea una FAQ e visualizzala per "
527
- "essere riportata qui."
528
-
529
- #: html/DashboardPage.php:238
530
- msgid "Recent Changes"
531
- msgstr "Modifiche Recenti"
532
-
533
- #: html/DashboardPage.php:248
534
- msgid "Goes great with:"
535
- msgstr "Vai alla grande con:"
536
-
537
- #: html/ImportPage.php:23
538
- msgid "Spreadhsheet Containing FAQs"
539
- msgstr "Foglio di calcolo contenente FAQs"
540
-
541
- #: html/MainScreen.php:4
542
- msgid "Orders"
543
- msgstr "Ordini"
544
-
545
- #: html/MainScreen.php:5
546
- msgid "Statuses"
547
- msgstr "Stati"
548
-
549
- #: html/MainScreen.php:6
550
- msgid "Emails"
551
- msgstr "Emails"
552
-
553
- #: html/MainScreen.php:7
554
- msgid "Options"
555
- msgstr "Opzioni"
556
-
557
- #: html/OptionsPage.php:506
558
- msgid "Order Table"
559
- msgstr "Tabella degli Ordini"
560
-
561
- #: html/OptionsPage.php:507
562
- msgid ""
563
- "Drag and drop the posts below to reorder them, if you have 'Selected Order' "
564
- "set for the 'FAQ Ordering' option"
565
- msgstr ""
566
- "Trascinare e rilasciare i post qui di seguito per riordinarli, se hai "
567
- "impostato l'opzione 'Ordine Impostato' per l'opzione 'Ordinamento FAQ'"
568
-
569
- #: html/OptionsPage.php:522 html/OptionsPage.php:555
570
- msgid "Question"
571
- msgstr "Domanda"
572
-
573
- #: html/OptionsPage.php:637
574
- msgid "Posted"
575
- msgstr "Inserito"
576
-
577
- #: html/OptionsPage.php:643
578
- msgid "By"
579
- msgstr "Da"
580
-
581
- #: html/OptionsPage.php:649
582
- msgid "On"
583
- msgstr "Su"
584
-
585
- #: html/OptionsPage.php:685
586
- msgid "Back To Top"
587
- msgstr "Torna su"
588
-
589
- #: html/OptionsPage.php:695
590
- msgid "Thank you for submitting an FAQ"
591
- msgstr "Grazie per aver inviato una FAQ"
592
-
593
- #: html/OptionsPage.php:737
594
- msgid "Question Author"
595
- msgstr "Autore della Domanda"
596
-
597
- #: html/OptionsPage.php:743
598
- msgid "What name should be displayed with your question?"
599
- msgstr "Quale nome dovrebbe essere visualizzato per la tua domanda?"
600
-
601
- #: html/OptionsPage.php:755
602
- msgid "No results FAQ's contained the term '%s'"
603
- msgstr "Nessun risultato nelle FAQ contiene il termine '%s'"
604
-
605
- #. Plugin URI of the plugin/theme
606
- #. Author URI of the plugin/theme
607
- msgid "http://www.EtoileWebDesign.com/wordpress-plugins/"
608
- msgstr "http://www.EtoileWebDesign.com/wordpress-plugins/"
609
-
610
- #. Description of the plugin/theme
611
- msgid ""
612
- "A plugin that lets you create FAQs (frequently asked questions), organize "
613
- "them, publicize them, etc."
614
- msgstr ""
615
- "Un plugin che consente di creare FAQ (domande frequenti), organizzarle, "
616
- "pubblicizzarle, ecc."
617
-
618
- #. Author of the plugin/theme
619
- msgid "Etoile Web Design"
620
- msgstr "Etoile Web Design"
1
+ # Copyright (C) 2017 FAQ
2
+ # This file is distributed under the same license as the FAQ package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: FAQ 1.5.13\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ultimate-faqs\n"
7
+ "POT-Creation-Date: 2017-05-16 11:51+0200\n"
8
+ "PO-Revision-Date: 2017-05-19 11:16+0200\n"
9
+ "Last-Translator: \n"
10
+ "Language-Team: \n"
11
+ "Language: it_IT\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Poedit 2.0.2\n"
16
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
+
18
+ #: Functions/EWD_UFAQ_Add_Social_Media_Buttons.php:4
19
+ msgid "Check out this helpful FAQ"
20
+ msgstr "Scopri questa utile FAQ"
21
+
22
+ #: Functions/EWD_UFAQ_Add_Views_Column.php:4
23
+ msgid "# of Views"
24
+ msgstr "# di Visualizzazioni"
25
+
26
+ #: Functions/EWD_UFAQ_Add_Views_Column.php:5 Main.php:85
27
+ #: html/DashboardPage.php:182 html/OptionsPage.php:524 html/OptionsPage.php:557
28
+ #: html/OptionsPage.php:655
29
+ msgid "Categories"
30
+ msgstr "Categorie"
31
+
32
+ #: Functions/EWD_UFAQ_Add_Views_Column.php:6
33
+ msgid "Post ID"
34
+ msgstr "ID del Post"
35
+
36
+ #: Functions/EWD_UFAQ_Import.php:113
37
+ msgid "FAQs added successfully."
38
+ msgstr "FAQs aggiunte correttamente."
39
+
40
+ #: Functions/EWD_UFAQ_Import.php:125
41
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
42
+ msgstr ""
43
+ "Il file caricato risulta più grande della dimensione massima specificata nel "
44
+ "php.ini"
45
+
46
+ #: Functions/EWD_UFAQ_Import.php:128
47
+ msgid ""
48
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
49
+ "the HTML form"
50
+ msgstr ""
51
+ "Il file caricato risulta più grande della dimensione massima specificata nel "
52
+ "form HTML"
53
+
54
+ #: Functions/EWD_UFAQ_Import.php:131
55
+ msgid "The uploaded file was only partially uploaded"
56
+ msgstr "Il file è stato caricato solo parzialmente"
57
+
58
+ #: Functions/EWD_UFAQ_Import.php:134 Functions/EWD_UFAQ_Meta_Boxes.php:257
59
+ msgid "No file was uploaded."
60
+ msgstr "Nessun file caricato."
61
+
62
+ #: Functions/EWD_UFAQ_Import.php:138
63
+ msgid "Missing a temporary folder"
64
+ msgstr "Manca la cartella temporanea"
65
+
66
+ #: Functions/EWD_UFAQ_Import.php:141
67
+ msgid "Failed to write file to disk"
68
+ msgstr "Impossibile scrivere il file sul disco"
69
+
70
+ #: Functions/EWD_UFAQ_Import.php:144
71
+ msgid "File upload stopped by extension"
72
+ msgstr "L'estensione del file non risulta corretta"
73
+
74
+ #: Functions/EWD_UFAQ_Import.php:148
75
+ msgid "No error code avaiable"
76
+ msgstr "Nessun codice d'errore disponibile"
77
+
78
+ #: Functions/EWD_UFAQ_Import.php:153
79
+ msgid "No file was uploaded here.."
80
+ msgstr "Nessun file è stato caricato qui.."
81
+
82
+ #: Functions/EWD_UFAQ_Import.php:158
83
+ msgid "File must be .csv, .xls or .xlsx"
84
+ msgstr "Il file deve essere .csv, .xls o .xlsx"
85
+
86
+ #: Functions/EWD_UFAQ_Meta_Boxes.php:7
87
+ msgid "Use the following shortcode to add this FAQ to a page:"
88
+ msgstr "Utilizza il seguente shotcode per aggiungere questa FAQ ad una pagina:"
89
+
90
+ #: Functions/EWD_UFAQ_Meta_Boxes.php:17
91
+ msgid "FAQ shortcode for this category"
92
+ msgstr "FAQ shortcode per questa categoria"
93
+
94
+ #: Functions/EWD_UFAQ_Meta_Boxes.php:22
95
+ msgid "FAQ Details"
96
+ msgstr "Dettagli FAQ"
97
+
98
+ #: Functions/EWD_UFAQ_Meta_Boxes.php:51
99
+ msgid "Author Display Name:"
100
+ msgstr "Nome Visualizzato dell'Autore:"
101
+
102
+ #: Functions/EWD_UFAQ_Meta_Boxes.php:62
103
+ msgid "Up Votes:"
104
+ msgstr "Voti positivi:"
105
+
106
+ #: Functions/EWD_UFAQ_Meta_Boxes.php:68
107
+ msgid "Down Votes:"
108
+ msgstr "Voti negativi:"
109
+
110
+ #: Functions/EWD_UFAQ_Meta_Boxes.php:207
111
+ msgid " One or more custom field values were incorrect."
112
+ msgstr " Uno o più valori del campo custom erano errari."
113
+
114
+ #: Functions/EWD_UFAQ_Submit_Question.php:16
115
+ msgid "FAQ was not created succesfully."
116
+ msgstr "FAQ non è stata creata correttamente."
117
+
118
+ #: Functions/EWD_UFAQ_Submit_Question.php:32
119
+ msgid "New Question Received"
120
+ msgstr "Nuova domanda ricevuta"
121
+
122
+ #: Functions/EWD_UFAQ_Submit_Question.php:34
123
+ msgid "Hello Admin,"
124
+ msgstr "Ciao Admin,"
125
+
126
+ #: Functions/EWD_UFAQ_Submit_Question.php:35
127
+ msgid "You've received a new question titled"
128
+ msgstr "Hai ricevuto una nuova domanda intitolata"
129
+
130
+ #: Functions/EWD_UFAQ_Submit_Question.php:37
131
+ msgid "The answer reads:<br>"
132
+ msgstr "La risposta è stata letta:<br>"
133
+
134
+ #: Functions/EWD_UFAQ_Submit_Question.php:40
135
+ msgid ""
136
+ "You can view the question in the admin area by going to the following link:"
137
+ "<br>"
138
+ msgstr ""
139
+ "Puoi visualizzare la domanda nel pannello di amministrazione passando al "
140
+ "seguente link:<br>"
141
+
142
+ #: Functions/EWD_UFAQ_Submit_Question.php:41
143
+ msgid "See the review"
144
+ msgstr "Vedi la recensione"
145
+
146
+ #: Functions/EWD_UFAQ_Submit_Question.php:42
147
+ msgid "Have a great day,"
148
+ msgstr "Buona giornata,"
149
+
150
+ #: Functions/EWD_UFAQ_Submit_Question.php:43
151
+ msgid "Ultimate FAQs Team"
152
+ msgstr "Team di Ultimate FAQs"
153
+
154
+ #: Functions/EWD_UFAQ_Upgrade_Box.php:7 html/DashboardPage.php:30
155
+ msgid "Full Version"
156
+ msgstr "Versione Completa"
157
+
158
+ #: Functions/EWD_UFAQ_Upgrade_Box.php:9 html/DashboardPage.php:32
159
+ msgid "Upgrade to the full version "
160
+ msgstr "Aggiorna alla versione completa "
161
+
162
+ #: Functions/EWD_UFAQ_Upgrade_Box.php:9
163
+ msgid ""
164
+ "to take advantage of all the available features of the Ultimate FAQs for "
165
+ "Wordpress!"
166
+ msgstr ""
167
+ "per approfittare di tutte le funzionalità disponibili di Ultimate FAQs per "
168
+ "Wordpress!"
169
+
170
+ #: Functions/EWD_UFAQ_Upgrade_Box.php:10 html/DashboardPage.php:36
171
+ msgid "What you get by upgrading:"
172
+ msgstr "Cosa ricevi effettuando l'aggiornamento:"
173
+
174
+ #: Functions/EWD_UFAQ_Upgrade_Box.php:20 html/DashboardPage.php:46
175
+ msgid "Product Key"
176
+ msgstr "Chiave del Prodotto"
177
+
178
+ #: Functions/EWD_UFAQ_Upgrade_Box.php:23 html/DashboardPage.php:49
179
+ msgid "Upgrade"
180
+ msgstr "Aggiornamento"
181
+
182
+ #: Functions/EWD_UFAQ_Upgrade_Box.php:37
183
+ msgid "Upgrade Complete!"
184
+ msgstr "Aggiornamento Completato!"
185
+
186
+ #: Functions/EWD_UFAQ_Widgets.php:10
187
+ msgid "UFAQ FAQ ID List"
188
+ msgstr "Lista ID delle FAQ di UFAQ"
189
+
190
+ #: Functions/EWD_UFAQ_Widgets.php:11
191
+ msgid "Insert FAQ posts using a comma-separated list of post IDs"
192
+ msgstr ""
193
+ "Inserisci le FAQ utilizzando un elenco di ID (delle FAQ) separato da virgole"
194
+
195
+ #: Functions/EWD_UFAQ_Widgets.php:33
196
+ msgid "FAQ ID List"
197
+ msgstr "Lista ID delle FAQ"
198
+
199
+ #: Functions/EWD_UFAQ_Widgets.php:36
200
+ msgid "FAQ ID List:"
201
+ msgstr "Lista ID delle FAQ:"
202
+
203
+ #: Functions/EWD_UFAQ_Widgets.php:65
204
+ msgid "Recent FAQs"
205
+ msgstr "FAQs Recenti"
206
+
207
+ #: Functions/EWD_UFAQ_Widgets.php:66
208
+ msgid "Insert a number of the most recent FAQs"
209
+ msgstr "Inserisci un numero di FAQ più recenti"
210
+
211
+ #: Functions/EWD_UFAQ_Widgets.php:88 Functions/EWD_UFAQ_Widgets.php:143
212
+ msgid "Number of FAQs"
213
+ msgstr "Numero di FAQ"
214
+
215
+ #: Functions/EWD_UFAQ_Widgets.php:91 Functions/EWD_UFAQ_Widgets.php:146
216
+ msgid "Number of FAQs:"
217
+ msgstr "Numero di FAQ:"
218
+
219
+ #: Functions/EWD_UFAQ_Widgets.php:120
220
+ msgid "Popular FAQs"
221
+ msgstr "FAQs Popolari"
222
+
223
+ #: Functions/EWD_UFAQ_Widgets.php:121
224
+ msgid "Insert a number of the most popular FAQs"
225
+ msgstr "Inserisci un numero di FAQ più popolari"
226
+
227
+ #: Functions/EWD_UFAQ_Widgets.php:175
228
+ msgid "UFAQ FAQ Category List"
229
+ msgstr "Elenco categorie FAQ di UFAQ"
230
+
231
+ #: Functions/EWD_UFAQ_Widgets.php:176
232
+ msgid "Insert FAQ posts using a comma-separated list of categories"
233
+ msgstr ""
234
+ "Inserisci i post delle FAQ utilizzando un elenco di categorie separate da "
235
+ "virgole"
236
+
237
+ #: Functions/EWD_UFAQ_Widgets.php:198
238
+ msgid "FAQ Category List"
239
+ msgstr "Elenco categorie FAQ"
240
+
241
+ #: Functions/EWD_UFAQ_Widgets.php:201
242
+ msgid "FAQ Category List:"
243
+ msgstr "Elenco categorie FAQ:"
244
+
245
+ #: Functions/EWD_UFAQ_WooCommerce_Tab.php:26
246
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:7
247
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:9 Main.php:82
248
+ msgid "FAQs"
249
+ msgstr "FAQs"
250
+
251
+ #: Functions/Full_Upgrade.php:8
252
+ msgid "Trial successfully started!"
253
+ msgstr "Periodo di prova iniziato!"
254
+
255
+ #. Plugin Name of the plugin/theme
256
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:8
257
+ msgid "FAQ"
258
+ msgstr "FAQ"
259
+
260
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:10 Main.php:84
261
+ msgid "Add New"
262
+ msgstr "Aggiungi FAQ"
263
+
264
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:11
265
+ msgid "Add New FAQ"
266
+ msgstr "Aggiungi Nuova FAQ"
267
+
268
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:12
269
+ msgid "Edit FAQ"
270
+ msgstr "Modifica FAQ"
271
+
272
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:13
273
+ msgid "New FAQ"
274
+ msgstr "Nuova FAQ"
275
+
276
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:14
277
+ msgid "View FAQ"
278
+ msgstr "Visualizza FAQ"
279
+
280
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:15
281
+ msgid "Search FAQs"
282
+ msgstr "Cerca FAQs"
283
+
284
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:16
285
+ msgid "Nothing found"
286
+ msgstr "Nessun risultato"
287
+
288
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:17
289
+ msgid "Nothing found in Trash"
290
+ msgstr "Nessun risultato nel Cestino"
291
+
292
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:46
293
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:56
294
+ msgid "FAQ Categories"
295
+ msgstr "Categorie FAQ"
296
+
297
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:47
298
+ msgid "FAQ Category"
299
+ msgstr "Categoria FAQ"
300
+
301
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:48
302
+ msgid "Search FAQ Categories"
303
+ msgstr "Cerca le Categorie FAQ"
304
+
305
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:49
306
+ msgid "All FAQ Categories"
307
+ msgstr "Tutte le Categorie FAQ"
308
+
309
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:50
310
+ msgid "Parent FAQ Category"
311
+ msgstr "Categoria FAQ Genitore"
312
+
313
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:51
314
+ msgid "Parent FAQ Category:"
315
+ msgstr "Categoria FAQ Genitore:"
316
+
317
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:52
318
+ msgid "Edit FAQ Category"
319
+ msgstr "Modifica Categoria FAQ"
320
+
321
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:53
322
+ msgid "Update FAQ Category"
323
+ msgstr "Aggiorna Categoria FAQ"
324
+
325
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:54
326
+ msgid "Add New FAQ Category"
327
+ msgstr "Aggiungi Nuova Categoria FAQ"
328
+
329
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:55
330
+ msgid "New FAQ Category Name"
331
+ msgstr "Nuovo Nome Categoria FAQ"
332
+
333
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:66
334
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:76
335
+ msgid "FAQ Tags"
336
+ msgstr "Tags FAQ"
337
+
338
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:67
339
+ msgid "FAQ Tag"
340
+ msgstr "Tag FAQ"
341
+
342
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:68
343
+ msgid "Search FAQ Tags"
344
+ msgstr "Cerca i Tags FAQ"
345
+
346
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:69
347
+ msgid "All FAQ Tags"
348
+ msgstr "Tutti i Tags FAQ"
349
+
350
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:70
351
+ msgid "Parent FAQ Tag"
352
+ msgstr "Tag FAQ Genitore"
353
+
354
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:71
355
+ msgid "Parent FAQ Tag:"
356
+ msgstr "Tag FAQ Genitore:"
357
+
358
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:72
359
+ msgid "Edit FAQ Tag"
360
+ msgstr "Modifica Tag FAQ"
361
+
362
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:73
363
+ msgid "Update FAQ Tag"
364
+ msgstr "Aggiorna Tag FAQ"
365
+
366
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:74
367
+ msgid "Add New FAQ Tag"
368
+ msgstr "Aggiungi Nuovo Tag FAQ"
369
+
370
+ #: Functions/Register_EWD_UFAQ_Posts_Taxonomies.php:75
371
+ msgid "New FAQ Tag Name"
372
+ msgstr "Nuovo Nome Tag FAQ"
373
+
374
+ #: Functions/Update_EWD_UFAQ_Content.php:27
375
+ msgid "The form has not worked correctly. Please contact the plugin developer."
376
+ msgstr ""
377
+ "Il form non funziona correttamente. Si prega di contattare lo sviluppatore "
378
+ "del plugin."
379
+
380
+ #: Main.php:77 html/MainScreen.php:3
381
+ msgid "Dashboard"
382
+ msgstr "Pannello di Controllo"
383
+
384
+ #: Main.php:79
385
+ msgid "Approved FAQs"
386
+ msgstr "FAQs Approvate"
387
+
388
+ #: Main.php:80
389
+ msgid "Awaiting Approval"
390
+ msgstr "In attesa di approvazione"
391
+
392
+ #: Main.php:86 html/OptionsPage.php:525 html/OptionsPage.php:558
393
+ #: html/OptionsPage.php:661
394
+ msgid "Tags"
395
+ msgstr "Tags"
396
+
397
+ #: Main.php:87
398
+ msgid "Settings"
399
+ msgstr "Impostazioni"
400
+
401
+ #: Main.php:88
402
+ msgid "Export"
403
+ msgstr "Esporta"
404
+
405
+ #: Main.php:89
406
+ msgid "Import"
407
+ msgstr "Importa"
408
+
409
+ #: Main.php:134 html/OptionsPage.php:749
410
+ msgid "Retrieving Results"
411
+ msgstr "Recupero dei risultati"
412
+
413
+ #: Main.php:289
414
+ msgid "Next"
415
+ msgstr "Successivo"
416
+
417
+ #: Main.php:290
418
+ msgid "Close"
419
+ msgstr "Chiudi"
420
+
421
+ #: Shortcodes/DisplayFAQs.php:46
422
+ msgid "Posted "
423
+ msgstr "Inserito "
424
+
425
+ #: Shortcodes/DisplayFAQs.php:48
426
+ msgid "by "
427
+ msgstr "da "
428
+
429
+ #: Shortcodes/DisplayFAQs.php:50
430
+ msgid "on "
431
+ msgstr "su "
432
+
433
+ #: Shortcodes/DisplayFAQs.php:54
434
+ msgid "Back to Top"
435
+ msgstr "Torna su"
436
+
437
+ #: Shortcodes/DisplayFAQs.php:56 html/OptionsPage.php:679
438
+ msgid "Permalink"
439
+ msgstr "Permalink"
440
+
441
+ #: Shortcodes/DisplayFAQs.php:58
442
+ msgid "No result FAQ's contained the term '%s'"
443
+ msgstr "Nessun risultato nelle FAQ contiene il termine '%s'"
444
+
445
+ #: Shortcodes/DisplayFAQs.php:197
446
+ msgid "Expand All"
447
+ msgstr "Espandi Tutto"
448
+
449
+ #: Shortcodes/DisplayFAQs.php:198
450
+ msgid "Collapse All"
451
+ msgstr "Riduci Tutto"
452
+
453
+ #: Shortcodes/DisplayFAQs.php:361
454
+ msgid "Did you find this FAQ helpful?"
455
+ msgstr "Hai trovato questa FAQ utile?"
456
+
457
+ #: Shortcodes/Display_FAQ_Search.php:21 html/OptionsPage.php:667
458
+ msgid "Enter your question"
459
+ msgstr "Inserisci la tua domanda"
460
+
461
+ #: Shortcodes/Display_FAQ_Search.php:23 html/OptionsPage.php:673
462
+ msgid "Search"
463
+ msgstr "Cerca"
464
+
465
+ #: Shortcodes/SubmitFAQ.php:15
466
+ msgid "Thank you for submitting an FAQ."
467
+ msgstr "Grazie per aver inviato una FAQ."
468
+
469
+ #: Shortcodes/SubmitFAQ.php:16 html/OptionsPage.php:701
470
+ msgid "Submit a Question"
471
+ msgstr "Invia una Domanda"
472
+
473
+ #: Shortcodes/SubmitFAQ.php:17 html/OptionsPage.php:707
474
+ msgid "Please fill out the form below to submit a question."
475
+ msgstr "Compila il modulo sottostante per inviare una domanda."
476
+
477
+ #: Shortcodes/SubmitFAQ.php:18 html/OptionsPage.php:713
478
+ msgid "Send Question"
479
+ msgstr "Invia Domanda"
480
+
481
+ #: Shortcodes/SubmitFAQ.php:27 html/OptionsPage.php:719
482
+ msgid "Question Title"
483
+ msgstr "Titolo della Domanda"
484
+
485
+ #: Shortcodes/SubmitFAQ.php:29 html/OptionsPage.php:725
486
+ msgid "What question is being answered?"
487
+ msgstr "Quale domanda ha ottenuto una risposta?"
488
+
489
+ #: Shortcodes/SubmitFAQ.php:31 html/OptionsPage.php:731
490
+ msgid "Proposed Answer"
491
+ msgstr "Risposta Proposta"
492
+
493
+ #: Shortcodes/SubmitFAQ.php:33
494
+ msgid "FAQ Author"
495
+ msgstr "Autore della FAQ"
496
+
497
+ #: Shortcodes/SubmitFAQ.php:35
498
+ msgid "What name should be displayed with your FAQ?"
499
+ msgstr "Quale nome dovrebbe essere visualizzato per la tua FAQ?"
500
+
501
+ #: html/AdminHeader.php:2
502
+ msgid "Ultimate FAQ Settings"
503
+ msgstr "Impostazioni Ultimate FAQ"
504
+
505
+ #: html/DashboardPage.php:32
506
+ msgid ""
507
+ "to take advantage of all the available features of Ultimate FAQs for "
508
+ "Wordpress!"
509
+ msgstr ""
510
+ "per approfittare di tutte le funzioni disponibili di Ultimate FAQs per "
511
+ "Wordpress!"
512
+
513
+ #: html/DashboardPage.php:180
514
+ msgid "Title"
515
+ msgstr "Titolo"
516
+
517
+ #: html/DashboardPage.php:181 html/OptionsPage.php:523 html/OptionsPage.php:556
518
+ msgid "Views"
519
+ msgstr "Visualizzazioni"
520
+
521
+ #: html/DashboardPage.php:196
522
+ msgid ""
523
+ "No FAQs to display yet. Create an FAQ and then view it for it to be "
524
+ "displayed here."
525
+ msgstr ""
526
+ "Nessuna domanda da visualizzare finora. Crea una FAQ e visualizzala per "
527
+ "essere riportata qui."
528
+
529
+ #: html/DashboardPage.php:238
530
+ msgid "Recent Changes"
531
+ msgstr "Modifiche Recenti"
532
+
533
+ #: html/DashboardPage.php:248
534
+ msgid "Goes great with:"
535
+ msgstr "Vai alla grande con:"
536
+
537
+ #: html/ImportPage.php:23
538
+ msgid "Spreadhsheet Containing FAQs"
539
+ msgstr "Foglio di calcolo contenente FAQs"
540
+
541
+ #: html/MainScreen.php:4
542
+ msgid "Orders"
543
+ msgstr "Ordini"
544
+
545
+ #: html/MainScreen.php:5
546
+ msgid "Statuses"
547
+ msgstr "Stati"
548
+
549
+ #: html/MainScreen.php:6
550
+ msgid "Emails"
551
+ msgstr "Emails"
552
+
553
+ #: html/MainScreen.php:7
554
+ msgid "Options"
555
+ msgstr "Opzioni"
556
+
557
+ #: html/OptionsPage.php:506
558
+ msgid "Order Table"
559
+ msgstr "Tabella degli Ordini"
560
+
561
+ #: html/OptionsPage.php:507
562
+ msgid ""
563
+ "Drag and drop the posts below to reorder them, if you have 'Selected Order' "
564
+ "set for the 'FAQ Ordering' option"
565
+ msgstr ""
566
+ "Trascinare e rilasciare i post qui di seguito per riordinarli, se hai "
567
+ "impostato l'opzione 'Ordine Impostato' per l'opzione 'Ordinamento FAQ'"
568
+
569
+ #: html/OptionsPage.php:522 html/OptionsPage.php:555
570
+ msgid "Question"
571
+ msgstr "Domanda"
572
+
573
+ #: html/OptionsPage.php:637
574
+ msgid "Posted"
575
+ msgstr "Inserito"
576
+
577
+ #: html/OptionsPage.php:643
578
+ msgid "By"
579
+ msgstr "Da"
580
+
581
+ #: html/OptionsPage.php:649
582
+ msgid "On"
583
+ msgstr "Su"
584
+
585
+ #: html/OptionsPage.php:685
586
+ msgid "Back To Top"
587
+ msgstr "Torna su"
588
+
589
+ #: html/OptionsPage.php:695
590
+ msgid "Thank you for submitting an FAQ"
591
+ msgstr "Grazie per aver inviato una FAQ"
592
+
593
+ #: html/OptionsPage.php:737
594
+ msgid "Question Author"
595
+ msgstr "Autore della Domanda"
596
+
597
+ #: html/OptionsPage.php:743
598
+ msgid "What name should be displayed with your question?"
599
+ msgstr "Quale nome dovrebbe essere visualizzato per la tua domanda?"
600
+
601
+ #: html/OptionsPage.php:755
602
+ msgid "No results FAQ's contained the term '%s'"
603
+ msgstr "Nessun risultato nelle FAQ contiene il termine '%s'"
604
+
605
+ #. Plugin URI of the plugin/theme
606
+ #. Author URI of the plugin/theme
607
+ msgid "http://www.EtoileWebDesign.com/wordpress-plugins/"
608
+ msgstr "http://www.EtoileWebDesign.com/wordpress-plugins/"
609
+
610
+ #. Description of the plugin/theme
611
+ msgid ""
612
+ "A plugin that lets you create FAQs (frequently asked questions), organize "
613
+ "them, publicize them, etc."
614
+ msgstr ""
615
+ "Un plugin che consente di creare FAQ (domande frequenti), organizzarle, "
616
+ "pubblicizzarle, ecc."
617
+
618
+ #. Author of the plugin/theme
619
+ msgid "Etoile Web Design"
620
+ msgstr "Etoile Web Design"
languages/ultimate-faqs.pot CHANGED
@@ -1,1706 +1,1706 @@
1
- #, fuzzy
2
- msgid ""
3
- msgstr ""
4
- "Project-Id-Version: Ultimate FAQ\n"
5
- "POT-Creation-Date: 2021-04-08 11:30-0400\n"
6
- "PO-Revision-Date: 2021-04-08 11:29-0400\n"
7
- "Last-Translator: \n"
8
- "Language-Team: Etoile Web Design\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.4.2\n"
13
- "X-Poedit-Basepath: ..\n"
14
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
- "Language: en\n"
16
- "X-Poedit-KeywordsList: __;_e\n"
17
- "X-Poedit-SearchPath-0: .\n"
18
-
19
- #: includes/Blocks.class.php:110
20
- msgid "Ultimate FAQs"
21
- msgstr ""
22
-
23
- #: includes/CustomPostTypes.class.php:47 includes/CustomPostTypes.class.php:49
24
- #: includes/CustomPostTypes.class.php:50 includes/Settings.class.php:76
25
- #: includes/WooCommerce.class.php:121 ultimate-faqs.php:351
26
- #: views/View.class.php:119
27
- msgid "FAQs"
28
- msgstr ""
29
-
30
- #: includes/CustomPostTypes.class.php:48 includes/WooCommerce.class.php:165
31
- #: includes/WooCommerce.class.php:192 includes/WooCommerce.class.php:287
32
- msgid "FAQ"
33
- msgstr ""
34
-
35
- #: includes/CustomPostTypes.class.php:51 ultimate-faqs.php:352
36
- msgid "Add New"
37
- msgstr ""
38
-
39
- #: includes/CustomPostTypes.class.php:52
40
- msgid "Add New FAQ"
41
- msgstr ""
42
-
43
- #: includes/CustomPostTypes.class.php:53
44
- msgid "Edit FAQ"
45
- msgstr ""
46
-
47
- #: includes/CustomPostTypes.class.php:54
48
- msgid "New FAQ"
49
- msgstr ""
50
-
51
- #: includes/CustomPostTypes.class.php:55
52
- msgid "View FAQ"
53
- msgstr ""
54
-
55
- #: includes/CustomPostTypes.class.php:56
56
- msgid "Search FAQs"
57
- msgstr ""
58
-
59
- #: includes/CustomPostTypes.class.php:57
60
- msgid "No FAQs found"
61
- msgstr ""
62
-
63
- #: includes/CustomPostTypes.class.php:58
64
- msgid "No FAQs found in trash"
65
- msgstr ""
66
-
67
- #: includes/CustomPostTypes.class.php:59
68
- msgid "All FAQs"
69
- msgstr ""
70
-
71
- #: includes/CustomPostTypes.class.php:92 includes/CustomPostTypes.class.php:102
72
- msgid "FAQ Categories"
73
- msgstr ""
74
-
75
- #: includes/CustomPostTypes.class.php:93
76
- #: includes/InstallationWalkthrough.class.php:240
77
- msgid "FAQ Category"
78
- msgstr ""
79
-
80
- #: includes/CustomPostTypes.class.php:94
81
- msgid "Search FAQ Categories"
82
- msgstr ""
83
-
84
- #: includes/CustomPostTypes.class.php:95
85
- msgid "All FAQ Categories"
86
- msgstr ""
87
-
88
- #: includes/CustomPostTypes.class.php:96
89
- msgid "Parent FAQ Category"
90
- msgstr ""
91
-
92
- #: includes/CustomPostTypes.class.php:97
93
- msgid "Parent FAQ Category:"
94
- msgstr ""
95
-
96
- #: includes/CustomPostTypes.class.php:98
97
- msgid "Edit FAQ Category"
98
- msgstr ""
99
-
100
- #: includes/CustomPostTypes.class.php:99
101
- msgid "Update FAQ Category"
102
- msgstr ""
103
-
104
- #: includes/CustomPostTypes.class.php:100
105
- msgid "Add New FAQ Category"
106
- msgstr ""
107
-
108
- #: includes/CustomPostTypes.class.php:101
109
- msgid "New FAQ Category Name"
110
- msgstr ""
111
-
112
- #: includes/CustomPostTypes.class.php:118
113
- #: includes/CustomPostTypes.class.php:128
114
- msgid "FAQ Tags"
115
- msgstr ""
116
-
117
- #: includes/CustomPostTypes.class.php:119
118
- msgid "FAQ Tag"
119
- msgstr ""
120
-
121
- #: includes/CustomPostTypes.class.php:120
122
- msgid "Search FAQ Tags"
123
- msgstr ""
124
-
125
- #: includes/CustomPostTypes.class.php:121
126
- msgid "All FAQ Tags"
127
- msgstr ""
128
-
129
- #: includes/CustomPostTypes.class.php:122
130
- msgid "Parent FAQ Tag"
131
- msgstr ""
132
-
133
- #: includes/CustomPostTypes.class.php:123
134
- msgid "Parent FAQ Tag:"
135
- msgstr ""
136
-
137
- #: includes/CustomPostTypes.class.php:124
138
- msgid "Edit FAQ Tag"
139
- msgstr ""
140
-
141
- #: includes/CustomPostTypes.class.php:125
142
- msgid "Update FAQ Tag"
143
- msgstr ""
144
-
145
- #: includes/CustomPostTypes.class.php:126
146
- msgid "Add New FAQ Tag"
147
- msgstr ""
148
-
149
- #: includes/CustomPostTypes.class.php:127
150
- msgid "New FAQ Tag Name"
151
- msgstr ""
152
-
153
- #: includes/CustomPostTypes.class.php:217
154
- msgid "Author Display Name:"
155
- msgstr ""
156
-
157
- #: includes/CustomPostTypes.class.php:226
158
- msgid "Up Votes:"
159
- msgstr ""
160
-
161
- #: includes/CustomPostTypes.class.php:230
162
- msgid "Down Votes:"
163
- msgstr ""
164
-
165
- #: includes/CustomPostTypes.class.php:408
166
- msgid "# of Views"
167
- msgstr ""
168
-
169
- #: includes/CustomPostTypes.class.php:409 includes/Dashboard.class.php:143
170
- #: includes/OrderingTable.class.php:77 includes/Settings.class.php:1139
171
- #: ultimate-faqs.php:353
172
- msgid "Categories"
173
- msgstr ""
174
-
175
- #: includes/CustomPostTypes.class.php:410
176
- msgid "Post ID"
177
- msgstr ""
178
-
179
- #: includes/CustomPostTypes.class.php:558
180
- msgid "Reset View Count"
181
- msgstr ""
182
-
183
- #: includes/Dashboard.class.php:94
184
- #, php-format
185
- msgid "<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to upgrade to premium."
186
- msgstr ""
187
-
188
- #: includes/Dashboard.class.php:104 includes/Dashboard.class.php:128
189
- msgid "Get Support"
190
- msgstr ""
191
-
192
- #: includes/Dashboard.class.php:110
193
- msgid "YouTube Tutorials"
194
- msgstr ""
195
-
196
- #: includes/Dashboard.class.php:116
197
- msgid "Plugin FAQs"
198
- msgstr ""
199
-
200
- #: includes/Dashboard.class.php:122
201
- msgid "Documentation"
202
- msgstr ""
203
-
204
- #: includes/Dashboard.class.php:136
205
- msgid "FAQ Summary"
206
- msgstr ""
207
-
208
- #: includes/Dashboard.class.php:141
209
- #: includes/InstallationWalkthrough.class.php:357
210
- #: includes/Settings.class.php:956
211
- msgid "Title"
212
- msgstr ""
213
-
214
- #: includes/Dashboard.class.php:142 includes/OrderingTable.class.php:76
215
- msgid "Views"
216
- msgstr ""
217
-
218
- #: includes/Dashboard.class.php:148
219
- msgid "No faqs to display yet. Create an faq and then view it for it to be displayed here."
220
- msgstr ""
221
-
222
- #: includes/Dashboard.class.php:230
223
- #, php-format
224
- msgid "<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to get a free 7-day trial of the premium plugin."
225
- msgstr ""
226
-
227
- #: includes/DeactivationSurvey.class.php:58
228
- msgid "Quick Feedback"
229
- msgstr ""
230
-
231
- #: includes/DeactivationSurvey.class.php:59
232
- msgid "If you have a moment, please share why you are deactivating Ultimate FAQs:"
233
- msgstr ""
234
-
235
- #: includes/DeactivationSurvey.class.php:74
236
- msgid "Submit and Deactivate"
237
- msgstr ""
238
-
239
- #: includes/DeactivationSurvey.class.php:75
240
- msgid "Skip and Deactivate"
241
- msgstr ""
242
-
243
- #: includes/FAQ.class.php:175
244
- msgid "The number you entered for the image was incorrect."
245
- msgstr ""
246
-
247
- #: includes/FAQ.class.php:188
248
- msgid "Please make sure that there is a question that you are submitting as an FAQ"
249
- msgstr ""
250
-
251
- #: includes/Import.class.php:51
252
- msgid "Spreadsheet Containing FAQs"
253
- msgstr ""
254
-
255
- #: includes/Import.class.php:200
256
- msgid "FAQs added successfully."
257
- msgstr ""
258
-
259
- #: includes/Import.class.php:212
260
- msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
261
- msgstr ""
262
-
263
- #: includes/Import.class.php:215
264
- msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
265
- msgstr ""
266
-
267
- #: includes/Import.class.php:218
268
- msgid "The uploaded file was only partially uploaded"
269
- msgstr ""
270
-
271
- #: includes/Import.class.php:221
272
- msgid "No file was uploaded."
273
- msgstr ""
274
-
275
- #: includes/Import.class.php:225
276
- msgid "Missing a temporary folder"
277
- msgstr ""
278
-
279
- #: includes/Import.class.php:228
280
- msgid "Failed to write file to disk"
281
- msgstr ""
282
-
283
- #: includes/Import.class.php:231
284
- msgid "File upload stopped by extension"
285
- msgstr ""
286
-
287
- #: includes/Import.class.php:235
288
- msgid "No error code avaiable"
289
- msgstr ""
290
-
291
- #: includes/Import.class.php:240
292
- msgid "No file was uploaded here.."
293
- msgstr ""
294
-
295
- #: includes/Import.class.php:245
296
- msgid "File must be .csv, .xls or .xlsx"
297
- msgstr ""
298
-
299
- #: includes/InstallationWalkthrough.class.php:176
300
- msgid "Welcome to Ultimate FAQs"
301
- msgstr ""
302
-
303
- #: includes/InstallationWalkthrough.class.php:177
304
- msgid "Thanks for choosing Ultimate FAQs! The following will help you get started with the setup by creating your first FAQ and category, as well as adding your FAQs to a page and configuring a few key options."
305
- msgstr ""
306
-
307
- #: includes/InstallationWalkthrough.class.php:181
308
- msgid "1. Create Categories"
309
- msgstr ""
310
-
311
- #: includes/InstallationWalkthrough.class.php:183
312
- msgid "Categories let you organize your FAQs in a way that's easy for you - and your customers - to find."
313
- msgstr ""
314
-
315
- #: includes/InstallationWalkthrough.class.php:186
316
- msgid "Category Name"
317
- msgstr ""
318
-
319
- #: includes/InstallationWalkthrough.class.php:192
320
- msgid "Category Description"
321
- msgstr ""
322
-
323
- #: includes/InstallationWalkthrough.class.php:200
324
- msgid "Add Category"
325
- msgstr ""
326
-
327
- #: includes/InstallationWalkthrough.class.php:206
328
- msgid "Created Categories"
329
- msgstr ""
330
-
331
- #: includes/InstallationWalkthrough.class.php:209
332
- #: includes/Settings.class.php:922
333
- msgid "Name"
334
- msgstr ""
335
-
336
- #: includes/InstallationWalkthrough.class.php:210
337
- msgid "Description"
338
- msgstr ""
339
-
340
- #: includes/InstallationWalkthrough.class.php:217
341
- #: includes/InstallationWalkthrough.class.php:269
342
- #: includes/InstallationWalkthrough.class.php:295 views/View.class.php:117
343
- msgid "Next"
344
- msgstr ""
345
-
346
- #: includes/InstallationWalkthrough.class.php:223
347
- msgid "2. Questions & Answers"
348
- msgstr ""
349
-
350
- #: includes/InstallationWalkthrough.class.php:225
351
- msgid "Create your first set of questions and answers. Don't worry, you can always add more later."
352
- msgstr ""
353
-
354
- #: includes/InstallationWalkthrough.class.php:228
355
- msgid "Questions"
356
- msgstr ""
357
-
358
- #: includes/InstallationWalkthrough.class.php:234
359
- #: includes/InstallationWalkthrough.class.php:260
360
- msgid "Answer"
361
- msgstr ""
362
-
363
- #: includes/InstallationWalkthrough.class.php:250
364
- msgid "Add FAQ"
365
- msgstr ""
366
-
367
- #: includes/InstallationWalkthrough.class.php:256
368
- msgid "Created FAQs"
369
- msgstr ""
370
-
371
- #: includes/InstallationWalkthrough.class.php:259
372
- #: includes/OrderingTable.class.php:75
373
- msgid "Question"
374
- msgstr ""
375
-
376
- #: includes/InstallationWalkthrough.class.php:261
377
- msgid "Category"
378
- msgstr ""
379
-
380
- #: includes/InstallationWalkthrough.class.php:270
381
- #: includes/InstallationWalkthrough.class.php:296
382
- #: includes/InstallationWalkthrough.class.php:368 views/View.class.php:116
383
- msgid "Previous"
384
- msgstr ""
385
-
386
- #: includes/InstallationWalkthrough.class.php:276
387
- msgid "3. Add an FAQ Page"
388
- msgstr ""
389
-
390
- #: includes/InstallationWalkthrough.class.php:278
391
- msgid "You can create a dedicated FAQ page below, or skip this step and add your FAQs to a page you've already created manually."
392
- msgstr ""
393
-
394
- #: includes/InstallationWalkthrough.class.php:281
395
- msgid "Page Title"
396
- msgstr ""
397
-
398
- #: includes/InstallationWalkthrough.class.php:289
399
- msgid "Create Page"
400
- msgstr ""
401
-
402
- #: includes/InstallationWalkthrough.class.php:302
403
- msgid "4. Set Key Options"
404
- msgstr ""
405
-
406
- #: includes/InstallationWalkthrough.class.php:304
407
- msgid "Options can always be changed later, but here are a few tha a lot of users want to set for themselves."
408
- msgstr ""
409
-
410
- #: includes/InstallationWalkthrough.class.php:307
411
- #: includes/Settings.class.php:302
412
- msgid "FAQ Accordion"
413
- msgstr ""
414
-
415
- #: includes/InstallationWalkthrough.class.php:317
416
- #: includes/Settings.class.php:303
417
- msgid "Should the FAQs accordion? (Only one FAQ is open at a time, requires FAQ Toggle)"
418
- msgstr ""
419
-
420
- #: includes/InstallationWalkthrough.class.php:322
421
- msgid "FAQ Toggle"
422
- msgstr ""
423
-
424
- #: includes/InstallationWalkthrough.class.php:332
425
- #: includes/Settings.class.php:292
426
- msgid "Should the FAQs open on a separate page when clicked, instead of opening and closing?"
427
- msgstr ""
428
-
429
- #: includes/InstallationWalkthrough.class.php:337
430
- #: includes/Settings.class.php:896
431
- msgid "Group FAQs by Category"
432
- msgstr ""
433
-
434
- #: includes/InstallationWalkthrough.class.php:347
435
- #: includes/Settings.class.php:897
436
- msgid "Should FAQs be grouped by category, or should all categories be mixed together?"
437
- msgstr ""
438
-
439
- #: includes/InstallationWalkthrough.class.php:352
440
- #: includes/Settings.class.php:951
441
- msgid "FAQ Ordering"
442
- msgstr ""
443
-
444
- #: includes/InstallationWalkthrough.class.php:356
445
- #: includes/Settings.class.php:955
446
- msgid "Created Date"
447
- msgstr ""
448
-
449
- #: includes/InstallationWalkthrough.class.php:358
450
- #: includes/Settings.class.php:957
451
- msgid "Modified Date"
452
- msgstr ""
453
-
454
- #: includes/InstallationWalkthrough.class.php:360
455
- #: includes/Settings.class.php:952
456
- msgid "How should individual FAQs be ordered?"
457
- msgstr ""
458
-
459
- #: includes/InstallationWalkthrough.class.php:366
460
- msgid "Save Options"
461
- msgstr ""
462
-
463
- #: includes/InstallationWalkthrough.class.php:369
464
- msgid "Finish"
465
- msgstr ""
466
-
467
- #: includes/InstallationWalkthrough.class.php:376
468
- msgid "Skip Setup"
469
- msgstr ""
470
-
471
- #: includes/Notifications.class.php:33
472
- msgid "New Question Received"
473
- msgstr ""
474
-
475
- #: includes/Notifications.class.php:35
476
- msgid "Hello Admin,"
477
- msgstr ""
478
-
479
- #: includes/Notifications.class.php:36
480
- msgid "You've received a new question titled "
481
- msgstr ""
482
-
483
- #: includes/Notifications.class.php:37
484
- msgid "The answer reads:<br>"
485
- msgstr ""
486
-
487
- #: includes/Notifications.class.php:39
488
- msgid "You can view the question in the admin area by going to the following link:<br>"
489
- msgstr ""
490
-
491
- #: includes/Notifications.class.php:40
492
- msgid "See the FAQ"
493
- msgstr ""
494
-
495
- #: includes/Notifications.class.php:41
496
- msgid "Have a great day,"
497
- msgstr ""
498
-
499
- #: includes/Notifications.class.php:42
500
- msgid "Ultimate FAQs Team"
501
- msgstr ""
502
-
503
- #: includes/OrderingTable.class.php:69
504
- msgid "Use the table below to set the order for your FAQs, either overall or within their categories depending on your selected settings."
505
- msgstr ""
506
-
507
- #: includes/OrderingTable.class.php:78 includes/Settings.class.php:1150
508
- #: ultimate-faqs.php:354
509
- msgid "Tags"
510
- msgstr ""
511
-
512
- #: includes/ReviewAsk.class.php:57
513
- msgid "Email Address"
514
- msgstr ""
515
-
516
- #: includes/Settings.class.php:74 includes/Settings.class.php:1249
517
- msgid "Retrieving Results"
518
- msgstr ""
519
-
520
- #: includes/Settings.class.php:75 includes/Settings.class.php:1260
521
- #, php-format
522
- msgid "No result FAQ's contained the term '%s'"
523
- msgstr ""
524
-
525
- #: includes/Settings.class.php:77 views/View.class.php:123
526
- msgid "Thank you for submitting an FAQ."
527
- msgstr ""
528
-
529
- #: includes/Settings.class.php:143 includes/Settings.class.php:144
530
- #: includes/Settings.class.php:885 includes/Settings.class.php:1003
531
- #: ultimate-faqs.php:293 ultimate-faqs.php:360
532
- msgid "Settings"
533
- msgstr ""
534
-
535
- #: includes/Settings.class.php:156
536
- msgid "Basic"
537
- msgstr ""
538
-
539
- #: includes/Settings.class.php:165 includes/Settings.class.php:556
540
- msgid "General"
541
- msgstr ""
542
-
543
- #: includes/Settings.class.php:176
544
- msgid "REMINDER:"
545
- msgstr ""
546
-
547
- #: includes/Settings.class.php:177
548
- msgid "To display FAQs, place the [ultimate-faqs] shortcode on a page"
549
- msgstr ""
550
-
551
- #: includes/Settings.class.php:187
552
- msgid "Custom CSS"
553
- msgstr ""
554
-
555
- #: includes/Settings.class.php:188
556
- msgid "You can add custom CSS styles to your FAQs in the box above."
557
- msgstr ""
558
-
559
- #: includes/Settings.class.php:197
560
- msgid "Scroll To Top"
561
- msgstr ""
562
-
563
- #: includes/Settings.class.php:198
564
- msgid "Should the browser scroll to the top of the FAQ when it's opened?"
565
- msgstr ""
566
-
567
- #: includes/Settings.class.php:208
568
- msgid "Turn On Comment Support"
569
- msgstr ""
570
-
571
- #: includes/Settings.class.php:209
572
- msgid "Should comment support be turned on, so that if the \"Allow Comments\" checkbox is selected for a given FAQ, comments are shown in the FAQ list?"
573
- msgstr ""
574
-
575
- #: includes/Settings.class.php:219
576
- msgid "Disable Microdata"
577
- msgstr ""
578
-
579
- #: includes/Settings.class.php:220
580
- msgid "By default, the plugin adds FAQ page scheme when the shortcode is used. Select this option to disable this behaviour."
581
- msgstr ""
582
-
583
- #: includes/Settings.class.php:230
584
- msgid "Include Permalink"
585
- msgstr ""
586
-
587
- #: includes/Settings.class.php:231
588
- msgid "Display permalink to each question? If so, text, icon or both?"
589
- msgstr ""
590
-
591
- #: includes/Settings.class.php:233 includes/Settings.class.php:504
592
- msgid "None"
593
- msgstr ""
594
-
595
- #: includes/Settings.class.php:234 includes/Settings.class.php:1050
596
- msgid "Text"
597
- msgstr ""
598
-
599
- #: includes/Settings.class.php:235
600
- msgid "Icon"
601
- msgstr ""
602
-
603
- #: includes/Settings.class.php:236
604
- msgid "Both"
605
- msgstr ""
606
-
607
- #: includes/Settings.class.php:248
608
- msgid "Permalink Destination"
609
- msgstr ""
610
-
611
- #: includes/Settings.class.php:249
612
- msgid "Should the permalink link to the main FAQ page or the individual FAQ page?"
613
- msgstr ""
614
-
615
- #: includes/Settings.class.php:251
616
- msgid "Main FAQ Page"
617
- msgstr ""
618
-
619
- #: includes/Settings.class.php:252
620
- msgid "Individual FAQ Page"
621
- msgstr ""
622
-
623
- #: includes/Settings.class.php:264
624
- msgid "Set Access Role"
625
- msgstr ""
626
-
627
- #: includes/Settings.class.php:265
628
- msgid "Which level of user should have access to FAQs, Settings, etc.?."
629
- msgstr ""
630
-
631
- #: includes/Settings.class.php:268
632
- msgid "Administrator"
633
- msgstr ""
634
-
635
- #: includes/Settings.class.php:269
636
- msgid "Editor"
637
- msgstr ""
638
-
639
- #: includes/Settings.class.php:270
640
- msgid "Author"
641
- msgstr ""
642
-
643
- #: includes/Settings.class.php:271
644
- msgid "Contributor"
645
- msgstr ""
646
-
647
- #: includes/Settings.class.php:280
648
- msgid "Functionality"
649
- msgstr ""
650
-
651
- #: includes/Settings.class.php:291
652
- msgid "Disable FAQ Toggle"
653
- msgstr ""
654
-
655
- #: includes/Settings.class.php:313
656
- msgid "FAQ Category Toggle"
657
- msgstr ""
658
-
659
- #: includes/Settings.class.php:314
660
- msgid "Should the FAQ categories hide/open when they are clicked, if FAQs are being grouped by category (\"Group FAQs by Category\" in the \"Ordering\" area)?"
661
- msgstr ""
662
-
663
- #: includes/Settings.class.php:324
664
- msgid "FAQ Category Accordion"
665
- msgstr ""
666
-
667
- #: includes/Settings.class.php:325
668
- msgid "Should it only be possible to open one FAQ category at a time, if FAQ categories are being toggled (\"FAQ Category Toggle\" must be enabled above)?"
669
- msgstr ""
670
-
671
- #: includes/Settings.class.php:335
672
- msgid "FAQ Expand/Collapse All"
673
- msgstr ""
674
-
675
- #: includes/Settings.class.php:336
676
- msgid "Should there be a control to open and close all FAQs simultaneously?"
677
- msgstr ""
678
-
679
- #: includes/Settings.class.php:344 includes/Settings.class.php:438
680
- msgid "Display"
681
- msgstr ""
682
-
683
- #: includes/Settings.class.php:355
684
- msgid "Hide Categories"
685
- msgstr ""
686
-
687
- #: includes/Settings.class.php:356
688
- msgid "Should the categories for each FAQ be hidden?"
689
- msgstr ""
690
-
691
- #: includes/Settings.class.php:366
692
- msgid "Hide Tags"
693
- msgstr ""
694
-
695
- #: includes/Settings.class.php:367
696
- msgid "Should the tags for each FAQ be hidden?"
697
- msgstr ""
698
-
699
- #: includes/Settings.class.php:377
700
- msgid "Display All Answers"
701
- msgstr ""
702
-
703
- #: includes/Settings.class.php:378
704
- msgid "Should all answers be displayed when the page loads? (Careful if FAQ Accordion is on)"
705
- msgstr ""
706
-
707
- #: includes/Settings.class.php:388
708
- msgid "Display Post Author"
709
- msgstr ""
710
-
711
- #: includes/Settings.class.php:389
712
- msgid "Should the display name of the post's author be displayed beneath the FAQ title?"
713
- msgstr ""
714
-
715
- #: includes/Settings.class.php:399
716
- msgid "Display Post Date"
717
- msgstr ""
718
-
719
- #: includes/Settings.class.php:400
720
- msgid "Should the date the post was created be displayed beneath the FAQ title?"
721
- msgstr ""
722
-
723
- #: includes/Settings.class.php:410
724
- msgid "Display 'Back to Top'"
725
- msgstr ""
726
-
727
- #: includes/Settings.class.php:411
728
- msgid "Should a link to return to the top of the page be added to each FAQ post?"
729
- msgstr ""
730
-
731
- #: includes/Settings.class.php:428
732
- msgid "Premium"
733
- msgstr ""
734
-
735
- #: includes/Settings.class.php:451
736
- msgid "FAQ Display Style"
737
- msgstr ""
738
-
739
- #: includes/Settings.class.php:452
740
- msgid "Which theme should be used to display the FAQ's?"
741
- msgstr ""
742
-
743
- #: includes/Settings.class.php:454
744
- msgid "Default"
745
- msgstr ""
746
-
747
- #: includes/Settings.class.php:455
748
- msgid "Block"
749
- msgstr ""
750
-
751
- #: includes/Settings.class.php:456
752
- msgid "Border Block"
753
- msgstr ""
754
-
755
- #: includes/Settings.class.php:457
756
- msgid "Contemporary"
757
- msgstr ""
758
-
759
- #: includes/Settings.class.php:458
760
- msgid "List"
761
- msgstr ""
762
-
763
- #: includes/Settings.class.php:459
764
- msgid "Minimalist"
765
- msgstr ""
766
-
767
- #: includes/Settings.class.php:471
768
- msgid "Number of Columns"
769
- msgstr ""
770
-
771
- #: includes/Settings.class.php:472
772
- msgid "In how many columns would you like your FAQs displayed?"
773
- msgstr ""
774
-
775
- #: includes/Settings.class.php:474
776
- msgid "One"
777
- msgstr ""
778
-
779
- #: includes/Settings.class.php:475
780
- msgid "Two"
781
- msgstr ""
782
-
783
- #: includes/Settings.class.php:476
784
- msgid "Three"
785
- msgstr ""
786
-
787
- #: includes/Settings.class.php:477
788
- msgid "Four"
789
- msgstr ""
790
-
791
- #: includes/Settings.class.php:489
792
- msgid "Responsive Columns"
793
- msgstr ""
794
-
795
- #: includes/Settings.class.php:490
796
- msgid "If you have more than one column, would you like them to be responsive? If this option is disabled, the number of columns will remain the same on all screen sizes."
797
- msgstr ""
798
-
799
- #: includes/Settings.class.php:500
800
- msgid "Reveal Effect"
801
- msgstr ""
802
-
803
- #: includes/Settings.class.php:501
804
- msgid "How should FAQ's be displayed when their titles are clicked?"
805
- msgstr ""
806
-
807
- #: includes/Settings.class.php:505
808
- msgid "Blind"
809
- msgstr ""
810
-
811
- #: includes/Settings.class.php:506
812
- msgid "Bounce"
813
- msgstr ""
814
-
815
- #: includes/Settings.class.php:507
816
- msgid "Clip"
817
- msgstr ""
818
-
819
- #: includes/Settings.class.php:508
820
- msgid "Drop"
821
- msgstr ""
822
-
823
- #: includes/Settings.class.php:509
824
- msgid "Explode"
825
- msgstr ""
826
-
827
- #: includes/Settings.class.php:510
828
- msgid "Fade"
829
- msgstr ""
830
-
831
- #: includes/Settings.class.php:511
832
- msgid "Fold"
833
- msgstr ""
834
-
835
- #: includes/Settings.class.php:512
836
- msgid "Highlight"
837
- msgstr ""
838
-
839
- #: includes/Settings.class.php:513
840
- msgid "Puff"
841
- msgstr ""
842
-
843
- #: includes/Settings.class.php:514
844
- msgid "Pulsate"
845
- msgstr ""
846
-
847
- #: includes/Settings.class.php:515
848
- msgid "Shake"
849
- msgstr ""
850
-
851
- #: includes/Settings.class.php:516
852
- msgid "Size"
853
- msgstr ""
854
-
855
- #: includes/Settings.class.php:517
856
- msgid "Slide"
857
- msgstr ""
858
-
859
- #: includes/Settings.class.php:528
860
- msgid "FAQs Per Page"
861
- msgstr ""
862
-
863
- #: includes/Settings.class.php:529
864
- msgid "How many FAQs should be displayed on each page? (Leave blank to display all FAQs)"
865
- msgstr ""
866
-
867
- #: includes/Settings.class.php:540
868
- msgid "FAQ Page Type"
869
- msgstr ""
870
-
871
- #: includes/Settings.class.php:541
872
- msgid "If FAQs are in pages, how should pages load?"
873
- msgstr ""
874
-
875
- #: includes/Settings.class.php:543
876
- msgid "Distinct Pages"
877
- msgstr ""
878
-
879
- #: includes/Settings.class.php:544
880
- msgid "Load More Button"
881
- msgstr ""
882
-
883
- #: includes/Settings.class.php:545
884
- msgid "Infinite Scroll"
885
- msgstr ""
886
-
887
- #: includes/Settings.class.php:569
888
- msgid "FAQ Ratings"
889
- msgstr ""
890
-
891
- #: includes/Settings.class.php:570
892
- msgid "Should visitors be able to up or down vote FAQs to let others know if they found them helpful?"
893
- msgstr ""
894
-
895
- #: includes/Settings.class.php:580
896
- msgid "FAQ Ratings 'Thumbs Up' Image"
897
- msgstr ""
898
-
899
- #: includes/Settings.class.php:581
900
- msgid "You can use this to upload your own image to replace the default \"thumbs up\" image."
901
- msgstr ""
902
-
903
- #: includes/Settings.class.php:591
904
- msgid "FAQ Ratings 'Thumbs Down' Image"
905
- msgstr ""
906
-
907
- #: includes/Settings.class.php:592
908
- msgid "You can use this to upload your own image to replace the default \"thumbs down\" image."
909
- msgstr ""
910
-
911
- #: includes/Settings.class.php:602
912
- msgid "Pretty Permalinks"
913
- msgstr ""
914
-
915
- #: includes/Settings.class.php:603
916
- msgid "Should an SEO friendly permalink structure be used for the link to the FAQ?"
917
- msgstr ""
918
-
919
- #: includes/Settings.class.php:613
920
- msgid "FAQ Auto Complete Titles"
921
- msgstr ""
922
-
923
- #: includes/Settings.class.php:614
924
- msgid "Should the FAQ Titles auto complete when using the FAQ search shortcode?"
925
- msgstr ""
926
-
927
- #: includes/Settings.class.php:624
928
- msgid "FAQ Slug Base"
929
- msgstr ""
930
-
931
- #: includes/Settings.class.php:625
932
- msgid "This option can be used to change the slug base for all FAQ posts. Be sure to go to \"Settings\" -> \"Permalinks\" in the WordPress sidebar and hit \"Save Changes\" to avoid 404 errors."
933
- msgstr ""
934
-
935
- #: includes/Settings.class.php:636
936
- msgid "Social Media Options"
937
- msgstr ""
938
-
939
- #: includes/Settings.class.php:653
940
- msgid "WooCommerce"
941
- msgstr ""
942
-
943
- #: includes/Settings.class.php:666
944
- msgid "WooCommerce FAQs"
945
- msgstr ""
946
-
947
- #: includes/Settings.class.php:667
948
- msgid "Should FAQs for a given product be displayed as an extra tab on the WooCommerce product page? For this to work correctly, an FAQ category needs to be created with the same name as a given WooCommerce product."
949
- msgstr ""
950
-
951
- #: includes/Settings.class.php:677
952
- msgid "Use WooCommerce Product Object"
953
- msgstr ""
954
-
955
- #: includes/Settings.class.php:678
956
- msgid "Should the FAQ tab be set up using the WooCommerce product object, as in the WC documentation, or just using the ID of the page?"
957
- msgstr ""
958
-
959
- #: includes/Settings.class.php:687
960
- msgid "WP Forms"
961
- msgstr ""
962
-
963
- #: includes/Settings.class.php:700
964
- msgid "WP Forms Integration"
965
- msgstr ""
966
-
967
- #: includes/Settings.class.php:701
968
- msgid "Should FAQs be displayed when a visitor starts typing a message into a paragraph text field in WP Forms? This can be turned off for specific forms via the form's settings panel."
969
- msgstr ""
970
-
971
- #: includes/Settings.class.php:711
972
- msgid "WP Forms Post Count"
973
- msgstr ""
974
-
975
- #: includes/Settings.class.php:712
976
- msgid "How many posts should be displayed below paragraph text fields, if WP Forms Integration has been turned on?"
977
- msgstr ""
978
-
979
- #: includes/Settings.class.php:723
980
- msgid "WP Forms FAQ Location"
981
- msgstr ""
982
-
983
- #: includes/Settings.class.php:724
984
- msgid "If WP Forms Integration has been turned on, where should the FAQs be displayed?"
985
- msgstr ""
986
-
987
- #: includes/Settings.class.php:726
988
- msgid "Above"
989
- msgstr ""
990
-
991
- #: includes/Settings.class.php:727
992
- msgid "Below"
993
- msgstr ""
994
-
995
- #: includes/Settings.class.php:738
996
- msgid "Submit FAQ"
997
- msgstr ""
998
-
999
- #: includes/Settings.class.php:751
1000
- msgid "Allow Proposed Answer"
1001
- msgstr ""
1002
-
1003
- #: includes/Settings.class.php:752
1004
- msgid "When using the user-submitted question shortcode, should users be able to propose an answer to the question they're submitting?"
1005
- msgstr ""
1006
-
1007
- #: includes/Settings.class.php:762
1008
- msgid "Submit Custom Fields"
1009
- msgstr ""
1010
-
1011
- #: includes/Settings.class.php:763
1012
- msgid "When using the user-submitted question shortcode, should users be able to fill in custom fields for the question they're submitting? File type custom fields cannot be submitted for security reasons."
1013
- msgstr ""
1014
-
1015
- #: includes/Settings.class.php:773
1016
- msgid "Submit Question Captcha"
1017
- msgstr ""
1018
-
1019
- #: includes/Settings.class.php:774
1020
- msgid "When using the user-submitted question shortcode, should a captcha field be added to the form to reduce the volume of spam FAQs?"
1021
- msgstr ""
1022
-
1023
- #: includes/Settings.class.php:798
1024
- msgid "Default Category"
1025
- msgstr ""
1026
-
1027
- #: includes/Settings.class.php:799
1028
- msgid "Which category should submitted questions default to?"
1029
- msgstr ""
1030
-
1031
- #: includes/Settings.class.php:811
1032
- msgid "Admin Question Notification"
1033
- msgstr ""
1034
-
1035
- #: includes/Settings.class.php:812
1036
- msgid "Should an email be sent to the site administrator when a question is submitted?"
1037
- msgstr ""
1038
-
1039
- #: includes/Settings.class.php:822
1040
- msgid "Admin Notification Email"
1041
- msgstr ""
1042
-
1043
- #: includes/Settings.class.php:823
1044
- msgid "What email address should the notifications be sent to if \"Admin Question Notification\" is enabled above? If blank, the default WordPress admin email will be used."
1045
- msgstr ""
1046
-
1047
- #: includes/Settings.class.php:841
1048
- msgid "FAQ Submitted Thank You E-mail"
1049
- msgstr ""
1050
-
1051
- #: includes/Settings.class.php:842
1052
- msgid "You can use the <a href=\"https://wordpress.org/plugins/ultimate-wp-mail/\">Ultimate WP Mail plugin</a> to create a custom email that is sent whenever an faq is submitted."
1053
- msgstr ""
1054
-
1055
- #: includes/Settings.class.php:853 includes/Settings.class.php:866
1056
- msgid "FAQ Elements Order"
1057
- msgstr ""
1058
-
1059
- #: includes/Settings.class.php:867
1060
- msgid "You can use this table to drag-and-drop the elements of an FAQ into a different order."
1061
- msgstr ""
1062
-
1063
- #: includes/Settings.class.php:876
1064
- msgid "Ordering"
1065
- msgstr ""
1066
-
1067
- #: includes/Settings.class.php:907
1068
- msgid "Display FAQ Category Count"
1069
- msgstr ""
1070
-
1071
- #: includes/Settings.class.php:908
1072
- msgid "If FAQs are grouped by category, should the number of FAQs in a category be displayed beside the category name?"
1073
- msgstr ""
1074
-
1075
- #: includes/Settings.class.php:918
1076
- msgid "Sort Categories"
1077
- msgstr ""
1078
-
1079
- #: includes/Settings.class.php:919 includes/Settings.class.php:936
1080
- msgid "How should FAQ categories be ordered? (Only used if \"Group FAQs by Category\" above is enabled.)"
1081
- msgstr ""
1082
-
1083
- #: includes/Settings.class.php:923
1084
- msgid "FAQ Count"
1085
- msgstr ""
1086
-
1087
- #: includes/Settings.class.php:924
1088
- msgid "Slug"
1089
- msgstr ""
1090
-
1091
- #: includes/Settings.class.php:935
1092
- msgid "Sort Categories Ordering"
1093
- msgstr ""
1094
-
1095
- #: includes/Settings.class.php:938 includes/Settings.class.php:973
1096
- msgid "Ascending"
1097
- msgstr ""
1098
-
1099
- #: includes/Settings.class.php:939 includes/Settings.class.php:974
1100
- msgid "Descending"
1101
- msgstr ""
1102
-
1103
- #: includes/Settings.class.php:958
1104
- msgid "Selected Order (Premium option)"
1105
- msgstr ""
1106
-
1107
- #: includes/Settings.class.php:970
1108
- msgid "Sort FAQs Ordering"
1109
- msgstr ""
1110
-
1111
- #: includes/Settings.class.php:971
1112
- msgid "Should FAQ be ascending or descending order, based on the ordering criteria above?"
1113
- msgstr ""
1114
-
1115
- #: includes/Settings.class.php:993
1116
- msgid "Fields"
1117
- msgstr ""
1118
-
1119
- #: includes/Settings.class.php:1016
1120
- msgid "Hide Blank Fields"
1121
- msgstr ""
1122
-
1123
- #: includes/Settings.class.php:1017
1124
- msgid "Should field labels be hidden if a field hasn't been filled out for a particular FAQ?"
1125
- msgstr ""
1126
-
1127
- #: includes/Settings.class.php:1021
1128
- msgid "Should any extra fields be added to the FAQs?"
1129
- msgstr ""
1130
-
1131
- #: includes/Settings.class.php:1022
1132
- msgid "The \"Field Values\" should be a comma-separated list of values for the select, radio or checkbox field types (no extra spaces after the comma)."
1133
- msgstr ""
1134
-
1135
- #: includes/Settings.class.php:1023
1136
- msgid "For security reasons, file fields cannot be included in the submit FAQ form."
1137
- msgstr ""
1138
-
1139
- #: includes/Settings.class.php:1031
1140
- msgid "FAQ Custom Fields"
1141
- msgstr ""
1142
-
1143
- #: includes/Settings.class.php:1032
1144
- msgid "&plus; ADD"
1145
- msgstr ""
1146
-
1147
- #: includes/Settings.class.php:1033
1148
- msgid "Delete"
1149
- msgstr ""
1150
-
1151
- #: includes/Settings.class.php:1048
1152
- msgid "Field Type"
1153
- msgstr ""
1154
-
1155
- #: includes/Settings.class.php:1051
1156
- msgid "Text Area"
1157
- msgstr ""
1158
-
1159
- #: includes/Settings.class.php:1052
1160
- msgid "Select Box"
1161
- msgstr ""
1162
-
1163
- #: includes/Settings.class.php:1053
1164
- msgid "Radio Buttons"
1165
- msgstr ""
1166
-
1167
- #: includes/Settings.class.php:1054
1168
- msgid "Checkbox"
1169
- msgstr ""
1170
-
1171
- #: includes/Settings.class.php:1055
1172
- msgid "File"
1173
- msgstr ""
1174
-
1175
- #: includes/Settings.class.php:1056
1176
- msgid "Link"
1177
- msgstr ""
1178
-
1179
- #: includes/Settings.class.php:1057
1180
- msgid "Date"
1181
- msgstr ""
1182
-
1183
- #: includes/Settings.class.php:1058
1184
- msgid "Date/Time"
1185
- msgstr ""
1186
-
1187
- #: includes/Settings.class.php:1063
1188
- msgid "Field Values"
1189
- msgstr ""
1190
-
1191
- #: includes/Settings.class.php:1083
1192
- msgid "Labelling"
1193
- msgstr ""
1194
-
1195
- #: includes/Settings.class.php:1093
1196
- msgid "FAQ Page and Search"
1197
- msgstr ""
1198
-
1199
- #: includes/Settings.class.php:1106 views/View.class.php:107
1200
- msgid "Posted"
1201
- msgstr ""
1202
-
1203
- #: includes/Settings.class.php:1117
1204
- msgid "By"
1205
- msgstr ""
1206
-
1207
- #: includes/Settings.class.php:1128
1208
- msgid "On"
1209
- msgstr ""
1210
-
1211
- #: includes/Settings.class.php:1161 views/View.class.php:112
1212
- msgid "Permalink"
1213
- msgstr ""
1214
-
1215
- #: includes/Settings.class.php:1172
1216
- msgid "Back To Top"
1217
- msgstr ""
1218
-
1219
- #: includes/Settings.class.php:1183
1220
- msgid "WooCommerce Tab"
1221
- msgstr ""
1222
-
1223
- #: includes/Settings.class.php:1194 views/View.class.php:120
1224
- msgid "Share"
1225
- msgstr ""
1226
-
1227
- #: includes/Settings.class.php:1205 views/View.class.php:121
1228
- msgid "Did you find this FAQ helpful?"
1229
- msgstr ""
1230
-
1231
- #: includes/Settings.class.php:1216
1232
- msgid "Enter your quetion"
1233
- msgstr ""
1234
-
1235
- #: includes/Settings.class.php:1227
1236
- msgid "Search Placeholder"
1237
- msgstr ""
1238
-
1239
- #: includes/Settings.class.php:1238
1240
- msgid "Search Button"
1241
- msgstr ""
1242
-
1243
- #: includes/Settings.class.php:1270
1244
- msgid "FAQ Submit Page"
1245
- msgstr ""
1246
-
1247
- #: includes/Settings.class.php:1283
1248
- msgid "Thank you for submitting an FAQ"
1249
- msgstr ""
1250
-
1251
- #: includes/Settings.class.php:1294 views/View.class.php:124
1252
- msgid "Submit a Question"
1253
- msgstr ""
1254
-
1255
- #: includes/Settings.class.php:1305 views/View.class.php:125
1256
- msgid "Please fill out the form below to submit a question."
1257
- msgstr ""
1258
-
1259
- #: includes/Settings.class.php:1316 views/View.class.php:126
1260
- msgid "Send Question"
1261
- msgstr ""
1262
-
1263
- #: includes/Settings.class.php:1327 views/View.class.php:127
1264
- msgid "Question Title"
1265
- msgstr ""
1266
-
1267
- #: includes/Settings.class.php:1338 views/View.class.php:128
1268
- msgid "What question is being answered?"
1269
- msgstr ""
1270
-
1271
- #: includes/Settings.class.php:1349 views/View.class.php:129
1272
- msgid "Proposed Answer"
1273
- msgstr ""
1274
-
1275
- #: includes/Settings.class.php:1360 views/View.class.php:130
1276
- msgid "What answer should be displayed for this question?"
1277
- msgstr ""
1278
-
1279
- #: includes/Settings.class.php:1371
1280
- msgid "Question Author"
1281
- msgstr ""
1282
-
1283
- #: includes/Settings.class.php:1382 views/View.class.php:135
1284
- msgid "Image Number"
1285
- msgstr ""
1286
-
1287
- #: includes/Settings.class.php:1393
1288
- msgid "What name should be displayed with your question?"
1289
- msgstr ""
1290
-
1291
- #: includes/Settings.class.php:1411
1292
- msgid "Styling"
1293
- msgstr ""
1294
-
1295
- #: includes/Settings.class.php:1421 includes/Settings.class.php:1434
1296
- msgid "Toggle Symbol"
1297
- msgstr ""
1298
-
1299
- #: includes/Settings.class.php:1463
1300
- msgid "Toggle Background Color"
1301
- msgstr ""
1302
-
1303
- #: includes/Settings.class.php:1473
1304
- msgid "Toggle Color"
1305
- msgstr ""
1306
-
1307
- #: includes/Settings.class.php:1483
1308
- msgid "Toggle Border Color"
1309
- msgstr ""
1310
-
1311
- #: includes/Settings.class.php:1493
1312
- msgid "Toggle Font Size"
1313
- msgstr ""
1314
-
1315
- #: includes/Settings.class.php:1505
1316
- msgid "Border Size"
1317
- msgstr ""
1318
-
1319
- #: includes/Settings.class.php:1517
1320
- msgid "Border Radius"
1321
- msgstr ""
1322
-
1323
- #: includes/Settings.class.php:1528
1324
- msgid "Themes"
1325
- msgstr ""
1326
-
1327
- #: includes/Settings.class.php:1541
1328
- msgid "Block and Border Block Background Color"
1329
- msgstr ""
1330
-
1331
- #: includes/Settings.class.php:1551
1332
- msgid "Block and Border Block Hover Font Color"
1333
- msgstr ""
1334
-
1335
- #: includes/Settings.class.php:1561
1336
- msgid "List Font Color"
1337
- msgstr ""
1338
-
1339
- #: includes/Settings.class.php:1572
1340
- msgid "Font Family"
1341
- msgstr ""
1342
-
1343
- #: includes/Settings.class.php:1584
1344
- msgid "Font Size"
1345
- msgstr ""
1346
-
1347
- #: includes/Settings.class.php:1596
1348
- msgid "Margin"
1349
- msgstr ""
1350
-
1351
- #: includes/Settings.class.php:1608
1352
- msgid "Padding"
1353
- msgstr ""
1354
-
1355
- #: includes/Settings.class.php:1619
1356
- msgid "FAQ Elements"
1357
- msgstr ""
1358
-
1359
- #: includes/Settings.class.php:1632
1360
- msgid "Question Font Color"
1361
- msgstr ""
1362
-
1363
- #: includes/Settings.class.php:1643
1364
- msgid "Question Font Family"
1365
- msgstr ""
1366
-
1367
- #: includes/Settings.class.php:1655
1368
- msgid "Question Font Size"
1369
- msgstr ""
1370
-
1371
- #: includes/Settings.class.php:1667
1372
- msgid "Question Margin"
1373
- msgstr ""
1374
-
1375
- #: includes/Settings.class.php:1679
1376
- msgid "Question Padding"
1377
- msgstr ""
1378
-
1379
- #: includes/Settings.class.php:1691
1380
- msgid "Toggle Symbol Top Margin"
1381
- msgstr ""
1382
-
1383
- #: includes/Settings.class.php:1703
1384
- msgid "Answer Font Color"
1385
- msgstr ""
1386
-
1387
- #: includes/Settings.class.php:1714
1388
- msgid "Answer Font Family"
1389
- msgstr ""
1390
-
1391
- #: includes/Settings.class.php:1726
1392
- msgid "Answer Font Size"
1393
- msgstr ""
1394
-
1395
- #: includes/Settings.class.php:1738
1396
- msgid "Answer Margin"
1397
- msgstr ""
1398
-
1399
- #: includes/Settings.class.php:1750
1400
- msgid "Answer Padding"
1401
- msgstr ""
1402
-
1403
- #: includes/Settings.class.php:1762
1404
- msgid "Categories, Tags Font Color"
1405
- msgstr ""
1406
-
1407
- #: includes/Settings.class.php:1773
1408
- msgid "Categories, Tags Font Family"
1409
- msgstr ""
1410
-
1411
- #: includes/Settings.class.php:1785
1412
- msgid "Categories, Tags Font Size"
1413
- msgstr ""
1414
-
1415
- #: includes/Settings.class.php:1797
1416
- msgid "Categories, Tags Margin"
1417
- msgstr ""
1418
-
1419
- #: includes/Settings.class.php:1809
1420
- msgid "Categories, Tags Padding"
1421
- msgstr ""
1422
-
1423
- #: includes/Settings.class.php:1821
1424
- msgid "Post Date Font Color"
1425
- msgstr ""
1426
-
1427
- #: includes/Settings.class.php:1832
1428
- msgid "Post Date Font Family"
1429
- msgstr ""
1430
-
1431
- #: includes/Settings.class.php:1844
1432
- msgid "Post Date Font Size"
1433
- msgstr ""
1434
-
1435
- #: includes/Settings.class.php:1856
1436
- msgid "Post Date Margin"
1437
- msgstr ""
1438
-
1439
- #: includes/Settings.class.php:1868
1440
- msgid "Post Date Padding"
1441
- msgstr ""
1442
-
1443
- #: includes/Settings.class.php:1879
1444
- msgid "Headings"
1445
- msgstr ""
1446
-
1447
- #: includes/Settings.class.php:1892
1448
- msgid "Category Heading Type"
1449
- msgstr ""
1450
-
1451
- #: includes/Settings.class.php:1894 includes/Settings.class.php:1913
1452
- msgid "H1"
1453
- msgstr ""
1454
-
1455
- #: includes/Settings.class.php:1895 includes/Settings.class.php:1914
1456
- msgid "H2"
1457
- msgstr ""
1458
-
1459
- #: includes/Settings.class.php:1896 includes/Settings.class.php:1915
1460
- msgid "H3"
1461
- msgstr ""
1462
-
1463
- #: includes/Settings.class.php:1897 includes/Settings.class.php:1916
1464
- msgid "H4"
1465
- msgstr ""
1466
-
1467
- #: includes/Settings.class.php:1898 includes/Settings.class.php:1917
1468
- msgid "H5"
1469
- msgstr ""
1470
-
1471
- #: includes/Settings.class.php:1899 includes/Settings.class.php:1918
1472
- msgid "H6"
1473
- msgstr ""
1474
-
1475
- #: includes/Settings.class.php:1911
1476
- msgid "FAQ Heading Type"
1477
- msgstr ""
1478
-
1479
- #: includes/Settings.class.php:1930
1480
- msgid "Category Heading Font Color"
1481
- msgstr ""
1482
-
1483
- #: includes/Settings.class.php:1941
1484
- msgid "Category Heading Font Family"
1485
- msgstr ""
1486
-
1487
- #: includes/Settings.class.php:1953
1488
- msgid "Category Heading Font Size"
1489
- msgstr ""
1490
-
1491
- #: includes/WPForms.class.php:77
1492
- msgid "-- Select Field --"
1493
- msgstr ""
1494
-
1495
- #: includes/Widgets.class.php:50
1496
- msgid "UFAQ FAQ ID List"
1497
- msgstr ""
1498
-
1499
- #: includes/Widgets.class.php:51
1500
- msgid "Insert FAQ posts using a comma-separated list of post IDs"
1501
- msgstr ""
1502
-
1503
- #: includes/Widgets.class.php:76
1504
- msgid "FAQ ID List"
1505
- msgstr ""
1506
-
1507
- #: includes/Widgets.class.php:82
1508
- msgid "FAQ ID List:"
1509
- msgstr ""
1510
-
1511
- #: includes/Widgets.class.php:86 includes/Widgets.class.php:154
1512
- #: includes/Widgets.class.php:222 includes/Widgets.class.php:294
1513
- #: includes/Widgets.class.php:361
1514
- msgid "Widget Title:"
1515
- msgstr ""
1516
-
1517
- #: includes/Widgets.class.php:118
1518
- msgid "Recent FAQs"
1519
- msgstr ""
1520
-
1521
- #: includes/Widgets.class.php:119
1522
- msgid "Insert a number of the most recent FAQs"
1523
- msgstr ""
1524
-
1525
- #: includes/Widgets.class.php:144 includes/Widgets.class.php:212
1526
- msgid "Number of FAQs"
1527
- msgstr ""
1528
-
1529
- #: includes/Widgets.class.php:145 includes/Widgets.class.php:213
1530
- #: includes/Widgets.class.php:289 includes/Widgets.class.php:352
1531
- msgid "Widget Title"
1532
- msgstr ""
1533
-
1534
- #: includes/Widgets.class.php:150 includes/Widgets.class.php:218
1535
- msgid "Number of FAQs:"
1536
- msgstr ""
1537
-
1538
- #: includes/Widgets.class.php:186
1539
- msgid "Popular FAQs"
1540
- msgstr ""
1541
-
1542
- #: includes/Widgets.class.php:187
1543
- msgid "Insert a number of popular FAQs."
1544
- msgstr ""
1545
-
1546
- #: includes/Widgets.class.php:254
1547
- msgid "Random FAQ"
1548
- msgstr ""
1549
-
1550
- #: includes/Widgets.class.php:255
1551
- msgid "Display a random FAQ"
1552
- msgstr ""
1553
-
1554
- #: includes/Widgets.class.php:325
1555
- msgid "UFAQ FAQ Category List"
1556
- msgstr ""
1557
-
1558
- #: includes/Widgets.class.php:326
1559
- msgid "Insert FAQ posts using a comma-separated list of categories"
1560
- msgstr ""
1561
-
1562
- #: includes/Widgets.class.php:351
1563
- msgid "FAQ Category List"
1564
- msgstr ""
1565
-
1566
- #: includes/Widgets.class.php:357
1567
- msgid "FAQ Category List:"
1568
- msgstr ""
1569
-
1570
- #: includes/WooCommerce.class.php:147
1571
- msgid "You can use the form below to select which FAQs to display for this product, or leave it blank to use the default category naming system."
1572
- msgstr ""
1573
-
1574
- #: includes/WooCommerce.class.php:157
1575
- msgid "All Categories"
1576
- msgstr ""
1577
-
1578
- #: includes/WooCommerce.class.php:164 includes/WooCommerce.class.php:286
1579
- msgid "Add?"
1580
- msgstr ""
1581
-
1582
- #: includes/WooCommerce.class.php:179
1583
- msgid "Add FAQs"
1584
- msgstr ""
1585
-
1586
- #: includes/WooCommerce.class.php:191
1587
- msgid "Delete?"
1588
- msgstr ""
1589
-
1590
- #: includes/WooCommerce.class.php:207
1591
- msgid "Delete FAQs"
1592
- msgstr ""
1593
-
1594
- #: lib/simple-admin-pages/classes/AdminPage.class.php:173
1595
- msgid "You do not have sufficient permissions to access this page."
1596
- msgstr ""
1597
-
1598
- #: lib/simple-admin-pages/classes/AdminPageSetting.FileUpload.class.php:46
1599
- msgid "Current image:"
1600
- msgstr ""
1601
-
1602
- #: lib/simple-admin-pages/classes/AdminPageSetting.FileUpload.class.php:59
1603
- msgid "Upload Image"
1604
- msgstr ""
1605
-
1606
- #: ultimate-faqs.php:293
1607
- msgid "Head to the settings page for Ultimate FAQs"
1608
- msgstr ""
1609
-
1610
- #: ultimate-faqs.php:349
1611
- msgid "MENU"
1612
- msgstr ""
1613
-
1614
- #: ultimate-faqs.php:350
1615
- msgid "Dashboard"
1616
- msgstr ""
1617
-
1618
- #: ultimate-faqs.php:355
1619
- msgid "Import"
1620
- msgstr ""
1621
-
1622
- #: ultimate-faqs.php:356
1623
- msgid "Export"
1624
- msgstr ""
1625
-
1626
- #: ultimate-faqs.php:358
1627
- msgid "FAQ Order"
1628
- msgstr ""
1629
-
1630
- #: views/View.FAQ.class.php:499
1631
- msgid "Category:"
1632
- msgstr ""
1633
-
1634
- #: views/View.FAQ.class.php:499
1635
- msgid "Categories:"
1636
- msgstr ""
1637
-
1638
- #: views/View.FAQ.class.php:523
1639
- msgid "Tag:"
1640
- msgstr ""
1641
-
1642
- #: views/View.FAQ.class.php:523
1643
- msgid "Tags:"
1644
- msgstr ""
1645
-
1646
- #: views/View.FAQ.class.php:592 views/View.FAQ.class.php:604
1647
- #: views/View.FAQ.class.php:616 views/View.FAQ.class.php:628
1648
- msgid "Check out this helpful FAQ"
1649
- msgstr ""
1650
-
1651
- #: views/View.class.php:108
1652
- msgid "by"
1653
- msgstr ""
1654
-
1655
- #: views/View.class.php:109
1656
- msgid "on"
1657
- msgstr ""
1658
-
1659
- #: views/View.class.php:110
1660
- msgid "Enter your question"
1661
- msgstr ""
1662
-
1663
- #: views/View.class.php:111
1664
- msgid "Search"
1665
- msgstr ""
1666
-
1667
- #: views/View.class.php:113
1668
- msgid "Back to Top"
1669
- msgstr ""
1670
-
1671
- #: views/View.class.php:114
1672
- msgid "Expand All"
1673
- msgstr ""
1674
-
1675
- #: views/View.class.php:115
1676
- msgid "Collapse All"
1677
- msgstr ""
1678
-
1679
- #: views/View.class.php:118
1680
- msgid "Load More"
1681
- msgstr ""
1682
-
1683
- #: views/View.class.php:122
1684
- msgid "Enter your question..."
1685
- msgstr ""
1686
-
1687
- #: views/View.class.php:131
1688
- msgid "FAQ Author"
1689
- msgstr ""
1690
-
1691
- #: views/View.class.php:132
1692
- msgid "What name should be displayed with your FAQ?"
1693
- msgstr ""
1694
-
1695
- #: views/View.class.php:133
1696
- msgid "Author Email"
1697
- msgstr ""
1698
-
1699
- #: views/View.class.php:134
1700
- msgid "This is only used to verify the authenticity of the FAQ. It is not displayed anywhere."
1701
- msgstr ""
1702
-
1703
- #: views/View.class.php:136
1704
- #, php-format
1705
- msgid "No result FAQs contained the term '%s'"
1706
- msgstr ""
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: Ultimate FAQ\n"
5
+ "POT-Creation-Date: 2021-04-08 11:30-0400\n"
6
+ "PO-Revision-Date: 2021-04-08 11:29-0400\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: Etoile Web Design\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.4.2\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "Language: en\n"
16
+ "X-Poedit-KeywordsList: __;_e\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+
19
+ #: includes/Blocks.class.php:110
20
+ msgid "Ultimate FAQs"
21
+ msgstr ""
22
+
23
+ #: includes/CustomPostTypes.class.php:47 includes/CustomPostTypes.class.php:49
24
+ #: includes/CustomPostTypes.class.php:50 includes/Settings.class.php:76
25
+ #: includes/WooCommerce.class.php:121 ultimate-faqs.php:351
26
+ #: views/View.class.php:119
27
+ msgid "FAQs"
28
+ msgstr ""
29
+
30
+ #: includes/CustomPostTypes.class.php:48 includes/WooCommerce.class.php:165
31
+ #: includes/WooCommerce.class.php:192 includes/WooCommerce.class.php:287
32
+ msgid "FAQ"
33
+ msgstr ""
34
+
35
+ #: includes/CustomPostTypes.class.php:51 ultimate-faqs.php:352
36
+ msgid "Add New"
37
+ msgstr ""
38
+
39
+ #: includes/CustomPostTypes.class.php:52
40
+ msgid "Add New FAQ"
41
+ msgstr ""
42
+
43
+ #: includes/CustomPostTypes.class.php:53
44
+ msgid "Edit FAQ"
45
+ msgstr ""
46
+
47
+ #: includes/CustomPostTypes.class.php:54
48
+ msgid "New FAQ"
49
+ msgstr ""
50
+
51
+ #: includes/CustomPostTypes.class.php:55
52
+ msgid "View FAQ"
53
+ msgstr ""
54
+
55
+ #: includes/CustomPostTypes.class.php:56
56
+ msgid "Search FAQs"
57
+ msgstr ""
58
+
59
+ #: includes/CustomPostTypes.class.php:57
60
+ msgid "No FAQs found"
61
+ msgstr ""
62
+
63
+ #: includes/CustomPostTypes.class.php:58
64
+ msgid "No FAQs found in trash"
65
+ msgstr ""
66
+
67
+ #: includes/CustomPostTypes.class.php:59
68
+ msgid "All FAQs"
69
+ msgstr ""
70
+
71
+ #: includes/CustomPostTypes.class.php:92 includes/CustomPostTypes.class.php:102
72
+ msgid "FAQ Categories"
73
+ msgstr ""
74
+
75
+ #: includes/CustomPostTypes.class.php:93
76
+ #: includes/InstallationWalkthrough.class.php:240
77
+ msgid "FAQ Category"
78
+ msgstr ""
79
+
80
+ #: includes/CustomPostTypes.class.php:94
81
+ msgid "Search FAQ Categories"
82
+ msgstr ""
83
+
84
+ #: includes/CustomPostTypes.class.php:95
85
+ msgid "All FAQ Categories"
86
+ msgstr ""
87
+
88
+ #: includes/CustomPostTypes.class.php:96
89
+ msgid "Parent FAQ Category"
90
+ msgstr ""
91
+
92
+ #: includes/CustomPostTypes.class.php:97
93
+ msgid "Parent FAQ Category:"
94
+ msgstr ""
95
+
96
+ #: includes/CustomPostTypes.class.php:98
97
+ msgid "Edit FAQ Category"
98
+ msgstr ""
99
+
100
+ #: includes/CustomPostTypes.class.php:99
101
+ msgid "Update FAQ Category"
102
+ msgstr ""
103
+
104
+ #: includes/CustomPostTypes.class.php:100
105
+ msgid "Add New FAQ Category"
106
+ msgstr ""
107
+
108
+ #: includes/CustomPostTypes.class.php:101
109
+ msgid "New FAQ Category Name"
110
+ msgstr ""
111
+
112
+ #: includes/CustomPostTypes.class.php:118
113
+ #: includes/CustomPostTypes.class.php:128
114
+ msgid "FAQ Tags"
115
+ msgstr ""
116
+
117
+ #: includes/CustomPostTypes.class.php:119
118
+ msgid "FAQ Tag"
119
+ msgstr ""
120
+
121
+ #: includes/CustomPostTypes.class.php:120
122
+ msgid "Search FAQ Tags"
123
+ msgstr ""
124
+
125
+ #: includes/CustomPostTypes.class.php:121
126
+ msgid "All FAQ Tags"
127
+ msgstr ""
128
+
129
+ #: includes/CustomPostTypes.class.php:122
130
+ msgid "Parent FAQ Tag"
131
+ msgstr ""
132
+
133
+ #: includes/CustomPostTypes.class.php:123
134
+ msgid "Parent FAQ Tag:"
135
+ msgstr ""
136
+
137
+ #: includes/CustomPostTypes.class.php:124
138
+ msgid "Edit FAQ Tag"
139
+ msgstr ""
140
+
141
+ #: includes/CustomPostTypes.class.php:125
142
+ msgid "Update FAQ Tag"
143
+ msgstr ""
144
+
145
+ #: includes/CustomPostTypes.class.php:126
146
+ msgid "Add New FAQ Tag"
147
+ msgstr ""
148
+
149
+ #: includes/CustomPostTypes.class.php:127
150
+ msgid "New FAQ Tag Name"
151
+ msgstr ""
152
+
153
+ #: includes/CustomPostTypes.class.php:217
154
+ msgid "Author Display Name:"
155
+ msgstr ""
156
+
157
+ #: includes/CustomPostTypes.class.php:226
158
+ msgid "Up Votes:"
159
+ msgstr ""
160
+
161
+ #: includes/CustomPostTypes.class.php:230
162
+ msgid "Down Votes:"
163
+ msgstr ""
164
+
165
+ #: includes/CustomPostTypes.class.php:408
166
+ msgid "# of Views"
167
+ msgstr ""
168
+
169
+ #: includes/CustomPostTypes.class.php:409 includes/Dashboard.class.php:143
170
+ #: includes/OrderingTable.class.php:77 includes/Settings.class.php:1139
171
+ #: ultimate-faqs.php:353
172
+ msgid "Categories"
173
+ msgstr ""
174
+
175
+ #: includes/CustomPostTypes.class.php:410
176
+ msgid "Post ID"
177
+ msgstr ""
178
+
179
+ #: includes/CustomPostTypes.class.php:558
180
+ msgid "Reset View Count"
181
+ msgstr ""
182
+
183
+ #: includes/Dashboard.class.php:94
184
+ #, php-format
185
+ msgid "<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to upgrade to premium."
186
+ msgstr ""
187
+
188
+ #: includes/Dashboard.class.php:104 includes/Dashboard.class.php:128
189
+ msgid "Get Support"
190
+ msgstr ""
191
+
192
+ #: includes/Dashboard.class.php:110
193
+ msgid "YouTube Tutorials"
194
+ msgstr ""
195
+
196
+ #: includes/Dashboard.class.php:116
197
+ msgid "Plugin FAQs"
198
+ msgstr ""
199
+
200
+ #: includes/Dashboard.class.php:122
201
+ msgid "Documentation"
202
+ msgstr ""
203
+
204
+ #: includes/Dashboard.class.php:136
205
+ msgid "FAQ Summary"
206
+ msgstr ""
207
+
208
+ #: includes/Dashboard.class.php:141
209
+ #: includes/InstallationWalkthrough.class.php:357
210
+ #: includes/Settings.class.php:956
211
+ msgid "Title"
212
+ msgstr ""
213
+
214
+ #: includes/Dashboard.class.php:142 includes/OrderingTable.class.php:76
215
+ msgid "Views"
216
+ msgstr ""
217
+
218
+ #: includes/Dashboard.class.php:148
219
+ msgid "No faqs to display yet. Create an faq and then view it for it to be displayed here."
220
+ msgstr ""
221
+
222
+ #: includes/Dashboard.class.php:230
223
+ #, php-format
224
+ msgid "<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to get a free 7-day trial of the premium plugin."
225
+ msgstr ""
226
+
227
+ #: includes/DeactivationSurvey.class.php:58
228
+ msgid "Quick Feedback"
229
+ msgstr ""
230
+
231
+ #: includes/DeactivationSurvey.class.php:59
232
+ msgid "If you have a moment, please share why you are deactivating Ultimate FAQs:"
233
+ msgstr ""
234
+
235
+ #: includes/DeactivationSurvey.class.php:74
236
+ msgid "Submit and Deactivate"
237
+ msgstr ""
238
+
239
+ #: includes/DeactivationSurvey.class.php:75
240
+ msgid "Skip and Deactivate"
241
+ msgstr ""
242
+
243
+ #: includes/FAQ.class.php:175
244
+ msgid "The number you entered for the image was incorrect."
245
+ msgstr ""
246
+
247
+ #: includes/FAQ.class.php:188
248
+ msgid "Please make sure that there is a question that you are submitting as an FAQ"
249
+ msgstr ""
250
+
251
+ #: includes/Import.class.php:51
252
+ msgid "Spreadsheet Containing FAQs"
253
+ msgstr ""
254
+
255
+ #: includes/Import.class.php:200
256
+ msgid "FAQs added successfully."
257
+ msgstr ""
258
+
259
+ #: includes/Import.class.php:212
260
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
261
+ msgstr ""
262
+
263
+ #: includes/Import.class.php:215
264
+ msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
265
+ msgstr ""
266
+
267
+ #: includes/Import.class.php:218
268
+ msgid "The uploaded file was only partially uploaded"
269
+ msgstr ""
270
+
271
+ #: includes/Import.class.php:221
272
+ msgid "No file was uploaded."
273
+ msgstr ""
274
+
275
+ #: includes/Import.class.php:225
276
+ msgid "Missing a temporary folder"
277
+ msgstr ""
278
+
279
+ #: includes/Import.class.php:228
280
+ msgid "Failed to write file to disk"
281
+ msgstr ""
282
+
283
+ #: includes/Import.class.php:231
284
+ msgid "File upload stopped by extension"
285
+ msgstr ""
286
+
287
+ #: includes/Import.class.php:235
288
+ msgid "No error code avaiable"
289
+ msgstr ""
290
+
291
+ #: includes/Import.class.php:240
292
+ msgid "No file was uploaded here.."
293
+ msgstr ""
294
+
295
+ #: includes/Import.class.php:245
296
+ msgid "File must be .csv, .xls or .xlsx"
297
+ msgstr ""
298
+
299
+ #: includes/InstallationWalkthrough.class.php:176
300
+ msgid "Welcome to Ultimate FAQs"
301
+ msgstr ""
302
+
303
+ #: includes/InstallationWalkthrough.class.php:177
304
+ msgid "Thanks for choosing Ultimate FAQs! The following will help you get started with the setup by creating your first FAQ and category, as well as adding your FAQs to a page and configuring a few key options."
305
+ msgstr ""
306
+
307
+ #: includes/InstallationWalkthrough.class.php:181
308
+ msgid "1. Create Categories"
309
+ msgstr ""
310
+
311
+ #: includes/InstallationWalkthrough.class.php:183
312
+ msgid "Categories let you organize your FAQs in a way that's easy for you - and your customers - to find."
313
+ msgstr ""
314
+
315
+ #: includes/InstallationWalkthrough.class.php:186
316
+ msgid "Category Name"
317
+ msgstr ""
318
+
319
+ #: includes/InstallationWalkthrough.class.php:192
320
+ msgid "Category Description"
321
+ msgstr ""
322
+
323
+ #: includes/InstallationWalkthrough.class.php:200
324
+ msgid "Add Category"
325
+ msgstr ""
326
+
327
+ #: includes/InstallationWalkthrough.class.php:206
328
+ msgid "Created Categories"
329
+ msgstr ""
330
+
331
+ #: includes/InstallationWalkthrough.class.php:209
332
+ #: includes/Settings.class.php:922
333
+ msgid "Name"
334
+ msgstr ""
335
+
336
+ #: includes/InstallationWalkthrough.class.php:210
337
+ msgid "Description"
338
+ msgstr ""
339
+
340
+ #: includes/InstallationWalkthrough.class.php:217
341
+ #: includes/InstallationWalkthrough.class.php:269
342
+ #: includes/InstallationWalkthrough.class.php:295 views/View.class.php:117
343
+ msgid "Next"
344
+ msgstr ""
345
+
346
+ #: includes/InstallationWalkthrough.class.php:223
347
+ msgid "2. Questions & Answers"
348
+ msgstr ""
349
+
350
+ #: includes/InstallationWalkthrough.class.php:225
351
+ msgid "Create your first set of questions and answers. Don't worry, you can always add more later."
352
+ msgstr ""
353
+
354
+ #: includes/InstallationWalkthrough.class.php:228
355
+ msgid "Questions"
356
+ msgstr ""
357
+
358
+ #: includes/InstallationWalkthrough.class.php:234
359
+ #: includes/InstallationWalkthrough.class.php:260
360
+ msgid "Answer"
361
+ msgstr ""
362
+
363
+ #: includes/InstallationWalkthrough.class.php:250
364
+ msgid "Add FAQ"
365
+ msgstr ""
366
+
367
+ #: includes/InstallationWalkthrough.class.php:256
368
+ msgid "Created FAQs"
369
+ msgstr ""
370
+
371
+ #: includes/InstallationWalkthrough.class.php:259
372
+ #: includes/OrderingTable.class.php:75
373
+ msgid "Question"
374
+ msgstr ""
375
+
376
+ #: includes/InstallationWalkthrough.class.php:261
377
+ msgid "Category"
378
+ msgstr ""
379
+
380
+ #: includes/InstallationWalkthrough.class.php:270
381
+ #: includes/InstallationWalkthrough.class.php:296
382
+ #: includes/InstallationWalkthrough.class.php:368 views/View.class.php:116
383
+ msgid "Previous"
384
+ msgstr ""
385
+
386
+ #: includes/InstallationWalkthrough.class.php:276
387
+ msgid "3. Add an FAQ Page"
388
+ msgstr ""
389
+
390
+ #: includes/InstallationWalkthrough.class.php:278
391
+ msgid "You can create a dedicated FAQ page below, or skip this step and add your FAQs to a page you've already created manually."
392
+ msgstr ""
393
+
394
+ #: includes/InstallationWalkthrough.class.php:281
395
+ msgid "Page Title"
396
+ msgstr ""
397
+
398
+ #: includes/InstallationWalkthrough.class.php:289
399
+ msgid "Create Page"
400
+ msgstr ""
401
+
402
+ #: includes/InstallationWalkthrough.class.php:302
403
+ msgid "4. Set Key Options"
404
+ msgstr ""
405
+
406
+ #: includes/InstallationWalkthrough.class.php:304
407
+ msgid "Options can always be changed later, but here are a few tha a lot of users want to set for themselves."
408
+ msgstr ""
409
+
410
+ #: includes/InstallationWalkthrough.class.php:307
411
+ #: includes/Settings.class.php:302
412
+ msgid "FAQ Accordion"
413
+ msgstr ""
414
+
415
+ #: includes/InstallationWalkthrough.class.php:317
416
+ #: includes/Settings.class.php:303
417
+ msgid "Should the FAQs accordion? (Only one FAQ is open at a time, requires FAQ Toggle)"
418
+ msgstr ""
419
+
420
+ #: includes/InstallationWalkthrough.class.php:322
421
+ msgid "FAQ Toggle"
422
+ msgstr ""
423
+
424
+ #: includes/InstallationWalkthrough.class.php:332
425
+ #: includes/Settings.class.php:292
426
+ msgid "Should the FAQs open on a separate page when clicked, instead of opening and closing?"
427
+ msgstr ""
428
+
429
+ #: includes/InstallationWalkthrough.class.php:337
430
+ #: includes/Settings.class.php:896
431
+ msgid "Group FAQs by Category"
432
+ msgstr ""
433
+
434
+ #: includes/InstallationWalkthrough.class.php:347
435
+ #: includes/Settings.class.php:897
436
+ msgid "Should FAQs be grouped by category, or should all categories be mixed together?"
437
+ msgstr ""
438
+
439
+ #: includes/InstallationWalkthrough.class.php:352
440
+ #: includes/Settings.class.php:951
441
+ msgid "FAQ Ordering"
442
+ msgstr ""
443
+
444
+ #: includes/InstallationWalkthrough.class.php:356
445
+ #: includes/Settings.class.php:955
446
+ msgid "Created Date"
447
+ msgstr ""
448
+
449
+ #: includes/InstallationWalkthrough.class.php:358
450
+ #: includes/Settings.class.php:957
451
+ msgid "Modified Date"
452
+ msgstr ""
453
+
454
+ #: includes/InstallationWalkthrough.class.php:360
455
+ #: includes/Settings.class.php:952
456
+ msgid "How should individual FAQs be ordered?"
457
+ msgstr ""
458
+
459
+ #: includes/InstallationWalkthrough.class.php:366
460
+ msgid "Save Options"
461
+ msgstr ""
462
+
463
+ #: includes/InstallationWalkthrough.class.php:369
464
+ msgid "Finish"
465
+ msgstr ""
466
+
467
+ #: includes/InstallationWalkthrough.class.php:376
468
+ msgid "Skip Setup"
469
+ msgstr ""
470
+
471
+ #: includes/Notifications.class.php:33
472
+ msgid "New Question Received"
473
+ msgstr ""
474
+
475
+ #: includes/Notifications.class.php:35
476
+ msgid "Hello Admin,"
477
+ msgstr ""
478
+
479
+ #: includes/Notifications.class.php:36
480
+ msgid "You've received a new question titled "
481
+ msgstr ""
482
+
483
+ #: includes/Notifications.class.php:37
484
+ msgid "The answer reads:<br>"
485
+ msgstr ""
486
+
487
+ #: includes/Notifications.class.php:39
488
+ msgid "You can view the question in the admin area by going to the following link:<br>"
489
+ msgstr ""
490
+
491
+ #: includes/Notifications.class.php:40
492
+ msgid "See the FAQ"
493
+ msgstr ""
494
+
495
+ #: includes/Notifications.class.php:41
496
+ msgid "Have a great day,"
497
+ msgstr ""
498
+
499
+ #: includes/Notifications.class.php:42
500
+ msgid "Ultimate FAQs Team"
501
+ msgstr ""
502
+
503
+ #: includes/OrderingTable.class.php:69
504
+ msgid "Use the table below to set the order for your FAQs, either overall or within their categories depending on your selected settings."
505
+ msgstr ""
506
+
507
+ #: includes/OrderingTable.class.php:78 includes/Settings.class.php:1150
508
+ #: ultimate-faqs.php:354
509
+ msgid "Tags"
510
+ msgstr ""
511
+
512
+ #: includes/ReviewAsk.class.php:57
513
+ msgid "Email Address"
514
+ msgstr ""
515
+
516
+ #: includes/Settings.class.php:74 includes/Settings.class.php:1249
517
+ msgid "Retrieving Results"
518
+ msgstr ""
519
+
520
+ #: includes/Settings.class.php:75 includes/Settings.class.php:1260
521
+ #, php-format
522
+ msgid "No result FAQ's contained the term '%s'"
523
+ msgstr ""
524
+
525
+ #: includes/Settings.class.php:77 views/View.class.php:123
526
+ msgid "Thank you for submitting an FAQ."
527
+ msgstr ""
528
+
529
+ #: includes/Settings.class.php:143 includes/Settings.class.php:144
530
+ #: includes/Settings.class.php:885 includes/Settings.class.php:1003
531
+ #: ultimate-faqs.php:293 ultimate-faqs.php:360
532
+ msgid "Settings"
533
+ msgstr ""
534
+
535
+ #: includes/Settings.class.php:156
536
+ msgid "Basic"
537
+ msgstr ""
538
+
539
+ #: includes/Settings.class.php:165 includes/Settings.class.php:556
540
+ msgid "General"
541
+ msgstr ""
542
+
543
+ #: includes/Settings.class.php:176
544
+ msgid "REMINDER:"
545
+ msgstr ""
546
+
547
+ #: includes/Settings.class.php:177
548
+ msgid "To display FAQs, place the [ultimate-faqs] shortcode on a page"
549
+ msgstr ""
550
+
551
+ #: includes/Settings.class.php:187
552
+ msgid "Custom CSS"
553
+ msgstr ""
554
+
555
+ #: includes/Settings.class.php:188
556
+ msgid "You can add custom CSS styles to your FAQs in the box above."
557
+ msgstr ""
558
+
559
+ #: includes/Settings.class.php:197
560
+ msgid "Scroll To Top"
561
+ msgstr ""
562
+
563
+ #: includes/Settings.class.php:198
564
+ msgid "Should the browser scroll to the top of the FAQ when it's opened?"
565
+ msgstr ""
566
+
567
+ #: includes/Settings.class.php:208
568
+ msgid "Turn On Comment Support"
569
+ msgstr ""
570
+
571
+ #: includes/Settings.class.php:209
572
+ msgid "Should comment support be turned on, so that if the \"Allow Comments\" checkbox is selected for a given FAQ, comments are shown in the FAQ list?"
573
+ msgstr ""
574
+
575
+ #: includes/Settings.class.php:219
576
+ msgid "Disable Microdata"
577
+ msgstr ""
578
+
579
+ #: includes/Settings.class.php:220
580
+ msgid "By default, the plugin adds FAQ page scheme when the shortcode is used. Select this option to disable this behaviour."
581
+ msgstr ""
582
+
583
+ #: includes/Settings.class.php:230
584
+ msgid "Include Permalink"
585
+ msgstr ""
586
+
587
+ #: includes/Settings.class.php:231
588
+ msgid "Display permalink to each question? If so, text, icon or both?"
589
+ msgstr ""
590
+
591
+ #: includes/Settings.class.php:233 includes/Settings.class.php:504
592
+ msgid "None"
593
+ msgstr ""
594
+
595
+ #: includes/Settings.class.php:234 includes/Settings.class.php:1050
596
+ msgid "Text"
597
+ msgstr ""
598
+
599
+ #: includes/Settings.class.php:235
600
+ msgid "Icon"
601
+ msgstr ""
602
+
603
+ #: includes/Settings.class.php:236
604
+ msgid "Both"
605
+ msgstr ""
606
+
607
+ #: includes/Settings.class.php:248
608
+ msgid "Permalink Destination"
609
+ msgstr ""
610
+
611
+ #: includes/Settings.class.php:249
612
+ msgid "Should the permalink link to the main FAQ page or the individual FAQ page?"
613
+ msgstr ""
614
+
615
+ #: includes/Settings.class.php:251
616
+ msgid "Main FAQ Page"
617
+ msgstr ""
618
+
619
+ #: includes/Settings.class.php:252
620
+ msgid "Individual FAQ Page"
621
+ msgstr ""
622
+
623
+ #: includes/Settings.class.php:264
624
+ msgid "Set Access Role"
625
+ msgstr ""
626
+
627
+ #: includes/Settings.class.php:265
628
+ msgid "Which level of user should have access to FAQs, Settings, etc.?."
629
+ msgstr ""
630
+
631
+ #: includes/Settings.class.php:268
632
+ msgid "Administrator"
633
+ msgstr ""
634
+
635
+ #: includes/Settings.class.php:269
636
+ msgid "Editor"
637
+ msgstr ""
638
+
639
+ #: includes/Settings.class.php:270
640
+ msgid "Author"
641
+ msgstr ""
642
+
643
+ #: includes/Settings.class.php:271
644
+ msgid "Contributor"
645
+ msgstr ""
646
+
647
+ #: includes/Settings.class.php:280
648
+ msgid "Functionality"
649
+ msgstr ""
650
+
651
+ #: includes/Settings.class.php:291
652
+ msgid "Disable FAQ Toggle"
653
+ msgstr ""
654
+
655
+ #: includes/Settings.class.php:313
656
+ msgid "FAQ Category Toggle"
657
+ msgstr ""
658
+
659
+ #: includes/Settings.class.php:314
660
+ msgid "Should the FAQ categories hide/open when they are clicked, if FAQs are being grouped by category (\"Group FAQs by Category\" in the \"Ordering\" area)?"
661
+ msgstr ""
662
+
663
+ #: includes/Settings.class.php:324
664
+ msgid "FAQ Category Accordion"
665
+ msgstr ""
666
+
667
+ #: includes/Settings.class.php:325
668
+ msgid "Should it only be possible to open one FAQ category at a time, if FAQ categories are being toggled (\"FAQ Category Toggle\" must be enabled above)?"
669
+ msgstr ""
670
+
671
+ #: includes/Settings.class.php:335
672
+ msgid "FAQ Expand/Collapse All"
673
+ msgstr ""
674
+
675
+ #: includes/Settings.class.php:336
676
+ msgid "Should there be a control to open and close all FAQs simultaneously?"
677
+ msgstr ""
678
+
679
+ #: includes/Settings.class.php:344 includes/Settings.class.php:438
680
+ msgid "Display"
681
+ msgstr ""
682
+
683
+ #: includes/Settings.class.php:355
684
+ msgid "Hide Categories"
685
+ msgstr ""
686
+
687
+ #: includes/Settings.class.php:356
688
+ msgid "Should the categories for each FAQ be hidden?"
689
+ msgstr ""
690
+
691
+ #: includes/Settings.class.php:366
692
+ msgid "Hide Tags"
693
+ msgstr ""
694
+
695
+ #: includes/Settings.class.php:367
696
+ msgid "Should the tags for each FAQ be hidden?"
697
+ msgstr ""
698
+
699
+ #: includes/Settings.class.php:377
700
+ msgid "Display All Answers"
701
+ msgstr ""
702
+
703
+ #: includes/Settings.class.php:378
704
+ msgid "Should all answers be displayed when the page loads? (Careful if FAQ Accordion is on)"
705
+ msgstr ""
706
+
707
+ #: includes/Settings.class.php:388
708
+ msgid "Display Post Author"
709
+ msgstr ""
710
+
711
+ #: includes/Settings.class.php:389
712
+ msgid "Should the display name of the post's author be displayed beneath the FAQ title?"
713
+ msgstr ""
714
+
715
+ #: includes/Settings.class.php:399
716
+ msgid "Display Post Date"
717
+ msgstr ""
718
+
719
+ #: includes/Settings.class.php:400
720
+ msgid "Should the date the post was created be displayed beneath the FAQ title?"
721
+ msgstr ""
722
+
723
+ #: includes/Settings.class.php:410
724
+ msgid "Display 'Back to Top'"
725
+ msgstr ""
726
+
727
+ #: includes/Settings.class.php:411
728
+ msgid "Should a link to return to the top of the page be added to each FAQ post?"
729
+ msgstr ""
730
+
731
+ #: includes/Settings.class.php:428
732
+ msgid "Premium"
733
+ msgstr ""
734
+
735
+ #: includes/Settings.class.php:451
736
+ msgid "FAQ Display Style"
737
+ msgstr ""
738
+
739
+ #: includes/Settings.class.php:452
740
+ msgid "Which theme should be used to display the FAQ's?"
741
+ msgstr ""
742
+
743
+ #: includes/Settings.class.php:454
744
+ msgid "Default"
745
+ msgstr ""
746
+
747
+ #: includes/Settings.class.php:455
748
+ msgid "Block"
749
+ msgstr ""
750
+
751
+ #: includes/Settings.class.php:456
752
+ msgid "Border Block"
753
+ msgstr ""
754
+
755
+ #: includes/Settings.class.php:457
756
+ msgid "Contemporary"
757
+ msgstr ""
758
+
759
+ #: includes/Settings.class.php:458
760
+ msgid "List"
761
+ msgstr ""
762
+
763
+ #: includes/Settings.class.php:459
764
+ msgid "Minimalist"
765
+ msgstr ""
766
+
767
+ #: includes/Settings.class.php:471
768
+ msgid "Number of Columns"
769
+ msgstr ""
770
+
771
+ #: includes/Settings.class.php:472
772
+ msgid "In how many columns would you like your FAQs displayed?"
773
+ msgstr ""
774
+
775
+ #: includes/Settings.class.php:474
776
+ msgid "One"
777
+ msgstr ""
778
+
779
+ #: includes/Settings.class.php:475
780
+ msgid "Two"
781
+ msgstr ""
782
+
783
+ #: includes/Settings.class.php:476
784
+ msgid "Three"
785
+ msgstr ""
786
+
787
+ #: includes/Settings.class.php:477
788
+ msgid "Four"
789
+ msgstr ""
790
+
791
+ #: includes/Settings.class.php:489
792
+ msgid "Responsive Columns"
793
+ msgstr ""
794
+
795
+ #: includes/Settings.class.php:490
796
+ msgid "If you have more than one column, would you like them to be responsive? If this option is disabled, the number of columns will remain the same on all screen sizes."
797
+ msgstr ""
798
+
799
+ #: includes/Settings.class.php:500
800
+ msgid "Reveal Effect"
801
+ msgstr ""
802
+
803
+ #: includes/Settings.class.php:501
804
+ msgid "How should FAQ's be displayed when their titles are clicked?"
805
+ msgstr ""
806
+
807
+ #: includes/Settings.class.php:505
808
+ msgid "Blind"
809
+ msgstr ""
810
+
811
+ #: includes/Settings.class.php:506
812
+ msgid "Bounce"
813
+ msgstr ""
814
+
815
+ #: includes/Settings.class.php:507
816
+ msgid "Clip"
817
+ msgstr ""
818
+
819
+ #: includes/Settings.class.php:508
820
+ msgid "Drop"
821
+ msgstr ""
822
+
823
+ #: includes/Settings.class.php:509
824
+ msgid "Explode"
825
+ msgstr ""
826
+
827
+ #: includes/Settings.class.php:510
828
+ msgid "Fade"
829
+ msgstr ""
830
+
831
+ #: includes/Settings.class.php:511
832
+ msgid "Fold"
833
+ msgstr ""
834
+
835
+ #: includes/Settings.class.php:512
836
+ msgid "Highlight"
837
+ msgstr ""
838
+
839
+ #: includes/Settings.class.php:513
840
+ msgid "Puff"
841
+ msgstr ""
842
+
843
+ #: includes/Settings.class.php:514
844
+ msgid "Pulsate"
845
+ msgstr ""
846
+
847
+ #: includes/Settings.class.php:515
848
+ msgid "Shake"
849
+ msgstr ""
850
+
851
+ #: includes/Settings.class.php:516
852
+ msgid "Size"
853
+ msgstr ""
854
+
855
+ #: includes/Settings.class.php:517
856
+ msgid "Slide"
857
+ msgstr ""
858
+
859
+ #: includes/Settings.class.php:528
860
+ msgid "FAQs Per Page"
861
+ msgstr ""
862
+
863
+ #: includes/Settings.class.php:529
864
+ msgid "How many FAQs should be displayed on each page? (Leave blank to display all FAQs)"
865
+ msgstr ""
866
+
867
+ #: includes/Settings.class.php:540
868
+ msgid "FAQ Page Type"
869
+ msgstr ""
870
+
871
+ #: includes/Settings.class.php:541
872
+ msgid "If FAQs are in pages, how should pages load?"
873
+ msgstr ""
874
+
875
+ #: includes/Settings.class.php:543
876
+ msgid "Distinct Pages"
877
+ msgstr ""
878
+
879
+ #: includes/Settings.class.php:544
880
+ msgid "Load More Button"
881
+ msgstr ""
882
+
883
+ #: includes/Settings.class.php:545
884
+ msgid "Infinite Scroll"
885
+ msgstr ""
886
+
887
+ #: includes/Settings.class.php:569
888
+ msgid "FAQ Ratings"
889
+ msgstr ""
890
+
891
+ #: includes/Settings.class.php:570
892
+ msgid "Should visitors be able to up or down vote FAQs to let others know if they found them helpful?"
893
+ msgstr ""
894
+
895
+ #: includes/Settings.class.php:580
896
+ msgid "FAQ Ratings 'Thumbs Up' Image"
897
+ msgstr ""
898
+
899
+ #: includes/Settings.class.php:581
900
+ msgid "You can use this to upload your own image to replace the default \"thumbs up\" image."
901
+ msgstr ""
902
+
903
+ #: includes/Settings.class.php:591
904
+ msgid "FAQ Ratings 'Thumbs Down' Image"
905
+ msgstr ""
906
+
907
+ #: includes/Settings.class.php:592
908
+ msgid "You can use this to upload your own image to replace the default \"thumbs down\" image."
909
+ msgstr ""
910
+
911
+ #: includes/Settings.class.php:602
912
+ msgid "Pretty Permalinks"
913
+ msgstr ""
914
+
915
+ #: includes/Settings.class.php:603
916
+ msgid "Should an SEO friendly permalink structure be used for the link to the FAQ?"
917
+ msgstr ""
918
+
919
+ #: includes/Settings.class.php:613
920
+ msgid "FAQ Auto Complete Titles"
921
+ msgstr ""
922
+
923
+ #: includes/Settings.class.php:614
924
+ msgid "Should the FAQ Titles auto complete when using the FAQ search shortcode?"
925
+ msgstr ""
926
+
927
+ #: includes/Settings.class.php:624
928
+ msgid "FAQ Slug Base"
929
+ msgstr ""
930
+
931
+ #: includes/Settings.class.php:625
932
+ msgid "This option can be used to change the slug base for all FAQ posts. Be sure to go to \"Settings\" -> \"Permalinks\" in the WordPress sidebar and hit \"Save Changes\" to avoid 404 errors."
933
+ msgstr ""
934
+
935
+ #: includes/Settings.class.php:636
936
+ msgid "Social Media Options"
937
+ msgstr ""
938
+
939
+ #: includes/Settings.class.php:653
940
+ msgid "WooCommerce"
941
+ msgstr ""
942
+
943
+ #: includes/Settings.class.php:666
944
+ msgid "WooCommerce FAQs"
945
+ msgstr ""
946
+
947
+ #: includes/Settings.class.php:667
948
+ msgid "Should FAQs for a given product be displayed as an extra tab on the WooCommerce product page? For this to work correctly, an FAQ category needs to be created with the same name as a given WooCommerce product."
949
+ msgstr ""
950
+
951
+ #: includes/Settings.class.php:677
952
+ msgid "Use WooCommerce Product Object"
953
+ msgstr ""
954
+
955
+ #: includes/Settings.class.php:678
956
+ msgid "Should the FAQ tab be set up using the WooCommerce product object, as in the WC documentation, or just using the ID of the page?"
957
+ msgstr ""
958
+
959
+ #: includes/Settings.class.php:687
960
+ msgid "WP Forms"
961
+ msgstr ""
962
+
963
+ #: includes/Settings.class.php:700
964
+ msgid "WP Forms Integration"
965
+ msgstr ""
966
+
967
+ #: includes/Settings.class.php:701
968
+ msgid "Should FAQs be displayed when a visitor starts typing a message into a paragraph text field in WP Forms? This can be turned off for specific forms via the form's settings panel."
969
+ msgstr ""
970
+
971
+ #: includes/Settings.class.php:711
972
+ msgid "WP Forms Post Count"
973
+ msgstr ""
974
+
975
+ #: includes/Settings.class.php:712
976
+ msgid "How many posts should be displayed below paragraph text fields, if WP Forms Integration has been turned on?"
977
+ msgstr ""
978
+
979
+ #: includes/Settings.class.php:723
980
+ msgid "WP Forms FAQ Location"
981
+ msgstr ""
982
+
983
+ #: includes/Settings.class.php:724
984
+ msgid "If WP Forms Integration has been turned on, where should the FAQs be displayed?"
985
+ msgstr ""
986
+
987
+ #: includes/Settings.class.php:726
988
+ msgid "Above"
989
+ msgstr ""
990
+
991
+ #: includes/Settings.class.php:727
992
+ msgid "Below"
993
+ msgstr ""
994
+
995
+ #: includes/Settings.class.php:738
996
+ msgid "Submit FAQ"
997
+ msgstr ""
998
+
999
+ #: includes/Settings.class.php:751
1000
+ msgid "Allow Proposed Answer"
1001
+ msgstr ""
1002
+
1003
+ #: includes/Settings.class.php:752
1004
+ msgid "When using the user-submitted question shortcode, should users be able to propose an answer to the question they're submitting?"
1005
+ msgstr ""
1006
+
1007
+ #: includes/Settings.class.php:762
1008
+ msgid "Submit Custom Fields"
1009
+ msgstr ""
1010
+
1011
+ #: includes/Settings.class.php:763
1012
+ msgid "When using the user-submitted question shortcode, should users be able to fill in custom fields for the question they're submitting? File type custom fields cannot be submitted for security reasons."
1013
+ msgstr ""
1014
+
1015
+ #: includes/Settings.class.php:773
1016
+ msgid "Submit Question Captcha"
1017
+ msgstr ""
1018
+
1019
+ #: includes/Settings.class.php:774
1020
+ msgid "When using the user-submitted question shortcode, should a captcha field be added to the form to reduce the volume of spam FAQs?"
1021
+ msgstr ""
1022
+
1023
+ #: includes/Settings.class.php:798
1024
+ msgid "Default Category"
1025
+ msgstr ""
1026
+
1027
+ #: includes/Settings.class.php:799
1028
+ msgid "Which category should submitted questions default to?"
1029
+ msgstr ""
1030
+
1031
+ #: includes/Settings.class.php:811
1032
+ msgid "Admin Question Notification"
1033
+ msgstr ""
1034
+
1035
+ #: includes/Settings.class.php:812
1036
+ msgid "Should an email be sent to the site administrator when a question is submitted?"
1037
+ msgstr ""
1038
+
1039
+ #: includes/Settings.class.php:822
1040
+ msgid "Admin Notification Email"
1041
+ msgstr ""
1042
+
1043
+ #: includes/Settings.class.php:823
1044
+ msgid "What email address should the notifications be sent to if \"Admin Question Notification\" is enabled above? If blank, the default WordPress admin email will be used."
1045
+ msgstr ""
1046
+
1047
+ #: includes/Settings.class.php:841
1048
+ msgid "FAQ Submitted Thank You E-mail"
1049
+ msgstr ""
1050
+
1051
+ #: includes/Settings.class.php:842
1052
+ msgid "You can use the <a href=\"https://wordpress.org/plugins/ultimate-wp-mail/\">Ultimate WP Mail plugin</a> to create a custom email that is sent whenever an faq is submitted."
1053
+ msgstr ""
1054
+
1055
+ #: includes/Settings.class.php:853 includes/Settings.class.php:866
1056
+ msgid "FAQ Elements Order"
1057
+ msgstr ""
1058
+
1059
+ #: includes/Settings.class.php:867
1060
+ msgid "You can use this table to drag-and-drop the elements of an FAQ into a different order."
1061
+ msgstr ""
1062
+
1063
+ #: includes/Settings.class.php:876
1064
+ msgid "Ordering"
1065
+ msgstr ""
1066
+
1067
+ #: includes/Settings.class.php:907
1068
+ msgid "Display FAQ Category Count"
1069
+ msgstr ""
1070
+
1071
+ #: includes/Settings.class.php:908
1072
+ msgid "If FAQs are grouped by category, should the number of FAQs in a category be displayed beside the category name?"
1073
+ msgstr ""
1074
+
1075
+ #: includes/Settings.class.php:918
1076
+ msgid "Sort Categories"
1077
+ msgstr ""
1078
+
1079
+ #: includes/Settings.class.php:919 includes/Settings.class.php:936
1080
+ msgid "How should FAQ categories be ordered? (Only used if \"Group FAQs by Category\" above is enabled.)"
1081
+ msgstr ""
1082
+
1083
+ #: includes/Settings.class.php:923
1084
+ msgid "FAQ Count"
1085
+ msgstr ""
1086
+
1087
+ #: includes/Settings.class.php:924
1088
+ msgid "Slug"
1089
+ msgstr ""
1090
+
1091
+ #: includes/Settings.class.php:935
1092
+ msgid "Sort Categories Ordering"
1093
+ msgstr ""
1094
+
1095
+ #: includes/Settings.class.php:938 includes/Settings.class.php:973
1096
+ msgid "Ascending"
1097
+ msgstr ""
1098
+
1099
+ #: includes/Settings.class.php:939 includes/Settings.class.php:974
1100
+ msgid "Descending"
1101
+ msgstr ""
1102
+
1103
+ #: includes/Settings.class.php:958
1104
+ msgid "Selected Order (Premium option)"
1105
+ msgstr ""
1106
+
1107
+ #: includes/Settings.class.php:970
1108
+ msgid "Sort FAQs Ordering"
1109
+ msgstr ""
1110
+
1111
+ #: includes/Settings.class.php:971
1112
+ msgid "Should FAQ be ascending or descending order, based on the ordering criteria above?"
1113
+ msgstr ""
1114
+
1115
+ #: includes/Settings.class.php:993
1116
+ msgid "Fields"
1117
+ msgstr ""
1118
+
1119
+ #: includes/Settings.class.php:1016
1120
+ msgid "Hide Blank Fields"
1121
+ msgstr ""
1122
+
1123
+ #: includes/Settings.class.php:1017
1124
+ msgid "Should field labels be hidden if a field hasn't been filled out for a particular FAQ?"
1125
+ msgstr ""
1126
+
1127
+ #: includes/Settings.class.php:1021
1128
+ msgid "Should any extra fields be added to the FAQs?"
1129
+ msgstr ""
1130
+
1131
+ #: includes/Settings.class.php:1022
1132
+ msgid "The \"Field Values\" should be a comma-separated list of values for the select, radio or checkbox field types (no extra spaces after the comma)."
1133
+ msgstr ""
1134
+
1135
+ #: includes/Settings.class.php:1023
1136
+ msgid "For security reasons, file fields cannot be included in the submit FAQ form."
1137
+ msgstr ""
1138
+
1139
+ #: includes/Settings.class.php:1031
1140
+ msgid "FAQ Custom Fields"
1141
+ msgstr ""
1142
+
1143
+ #: includes/Settings.class.php:1032
1144
+ msgid "&plus; ADD"
1145
+ msgstr ""
1146
+
1147
+ #: includes/Settings.class.php:1033
1148
+ msgid "Delete"
1149
+ msgstr ""
1150
+
1151
+ #: includes/Settings.class.php:1048
1152
+ msgid "Field Type"
1153
+ msgstr ""
1154
+
1155
+ #: includes/Settings.class.php:1051
1156
+ msgid "Text Area"
1157
+ msgstr ""
1158
+
1159
+ #: includes/Settings.class.php:1052
1160
+ msgid "Select Box"
1161
+ msgstr ""
1162
+
1163
+ #: includes/Settings.class.php:1053
1164
+ msgid "Radio Buttons"
1165
+ msgstr ""
1166
+
1167
+ #: includes/Settings.class.php:1054
1168
+ msgid "Checkbox"
1169
+ msgstr ""
1170
+
1171
+ #: includes/Settings.class.php:1055
1172
+ msgid "File"
1173
+ msgstr ""
1174
+
1175
+ #: includes/Settings.class.php:1056
1176
+ msgid "Link"
1177
+ msgstr ""
1178
+
1179
+ #: includes/Settings.class.php:1057
1180
+ msgid "Date"
1181
+ msgstr ""
1182
+
1183
+ #: includes/Settings.class.php:1058
1184
+ msgid "Date/Time"
1185
+ msgstr ""
1186
+
1187
+ #: includes/Settings.class.php:1063
1188
+ msgid "Field Values"
1189
+ msgstr ""
1190
+
1191
+ #: includes/Settings.class.php:1083
1192
+ msgid "Labelling"
1193
+ msgstr ""
1194
+
1195
+ #: includes/Settings.class.php:1093
1196
+ msgid "FAQ Page and Search"
1197
+ msgstr ""
1198
+
1199
+ #: includes/Settings.class.php:1106 views/View.class.php:107
1200
+ msgid "Posted"
1201
+ msgstr ""
1202
+
1203
+ #: includes/Settings.class.php:1117
1204
+ msgid "By"
1205
+ msgstr ""
1206
+
1207
+ #: includes/Settings.class.php:1128
1208
+ msgid "On"
1209
+ msgstr ""
1210
+
1211
+ #: includes/Settings.class.php:1161 views/View.class.php:112
1212
+ msgid "Permalink"
1213
+ msgstr ""
1214
+
1215
+ #: includes/Settings.class.php:1172
1216
+ msgid "Back To Top"
1217
+ msgstr ""
1218
+
1219
+ #: includes/Settings.class.php:1183
1220
+ msgid "WooCommerce Tab"
1221
+ msgstr ""
1222
+
1223
+ #: includes/Settings.class.php:1194 views/View.class.php:120
1224
+ msgid "Share"
1225
+ msgstr ""
1226
+
1227
+ #: includes/Settings.class.php:1205 views/View.class.php:121
1228
+ msgid "Did you find this FAQ helpful?"
1229
+ msgstr ""
1230
+
1231
+ #: includes/Settings.class.php:1216
1232
+ msgid "Enter your quetion"
1233
+ msgstr ""
1234
+
1235
+ #: includes/Settings.class.php:1227
1236
+ msgid "Search Placeholder"
1237
+ msgstr ""
1238
+
1239
+ #: includes/Settings.class.php:1238
1240
+ msgid "Search Button"
1241
+ msgstr ""
1242
+
1243
+ #: includes/Settings.class.php:1270
1244
+ msgid "FAQ Submit Page"
1245
+ msgstr ""
1246
+
1247
+ #: includes/Settings.class.php:1283
1248
+ msgid "Thank you for submitting an FAQ"
1249
+ msgstr ""
1250
+
1251
+ #: includes/Settings.class.php:1294 views/View.class.php:124
1252
+ msgid "Submit a Question"
1253
+ msgstr ""
1254
+
1255
+ #: includes/Settings.class.php:1305 views/View.class.php:125
1256
+ msgid "Please fill out the form below to submit a question."
1257
+ msgstr ""
1258
+
1259
+ #: includes/Settings.class.php:1316 views/View.class.php:126
1260
+ msgid "Send Question"
1261
+ msgstr ""
1262
+
1263
+ #: includes/Settings.class.php:1327 views/View.class.php:127
1264
+ msgid "Question Title"
1265
+ msgstr ""
1266
+
1267
+ #: includes/Settings.class.php:1338 views/View.class.php:128
1268
+ msgid "What question is being answered?"
1269
+ msgstr ""
1270
+
1271
+ #: includes/Settings.class.php:1349 views/View.class.php:129
1272
+ msgid "Proposed Answer"
1273
+ msgstr ""
1274
+
1275
+ #: includes/Settings.class.php:1360 views/View.class.php:130
1276
+ msgid "What answer should be displayed for this question?"
1277
+ msgstr ""
1278
+
1279
+ #: includes/Settings.class.php:1371
1280
+ msgid "Question Author"
1281
+ msgstr ""
1282
+
1283
+ #: includes/Settings.class.php:1382 views/View.class.php:135
1284
+ msgid "Image Number"
1285
+ msgstr ""
1286
+
1287
+ #: includes/Settings.class.php:1393
1288
+ msgid "What name should be displayed with your question?"
1289
+ msgstr ""
1290
+
1291
+ #: includes/Settings.class.php:1411
1292
+ msgid "Styling"
1293
+ msgstr ""
1294
+
1295
+ #: includes/Settings.class.php:1421 includes/Settings.class.php:1434
1296
+ msgid "Toggle Symbol"
1297
+ msgstr ""
1298
+
1299
+ #: includes/Settings.class.php:1463
1300
+ msgid "Toggle Background Color"
1301
+ msgstr ""
1302
+
1303
+ #: includes/Settings.class.php:1473
1304
+ msgid "Toggle Color"
1305
+ msgstr ""
1306
+
1307
+ #: includes/Settings.class.php:1483
1308
+ msgid "Toggle Border Color"
1309
+ msgstr ""
1310
+
1311
+ #: includes/Settings.class.php:1493
1312
+ msgid "Toggle Font Size"
1313
+ msgstr ""
1314
+
1315
+ #: includes/Settings.class.php:1505
1316
+ msgid "Border Size"
1317
+ msgstr ""
1318
+
1319
+ #: includes/Settings.class.php:1517
1320
+ msgid "Border Radius"
1321
+ msgstr ""
1322
+
1323
+ #: includes/Settings.class.php:1528
1324
+ msgid "Themes"
1325
+ msgstr ""
1326
+
1327
+ #: includes/Settings.class.php:1541
1328
+ msgid "Block and Border Block Background Color"
1329
+ msgstr ""
1330
+
1331
+ #: includes/Settings.class.php:1551
1332
+ msgid "Block and Border Block Hover Font Color"
1333
+ msgstr ""
1334
+
1335
+ #: includes/Settings.class.php:1561
1336
+ msgid "List Font Color"
1337
+ msgstr ""
1338
+
1339
+ #: includes/Settings.class.php:1572
1340
+ msgid "Font Family"
1341
+ msgstr ""
1342
+
1343
+ #: includes/Settings.class.php:1584
1344
+ msgid "Font Size"
1345
+ msgstr ""
1346
+
1347
+ #: includes/Settings.class.php:1596
1348
+ msgid "Margin"
1349
+ msgstr ""
1350
+
1351
+ #: includes/Settings.class.php:1608
1352
+ msgid "Padding"
1353
+ msgstr ""
1354
+
1355
+ #: includes/Settings.class.php:1619
1356
+ msgid "FAQ Elements"
1357
+ msgstr ""
1358
+
1359
+ #: includes/Settings.class.php:1632
1360
+ msgid "Question Font Color"
1361
+ msgstr ""
1362
+
1363
+ #: includes/Settings.class.php:1643
1364
+ msgid "Question Font Family"
1365
+ msgstr ""
1366
+
1367
+ #: includes/Settings.class.php:1655
1368
+ msgid "Question Font Size"
1369
+ msgstr ""
1370
+
1371
+ #: includes/Settings.class.php:1667
1372
+ msgid "Question Margin"
1373
+ msgstr ""
1374
+
1375
+ #: includes/Settings.class.php:1679
1376
+ msgid "Question Padding"
1377
+ msgstr ""
1378
+
1379
+ #: includes/Settings.class.php:1691
1380
+ msgid "Toggle Symbol Top Margin"
1381
+ msgstr ""
1382
+
1383
+ #: includes/Settings.class.php:1703
1384
+ msgid "Answer Font Color"
1385
+ msgstr ""
1386
+
1387
+ #: includes/Settings.class.php:1714
1388
+ msgid "Answer Font Family"
1389
+ msgstr ""
1390
+
1391
+ #: includes/Settings.class.php:1726
1392
+ msgid "Answer Font Size"
1393
+ msgstr ""
1394
+
1395
+ #: includes/Settings.class.php:1738
1396
+ msgid "Answer Margin"
1397
+ msgstr ""
1398
+
1399
+ #: includes/Settings.class.php:1750
1400
+ msgid "Answer Padding"
1401
+ msgstr ""
1402
+
1403
+ #: includes/Settings.class.php:1762
1404
+ msgid "Categories, Tags Font Color"
1405
+ msgstr ""
1406
+
1407
+ #: includes/Settings.class.php:1773
1408
+ msgid "Categories, Tags Font Family"
1409
+ msgstr ""
1410
+
1411
+ #: includes/Settings.class.php:1785
1412
+ msgid "Categories, Tags Font Size"
1413
+ msgstr ""
1414
+
1415
+ #: includes/Settings.class.php:1797
1416
+ msgid "Categories, Tags Margin"
1417
+ msgstr ""
1418
+
1419
+ #: includes/Settings.class.php:1809
1420
+ msgid "Categories, Tags Padding"
1421
+ msgstr ""
1422
+
1423
+ #: includes/Settings.class.php:1821
1424
+ msgid "Post Date Font Color"
1425
+ msgstr ""
1426
+
1427
+ #: includes/Settings.class.php:1832
1428
+ msgid "Post Date Font Family"
1429
+ msgstr ""
1430
+
1431
+ #: includes/Settings.class.php:1844
1432
+ msgid "Post Date Font Size"
1433
+ msgstr ""
1434
+
1435
+ #: includes/Settings.class.php:1856
1436
+ msgid "Post Date Margin"
1437
+ msgstr ""
1438
+
1439
+ #: includes/Settings.class.php:1868
1440
+ msgid "Post Date Padding"
1441
+ msgstr ""
1442
+
1443
+ #: includes/Settings.class.php:1879
1444
+ msgid "Headings"
1445
+ msgstr ""
1446
+
1447
+ #: includes/Settings.class.php:1892
1448
+ msgid "Category Heading Type"
1449
+ msgstr ""
1450
+
1451
+ #: includes/Settings.class.php:1894 includes/Settings.class.php:1913
1452
+ msgid "H1"
1453
+ msgstr ""
1454
+
1455
+ #: includes/Settings.class.php:1895 includes/Settings.class.php:1914
1456
+ msgid "H2"
1457
+ msgstr ""
1458
+
1459
+ #: includes/Settings.class.php:1896 includes/Settings.class.php:1915
1460
+ msgid "H3"
1461
+ msgstr ""
1462
+
1463
+ #: includes/Settings.class.php:1897 includes/Settings.class.php:1916
1464
+ msgid "H4"
1465
+ msgstr ""
1466
+
1467
+ #: includes/Settings.class.php:1898 includes/Settings.class.php:1917
1468
+ msgid "H5"
1469
+ msgstr ""
1470
+
1471
+ #: includes/Settings.class.php:1899 includes/Settings.class.php:1918
1472
+ msgid "H6"
1473
+ msgstr ""
1474
+
1475
+ #: includes/Settings.class.php:1911
1476
+ msgid "FAQ Heading Type"
1477
+ msgstr ""
1478
+
1479
+ #: includes/Settings.class.php:1930
1480
+ msgid "Category Heading Font Color"
1481
+ msgstr ""
1482
+
1483
+ #: includes/Settings.class.php:1941
1484
+ msgid "Category Heading Font Family"
1485
+ msgstr ""
1486
+
1487
+ #: includes/Settings.class.php:1953
1488
+ msgid "Category Heading Font Size"
1489
+ msgstr ""
1490
+
1491
+ #: includes/WPForms.class.php:77
1492
+ msgid "-- Select Field --"
1493
+ msgstr ""
1494
+
1495
+ #: includes/Widgets.class.php:50
1496
+ msgid "UFAQ FAQ ID List"
1497
+ msgstr ""
1498
+
1499
+ #: includes/Widgets.class.php:51
1500
+ msgid "Insert FAQ posts using a comma-separated list of post IDs"
1501
+ msgstr ""
1502
+
1503
+ #: includes/Widgets.class.php:76
1504
+ msgid "FAQ ID List"
1505
+ msgstr ""
1506
+
1507
+ #: includes/Widgets.class.php:82
1508
+ msgid "FAQ ID List:"
1509
+ msgstr ""
1510
+
1511
+ #: includes/Widgets.class.php:86 includes/Widgets.class.php:154
1512
+ #: includes/Widgets.class.php:222 includes/Widgets.class.php:294
1513
+ #: includes/Widgets.class.php:361
1514
+ msgid "Widget Title:"
1515
+ msgstr ""
1516
+
1517
+ #: includes/Widgets.class.php:118
1518
+ msgid "Recent FAQs"
1519
+ msgstr ""
1520
+
1521
+ #: includes/Widgets.class.php:119
1522
+ msgid "Insert a number of the most recent FAQs"
1523
+ msgstr ""
1524
+
1525
+ #: includes/Widgets.class.php:144 includes/Widgets.class.php:212
1526
+ msgid "Number of FAQs"
1527
+ msgstr ""
1528
+
1529
+ #: includes/Widgets.class.php:145 includes/Widgets.class.php:213
1530
+ #: includes/Widgets.class.php:289 includes/Widgets.class.php:352
1531
+ msgid "Widget Title"
1532
+ msgstr ""
1533
+
1534
+ #: includes/Widgets.class.php:150 includes/Widgets.class.php:218
1535
+ msgid "Number of FAQs:"
1536
+ msgstr ""
1537
+
1538
+ #: includes/Widgets.class.php:186
1539
+ msgid "Popular FAQs"
1540
+ msgstr ""
1541
+
1542
+ #: includes/Widgets.class.php:187
1543
+ msgid "Insert a number of popular FAQs."
1544
+ msgstr ""
1545
+
1546
+ #: includes/Widgets.class.php:254
1547
+ msgid "Random FAQ"
1548
+ msgstr ""
1549
+
1550
+ #: includes/Widgets.class.php:255
1551
+ msgid "Display a random FAQ"
1552
+ msgstr ""
1553
+
1554
+ #: includes/Widgets.class.php:325
1555
+ msgid "UFAQ FAQ Category List"
1556
+ msgstr ""
1557
+
1558
+ #: includes/Widgets.class.php:326
1559
+ msgid "Insert FAQ posts using a comma-separated list of categories"
1560
+ msgstr ""
1561
+
1562
+ #: includes/Widgets.class.php:351
1563
+ msgid "FAQ Category List"
1564
+ msgstr ""
1565
+
1566
+ #: includes/Widgets.class.php:357
1567
+ msgid "FAQ Category List:"
1568
+ msgstr ""
1569
+
1570
+ #: includes/WooCommerce.class.php:147
1571
+ msgid "You can use the form below to select which FAQs to display for this product, or leave it blank to use the default category naming system."
1572
+ msgstr ""
1573
+
1574
+ #: includes/WooCommerce.class.php:157
1575
+ msgid "All Categories"
1576
+ msgstr ""
1577
+
1578
+ #: includes/WooCommerce.class.php:164 includes/WooCommerce.class.php:286
1579
+ msgid "Add?"
1580
+ msgstr ""
1581
+
1582
+ #: includes/WooCommerce.class.php:179
1583
+ msgid "Add FAQs"
1584
+ msgstr ""
1585
+
1586
+ #: includes/WooCommerce.class.php:191
1587
+ msgid "Delete?"
1588
+ msgstr ""
1589
+
1590
+ #: includes/WooCommerce.class.php:207
1591
+ msgid "Delete FAQs"
1592
+ msgstr ""
1593
+
1594
+ #: lib/simple-admin-pages/classes/AdminPage.class.php:173
1595
+ msgid "You do not have sufficient permissions to access this page."
1596
+ msgstr ""
1597
+
1598
+ #: lib/simple-admin-pages/classes/AdminPageSetting.FileUpload.class.php:46
1599
+ msgid "Current image:"
1600
+ msgstr ""
1601
+
1602
+ #: lib/simple-admin-pages/classes/AdminPageSetting.FileUpload.class.php:59
1603
+ msgid "Upload Image"
1604
+ msgstr ""
1605
+
1606
+ #: ultimate-faqs.php:293
1607
+ msgid "Head to the settings page for Ultimate FAQs"
1608
+ msgstr ""
1609
+
1610
+ #: ultimate-faqs.php:349
1611
+ msgid "MENU"
1612
+ msgstr ""
1613
+
1614
+ #: ultimate-faqs.php:350
1615
+ msgid "Dashboard"
1616
+ msgstr ""
1617
+
1618
+ #: ultimate-faqs.php:355
1619
+ msgid "Import"
1620
+ msgstr ""
1621
+
1622
+ #: ultimate-faqs.php:356
1623
+ msgid "Export"
1624
+ msgstr ""
1625
+
1626
+ #: ultimate-faqs.php:358
1627
+ msgid "FAQ Order"
1628
+ msgstr ""
1629
+
1630
+ #: views/View.FAQ.class.php:499
1631
+ msgid "Category:"
1632
+ msgstr ""
1633
+
1634
+ #: views/View.FAQ.class.php:499
1635
+ msgid "Categories:"
1636
+ msgstr ""
1637
+
1638
+ #: views/View.FAQ.class.php:523
1639
+ msgid "Tag:"
1640
+ msgstr ""
1641
+
1642
+ #: views/View.FAQ.class.php:523
1643
+ msgid "Tags:"
1644
+ msgstr ""
1645
+
1646
+ #: views/View.FAQ.class.php:592 views/View.FAQ.class.php:604
1647
+ #: views/View.FAQ.class.php:616 views/View.FAQ.class.php:628
1648
+ msgid "Check out this helpful FAQ"
1649
+ msgstr ""
1650
+
1651
+ #: views/View.class.php:108
1652
+ msgid "by"
1653
+ msgstr ""
1654
+
1655
+ #: views/View.class.php:109
1656
+ msgid "on"
1657
+ msgstr ""
1658
+
1659
+ #: views/View.class.php:110
1660
+ msgid "Enter your question"
1661
+ msgstr ""
1662
+
1663
+ #: views/View.class.php:111
1664
+ msgid "Search"
1665
+ msgstr ""
1666
+
1667
+ #: views/View.class.php:113
1668
+ msgid "Back to Top"
1669
+ msgstr ""
1670
+
1671
+ #: views/View.class.php:114
1672
+ msgid "Expand All"
1673
+ msgstr ""
1674
+
1675
+ #: views/View.class.php:115
1676
+ msgid "Collapse All"
1677
+ msgstr ""
1678
+
1679
+ #: views/View.class.php:118
1680
+ msgid "Load More"
1681
+ msgstr ""
1682
+
1683
+ #: views/View.class.php:122
1684
+ msgid "Enter your question..."
1685
+ msgstr ""
1686
+
1687
+ #: views/View.class.php:131
1688
+ msgid "FAQ Author"
1689
+ msgstr ""
1690
+
1691
+ #: views/View.class.php:132
1692
+ msgid "What name should be displayed with your FAQ?"
1693
+ msgstr ""
1694
+
1695
+ #: views/View.class.php:133
1696
+ msgid "Author Email"
1697
+ msgstr ""
1698
+
1699
+ #: views/View.class.php:134
1700
+ msgid "This is only used to verify the authenticity of the FAQ. It is not displayed anywhere."
1701
+ msgstr ""
1702
+
1703
+ #: views/View.class.php:136
1704
+ #, php-format
1705
+ msgid "No result FAQs contained the term '%s'"
1706
+ msgstr ""
lib/FPDF/FAQ.htm CHANGED
@@ -1,272 +1,272 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>FAQ</title>
6
- <link type="text/css" rel="stylesheet" href="fpdf.css">
7
- <style type="text/css">
8
- ul {list-style-type:none; margin:0; padding:0}
9
- ul#answers li {margin-top:1.8em}
10
- .question {font-weight:bold; color:#900000}
11
- </style>
12
- </head>
13
- <body>
14
- <h1>FAQ</h1>
15
- <ul>
16
- <li><b>1.</b> <a href='#q1'>What's exactly the license of FPDF? Are there any usage restrictions?</a></li>
17
- <li><b>2.</b> <a href='#q2'>I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file</a></li>
18
- <li><b>3.</b> <a href='#q3'>Accented letters are replaced with some strange characters like é.</a></li>
19
- <li><b>4.</b> <a href='#q4'>I try to display the Euro symbol but it doesn't work.</a></li>
20
- <li><b>5.</b> <a href='#q5'>I try to display a variable in the Header method but nothing prints.</a></li>
21
- <li><b>6.</b> <a href='#q6'>I have defined the Header and Footer methods in my PDF class but nothing shows.</a></li>
22
- <li><b>7.</b> <a href='#q7'>I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.</a></li>
23
- <li><b>8.</b> <a href='#q8'>I use jQuery to generate the PDF but it doesn't show.</a></li>
24
- <li><b>9.</b> <a href='#q9'>I draw a frame with very precise dimensions, but when printed I notice some differences.</a></li>
25
- <li><b>10.</b> <a href='#q10'>I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?</a></li>
26
- <li><b>11.</b> <a href='#q11'>How can I put a background in my PDF?</a></li>
27
- <li><b>12.</b> <a href='#q12'>How can I set a specific header or footer on the first page?</a></li>
28
- <li><b>13.</b> <a href='#q13'>I'd like to use extensions provided by different scripts. How can I combine them?</a></li>
29
- <li><b>14.</b> <a href='#q14'>How can I open the PDF in a new tab?</a></li>
30
- <li><b>15.</b> <a href='#q15'>How can I send the PDF by email?</a></li>
31
- <li><b>16.</b> <a href='#q16'>What's the limit of the file sizes I can generate with FPDF?</a></li>
32
- <li><b>17.</b> <a href='#q17'>Can I modify a PDF with FPDF?</a></li>
33
- <li><b>18.</b> <a href='#q18'>I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?</a></li>
34
- <li><b>19.</b> <a href='#q19'>Can I convert an HTML page to PDF with FPDF?</a></li>
35
- <li><b>20.</b> <a href='#q20'>Can I concatenate PDF files with FPDF?</a></li>
36
- </ul>
37
-
38
- <ul id='answers'>
39
- <li id='q1'>
40
- <p><b>1.</b> <span class='question'>What's exactly the license of FPDF? Are there any usage restrictions?</span></p>
41
- FPDF is released under a permissive license: there is no usage restriction. You may embed it
42
- freely in your application (commercial or not), with or without modifications.
43
- </li>
44
-
45
- <li id='q2'>
46
- <p><b>2.</b> <span class='question'>I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file</span></p>
47
- You must send nothing to the browser except the PDF itself: no HTML, no space, no carriage return. A common
48
- case is having extra blank at the end of an included script file.<br>
49
- If you can't figure out where the problem comes from, this other message appearing just before can help you:<br>
50
- <br>
51
- <b>Warning:</b> Cannot modify header information - headers already sent by (output started at script.php:X)<br>
52
- <br>
53
- It means that script.php outputs something at line X. Go to this line and fix it.
54
- In case the message doesn't show, first check that you didn't disable warnings, then add this at the very
55
- beginning of your script:
56
- <div class="doc-source">
57
- <pre><code>ob_end_clean();</code></pre>
58
- </div>
59
- If you still don't see it, disable zlib.output_compression in your php.ini and it should appear.
60
- </li>
61
-
62
- <li id='q3'>
63
- <p><b>3.</b> <span class='question'>Accented letters are replaced with some strange characters like é.</span></p>
64
- Don't use UTF-8 with the standard fonts; they expect text encoded in ISO-8859-1 or windows-1252.
65
- You can use utf8_decode() to perform a conversion to ISO-8859-1:
66
- <div class="doc-source">
67
- <pre><code>$str = utf8_decode($str);</code></pre>
68
- </div>
69
- But some characters such as Euro won't be translated correctly. If the iconv extension is available, the
70
- right way to do it is the following:
71
- <div class="doc-source">
72
- <pre><code>$str = iconv('UTF-8', 'windows-1252', $str);</code></pre>
73
- </div>
74
- In case you need characters outside windows-1252, take a look at tutorial #7 or
75
- <a href="http://www.fpdf.org/?go=script&amp;id=92" target="_blank">tFPDF</a>.
76
- </li>
77
-
78
- <li id='q4'>
79
- <p><b>4.</b> <span class='question'>I try to display the Euro symbol but it doesn't work.</span></p>
80
- The standard fonts have the Euro character at position 128. You can define a constant like this
81
- for convenience:
82
- <div class="doc-source">
83
- <pre><code>define('EURO', chr(128));</code></pre>
84
- </div>
85
- </li>
86
-
87
- <li id='q5'>
88
- <p><b>5.</b> <span class='question'>I try to display a variable in the Header method but nothing prints.</span></p>
89
- You have to use the <code>global</code> keyword to access global variables, for example:
90
- <div class="doc-source">
91
- <pre><code>function Header()
92
- {
93
- global $title;
94
-
95
- $this-&gt;SetFont('Arial', 'B', 15);
96
- $this-&gt;Cell(0, 10, $title, 1, 1, 'C');
97
- }
98
-
99
- $title = 'My title';</code></pre>
100
- </div>
101
- Alternatively, you can use an object property:
102
- <div class="doc-source">
103
- <pre><code>function Header()
104
- {
105
- $this-&gt;SetFont('Arial', 'B', 15);
106
- $this-&gt;Cell(0, 10, $this-&gt;title, 1, 1, 'C');
107
- }
108
-
109
- $pdf-&gt;title = 'My title';</code></pre>
110
- </div>
111
- </li>
112
-
113
- <li id='q6'>
114
- <p><b>6.</b> <span class='question'>I have defined the Header and Footer methods in my PDF class but nothing shows.</span></p>
115
- You have to create an object from the PDF class, not FPDF:
116
- <div class="doc-source">
117
- <pre><code>$pdf = new PDF();</code></pre>
118
- </div>
119
- </li>
120
-
121
- <li id='q7'>
122
- <p><b>7.</b> <span class='question'>I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.</span></p>
123
- You have to enclose your string with double quotes, not single ones.
124
- </li>
125
-
126
- <li id='q8'>
127
- <p><b>8.</b> <span class='question'>I use jQuery to generate the PDF but it doesn't show.</span></p>
128
- Don't use an AJAX request to retrieve the PDF.
129
- </li>
130
-
131
- <li id='q9'>
132
- <p><b>9.</b> <span class='question'>I draw a frame with very precise dimensions, but when printed I notice some differences.</span></p>
133
- To respect dimensions, select "None" for the Page Scaling setting instead of "Shrink to Printable Area" in the print dialog box.
134
- </li>
135
-
136
- <li id='q10'>
137
- <p><b>10.</b> <span class='question'>I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?</span></p>
138
- Printers have physical margins (different depending on the models); it is therefore impossible to remove
139
- them and print on the whole surface of the paper.
140
- </li>
141
-
142
- <li id='q11'>
143
- <p><b>11.</b> <span class='question'>How can I put a background in my PDF?</span></p>
144
- For a picture, call Image() in the Header() method, before any other output. To set a background color, use Rect().
145
- </li>
146
-
147
- <li id='q12'>
148
- <p><b>12.</b> <span class='question'>How can I set a specific header or footer on the first page?</span></p>
149
- Just test the page number:
150
- <div class="doc-source">
151
- <pre><code>function Header()
152
- {
153
- if($this-&gt;PageNo()==1)
154
- {
155
- //First page
156
- ...
157
- }
158
- else
159
- {
160
- //Other pages
161
- ...
162
- }
163
- }</code></pre>
164
- </div>
165
- </li>
166
-
167
- <li id='q13'>
168
- <p><b>13.</b> <span class='question'>I'd like to use extensions provided by different scripts. How can I combine them?</span></p>
169
- Use an inheritance chain. If you have two classes, say A in a.php:
170
- <div class="doc-source">
171
- <pre><code>require('fpdf.php');
172
-
173
- class A extends FPDF
174
- {
175
- ...
176
- }</code></pre>
177
- </div>
178
- and B in b.php:
179
- <div class="doc-source">
180
- <pre><code>require('fpdf.php');
181
-
182
- class B extends FPDF
183
- {
184
- ...
185
- }</code></pre>
186
- </div>
187
- then make B extend A:
188
- <div class="doc-source">
189
- <pre><code>require('a.php');
190
-
191
- class B extends A
192
- {
193
- ...
194
- }</code></pre>
195
- </div>
196
- and make your own class extend B:
197
- <div class="doc-source">
198
- <pre><code>require('b.php');
199
-
200
- class PDF extends B
201
- {
202
- ...
203
- }
204
-
205
- $pdf = new PDF();</code></pre>
206
- </div>
207
- </li>
208
-
209
- <li id='q14'>
210
- <p><b>14.</b> <span class='question'>How can I open the PDF in a new tab?</span></p>
211
- Just do the same as you would for an HTML page or anything else: add a target="_blank" to your link or form.
212
- </li>
213
-
214
- <li id='q15'>
215
- <p><b>15.</b> <span class='question'>How can I send the PDF by email?</span></p>
216
- As for any other file, but an easy way is to use <a href="https://github.com/PHPMailer/PHPMailer" target="_blank">PHPMailer</a> and
217
- its in-memory attachment:
218
- <div class="doc-source">
219
- <pre><code>$mail = new PHPMailer();
220
- ...
221
- $doc = $pdf-&gt;Output('S');
222
- $mail-&gt;AddStringAttachment($doc, 'doc.pdf', 'base64', 'application/pdf');
223
- $mail-&gt;Send();</code></pre>
224
- </div>
225
- </li>
226
-
227
- <li id='q16'>
228
- <p><b>16.</b> <span class='question'>What's the limit of the file sizes I can generate with FPDF?</span></p>
229
- There is no particular limit. There are some constraints, however:
230
- <br>
231
- <br>
232
- - There is usually a maximum memory size allocated to PHP scripts. For very big documents,
233
- especially with images, the limit may be reached (the file being built in memory). The
234
- parameter is configured in the php.ini file.
235
- <br>
236
- <br>
237
- - The maximum execution time allocated to scripts defaults to 30 seconds. This limit can of course
238
- be easily reached. It is configured in php.ini and may be altered dynamically with set_time_limit().
239
- <br>
240
- <br>
241
- You can work around the memory limit with <a href="http://www.fpdf.org/?go=script&amp;id=76" target="_blank">this script</a>.
242
- </li>
243
-
244
- <li id='q17'>
245
- <p><b>17.</b> <span class='question'>Can I modify a PDF with FPDF?</span></p>
246
- It's possible to import pages from an existing PDF document thanks to the
247
- <a href="https://www.setasign.com/products/fpdi/about/" target="_blank">FPDI</a> extension.
248
- Then you can add some content to them.
249
- </li>
250
-
251
- <li id='q18'>
252
- <p><b>18.</b> <span class='question'>I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?</span></p>
253
- No. But a GPL C utility does exist, pdftotext, which is able to extract the textual content from a PDF.
254
- It's provided with the <a href="https://www.xpdfreader.com" target="_blank">Xpdf</a> package.
255
- </li>
256
-
257
- <li id='q19'>
258
- <p><b>19.</b> <span class='question'>Can I convert an HTML page to PDF with FPDF?</span></p>
259
- Not real-world pages. But a GPL C utility does exist, <a href="https://www.msweet.org/htmldoc/" target="_blank">HTMLDOC</a>,
260
- which allows to do it and gives good results.
261
- </li>
262
-
263
- <li id='q20'>
264
- <p><b>20.</b> <span class='question'>Can I concatenate PDF files with FPDF?</span></p>
265
- Not directly, but it's possible to use <a href="https://www.setasign.com/products/fpdi/demos/concatenate-fake/" target="_blank">FPDI</a>
266
- to perform that task. Some free command-line tools also exist:
267
- <a href="https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/" target="_blank">pdftk</a> and
268
- <a href="http://thierry.schmit.free.fr/spip/spip.php?article15" target="_blank">mbtPdfAsm</a>.
269
- </li>
270
- </ul>
271
- </body>
272
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>FAQ</title>
6
+ <link type="text/css" rel="stylesheet" href="fpdf.css">
7
+ <style type="text/css">
8
+ ul {list-style-type:none; margin:0; padding:0}
9
+ ul#answers li {margin-top:1.8em}
10
+ .question {font-weight:bold; color:#900000}
11
+ </style>
12
+ </head>
13
+ <body>
14
+ <h1>FAQ</h1>
15
+ <ul>
16
+ <li><b>1.</b> <a href='#q1'>What's exactly the license of FPDF? Are there any usage restrictions?</a></li>
17
+ <li><b>2.</b> <a href='#q2'>I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file</a></li>
18
+ <li><b>3.</b> <a href='#q3'>Accented letters are replaced with some strange characters like é.</a></li>
19
+ <li><b>4.</b> <a href='#q4'>I try to display the Euro symbol but it doesn't work.</a></li>
20
+ <li><b>5.</b> <a href='#q5'>I try to display a variable in the Header method but nothing prints.</a></li>
21
+ <li><b>6.</b> <a href='#q6'>I have defined the Header and Footer methods in my PDF class but nothing shows.</a></li>
22
+ <li><b>7.</b> <a href='#q7'>I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.</a></li>
23
+ <li><b>8.</b> <a href='#q8'>I use jQuery to generate the PDF but it doesn't show.</a></li>
24
+ <li><b>9.</b> <a href='#q9'>I draw a frame with very precise dimensions, but when printed I notice some differences.</a></li>
25
+ <li><b>10.</b> <a href='#q10'>I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?</a></li>
26
+ <li><b>11.</b> <a href='#q11'>How can I put a background in my PDF?</a></li>
27
+ <li><b>12.</b> <a href='#q12'>How can I set a specific header or footer on the first page?</a></li>
28
+ <li><b>13.</b> <a href='#q13'>I'd like to use extensions provided by different scripts. How can I combine them?</a></li>
29
+ <li><b>14.</b> <a href='#q14'>How can I open the PDF in a new tab?</a></li>
30
+ <li><b>15.</b> <a href='#q15'>How can I send the PDF by email?</a></li>
31
+ <li><b>16.</b> <a href='#q16'>What's the limit of the file sizes I can generate with FPDF?</a></li>
32
+ <li><b>17.</b> <a href='#q17'>Can I modify a PDF with FPDF?</a></li>
33
+ <li><b>18.</b> <a href='#q18'>I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?</a></li>
34
+ <li><b>19.</b> <a href='#q19'>Can I convert an HTML page to PDF with FPDF?</a></li>
35
+ <li><b>20.</b> <a href='#q20'>Can I concatenate PDF files with FPDF?</a></li>
36
+ </ul>
37
+
38
+ <ul id='answers'>
39
+ <li id='q1'>
40
+ <p><b>1.</b> <span class='question'>What's exactly the license of FPDF? Are there any usage restrictions?</span></p>
41
+ FPDF is released under a permissive license: there is no usage restriction. You may embed it
42
+ freely in your application (commercial or not), with or without modifications.
43
+ </li>
44
+
45
+ <li id='q2'>
46
+ <p><b>2.</b> <span class='question'>I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file</span></p>
47
+ You must send nothing to the browser except the PDF itself: no HTML, no space, no carriage return. A common
48
+ case is having extra blank at the end of an included script file.<br>
49
+ If you can't figure out where the problem comes from, this other message appearing just before can help you:<br>
50
+ <br>
51
+ <b>Warning:</b> Cannot modify header information - headers already sent by (output started at script.php:X)<br>
52
+ <br>
53
+ It means that script.php outputs something at line X. Go to this line and fix it.
54
+ In case the message doesn't show, first check that you didn't disable warnings, then add this at the very
55
+ beginning of your script:
56
+ <div class="doc-source">
57
+ <pre><code>ob_end_clean();</code></pre>
58
+ </div>
59
+ If you still don't see it, disable zlib.output_compression in your php.ini and it should appear.
60
+ </li>
61
+
62
+ <li id='q3'>
63
+ <p><b>3.</b> <span class='question'>Accented letters are replaced with some strange characters like é.</span></p>
64
+ Don't use UTF-8 with the standard fonts; they expect text encoded in ISO-8859-1 or windows-1252.
65
+ You can use utf8_decode() to perform a conversion to ISO-8859-1:
66
+ <div class="doc-source">
67
+ <pre><code>$str = utf8_decode($str);</code></pre>
68
+ </div>
69
+ But some characters such as Euro won't be translated correctly. If the iconv extension is available, the
70
+ right way to do it is the following:
71
+ <div class="doc-source">
72
+ <pre><code>$str = iconv('UTF-8', 'windows-1252', $str);</code></pre>
73
+ </div>
74
+ In case you need characters outside windows-1252, take a look at tutorial #7 or
75
+ <a href="http://www.fpdf.org/?go=script&amp;id=92" target="_blank">tFPDF</a>.
76
+ </li>
77
+
78
+ <li id='q4'>
79
+ <p><b>4.</b> <span class='question'>I try to display the Euro symbol but it doesn't work.</span></p>
80
+ The standard fonts have the Euro character at position 128. You can define a constant like this
81
+ for convenience:
82
+ <div class="doc-source">
83
+ <pre><code>define('EURO', chr(128));</code></pre>
84
+ </div>
85
+ </li>
86
+
87
+ <li id='q5'>
88
+ <p><b>5.</b> <span class='question'>I try to display a variable in the Header method but nothing prints.</span></p>
89
+ You have to use the <code>global</code> keyword to access global variables, for example:
90
+ <div class="doc-source">
91
+ <pre><code>function Header()
92
+ {
93
+ global $title;
94
+
95
+ $this-&gt;SetFont('Arial', 'B', 15);
96
+ $this-&gt;Cell(0, 10, $title, 1, 1, 'C');
97
+ }
98
+
99
+ $title = 'My title';</code></pre>
100
+ </div>
101
+ Alternatively, you can use an object property:
102
+ <div class="doc-source">
103
+ <pre><code>function Header()
104
+ {
105
+ $this-&gt;SetFont('Arial', 'B', 15);
106
+ $this-&gt;Cell(0, 10, $this-&gt;title, 1, 1, 'C');
107
+ }
108
+
109
+ $pdf-&gt;title = 'My title';</code></pre>
110
+ </div>
111
+ </li>
112
+
113
+ <li id='q6'>
114
+ <p><b>6.</b> <span class='question'>I have defined the Header and Footer methods in my PDF class but nothing shows.</span></p>
115
+ You have to create an object from the PDF class, not FPDF:
116
+ <div class="doc-source">
117
+ <pre><code>$pdf = new PDF();</code></pre>
118
+ </div>
119
+ </li>
120
+
121
+ <li id='q7'>
122
+ <p><b>7.</b> <span class='question'>I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.</span></p>
123
+ You have to enclose your string with double quotes, not single ones.
124
+ </li>
125
+
126
+ <li id='q8'>
127
+ <p><b>8.</b> <span class='question'>I use jQuery to generate the PDF but it doesn't show.</span></p>
128
+ Don't use an AJAX request to retrieve the PDF.
129
+ </li>
130
+
131
+ <li id='q9'>
132
+ <p><b>9.</b> <span class='question'>I draw a frame with very precise dimensions, but when printed I notice some differences.</span></p>
133
+ To respect dimensions, select "None" for the Page Scaling setting instead of "Shrink to Printable Area" in the print dialog box.
134
+ </li>
135
+
136
+ <li id='q10'>
137
+ <p><b>10.</b> <span class='question'>I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?</span></p>
138
+ Printers have physical margins (different depending on the models); it is therefore impossible to remove
139
+ them and print on the whole surface of the paper.
140
+ </li>
141
+
142
+ <li id='q11'>
143
+ <p><b>11.</b> <span class='question'>How can I put a background in my PDF?</span></p>
144
+ For a picture, call Image() in the Header() method, before any other output. To set a background color, use Rect().
145
+ </li>
146
+
147
+ <li id='q12'>
148
+ <p><b>12.</b> <span class='question'>How can I set a specific header or footer on the first page?</span></p>
149
+ Just test the page number:
150
+ <div class="doc-source">
151
+ <pre><code>function Header()
152
+ {
153
+ if($this-&gt;PageNo()==1)
154
+ {
155
+ //First page
156
+ ...
157
+ }
158
+ else
159
+ {
160
+ //Other pages
161
+ ...
162
+ }
163
+ }</code></pre>
164
+ </div>
165
+ </li>
166
+
167
+ <li id='q13'>
168
+ <p><b>13.</b> <span class='question'>I'd like to use extensions provided by different scripts. How can I combine them?</span></p>
169
+ Use an inheritance chain. If you have two classes, say A in a.php:
170
+ <div class="doc-source">
171
+ <pre><code>require('fpdf.php');
172
+
173
+ class A extends FPDF
174
+ {
175
+ ...
176
+ }</code></pre>
177
+ </div>
178
+ and B in b.php:
179
+ <div class="doc-source">
180
+ <pre><code>require('fpdf.php');
181
+
182
+ class B extends FPDF
183
+ {
184
+ ...
185
+ }</code></pre>
186
+ </div>
187
+ then make B extend A:
188
+ <div class="doc-source">
189
+ <pre><code>require('a.php');
190
+
191
+ class B extends A
192
+ {
193
+ ...
194
+ }</code></pre>
195
+ </div>
196
+ and make your own class extend B:
197
+ <div class="doc-source">
198
+ <pre><code>require('b.php');
199
+
200
+ class PDF extends B
201
+ {
202
+ ...
203
+ }
204
+
205
+ $pdf = new PDF();</code></pre>
206
+ </div>
207
+ </li>
208
+
209
+ <li id='q14'>
210
+ <p><b>14.</b> <span class='question'>How can I open the PDF in a new tab?</span></p>
211
+ Just do the same as you would for an HTML page or anything else: add a target="_blank" to your link or form.
212
+ </li>
213
+
214
+ <li id='q15'>
215
+ <p><b>15.</b> <span class='question'>How can I send the PDF by email?</span></p>
216
+ As for any other file, but an easy way is to use <a href="https://github.com/PHPMailer/PHPMailer" target="_blank">PHPMailer</a> and
217
+ its in-memory attachment:
218
+ <div class="doc-source">
219
+ <pre><code>$mail = new PHPMailer();
220
+ ...
221
+ $doc = $pdf-&gt;Output('S');
222
+ $mail-&gt;AddStringAttachment($doc, 'doc.pdf', 'base64', 'application/pdf');
223
+ $mail-&gt;Send();</code></pre>
224
+ </div>
225
+ </li>
226
+
227
+ <li id='q16'>
228
+ <p><b>16.</b> <span class='question'>What's the limit of the file sizes I can generate with FPDF?</span></p>
229
+ There is no particular limit. There are some constraints, however:
230
+ <br>
231
+ <br>
232
+ - There is usually a maximum memory size allocated to PHP scripts. For very big documents,
233
+ especially with images, the limit may be reached (the file being built in memory). The
234
+ parameter is configured in the php.ini file.
235
+ <br>
236
+ <br>
237
+ - The maximum execution time allocated to scripts defaults to 30 seconds. This limit can of course
238
+ be easily reached. It is configured in php.ini and may be altered dynamically with set_time_limit().
239
+ <br>
240
+ <br>
241
+ You can work around the memory limit with <a href="http://www.fpdf.org/?go=script&amp;id=76" target="_blank">this script</a>.
242
+ </li>
243
+
244
+ <li id='q17'>
245
+ <p><b>17.</b> <span class='question'>Can I modify a PDF with FPDF?</span></p>
246
+ It's possible to import pages from an existing PDF document thanks to the
247
+ <a href="https://www.setasign.com/products/fpdi/about/" target="_blank">FPDI</a> extension.
248
+ Then you can add some content to them.
249
+ </li>
250
+
251
+ <li id='q18'>
252
+ <p><b>18.</b> <span class='question'>I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?</span></p>
253
+ No. But a GPL C utility does exist, pdftotext, which is able to extract the textual content from a PDF.
254
+ It's provided with the <a href="https://www.xpdfreader.com" target="_blank">Xpdf</a> package.
255
+ </li>
256
+
257
+ <li id='q19'>
258
+ <p><b>19.</b> <span class='question'>Can I convert an HTML page to PDF with FPDF?</span></p>
259
+ Not real-world pages. But a GPL C utility does exist, <a href="https://www.msweet.org/htmldoc/" target="_blank">HTMLDOC</a>,
260
+ which allows to do it and gives good results.
261
+ </li>
262
+
263
+ <li id='q20'>
264
+ <p><b>20.</b> <span class='question'>Can I concatenate PDF files with FPDF?</span></p>
265
+ Not directly, but it's possible to use <a href="https://www.setasign.com/products/fpdi/demos/concatenate-fake/" target="_blank">FPDI</a>
266
+ to perform that task. Some free command-line tools also exist:
267
+ <a href="https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/" target="_blank">pdftk</a> and
268
+ <a href="http://thierry.schmit.free.fr/spip/spip.php?article15" target="_blank">mbtPdfAsm</a>.
269
+ </li>
270
+ </ul>
271
+ </body>
272
+ </html>
lib/FPDF/changelog.htm CHANGED
@@ -1,167 +1,167 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>Changelog</title>
6
- <link type="text/css" rel="stylesheet" href="fpdf.css">
7
- <style type="text/css">
8
- dd {margin:1em 0 1em 1em}
9
- </style>
10
- </head>
11
- <body>
12
- <h1>Changelog</h1>
13
- <dl>
14
- <dt><strong>v1.82</strong> (2019-12-07)</dt>
15
- <dd>
16
- - Removed a deprecation notice under PHP 7.4.<br>
17
- </dd>
18
- <dt><strong>v1.81</strong> (2015-12-20)</dt>
19
- <dd>
20
- - Added GetPageWidth() and GetPageHeight().<br>
21
- - Fixed a bug in SetXY().<br>
22
- </dd>
23
- <dt><strong>v1.8</strong> (2015-11-29)</dt>
24
- <dd>
25
- - PHP 5.1.0 or higher is now required.<br>
26
- - The MakeFont utility now subsets fonts, which can greatly reduce font sizes.<br>
27
- - Added ToUnicode CMaps to improve text extraction.<br>
28
- - Added a parameter to AddPage() to rotate the page.<br>
29
- - Added a parameter to SetY() to indicate whether the x position should be reset or not.<br>
30
- - Added a parameter to Output() to specify the encoding of the name, and special characters are now properly encoded. Additionally the order of the first two parameters was reversed to be more logical (however the old order is still supported for compatibility).<br>
31
- - The Error() method now throws an exception.<br>
32
- - Adding contents before the first AddPage() or after Close() now raises an error.<br>
33
- - Outputting text with no font selected now raises an error.<br>
34
- </dd>
35
- <dt><strong>v1.7</strong> (2011-06-18)</dt>
36
- <dd>
37
- - The MakeFont utility has been completely rewritten and doesn't depend on ttf2pt1 anymore.<br>
38
- - Alpha channel is now supported for PNGs.<br>
39
- - When inserting an image, it's now possible to specify its resolution.<br>
40
- - Default resolution for images was increased from 72 to 96 dpi.<br>
41
- - When inserting a GIF image, no temporary file is used anymore if the PHP version is 5.1 or higher.<br>
42
- - When output buffering is enabled and the PDF is about to be sent, the buffer is now cleared if it contains only a UTF-8 BOM and/or whitespace (instead of throwing an error).<br>
43
- - Symbol and ZapfDingbats fonts now support underline style.<br>
44
- - Custom page sizes are now checked to ensure that width is smaller than height.<br>
45
- - Standard font files were changed to use the same format as user fonts.<br>
46
- - A bug in the embedding of Type1 fonts was fixed.<br>
47
- - A bug related to SetDisplayMode() and the current locale was fixed.<br>
48
- - A display issue occurring with the Adobe Reader X plug-in was fixed.<br>
49
- - An issue related to transparency with some versions of Adobe Reader was fixed.<br>
50
- - The Content-Length header was removed because it caused an issue when the HTTP server applies compression.<br>
51
- </dd>
52
- <dt><strong>v1.6</strong> (2008-08-03)</dt>
53
- <dd>
54
- - PHP 4.3.10 or higher is now required.<br>
55
- - GIF image support.<br>
56
- - Images can now trigger page breaks.<br>
57
- - Possibility to have different page formats in a single document.<br>
58
- - Document properties (author, creator, keywords, subject and title) can now be specified in UTF-8.<br>
59
- - Fixed a bug: when a PNG was inserted through a URL, an error sometimes occurred.<br>
60
- - An automatic page break in Header() doesn't cause an infinite loop any more.<br>
61
- - Removed some warning messages appearing with recent PHP versions.<br>
62
- - Added HTTP headers to reduce problems with IE.<br>
63
- </dd>
64
- <dt><strong>v1.53</strong> (2004-12-31)</dt>
65
- <dd>
66
- - When the font subdirectory is in the same directory as fpdf.php, it's no longer necessary to define the FPDF_FONTPATH constant.<br>
67
- - The array $HTTP_SERVER_VARS is no longer used. It could cause trouble on PHP5-based configurations with the register_long_arrays option disabled.<br>
68
- - Fixed a problem related to Type1 font embedding which caused trouble to some PDF processors.<br>
69
- - The file name sent to the browser could not contain a space character.<br>
70
- - The Cell() method could not print the number 0 (you had to pass the string '0').<br>
71
- </dd>
72
- <dt><strong>v1.52</strong> (2003-12-30)</dt>
73
- <dd>
74
- - Image() now displays the image at 72 dpi if no dimension is given.<br>
75
- - Output() takes a string as second parameter to indicate destination.<br>
76
- - Open() is now called automatically by AddPage().<br>
77
- - Inserting remote JPEG images doesn't generate an error any longer.<br>
78
- - Decimal separator is forced to dot in the constructor.<br>
79
- - Added several encodings (Turkish, Thai, Hebrew, Ukrainian and Vietnamese).<br>
80
- - The last line of a right-aligned MultiCell() was not correctly aligned if it was terminated by a carriage return.<br>
81
- - No more error message about already sent headers when outputting the PDF to the standard output from the command line.<br>
82
- - The underlining was going too far for text containing characters \, ( or ).<br>
83
- - $HTTP_ENV_VARS has been replaced by $HTTP_SERVER_VARS.<br>
84
- </dd>
85
- <dt><strong>v1.51</strong> (2002-08-03)</dt>
86
- <dd>
87
- - Type1 font support.<br>
88
- - Added Baltic encoding.<br>
89
- - The class now works internally in points with the origin at the bottom in order to avoid two bugs occurring with Acrobat 5:<br>&nbsp;&nbsp;* The line thickness was too large when printed under Windows 98 SE and ME.<br>&nbsp;&nbsp;* TrueType fonts didn't appear immediately inside the plug-in (a substitution font was used), one had to cause a window refresh to make them show up.<br>
90
- - It's no longer necessary to set the decimal separator as dot to produce valid documents.<br>
91
- - The clickable area in a cell was always on the left independently from the text alignment.<br>
92
- - JPEG images in CMYK mode appeared in inverted colors.<br>
93
- - Transparent PNG images in grayscale or true color mode were incorrectly handled.<br>
94
- - Adding new fonts now works correctly even with the magic_quotes_runtime option set to on.<br>
95
- </dd>
96
- <dt><strong>v1.5</strong> (2002-05-28)</dt>
97
- <dd>
98
- - TrueType font (AddFont()) and encoding support (Western and Eastern Europe, Cyrillic and Greek).<br>
99
- - Added Write() method.<br>
100
- - Added underlined style.<br>
101
- - Internal and external link support (AddLink(), SetLink(), Link()).<br>
102
- - Added right margin management and methods SetRightMargin(), SetTopMargin().<br>
103
- - Modification of SetDisplayMode() to select page layout.<br>
104
- - The border parameter of MultiCell() now lets choose borders to draw as Cell().<br>
105
- - When a document contains no page, Close() now calls AddPage() instead of causing a fatal error.<br>
106
- </dd>
107
- <dt><strong>v1.41</strong> (2002-03-13)</dt>
108
- <dd>
109
- - Fixed SetDisplayMode() which no longer worked (the PDF viewer used its default display).<br>
110
- </dd>
111
- <dt><strong>v1.4</strong> (2002-03-02)</dt>
112
- <dd>
113
- - PHP3 is no longer supported.<br>
114
- - Page compression (SetCompression()).<br>
115
- - Choice of page format and possibility to change orientation inside document.<br>
116
- - Added AcceptPageBreak() method.<br>
117
- - Ability to print the total number of pages (AliasNbPages()).<br>
118
- - Choice of cell borders to draw.<br>
119
- - New mode for Cell(): the current position can now move under the cell.<br>
120
- - Ability to include an image by specifying height only (width is calculated automatically).<br>
121
- - Fixed a bug: when a justified line triggered a page break, the footer inherited the corresponding word spacing.<br>
122
- </dd>
123
- <dt><strong>v1.31</strong> (2002-01-12)</dt>
124
- <dd>
125
- - Fixed a bug in drawing frame with MultiCell(): the last line always started from the left margin.<br>
126
- - Removed Expires HTTP header (gives trouble in some situations).<br>
127
- - Added Content-disposition HTTP header (seems to help in some situations).<br>
128
- </dd>
129
- <dt><strong>v1.3</strong> (2001-12-03)</dt>
130
- <dd>
131
- - Line break and text justification support (MultiCell()).<br>
132
- - Color support (SetDrawColor(), SetFillColor(), SetTextColor()). Possibility to draw filled rectangles and paint cell background.<br>
133
- - A cell whose width is declared null extends up to the right margin of the page.<br>
134
- - Line width is now retained from page to page and defaults to 0.2 mm.<br>
135
- - Added SetXY() method.<br>
136
- - Fixed a passing by reference done in a deprecated manner for PHP4.<br>
137
- </dd>
138
- <dt><strong>v1.2</strong> (2001-11-11)</dt>
139
- <dd>
140
- - Added font metric files and GetStringWidth() method.<br>
141
- - Centering and right-aligning text in cells.<br>
142
- - Display mode control (SetDisplayMode()).<br>
143
- - Added methods to set document properties (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).<br>
144
- - Possibility to force PDF download by browser.<br>
145
- - Added SetX() and GetX() methods.<br>
146
- - During automatic page break, current abscissa is now retained.<br>
147
- </dd>
148
- <dt><strong>v1.11</strong> (2001-10-20)</dt>
149
- <dd>
150
- - PNG support doesn't require PHP4/zlib any more. Data are now put directly into PDF without any decompression/recompression stage.<br>
151
- - Image insertion now works correctly even with magic_quotes_runtime option set to on.<br>
152
- </dd>
153
- <dt><strong>v1.1</strong> (2001-10-07)</dt>
154
- <dd>
155
- - JPEG and PNG image support.<br>
156
- </dd>
157
- <dt><strong>v1.01</strong> (2001-10-03)</dt>
158
- <dd>
159
- - Fixed a bug involving page break: in case when Header() doesn't specify a font, the one from previous page was not restored and produced an incorrect document.<br>
160
- </dd>
161
- <dt><strong>v1.0</strong> (2001-09-17)</dt>
162
- <dd>
163
- - First version.<br>
164
- </dd>
165
- </dl>
166
- </body>
167
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>Changelog</title>
6
+ <link type="text/css" rel="stylesheet" href="fpdf.css">
7
+ <style type="text/css">
8
+ dd {margin:1em 0 1em 1em}
9
+ </style>
10
+ </head>
11
+ <body>
12
+ <h1>Changelog</h1>
13
+ <dl>
14
+ <dt><strong>v1.82</strong> (2019-12-07)</dt>
15
+ <dd>
16
+ - Removed a deprecation notice under PHP 7.4.<br>
17
+ </dd>
18
+ <dt><strong>v1.81</strong> (2015-12-20)</dt>
19
+ <dd>
20
+ - Added GetPageWidth() and GetPageHeight().<br>
21
+ - Fixed a bug in SetXY().<br>
22
+ </dd>
23
+ <dt><strong>v1.8</strong> (2015-11-29)</dt>
24
+ <dd>
25
+ - PHP 5.1.0 or higher is now required.<br>
26
+ - The MakeFont utility now subsets fonts, which can greatly reduce font sizes.<br>
27
+ - Added ToUnicode CMaps to improve text extraction.<br>
28
+ - Added a parameter to AddPage() to rotate the page.<br>
29
+ - Added a parameter to SetY() to indicate whether the x position should be reset or not.<br>
30
+ - Added a parameter to Output() to specify the encoding of the name, and special characters are now properly encoded. Additionally the order of the first two parameters was reversed to be more logical (however the old order is still supported for compatibility).<br>
31
+ - The Error() method now throws an exception.<br>
32
+ - Adding contents before the first AddPage() or after Close() now raises an error.<br>
33
+ - Outputting text with no font selected now raises an error.<br>
34
+ </dd>
35
+ <dt><strong>v1.7</strong> (2011-06-18)</dt>
36
+ <dd>
37
+ - The MakeFont utility has been completely rewritten and doesn't depend on ttf2pt1 anymore.<br>
38
+ - Alpha channel is now supported for PNGs.<br>
39
+ - When inserting an image, it's now possible to specify its resolution.<br>
40
+ - Default resolution for images was increased from 72 to 96 dpi.<br>
41
+ - When inserting a GIF image, no temporary file is used anymore if the PHP version is 5.1 or higher.<br>
42
+ - When output buffering is enabled and the PDF is about to be sent, the buffer is now cleared if it contains only a UTF-8 BOM and/or whitespace (instead of throwing an error).<br>
43
+ - Symbol and ZapfDingbats fonts now support underline style.<br>
44
+ - Custom page sizes are now checked to ensure that width is smaller than height.<br>
45
+ - Standard font files were changed to use the same format as user fonts.<br>
46
+ - A bug in the embedding of Type1 fonts was fixed.<br>
47
+ - A bug related to SetDisplayMode() and the current locale was fixed.<br>
48
+ - A display issue occurring with the Adobe Reader X plug-in was fixed.<br>
49
+ - An issue related to transparency with some versions of Adobe Reader was fixed.<br>
50
+ - The Content-Length header was removed because it caused an issue when the HTTP server applies compression.<br>
51
+ </dd>
52
+ <dt><strong>v1.6</strong> (2008-08-03)</dt>
53
+ <dd>
54
+ - PHP 4.3.10 or higher is now required.<br>
55
+ - GIF image support.<br>
56
+ - Images can now trigger page breaks.<br>
57
+ - Possibility to have different page formats in a single document.<br>
58
+ - Document properties (author, creator, keywords, subject and title) can now be specified in UTF-8.<br>
59
+ - Fixed a bug: when a PNG was inserted through a URL, an error sometimes occurred.<br>
60
+ - An automatic page break in Header() doesn't cause an infinite loop any more.<br>
61
+ - Removed some warning messages appearing with recent PHP versions.<br>
62
+ - Added HTTP headers to reduce problems with IE.<br>
63
+ </dd>
64
+ <dt><strong>v1.53</strong> (2004-12-31)</dt>
65
+ <dd>
66
+ - When the font subdirectory is in the same directory as fpdf.php, it's no longer necessary to define the FPDF_FONTPATH constant.<br>
67
+ - The array $HTTP_SERVER_VARS is no longer used. It could cause trouble on PHP5-based configurations with the register_long_arrays option disabled.<br>
68
+ - Fixed a problem related to Type1 font embedding which caused trouble to some PDF processors.<br>
69
+ - The file name sent to the browser could not contain a space character.<br>
70
+ - The Cell() method could not print the number 0 (you had to pass the string '0').<br>
71
+ </dd>
72
+ <dt><strong>v1.52</strong> (2003-12-30)</dt>
73
+ <dd>
74
+ - Image() now displays the image at 72 dpi if no dimension is given.<br>
75
+ - Output() takes a string as second parameter to indicate destination.<br>
76
+ - Open() is now called automatically by AddPage().<br>
77
+ - Inserting remote JPEG images doesn't generate an error any longer.<br>
78
+ - Decimal separator is forced to dot in the constructor.<br>
79
+ - Added several encodings (Turkish, Thai, Hebrew, Ukrainian and Vietnamese).<br>
80
+ - The last line of a right-aligned MultiCell() was not correctly aligned if it was terminated by a carriage return.<br>
81
+ - No more error message about already sent headers when outputting the PDF to the standard output from the command line.<br>
82
+ - The underlining was going too far for text containing characters \, ( or ).<br>
83
+ - $HTTP_ENV_VARS has been replaced by $HTTP_SERVER_VARS.<br>
84
+ </dd>
85
+ <dt><strong>v1.51</strong> (2002-08-03)</dt>
86
+ <dd>
87
+ - Type1 font support.<br>
88
+ - Added Baltic encoding.<br>
89
+ - The class now works internally in points with the origin at the bottom in order to avoid two bugs occurring with Acrobat 5:<br>&nbsp;&nbsp;* The line thickness was too large when printed under Windows 98 SE and ME.<br>&nbsp;&nbsp;* TrueType fonts didn't appear immediately inside the plug-in (a substitution font was used), one had to cause a window refresh to make them show up.<br>
90
+ - It's no longer necessary to set the decimal separator as dot to produce valid documents.<br>
91
+ - The clickable area in a cell was always on the left independently from the text alignment.<br>
92
+ - JPEG images in CMYK mode appeared in inverted colors.<br>
93
+ - Transparent PNG images in grayscale or true color mode were incorrectly handled.<br>
94
+ - Adding new fonts now works correctly even with the magic_quotes_runtime option set to on.<br>
95
+ </dd>
96
+ <dt><strong>v1.5</strong> (2002-05-28)</dt>
97
+ <dd>
98
+ - TrueType font (AddFont()) and encoding support (Western and Eastern Europe, Cyrillic and Greek).<br>
99
+ - Added Write() method.<br>
100
+ - Added underlined style.<br>
101
+ - Internal and external link support (AddLink(), SetLink(), Link()).<br>
102
+ - Added right margin management and methods SetRightMargin(), SetTopMargin().<br>
103
+ - Modification of SetDisplayMode() to select page layout.<br>
104
+ - The border parameter of MultiCell() now lets choose borders to draw as Cell().<br>
105
+ - When a document contains no page, Close() now calls AddPage() instead of causing a fatal error.<br>
106
+ </dd>
107
+ <dt><strong>v1.41</strong> (2002-03-13)</dt>
108
+ <dd>
109
+ - Fixed SetDisplayMode() which no longer worked (the PDF viewer used its default display).<br>
110
+ </dd>
111
+ <dt><strong>v1.4</strong> (2002-03-02)</dt>
112
+ <dd>
113
+ - PHP3 is no longer supported.<br>
114
+ - Page compression (SetCompression()).<br>
115
+ - Choice of page format and possibility to change orientation inside document.<br>
116
+ - Added AcceptPageBreak() method.<br>
117
+ - Ability to print the total number of pages (AliasNbPages()).<br>
118
+ - Choice of cell borders to draw.<br>
119
+ - New mode for Cell(): the current position can now move under the cell.<br>
120
+ - Ability to include an image by specifying height only (width is calculated automatically).<br>
121
+ - Fixed a bug: when a justified line triggered a page break, the footer inherited the corresponding word spacing.<br>
122
+ </dd>
123
+ <dt><strong>v1.31</strong> (2002-01-12)</dt>
124
+ <dd>
125
+ - Fixed a bug in drawing frame with MultiCell(): the last line always started from the left margin.<br>
126
+ - Removed Expires HTTP header (gives trouble in some situations).<br>
127
+ - Added Content-disposition HTTP header (seems to help in some situations).<br>
128
+ </dd>
129
+ <dt><strong>v1.3</strong> (2001-12-03)</dt>
130
+ <dd>
131
+ - Line break and text justification support (MultiCell()).<br>
132
+ - Color support (SetDrawColor(), SetFillColor(), SetTextColor()). Possibility to draw filled rectangles and paint cell background.<br>
133
+ - A cell whose width is declared null extends up to the right margin of the page.<br>
134
+ - Line width is now retained from page to page and defaults to 0.2 mm.<br>
135
+ - Added SetXY() method.<br>
136
+ - Fixed a passing by reference done in a deprecated manner for PHP4.<br>
137
+ </dd>
138
+ <dt><strong>v1.2</strong> (2001-11-11)</dt>
139
+ <dd>
140
+ - Added font metric files and GetStringWidth() method.<br>
141
+ - Centering and right-aligning text in cells.<br>
142
+ - Display mode control (SetDisplayMode()).<br>
143
+ - Added methods to set document properties (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).<br>
144
+ - Possibility to force PDF download by browser.<br>
145
+ - Added SetX() and GetX() methods.<br>
146
+ - During automatic page break, current abscissa is now retained.<br>
147
+ </dd>
148
+ <dt><strong>v1.11</strong> (2001-10-20)</dt>
149
+ <dd>
150
+ - PNG support doesn't require PHP4/zlib any more. Data are now put directly into PDF without any decompression/recompression stage.<br>
151
+ - Image insertion now works correctly even with magic_quotes_runtime option set to on.<br>
152
+ </dd>
153
+ <dt><strong>v1.1</strong> (2001-10-07)</dt>
154
+ <dd>
155
+ - JPEG and PNG image support.<br>
156
+ </dd>
157
+ <dt><strong>v1.01</strong> (2001-10-03)</dt>
158
+ <dd>
159
+ - Fixed a bug involving page break: in case when Header() doesn't specify a font, the one from previous page was not restored and produced an incorrect document.<br>
160
+ </dd>
161
+ <dt><strong>v1.0</strong> (2001-09-17)</dt>
162
+ <dd>
163
+ - First version.<br>
164
+ </dd>
165
+ </dl>
166
+ </body>
167
+ </html>
lib/FPDF/doc/__construct.htm CHANGED
@@ -1,63 +1,63 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>__construct</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>__construct</h1>
10
- <code>__construct([<b>string</b> orientation [, <b>string</b> unit [, <b>mixed</b> size]]])</code>
11
- <h2>Description</h2>
12
- This is the class constructor. It allows to set up the page size, the orientation and the
13
- unit of measure used in all methods (except for font sizes).
14
- <h2>Parameters</h2>
15
- <dl class="param">
16
- <dt><code>orientation</code></dt>
17
- <dd>
18
- Default page orientation. Possible values are (case insensitive):
19
- <ul>
20
- <li><code>P</code> or <code>Portrait</code></li>
21
- <li><code>L</code> or <code>Landscape</code></li>
22
- </ul>
23
- Default value is <code>P</code>.
24
- </dd>
25
- <dt><code>unit</code></dt>
26
- <dd>
27
- User unit. Possible values are:
28
- <ul>
29
- <li><code>pt</code>: point</li>
30
- <li><code>mm</code>: millimeter</li>
31
- <li><code>cm</code>: centimeter</li>
32
- <li><code>in</code>: inch</li>
33
- </ul>
34
- A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This
35
- is a very common unit in typography; font sizes are expressed in that unit.
36
- <br>
37
- <br>
38
- Default value is <code>mm</code>.
39
- </dd>
40
- <dt><code>size</code></dt>
41
- <dd>
42
- The size used for pages. It can be either one of the following values (case insensitive):
43
- <ul>
44
- <li><code>A3</code></li>
45
- <li><code>A4</code></li>
46
- <li><code>A5</code></li>
47
- <li><code>Letter</code></li>
48
- <li><code>Legal</code></li>
49
- </ul>
50
- or an array containing the width and the height (expressed in the unit given by <code>unit</code>).<br>
51
- <br>
52
- Default value is <code>A4</code>.
53
- </dd>
54
- </dl>
55
- <h2>Example</h2>
56
- Example with a custom 100x150 mm page size:
57
- <div class="doc-source">
58
- <pre><code>$pdf = new FPDF('P','mm',array(100,150));</code></pre>
59
- </div>
60
- <hr style="margin-top:1.5em">
61
- <div style="text-align:center"><a href="index.htm">Index</a></div>
62
- </body>
63
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>__construct</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>__construct</h1>
10
+ <code>__construct([<b>string</b> orientation [, <b>string</b> unit [, <b>mixed</b> size]]])</code>
11
+ <h2>Description</h2>
12
+ This is the class constructor. It allows to set up the page size, the orientation and the
13
+ unit of measure used in all methods (except for font sizes).
14
+ <h2>Parameters</h2>
15
+ <dl class="param">
16
+ <dt><code>orientation</code></dt>
17
+ <dd>
18
+ Default page orientation. Possible values are (case insensitive):
19
+ <ul>
20
+ <li><code>P</code> or <code>Portrait</code></li>
21
+ <li><code>L</code> or <code>Landscape</code></li>
22
+ </ul>
23
+ Default value is <code>P</code>.
24
+ </dd>
25
+ <dt><code>unit</code></dt>
26
+ <dd>
27
+ User unit. Possible values are:
28
+ <ul>
29
+ <li><code>pt</code>: point</li>
30
+ <li><code>mm</code>: millimeter</li>
31
+ <li><code>cm</code>: centimeter</li>
32
+ <li><code>in</code>: inch</li>
33
+ </ul>
34
+ A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This
35
+ is a very common unit in typography; font sizes are expressed in that unit.
36
+ <br>
37
+ <br>
38
+ Default value is <code>mm</code>.
39
+ </dd>
40
+ <dt><code>size</code></dt>
41
+ <dd>
42
+ The size used for pages. It can be either one of the following values (case insensitive):
43
+ <ul>
44
+ <li><code>A3</code></li>
45
+ <li><code>A4</code></li>
46
+ <li><code>A5</code></li>
47
+ <li><code>Letter</code></li>
48
+ <li><code>Legal</code></li>
49
+ </ul>
50
+ or an array containing the width and the height (expressed in the unit given by <code>unit</code>).<br>
51
+ <br>
52
+ Default value is <code>A4</code>.
53
+ </dd>
54
+ </dl>
55
+ <h2>Example</h2>
56
+ Example with a custom 100x150 mm page size:
57
+ <div class="doc-source">
58
+ <pre><code>$pdf = new FPDF('P','mm',array(100,150));</code></pre>
59
+ </div>
60
+ <hr style="margin-top:1.5em">
61
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
62
+ </body>
63
+ </html>
lib/FPDF/doc/acceptpagebreak.htm CHANGED
@@ -1,63 +1,63 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>AcceptPageBreak</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>AcceptPageBreak</h1>
10
- <code><b>boolean</b> AcceptPageBreak()</code>
11
- <h2>Description</h2>
12
- Whenever a page break condition is met, the method is called, and the break is issued or not
13
- depending on the returned value. The default implementation returns a value according to the
14
- mode selected by SetAutoPageBreak().
15
- <br>
16
- This method is called automatically and should not be called directly by the application.
17
- <h2>Example</h2>
18
- The method is overriden in an inherited class in order to obtain a 3 column layout:
19
- <div class="doc-source">
20
- <pre><code>class PDF extends FPDF
21
- {
22
- var $col = 0;
23
-
24
- function SetCol($col)
25
- {
26
- // Move position to a column
27
- $this-&gt;col = $col;
28
- $x = 10+$col*65;
29
- $this-&gt;SetLeftMargin($x);
30
- $this-&gt;SetX($x);
31
- }
32
-
33
- function AcceptPageBreak()
34
- {
35
- if($this-&gt;col&lt;2)
36
- {
37
- // Go to next column
38
- $this-&gt;SetCol($this-&gt;col+1);
39
- $this-&gt;SetY(10);
40
- return false;
41
- }
42
- else
43
- {
44
- // Go back to first column and issue page break
45
- $this-&gt;SetCol(0);
46
- return true;
47
- }
48
- }
49
- }
50
-
51
- $pdf = new PDF();
52
- $pdf-&gt;AddPage();
53
- $pdf-&gt;SetFont('Arial','',12);
54
- for($i=1;$i&lt;=300;$i++)
55
- $pdf-&gt;Cell(0,5,"Line $i",0,1);
56
- $pdf-&gt;Output();</code></pre>
57
- </div>
58
- <h2>See also</h2>
59
- <a href="setautopagebreak.htm">SetAutoPageBreak</a>
60
- <hr style="margin-top:1.5em">
61
- <div style="text-align:center"><a href="index.htm">Index</a></div>
62
- </body>
63
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>AcceptPageBreak</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>AcceptPageBreak</h1>
10
+ <code><b>boolean</b> AcceptPageBreak()</code>
11
+ <h2>Description</h2>
12
+ Whenever a page break condition is met, the method is called, and the break is issued or not
13
+ depending on the returned value. The default implementation returns a value according to the
14
+ mode selected by SetAutoPageBreak().
15
+ <br>
16
+ This method is called automatically and should not be called directly by the application.
17
+ <h2>Example</h2>
18
+ The method is overriden in an inherited class in order to obtain a 3 column layout:
19
+ <div class="doc-source">
20
+ <pre><code>class PDF extends FPDF
21
+ {
22
+ var $col = 0;
23
+
24
+ function SetCol($col)
25
+ {
26
+ // Move position to a column
27
+ $this-&gt;col = $col;
28
+ $x = 10+$col*65;
29
+ $this-&gt;SetLeftMargin($x);
30
+ $this-&gt;SetX($x);
31
+ }
32
+
33
+ function AcceptPageBreak()
34
+ {
35
+ if($this-&gt;col&lt;2)
36
+ {
37
+ // Go to next column
38
+ $this-&gt;SetCol($this-&gt;col+1);
39
+ $this-&gt;SetY(10);
40
+ return false;
41
+ }
42
+ else
43
+ {
44
+ // Go back to first column and issue page break
45
+ $this-&gt;SetCol(0);
46
+ return true;
47
+ }
48
+ }
49
+ }
50
+
51
+ $pdf = new PDF();
52
+ $pdf-&gt;AddPage();
53
+ $pdf-&gt;SetFont('Arial','',12);
54
+ for($i=1;$i&lt;=300;$i++)
55
+ $pdf-&gt;Cell(0,5,"Line $i",0,1);
56
+ $pdf-&gt;Output();</code></pre>
57
+ </div>
58
+ <h2>See also</h2>
59
+ <a href="setautopagebreak.htm">SetAutoPageBreak</a>
60
+ <hr style="margin-top:1.5em">
61
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
62
+ </body>
63
+ </html>
lib/FPDF/doc/addfont.htm CHANGED
@@ -1,55 +1,55 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>AddFont</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>AddFont</h1>
10
- <code>AddFont(<b>string</b> family [, <b>string</b> style [, <b>string</b> file]])</code>
11
- <h2>Description</h2>
12
- Imports a TrueType, OpenType or Type1 font and makes it available. It is necessary to generate a font
13
- definition file first with the MakeFont utility.
14
- <br>
15
- The definition file (and the font file itself when embedding) must be present in the font directory.
16
- If it is not found, the error "Could not include font definition file" is raised.
17
- <h2>Parameters</h2>
18
- <dl class="param">
19
- <dt><code>family</code></dt>
20
- <dd>
21
- Font family. The name can be chosen arbitrarily. If it is a standard family name, it will
22
- override the corresponding font.
23
- </dd>
24
- <dt><code>style</code></dt>
25
- <dd>
26
- Font style. Possible values are (case insensitive):
27
- <ul>
28
- <li>empty string: regular</li>
29
- <li><code>B</code>: bold</li>
30
- <li><code>I</code>: italic</li>
31
- <li><code>BI</code> or <code>IB</code>: bold italic</li>
32
- </ul>
33
- The default value is regular.
34
- </dd>
35
- <dt><code>file</code></dt>
36
- <dd>
37
- The font definition file.
38
- <br>
39
- By default, the name is built from the family and style, in lower case with no space.
40
- </dd>
41
- </dl>
42
- <h2>Example</h2>
43
- <div class="doc-source">
44
- <pre><code>$pdf-&gt;AddFont('Comic','I');</code></pre>
45
- </div>
46
- is equivalent to:
47
- <div class="doc-source">
48
- <pre><code>$pdf-&gt;AddFont('Comic','I','comici.php');</code></pre>
49
- </div>
50
- <h2>See also</h2>
51
- <a href="setfont.htm">SetFont</a>
52
- <hr style="margin-top:1.5em">
53
- <div style="text-align:center"><a href="index.htm">Index</a></div>
54
- </body>
55
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>AddFont</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>AddFont</h1>
10
+ <code>AddFont(<b>string</b> family [, <b>string</b> style [, <b>string</b> file]])</code>
11
+ <h2>Description</h2>
12
+ Imports a TrueType, OpenType or Type1 font and makes it available. It is necessary to generate a font
13
+ definition file first with the MakeFont utility.
14
+ <br>
15
+ The definition file (and the font file itself when embedding) must be present in the font directory.
16
+ If it is not found, the error "Could not include font definition file" is raised.
17
+ <h2>Parameters</h2>
18
+ <dl class="param">
19
+ <dt><code>family</code></dt>
20
+ <dd>
21
+ Font family. The name can be chosen arbitrarily. If it is a standard family name, it will
22
+ override the corresponding font.
23
+ </dd>
24
+ <dt><code>style</code></dt>
25
+ <dd>
26
+ Font style. Possible values are (case insensitive):
27
+ <ul>
28
+ <li>empty string: regular</li>
29
+ <li><code>B</code>: bold</li>
30
+ <li><code>I</code>: italic</li>
31
+ <li><code>BI</code> or <code>IB</code>: bold italic</li>
32
+ </ul>
33
+ The default value is regular.
34
+ </dd>
35
+ <dt><code>file</code></dt>
36
+ <dd>
37
+ The font definition file.
38
+ <br>
39
+ By default, the name is built from the family and style, in lower case with no space.
40
+ </dd>
41
+ </dl>
42
+ <h2>Example</h2>
43
+ <div class="doc-source">
44
+ <pre><code>$pdf-&gt;AddFont('Comic','I');</code></pre>
45
+ </div>
46
+ is equivalent to:
47
+ <div class="doc-source">
48
+ <pre><code>$pdf-&gt;AddFont('Comic','I','comici.php');</code></pre>
49
+ </div>
50
+ <h2>See also</h2>
51
+ <a href="setfont.htm">SetFont</a>
52
+ <hr style="margin-top:1.5em">
53
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
54
+ </body>
55
+ </html>
lib/FPDF/doc/addlink.htm CHANGED
@@ -1,26 +1,26 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>AddLink</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>AddLink</h1>
10
- <code><b>int</b> AddLink()</code>
11
- <h2>Description</h2>
12
- Creates a new internal link and returns its identifier. An internal link is a clickable area
13
- which directs to another place within the document.
14
- <br>
15
- The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is
16
- defined with SetLink().
17
- <h2>See also</h2>
18
- <a href="cell.htm">Cell</a>,
19
- <a href="write.htm">Write</a>,
20
- <a href="image.htm">Image</a>,
21
- <a href="link.htm">Link</a>,
22
- <a href="setlink.htm">SetLink</a>
23
- <hr style="margin-top:1.5em">
24
- <div style="text-align:center"><a href="index.htm">Index</a></div>
25
- </body>
26
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>AddLink</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>AddLink</h1>
10
+ <code><b>int</b> AddLink()</code>
11
+ <h2>Description</h2>
12
+ Creates a new internal link and returns its identifier. An internal link is a clickable area
13
+ which directs to another place within the document.
14
+ <br>
15
+ The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is
16
+ defined with SetLink().
17
+ <h2>See also</h2>
18
+ <a href="cell.htm">Cell</a>,
19
+ <a href="write.htm">Write</a>,
20
+ <a href="image.htm">Image</a>,
21
+ <a href="link.htm">Link</a>,
22
+ <a href="setlink.htm">SetLink</a>
23
+ <hr style="margin-top:1.5em">
24
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
25
+ </body>
26
+ </html>
lib/FPDF/doc/addpage.htm CHANGED
@@ -1,61 +1,61 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>AddPage</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>AddPage</h1>
10
- <code>AddPage([<b>string</b> orientation [, <b>mixed</b> size [, <b>int</b> rotation]]])</code>
11
- <h2>Description</h2>
12
- Adds a new page to the document. If a page is already present, the Footer() method is called
13
- first to output the footer. Then the page is added, the current position set to the top-left
14
- corner according to the left and top margins, and Header() is called to display the header.
15
- <br>
16
- The font which was set before calling is automatically restored. There is no need to call
17
- SetFont() again if you want to continue with the same font. The same is true for colors and
18
- line width.
19
- <br>
20
- The origin of the coordinate system is at the top-left corner and increasing ordinates go
21
- downwards.
22
- <h2>Parameters</h2>
23
- <dl class="param">
24
- <dt><code>orientation</code></dt>
25
- <dd>
26
- Page orientation. Possible values are (case insensitive):
27
- <ul>
28
- <li><code>P</code> or <code>Portrait</code></li>
29
- <li><code>L</code> or <code>Landscape</code></li>
30
- </ul>
31
- The default value is the one passed to the constructor.
32
- </dd>
33
- <dt><code>size</code></dt>
34
- <dd>
35
- Page size. It can be either one of the following values (case insensitive):
36
- <ul>
37
- <li><code>A3</code></li>
38
- <li><code>A4</code></li>
39
- <li><code>A5</code></li>
40
- <li><code>Letter</code></li>
41
- <li><code>Legal</code></li>
42
- </ul>
43
- or an array containing the width and the height (expressed in user unit).<br>
44
- <br>
45
- The default value is the one passed to the constructor.
46
- </dd>
47
- <dt><code>rotation</code></dt>
48
- <dd>
49
- Angle by which to rotate the page. It must be a multiple of 90; positive values
50
- mean clockwise rotation. The default value is <code>0</code>.
51
- </dd>
52
- </dl>
53
- <h2>See also</h2>
54
- <a href="__construct.htm">__construct</a>,
55
- <a href="header.htm">Header</a>,
56
- <a href="footer.htm">Footer</a>,
57
- <a href="setmargins.htm">SetMargins</a>
58
- <hr style="margin-top:1.5em">
59
- <div style="text-align:center"><a href="index.htm">Index</a></div>
60
- </body>
61
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>AddPage</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>AddPage</h1>
10
+ <code>AddPage([<b>string</b> orientation [, <b>mixed</b> size [, <b>int</b> rotation]]])</code>
11
+ <h2>Description</h2>
12
+ Adds a new page to the document. If a page is already present, the Footer() method is called
13
+ first to output the footer. Then the page is added, the current position set to the top-left
14
+ corner according to the left and top margins, and Header() is called to display the header.
15
+ <br>
16
+ The font which was set before calling is automatically restored. There is no need to call
17
+ SetFont() again if you want to continue with the same font. The same is true for colors and
18
+ line width.
19
+ <br>
20
+ The origin of the coordinate system is at the top-left corner and increasing ordinates go
21
+ downwards.
22
+ <h2>Parameters</h2>
23
+ <dl class="param">
24
+ <dt><code>orientation</code></dt>
25
+ <dd>
26
+ Page orientation. Possible values are (case insensitive):
27
+ <ul>
28
+ <li><code>P</code> or <code>Portrait</code></li>
29
+ <li><code>L</code> or <code>Landscape</code></li>
30
+ </ul>
31
+ The default value is the one passed to the constructor.
32
+ </dd>
33
+ <dt><code>size</code></dt>
34
+ <dd>
35
+ Page size. It can be either one of the following values (case insensitive):
36
+ <ul>
37
+ <li><code>A3</code></li>
38
+ <li><code>A4</code></li>
39
+ <li><code>A5</code></li>
40
+ <li><code>Letter</code></li>
41
+ <li><code>Legal</code></li>
42
+ </ul>
43
+ or an array containing the width and the height (expressed in user unit).<br>
44
+ <br>
45
+ The default value is the one passed to the constructor.
46
+ </dd>
47
+ <dt><code>rotation</code></dt>
48
+ <dd>
49
+ Angle by which to rotate the page. It must be a multiple of 90; positive values
50
+ mean clockwise rotation. The default value is <code>0</code>.
51
+ </dd>
52
+ </dl>
53
+ <h2>See also</h2>
54
+ <a href="__construct.htm">__construct</a>,
55
+ <a href="header.htm">Header</a>,
56
+ <a href="footer.htm">Footer</a>,
57
+ <a href="setmargins.htm">SetMargins</a>
58
+ <hr style="margin-top:1.5em">
59
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
60
+ </body>
61
+ </html>
lib/FPDF/doc/aliasnbpages.htm CHANGED
@@ -1,45 +1,45 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>AliasNbPages</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>AliasNbPages</h1>
10
- <code>AliasNbPages([<b>string</b> alias])</code>
11
- <h2>Description</h2>
12
- Defines an alias for the total number of pages. It will be substituted as the document is
13
- closed.
14
- <h2>Parameters</h2>
15
- <dl class="param">
16
- <dt><code>alias</code></dt>
17
- <dd>
18
- The alias. Default value: <code>{nb}</code>.
19
- </dd>
20
- </dl>
21
- <h2>Example</h2>
22
- <div class="doc-source">
23
- <pre><code>class PDF extends FPDF
24
- {
25
- function Footer()
26
- {
27
- // Go to 1.5 cm from bottom
28
- $this-&gt;SetY(-15);
29
- // Select Arial italic 8
30
- $this-&gt;SetFont('Arial','I',8);
31
- // Print current and total page numbers
32
- $this-&gt;Cell(0,10,'Page '.$this-&gt;PageNo().'/{nb}',0,0,'C');
33
- }
34
- }
35
-
36
- $pdf = new PDF();
37
- $pdf-&gt;AliasNbPages();</code></pre>
38
- </div>
39
- <h2>See also</h2>
40
- <a href="pageno.htm">PageNo</a>,
41
- <a href="footer.htm">Footer</a>
42
- <hr style="margin-top:1.5em">
43
- <div style="text-align:center"><a href="index.htm">Index</a></div>
44
- </body>
45
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>AliasNbPages</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>AliasNbPages</h1>
10
+ <code>AliasNbPages([<b>string</b> alias])</code>
11
+ <h2>Description</h2>
12
+ Defines an alias for the total number of pages. It will be substituted as the document is
13
+ closed.
14
+ <h2>Parameters</h2>
15
+ <dl class="param">
16
+ <dt><code>alias</code></dt>
17
+ <dd>
18
+ The alias. Default value: <code>{nb}</code>.
19
+ </dd>
20
+ </dl>
21
+ <h2>Example</h2>
22
+ <div class="doc-source">
23
+ <pre><code>class PDF extends FPDF
24
+ {
25
+ function Footer()
26
+ {
27
+ // Go to 1.5 cm from bottom
28
+ $this-&gt;SetY(-15);
29
+ // Select Arial italic 8
30
+ $this-&gt;SetFont('Arial','I',8);
31
+ // Print current and total page numbers
32
+ $this-&gt;Cell(0,10,'Page '.$this-&gt;PageNo().'/{nb}',0,0,'C');
33
+ }
34
+ }
35
+
36
+ $pdf = new PDF();
37
+ $pdf-&gt;AliasNbPages();</code></pre>
38
+ </div>
39
+ <h2>See also</h2>
40
+ <a href="pageno.htm">PageNo</a>,
41
+ <a href="footer.htm">Footer</a>
42
+ <hr style="margin-top:1.5em">
43
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
44
+ </body>
45
+ </html>
lib/FPDF/doc/cell.htm CHANGED
@@ -1,104 +1,104 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>Cell</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>Cell</h1>
10
- <code>Cell(<b>float</b> w [, <b>float</b> h [, <b>string</b> txt [, <b>mixed</b> border [, <b>int</b> ln [, <b>string</b> align [, <b>boolean</b> fill [, <b>mixed</b> link]]]]]]])</code>
11
- <h2>Description</h2>
12
- Prints a cell (rectangular area) with optional borders, background color and character string.
13
- The upper-left corner of the cell corresponds to the current position. The text can be aligned
14
- or centered. After the call, the current position moves to the right or to the next line. It is
15
- possible to put a link on the text.
16
- <br>
17
- If automatic page breaking is enabled and the cell goes beyond the limit, a page break is
18
- done before outputting.
19
- <h2>Parameters</h2>
20
- <dl class="param">
21
- <dt><code>w</code></dt>
22
- <dd>
23
- Cell width. If <code>0</code>, the cell extends up to the right margin.
24
- </dd>
25
- <dt><code>h</code></dt>
26
- <dd>
27
- Cell height.
28
- Default value: <code>0</code>.
29
- </dd>
30
- <dt><code>txt</code></dt>
31
- <dd>
32
- String to print.
33
- Default value: empty string.
34
- </dd>
35
- <dt><code>border</code></dt>
36
- <dd>
37
- Indicates if borders must be drawn around the cell. The value can be either a number:
38
- <ul>
39
- <li><code>0</code>: no border</li>
40
- <li><code>1</code>: frame</li>
41
- </ul>
42
- or a string containing some or all of the following characters (in any order):
43
- <ul>
44
- <li><code>L</code>: left</li>
45
- <li><code>T</code>: top</li>
46
- <li><code>R</code>: right</li>
47
- <li><code>B</code>: bottom</li>
48
- </ul>
49
- Default value: <code>0</code>.
50
- </dd>
51
- <dt><code>ln</code></dt>
52
- <dd>
53
- Indicates where the current position should go after the call. Possible values are:
54
- <ul>
55
- <li><code>0</code>: to the right</li>
56
- <li><code>1</code>: to the beginning of the next line</li>
57
- <li><code>2</code>: below</li>
58
- </ul>
59
- Putting <code>1</code> is equivalent to putting <code>0</code> and calling Ln() just after.
60
- Default value: <code>0</code>.
61
- </dd>
62
- <dt><code>align</code></dt>
63
- <dd>
64
- Allows to center or align the text. Possible values are:
65
- <ul>
66
- <li><code>L</code> or empty string: left align (default value)</li>
67
- <li><code>C</code>: center</li>
68
- <li><code>R</code>: right align</li>
69
- </ul>
70
- </dd>
71
- <dt><code>fill</code></dt>
72
- <dd>
73
- Indicates if the cell background must be painted (<code>true</code>) or transparent (<code>false</code>).
74
- Default value: <code>false</code>.
75
- </dd>
76
- <dt><code>link</code></dt>
77
- <dd>
78
- URL or identifier returned by AddLink().
79
- </dd>
80
- </dl>
81
- <h2>Example</h2>
82
- <div class="doc-source">
83
- <pre><code>// Set font
84
- $pdf-&gt;SetFont('Arial','B',16);
85
- // Move to 8 cm to the right
86
- $pdf-&gt;Cell(80);
87
- // Centered text in a framed 20*10 mm cell and line break
88
- $pdf-&gt;Cell(20,10,'Title',1,1,'C');</code></pre>
89
- </div>
90
- <h2>See also</h2>
91
- <a href="setfont.htm">SetFont</a>,
92
- <a href="setdrawcolor.htm">SetDrawColor</a>,
93
- <a href="setfillcolor.htm">SetFillColor</a>,
94
- <a href="settextcolor.htm">SetTextColor</a>,
95
- <a href="setlinewidth.htm">SetLineWidth</a>,
96
- <a href="addlink.htm">AddLink</a>,
97
- <a href="ln.htm">Ln</a>,
98
- <a href="multicell.htm">MultiCell</a>,
99
- <a href="write.htm">Write</a>,
100
- <a href="setautopagebreak.htm">SetAutoPageBreak</a>
101
- <hr style="margin-top:1.5em">
102
- <div style="text-align:center"><a href="index.htm">Index</a></div>
103
- </body>
104
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>Cell</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>Cell</h1>
10
+ <code>Cell(<b>float</b> w [, <b>float</b> h [, <b>string</b> txt [, <b>mixed</b> border [, <b>int</b> ln [, <b>string</b> align [, <b>boolean</b> fill [, <b>mixed</b> link]]]]]]])</code>
11
+ <h2>Description</h2>
12
+ Prints a cell (rectangular area) with optional borders, background color and character string.
13
+ The upper-left corner of the cell corresponds to the current position. The text can be aligned
14
+ or centered. After the call, the current position moves to the right or to the next line. It is
15
+ possible to put a link on the text.
16
+ <br>
17
+ If automatic page breaking is enabled and the cell goes beyond the limit, a page break is
18
+ done before outputting.
19
+ <h2>Parameters</h2>
20
+ <dl class="param">
21
+ <dt><code>w</code></dt>
22
+ <dd>
23
+ Cell width. If <code>0</code>, the cell extends up to the right margin.
24
+ </dd>
25
+ <dt><code>h</code></dt>
26
+ <dd>
27
+ Cell height.
28
+ Default value: <code>0</code>.
29
+ </dd>
30
+ <dt><code>txt</code></dt>
31
+ <dd>
32
+ String to print.
33
+ Default value: empty string.
34
+ </dd>
35
+ <dt><code>border</code></dt>
36
+ <dd>
37
+ Indicates if borders must be drawn around the cell. The value can be either a number:
38
+ <ul>
39
+ <li><code>0</code>: no border</li>
40
+ <li><code>1</code>: frame</li>
41
+ </ul>
42
+ or a string containing some or all of the following characters (in any order):
43
+ <ul>
44
+ <li><code>L</code>: left</li>
45
+ <li><code>T</code>: top</li>
46
+ <li><code>R</code>: right</li>
47
+ <li><code>B</code>: bottom</li>
48
+ </ul>
49
+ Default value: <code>0</code>.
50
+ </dd>
51
+ <dt><code>ln</code></dt>
52
+ <dd>
53
+ Indicates where the current position should go after the call. Possible values are:
54
+ <ul>
55
+ <li><code>0</code>: to the right</li>
56
+ <li><code>1</code>: to the beginning of the next line</li>
57
+ <li><code>2</code>: below</li>
58
+ </ul>
59
+ Putting <code>1</code> is equivalent to putting <code>0</code> and calling Ln() just after.
60
+ Default value: <code>0</code>.
61
+ </dd>
62
+ <dt><code>align</code></dt>
63
+ <dd>
64
+ Allows to center or align the text. Possible values are:
65
+ <ul>
66
+ <li><code>L</code> or empty string: left align (default value)</li>
67
+ <li><code>C</code>: center</li>
68
+ <li><code>R</code>: right align</li>
69
+ </ul>
70
+ </dd>
71
+ <dt><code>fill</code></dt>
72
+ <dd>
73
+ Indicates if the cell background must be painted (<code>true</code>) or transparent (<code>false</code>).
74
+ Default value: <code>false</code>.
75
+ </dd>
76
+ <dt><code>link</code></dt>
77
+ <dd>
78
+ URL or identifier returned by AddLink().
79
+ </dd>
80
+ </dl>
81
+ <h2>Example</h2>
82
+ <div class="doc-source">
83
+ <pre><code>// Set font
84
+ $pdf-&gt;SetFont('Arial','B',16);
85
+ // Move to 8 cm to the right
86
+ $pdf-&gt;Cell(80);
87
+ // Centered text in a framed 20*10 mm cell and line break
88
+ $pdf-&gt;Cell(20,10,'Title',1,1,'C');</code></pre>
89
+ </div>
90
+ <h2>See also</h2>
91
+ <a href="setfont.htm">SetFont</a>,
92
+ <a href="setdrawcolor.htm">SetDrawColor</a>,
93
+ <a href="setfillcolor.htm">SetFillColor</a>,
94
+ <a href="settextcolor.htm">SetTextColor</a>,
95
+ <a href="setlinewidth.htm">SetLineWidth</a>,
96
+ <a href="addlink.htm">AddLink</a>,
97
+ <a href="ln.htm">Ln</a>,
98
+ <a href="multicell.htm">MultiCell</a>,
99
+ <a href="write.htm">Write</a>,
100
+ <a href="setautopagebreak.htm">SetAutoPageBreak</a>
101
+ <hr style="margin-top:1.5em">
102
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
103
+ </body>
104
+ </html>
lib/FPDF/doc/close.htm CHANGED
@@ -1,21 +1,21 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>Close</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>Close</h1>
10
- <code>Close()</code>
11
- <h2>Description</h2>
12
- Terminates the PDF document. It is not necessary to call this method explicitly because Output()
13
- does it automatically.
14
- <br>
15
- If the document contains no page, AddPage() is called to prevent from getting an invalid document.
16
- <h2>See also</h2>
17
- <a href="output.htm">Output</a>
18
- <hr style="margin-top:1.5em">
19
- <div style="text-align:center"><a href="index.htm">Index</a></div>
20
- </body>
21
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>Close</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>Close</h1>
10
+ <code>Close()</code>
11
+ <h2>Description</h2>
12
+ Terminates the PDF document. It is not necessary to call this method explicitly because Output()
13
+ does it automatically.
14
+ <br>
15
+ If the document contains no page, AddPage() is called to prevent from getting an invalid document.
16
+ <h2>See also</h2>
17
+ <a href="output.htm">Output</a>
18
+ <hr style="margin-top:1.5em">
19
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
20
+ </body>
21
+ </html>
lib/FPDF/doc/error.htm CHANGED
@@ -1,26 +1,26 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>Error</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>Error</h1>
10
- <code>Error(<b>string</b> msg)</code>
11
- <h2>Description</h2>
12
- This method is automatically called in case of a fatal error; it simply throws an exception
13
- with the provided message.<br>
14
- An inherited class may override it to customize the error handling but the method should
15
- never return, otherwise the resulting document would probably be invalid.
16
- <h2>Parameters</h2>
17
- <dl class="param">
18
- <dt><code>msg</code></dt>
19
- <dd>
20
- The error message.
21
- </dd>
22
- </dl>
23
- <hr style="margin-top:1.5em">
24
- <div style="text-align:center"><a href="index.htm">Index</a></div>
25
- </body>
26
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>Error</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>Error</h1>
10
+ <code>Error(<b>string</b> msg)</code>
11
+ <h2>Description</h2>
12
+ This method is automatically called in case of a fatal error; it simply throws an exception
13
+ with the provided message.<br>
14
+ An inherited class may override it to customize the error handling but the method should
15
+ never return, otherwise the resulting document would probably be invalid.
16
+ <h2>Parameters</h2>
17
+ <dl class="param">
18
+ <dt><code>msg</code></dt>
19
+ <dd>
20
+ The error message.
21
+ </dd>
22
+ </dl>
23
+ <hr style="margin-top:1.5em">
24
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
25
+ </body>
26
+ </html>
lib/FPDF/doc/footer.htm CHANGED
@@ -1,35 +1,35 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>Footer</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>Footer</h1>
10
- <code>Footer()</code>
11
- <h2>Description</h2>
12
- This method is used to render the page footer. It is automatically called by AddPage() and
13
- Close() and should not be called directly by the application. The implementation in FPDF is
14
- empty, so you have to subclass it and override the method if you want a specific processing.
15
- <h2>Example</h2>
16
- <div class="doc-source">
17
- <pre><code>class PDF extends FPDF
18
- {
19
- function Footer()
20
- {
21
- // Go to 1.5 cm from bottom
22
- $this-&gt;SetY(-15);
23
- // Select Arial italic 8
24
- $this-&gt;SetFont('Arial','I',8);
25
- // Print centered page number
26
- $this-&gt;Cell(0,10,'Page '.$this-&gt;PageNo(),0,0,'C');
27
- }
28
- }</code></pre>
29
- </div>
30
- <h2>See also</h2>
31
- <a href="header.htm">Header</a>
32
- <hr style="margin-top:1.5em">
33
- <div style="text-align:center"><a href="index.htm">Index</a></div>
34
- </body>
35
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>Footer</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>Footer</h1>
10
+ <code>Footer()</code>
11
+ <h2>Description</h2>
12
+ This method is used to render the page footer. It is automatically called by AddPage() and
13
+ Close() and should not be called directly by the application. The implementation in FPDF is
14
+ empty, so you have to subclass it and override the method if you want a specific processing.
15
+ <h2>Example</h2>
16
+ <div class="doc-source">
17
+ <pre><code>class PDF extends FPDF
18
+ {
19
+ function Footer()
20
+ {
21
+ // Go to 1.5 cm from bottom
22
+ $this-&gt;SetY(-15);
23
+ // Select Arial italic 8
24
+ $this-&gt;SetFont('Arial','I',8);
25
+ // Print centered page number
26
+ $this-&gt;Cell(0,10,'Page '.$this-&gt;PageNo(),0,0,'C');
27
+ }
28
+ }</code></pre>
29
+ </div>
30
+ <h2>See also</h2>
31
+ <a href="header.htm">Header</a>
32
+ <hr style="margin-top:1.5em">
33
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
34
+ </body>
35
+ </html>
lib/FPDF/doc/getpageheight.htm CHANGED
@@ -1,18 +1,18 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>GetPageHeight</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>GetPageHeight</h1>
10
- <code><b>float</b> GetPageHeight()</code>
11
- <h2>Description</h2>
12
- Returns the current page height.
13
- <h2>See also</h2>
14
- <a href="getpagewidth.htm">GetPageWidth</a>
15
- <hr style="margin-top:1.5em">
16
- <div style="text-align:center"><a href="index.htm">Index</a></div>
17
- </body>
18
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>GetPageHeight</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>GetPageHeight</h1>
10
+ <code><b>float</b> GetPageHeight()</code>
11
+ <h2>Description</h2>
12
+ Returns the current page height.
13
+ <h2>See also</h2>
14
+ <a href="getpagewidth.htm">GetPageWidth</a>
15
+ <hr style="margin-top:1.5em">
16
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
17
+ </body>
18
+ </html>
lib/FPDF/doc/getpagewidth.htm CHANGED
@@ -1,18 +1,18 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>GetPageWidth</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>GetPageWidth</h1>
10
- <code><b>float</b> GetPageWidth()</code>
11
- <h2>Description</h2>
12
- Returns the current page width.
13
- <h2>See also</h2>
14
- <a href="getpageheight.htm">GetPageHeight</a>
15
- <hr style="margin-top:1.5em">
16
- <div style="text-align:center"><a href="index.htm">Index</a></div>
17
- </body>
18
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>GetPageWidth</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>GetPageWidth</h1>
10
+ <code><b>float</b> GetPageWidth()</code>
11
+ <h2>Description</h2>
12
+ Returns the current page width.
13
+ <h2>See also</h2>
14
+ <a href="getpageheight.htm">GetPageHeight</a>
15
+ <hr style="margin-top:1.5em">
16
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
17
+ </body>
18
+ </html>
lib/FPDF/doc/getstringwidth.htm CHANGED
@@ -1,23 +1,23 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>GetStringWidth</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>GetStringWidth</h1>
10
- <code><b>float</b> GetStringWidth(<b>string</b> s)</code>
11
- <h2>Description</h2>
12
- Returns the length of a string in user unit. A font must be selected.
13
- <h2>Parameters</h2>
14
- <dl class="param">
15
- <dt><code>s</code></dt>
16
- <dd>
17
- The string whose length is to be computed.
18
- </dd>
19
- </dl>
20
- <hr style="margin-top:1.5em">
21
- <div style="text-align:center"><a href="index.htm">Index</a></div>
22
- </body>
23
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>GetStringWidth</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>GetStringWidth</h1>
10
+ <code><b>float</b> GetStringWidth(<b>string</b> s)</code>
11
+ <h2>Description</h2>
12
+ Returns the length of a string in user unit. A font must be selected.
13
+ <h2>Parameters</h2>
14
+ <dl class="param">
15
+ <dt><code>s</code></dt>
16
+ <dd>
17
+ The string whose length is to be computed.
18
+ </dd>
19
+ </dl>
20
+ <hr style="margin-top:1.5em">
21
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
22
+ </body>
23
+ </html>
lib/FPDF/doc/getx.htm CHANGED
@@ -1,20 +1,20 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>GetX</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>GetX</h1>
10
- <code><b>float</b> GetX()</code>
11
- <h2>Description</h2>
12
- Returns the abscissa of the current position.
13
- <h2>See also</h2>
14
- <a href="setx.htm">SetX</a>,
15
- <a href="gety.htm">GetY</a>,
16
- <a href="sety.htm">SetY</a>
17
- <hr style="margin-top:1.5em">
18
- <div style="text-align:center"><a href="index.htm">Index</a></div>
19
- </body>
20
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>GetX</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>GetX</h1>
10
+ <code><b>float</b> GetX()</code>
11
+ <h2>Description</h2>
12
+ Returns the abscissa of the current position.
13
+ <h2>See also</h2>
14
+ <a href="setx.htm">SetX</a>,
15
+ <a href="gety.htm">GetY</a>,
16
+ <a href="sety.htm">SetY</a>
17
+ <hr style="margin-top:1.5em">
18
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
19
+ </body>
20
+ </html>
lib/FPDF/doc/gety.htm CHANGED
@@ -1,20 +1,20 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>GetY</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>GetY</h1>
10
- <code><b>float</b> GetY()</code>
11
- <h2>Description</h2>
12
- Returns the ordinate of the current position.
13
- <h2>See also</h2>
14
- <a href="sety.htm">SetY</a>,
15
- <a href="getx.htm">GetX</a>,
16
- <a href="setx.htm">SetX</a>
17
- <hr style="margin-top:1.5em">
18
- <div style="text-align:center"><a href="index.htm">Index</a></div>
19
- </body>
20
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>GetY</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>GetY</h1>
10
+ <code><b>float</b> GetY()</code>
11
+ <h2>Description</h2>
12
+ Returns the ordinate of the current position.
13
+ <h2>See also</h2>
14
+ <a href="sety.htm">SetY</a>,
15
+ <a href="getx.htm">GetX</a>,
16
+ <a href="setx.htm">SetX</a>
17
+ <hr style="margin-top:1.5em">
18
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
19
+ </body>
20
+ </html>
lib/FPDF/doc/header.htm CHANGED
@@ -1,37 +1,37 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>Header</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>Header</h1>
10
- <code>Header()</code>
11
- <h2>Description</h2>
12
- This method is used to render the page header. It is automatically called by AddPage() and
13
- should not be called directly by the application. The implementation in FPDF is empty, so
14
- you have to subclass it and override the method if you want a specific processing.
15
- <h2>Example</h2>
16
- <div class="doc-source">
17
- <pre><code>class PDF extends FPDF
18
- {
19
- function Header()
20
- {
21
- // Select Arial bold 15
22
- $this-&gt;SetFont('Arial','B',15);
23
- // Move to the right
24
- $this-&gt;Cell(80);
25
- // Framed title
26
- $this-&gt;Cell(30,10,'Title',1,0,'C');
27
- // Line break
28
- $this-&gt;Ln(20);
29
- }
30
- }</code></pre>
31
- </div>
32
- <h2>See also</h2>
33
- <a href="footer.htm">Footer</a>
34
- <hr style="margin-top:1.5em">
35
- <div style="text-align:center"><a href="index.htm">Index</a></div>
36
- </body>
37
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>Header</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>Header</h1>
10
+ <code>Header()</code>
11
+ <h2>Description</h2>
12
+ This method is used to render the page header. It is automatically called by AddPage() and
13
+ should not be called directly by the application. The implementation in FPDF is empty, so
14
+ you have to subclass it and override the method if you want a specific processing.
15
+ <h2>Example</h2>
16
+ <div class="doc-source">
17
+ <pre><code>class PDF extends FPDF
18
+ {
19
+ function Header()
20
+ {
21
+ // Select Arial bold 15
22
+ $this-&gt;SetFont('Arial','B',15);
23
+ // Move to the right
24
+ $this-&gt;Cell(80);
25
+ // Framed title
26
+ $this-&gt;Cell(30,10,'Title',1,0,'C');
27
+ // Line break
28
+ $this-&gt;Ln(20);
29
+ }
30
+ }</code></pre>
31
+ </div>
32
+ <h2>See also</h2>
33
+ <a href="footer.htm">Footer</a>
34
+ <hr style="margin-top:1.5em">
35
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
36
+ </body>
37
+ </html>
lib/FPDF/doc/image.htm CHANGED
@@ -1,99 +1,99 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>Image</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>Image</h1>
10
- <code>Image(<b>string</b> file [, <b>float</b> x [, <b>float</b> y [, <b>float</b> w [, <b>float</b> h [, <b>string</b> type [, <b>mixed</b> link]]]]]])</code>
11
- <h2>Description</h2>
12
- Puts an image. The size it will take on the page can be specified in different ways:
13
- <ul>
14
- <li>explicit width and height (expressed in user unit or dpi)</li>
15
- <li>one explicit dimension, the other being calculated automatically in order to keep the original proportions</li>
16
- <li>no explicit dimension, in which case the image is put at 96 dpi</li>
17
- </ul>
18
- Supported formats are JPEG, PNG and GIF. The GD extension is required for GIF.
19
- <br>
20
- <br>
21
- For JPEGs, all flavors are allowed:
22
- <ul>
23
- <li>gray scales</li>
24
- <li>true colors (24 bits)</li>
25
- <li>CMYK (32 bits)</li>
26
- </ul>
27
- For PNGs, are allowed:
28
- <ul>
29
- <li>gray scales on at most 8 bits (256 levels)</li>
30
- <li>indexed colors</li>
31
- <li>true colors (24 bits)</li>
32
- </ul>
33
- For GIFs: in case of an animated GIF, only the first frame is displayed.<br>
34
- <br>
35
- Transparency is supported.<br>
36
- <br>
37
- The format can be specified explicitly or inferred from the file extension.<br>
38
- <br>
39
- It is possible to put a link on the image.<br>
40
- <br>
41
- Remark: if an image is used several times, only one copy is embedded in the file.
42
- <h2>Parameters</h2>
43
- <dl class="param">
44
- <dt><code>file</code></dt>
45
- <dd>
46
- Path or URL of the image.
47
- </dd>
48
- <dt><code>x</code></dt>
49
- <dd>
50
- Abscissa of the upper-left corner. If not specified or equal to <code>null</code>, the current abscissa
51
- is used.
52
- </dd>
53
- <dt><code>y</code></dt>
54
- <dd>
55
- Ordinate of the upper-left corner. If not specified or equal to <code>null</code>, the current ordinate
56
- is used; moreover, a page break is triggered first if necessary (in case automatic page breaking is enabled)
57
- and, after the call, the current ordinate is moved to the bottom of the image.
58
- </dd>
59
- <dt><code>w</code></dt>
60
- <dd>
61
- Width of the image in the page. There are three cases:
62
- <ul>
63
- <li>If the value is positive, it represents the width in user unit</li>
64
- <li>If the value is negative, the absolute value represents the horizontal resolution in dpi</li>
65
- <li>If the value is not specified or equal to zero, it is automatically calculated</li>
66
- </ul>
67
- </dd>
68
- <dt><code>h</code></dt>
69
- <dd>
70
- Height of the image in the page. There are three cases:
71
- <ul>
72
- <li>If the value is positive, it represents the height in user unit</li>
73
- <li>If the value is negative, the absolute value represents the vertical resolution in dpi</li>
74
- <li>If the value is not specified or equal to zero, it is automatically calculated</li>
75
- </ul>
76
- </dd>
77
- <dt><code>type</code></dt>
78
- <dd>
79
- Image format. Possible values are (case insensitive): <code>JPG</code>, <code>JPEG</code>, <code>PNG</code> and <code>GIF</code>.
80
- If not specified, the type is inferred from the file extension.
81
- </dd>
82
- <dt><code>link</code></dt>
83
- <dd>
84
- URL or identifier returned by AddLink().
85
- </dd>
86
- </dl>
87
- <h2>Example</h2>
88
- <div class="doc-source">
89
- <pre><code>// Insert a logo in the top-left corner at 300 dpi
90
- $pdf-&gt;Image('logo.png',10,10,-300);
91
- // Insert a dynamic image from a URL
92
- $pdf-&gt;Image('http://chart.googleapis.com/chart?cht=p3&amp;chd=t:60,40&amp;chs=250x100&amp;chl=Hello|World',60,30,90,0,'PNG');</code></pre>
93
- </div>
94
- <h2>See also</h2>
95
- <a href="addlink.htm">AddLink</a>
96
- <hr style="margin-top:1.5em">
97
- <div style="text-align:center"><a href="index.htm">Index</a></div>
98
- </body>
99
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>Image</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>Image</h1>
10
+ <code>Image(<b>string</b> file [, <b>float</b> x [, <b>float</b> y [, <b>float</b> w [, <b>float</b> h [, <b>string</b> type [, <b>mixed</b> link]]]]]])</code>
11
+ <h2>Description</h2>
12
+ Puts an image. The size it will take on the page can be specified in different ways:
13
+ <ul>
14
+ <li>explicit width and height (expressed in user unit or dpi)</li>
15
+ <li>one explicit dimension, the other being calculated automatically in order to keep the original proportions</li>
16
+ <li>no explicit dimension, in which case the image is put at 96 dpi</li>
17
+ </ul>
18
+ Supported formats are JPEG, PNG and GIF. The GD extension is required for GIF.
19
+ <br>
20
+ <br>
21
+ For JPEGs, all flavors are allowed:
22
+ <ul>
23
+ <li>gray scales</li>
24
+ <li>true colors (24 bits)</li>
25
+ <li>CMYK (32 bits)</li>
26
+ </ul>
27
+ For PNGs, are allowed:
28
+ <ul>
29
+ <li>gray scales on at most 8 bits (256 levels)</li>
30
+ <li>indexed colors</li>
31
+ <li>true colors (24 bits)</li>
32
+ </ul>
33
+ For GIFs: in case of an animated GIF, only the first frame is displayed.<br>
34
+ <br>
35
+ Transparency is supported.<br>
36
+ <br>
37
+ The format can be specified explicitly or inferred from the file extension.<br>
38
+ <br>
39
+ It is possible to put a link on the image.<br>
40
+ <br>
41
+ Remark: if an image is used several times, only one copy is embedded in the file.
42
+ <h2>Parameters</h2>
43
+ <dl class="param">
44
+ <dt><code>file</code></dt>
45
+ <dd>
46
+ Path or URL of the image.
47
+ </dd>
48
+ <dt><code>x</code></dt>
49
+ <dd>
50
+ Abscissa of the upper-left corner. If not specified or equal to <code>null</code>, the current abscissa
51
+ is used.
52
+ </dd>
53
+ <dt><code>y</code></dt>
54
+ <dd>
55
+ Ordinate of the upper-left corner. If not specified or equal to <code>null</code>, the current ordinate
56
+ is used; moreover, a page break is triggered first if necessary (in case automatic page breaking is enabled)
57
+ and, after the call, the current ordinate is moved to the bottom of the image.
58
+ </dd>
59
+ <dt><code>w</code></dt>
60
+ <dd>
61
+ Width of the image in the page. There are three cases:
62
+ <ul>
63
+ <li>If the value is positive, it represents the width in user unit</li>
64
+ <li>If the value is negative, the absolute value represents the horizontal resolution in dpi</li>
65
+ <li>If the value is not specified or equal to zero, it is automatically calculated</li>
66
+ </ul>
67
+ </dd>
68
+ <dt><code>h</code></dt>
69
+ <dd>
70
+ Height of the image in the page. There are three cases:
71
+ <ul>
72
+ <li>If the value is positive, it represents the height in user unit</li>
73
+ <li>If the value is negative, the absolute value represents the vertical resolution in dpi</li>
74
+ <li>If the value is not specified or equal to zero, it is automatically calculated</li>
75
+ </ul>
76
+ </dd>
77
+ <dt><code>type</code></dt>
78
+ <dd>
79
+ Image format. Possible values are (case insensitive): <code>JPG</code>, <code>JPEG</code>, <code>PNG</code> and <code>GIF</code>.
80
+ If not specified, the type is inferred from the file extension.
81
+ </dd>
82
+ <dt><code>link</code></dt>
83
+ <dd>
84
+ URL or identifier returned by AddLink().
85
+ </dd>
86
+ </dl>
87
+ <h2>Example</h2>
88
+ <div class="doc-source">
89
+ <pre><code>// Insert a logo in the top-left corner at 300 dpi
90
+ $pdf-&gt;Image('logo.png',10,10,-300);
91
+ // Insert a dynamic image from a URL
92
+ $pdf-&gt;Image('http://chart.googleapis.com/chart?cht=p3&amp;chd=t:60,40&amp;chs=250x100&amp;chl=Hello|World',60,30,90,0,'PNG');</code></pre>
93
+ </div>
94
+ <h2>See also</h2>
95
+ <a href="addlink.htm">AddLink</a>
96
+ <hr style="margin-top:1.5em">
97
+ <div style="text-align:center"><a href="index.htm">Index</a></div>
98
+ </body>
99
+ </html>
lib/FPDF/doc/index.htm CHANGED
@@ -1,59 +1,59 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
- <title>FPDF 1.82 Reference Manual</title>
6
- <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
- </head>
8
- <body>
9
- <h1>FPDF 1.82 Reference Manual</h1>
10
- <a href="__construct.htm">__construct</a> - constructor<br>
11
- <a href="acceptpagebreak.htm">AcceptPageBreak</a> - accept or not automatic page break<br>
12
- <a href="addfont.htm">AddFont</a> - add a new font<br>
13
- <a href="addlink.htm">AddLink</a> - create an internal link<br>
14
- <a href="addpage.htm">AddPage</a> - add a new page<br>
15
- <a href="aliasnbpages.htm">AliasNbPages</a> - define an alias for number of pages<br>
16
- <a href="cell.htm">Cell</a> - print a cell<br>
17
- <a href="close.htm">Close</a> - terminate the document<br>
18
- <a href="error.htm">Error</a> - fatal error<br>
19
- <a href="footer.htm">Footer</a> - page footer<br>
20
- <a href="getpageheight.htm">GetPageHeight</a> - get current page height<br>
21
- <a href="getpagewidth.htm">GetPageWidth</a> - get current page width<br>
22
- <a href="getstringwidth.htm">GetStringWidth</a> - compute string length<br>
23
- <a href="getx.htm">GetX</a> - get current x position<br>
24
- <a href="gety.htm">GetY</a> - get current y position<br>
25
- <a href="header.htm">Header</a> - page header<br>
26
- <a href="image.htm">Image</a> - output an image<br>
27
- <a href="line.htm">Line</a> - draw a line<br>
28
- <a href="link.htm">Link</a> - put a link<br>
29
- <a href="ln.htm">Ln</a> - line break<br>
30
- <a href="multicell.htm">MultiCell</a> - print text with line breaks<br>
31
- <a href="output.htm">Output</a> - save or send the document<br>
32
- <a href="pageno.htm">PageNo</a> - page number<br>
33
- <a href="rect.htm">Rect</a> - draw a rectangle<br>
34
- <a href="setauthor.htm">SetAuthor</a> - set the document author<br>
35
- <a href="setautopagebreak.htm">SetAutoPageBreak</a> - set the automatic page breaking mode<br>
36
- <a href="setcompression.htm">SetCompression</a> - turn compression on or off<br>
37
- <a href="setcreator.htm">SetCreator</a> - set document creator<br>
38
- <a href="setdisplaymode.htm">SetDisplayMode</a> - set display mode<br>
39
- <a href="setdrawcolor.htm">SetDrawColor</a> - set drawing color<br>
40
- <a href="setfillcolor.htm">SetFillColor</a> - set filling color<br>
41
- <a href="setfont.htm">SetFont</a> - set font<br>
42
- <a href="setfontsize.htm">SetFontSize</a> - set font size<br>
43
- <a href="setkeywords.htm">SetKeywords</a> - associate keywords with document<br>
44
- <a href="setleftmargin.htm">SetLeftMargin</a> - set left margin<br>
45
- <a href="setlinewidth.htm">SetLineWidth</a> - set line width<br>
46
- <a href="setlink.htm">SetLink</a> - set internal link destination<br>
47
- <a href="setmargins.htm">SetMargins</a> - set margins<br>
48
- <a href="setrightmargin.htm">SetRightMargin</a> - set right margin<br>
49
- <a href="setsubject.htm">SetSubject</a> - set document subject<br>
50
- <a href="settextcolor.htm">SetTextColor</a> - set text color<br>
51
- <a href="settitle.htm">SetTitle</a> - set document title<br>
52
- <a href="settopmargin.htm">SetTopMargin</a> - set top margin<br>
53
- <a href="setx.htm">SetX</a> - set current x position<br>
54
- <a href="setxy.htm">SetXY</a> - set current x and y positions<br>
55
- <a href="sety.htm">SetY</a> - set current y position and optionally reset x<br>
56
- <a href="text.htm">Text</a> - print a string<br>
57
- <a href="write.htm">Write</a> - print flowing text<br>
58
- </body>
59
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5
+ <title>FPDF 1.82 Reference Manual</title>
6
+ <link type="text/css" rel="stylesheet" href="../fpdf.css">
7
+ </head>
8
+ <body>
9
+ <h1>FPDF 1.82 Reference Manual</h1>
10
+ <a href="__construct.htm">__construct</a> - constructor<br>
11
+ <a href="acceptpagebreak.htm">AcceptPageBreak</a> - accept or not automatic page break<br>
12
+ <a href="addfont.htm">AddFont</a> - add a new font<br>
13
+ <a href="addlink.htm">AddLink</a> - create an internal link<br>
14
+ <a href="addpage.htm">AddPage</a> - add a new page<br>
15
+ <a href="aliasnbpages.htm">AliasNbPages</a> - defin