Version Description
Download this release
Release Info
Developer | Tomdever |
Plugin | wpForo Forum |
Version | 2.0.6 |
Comparing to | |
See all releases |
Code changes from version 2.0.5 to 2.0.6
- admin/pages/board.php +11 -20
- admin/pages/forum.php +0 -5
- admin/tools-tabs/debug.php +10 -2
- admin/tools-tabs/misc.php +1 -1
- admin/tools-tabs/tables.php +4 -1
- assets/js/ajax.js +127 -77
- classes/Actions.php +30 -26
- classes/Cache.php +13 -7
- classes/Members.php +14 -5
- classes/Phrases.php +1 -0
- classes/Settings.php +1 -1
- classes/Template.php +20 -19
- classes/UserGroups.php +1 -0
- includes/functions-template.php +6 -0
- includes/functions.php +41 -9
- includes/hooks.php +28 -4
- includes/installation.php +227 -171
- integrations/functions.php +3 -1
- languages/wpforo.pot +204 -212
- modules/bookmarks/classes/Actions.php +2 -0
- modules/follows/classes/Actions.php +26 -11
- modules/mentioning/classes/Actions.php +20 -4
- modules/reactions/classes/Actions.php +4 -0
- modules/revisions/classes/Actions.php +5 -0
- modules/subscriptions/classes/Actions.php +24 -8
- readme.txt +41 -8
- themes/2022/footer.php +3 -3
- themes/2022/members.php +0 -1
- themes/2022/profile-home.php +7 -1
- themes/2022/profile.php +0 -1
- themes/2022/style-rtl.css +4 -3
- themes/2022/style.css +4 -3
- themes/classic/layouts/1/post.php +1 -0
- themes/classic/layouts/2/post.php +1 -0
- themes/classic/style-rtl.css +59 -0
- themes/classic/style.css +59 -0
- themes/classic/styles/matrix.css +1 -0
- themes/classic/widgets-rtl.css +5 -4
- themes/classic/widgets.css +5 -4
- widgets/RecentPosts.php +6 -11
- widgets/RecentTopics.php +2 -1
- wpforo.php +16 -9
admin/pages/board.php
CHANGED
@@ -71,7 +71,7 @@ $boardid = (int) wpfval( $_GET, 'boardid' );
|
|
71 |
<div class="wpf-board-option">
|
72 |
<label for="wpf-board-settings-desc"><?php _e( 'Board Description', 'wpforo' ); ?></label>
|
73 |
<div class="wpf-board-field">
|
74 |
-
<textarea name="" id="wpf-board-settings-desc" rows="4"><?php echo $board['settings']['desc'] ?></textarea>
|
75 |
</div>
|
76 |
</div>
|
77 |
|
@@ -97,7 +97,7 @@ $boardid = (int) wpfval( $_GET, 'boardid' );
|
|
97 |
<div class="wpf-board-module">
|
98 |
<div class="wpf-module-head">
|
99 |
<?php if( strpos($module['thumb'], '<svg') === FALSE ): ?>
|
100 |
-
<?php $src = ( $module['thumb'] )
|
101 |
<img src="<?php echo esc_url_raw($src) ?>" style="height: 60px;">
|
102 |
<?php else: ?>
|
103 |
<?php echo $module['thumb'] ?>
|
@@ -159,33 +159,24 @@ $boardid = (int) wpfval( $_GET, 'boardid' );
|
|
159 |
</div>
|
160 |
<div class="wpf-board-excld_urls">
|
161 |
<label for="wpf-board-excld_urls"><b style="font-weight: bold;">* <?php _e( 'Exclude page URLs', 'wpforo' ) ?></b> <span class="wpf-info">(<?php _e( 'one URL per line', 'wpforo' ) ?>)</span></label>
|
162 |
-
<textarea id="wpf-board-excld_urls" style="font-size: 12px; width: 100%;" rows="5" name="
|
163 |
><?php echo esc_textarea( implode( PHP_EOL, $board['excld_urls'] ) ) ?></textarea>
|
164 |
</div>
|
165 |
</div>
|
166 |
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
</div><!-- wpf-board-left END -->
|
179 |
|
180 |
<div class="wpf-board-right">
|
181 |
|
182 |
-
|
183 |
-
<
|
184 |
-
|
185 |
-
<
|
186 |
-
|
|
|
|
|
187 |
</div>
|
188 |
-
|
189 |
|
190 |
<div class="wpf-board-submit">
|
191 |
<input type="submit" value="<?php _e( 'Save', 'wpforo' ) ?>" class="button button-primary">
|
71 |
<div class="wpf-board-option">
|
72 |
<label for="wpf-board-settings-desc"><?php _e( 'Board Description', 'wpforo' ); ?></label>
|
73 |
<div class="wpf-board-field">
|
74 |
+
<textarea name="board[settings][desc]" id="wpf-board-settings-desc" rows="4"><?php echo $board['settings']['desc'] ?></textarea>
|
75 |
</div>
|
76 |
</div>
|
77 |
|
97 |
<div class="wpf-board-module">
|
98 |
<div class="wpf-module-head">
|
99 |
<?php if( strpos($module['thumb'], '<svg') === FALSE ): ?>
|
100 |
+
<?php $src = ( $module['thumb'] ) ?: WPFORO_URL . "/assets/images/dashboard/addon.png" ?>
|
101 |
<img src="<?php echo esc_url_raw($src) ?>" style="height: 60px;">
|
102 |
<?php else: ?>
|
103 |
<?php echo $module['thumb'] ?>
|
159 |
</div>
|
160 |
<div class="wpf-board-excld_urls">
|
161 |
<label for="wpf-board-excld_urls"><b style="font-weight: bold;">* <?php _e( 'Exclude page URLs', 'wpforo' ) ?></b> <span class="wpf-info">(<?php _e( 'one URL per line', 'wpforo' ) ?>)</span></label>
|
162 |
+
<textarea id="wpf-board-excld_urls" style="font-size: 12px; width: 100%;" rows="5" name="board[excld_urls]" placeholder="<?php echo esc_url( home_url( '/' ) ) ?>sample-page/ <?php echo esc_url( home_url( '/' ) ) ?>hello-world/ <?php echo esc_url( home_url( '/' ) ) ?>category/* ..."
|
163 |
><?php echo esc_textarea( implode( PHP_EOL, $board['excld_urls'] ) ) ?></textarea>
|
164 |
</div>
|
165 |
</div>
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
</div><!-- wpf-board-left END -->
|
168 |
|
169 |
<div class="wpf-board-right">
|
170 |
|
171 |
+
<?php if( $board['boardid'] || ! wpfkey( $_GET, 'boardid' ) ) : ?>
|
172 |
+
<div class="wpf-board-side-box">
|
173 |
+
<label><?php _e( 'Status', 'wpforo' ); ?></label>
|
174 |
+
<div class="wpf-switch-field">
|
175 |
+
<input type="radio" value="1" name="board[status]" id="wpf-board-status_1" <?php wpfo_check( $board['status'], true ); ?>><label for="wpf-board-status_1"><?php _e( 'Enabled', 'wpforo' ) ?></label>
|
176 |
+
<input type="radio" value="0" name="board[status]" id="wpf-board-status_0" <?php wpfo_check( $board['status'], false ); ?>><label for="wpf-board-status_0"><?php _e( 'Disabled', 'wpforo' ) ?></label>
|
177 |
+
</div>
|
178 |
</div>
|
179 |
+
<?php endif; ?>
|
180 |
|
181 |
<div class="wpf-board-submit">
|
182 |
<input type="submit" value="<?php _e( 'Save', 'wpforo' ) ?>" class="button button-primary">
|
admin/pages/forum.php
CHANGED
@@ -78,11 +78,6 @@ $action = wpfval( $_GET, 'action' );
|
|
78 |
<div class="publishing-action"><input id="save_menu_footer" class="button button-primary menu-save" name="save_menu" value="<?php _e( 'Save forums order and hierarchy', 'wpforo' ); ?>" onclick="get_forums_hierarchy()" type="button"></div>
|
79 |
</div>
|
80 |
</form>
|
81 |
-
<script>
|
82 |
-
var menus = false
|
83 |
-
navMenuL10n.saveAlert = null
|
84 |
-
window.onbeforeunload = function () {if (a.menusChanged) {return navMenuL10n.saveAlert}}
|
85 |
-
</script>
|
86 |
<?php endif; ?><!--checking edit forum permission-->
|
87 |
<?php endif; ?>
|
88 |
<!-- end Forum Hierarchy -->
|
78 |
<div class="publishing-action"><input id="save_menu_footer" class="button button-primary menu-save" name="save_menu" value="<?php _e( 'Save forums order and hierarchy', 'wpforo' ); ?>" onclick="get_forums_hierarchy()" type="button"></div>
|
79 |
</div>
|
80 |
</form>
|
|
|
|
|
|
|
|
|
|
|
81 |
<?php endif; ?><!--checking edit forum permission-->
|
82 |
<?php endif; ?>
|
83 |
<!-- end Forum Hierarchy -->
|
admin/tools-tabs/debug.php
CHANGED
@@ -291,13 +291,21 @@ function wpforo_issues() {
|
|
291 |
$issues['email']['wp_mail']['message'] = __( 'WordPress Email sending function wp_mail() doesn\'t work!', 'wpforo' );
|
292 |
$issues['email']['wp_mail']['solution'] = __( 'In most cases this is a server issue. We recommend you contact to your hosting service support team or open a support topic in wordpress.org support forum. Also there are many good articles regarding this issue in web. For example ', 'wpforo' ) . ' - <a href="https://www.wpbeginner.com/wp-tutorials/how-to-fix-wordpress-not-sending-email-issue/">' . __( 'How to Fix WordPress Not Sending Email Issue', 'wpforo' ) . '</a>';
|
293 |
}
|
294 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
//Other Issues //////////////////////////////////////////
|
296 |
$phrases = WPF()->db->get_var( "SELECT COUNT(*) FROM `" . WPF()->tables->phrases . "`" );
|
297 |
if( ! $phrases ) {
|
298 |
$issues['other']['empty_phrase_table']['level'] = 3;
|
299 |
$issues['other']['empty_phrase_table']['message'] = __( 'wpForo phrases are missing!', 'wpforo' );
|
300 |
-
$issues['other']['empty_phrase_table']['solution'] = __( 'Please
|
301 |
}
|
302 |
|
303 |
echo '<table class="wpf-table-data" style="margin: 10px; width: 98%;">';
|
291 |
$issues['email']['wp_mail']['message'] = __( 'WordPress Email sending function wp_mail() doesn\'t work!', 'wpforo' );
|
292 |
$issues['email']['wp_mail']['solution'] = __( 'In most cases this is a server issue. We recommend you contact to your hosting service support team or open a support topic in wordpress.org support forum. Also there are many good articles regarding this issue in web. For example ', 'wpforo' ) . ' - <a href="https://www.wpbeginner.com/wp-tutorials/how-to-fix-wordpress-not-sending-email-issue/">' . __( 'How to Fix WordPress Not Sending Email Issue', 'wpforo' ) . '</a>';
|
293 |
}
|
294 |
+
#########################################################
|
295 |
+
//Custom Template Files Detected ////////////////////////
|
296 |
+
if( is_dir(get_stylesheet_directory(). '/wpforo/' ) ){
|
297 |
+
$issues['theme']['custom_theme']['level'] = 1;
|
298 |
+
$issues['theme']['custom_theme']['message'] = "Potential Conflict with wpForo Template Files";
|
299 |
+
$issues['theme']['custom_theme']['solution'] = "Please make sure the <code style='color:red;'>/wpforo/</code> folder in the current WordPress active theme directory contains wpForo v2.0 template files. If the template files have been moved to this folder from the old v1.x version you should delete them to avoid lots of errors and problems on the forum front-end. You can use an FTP client or the File Manager of your Hosting cPanel to rename or remove the <code style='color:red;'>/wpforo/</code> folder from <code style='color:blue;'>/wp-content/themes/" . basename(get_stylesheet_directory()) . "</code> directory";
|
300 |
+
}
|
301 |
+
|
302 |
+
#########################################################
|
303 |
//Other Issues //////////////////////////////////////////
|
304 |
$phrases = WPF()->db->get_var( "SELECT COUNT(*) FROM `" . WPF()->tables->phrases . "`" );
|
305 |
if( ! $phrases ) {
|
306 |
$issues['other']['empty_phrase_table']['level'] = 3;
|
307 |
$issues['other']['empty_phrase_table']['message'] = __( 'wpForo phrases are missing!', 'wpforo' );
|
308 |
+
$issues['other']['empty_phrase_table']['solution'] = __( 'Please navigate to wpForo > Overview admin page and click the [Rebuild Phrases] button', 'wpforo');
|
309 |
}
|
310 |
|
311 |
echo '<table class="wpf-table-data" style="margin: 10px; width: 98%;">';
|
admin/tools-tabs/misc.php
CHANGED
@@ -79,7 +79,7 @@ if( ! current_user_can( 'administrator' ) ) exit;
|
|
79 |
<?php _e( 'Recent Posts', 'wpforo' ) ?>
|
80 |
</label>
|
81 |
<label style="min-width: 30%; display: inline-block; padding-bottom: 5px;">
|
82 |
-
<input name="wpforo_tools_misc[admin_note_pages][]" <?php if( in_array( 'tags', $pages ) ) echo 'checked' ?> value="
|
83 |
<?php _e( 'Tags', 'wpforo' ) ?>
|
84 |
</label>
|
85 |
<label style="min-width: 30%; display: inline-block; padding-bottom: 5px;">
|
79 |
<?php _e( 'Recent Posts', 'wpforo' ) ?>
|
80 |
</label>
|
81 |
<label style="min-width: 30%; display: inline-block; padding-bottom: 5px;">
|
82 |
+
<input name="wpforo_tools_misc[admin_note_pages][]" <?php if( in_array( 'tags', $pages ) ) echo 'checked' ?> value="tags" type="checkbox">
|
83 |
<?php _e( 'Tags', 'wpforo' ) ?>
|
84 |
</label>
|
85 |
<label style="min-width: 30%; display: inline-block; padding-bottom: 5px;">
|
admin/tools-tabs/tables.php
CHANGED
@@ -87,7 +87,7 @@ add_action( 'admin_footer', 'wpforo_debug_page_ajax_actions' );
|
|
87 |
'<b style="color: #0085ba; font-size:13px;font-family: Courier">[' . __( 'Solve database problems', 'wpforo' ) . ']</b>'
|
88 |
) ?></p>
|
89 |
<p style="font-size: 14px; font-weight: 600;"><?php _e( 'Problem fixer SQL commands:', 'wpforo' ) ?></p>
|
90 |
-
<pre style="padding: 10px; line-height: 1.4; border: 1px dashed #dd0000; background-color: #fffdea; color: #000000;"><?php
|
91 |
if( ! empty( $problems ) ) {
|
92 |
echo 'SET AUTOCOMMIT = 0;<br />';
|
93 |
$SQL = wpforo_database_fixer( $problems );
|
@@ -100,6 +100,9 @@ add_action( 'admin_footer', 'wpforo_debug_page_ajax_actions' );
|
|
100 |
if( wpfval( $SQL, 'tables' ) ) {
|
101 |
foreach( $SQL['tables'] as $query ) echo $query . '<br><br>';
|
102 |
}
|
|
|
|
|
|
|
103 |
echo ';SET AUTOCOMMIT = 1;';
|
104 |
}
|
105 |
?></pre>
|
87 |
'<b style="color: #0085ba; font-size:13px;font-family: Courier">[' . __( 'Solve database problems', 'wpforo' ) . ']</b>'
|
88 |
) ?></p>
|
89 |
<p style="font-size: 14px; font-weight: 600;"><?php _e( 'Problem fixer SQL commands:', 'wpforo' ) ?></p>
|
90 |
+
<pre style=" width: 100%; max-width: 1200px; display: block; padding: 10px; line-height: 1.4; border: 1px dashed #dd0000; background-color: #fffdea; color: #000000; overflow-x:auto;"><?php
|
91 |
if( ! empty( $problems ) ) {
|
92 |
echo 'SET AUTOCOMMIT = 0;<br />';
|
93 |
$SQL = wpforo_database_fixer( $problems );
|
100 |
if( wpfval( $SQL, 'tables' ) ) {
|
101 |
foreach( $SQL['tables'] as $query ) echo $query . '<br><br>';
|
102 |
}
|
103 |
+
if( wpfval( $SQL, 'data' ) ) {
|
104 |
+
foreach( $SQL['data'] as $query ) echo $query . '<br><br>';
|
105 |
+
}
|
106 |
echo ';SET AUTOCOMMIT = 1;';
|
107 |
}
|
108 |
?></pre>
|
assets/js/ajax.js
CHANGED
@@ -16,7 +16,8 @@ function wpforo_post_url_fixer(hash) {
|
|
16 |
type: 'POST',
|
17 |
data: {
|
18 |
postid: postid,
|
19 |
-
action: 'wpforo_post_url_fixer'
|
|
|
20 |
}
|
21 |
}).done(function (response) {
|
22 |
if( /^https?:\/\/[^\r\n\t\s\0'"]+$/.test(response) ){
|
@@ -53,6 +54,7 @@ $wpf(document).ready(function ($) {
|
|
53 |
postid,
|
54 |
type,
|
55 |
action: 'wpforo_react',
|
|
|
56 |
}
|
57 |
}).done(function( response ){
|
58 |
if( response.success ){
|
@@ -75,6 +77,7 @@ $wpf(document).ready(function ($) {
|
|
75 |
data: {
|
76 |
postid,
|
77 |
action: 'wpforo_unreact',
|
|
|
78 |
}
|
79 |
}).done(function( response ){
|
80 |
if( response.success ){
|
@@ -98,7 +101,8 @@ $wpf(document).ready(function ($) {
|
|
98 |
data: {
|
99 |
postid: postid,
|
100 |
likestatus: 1,
|
101 |
-
action: 'wpforo_like_ajax'
|
|
|
102 |
}
|
103 |
}).done(function (response) {
|
104 |
if (response.success) {
|
@@ -130,7 +134,8 @@ $wpf(document).ready(function ($) {
|
|
130 |
data: {
|
131 |
postid: postid,
|
132 |
likestatus: 0,
|
133 |
-
action: 'wpforo_like_ajax'
|
|
|
134 |
}
|
135 |
}).done(function (response) {
|
136 |
if (response.success) {
|
@@ -168,7 +173,8 @@ $wpf(document).ready(function ($) {
|
|
168 |
itemtype: type,
|
169 |
postid,
|
170 |
votestatus,
|
171 |
-
action: 'wpforo_vote_ajax'
|
|
|
172 |
}
|
173 |
}).done(function (response) {
|
174 |
if( response.success ) {
|
@@ -201,7 +207,8 @@ $wpf(document).ready(function ($) {
|
|
201 |
itemtype: type,
|
202 |
postid,
|
203 |
votestatus,
|
204 |
-
action: 'wpforo_vote_ajax'
|
|
|
205 |
}
|
206 |
}).done(function (response) {
|
207 |
if( response.success ) {
|
@@ -232,7 +239,8 @@ $wpf(document).ready(function ($) {
|
|
232 |
data: {
|
233 |
postid: postid,
|
234 |
answerstatus: 0,
|
235 |
-
action: 'wpforo_answer_ajax'
|
|
|
236 |
}
|
237 |
}).done(function (response) {
|
238 |
if (response.success) {
|
@@ -258,7 +266,8 @@ $wpf(document).ready(function ($) {
|
|
258 |
data: {
|
259 |
postid: postid,
|
260 |
answerstatus: 1,
|
261 |
-
action: 'wpforo_answer_ajax'
|
|
|
262 |
}
|
263 |
}).done(function (response) {
|
264 |
if (response.success) {
|
@@ -294,7 +303,8 @@ $wpf(document).ready(function ($) {
|
|
294 |
url: wpforo.ajax_url,
|
295 |
data: {
|
296 |
postid: postid,
|
297 |
-
action: 'wpforo_quote_ajax'
|
|
|
298 |
}
|
299 |
}).done(function (response) {
|
300 |
var phrase = wpforo_phrase('Reply with quote');
|
@@ -341,7 +351,8 @@ $wpf(document).ready(function ($) {
|
|
341 |
data: {
|
342 |
postid: postid,
|
343 |
reportmsg: messagecontent,
|
344 |
-
action: 'wpforo_report_ajax'
|
|
|
345 |
}
|
346 |
}).done(function (response) {
|
347 |
wpforo_dialog_hide();
|
@@ -366,7 +377,8 @@ $wpf(document).ready(function ($) {
|
|
366 |
data: {
|
367 |
topicid: topicid,
|
368 |
status: 'sticky',
|
369 |
-
action: 'wpforo_sticky_ajax'
|
|
|
370 |
}
|
371 |
}).done(function (response) {
|
372 |
if (response.success) {
|
@@ -396,7 +408,8 @@ $wpf(document).ready(function ($) {
|
|
396 |
data: {
|
397 |
topicid: topicid,
|
398 |
status: 'unsticky',
|
399 |
-
action: 'wpforo_sticky_ajax'
|
|
|
400 |
}
|
401 |
}).done(function (response) {
|
402 |
if (response.success) {
|
@@ -427,7 +440,8 @@ $wpf(document).ready(function ($) {
|
|
427 |
data: {
|
428 |
postid: postid,
|
429 |
status: 'approve',
|
430 |
-
action: 'wpforo_approve_ajax'
|
|
|
431 |
}
|
432 |
}).done(function (response) {
|
433 |
if (response.success) {
|
@@ -461,7 +475,8 @@ $wpf(document).ready(function ($) {
|
|
461 |
data: {
|
462 |
postid: postid,
|
463 |
status: 'unapprove',
|
464 |
-
action: 'wpforo_approve_ajax'
|
|
|
465 |
}
|
466 |
}).done(function (response) {
|
467 |
if( response.success ){
|
@@ -496,7 +511,8 @@ $wpf(document).ready(function ($) {
|
|
496 |
data: {
|
497 |
topicid: topicid,
|
498 |
status: 'private',
|
499 |
-
action: 'wpforo_private_ajax'
|
|
|
500 |
}
|
501 |
}).done(function (response) {
|
502 |
if( response.success ){
|
@@ -526,7 +542,8 @@ $wpf(document).ready(function ($) {
|
|
526 |
data: {
|
527 |
topicid: topicid,
|
528 |
status: 'public',
|
529 |
-
action: 'wpforo_private_ajax'
|
|
|
530 |
}
|
531 |
}).done(function (response) {
|
532 |
if( response.success ){
|
@@ -557,7 +574,8 @@ $wpf(document).ready(function ($) {
|
|
557 |
data: {
|
558 |
postid: postid,
|
559 |
status: 'solved',
|
560 |
-
action: 'wpforo_solved_ajax'
|
|
|
561 |
}
|
562 |
}).done(function (response) {
|
563 |
if( response.success ) {
|
@@ -586,7 +604,8 @@ $wpf(document).ready(function ($) {
|
|
586 |
data: {
|
587 |
postid: postid,
|
588 |
status: 'unsolved',
|
589 |
-
action: 'wpforo_solved_ajax'
|
|
|
590 |
}
|
591 |
}).done(function (response) {
|
592 |
if( response.success ){
|
@@ -617,7 +636,8 @@ $wpf(document).ready(function ($) {
|
|
617 |
data: {
|
618 |
topicid: topicid,
|
619 |
status: 'close',
|
620 |
-
action: 'wpforo_close_ajax'
|
|
|
621 |
}
|
622 |
}).done(function (response) {
|
623 |
if( response.success ){
|
@@ -653,7 +673,8 @@ $wpf(document).ready(function ($) {
|
|
653 |
data: {
|
654 |
topicid: topicid,
|
655 |
status: 'closed',
|
656 |
-
action: 'wpforo_close_ajax'
|
|
|
657 |
}
|
658 |
}).done(function (response) {
|
659 |
if( response.success ){
|
@@ -704,7 +725,8 @@ $wpf(document).ready(function ($) {
|
|
704 |
url: wpforo.ajax_url,
|
705 |
data: {
|
706 |
postid: parseInt(wrap.data('postid')),
|
707 |
-
action: 'wpforo_post_edit'
|
|
|
708 |
}
|
709 |
}).done(function(response){
|
710 |
if( response.success ) show_form(response.data.html, true);
|
@@ -743,8 +765,9 @@ $wpf(document).ready(function ($) {
|
|
743 |
forumid: forumid,
|
744 |
postid: postid,
|
745 |
status: status_value,
|
746 |
-
action: 'wpforo_delete_ajax'
|
747 |
-
|
|
|
748 |
}).done(function(response){
|
749 |
if( response.success ){
|
750 |
if(is_topic === -1){
|
@@ -785,7 +808,8 @@ $wpf(document).ready(function ($) {
|
|
785 |
itemid,
|
786 |
type,
|
787 |
status: 'subscribe',
|
788 |
-
action: 'wpforo_subscribe_ajax'
|
|
|
789 |
}
|
790 |
}).done(function (response) {
|
791 |
if( response.success ){
|
@@ -821,7 +845,8 @@ $wpf(document).ready(function ($) {
|
|
821 |
itemid,
|
822 |
type,
|
823 |
status: 'unsubscribe',
|
824 |
-
action: 'wpforo_subscribe_ajax'
|
|
|
825 |
}
|
826 |
}).done(function (response) {
|
827 |
if( response.success ){
|
@@ -850,7 +875,8 @@ $wpf(document).ready(function ($) {
|
|
850 |
type: 'POST',
|
851 |
data: {
|
852 |
forumid: forumid,
|
853 |
-
action: 'wpforo_topic_portable_form'
|
|
|
854 |
}
|
855 |
}).done(function (response) {
|
856 |
l.remove();
|
@@ -932,7 +958,8 @@ $wpf(document).ready(function ($) {
|
|
932 |
forumid: forumid,
|
933 |
filter: filter,
|
934 |
paged: paged,
|
935 |
-
action: 'wpforo_layout4_loadmore'
|
|
|
936 |
}
|
937 |
}).done(function (response) {
|
938 |
if (response.success) {
|
@@ -971,7 +998,8 @@ $wpf(document).ready(function ($) {
|
|
971 |
type: 'POST',
|
972 |
data: {
|
973 |
parentid: parentid,
|
974 |
-
action: 'wpforo_qa_comment_loadrest'
|
|
|
975 |
}
|
976 |
}).done(function (response) {
|
977 |
if (response.success) {
|
@@ -1005,7 +1033,8 @@ $wpf(document).ready(function ($) {
|
|
1005 |
textareaid: textareaid,
|
1006 |
postid: postid,
|
1007 |
body: body,
|
1008 |
-
action: 'wpforo_post_preview'
|
|
|
1009 |
}
|
1010 |
}).done(function (response) {
|
1011 |
if( response.success ) {
|
@@ -1041,7 +1070,8 @@ $wpf(document).ready(function ($) {
|
|
1041 |
textareaid: textareaid,
|
1042 |
postid: postid,
|
1043 |
body: body,
|
1044 |
-
action: 'wpforo_save_revision'
|
|
|
1045 |
}
|
1046 |
}).done(function (response) {
|
1047 |
if( response.success ) {
|
@@ -1083,7 +1113,8 @@ $wpf(document).ready(function ($) {
|
|
1083 |
data: {
|
1084 |
textareaid: textareaid,
|
1085 |
postid: postid,
|
1086 |
-
action: 'wpforo_get_revisions_history'
|
|
|
1087 |
}
|
1088 |
}).done(function (response) {
|
1089 |
if( response.success ) {
|
@@ -1114,7 +1145,8 @@ $wpf(document).ready(function ($) {
|
|
1114 |
type: 'POST',
|
1115 |
data: {
|
1116 |
revisionid: revisionid,
|
1117 |
-
action: 'wpforo_get_revision'
|
|
|
1118 |
}
|
1119 |
}).done(function (response) {
|
1120 |
if( response.success ){
|
@@ -1143,7 +1175,8 @@ $wpf(document).ready(function ($) {
|
|
1143 |
type: 'POST',
|
1144 |
data: {
|
1145 |
revisionid: revisionid,
|
1146 |
-
action: 'wpforo_delete_revision'
|
|
|
1147 |
}
|
1148 |
}).done(function (response) {
|
1149 |
if( response.success ){
|
@@ -1170,7 +1203,8 @@ $wpf(document).ready(function ($) {
|
|
1170 |
type: 'POST',
|
1171 |
data: {
|
1172 |
currentstate,
|
1173 |
-
action: 'wpforo_mute_mentions'
|
|
|
1174 |
}
|
1175 |
}).done(function (response) {
|
1176 |
if (response.success) {
|
@@ -1195,7 +1229,8 @@ $wpf(document).ready(function ($) {
|
|
1195 |
type: 'POST',
|
1196 |
data: {
|
1197 |
currentstate,
|
1198 |
-
action: 'wpforo_user_ban'
|
|
|
1199 |
}
|
1200 |
}).done(function(response){
|
1201 |
if (response.success) {
|
@@ -1305,7 +1340,8 @@ $wpf(document).ready(function ($) {
|
|
1305 |
type: 'POST',
|
1306 |
data:{
|
1307 |
toggle_status: toggle_status,
|
1308 |
-
action: 'wpforo_acp_toggle'
|
|
|
1309 |
}
|
1310 |
}).always(function(){
|
1311 |
$this.removeClass('wpf-processing');
|
@@ -1410,7 +1446,8 @@ $wpf(document).ready(function ($) {
|
|
1410 |
type: 'POST',
|
1411 |
data: {
|
1412 |
image_blob: imageblob,
|
1413 |
-
action: 'wpforo_profile_cover_upload'
|
|
|
1414 |
}
|
1415 |
}).done(function(){
|
1416 |
that.closest('.wpforo-profile-head').css('background-image', 'url(\'' + imageblob + '\')');
|
@@ -1434,7 +1471,8 @@ $wpf(document).ready(function ($) {
|
|
1434 |
data: {
|
1435 |
userid,
|
1436 |
stat: ( stat ? 1 : 0 ),
|
1437 |
-
action: 'wpforo_follow_unfollow_user'
|
|
|
1438 |
}
|
1439 |
}).done(function( r ){
|
1440 |
if( r.success ){
|
@@ -1471,7 +1509,8 @@ $wpf(document).ready(function ($) {
|
|
1471 |
type: 'POST',
|
1472 |
data: {
|
1473 |
topicid,
|
1474 |
-
action: 'wpforo_get_topic_head_more_info'
|
|
|
1475 |
}
|
1476 |
}).done(function( r ){
|
1477 |
if( r.success ){
|
@@ -1520,7 +1559,8 @@ $wpf(document).ready(function ($) {
|
|
1520 |
topicid,
|
1521 |
chunksize,
|
1522 |
offset,
|
1523 |
-
action: 'wpforo_get_topic_overview_chunk'
|
|
|
1524 |
}
|
1525 |
}).done(function( r ){
|
1526 |
if( r.success ){
|
@@ -1552,7 +1592,8 @@ $wpf(document).ready(function ($) {
|
|
1552 |
type: 'POST',
|
1553 |
data: {
|
1554 |
postid,
|
1555 |
-
action: 'wpforo_get_overview'
|
|
|
1556 |
}
|
1557 |
}).done(function( r ){
|
1558 |
if( r.success ){
|
@@ -1576,11 +1617,13 @@ $wpf(document).ready(function ($) {
|
|
1576 |
var postid = parseInt( wrap.data( 'postid' ) );
|
1577 |
if( ! isNaN( postid ) ){
|
1578 |
$this.addClass( 'wpf-processing' );
|
|
|
1579 |
$.ajax( {
|
1580 |
type: 'POST',
|
1581 |
data: {
|
1582 |
postid,
|
1583 |
-
action:
|
|
|
1584 |
}
|
1585 |
} ).done( function( r ){
|
1586 |
if( r.success ) $this.replaceWith( r.data['button'] );
|
@@ -1604,6 +1647,7 @@ $wpf(document).ready(function ($) {
|
|
1604 |
key,
|
1605 |
boardid,
|
1606 |
action: 'wpforo_unsubscribe',
|
|
|
1607 |
}
|
1608 |
}).done(function( r ){
|
1609 |
if( r.success ) wrap.remove();
|
@@ -1625,7 +1669,8 @@ $wpf(document).ready(function ($) {
|
|
1625 |
type: 'POST',
|
1626 |
data: {
|
1627 |
href,
|
1628 |
-
'action': 'wpforo_get_member_template'
|
|
|
1629 |
}
|
1630 |
}).done(function( r ){
|
1631 |
if( r.success ){
|
@@ -1661,40 +1706,43 @@ $wpf(document).ready(function ($) {
|
|
1661 |
let ts_input_old_value = '';
|
1662 |
let ts_request;
|
1663 |
wpforo_wrap.on('input propertychange', '.wpf-topic-create form .wpf-field-name-title input[type="text"]', {}, function(){
|
1664 |
-
if(
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
-
|
1679 |
-
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
-
r.
|
1684 |
-
|
1685 |
-
|
1686 |
-
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
-
|
|
|
|
|
1693 |
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
|
|
1698 |
});
|
1699 |
|
1700 |
wpforo_wrap.on('focusout', '.wpf-topic-create form .wpf-field-name-title', {}, function(){
|
@@ -1713,7 +1761,8 @@ function wpforo_init_phrases(){
|
|
1713 |
dataType: 'json',
|
1714 |
async: false,
|
1715 |
data: {
|
1716 |
-
action: 'wpforo_get_phrases'
|
|
|
1717 |
}
|
1718 |
}).done(function (r) {
|
1719 |
window.wpforo_phrases = r;
|
@@ -1738,7 +1787,8 @@ function wpforo_topic_tools_tab_load() {
|
|
1738 |
type: 'POST',
|
1739 |
data: {
|
1740 |
active_tab_id: active_tab_id,
|
1741 |
-
action: 'wpforo_active_tab_content_ajax'
|
|
|
1742 |
}
|
1743 |
}).done(function(response){
|
1744 |
if( response ){
|
16 |
type: 'POST',
|
17 |
data: {
|
18 |
postid: postid,
|
19 |
+
action: 'wpforo_post_url_fixer',
|
20 |
+
_wpfnonce: wpforo['nonces']['wpforo_post_url_fixer'],
|
21 |
}
|
22 |
}).done(function (response) {
|
23 |
if( /^https?:\/\/[^\r\n\t\s\0'"]+$/.test(response) ){
|
54 |
postid,
|
55 |
type,
|
56 |
action: 'wpforo_react',
|
57 |
+
_wpfnonce: wpforo['nonces']['wpforo_react'],
|
58 |
}
|
59 |
}).done(function( response ){
|
60 |
if( response.success ){
|
77 |
data: {
|
78 |
postid,
|
79 |
action: 'wpforo_unreact',
|
80 |
+
_wpfnonce: wpforo['nonces']['wpforo_unreact'],
|
81 |
}
|
82 |
}).done(function( response ){
|
83 |
if( response.success ){
|
101 |
data: {
|
102 |
postid: postid,
|
103 |
likestatus: 1,
|
104 |
+
action: 'wpforo_like_ajax',
|
105 |
+
_wpfnonce: wpforo['nonces']['wpforo_like_ajax'],
|
106 |
}
|
107 |
}).done(function (response) {
|
108 |
if (response.success) {
|
134 |
data: {
|
135 |
postid: postid,
|
136 |
likestatus: 0,
|
137 |
+
action: 'wpforo_like_ajax',
|
138 |
+
_wpfnonce: wpforo['nonces']['wpforo_like_ajax'],
|
139 |
}
|
140 |
}).done(function (response) {
|
141 |
if (response.success) {
|
173 |
itemtype: type,
|
174 |
postid,
|
175 |
votestatus,
|
176 |
+
action: 'wpforo_vote_ajax',
|
177 |
+
_wpfnonce: wpforo['nonces']['wpforo_vote_ajax'],
|
178 |
}
|
179 |
}).done(function (response) {
|
180 |
if( response.success ) {
|
207 |
itemtype: type,
|
208 |
postid,
|
209 |
votestatus,
|
210 |
+
action: 'wpforo_vote_ajax',
|
211 |
+
_wpfnonce: wpforo['nonces']['wpforo_vote_ajax'],
|
212 |
}
|
213 |
}).done(function (response) {
|
214 |
if( response.success ) {
|
239 |
data: {
|
240 |
postid: postid,
|
241 |
answerstatus: 0,
|
242 |
+
action: 'wpforo_answer_ajax',
|
243 |
+
_wpfnonce: wpforo['nonces']['wpforo_answer_ajax'],
|
244 |
}
|
245 |
}).done(function (response) {
|
246 |
if (response.success) {
|
266 |
data: {
|
267 |
postid: postid,
|
268 |
answerstatus: 1,
|
269 |
+
action: 'wpforo_answer_ajax',
|
270 |
+
_wpfnonce: wpforo['nonces']['wpforo_answer_ajax'],
|
271 |
}
|
272 |
}).done(function (response) {
|
273 |
if (response.success) {
|
303 |
url: wpforo.ajax_url,
|
304 |
data: {
|
305 |
postid: postid,
|
306 |
+
action: 'wpforo_quote_ajax',
|
307 |
+
_wpfnonce: wpforo['nonces']['wpforo_quote_ajax'],
|
308 |
}
|
309 |
}).done(function (response) {
|
310 |
var phrase = wpforo_phrase('Reply with quote');
|
351 |
data: {
|
352 |
postid: postid,
|
353 |
reportmsg: messagecontent,
|
354 |
+
action: 'wpforo_report_ajax',
|
355 |
+
_wpfnonce: wpforo['nonces']['wpforo_report_ajax'],
|
356 |
}
|
357 |
}).done(function (response) {
|
358 |
wpforo_dialog_hide();
|
377 |
data: {
|
378 |
topicid: topicid,
|
379 |
status: 'sticky',
|
380 |
+
action: 'wpforo_sticky_ajax',
|
381 |
+
_wpfnonce: wpforo['nonces']['wpforo_sticky_ajax'],
|
382 |
}
|
383 |
}).done(function (response) {
|
384 |
if (response.success) {
|
408 |
data: {
|
409 |
topicid: topicid,
|
410 |
status: 'unsticky',
|
411 |
+
action: 'wpforo_sticky_ajax',
|
412 |
+
_wpfnonce: wpforo['nonces']['wpforo_sticky_ajax'],
|
413 |
}
|
414 |
}).done(function (response) {
|
415 |
if (response.success) {
|
440 |
data: {
|
441 |
postid: postid,
|
442 |
status: 'approve',
|
443 |
+
action: 'wpforo_approve_ajax',
|
444 |
+
_wpfnonce: wpforo['nonces']['wpforo_approve_ajax'],
|
445 |
}
|
446 |
}).done(function (response) {
|
447 |
if (response.success) {
|
475 |
data: {
|
476 |
postid: postid,
|
477 |
status: 'unapprove',
|
478 |
+
action: 'wpforo_approve_ajax',
|
479 |
+
_wpfnonce: wpforo['nonces']['wpforo_approve_ajax'],
|
480 |
}
|
481 |
}).done(function (response) {
|
482 |
if( response.success ){
|
511 |
data: {
|
512 |
topicid: topicid,
|
513 |
status: 'private',
|
514 |
+
action: 'wpforo_private_ajax',
|
515 |
+
_wpfnonce: wpforo['nonces']['wpforo_private_ajax'],
|
516 |
}
|
517 |
}).done(function (response) {
|
518 |
if( response.success ){
|
542 |
data: {
|
543 |
topicid: topicid,
|
544 |
status: 'public',
|
545 |
+
action: 'wpforo_private_ajax',
|
546 |
+
_wpfnonce: wpforo['nonces']['wpforo_private_ajax'],
|
547 |
}
|
548 |
}).done(function (response) {
|
549 |
if( response.success ){
|
574 |
data: {
|
575 |
postid: postid,
|
576 |
status: 'solved',
|
577 |
+
action: 'wpforo_solved_ajax',
|
578 |
+
_wpfnonce: wpforo['nonces']['wpforo_solved_ajax'],
|
579 |
}
|
580 |
}).done(function (response) {
|
581 |
if( response.success ) {
|
604 |
data: {
|
605 |
postid: postid,
|
606 |
status: 'unsolved',
|
607 |
+
action: 'wpforo_solved_ajax',
|
608 |
+
_wpfnonce: wpforo['nonces']['wpforo_solved_ajax'],
|
609 |
}
|
610 |
}).done(function (response) {
|
611 |
if( response.success ){
|
636 |
data: {
|
637 |
topicid: topicid,
|
638 |
status: 'close',
|
639 |
+
action: 'wpforo_close_ajax',
|
640 |
+
_wpfnonce: wpforo['nonces']['wpforo_close_ajax'],
|
641 |
}
|
642 |
}).done(function (response) {
|
643 |
if( response.success ){
|
673 |
data: {
|
674 |
topicid: topicid,
|
675 |
status: 'closed',
|
676 |
+
action: 'wpforo_close_ajax',
|
677 |
+
_wpfnonce: wpforo['nonces']['wpforo_close_ajax'],
|
678 |
}
|
679 |
}).done(function (response) {
|
680 |
if( response.success ){
|
725 |
url: wpforo.ajax_url,
|
726 |
data: {
|
727 |
postid: parseInt(wrap.data('postid')),
|
728 |
+
action: 'wpforo_post_edit',
|
729 |
+
_wpfnonce: wpforo['nonces']['wpforo_post_edit'],
|
730 |
}
|
731 |
}).done(function(response){
|
732 |
if( response.success ) show_form(response.data.html, true);
|
765 |
forumid: forumid,
|
766 |
postid: postid,
|
767 |
status: status_value,
|
768 |
+
action: 'wpforo_delete_ajax',
|
769 |
+
_wpfnonce: wpforo['nonces']['wpforo_delete_ajax'],
|
770 |
+
}
|
771 |
}).done(function(response){
|
772 |
if( response.success ){
|
773 |
if(is_topic === -1){
|
808 |
itemid,
|
809 |
type,
|
810 |
status: 'subscribe',
|
811 |
+
action: 'wpforo_subscribe_ajax',
|
812 |
+
_wpfnonce: wpforo['nonces']['wpforo_subscribe_ajax'],
|
813 |
}
|
814 |
}).done(function (response) {
|
815 |
if( response.success ){
|
845 |
itemid,
|
846 |
type,
|
847 |
status: 'unsubscribe',
|
848 |
+
action: 'wpforo_subscribe_ajax',
|
849 |
+
_wpfnonce: wpforo['nonces']['wpforo_subscribe_ajax'],
|
850 |
}
|
851 |
}).done(function (response) {
|
852 |
if( response.success ){
|
875 |
type: 'POST',
|
876 |
data: {
|
877 |
forumid: forumid,
|
878 |
+
action: 'wpforo_topic_portable_form',
|
879 |
+
_wpfnonce: wpforo['nonces']['wpforo_topic_portable_form'],
|
880 |
}
|
881 |
}).done(function (response) {
|
882 |
l.remove();
|
958 |
forumid: forumid,
|
959 |
filter: filter,
|
960 |
paged: paged,
|
961 |
+
action: 'wpforo_layout4_loadmore',
|
962 |
+
_wpfnonce: wpforo['nonces']['wpforo_layout4_loadmore'],
|
963 |
}
|
964 |
}).done(function (response) {
|
965 |
if (response.success) {
|
998 |
type: 'POST',
|
999 |
data: {
|
1000 |
parentid: parentid,
|
1001 |
+
action: 'wpforo_qa_comment_loadrest',
|
1002 |
+
_wpfnonce: wpforo['nonces']['wpforo_qa_comment_loadrest'],
|
1003 |
}
|
1004 |
}).done(function (response) {
|
1005 |
if (response.success) {
|
1033 |
textareaid: textareaid,
|
1034 |
postid: postid,
|
1035 |
body: body,
|
1036 |
+
action: 'wpforo_post_preview',
|
1037 |
+
_wpfnonce: wpforo['nonces']['wpforo_post_preview'],
|
1038 |
}
|
1039 |
}).done(function (response) {
|
1040 |
if( response.success ) {
|
1070 |
textareaid: textareaid,
|
1071 |
postid: postid,
|
1072 |
body: body,
|
1073 |
+
action: 'wpforo_save_revision',
|
1074 |
+
_wpfnonce: wpforo['nonces']['wpforo_save_revision'],
|
1075 |
}
|
1076 |
}).done(function (response) {
|
1077 |
if( response.success ) {
|
1113 |
data: {
|
1114 |
textareaid: textareaid,
|
1115 |
postid: postid,
|
1116 |
+
action: 'wpforo_get_revisions_history',
|
1117 |
+
_wpfnonce: wpforo['nonces']['wpforo_get_revisions_history'],
|
1118 |
}
|
1119 |
}).done(function (response) {
|
1120 |
if( response.success ) {
|
1145 |
type: 'POST',
|
1146 |
data: {
|
1147 |
revisionid: revisionid,
|
1148 |
+
action: 'wpforo_get_revision',
|
1149 |
+
_wpfnonce: wpforo['nonces']['wpforo_get_revision'],
|
1150 |
}
|
1151 |
}).done(function (response) {
|
1152 |
if( response.success ){
|
1175 |
type: 'POST',
|
1176 |
data: {
|
1177 |
revisionid: revisionid,
|
1178 |
+
action: 'wpforo_delete_revision',
|
1179 |
+
_wpfnonce: wpforo['nonces']['wpforo_delete_revision'],
|
1180 |
}
|
1181 |
}).done(function (response) {
|
1182 |
if( response.success ){
|
1203 |
type: 'POST',
|
1204 |
data: {
|
1205 |
currentstate,
|
1206 |
+
action: 'wpforo_mute_mentions',
|
1207 |
+
_wpfnonce: wpforo['nonces']['wpforo_mute_mentions'],
|
1208 |
}
|
1209 |
}).done(function (response) {
|
1210 |
if (response.success) {
|
1229 |
type: 'POST',
|
1230 |
data: {
|
1231 |
currentstate,
|
1232 |
+
action: 'wpforo_user_ban',
|
1233 |
+
_wpfnonce: wpforo['nonces']['wpforo_user_ban'],
|
1234 |
}
|
1235 |
}).done(function(response){
|
1236 |
if (response.success) {
|
1340 |
type: 'POST',
|
1341 |
data:{
|
1342 |
toggle_status: toggle_status,
|
1343 |
+
action: 'wpforo_acp_toggle',
|
1344 |
+
_wpfnonce: wpforo['nonces']['wpforo_acp_toggle'],
|
1345 |
}
|
1346 |
}).always(function(){
|
1347 |
$this.removeClass('wpf-processing');
|
1446 |
type: 'POST',
|
1447 |
data: {
|
1448 |
image_blob: imageblob,
|
1449 |
+
action: 'wpforo_profile_cover_upload',
|
1450 |
+
_wpfnonce: wpforo['nonces']['wpforo_profile_cover_upload'],
|
1451 |
}
|
1452 |
}).done(function(){
|
1453 |
that.closest('.wpforo-profile-head').css('background-image', 'url(\'' + imageblob + '\')');
|
1471 |
data: {
|
1472 |
userid,
|
1473 |
stat: ( stat ? 1 : 0 ),
|
1474 |
+
action: 'wpforo_follow_unfollow_user',
|
1475 |
+
_wpfnonce: wpforo['nonces']['wpforo_follow_unfollow_user'],
|
1476 |
}
|
1477 |
}).done(function( r ){
|
1478 |
if( r.success ){
|
1509 |
type: 'POST',
|
1510 |
data: {
|
1511 |
topicid,
|
1512 |
+
action: 'wpforo_get_topic_head_more_info',
|
1513 |
+
_wpfnonce: wpforo['nonces']['wpforo_get_topic_head_more_info'],
|
1514 |
}
|
1515 |
}).done(function( r ){
|
1516 |
if( r.success ){
|
1559 |
topicid,
|
1560 |
chunksize,
|
1561 |
offset,
|
1562 |
+
action: 'wpforo_get_topic_overview_chunk',
|
1563 |
+
_wpfnonce: wpforo['nonces']['wpforo_get_topic_overview_chunk'],
|
1564 |
}
|
1565 |
}).done(function( r ){
|
1566 |
if( r.success ){
|
1592 |
type: 'POST',
|
1593 |
data: {
|
1594 |
postid,
|
1595 |
+
action: 'wpforo_get_overview',
|
1596 |
+
_wpfnonce: wpforo['nonces']['wpforo_get_overview'],
|
1597 |
}
|
1598 |
}).done(function( r ){
|
1599 |
if( r.success ){
|
1617 |
var postid = parseInt( wrap.data( 'postid' ) );
|
1618 |
if( ! isNaN( postid ) ){
|
1619 |
$this.addClass( 'wpf-processing' );
|
1620 |
+
var _action = ( $this.hasClass( 'wpforo-bookmark' ) ? 'wpforo_bookmark' : 'wpforo_unbookmark' );
|
1621 |
$.ajax( {
|
1622 |
type: 'POST',
|
1623 |
data: {
|
1624 |
postid,
|
1625 |
+
action: _action,
|
1626 |
+
_wpfnonce: wpforo['nonces'][_action],
|
1627 |
}
|
1628 |
} ).done( function( r ){
|
1629 |
if( r.success ) $this.replaceWith( r.data['button'] );
|
1647 |
key,
|
1648 |
boardid,
|
1649 |
action: 'wpforo_unsubscribe',
|
1650 |
+
_wpfnonce: wpforo['nonces']['wpforo_unsubscribe'],
|
1651 |
}
|
1652 |
}).done(function( r ){
|
1653 |
if( r.success ) wrap.remove();
|
1669 |
type: 'POST',
|
1670 |
data: {
|
1671 |
href,
|
1672 |
+
'action': 'wpforo_get_member_template',
|
1673 |
+
_wpfnonce: wpforo['nonces']['wpforo_get_member_template'],
|
1674 |
}
|
1675 |
}).done(function( r ){
|
1676 |
if( r.success ){
|
1706 |
let ts_input_old_value = '';
|
1707 |
let ts_request;
|
1708 |
wpforo_wrap.on('input propertychange', '.wpf-topic-create form .wpf-field-name-title input[type="text"]', {}, function(){
|
1709 |
+
if( $( 'input[name=wpfaction][value=topic_add]', $(this).closest( 'form' ) ).length ){
|
1710 |
+
if( ts_request && ts_request.readyState !== 4 ) ts_request.abort();
|
1711 |
+
setTimeout( () => {
|
1712 |
+
const $this = $( this );
|
1713 |
+
let input_value = $this.val().trim();
|
1714 |
+
if( input_value.length && ts_input_old_value !== input_value ){
|
1715 |
+
wpforo_load_show();
|
1716 |
+
ts_request = $.ajax({
|
1717 |
+
type: 'POST',
|
1718 |
+
data: {
|
1719 |
+
title: input_value,
|
1720 |
+
action: 'wpforo_search_existed_topics',
|
1721 |
+
_wpfnonce: wpforo['nonces']['wpforo_search_existed_topics'],
|
1722 |
+
},
|
1723 |
+
}).done(function(r){
|
1724 |
+
const tlist = document.createElement('div');
|
1725 |
+
tlist.classList.add( 'wpf-suggested-topics-list' );
|
1726 |
+
$this.siblings( '.wpf-suggested-topics-list' ).remove();
|
1727 |
+
$this.after( tlist );
|
1728 |
+
if( r.success ){
|
1729 |
+
tlist.innerHTML = '<div class="wpf-suggested-topics-title">' + wpforo_phrase('Discussions that my already have the information you are looking for') + ' <i class="fa-solid fa-angles-down"></i></div>';
|
1730 |
+
r.data.forEach(function( topic ){
|
1731 |
+
const node = document.createElement( 'div' );
|
1732 |
+
node.classList.add( 'wpf-suggested-topic-node' );
|
1733 |
+
node.innerHTML = `<i class="fa-solid fa-caret-right"></i> <a href="${topic['url']}" target="_blank">${topic['title']}</a>`;
|
1734 |
+
tlist.append( node );
|
1735 |
+
});
|
1736 |
+
}
|
1737 |
+
}).always(function(){
|
1738 |
+
wpforo_load_hide();
|
1739 |
+
});
|
1740 |
|
1741 |
+
ts_input_old_value = input_value;
|
1742 |
+
}
|
1743 |
+
}, 700);
|
1744 |
+
wpforo_load_hide();
|
1745 |
+
}
|
1746 |
});
|
1747 |
|
1748 |
wpforo_wrap.on('focusout', '.wpf-topic-create form .wpf-field-name-title', {}, function(){
|
1761 |
dataType: 'json',
|
1762 |
async: false,
|
1763 |
data: {
|
1764 |
+
action: 'wpforo_get_phrases',
|
1765 |
+
_wpfnonce: wpforo['nonces']['wpforo_get_phrases'],
|
1766 |
}
|
1767 |
}).done(function (r) {
|
1768 |
window.wpforo_phrases = r;
|
1787 |
type: 'POST',
|
1788 |
data: {
|
1789 |
active_tab_id: active_tab_id,
|
1790 |
+
action: 'wpforo_active_tab_content_ajax',
|
1791 |
+
_wpfnonce: wpforo['nonces']['wpforo_active_tab_content_ajax'],
|
1792 |
}
|
1793 |
}).done(function(response){
|
1794 |
if( response ){
|
classes/Actions.php
CHANGED
@@ -357,6 +357,7 @@ class Actions {
|
|
357 |
* Open/Close Frontend Admin CPanel
|
358 |
*/
|
359 |
public function acp_toggle() {
|
|
|
360 |
$toggle_status = wpfval( $_POST, 'toggle_status' );
|
361 |
if( in_array( $toggle_status, [ 'open', 'close' ] ) ) {
|
362 |
update_user_meta( WPF()->current_userid, 'wpf-acp-toggle', $toggle_status );
|
@@ -394,8 +395,9 @@ class Actions {
|
|
394 |
}
|
395 |
|
396 |
public function profile_cover_upload() {
|
|
|
397 |
$r = false;
|
398 |
-
if( (
|
399 |
if( $file_content = file_get_contents($image_blob) ){
|
400 |
$file_basename = WPF()->current_object['user']['user_login'] . '_' . WPF()->current_object['user']['userid'] . '.jpg';
|
401 |
$file_dir = WPF()->folders['covers']['dir'] . DIRECTORY_SEPARATOR . $file_basename;
|
@@ -433,6 +435,7 @@ class Actions {
|
|
433 |
}
|
434 |
|
435 |
public function get_topic_head_more_info() {
|
|
|
436 |
if( $topicid = wpforo_bigintval( wpfval( $_POST, 'topicid' ) ) ){
|
437 |
wp_send_json_success( [ 'html' => wpforo_topic_active_participants( $topicid ) . wpforo_topic_overview( $topicid ) ] );
|
438 |
}
|
@@ -441,6 +444,7 @@ class Actions {
|
|
441 |
}
|
442 |
|
443 |
public function get_topic_overview_chunk() {
|
|
|
444 |
if( $topicid = wpforo_bigintval( wpfval( $_POST, 'topicid' ) ) ){
|
445 |
if( !( $chunksize = (int) wpfval( $_POST, 'chunksize' ) ) ) $chunksize = 5;
|
446 |
$offset = (int) wpfval( $_POST, 'offset' );
|
@@ -452,6 +456,7 @@ class Actions {
|
|
452 |
}
|
453 |
|
454 |
public function get_overview() {
|
|
|
455 |
if( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ){
|
456 |
if( $post = wpforo_post( $postid ) ){
|
457 |
wp_send_json_success(
|
@@ -798,15 +803,16 @@ class Actions {
|
|
798 |
check_admin_referer( 'wpforo-board-add' );
|
799 |
if( $board = (array) wpfval( $_POST, 'board' ) ) {
|
800 |
if( ! ( $board['locale'] = trim( $board['locale'] ) ) ) $board['locale'] = 'en_US';
|
|
|
801 |
if( $boardid = WPF()->board->add( $board ) ) {
|
802 |
// Handle translation installation.
|
803 |
-
if(
|
804 |
require_once ABSPATH . 'wp-admin/includes/file.php';
|
805 |
require_once ABSPATH . 'wp-admin/includes/translation-install.php';
|
806 |
if( wp_can_install_language_pack() ) wp_download_language_pack( $board['locale'] );
|
807 |
}
|
808 |
|
809 |
-
if( ( $board = WPF()->board->_get_board( $boardid ) ) && $
|
810 |
wp_safe_redirect( admin_url( 'admin.php?page=wpforo-' . $boardid . '-settings' ) );
|
811 |
exit();
|
812 |
}
|
@@ -824,9 +830,10 @@ class Actions {
|
|
824 |
check_admin_referer( 'wpforo-board-edit' );
|
825 |
if( $board = (array) wpfval( $_POST, 'board' ) ) {
|
826 |
$boardid = (int) wpfval( $board, 'boardid' );
|
|
|
827 |
if( ! ( $board['locale'] = trim( $board['locale'] ) ) ) $board['locale'] = 'en_US';
|
828 |
if( WPF()->board->edit( $board, $boardid ) ) {
|
829 |
-
if(
|
830 |
wp_update_post(
|
831 |
[
|
832 |
'ID' => $board['pageid'],
|
@@ -835,7 +842,7 @@ class Actions {
|
|
835 |
);
|
836 |
}
|
837 |
// Handle translation installation.
|
838 |
-
if(
|
839 |
require_once ABSPATH . 'wp-admin/includes/file.php';
|
840 |
require_once ABSPATH . 'wp-admin/includes/translation-install.php';
|
841 |
if( wp_can_install_language_pack() ) wp_download_language_pack( $board['locale'] );
|
@@ -866,12 +873,6 @@ class Actions {
|
|
866 |
public function synch_user_profiles() {
|
867 |
check_admin_referer( 'wpforo_synch_user_profiles' );
|
868 |
|
869 |
-
if( ! current_user_can( 'administrator' ) ) {
|
870 |
-
WPF()->notice->add( 'Permission denied', 'error' );
|
871 |
-
wp_safe_redirect( admin_url() );
|
872 |
-
exit();
|
873 |
-
}
|
874 |
-
|
875 |
if( $this->can_do() ) {
|
876 |
wpforo_set_max_execution_time();
|
877 |
wp_raise_memory_limit();
|
@@ -1706,25 +1707,27 @@ class Actions {
|
|
1706 |
}
|
1707 |
|
1708 |
public function user_ban_ajax() {
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
|
|
1716 |
|
1717 |
-
|
1718 |
-
|
1719 |
-
|
1720 |
-
|
1721 |
-
|
1722 |
-
|
1723 |
-
|
1724 |
-
|
1725 |
}
|
1726 |
|
1727 |
public function get_member_template() {
|
|
|
1728 |
$href = wpfval( $_POST, 'href' );
|
1729 |
WPF()->init_current_url( $href );
|
1730 |
WPF()->init_current_object();
|
@@ -1739,6 +1742,7 @@ class Actions {
|
|
1739 |
}
|
1740 |
|
1741 |
public function search_existed_topics() {
|
|
|
1742 |
$title = trim( wpfval( $_POST, 'title' ) );
|
1743 |
$topicids = WPF()->topic->search( $title, 'title' );
|
1744 |
if( $topicids ){
|
357 |
* Open/Close Frontend Admin CPanel
|
358 |
*/
|
359 |
public function acp_toggle() {
|
360 |
+
wpforo_verify_nonce( 'wpforo_acp_toggle' );
|
361 |
$toggle_status = wpfval( $_POST, 'toggle_status' );
|
362 |
if( in_array( $toggle_status, [ 'open', 'close' ] ) ) {
|
363 |
update_user_meta( WPF()->current_userid, 'wpf-acp-toggle', $toggle_status );
|
395 |
}
|
396 |
|
397 |
public function profile_cover_upload() {
|
398 |
+
wpforo_verify_nonce( 'wpforo_profile_cover_upload' );
|
399 |
$r = false;
|
400 |
+
if( WPF()->current_object['user'] && WPF()->usergroup->can( 'upc' ) && WPF()->perm->user_can_edit_account( WPF()->current_object['user'] ) && ($image_blob = wpfval( $_POST, 'image_blob' )) ){
|
401 |
if( $file_content = file_get_contents($image_blob) ){
|
402 |
$file_basename = WPF()->current_object['user']['user_login'] . '_' . WPF()->current_object['user']['userid'] . '.jpg';
|
403 |
$file_dir = WPF()->folders['covers']['dir'] . DIRECTORY_SEPARATOR . $file_basename;
|
435 |
}
|
436 |
|
437 |
public function get_topic_head_more_info() {
|
438 |
+
wpforo_verify_nonce( 'wpforo_get_topic_head_more_info' );
|
439 |
if( $topicid = wpforo_bigintval( wpfval( $_POST, 'topicid' ) ) ){
|
440 |
wp_send_json_success( [ 'html' => wpforo_topic_active_participants( $topicid ) . wpforo_topic_overview( $topicid ) ] );
|
441 |
}
|
444 |
}
|
445 |
|
446 |
public function get_topic_overview_chunk() {
|
447 |
+
wpforo_verify_nonce( 'wpforo_get_topic_overview_chunk' );
|
448 |
if( $topicid = wpforo_bigintval( wpfval( $_POST, 'topicid' ) ) ){
|
449 |
if( !( $chunksize = (int) wpfval( $_POST, 'chunksize' ) ) ) $chunksize = 5;
|
450 |
$offset = (int) wpfval( $_POST, 'offset' );
|
456 |
}
|
457 |
|
458 |
public function get_overview() {
|
459 |
+
wpforo_verify_nonce( 'wpforo_get_overview' );
|
460 |
if( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ){
|
461 |
if( $post = wpforo_post( $postid ) ){
|
462 |
wp_send_json_success(
|
803 |
check_admin_referer( 'wpforo-board-add' );
|
804 |
if( $board = (array) wpfval( $_POST, 'board' ) ) {
|
805 |
if( ! ( $board['locale'] = trim( $board['locale'] ) ) ) $board['locale'] = 'en_US';
|
806 |
+
$status = wpfkey( $board, 'status' ) ? (int) wpfval( $board, 'status' ) : 1;
|
807 |
if( $boardid = WPF()->board->add( $board ) ) {
|
808 |
// Handle translation installation.
|
809 |
+
if( $status && $board['locale'] && current_user_can( 'install_languages' ) ) {
|
810 |
require_once ABSPATH . 'wp-admin/includes/file.php';
|
811 |
require_once ABSPATH . 'wp-admin/includes/translation-install.php';
|
812 |
if( wp_can_install_language_pack() ) wp_download_language_pack( $board['locale'] );
|
813 |
}
|
814 |
|
815 |
+
if( ( $board = WPF()->board->_get_board( $boardid ) ) && $status ) {
|
816 |
wp_safe_redirect( admin_url( 'admin.php?page=wpforo-' . $boardid . '-settings' ) );
|
817 |
exit();
|
818 |
}
|
830 |
check_admin_referer( 'wpforo-board-edit' );
|
831 |
if( $board = (array) wpfval( $_POST, 'board' ) ) {
|
832 |
$boardid = (int) wpfval( $board, 'boardid' );
|
833 |
+
$status = wpfkey( $board, 'status' ) ? (int) wpfval( $board, 'status' ) : 1;
|
834 |
if( ! ( $board['locale'] = trim( $board['locale'] ) ) ) $board['locale'] = 'en_US';
|
835 |
if( WPF()->board->edit( $board, $boardid ) ) {
|
836 |
+
if( $status && ! is_wpforo_multiboard() ){
|
837 |
wp_update_post(
|
838 |
[
|
839 |
'ID' => $board['pageid'],
|
842 |
);
|
843 |
}
|
844 |
// Handle translation installation.
|
845 |
+
if( $status && $board['locale'] && current_user_can( 'install_languages' ) ) {
|
846 |
require_once ABSPATH . 'wp-admin/includes/file.php';
|
847 |
require_once ABSPATH . 'wp-admin/includes/translation-install.php';
|
848 |
if( wp_can_install_language_pack() ) wp_download_language_pack( $board['locale'] );
|
873 |
public function synch_user_profiles() {
|
874 |
check_admin_referer( 'wpforo_synch_user_profiles' );
|
875 |
|
|
|
|
|
|
|
|
|
|
|
|
|
876 |
if( $this->can_do() ) {
|
877 |
wpforo_set_max_execution_time();
|
878 |
wp_raise_memory_limit();
|
1707 |
}
|
1708 |
|
1709 |
public function user_ban_ajax() {
|
1710 |
+
wpforo_verify_nonce( 'wpforo_user_ban' );
|
1711 |
+
$userid = WPF()->current_object['user']['userid'];
|
1712 |
+
$currentstate = (int) wpfval( $_POST, 'currentstate' );
|
1713 |
+
if( $currentstate ){
|
1714 |
+
$r = WPF()->member->unban( $userid );
|
1715 |
+
}else{
|
1716 |
+
$r = WPF()->member->ban( $userid );
|
1717 |
+
}
|
1718 |
|
1719 |
+
if( $r ){
|
1720 |
+
wp_send_json_success( [
|
1721 |
+
'currentstate' => (int) !$currentstate,
|
1722 |
+
'notice' => WPF()->notice->get_notices(),
|
1723 |
+
] );
|
1724 |
+
}else{
|
1725 |
+
wp_send_json_error( [ 'notice' => WPF()->notice->get_notices() ] );
|
1726 |
+
}
|
1727 |
}
|
1728 |
|
1729 |
public function get_member_template() {
|
1730 |
+
wpforo_verify_nonce( 'wpforo_get_member_template' );
|
1731 |
$href = wpfval( $_POST, 'href' );
|
1732 |
WPF()->init_current_url( $href );
|
1733 |
WPF()->init_current_object();
|
1742 |
}
|
1743 |
|
1744 |
public function search_existed_topics() {
|
1745 |
+
wpforo_verify_nonce( 'wpforo_search_existed_topics' );
|
1746 |
$title = trim( wpfval( $_POST, 'title' ) );
|
1747 |
$topicids = WPF()->topic->search( $title, 'title' );
|
1748 |
if( $topicids ){
|
classes/Cache.php
CHANGED
@@ -368,6 +368,7 @@ class Cache {
|
|
368 |
public function cache_plugins(){
|
369 |
$board_paths = [];
|
370 |
$cache_plugins = [];
|
|
|
371 |
if( is_wpforo_multiboard() ){
|
372 |
$boards = WPF()->board->get_boards();
|
373 |
if(!empty($boards)){
|
@@ -378,13 +379,18 @@ class Cache {
|
|
378 |
} else {
|
379 |
$board_paths[] = '/' . WPF()->board->get_current( 'slug' ) . '/';
|
380 |
}
|
|
|
|
|
|
|
|
|
|
|
381 |
|
382 |
if (function_exists("wpsc_init")) {
|
383 |
//WP Super Cache
|
384 |
$cache_plugins['WPSuper']['name'] = 'WP Super Cache';
|
385 |
$cache_plugins['WPSuper']['steps'][] = __('Please navigate in Dashboard to Settings > WP Super Cache', 'wpforo');
|
386 |
$cache_plugins['WPSuper']['steps'][] = __('Go to Advanced Tab, scroll down to "Rejected URL Strings" option', 'wpforo');
|
387 |
-
$cache_plugins['WPSuper']['steps'][] = __('Insert the URL path(s) of your forum page(s) one per line in the option textarea:', 'wpforo') . ' <code>' . implode('</code>
|
388 |
$cache_plugins['WPSuper']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
389 |
}
|
390 |
if (defined("LSCWP_V")) {
|
@@ -392,7 +398,7 @@ class Cache {
|
|
392 |
$cache_plugins['LiteSpeed']['name'] = 'LiteSpeed Cache';
|
393 |
$cache_plugins['LiteSpeed']['steps'][] = __('Please navigate in Dashboard to LiteSpeed Cache > Cache admin page', 'wpforo');
|
394 |
$cache_plugins['LiteSpeed']['steps'][] = __('Go to Exclude Tab, find the "Do Not Cache URIs" option', 'wpforo');
|
395 |
-
$cache_plugins['LiteSpeed']['steps'][] = __('Insert the URL path(s) of your forum page(s) one per line in the option textarea:', 'wpforo') . ' <code>' . implode('</code>
|
396 |
$cache_plugins['LiteSpeed']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
397 |
}
|
398 |
if (function_exists("rocket_clean_post")) {
|
@@ -400,7 +406,7 @@ class Cache {
|
|
400 |
$cache_plugins['WPRocket']['name'] = 'WP Rocket Cache';
|
401 |
$cache_plugins['WPRocket']['steps'][] = __('Please navigate in Dashboard to WP Rocket > Advanced Rules Tab', 'wpforo');
|
402 |
$cache_plugins['WPRocket']['steps'][] = __('Scroll down to "Never cache (URLs)" option', 'wpforo');
|
403 |
-
$cache_plugins['WPRocket']['steps'][] = __('Insert the URL path(s) of your forum page(s) one per line with wildcard (.*) in the option textarea:', 'wpforo') . ' <code>' . implode('</code>
|
404 |
$cache_plugins['WPRocket']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
405 |
}
|
406 |
if (function_exists("wpfc_clear_post_cache_by_id")) {
|
@@ -408,7 +414,7 @@ class Cache {
|
|
408 |
$cache_plugins['WPFastest']['name'] = 'WP Fastest Cache';
|
409 |
$cache_plugins['WPFastest']['steps'][] = __('Please navigate in Dashboard to WP Fastest Cache > Exclude Tab', 'wpforo');
|
410 |
$cache_plugins['WPFastest']['steps'][] = __('In the "Exclude Pages" section click the [Add New Rule] button', 'wpforo');
|
411 |
-
$cache_plugins['WPFastest']['steps'][] = __('Select [Start with] option in the drop-down menu and insert the URL path(s) of your forum page(s) one per rule in the next field:', 'wpforo') . ' <code>' . implode('</code>
|
412 |
$cache_plugins['WPFastest']['steps'][] = __('If you have more than one forum pages (boards) you should create separate rules for each forum board.', 'wpforo');
|
413 |
$cache_plugins['WPFastest']['steps'][] = __('Save rules and delete all caches.', 'wpforo');
|
414 |
}
|
@@ -417,7 +423,7 @@ class Cache {
|
|
417 |
$cache_plugins['W3Total']['name'] = 'W3 Total Cache';
|
418 |
$cache_plugins['W3Total']['steps'][] = __('Please navigate in Dashboard to Performance > Page Cache admin page', 'wpforo');
|
419 |
$cache_plugins['W3Total']['steps'][] = __('Go to Advanced Tab, scroll down to Rejected URL Strings option', 'wpforo');
|
420 |
-
$cache_plugins['W3Total']['steps'][] = __('Scroll to Advanced section and insert the URL path(s) of your forum page(s) one per line in the "Never cache the following pages" textarea:', 'wpforo') . ' <code>' . implode('</code>
|
421 |
$cache_plugins['W3Total']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
422 |
}
|
423 |
if (is_callable(["WPO_Page_Cache", "delete_single_post_cache"])) {
|
@@ -425,7 +431,7 @@ class Cache {
|
|
425 |
$cache_plugins['WPOptimize']['name'] = 'WP-Optimize Cache';
|
426 |
$cache_plugins['WPOptimize']['steps'][] = __('Please navigate in Dashboard to WP-Optimize > Cache admin page', 'wpforo');
|
427 |
$cache_plugins['WPOptimize']['steps'][] = __('Go to Advanced Settings Tab, find the "URLs to exclude from caching" option', 'wpforo');
|
428 |
-
$cache_plugins['WPOptimize']['steps'][] = __('Insert the URL path(s) of your forum page(s) one per line with wildcard [*] in the option textarea:', 'wpforo') . ' <code>' . implode('</code>
|
429 |
$cache_plugins['WPOptimize']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
430 |
}
|
431 |
if (class_exists("\SiteGround_Optimizer\Supercacher\Supercacher")) {
|
@@ -433,7 +439,7 @@ class Cache {
|
|
433 |
$cache_plugins['SiteGround']['name'] = 'SiteGround Optimizer';
|
434 |
$cache_plugins['SiteGround']['steps'][] = __('Please navigate in Dashboard to SG Optimizer > Caching admin page', 'wpforo');
|
435 |
$cache_plugins['SiteGround']['steps'][] = __('Scroll to Exclude URLs from Caching section and click the "pencil" button, enable it, and click the button again', 'wpforo');
|
436 |
-
$cache_plugins['SiteGround']['steps'][] = __('Insert the URL path(s) of your forum page(s) with wildcard [*] in the pop-up filed:', 'wpforo') . ' <code>' . implode('</code>
|
437 |
$cache_plugins['SiteGround']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
438 |
}
|
439 |
return $cache_plugins;
|
368 |
public function cache_plugins(){
|
369 |
$board_paths = [];
|
370 |
$cache_plugins = [];
|
371 |
+
|
372 |
if( is_wpforo_multiboard() ){
|
373 |
$boards = WPF()->board->get_boards();
|
374 |
if(!empty($boards)){
|
379 |
} else {
|
380 |
$board_paths[] = '/' . WPF()->board->get_current( 'slug' ) . '/';
|
381 |
}
|
382 |
+
|
383 |
+
$board_paths[] = '/' . wpforo_settings_get_slug('member') . '/';
|
384 |
+
$board_paths[] = '/' . wpforo_settings_get_slug('register') . '/';
|
385 |
+
$board_paths[] = '/' . wpforo_settings_get_slug('login') . '/';
|
386 |
+
$board_paths[] = '/' . wpforo_settings_get_slug('lostpassword') . '/';
|
387 |
|
388 |
if (function_exists("wpsc_init")) {
|
389 |
//WP Super Cache
|
390 |
$cache_plugins['WPSuper']['name'] = 'WP Super Cache';
|
391 |
$cache_plugins['WPSuper']['steps'][] = __('Please navigate in Dashboard to Settings > WP Super Cache', 'wpforo');
|
392 |
$cache_plugins['WPSuper']['steps'][] = __('Go to Advanced Tab, scroll down to "Rejected URL Strings" option', 'wpforo');
|
393 |
+
$cache_plugins['WPSuper']['steps'][] = __('Insert the URL path(s) of your forum page(s) one per line in the option textarea:', 'wpforo') . ' <br><code>' . implode('</code> <br> <code>', $board_paths) . '</code>';
|
394 |
$cache_plugins['WPSuper']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
395 |
}
|
396 |
if (defined("LSCWP_V")) {
|
398 |
$cache_plugins['LiteSpeed']['name'] = 'LiteSpeed Cache';
|
399 |
$cache_plugins['LiteSpeed']['steps'][] = __('Please navigate in Dashboard to LiteSpeed Cache > Cache admin page', 'wpforo');
|
400 |
$cache_plugins['LiteSpeed']['steps'][] = __('Go to Exclude Tab, find the "Do Not Cache URIs" option', 'wpforo');
|
401 |
+
$cache_plugins['LiteSpeed']['steps'][] = __('Insert the URL path(s) of your forum page(s) one per line in the option textarea:', 'wpforo') . ' <br><code>' . implode('</code> <br> <code>', $board_paths) . '</code>';
|
402 |
$cache_plugins['LiteSpeed']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
403 |
}
|
404 |
if (function_exists("rocket_clean_post")) {
|
406 |
$cache_plugins['WPRocket']['name'] = 'WP Rocket Cache';
|
407 |
$cache_plugins['WPRocket']['steps'][] = __('Please navigate in Dashboard to WP Rocket > Advanced Rules Tab', 'wpforo');
|
408 |
$cache_plugins['WPRocket']['steps'][] = __('Scroll down to "Never cache (URLs)" option', 'wpforo');
|
409 |
+
$cache_plugins['WPRocket']['steps'][] = __('Insert the URL path(s) of your forum page(s) one per line with wildcard (.*) in the option textarea:', 'wpforo') . ' <br><code>' . implode('</code> <br> <code>', array_map( function ( $value ){ return $value . '(.*)'; }, $board_paths)) . '</code>';
|
410 |
$cache_plugins['WPRocket']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
411 |
}
|
412 |
if (function_exists("wpfc_clear_post_cache_by_id")) {
|
414 |
$cache_plugins['WPFastest']['name'] = 'WP Fastest Cache';
|
415 |
$cache_plugins['WPFastest']['steps'][] = __('Please navigate in Dashboard to WP Fastest Cache > Exclude Tab', 'wpforo');
|
416 |
$cache_plugins['WPFastest']['steps'][] = __('In the "Exclude Pages" section click the [Add New Rule] button', 'wpforo');
|
417 |
+
$cache_plugins['WPFastest']['steps'][] = __('Select [Start with] option in the drop-down menu and insert the URL path(s) of your forum page(s) one per rule in the next field:', 'wpforo') . ' <br><code>' . implode('</code> <br> <code>', $board_paths) . '</code>';
|
418 |
$cache_plugins['WPFastest']['steps'][] = __('If you have more than one forum pages (boards) you should create separate rules for each forum board.', 'wpforo');
|
419 |
$cache_plugins['WPFastest']['steps'][] = __('Save rules and delete all caches.', 'wpforo');
|
420 |
}
|
423 |
$cache_plugins['W3Total']['name'] = 'W3 Total Cache';
|
424 |
$cache_plugins['W3Total']['steps'][] = __('Please navigate in Dashboard to Performance > Page Cache admin page', 'wpforo');
|
425 |
$cache_plugins['W3Total']['steps'][] = __('Go to Advanced Tab, scroll down to Rejected URL Strings option', 'wpforo');
|
426 |
+
$cache_plugins['W3Total']['steps'][] = __('Scroll to Advanced section and insert the URL path(s) of your forum page(s) one per line in the "Never cache the following pages" textarea:', 'wpforo') . ' <br><code>' . implode('</code> <br> <code>', $board_paths) . '</code>';
|
427 |
$cache_plugins['W3Total']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
428 |
}
|
429 |
if (is_callable(["WPO_Page_Cache", "delete_single_post_cache"])) {
|
431 |
$cache_plugins['WPOptimize']['name'] = 'WP-Optimize Cache';
|
432 |
$cache_plugins['WPOptimize']['steps'][] = __('Please navigate in Dashboard to WP-Optimize > Cache admin page', 'wpforo');
|
433 |
$cache_plugins['WPOptimize']['steps'][] = __('Go to Advanced Settings Tab, find the "URLs to exclude from caching" option', 'wpforo');
|
434 |
+
$cache_plugins['WPOptimize']['steps'][] = __('Insert the URL path(s) of your forum page(s) one per line with wildcard [*] in the option textarea:', 'wpforo') . ' <br><code>' . implode('</code> <br> <code>', array_map( function ( $value ){ return $value . '*'; }, $board_paths)) . '</code>';
|
435 |
$cache_plugins['WPOptimize']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
436 |
}
|
437 |
if (class_exists("\SiteGround_Optimizer\Supercacher\Supercacher")) {
|
439 |
$cache_plugins['SiteGround']['name'] = 'SiteGround Optimizer';
|
440 |
$cache_plugins['SiteGround']['steps'][] = __('Please navigate in Dashboard to SG Optimizer > Caching admin page', 'wpforo');
|
441 |
$cache_plugins['SiteGround']['steps'][] = __('Scroll to Exclude URLs from Caching section and click the "pencil" button, enable it, and click the button again', 'wpforo');
|
442 |
+
$cache_plugins['SiteGround']['steps'][] = __('Insert the URL path(s) of your forum page(s) with wildcard [*] in the pop-up filed:', 'wpforo') . ' <br><code>' . implode('</code> <br> <code>', array_map( function ( $value ){ return $value . '*'; }, $board_paths)) . '</code>';
|
443 |
$cache_plugins['SiteGround']['steps'][] = __('Save it and delete all caches.', 'wpforo');
|
444 |
}
|
445 |
return $cache_plugins;
|
classes/Members.php
CHANGED
@@ -185,6 +185,8 @@ class Members {
|
|
185 |
$member['fields'] = (array) ( wpforo_is_json( $member['fields'] ) ? json_decode( $member['fields'], true ) : $member['fields'] );
|
186 |
$member = wpforo_array_ordered_intersect_key( $member, $this->default->member );
|
187 |
|
|
|
|
|
188 |
return array_merge( $member['fields'], $member );
|
189 |
}
|
190 |
|
@@ -1012,14 +1014,15 @@ class Members {
|
|
1012 |
}
|
1013 |
|
1014 |
public function change_password( $old_passw, $new_passw, $userid ) {
|
1015 |
-
if( ! $userid = wpforo_bigintval( $userid ) ) {
|
1016 |
WPF()->notice->clear();
|
1017 |
WPF()->notice->add( 'Userid is wrong', 'error' );
|
1018 |
|
1019 |
return false;
|
1020 |
}
|
1021 |
|
1022 |
-
$user = $
|
|
|
1023 |
if( ! apply_filters( 'wpforo_change_password_validate', true, $old_passw, $new_passw, $user ) ) return false;
|
1024 |
|
1025 |
if( wp_check_password( $old_passw, $user['user_pass'], $userid ) ) {
|
@@ -3185,12 +3188,18 @@ class Members {
|
|
3185 |
}
|
3186 |
|
3187 |
public function after_register_new_user( $userid ) {
|
3188 |
-
|
3189 |
-
|
|
|
|
|
|
|
|
|
3190 |
}
|
3191 |
|
3192 |
public function after_password_reset( $user ) {
|
3193 |
-
$
|
|
|
|
|
3194 |
$this->reset( $user->ID );
|
3195 |
}
|
3196 |
|
185 |
$member['fields'] = (array) ( wpforo_is_json( $member['fields'] ) ? json_decode( $member['fields'], true ) : $member['fields'] );
|
186 |
$member = wpforo_array_ordered_intersect_key( $member, $this->default->member );
|
187 |
|
188 |
+
if( ! $member['userid'] ) $member['timezone'] = '';
|
189 |
+
|
190 |
return array_merge( $member['fields'], $member );
|
191 |
}
|
192 |
|
1014 |
}
|
1015 |
|
1016 |
public function change_password( $old_passw, $new_passw, $userid ) {
|
1017 |
+
if( ! ($userid = wpforo_bigintval( $userid )) || ! ($user = $this->get_member( $userid )) ) {
|
1018 |
WPF()->notice->clear();
|
1019 |
WPF()->notice->add( 'Userid is wrong', 'error' );
|
1020 |
|
1021 |
return false;
|
1022 |
}
|
1023 |
|
1024 |
+
$user['user_pass'] = ( $userdata = get_userdata( $userid ) ) ? $userdata->user_pass : '';
|
1025 |
+
|
1026 |
if( ! apply_filters( 'wpforo_change_password_validate', true, $old_passw, $new_passw, $user ) ) return false;
|
1027 |
|
1028 |
if( wp_check_password( $old_passw, $user['user_pass'], $userid ) ) {
|
3188 |
}
|
3189 |
|
3190 |
public function after_register_new_user( $userid ) {
|
3191 |
+
if(
|
3192 |
+
wpforo_setting( 'authorization', 'manually_approval' )
|
3193 |
+
|| (int) trim( get_user_meta( $userid, 'default_password_nag', true ) )
|
3194 |
+
){
|
3195 |
+
$this->update_profile_fields( $userid, [ 'status' => 'inactive' ], false );
|
3196 |
+
}
|
3197 |
}
|
3198 |
|
3199 |
public function after_password_reset( $user ) {
|
3200 |
+
$data = [ 'status' => 'active', 'is_email_confirmed' => 1 ];
|
3201 |
+
if( wpforo_setting( 'authorization', 'manually_approval' ) ) $data['status'] = 'inactive';
|
3202 |
+
$this->update_profile_fields( $user->ID, $data, false );
|
3203 |
$this->reset( $user->ID );
|
3204 |
}
|
3205 |
|
classes/Phrases.php
CHANGED
@@ -387,6 +387,7 @@ class Phrases {
|
|
387 |
}
|
388 |
|
389 |
public function ajax_get_phrases() {
|
|
|
390 |
echo json_encode( $this->__phrases );
|
391 |
exit();
|
392 |
}
|
387 |
}
|
388 |
|
389 |
public function ajax_get_phrases() {
|
390 |
+
wpforo_verify_nonce( 'wpforo_get_phrases' );
|
391 |
echo json_encode( $this->__phrases );
|
392 |
exit();
|
393 |
}
|
classes/Settings.php
CHANGED
@@ -3840,7 +3840,7 @@ class Settings {
|
|
3840 |
'new_user_max_posts' => 3,
|
3841 |
'unapprove_post_if_user_is_new' => false,
|
3842 |
'min_number_posts_to_attach' => 0,
|
3843 |
-
'min_number_posts_to_edit_account' =>
|
3844 |
'min_number_posts_to_link' => 0,
|
3845 |
'limited_file_ext' => [ 'pdf', 'doc', 'docx', 'txt', 'htm', 'html', 'rtf', 'xml', 'xls', 'xlsx', 'zip', 'rar', 'tar', 'gz', 'bzip', '7z' ],
|
3846 |
'spam_file_scanner' => true,
|
3840 |
'new_user_max_posts' => 3,
|
3841 |
'unapprove_post_if_user_is_new' => false,
|
3842 |
'min_number_posts_to_attach' => 0,
|
3843 |
+
'min_number_posts_to_edit_account' => 3,
|
3844 |
'min_number_posts_to_link' => 0,
|
3845 |
'limited_file_ext' => [ 'pdf', 'doc', 'docx', 'txt', 'htm', 'html', 'rtf', 'xml', 'xls', 'xlsx', 'zip', 'rar', 'tar', 'gz', 'bzip', '7z' ],
|
3846 |
'spam_file_scanner' => true,
|
classes/Template.php
CHANGED
@@ -292,7 +292,7 @@ class Template {
|
|
292 |
}else{
|
293 |
printf(
|
294 |
'<p class="wpf-p-error">%1$s</p>',
|
295 |
-
|
296 |
);
|
297 |
}
|
298 |
},
|
@@ -320,7 +320,7 @@ class Template {
|
|
320 |
'is_default' => 1,
|
321 |
'can' => 'l',
|
322 |
'add_in_member_menu' => 1,
|
323 |
-
'add_in_member_buttons' =>
|
324 |
'callback_for_page' => function(){
|
325 |
require_once wpftpl( 'profile-favored.php' );
|
326 |
},
|
@@ -1813,21 +1813,21 @@ class Template {
|
|
1813 |
<meta itemprop="position" content="1">
|
1814 |
</div>
|
1815 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Search' ) ?></span></div>
|
1816 |
-
<
|
1817 |
<?php break;
|
1818 |
case 'signup': ?>
|
1819 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1820 |
<meta itemprop="position" content="1">
|
1821 |
</div>
|
1822 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Register' ) ?></span></div>
|
1823 |
-
<
|
1824 |
<?php break;
|
1825 |
case 'signin': ?>
|
1826 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1827 |
<meta itemprop="position" content="1">
|
1828 |
</div>
|
1829 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Login' ) ?></span></div>
|
1830 |
-
<
|
1831 |
<?php break;
|
1832 |
case 'members': ?>
|
1833 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1841,7 +1841,7 @@ class Template {
|
|
1841 |
<?php else : ?>
|
1842 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Members' ) ?></span></div>
|
1843 |
<?php endif ?>
|
1844 |
-
<
|
1845 |
<?php break;
|
1846 |
case 'recent': ?>
|
1847 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1854,14 +1854,14 @@ class Template {
|
|
1854 |
<?php else: ?>
|
1855 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Recent Posts' ) ?></span></div>
|
1856 |
<?php endif; ?>
|
1857 |
-
<
|
1858 |
<?php break;
|
1859 |
case 'tags': ?>
|
1860 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1861 |
<meta itemprop="position" content="1">
|
1862 |
</div>
|
1863 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Tags' ) ?></span></div>
|
1864 |
-
<
|
1865 |
<?php break;
|
1866 |
case 'profile': ?>
|
1867 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1873,7 +1873,7 @@ class Template {
|
|
1873 |
<?php if( $current_object['user'] ) : ?>
|
1874 |
<div class="wpf-item-element active"><span><?php @wpforo_text( wpforo_user_dname( $current_object['user'] ), $lenght ) ?></span></div>
|
1875 |
<?php endif ?>
|
1876 |
-
<
|
1877 |
<?php break;
|
1878 |
case 'account': ?>
|
1879 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1888,7 +1888,7 @@ class Template {
|
|
1888 |
</div>
|
1889 |
<?php endif ?>
|
1890 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Account' ) ?></span></div>
|
1891 |
-
<
|
1892 |
<?php break;
|
1893 |
case 'activity': ?>
|
1894 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1903,7 +1903,7 @@ class Template {
|
|
1903 |
</div>
|
1904 |
<?php endif ?>
|
1905 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Activity' ) ?></span></div>
|
1906 |
-
<
|
1907 |
<?php break;
|
1908 |
case 'subscriptions': ?>
|
1909 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1918,7 +1918,7 @@ class Template {
|
|
1918 |
</div>
|
1919 |
<?php endif ?>
|
1920 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Subscriptions' ) ?></span></div>
|
1921 |
-
<
|
1922 |
<?php break;
|
1923 |
case 'messages': ?>
|
1924 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1933,7 +1933,7 @@ class Template {
|
|
1933 |
</div>
|
1934 |
<?php endif ?>
|
1935 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Messages' ) ?></span></div>
|
1936 |
-
<
|
1937 |
<?php break;
|
1938 |
case 'topic': ?>
|
1939 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root<?php echo( ! $current_object['forumid'] ? ' active' : '' ) ?>"><a itemprop="item" href="<?php echo( ! $current_object['forumid'] ? '#' : wpforo_home_url() ) ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1955,7 +1955,7 @@ class Template {
|
|
1955 |
<?php endif ?>
|
1956 |
<?php endforeach ?>
|
1957 |
<?php endif ?>
|
1958 |
-
<
|
1959 |
<?php break;
|
1960 |
case 'post': ?>
|
1961 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root<?php echo( ! $current_object['forumid'] ? ' active' : '' ) ?>"><a itemprop="item" href="<?php echo( ! $current_object['forumid'] ? '#' : wpforo_home_url() ) ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
@@ -1976,7 +1976,7 @@ class Template {
|
|
1976 |
<?php if( $current_object['topic'] ) : ?>
|
1977 |
<div class="wpf-item-element active"><span><?php wpforo_text( $current_object['topic']['title'], $lenght ) ?></span></div>
|
1978 |
<?php endif ?>
|
1979 |
-
<
|
1980 |
<?php break;
|
1981 |
default: ?>
|
1982 |
<?php if( wpforo_is_member_template( $current_object['template'] ) && ( $template = $this->get_template( $current_object['template'] ) ) ) : ?>
|
@@ -1992,18 +1992,18 @@ class Template {
|
|
1992 |
</div>
|
1993 |
<?php endif ?>
|
1994 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( $template['title'] ) ?></span></div>
|
1995 |
-
<
|
1996 |
<?php else : ?>
|
1997 |
<?php if( $current_object['forumid'] ): ?>
|
1998 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1999 |
<meta itemprop="position" content="1">
|
2000 |
</div>
|
2001 |
-
<
|
2002 |
<?php else: ?>
|
2003 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root active"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><span itemprop="name"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
2004 |
<meta itemprop="position" content="1">
|
2005 |
</div>
|
2006 |
-
<
|
2007 |
<?php endif ?>
|
2008 |
<?php endif ?>
|
2009 |
<?php endswitch; ?>
|
@@ -2528,6 +2528,7 @@ class Template {
|
|
2528 |
}
|
2529 |
|
2530 |
public function ajx_active_tab_content() {
|
|
|
2531 |
if( ! empty( $_POST['active_tab_id'] ) ) {
|
2532 |
$active_tab_id = sanitize_textarea_field( $_POST['active_tab_id'] );
|
2533 |
switch( $active_tab_id ) {
|
@@ -2877,7 +2878,7 @@ class Template {
|
|
2877 |
}
|
2878 |
|
2879 |
public function change_cover_button( $user ) {
|
2880 |
-
if( WPF()->perm->user_can_edit_account( $user ) ){
|
2881 |
return sprintf(
|
2882 |
'<div class="wpf-edit-cover" wpf-tooltip="%1$s" wpf-tooltip-position="top" wpf-tooltip-size="small"><i class="fas fa-images"></i></div>',
|
2883 |
wpforo_phrase('Change Cover Image', false)
|
292 |
}else{
|
293 |
printf(
|
294 |
'<p class="wpf-p-error">%1$s</p>',
|
295 |
+
wpforo_phrase( 'You should have minimum number of approved posts to be able edit your profile information', false )
|
296 |
);
|
297 |
}
|
298 |
},
|
320 |
'is_default' => 1,
|
321 |
'can' => 'l',
|
322 |
'add_in_member_menu' => 1,
|
323 |
+
'add_in_member_buttons' => 1,
|
324 |
'callback_for_page' => function(){
|
325 |
require_once wpftpl( 'profile-favored.php' );
|
326 |
},
|
1813 |
<meta itemprop="position" content="1">
|
1814 |
</div>
|
1815 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Search' ) ?></span></div>
|
1816 |
+
<span class="wpf-end"> </span>
|
1817 |
<?php break;
|
1818 |
case 'signup': ?>
|
1819 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1820 |
<meta itemprop="position" content="1">
|
1821 |
</div>
|
1822 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Register' ) ?></span></div>
|
1823 |
+
<span class="wpf-end"> </span>
|
1824 |
<?php break;
|
1825 |
case 'signin': ?>
|
1826 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1827 |
<meta itemprop="position" content="1">
|
1828 |
</div>
|
1829 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Login' ) ?></span></div>
|
1830 |
+
<span class="wpf-end"> </span>
|
1831 |
<?php break;
|
1832 |
case 'members': ?>
|
1833 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1841 |
<?php else : ?>
|
1842 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Members' ) ?></span></div>
|
1843 |
<?php endif ?>
|
1844 |
+
<span class="wpf-end"> </span>
|
1845 |
<?php break;
|
1846 |
case 'recent': ?>
|
1847 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1854 |
<?php else: ?>
|
1855 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Recent Posts' ) ?></span></div>
|
1856 |
<?php endif; ?>
|
1857 |
+
<span class="wpf-end"> </span>
|
1858 |
<?php break;
|
1859 |
case 'tags': ?>
|
1860 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1861 |
<meta itemprop="position" content="1">
|
1862 |
</div>
|
1863 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Tags' ) ?></span></div>
|
1864 |
+
<span class="wpf-end"> </span>
|
1865 |
<?php break;
|
1866 |
case 'profile': ?>
|
1867 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1873 |
<?php if( $current_object['user'] ) : ?>
|
1874 |
<div class="wpf-item-element active"><span><?php @wpforo_text( wpforo_user_dname( $current_object['user'] ), $lenght ) ?></span></div>
|
1875 |
<?php endif ?>
|
1876 |
+
<span class="wpf-end"> </span>
|
1877 |
<?php break;
|
1878 |
case 'account': ?>
|
1879 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1888 |
</div>
|
1889 |
<?php endif ?>
|
1890 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Account' ) ?></span></div>
|
1891 |
+
<span class="wpf-end"> </span>
|
1892 |
<?php break;
|
1893 |
case 'activity': ?>
|
1894 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1903 |
</div>
|
1904 |
<?php endif ?>
|
1905 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Activity' ) ?></span></div>
|
1906 |
+
<span class="wpf-end"> </span>
|
1907 |
<?php break;
|
1908 |
case 'subscriptions': ?>
|
1909 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1918 |
</div>
|
1919 |
<?php endif ?>
|
1920 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Subscriptions' ) ?></span></div>
|
1921 |
+
<span class="wpf-end"> </span>
|
1922 |
<?php break;
|
1923 |
case 'messages': ?>
|
1924 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1933 |
</div>
|
1934 |
<?php endif ?>
|
1935 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( 'Messages' ) ?></span></div>
|
1936 |
+
<span class="wpf-end"> </span>
|
1937 |
<?php break;
|
1938 |
case 'topic': ?>
|
1939 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root<?php echo( ! $current_object['forumid'] ? ' active' : '' ) ?>"><a itemprop="item" href="<?php echo( ! $current_object['forumid'] ? '#' : wpforo_home_url() ) ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1955 |
<?php endif ?>
|
1956 |
<?php endforeach ?>
|
1957 |
<?php endif ?>
|
1958 |
+
<span class="wpf-end"> </span>
|
1959 |
<?php break;
|
1960 |
case 'post': ?>
|
1961 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root<?php echo( ! $current_object['forumid'] ? ' active' : '' ) ?>"><a itemprop="item" href="<?php echo( ! $current_object['forumid'] ? '#' : wpforo_home_url() ) ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1976 |
<?php if( $current_object['topic'] ) : ?>
|
1977 |
<div class="wpf-item-element active"><span><?php wpforo_text( $current_object['topic']['title'], $lenght ) ?></span></div>
|
1978 |
<?php endif ?>
|
1979 |
+
<span class="wpf-end"> </span>
|
1980 |
<?php break;
|
1981 |
default: ?>
|
1982 |
<?php if( wpforo_is_member_template( $current_object['template'] ) && ( $template = $this->get_template( $current_object['template'] ) ) ) : ?>
|
1992 |
</div>
|
1993 |
<?php endif ?>
|
1994 |
<div class="wpf-item-element active"><span><?php wpforo_phrase( $template['title'] ) ?></span></div>
|
1995 |
+
<span class="wpf-end"> </span>
|
1996 |
<?php else : ?>
|
1997 |
<?php if( $current_object['forumid'] ): ?>
|
1998 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
1999 |
<meta itemprop="position" content="1">
|
2000 |
</div>
|
2001 |
+
<span class="wpf-end"> </span>
|
2002 |
<?php else: ?>
|
2003 |
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root active"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase( 'Forums' ) ) ?>"><span itemprop="name"><?php wpforo_phrase( 'Forums' ) ?></span></a>
|
2004 |
<meta itemprop="position" content="1">
|
2005 |
</div>
|
2006 |
+
<span class="wpf-end"> </span>
|
2007 |
<?php endif ?>
|
2008 |
<?php endif ?>
|
2009 |
<?php endswitch; ?>
|
2528 |
}
|
2529 |
|
2530 |
public function ajx_active_tab_content() {
|
2531 |
+
wpforo_verify_nonce( 'wpforo_active_tab_content_ajax' );
|
2532 |
if( ! empty( $_POST['active_tab_id'] ) ) {
|
2533 |
$active_tab_id = sanitize_textarea_field( $_POST['active_tab_id'] );
|
2534 |
switch( $active_tab_id ) {
|
2878 |
}
|
2879 |
|
2880 |
public function change_cover_button( $user ) {
|
2881 |
+
if( WPF()->usergroup->can( 'upc' ) && WPF()->perm->user_can_edit_account( $user ) ){
|
2882 |
return sprintf(
|
2883 |
'<div class="wpf-edit-cover" wpf-tooltip="%1$s" wpf-tooltip-position="top" wpf-tooltip-size="small"><i class="fas fa-images"></i></div>',
|
2884 |
wpforo_phrase('Change Cover Image', false)
|
classes/UserGroups.php
CHANGED
@@ -69,6 +69,7 @@ class UserGroups {
|
|
69 |
'vpra' => __( 'Front - Can view member activity', 'wpforo' ),
|
70 |
'vprs' => __( 'Front - Can view member subscriptions', 'wpforo' ),
|
71 |
|
|
|
72 |
'upa' => __( 'Front - Can upload avatar', 'wpforo' ),
|
73 |
'ups' => __( 'Front - Can have signature', 'wpforo' ),
|
74 |
'va' => __( 'Front - Can view avatars', 'wpforo' ),
|
69 |
'vpra' => __( 'Front - Can view member activity', 'wpforo' ),
|
70 |
'vprs' => __( 'Front - Can view member subscriptions', 'wpforo' ),
|
71 |
|
72 |
+
'upc' => __( 'Front - Can upload cover', 'wpforo' ),
|
73 |
'upa' => __( 'Front - Can upload avatar', 'wpforo' ),
|
74 |
'ups' => __( 'Front - Can have signature', 'wpforo' ),
|
75 |
'va' => __( 'Front - Can view avatars', 'wpforo' ),
|
includes/functions-template.php
CHANGED
@@ -648,6 +648,12 @@ function wpforo_user_avatar( $user, $size, $attr = '', $lastmod = false ) {
|
|
648 |
function wpforo_signature( $member, $args = [] ) {
|
649 |
|
650 |
if( is_numeric( $member ) ) $member = wpforo_member( $member );
|
|
|
|
|
|
|
|
|
|
|
|
|
651 |
if( WPF()->current_userid != wpfval( $member, 'userid' ) && ! WPF()->usergroup->can( 'vms' ) ) return '';
|
652 |
|
653 |
$signature = '';
|
648 |
function wpforo_signature( $member, $args = [] ) {
|
649 |
|
650 |
if( is_numeric( $member ) ) $member = wpforo_member( $member );
|
651 |
+
|
652 |
+
if( wpfkey($member, 'rating', 'level') ){
|
653 |
+
$min_level = apply_filters('wpforo_min_rating_level_for_signature', 1);
|
654 |
+
if( $min_level && (int) $member['rating']['level'] < $min_level ) return '';
|
655 |
+
}
|
656 |
+
|
657 |
if( WPF()->current_userid != wpfval( $member, 'userid' ) && ! WPF()->usergroup->can( 'vms' ) ) return '';
|
658 |
|
659 |
$signature = '';
|
includes/functions.php
CHANGED
@@ -340,7 +340,7 @@ function wpforo_get_addons_info( $base = null ) {
|
|
340 |
'desc' => __( 'Allows to setup membership access to your forums and topics through WooCommerce Memberships plugin.', 'wpforo' ),
|
341 |
'url' => 'https://gvectors.com/product/wpforo-woocommerce-memberships/',
|
342 |
],
|
343 |
-
'go2wpforo' => [
|
344 |
'ABSPATH' => wpforo_fix_dir_sep( WP_PLUGIN_DIR . '/go2wpforo/Main.php' ),
|
345 |
'base' => false,
|
346 |
'version' => '3.0.0',
|
@@ -351,7 +351,7 @@ function wpforo_get_addons_info( $base = null ) {
|
|
351 |
'thumb' => WPFORO_URL . '/assets/addons/go2wpforo/header.png',
|
352 |
'desc' => __( 'Helps to migrate from bbPress, phpBB, SMF, MyBB, Simple:Press and other forum pieces of software and plugins to wpForo.', 'wpforo' ),
|
353 |
'url' => 'https://wpforo.com/docs/wpforo-v2/migrate-to-wpforo/',
|
354 |
-
]
|
355 |
];
|
356 |
|
357 |
if( !is_null( $base ) ){
|
@@ -363,14 +363,46 @@ function wpforo_get_addons_info( $base = null ) {
|
|
363 |
return $addons;
|
364 |
}
|
365 |
|
366 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
if( $mode === 'full' ) {
|
368 |
-
if( ! wp_verify_nonce( wpfval( $_REQUEST, $
|
369 |
wpforo_phrase( 'Sorry, something is wrong with your data.' );
|
370 |
exit();
|
371 |
}
|
372 |
-
}
|
373 |
-
|
|
|
|
|
374 |
if( ! wpfval( $_SERVER, 'HTTP_REFERER' ) ) {
|
375 |
exit( 'Error 2252 | Please contact the forum administrator.' );
|
376 |
}
|
@@ -378,7 +410,7 @@ function wpforo_verify_form( $action = 'wpforo_verify_form', $nonce = '_wpfnonce
|
|
378 |
exit( 'Error 2253 | Please contact the forum administrator.' );
|
379 |
}
|
380 |
}
|
381 |
-
do_action( '
|
382 |
}
|
383 |
|
384 |
/**
|
@@ -1595,8 +1627,8 @@ function wpforo_get_option( $option, $default = null, $cache = true ) {
|
|
1595 |
if( $value === false ) {
|
1596 |
$value = $default;
|
1597 |
} else {
|
1598 |
-
if( preg_match( '#_(?:general|profiles|rating)$#iu', $option ) ) {
|
1599 |
-
foreach( [ 'title_groupids', 'title_secondary_groupids', 'rating_title_ug', 'rating_badge_ug', 'admin_bar' ] as $k ) {
|
1600 |
if( wpfkey( $default, $k ) ) $default[ $k ] = [];
|
1601 |
}
|
1602 |
}
|
340 |
'desc' => __( 'Allows to setup membership access to your forums and topics through WooCommerce Memberships plugin.', 'wpforo' ),
|
341 |
'url' => 'https://gvectors.com/product/wpforo-woocommerce-memberships/',
|
342 |
],
|
343 |
+
/*'go2wpforo' => [
|
344 |
'ABSPATH' => wpforo_fix_dir_sep( WP_PLUGIN_DIR . '/go2wpforo/Main.php' ),
|
345 |
'base' => false,
|
346 |
'version' => '3.0.0',
|
351 |
'thumb' => WPFORO_URL . '/assets/addons/go2wpforo/header.png',
|
352 |
'desc' => __( 'Helps to migrate from bbPress, phpBB, SMF, MyBB, Simple:Press and other forum pieces of software and plugins to wpForo.', 'wpforo' ),
|
353 |
'url' => 'https://wpforo.com/docs/wpforo-v2/migrate-to-wpforo/',
|
354 |
+
],*/
|
355 |
];
|
356 |
|
357 |
if( !is_null( $base ) ){
|
363 |
return $addons;
|
364 |
}
|
365 |
|
366 |
+
function wpforo_get_ajax_actions_list(){
|
367 |
+
$nonces = [];
|
368 |
+
global $wp_filter;
|
369 |
+
if( WPF()->current_userid ){
|
370 |
+
foreach ( $wp_filter as $key => $value ){
|
371 |
+
if( strpos( $key, 'wp_ajax_wpf' ) === 0 ) $nonces[] = preg_replace( '#^wp_ajax_#iu', '', $key, 1 );
|
372 |
+
}
|
373 |
+
}else{
|
374 |
+
foreach ( $wp_filter as $key => $value ){
|
375 |
+
if( strpos( $key, 'wp_ajax_nopriv_wpf' ) === 0 ) $nonces[] = preg_replace( '#^wp_ajax_nopriv_#iu', '', $key, 1 );
|
376 |
+
}
|
377 |
+
}
|
378 |
+
|
379 |
+
return array_unique( (array) apply_filters( 'wpforo_get_ajax_actions_list', $nonces ) );
|
380 |
+
}
|
381 |
+
|
382 |
+
function wpforo_generate_ajax_nonces(){
|
383 |
+
$nonces = [];
|
384 |
+
foreach ( wpforo_get_ajax_actions_list() as $action ){
|
385 |
+
$nonces[ $action ] = wp_create_nonce( $action );
|
386 |
+
}
|
387 |
+
|
388 |
+
return $nonces;
|
389 |
+
}
|
390 |
+
|
391 |
+
function wpforo_verify_form( $action = 'wpforo_verify_form', $query_arg = '_wpfnonce', $mode = 'full' ) {
|
392 |
+
wpforo_verify_nonce( $action, $mode, $query_arg );
|
393 |
+
do_action( 'wpforo_verify_form_end' );
|
394 |
+
}
|
395 |
+
|
396 |
+
function wpforo_verify_nonce( $action = 'wpforo_verify_form', $mode = 'ajax', $query_arg = '_wpfnonce' ) {
|
397 |
if( $mode === 'full' ) {
|
398 |
+
if( ! wp_verify_nonce( wpfval( $_REQUEST, $query_arg ), $action ) ) {
|
399 |
wpforo_phrase( 'Sorry, something is wrong with your data.' );
|
400 |
exit();
|
401 |
}
|
402 |
+
}elseif( $mode === 'ajax' ){
|
403 |
+
check_ajax_referer( $action, $query_arg );
|
404 |
+
}
|
405 |
+
if( in_array( $mode, [ 'ajax', 'full', 'ref' ] ) ) {
|
406 |
if( ! wpfval( $_SERVER, 'HTTP_REFERER' ) ) {
|
407 |
exit( 'Error 2252 | Please contact the forum administrator.' );
|
408 |
}
|
410 |
exit( 'Error 2253 | Please contact the forum administrator.' );
|
411 |
}
|
412 |
}
|
413 |
+
do_action( 'wpforo_verify_nonce_end' );
|
414 |
}
|
415 |
|
416 |
/**
|
1627 |
if( $value === false ) {
|
1628 |
$value = $default;
|
1629 |
} else {
|
1630 |
+
if( preg_match( '#_(?:general|profiles|rating|tools_misc)$#iu', $option ) ) {
|
1631 |
+
foreach( [ 'title_groupids', 'title_secondary_groupids', 'rating_title_ug', 'rating_badge_ug', 'admin_bar', 'admin_note_groups', 'admin_note_pages' ] as $k ) {
|
1632 |
if( wpfkey( $default, $k ) ) $default[ $k ] = [];
|
1633 |
}
|
1634 |
}
|
includes/hooks.php
CHANGED
@@ -543,6 +543,7 @@ add_action( 'wp_head', 'wpforo_add_meta_tags', 1 );
|
|
543 |
|
544 |
add_action( 'wp_ajax_wpforo_answer_ajax', 'wpf_answer' );
|
545 |
function wpf_answer() {
|
|
|
546 |
$response = [ 'notice' => WPF()->notice->get_notices() ];
|
547 |
if( ! is_user_logged_in() ) {
|
548 |
WPF()->notice->add( wpforo_get_login_or_register_notice_text() );
|
@@ -588,6 +589,7 @@ function wpf_answer() {
|
|
588 |
add_action( 'wp_ajax_wpforo_quote_ajax', 'wpf_quote' );
|
589 |
add_action( 'wp_ajax_nopriv_wpforo_quote_ajax', 'wpf_quote' );
|
590 |
function wpf_quote() {
|
|
|
591 |
if( ! $current_topicid = wpforo_bigintval( WPF()->current_object['topicid'] ) ) {
|
592 |
exit();
|
593 |
}
|
@@ -603,6 +605,7 @@ function wpf_quote() {
|
|
603 |
|
604 |
add_action( 'wp_ajax_wpforo_report_ajax', 'wpf_report' );
|
605 |
function wpf_report() {
|
|
|
606 |
if( ! is_user_logged_in() ) {
|
607 |
WPF()->notice->add( wpforo_get_login_or_register_notice_text() );
|
608 |
wp_send_json_error( WPF()->notice->get_notices() );
|
@@ -654,6 +657,7 @@ function wpf_report() {
|
|
654 |
add_action( 'wp_ajax_wpforo_sticky_ajax', 'wpf_sticky' );
|
655 |
add_action( 'wp_ajax_nopriv_wpforo_sticky_ajax', 'wpf_sticky' );
|
656 |
function wpf_sticky() {
|
|
|
657 |
WPF()->notice->add( 'wrong data', 'error' );
|
658 |
$response = [ 'notice' => WPF()->notice->get_notices() ];
|
659 |
if( ! $topicid = wpforo_bigintval( wpfval( $_POST, 'topicid' ) ) ) {
|
@@ -690,12 +694,19 @@ function wpf_sticky() {
|
|
690 |
|
691 |
add_action( 'wp_ajax_wpforo_private_ajax', 'wpf_private' );
|
692 |
function wpf_private() {
|
|
|
693 |
if( ! WPF()->current_userid ) {
|
694 |
wp_send_json_error();
|
695 |
}
|
696 |
if( ! ( $topicid = wpforo_bigintval( wpfval( $_POST, 'topicid' ) ) ) ) {
|
697 |
wp_send_json_error();
|
698 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
699 |
$status = wpfval( $_POST, 'status' );
|
700 |
if( $status === 'private' ) {
|
701 |
WPF()->topic->wprivate( $topicid, 1 );
|
@@ -710,11 +721,15 @@ function wpf_private() {
|
|
710 |
add_action( 'wp_ajax_wpforo_solved_ajax', 'wpf_solved' );
|
711 |
add_action( 'wp_ajax_nopriv_wpforo_solved_ajax', 'wpf_solved' );
|
712 |
function wpf_solved() {
|
|
|
|
|
|
|
|
|
713 |
if( ! $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) {
|
714 |
wp_send_json_error();
|
715 |
}
|
716 |
if( $post = WPF()->post->get_post( $postid ) ) {
|
717 |
-
if( WPF()->perm->forum_can( 'sv', $post['forumid'] ) || WPF()->perm->forum_can( 'osv', $post['forumid'] ) ) {
|
718 |
$solved = ( wpfval( $_POST, 'status' ) === 'solved' ? 1 : 0 );
|
719 |
$sql = "UPDATE " . WPF()->tables->topics . " SET `solved` = %d WHERE `topicid` = %d";
|
720 |
WPF()->db->query( WPF()->db->prepare( $sql, $solved, $post['topicid'] ) );
|
@@ -727,6 +742,7 @@ function wpf_solved() {
|
|
727 |
|
728 |
add_action( 'wp_ajax_wpforo_approve_ajax', 'wpf_approve' );
|
729 |
function wpf_approve() {
|
|
|
730 |
if( ! WPF()->current_userid ) {
|
731 |
WPF()->notice->add( wpforo_get_login_or_register_notice_text() );
|
732 |
wp_send_json_error();
|
@@ -747,6 +763,7 @@ function wpf_approve() {
|
|
747 |
|
748 |
add_action( 'wp_ajax_wpforo_close_ajax', 'wpf_close' );
|
749 |
function wpf_close() {
|
|
|
750 |
if( ! WPF()->current_userid ) {
|
751 |
wp_send_json_error();
|
752 |
}
|
@@ -772,6 +789,7 @@ function wpf_close() {
|
|
772 |
add_action( 'wp_ajax_wpforo_post_edit', 'wpforo_post_edit' );
|
773 |
add_action( 'wp_ajax_nopriv_wpforo_post_edit', 'wpforo_post_edit' );
|
774 |
function wpforo_post_edit() {
|
|
|
775 |
$r = [ 'html' => '' ];
|
776 |
if( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) {
|
777 |
if( $post = WPF()->post->get_post( $postid, false ) ) {
|
@@ -803,6 +821,7 @@ function wpforo_post_edit() {
|
|
803 |
|
804 |
add_action( 'wp_ajax_wpforo_delete_ajax', 'wpf_delete' );
|
805 |
function wpf_delete() {
|
|
|
806 |
$resp = [];
|
807 |
$status = (string) wpfval( $_POST, 'status' );
|
808 |
$postid = (int) wpfval( $_POST, 'postid' );
|
@@ -837,6 +856,7 @@ function wpf_delete() {
|
|
837 |
add_action( 'wp_ajax_wpforo_layout4_loadmore', 'wpfl4_loadmore' );
|
838 |
add_action( 'wp_ajax_nopriv_wpforo_layout4_loadmore', 'wpfl4_loadmore' );
|
839 |
function wpfl4_loadmore() {
|
|
|
840 |
$success = false;
|
841 |
WPF()->notice->add( 'wrong data', 'error' );
|
842 |
$response = [ 'no_more' => 0, 'output_html' => '', 'notice' => WPF()->notice->get_notices() ];
|
@@ -908,6 +928,7 @@ function wpfl4_loadmore() {
|
|
908 |
add_action( 'wp_ajax_wpforo_topic_portable_form', 'wpforo_topic_portable_form' );
|
909 |
add_action( 'wp_ajax_nopriv_wpforo_topic_portable_form', 'wpforo_topic_portable_form' );
|
910 |
function wpforo_topic_portable_form() {
|
|
|
911 |
$html = '';
|
912 |
if( $forumid = wpfval( $_POST, 'forumid' ) ) {
|
913 |
WPF()->form->current['varname'] = 'thread';
|
@@ -925,6 +946,7 @@ function wpforo_topic_portable_form() {
|
|
925 |
add_action( 'wp_ajax_wpforo_qa_comment_loadrest', 'wpforo_qa_comment_loadrest' );
|
926 |
add_action( 'wp_ajax_nopriv_wpforo_qa_comment_loadrest', 'wpforo_qa_comment_loadrest' );
|
927 |
function wpforo_qa_comment_loadrest() {
|
|
|
928 |
WPF()->notice->add( 'wrong data', 'error' );
|
929 |
$response = [ 'output_html' => '', 'notice' => WPF()->notice->get_notices() ];
|
930 |
if( $parentid = wpfval( $_POST, 'parentid' ) ) {
|
@@ -957,6 +979,7 @@ function wpforo_qa_comment_loadrest() {
|
|
957 |
add_action( 'wp_ajax_wpforo_post_url_fixer', 'wpforo_post_url_fixer' );
|
958 |
add_action( 'wp_ajax_nopriv_wpforo_post_url_fixer', 'wpforo_post_url_fixer' );
|
959 |
function wpforo_post_url_fixer() {
|
|
|
960 |
if( ( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) && ( $referer = wpfval( $_POST, 'referer' ) ) ) {
|
961 |
if( is_wpforo_url( $referer ) ) {
|
962 |
$diff = 100;
|
@@ -1120,6 +1143,7 @@ function wpforo_frontend_register_scripts() {
|
|
1120 |
], WPFORO_VERSION, true );
|
1121 |
wp_localize_script( 'wpforo-frontend-js', 'wpforo', [
|
1122 |
'ajax_url' => wpforo_get_ajax_url(),
|
|
|
1123 |
'settings_slugs' => WPF()->settings->slugs,
|
1124 |
'editor_settings' => WPF()->tpl->editor_buttons( 'post' ),
|
1125 |
'revision_options' => WPF()->settings->posting,
|
@@ -2150,7 +2174,7 @@ function wpforo_admin_bar_menu( $wp_admin_bar ){
|
|
2150 |
'title' => __( 'Visit Forum', 'wpforo' ),
|
2151 |
'href' => wpforo_home_url(),
|
2152 |
'parent' => 'wpf-community',
|
2153 |
-
'meta' => [ 'target' => '_blank' ]
|
2154 |
];
|
2155 |
$wp_admin_bar->add_node( $args );
|
2156 |
|
@@ -2362,7 +2386,7 @@ function wpforo_multiboard_admin_bar_menu( $wp_admin_bar ){
|
|
2362 |
'title' => '🔗 ' . __( 'Visit Forum', 'wpforo' ),
|
2363 |
'href' => wpforo_home_url(),
|
2364 |
'parent' => $menuid,
|
2365 |
-
'meta' => [ 'target' => '_blank' ]
|
2366 |
];
|
2367 |
$wp_admin_bar->add_node( $args );
|
2368 |
|
@@ -2665,7 +2689,7 @@ add_action( 'wpforo_after_init', function() {
|
|
2665 |
add_action( 'admin_enqueue_scripts', 'wpforo_cat_cover_js' );
|
2666 |
|
2667 |
function wpforo_cat_cover_js() {
|
2668 |
-
if ( wpfval($_GET, 'page') === '
|
2669 |
wp_enqueue_media();
|
2670 |
}
|
2671 |
}
|
543 |
|
544 |
add_action( 'wp_ajax_wpforo_answer_ajax', 'wpf_answer' );
|
545 |
function wpf_answer() {
|
546 |
+
wpforo_verify_nonce( 'wpforo_answer_ajax' );
|
547 |
$response = [ 'notice' => WPF()->notice->get_notices() ];
|
548 |
if( ! is_user_logged_in() ) {
|
549 |
WPF()->notice->add( wpforo_get_login_or_register_notice_text() );
|
589 |
add_action( 'wp_ajax_wpforo_quote_ajax', 'wpf_quote' );
|
590 |
add_action( 'wp_ajax_nopriv_wpforo_quote_ajax', 'wpf_quote' );
|
591 |
function wpf_quote() {
|
592 |
+
wpforo_verify_nonce( 'wpforo_quote_ajax' );
|
593 |
if( ! $current_topicid = wpforo_bigintval( WPF()->current_object['topicid'] ) ) {
|
594 |
exit();
|
595 |
}
|
605 |
|
606 |
add_action( 'wp_ajax_wpforo_report_ajax', 'wpf_report' );
|
607 |
function wpf_report() {
|
608 |
+
wpforo_verify_nonce( 'wpforo_report_ajax' );
|
609 |
if( ! is_user_logged_in() ) {
|
610 |
WPF()->notice->add( wpforo_get_login_or_register_notice_text() );
|
611 |
wp_send_json_error( WPF()->notice->get_notices() );
|
657 |
add_action( 'wp_ajax_wpforo_sticky_ajax', 'wpf_sticky' );
|
658 |
add_action( 'wp_ajax_nopriv_wpforo_sticky_ajax', 'wpf_sticky' );
|
659 |
function wpf_sticky() {
|
660 |
+
wpforo_verify_nonce( 'wpforo_sticky_ajax' );
|
661 |
WPF()->notice->add( 'wrong data', 'error' );
|
662 |
$response = [ 'notice' => WPF()->notice->get_notices() ];
|
663 |
if( ! $topicid = wpforo_bigintval( wpfval( $_POST, 'topicid' ) ) ) {
|
694 |
|
695 |
add_action( 'wp_ajax_wpforo_private_ajax', 'wpf_private' );
|
696 |
function wpf_private() {
|
697 |
+
wpforo_verify_nonce( 'wpforo_private_ajax' );
|
698 |
if( ! WPF()->current_userid ) {
|
699 |
wp_send_json_error();
|
700 |
}
|
701 |
if( ! ( $topicid = wpforo_bigintval( wpfval( $_POST, 'topicid' ) ) ) ) {
|
702 |
wp_send_json_error();
|
703 |
}
|
704 |
+
if( ! ( $topic = WPF()->topic->get_topic( $topicid ) ) ){
|
705 |
+
wp_send_json_error();
|
706 |
+
}
|
707 |
+
if( ! ( WPF()->perm->forum_can( 'p', $topic['forumid'] ) || ( WPF()->current_userid == $topic['userid'] && WPF()->perm->forum_can( 'op', $topic['forumid'] ) ) ) ){
|
708 |
+
wp_send_json_error();
|
709 |
+
}
|
710 |
$status = wpfval( $_POST, 'status' );
|
711 |
if( $status === 'private' ) {
|
712 |
WPF()->topic->wprivate( $topicid, 1 );
|
721 |
add_action( 'wp_ajax_wpforo_solved_ajax', 'wpf_solved' );
|
722 |
add_action( 'wp_ajax_nopriv_wpforo_solved_ajax', 'wpf_solved' );
|
723 |
function wpf_solved() {
|
724 |
+
wpforo_verify_nonce( 'wpforo_solved_ajax' );
|
725 |
+
if( ! WPF()->current_userid ){
|
726 |
+
wp_send_json_error();
|
727 |
+
}
|
728 |
if( ! $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) {
|
729 |
wp_send_json_error();
|
730 |
}
|
731 |
if( $post = WPF()->post->get_post( $postid ) ) {
|
732 |
+
if( WPF()->perm->forum_can( 'sv', $post['forumid'] ) || ( WPF()->current_userid == $post['userid'] && WPF()->perm->forum_can( 'osv', $post['forumid'] ) ) ) {
|
733 |
$solved = ( wpfval( $_POST, 'status' ) === 'solved' ? 1 : 0 );
|
734 |
$sql = "UPDATE " . WPF()->tables->topics . " SET `solved` = %d WHERE `topicid` = %d";
|
735 |
WPF()->db->query( WPF()->db->prepare( $sql, $solved, $post['topicid'] ) );
|
742 |
|
743 |
add_action( 'wp_ajax_wpforo_approve_ajax', 'wpf_approve' );
|
744 |
function wpf_approve() {
|
745 |
+
wpforo_verify_nonce( 'wpforo_approve_ajax' );
|
746 |
if( ! WPF()->current_userid ) {
|
747 |
WPF()->notice->add( wpforo_get_login_or_register_notice_text() );
|
748 |
wp_send_json_error();
|
763 |
|
764 |
add_action( 'wp_ajax_wpforo_close_ajax', 'wpf_close' );
|
765 |
function wpf_close() {
|
766 |
+
wpforo_verify_nonce( 'wpforo_close_ajax' );
|
767 |
if( ! WPF()->current_userid ) {
|
768 |
wp_send_json_error();
|
769 |
}
|
789 |
add_action( 'wp_ajax_wpforo_post_edit', 'wpforo_post_edit' );
|
790 |
add_action( 'wp_ajax_nopriv_wpforo_post_edit', 'wpforo_post_edit' );
|
791 |
function wpforo_post_edit() {
|
792 |
+
wpforo_verify_nonce( 'wpforo_post_edit' );
|
793 |
$r = [ 'html' => '' ];
|
794 |
if( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) {
|
795 |
if( $post = WPF()->post->get_post( $postid, false ) ) {
|
821 |
|
822 |
add_action( 'wp_ajax_wpforo_delete_ajax', 'wpf_delete' );
|
823 |
function wpf_delete() {
|
824 |
+
wpforo_verify_nonce( 'wpforo_delete_ajax' );
|
825 |
$resp = [];
|
826 |
$status = (string) wpfval( $_POST, 'status' );
|
827 |
$postid = (int) wpfval( $_POST, 'postid' );
|
856 |
add_action( 'wp_ajax_wpforo_layout4_loadmore', 'wpfl4_loadmore' );
|
857 |
add_action( 'wp_ajax_nopriv_wpforo_layout4_loadmore', 'wpfl4_loadmore' );
|
858 |
function wpfl4_loadmore() {
|
859 |
+
wpforo_verify_nonce( 'wpforo_layout4_loadmore' );
|
860 |
$success = false;
|
861 |
WPF()->notice->add( 'wrong data', 'error' );
|
862 |
$response = [ 'no_more' => 0, 'output_html' => '', 'notice' => WPF()->notice->get_notices() ];
|
928 |
add_action( 'wp_ajax_wpforo_topic_portable_form', 'wpforo_topic_portable_form' );
|
929 |
add_action( 'wp_ajax_nopriv_wpforo_topic_portable_form', 'wpforo_topic_portable_form' );
|
930 |
function wpforo_topic_portable_form() {
|
931 |
+
wpforo_verify_nonce( 'wpforo_topic_portable_form' );
|
932 |
$html = '';
|
933 |
if( $forumid = wpfval( $_POST, 'forumid' ) ) {
|
934 |
WPF()->form->current['varname'] = 'thread';
|
946 |
add_action( 'wp_ajax_wpforo_qa_comment_loadrest', 'wpforo_qa_comment_loadrest' );
|
947 |
add_action( 'wp_ajax_nopriv_wpforo_qa_comment_loadrest', 'wpforo_qa_comment_loadrest' );
|
948 |
function wpforo_qa_comment_loadrest() {
|
949 |
+
wpforo_verify_nonce( 'wpforo_qa_comment_loadrest' );
|
950 |
WPF()->notice->add( 'wrong data', 'error' );
|
951 |
$response = [ 'output_html' => '', 'notice' => WPF()->notice->get_notices() ];
|
952 |
if( $parentid = wpfval( $_POST, 'parentid' ) ) {
|
979 |
add_action( 'wp_ajax_wpforo_post_url_fixer', 'wpforo_post_url_fixer' );
|
980 |
add_action( 'wp_ajax_nopriv_wpforo_post_url_fixer', 'wpforo_post_url_fixer' );
|
981 |
function wpforo_post_url_fixer() {
|
982 |
+
wpforo_verify_nonce( 'wpforo_post_url_fixer' );
|
983 |
if( ( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) && ( $referer = wpfval( $_POST, 'referer' ) ) ) {
|
984 |
if( is_wpforo_url( $referer ) ) {
|
985 |
$diff = 100;
|
1143 |
], WPFORO_VERSION, true );
|
1144 |
wp_localize_script( 'wpforo-frontend-js', 'wpforo', [
|
1145 |
'ajax_url' => wpforo_get_ajax_url(),
|
1146 |
+
'nonces' => wpforo_generate_ajax_nonces(),
|
1147 |
'settings_slugs' => WPF()->settings->slugs,
|
1148 |
'editor_settings' => WPF()->tpl->editor_buttons( 'post' ),
|
1149 |
'revision_options' => WPF()->settings->posting,
|
2174 |
'title' => __( 'Visit Forum', 'wpforo' ),
|
2175 |
'href' => wpforo_home_url(),
|
2176 |
'parent' => 'wpf-community',
|
2177 |
+
// 'meta' => [ 'target' => '_blank' ]
|
2178 |
];
|
2179 |
$wp_admin_bar->add_node( $args );
|
2180 |
|
2386 |
'title' => '🔗 ' . __( 'Visit Forum', 'wpforo' ),
|
2387 |
'href' => wpforo_home_url(),
|
2388 |
'parent' => $menuid,
|
2389 |
+
// 'meta' => [ 'target' => '_blank' ]
|
2390 |
];
|
2391 |
$wp_admin_bar->add_node( $args );
|
2392 |
|
2689 |
add_action( 'admin_enqueue_scripts', 'wpforo_cat_cover_js' );
|
2690 |
|
2691 |
function wpforo_cat_cover_js() {
|
2692 |
+
if ( wpfval($_GET, 'page') === wpforo_prefix_slug( 'forums' ) && !did_action( 'wp_enqueue_media' ) ) {
|
2693 |
wp_enqueue_media();
|
2694 |
}
|
2695 |
}
|
includes/installation.php
CHANGED
@@ -929,201 +929,218 @@ function wpforo_import_default_accesses() {
|
|
929 |
|
930 |
function wpforo_import_default_usergroups() {
|
931 |
$cans_admin = [
|
932 |
-
'mf' =>
|
933 |
-
'ms' =>
|
934 |
-
'mt' =>
|
935 |
-
'mp' =>
|
936 |
-
'mth' =>
|
937 |
-
'vm' =>
|
938 |
-
'aum' =>
|
939 |
-
'em' =>
|
940 |
-
'vmg' =>
|
941 |
-
'aup' =>
|
942 |
-
'vmem' =>
|
943 |
-
'view_stat' =>
|
944 |
-
'vprf' =>
|
945 |
-
'vpra' =>
|
946 |
-
'vprs' =>
|
947 |
-
'bm' =>
|
948 |
-
'dm' =>
|
949 |
-
'
|
950 |
-
'
|
951 |
-
'
|
952 |
-
'
|
953 |
-
'
|
954 |
-
'
|
955 |
-
'
|
956 |
-
'
|
957 |
-
'
|
958 |
-
'
|
959 |
-
'
|
960 |
-
'
|
961 |
-
'
|
962 |
-
'
|
963 |
-
'
|
964 |
-
'
|
|
|
965 |
'caa' => 1,
|
966 |
'vt_add_topic' => 1,
|
967 |
];
|
968 |
$cans_moder = [
|
969 |
-
'mf' =>
|
970 |
-
'ms' =>
|
971 |
-
'mt' =>
|
972 |
-
'mp' =>
|
973 |
-
'mth' =>
|
974 |
-
'vm' =>
|
975 |
-
'aum' =>
|
976 |
-
'em' =>
|
977 |
-
'vmg' =>
|
978 |
-
'aup' =>
|
979 |
-
'vmem' =>
|
980 |
-
'view_stat' =>
|
981 |
-
'vprf' =>
|
982 |
-
'vpra' =>
|
983 |
-
'vprs' =>
|
984 |
-
'bm' =>
|
985 |
-
'dm' =>
|
986 |
-
'
|
987 |
-
'
|
988 |
-
'
|
989 |
-
'
|
990 |
-
'
|
991 |
-
'
|
992 |
-
'
|
993 |
-
'
|
994 |
-
'
|
995 |
-
'
|
996 |
-
'
|
997 |
-
'
|
998 |
-
'
|
999 |
-
'
|
1000 |
-
'
|
1001 |
-
'
|
|
|
1002 |
'caa' => 1,
|
1003 |
'vt_add_topic' => 1,
|
1004 |
];
|
1005 |
$cans_reg = [
|
1006 |
-
'mf' =>
|
1007 |
-
'ms' =>
|
1008 |
-
'mt' =>
|
1009 |
-
'mp' =>
|
1010 |
-
'mth' =>
|
1011 |
-
'vm' =>
|
1012 |
-
'aum' =>
|
1013 |
-
'em' =>
|
1014 |
-
'vmg' =>
|
1015 |
-
'aup' =>
|
1016 |
-
'vmem' =>
|
1017 |
-
'view_stat' =>
|
1018 |
-
'vprf' =>
|
1019 |
-
'vpra' =>
|
1020 |
-
'vprs' =>
|
1021 |
-
'bm' =>
|
1022 |
-
'dm' =>
|
1023 |
-
'
|
1024 |
-
'
|
1025 |
-
'
|
1026 |
-
'
|
1027 |
-
'
|
1028 |
-
'
|
1029 |
-
'
|
1030 |
-
'
|
1031 |
-
'
|
1032 |
-
'
|
1033 |
-
'
|
1034 |
-
'
|
1035 |
-
'
|
1036 |
-
'
|
1037 |
-
'
|
1038 |
-
'
|
|
|
1039 |
'caa' => 1,
|
1040 |
'vt_add_topic' => 1,
|
1041 |
];
|
1042 |
$cans_guest = [
|
1043 |
-
'mf' =>
|
1044 |
-
'ms' =>
|
1045 |
-
'mt' =>
|
1046 |
-
'mp' =>
|
1047 |
-
'mth' =>
|
1048 |
-
'vm' =>
|
1049 |
-
'aum' =>
|
1050 |
-
'em' =>
|
1051 |
-
'vmg' =>
|
1052 |
-
'aup' =>
|
1053 |
-
'vmem' =>
|
1054 |
-
'view_stat' =>
|
1055 |
-
'vprf' =>
|
1056 |
-
'vpra' =>
|
1057 |
-
'vprs' =>
|
1058 |
-
'bm' =>
|
1059 |
-
'dm' =>
|
1060 |
-
'
|
1061 |
-
'
|
1062 |
-
'
|
1063 |
-
'
|
1064 |
-
'
|
1065 |
-
'
|
1066 |
-
'
|
1067 |
-
'
|
1068 |
-
'
|
1069 |
-
'
|
1070 |
-
'
|
1071 |
-
'
|
1072 |
-
'
|
1073 |
-
'
|
1074 |
-
'
|
1075 |
-
'
|
|
|
1076 |
'caa' => 1,
|
1077 |
'vt_add_topic' => 0,
|
1078 |
];
|
1079 |
$cans_customer = [
|
1080 |
-
'mf' =>
|
1081 |
-
'ms' =>
|
1082 |
-
'mt' =>
|
1083 |
-
'mp' =>
|
1084 |
-
'mth' =>
|
1085 |
-
'vm' =>
|
1086 |
-
'aum' =>
|
1087 |
-
'em' =>
|
1088 |
-
'vmg' =>
|
1089 |
-
'aup' =>
|
1090 |
-
'vmem' =>
|
1091 |
-
'view_stat' =>
|
1092 |
-
'vprf' =>
|
1093 |
-
'vpra' =>
|
1094 |
-
'vprs' =>
|
1095 |
-
'bm' =>
|
1096 |
-
'dm' =>
|
1097 |
-
'
|
1098 |
-
'
|
1099 |
-
'
|
1100 |
-
'
|
1101 |
-
'
|
1102 |
-
'
|
1103 |
-
'
|
1104 |
-
'
|
1105 |
-
'
|
1106 |
-
'
|
1107 |
-
'
|
1108 |
-
'
|
1109 |
-
'
|
1110 |
-
'
|
1111 |
-
'
|
1112 |
-
'
|
|
|
1113 |
'caa' => 1,
|
1114 |
'vt_add_topic' => 1,
|
1115 |
];
|
1116 |
|
1117 |
//Add new Cans in this array to add those in custom Usergroup created by forum admin
|
1118 |
-
$cans_defaults = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1119 |
|
1120 |
$sql = "SELECT * FROM `" . WPF()->tables->usergroups . "`";
|
1121 |
if( ! $usergroups = WPF()->db->get_results( $sql, ARRAY_A ) ) {
|
1122 |
-
WPF()->usergroup->add( 'Admin',
|
1123 |
-
WPF()->usergroup->add( 'Moderator',
|
1124 |
-
WPF()->usergroup->add( 'Registered', $cans_reg,
|
1125 |
-
WPF()->usergroup->add( 'Guest',
|
1126 |
-
WPF()->usergroup->add( 'Customer',
|
1127 |
} else {
|
1128 |
foreach( $usergroups as $usergroup ) {
|
1129 |
$current = unserialize( $usergroup['cans'] );
|
@@ -1248,6 +1265,11 @@ function wpforo_update_db() {
|
|
1248 |
}
|
1249 |
}
|
1250 |
}
|
|
|
|
|
|
|
|
|
|
|
1251 |
}
|
1252 |
wpforo_update_option( 'version_db', WPFORO_VERSION );
|
1253 |
}
|
@@ -1365,6 +1387,11 @@ function wpforo_database_check() {
|
|
1365 |
}
|
1366 |
}
|
1367 |
|
|
|
|
|
|
|
|
|
|
|
1368 |
return $_table_diffs;
|
1369 |
}
|
1370 |
|
@@ -1436,6 +1463,35 @@ function wpforo_database_fixer( $problems ) {
|
|
1436 |
}
|
1437 |
}
|
1438 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1439 |
}
|
1440 |
|
1441 |
return $SQL;
|
929 |
|
930 |
function wpforo_import_default_usergroups() {
|
931 |
$cans_admin = [
|
932 |
+
'mf' => 1,
|
933 |
+
'ms' => 1,
|
934 |
+
'mt' => 1,
|
935 |
+
'mp' => 1,
|
936 |
+
'mth' => 1,
|
937 |
+
'vm' => 1,
|
938 |
+
'aum' => 1,
|
939 |
+
'em' => 1,
|
940 |
+
'vmg' => 1,
|
941 |
+
'aup' => 1,
|
942 |
+
'vmem' => 1,
|
943 |
+
'view_stat' => 1,
|
944 |
+
'vprf' => 1,
|
945 |
+
'vpra' => 1,
|
946 |
+
'vprs' => 1,
|
947 |
+
'bm' => 1,
|
948 |
+
'dm' => 1,
|
949 |
+
'upc' => 1,
|
950 |
+
'upa' => 1,
|
951 |
+
'ups' => 1,
|
952 |
+
'va' => 1,
|
953 |
+
'vmu' => 1,
|
954 |
+
'vmm' => 1,
|
955 |
+
'vmt' => 1,
|
956 |
+
'vmct' => 1,
|
957 |
+
'vmr' => 1,
|
958 |
+
'vmw' => 1,
|
959 |
+
'vmsn' => 1,
|
960 |
+
'vmrd' => 1,
|
961 |
+
'vml' => 1,
|
962 |
+
'vmo' => 1,
|
963 |
+
'vms' => 1,
|
964 |
+
'vmam' => 1,
|
965 |
+
'vwpm' => 1,
|
966 |
'caa' => 1,
|
967 |
'vt_add_topic' => 1,
|
968 |
];
|
969 |
$cans_moder = [
|
970 |
+
'mf' => 0,
|
971 |
+
'ms' => 0,
|
972 |
+
'mt' => 0,
|
973 |
+
'mp' => 0,
|
974 |
+
'mth' => 0,
|
975 |
+
'vm' => 0,
|
976 |
+
'aum' => 1,
|
977 |
+
'em' => 0,
|
978 |
+
'vmg' => 0,
|
979 |
+
'aup' => 1,
|
980 |
+
'vmem' => 1,
|
981 |
+
'view_stat' => 1,
|
982 |
+
'vprf' => 1,
|
983 |
+
'vpra' => 1,
|
984 |
+
'vprs' => 1,
|
985 |
+
'bm' => 1,
|
986 |
+
'dm' => 1,
|
987 |
+
'upc' => 1,
|
988 |
+
'upa' => 1,
|
989 |
+
'ups' => 1,
|
990 |
+
'va' => 1,
|
991 |
+
'vmu' => 0,
|
992 |
+
'vmm' => 1,
|
993 |
+
'vmt' => 1,
|
994 |
+
'vmct' => 1,
|
995 |
+
'vmr' => 1,
|
996 |
+
'vmw' => 1,
|
997 |
+
'vmsn' => 1,
|
998 |
+
'vmrd' => 1,
|
999 |
+
'vml' => 1,
|
1000 |
+
'vmo' => 1,
|
1001 |
+
'vms' => 1,
|
1002 |
+
'vmam' => 1,
|
1003 |
+
'vwpm' => 1,
|
1004 |
'caa' => 1,
|
1005 |
'vt_add_topic' => 1,
|
1006 |
];
|
1007 |
$cans_reg = [
|
1008 |
+
'mf' => 0,
|
1009 |
+
'ms' => 0,
|
1010 |
+
'mt' => 0,
|
1011 |
+
'mp' => 0,
|
1012 |
+
'mth' => 0,
|
1013 |
+
'vm' => 0,
|
1014 |
+
'aum' => 0,
|
1015 |
+
'em' => 0,
|
1016 |
+
'vmg' => 0,
|
1017 |
+
'aup' => 1,
|
1018 |
+
'vmem' => 1,
|
1019 |
+
'view_stat' => 1,
|
1020 |
+
'vprf' => 1,
|
1021 |
+
'vpra' => 1,
|
1022 |
+
'vprs' => 0,
|
1023 |
+
'bm' => 0,
|
1024 |
+
'dm' => 0,
|
1025 |
+
'upc' => 1,
|
1026 |
+
'upa' => 1,
|
1027 |
+
'ups' => 1,
|
1028 |
+
'va' => 1,
|
1029 |
+
'vmu' => 0,
|
1030 |
+
'vmm' => 0,
|
1031 |
+
'vmt' => 1,
|
1032 |
+
'vmct' => 1,
|
1033 |
+
'vmr' => 1,
|
1034 |
+
'vmw' => 1,
|
1035 |
+
'vmsn' => 1,
|
1036 |
+
'vmrd' => 1,
|
1037 |
+
'vml' => 1,
|
1038 |
+
'vmo' => 1,
|
1039 |
+
'vms' => 1,
|
1040 |
+
'vmam' => 1,
|
1041 |
+
'vwpm' => 1,
|
1042 |
'caa' => 1,
|
1043 |
'vt_add_topic' => 1,
|
1044 |
];
|
1045 |
$cans_guest = [
|
1046 |
+
'mf' => 0,
|
1047 |
+
'ms' => 0,
|
1048 |
+
'mt' => 0,
|
1049 |
+
'mp' => 0,
|
1050 |
+
'mth' => 0,
|
1051 |
+
'vm' => 0,
|
1052 |
+
'aum' => 0,
|
1053 |
+
'em' => 0,
|
1054 |
+
'vmg' => 0,
|
1055 |
+
'aup' => 0,
|
1056 |
+
'vmem' => 1,
|
1057 |
+
'view_stat' => 1,
|
1058 |
+
'vprf' => 1,
|
1059 |
+
'vpra' => 1,
|
1060 |
+
'vprs' => 0,
|
1061 |
+
'bm' => 0,
|
1062 |
+
'dm' => 0,
|
1063 |
+
'upc' => 0,
|
1064 |
+
'upa' => 0,
|
1065 |
+
'ups' => 0,
|
1066 |
+
'va' => 1,
|
1067 |
+
'vmu' => 0,
|
1068 |
+
'vmm' => 0,
|
1069 |
+
'vmt' => 1,
|
1070 |
+
'vmct' => 1,
|
1071 |
+
'vmr' => 1,
|
1072 |
+
'vmw' => 0,
|
1073 |
+
'vmsn' => 1,
|
1074 |
+
'vmrd' => 1,
|
1075 |
+
'vml' => 1,
|
1076 |
+
'vmo' => 1,
|
1077 |
+
'vms' => 1,
|
1078 |
+
'vmam' => 1,
|
1079 |
+
'vwpm' => 0,
|
1080 |
'caa' => 1,
|
1081 |
'vt_add_topic' => 0,
|
1082 |
];
|
1083 |
$cans_customer = [
|
1084 |
+
'mf' => 0,
|
1085 |
+
'ms' => 0,
|
1086 |
+
'mt' => 0,
|
1087 |
+
'mp' => 0,
|
1088 |
+
'mth' => 0,
|
1089 |
+
'vm' => 0,
|
1090 |
+
'aum' => 0,
|
1091 |
+
'em' => 0,
|
1092 |
+
'vmg' => 0,
|
1093 |
+
'aup' => 0,
|
1094 |
+
'vmem' => 1,
|
1095 |
+
'view_stat' => 1,
|
1096 |
+
'vprf' => 1,
|
1097 |
+
'vpra' => 1,
|
1098 |
+
'vprs' => 0,
|
1099 |
+
'bm' => 0,
|
1100 |
+
'dm' => 0,
|
1101 |
+
'upc' => 1,
|
1102 |
+
'upa' => 1,
|
1103 |
+
'ups' => 1,
|
1104 |
+
'va' => 1,
|
1105 |
+
'vmu' => 0,
|
1106 |
+
'vmm' => 0,
|
1107 |
+
'vmt' => 1,
|
1108 |
+
'vmct' => 1,
|
1109 |
+
'vmr' => 1,
|
1110 |
+
'vmw' => 1,
|
1111 |
+
'vmsn' => 1,
|
1112 |
+
'vmrd' => 1,
|
1113 |
+
'vml' => 1,
|
1114 |
+
'vmo' => 1,
|
1115 |
+
'vms' => 1,
|
1116 |
+
'vmam' => 1,
|
1117 |
+
'vwpm' => 1,
|
1118 |
'caa' => 1,
|
1119 |
'vt_add_topic' => 1,
|
1120 |
];
|
1121 |
|
1122 |
//Add new Cans in this array to add those in custom Usergroup created by forum admin
|
1123 |
+
$cans_defaults = [
|
1124 |
+
'mf' => 0,
|
1125 |
+
'ms' => 0,
|
1126 |
+
'mt' => 0,
|
1127 |
+
'mp' => 0,
|
1128 |
+
'mth' => 0,
|
1129 |
+
'vmem' => 1,
|
1130 |
+
'view_stat' => 1,
|
1131 |
+
'vprf' => 1,
|
1132 |
+
'caa' => 1,
|
1133 |
+
'vt_add_topic' => 1,
|
1134 |
+
'upc' => 1,
|
1135 |
+
];
|
1136 |
|
1137 |
$sql = "SELECT * FROM `" . WPF()->tables->usergroups . "`";
|
1138 |
if( ! $usergroups = WPF()->db->get_results( $sql, ARRAY_A ) ) {
|
1139 |
+
WPF()->usergroup->add( 'Admin', $cans_admin, '', 'administrator', 'full', '#FF3333' );
|
1140 |
+
WPF()->usergroup->add( 'Moderator', $cans_moder, '', 'editor', 'moderator', '#0066FF' );
|
1141 |
+
WPF()->usergroup->add( 'Registered', $cans_reg, '', 'subscriber', 'standard', '', 1, 1 );
|
1142 |
+
WPF()->usergroup->add( 'Guest', $cans_guest, '', '', 'read_only', '#222222', 0 );
|
1143 |
+
WPF()->usergroup->add( 'Customer', $cans_customer, '', 'customer', 'standard', '#993366', 1, 1 );
|
1144 |
} else {
|
1145 |
foreach( $usergroups as $usergroup ) {
|
1146 |
$current = unserialize( $usergroup['cans'] );
|
1265 |
}
|
1266 |
}
|
1267 |
}
|
1268 |
+
if( wpfval( $SQL, 'data' ) ) {
|
1269 |
+
foreach( $SQL['data'] as $query ) {
|
1270 |
+
WPF()->db->query( $query );
|
1271 |
+
}
|
1272 |
+
}
|
1273 |
}
|
1274 |
wpforo_update_option( 'version_db', WPFORO_VERSION );
|
1275 |
}
|
1387 |
}
|
1388 |
}
|
1389 |
|
1390 |
+
$first_board = WPF()->db->get_row( "SELECT `boardid` FROM `" . WPF()->tables->boards . "` WHERE `boardid` = 0", ARRAY_A );
|
1391 |
+
if( empty($first_board) ){
|
1392 |
+
$_table_diffs['data']['default_board'] = 'no';
|
1393 |
+
}
|
1394 |
+
|
1395 |
return $_table_diffs;
|
1396 |
}
|
1397 |
|
1463 |
}
|
1464 |
}
|
1465 |
}
|
1466 |
+
if( wpfval( $problems, 'data' ) ) {
|
1467 |
+
if( wpfval($problems, 'data', 'default_board') ){
|
1468 |
+
// Missing default board (ID:0)
|
1469 |
+
$board = [];
|
1470 |
+
$blogname = get_option( 'blogname', '' );
|
1471 |
+
$_general = wpforo_get_option( 'wpforo_general_options', [
|
1472 |
+
'title' => $blogname . ' ' . __( 'Forum', 'wpforo' ),
|
1473 |
+
'description' => $blogname . ' ' . __( 'Discussion Board', 'wpforo' )
|
1474 |
+
], false );
|
1475 |
+
$board['title'] = ( wpfval($_general, 'title') ) ? : 'Forum';
|
1476 |
+
$board['settings']['title'] = ( wpfval($_general, 'title') ) ? : 'Forum';
|
1477 |
+
$board['settings']['desc'] = ( wpfval($_general, 'description') ) ? : 'Discussion Board';
|
1478 |
+
$settings = json_encode($board['settings']);
|
1479 |
+
$slug = basename( trim( wpforo_get_option( 'wpforo_permastruct', 'community', false ), '/' ) );
|
1480 |
+
$board['slug'] = ( $slug ) ? : 'community';
|
1481 |
+
$board['locale'] = wpforo_get_site_default_locale();
|
1482 |
+
$board['pageid'] = wpforo_get_option( 'wpforo_pageid', 0 );
|
1483 |
+
$all_modules = array_map( '__return_true', wpforo_get_modules_info() );
|
1484 |
+
$all_addons = array_map( '__return_true', wpforo_get_addons_info() );
|
1485 |
+
$modules = array_merge( $all_modules, $all_addons );
|
1486 |
+
$board['modules'] = json_encode( array_map( function( $a ) { return (bool) intval( $a ); }, $modules ));
|
1487 |
+
$SQL['data']['pre_board'] = "SET sql_mode='NO_AUTO_VALUE_ON_ZERO';";
|
1488 |
+
$SQL['data']['default_board'] = "INSERT INTO `" . WPF()->tables->boards . "` (`boardid`, `title`, `slug`, `pageid`, `modules`, `locale`, `is_standalone`, `excld_urls`, `status`, `settings`)
|
1489 |
+
VALUES(0, '" . esc_sql($board['title']) . "', '" . esc_sql($board['slug']) . "', " . intval($board['pageid']) . ",
|
1490 |
+
'" . esc_sql($board['modules']) . "',
|
1491 |
+
'" . esc_sql($board['locale']) . "', 0, '[]', 1, '" . esc_sql($settings) . "');";
|
1492 |
+
}
|
1493 |
+
//Other data checking here...
|
1494 |
+
}
|
1495 |
}
|
1496 |
|
1497 |
return $SQL;
|
integrations/functions.php
CHANGED
@@ -133,4 +133,6 @@ include( WPFORO_DIR . '/integrations/legal.php' );
|
|
133 |
////////////////////////////////////////////////////////////////////////////////////////
|
134 |
// Ultimate Member Integration /////////////////////////////////////////////////////////
|
135 |
////////////////////////////////////////////////////////////////////////////////////////
|
136 |
-
|
|
|
|
133 |
////////////////////////////////////////////////////////////////////////////////////////
|
134 |
// Ultimate Member Integration /////////////////////////////////////////////////////////
|
135 |
////////////////////////////////////////////////////////////////////////////////////////
|
136 |
+
if( class_exists( 'UM' ) ){
|
137 |
+
include( WPFORO_DIR . '/integrations/UltimateMember.php' );
|
138 |
+
}
|
languages/wpforo.pot
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
msgid ""
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: Forum - wpForo\n"
|
7 |
-
"POT-Creation-Date: 2022-08-
|
8 |
"PO-Revision-Date: 2016-06-28 21:09+0400\n"
|
9 |
"Last-Translator: \n"
|
10 |
"Language-Team: \n"
|
@@ -123,7 +123,7 @@ msgstr ""
|
|
123 |
msgid "Other"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: admin/includes/deactivation-dialog.php:142 includes/hooks.php:
|
127 |
msgid "Please provide more information"
|
128 |
msgstr ""
|
129 |
|
@@ -148,7 +148,7 @@ msgid "Overview"
|
|
148 |
msgstr ""
|
149 |
|
150 |
#: admin/index.php:54 admin/index.php:201 admin/pages/dashboard.php:25
|
151 |
-
#: admin/tools-tabs/misc.php:67 includes/hooks.php:
|
152 |
#: includes/phrases.php:309 integrations/BuddyPress.php:12
|
153 |
#: integrations/BuddyPress.php:44 integrations/BuddyPress.php:117
|
154 |
#: widgets/Forums.php:20
|
@@ -156,55 +156,55 @@ msgid "Forums"
|
|
156 |
msgstr ""
|
157 |
|
158 |
#: admin/index.php:59 admin/index.php:151 admin/index.php:206
|
159 |
-
#: admin/pages/settings.php:163 includes/hooks.php:
|
160 |
-
#: includes/hooks.php:
|
161 |
msgid "Settings"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: admin/index.php:64 admin/index.php:211 includes/hooks.php:
|
165 |
-
#: includes/hooks.php:
|
166 |
msgid "Moderation"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: admin/index.php:69 admin/index.php:216 includes/hooks.php:
|
170 |
-
#: includes/hooks.php:
|
171 |
msgid "Phrases"
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: admin/index.php:74 admin/index.php:221 includes/hooks.php:
|
175 |
-
#: includes/hooks.php:
|
176 |
msgid "Tools"
|
177 |
msgstr ""
|
178 |
|
179 |
#: admin/index.php:82 admin/index.php:136 admin/pages/board.php:16
|
180 |
-
#: includes/hooks.php:10 includes/hooks.php:
|
181 |
msgid "Boards"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: admin/index.php:86 admin/index.php:140 includes/hooks.php:
|
185 |
-
#: includes/hooks.php:
|
186 |
msgid "Accesses"
|
187 |
msgstr ""
|
188 |
|
189 |
#: admin/index.php:90 admin/index.php:144 admin/pages/usergroup.php:12
|
190 |
-
#: admin/pages/usergroup.php:160 includes/hooks.php:
|
191 |
msgid "Usergroups"
|
192 |
msgstr ""
|
193 |
|
194 |
#: admin/index.php:93 admin/index.php:147 admin/pages/dashboard.php:37
|
195 |
#: admin/pages/member.php:10 admin/pages/usergroup.php:37
|
196 |
-
#: admin/tools-tabs/misc.php:87 includes/hooks.php:
|
197 |
#: includes/phrases.php:364
|
198 |
msgid "Members"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: admin/index.php:97 admin/index.php:156 includes/hooks.php:
|
202 |
-
#: includes/hooks.php:
|
203 |
msgid "Themes"
|
204 |
msgstr ""
|
205 |
|
206 |
#: admin/index.php:102 admin/index.php:161 admin/pages/board.php:116
|
207 |
-
#: admin/pages/settings.php:22 includes/hooks.php:
|
208 |
#: includes/phrases.php:211
|
209 |
msgid "Addons"
|
210 |
msgstr ""
|
@@ -243,7 +243,7 @@ msgid "Edit"
|
|
243 |
msgstr ""
|
244 |
|
245 |
#: admin/listtables/Boards.php:86 admin/listtables/Moderations.php:94
|
246 |
-
#: admin/pages/forum.php:
|
247 |
#: includes/phrases.php:541
|
248 |
msgid "View"
|
249 |
msgstr ""
|
@@ -258,10 +258,10 @@ msgstr ""
|
|
258 |
|
259 |
#: admin/listtables/Boards.php:88 admin/listtables/Members.php:104
|
260 |
#: admin/listtables/Members.php:260 admin/listtables/Moderations.php:103
|
261 |
-
#: admin/listtables/Moderations.php:208 admin/pages/forum.php:
|
262 |
#: admin/pages/themes.php:68 admin/pages/usergroup.php:76
|
263 |
#: admin/pages/usergroup.php:295 admin/settings/antispam.php:64
|
264 |
-
#: includes/hooks.php:
|
265 |
msgid "Delete"
|
266 |
msgstr ""
|
267 |
|
@@ -360,7 +360,7 @@ msgstr ""
|
|
360 |
msgid "Group"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: admin/listtables/Members.php:179 admin/pages/board.php:
|
364 |
#: admin/pages/usergroup.php:162 includes/phrases.php:17
|
365 |
msgid "Status"
|
366 |
msgstr ""
|
@@ -418,7 +418,7 @@ msgid "Are you sure you want to DELETE this item?"
|
|
418 |
msgstr ""
|
419 |
|
420 |
#: admin/listtables/Moderations.php:152 includes/phrases.php:520
|
421 |
-
#: widgets/Forums.php:64 widgets/OnlineMembers.php:59 widgets/RecentPosts.php:
|
422 |
#: widgets/RecentTopics.php:130 widgets/Search.php:38 widgets/Tags.php:47
|
423 |
msgid "Title"
|
424 |
msgstr ""
|
@@ -489,8 +489,8 @@ msgid ""
|
|
489 |
msgstr ""
|
490 |
|
491 |
#: admin/pages/accesses.php:21 admin/pages/board.php:152 admin/pages/forum.php:56
|
492 |
-
#: admin/pages/forum.php:
|
493 |
-
#: admin/pages/forum.php:
|
494 |
#: admin/pages/usergroup.php:30 admin/pages/usergroup.php:36
|
495 |
#: admin/pages/usergroup.php:342 admin/settings/board.php:15
|
496 |
#: admin/settings/general.php:24 admin/settings/styles.php:12
|
@@ -498,7 +498,7 @@ msgstr ""
|
|
498 |
msgid "Read the documentation"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: admin/pages/accesses.php:29 includes/hooks.php:
|
502 |
#: includes/phrases.php:207
|
503 |
msgid "Add New Forum Access"
|
504 |
msgstr ""
|
@@ -543,7 +543,7 @@ msgstr ""
|
|
543 |
msgid "Access name"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: admin/pages/accesses.php:131 admin/pages/board.php:
|
547 |
#: admin/pages/phrase.php:70 includes/phrases.php:456
|
548 |
msgid "Save"
|
549 |
msgstr ""
|
@@ -662,12 +662,12 @@ msgid "Modules"
|
|
662 |
msgstr ""
|
663 |
|
664 |
#: admin/pages/board.php:109 admin/pages/board.php:132 admin/pages/board.php:156
|
665 |
-
#: admin/pages/board.php:
|
666 |
msgid "Enabled"
|
667 |
msgstr ""
|
668 |
|
669 |
#: admin/pages/board.php:110 admin/pages/board.php:133 admin/pages/board.php:157
|
670 |
-
#: admin/pages/board.php:
|
671 |
msgid "Disabled"
|
672 |
msgstr ""
|
673 |
|
@@ -697,7 +697,7 @@ msgstr ""
|
|
697 |
msgid "one URL per line"
|
698 |
msgstr ""
|
699 |
|
700 |
-
#: admin/pages/dashboard.php:7 includes/hooks.php:
|
701 |
msgid "Forum Dashboard"
|
702 |
msgstr ""
|
703 |
|
@@ -780,11 +780,11 @@ msgstr ""
|
|
780 |
msgid "Rebuild Threads"
|
781 |
msgstr ""
|
782 |
|
783 |
-
#: admin/pages/forum.php:15 includes/functions.php:
|
784 |
msgid "Show on screen"
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: admin/pages/forum.php:17 admin/pages/forum.php:
|
788 |
msgid "Forum Options"
|
789 |
msgstr ""
|
790 |
|
@@ -808,7 +808,7 @@ msgstr ""
|
|
808 |
msgid "Number of Columns"
|
809 |
msgstr ""
|
810 |
|
811 |
-
#: admin/pages/forum.php:34 includes/functions.php:
|
812 |
msgid "Screen Options"
|
813 |
msgstr ""
|
814 |
|
@@ -842,77 +842,77 @@ msgstr ""
|
|
842 |
msgid "Save forums order and hierarchy"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: admin/pages/forum.php:
|
846 |
msgid "Enter forum title here"
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: admin/pages/forum.php:
|
850 |
msgid "Enter description here . . ."
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: admin/pages/forum.php:
|
854 |
msgid ""
|
855 |
"This is a forum description. This content will be displayed under forum title "
|
856 |
"on the forum list."
|
857 |
msgstr ""
|
858 |
|
859 |
-
#: admin/pages/forum.php:
|
860 |
msgid "Parent Forum"
|
861 |
msgstr ""
|
862 |
|
863 |
-
#: admin/pages/forum.php:
|
864 |
msgid "No parent"
|
865 |
msgstr ""
|
866 |
|
867 |
-
#: admin/pages/forum.php:
|
868 |
msgid "Use as Category"
|
869 |
msgstr ""
|
870 |
|
871 |
-
#: admin/pages/forum.php:
|
872 |
msgid "Category Layout"
|
873 |
msgstr ""
|
874 |
|
875 |
-
#: admin/pages/forum.php:
|
876 |
msgid "No layout found."
|
877 |
msgstr ""
|
878 |
|
879 |
-
#: admin/pages/forum.php:
|
880 |
msgid "Publish"
|
881 |
msgstr ""
|
882 |
|
883 |
-
#: admin/pages/forum.php:
|
884 |
msgid "Are you sure you want to delete this forum?"
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: admin/pages/forum.php:
|
888 |
msgid "Update"
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: admin/pages/forum.php:
|
892 |
msgid "Forum Permissions"
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: admin/pages/forum.php:
|
896 |
msgid "Additional Options"
|
897 |
msgstr ""
|
898 |
|
899 |
-
#: admin/pages/forum.php:
|
900 |
msgid "Forum Color"
|
901 |
msgstr ""
|
902 |
|
903 |
-
#: admin/pages/forum.php:
|
904 |
msgid "Current layout and cover image of this category"
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: admin/pages/forum.php:
|
908 |
msgid "Current layout of this forum (inherited from parent category)"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: admin/pages/forum.php:
|
912 |
msgid "Category layout and cover image"
|
913 |
msgstr ""
|
914 |
|
915 |
-
#: admin/pages/forum.php:
|
916 |
msgid ""
|
917 |
"Forums can be displayed with different layouts (Extended, Simplified, Q&A, "
|
918 |
"Threaded). Use the \"Category Layout\" dropdown located on the top right "
|
@@ -922,77 +922,77 @@ msgid ""
|
|
922 |
"disabled if this forum is not a Category."
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: admin/pages/forum.php:
|
926 |
msgid "Category Cover Image"
|
927 |
msgstr ""
|
928 |
|
929 |
-
#: admin/pages/forum.php:
|
930 |
msgid "Upload image"
|
931 |
msgstr ""
|
932 |
|
933 |
-
#: admin/pages/forum.php:
|
934 |
msgid "Remove image"
|
935 |
msgstr ""
|
936 |
|
937 |
-
#: admin/pages/forum.php:
|
938 |
msgid "Insert image"
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: admin/pages/forum.php:
|
942 |
msgid "Use this image"
|
943 |
msgstr ""
|
944 |
|
945 |
-
#: admin/pages/forum.php:
|
946 |
msgid "Forum Slug"
|
947 |
msgstr ""
|
948 |
|
949 |
-
#: admin/pages/forum.php:
|
950 |
msgid ""
|
951 |
"The \"slug\" is the URL-friendly version of the name. It is usually all "
|
952 |
"lowercase and contains only letters, numbers, and hyphens."
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: admin/pages/forum.php:
|
956 |
msgid "Forum Icon"
|
957 |
msgstr ""
|
958 |
|
959 |
-
#: admin/pages/forum.php:
|
960 |
msgid "Font-awesome Icon"
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: admin/pages/forum.php:
|
964 |
msgid "You can find all icons"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: admin/pages/forum.php:
|
968 |
msgid "here"
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: admin/pages/forum.php:
|
972 |
msgid ""
|
973 |
"Make sure you insert a class of font-awesome icon, it should start with fa- "
|
974 |
"prefix like "fas fa-comments"."
|
975 |
msgstr ""
|
976 |
|
977 |
-
#: admin/pages/forum.php:
|
978 |
msgid "Forum SEO Description"
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: admin/pages/forum.php:
|
982 |
msgid "Meta Description"
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: admin/pages/forum.php:
|
986 |
msgid "This action will also delete all sub-forums, topics and replies."
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: admin/pages/forum.php:
|
990 |
msgid ""
|
991 |
"If you want to delete this forum and keep its sub-forums, topics and replies, "
|
992 |
"please select a new target forum in dropdown below"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: admin/pages/forum.php:
|
996 |
msgid ""
|
997 |
"All sub-forums, topics and replies will be attached to selected forum. Layout "
|
998 |
"will be inherited from this forum."
|
@@ -1260,7 +1260,7 @@ msgstr ""
|
|
1260 |
msgid "Debug"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
-
#: admin/pages/tools.php:11 admin/tools-tabs/tables.php:
|
1264 |
msgid "Database Tables"
|
1265 |
msgstr ""
|
1266 |
|
@@ -1277,7 +1277,7 @@ msgstr ""
|
|
1277 |
msgid "Usergroup"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
-
#: admin/pages/usergroup.php:38 classes/Settings.php:1125 includes/hooks.php:
|
1281 |
msgid "Default"
|
1282 |
msgstr ""
|
1283 |
|
@@ -2001,7 +2001,7 @@ msgstr ""
|
|
2001 |
msgid "Dashboard - Can delete member"
|
2002 |
msgstr ""
|
2003 |
|
2004 |
-
#: admin/tools-tabs/debug.php:256 classes/UserGroups.php:
|
2005 |
#: includes/phrases.php:734
|
2006 |
msgid "Front - Can view member username"
|
2007 |
msgstr ""
|
@@ -2037,30 +2037,25 @@ msgstr ""
|
|
2037 |
msgid "How to Fix WordPress Not Sending Email Issue"
|
2038 |
msgstr ""
|
2039 |
|
2040 |
-
#: admin/tools-tabs/debug.php:
|
2041 |
msgid "wpForo phrases are missing!"
|
2042 |
msgstr ""
|
2043 |
|
2044 |
-
#: admin/tools-tabs/debug.php:
|
2045 |
msgid ""
|
2046 |
-
"Please
|
2047 |
-
"
|
2048 |
-
"New] button of \"XML Based Language\" option."
|
2049 |
msgstr ""
|
2050 |
|
2051 |
-
#: admin/tools-tabs/debug.php:
|
2052 |
-
msgid "Download wpForo Phrases"
|
2053 |
-
msgstr ""
|
2054 |
-
|
2055 |
-
#: admin/tools-tabs/debug.php:317
|
2056 |
msgid "No issues found"
|
2057 |
msgstr ""
|
2058 |
|
2059 |
-
#: admin/tools-tabs/debug.php:
|
2060 |
msgid "Error Log File"
|
2061 |
msgstr ""
|
2062 |
|
2063 |
-
#: admin/tools-tabs/debug.php:
|
2064 |
msgid "No errors found"
|
2065 |
msgstr ""
|
2066 |
|
@@ -2170,7 +2165,7 @@ msgstr ""
|
|
2170 |
msgid "Problem fixer SQL commands:"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
-
#: admin/tools-tabs/tables.php:
|
2174 |
msgid "No Problems Found in Database"
|
2175 |
msgstr ""
|
2176 |
|
@@ -2191,133 +2186,127 @@ msgstr ""
|
|
2191 |
msgid "User registration is disabled"
|
2192 |
msgstr ""
|
2193 |
|
2194 |
-
#: classes/Actions.php:
|
2195 |
msgid "Theme file not readable"
|
2196 |
msgstr ""
|
2197 |
|
2198 |
-
#: classes/Actions.php:
|
2199 |
msgid "Theme Successfully Activated"
|
2200 |
msgstr ""
|
2201 |
|
2202 |
-
#: classes/Actions.php:
|
2203 |
msgid "Theme delete error"
|
2204 |
msgstr ""
|
2205 |
|
2206 |
-
#: classes/Actions.php:
|
2207 |
msgid "Theme delete success"
|
2208 |
msgstr ""
|
2209 |
|
2210 |
-
#: classes/Cache.php:
|
2211 |
msgid "Please navigate in Dashboard to Settings > WP Super Cache"
|
2212 |
msgstr ""
|
2213 |
|
2214 |
-
#: classes/Cache.php:
|
2215 |
msgid "Go to Advanced Tab, scroll down to \"Rejected URL Strings\" option"
|
2216 |
msgstr ""
|
2217 |
|
2218 |
-
#: classes/Cache.php:
|
2219 |
msgid ""
|
2220 |
"Insert the URL path(s) of your forum page(s) one per line in the option "
|
2221 |
"textarea:"
|
2222 |
msgstr ""
|
2223 |
|
2224 |
-
#: classes/Cache.php:
|
2225 |
-
#: classes/Cache.php:
|
2226 |
-
#: classes/Cache.php:436 includes/phrases.php:143
|
2227 |
-
msgid "and"
|
2228 |
-
msgstr ""
|
2229 |
-
|
2230 |
-
#: classes/Cache.php:388 classes/Cache.php:396 classes/Cache.php:404
|
2231 |
-
#: classes/Cache.php:421 classes/Cache.php:429 classes/Cache.php:437
|
2232 |
msgid "Save it and delete all caches."
|
2233 |
msgstr ""
|
2234 |
|
2235 |
-
#: classes/Cache.php:
|
2236 |
msgid "Please navigate in Dashboard to LiteSpeed Cache > Cache admin page"
|
2237 |
msgstr ""
|
2238 |
|
2239 |
-
#: classes/Cache.php:
|
2240 |
msgid "Go to Exclude Tab, find the \"Do Not Cache URIs\" option"
|
2241 |
msgstr ""
|
2242 |
|
2243 |
-
#: classes/Cache.php:
|
2244 |
msgid "Please navigate in Dashboard to WP Rocket > Advanced Rules Tab"
|
2245 |
msgstr ""
|
2246 |
|
2247 |
-
#: classes/Cache.php:
|
2248 |
msgid "Scroll down to \"Never cache (URLs)\" option"
|
2249 |
msgstr ""
|
2250 |
|
2251 |
-
#: classes/Cache.php:
|
2252 |
msgid ""
|
2253 |
"Insert the URL path(s) of your forum page(s) one per line with wildcard (.*) "
|
2254 |
"in the option textarea:"
|
2255 |
msgstr ""
|
2256 |
|
2257 |
-
#: classes/Cache.php:
|
2258 |
msgid "Please navigate in Dashboard to WP Fastest Cache > Exclude Tab"
|
2259 |
msgstr ""
|
2260 |
|
2261 |
-
#: classes/Cache.php:
|
2262 |
msgid "In the \"Exclude Pages\" section click the [Add New Rule] button"
|
2263 |
msgstr ""
|
2264 |
|
2265 |
-
#: classes/Cache.php:
|
2266 |
msgid ""
|
2267 |
"Select [Start with] option in the drop-down menu and insert the URL path(s) of "
|
2268 |
"your forum page(s) one per rule in the next field:"
|
2269 |
msgstr ""
|
2270 |
|
2271 |
-
#: classes/Cache.php:
|
2272 |
msgid ""
|
2273 |
"If you have more than one forum pages (boards) you should create separate "
|
2274 |
"rules for each forum board."
|
2275 |
msgstr ""
|
2276 |
|
2277 |
-
#: classes/Cache.php:
|
2278 |
msgid "Save rules and delete all caches."
|
2279 |
msgstr ""
|
2280 |
|
2281 |
-
#: classes/Cache.php:
|
2282 |
msgid "Please navigate in Dashboard to Performance > Page Cache admin page"
|
2283 |
msgstr ""
|
2284 |
|
2285 |
-
#: classes/Cache.php:
|
2286 |
msgid "Go to Advanced Tab, scroll down to Rejected URL Strings option"
|
2287 |
msgstr ""
|
2288 |
|
2289 |
-
#: classes/Cache.php:
|
2290 |
msgid ""
|
2291 |
"Scroll to Advanced section and insert the URL path(s) of your forum page(s) "
|
2292 |
"one per line in the \"Never cache the following pages\" textarea:"
|
2293 |
msgstr ""
|
2294 |
|
2295 |
-
#: classes/Cache.php:
|
2296 |
msgid "Please navigate in Dashboard to WP-Optimize > Cache admin page"
|
2297 |
msgstr ""
|
2298 |
|
2299 |
-
#: classes/Cache.php:
|
2300 |
msgid ""
|
2301 |
"Go to Advanced Settings Tab, find the \"URLs to exclude from caching\" option"
|
2302 |
msgstr ""
|
2303 |
|
2304 |
-
#: classes/Cache.php:
|
2305 |
msgid ""
|
2306 |
"Insert the URL path(s) of your forum page(s) one per line with wildcard [*] in "
|
2307 |
"the option textarea:"
|
2308 |
msgstr ""
|
2309 |
|
2310 |
-
#: classes/Cache.php:
|
2311 |
msgid "Please navigate in Dashboard to SG Optimizer > Caching admin page"
|
2312 |
msgstr ""
|
2313 |
|
2314 |
-
#: classes/Cache.php:
|
2315 |
msgid ""
|
2316 |
"Scroll to Exclude URLs from Caching section and click the \"pencil\" button, "
|
2317 |
"enable it, and click the button again"
|
2318 |
msgstr ""
|
2319 |
|
2320 |
-
#: classes/Cache.php:
|
2321 |
msgid ""
|
2322 |
"Insert the URL path(s) of your forum page(s) with wildcard [*] in the pop-up "
|
2323 |
"filed:"
|
@@ -2331,53 +2320,53 @@ msgstr ""
|
|
2331 |
msgid "Add a new Forum in this Category"
|
2332 |
msgstr ""
|
2333 |
|
2334 |
-
#: classes/Members.php:
|
2335 |
msgid "<strong>ERROR</strong>: Please enter a username."
|
2336 |
msgstr ""
|
2337 |
|
2338 |
-
#: classes/Members.php:
|
2339 |
msgid ""
|
2340 |
"<strong>ERROR</strong>: This username is invalid because it uses illegal "
|
2341 |
"characters. Please enter a valid username."
|
2342 |
msgstr ""
|
2343 |
|
2344 |
-
#: classes/Members.php:
|
2345 |
msgid ""
|
2346 |
"<strong>ERROR</strong>: This username is already registered. Please choose "
|
2347 |
"another one."
|
2348 |
msgstr ""
|
2349 |
|
2350 |
-
#: classes/Members.php:
|
2351 |
msgid "<strong>ERROR</strong>: Sorry, that username is not allowed."
|
2352 |
msgstr ""
|
2353 |
|
2354 |
-
#: classes/Members.php:
|
2355 |
msgid "<strong>ERROR</strong>: Please type your email address."
|
2356 |
msgstr ""
|
2357 |
|
2358 |
-
#: classes/Members.php:
|
2359 |
msgid "<strong>ERROR</strong>: The email address isn’t correct."
|
2360 |
msgstr ""
|
2361 |
|
2362 |
-
#: classes/Members.php:
|
2363 |
msgid ""
|
2364 |
"<strong>ERROR</strong>: This email is already registered, please choose "
|
2365 |
"another one."
|
2366 |
msgstr ""
|
2367 |
|
2368 |
-
#: classes/Members.php:
|
2369 |
msgid "What should be done with wpForo content owned by this user?"
|
2370 |
msgstr ""
|
2371 |
|
2372 |
-
#: classes/Members.php:
|
2373 |
msgid "What should be done with wpForo content owned by these users?"
|
2374 |
msgstr ""
|
2375 |
|
2376 |
-
#: classes/Members.php:
|
2377 |
msgid "Delete all wpForo content."
|
2378 |
msgstr ""
|
2379 |
|
2380 |
-
#: classes/Members.php:
|
2381 |
msgid "Attribute all content to:"
|
2382 |
msgstr ""
|
2383 |
|
@@ -4190,7 +4179,7 @@ msgstr ""
|
|
4190 |
msgid "Exclude file extensions"
|
4191 |
msgstr ""
|
4192 |
|
4193 |
-
#: classes/Settings.php:2297 includes/hooks.php:
|
4194 |
msgid "Google reCAPTCHA"
|
4195 |
msgstr ""
|
4196 |
|
@@ -4688,7 +4677,7 @@ msgstr ""
|
|
4688 |
msgid "Minute"
|
4689 |
msgstr ""
|
4690 |
|
4691 |
-
#: classes/Settings.php:3285 includes/hooks.php:
|
4692 |
msgid "Rating Level"
|
4693 |
msgstr ""
|
4694 |
|
@@ -4720,7 +4709,7 @@ msgstr ""
|
|
4720 |
msgid "More"
|
4721 |
msgstr ""
|
4722 |
|
4723 |
-
#: classes/Settings.php:3298 includes/hooks.php:
|
4724 |
msgid "Level"
|
4725 |
msgstr ""
|
4726 |
|
@@ -4737,8 +4726,8 @@ msgid "Badge Icon"
|
|
4737 |
msgstr ""
|
4738 |
|
4739 |
#: classes/Settings.php:3776 includes/installation.php:542
|
4740 |
-
#: includes/
|
4741 |
-
#: includes/phrases.php:287
|
4742 |
msgid "Forum"
|
4743 |
msgstr ""
|
4744 |
|
@@ -4927,71 +4916,75 @@ msgstr ""
|
|
4927 |
msgid "Front - Can view member subscriptions"
|
4928 |
msgstr ""
|
4929 |
|
4930 |
-
#: classes/UserGroups.php:72
|
|
|
|
|
|
|
|
|
4931 |
msgid "Front - Can upload avatar"
|
4932 |
msgstr ""
|
4933 |
|
4934 |
-
#: classes/UserGroups.php:
|
4935 |
msgid "Front - Can have signature"
|
4936 |
msgstr ""
|
4937 |
|
4938 |
-
#: classes/UserGroups.php:
|
4939 |
msgid "Front - Can view avatars"
|
4940 |
msgstr ""
|
4941 |
|
4942 |
-
#: classes/UserGroups.php:
|
4943 |
msgid "Front - Can view member email"
|
4944 |
msgstr ""
|
4945 |
|
4946 |
-
#: classes/UserGroups.php:
|
4947 |
msgid "Front - Can view member title"
|
4948 |
msgstr ""
|
4949 |
|
4950 |
-
#: classes/UserGroups.php:
|
4951 |
msgid "Front - Can view member custom title"
|
4952 |
msgstr ""
|
4953 |
|
4954 |
-
#: classes/UserGroups.php:
|
4955 |
msgid "Front - Can view member reputation"
|
4956 |
msgstr ""
|
4957 |
|
4958 |
-
#: classes/UserGroups.php:
|
4959 |
msgid "Front - Can view member website"
|
4960 |
msgstr ""
|
4961 |
|
4962 |
-
#: classes/UserGroups.php:
|
4963 |
msgid "Front - Can view member social networks"
|
4964 |
msgstr ""
|
4965 |
|
4966 |
-
#: classes/UserGroups.php:
|
4967 |
msgid "Front - Can view member reg. date"
|
4968 |
msgstr ""
|
4969 |
|
4970 |
-
#: classes/UserGroups.php:
|
4971 |
msgid "Front - Can view member location"
|
4972 |
msgstr ""
|
4973 |
|
4974 |
-
#: classes/UserGroups.php:
|
4975 |
msgid "Front - Can view member occupation"
|
4976 |
msgstr ""
|
4977 |
|
4978 |
-
#: classes/UserGroups.php:
|
4979 |
msgid "Front - Can view member signature"
|
4980 |
msgstr ""
|
4981 |
|
4982 |
-
#: classes/UserGroups.php:
|
4983 |
msgid "Front - Can view member about me"
|
4984 |
msgstr ""
|
4985 |
|
4986 |
-
#: classes/UserGroups.php:
|
4987 |
msgid "Front - Can write PM"
|
4988 |
msgstr ""
|
4989 |
|
4990 |
-
#: classes/UserGroups.php:
|
4991 |
msgid "Front - Can access to attachments"
|
4992 |
msgstr ""
|
4993 |
|
4994 |
-
#: classes/UserGroups.php:
|
4995 |
msgid "Front - Can access to add topic page"
|
4996 |
msgstr ""
|
4997 |
|
@@ -4999,7 +4992,7 @@ msgstr ""
|
|
4999 |
msgid "wpForo Menu"
|
5000 |
msgstr ""
|
5001 |
|
5002 |
-
#: includes/functions-template.php:
|
5003 |
msgid "No Title"
|
5004 |
msgstr ""
|
5005 |
|
@@ -5142,21 +5135,15 @@ msgid ""
|
|
5142 |
"WooCommerce Memberships plugin."
|
5143 |
msgstr ""
|
5144 |
|
5145 |
-
#: includes/functions.php:
|
5146 |
-
msgid ""
|
5147 |
-
"Helps to migrate from bbPress, phpBB, SMF, MyBB, Simple:Press and other forum "
|
5148 |
-
"pieces of software and plugins to wpForo."
|
5149 |
-
msgstr ""
|
5150 |
-
|
5151 |
-
#: includes/functions.php:755 includes/phrases.php:327
|
5152 |
msgid "Items"
|
5153 |
msgstr ""
|
5154 |
|
5155 |
-
#: includes/functions.php:
|
5156 |
msgid "Apply"
|
5157 |
msgstr ""
|
5158 |
|
5159 |
-
#: includes/functions.php:
|
5160 |
#, php-format
|
5161 |
msgid "Could not write file %s"
|
5162 |
msgstr ""
|
@@ -5175,66 +5162,66 @@ msgstr ""
|
|
5175 |
msgid "Uninstall"
|
5176 |
msgstr ""
|
5177 |
|
5178 |
-
#: includes/hooks.php:
|
5179 |
msgid "Clear"
|
5180 |
msgstr ""
|
5181 |
|
5182 |
-
#: includes/hooks.php:
|
5183 |
msgid "Select Color"
|
5184 |
msgstr ""
|
5185 |
|
5186 |
-
#: includes/hooks.php:
|
5187 |
msgid "Move"
|
5188 |
msgstr ""
|
5189 |
|
5190 |
-
#: includes/hooks.php:
|
5191 |
msgid "Please choose one reasons before sending a feedback!"
|
5192 |
msgstr ""
|
5193 |
|
5194 |
-
#: includes/hooks.php:
|
5195 |
msgid ""
|
5196 |
"With the email address, please check the \"I agree to receive email\" checkbox "
|
5197 |
"to proceed."
|
5198 |
msgstr ""
|
5199 |
|
5200 |
-
#: includes/hooks.php:
|
5201 |
msgid "Please fill your email address for feedback"
|
5202 |
msgstr ""
|
5203 |
|
5204 |
-
#: includes/hooks.php:
|
5205 |
msgid "Your email address is not valid"
|
5206 |
msgstr ""
|
5207 |
|
5208 |
-
#: includes/hooks.php:
|
5209 |
msgid ""
|
5210 |
"IMPORTANT: wpForo can't work with default permalink, please change permalink "
|
5211 |
"structure"
|
5212 |
msgstr ""
|
5213 |
|
5214 |
-
#: includes/hooks.php:
|
5215 |
msgid "Forum Profile Fields - wpForo"
|
5216 |
msgstr ""
|
5217 |
|
5218 |
-
#: includes/hooks.php:
|
5219 |
msgid "Forum - Usergroup"
|
5220 |
msgstr ""
|
5221 |
|
5222 |
-
#: includes/hooks.php:
|
5223 |
#, php-format
|
5224 |
msgid ""
|
5225 |
"Forum Usergroups are synched with User Roles based on the %s. When you change "
|
5226 |
"this user Role the Usergroup is automatically changed according to that table."
|
5227 |
msgstr ""
|
5228 |
|
5229 |
-
#: includes/hooks.php:
|
5230 |
msgid "Synced with user role"
|
5231 |
msgstr ""
|
5232 |
|
5233 |
-
#: includes/hooks.php:
|
5234 |
msgid "Role-Usergroup Synchronization is Turned ON!"
|
5235 |
msgstr ""
|
5236 |
|
5237 |
-
#: includes/hooks.php:
|
5238 |
msgid ""
|
5239 |
"This user Usergroup is automatically changed according to current Role. If you "
|
5240 |
"want to disable Role-Usergroup synchronization and manage Usergroups and User "
|
@@ -5242,19 +5229,19 @@ msgid ""
|
|
5242 |
"admin page and disable \"Role-Usergroup Synchronization\" option."
|
5243 |
msgstr ""
|
5244 |
|
5245 |
-
#: includes/hooks.php:
|
5246 |
msgid "Forum - Secondary Usergroups"
|
5247 |
msgstr ""
|
5248 |
|
5249 |
-
#: includes/hooks.php:
|
5250 |
msgid "Forum - User Timezone"
|
5251 |
msgstr ""
|
5252 |
|
5253 |
-
#: includes/hooks.php:
|
5254 |
msgid "User Reputation"
|
5255 |
msgstr ""
|
5256 |
|
5257 |
-
#: includes/hooks.php:
|
5258 |
msgid ""
|
5259 |
"By default all members get rating badges and titles based on number of posts. "
|
5260 |
"However, using this option you can grant lower or higher rating to certain "
|
@@ -5262,49 +5249,49 @@ msgid ""
|
|
5262 |
"be managed in Forums > Settings > Members Tab."
|
5263 |
msgstr ""
|
5264 |
|
5265 |
-
#: includes/hooks.php:
|
5266 |
msgid "Default Rating"
|
5267 |
msgstr ""
|
5268 |
|
5269 |
-
#: includes/hooks.php:
|
5270 |
msgid "Custom Rating"
|
5271 |
msgstr ""
|
5272 |
|
5273 |
-
#: includes/hooks.php:
|
5274 |
msgid "Rating Title"
|
5275 |
msgstr ""
|
5276 |
|
5277 |
-
#: includes/hooks.php:
|
5278 |
msgid "Rating Badge"
|
5279 |
msgstr ""
|
5280 |
|
5281 |
-
#: includes/hooks.php:
|
5282 |
-
#: includes/hooks.php:
|
5283 |
msgid "Add New Forum"
|
5284 |
msgstr ""
|
5285 |
|
5286 |
-
#: includes/hooks.php:
|
5287 |
msgid "Add New User Group"
|
5288 |
msgstr ""
|
5289 |
|
5290 |
-
#: includes/hooks.php:
|
5291 |
-
#: includes/hooks.php:
|
5292 |
msgid "Add New Phrase"
|
5293 |
msgstr ""
|
5294 |
|
5295 |
-
#: includes/hooks.php:
|
5296 |
msgid "Visit Forum"
|
5297 |
msgstr ""
|
5298 |
|
5299 |
-
#: includes/hooks.php:
|
5300 |
msgid "Add New Usergroup"
|
5301 |
msgstr ""
|
5302 |
|
5303 |
-
#: includes/hooks.php:
|
5304 |
msgid "Add New Board"
|
5305 |
msgstr ""
|
5306 |
|
5307 |
-
#: includes/hooks.php:
|
5308 |
#, php-format
|
5309 |
msgid ""
|
5310 |
"IMPORTANT! The forum registration form is probably under risk of spam attacks. "
|
@@ -5314,17 +5301,17 @@ msgid ""
|
|
5314 |
"dismiss this message."
|
5315 |
msgstr ""
|
5316 |
|
5317 |
-
#: includes/hooks.php:
|
5318 |
msgid "wpForo Polls addon is disabled!"
|
5319 |
msgstr ""
|
5320 |
|
5321 |
-
#: includes/hooks.php:
|
5322 |
msgid ""
|
5323 |
" Your addon version is not compatible with the current version of wpForo. "
|
5324 |
"Please update the addon or downgrade wpForo to 1.7.7"
|
5325 |
msgstr ""
|
5326 |
|
5327 |
-
#: includes/hooks.php:
|
5328 |
msgid "dismiss"
|
5329 |
msgstr ""
|
5330 |
|
@@ -5413,23 +5400,24 @@ msgid ""
|
|
5413 |
"The user login and logout actions will also be corrupted."
|
5414 |
msgstr ""
|
5415 |
|
5416 |
-
#: includes/installation.php:543 includes/
|
|
|
5417 |
msgid "Discussion Board"
|
5418 |
msgstr ""
|
5419 |
|
5420 |
-
#: includes/installation.php:
|
5421 |
msgid "Main Category"
|
5422 |
msgstr ""
|
5423 |
|
5424 |
-
#: includes/installation.php:
|
5425 |
msgid "This is a simple category / section"
|
5426 |
msgstr ""
|
5427 |
|
5428 |
-
#: includes/installation.php:
|
5429 |
msgid "Main Forum"
|
5430 |
msgstr ""
|
5431 |
|
5432 |
-
#: includes/installation.php:
|
5433 |
msgid "This is a simple parent forum"
|
5434 |
msgstr ""
|
5435 |
|
@@ -6059,6 +6047,10 @@ msgstr ""
|
|
6059 |
msgid "I agree to receive an email confirmation with a link to set a password."
|
6060 |
msgstr ""
|
6061 |
|
|
|
|
|
|
|
|
|
6062 |
#: includes/phrases.php:144
|
6063 |
msgid "Privacy Policy"
|
6064 |
msgstr ""
|
@@ -6415,7 +6407,7 @@ msgstr ""
|
|
6415 |
msgid "Display Avatars"
|
6416 |
msgstr ""
|
6417 |
|
6418 |
-
#: includes/phrases.php:258 widgets/RecentPosts.php:
|
6419 |
msgid "Display with Avatars"
|
6420 |
msgstr ""
|
6421 |
|
@@ -6757,7 +6749,7 @@ msgid "No topics were found here"
|
|
6757 |
msgstr ""
|
6758 |
|
6759 |
#: includes/phrases.php:396 widgets/OnlineMembers.php:74
|
6760 |
-
#: widgets/RecentPosts.php:
|
6761 |
msgid "Number of Items"
|
6762 |
msgstr ""
|
6763 |
|
@@ -9008,31 +9000,31 @@ msgstr ""
|
|
9008 |
msgid "ASC"
|
9009 |
msgstr ""
|
9010 |
|
9011 |
-
#: widgets/RecentPosts.php:
|
9012 |
msgid "Filter by forums"
|
9013 |
msgstr ""
|
9014 |
|
9015 |
-
#: widgets/RecentPosts.php:
|
9016 |
msgid "Autofilter by current forum"
|
9017 |
msgstr ""
|
9018 |
|
9019 |
-
#: widgets/RecentPosts.php:
|
9020 |
msgid "Order by"
|
9021 |
msgstr ""
|
9022 |
|
9023 |
-
#: widgets/RecentPosts.php:
|
9024 |
msgid "Limit Per Topic"
|
9025 |
msgstr ""
|
9026 |
|
9027 |
-
#: widgets/RecentPosts.php:
|
9028 |
msgid "set 0 to remove this limit"
|
9029 |
msgstr ""
|
9030 |
|
9031 |
-
#: widgets/RecentPosts.php:
|
9032 |
msgid "Display Only Unread Posts"
|
9033 |
msgstr ""
|
9034 |
|
9035 |
-
#: widgets/RecentPosts.php:
|
9036 |
msgid "Display [new] indicator"
|
9037 |
msgstr ""
|
9038 |
|
@@ -9044,11 +9036,11 @@ msgstr ""
|
|
9044 |
msgid "Views Count"
|
9045 |
msgstr ""
|
9046 |
|
9047 |
-
#: widgets/RecentTopics.php:
|
9048 |
msgid "Display with avatars"
|
9049 |
msgstr ""
|
9050 |
|
9051 |
-
#: widgets/RecentTopics.php:
|
9052 |
msgid "Refer topics to first unread post"
|
9053 |
msgstr ""
|
9054 |
|
4 |
msgid ""
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: Forum - wpForo\n"
|
7 |
+
"POT-Creation-Date: 2022-08-19 15:57+0400\n"
|
8 |
"PO-Revision-Date: 2016-06-28 21:09+0400\n"
|
9 |
"Last-Translator: \n"
|
10 |
"Language-Team: \n"
|
123 |
msgid "Other"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: admin/includes/deactivation-dialog.php:142 includes/hooks.php:1284
|
127 |
msgid "Please provide more information"
|
128 |
msgstr ""
|
129 |
|
148 |
msgstr ""
|
149 |
|
150 |
#: admin/index.php:54 admin/index.php:201 admin/pages/dashboard.php:25
|
151 |
+
#: admin/tools-tabs/misc.php:67 includes/hooks.php:2192 includes/hooks.php:2396
|
152 |
#: includes/phrases.php:309 integrations/BuddyPress.php:12
|
153 |
#: integrations/BuddyPress.php:44 integrations/BuddyPress.php:117
|
154 |
#: widgets/Forums.php:20
|
156 |
msgstr ""
|
157 |
|
158 |
#: admin/index.php:59 admin/index.php:151 admin/index.php:206
|
159 |
+
#: admin/pages/settings.php:163 includes/hooks.php:2208 includes/hooks.php:2412
|
160 |
+
#: includes/hooks.php:2517
|
161 |
msgid "Settings"
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: admin/index.php:64 admin/index.php:211 includes/hooks.php:2226
|
165 |
+
#: includes/hooks.php:2430
|
166 |
msgid "Moderation"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: admin/index.php:69 admin/index.php:216 includes/hooks.php:2276
|
170 |
+
#: includes/hooks.php:2439 includes/phrases.php:791
|
171 |
msgid "Phrases"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: admin/index.php:74 admin/index.php:221 includes/hooks.php:2217
|
175 |
+
#: includes/hooks.php:2421 includes/phrases.php:916
|
176 |
msgid "Tools"
|
177 |
msgstr ""
|
178 |
|
179 |
#: admin/index.php:82 admin/index.php:136 admin/pages/board.php:16
|
180 |
+
#: includes/hooks.php:10 includes/hooks.php:2460
|
181 |
msgid "Boards"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: admin/index.php:86 admin/index.php:140 includes/hooks.php:2235
|
185 |
+
#: includes/hooks.php:2476
|
186 |
msgid "Accesses"
|
187 |
msgstr ""
|
188 |
|
189 |
#: admin/index.php:90 admin/index.php:144 admin/pages/usergroup.php:12
|
190 |
+
#: admin/pages/usergroup.php:160 includes/hooks.php:2260 includes/hooks.php:2492
|
191 |
msgid "Usergroups"
|
192 |
msgstr ""
|
193 |
|
194 |
#: admin/index.php:93 admin/index.php:147 admin/pages/dashboard.php:37
|
195 |
#: admin/pages/member.php:10 admin/pages/usergroup.php:37
|
196 |
+
#: admin/tools-tabs/misc.php:87 includes/hooks.php:2251 includes/hooks.php:2508
|
197 |
#: includes/phrases.php:364
|
198 |
msgid "Members"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: admin/index.php:97 admin/index.php:156 includes/hooks.php:2292
|
202 |
+
#: includes/hooks.php:2526 includes/phrases.php:792
|
203 |
msgid "Themes"
|
204 |
msgstr ""
|
205 |
|
206 |
#: admin/index.php:102 admin/index.php:161 admin/pages/board.php:116
|
207 |
+
#: admin/pages/settings.php:22 includes/hooks.php:2301 includes/hooks.php:2535
|
208 |
#: includes/phrases.php:211
|
209 |
msgid "Addons"
|
210 |
msgstr ""
|
243 |
msgstr ""
|
244 |
|
245 |
#: admin/listtables/Boards.php:86 admin/listtables/Moderations.php:94
|
246 |
+
#: admin/pages/forum.php:273 admin/pages/usergroup.php:78 classes/Forums.php:823
|
247 |
#: includes/phrases.php:541
|
248 |
msgid "View"
|
249 |
msgstr ""
|
258 |
|
259 |
#: admin/listtables/Boards.php:88 admin/listtables/Members.php:104
|
260 |
#: admin/listtables/Members.php:260 admin/listtables/Moderations.php:103
|
261 |
+
#: admin/listtables/Moderations.php:208 admin/pages/forum.php:272
|
262 |
#: admin/pages/themes.php:68 admin/pages/usergroup.php:76
|
263 |
#: admin/pages/usergroup.php:295 admin/settings/antispam.php:64
|
264 |
+
#: includes/hooks.php:1268 includes/phrases.php:252
|
265 |
msgid "Delete"
|
266 |
msgstr ""
|
267 |
|
360 |
msgid "Group"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: admin/listtables/Members.php:179 admin/pages/board.php:173
|
364 |
#: admin/pages/usergroup.php:162 includes/phrases.php:17
|
365 |
msgid "Status"
|
366 |
msgstr ""
|
418 |
msgstr ""
|
419 |
|
420 |
#: admin/listtables/Moderations.php:152 includes/phrases.php:520
|
421 |
+
#: widgets/Forums.php:64 widgets/OnlineMembers.php:59 widgets/RecentPosts.php:230
|
422 |
#: widgets/RecentTopics.php:130 widgets/Search.php:38 widgets/Tags.php:47
|
423 |
msgid "Title"
|
424 |
msgstr ""
|
489 |
msgstr ""
|
490 |
|
491 |
#: admin/pages/accesses.php:21 admin/pages/board.php:152 admin/pages/forum.php:56
|
492 |
+
#: admin/pages/forum.php:238 admin/pages/forum.php:285 admin/pages/forum.php:325
|
493 |
+
#: admin/pages/forum.php:401 admin/pages/forum.php:409 admin/pages/phrase.php:167
|
494 |
#: admin/pages/usergroup.php:30 admin/pages/usergroup.php:36
|
495 |
#: admin/pages/usergroup.php:342 admin/settings/board.php:15
|
496 |
#: admin/settings/general.php:24 admin/settings/styles.php:12
|
498 |
msgid "Read the documentation"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: admin/pages/accesses.php:29 includes/hooks.php:2242 includes/hooks.php:2483
|
502 |
#: includes/phrases.php:207
|
503 |
msgid "Add New Forum Access"
|
504 |
msgstr ""
|
543 |
msgid "Access name"
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: admin/pages/accesses.php:131 admin/pages/board.php:182
|
547 |
#: admin/pages/phrase.php:70 includes/phrases.php:456
|
548 |
msgid "Save"
|
549 |
msgstr ""
|
662 |
msgstr ""
|
663 |
|
664 |
#: admin/pages/board.php:109 admin/pages/board.php:132 admin/pages/board.php:156
|
665 |
+
#: admin/pages/board.php:175
|
666 |
msgid "Enabled"
|
667 |
msgstr ""
|
668 |
|
669 |
#: admin/pages/board.php:110 admin/pages/board.php:133 admin/pages/board.php:157
|
670 |
+
#: admin/pages/board.php:176
|
671 |
msgid "Disabled"
|
672 |
msgstr ""
|
673 |
|
697 |
msgid "one URL per line"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: admin/pages/dashboard.php:7 includes/hooks.php:2184
|
701 |
msgid "Forum Dashboard"
|
702 |
msgstr ""
|
703 |
|
780 |
msgid "Rebuild Threads"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: admin/pages/forum.php:15 includes/functions.php:783 includes/phrases.php:487
|
784 |
msgid "Show on screen"
|
785 |
msgstr ""
|
786 |
|
787 |
+
#: admin/pages/forum.php:17 admin/pages/forum.php:238 includes/phrases.php:299
|
788 |
msgid "Forum Options"
|
789 |
msgstr ""
|
790 |
|
808 |
msgid "Number of Columns"
|
809 |
msgstr ""
|
810 |
|
811 |
+
#: admin/pages/forum.php:34 includes/functions.php:797 includes/phrases.php:460
|
812 |
msgid "Screen Options"
|
813 |
msgstr ""
|
814 |
|
842 |
msgid "Save forums order and hierarchy"
|
843 |
msgstr ""
|
844 |
|
845 |
+
#: admin/pages/forum.php:223 includes/phrases.php:273
|
846 |
msgid "Enter forum title here"
|
847 |
msgstr ""
|
848 |
|
849 |
+
#: admin/pages/forum.php:228 includes/phrases.php:272
|
850 |
msgid "Enter description here . . ."
|
851 |
msgstr ""
|
852 |
|
853 |
+
#: admin/pages/forum.php:229 includes/phrases.php:515
|
854 |
msgid ""
|
855 |
"This is a forum description. This content will be displayed under forum title "
|
856 |
"on the forum list."
|
857 |
msgstr ""
|
858 |
|
859 |
+
#: admin/pages/forum.php:241 includes/phrases.php:407
|
860 |
msgid "Parent Forum"
|
861 |
msgstr ""
|
862 |
|
863 |
+
#: admin/pages/forum.php:244 includes/phrases.php:390
|
864 |
msgid "No parent"
|
865 |
msgstr ""
|
866 |
|
867 |
+
#: admin/pages/forum.php:249 includes/phrases.php:532
|
868 |
msgid "Use as Category"
|
869 |
msgstr ""
|
870 |
|
871 |
+
#: admin/pages/forum.php:251 includes/phrases.php:238
|
872 |
msgid "Category Layout"
|
873 |
msgstr ""
|
874 |
|
875 |
+
#: admin/pages/forum.php:260 includes/phrases.php:388
|
876 |
msgid "No layout found."
|
877 |
msgstr ""
|
878 |
|
879 |
+
#: admin/pages/forum.php:268 admin/pages/forum.php:276 includes/phrases.php:420
|
880 |
msgid "Publish"
|
881 |
msgstr ""
|
882 |
|
883 |
+
#: admin/pages/forum.php:272 includes/phrases.php:223
|
884 |
msgid "Are you sure you want to delete this forum?"
|
885 |
msgstr ""
|
886 |
|
887 |
+
#: admin/pages/forum.php:274 admin/pages/phrase.php:108 includes/phrases.php:529
|
888 |
msgid "Update"
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: admin/pages/forum.php:285
|
892 |
msgid "Forum Permissions"
|
893 |
msgstr ""
|
894 |
|
895 |
+
#: admin/pages/forum.php:294
|
896 |
msgid "Additional Options"
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: admin/pages/forum.php:297
|
900 |
msgid "Forum Color"
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: admin/pages/forum.php:318
|
904 |
msgid "Current layout and cover image of this category"
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: admin/pages/forum.php:320
|
908 |
msgid "Current layout of this forum (inherited from parent category)"
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: admin/pages/forum.php:323
|
912 |
msgid "Category layout and cover image"
|
913 |
msgstr ""
|
914 |
|
915 |
+
#: admin/pages/forum.php:343
|
916 |
msgid ""
|
917 |
"Forums can be displayed with different layouts (Extended, Simplified, Q&A, "
|
918 |
"Threaded). Use the \"Category Layout\" dropdown located on the top right "
|
922 |
"disabled if this forum is not a Category."
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: admin/pages/forum.php:350
|
926 |
msgid "Category Cover Image"
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: admin/pages/forum.php:354 admin/pages/forum.php:359
|
930 |
msgid "Upload image"
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: admin/pages/forum.php:355 admin/pages/forum.php:360
|
934 |
msgid "Remove image"
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: admin/pages/forum.php:374
|
938 |
msgid "Insert image"
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: admin/pages/forum.php:376
|
942 |
msgid "Use this image"
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: admin/pages/forum.php:401 includes/phrases.php:304
|
946 |
msgid "Forum Slug"
|
947 |
msgstr ""
|
948 |
|
949 |
+
#: admin/pages/forum.php:404 includes/phrases.php:508
|
950 |
msgid ""
|
951 |
"The \"slug\" is the URL-friendly version of the name. It is usually all "
|
952 |
"lowercase and contains only letters, numbers, and hyphens."
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: admin/pages/forum.php:409
|
956 |
msgid "Forum Icon"
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: admin/pages/forum.php:412
|
960 |
msgid "Font-awesome Icon"
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: admin/pages/forum.php:414
|
964 |
msgid "You can find all icons"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: admin/pages/forum.php:414
|
968 |
msgid "here"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: admin/pages/forum.php:414
|
972 |
msgid ""
|
973 |
"Make sure you insert a class of font-awesome icon, it should start with fa- "
|
974 |
"prefix like "fas fa-comments"."
|
975 |
msgstr ""
|
976 |
|
977 |
+
#: admin/pages/forum.php:420 includes/phrases.php:302
|
978 |
msgid "Forum SEO Description"
|
979 |
msgstr ""
|
980 |
|
981 |
+
#: admin/pages/forum.php:423 includes/phrases.php:370
|
982 |
msgid "Meta Description"
|
983 |
msgstr ""
|
984 |
|
985 |
+
#: admin/pages/forum.php:453 includes/phrases.php:514
|
986 |
msgid "This action will also delete all sub-forums, topics and replies."
|
987 |
msgstr ""
|
988 |
|
989 |
+
#: admin/pages/forum.php:461 includes/phrases.php:323
|
990 |
msgid ""
|
991 |
"If you want to delete this forum and keep its sub-forums, topics and replies, "
|
992 |
"please select a new target forum in dropdown below"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: admin/pages/forum.php:470 includes/phrases.php:212
|
996 |
msgid ""
|
997 |
"All sub-forums, topics and replies will be attached to selected forum. Layout "
|
998 |
"will be inherited from this forum."
|
1260 |
msgid "Debug"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: admin/pages/tools.php:11 admin/tools-tabs/tables.php:119
|
1264 |
msgid "Database Tables"
|
1265 |
msgstr ""
|
1266 |
|
1277 |
msgid "Usergroup"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
+
#: admin/pages/usergroup.php:38 classes/Settings.php:1125 includes/hooks.php:1260
|
1281 |
msgid "Default"
|
1282 |
msgstr ""
|
1283 |
|
2001 |
msgid "Dashboard - Can delete member"
|
2002 |
msgstr ""
|
2003 |
|
2004 |
+
#: admin/tools-tabs/debug.php:256 classes/UserGroups.php:77
|
2005 |
#: includes/phrases.php:734
|
2006 |
msgid "Front - Can view member username"
|
2007 |
msgstr ""
|
2037 |
msgid "How to Fix WordPress Not Sending Email Issue"
|
2038 |
msgstr ""
|
2039 |
|
2040 |
+
#: admin/tools-tabs/debug.php:307
|
2041 |
msgid "wpForo phrases are missing!"
|
2042 |
msgstr ""
|
2043 |
|
2044 |
+
#: admin/tools-tabs/debug.php:308
|
2045 |
msgid ""
|
2046 |
+
"Please navigate to wpForo > Overview admin page and click the [Rebuild "
|
2047 |
+
"Phrases] button"
|
|
|
2048 |
msgstr ""
|
2049 |
|
2050 |
+
#: admin/tools-tabs/debug.php:325
|
|
|
|
|
|
|
|
|
2051 |
msgid "No issues found"
|
2052 |
msgstr ""
|
2053 |
|
2054 |
+
#: admin/tools-tabs/debug.php:341
|
2055 |
msgid "Error Log File"
|
2056 |
msgstr ""
|
2057 |
|
2058 |
+
#: admin/tools-tabs/debug.php:348
|
2059 |
msgid "No errors found"
|
2060 |
msgstr ""
|
2061 |
|
2165 |
msgid "Problem fixer SQL commands:"
|
2166 |
msgstr ""
|
2167 |
|
2168 |
+
#: admin/tools-tabs/tables.php:115
|
2169 |
msgid "No Problems Found in Database"
|
2170 |
msgstr ""
|
2171 |
|
2186 |
msgid "User registration is disabled"
|
2187 |
msgstr ""
|
2188 |
|
2189 |
+
#: classes/Actions.php:2048 classes/Template.php:2358 includes/phrases.php:513
|
2190 |
msgid "Theme file not readable"
|
2191 |
msgstr ""
|
2192 |
|
2193 |
+
#: classes/Actions.php:2054
|
2194 |
msgid "Theme Successfully Activated"
|
2195 |
msgstr ""
|
2196 |
|
2197 |
+
#: classes/Actions.php:2075
|
2198 |
msgid "Theme delete error"
|
2199 |
msgstr ""
|
2200 |
|
2201 |
+
#: classes/Actions.php:2082
|
2202 |
msgid "Theme delete success"
|
2203 |
msgstr ""
|
2204 |
|
2205 |
+
#: classes/Cache.php:391
|
2206 |
msgid "Please navigate in Dashboard to Settings > WP Super Cache"
|
2207 |
msgstr ""
|
2208 |
|
2209 |
+
#: classes/Cache.php:392
|
2210 |
msgid "Go to Advanced Tab, scroll down to \"Rejected URL Strings\" option"
|
2211 |
msgstr ""
|
2212 |
|
2213 |
+
#: classes/Cache.php:393 classes/Cache.php:401
|
2214 |
msgid ""
|
2215 |
"Insert the URL path(s) of your forum page(s) one per line in the option "
|
2216 |
"textarea:"
|
2217 |
msgstr ""
|
2218 |
|
2219 |
+
#: classes/Cache.php:394 classes/Cache.php:402 classes/Cache.php:410
|
2220 |
+
#: classes/Cache.php:427 classes/Cache.php:435 classes/Cache.php:443
|
|
|
|
|
|
|
|
|
|
|
|
|
2221 |
msgid "Save it and delete all caches."
|
2222 |
msgstr ""
|
2223 |
|
2224 |
+
#: classes/Cache.php:399
|
2225 |
msgid "Please navigate in Dashboard to LiteSpeed Cache > Cache admin page"
|
2226 |
msgstr ""
|
2227 |
|
2228 |
+
#: classes/Cache.php:400
|
2229 |
msgid "Go to Exclude Tab, find the \"Do Not Cache URIs\" option"
|
2230 |
msgstr ""
|
2231 |
|
2232 |
+
#: classes/Cache.php:407
|
2233 |
msgid "Please navigate in Dashboard to WP Rocket > Advanced Rules Tab"
|
2234 |
msgstr ""
|
2235 |
|
2236 |
+
#: classes/Cache.php:408
|
2237 |
msgid "Scroll down to \"Never cache (URLs)\" option"
|
2238 |
msgstr ""
|
2239 |
|
2240 |
+
#: classes/Cache.php:409
|
2241 |
msgid ""
|
2242 |
"Insert the URL path(s) of your forum page(s) one per line with wildcard (.*) "
|
2243 |
"in the option textarea:"
|
2244 |
msgstr ""
|
2245 |
|
2246 |
+
#: classes/Cache.php:415
|
2247 |
msgid "Please navigate in Dashboard to WP Fastest Cache > Exclude Tab"
|
2248 |
msgstr ""
|
2249 |
|
2250 |
+
#: classes/Cache.php:416
|
2251 |
msgid "In the \"Exclude Pages\" section click the [Add New Rule] button"
|
2252 |
msgstr ""
|
2253 |
|
2254 |
+
#: classes/Cache.php:417
|
2255 |
msgid ""
|
2256 |
"Select [Start with] option in the drop-down menu and insert the URL path(s) of "
|
2257 |
"your forum page(s) one per rule in the next field:"
|
2258 |
msgstr ""
|
2259 |
|
2260 |
+
#: classes/Cache.php:418
|
2261 |
msgid ""
|
2262 |
"If you have more than one forum pages (boards) you should create separate "
|
2263 |
"rules for each forum board."
|
2264 |
msgstr ""
|
2265 |
|
2266 |
+
#: classes/Cache.php:419
|
2267 |
msgid "Save rules and delete all caches."
|
2268 |
msgstr ""
|
2269 |
|
2270 |
+
#: classes/Cache.php:424
|
2271 |
msgid "Please navigate in Dashboard to Performance > Page Cache admin page"
|
2272 |
msgstr ""
|
2273 |
|
2274 |
+
#: classes/Cache.php:425
|
2275 |
msgid "Go to Advanced Tab, scroll down to Rejected URL Strings option"
|
2276 |
msgstr ""
|
2277 |
|
2278 |
+
#: classes/Cache.php:426
|
2279 |
msgid ""
|
2280 |
"Scroll to Advanced section and insert the URL path(s) of your forum page(s) "
|
2281 |
"one per line in the \"Never cache the following pages\" textarea:"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
+
#: classes/Cache.php:432
|
2285 |
msgid "Please navigate in Dashboard to WP-Optimize > Cache admin page"
|
2286 |
msgstr ""
|
2287 |
|
2288 |
+
#: classes/Cache.php:433
|
2289 |
msgid ""
|
2290 |
"Go to Advanced Settings Tab, find the \"URLs to exclude from caching\" option"
|
2291 |
msgstr ""
|
2292 |
|
2293 |
+
#: classes/Cache.php:434
|
2294 |
msgid ""
|
2295 |
"Insert the URL path(s) of your forum page(s) one per line with wildcard [*] in "
|
2296 |
"the option textarea:"
|
2297 |
msgstr ""
|
2298 |
|
2299 |
+
#: classes/Cache.php:440
|
2300 |
msgid "Please navigate in Dashboard to SG Optimizer > Caching admin page"
|
2301 |
msgstr ""
|
2302 |
|
2303 |
+
#: classes/Cache.php:441
|
2304 |
msgid ""
|
2305 |
"Scroll to Exclude URLs from Caching section and click the \"pencil\" button, "
|
2306 |
"enable it, and click the button again"
|
2307 |
msgstr ""
|
2308 |
|
2309 |
+
#: classes/Cache.php:442
|
2310 |
msgid ""
|
2311 |
"Insert the URL path(s) of your forum page(s) with wildcard [*] in the pop-up "
|
2312 |
"filed:"
|
2320 |
msgid "Add a new Forum in this Category"
|
2321 |
msgstr ""
|
2322 |
|
2323 |
+
#: classes/Members.php:407
|
2324 |
msgid "<strong>ERROR</strong>: Please enter a username."
|
2325 |
msgstr ""
|
2326 |
|
2327 |
+
#: classes/Members.php:412
|
2328 |
msgid ""
|
2329 |
"<strong>ERROR</strong>: This username is invalid because it uses illegal "
|
2330 |
"characters. Please enter a valid username."
|
2331 |
msgstr ""
|
2332 |
|
2333 |
+
#: classes/Members.php:421
|
2334 |
msgid ""
|
2335 |
"<strong>ERROR</strong>: This username is already registered. Please choose "
|
2336 |
"another one."
|
2337 |
msgstr ""
|
2338 |
|
2339 |
+
#: classes/Members.php:426
|
2340 |
msgid "<strong>ERROR</strong>: Sorry, that username is not allowed."
|
2341 |
msgstr ""
|
2342 |
|
2343 |
+
#: classes/Members.php:431
|
2344 |
msgid "<strong>ERROR</strong>: Please type your email address."
|
2345 |
msgstr ""
|
2346 |
|
2347 |
+
#: classes/Members.php:436
|
2348 |
msgid "<strong>ERROR</strong>: The email address isn’t correct."
|
2349 |
msgstr ""
|
2350 |
|
2351 |
+
#: classes/Members.php:441
|
2352 |
msgid ""
|
2353 |
"<strong>ERROR</strong>: This email is already registered, please choose "
|
2354 |
"another one."
|
2355 |
msgstr ""
|
2356 |
|
2357 |
+
#: classes/Members.php:1806
|
2358 |
msgid "What should be done with wpForo content owned by this user?"
|
2359 |
msgstr ""
|
2360 |
|
2361 |
+
#: classes/Members.php:1809
|
2362 |
msgid "What should be done with wpForo content owned by these users?"
|
2363 |
msgstr ""
|
2364 |
|
2365 |
+
#: classes/Members.php:1813
|
2366 |
msgid "Delete all wpForo content."
|
2367 |
msgstr ""
|
2368 |
|
2369 |
+
#: classes/Members.php:1815
|
2370 |
msgid "Attribute all content to:"
|
2371 |
msgstr ""
|
2372 |
|
4179 |
msgid "Exclude file extensions"
|
4180 |
msgstr ""
|
4181 |
|
4182 |
+
#: classes/Settings.php:2297 includes/hooks.php:2641
|
4183 |
msgid "Google reCAPTCHA"
|
4184 |
msgstr ""
|
4185 |
|
4677 |
msgid "Minute"
|
4678 |
msgstr ""
|
4679 |
|
4680 |
+
#: classes/Settings.php:3285 includes/hooks.php:1532 includes/phrases.php:433
|
4681 |
msgid "Rating Level"
|
4682 |
msgstr ""
|
4683 |
|
4709 |
msgid "More"
|
4710 |
msgstr ""
|
4711 |
|
4712 |
+
#: classes/Settings.php:3298 includes/hooks.php:1545 includes/phrases.php:344
|
4713 |
msgid "Level"
|
4714 |
msgstr ""
|
4715 |
|
4726 |
msgstr ""
|
4727 |
|
4728 |
#: classes/Settings.php:3776 includes/installation.php:542
|
4729 |
+
#: includes/installation.php:1472 includes/options-migration.php:19
|
4730 |
+
#: includes/options-migration.php:98 includes/phrases.php:287
|
4731 |
msgid "Forum"
|
4732 |
msgstr ""
|
4733 |
|
4916 |
msgid "Front - Can view member subscriptions"
|
4917 |
msgstr ""
|
4918 |
|
4919 |
+
#: classes/UserGroups.php:72
|
4920 |
+
msgid "Front - Can upload cover"
|
4921 |
+
msgstr ""
|
4922 |
+
|
4923 |
+
#: classes/UserGroups.php:73 includes/phrases.php:731
|
4924 |
msgid "Front - Can upload avatar"
|
4925 |
msgstr ""
|
4926 |
|
4927 |
+
#: classes/UserGroups.php:74 includes/phrases.php:732
|
4928 |
msgid "Front - Can have signature"
|
4929 |
msgstr ""
|
4930 |
|
4931 |
+
#: classes/UserGroups.php:75 includes/phrases.php:733
|
4932 |
msgid "Front - Can view avatars"
|
4933 |
msgstr ""
|
4934 |
|
4935 |
+
#: classes/UserGroups.php:78 includes/phrases.php:735
|
4936 |
msgid "Front - Can view member email"
|
4937 |
msgstr ""
|
4938 |
|
4939 |
+
#: classes/UserGroups.php:79 includes/phrases.php:736
|
4940 |
msgid "Front - Can view member title"
|
4941 |
msgstr ""
|
4942 |
|
4943 |
+
#: classes/UserGroups.php:80
|
4944 |
msgid "Front - Can view member custom title"
|
4945 |
msgstr ""
|
4946 |
|
4947 |
+
#: classes/UserGroups.php:81 includes/phrases.php:737
|
4948 |
msgid "Front - Can view member reputation"
|
4949 |
msgstr ""
|
4950 |
|
4951 |
+
#: classes/UserGroups.php:82 includes/phrases.php:738
|
4952 |
msgid "Front - Can view member website"
|
4953 |
msgstr ""
|
4954 |
|
4955 |
+
#: classes/UserGroups.php:83 includes/phrases.php:739
|
4956 |
msgid "Front - Can view member social networks"
|
4957 |
msgstr ""
|
4958 |
|
4959 |
+
#: classes/UserGroups.php:84 includes/phrases.php:740
|
4960 |
msgid "Front - Can view member reg. date"
|
4961 |
msgstr ""
|
4962 |
|
4963 |
+
#: classes/UserGroups.php:85 includes/phrases.php:741
|
4964 |
msgid "Front - Can view member location"
|
4965 |
msgstr ""
|
4966 |
|
4967 |
+
#: classes/UserGroups.php:86 includes/phrases.php:742
|
4968 |
msgid "Front - Can view member occupation"
|
4969 |
msgstr ""
|
4970 |
|
4971 |
+
#: classes/UserGroups.php:87 includes/phrases.php:743
|
4972 |
msgid "Front - Can view member signature"
|
4973 |
msgstr ""
|
4974 |
|
4975 |
+
#: classes/UserGroups.php:88 includes/phrases.php:744
|
4976 |
msgid "Front - Can view member about me"
|
4977 |
msgstr ""
|
4978 |
|
4979 |
+
#: classes/UserGroups.php:89 includes/phrases.php:745
|
4980 |
msgid "Front - Can write PM"
|
4981 |
msgstr ""
|
4982 |
|
4983 |
+
#: classes/UserGroups.php:90
|
4984 |
msgid "Front - Can access to attachments"
|
4985 |
msgstr ""
|
4986 |
|
4987 |
+
#: classes/UserGroups.php:91
|
4988 |
msgid "Front - Can access to add topic page"
|
4989 |
msgstr ""
|
4990 |
|
4992 |
msgid "wpForo Menu"
|
4993 |
msgstr ""
|
4994 |
|
4995 |
+
#: includes/functions-template.php:2233
|
4996 |
msgid "No Title"
|
4997 |
msgstr ""
|
4998 |
|
5135 |
"WooCommerce Memberships plugin."
|
5136 |
msgstr ""
|
5137 |
|
5138 |
+
#: includes/functions.php:787 includes/phrases.php:327
|
|
|
|
|
|
|
|
|
|
|
|
|
5139 |
msgid "Items"
|
5140 |
msgstr ""
|
5141 |
|
5142 |
+
#: includes/functions.php:788 includes/phrases.php:222
|
5143 |
msgid "Apply"
|
5144 |
msgstr ""
|
5145 |
|
5146 |
+
#: includes/functions.php:1258
|
5147 |
#, php-format
|
5148 |
msgid "Could not write file %s"
|
5149 |
msgstr ""
|
5162 |
msgid "Uninstall"
|
5163 |
msgstr ""
|
5164 |
|
5165 |
+
#: includes/hooks.php:1259
|
5166 |
msgid "Clear"
|
5167 |
msgstr ""
|
5168 |
|
5169 |
+
#: includes/hooks.php:1261
|
5170 |
msgid "Select Color"
|
5171 |
msgstr ""
|
5172 |
|
5173 |
+
#: includes/hooks.php:1267 includes/phrases.php:183
|
5174 |
msgid "Move"
|
5175 |
msgstr ""
|
5176 |
|
5177 |
+
#: includes/hooks.php:1283
|
5178 |
msgid "Please choose one reasons before sending a feedback!"
|
5179 |
msgstr ""
|
5180 |
|
5181 |
+
#: includes/hooks.php:1285
|
5182 |
msgid ""
|
5183 |
"With the email address, please check the \"I agree to receive email\" checkbox "
|
5184 |
"to proceed."
|
5185 |
msgstr ""
|
5186 |
|
5187 |
+
#: includes/hooks.php:1286
|
5188 |
msgid "Please fill your email address for feedback"
|
5189 |
msgstr ""
|
5190 |
|
5191 |
+
#: includes/hooks.php:1287
|
5192 |
msgid "Your email address is not valid"
|
5193 |
msgstr ""
|
5194 |
|
5195 |
+
#: includes/hooks.php:1352
|
5196 |
msgid ""
|
5197 |
"IMPORTANT: wpForo can't work with default permalink, please change permalink "
|
5198 |
"structure"
|
5199 |
msgstr ""
|
5200 |
|
5201 |
+
#: includes/hooks.php:1437
|
5202 |
msgid "Forum Profile Fields - wpForo"
|
5203 |
msgstr ""
|
5204 |
|
5205 |
+
#: includes/hooks.php:1446
|
5206 |
msgid "Forum - Usergroup"
|
5207 |
msgstr ""
|
5208 |
|
5209 |
+
#: includes/hooks.php:1451
|
5210 |
#, php-format
|
5211 |
msgid ""
|
5212 |
"Forum Usergroups are synched with User Roles based on the %s. When you change "
|
5213 |
"this user Role the Usergroup is automatically changed according to that table."
|
5214 |
msgstr ""
|
5215 |
|
5216 |
+
#: includes/hooks.php:1458
|
5217 |
msgid "Synced with user role"
|
5218 |
msgstr ""
|
5219 |
|
5220 |
+
#: includes/hooks.php:1463
|
5221 |
msgid "Role-Usergroup Synchronization is Turned ON!"
|
5222 |
msgstr ""
|
5223 |
|
5224 |
+
#: includes/hooks.php:1466
|
5225 |
msgid ""
|
5226 |
"This user Usergroup is automatically changed according to current Role. If you "
|
5227 |
"want to disable Role-Usergroup synchronization and manage Usergroups and User "
|
5229 |
"admin page and disable \"Role-Usergroup Synchronization\" option."
|
5230 |
msgstr ""
|
5231 |
|
5232 |
+
#: includes/hooks.php:1480
|
5233 |
msgid "Forum - Secondary Usergroups"
|
5234 |
msgstr ""
|
5235 |
|
5236 |
+
#: includes/hooks.php:1504
|
5237 |
msgid "Forum - User Timezone"
|
5238 |
msgstr ""
|
5239 |
|
5240 |
+
#: includes/hooks.php:1515
|
5241 |
msgid "User Reputation"
|
5242 |
msgstr ""
|
5243 |
|
5244 |
+
#: includes/hooks.php:1517
|
5245 |
msgid ""
|
5246 |
"By default all members get rating badges and titles based on number of posts. "
|
5247 |
"However, using this option you can grant lower or higher rating to certain "
|
5249 |
"be managed in Forums > Settings > Members Tab."
|
5250 |
msgstr ""
|
5251 |
|
5252 |
+
#: includes/hooks.php:1522
|
5253 |
msgid "Default Rating"
|
5254 |
msgstr ""
|
5255 |
|
5256 |
+
#: includes/hooks.php:1525
|
5257 |
msgid "Custom Rating"
|
5258 |
msgstr ""
|
5259 |
|
5260 |
+
#: includes/hooks.php:1533 includes/phrases.php:865
|
5261 |
msgid "Rating Title"
|
5262 |
msgstr ""
|
5263 |
|
5264 |
+
#: includes/hooks.php:1534 includes/phrases.php:430
|
5265 |
msgid "Rating Badge"
|
5266 |
msgstr ""
|
5267 |
|
5268 |
+
#: includes/hooks.php:2151 includes/hooks.php:2199 includes/hooks.php:2335
|
5269 |
+
#: includes/hooks.php:2403
|
5270 |
msgid "Add New Forum"
|
5271 |
msgstr ""
|
5272 |
|
5273 |
+
#: includes/hooks.php:2158 includes/hooks.php:2342
|
5274 |
msgid "Add New User Group"
|
5275 |
msgstr ""
|
5276 |
|
5277 |
+
#: includes/hooks.php:2165 includes/hooks.php:2283 includes/hooks.php:2349
|
5278 |
+
#: includes/hooks.php:2446
|
5279 |
msgid "Add New Phrase"
|
5280 |
msgstr ""
|
5281 |
|
5282 |
+
#: includes/hooks.php:2174 includes/hooks.php:2386
|
5283 |
msgid "Visit Forum"
|
5284 |
msgstr ""
|
5285 |
|
5286 |
+
#: includes/hooks.php:2267 includes/hooks.php:2499
|
5287 |
msgid "Add New Usergroup"
|
5288 |
msgstr ""
|
5289 |
|
5290 |
+
#: includes/hooks.php:2467
|
5291 |
msgid "Add New Board"
|
5292 |
msgstr ""
|
5293 |
|
5294 |
+
#: includes/hooks.php:2640 includes/phrases.php:1086
|
5295 |
#, php-format
|
5296 |
msgid ""
|
5297 |
"IMPORTANT! The forum registration form is probably under risk of spam attacks. "
|
5301 |
"dismiss this message."
|
5302 |
msgstr ""
|
5303 |
|
5304 |
+
#: includes/hooks.php:2670
|
5305 |
msgid "wpForo Polls addon is disabled!"
|
5306 |
msgstr ""
|
5307 |
|
5308 |
+
#: includes/hooks.php:2670
|
5309 |
msgid ""
|
5310 |
" Your addon version is not compatible with the current version of wpForo. "
|
5311 |
"Please update the addon or downgrade wpForo to 1.7.7"
|
5312 |
msgstr ""
|
5313 |
|
5314 |
+
#: includes/hooks.php:2671
|
5315 |
msgid "dismiss"
|
5316 |
msgstr ""
|
5317 |
|
5400 |
"The user login and logout actions will also be corrupted."
|
5401 |
msgstr ""
|
5402 |
|
5403 |
+
#: includes/installation.php:543 includes/installation.php:1473
|
5404 |
+
#: includes/options-migration.php:20
|
5405 |
msgid "Discussion Board"
|
5406 |
msgstr ""
|
5407 |
|
5408 |
+
#: includes/installation.php:1171
|
5409 |
msgid "Main Category"
|
5410 |
msgstr ""
|
5411 |
|
5412 |
+
#: includes/installation.php:1171
|
5413 |
msgid "This is a simple category / section"
|
5414 |
msgstr ""
|
5415 |
|
5416 |
+
#: includes/installation.php:1172
|
5417 |
msgid "Main Forum"
|
5418 |
msgstr ""
|
5419 |
|
5420 |
+
#: includes/installation.php:1172
|
5421 |
msgid "This is a simple parent forum"
|
5422 |
msgstr ""
|
5423 |
|
6047 |
msgid "I agree to receive an email confirmation with a link to set a password."
|
6048 |
msgstr ""
|
6049 |
|
6050 |
+
#: includes/phrases.php:143
|
6051 |
+
msgid "and"
|
6052 |
+
msgstr ""
|
6053 |
+
|
6054 |
#: includes/phrases.php:144
|
6055 |
msgid "Privacy Policy"
|
6056 |
msgstr ""
|
6407 |
msgid "Display Avatars"
|
6408 |
msgstr ""
|
6409 |
|
6410 |
+
#: includes/phrases.php:258 widgets/RecentPosts.php:285
|
6411 |
msgid "Display with Avatars"
|
6412 |
msgstr ""
|
6413 |
|
6749 |
msgstr ""
|
6750 |
|
6751 |
#: includes/phrases.php:396 widgets/OnlineMembers.php:74
|
6752 |
+
#: widgets/RecentPosts.php:276 widgets/RecentTopics.php:171 widgets/Tags.php:63
|
6753 |
msgid "Number of Items"
|
6754 |
msgstr ""
|
6755 |
|
9000 |
msgid "ASC"
|
9001 |
msgstr ""
|
9002 |
|
9003 |
+
#: widgets/RecentPosts.php:236 widgets/RecentTopics.php:136
|
9004 |
msgid "Filter by forums"
|
9005 |
msgstr ""
|
9006 |
|
9007 |
+
#: widgets/RecentPosts.php:243 widgets/RecentTopics.php:148
|
9008 |
msgid "Autofilter by current forum"
|
9009 |
msgstr ""
|
9010 |
|
9011 |
+
#: widgets/RecentPosts.php:250 widgets/RecentTopics.php:155
|
9012 |
msgid "Order by"
|
9013 |
msgstr ""
|
9014 |
|
9015 |
+
#: widgets/RecentPosts.php:268
|
9016 |
msgid "Limit Per Topic"
|
9017 |
msgstr ""
|
9018 |
|
9019 |
+
#: widgets/RecentPosts.php:273
|
9020 |
msgid "set 0 to remove this limit"
|
9021 |
msgstr ""
|
9022 |
|
9023 |
+
#: widgets/RecentPosts.php:292
|
9024 |
msgid "Display Only Unread Posts"
|
9025 |
msgstr ""
|
9026 |
|
9027 |
+
#: widgets/RecentPosts.php:299
|
9028 |
msgid "Display [new] indicator"
|
9029 |
msgstr ""
|
9030 |
|
9036 |
msgid "Views Count"
|
9037 |
msgstr ""
|
9038 |
|
9039 |
+
#: widgets/RecentTopics.php:178
|
9040 |
msgid "Display with avatars"
|
9041 |
msgstr ""
|
9042 |
|
9043 |
+
#: widgets/RecentTopics.php:184
|
9044 |
msgid "Refer topics to first unread post"
|
9045 |
msgstr ""
|
9046 |
|
modules/bookmarks/classes/Actions.php
CHANGED
@@ -31,6 +31,7 @@ class Actions {
|
|
31 |
}
|
32 |
|
33 |
public function bookmark() {
|
|
|
34 |
$r = false;
|
35 |
if( WPF()->current_userid && ( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) ){
|
36 |
$boardid = WPF()->board->get_current( 'boardid' );
|
@@ -68,6 +69,7 @@ class Actions {
|
|
68 |
}
|
69 |
|
70 |
public function unbookmark() {
|
|
|
71 |
$r = false;
|
72 |
if( WPF()->current_userid && ( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) ){
|
73 |
$boardid = WPF()->board->get_current( 'boardid' );
|
31 |
}
|
32 |
|
33 |
public function bookmark() {
|
34 |
+
wpforo_verify_nonce( 'wpforo_bookmark' );
|
35 |
$r = false;
|
36 |
if( WPF()->current_userid && ( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) ){
|
37 |
$boardid = WPF()->board->get_current( 'boardid' );
|
69 |
}
|
70 |
|
71 |
public function unbookmark() {
|
72 |
+
wpforo_verify_nonce( 'wpforo_unbookmark' );
|
73 |
$r = false;
|
74 |
if( WPF()->current_userid && ( $postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) ) ) ){
|
75 |
$boardid = WPF()->board->get_current( 'boardid' );
|
modules/follows/classes/Actions.php
CHANGED
@@ -11,10 +11,10 @@ class Actions {
|
|
11 |
add_action( 'wpforo_action_followconfirm', [ $this, 'confirmation' ] );
|
12 |
add_action( 'wpforo_action_unfollow', [ $this, 'unfollow' ] );
|
13 |
|
14 |
-
add_action( 'wpforo_after_add_topic', [ $this, 'after_add_topic' ],
|
15 |
-
add_action( 'wpforo_after_add_post', [ $this, 'after_add_post' ],
|
16 |
|
17 |
-
add_action( 'wpforo_post_approve', [ $this, 'after_post_approve' ] );
|
18 |
add_action( 'wpforo_after_delete_user', [ $this, 'after_delete_user' ] );
|
19 |
|
20 |
## -- AJAX ACTIONS -- ##
|
@@ -50,11 +50,18 @@ class Actions {
|
|
50 |
continue;
|
51 |
}
|
52 |
|
53 |
-
|
54 |
-
if( ! WPF()->
|
55 |
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
59 |
}
|
60 |
|
@@ -70,11 +77,18 @@ class Actions {
|
|
70 |
continue;
|
71 |
}
|
72 |
|
73 |
-
|
74 |
-
if( ! WPF()->
|
75 |
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
79 |
}
|
80 |
|
@@ -93,6 +107,7 @@ class Actions {
|
|
93 |
### -- AJAX ACTIONS -- ###
|
94 |
|
95 |
public function follow_unfollow_user() {
|
|
|
96 |
if( WPF()->current_userid && ($userid = wpforo_bigintval( wpfval( $_POST, 'userid' ) )) ){
|
97 |
if( WPF()->current_userid !== $userid ){
|
98 |
if( (int) wpfval( $_POST, 'stat' ) ){
|
11 |
add_action( 'wpforo_action_followconfirm', [ $this, 'confirmation' ] );
|
12 |
add_action( 'wpforo_action_unfollow', [ $this, 'unfollow' ] );
|
13 |
|
14 |
+
add_action( 'wpforo_after_add_topic', [ $this, 'after_add_topic' ], 7, 2 );
|
15 |
+
add_action( 'wpforo_after_add_post', [ $this, 'after_add_post' ], 7, 2 );
|
16 |
|
17 |
+
add_action( 'wpforo_post_approve', [ $this, 'after_post_approve' ], 7 );
|
18 |
add_action( 'wpforo_after_delete_user', [ $this, 'after_delete_user' ] );
|
19 |
|
20 |
## -- AJAX ACTIONS -- ##
|
50 |
continue;
|
51 |
}
|
52 |
|
53 |
+
$key = 'topicid_' . $topic['topicid'] . '_user_email_' . $user['user_email'];
|
54 |
+
if( ! WPF()->ram_cache->exists( $key ) ){
|
55 |
|
56 |
+
if( wpforo_is_users_same( $owner, $user ) ) continue;
|
57 |
+
if( wpforo_is_users_same( $user ) ) continue;
|
58 |
+
if( ! WPF()->topic->view_access( $topic, $user ) ) continue;
|
59 |
+
|
60 |
+
$sbj_msg = WPF()->sbscrb->get_sbj_msg( 'user_follow', $forum, $topic, $owner, $user, $follow['unfollow_link'] );
|
61 |
+
wpforo_send_email( $user['user_email'], $sbj_msg['sbj'], $sbj_msg['msg'] );
|
62 |
+
|
63 |
+
WPF()->ram_cache->set( $key, true );
|
64 |
+
}
|
65 |
}
|
66 |
}
|
67 |
|
77 |
continue;
|
78 |
}
|
79 |
|
80 |
+
$key = 'postid_' . $post['postid'] . '_user_email_' . $user['user_email'];
|
81 |
+
if( ! WPF()->ram_cache->exists( $key ) ){
|
82 |
|
83 |
+
if( wpforo_is_users_same( $owner, $user ) ) continue;
|
84 |
+
if( wpforo_is_users_same( $user ) ) continue;
|
85 |
+
if( ! WPF()->post->view_access( $post, $user ) ) continue;
|
86 |
+
|
87 |
+
$sbj_msg = WPF()->sbscrb->get_sbj_msg( 'user_follow', $topic, $post, $owner, $user, $follow['unfollow_link'] );
|
88 |
+
wpforo_send_email( $user['user_email'], $sbj_msg['sbj'], $sbj_msg['msg'] );
|
89 |
+
|
90 |
+
WPF()->ram_cache->set( $key, true );
|
91 |
+
}
|
92 |
}
|
93 |
}
|
94 |
|
107 |
### -- AJAX ACTIONS -- ###
|
108 |
|
109 |
public function follow_unfollow_user() {
|
110 |
+
wpforo_verify_nonce( 'wpforo_follow_unfollow_user' );
|
111 |
if( WPF()->current_userid && ($userid = wpforo_bigintval( wpfval( $_POST, 'userid' ) )) ){
|
112 |
if( WPF()->current_userid !== $userid ){
|
113 |
if( (int) wpfval( $_POST, 'stat' ) ){
|
modules/mentioning/classes/Actions.php
CHANGED
@@ -9,8 +9,8 @@ class Actions {
|
|
9 |
|
10 |
public function init_hooks() {
|
11 |
add_filter( 'wpforo_body_text_filter', [ $this, 'mentioned_code_to_link' ] );
|
12 |
-
add_action( 'wpforo_after_add_topic', [ $this, 'send_mail_to_mentioned_users' ],
|
13 |
-
add_action( 'wpforo_after_add_post', [ $this, 'send_mail_to_mentioned_users' ],
|
14 |
|
15 |
#### -- AJAX ACTIONS -- ###
|
16 |
add_action( 'wp_ajax_wpforo_mute_mentions', [ $this, 'mute' ] );
|
@@ -41,6 +41,7 @@ class Actions {
|
|
41 |
$user = WPF()->member->get_member( $match[1] );
|
42 |
if( ! empty( $user['user_email'] ) && ! $user['is_mention_muted'] ) {
|
43 |
if( wpforo_is_users_same( $owner, $user ) ) continue;
|
|
|
44 |
if( wpfkey( $item, 'first_postid' ) ){
|
45 |
if( ! WPF()->topic->view_access( $item, $user ) ) continue;
|
46 |
}else{
|
@@ -76,8 +77,22 @@ class Actions {
|
|
76 |
|
77 |
//Sending Email Notification
|
78 |
if( wpforo_setting( 'subscriptions', 'user_mention_notify' ) ) {
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
}
|
82 |
}
|
83 |
}
|
@@ -89,6 +104,7 @@ class Actions {
|
|
89 |
* Mute Mentions, do not send mention emails
|
90 |
*/
|
91 |
public function mute() {
|
|
|
92 |
if( WPF()->current_userid && WPF()->current_object['user_is_same_current_user'] ) {
|
93 |
$is_mention_muted = ! (int) wpfval( $_POST, 'currentstate' );
|
94 |
$r = WPF()->member->update_profile_field( WPF()->current_userid, 'is_mention_muted', $is_mention_muted );
|
9 |
|
10 |
public function init_hooks() {
|
11 |
add_filter( 'wpforo_body_text_filter', [ $this, 'mentioned_code_to_link' ] );
|
12 |
+
add_action( 'wpforo_after_add_topic', [ $this, 'send_mail_to_mentioned_users' ], 5, 2 );
|
13 |
+
add_action( 'wpforo_after_add_post', [ $this, 'send_mail_to_mentioned_users' ], 5, 2 );
|
14 |
|
15 |
#### -- AJAX ACTIONS -- ###
|
16 |
add_action( 'wp_ajax_wpforo_mute_mentions', [ $this, 'mute' ] );
|
41 |
$user = WPF()->member->get_member( $match[1] );
|
42 |
if( ! empty( $user['user_email'] ) && ! $user['is_mention_muted'] ) {
|
43 |
if( wpforo_is_users_same( $owner, $user ) ) continue;
|
44 |
+
if( wpforo_is_users_same( $user ) ) continue;
|
45 |
if( wpfkey( $item, 'first_postid' ) ){
|
46 |
if( ! WPF()->topic->view_access( $item, $user ) ) continue;
|
47 |
}else{
|
77 |
|
78 |
//Sending Email Notification
|
79 |
if( wpforo_setting( 'subscriptions', 'user_mention_notify' ) ) {
|
80 |
+
|
81 |
+
if( wpfkey( $item, 'first_postid' ) ){
|
82 |
+
$key = 'topicid_' . $item['topicid'];
|
83 |
+
}else{
|
84 |
+
$key = 'postid_' . $item['postid'];
|
85 |
+
}
|
86 |
+
$key .= '_user_email_' . $user['user_email'];
|
87 |
+
|
88 |
+
if( ! WPF()->ram_cache->exists( $key ) ){
|
89 |
+
|
90 |
+
$sbj_msg = WPF()->sbscrb->get_sbj_msg( 'user_mention', $pitem, $item, $owner, $user, '' );
|
91 |
+
wpforo_send_email( $user['user_email'], $sbj_msg['sbj'], $sbj_msg['msg'] );
|
92 |
+
|
93 |
+
WPF()->ram_cache->set( $key, true );
|
94 |
+
}
|
95 |
+
|
96 |
}
|
97 |
}
|
98 |
}
|
104 |
* Mute Mentions, do not send mention emails
|
105 |
*/
|
106 |
public function mute() {
|
107 |
+
wpforo_verify_nonce( 'wpforo_mute_mentions' );
|
108 |
if( WPF()->current_userid && WPF()->current_object['user_is_same_current_user'] ) {
|
109 |
$is_mention_muted = ! (int) wpfval( $_POST, 'currentstate' );
|
110 |
$r = WPF()->member->update_profile_field( WPF()->current_userid, 'is_mention_muted', $is_mention_muted );
|
modules/reactions/classes/Actions.php
CHANGED
@@ -31,6 +31,7 @@ class Actions {
|
|
31 |
}
|
32 |
|
33 |
public function like() {
|
|
|
34 |
$response = [ 'count' => 0, 'likers' => '', 'notice' => WPF()->notice->get_notices() ];
|
35 |
$postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) );
|
36 |
if( ! is_user_logged_in() ) {
|
@@ -103,6 +104,7 @@ class Actions {
|
|
103 |
}
|
104 |
|
105 |
public function vote() {
|
|
|
106 |
if( ! WPF()->current_userid ) {
|
107 |
WPF()->notice->add( wpforo_get_login_or_register_notice_text() );
|
108 |
wp_send_json_error( [ 'notice' => WPF()->notice->get_notices() ] );
|
@@ -138,6 +140,7 @@ class Actions {
|
|
138 |
}
|
139 |
|
140 |
public function react() {
|
|
|
141 |
if( ($userid = WPF()->current_userid) && ( $postid = wpfval( $_POST, 'postid' ) ) ){
|
142 |
$types = Reactions::get_types();
|
143 |
if( !($type = wpfval( $_POST, 'type' )) || !wpfkey( $types, $type ) ) $type = 'up';
|
@@ -186,6 +189,7 @@ class Actions {
|
|
186 |
}
|
187 |
|
188 |
public function unreact() {
|
|
|
189 |
if( ($userid = WPF()->current_userid) && ( $postid = wpfval( $_POST, 'postid' ) ) ){
|
190 |
$post = wpforo_post( $postid );
|
191 |
WPF()->reaction->delete(
|
31 |
}
|
32 |
|
33 |
public function like() {
|
34 |
+
wpforo_verify_nonce( 'wpforo_like_ajax' );
|
35 |
$response = [ 'count' => 0, 'likers' => '', 'notice' => WPF()->notice->get_notices() ];
|
36 |
$postid = wpforo_bigintval( wpfval( $_POST, 'postid' ) );
|
37 |
if( ! is_user_logged_in() ) {
|
104 |
}
|
105 |
|
106 |
public function vote() {
|
107 |
+
wpforo_verify_nonce( 'wpforo_vote_ajax' );
|
108 |
if( ! WPF()->current_userid ) {
|
109 |
WPF()->notice->add( wpforo_get_login_or_register_notice_text() );
|
110 |
wp_send_json_error( [ 'notice' => WPF()->notice->get_notices() ] );
|
140 |
}
|
141 |
|
142 |
public function react() {
|
143 |
+
wpforo_verify_nonce( 'wpforo_react' );
|
144 |
if( ($userid = WPF()->current_userid) && ( $postid = wpfval( $_POST, 'postid' ) ) ){
|
145 |
$types = Reactions::get_types();
|
146 |
if( !($type = wpfval( $_POST, 'type' )) || !wpfkey( $types, $type ) ) $type = 'up';
|
189 |
}
|
190 |
|
191 |
public function unreact() {
|
192 |
+
wpforo_verify_nonce( 'wpforo_unreact' );
|
193 |
if( ($userid = WPF()->current_userid) && ( $postid = wpfval( $_POST, 'postid' ) ) ){
|
194 |
$post = wpforo_post( $postid );
|
195 |
WPF()->reaction->delete(
|
modules/revisions/classes/Actions.php
CHANGED
@@ -35,6 +35,7 @@ class Actions {
|
|
35 |
}
|
36 |
|
37 |
public function ajax_post_preview() {
|
|
|
38 |
$revision = WPF()->revision->parse_revision( $_POST );
|
39 |
ob_start();
|
40 |
WPF()->revision->Template->show_preview( $revision );
|
@@ -47,6 +48,7 @@ class Actions {
|
|
47 |
}
|
48 |
|
49 |
public function ajax_save_revision() {
|
|
|
50 |
$args = [
|
51 |
'textareaid' => (string) wpfval( $_POST, 'textareaid' ),
|
52 |
'postid' => wpforo_bigintval( wpfval( $_POST, 'postid' ) ),
|
@@ -94,6 +96,7 @@ class Actions {
|
|
94 |
}
|
95 |
|
96 |
public function ajax_get_revisions_history() {
|
|
|
97 |
$args = [
|
98 |
// 'textareaids_include' => (string) wpfval( $_POST, 'textareaid' ),
|
99 |
'postids_include' => wpforo_bigintval( wpfval( $_POST, 'postid' ) ),
|
@@ -120,6 +123,7 @@ class Actions {
|
|
120 |
}
|
121 |
|
122 |
public function ajax_get_revision() {
|
|
|
123 |
if( $revisionid = wpforo_bigintval( wpfval( $_POST, 'revisionid' ) ) ) {
|
124 |
if( $revision = WPF()->revision->get_revision( [ 'include' => $revisionid ] ) ) wp_send_json_success( $revision );
|
125 |
}
|
@@ -127,6 +131,7 @@ class Actions {
|
|
127 |
}
|
128 |
|
129 |
public function ajax_delete_revision() {
|
|
|
130 |
if( $revisionid = wpforo_bigintval( wpfval( $_POST, 'revisionid' ) ) ) {
|
131 |
if( WPF()->revision->delete( $revisionid ) ) {
|
132 |
$args = [
|
35 |
}
|
36 |
|
37 |
public function ajax_post_preview() {
|
38 |
+
wpforo_verify_nonce( 'wpforo_post_preview' );
|
39 |
$revision = WPF()->revision->parse_revision( $_POST );
|
40 |
ob_start();
|
41 |
WPF()->revision->Template->show_preview( $revision );
|
48 |
}
|
49 |
|
50 |
public function ajax_save_revision() {
|
51 |
+
wpforo_verify_nonce( 'wpforo_save_revision' );
|
52 |
$args = [
|
53 |
'textareaid' => (string) wpfval( $_POST, 'textareaid' ),
|
54 |
'postid' => wpforo_bigintval( wpfval( $_POST, 'postid' ) ),
|
96 |
}
|
97 |
|
98 |
public function ajax_get_revisions_history() {
|
99 |
+
wpforo_verify_nonce( 'wpforo_get_revisions_history' );
|
100 |
$args = [
|
101 |
// 'textareaids_include' => (string) wpfval( $_POST, 'textareaid' ),
|
102 |
'postids_include' => wpforo_bigintval( wpfval( $_POST, 'postid' ) ),
|
123 |
}
|
124 |
|
125 |
public function ajax_get_revision() {
|
126 |
+
wpforo_verify_nonce( 'wpforo_get_revision' );
|
127 |
if( $revisionid = wpforo_bigintval( wpfval( $_POST, 'revisionid' ) ) ) {
|
128 |
if( $revision = WPF()->revision->get_revision( [ 'include' => $revisionid ] ) ) wp_send_json_success( $revision );
|
129 |
}
|
131 |
}
|
132 |
|
133 |
public function ajax_delete_revision() {
|
134 |
+
wpforo_verify_nonce( 'wpforo_delete_revision' );
|
135 |
if( $revisionid = wpforo_bigintval( wpfval( $_POST, 'revisionid' ) ) ) {
|
136 |
if( WPF()->revision->delete( $revisionid ) ) {
|
137 |
$args = [
|
modules/subscriptions/classes/Actions.php
CHANGED
@@ -173,15 +173,15 @@ class Actions {
|
|
173 |
&& ($forum = WPF()->forum->get_forum( $forumid ))
|
174 |
) {
|
175 |
$topic['body'] = $post['body'];
|
176 |
-
$this->after_add_topic( $topic, $forum );
|
177 |
WPF()->sbscrb->Mentioning->Actions->send_mail_to_mentioned_users( $topic, $forum );
|
|
|
178 |
}
|
179 |
}else{
|
180 |
if( ($topicid = wpforo_bigintval(wpfval($post, 'topicid')))
|
181 |
&& ($topic = WPF()->topic->get_topic( $topicid ))
|
182 |
) {
|
183 |
-
$this->after_add_post( $post, $topic );
|
184 |
WPF()->sbscrb->Mentioning->Actions->send_mail_to_mentioned_users( $post, $topic );
|
|
|
185 |
}
|
186 |
}
|
187 |
}
|
@@ -225,10 +225,17 @@ class Actions {
|
|
225 |
$unsubscribe_link = '';
|
226 |
}
|
227 |
|
228 |
-
|
|
|
|
|
|
|
|
|
229 |
|
230 |
-
|
231 |
-
|
|
|
|
|
|
|
232 |
}
|
233 |
}
|
234 |
|
@@ -261,16 +268,24 @@ class Actions {
|
|
261 |
$unsubscribe_link = '';
|
262 |
}
|
263 |
|
264 |
-
|
|
|
|
|
|
|
|
|
265 |
|
266 |
-
|
267 |
-
|
|
|
|
|
|
|
268 |
}
|
269 |
}
|
270 |
|
271 |
############### -- AJAX ACTIONS -- ###############
|
272 |
|
273 |
public function subscribe() {
|
|
|
274 |
$return = 0;
|
275 |
$resp = [ 'notice' => WPF()->notice->get_notices() ];
|
276 |
$args = [
|
@@ -364,6 +379,7 @@ class Actions {
|
|
364 |
}
|
365 |
|
366 |
public function unsubscribe() {
|
|
|
367 |
$r = false;
|
368 |
|
369 |
$boardid = wpfkey( $_POST, 'boardid' ) ? (int) $_POST['boardid'] : WPF()->board->get_current( 'boardid' );
|
173 |
&& ($forum = WPF()->forum->get_forum( $forumid ))
|
174 |
) {
|
175 |
$topic['body'] = $post['body'];
|
|
|
176 |
WPF()->sbscrb->Mentioning->Actions->send_mail_to_mentioned_users( $topic, $forum );
|
177 |
+
$this->after_add_topic( $topic, $forum );
|
178 |
}
|
179 |
}else{
|
180 |
if( ($topicid = wpforo_bigintval(wpfval($post, 'topicid')))
|
181 |
&& ($topic = WPF()->topic->get_topic( $topicid ))
|
182 |
) {
|
|
|
183 |
WPF()->sbscrb->Mentioning->Actions->send_mail_to_mentioned_users( $post, $topic );
|
184 |
+
$this->after_add_post( $post, $topic );
|
185 |
}
|
186 |
}
|
187 |
}
|
225 |
$unsubscribe_link = '';
|
226 |
}
|
227 |
|
228 |
+
$key = 'topicid_' . $topic['topicid'] . '_user_email_' . $user['user_email'];
|
229 |
+
if( ! WPF()->ram_cache->exists( $key ) ){
|
230 |
+
|
231 |
+
if( wpforo_is_users_same( $owner, $user ) ) continue;
|
232 |
+
if( wpforo_is_users_same( $user ) ) continue;
|
233 |
|
234 |
+
$sbj_msg = WPF()->sbscrb->get_sbj_msg( 'new_topic', $forum, $topic, $owner, $user, $unsubscribe_link );
|
235 |
+
wpforo_send_email( $user['user_email'], $sbj_msg['sbj'], $sbj_msg['msg'] );
|
236 |
+
|
237 |
+
WPF()->ram_cache->set( $key, true );
|
238 |
+
}
|
239 |
}
|
240 |
}
|
241 |
|
268 |
$unsubscribe_link = '';
|
269 |
}
|
270 |
|
271 |
+
$key = 'postid_' . $post['postid'] . '_user_email_' . $user['user_email'];
|
272 |
+
if( ! WPF()->ram_cache->exists( $key ) ){
|
273 |
+
|
274 |
+
if( wpforo_is_users_same( $owner, $user ) ) continue;
|
275 |
+
if( wpforo_is_users_same( $user ) ) continue;
|
276 |
|
277 |
+
$sbj_msg = WPF()->sbscrb->get_sbj_msg( 'new_post', $topic, $post, $owner, $user, $unsubscribe_link );
|
278 |
+
wpforo_send_email( $user['user_email'], $sbj_msg['sbj'], $sbj_msg['msg'] );
|
279 |
+
|
280 |
+
WPF()->ram_cache->set( $key, true );
|
281 |
+
}
|
282 |
}
|
283 |
}
|
284 |
|
285 |
############### -- AJAX ACTIONS -- ###############
|
286 |
|
287 |
public function subscribe() {
|
288 |
+
wpforo_verify_nonce( 'wpforo_subscribe_ajax' );
|
289 |
$return = 0;
|
290 |
$resp = [ 'notice' => WPF()->notice->get_notices() ];
|
291 |
$args = [
|
379 |
}
|
380 |
|
381 |
public function unsubscribe() {
|
382 |
+
wpforo_verify_nonce( 'wpforo_unsubscribe' );
|
383 |
$r = false;
|
384 |
|
385 |
$boardid = wpfkey( $_POST, 'boardid' ) ? (int) $_POST['boardid'] : WPF()->board->get_current( 'boardid' );
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: gVectors Team
|
|
3 |
Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
|
4 |
Requires at least: 5.1
|
5 |
Tested up to: 6.0
|
6 |
-
Stable tag: 2.0.
|
7 |
Requires PHP: 5.6 and higher
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
@@ -17,13 +17,14 @@ wpForo Forums is the best WordPress forum plugin. Full-fledged yet easy and ligh
|
|
17 |
= 5 Minute Forum Installation! =
|
18 |
|
19 |
1. Activate plugin and find forums on /community/ page, (/community-2/ if /community/ is used),
|
20 |
-
2. Manage
|
21 |
-
3. Manage
|
22 |
-
4. Manage Forum
|
23 |
-
5. Manage Forum
|
|
|
24 |
|
25 |
Support Forum and Demo: [https://wpforo.com/community/](https://wpforo.com/community/)
|
26 |
-
Forum Documentation: [https://wpforo.com/
|
27 |
GDPR Compliance: [https://wpforo.com/gdpr/](https://wpforo.com/gdpr/)
|
28 |
|
29 |
|
@@ -46,7 +47,7 @@ wpForo is a WordPress forum plugin with all possibilities of plugin translation.
|
|
46 |
|
47 |
= FORUM FEATURES =
|
48 |
|
49 |
-
* Multi-board: Allows to
|
50 |
* Multi-language: Allows to forums with different languages
|
51 |
* Multi-layout: Four modern forum layouts (Q&A, Threaded...)
|
52 |
* Designed for small and extremely large forums/communities.
|
@@ -162,7 +163,7 @@ Find wpForo forum plugin addons on [gVectors Team website...](https://gvectors.c
|
|
162 |
|
163 |
== Changelog ==
|
164 |
|
165 |
-
= wpForo Forum 2.0.1 - 2.0.
|
166 |
|
167 |
[wpForo Forum v2.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-2-0-1-is-released/)
|
168 |
|
@@ -178,6 +179,38 @@ IMPORTANT NOTES for UPDATE
|
|
178 |
|
179 |
ADDED FEATURES and FIXED BUGS
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
* Version 2.0.5
|
182 |
* Added: Topic and Post dislike notification
|
183 |
* Added: ID's to forum wrappers on forum home page
|
3 |
Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
|
4 |
Requires at least: 5.1
|
5 |
Tested up to: 6.0
|
6 |
+
Stable tag: 2.0.6
|
7 |
Requires PHP: 5.6 and higher
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
17 |
= 5 Minute Forum Installation! =
|
18 |
|
19 |
1. Activate plugin and find forums on /community/ page, (/community-2/ if /community/ is used),
|
20 |
+
2. Manage forum page, title, etc in Dashboard > wpForo > Board > Edit Board admin page,
|
21 |
+
3. Manage Forums in Dashboard > wpForo > Forums admin page,
|
22 |
+
4. Manage Forum Menu in Dashboard > Appearance > Menu admin page,
|
23 |
+
5. Manage Forum Widgets in Dashboard > Appearance > Widgets admin page,
|
24 |
+
6. Manage Forum Colors in Dashboard > wpForo > Settings > Colors & Styles admin page, you can choose forum color styles.
|
25 |
|
26 |
Support Forum and Demo: [https://wpforo.com/community/](https://wpforo.com/community/)
|
27 |
+
Forum Documentation: [https://wpforo.com/docs/](https://wpforo.com/docs/)
|
28 |
GDPR Compliance: [https://wpforo.com/gdpr/](https://wpforo.com/gdpr/)
|
29 |
|
30 |
|
47 |
|
48 |
= FORUM FEATURES =
|
49 |
|
50 |
+
* Multi-board: Allows to have multiple separate forum pages
|
51 |
* Multi-language: Allows to forums with different languages
|
52 |
* Multi-layout: Four modern forum layouts (Q&A, Threaded...)
|
53 |
* Designed for small and extremely large forums/communities.
|
163 |
|
164 |
== Changelog ==
|
165 |
|
166 |
+
= wpForo Forum 2.0.1 - 2.0.6 | 03.08.2021 - 19.08.2021 =
|
167 |
|
168 |
[wpForo Forum v2.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-2-0-1-is-released/)
|
169 |
|
179 |
|
180 |
ADDED FEATURES and FIXED BUGS
|
181 |
|
182 |
+
* Version 2.0.6
|
183 |
+
* Added: Usergroup permission "Can upload cover profile image"
|
184 |
+
* Added: Display Tags link in forum footer
|
185 |
+
* Added: Favored button in member's profile buttons
|
186 |
+
* Added: Member paths in cache excluding admin notes
|
187 |
+
* Added: Admin notification when the default board is missing
|
188 |
+
* Added: Info in Errors & Issues tab when old customized template files are detected
|
189 |
+
* Security: Added wp_nonce and wp_send_json_error() to all AJAX requests
|
190 |
+
* Spam Protection: Minimum user level to display signature
|
191 |
+
* Spam Protection: Don't show profile fields for users who don't have content
|
192 |
+
* Fixed Bug: Classic theme issues (like button, search icon, profile page)
|
193 |
+
* Fixed Bug: Disable forum statistic using the corresponding option
|
194 |
+
* Fixed Bug: Duplicated information about points on profile and members page
|
195 |
+
* Fixed Bug: Icon issue in Member Title profile field
|
196 |
+
* Fixed Bug: Problem with password changing in forum profile page
|
197 |
+
* Fixed Bug: Using WordPress timezone for not-loggedin visitors
|
198 |
+
* Fixed Bug: The checkbox options of Admin Note don't work
|
199 |
+
* Fixed Bug: Cannot add forum cover image in non-default boards
|
200 |
+
* Fixed Bug: Problems with manual approval of new registered users
|
201 |
+
* Fixed Bug: Turn off topic suggestion when editing a topic
|
202 |
+
* Fixed Bug: Problem with saving the board description
|
203 |
+
* Fixed Bug: Stop loading UM css and other functions if UM is not installed
|
204 |
+
* Fixed Bug: Pagination dropdown background issue
|
205 |
+
* Fixed Bug: Remove nofollow links from the end of breadcrumbs
|
206 |
+
* Fixed Bug: Avatar overlapping issue in Simplified layout
|
207 |
+
* Fixed Bug: Avoid sending duplicated email on new reply and user mentioning
|
208 |
+
* Fixed Bug: Don't send email to the post approving moderator
|
209 |
+
* Fixed Bug: Email template and shortcode issues
|
210 |
+
* Fixed Bug: User Profile Synchronization Issue
|
211 |
+
* Fixed Bug: Filter by forums in Recent Posts widget
|
212 |
+
* Fixed Bug: PHP Note: Empty values in widget / Warning: Undefined array key Posts.php on line 655
|
213 |
+
* --------
|
214 |
* Version 2.0.5
|
215 |
* Added: Topic and Post dislike notification
|
216 |
* Added: ID's to forum wrappers on forum home page
|
themes/2022/footer.php
CHANGED
@@ -14,7 +14,7 @@ if( ! defined( 'ABSPATH' ) ) exit;
|
|
14 |
<div id="wpforo-footer">
|
15 |
<?php $stat = WPF()->statistic(); ?>
|
16 |
<?php do_action( 'wpforo_stat_bar_start', WPF() ); ?>
|
17 |
-
<?php if( wpforo_setting( 'components', '
|
18 |
<div id="wpforo-stat-header">
|
19 |
<div class="wpf-footer-title">
|
20 |
<svg viewBox="0 0 2048 1792" xmlns="http://www.w3.org/2000/svg"><path d="M640 896v512h-256v-512h256zm384-512v1024h-256v-1024h256zm1024 1152v128h-2048v-1536h128v1408h1920zm-640-896v768h-256v-768h256zm384-384v1152h-256v-1152h256z"/></svg>
|
@@ -24,12 +24,12 @@ if( ! defined( 'ABSPATH' ) ) exit;
|
|
24 |
<div class="wpf-all-read"><?php wpforo_mark_all_read_link() ?></div>
|
25 |
<?php if( isset( $stat['posts'] ) && $stat['posts'] ): ?><div class="wpf-stat-recent-posts"><a href="<?php echo esc_url( wpforo_home_url( wpforo_settings_get_slug( 'recent' ) ) ) ?>"><i class="fas fa-list-ul"></i> <span><?php wpforo_phrase( 'Recent Posts' ) ?></span></a></div><?php endif; ?>
|
26 |
<?php if( isset( $stat['posts'] ) && $stat['posts'] ): ?><div class="wpf-stat-unread-posts"><a href="<?php echo esc_url( wpforo_home_url( wpforo_settings_get_slug( 'recent' ) . '?view=unread' ) ) ?>"><i class="fas fa-layer-group"></i> <span><?php wpforo_phrase( 'Unread Posts' ) ?></span></a></div><?php endif; ?>
|
27 |
-
<?php if(
|
28 |
</div>
|
29 |
</div>
|
30 |
<div id="wpforo-stat-body">
|
31 |
|
32 |
-
<?php if( WPF()->usergroup->can( 'view_stat' ) ) : ?>
|
33 |
<div class="wpf-footer-box">
|
34 |
<ul>
|
35 |
<li>
|
14 |
<div id="wpforo-footer">
|
15 |
<?php $stat = WPF()->statistic(); ?>
|
16 |
<?php do_action( 'wpforo_stat_bar_start', WPF() ); ?>
|
17 |
+
<?php if( wpforo_setting( 'components', 'footer' ) ): ?>
|
18 |
<div id="wpforo-stat-header">
|
19 |
<div class="wpf-footer-title">
|
20 |
<svg viewBox="0 0 2048 1792" xmlns="http://www.w3.org/2000/svg"><path d="M640 896v512h-256v-512h256zm384-512v1024h-256v-1024h256zm1024 1152v128h-2048v-1536h128v1408h1920zm-640-896v768h-256v-768h256zm384-384v1152h-256v-1152h256z"/></svg>
|
24 |
<div class="wpf-all-read"><?php wpforo_mark_all_read_link() ?></div>
|
25 |
<?php if( isset( $stat['posts'] ) && $stat['posts'] ): ?><div class="wpf-stat-recent-posts"><a href="<?php echo esc_url( wpforo_home_url( wpforo_settings_get_slug( 'recent' ) ) ) ?>"><i class="fas fa-list-ul"></i> <span><?php wpforo_phrase( 'Recent Posts' ) ?></span></a></div><?php endif; ?>
|
26 |
<?php if( isset( $stat['posts'] ) && $stat['posts'] ): ?><div class="wpf-stat-unread-posts"><a href="<?php echo esc_url( wpforo_home_url( wpforo_settings_get_slug( 'recent' ) . '?view=unread' ) ) ?>"><i class="fas fa-layer-group"></i> <span><?php wpforo_phrase( 'Unread Posts' ) ?></span></a></div><?php endif; ?>
|
27 |
+
<?php if( wpforo_is_module_enabled( 'tags' ) ): ?><div class="wpf-stat-tags"><a href="<?php echo esc_url( wpforo_home_url( wpforo_settings_get_slug( 'tags' ) ) ) ?>"><i class="fas fa-tag"></i> <span><?php wpforo_phrase( 'Tags' ) ?></span></a></div><?php endif; ?>
|
28 |
</div>
|
29 |
</div>
|
30 |
<div id="wpforo-stat-body">
|
31 |
|
32 |
+
<?php if( wpforo_setting( 'components', 'footer_stat' ) && WPF()->usergroup->can( 'view_stat' ) ) : ?>
|
33 |
<div class="wpf-footer-box">
|
34 |
<ul>
|
35 |
<li>
|
themes/2022/members.php
CHANGED
@@ -36,7 +36,6 @@ $members = WPF()->current_object['members'];
|
|
36 |
<div class="wpforo-member-reputation">
|
37 |
<?php wpforo_member_title($member, true, '', '', ['usergroup']) ?>
|
38 |
<?php wpforo_member_badge($member) ?>
|
39 |
-
<?php do_action( 'wpforo_after_member_badge', $member ) ?>
|
40 |
</div>
|
41 |
<div class="wpforo-member-joined">
|
42 |
<?php wpforo_phrase('Joined:') ?> <?php wpforo_date( $member['user_registered'], 'date' ) ?>
|
36 |
<div class="wpforo-member-reputation">
|
37 |
<?php wpforo_member_title($member, true, '', '', ['usergroup']) ?>
|
38 |
<?php wpforo_member_badge($member) ?>
|
|
|
39 |
</div>
|
40 |
<div class="wpforo-member-joined">
|
41 |
<?php wpforo_phrase('Joined:') ?> <?php wpforo_date( $member['user_registered'], 'date' ) ?>
|
themes/2022/profile-home.php
CHANGED
@@ -118,7 +118,13 @@ $rating_level = wpfval( WPF()->current_object['user'], 'rating', 'level' );
|
|
118 |
|
119 |
<div class="wpf-profile-section wpf-mi-section">
|
120 |
<div class="wpf-table">
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
</div>
|
123 |
</div>
|
124 |
|
118 |
|
119 |
<div class="wpf-profile-section wpf-mi-section">
|
120 |
<div class="wpf-table">
|
121 |
+
<?php if( apply_filters('wpforo_profile_field_displaying_restriction', true) ): ?>
|
122 |
+
<?php if( WPF()->usergroup->can( 'em', wpfval( WPF()->current_object['user'], 'groupid' ) ) || wpfval( WPF()->current_object['user'], 'posts' ) ): ?>
|
123 |
+
<?php wpforo_fields( $fields ); ?>
|
124 |
+
<?php endif; ?>
|
125 |
+
<?php else: ?>
|
126 |
+
<?php wpforo_fields( $fields ); ?>
|
127 |
+
<?php endif; ?>
|
128 |
</div>
|
129 |
</div>
|
130 |
|
themes/2022/profile.php
CHANGED
@@ -49,7 +49,6 @@ $user = wpforo_get_current_object_user();
|
|
49 |
<div class="wpfp-box wpfp-reputation">
|
50 |
<?php wpforo_member_title($user, true,'', '', ['usergroup']) ?>
|
51 |
<?php wpforo_member_badge($user) ?>
|
52 |
-
<?php do_action( 'wpforo_after_member_badge', $user ); ?>
|
53 |
</div>
|
54 |
<div class="wpfp-flex"><?php do_action( 'wpforo_after_member_badge_right', $user ); ?></div>
|
55 |
<?php if( WPF()->current_object['user_is_same_current_user'] || WPF()->usergroup->can( 'vmrd' ) ) : ?>
|
49 |
<div class="wpfp-box wpfp-reputation">
|
50 |
<?php wpforo_member_title($user, true,'', '', ['usergroup']) ?>
|
51 |
<?php wpforo_member_badge($user) ?>
|
|
|
52 |
</div>
|
53 |
<div class="wpfp-flex"><?php do_action( 'wpforo_after_member_badge_right', $user ); ?></div>
|
54 |
<?php if( WPF()->current_object['user_is_same_current_user'] || WPF()->usergroup->can( 'vmrd' ) ) : ?>
|
themes/2022/style-rtl.css
CHANGED
@@ -509,7 +509,7 @@ RTL Style of Classic Theme
|
|
509 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box{ min-width: 60px; margin: 0 5px; }
|
510 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbl{ font-size: 12px; padding-bottom: 2px;}
|
511 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd{ font-size: 16px; padding: 0 2px; line-height: 16px;}
|
512 |
-
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar{display: flex; justify-content: flex-start; align-items: center;}
|
513 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar img{ width: 25px; height: 25px; border: 2px solid #fff; margin-left: -8px;}
|
514 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar .wpf-sbd-count{font-size: 13px; margin-right: 13px;}
|
515 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-last-post-info{display: flex; justify-content: flex-start; align-content: center; margin-top: 5px; padding-top: 1px;}
|
@@ -1189,7 +1189,8 @@ RTL Style of Classic Theme
|
|
1189 |
|
1190 |
#wpforo #wpforo-wrap .wpf-form-wrapper{padding-top:10px;}
|
1191 |
#wpforo #wpforo-wrap .wpf-post-create{padding:10px 0;}
|
1192 |
-
#wpforo #wpforo-wrap .wpf-field.wpf-field-name-title input[type="text"]
|
|
|
1193 |
#wpforo #wpforo-wrap .wpf-reply-form-title{ margin:25px 0 15px 0; font-size:22px; font-weight:normal; line-height:26px; display:block;}
|
1194 |
#wpforo #wpforo-wrap .wpf-post-create .wp-editor-tools{padding:5px 5px 0 10px; margin-bottom:10px;}
|
1195 |
#wpforo #wpforo-wrap .wpf-post-create .wp-editor-tabs a.switch-tmce{padding:5px 10px; border-bottom:none;}
|
@@ -1456,7 +1457,7 @@ RTL Style of Classic Theme
|
|
1456 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap .wpf-next-button{padding:3px 8px!important; color:#fff; font-size:12px; cursor:pointer; line-height: 16px; border-radius: 10px 0 0 10px;}
|
1457 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap i.fa-chevron-left{font-size:10px; margin: 0 2px;}
|
1458 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap i.fa-chevron-right{font-size:10px; margin: 0 2px;}
|
1459 |
-
#wpforo #wpforo-wrap .wpf-navi select.wpf-navi-dropdown {appearance:none; width:auto; -webkit-appearance:none; -moz-appearance: none; font-size:12px; padding:1px 10px!important; margin:0; cursor:pointer; border-radius: 0;}
|
1460 |
|
1461 |
/******************************************************/
|
1462 |
/******************** Stat Panel **********************/
|
509 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box{ min-width: 60px; margin: 0 5px; }
|
510 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbl{ font-size: 12px; padding-bottom: 2px;}
|
511 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd{ font-size: 16px; padding: 0 2px; line-height: 16px;}
|
512 |
+
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar{display: flex; justify-content: flex-start; align-items: center; overflow: hidden;}
|
513 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar img{ width: 25px; height: 25px; border: 2px solid #fff; margin-left: -8px;}
|
514 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar .wpf-sbd-count{font-size: 13px; margin-right: 13px;}
|
515 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-last-post-info{display: flex; justify-content: flex-start; align-content: center; margin-top: 5px; padding-top: 1px;}
|
1189 |
|
1190 |
#wpforo #wpforo-wrap .wpf-form-wrapper{padding-top:10px;}
|
1191 |
#wpforo #wpforo-wrap .wpf-post-create{padding:10px 0;}
|
1192 |
+
#wpforo #wpforo-wrap .wpf-topic-create .wpf-field.wpf-field-name-title input[type="text"],
|
1193 |
+
#wpforo #wpforo-wrap .wpf-post-create .wpf-field.wpf-field-name-title input[type="text"]{padding: 5px 15px;}
|
1194 |
#wpforo #wpforo-wrap .wpf-reply-form-title{ margin:25px 0 15px 0; font-size:22px; font-weight:normal; line-height:26px; display:block;}
|
1195 |
#wpforo #wpforo-wrap .wpf-post-create .wp-editor-tools{padding:5px 5px 0 10px; margin-bottom:10px;}
|
1196 |
#wpforo #wpforo-wrap .wpf-post-create .wp-editor-tabs a.switch-tmce{padding:5px 10px; border-bottom:none;}
|
1457 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap .wpf-next-button{padding:3px 8px!important; color:#fff; font-size:12px; cursor:pointer; line-height: 16px; border-radius: 10px 0 0 10px;}
|
1458 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap i.fa-chevron-left{font-size:10px; margin: 0 2px;}
|
1459 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap i.fa-chevron-right{font-size:10px; margin: 0 2px;}
|
1460 |
+
#wpforo #wpforo-wrap .wpf-navi select.wpf-navi-dropdown {appearance:none; width:auto; -webkit-appearance:none; -moz-appearance: none; font-size:12px; padding:1px 10px!important; margin:0; cursor:pointer; border-radius: 0; background-image: none;}
|
1461 |
|
1462 |
/******************************************************/
|
1463 |
/******************** Stat Panel **********************/
|
themes/2022/style.css
CHANGED
@@ -515,7 +515,7 @@ Author: gVectors Team
|
|
515 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box{ min-width: 60px; margin: 0 5px; }
|
516 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbl{ font-size: 12px; padding-bottom: 2px;}
|
517 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd{ font-size: 16px; padding: 0 2px; line-height: 16px;}
|
518 |
-
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar{display: flex; justify-content: flex-start; align-items: center;}
|
519 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar img{ width: 25px; height: 25px; border: 2px solid #fff; margin-right: -8px;}
|
520 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar .wpf-sbd-count{font-size: 13px; margin-left: 13px;}
|
521 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-last-post-info{display: flex; justify-content: flex-start; align-content: center; margin-top: 5px; padding-top: 1px;}
|
@@ -1199,7 +1199,8 @@ Author: gVectors Team
|
|
1199 |
|
1200 |
#wpforo #wpforo-wrap .wpf-form-wrapper{padding-top:10px;}
|
1201 |
#wpforo #wpforo-wrap .wpf-post-create{padding:10px 0;}
|
1202 |
-
#wpforo #wpforo-wrap .wpf-field.wpf-field-name-title input[type="text"]
|
|
|
1203 |
#wpforo #wpforo-wrap .wpf-reply-form-title{ margin:25px 0 15px 0; font-size:22px; font-weight:normal; line-height:26px; display:block;}
|
1204 |
#wpforo #wpforo-wrap .wpf-post-create .wp-editor-tools{padding:5px 10px 0 5px; margin-bottom:10px;}
|
1205 |
#wpforo #wpforo-wrap .wpf-post-create .wp-editor-tabs a.switch-tmce{padding:5px 10px; border-bottom:none;}
|
@@ -1466,7 +1467,7 @@ Author: gVectors Team
|
|
1466 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap .wpf-next-button{padding:3px 8px!important; color:#fff; font-size:12px; cursor:pointer; line-height: 16px; border-radius: 0 10px 10px 0;}
|
1467 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap i.fa-chevron-left{font-size:10px; margin: 0 2px;}
|
1468 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap i.fa-chevron-right{font-size:10px; margin: 0 2px;}
|
1469 |
-
#wpforo #wpforo-wrap .wpf-navi select.wpf-navi-dropdown {appearance:none; width:auto; -webkit-appearance:none; -moz-appearance: none; font-size:12px; padding:1px 10px!important; margin:0; cursor:pointer; border-radius: 0;}
|
1470 |
|
1471 |
/******************************************************/
|
1472 |
/******************** Stat Panel **********************/
|
515 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box{ min-width: 60px; margin: 0 5px; }
|
516 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbl{ font-size: 12px; padding-bottom: 2px;}
|
517 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd{ font-size: 16px; padding: 0 2px; line-height: 16px;}
|
518 |
+
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar{display: flex; justify-content: flex-start; align-items: center; overflow: hidden;}
|
519 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar img{ width: 25px; height: 25px; border: 2px solid #fff; margin-right: -8px;}
|
520 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-forum-details .wpf-stat-box .wpf-sbd.wpf-sbd-avatar .wpf-sbd-count{font-size: 13px; margin-left: 13px;}
|
521 |
#wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-last-post-info{display: flex; justify-content: flex-start; align-content: center; margin-top: 5px; padding-top: 1px;}
|
1199 |
|
1200 |
#wpforo #wpforo-wrap .wpf-form-wrapper{padding-top:10px;}
|
1201 |
#wpforo #wpforo-wrap .wpf-post-create{padding:10px 0;}
|
1202 |
+
#wpforo #wpforo-wrap .wpf-topic-create .wpf-field.wpf-field-name-title input[type="text"],
|
1203 |
+
#wpforo #wpforo-wrap .wpf-post-create .wpf-field.wpf-field-name-title input[type="text"]{padding: 5px 15px;}
|
1204 |
#wpforo #wpforo-wrap .wpf-reply-form-title{ margin:25px 0 15px 0; font-size:22px; font-weight:normal; line-height:26px; display:block;}
|
1205 |
#wpforo #wpforo-wrap .wpf-post-create .wp-editor-tools{padding:5px 10px 0 5px; margin-bottom:10px;}
|
1206 |
#wpforo #wpforo-wrap .wpf-post-create .wp-editor-tabs a.switch-tmce{padding:5px 10px; border-bottom:none;}
|
1467 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap .wpf-next-button{padding:3px 8px!important; color:#fff; font-size:12px; cursor:pointer; line-height: 16px; border-radius: 0 10px 10px 0;}
|
1468 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap i.fa-chevron-left{font-size:10px; margin: 0 2px;}
|
1469 |
#wpforo #wpforo-wrap .wpf-navi .wpf-navi-wrap i.fa-chevron-right{font-size:10px; margin: 0 2px;}
|
1470 |
+
#wpforo #wpforo-wrap .wpf-navi select.wpf-navi-dropdown {appearance:none; width:auto; -webkit-appearance:none; -moz-appearance: none; font-size:12px; padding:1px 10px!important; margin:0; cursor:pointer; border-radius: 0; background-image: none;}
|
1471 |
|
1472 |
/******************************************************/
|
1473 |
/******************** Stat Panel **********************/
|
themes/classic/layouts/1/post.php
CHANGED
@@ -49,6 +49,7 @@ if( ! defined( 'ABSPATH' ) ) exit;
|
|
49 |
<?php WPF()->tpl->member_social_buttons( $member ) ?>
|
50 |
</div>
|
51 |
</div>
|
|
|
52 |
</div><!-- left -->
|
53 |
<div class="wpf-right">
|
54 |
<div class="wpforo-post-content-top">
|
49 |
<?php WPF()->tpl->member_social_buttons( $member ) ?>
|
50 |
</div>
|
51 |
</div>
|
52 |
+
<?php do_action( 'wpforo_post_left_end', $post, $topic, $forum, 1 ); ?>
|
53 |
</div><!-- left -->
|
54 |
<div class="wpf-right">
|
55 |
<div class="wpforo-post-content-top">
|
themes/classic/layouts/2/post.php
CHANGED
@@ -74,6 +74,7 @@ if( ! defined( 'ABSPATH' ) ) exit;
|
|
74 |
<span class="wpf-mod-message"><i class="fas fa-exclamation-circle" aria-hidden="true"></i> <?php wpforo_phrase( 'Awaiting moderation' ) ?></span>
|
75 |
<?php endif; ?>
|
76 |
</div>
|
|
|
77 |
</div>
|
78 |
<div class="wpforo-post-content-bottom">
|
79 |
<div class="cbleft wpfcl-0">
|
74 |
<span class="wpf-mod-message"><i class="fas fa-exclamation-circle" aria-hidden="true"></i> <?php wpforo_phrase( 'Awaiting moderation' ) ?></span>
|
75 |
<?php endif; ?>
|
76 |
</div>
|
77 |
+
<?php do_action( 'wpforo_post_content_end', $post, $topic, $forum, 2 ); ?>
|
78 |
</div>
|
79 |
<div class="wpforo-post-content-bottom">
|
80 |
<div class="cbleft wpfcl-0">
|
themes/classic/style-rtl.css
CHANGED
@@ -332,6 +332,29 @@ RTL Style of Classic Theme
|
|
332 |
#wpforo #wpforo-wrap .wpf-post-starter{padding: 3px 10px; display: inline-block; line-height: 16px; font-size: 12px;}
|
333 |
#wpforo #wpforo-wrap .wpf-post-starter i{margin-left: 2px;}
|
334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
335 |
/****************************************************/
|
336 |
/********* wpForo Layout 1 (Extended Layout) ********/
|
337 |
/****************************************************/
|
@@ -410,6 +433,12 @@ RTL Style of Classic Theme
|
|
410 |
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .bright{float:left; text-align:left;}
|
411 |
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-right .wpf-post-starter{margin-left: 10px; border-bottom: none; margin-bottom: -1px;}
|
412 |
|
|
|
|
|
|
|
|
|
|
|
|
|
413 |
/******************************************************/
|
414 |
/********* wpForo Layout 2 (Simplified Layout) ********/
|
415 |
/******************************************************/
|
@@ -907,6 +936,34 @@ RTL Style of Classic Theme
|
|
907 |
#wpforo #wpforo-wrap .wpforo-activity-content .activity-date{padding:10px; white-space:nowrap; width:23%; text-align:center;}
|
908 |
#wpforo #wpforo-wrap .wpforo-activity-content .activity-foot {padding:10px; width:100%; text-align:left; margin-top:2px; border-top:#ffffff solid 1px;}
|
909 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
910 |
/******************************************************/
|
911 |
/******************** SUBSCRIPTION ********************/
|
912 |
/******************************************************/
|
@@ -1572,6 +1629,8 @@ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog{background-color: #000; c
|
|
1572 |
#wpforo #wpforo-wrap .wpf-acp-footer{background: #F5F5F5; padding:10px; border-top: 1px dashed #ccc; display: flex; justify-content: center; flex-wrap: wrap;}
|
1573 |
#wpforo #wpforo-wrap .wpf-acp-footer a.wpf-button-secondary{margin: 2px; background: #fff; padding: 5px 7px; font-size: 12px;}
|
1574 |
|
|
|
|
|
1575 |
/****************************************************/
|
1576 |
/************* Please login to be able reply *******/
|
1577 |
/****************************************************/
|
332 |
#wpforo #wpforo-wrap .wpf-post-starter{padding: 3px 10px; display: inline-block; line-height: 16px; font-size: 12px;}
|
333 |
#wpforo #wpforo-wrap .wpf-post-starter i{margin-left: 2px;}
|
334 |
|
335 |
+
#wpforo #wpforo-wrap .wpf-button-outlined{color: #fff; margin-left: 10px;}
|
336 |
+
#wpforo #wpforo-wrap .wpforo-follow-wrap,
|
337 |
+
#wpforo #wpforo-wrap .wpf-ab-mute_mention{display: none;}
|
338 |
+
#wpforo #wpforo-wrap .wpf-profile-panel{background: #f5f5f5;margin-top: 10px;}
|
339 |
+
|
340 |
+
/******************************************************/
|
341 |
+
/********************* Popover ************************/
|
342 |
+
/******************************************************/
|
343 |
+
#wpforo #wpforo-wrap .wpf-popover { display: inline-block; text-decoration: none; position: relative; margin: 0 2px; -webkit-transition: all .5s; -moz-transition: all .5s; transition: all .5s;}
|
344 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content {background: #f5f5f5;color: #555;border-radius: 15px;font-size: 14px;font-weight: bold;position: absolute;bottom: 0;right: -20px;left: -20px;padding: 5px 7px;visibility: hidden;opacity: 0;-webkit-transition: all .4s;-moz-transition: all .4s;transition: all .4s;text-align: center;box-shadow: 0 0 7px #ccc;}
|
345 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content:before {content: '';border-right: 5px solid transparent;border-left: 5px solid transparent;border-top: 11px solid transparent;position: absolute;bottom: -11px;right: 45%;text-align: center;}
|
346 |
+
#wpforo #wpforo-wrap .wpf-popover:hover .wpf-popover-content,
|
347 |
+
#wpforo #wpforo-wrap .wpf-popover:focus .wpf-popover-content,
|
348 |
+
#wpforo #wpforo-wrap .wpf-popover:active .wpf-popover-content{bottom: 35px; visibility: visible; opacity: 1; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 10px 5px;}
|
349 |
+
#wpforo #wpforo-wrap .wpf-popover > span > i{font-size: 18px; line-height: 18px; cursor: pointer;}
|
350 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content span{display: block;}
|
351 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content i{font-size: 18px; line-height: 18px; cursor: pointer; background: transparent; border-radius: 50%; padding: 5px;}
|
352 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content i:hover{background: #fff;}
|
353 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-react.wpf-unreacted > i {color: #999999 !important;}
|
354 |
+
#wpforo #wpforo-wrap .wpf-popover i.fa-thumbs-up{color: #3f7796;}
|
355 |
+
#wpforo #wpforo-wrap .wpf-popover i.fa-thumbs-down{color: #f42d2c;}
|
356 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-react.wpf-unreacted > i{ color: #999999; }
|
357 |
+
|
358 |
/****************************************************/
|
359 |
/********* wpForo Layout 1 (Extended Layout) ********/
|
360 |
/****************************************************/
|
433 |
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .bright{float:left; text-align:left;}
|
434 |
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-right .wpf-post-starter{margin-left: 10px; border-bottom: none; margin-bottom: -1px;}
|
435 |
|
436 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left{position: relative;}
|
437 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction{padding: 12px 15px 0px 5px; margin-right: -8px;}
|
438 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction > span > i{font-size: 20px;}
|
439 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom {font-size:12px; padding:10px; display: flex; justify-content: space-between; align-items: center;}
|
440 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .reacted-users{text-align:right; flex-grow: 1;}
|
441 |
+
|
442 |
/******************************************************/
|
443 |
/********* wpForo Layout 2 (Simplified Layout) ********/
|
444 |
/******************************************************/
|
936 |
#wpforo #wpforo-wrap .wpforo-activity-content .activity-date{padding:10px; white-space:nowrap; width:23%; text-align:center;}
|
937 |
#wpforo #wpforo-wrap .wpforo-activity-content .activity-foot {padding:10px; width:100%; text-align:left; margin-top:2px; border-top:#ffffff solid 1px;}
|
938 |
|
939 |
+
#wpforo #wpforo-wrap .wpf-activity-panel {box-shadow: 0px 0px 3px #cccccc;}
|
940 |
+
#wpforo #wpforo-wrap .wpfa-reply .wpf-activity-icon svg {fill: #999999;}
|
941 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel{display: flex; justify-content: space-between; align-items: stretch; border-radius: 10px; margin:30px 0; padding: 10px;}
|
942 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-left{display: flex; justify-content: flex-start; align-items: center; font-size: 14px;}
|
943 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-left span{padding: 0 3px;}
|
944 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-right{display: flex; justify-content: flex-end; align-items: center; font-size: 14px;}
|
945 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-right span{padding: 0 10px;}
|
946 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-right span:last-child{border-left: none;}
|
947 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-right span.wpf-active{border-radius: 5px;}
|
948 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity{display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 10px;}
|
949 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity{display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 10px;}
|
950 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-icon{width: 70px; padding:5px 10px; position: relative;}
|
951 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-icon i{position: absolute; display: inline-block; width: 23px; height: 23px; text-align: center; right: -2px; top: 39px; border-radius: 50%; font-size: 14px; line-height: 23px;}
|
952 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-icon svg{width: 34px; height: 34px;}
|
953 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-icon .wpf-activity-tlabel{line-height: 15px; font-size: 11px; text-transform: uppercase;}
|
954 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data{flex-grow: 1; padding-right: 20px; width: calc(100% - 80px);}
|
955 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-top{display: flex; justify-content: space-between; align-items: flex-start;}
|
956 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-bottom{display: flex; justify-content: flex-start; align-items: center; margin-top: 1px;}
|
957 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-date{width: 130px; text-align: left; font-size: 13px;}
|
958 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-stat{display: flex; justify-content: flex-start; align-items: center;}
|
959 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-stat div{margin-left: 15px;}
|
960 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-bottom .wpf-activity-flabel{font-size: 12px; text-transform: uppercase;}
|
961 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-bottom .wpf-activity-forum{padding-right: 10px; font-size: 12px; margin-right: 10px;}
|
962 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-bottom .wpf-activity-forum i{margin-left: 5px;}
|
963 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-top .wpf-activity-title{font-size: 15px;}
|
964 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-top .wpf-activity-title i{padding-left: 3px;}
|
965 |
+
#wpforo #wpforo-wrap.wpft-favored .wpfa-reply .wpf-activity-icon svg{width: 32px; height: 32px; margin-top: 5px; margin-right: 2px;}
|
966 |
+
|
967 |
/******************************************************/
|
968 |
/******************** SUBSCRIPTION ********************/
|
969 |
/******************************************************/
|
1629 |
#wpforo #wpforo-wrap .wpf-acp-footer{background: #F5F5F5; padding:10px; border-top: 1px dashed #ccc; display: flex; justify-content: center; flex-wrap: wrap;}
|
1630 |
#wpforo #wpforo-wrap .wpf-acp-footer a.wpf-button-secondary{margin: 2px; background: #fff; padding: 5px 7px; font-size: 12px;}
|
1631 |
|
1632 |
+
#wpforo #wpforo-wrap .wpfbg-10{background-color: #ff8a34 !important;}
|
1633 |
+
|
1634 |
/****************************************************/
|
1635 |
/************* Please login to be able reply *******/
|
1636 |
/****************************************************/
|
themes/classic/style.css
CHANGED
@@ -337,6 +337,29 @@ Author: gVectors Team
|
|
337 |
#wpforo #wpforo-wrap .wpf-post-starter{padding: 3px 10px; display: inline-block; line-height: 16px; font-size: 12px;}
|
338 |
#wpforo #wpforo-wrap .wpf-post-starter i{margin-right: 2px;}
|
339 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
/****************************************************/
|
341 |
/********* wpForo Layout 1 (Extended Layout) ********/
|
342 |
/****************************************************/
|
@@ -415,6 +438,12 @@ Author: gVectors Team
|
|
415 |
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .bright{float:right; text-align:right;}
|
416 |
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-right .wpf-post-starter{margin-right: 10px; border-bottom: none; margin-bottom: -1px;}
|
417 |
|
|
|
|
|
|
|
|
|
|
|
|
|
418 |
/******************************************************/
|
419 |
/********* wpForo Layout 2 (Simplified Layout) ********/
|
420 |
/******************************************************/
|
@@ -912,6 +941,34 @@ Author: gVectors Team
|
|
912 |
#wpforo #wpforo-wrap .wpforo-activity-content .activity-date{padding:10px; white-space:nowrap; width:23%; text-align:center;}
|
913 |
#wpforo #wpforo-wrap .wpforo-activity-content .activity-foot {padding:10px; width:100%; text-align:right; margin-top:2px; border-top:#ffffff solid 1px;}
|
914 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
915 |
/******************************************************/
|
916 |
/******************** SUBSCRIPTION ********************/
|
917 |
/******************************************************/
|
@@ -1581,6 +1638,8 @@ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog{background-color: #000; c
|
|
1581 |
#wpforo #wpforo-wrap .wpf-acp-footer{background: #F5F5F5; padding:10px; border-top: 1px dashed #ccc; display: flex; justify-content: center; flex-wrap: wrap;}
|
1582 |
#wpforo #wpforo-wrap .wpf-acp-footer a.wpf-button-secondary{margin: 2px; background: #fff; padding: 5px 7px; font-size: 12px;}
|
1583 |
|
|
|
|
|
1584 |
/****************************************************/
|
1585 |
/************* Please login to be able reply *******/
|
1586 |
/****************************************************/
|
337 |
#wpforo #wpforo-wrap .wpf-post-starter{padding: 3px 10px; display: inline-block; line-height: 16px; font-size: 12px;}
|
338 |
#wpforo #wpforo-wrap .wpf-post-starter i{margin-right: 2px;}
|
339 |
|
340 |
+
#wpforo #wpforo-wrap .wpf-button-outlined{color: #fff; margin-left: 10px;}
|
341 |
+
#wpforo #wpforo-wrap .wpforo-follow-wrap,
|
342 |
+
#wpforo #wpforo-wrap .wpf-ab-mute_mention{display: none;}
|
343 |
+
#wpforo #wpforo-wrap .wpf-profile-panel{background: #f5f5f5;margin-top: 10px;}
|
344 |
+
|
345 |
+
/******************************************************/
|
346 |
+
/********************* Popover ************************/
|
347 |
+
/******************************************************/
|
348 |
+
#wpforo #wpforo-wrap .wpf-popover { display: inline-block; text-decoration: none; position: relative; margin: 0 2px; -webkit-transition: all .5s; -moz-transition: all .5s; transition: all .5s;}
|
349 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content {background: #f5f5f5;color: #555;border-radius: 15px;font-size: 14px;font-weight: bold;position: absolute;bottom: 0;left: -20px;right: -20px;padding: 5px 7px;visibility: hidden;opacity: 0;-webkit-transition: all .4s;-moz-transition: all .4s;transition: all .4s;text-align: center;box-shadow: 0 0 7px #ccc;}
|
350 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content:before {content: '';border-left: 5px solid transparent;border-right: 5px solid transparent;border-top: 11px solid transparent;position: absolute;bottom: -11px;left: 45%;text-align: center;}
|
351 |
+
#wpforo #wpforo-wrap .wpf-popover:hover .wpf-popover-content,
|
352 |
+
#wpforo #wpforo-wrap .wpf-popover:focus .wpf-popover-content,
|
353 |
+
#wpforo #wpforo-wrap .wpf-popover:active .wpf-popover-content{bottom: 35px; visibility: visible; opacity: 1; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 10px 5px;}
|
354 |
+
#wpforo #wpforo-wrap .wpf-popover > span > i{font-size: 18px; line-height: 18px; cursor: pointer;}
|
355 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content span{display: block;}
|
356 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content i{font-size: 18px; line-height: 18px; cursor: pointer; background: transparent; border-radius: 50%; padding: 5px;}
|
357 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-popover-content i:hover{background: #fff;}
|
358 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-react.wpf-unreacted > i {color: #999999 !important;}
|
359 |
+
#wpforo #wpforo-wrap .wpf-popover i.fa-thumbs-up{color: #3f7796;}
|
360 |
+
#wpforo #wpforo-wrap .wpf-popover i.fa-thumbs-down{color: #f42d2c;}
|
361 |
+
#wpforo #wpforo-wrap .wpf-popover .wpf-react.wpf-unreacted > i{ color: #999999; }
|
362 |
+
|
363 |
/****************************************************/
|
364 |
/********* wpForo Layout 1 (Extended Layout) ********/
|
365 |
/****************************************************/
|
438 |
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .bright{float:right; text-align:right;}
|
439 |
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-right .wpf-post-starter{margin-right: 10px; border-bottom: none; margin-bottom: -1px;}
|
440 |
|
441 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left{position: relative;}
|
442 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction{padding: 12px 5px 0px 15px; margin-left: -8px;}
|
443 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction > span > i{font-size: 20px;}
|
444 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom {font-size:12px; padding:10px; display: flex; justify-content: space-between; align-items: center;}
|
445 |
+
#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .reacted-users{text-align:left; flex-grow: 1;}
|
446 |
+
|
447 |
/******************************************************/
|
448 |
/********* wpForo Layout 2 (Simplified Layout) ********/
|
449 |
/******************************************************/
|
941 |
#wpforo #wpforo-wrap .wpforo-activity-content .activity-date{padding:10px; white-space:nowrap; width:23%; text-align:center;}
|
942 |
#wpforo #wpforo-wrap .wpforo-activity-content .activity-foot {padding:10px; width:100%; text-align:right; margin-top:2px; border-top:#ffffff solid 1px;}
|
943 |
|
944 |
+
#wpforo #wpforo-wrap .wpf-activity-panel {box-shadow: 0px 0px 3px #cccccc;}
|
945 |
+
#wpforo #wpforo-wrap .wpfa-reply .wpf-activity-icon svg {fill: #999999;}
|
946 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel{display: flex; justify-content: space-between; align-items: stretch; border-radius: 10px; margin:30px 0; padding: 10px;}
|
947 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-left{display: flex; justify-content: flex-start; align-items: center; font-size: 14px;}
|
948 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-left span{padding: 0 3px;}
|
949 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-right{display: flex; justify-content: flex-end; align-items: center; font-size: 14px;}
|
950 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-right span{padding: 0 10px;}
|
951 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-right span:last-child{border-right: none;}
|
952 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-panel .wpf-activity-panel-right span.wpf-active{border-radius: 5px;}
|
953 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity{display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 10px;}
|
954 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity{display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 10px;}
|
955 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-icon{width: 70px; padding:5px 10px; position: relative;}
|
956 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-icon i{position: absolute; display: inline-block; width: 23px; height: 23px; text-align: center; left: -2px; top: 39px; border-radius: 50%; font-size: 14px; line-height: 23px;}
|
957 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-icon svg{width: 34px; height: 34px;}
|
958 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-icon .wpf-activity-tlabel{line-height: 15px; font-size: 11px; text-transform: uppercase;}
|
959 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data{flex-grow: 1; padding-left: 20px; width: calc(100% - 80px);}
|
960 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-top{display: flex; justify-content: space-between; align-items: flex-start;}
|
961 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-bottom{display: flex; justify-content: flex-start; align-items: center; margin-top: 1px;}
|
962 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-date{width: 130px; text-align: right; font-size: 13px;}
|
963 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-stat{display: flex; justify-content: flex-start; align-items: center;}
|
964 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-stat div{margin-right: 15px;}
|
965 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-bottom .wpf-activity-flabel{font-size: 12px; text-transform: uppercase;}
|
966 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-bottom .wpf-activity-forum{padding-left: 10px; font-size: 12px; margin-left: 10px;}
|
967 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-bottom .wpf-activity-forum i{margin-right: 5px;}
|
968 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-top .wpf-activity-title{font-size: 15px;}
|
969 |
+
#wpforo #wpforo-wrap.wpft-favored .wpf-activity-data .wpf-activity-top .wpf-activity-title i{padding-right: 3px;}
|
970 |
+
#wpforo #wpforo-wrap.wpft-favored .wpfa-reply .wpf-activity-icon svg{width: 32px; height: 32px; margin-top: 5px; margin-left: 2px;}
|
971 |
+
|
972 |
/******************************************************/
|
973 |
/******************** SUBSCRIPTION ********************/
|
974 |
/******************************************************/
|
1638 |
#wpforo #wpforo-wrap .wpf-acp-footer{background: #F5F5F5; padding:10px; border-top: 1px dashed #ccc; display: flex; justify-content: center; flex-wrap: wrap;}
|
1639 |
#wpforo #wpforo-wrap .wpf-acp-footer a.wpf-button-secondary{margin: 2px; background: #fff; padding: 5px 7px; font-size: 12px;}
|
1640 |
|
1641 |
+
#wpforo #wpforo-wrap .wpfbg-10{background-color: #ff8a34 !important;}
|
1642 |
+
|
1643 |
/****************************************************/
|
1644 |
/************* Please login to be able reply *******/
|
1645 |
/****************************************************/
|
themes/classic/styles/matrix.css
CHANGED
@@ -725,4 +725,5 @@ body.wpf-dark #wpf-msg-box a:hover, body.wpf-dark #wpf-msg-box a:active{color:__
|
|
725 |
#wpforo #wpforo-wrap.wpf-dark .wpf-acp-content a.wpf-button-secondary:hover {box-shadow: 0px 0px 8px #fff;color: #fff;}
|
726 |
#wpforo #wpforo-wrap.wpf-dark .wpf-acp-footer a.wpf-button-secondary {background: #777;color: #fff;}
|
727 |
#wpforo #wpforo-wrap.wpf-dark .wpf-acp-footer a.wpf-button-secondary:last-child{color: #fff!important; background: #e22d00;}
|
|
|
728 |
.wpf-link{ color: __WPFCOLOR_12__ !important; }
|
725 |
#wpforo #wpforo-wrap.wpf-dark .wpf-acp-content a.wpf-button-secondary:hover {box-shadow: 0px 0px 8px #fff;color: #fff;}
|
726 |
#wpforo #wpforo-wrap.wpf-dark .wpf-acp-footer a.wpf-button-secondary {background: #777;color: #fff;}
|
727 |
#wpforo #wpforo-wrap.wpf-dark .wpf-acp-footer a.wpf-button-secondary:last-child{color: #fff!important; background: #e22d00;}
|
728 |
+
#wpforo #wpforo-wrap.wpf-dark .wpf-profile-panel{background: transparent;}
|
729 |
.wpf-link{ color: __WPFCOLOR_12__ !important; }
|
themes/classic/widgets-rtl.css
CHANGED
@@ -62,10 +62,9 @@
|
|
62 |
#wpf-widget-online-users .wpforo-widget-content a.onlineuser{ padding:3px 7px; border:1px solid #ededed; display:inline-block; margin:0 2px 5px 3px; line-height:18px; font-size:13px;}
|
63 |
#wpforo #wpf-widget-online-users .wpforo-widget-content a.onlineavatar,
|
64 |
#wpf-widget-online-users .wpforo-widget-content a.onlineavatar{ padding:1px; border:1px solid #ededed; display:inline-block; margin:0 2px 5px 3px; width:20%;max-width: 64px;}
|
65 |
-
#wpforo
|
66 |
-
#wpf-widget-search input[type="text"]{
|
67 |
-
#wpforo
|
68 |
-
#wpf-widget-search input[type="submit"]{ font-size:14px; line-height:16px; padding:2px 5px; display:inline-block; margin:0; height:28px;}
|
69 |
#wpforo #wpf-widget-forums .wpforo-widget-content .wpf-dl-item,
|
70 |
#wpf-widget-forums .wpforo-widget-content .wpf-dl-item{ padding-top:2px; display:block;}
|
71 |
#wpforo #wpf-widget-forums .wpforo-widget-content .wpf-dl-item i,
|
@@ -178,6 +177,8 @@
|
|
178 |
#wpforo #wpf-widget-profile .wpf-prof-footer .wpf-button,
|
179 |
#wpf-widget-profile .wpf-prof-footer .wpf-button{box-shadow: none;}
|
180 |
|
|
|
|
|
181 |
/******************************************************/
|
182 |
/********************* Addons Widgets *****************/
|
183 |
/******************************************************/
|
62 |
#wpf-widget-online-users .wpforo-widget-content a.onlineuser{ padding:3px 7px; border:1px solid #ededed; display:inline-block; margin:0 2px 5px 3px; line-height:18px; font-size:13px;}
|
63 |
#wpforo #wpf-widget-online-users .wpforo-widget-content a.onlineavatar,
|
64 |
#wpf-widget-online-users .wpforo-widget-content a.onlineavatar{ padding:1px; border:1px solid #ededed; display:inline-block; margin:0 2px 5px 3px; width:20%;max-width: 64px;}
|
65 |
+
#wpf-widget-search #wpforo-search-form .wpf-search-widget-label {position: relative !important;display: block !important;}
|
66 |
+
#wpf-widget-search #wpforo-search-form .wpf-search-widget-label input[type="text"] {position: relative !important;display: block !important;padding: 7px 8px;height: 32px;}
|
67 |
+
#wpf-widget-search #wpforo-search-form .wpf-search-widget-label svg {enable-background: new 0 0 16 16;fill: #999;position: absolute;width: 19px;height: 19px;left: 5px;bottom: 6px;cursor: pointer;}
|
|
|
68 |
#wpforo #wpf-widget-forums .wpforo-widget-content .wpf-dl-item,
|
69 |
#wpf-widget-forums .wpforo-widget-content .wpf-dl-item{ padding-top:2px; display:block;}
|
70 |
#wpforo #wpf-widget-forums .wpforo-widget-content .wpf-dl-item i,
|
177 |
#wpforo #wpf-widget-profile .wpf-prof-footer .wpf-button,
|
178 |
#wpf-widget-profile .wpf-prof-footer .wpf-button{box-shadow: none;}
|
179 |
|
180 |
+
#wpforo #wpforo-wrap .wpforo-widget-content .wpf-circle {box-shadow: none;}
|
181 |
+
|
182 |
/******************************************************/
|
183 |
/********************* Addons Widgets *****************/
|
184 |
/******************************************************/
|
themes/classic/widgets.css
CHANGED
@@ -62,10 +62,9 @@
|
|
62 |
#wpf-widget-online-users .wpforo-widget-content a.onlineuser{ padding:3px 7px; border:1px solid #ededed; display:inline-block; margin:0 3px 5px 2px; line-height:18px; font-size:13px;}
|
63 |
#wpforo #wpf-widget-online-users .wpforo-widget-content a.onlineavatar,
|
64 |
#wpf-widget-online-users .wpforo-widget-content a.onlineavatar{ padding:1px; border:1px solid #ededed; display:inline-block; margin:0 3px 5px 2px; width:20%;max-width: 64px;}
|
65 |
-
#wpforo
|
66 |
-
#wpf-widget-search input[type="text"]{
|
67 |
-
#wpforo
|
68 |
-
#wpf-widget-search input[type="submit"]{ font-size:14px; line-height:16px; padding:2px 5px; display:inline-block; margin:0; height:28px;}
|
69 |
#wpforo #wpf-widget-forums .wpforo-widget-content .wpf-dl-item,
|
70 |
#wpf-widget-forums .wpforo-widget-content .wpf-dl-item{ padding-top:2px; display:block;}
|
71 |
#wpforo #wpf-widget-forums .wpforo-widget-content .wpf-dl-item i,
|
@@ -178,6 +177,8 @@
|
|
178 |
#wpforo #wpf-widget-profile .wpf-prof-footer .wpf-button,
|
179 |
#wpf-widget-profile .wpf-prof-footer .wpf-button{box-shadow: none;}
|
180 |
|
|
|
|
|
181 |
/******************************************************/
|
182 |
/********************* Addons Widgets *****************/
|
183 |
/******************************************************/
|
62 |
#wpf-widget-online-users .wpforo-widget-content a.onlineuser{ padding:3px 7px; border:1px solid #ededed; display:inline-block; margin:0 3px 5px 2px; line-height:18px; font-size:13px;}
|
63 |
#wpforo #wpf-widget-online-users .wpforo-widget-content a.onlineavatar,
|
64 |
#wpf-widget-online-users .wpforo-widget-content a.onlineavatar{ padding:1px; border:1px solid #ededed; display:inline-block; margin:0 3px 5px 2px; width:20%;max-width: 64px;}
|
65 |
+
#wpf-widget-search #wpforo-search-form .wpf-search-widget-label {position: relative !important;display: block !important;}
|
66 |
+
#wpf-widget-search #wpforo-search-form .wpf-search-widget-label input[type="text"] {position: relative !important;display: block !important;padding: 7px 8px;height: 32px;}
|
67 |
+
#wpf-widget-search #wpforo-search-form .wpf-search-widget-label svg {enable-background: new 0 0 16 16;fill: #999;position: absolute;width: 19px;height: 19px;right: 5px;bottom: 6px;cursor: pointer;}
|
|
|
68 |
#wpforo #wpf-widget-forums .wpforo-widget-content .wpf-dl-item,
|
69 |
#wpf-widget-forums .wpforo-widget-content .wpf-dl-item{ padding-top:2px; display:block;}
|
70 |
#wpforo #wpf-widget-forums .wpforo-widget-content .wpf-dl-item i,
|
177 |
#wpforo #wpf-widget-profile .wpf-prof-footer .wpf-button,
|
178 |
#wpf-widget-profile .wpf-prof-footer .wpf-button{box-shadow: none;}
|
179 |
|
180 |
+
#wpforo #wpforo-wrap .wpforo-widget-content .wpf-circle {box-shadow: none;}
|
181 |
+
|
182 |
/******************************************************/
|
183 |
/********************* Addons Widgets *****************/
|
184 |
/******************************************************/
|
widgets/RecentPosts.php
CHANGED
@@ -89,9 +89,8 @@ class RecentPosts extends WP_Widget {
|
|
89 |
foreach( $postids as $postid ) {
|
90 |
$class = '';
|
91 |
$post = wpforo_post( $postid );
|
92 |
-
|
93 |
-
|
94 |
-
}
|
95 |
$current = $post['topicid'] == wpfval( WPF()->current_object, 'topicid' );
|
96 |
if( ! $current ) {
|
97 |
$class = 'class="' . ( $instance['display_only_unread'] ? 'wpf-unread-post' : wpforo_unread( $post['topicid'], 'post', false, $post['postid'] ) ) . '"';
|
@@ -234,14 +233,10 @@ class RecentPosts extends WP_Widget {
|
|
234 |
value="<?php echo esc_attr( $title ); ?>">
|
235 |
</p>
|
236 |
<p>
|
237 |
-
<label for="<?php echo $this->get_field_id(
|
238 |
-
|
239 |
-
<
|
240 |
-
|
241 |
-
type="checkbox">
|
242 |
-
<label for="<?php echo $this->get_field_id( 'forumids' ) ?>"></label>
|
243 |
-
<select id="<?php echo $this->get_field_id( 'forumids' ) ?>" class="wpf_wdg_forumids">
|
244 |
-
<?php WPF()->forum->tree( 'select_box', false, $selected ) ?>
|
245 |
</select>
|
246 |
</p>
|
247 |
<p>
|
89 |
foreach( $postids as $postid ) {
|
90 |
$class = '';
|
91 |
$post = wpforo_post( $postid );
|
92 |
+
if( ! wpfval($post, 'forumid') ) continue;
|
93 |
+
if( ! WPF()->post->view_access( $post ) ) continue;
|
|
|
94 |
$current = $post['topicid'] == wpfval( WPF()->current_object, 'topicid' );
|
95 |
if( ! $current ) {
|
96 |
$class = 'class="' . ( $instance['display_only_unread'] ? 'wpf-unread-post' : wpforo_unread( $post['topicid'], 'post', false, $post['postid'] ) ) . '"';
|
233 |
value="<?php echo esc_attr( $title ); ?>">
|
234 |
</p>
|
235 |
<p>
|
236 |
+
<label for="<?php echo $this->get_field_id('forumids_filter') ?>"><?php _e('Filter by forums', 'wpforo'); ?>:</label>
|
237 |
+
<input id="<?php echo $this->get_field_id('forumids_filter') ?>" class="wpf_wdg_forumids_filter" name="<?php echo esc_attr( $this->get_field_name( 'forumids_filter' ) ); ?>" <?php checked( $forumids_filter ); ?> type="checkbox">
|
238 |
+
<select id="<?php echo $this->get_field_id('forumids') ?>" class="wpf_wdg_forumids" name="<?php echo esc_attr( $this->get_field_name( 'forumids' ) ); ?>[]" multiple>
|
239 |
+
<?php WPF()->forum->tree( 'select_box', false, $selected, false ) ?>
|
|
|
|
|
|
|
|
|
240 |
</select>
|
241 |
</p>
|
242 |
<p>
|
widgets/RecentTopics.php
CHANGED
@@ -138,7 +138,8 @@ class RecentTopics extends WP_Widget {
|
|
138 |
<input id="<?php echo $this->get_field_id( 'forumids_filter' ) ?>" class="wpf_wdg_forumids_filter"
|
139 |
name="<?php echo esc_attr( $this->get_field_name( 'forumids_filter' ) ); ?>" <?php checked( $forumids_filter ); ?>
|
140 |
type="checkbox">
|
141 |
-
<label for="<?php echo $this->get_field_id( 'forumids' ) ?>"></label
|
|
|
142 |
name="<?php echo esc_attr( $this->get_field_name( 'forumids' ) ); ?>[]" multiple>
|
143 |
<?php WPF()->forum->tree( 'select_box', false, $selected ) ?>
|
144 |
</select>
|
138 |
<input id="<?php echo $this->get_field_id( 'forumids_filter' ) ?>" class="wpf_wdg_forumids_filter"
|
139 |
name="<?php echo esc_attr( $this->get_field_name( 'forumids_filter' ) ); ?>" <?php checked( $forumids_filter ); ?>
|
140 |
type="checkbox">
|
141 |
+
<label for="<?php echo $this->get_field_id( 'forumids' ) ?>"></label>
|
142 |
+
<select id="<?php echo $this->get_field_id( 'forumids' ) ?>" class="wpf_wdg_forumids"
|
143 |
name="<?php echo esc_attr( $this->get_field_name( 'forumids' ) ); ?>[]" multiple>
|
144 |
<?php WPF()->forum->tree( 'select_box', false, $selected ) ?>
|
145 |
</select>
|
wpforo.php
CHANGED
@@ -5,14 +5,14 @@
|
|
5 |
* Description: WordPress Forum plugin. wpForo is a full-fledged forum solution for your community. Comes with multiple modern forum layouts.
|
6 |
* Author: gVectors Team
|
7 |
* Author URI: https://gvectors.com/
|
8 |
-
* Version: 2.0.
|
9 |
* Text Domain: wpforo
|
10 |
* Domain Path: /languages
|
11 |
*/
|
12 |
|
13 |
namespace wpforo;
|
14 |
|
15 |
-
define( 'WPFORO_VERSION', '2.0.
|
16 |
|
17 |
//Exit if accessed directly
|
18 |
if( ! defined( 'ABSPATH' ) ) exit;
|
@@ -462,11 +462,13 @@ final class wpforo {
|
|
462 |
public function check_issues() {
|
463 |
//Make sure all users profiles are created
|
464 |
if( $this->is_installed() ) {
|
465 |
-
$users = (int) $this->db->get_var( "SELECT COUNT(*) FROM `" . $this->db->users . "`" );
|
466 |
-
$profiles = (int) $this->db->get_var( "SELECT COUNT(*) FROM `" . $this->tables->profiles . "`" );
|
467 |
-
$delta = $users - $profiles;
|
468 |
if( apply_filters( 'wpforo_profile_synchronization_notice', true ) ) {
|
469 |
-
if(
|
|
|
|
|
|
|
|
|
|
|
470 |
}
|
471 |
}
|
472 |
//Make sure tables structures are correct for current version
|
@@ -476,9 +478,10 @@ final class wpforo {
|
|
476 |
$db_note = false;
|
477 |
$problems = wpforo_database_check();
|
478 |
if( ! empty( $problems ) ) {
|
479 |
-
foreach( $problems as $problem ) {
|
480 |
if( wpfval( $problem, 'fields' ) ) $db_note = true;
|
481 |
if( wpfval( $problem, 'exists' ) ) $db_note = true;
|
|
|
482 |
}
|
483 |
if( $db_note ) {
|
484 |
add_action( 'admin_notices', 'wpforo_database_notice', 10 );
|
@@ -1260,8 +1263,12 @@ final class wpforo {
|
|
1260 |
|
1261 |
if( $this->current_object['template'] === 'cantlogin' ) {
|
1262 |
if( $this->current_userid ) {
|
1263 |
-
|
1264 |
-
|
|
|
|
|
|
|
|
|
1265 |
} else {
|
1266 |
wp_safe_redirect( wpforo_login_url() );
|
1267 |
exit();
|
5 |
* Description: WordPress Forum plugin. wpForo is a full-fledged forum solution for your community. Comes with multiple modern forum layouts.
|
6 |
* Author: gVectors Team
|
7 |
* Author URI: https://gvectors.com/
|
8 |
+
* Version: 2.0.6
|
9 |
* Text Domain: wpforo
|
10 |
* Domain Path: /languages
|
11 |
*/
|
12 |
|
13 |
namespace wpforo;
|
14 |
|
15 |
+
define( 'WPFORO_VERSION', '2.0.6' );
|
16 |
|
17 |
//Exit if accessed directly
|
18 |
if( ! defined( 'ABSPATH' ) ) exit;
|
462 |
public function check_issues() {
|
463 |
//Make sure all users profiles are created
|
464 |
if( $this->is_installed() ) {
|
|
|
|
|
|
|
465 |
if( apply_filters( 'wpforo_profile_synchronization_notice', true ) ) {
|
466 |
+
if( is_multisite() ) {
|
467 |
+
$sql = "SELECT COUNT(`user_id`) FROM `" . WPF()->db->usermeta . "` WHERE `meta_key` LIKE '" . WPF()->blog_prefix . "capabilities' AND `user_id` NOT IN( SELECT `userid` FROM `" . WPF()->tables->profiles . "` )";
|
468 |
+
} else {
|
469 |
+
$sql = "SELECT COUNT(`ID`) as user_id FROM `" . WPF()->db->users . "` WHERE `ID` NOT IN( SELECT `userid` FROM `" . WPF()->tables->profiles . "` )";
|
470 |
+
}
|
471 |
+
if( (int) $this->db->get_var( $sql ) ) add_action( 'admin_notices', 'wpforo_profile_notice', 10 );
|
472 |
}
|
473 |
}
|
474 |
//Make sure tables structures are correct for current version
|
478 |
$db_note = false;
|
479 |
$problems = wpforo_database_check();
|
480 |
if( ! empty( $problems ) ) {
|
481 |
+
foreach( $problems as $key => $problem ) {
|
482 |
if( wpfval( $problem, 'fields' ) ) $db_note = true;
|
483 |
if( wpfval( $problem, 'exists' ) ) $db_note = true;
|
484 |
+
if( $key === 'data' ) $db_note = true;
|
485 |
}
|
486 |
if( $db_note ) {
|
487 |
add_action( 'admin_notices', 'wpforo_database_notice', 10 );
|
1263 |
|
1264 |
if( $this->current_object['template'] === 'cantlogin' ) {
|
1265 |
if( $this->current_userid ) {
|
1266 |
+
if( $this->current_user['status'] !== 'active' ){
|
1267 |
+
WPF()->ram_cache->set( 'USER_LOGIN_REFERER', WPF()->current_user_login );
|
1268 |
+
wp_logout();
|
1269 |
+
}else{
|
1270 |
+
wp_safe_redirect( wpforo_home_url() );
|
1271 |
+
}
|
1272 |
} else {
|
1273 |
wp_safe_redirect( wpforo_login_url() );
|
1274 |
exit();
|