Version Description
| 22.10.2017 =
wpForo v1.4.2 Release Summary
- Added: Recent Posts page, menu, footer link,
- Fixed Bug: Topic views counting. Guest logging.
- Fixed Bug: Reset Password page and URL redirection,
- Fixed Bug: User custom field management issues,
- Fixed Bug: CSS issues...
- Fixed Bug: Missing phrases,
- Fixed Bug: Login/Register pop-up window when guest clicks on Add Topic button
NOTE: IF YOU UPDATE FROM 1.4.1
- After wpForo update, you'll see a message "wpForo - Update Database". Please click on [Update Database] button to complete update process. This is a data synchronization action, it doesn't delete forum data.
- To load your customized colors please refresh forum front-end page twice.
- If you have a Cache Plugin, please delete all caches after wpForo update.
- If you use CDN and found some issue please purge it.
NOTE: IF YOU UPDATE FROM OLDER VERSIONS
- If you have a customized copy of wpForo forum template files in your WP theme /wpforo/ folder please update them. wpForo 1.4.0 requires new forum template files.
- If you see style issues after update, please refresh forum page twice or do Ctrl+F5 on forum front-end to load new styles.
- If you have wpForo addons, please update them right after wpForo forum update. Don't update them before wpForo forum update.
- In case you update forum and you have a large database, please make your forum faster using this instruction...
Download this release
Release Info
Developer | Tomdever |
Plugin | wpForo Forum |
Version | 1.4.2 |
Comparing to | |
See all releases |
Code changes from version 1.4.1 to 1.4.2
- readme.txt +27 -13
- wpf-admin/xml/english.xml +9 -0
- wpf-assets/js/ajax.js +19 -19
- wpf-assets/js/frontend.js +14 -13
- wpf-includes/class-members.php +60 -47
- wpf-includes/class-posts.php +12 -6
- wpf-includes/class-template.php +36 -46
- wpf-includes/class-topics.php +4 -2
- wpf-includes/functions-installation.php +46 -12
- wpf-includes/functions-template.php +32 -3
- wpf-includes/functions.php +19 -10
- wpf-includes/install-sql.php +3 -1
- wpf-includes/wpf-actions.php +8 -0
- wpf-includes/wpf-hooks.php +30 -18
- wpf-includes/wpf-phrases.php +14 -0
- wpf-languages/wpforo.pot +111 -55
- wpf-themes/classic/colors.css +11 -0
- wpf-themes/classic/footer.php +2 -1
- wpf-themes/classic/index.php +2 -0
- wpf-themes/classic/profile.php +4 -3
- wpf-themes/classic/recent.php +85 -0
- wpf-themes/classic/style-rtl.css +25 -0
- wpf-themes/classic/style.css +25 -0
- wpf-themes/classic/styles/css.php +11 -0
- wpforo.php +10 -4
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: gVectors Team
|
3 |
Tags: forums, forum, forum plugin, community, discussion, WordPress forum plugin
|
4 |
Requires at least: 4.1
|
5 |
-
Tested up to: 4.
|
6 |
-
Stable tag: 1.4.
|
7 |
License: GPLv2 or later
|
8 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -11,7 +11,7 @@ First professional forum plugin for WordPress. Full-fledged forum solution with
|
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
-
The Best WordPress forum plugin made by [gVectors Team](https://gvectors.com/). Everything you need to run an efficient
|
15 |
|
16 |
Support Forum and Demo: [https://wpforo.com/community/](https://wpforo.com/community/)
|
17 |
Forum Documentation: [https://wpforo.com/documentation/](https://wpforo.com/documentation/)
|
@@ -131,21 +131,22 @@ wpForo Support Forum: <https://wpforo.com/community/>
|
|
131 |
|
132 |
== Changelog ==
|
133 |
|
134 |
-
= 1.4.
|
135 |
|
136 |
-
[wpForo v1.4.
|
137 |
|
138 |
-
* Added:
|
139 |
-
*
|
140 |
-
*
|
141 |
-
* Fixed Bug:
|
142 |
-
* Fixed Bug:
|
143 |
-
* Fixed Bug:
|
144 |
-
* Fixed Bug:
|
145 |
|
146 |
|
147 |
-
NOTE: IF YOU UPDATE FROM 1.4.
|
148 |
|
|
|
149 |
- To load your customized colors please refresh forum front-end page twice.
|
150 |
- If you have a Cache Plugin, please delete all caches after wpForo update.
|
151 |
- If you use CDN and found some issue please purge it.
|
@@ -158,6 +159,19 @@ NOTE: IF YOU UPDATE FROM OLDER VERSIONS
|
|
158 |
- In case you update forum and you have a large database, please make your forum faster [using this instruction...](https://wpforo.com/community/faq/forum-is-slow/)
|
159 |
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
= 1.4.0 | 07.10.2017 =
|
162 |
|
163 |
[wpForo v1.4.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-0-is-released/)
|
2 |
Contributors: gVectors Team
|
3 |
Tags: forums, forum, forum plugin, community, discussion, WordPress forum plugin
|
4 |
Requires at least: 4.1
|
5 |
+
Tested up to: 4.9
|
6 |
+
Stable tag: 1.4.2
|
7 |
License: GPLv2 or later
|
8 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
+
The Best WordPress forum plugin made by [gVectors Team](https://gvectors.com/). Everything you need to run an efficient and professional community. Powerful and beautiful forum with unique features.
|
15 |
|
16 |
Support Forum and Demo: [https://wpforo.com/community/](https://wpforo.com/community/)
|
17 |
Forum Documentation: [https://wpforo.com/documentation/](https://wpforo.com/documentation/)
|
131 |
|
132 |
== Changelog ==
|
133 |
|
134 |
+
= 1.4.2 | 22.10.2017 =
|
135 |
|
136 |
+
[wpForo v1.4.2 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-2-is-released/)
|
137 |
|
138 |
+
* Added: Recent Posts page, menu, footer link,
|
139 |
+
* Fixed Bug: Topic views counting. Guest logging.
|
140 |
+
* Fixed Bug: Reset Password page and URL redirection,
|
141 |
+
* Fixed Bug: User custom field management issues,
|
142 |
+
* Fixed Bug: CSS issues...
|
143 |
+
* Fixed Bug: Missing phrases,
|
144 |
+
* Fixed Bug: Login/Register pop-up window when guest clicks on Add Topic button
|
145 |
|
146 |
|
147 |
+
NOTE: IF YOU UPDATE FROM 1.4.1
|
148 |
|
149 |
+
- After wpForo update, you'll see a message "wpForo - Update Database". Please click on [Update Database] button to complete update process. This is a data synchronization action, it doesn't delete forum data.
|
150 |
- To load your customized colors please refresh forum front-end page twice.
|
151 |
- If you have a Cache Plugin, please delete all caches after wpForo update.
|
152 |
- If you use CDN and found some issue please purge it.
|
159 |
- In case you update forum and you have a large database, please make your forum faster [using this instruction...](https://wpforo.com/community/faq/forum-is-slow/)
|
160 |
|
161 |
|
162 |
+
= 1.4.1 | 12.10.2017 =
|
163 |
+
|
164 |
+
[wpForo v1.4.1 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-1-is-released/)
|
165 |
+
|
166 |
+
* Added: Bold titles when Forum and Topic is not visited/read
|
167 |
+
* Added: Option to enable/disable forum RSS Feed
|
168 |
+
* Added: Option to enable/disable WP to wpForo forum reset pass URL
|
169 |
+
* Fixed Bug: Guests permission to view forum users avatar is disabled
|
170 |
+
* Fixed Bug: Unable to change forum user Email and Display Name
|
171 |
+
* Fixed Bug: Forum search form problem, empty forum field on some servers
|
172 |
+
* Fixed Bug: Forum widget avatar doesn't reflect view avatar permission
|
173 |
+
|
174 |
+
|
175 |
= 1.4.0 | 07.10.2017 =
|
176 |
|
177 |
[wpForo v1.4.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-0-is-released/)
|
wpf-admin/xml/english.xml
CHANGED
@@ -390,4 +390,13 @@
|
|
390 |
<phrase name="--- Choose ---"><![CDATA[--- Choose ---]]></phrase>
|
391 |
<phrase name="New"><![CDATA[New]]></phrase>
|
392 |
<phrase name="Required field"><![CDATA[Required field]]></phrase>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
</language>
|
390 |
<phrase name="--- Choose ---"><![CDATA[--- Choose ---]]></phrase>
|
391 |
<phrase name="New"><![CDATA[New]]></phrase>
|
392 |
<phrase name="Required field"><![CDATA[Required field]]></phrase>
|
393 |
+
<phrase name="Add Reply"><![CDATA[Add Reply]]></phrase>
|
394 |
+
<phrase name="Forums RSS Feed"><![CDATA[Forums RSS Feed]]></phrase>
|
395 |
+
<phrase name="Topics RSS Feed"><![CDATA[Topics RSS Feed]]></phrase>
|
396 |
+
<phrase name="Find a member"><![CDATA[Find a member]]></phrase>
|
397 |
+
<phrase name="Display Name or Nicename"><![CDATA[Display Name or Nicename]]></phrase>
|
398 |
+
<phrase name="Reset Search"><![CDATA[Reset Search]]></phrase>
|
399 |
+
<phrase name="Reset Result"><![CDATA[Reset Result]]></phrase>
|
400 |
+
<phrase name="Recently Added"><![CDATA[Recent Posts]]></phrase>
|
401 |
+
<phrase name="No posts were found here"><![CDATA[No posts were found here]]></phrase>
|
402 |
</language>
|
wpf-assets/js/ajax.js
CHANGED
@@ -21,7 +21,7 @@ jQuery(document).ready(function($){
|
|
21 |
if( response.stat == 1 ){
|
22 |
$("#" + postid_value).removeClass('wpforo-like').addClass('wpforo-unlike');
|
23 |
$("#likeicon" + postid).removeClass('fa-thumbs-o-up').addClass('fa-thumbs-o-down');
|
24 |
-
$("#liketext" + postid).text(' ' +
|
25 |
$("#post-" + postid + " .bleft").html(response.likers);
|
26 |
}
|
27 |
$('#wpforo-load').invisible();
|
@@ -51,7 +51,7 @@ jQuery(document).ready(function($){
|
|
51 |
if( response.stat == 1 ){
|
52 |
$("#" + postid_value).removeClass('wpforo-unlike').addClass('wpforo-like');
|
53 |
$("#likeicon" + postid).removeClass('fa-thumbs-o-down').addClass('fa-thumbs-o-up');
|
54 |
-
$("#liketext" + postid).text(' ' +
|
55 |
$("#post-" + postid + " .bleft").html(response.likers);
|
56 |
}
|
57 |
$('#wpforo-load').invisible();
|
@@ -199,8 +199,8 @@ jQuery(document).ready(function($){
|
|
199 |
$( "#formbutton" ).attr('name', 'post[save]');
|
200 |
$( "#formtopicid" ).attr('name', 'post[topicid]');
|
201 |
$( "#title" ).attr('name', 'post[title]');
|
202 |
-
$( "#formbutton" ).val(
|
203 |
-
$( "#title").val(
|
204 |
$('html, body').animate({scrollTop: $("#wpf-form-wrapper").offset().top}, 1000);
|
205 |
|
206 |
tinymce.execCommand('mceFocus',false,'postbody');
|
@@ -290,7 +290,7 @@ jQuery(document).ready(function($){
|
|
290 |
}).done(function(response){
|
291 |
if(response != 0){
|
292 |
$("#" + postid_value).removeClass('wpforo-sticky').addClass('wpforo-unsticky');
|
293 |
-
$("#stickytext" + postid).text(' ' +
|
294 |
}
|
295 |
$('#wpforo-load').invisible();
|
296 |
});
|
@@ -314,7 +314,7 @@ jQuery(document).ready(function($){
|
|
314 |
}).done(function(response){
|
315 |
if(response != 0){
|
316 |
$("#" + postid_value).removeClass('wpforo-unsticky').addClass('wpforo-sticky');
|
317 |
-
$("#stickytext" + postid).text(' ' +
|
318 |
}
|
319 |
$('#wpforo-load').invisible();
|
320 |
});
|
@@ -341,7 +341,7 @@ jQuery(document).ready(function($){
|
|
341 |
$("#approveicon" + postid).removeClass('fa-check').addClass('fa-exclamation-circle');
|
342 |
$("#wpforo-wrap #post-" + postid + " .wpf-mod-message").hide();
|
343 |
$("#wpforo-wrap .wpf-status-title").hide();
|
344 |
-
$("#approvetext" + postid).text(' ' +
|
345 |
}
|
346 |
$('#wpforo-load').invisible();
|
347 |
});
|
@@ -368,7 +368,7 @@ jQuery(document).ready(function($){
|
|
368 |
$("#approveicon" + postid).removeClass('fa-exclamation-circle').addClass('fa-check');
|
369 |
$('#wpforo-wrap #post-' + postid + ' .wpf-mod-message').visible();
|
370 |
$('#wpforo-wrap .wpf-status-title').visible();
|
371 |
-
$("#approvetext" + postid).text(' ' +
|
372 |
}
|
373 |
$('#wpforo-load').invisible();
|
374 |
location.reload();
|
@@ -395,7 +395,7 @@ jQuery(document).ready(function($){
|
|
395 |
if(response != 0){
|
396 |
$("#" + postid_value).removeClass('wpforo-private').addClass('wpforo-public');
|
397 |
$("#privateicon" + postid).removeClass('fa-eye-slash').addClass('fa-eye');
|
398 |
-
$("#privatetext" + postid).text(' ' +
|
399 |
}
|
400 |
$('#wpforo-load').invisible();
|
401 |
});
|
@@ -419,7 +419,7 @@ jQuery(document).ready(function($){
|
|
419 |
if(response != 0){
|
420 |
$("#" + postid_value).removeClass('wpforo-public').addClass('wpforo-private');
|
421 |
$("#privateicon" + postid).removeClass('fa-eye').addClass('fa-eye-slash');
|
422 |
-
$("#privatetext" + postid).text(' ' +
|
423 |
}
|
424 |
$('#wpforo-load').invisible();
|
425 |
});
|
@@ -443,7 +443,7 @@ jQuery(document).ready(function($){
|
|
443 |
}).done(function(response){
|
444 |
if(response != 0){
|
445 |
$("#" + postid_value).removeClass('wpforo-solved').addClass('wpforo-unsolved');
|
446 |
-
$("#solvedtext" + postid).text(' ' +
|
447 |
}
|
448 |
$('#wpforo-load').invisible();
|
449 |
});
|
@@ -466,7 +466,7 @@ jQuery(document).ready(function($){
|
|
466 |
}).done(function(response){
|
467 |
if(response != 0){
|
468 |
$("#" + postid_value).removeClass('wpforo-unsolved').addClass('wpforo-solved');
|
469 |
-
$("#solvedtext" + postid).text(' ' +
|
470 |
}
|
471 |
$('#wpforo-load').invisible();
|
472 |
});
|
@@ -491,7 +491,7 @@ jQuery(document).ready(function($){
|
|
491 |
if(response != 0){
|
492 |
$("#" + postid_value).removeClass('wpforo-close').addClass('wpforo-open');
|
493 |
$("#closeicon" + postid).removeClass('fa-lock').addClass('fa-unlock');
|
494 |
-
$("#closetext" + postid).text(' ' +
|
495 |
$("#wpf-form-wrapper").remove();
|
496 |
$(".wpforo-reply").remove();
|
497 |
$(".wpforo-quote").remove();
|
@@ -518,7 +518,7 @@ jQuery(document).ready(function($){
|
|
518 |
if(response != 0){
|
519 |
/*$("#" + postid_value).removeClass('wpforo-open').addClass('wpforo-close');
|
520 |
$("#closeicon" + postid).removeClass('fa-unlock').addClass('fa-lock');
|
521 |
-
$("#closetext" + postid).text(' ' +
|
522 |
window.location.assign(response);
|
523 |
}
|
524 |
$('#wpforo-load').invisible();
|
@@ -559,7 +559,7 @@ jQuery(document).ready(function($){
|
|
559 |
|
560 |
$( "#formaction" ).val( 'edit' );
|
561 |
$( "#formpostid" ).val( postid );
|
562 |
-
$( "#formbutton" ).val(
|
563 |
$( 'html, body' ).animate({scrollTop: $("#wpf-form-wrapper").offset().top}, 1000);
|
564 |
if(is_topic == -1){
|
565 |
// $( "#title" ).prop( "disabled", true );
|
@@ -594,7 +594,7 @@ jQuery(document).ready(function($){
|
|
594 |
$(document).on('click','.wpforo-delete', function(){
|
595 |
$("#wpf-msg-box").hide(); $('#wpforo-load').visible();
|
596 |
|
597 |
-
var ok = confirm(wpforo_ucwords(
|
598 |
|
599 |
if (ok == true){
|
600 |
var postid_value = $(this).attr('id');
|
@@ -678,7 +678,7 @@ jQuery(document).ready(function($){
|
|
678 |
}
|
679 |
if( response.stat == 1 ){
|
680 |
$("#wpfsubscribe-" + itemid).removeClass('wpf-subscribe-' + type).addClass('wpf-unsubscribe-' + type);
|
681 |
-
$("#wpfsubscribe-" + itemid).text( ' ' +
|
682 |
$('#wpforo-load').invisible();
|
683 |
}else{
|
684 |
$('#wpforo-load').invisible();
|
@@ -697,11 +697,11 @@ jQuery(document).ready(function($){
|
|
697 |
var clases = $(this).attr('class');
|
698 |
if( clases.indexOf("wpf-unsubscribe-forum") > -1 ){
|
699 |
type = 'forum';
|
700 |
-
button_phrase = wpforo_ucwords(
|
701 |
}
|
702 |
if( clases.indexOf("wpf-unsubscribe-topic") > -1 ){
|
703 |
type = 'topic';
|
704 |
-
button_phrase = wpforo_ucwords(
|
705 |
}
|
706 |
var postid_value = $(this).attr('id');
|
707 |
var itemid = postid_value.replace("wpfsubscribe-", "");
|
21 |
if( response.stat == 1 ){
|
22 |
$("#" + postid_value).removeClass('wpforo-like').addClass('wpforo-unlike');
|
23 |
$("#likeicon" + postid).removeClass('fa-thumbs-o-up').addClass('fa-thumbs-o-down');
|
24 |
+
$("#liketext" + postid).text( ' ' + wpforo_phrase('Unlike') );
|
25 |
$("#post-" + postid + " .bleft").html(response.likers);
|
26 |
}
|
27 |
$('#wpforo-load').invisible();
|
51 |
if( response.stat == 1 ){
|
52 |
$("#" + postid_value).removeClass('wpforo-unlike').addClass('wpforo-like');
|
53 |
$("#likeicon" + postid).removeClass('fa-thumbs-o-down').addClass('fa-thumbs-o-up');
|
54 |
+
$("#liketext" + postid).text( ' ' + wpforo_phrase('Like') );
|
55 |
$("#post-" + postid + " .bleft").html(response.likers);
|
56 |
}
|
57 |
$('#wpforo-load').invisible();
|
199 |
$( "#formbutton" ).attr('name', 'post[save]');
|
200 |
$( "#formtopicid" ).attr('name', 'post[topicid]');
|
201 |
$( "#title" ).attr('name', 'post[title]');
|
202 |
+
$( "#formbutton" ).val( wpforo_phrase('Save') );
|
203 |
+
$( "#title").val( wpforo_phrase('re') + ": " + $("#title").attr('placeholder').replace( wpforo_phrase('re') + ": ", "").replace( wpforo_phrase('answer to') + ": ", "") );
|
204 |
$('html, body').animate({scrollTop: $("#wpf-form-wrapper").offset().top}, 1000);
|
205 |
|
206 |
tinymce.execCommand('mceFocus',false,'postbody');
|
290 |
}).done(function(response){
|
291 |
if(response != 0){
|
292 |
$("#" + postid_value).removeClass('wpforo-sticky').addClass('wpforo-unsticky');
|
293 |
+
$("#stickytext" + postid).text( ' ' + wpforo_phrase('Unsticky') );
|
294 |
}
|
295 |
$('#wpforo-load').invisible();
|
296 |
});
|
314 |
}).done(function(response){
|
315 |
if(response != 0){
|
316 |
$("#" + postid_value).removeClass('wpforo-unsticky').addClass('wpforo-sticky');
|
317 |
+
$("#stickytext" + postid).text( ' ' + wpforo_phrase('Sticky') );
|
318 |
}
|
319 |
$('#wpforo-load').invisible();
|
320 |
});
|
341 |
$("#approveicon" + postid).removeClass('fa-check').addClass('fa-exclamation-circle');
|
342 |
$("#wpforo-wrap #post-" + postid + " .wpf-mod-message").hide();
|
343 |
$("#wpforo-wrap .wpf-status-title").hide();
|
344 |
+
$("#approvetext" + postid).text( ' ' + wpforo_phrase('Unapprove') );
|
345 |
}
|
346 |
$('#wpforo-load').invisible();
|
347 |
});
|
368 |
$("#approveicon" + postid).removeClass('fa-exclamation-circle').addClass('fa-check');
|
369 |
$('#wpforo-wrap #post-' + postid + ' .wpf-mod-message').visible();
|
370 |
$('#wpforo-wrap .wpf-status-title').visible();
|
371 |
+
$("#approvetext" + postid).text( ' ' + wpforo_phrase('Approve') );
|
372 |
}
|
373 |
$('#wpforo-load').invisible();
|
374 |
location.reload();
|
395 |
if(response != 0){
|
396 |
$("#" + postid_value).removeClass('wpforo-private').addClass('wpforo-public');
|
397 |
$("#privateicon" + postid).removeClass('fa-eye-slash').addClass('fa-eye');
|
398 |
+
$("#privatetext" + postid).text( ' ' + wpforo_phrase('Public') );
|
399 |
}
|
400 |
$('#wpforo-load').invisible();
|
401 |
});
|
419 |
if(response != 0){
|
420 |
$("#" + postid_value).removeClass('wpforo-public').addClass('wpforo-private');
|
421 |
$("#privateicon" + postid).removeClass('fa-eye').addClass('fa-eye-slash');
|
422 |
+
$("#privatetext" + postid).text( ' ' + wpforo_phrase('Private') );
|
423 |
}
|
424 |
$('#wpforo-load').invisible();
|
425 |
});
|
443 |
}).done(function(response){
|
444 |
if(response != 0){
|
445 |
$("#" + postid_value).removeClass('wpforo-solved').addClass('wpforo-unsolved');
|
446 |
+
$("#solvedtext" + postid).text( ' ' + wpforo_phrase('Unsolved') );
|
447 |
}
|
448 |
$('#wpforo-load').invisible();
|
449 |
});
|
466 |
}).done(function(response){
|
467 |
if(response != 0){
|
468 |
$("#" + postid_value).removeClass('wpforo-unsolved').addClass('wpforo-solved');
|
469 |
+
$("#solvedtext" + postid).text( ' ' + wpforo_phrase('Solved') );
|
470 |
}
|
471 |
$('#wpforo-load').invisible();
|
472 |
});
|
491 |
if(response != 0){
|
492 |
$("#" + postid_value).removeClass('wpforo-close').addClass('wpforo-open');
|
493 |
$("#closeicon" + postid).removeClass('fa-lock').addClass('fa-unlock');
|
494 |
+
$("#closetext" + postid).text( ' ' + wpforo_phrase('Open') );
|
495 |
$("#wpf-form-wrapper").remove();
|
496 |
$(".wpforo-reply").remove();
|
497 |
$(".wpforo-quote").remove();
|
518 |
if(response != 0){
|
519 |
/*$("#" + postid_value).removeClass('wpforo-open').addClass('wpforo-close');
|
520 |
$("#closeicon" + postid).removeClass('fa-unlock').addClass('fa-lock');
|
521 |
+
$("#closetext" + postid).text( ' ' + wpforo_phrase('Close') );*/
|
522 |
window.location.assign(response);
|
523 |
}
|
524 |
$('#wpforo-load').invisible();
|
559 |
|
560 |
$( "#formaction" ).val( 'edit' );
|
561 |
$( "#formpostid" ).val( postid );
|
562 |
+
$( "#formbutton" ).val( wpforo_phrase('Update') );
|
563 |
$( 'html, body' ).animate({scrollTop: $("#wpf-form-wrapper").offset().top}, 1000);
|
564 |
if(is_topic == -1){
|
565 |
// $( "#title" ).prop( "disabled", true );
|
594 |
$(document).on('click','.wpforo-delete', function(){
|
595 |
$("#wpf-msg-box").hide(); $('#wpforo-load').visible();
|
596 |
|
597 |
+
var ok = confirm(wpforo_ucwords( wpforo_phrase('are you sure you want to delete?') ));
|
598 |
|
599 |
if (ok == true){
|
600 |
var postid_value = $(this).attr('id');
|
678 |
}
|
679 |
if( response.stat == 1 ){
|
680 |
$("#wpfsubscribe-" + itemid).removeClass('wpf-subscribe-' + type).addClass('wpf-unsubscribe-' + type);
|
681 |
+
$("#wpfsubscribe-" + itemid).text( ' ' + wpforo_phrase('Unsubscribe') );
|
682 |
$('#wpforo-load').invisible();
|
683 |
}else{
|
684 |
$('#wpforo-load').invisible();
|
697 |
var clases = $(this).attr('class');
|
698 |
if( clases.indexOf("wpf-unsubscribe-forum") > -1 ){
|
699 |
type = 'forum';
|
700 |
+
button_phrase = wpforo_ucwords( wpforo_phrase('Subscribe for new topics') );
|
701 |
}
|
702 |
if( clases.indexOf("wpf-unsubscribe-topic") > -1 ){
|
703 |
type = 'topic';
|
704 |
+
button_phrase = wpforo_ucwords( wpforo_phrase('Subscribe for new replies') );
|
705 |
}
|
706 |
var postid_value = $(this).attr('id');
|
707 |
var itemid = postid_value.replace("wpfsubscribe-", "");
|
wpf-assets/js/frontend.js
CHANGED
@@ -30,9 +30,10 @@ function wpforo_notice_show(notice){
|
|
30 |
}
|
31 |
|
32 |
function wpforo_phrase(phrase_key){
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
36 |
return phrase_key;
|
37 |
}
|
38 |
|
@@ -43,7 +44,7 @@ jQuery(document).ready(function($){
|
|
43 |
$('html, body').scrollTop(_m.offset().top - 25);
|
44 |
}
|
45 |
|
46 |
-
$(document).on('click', '#add_wpftopic', function(){
|
47 |
var stat = $( ".wpf-topic-create" ).is( ":hidden" );
|
48 |
$( ".wpf-topic-create" ).slideToggle( "slow" );
|
49 |
var add_wpftopic = '<i class="fa fa-times" aria-hidden="true"></i>';
|
@@ -106,7 +107,7 @@ jQuery(document).ready(function($){
|
|
106 |
$( ".wpforo-reply" ).click(function(){
|
107 |
|
108 |
$("#wpf-msg-box").hide(); $('#wpforo-load').visible();
|
109 |
-
$("#wpf-reply-form-title").html(
|
110 |
|
111 |
var parentpostid = $(this).attr('id');
|
112 |
parentpostid = parentpostid.replace("parentpostid", "");
|
@@ -122,8 +123,8 @@ jQuery(document).ready(function($){
|
|
122 |
$( "#title" ).attr('name', 'post[title]');
|
123 |
$( "#formaction" ).val( 'add' );
|
124 |
$( "#formpostid" ).val( '' );
|
125 |
-
$( "#formbutton" ).val(
|
126 |
-
$( "#title").val(
|
127 |
|
128 |
$('html, body').animate({ scrollTop: $("#wpf-form-wrapper").offset().top }, 500);
|
129 |
|
@@ -139,7 +140,7 @@ jQuery(document).ready(function($){
|
|
139 |
$( ".wpforo-answer" ).click(function(){
|
140 |
|
141 |
$("#wpf-msg-box").hide(); $('#wpforo-load').visible();
|
142 |
-
$("#wpf-reply-form-title").html(
|
143 |
|
144 |
tinyMCE.activeEditor.setContent('');
|
145 |
$( "#formaction" ).attr('name', 'post[action]');
|
@@ -148,8 +149,8 @@ jQuery(document).ready(function($){
|
|
148 |
$( "#title" ).attr('name', 'post[title]');
|
149 |
$( "#formaction" ).val( 'add' );
|
150 |
$( "#formpostid" ).val( '' );
|
151 |
-
$( "#formbutton" ).val(
|
152 |
-
$( "#title").val(
|
153 |
$('html, body').animate({ scrollTop: $("#wpf-form-wrapper").offset().top }, 500);
|
154 |
|
155 |
tinymce.execCommand('mceFocus',false,'postbody');
|
@@ -163,7 +164,7 @@ jQuery(document).ready(function($){
|
|
163 |
//Comment
|
164 |
$( ".wpforo-childreply" ).click(function(){
|
165 |
$("#wpf-msg-box").hide(); $('#wpforo-load').visible();
|
166 |
-
$("#wpf-reply-form-title").html(
|
167 |
|
168 |
var parentpostid = $(this).attr('id');
|
169 |
var postid = parentpostid.replace("parentpostid", "");
|
@@ -179,8 +180,8 @@ jQuery(document).ready(function($){
|
|
179 |
$( "#title" ).attr('name', 'post[title]');
|
180 |
$( "#formaction" ).val( 'add' );
|
181 |
$( "#formpostid" ).val( '' );
|
182 |
-
$( "#formbutton" ).val(
|
183 |
-
$( "#title").val(
|
184 |
$('html, body').animate({ scrollTop: $("#wpf-form-wrapper").offset().top }, 800);
|
185 |
|
186 |
tinymce.execCommand('mceFocus',false,'postbody');
|
30 |
}
|
31 |
|
32 |
function wpforo_phrase(phrase_key){
|
33 |
+
if( typeof wpforo_phrases !== 'undefined' ){
|
34 |
+
phrase_key = phrase_key.toLowerCase();
|
35 |
+
if( wpforo_phrases[phrase_key] !== undefined ) phrase_key = wpforo_phrases[phrase_key];
|
36 |
+
}
|
37 |
return phrase_key;
|
38 |
}
|
39 |
|
44 |
$('html, body').scrollTop(_m.offset().top - 25);
|
45 |
}
|
46 |
|
47 |
+
$(document).on('click', '#add_wpftopic:not(.not_reg_user)', function(){
|
48 |
var stat = $( ".wpf-topic-create" ).is( ":hidden" );
|
49 |
$( ".wpf-topic-create" ).slideToggle( "slow" );
|
50 |
var add_wpftopic = '<i class="fa fa-times" aria-hidden="true"></i>';
|
107 |
$( ".wpforo-reply" ).click(function(){
|
108 |
|
109 |
$("#wpf-msg-box").hide(); $('#wpforo-load').visible();
|
110 |
+
$("#wpf-reply-form-title").html( wpforo_phrase('Leave a reply') );
|
111 |
|
112 |
var parentpostid = $(this).attr('id');
|
113 |
parentpostid = parentpostid.replace("parentpostid", "");
|
123 |
$( "#title" ).attr('name', 'post[title]');
|
124 |
$( "#formaction" ).val( 'add' );
|
125 |
$( "#formpostid" ).val( '' );
|
126 |
+
$( "#formbutton" ).val( wpforo_phrase('Save') );
|
127 |
+
$( "#title").val( wpforo_phrase('re') + ": " + $("#title").attr('placeholder').replace( wpforo_phrase('re') + ": ", ""));
|
128 |
|
129 |
$('html, body').animate({ scrollTop: $("#wpf-form-wrapper").offset().top }, 500);
|
130 |
|
140 |
$( ".wpforo-answer" ).click(function(){
|
141 |
|
142 |
$("#wpf-msg-box").hide(); $('#wpforo-load').visible();
|
143 |
+
$("#wpf-reply-form-title").html( wpforo_phrase('Your answer') );
|
144 |
|
145 |
tinyMCE.activeEditor.setContent('');
|
146 |
$( "#formaction" ).attr('name', 'post[action]');
|
149 |
$( "#title" ).attr('name', 'post[title]');
|
150 |
$( "#formaction" ).val( 'add' );
|
151 |
$( "#formpostid" ).val( '' );
|
152 |
+
$( "#formbutton" ).val( wpforo_phrase('Save') );
|
153 |
+
$( "#title").val( wpforo_phrase('Answer to') + ": " + $("#title").attr('placeholder').replace( wpforo_phrase('re') + ": ", "").replace( wpforo_phrase('Answer to') + ": ", ""));
|
154 |
$('html, body').animate({ scrollTop: $("#wpf-form-wrapper").offset().top }, 500);
|
155 |
|
156 |
tinymce.execCommand('mceFocus',false,'postbody');
|
164 |
//Comment
|
165 |
$( ".wpforo-childreply" ).click(function(){
|
166 |
$("#wpf-msg-box").hide(); $('#wpforo-load').visible();
|
167 |
+
$("#wpf-reply-form-title").html( wpforo_phrase('Leave a comment') );
|
168 |
|
169 |
var parentpostid = $(this).attr('id');
|
170 |
var postid = parentpostid.replace("parentpostid", "");
|
180 |
$( "#title" ).attr('name', 'post[title]');
|
181 |
$( "#formaction" ).val( 'add' );
|
182 |
$( "#formpostid" ).val( '' );
|
183 |
+
$( "#formbutton" ).val( wpforo_phrase('Save') );
|
184 |
+
$( "#title").val( wpforo_phrase('re') + ": " + $("#title").attr('placeholder').replace( wpforo_phrase('re') + ": ", "").replace( wpforo_phrase('Answer to') + ": ", "") );
|
185 |
$('html, body').animate({ scrollTop: $("#wpf-form-wrapper").offset().top }, 800);
|
186 |
|
187 |
tinymce.execCommand('mceFocus',false,'postbody');
|
wpf-includes/class-members.php
CHANGED
@@ -326,56 +326,69 @@ class wpForoMember{
|
|
326 |
}
|
327 |
|
328 |
extract($args, EXTR_OVERWRITE);
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
$this->wpforo->db->update(
|
362 |
$this->wpforo->db->base_prefix."users",
|
363 |
-
|
364 |
-
'display_name' => sanitize_text_field($display_name),
|
365 |
-
'user_nicename' => sanitize_title($user_nicename),
|
366 |
-
'user_email' => sanitize_email($user_email)
|
367 |
-
),
|
368 |
array('ID' => $userid),
|
369 |
-
|
370 |
array('%d')
|
371 |
);
|
372 |
-
|
373 |
-
$this->wpforo->db->base_prefix."usermeta",
|
374 |
-
array('meta_value' => sanitize_title($user_nicename)),
|
375 |
-
array('user_id' => $userid, 'meta_key' => 'nickname'),
|
376 |
-
array('%s'),
|
377 |
-
array('%d', '%s')
|
378 |
-
);
|
379 |
$this->reset($userid);
|
380 |
}
|
381 |
|
@@ -571,8 +584,7 @@ class wpForoMember{
|
|
571 |
$do_db_cache = wpforo_feature('member_cashe', $this->wpforo);
|
572 |
|
573 |
$userid = intval($userid);
|
574 |
-
|
575 |
-
|
576 |
if( $do_db_cache ){
|
577 |
if( $username ){
|
578 |
$user_obj = get_user_by( 'user_nicename', $username );
|
@@ -1482,6 +1494,7 @@ class wpForoMember{
|
|
1482 |
'faIcon' => 'fa-envelope',
|
1483 |
'name' => 'user_email',
|
1484 |
'canBeInactive' => array(
|
|
|
1485 |
'profile',
|
1486 |
'search'
|
1487 |
),
|
326 |
}
|
327 |
|
328 |
extract($args, EXTR_OVERWRITE);
|
329 |
+
|
330 |
+
$fields = array();
|
331 |
+
$fields_types = array();
|
332 |
+
|
333 |
+
if( isset($userid) && $userid ){
|
334 |
+
$userid = intval($userid);
|
335 |
+
|
336 |
+
$isRegister = ( isset($args['template']) && $args['template'] == 'register' ) ? true : false;
|
337 |
+
if ( !$isRegister && ( !is_user_logged_in() || !$this->wpforo->perm->user_can_manage_user( $this->wpforo->current_userid, $userid ) ) ) {
|
338 |
+
$this->wpforo->notice->add('Permission denied', 'error');
|
339 |
+
return FALSE;
|
340 |
+
}
|
341 |
+
|
342 |
+
if( isset($display_name) && $display_name ){
|
343 |
+
$fields['display_name'] = sanitize_text_field(trim($display_name));
|
344 |
+
$fields_types[] = '%s';
|
345 |
+
}
|
346 |
+
if( isset($user_email) && $user_email ){
|
347 |
+
$user_email = sanitize_email($user_email);
|
348 |
+
if ( ! is_email( $user_email ) ) {
|
349 |
+
$this->wpforo->notice->add('Invalid Email address', 'error');
|
350 |
+
return FALSE;
|
351 |
+
}elseif ( ( $owner_id = email_exists( $user_email ) ) && ( $owner_id != $userid ) ) {
|
352 |
+
$this->wpforo->notice->add('This email address is already registered. Please insert another.', 'error');
|
353 |
+
return FALSE;
|
354 |
+
}
|
355 |
+
|
356 |
+
$fields['user_email'] = $user_email;
|
357 |
+
$fields_types[] = '%s';
|
358 |
+
}
|
359 |
+
if( isset($user_nicename) && $user_nicename ){
|
360 |
+
$user_nicename = sanitize_title( trim($user_nicename) );
|
361 |
+
if( is_numeric($user_nicename) ){
|
362 |
+
$this->wpforo->notice->add('Numerical nicknames are not allowed. Please insert another.', 'error');
|
363 |
+
return FALSE;
|
364 |
+
}
|
365 |
+
$sql = "SELECT `ID` FROM `".$this->wpforo->db->base_prefix."users` WHERE `ID` != ". intval($userid) ." AND ( `user_nicename` LIKE '".esc_sql($user_nicename)."' OR `ID` LIKE '".esc_sql($user_nicename)."' )";
|
366 |
+
if( $this->wpforo->db->get_var($sql)){
|
367 |
+
$this->wpforo->notice->add('This nickname is already registered. Please insert another.', 'error');
|
368 |
+
return FALSE;
|
369 |
+
}
|
370 |
+
|
371 |
+
$fields['user_nicename'] = $user_nicename;
|
372 |
+
$fields_types[] = '%s';
|
373 |
+
|
374 |
+
$this->wpforo->db->update(
|
375 |
+
$this->wpforo->db->base_prefix."usermeta",
|
376 |
+
array('meta_value' => $user_nicename),
|
377 |
+
array('user_id' => $userid, 'meta_key' => 'nickname'),
|
378 |
+
array('%s'),
|
379 |
+
array('%d', '%s')
|
380 |
+
);
|
381 |
+
}
|
382 |
+
|
383 |
+
if( $fields ){
|
384 |
$this->wpforo->db->update(
|
385 |
$this->wpforo->db->base_prefix."users",
|
386 |
+
$fields,
|
|
|
|
|
|
|
|
|
387 |
array('ID' => $userid),
|
388 |
+
$fields_types,
|
389 |
array('%d')
|
390 |
);
|
391 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
392 |
$this->reset($userid);
|
393 |
}
|
394 |
|
584 |
$do_db_cache = wpforo_feature('member_cashe', $this->wpforo);
|
585 |
|
586 |
$userid = intval($userid);
|
587 |
+
|
|
|
588 |
if( $do_db_cache ){
|
589 |
if( $username ){
|
590 |
$user_obj = get_user_by( 'user_nicename', $username );
|
1494 |
'faIcon' => 'fa-envelope',
|
1495 |
'name' => 'user_email',
|
1496 |
'canBeInactive' => array(
|
1497 |
+
'account',
|
1498 |
'profile',
|
1499 |
'search'
|
1500 |
),
|
wpf-includes/class-posts.php
CHANGED
@@ -97,6 +97,7 @@ class wpForoPost{
|
|
97 |
if(isset($userid)) $userid = intval($userid);
|
98 |
if(isset($body)) $body = wpforo_kses(trim($body), 'post');
|
99 |
if(isset($status)) $status = intval($status);
|
|
|
100 |
if(isset($name)) $name = strip_tags(trim($name));
|
101 |
if(isset($email)) $email = strip_tags(trim($email));
|
102 |
|
@@ -115,10 +116,11 @@ class wpForoPost{
|
|
115 |
'created' => $created,
|
116 |
'modified' => $created,
|
117 |
'status' => (isset($status) ? $status : 0),
|
|
|
118 |
'name' => $name,
|
119 |
'email' => $email
|
120 |
),
|
121 |
-
array('%d','%d','%d','%d','%s','%s','%s','%s','%d','%s','%s')
|
122 |
)
|
123 |
){
|
124 |
$postid = $this->wpforo->db->insert_id;
|
@@ -201,6 +203,7 @@ class wpForoPost{
|
|
201 |
if(isset($userid)) $userid = intval($userid);
|
202 |
if(isset($body)) $body = wpforo_kses(trim($body), 'post');
|
203 |
if(isset($status)) $status = intval($status);
|
|
|
204 |
if(isset($name)) $name = strip_tags(trim($name));
|
205 |
if(isset($email)) $email = strip_tags(trim($email));
|
206 |
|
@@ -225,7 +228,7 @@ class wpForoPost{
|
|
225 |
array('%d')
|
226 |
)
|
227 |
){
|
228 |
-
do_action( 'wpforo_after_edit_post', array( 'postid' => $postid, 'topicid' => $topicid, 'title' => $title, 'body' => $body, 'status' => $status, 'name' => $name, 'email' => $email) );
|
229 |
|
230 |
wpforo_clean_cache($postid, 'post', $post);
|
231 |
$this->wpforo->notice->add('This post successfully edited', 'success');
|
@@ -377,9 +380,9 @@ class wpForoPost{
|
|
377 |
'offset' => NULL, // this use when you give row_count
|
378 |
'row_count' => NULL, // 4 or 1 ...
|
379 |
'status' => NULL, // 0 or 1 ...
|
380 |
-
'
|
381 |
-
|
382 |
-
'check_private' =>
|
383 |
);
|
384 |
|
385 |
$args = wpforo_parse_args( $args, $default );
|
@@ -403,6 +406,7 @@ class wpForoPost{
|
|
403 |
if($parentid != -1) $wheres[] = $table_as_prefix . "`parentid` = " . intval($parentid);
|
404 |
if(!is_null($userid)) $wheres[] = $table_as_prefix . "`userid` = " . intval($userid);
|
405 |
if(!is_null($status)) $wheres[] = $table_as_prefix . "`status` = " . intval($status);
|
|
|
406 |
if(!is_null($email)) $wheres[] = $table_as_prefix . "`email` = '" . esc_sql($email) . "' ";
|
407 |
|
408 |
if( isset($forumid) && $forumid ){
|
@@ -417,6 +421,7 @@ class wpForoPost{
|
|
417 |
}
|
418 |
}
|
419 |
|
|
|
420 |
if( $check_private ){
|
421 |
$sql = "SELECT DISTINCT `".$this->wpforo->db->prefix."wpforo_posts`.*, `".$this->wpforo->db->prefix."wpforo_topics`.`private` FROM `".$this->wpforo->db->prefix."wpforo_posts`, `".$this->wpforo->db->prefix."wpforo_topics`";
|
422 |
if(!empty($wheres)){
|
@@ -429,13 +434,14 @@ class wpForoPost{
|
|
429 |
$item_count_sql = preg_replace('#SELECT.+?FROM#isu', 'SELECT count(*) FROM', $sql);
|
430 |
}
|
431 |
else{
|
|
|
432 |
$sql = "SELECT * FROM `".$this->wpforo->db->prefix."wpforo_posts`";
|
433 |
if(!empty($wheres)){
|
434 |
$sql .= " WHERE " . implode(" AND ", $wheres);
|
435 |
}
|
436 |
$sql .= " ORDER BY `$orderby` " . $order;
|
437 |
$item_count_sql = preg_replace('#SELECT.+?FROM#isu', 'SELECT count(*) FROM', $sql);
|
438 |
-
}
|
439 |
|
440 |
if( $item_count_sql ) $items_count = $this->wpforo->db->get_var($item_count_sql);
|
441 |
|
97 |
if(isset($userid)) $userid = intval($userid);
|
98 |
if(isset($body)) $body = wpforo_kses(trim($body), 'post');
|
99 |
if(isset($status)) $status = intval($status);
|
100 |
+
if(isset($private)) $private = intval($private);
|
101 |
if(isset($name)) $name = strip_tags(trim($name));
|
102 |
if(isset($email)) $email = strip_tags(trim($email));
|
103 |
|
116 |
'created' => $created,
|
117 |
'modified' => $created,
|
118 |
'status' => (isset($status) ? $status : 0),
|
119 |
+
'private' => (isset($private) ? $private : 0),
|
120 |
'name' => $name,
|
121 |
'email' => $email
|
122 |
),
|
123 |
+
array('%d','%d','%d','%d','%s','%s','%s','%s','%d','%d','%s','%s')
|
124 |
)
|
125 |
){
|
126 |
$postid = $this->wpforo->db->insert_id;
|
203 |
if(isset($userid)) $userid = intval($userid);
|
204 |
if(isset($body)) $body = wpforo_kses(trim($body), 'post');
|
205 |
if(isset($status)) $status = intval($status);
|
206 |
+
if(isset($private)) $private = intval($private);
|
207 |
if(isset($name)) $name = strip_tags(trim($name));
|
208 |
if(isset($email)) $email = strip_tags(trim($email));
|
209 |
|
228 |
array('%d')
|
229 |
)
|
230 |
){
|
231 |
+
do_action( 'wpforo_after_edit_post', array( 'postid' => $postid, 'topicid' => $topicid, 'title' => $title, 'body' => $body, 'status' => $status, 'private' => $private, 'name' => $name, 'email' => $email) );
|
232 |
|
233 |
wpforo_clean_cache($postid, 'post', $post);
|
234 |
$this->wpforo->notice->add('This post successfully edited', 'success');
|
380 |
'offset' => NULL, // this use when you give row_count
|
381 |
'row_count' => NULL, // 4 or 1 ...
|
382 |
'status' => NULL, // 0 or 1 ...
|
383 |
+
'private' => NULL, // 0 or 1 ...
|
384 |
+
'email' => NULL, // example@example.com ...
|
385 |
+
'check_private' => TRUE
|
386 |
);
|
387 |
|
388 |
$args = wpforo_parse_args( $args, $default );
|
406 |
if($parentid != -1) $wheres[] = $table_as_prefix . "`parentid` = " . intval($parentid);
|
407 |
if(!is_null($userid)) $wheres[] = $table_as_prefix . "`userid` = " . intval($userid);
|
408 |
if(!is_null($status)) $wheres[] = $table_as_prefix . "`status` = " . intval($status);
|
409 |
+
if(!is_null($private)) $wheres[] = $table_as_prefix . "`private` = " . intval($private);
|
410 |
if(!is_null($email)) $wheres[] = $table_as_prefix . "`email` = '" . esc_sql($email) . "' ";
|
411 |
|
412 |
if( isset($forumid) && $forumid ){
|
421 |
}
|
422 |
}
|
423 |
|
424 |
+
/*
|
425 |
if( $check_private ){
|
426 |
$sql = "SELECT DISTINCT `".$this->wpforo->db->prefix."wpforo_posts`.*, `".$this->wpforo->db->prefix."wpforo_topics`.`private` FROM `".$this->wpforo->db->prefix."wpforo_posts`, `".$this->wpforo->db->prefix."wpforo_topics`";
|
427 |
if(!empty($wheres)){
|
434 |
$item_count_sql = preg_replace('#SELECT.+?FROM#isu', 'SELECT count(*) FROM', $sql);
|
435 |
}
|
436 |
else{
|
437 |
+
*/
|
438 |
$sql = "SELECT * FROM `".$this->wpforo->db->prefix."wpforo_posts`";
|
439 |
if(!empty($wheres)){
|
440 |
$sql .= " WHERE " . implode(" AND ", $wheres);
|
441 |
}
|
442 |
$sql .= " ORDER BY `$orderby` " . $order;
|
443 |
$item_count_sql = preg_replace('#SELECT.+?FROM#isu', 'SELECT count(*) FROM', $sql);
|
444 |
+
/*}*/
|
445 |
|
446 |
if( $item_count_sql ) $items_count = $this->wpforo->db->get_var($item_count_sql);
|
447 |
|
wpf-includes/class-template.php
CHANGED
@@ -569,6 +569,17 @@ class wpForoTemplate{
|
|
569 |
<a href="#" class="wpf-end"> </a>
|
570 |
</div>
|
571 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
572 |
<?php break;
|
573 |
case 'profile': ?>
|
574 |
|
@@ -974,6 +985,13 @@ class wpForoTemplate{
|
|
974 |
);
|
975 |
}
|
976 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
977 |
if( is_user_logged_in() ){
|
978 |
|
979 |
$this->wpforo->menu['wpforo-profile-home'] = array(
|
@@ -1570,6 +1588,9 @@ class wpForoTemplate{
|
|
1570 |
elseif( $type == 'html' ){
|
1571 |
$field_html = stripslashes($html);
|
1572 |
}
|
|
|
|
|
|
|
1573 |
else{
|
1574 |
$field_html = '<input ' . $isRequired . ' type="' . $type .'" value="' . esc_attr($value) . '" name="' . esc_attr($fieldName) .'" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isDisabled . ' '.$attributes.' ' . trim($minmax) . ' placeholder="' . esc_attr($placeholder) . '"/>';
|
1575 |
}
|
@@ -1651,7 +1672,7 @@ class wpForoTemplate{
|
|
1651 |
$field_wrap_html .= '<div class="wpf-field-cl"></div></div>';
|
1652 |
}
|
1653 |
elseif( $template == 'profile' ){
|
1654 |
-
if( !isset($value) || empty($value) || !$value ){ return; }
|
1655 |
if( $type == 'textarea' ) $value = wpautop(wpforo_kses(stripslashes($value)));
|
1656 |
$field_wrap_html .= '<div class="wpf-field wpf-field-type-' . esc_attr($type) . ' wpf-field-name-' . esc_attr($field_name_class) . ' ' . esc_attr($field_required_class) . '" title="' . esc_attr($title) . '">';
|
1657 |
if( $type == 'html' ){
|
@@ -1734,53 +1755,22 @@ class wpForoTemplate{
|
|
1734 |
|
1735 |
|
1736 |
public function form_fields( $fields ){
|
1737 |
-
|
1738 |
if(empty($fields)) return '';
|
1739 |
-
$rows = $fields;
|
1740 |
$html = '';
|
1741 |
-
$
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
-
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
|
1754 |
-
|
1755 |
-
if( !isset($row[$j])) continue; $col = $row[$j]; $colClasses = "row_$i-col_$j "; $colClasses .= apply_filters('wpforo_col_classes', '', $i, $j);
|
1756 |
-
|
1757 |
-
///////////////////////// COL START /////////////////////////////////
|
1758 |
-
|
1759 |
-
$html .= '<div class="wpf-td wpfw-' . $cell_count . ' ' . esc_attr( $colClasses ) . '">';
|
1760 |
-
|
1761 |
-
for ($k = 0; $k < count($col); $k++) {
|
1762 |
-
|
1763 |
-
///////////////////////// FIELD START ///////////////////////////
|
1764 |
-
|
1765 |
-
$field = $col[$k];
|
1766 |
-
if( !empty($field) ) {
|
1767 |
-
$html .= $this->field( $field );
|
1768 |
-
}
|
1769 |
-
|
1770 |
-
///////////////////////// FIELD END /////////////////////////////
|
1771 |
-
|
1772 |
-
}
|
1773 |
-
|
1774 |
-
$html .= '</div>';
|
1775 |
-
|
1776 |
-
///////////////////////// COL END ///////////////////////////////////
|
1777 |
-
}
|
1778 |
-
|
1779 |
-
$html .= '<div class="wpf-cl"></div></div>';
|
1780 |
-
|
1781 |
-
///////////////////////// ROW END ////////////////////////////////////////
|
1782 |
-
}
|
1783 |
-
|
1784 |
return $html;
|
1785 |
}
|
1786 |
|
569 |
<a href="#" class="wpf-end"> </a>
|
570 |
</div>
|
571 |
|
572 |
+
<?php break;
|
573 |
+
case 'recent': ?>
|
574 |
+
|
575 |
+
<div class="wpf-breadcrumb">
|
576 |
+
<a href="<?php echo wpforo_home_url() ?>" class="wpf-root" title="<?php esc_attr( wpforo_phrase('Forums') ) ?>"><i class="fa fa-home"></i></a>
|
577 |
+
|
578 |
+
<a href="#" class="active"><?php wpforo_phrase('Recently Added') ?></a>
|
579 |
+
|
580 |
+
<a href="#" class="wpf-end"> </a>
|
581 |
+
</div>
|
582 |
+
|
583 |
<?php break;
|
584 |
case 'profile': ?>
|
585 |
|
985 |
);
|
986 |
}
|
987 |
|
988 |
+
$this->wpforo->menu['wpforo-recent'] = array(
|
989 |
+
'href' => wpforo_home_url('recent'),
|
990 |
+
'label' => wpforo_phrase('Recent Posts', FALSE),
|
991 |
+
'attr' => ( $template == 'recent' ? ' class="wpforo-active"' : '' ),
|
992 |
+
'submenues' => array()
|
993 |
+
);
|
994 |
+
|
995 |
if( is_user_logged_in() ){
|
996 |
|
997 |
$this->wpforo->menu['wpforo-profile-home'] = array(
|
1588 |
elseif( $type == 'html' ){
|
1589 |
$field_html = stripslashes($html);
|
1590 |
}
|
1591 |
+
elseif( $type == 'url' || $name == 'user_nicename' ){
|
1592 |
+
$field_html = '<input ' . $isRequired . ' type="' . $type .'" value="' . esc_attr( urldecode($value) ) . '" name="' . esc_attr($fieldName) .'" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isDisabled . ' '.$attributes.' ' . trim($minmax) . ' placeholder="' . esc_attr($placeholder) . '"/>';
|
1593 |
+
}
|
1594 |
else{
|
1595 |
$field_html = '<input ' . $isRequired . ' type="' . $type .'" value="' . esc_attr($value) . '" name="' . esc_attr($fieldName) .'" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isDisabled . ' '.$attributes.' ' . trim($minmax) . ' placeholder="' . esc_attr($placeholder) . '"/>';
|
1596 |
}
|
1672 |
$field_wrap_html .= '<div class="wpf-field-cl"></div></div>';
|
1673 |
}
|
1674 |
elseif( $template == 'profile' ){
|
1675 |
+
if( !isset($value) || empty($value) || !$value || ( !$is_owner && !in_array( $this->wpforo->current_user_groupid, $canView )) ){ return ''; }
|
1676 |
if( $type == 'textarea' ) $value = wpautop(wpforo_kses(stripslashes($value)));
|
1677 |
$field_wrap_html .= '<div class="wpf-field wpf-field-type-' . esc_attr($type) . ' wpf-field-name-' . esc_attr($field_name_class) . ' ' . esc_attr($field_required_class) . '" title="' . esc_attr($title) . '">';
|
1678 |
if( $type == 'html' ){
|
1755 |
|
1756 |
|
1757 |
public function form_fields( $fields ){
|
|
|
1758 |
if(empty($fields)) return '';
|
|
|
1759 |
$html = '';
|
1760 |
+
foreach ($fields as $row_key => $row){
|
1761 |
+
$rowClasses = "row-$row_key " . apply_filters('wpforo_row_classes', '', $row_key);
|
1762 |
+
$html .= '<div class="wpf-tr ' . esc_attr( $rowClasses ) . '">';
|
1763 |
+
foreach ( $row as $col_key => $col ){
|
1764 |
+
$colClasses = "row_$row_key-col_$col_key " . apply_filters('wpforo_col_classes', '', $row_key, $col_key);
|
1765 |
+
$html .= '<div class="wpf-td wpfw-' . count($row) . ' ' . esc_attr( $colClasses ) . '">';
|
1766 |
+
foreach ( $col as $field ){
|
1767 |
+
if( !empty($field) ) $html .= $this->field( $field );
|
1768 |
+
}
|
1769 |
+
$html .= '</div>';
|
1770 |
+
}
|
1771 |
+
$html .= '<div class="wpf-cl"></div></div>';
|
1772 |
+
}
|
1773 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1774 |
return $html;
|
1775 |
}
|
1776 |
|
wpf-includes/class-topics.php
CHANGED
@@ -125,10 +125,11 @@ class wpForoTopic{
|
|
125 |
'modified' => $created,
|
126 |
'is_first_post' => 1,
|
127 |
'status' => (isset($status) ? $status : 0),
|
|
|
128 |
'name' => $name,
|
129 |
'email' => $email
|
130 |
),
|
131 |
-
array('%d','%d','%d','%s','%s','%s','%s','%d','%d','%s','%s')
|
132 |
)
|
133 |
){
|
134 |
$first_postid = $this->wpforo->db->insert_id;
|
@@ -266,11 +267,12 @@ class wpForoTopic{
|
|
266 |
'body' => $body,
|
267 |
'modified' => current_time( 'mysql', 1 ),
|
268 |
'status' => $status,
|
|
|
269 |
'name' => $name,
|
270 |
'email' => $email,
|
271 |
),
|
272 |
array( 'postid' => intval($topic['first_postid']) ),
|
273 |
-
array( '%s','%s','%s','%d','%s','%s' ),
|
274 |
array( '%d' )
|
275 |
);
|
276 |
|
125 |
'modified' => $created,
|
126 |
'is_first_post' => 1,
|
127 |
'status' => (isset($status) ? $status : 0),
|
128 |
+
'private' => ((isset($private) && $private) ? 1 : 0),
|
129 |
'name' => $name,
|
130 |
'email' => $email
|
131 |
),
|
132 |
+
array('%d','%d','%d','%s','%s','%s','%s','%d','%d','%d','%s','%s')
|
133 |
)
|
134 |
){
|
135 |
$first_postid = $this->wpforo->db->insert_id;
|
267 |
'body' => $body,
|
268 |
'modified' => current_time( 'mysql', 1 ),
|
269 |
'status' => $status,
|
270 |
+
'private' => $private,
|
271 |
'name' => $name,
|
272 |
'email' => $email,
|
273 |
),
|
274 |
array( 'postid' => intval($topic['first_postid']) ),
|
275 |
+
array( '%s','%s','%s','%d','%d','%s','%s' ),
|
276 |
array( '%d' )
|
277 |
);
|
278 |
|
wpf-includes/functions-installation.php
CHANGED
@@ -112,6 +112,14 @@ function wpforo_activation(){
|
|
112 |
'menu-item-parent-id' => 0,
|
113 |
'menu-item-position' => 0));
|
114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
$id['wpforo-profile'] = wp_update_nav_menu_item($menu_id, 0, array(
|
116 |
'menu-item-title' => wpforo_phrase('My Profile', false),
|
117 |
'menu-item-classes' => 'wpforo-profile',
|
@@ -305,7 +313,7 @@ function wpforo_activation(){
|
|
305 |
if( !empty($default) ){
|
306 |
$data_update = array_merge($default, $current);
|
307 |
if( !empty($data_update) ){
|
308 |
-
if( strtolower($usergroup['name']) == 'guest' && $data_update['vprf'] && WPFORO_VERSION == '1.4.
|
309 |
$data_update = serialize($data_update);
|
310 |
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_usergroups` SET `cans` = '" . $wpforo->db->_real_escape($data_update) . "' WHERE `groupid` = " . intval($usergroup['groupid']) );
|
311 |
}
|
@@ -453,6 +461,12 @@ function wpforo_activation(){
|
|
453 |
@$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'Customer', `role` = 'customer', `access` = 'standard' WHERE `groupid` = 5");
|
454 |
@$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'name', `role` = 'subscriber', `access` = 'standard' WHERE `utitle` IS NULL OR `utitle` = ''");
|
455 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
|
457 |
#################################################################
|
458 |
// UPDATE VERSION - END /////////////////////////////////////////
|
@@ -586,15 +600,35 @@ function wpforo_profile_notice(){
|
|
586 |
echo '<div class="' . $class . '" style="padding:15px 20px;"><h2 style="margin:0px;">' . esc_html($header) . $status . ' </h2><p style="font-size:15px;margin:5px 0px;">' . $message . '</p><p style="margin:0px 0px 10px 0px;">' . $button . '</p><hr /><p style="margin:0px;color:#dd0000;">' . $note . '</p><p style="margin:0px;color:#999; font-size:12px;">' . $info . '</p></div>';
|
587 |
}
|
588 |
|
589 |
-
function
|
590 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
591 |
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
'menu-item-parent-id' => 0,
|
113 |
'menu-item-position' => 0));
|
114 |
|
115 |
+
$id['wpforo-recent'] = wp_update_nav_menu_item($menu_id, 0, array(
|
116 |
+
'menu-item-title' => wpforo_phrase('Recent Posts', false),
|
117 |
+
'menu-item-classes' => 'wpforo-recent',
|
118 |
+
'menu-item-url' => '/%wpforo-recent%/',
|
119 |
+
'menu-item-status' => 'publish',
|
120 |
+
'menu-item-parent-id' => 0,
|
121 |
+
'menu-item-position' => 0));
|
122 |
+
|
123 |
$id['wpforo-profile'] = wp_update_nav_menu_item($menu_id, 0, array(
|
124 |
'menu-item-title' => wpforo_phrase('My Profile', false),
|
125 |
'menu-item-classes' => 'wpforo-profile',
|
313 |
if( !empty($default) ){
|
314 |
$data_update = array_merge($default, $current);
|
315 |
if( !empty($data_update) ){
|
316 |
+
if( strtolower($usergroup['name']) == 'guest' && $data_update['vprf'] && WPFORO_VERSION == '1.4.2' ) $data_update['va'] = 1;
|
317 |
$data_update = serialize($data_update);
|
318 |
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_usergroups` SET `cans` = '" . $wpforo->db->_real_escape($data_update) . "' WHERE `groupid` = " . intval($usergroup['groupid']) );
|
319 |
}
|
461 |
@$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'Customer', `role` = 'customer', `access` = 'standard' WHERE `groupid` = 5");
|
462 |
@$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'name', `role` = 'subscriber', `access` = 'standard' WHERE `utitle` IS NULL OR `utitle` = ''");
|
463 |
}
|
464 |
+
#################################################################
|
465 |
+
// ADD `private` field in post TABLE ///////////////////////////
|
466 |
+
$args = array( 'table' => $wpdb->prefix . 'wpforo_posts', 'col' => 'private', 'check' => 'col_exists' );
|
467 |
+
if( !wpforo_db_check( $args ) ){
|
468 |
+
@$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_posts` ADD `private` TINYINT(1) NOT NULL DEFAULT '0' AFTER `email`, ADD INDEX `is_private` (`private`);" );
|
469 |
+
}
|
470 |
|
471 |
#################################################################
|
472 |
// UPDATE VERSION - END /////////////////////////////////////////
|
600 |
echo '<div class="' . $class . '" style="padding:15px 20px;"><h2 style="margin:0px;">' . esc_html($header) . $status . ' </h2><p style="font-size:15px;margin:5px 0px;">' . $message . '</p><p style="margin:0px 0px 10px 0px;">' . $button . '</p><hr /><p style="margin:0px;color:#dd0000;">' . $note . '</p><p style="margin:0px;color:#999; font-size:12px;">' . $info . '</p></div>';
|
601 |
}
|
602 |
|
603 |
+
function wpforo_update_db_notice(){
|
604 |
+
global $wpforo, $wpdb;
|
605 |
+
$private_topics = $wpdb->get_var("SELECT `topicid` FROM `" . $wpdb->prefix . "wpforo_topics` WHERE `private` = 1");
|
606 |
+
if( $private_topics ){
|
607 |
+
$private_posts = $wpdb->get_var("SELECT `postid` FROM `" . $wpdb->prefix . "wpforo_posts` WHERE `private` = 1");
|
608 |
+
if( !$private_posts ){
|
609 |
+
$url = admin_url('admin.php?page=wpforo-community&action=wpfdb&wpfv=142');
|
610 |
+
$class = 'wpforo-mnote notice notice-warning is-dismissible';
|
611 |
+
$note = __( 'This process may take a few seconds or dozens of minutes, please be patient and don\'t close this page. Database backup is not required. If you got 500 Server Error please don\'t worry, the data updating process is still working in MySQL server.', 'wpforo');
|
612 |
+
$button = '<a href="' . $url . '" class="button button-primary button-large" style="font-size:14px;">' . __( 'Updater Database', 'wpforo') . ' >></a>';
|
613 |
+
$header = __( 'wpForo - Update Database ', 'wpforo' );
|
614 |
+
$message = __( 'Please click the button below to complete wpForo update.', 'wpforo' );
|
615 |
+
echo '<div class="' . $class . '" style="padding:15px 20px;"><h2 style="margin:0px;">' . esc_html($header) . ' </h2><p style="font-size:15px;margin:5px 0px;">' . $message . '</p><p style="margin:0px 0px 10px 0px;">' . $button . '</p><hr /><p style="margin:0px;color:#ed7600;">' . $note . '</p></div>';
|
616 |
|
617 |
+
}
|
618 |
+
}
|
619 |
+
}
|
620 |
+
|
621 |
+
function wpforo_update_db(){
|
622 |
+
global $wpforo, $wpdb;
|
623 |
+
// ADD posts' private values from TOPICS table ///////////////////////////
|
624 |
+
@$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_posts`, `" . $wpdb->prefix . "wpforo_topics` SET `" . $wpdb->prefix . "wpforo_posts`.`private` = `" . $wpdb->prefix . "wpforo_topics`.`private` WHERE `" . $wpdb->prefix . "wpforo_posts`.`topicid` = `" . $wpdb->prefix . "wpforo_topics`.`topicid`");
|
625 |
+
// ADD INDEXES in wpforo_views TABLE///////////////////////////
|
626 |
+
$args = array( 'table' => $wpdb->prefix . 'wpforo_views', 'col' => 'topicid', 'check' => 'key_exists' );
|
627 |
+
if( !wpforo_db_check( $args ) ){
|
628 |
+
@$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD INDEX(`userid`);" );
|
629 |
+
@$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD INDEX(`topicid`);" );
|
630 |
+
@$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD UNIQUE( `userid`, `topicid`);" );
|
631 |
+
@$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_likes` ADD UNIQUE( `userid`, `postid`);" );
|
632 |
+
}
|
633 |
+
update_option('wpforo_version_db', WPFORO_VERSION);
|
634 |
+
}
|
wpf-includes/functions-template.php
CHANGED
@@ -404,10 +404,14 @@ class wpForo_Widget_recent_topics extends WP_Widget {
|
|
404 |
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];//This is a HTML content//
|
405 |
}
|
406 |
// widget content from front end
|
|
|
|
|
407 |
$topic_args = array( // forumid, order, parentid
|
408 |
'orderby' => 'created',
|
409 |
'order' => 'DESC', // ASC DESC
|
410 |
-
'row_count' => $instance['count'] // 4 or 1 ...
|
|
|
|
|
411 |
);
|
412 |
$topics = $wpforo->topic->get_topics_filtered($topic_args);
|
413 |
$ug_can_va = $wpforo->perm->usergroup_can('va');
|
@@ -482,12 +486,15 @@ class wpForo_Widget_recent_replies extends WP_Widget {
|
|
482 |
if ( ! empty( $instance['title'] ) ) {
|
483 |
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];//This is a HTML content//
|
484 |
}
|
|
|
|
|
485 |
// widget content from front end
|
486 |
$posts_args = array(
|
487 |
'orderby' => 'created',
|
488 |
'order' => 'DESC',
|
489 |
'row_count' => $instance['count'],
|
490 |
-
'
|
|
|
491 |
);
|
492 |
$recent_posts = $wpforo->post->get_posts_filtered($posts_args);
|
493 |
$ug_can_va = $wpforo->perm->usergroup_can('va');
|
@@ -1194,4 +1201,26 @@ function wpforo_unread_topic( $logid, $return = 'class', $echo = true ){
|
|
1194 |
if( empty($viwed_ids) ) $unread = true;
|
1195 |
if( is_array($viwed_ids) && !in_array( $logid, $viwed_ids ) ) $unread = true;
|
1196 |
if( $unread ){ if( $return == 'class' ){ $log = 'wpf_topic_unread'; } else{ $log = true; } if( $echo ){ echo $log; } else { return $log; } }
|
1197 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];//This is a HTML content//
|
405 |
}
|
406 |
// widget content from front end
|
407 |
+
$private = (!is_user_logged_in() || !$wpforo->perm->usergroup_can('em')) ? 0 : NULL;
|
408 |
+
$status = (!is_user_logged_in() || !$wpforo->perm->usergroup_can('em')) ? 0 : NULL;
|
409 |
$topic_args = array( // forumid, order, parentid
|
410 |
'orderby' => 'created',
|
411 |
'order' => 'DESC', // ASC DESC
|
412 |
+
'row_count' => $instance['count'], // 4 or 1 ...
|
413 |
+
'private' => $private,
|
414 |
+
'status' => $status
|
415 |
);
|
416 |
$topics = $wpforo->topic->get_topics_filtered($topic_args);
|
417 |
$ug_can_va = $wpforo->perm->usergroup_can('va');
|
486 |
if ( ! empty( $instance['title'] ) ) {
|
487 |
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];//This is a HTML content//
|
488 |
}
|
489 |
+
$private = (!is_user_logged_in() || !$wpforo->perm->usergroup_can('em')) ? 0 : NULL;
|
490 |
+
$status = (!is_user_logged_in() || !$wpforo->perm->usergroup_can('em')) ? 0 : NULL;
|
491 |
// widget content from front end
|
492 |
$posts_args = array(
|
493 |
'orderby' => 'created',
|
494 |
'order' => 'DESC',
|
495 |
'row_count' => $instance['count'],
|
496 |
+
'private' => $private,
|
497 |
+
'status' => $status
|
498 |
);
|
499 |
$recent_posts = $wpforo->post->get_posts_filtered($posts_args);
|
500 |
$ug_can_va = $wpforo->perm->usergroup_can('va');
|
1201 |
if( empty($viwed_ids) ) $unread = true;
|
1202 |
if( is_array($viwed_ids) && !in_array( $logid, $viwed_ids ) ) $unread = true;
|
1203 |
if( $unread ){ if( $return == 'class' ){ $log = 'wpf_topic_unread'; } else{ $log = true; } if( $echo ){ echo $log; } else { return $log; } }
|
1204 |
+
}
|
1205 |
+
|
1206 |
+
if( !function_exists('custom_wpforo_get_account_fields') ){
|
1207 |
+
function custom_wpforo_get_account_fields($fields){
|
1208 |
+
$hide = array(
|
1209 |
+
'user_email',
|
1210 |
+
'user_nicename'
|
1211 |
+
);
|
1212 |
+
|
1213 |
+
foreach ( $fields as $row_key => $row ){
|
1214 |
+
foreach ( $row as $col_key => $col ){
|
1215 |
+
foreach ( $col as $key => $field ){
|
1216 |
+
if( in_array($field['fieldKey'], $hide) ){
|
1217 |
+
unset($fields[$row_key][$col_key][$key]);
|
1218 |
+
}
|
1219 |
+
}
|
1220 |
+
}
|
1221 |
+
}
|
1222 |
+
|
1223 |
+
return $fields;
|
1224 |
+
}
|
1225 |
+
// add_filter('wpforo_get_account_fields', 'custom_wpforo_get_account_fields', 20);
|
1226 |
+
}
|
wpf-includes/functions.php
CHANGED
@@ -925,18 +925,27 @@ function wpforo_user_logging(){
|
|
925 |
if( $data['template'] == 'post' && isset($data['topicid']) && $data['topicid'] ){
|
926 |
$current_user_id = get_current_user_id();
|
927 |
$current_time = current_time( 'timestamp', 1 );
|
928 |
-
|
929 |
-
|
930 |
-
$
|
931 |
-
if(
|
932 |
-
$sql = "INSERT INTO ". $wpforo->db->prefix ."wpforo_views( `userid` , `topicid` , `created` ) VALUES ( '".intval($current_user_id)."', " . intval($data['topicid']) . ", '" . esc_sql($current_time) . "' ) ";
|
933 |
-
$wpforo->db->query($sql);
|
934 |
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
|
935 |
-
}
|
936 |
-
|
937 |
-
|
938 |
-
|
|
|
|
|
|
|
|
|
|
|
939 |
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
|
|
|
|
|
|
|
|
|
|
|
|
|
940 |
}
|
941 |
}
|
942 |
}
|
925 |
if( $data['template'] == 'post' && isset($data['topicid']) && $data['topicid'] ){
|
926 |
$current_user_id = get_current_user_id();
|
927 |
$current_time = current_time( 'timestamp', 1 );
|
928 |
+
|
929 |
+
if( wpforo_feature('view-logging', $wpforo)){
|
930 |
+
$viwed_ids = wpforo_getcookie( 'wpf_viewed_topics', true );
|
931 |
+
if( empty($viwed_ids) || ( is_array($viwed_ids) && !in_array($data['topicid'] , $viwed_ids ))){
|
|
|
|
|
932 |
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
|
933 |
+
}
|
934 |
+
}
|
935 |
+
else{
|
936 |
+
if( $current_user_id ){
|
937 |
+
//registered user
|
938 |
+
$view = $wpforo->db->get_row("SELECT `vid`, `created` FROM `". $wpforo->db->prefix . "wpforo_views` WHERE `topicid` = " . intval($data['topicid']) ." AND `userid` = " . intval($current_user_id), ARRAY_A);
|
939 |
+
if( !$view['vid'] ){
|
940 |
+
$sql = "INSERT INTO ". $wpforo->db->prefix ."wpforo_views( `userid` , `topicid` , `created` ) VALUES ( '".intval($current_user_id)."', " . intval($data['topicid']) . ", '" . esc_sql($current_time) . "' ) ";
|
941 |
+
$wpforo->db->query($sql);
|
942 |
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
|
943 |
+
}else{
|
944 |
+
$sql = "UPDATE ". $wpforo->db->prefix ."wpforo_views SET `created` = " . intval($current_time) . " WHERE `userid` = " . intval($current_user_id) . " AND `topicid` = " . intval($data['topicid']);
|
945 |
+
$wpforo->db->query($sql);
|
946 |
+
if( $current_time - $view['created'] > 86400 ){
|
947 |
+
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
|
948 |
+
}
|
949 |
}
|
950 |
}
|
951 |
}
|
wpf-includes/install-sql.php
CHANGED
@@ -89,6 +89,7 @@
|
|
89 |
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
|
90 |
`name` VARCHAR(50) NOT NULL DEFAULT '',
|
91 |
`email` VARCHAR(50) NOT NULL DEFAULT '',
|
|
|
92 |
PRIMARY KEY (`postid`),
|
93 |
FULLTEXT KEY `title`(`title`(191)),
|
94 |
FULLTEXT KEY `body` (`body`),
|
@@ -100,7 +101,8 @@
|
|
100 |
KEY `is_answer` (`is_answer`),
|
101 |
KEY `is_first_post` (`is_first_post`),
|
102 |
KEY `status` (`status`),
|
103 |
-
KEY `email` (`email`)
|
|
|
104 |
) ENGINE=$engine $charset_collate;",
|
105 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_profiles` (
|
106 |
`userid` INT UNSIGNED NOT NULL,
|
89 |
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
|
90 |
`name` VARCHAR(50) NOT NULL DEFAULT '',
|
91 |
`email` VARCHAR(50) NOT NULL DEFAULT '',
|
92 |
+
`private` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
|
93 |
PRIMARY KEY (`postid`),
|
94 |
FULLTEXT KEY `title`(`title`(191)),
|
95 |
FULLTEXT KEY `body` (`body`),
|
101 |
KEY `is_answer` (`is_answer`),
|
102 |
KEY `is_first_post` (`is_first_post`),
|
103 |
KEY `status` (`status`),
|
104 |
+
KEY `email` (`email`),
|
105 |
+
KEY `is_private` (`private`)
|
106 |
) ENGINE=$engine $charset_collate;",
|
107 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_profiles` (
|
108 |
`userid` INT UNSIGNED NOT NULL,
|
wpf-includes/wpf-actions.php
CHANGED
@@ -184,6 +184,11 @@ function wpforo_actions(){
|
|
184 |
wp_redirect(admin_url('admin.php?page=wpforo-community'));
|
185 |
exit();
|
186 |
}
|
|
|
|
|
|
|
|
|
|
|
187 |
if( $_GET['action'] == 'reset_fstat' && check_admin_referer( 'wpforo_reset_forums_stat' ) ){
|
188 |
$forums = $wpforo->db->get_results("SELECT `forumid` FROM " . $wpforo->db->prefix . "wpforo_forums ORDER BY `forumid` ASC", ARRAY_A);
|
189 |
if(!empty($forums)){
|
@@ -222,6 +227,9 @@ function wpforo_actions(){
|
|
222 |
$wpforo->phrase->clear_cache();
|
223 |
$wpforo->member->clear_db_cache();
|
224 |
wpforo_clean_cache(0);
|
|
|
|
|
|
|
225 |
$wpforo->notice->add('Deleted Successfully!', 'success');
|
226 |
}
|
227 |
}
|
184 |
wp_redirect(admin_url('admin.php?page=wpforo-community'));
|
185 |
exit();
|
186 |
}
|
187 |
+
if( $_GET['action'] == 'wpfdb' ){
|
188 |
+
if( function_exists('set_time_limit') ) set_time_limit( 3600 ); wpforo_update_db();
|
189 |
+
wp_redirect(admin_url('admin.php?page=wpforo-community'));
|
190 |
+
exit();
|
191 |
+
}
|
192 |
if( $_GET['action'] == 'reset_fstat' && check_admin_referer( 'wpforo_reset_forums_stat' ) ){
|
193 |
$forums = $wpforo->db->get_results("SELECT `forumid` FROM " . $wpforo->db->prefix . "wpforo_forums ORDER BY `forumid` ASC", ARRAY_A);
|
194 |
if(!empty($forums)){
|
227 |
$wpforo->phrase->clear_cache();
|
228 |
$wpforo->member->clear_db_cache();
|
229 |
wpforo_clean_cache(0);
|
230 |
+
$current_time = time();
|
231 |
+
$month_ago = $current_time - 2592000;
|
232 |
+
$wpforo->db->query("DELETE FROM `" . $wpforo->db->prefix . "wpforo_views` WHERE `created` < " . intval($month_ago) );
|
233 |
$wpforo->notice->add('Deleted Successfully!', 'success');
|
234 |
}
|
235 |
}
|
wpf-includes/wpf-hooks.php
CHANGED
@@ -264,6 +264,10 @@ function wpforo_meta_title($title) {
|
|
264 |
$meta_title = array(wpforo_phrase( 'Member', false), wpforo_phrase( ucfirst($template), false), $wpforo->general_options['title']);
|
265 |
}
|
266 |
}
|
|
|
|
|
|
|
|
|
267 |
elseif($template){
|
268 |
$wpfpaged = ( isset($_GET['wpfpaged']) && $_GET['wpfpaged'] > 1 ) ? ' - ' . wpforo_phrase( 'page', false) . ' ' . $_GET['wpfpaged'] .' ' : '';
|
269 |
$meta_title = array(wpforo_phrase( ucfirst($template), false) . $wpfpaged, $wpforo->general_options['title']);
|
@@ -351,6 +355,9 @@ function wpforo_add_meta_tags(){
|
|
351 |
}elseif(isset($wpforo->current_object['template']) && $wpforo->current_object['template'] == 'member'){
|
352 |
$wpfpaged = ( isset($_GET['wpfpaged']) && $_GET['wpfpaged'] > 1 ) ? wpforo_phrase( 'Page', false) . ' ' . $_GET['wpfpaged'] .' | ' : '';
|
353 |
$description = $wpfpaged . wpforo_phrase( 'Forum Members List', false);
|
|
|
|
|
|
|
354 |
}
|
355 |
else{
|
356 |
if( isset($wpforo->general_options['title']) ) $title = $paged . $wpforo->general_options['title'];
|
@@ -638,9 +645,13 @@ function wpf_private(){
|
|
638 |
if( $_POST['status'] == 'private' ){
|
639 |
$sql = "UPDATE " . $wpforo->db->prefix . "wpforo_topics SET private = 1 WHERE topicid = " . intval($p_id);
|
640 |
$wpforo->db->query( $sql );
|
|
|
|
|
641 |
}elseif( $_POST['status'] == 'public' ){
|
642 |
$sql = "UPDATE ".$wpforo->db->prefix ."wpforo_topics SET private = 0 WHERE topicid = " . intval($p_id);
|
643 |
$wpforo->db->query( $sql );
|
|
|
|
|
644 |
}
|
645 |
wpforo_clean_cache();
|
646 |
echo 1;
|
@@ -935,24 +946,25 @@ function wpforo_frontend_enqueue(){
|
|
935 |
global $wpforo;
|
936 |
|
937 |
if( is_wpforo_page() ){
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
|
|
956 |
wp_register_style('wpforo-style-rtl', WPFORO_TEMPLATE_URL . '/style-rtl.css', false, WPFORO_VERSION );
|
957 |
wp_enqueue_style('wpforo-style-rtl');
|
958 |
}
|
264 |
$meta_title = array(wpforo_phrase( 'Member', false), wpforo_phrase( ucfirst($template), false), $wpforo->general_options['title']);
|
265 |
}
|
266 |
}
|
267 |
+
elseif( $template == 'recent' ){
|
268 |
+
$wpfpaged = ( isset($_GET['wpfpaged']) && $_GET['wpfpaged'] > 1 ) ? ' - ' . wpforo_phrase( 'page', false) . ' ' . $_GET['wpfpaged'] .' ' : '';
|
269 |
+
$meta_title = array( wpforo_phrase( 'Recent Posts', false) . $wpfpaged, $wpforo->general_options['title']);
|
270 |
+
}
|
271 |
elseif($template){
|
272 |
$wpfpaged = ( isset($_GET['wpfpaged']) && $_GET['wpfpaged'] > 1 ) ? ' - ' . wpforo_phrase( 'page', false) . ' ' . $_GET['wpfpaged'] .' ' : '';
|
273 |
$meta_title = array(wpforo_phrase( ucfirst($template), false) . $wpfpaged, $wpforo->general_options['title']);
|
355 |
}elseif(isset($wpforo->current_object['template']) && $wpforo->current_object['template'] == 'member'){
|
356 |
$wpfpaged = ( isset($_GET['wpfpaged']) && $_GET['wpfpaged'] > 1 ) ? wpforo_phrase( 'Page', false) . ' ' . $_GET['wpfpaged'] .' | ' : '';
|
357 |
$description = $wpfpaged . wpforo_phrase( 'Forum Members List', false);
|
358 |
+
}elseif(isset($wpforo->current_object['template']) && $wpforo->current_object['template'] == 'recent'){
|
359 |
+
$wpfpaged = ( isset($_GET['wpfpaged']) && $_GET['wpfpaged'] > 1 ) ? wpforo_phrase( 'Page', false) . ' ' . $_GET['wpfpaged'] .' | ' : '';
|
360 |
+
$description = $wpfpaged . wpforo_phrase( 'Recent Posts', false);
|
361 |
}
|
362 |
else{
|
363 |
if( isset($wpforo->general_options['title']) ) $title = $paged . $wpforo->general_options['title'];
|
645 |
if( $_POST['status'] == 'private' ){
|
646 |
$sql = "UPDATE " . $wpforo->db->prefix . "wpforo_topics SET private = 1 WHERE topicid = " . intval($p_id);
|
647 |
$wpforo->db->query( $sql );
|
648 |
+
$sql = "UPDATE " . $wpforo->db->prefix . "wpforo_posts SET private = 1 WHERE topicid = " . intval($p_id);
|
649 |
+
$wpforo->db->query( $sql );
|
650 |
}elseif( $_POST['status'] == 'public' ){
|
651 |
$sql = "UPDATE ".$wpforo->db->prefix ."wpforo_topics SET private = 0 WHERE topicid = " . intval($p_id);
|
652 |
$wpforo->db->query( $sql );
|
653 |
+
$sql = "UPDATE ".$wpforo->db->prefix ."wpforo_posts SET private = 0 WHERE topicid = " . intval($p_id);
|
654 |
+
$wpforo->db->query( $sql );
|
655 |
}
|
656 |
wpforo_clean_cache();
|
657 |
echo 1;
|
946 |
global $wpforo;
|
947 |
|
948 |
if( is_wpforo_page() ){
|
949 |
+
wp_enqueue_script('jquery-ui-core');
|
950 |
+
wp_enqueue_script('jquery-ui-dialog');
|
951 |
+
wp_register_script( 'wpforo-frontend-js', WPFORO_URL . '/wpf-assets/js/frontend.js', array('jquery'), WPFORO_VERSION, false );
|
952 |
+
wp_enqueue_script('wpforo-frontend-js');
|
953 |
+
wp_localize_script('wpforo-frontend-js', 'wpforo_phrases', $wpforo->phrase->phrases);
|
954 |
+
if( wpforo_feature( 'font-awesome', $wpforo) ){
|
955 |
+
wp_register_style('wpforo-font-awesome', WPFORO_URL . '/wpf-assets/css/font-awesome/css/font-awesome.min.css', false, '4.7' );
|
956 |
+
wp_enqueue_style('wpforo-font-awesome');
|
957 |
+
if (is_rtl()) {
|
958 |
+
wp_register_style('wpforo-font-awesome-rtl', WPFORO_URL . '/wpf-assets/css/font-awesome/font-awesome-rtl.css', false, WPFORO_VERSION );
|
959 |
+
wp_enqueue_style('wpforo-font-awesome-rtl');
|
960 |
+
}
|
961 |
+
}
|
962 |
+
if(is_user_logged_in()){
|
963 |
+
wp_register_script('wpforo-ajax', WPFORO_URL . '/wpf-assets/js/ajax.js', array('jquery'), WPFORO_VERSION, false);
|
964 |
+
wp_enqueue_script('wpforo-ajax');
|
965 |
+
wp_localize_script('wpforo-ajax', 'wpf_ajax_obj', array( 'url' => admin_url('admin-ajax.php') ));
|
966 |
+
}
|
967 |
+
if (is_rtl()) {
|
968 |
wp_register_style('wpforo-style-rtl', WPFORO_TEMPLATE_URL . '/style-rtl.css', false, WPFORO_VERSION );
|
969 |
wp_enqueue_style('wpforo-style-rtl');
|
970 |
}
|
wpf-includes/wpf-phrases.php
CHANGED
@@ -685,4 +685,18 @@ $wpforo_phrases = array(
|
|
685 |
'New' => __('New', 'wpforo'),
|
686 |
'Required field' => __('Required field', 'wpforo'),
|
687 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
);
|
685 |
'New' => __('New', 'wpforo'),
|
686 |
'Required field' => __('Required field', 'wpforo'),
|
687 |
|
688 |
+
// 1.4.0
|
689 |
+
'Add Reply' => __('Add Reply', 'wpforo'),
|
690 |
+
'Forums RSS Feed' => __('Forums RSS Feed', 'wpforo'),
|
691 |
+
'Topics RSS Feed' => __('Topics RSS Feed', 'wpforo'),
|
692 |
+
'Find a member' => __('Find a member', 'wpforo'),
|
693 |
+
'Display Name or Nicename' => __('Display Name or Nicename', 'wpforo'),
|
694 |
+
'Reset Search' => __('Reset Search', 'wpforo'),
|
695 |
+
'Reset Result' => __('Reset Result', 'wpforo'),
|
696 |
+
'Log Viewed Forums and Topics' => __('Log Viewed Forums and Topics', 'wpforo'),
|
697 |
+
'Replace WP Reset Password URL to Forum reset password page' => __('Replace WP Reset Password URL to Forum reset password page', 'wpforo'),
|
698 |
+
'Enable RSS Feed' => __('Enable RSS Feed', 'wpforo'),
|
699 |
+
'Members Search Type:' => __('Members Search Type', 'wpforo'),
|
700 |
+
'Recent Posts' => __('Recent Posts', 'wpforo'),
|
701 |
+
'Recent Posts' => __('No posts were found here', 'wpforo'),
|
702 |
);
|
wpf-languages/wpforo.pot
CHANGED
@@ -5,7 +5,7 @@ msgid ""
|
|
5 |
msgstr ""
|
6 |
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
7 |
"Project-Id-Version: Forum - wpForo\n"
|
8 |
-
"POT-Creation-Date: 2017-10-
|
9 |
"PO-Revision-Date: 2016-06-28 21:09+0400\n"
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: \n"
|
@@ -67,46 +67,46 @@ msgstr ""
|
|
67 |
|
68 |
#: wpf-admin/admin.php:26 wpf-admin/admin.php:28 wpf-admin/dashboard.php:138
|
69 |
#: wpf-admin/options-tabs/styles.php:16 wpf-admin/options.php:15
|
70 |
-
#: wpf-includes/wpf-hooks.php:
|
71 |
msgid "Forums"
|
72 |
msgstr ""
|
73 |
|
74 |
#: wpf-admin/admin.php:29 wpf-includes/wpf-hooks.php:22
|
75 |
-
#: wpf-includes/wpf-hooks.php:
|
76 |
msgid "Settings"
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: wpf-admin/admin.php:30 wpf-includes/wpf-hooks.php:
|
80 |
msgid "Tools"
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: wpf-admin/admin.php:31 wpf-includes/wpf-hooks.php:
|
84 |
msgid "Moderation"
|
85 |
msgstr ""
|
86 |
|
87 |
#: wpf-admin/admin.php:32 wpf-admin/dashboard.php:150 wpf-admin/member.php:10
|
88 |
-
#: wpf-admin/options.php:18 wpf-includes/wpf-hooks.php:
|
89 |
#: wpf-includes/wpf-phrases.php:178
|
90 |
msgid "Members"
|
91 |
msgstr ""
|
92 |
|
93 |
#: wpf-admin/admin.php:33 wpf-admin/usergroup.php:8
|
94 |
-
#: wpf-includes/wpf-hooks.php:
|
95 |
msgid "Usergroups"
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: wpf-admin/admin.php:34 wpf-includes/wpf-hooks.php:
|
99 |
#: wpf-includes/wpf-phrases.php:600
|
100 |
msgid "Phrases"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: wpf-admin/admin.php:35 wpf-includes/wpf-hooks.php:
|
104 |
#: wpf-includes/wpf-phrases.php:601
|
105 |
msgid "Themes"
|
106 |
msgstr ""
|
107 |
|
108 |
#: wpf-admin/admin.php:36 wpf-admin/options.php:23
|
109 |
-
#: wpf-includes/wpf-hooks.php:
|
110 |
msgid "Addons"
|
111 |
msgstr ""
|
112 |
|
@@ -356,7 +356,7 @@ msgstr ""
|
|
356 |
|
357 |
#: wpf-admin/forum.php:153 wpf-admin/themes.php:73
|
358 |
#: wpf-admin/tools-tabs/antispam.php:139 wpf-admin/usergroup.php:34
|
359 |
-
#: wpf-admin/usergroup.php:181 wpf-includes/wpf-hooks.php:
|
360 |
#: wpf-includes/wpf-phrases.php:66
|
361 |
msgid "Delete"
|
362 |
msgstr ""
|
@@ -631,7 +631,7 @@ msgstr ""
|
|
631 |
msgid "Show Forum Statistic"
|
632 |
msgstr ""
|
633 |
|
634 |
-
#: wpf-admin/options-tabs/features.php:15
|
635 |
msgid "Log Viewed Forums and Topics"
|
636 |
msgstr ""
|
637 |
|
@@ -672,7 +672,7 @@ msgstr ""
|
|
672 |
msgid "Replace Login Page URL to Forum URL"
|
673 |
msgstr ""
|
674 |
|
675 |
-
#: wpf-admin/options-tabs/features.php:22
|
676 |
msgid "Replace WP Reset Password URL to Forum reset password page"
|
677 |
msgstr ""
|
678 |
|
@@ -728,7 +728,7 @@ msgstr ""
|
|
728 |
msgid "Enable User Profile Page indexing"
|
729 |
msgstr ""
|
730 |
|
731 |
-
#: wpf-admin/options-tabs/features.php:36
|
732 |
msgid "Enable RSS Feed"
|
733 |
msgstr ""
|
734 |
|
@@ -920,7 +920,7 @@ msgstr ""
|
|
920 |
msgid "Members URL structure"
|
921 |
msgstr ""
|
922 |
|
923 |
-
#: wpf-admin/options-tabs/members.php:29
|
924 |
msgid "Members Search Type"
|
925 |
msgstr ""
|
926 |
|
@@ -1531,19 +1531,19 @@ msgid ""
|
|
1531 |
"another one."
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: wpf-includes/class-members.php:
|
1535 |
msgid "What should be done with wpForo content owned by this user?"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: wpf-includes/class-members.php:
|
1539 |
msgid "What should be done with wpForo content owned by these users?"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: wpf-includes/class-members.php:
|
1543 |
msgid "Delete all wpForo content."
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#: wpf-includes/class-members.php:
|
1547 |
msgid "Attribute all content to:"
|
1548 |
msgstr ""
|
1549 |
|
@@ -1604,40 +1604,60 @@ msgstr ""
|
|
1604 |
msgid "Open link in a new tab"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
-
#: wpf-includes/class-template.php:
|
1608 |
msgid "Theme file not readable"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
-
#: wpf-includes/functions-installation.php:
|
1612 |
msgid "Start Profile Synchronization"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
-
#: wpf-includes/functions-installation.php:
|
1616 |
msgid "Continue Synchronization"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
-
#: wpf-includes/functions-installation.php:
|
1620 |
msgid ""
|
1621 |
"This process may take a few seconds or dozens of minutes, please be patient "
|
1622 |
"and don't close this page."
|
1623 |
msgstr ""
|
1624 |
|
1625 |
-
#: wpf-includes/functions-installation.php:
|
1626 |
msgid ""
|
1627 |
"You can permanently disable this message in Dashboard > Forums > Features "
|
1628 |
"admin page."
|
1629 |
msgstr ""
|
1630 |
|
1631 |
-
#: wpf-includes/functions-installation.php:
|
1632 |
msgid "wpForo Forum Installation | "
|
1633 |
msgstr ""
|
1634 |
|
1635 |
-
#: wpf-includes/functions-installation.php:
|
1636 |
msgid ""
|
1637 |
"Forum users' profile data are not synchronized yet, this step is required! "
|
1638 |
"Please click the button below to complete installation."
|
1639 |
msgstr ""
|
1640 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1641 |
#: wpf-includes/functions-template.php:7
|
1642 |
msgid "wpForo Menu"
|
1643 |
msgstr ""
|
@@ -1655,15 +1675,15 @@ msgstr ""
|
|
1655 |
#: wpf-includes/functions-template.php:199
|
1656 |
#: wpf-includes/functions-template.php:306
|
1657 |
#: wpf-includes/functions-template.php:369
|
1658 |
-
#: wpf-includes/functions-template.php:
|
1659 |
-
#: wpf-includes/functions-template.php:
|
1660 |
-
#: wpf-includes/functions-template.php:
|
1661 |
msgid "Title"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
#: wpf-includes/functions-template.php:372
|
1665 |
-
#: wpf-includes/functions-template.php:
|
1666 |
-
#: wpf-includes/functions-template.php:
|
1667 |
msgid "Number of Items"
|
1668 |
msgstr ""
|
1669 |
|
@@ -1671,8 +1691,8 @@ msgstr ""
|
|
1671 |
msgid "Display Avatars"
|
1672 |
msgstr ""
|
1673 |
|
1674 |
-
#: wpf-includes/functions-template.php:
|
1675 |
-
#: wpf-includes/functions-template.php:
|
1676 |
msgid "Display with Avatars"
|
1677 |
msgstr ""
|
1678 |
|
@@ -1807,7 +1827,7 @@ msgstr ""
|
|
1807 |
msgid "Items"
|
1808 |
msgstr ""
|
1809 |
|
1810 |
-
#: wpf-includes/functions.php:
|
1811 |
#, php-format
|
1812 |
msgid "Could not write file %s"
|
1813 |
msgstr ""
|
@@ -1826,69 +1846,69 @@ msgstr ""
|
|
1826 |
msgid "Uninstall"
|
1827 |
msgstr ""
|
1828 |
|
1829 |
-
#: wpf-includes/wpf-hooks.php:
|
1830 |
msgid "Move"
|
1831 |
msgstr ""
|
1832 |
|
1833 |
-
#: wpf-includes/wpf-hooks.php:
|
1834 |
msgid "Clear"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
-
#: wpf-includes/wpf-hooks.php:
|
1838 |
msgid "Default"
|
1839 |
msgstr ""
|
1840 |
|
1841 |
-
#: wpf-includes/wpf-hooks.php:
|
1842 |
msgid "Select Color"
|
1843 |
msgstr ""
|
1844 |
|
1845 |
-
#: wpf-includes/wpf-hooks.php:
|
1846 |
msgid ""
|
1847 |
"IMPORTANT: wpForo can't work with default permalink, please change permalink "
|
1848 |
"structure"
|
1849 |
msgstr ""
|
1850 |
|
1851 |
-
#: wpf-includes/wpf-hooks.php:
|
1852 |
msgid "wpForo Usergroup"
|
1853 |
msgstr ""
|
1854 |
|
1855 |
-
#: wpf-includes/wpf-hooks.php:
|
1856 |
msgid "wpForo User Timezone"
|
1857 |
msgstr ""
|
1858 |
|
1859 |
-
#: wpf-includes/wpf-hooks.php:
|
1860 |
msgid "Please Moderate: "
|
1861 |
msgstr ""
|
1862 |
|
1863 |
-
#: wpf-includes/wpf-hooks.php:
|
1864 |
msgid ""
|
1865 |
"This topic is currently unapproved. You can approve topics in Dashboard "
|
1866 |
"» Forums » Moderation admin page."
|
1867 |
msgstr ""
|
1868 |
|
1869 |
-
#: wpf-includes/wpf-hooks.php:
|
1870 |
msgid ""
|
1871 |
"This post is currently unapproved. You can approve posts in Dashboard "
|
1872 |
"» Forums » Moderation admin page."
|
1873 |
msgstr ""
|
1874 |
|
1875 |
-
#: wpf-includes/wpf-hooks.php:
|
1876 |
msgid "New Forum"
|
1877 |
msgstr ""
|
1878 |
|
1879 |
-
#: wpf-includes/wpf-hooks.php:
|
1880 |
msgid "New User Group"
|
1881 |
msgstr ""
|
1882 |
|
1883 |
-
#: wpf-includes/wpf-hooks.php:
|
1884 |
msgid "New Phrase"
|
1885 |
msgstr ""
|
1886 |
|
1887 |
-
#: wpf-includes/wpf-hooks.php:
|
1888 |
msgid "Community"
|
1889 |
msgstr ""
|
1890 |
|
1891 |
-
#: wpf-includes/wpf-hooks.php:
|
1892 |
msgid "New UserGroup"
|
1893 |
msgstr ""
|
1894 |
|
@@ -3735,41 +3755,77 @@ msgstr ""
|
|
3735 |
msgid "Required field"
|
3736 |
msgstr ""
|
3737 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3738 |
#: wpforo.php:89
|
3739 |
msgid "Discussion Board"
|
3740 |
msgstr ""
|
3741 |
|
3742 |
-
#: wpforo.php:
|
3743 |
msgid ""
|
3744 |
"Allows to embed hundreds of video, social network, audio and photo content "
|
3745 |
"providers in forum topics and posts."
|
3746 |
msgstr ""
|
3747 |
|
3748 |
-
#: wpforo.php:
|
3749 |
msgid ""
|
3750 |
"Advanced user profile builder system. Allows to add new fields and manage "
|
3751 |
"profile page. Creates custom Registration, Account, Member Search forms."
|
3752 |
msgstr ""
|
3753 |
|
3754 |
-
#: wpforo.php:
|
3755 |
msgid ""
|
3756 |
"Adds an advanced file attachment system to forum topics and posts. AJAX "
|
3757 |
"powered media uploading and displaying system with user specific library."
|
3758 |
msgstr ""
|
3759 |
|
3760 |
-
#: wpforo.php:
|
3761 |
msgid ""
|
3762 |
"Blog to Forum and Forum to Blog content synchronization. Blog posts with "
|
3763 |
"Forum topics and Blog comments with Forum replies."
|
3764 |
msgstr ""
|
3765 |
|
3766 |
-
#: wpforo.php:
|
3767 |
msgid ""
|
3768 |
"Provides a safe way to communicate directly with other members. Messages are "
|
3769 |
"private and can only be viewed by conversation participants."
|
3770 |
msgstr ""
|
3771 |
|
3772 |
-
#: wpforo.php:
|
3773 |
msgid ""
|
3774 |
"Ads Manager is a powerful yet simple advertisement management system, that "
|
3775 |
"allows you to add adverting banners between forums, topics and posts."
|
5 |
msgstr ""
|
6 |
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
7 |
"Project-Id-Version: Forum - wpForo\n"
|
8 |
+
"POT-Creation-Date: 2017-10-22 19:01+0400\n"
|
9 |
"PO-Revision-Date: 2016-06-28 21:09+0400\n"
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: \n"
|
67 |
|
68 |
#: wpf-admin/admin.php:26 wpf-admin/admin.php:28 wpf-admin/dashboard.php:138
|
69 |
#: wpf-admin/options-tabs/styles.php:16 wpf-admin/options.php:15
|
70 |
+
#: wpf-includes/wpf-hooks.php:1673 wpf-includes/wpf-phrases.php:123
|
71 |
msgid "Forums"
|
72 |
msgstr ""
|
73 |
|
74 |
#: wpf-admin/admin.php:29 wpf-includes/wpf-hooks.php:22
|
75 |
+
#: wpf-includes/wpf-hooks.php:1689
|
76 |
msgid "Settings"
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: wpf-admin/admin.php:30 wpf-includes/wpf-hooks.php:1698
|
80 |
msgid "Tools"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: wpf-admin/admin.php:31 wpf-includes/wpf-hooks.php:1707
|
84 |
msgid "Moderation"
|
85 |
msgstr ""
|
86 |
|
87 |
#: wpf-admin/admin.php:32 wpf-admin/dashboard.php:150 wpf-admin/member.php:10
|
88 |
+
#: wpf-admin/options.php:18 wpf-includes/wpf-hooks.php:1716
|
89 |
#: wpf-includes/wpf-phrases.php:178
|
90 |
msgid "Members"
|
91 |
msgstr ""
|
92 |
|
93 |
#: wpf-admin/admin.php:33 wpf-admin/usergroup.php:8
|
94 |
+
#: wpf-includes/wpf-hooks.php:1725
|
95 |
msgid "Usergroups"
|
96 |
msgstr ""
|
97 |
|
98 |
+
#: wpf-admin/admin.php:34 wpf-includes/wpf-hooks.php:1741
|
99 |
#: wpf-includes/wpf-phrases.php:600
|
100 |
msgid "Phrases"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: wpf-admin/admin.php:35 wpf-includes/wpf-hooks.php:1757
|
104 |
#: wpf-includes/wpf-phrases.php:601
|
105 |
msgid "Themes"
|
106 |
msgstr ""
|
107 |
|
108 |
#: wpf-admin/admin.php:36 wpf-admin/options.php:23
|
109 |
+
#: wpf-includes/wpf-hooks.php:1766 wpf-includes/wpf-phrases.php:25
|
110 |
msgid "Addons"
|
111 |
msgstr ""
|
112 |
|
356 |
|
357 |
#: wpf-admin/forum.php:153 wpf-admin/themes.php:73
|
358 |
#: wpf-admin/tools-tabs/antispam.php:139 wpf-admin/usergroup.php:34
|
359 |
+
#: wpf-admin/usergroup.php:181 wpf-includes/wpf-hooks.php:1092
|
360 |
#: wpf-includes/wpf-phrases.php:66
|
361 |
msgid "Delete"
|
362 |
msgstr ""
|
631 |
msgid "Show Forum Statistic"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: wpf-admin/options-tabs/features.php:15 wpf-includes/wpf-phrases.php:696
|
635 |
msgid "Log Viewed Forums and Topics"
|
636 |
msgstr ""
|
637 |
|
672 |
msgid "Replace Login Page URL to Forum URL"
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: wpf-admin/options-tabs/features.php:22 wpf-includes/wpf-phrases.php:697
|
676 |
msgid "Replace WP Reset Password URL to Forum reset password page"
|
677 |
msgstr ""
|
678 |
|
728 |
msgid "Enable User Profile Page indexing"
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: wpf-admin/options-tabs/features.php:36 wpf-includes/wpf-phrases.php:698
|
732 |
msgid "Enable RSS Feed"
|
733 |
msgstr ""
|
734 |
|
920 |
msgid "Members URL structure"
|
921 |
msgstr ""
|
922 |
|
923 |
+
#: wpf-admin/options-tabs/members.php:29 wpf-includes/wpf-phrases.php:699
|
924 |
msgid "Members Search Type"
|
925 |
msgstr ""
|
926 |
|
1531 |
"another one."
|
1532 |
msgstr ""
|
1533 |
|
1534 |
+
#: wpf-includes/class-members.php:1307
|
1535 |
msgid "What should be done with wpForo content owned by this user?"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
+
#: wpf-includes/class-members.php:1309
|
1539 |
msgid "What should be done with wpForo content owned by these users?"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
+
#: wpf-includes/class-members.php:1313
|
1543 |
msgid "Delete all wpForo content."
|
1544 |
msgstr ""
|
1545 |
|
1546 |
+
#: wpf-includes/class-members.php:1315
|
1547 |
msgid "Attribute all content to:"
|
1548 |
msgstr ""
|
1549 |
|
1604 |
msgid "Open link in a new tab"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
+
#: wpf-includes/class-template.php:1167 wpf-includes/wpf-phrases.php:328
|
1608 |
msgid "Theme file not readable"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
+
#: wpf-includes/functions-installation.php:592
|
1612 |
msgid "Start Profile Synchronization"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
+
#: wpf-includes/functions-installation.php:592
|
1616 |
msgid "Continue Synchronization"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
+
#: wpf-includes/functions-installation.php:595
|
1620 |
msgid ""
|
1621 |
"This process may take a few seconds or dozens of minutes, please be patient "
|
1622 |
"and don't close this page."
|
1623 |
msgstr ""
|
1624 |
|
1625 |
+
#: wpf-includes/functions-installation.php:596
|
1626 |
msgid ""
|
1627 |
"You can permanently disable this message in Dashboard > Forums > Features "
|
1628 |
"admin page."
|
1629 |
msgstr ""
|
1630 |
|
1631 |
+
#: wpf-includes/functions-installation.php:598
|
1632 |
msgid "wpForo Forum Installation | "
|
1633 |
msgstr ""
|
1634 |
|
1635 |
+
#: wpf-includes/functions-installation.php:599
|
1636 |
msgid ""
|
1637 |
"Forum users' profile data are not synchronized yet, this step is required! "
|
1638 |
"Please click the button below to complete installation."
|
1639 |
msgstr ""
|
1640 |
|
1641 |
+
#: wpf-includes/functions-installation.php:611
|
1642 |
+
msgid ""
|
1643 |
+
"This process may take a few seconds or dozens of minutes, please be patient "
|
1644 |
+
"and don't close this page. Database backup is not required. If you got 500 "
|
1645 |
+
"Server Error please don't worry, the data updating process is still working "
|
1646 |
+
"in MySQL server."
|
1647 |
+
msgstr ""
|
1648 |
+
|
1649 |
+
#: wpf-includes/functions-installation.php:612
|
1650 |
+
msgid "Updater Database"
|
1651 |
+
msgstr ""
|
1652 |
+
|
1653 |
+
#: wpf-includes/functions-installation.php:613
|
1654 |
+
msgid "wpForo - Update Database "
|
1655 |
+
msgstr ""
|
1656 |
+
|
1657 |
+
#: wpf-includes/functions-installation.php:614
|
1658 |
+
msgid "Please click the button below to complete wpForo update."
|
1659 |
+
msgstr ""
|
1660 |
+
|
1661 |
#: wpf-includes/functions-template.php:7
|
1662 |
msgid "wpForo Menu"
|
1663 |
msgstr ""
|
1675 |
#: wpf-includes/functions-template.php:199
|
1676 |
#: wpf-includes/functions-template.php:306
|
1677 |
#: wpf-includes/functions-template.php:369
|
1678 |
+
#: wpf-includes/functions-template.php:452
|
1679 |
+
#: wpf-includes/functions-template.php:536
|
1680 |
+
#: wpf-includes/functions-template.php:583 wpf-includes/wpf-phrases.php:335
|
1681 |
msgid "Title"
|
1682 |
msgstr ""
|
1683 |
|
1684 |
#: wpf-includes/functions-template.php:372
|
1685 |
+
#: wpf-includes/functions-template.php:455
|
1686 |
+
#: wpf-includes/functions-template.php:539 wpf-includes/wpf-phrases.php:211
|
1687 |
msgid "Number of Items"
|
1688 |
msgstr ""
|
1689 |
|
1691 |
msgid "Display Avatars"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
+
#: wpf-includes/functions-template.php:459
|
1695 |
+
#: wpf-includes/functions-template.php:543 wpf-includes/wpf-phrases.php:72
|
1696 |
msgid "Display with Avatars"
|
1697 |
msgstr ""
|
1698 |
|
1827 |
msgid "Items"
|
1828 |
msgstr ""
|
1829 |
|
1830 |
+
#: wpf-includes/functions.php:1115
|
1831 |
#, php-format
|
1832 |
msgid "Could not write file %s"
|
1833 |
msgstr ""
|
1846 |
msgid "Uninstall"
|
1847 |
msgstr ""
|
1848 |
|
1849 |
+
#: wpf-includes/wpf-hooks.php:1091 wpf-includes/wpf-phrases.php:188
|
1850 |
msgid "Move"
|
1851 |
msgstr ""
|
1852 |
|
1853 |
+
#: wpf-includes/wpf-hooks.php:1126
|
1854 |
msgid "Clear"
|
1855 |
msgstr ""
|
1856 |
|
1857 |
+
#: wpf-includes/wpf-hooks.php:1126
|
1858 |
msgid "Default"
|
1859 |
msgstr ""
|
1860 |
|
1861 |
+
#: wpf-includes/wpf-hooks.php:1126
|
1862 |
msgid "Select Color"
|
1863 |
msgstr ""
|
1864 |
|
1865 |
+
#: wpf-includes/wpf-hooks.php:1149
|
1866 |
msgid ""
|
1867 |
"IMPORTANT: wpForo can't work with default permalink, please change permalink "
|
1868 |
"structure"
|
1869 |
msgstr ""
|
1870 |
|
1871 |
+
#: wpf-includes/wpf-hooks.php:1170 wpf-includes/wpf-phrases.php:413
|
1872 |
msgid "wpForo Usergroup"
|
1873 |
msgstr ""
|
1874 |
|
1875 |
+
#: wpf-includes/wpf-hooks.php:1178 wpf-includes/wpf-phrases.php:412
|
1876 |
msgid "wpForo User Timezone"
|
1877 |
msgstr ""
|
1878 |
|
1879 |
+
#: wpf-includes/wpf-hooks.php:1367 wpf-includes/wpf-hooks.php:1456
|
1880 |
msgid "Please Moderate: "
|
1881 |
msgstr ""
|
1882 |
|
1883 |
+
#: wpf-includes/wpf-hooks.php:1368
|
1884 |
msgid ""
|
1885 |
"This topic is currently unapproved. You can approve topics in Dashboard "
|
1886 |
"» Forums » Moderation admin page."
|
1887 |
msgstr ""
|
1888 |
|
1889 |
+
#: wpf-includes/wpf-hooks.php:1457
|
1890 |
msgid ""
|
1891 |
"This post is currently unapproved. You can approve posts in Dashboard "
|
1892 |
"» Forums » Moderation admin page."
|
1893 |
msgstr ""
|
1894 |
|
1895 |
+
#: wpf-includes/wpf-hooks.php:1634 wpf-includes/wpf-hooks.php:1680
|
1896 |
msgid "New Forum"
|
1897 |
msgstr ""
|
1898 |
|
1899 |
+
#: wpf-includes/wpf-hooks.php:1642
|
1900 |
msgid "New User Group"
|
1901 |
msgstr ""
|
1902 |
|
1903 |
+
#: wpf-includes/wpf-hooks.php:1650 wpf-includes/wpf-hooks.php:1748
|
1904 |
msgid "New Phrase"
|
1905 |
msgstr ""
|
1906 |
|
1907 |
+
#: wpf-includes/wpf-hooks.php:1665
|
1908 |
msgid "Community"
|
1909 |
msgstr ""
|
1910 |
|
1911 |
+
#: wpf-includes/wpf-hooks.php:1732
|
1912 |
msgid "New UserGroup"
|
1913 |
msgstr ""
|
1914 |
|
3755 |
msgid "Required field"
|
3756 |
msgstr ""
|
3757 |
|
3758 |
+
#: wpf-includes/wpf-phrases.php:689
|
3759 |
+
msgid "Add Reply"
|
3760 |
+
msgstr ""
|
3761 |
+
|
3762 |
+
#: wpf-includes/wpf-phrases.php:690
|
3763 |
+
msgid "Forums RSS Feed"
|
3764 |
+
msgstr ""
|
3765 |
+
|
3766 |
+
#: wpf-includes/wpf-phrases.php:691
|
3767 |
+
msgid "Topics RSS Feed"
|
3768 |
+
msgstr ""
|
3769 |
+
|
3770 |
+
#: wpf-includes/wpf-phrases.php:692
|
3771 |
+
msgid "Find a member"
|
3772 |
+
msgstr ""
|
3773 |
+
|
3774 |
+
#: wpf-includes/wpf-phrases.php:693
|
3775 |
+
msgid "Display Name or Nicename"
|
3776 |
+
msgstr ""
|
3777 |
+
|
3778 |
+
#: wpf-includes/wpf-phrases.php:694
|
3779 |
+
msgid "Reset Search"
|
3780 |
+
msgstr ""
|
3781 |
+
|
3782 |
+
#: wpf-includes/wpf-phrases.php:695
|
3783 |
+
msgid "Reset Result"
|
3784 |
+
msgstr ""
|
3785 |
+
|
3786 |
+
#: wpf-includes/wpf-phrases.php:700
|
3787 |
+
msgid "Recent Posts"
|
3788 |
+
msgstr ""
|
3789 |
+
|
3790 |
+
#: wpf-includes/wpf-phrases.php:701
|
3791 |
+
msgid "No posts were found here"
|
3792 |
+
msgstr ""
|
3793 |
+
|
3794 |
#: wpforo.php:89
|
3795 |
msgid "Discussion Board"
|
3796 |
msgstr ""
|
3797 |
|
3798 |
+
#: wpforo.php:510
|
3799 |
msgid ""
|
3800 |
"Allows to embed hundreds of video, social network, audio and photo content "
|
3801 |
"providers in forum topics and posts."
|
3802 |
msgstr ""
|
3803 |
|
3804 |
+
#: wpforo.php:511
|
3805 |
msgid ""
|
3806 |
"Advanced user profile builder system. Allows to add new fields and manage "
|
3807 |
"profile page. Creates custom Registration, Account, Member Search forms."
|
3808 |
msgstr ""
|
3809 |
|
3810 |
+
#: wpforo.php:512
|
3811 |
msgid ""
|
3812 |
"Adds an advanced file attachment system to forum topics and posts. AJAX "
|
3813 |
"powered media uploading and displaying system with user specific library."
|
3814 |
msgstr ""
|
3815 |
|
3816 |
+
#: wpforo.php:513
|
3817 |
msgid ""
|
3818 |
"Blog to Forum and Forum to Blog content synchronization. Blog posts with "
|
3819 |
"Forum topics and Blog comments with Forum replies."
|
3820 |
msgstr ""
|
3821 |
|
3822 |
+
#: wpforo.php:514
|
3823 |
msgid ""
|
3824 |
"Provides a safe way to communicate directly with other members. Messages are "
|
3825 |
"private and can only be viewed by conversation participants."
|
3826 |
msgstr ""
|
3827 |
|
3828 |
+
#: wpforo.php:515
|
3829 |
msgid ""
|
3830 |
"Ads Manager is a powerful yet simple advertisement management system, that "
|
3831 |
"allows you to add adverting banners between forums, topics and posts."
|
wpf-themes/classic/colors.css
CHANGED
@@ -293,6 +293,17 @@
|
|
293 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-shead-icon{ border-right:1px solid #ffffff;}
|
294 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-spost-icon { border-right:1px solid #ffffff;}
|
295 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
296 |
#wpforo-wrap .wpf-action{ color: #3f7796; }
|
297 |
#wpforo-wrap .wpf-action:hover{ cursor: pointer; color: #659fbe; }
|
298 |
|
293 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-shead-icon{ border-right:1px solid #ffffff;}
|
294 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-spost-icon { border-right:1px solid #ffffff;}
|
295 |
|
296 |
+
#wpforo-wrap #wpforo-recent-title { color:#333333; }
|
297 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar{ background:#f5f5f5; border:#e6e6e6 1px solid; }
|
298 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfltd{ border-bottom:1px dotted #ffffff; }
|
299 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfrtd{ border-bottom:1px dotted #ffffff; }
|
300 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content { border-bottom:#e6e6e6 1px solid; }
|
301 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content .wpf-htr{ background-color:#43a6df; color:#ffffff; }
|
302 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content .wpf-ttr{ background:#f5f5f5 }
|
303 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-icon{ border-right:1px solid #ffffff;}
|
304 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-icon { border-right:1px solid #ffffff;}
|
305 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-stext{color:#666666}
|
306 |
+
|
307 |
#wpforo-wrap .wpf-action{ color: #3f7796; }
|
308 |
#wpforo-wrap .wpf-action:hover{ cursor: pointer; color: #659fbe; }
|
309 |
|
wpf-themes/classic/footer.php
CHANGED
@@ -48,8 +48,9 @@
|
|
48 |
<div class="wpf-row wpf-last-info">
|
49 |
<?php if(isset($stat['last_post_title']) && $stat['last_post_title']): ?>
|
50 |
<p class="wpf-stat-other">
|
51 |
-
|
52 |
<span><i class="fa fa-user-plus"></i> <?php wpforo_phrase('Our newest member') ?>: <a href="<?php echo esc_url($stat['newest_member_profile_url']) ?>"><?php echo esc_html($stat['newest_member_dname']) ?></a></span>
|
|
|
53 |
</p>
|
54 |
<?php endif; ?>
|
55 |
<p class="wpf-topic-icons">
|
48 |
<div class="wpf-row wpf-last-info">
|
49 |
<?php if(isset($stat['last_post_title']) && $stat['last_post_title']): ?>
|
50 |
<p class="wpf-stat-other">
|
51 |
+
<?php if( isset($stat['posts']) && $stat['posts'] ): ?><span ><i class="fa fa-pencil"></i> <?php wpforo_phrase('Latest Post') ?>: <a href="<?php echo esc_url($stat['last_post_url']) ?>"><?php echo esc_html($stat['last_post_title']) ?></a></span><?php endif; ?>
|
52 |
<span><i class="fa fa-user-plus"></i> <?php wpforo_phrase('Our newest member') ?>: <a href="<?php echo esc_url($stat['newest_member_profile_url']) ?>"><?php echo esc_html($stat['newest_member_dname']) ?></a></span>
|
53 |
+
<?php if( isset($stat['posts']) && $stat['posts'] ): ?><span class="wpf-stat-recent-posts"><i class="fa fa-list-ul"></i> <a href="<?php echo esc_url(wpforo_home_url('recent')) ?>"><?php wpforo_phrase('Recent Posts') ?></a></span><?php endif; ?>
|
54 |
</p>
|
55 |
<?php endif; ?>
|
56 |
<p class="wpf-topic-icons">
|
wpf-themes/classic/index.php
CHANGED
@@ -18,6 +18,8 @@
|
|
18 |
<?php
|
19 |
if($template == 'search'){
|
20 |
include( wpftpl('search.php') );
|
|
|
|
|
21 |
}elseif($template == 'register'){
|
22 |
include( wpftpl('register.php') );
|
23 |
}elseif($template == 'login'){
|
18 |
<?php
|
19 |
if($template == 'search'){
|
20 |
include( wpftpl('search.php') );
|
21 |
+
}elseif($template == 'recent'){
|
22 |
+
include( wpftpl('recent.php') );
|
23 |
}elseif($template == 'register'){
|
24 |
include( wpftpl('register.php') );
|
25 |
}elseif($template == 'login'){
|
wpf-themes/classic/profile.php
CHANGED
@@ -7,7 +7,8 @@
|
|
7 |
<?php if( !empty($user) && ( $wpforo->current_userid == $user['userid'] || $wpforo->perm->usergroup_can('vprf')) ) :
|
8 |
$filtered_user = apply_filters('wpforo_profile_header_obj', $user);
|
9 |
extract($filtered_user);
|
10 |
-
$
|
|
|
11 |
?>
|
12 |
|
13 |
<div class="wpforo-profile-head-wrap">
|
@@ -20,7 +21,7 @@
|
|
20 |
<div id="m_" class="wpforo-profile-head">
|
21 |
<?php do_action( 'wpforo_profile_plugin_menu_action', $userid ); ?>
|
22 |
<div class="h-header">
|
23 |
-
<div class="wpfy" <?php if( !$
|
24 |
<div class="wpf-profile-info-wrap">
|
25 |
|
26 |
<div class="h-picture">
|
@@ -43,7 +44,7 @@
|
|
43 |
<div class="h-top">
|
44 |
<div class="profile-stat-data">
|
45 |
<?php do_action( 'wpforo_profile_data_item', $wpforo->current_object ) ?>
|
46 |
-
<?php if(
|
47 |
<div class="profile-rating-bar">
|
48 |
<div class="profile-rating-bar-wrap" title="<?php wpforo_phrase('Member Rating') ?>">
|
49 |
<?php $levels = $wpforo->member->levels(); ?>
|
7 |
<?php if( !empty($user) && ( $wpforo->current_userid == $user['userid'] || $wpforo->perm->usergroup_can('vprf')) ) :
|
8 |
$filtered_user = apply_filters('wpforo_profile_header_obj', $user);
|
9 |
extract($filtered_user);
|
10 |
+
$rating_enabled = ( wpforo_feature('rating', $wpforo) && isset($wpforo->member->options['rating_badge_ug'][$groupid]) && $wpforo->member->options['rating_badge_ug'][$groupid] ) ? true : false ;
|
11 |
+
|
12 |
?>
|
13 |
|
14 |
<div class="wpforo-profile-head-wrap">
|
21 |
<div id="m_" class="wpforo-profile-head">
|
22 |
<?php do_action( 'wpforo_profile_plugin_menu_action', $userid ); ?>
|
23 |
<div class="h-header">
|
24 |
+
<div class="wpfy" <?php if( !$rating_enabled ) echo ' style="height:140px;" ' ?>></div>
|
25 |
<div class="wpf-profile-info-wrap">
|
26 |
|
27 |
<div class="h-picture">
|
44 |
<div class="h-top">
|
45 |
<div class="profile-stat-data">
|
46 |
<?php do_action( 'wpforo_profile_data_item', $wpforo->current_object ) ?>
|
47 |
+
<?php if( $rating_enabled ): ?>
|
48 |
<div class="profile-rating-bar">
|
49 |
<div class="profile-rating-bar-wrap" title="<?php wpforo_phrase('Member Rating') ?>">
|
50 |
<?php $levels = $wpforo->member->levels(); ?>
|
wpf-themes/classic/recent.php
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Exit if accessed directly
|
3 |
+
if( !defined( 'ABSPATH' ) ) exit;
|
4 |
+
|
5 |
+
if(!empty($_GET['wpfpaged'])) $paged = intval($_GET['wpfpaged']);
|
6 |
+
if(!empty($_GET['wpff'])) $args['forumid'] = intval($_GET['wpff']);
|
7 |
+
$args = array( 'offset' => ($paged - 1) * $wpforo->post->options['posts_per_page'], 'row_count' => $wpforo->post->options['posts_per_page']);
|
8 |
+
$args['orderby'] = (!empty($_GET['wpfob'])) ? sanitize_text_field($_GET['wpfob']) : 'created';
|
9 |
+
$args['order'] = (!empty($_GET['wpfo'])) ? sanitize_text_field($_GET['wpfo']) : 'DESC';
|
10 |
+
if(!is_user_logged_in() || !$wpforo->perm->usergroup_can('em')){ $args['private'] = 0; $args['status'] = 0; }
|
11 |
+
|
12 |
+
$items_count = 0;
|
13 |
+
$posts = $wpforo->post->get_posts($args, $items_count);
|
14 |
+
?>
|
15 |
+
<div class="wpforo-recent-wrap">
|
16 |
+
<div class="wpf-head-bar">
|
17 |
+
<h1 id="wpforo-title" style="padding-bottom:0px; margin-bottom:0px;">
|
18 |
+
<?php wpforo_phrase('Recent Posts') ?>
|
19 |
+
<?php if( wpforo_feature('rss-feed', $wpforo) ): ?>
|
20 |
+
<div class="wpforo-feed">
|
21 |
+
<span class="wpf-feed-forums">
|
22 |
+
<a href="<?php $wpforo->feed->rss2_url( true, 'forum' ); ?>" title="<?php wpforo_phrase('Forums RSS Feed') ?>" target="_blank">
|
23 |
+
<span><?php wpforo_phrase('Forums') ?></span> <i class="fa fa-rss fa-0x"></i>
|
24 |
+
</a>
|
25 |
+
</span><sep> | </sep>
|
26 |
+
<span class="wpf-feed-topics">
|
27 |
+
<a href="<?php $wpforo->feed->rss2_url( true, 'topic' ); ?>" title="<?php wpforo_phrase('Topics RSS Feed') ?>" target="_blank">
|
28 |
+
<span><?php wpforo_phrase('Topics') ?></span> <i class="fa fa-rss fa-0x"></i>
|
29 |
+
</a>
|
30 |
+
</span>
|
31 |
+
</div>
|
32 |
+
<?php endif; ?>
|
33 |
+
</h1>
|
34 |
+
<div class="wpf-snavi">
|
35 |
+
<?php $wpforo->tpl->pagenavi($paged, $items_count, FALSE); ?>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
<div class="wpforo-recent-content">
|
39 |
+
<?php if( !empty($posts) ): ?>
|
40 |
+
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
41 |
+
<tr class="wpf-htr">
|
42 |
+
<td class="wpf-shead-avatar"> </td>
|
43 |
+
<td class="wpf-shead-title"><?php wpforo_phrase('Post Title') ?></td>
|
44 |
+
<td class="wpf-shead-forum"><?php wpforo_phrase('Forum') ?></td>
|
45 |
+
</tr>
|
46 |
+
<?php foreach($posts as $post) : extract($post, EXTR_OVERWRITE); ?>
|
47 |
+
<?php
|
48 |
+
$member = wpforo_member($post);
|
49 |
+
$forum = wpforo_forum($post['forumid']);
|
50 |
+
?>
|
51 |
+
<tr class="wpf-ttr">
|
52 |
+
<td class="wpf-spost-avatar">
|
53 |
+
<?php if( $wpforo->perm->usergroup_can('va') && wpforo_feature('avatars', $wpforo) ): ?>
|
54 |
+
<?php echo $wpforo->member->avatar($member, 'alt="'.esc_attr($member['display_name']).'"', 40, true) ?>
|
55 |
+
<?php endif; ?>
|
56 |
+
</td>
|
57 |
+
<td class="wpf-spost-title">
|
58 |
+
<a href="<?php echo esc_url($wpforo->post->get_post_url($postid)) ?>" class="wpf-spost-title-link <?php wpforo_unread_topic($post['topicid']); ?>" title="<?php wpforo_phrase('View entire post') ?>"><?php echo esc_html($title) ?> <i class="fa fa-chevron-right" style="font-weight:100; font-size:11px;"></i></a>
|
59 |
+
<p style="font-size:12px"><?php wpforo_member_link($member, 'by'); ?>, <?php wpforo_date($post['created']); ?></p>
|
60 |
+
</td>
|
61 |
+
<td class="wpf-spost-forum"><a href="<?php echo $forum['url'] ?>"><?php echo esc_html($forum['title']); ?></a></td>
|
62 |
+
</tr>
|
63 |
+
<tr class="wpf-ptr">
|
64 |
+
<td class="wpf-spost-icon"> </td>
|
65 |
+
<td colspan="2" class="wpf-stext">
|
66 |
+
<?php
|
67 |
+
$body = wpforo_content_filter( $body );
|
68 |
+
$body = preg_replace('#\[attach\][^\[\]]*\[\/attach\]#is', '', strip_tags($body));
|
69 |
+
wpforo_text($body, 200);
|
70 |
+
?>
|
71 |
+
</td>
|
72 |
+
</tr>
|
73 |
+
<?php endforeach ?>
|
74 |
+
</table>
|
75 |
+
<?php else: ?>
|
76 |
+
<p class="wpf-p-error"><?php wpforo_phrase('No posts were found here') ?> </p>
|
77 |
+
<?php endif; ?>
|
78 |
+
</div>
|
79 |
+
<div class="wpf-snavi">
|
80 |
+
<?php $wpforo->tpl->pagenavi($paged, $items_count, FALSE); ?>
|
81 |
+
</div>
|
82 |
+
</div>
|
83 |
+
<p> </p>
|
84 |
+
<p> </p>
|
85 |
+
<p> </p>
|
wpf-themes/classic/style-rtl.css
CHANGED
@@ -671,6 +671,31 @@ RTL Style of Classic Theme
|
|
671 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-stext{padding:10px;word-break: break-all;}
|
672 |
#wpforo-wrap .wpforo-search-wrap .wpf-snavi{width:100%; margin:5px auto 1px 0px; text-align:left; padding:5px 5px;}
|
673 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
674 |
/******************************************************/
|
675 |
/******************** Pagination **********************/
|
676 |
/******************************************************/
|
671 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-stext{padding:10px;word-break: break-all;}
|
672 |
#wpforo-wrap .wpforo-search-wrap .wpf-snavi{width:100%; margin:5px auto 1px 0px; text-align:left; padding:5px 5px;}
|
673 |
|
674 |
+
/****************************************************/
|
675 |
+
/******************* wpForo Recent ******************/
|
676 |
+
/****************************************************/
|
677 |
+
#wpforo-wrap #wpforo-recent-title {padding-bottom:16px; font-size:16px; font-weight:100; padding:20px 0px;}
|
678 |
+
#wpforo-wrap .wpforo-recent-wrap table{border-spacing:0; border-collapse:collapse; padding:0; background:transparent; border:none;}
|
679 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar{padding:5px 10px;}
|
680 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfltd{padding:10px 5px; vertical-align:top;}
|
681 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfrtd{padding:10px 5px; vertical-align:top;}
|
682 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpf-last{border-bottom:none!important;}
|
683 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpf-last{border-bottom:none!important;}
|
684 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpff{height:150px;}
|
685 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfd{margin-bottom:10px;}
|
686 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpf-recent-label{font-size:13px; line-height:16px;}
|
687 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content {margin-top:5px; padding-top:5px; padding-bottom:0px;}
|
688 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-avatar{width:60px; text-align:center;}
|
689 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-title{padding:15px 5px;}
|
690 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-forum{padding:15px 5px; width:30%;}
|
691 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-avatar {width:60px; text-align:center; padding:10px;}
|
692 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-avatar img.avatar{ max-width:40px; }
|
693 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-title {padding:10px 5px; vertical-align:top;}
|
694 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-title .wpf-spost-title-link{font-size:16px;}
|
695 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-forum {padding:10px 5px; vertical-align:top; width:30%;}
|
696 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-stext{padding:10px;word-break: break-all; font-size:12px; line-height:15px;}
|
697 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-snavi{width:100%; margin:1px auto -10px 0px; text-align:right; padding:1px 0px;}
|
698 |
+
|
699 |
/******************************************************/
|
700 |
/******************** Pagination **********************/
|
701 |
/******************************************************/
|
wpf-themes/classic/style.css
CHANGED
@@ -673,6 +673,31 @@ Author: gVectors Team
|
|
673 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-stext{padding:10px;word-break: break-all;}
|
674 |
#wpforo-wrap .wpforo-search-wrap .wpf-snavi{width:100%; margin:5px 0px 1px auto; text-align:right; padding:5px 5px;}
|
675 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
676 |
/******************************************************/
|
677 |
/******************** Pagination **********************/
|
678 |
/******************************************************/
|
673 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-stext{padding:10px;word-break: break-all;}
|
674 |
#wpforo-wrap .wpforo-search-wrap .wpf-snavi{width:100%; margin:5px 0px 1px auto; text-align:right; padding:5px 5px;}
|
675 |
|
676 |
+
/****************************************************/
|
677 |
+
/******************* wpForo Recent ******************/
|
678 |
+
/****************************************************/
|
679 |
+
#wpforo-wrap #wpforo-recent-title {padding-bottom:16px; font-size:16px; font-weight:100; padding:20px 0px;}
|
680 |
+
#wpforo-wrap .wpforo-recent-wrap table{border-spacing:0; border-collapse:collapse; padding:0; background:transparent; border:none;}
|
681 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar{padding:5px 10px;}
|
682 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfltd{padding:10px 5px; vertical-align:top;}
|
683 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfrtd{padding:10px 5px; vertical-align:top;}
|
684 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpf-last{border-bottom:none!important;}
|
685 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpf-last{border-bottom:none!important;}
|
686 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpff{height:150px;}
|
687 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfd{margin-bottom:10px;}
|
688 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpf-recent-label{font-size:13px; line-height:16px;}
|
689 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content {margin-top:5px; padding-top:5px; padding-bottom:0px;}
|
690 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-avatar{width:60px; text-align:center;}
|
691 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-title{padding:15px 5px;}
|
692 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-forum{padding:15px 5px; width:30%;}
|
693 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-avatar {width:60px; text-align:center; padding:10px;}
|
694 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-avatar img.avatar{ max-width:40px; }
|
695 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-title {padding:10px 5px; vertical-align:top;}
|
696 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-title .wpf-spost-title-link{font-size:16px;}
|
697 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-forum {padding:10px 5px; vertical-align:top; width:30%;}
|
698 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-stext{padding:10px;word-break: break-all; font-size:12px; line-height:15px;}
|
699 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-snavi{width:100%; margin:1px 0px -10px auto; text-align:right; padding:1px 0px;}
|
700 |
+
|
701 |
/******************************************************/
|
702 |
/******************** Pagination **********************/
|
703 |
/******************************************************/
|
wpf-themes/classic/styles/css.php
CHANGED
@@ -304,6 +304,17 @@ $css = '/* wpForo Dynamic CSS Document */
|
|
304 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-shead-icon{ border-right:1px solid '. $WPFCOLOR_1 .';}
|
305 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-spost-icon { border-right:1px solid '. $WPFCOLOR_1 .';}
|
306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
#wpforo-wrap .wpf-action{ color: '. $WPFCOLOR_15 .'; }
|
308 |
#wpforo-wrap .wpf-action:hover{ cursor: pointer; color: '. $WPFCOLOR_11 .'; }
|
309 |
|
304 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-shead-icon{ border-right:1px solid '. $WPFCOLOR_1 .';}
|
305 |
#wpforo-wrap .wpforo-search-wrap .wpforo-search-content td.wpf-spost-icon { border-right:1px solid '. $WPFCOLOR_1 .';}
|
306 |
|
307 |
+
#wpforo-wrap #wpforo-recent-title { color:'. $WPFCOLOR_2 .'; }
|
308 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar{ background:'. $WPFCOLOR_9 .'; border:'. $WPFCOLOR_8 .' 1px solid; }
|
309 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfltd{ border-bottom:1px dotted '. $WPFCOLOR_1 .'; }
|
310 |
+
#wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfrtd{ border-bottom:1px dotted '. $WPFCOLOR_1 .'; }
|
311 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content { border-bottom:'. $WPFCOLOR_8 .' 1px solid; }
|
312 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content .wpf-htr{ background-color:'. $WPFCOLOR_12 .'; color:'. $WPFCOLOR_1 .'; }
|
313 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content .wpf-ttr{ background:'. $WPFCOLOR_9 .' }
|
314 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-icon{ border-right:1px solid '. $WPFCOLOR_1 .';}
|
315 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-icon { border-right:1px solid '. $WPFCOLOR_1 .';}
|
316 |
+
#wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-stext{color:'. $WPFCOLOR_4 .'}
|
317 |
+
|
318 |
#wpforo-wrap .wpf-action{ color: '. $WPFCOLOR_15 .'; }
|
319 |
#wpforo-wrap .wpf-action:hover{ cursor: pointer; color: '. $WPFCOLOR_11 .'; }
|
320 |
|
wpforo.php
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
* Plugin Name:
|
4 |
* Plugin URI: https://wpforo.com
|
5 |
* Description: Forums wpForo is a new generation of forum plugins. It's full-fledged forum solution for your community. Comes with multiple modern forum layouts.
|
6 |
* Author: gVectors Team (A. Chakhoyan, R. Hovhannisyan)
|
7 |
* Author URI: https://gvectors.com/
|
8 |
-
* Version: 1.4.
|
9 |
* Text Domain: wpforo
|
10 |
* Domain Path: /wpf-languages
|
11 |
*/
|
12 |
|
13 |
//Exit if accessed directly
|
14 |
if( !defined( 'ABSPATH' ) ) exit;
|
15 |
-
if( !defined( 'WPFORO_VERSION' ) ) define('WPFORO_VERSION', '1.4.
|
16 |
|
17 |
function wpforo_load_plugin_textdomain() { load_plugin_textdomain( 'wpforo', FALSE, basename( dirname( __FILE__ ) ) . '/wpf-languages/' ); }
|
18 |
add_action( 'plugins_loaded', 'wpforo_load_plugin_textdomain' );
|
@@ -104,7 +104,7 @@ if( !class_exists( 'wpForo' ) ) {
|
|
104 |
'user-register-email-confirm' => 0,
|
105 |
'register-url' => 0,
|
106 |
'login-url' => 0,
|
107 |
-
'resetpass-url' =>
|
108 |
'replace-avatar' => 1,
|
109 |
'avatars' => 1,
|
110 |
'custom-avatars' => 1,
|
@@ -205,6 +205,10 @@ if( !class_exists( 'wpForo' ) ) {
|
|
205 |
$delta = $users - $profiles;
|
206 |
if( $users > 100 && $delta > 2 ){ add_action( 'admin_notices', 'wpforo_profile_notice' ); }
|
207 |
}
|
|
|
|
|
|
|
|
|
208 |
register_deactivation_hook($this->basename, 'do_wpforo_deactivation');
|
209 |
}
|
210 |
}
|
@@ -357,6 +361,8 @@ if( !class_exists( 'wpForo' ) ) {
|
|
357 |
if( !isset($current_object['template']) || !$current_object['template'] ) {
|
358 |
if(in_array('members', $wpf_url_parse) && $wpf_url_parse[0] == 'members'){
|
359 |
$current_object['template'] = 'members';
|
|
|
|
|
360 |
}elseif(in_array('profile', $wpf_url_parse)){
|
361 |
$current_object['template'] = 'profile';
|
362 |
foreach($wpf_url_parse as $value){
|
1 |
<?php
|
2 |
/*
|
3 |
+
* Plugin Name: Forums - wpForo
|
4 |
* Plugin URI: https://wpforo.com
|
5 |
* Description: Forums wpForo is a new generation of forum plugins. It's full-fledged forum solution for your community. Comes with multiple modern forum layouts.
|
6 |
* Author: gVectors Team (A. Chakhoyan, R. Hovhannisyan)
|
7 |
* Author URI: https://gvectors.com/
|
8 |
+
* Version: 1.4.2
|
9 |
* Text Domain: wpforo
|
10 |
* Domain Path: /wpf-languages
|
11 |
*/
|
12 |
|
13 |
//Exit if accessed directly
|
14 |
if( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
if( !defined( 'WPFORO_VERSION' ) ) define('WPFORO_VERSION', '1.4.2');
|
16 |
|
17 |
function wpforo_load_plugin_textdomain() { load_plugin_textdomain( 'wpforo', FALSE, basename( dirname( __FILE__ ) ) . '/wpf-languages/' ); }
|
18 |
add_action( 'plugins_loaded', 'wpforo_load_plugin_textdomain' );
|
104 |
'user-register-email-confirm' => 0,
|
105 |
'register-url' => 0,
|
106 |
'login-url' => 0,
|
107 |
+
'resetpass-url' => 0, //In most cases incompatible with security and antispam plugins
|
108 |
'replace-avatar' => 1,
|
109 |
'avatars' => 1,
|
110 |
'custom-avatars' => 1,
|
205 |
$delta = $users - $profiles;
|
206 |
if( $users > 100 && $delta > 2 ){ add_action( 'admin_notices', 'wpforo_profile_notice' ); }
|
207 |
}
|
208 |
+
$db_version = get_option('wpforo_version_db');
|
209 |
+
if( !$db_version || version_compare( $db_version, WPFORO_VERSION, '<') ){
|
210 |
+
add_action( 'admin_notices', 'wpforo_update_db_notice' );
|
211 |
+
}
|
212 |
register_deactivation_hook($this->basename, 'do_wpforo_deactivation');
|
213 |
}
|
214 |
}
|
361 |
if( !isset($current_object['template']) || !$current_object['template'] ) {
|
362 |
if(in_array('members', $wpf_url_parse) && $wpf_url_parse[0] == 'members'){
|
363 |
$current_object['template'] = 'members';
|
364 |
+
}elseif(in_array('recent', $wpf_url_parse) && $wpf_url_parse[0] == 'recent'){
|
365 |
+
$current_object['template'] = 'recent';
|
366 |
}elseif(in_array('profile', $wpf_url_parse)){
|
367 |
$current_object['template'] = 'profile';
|
368 |
foreach($wpf_url_parse as $value){
|