wpForo Forum - Version 1.4.1

Version Description

| 12.10.2017 =

wpForo v1.4.1 Release Summary

  • Added: Bold titles when Forum and Topic is not visited/read
  • Added: Option to enable/disable forum RSS Feed
  • Added: Option to enable/disable WP to wpForo forum reset pass URL
  • Fixed Bug: Guests permission to view forum users avatar is disabled
  • Fixed Bug: Unable to change forum user Email and Display Name
  • Fixed Bug: Forum search form problem, empty forum field on some servers
  • Fixed Bug: Forum widget avatar doesn't reflect view avatar permission

NOTE: IF YOU UPDATE FROM 1.4.0

  • 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 Icon 128x128 wpForo Forum
Version 1.4.1
Comparing to
See all releases

Code changes from version 1.4.0 to 1.4.1

readme.txt CHANGED
@@ -1,20 +1,20 @@
1
- === Forums - wpForo ===
2
Contributors: gVectors Team
3
- Tags: forums, forum, forum members, community, discussion, bulletin board, question and answers, membership
4
Requires at least: 4.1
5
Tested up to: 4.8
6
- Stable tag: 1.4.0
7
License: GPLv2 or later
8
License URI: https://www.gnu.org/licenses/gpl-2.0.html
9
10
- Full-fledged forum solution with modern and mobile responsive design. Forum is very easy to setup. Built-in forum Membership, Antispam and SEO systems.
11
12
== Description ==
13
14
- wpForo is a new generation of WordPress forum plugins made by [gVectors Team](https://gvectors.com/). Everything you need to run an efficient and professional community. Powerful and beautiful bulletin board with unique features.
15
16
- Community and Demo: [https://wpforo.com/community/](https://wpforo.com/community/)
17
- Documentation: [https://wpforo.com/documentation/](https://wpforo.com/documentation/)
18
19
20
= Forums can be displayed with three different layouts =
@@ -26,6 +26,45 @@ Light, modern and beautiful forum layout with topic and post author avatars on f
26
3. [**Question and Answer Layout:**](https://wpforo.com/docs/categories-and-forums/forum-layouts/question-answer-layout/)
27
Complete Question & Answers discussion board for professional support and for communities similar to Stack Overflow. Perfect platform for users to ask and answer questions, and, through membership and active participation, to vote up or down.
28
29
= wpForo Addons =
30
31
* | [wpForo - Embeds](https://gvectors.com/product/wpforo-embeds/)
@@ -35,41 +74,13 @@ Complete Question & Answers discussion board for professional support and for co
35
* | [wpForo - Blog Cross Posting](https://gvectors.com/product/wpforo-cross-posting/)
36
* | [wpForo - Advanced Attachments](https://gvectors.com/product/wpforo-advanced-attachments/)
37
38
- = WPFORO FEATURES =
39
-
40
- * | You can use wpForo for small and extremely large communities.
41
- * | The "Extended", "Simplified" and "Question & Answer" layouts fit almost all type of discussions needs.
42
- * | Super responsive on all kind of devices. Adapted on all screen sizes.
43
- * | Built-in SEO functions.
44
- * | Built-in Cache System.
45
- * | Built-in Antispam system and integrated with Akismet.
46
- * | Allows create and customized forum theme and keep it in active WordPress theme folder.
47
- * | Beautiful, modern and informative user profile system.
48
- * | User rating system based on number of posts. Nice Badges and Member Rating Titles per reputation level.
49
- * | Built-in forum/topic subscription with double opt-in subscription confirmation function.
50
- * | Drag and Drop forum management system. Easy to set Parent-Child relationship and forum list order.
51
- * | All necessary moderation tools on each topic and post to make easy forum moderation.
52
- * | Styles with different colors, dozens of settings, options, switches to manage and integrate forum with your theme look and feel.
53
- * | Built-in, powerful Usergroup system. Allows to create a new, manage and delete.
54
- * | Forum Accesses: "Read Only", "Standard Access", "Moderation Access", "Full Access", etc.. to manage Usergroup accesses for each forum.
55
- * | wpForo has its own Phrase System, which allows you to translate all phrases through Dashboard. And it supports WordPress .MO/.PO translation files.
56
- * | You can download [Go2wpForo](https://wpforo.com/community/migrate-to-wpforo-from-other-forum-plugins/migrate-to-wpforo-go2wpforo-tool/) free migration tool from our [support forum](https://wpforo.com/community/migrate-to-wpforo-from-other-forum-plugins/migrate-to-wpforo-go2wpforo-tool/). This tool allows you migrate from different WordPress forum plugins to wpForo.
57
-
58
-
59
- = Currently we're working on =
60
-
61
- * Guest Posting...
62
- * Read/Unread topics and posts...
63
- * Social Network Sharing Buttons...
64
- * [Go2wpForo](https://wpforo.com/community/migrate-to-wpforo-from-other-forum-plugins/migrate-to-wpforo-go2wpforo-tool/) Migration Tool...
65
-
66
67
== Installation ==
68
69
- 1. Install the plugin through the WordPress plugins screen directly or upload the plugin files to the `/wp-content/plugins/wpforo` directory
70
- 2. Activate the plugin through the 'Plugins' screen in WordPress
71
- 3. If you have more than 100 users wpForo will ask you synchronize users and create user profile. You just need to click on [Create Profile Data] button in wpForo message box after the plugin activation.
72
- 4. Getting Started Doc https://wpforo.com/docs/root/getting-started/
73
74
75
== Frequently Asked Questions ==
@@ -93,14 +104,7 @@ https://wpforo.com/docs/root/getting-started/forum-sidebar-and-widgets/
93
6. **Forum Style & Colors:**
94
https://wpforo.com/docs/root/wpforo-settings/style-settings/
95
96
- 7. **Login and Registration** In Forums > Settings > Features admin page you can force WP to use wpForo Login and Register pages or keep default WordPress pages. For custom Login/Register/Lostpassword Pages please navigate to Members Tab and use "Custom Authorization URLs" option.
97
-
98
- 8. **Forum is loaded on website top:** In this case you should navigate to Forums > Settings > Features admin page and check "Enable Output Buffer" option.
99
-
100
- 9. **Forums don't show up on the main page** Please read this FAQ topic:
101
- https://wpforo.com/community/faq/forums-dont-show-up-on-the-main-page/
102
-
103
- 10. **wpForo Shortcodes**
104
https://wpforo.com/community/faq/wpforo-shortcodes/
105
106
wpForo Support Forum: <https://wpforo.com/community/>
@@ -110,383 +114,88 @@ wpForo Support Forum: <https://wpforo.com/community/>
110
1. Forum list - "Extended" layout (layout #1) | Screenshot #1
111
2. Forum list - "Simplified" layout (layout #2) | Screenshot #2
112
3. Forum list - "Question & Answer" layout (layout #3) | Screenshot #3
113
- 4. Topic list - "Extended" layout | Screenshot #4
114
- 5. Topic list - "Simplified" layout | Screenshot #5
115
- 6. Topic list - "Question & Answer" layout | Screenshot #6
116
- 7. Post list - "Extended" layout | Screenshot #7
117
- 8. Post list - "Simplified" layout | Screenshot #8
118
- 9. Post list - "Question & Answer" | Screenshot #9
119
10. Forum Profile Page - integrated with Shop and Profile plugins | Screenshot #10
120
11. Forum Member List | Screenshot #11
121
- 12. Dashboard - Drag and Drop forum management system. Easy to set Parent-Child relationship and forum order. | Screenshot #12
122
- 13. Dashboard - General Settings | Screenshot #13
123
- 14. Dashboard - Members Settings | Screenshot #14
124
- 15. Dashboard - Forum Styles, Colors | Screenshot #15
125
- 16. Dashboard - Forum Accesses / Can's | Screenshot #16
126
127
128
== Changelog ==
129
130
= 1.4.0 | 07.10.2017 =
131
132
[wpForo v1.4.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-0-is-released/)
133
134
- * Added: Advanced user profile system,
135
- * Added: Redesigned profile home and account settings page
136
- * Added: Topic and Post front-end moderation (approve/unapprove),
137
- * Added: User search and filter options for Member search form,
138
- * Added: Paste as text button on editor toolbar,
139
* Added: SEO friendly H1 tags for forum and topic titles,
140
* Added: wpForo SEO Open Graph - Image Information for FB share,
141
* Added: General RSS Feed for Forums and Topics
142
* Added: Hide Add Topic button on click,
143
* Added: Forum Description in topic list (forum page),
144
- * Added: Option to change default User Title for new registered users,
145
- * Added: Option to change default Usergroup for new registered users,
146
* Added: Option to select Forum Access when creating a new Usergroup,
147
* Added: Website language depended cache, language path issue with cached URLs,
148
* Added: More speed with new intuitive caching and cache deleting functions,
149
* Added: Boost database speed, new indexes for fresh installation,
150
* Added: Make profile links nofollow when profile page indexing is disabled,
151
- * Added: Spanish Translation (es_ ES/MX), many thanks to [Ignacio Sancho](https://www.isanlab.com/)
152
* Added: French Translation (fr_CA), many thanks to Alain Bergevin
153
* Added: Portuguese (Brazil) Translation (pt_BR), many thanks to Lucas Felix,
154
* Updated: German Translation (de_DE), many thanks to uve GmbH | Pascal Feiler,
155
* New Addon: [wpForo - User Custom Fields](https://gvectors.com/product/wpforo-user-custom-fields/)
156
* Fixed Bug: Filter and display subSite specific users on WP MultiSite,
157
- * Fixed Bug: Incorrect counting of synchronized users,
158
- * Fixed Bug: Usergroup permission issue(unused CANs on profile page),
159
- * Fixed Bug: Unapproved topics redirect to login page,
160
* Fixed Bug: Redirects to account edit page after registration is successfully,
161
* Fixed Bug: Pagination issue, gets request uri function, checks protocols,
162
* Fixed Bug: Warning: Invalid argument supplied in /wpforo.php on line 141,
163
* Fixed Bug: Backslash slashes in email title and content,
164
- * Fixed Bug: Search result affects page layout and sidebar,
165
- * Fixed Bug: Typos and wrong phrases,
166
* Fixed Bug: Not colored wide left border of menu items,
167
- * Fixed Bug: Chrome support for wpForo Feed XML,
168
* Fixed Bug: Private forums on search form's forum list
169
* Fixed Bug: Dynamic colors issue when file writing permission is denied for colors.css
170
171
- IMPORTANT:
172
-
173
- - If you have a customized copy of wpForo template files in your WP theme /wpforo/ folder please update them. wpForo 1.4.0 requires new template files.
174
- - If you see style issues after update, please refresh forum page twice or do Ctrl+F5 on forum front-end to load new styles.
175
- - If you have wpForo addons, please update them right after wpForo update. Don't update them before wpForo update.
176
- - 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/)
177
- - To load your customized colors please refresh forum front-end page twice.
178
- - If you have a Cache Plugin, please delete all caches after wpForo update.
179
- - If you use CDN and found some issue please purge it.
180
-
181
-
182
- = 1.3.1 | 11.06.2017 =
183
-
184
- [wpForo v1.3.1 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-3-1-is-released/)
185
-
186
- * Tested with WordPress 4.8
187
- * Fixed Bug: 404 page header issue
188
- * Fixed Bug: Usergroup style and space issue
189
- * Fixed Bug: Admin bar displaying issue. Only for logged-in users
190
- * Fixed Bug: Moderator access to topic/post Moderation admin page
191
- * Fixed Bug: Bad quality of user avatars on topic list of Simplified Layout
192
- * Fixed Bug: Cache issue with private/unapproved topics and posts
193
- * Fixed Bug: Small bug with delete all cache process
194
- * Fixed Bug: Undefined index: HTTP_REFERER in /functions.php on line 233
195
- * Fixed Bug: Issue with Edit and Delete button for new reg users if topic/post is unapproved
196
- * New Addon: [wpForo - Blog Cross Posting](https://gvectors.com/product/wpforo-cross-posting/)
197
-
198
-
199
- = 1.3.0 | 23.05.2017 =
200
-
201
- [wpForo v1.3.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-3-0-is-released/)
202
-
203
- * Added: Two step installation if there are more than 100 users
204
- * Added: wpForo Built-in Cache System
205
- * Added: Object Cache (caches items and objects, decreases number of SQLs)
206
- * Added: Memory Cache (keeps in memory and prevents process/query duplication)
207
- * Added: HTML Cache (smart and intuitive HTML cache of forum pages)
208
- * Added: High performance and low SQL queries
209
- * Added: Optimized for forums with large databases
210
- * Added: wpForo settings quick menu in top admin bar on front-end
211
- * Added: Last Login Date column in Dashboard > Forums > Members list
212
- * Added: Optimized flush_rewrite rules function
213
- * Added: Trailing slashes to forum and topic list. Reflects WP permalinks.
214
- * Added: Ability to fully disable Auto Moderation with Spam Control
215
- * Added: Send email notification when a topic or reply get approval
216
- * Added: Blockquote style in editor. Better view on post quotation
217
- * Added: If new registered users' post contains a link it becomes unapproved
218
- * Added: Usergroup under author avatar in user info area
219
- * Added: Options to Disable Profile Page Indexing.
220
- * Added: Options to Turn Off User Syncing Note (2nd step of installation)
221
- * Added: Topic status specific classes for [solved], [closed]...
222
- * Added: Clean cache function, hook and arguments.
223
- * Added: Signature Style
224
- * Added: New options in Settings > Members to display Usergroup under Avatar
225
- * Added: Options to Disable Object Cache, Memory Cache, HTML Cache.
226
- * Added: Delete All Caches button (Dashboard > Forums > Dashboard)
227
- * New Addon: [wpForo Ads Manager](https://gvectors.com/product/wpforo-ad-manager/)
228
- * Fixed Bug: Visible unapproved replies in approved topic
229
- * Fixed Bug: Subscribers get email when topic is approved but post is not.
230
- * Fixed Bug: Illegal string offset 'userid' in /wpf-hooks.php on line 1281
231
- * Fixed Bug: Username with more than 15 char
232
- * Fixed Bug: Non-permitted content in profile activity and subscriptions
233
- * Fixed Bug: Strips tags in email subjects and strip slashes in email content
234
- * Fixed Bug: Sends 404 header on "404 Page Not Found" pages.
235
- * Fixed Bug: Lock email send functions when Go2wpForo tool is running.
236
- * Fixed Bug: Problem with permalinks e.g.: test.com/index.php/community/
237
- * Fixed Bug: Many small bugs
238
-
239
-
240
- = 1.2.0 | 08.03.2017 =
241
-
242
- [wpForo v1.2.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-2-0-is-released/)
243
-
244
- * Added: wpForo Spam Control - New User
245
- * Added: New Dashboard subMenu - Forums > Tools > Antispam
246
- * Antispam: Possible Spam Attachments - lists suspected files
247
- * Antispam: New Registered Users control and restrictions
248
- * Antispam: Min number of posts to be able attach files
249
- * Antispam: Min number of posts to be able post links
250
- * Antispam: Restricts New Users to attach risky file extensions
251
- * Antispam: Integration with [Akismet](https://wordpress.org/plugins/akismet/)
252
- * Added: wpForo Spam Control - Topics & Posts
253
- * Added: New Dashboard subMenu - Forums > Moderation
254
- * Antispam: Makes topics/posts unapproved if spam is suspected
255
- * Antispam: Topic moderation through dashboard Approve/Unapprove/Delete
256
- * Antispam: Bans new registered users if spam content is detected
257
- * Antispam: New Forum Access - "Can pass moderation"
258
- * Added: RTL Font-Awesome
259
- * Added: Swedish Translation (sv_SE) by Mathias Persson
260
- * Fixed Bug: Don't allow empty topics and posts
261
- * Fixed Bug: Post Link URL problem (pagination part in URL)
262
- * Fixed Bug: Notice: Undefined index: set in .../class-template.php
263
-
264
- = 1.1.2 | 26.02.2017 =
265
-
266
- [wpForo v1.1.2 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-1-2-is-released/)
267
-
268
- * Added: New topic type - Private
269
- * Added: Checkbox option on Topic editor: Private Topics
270
- * Added: Private/Public button with other moderation tools
271
- * Added: Profile buttons under Member Avatar on Members and Posts list
272
- * Added: Member Social Network information under avatar
273
- * Added: Phrase Packages for addon quick translation
274
- * Added: Polish (pl_PL) by Bogusław Górecki
275
- * Added: Checking avatar size before uploading
276
- * Added Access: "Can set topic private" (Admins and Moderators)
277
- * Added Access: "Can set own topic private" (Regular users)
278
- * Added Access: "Can view private topic" (Admin, Moderator and Topic Creator)
279
- * Performance: Huge SQL optimization and built-in caching system
280
- * SEO Optimization: added rel="nofollow" to links with GET variables
281
- * New Addon: [wpForo - Private Messages](https://gvectors.com/product/wpforo-private-messages/)
282
- * New Addon: wpForo - Ads Manager (comming next week...)
283
- * Fixed Bug: Menu problem on IE / Edge
284
- * Fixed Bug: SubForums problem. Title and topics atatched to wrong forum
285
- * Fixed Bug: Search result displays private topics to non-permitted users
286
- * Fixed Bug: Private Forum topics in RSS Feed
287
- * Fixed Bug: Topic Pagination problem (conflict with pot pagination option)
288
- * Fixed Bug: RTL - Font color switcher problem
289
- * Fixed Bug: Removed Delete and Ban buttons for current user in dashboard
290
- * Fixed Bug: Typo CAN titles Dahsboard > Dashboard (needs re-translation)
291
- * Fixed Bug: Online Users widget avatar size problem
292
- * Fixed Bug: Signature image oversize
293
- * Fixed Bug: Q&A Layout recent topics order by sticky and created date
294
- * Fixed Bug: Editor - Add Link pop-up window size issue on mobile
295
- * Fixed Bug: Undefined variable: size_da in .../dashboard.php on line 182
296
- * Fixed Bug: SSL Problem
297
-
298
-
299
- = 1.1.1 | 20.12.2016 =
300
-
301
- * Added: Compatible with WordPress 4.7
302
- * Added: Custom Forum Icons (font-awesome)
303
- * Added: Delete member with WP user and user specific forum content.
304
- * Added: [Add Child Forum] button on forum management list
305
- * Added: Persian (fa_IR) Translation by behrooz (www.wpforo.ir)
306
- * Added: New addon notifier
307
- * Cache: Update/clean cache on actions with topics, posts and members
308
- * Fixed Bug: Unnecessary email with Password Reset link on user registration
309
- * Fixed Bug: RTL Issue with widget avatars
310
- * Fixed Bug: Disable banning yourself
311
- * [More info...](https://wpforo.com/community/wpforo-announcements/wpforo-1-1-1-is-released/)
312
-
313
-
314
- = 1.1.0 | 04.12.2016 =
315
-
316
- * Added: Support WordPress Multisite (single and network activation)
317
- * Added: Registration confirmation through email (WordPress way)
318
- * Added: Topic and Post Subscription checkbox next to Submit button
319
- * Added: New CAN (forum access permission) "Can view attachments"
320
- * Added: User Ban/Unban function in Forums > Members admin page
321
- * Added: Forums > Members, filter by users status
322
- * Added: Enable HTML in forum description
323
- * Added: Japanese (JA_ja) Translation, many thanks to Seg Way
324
- * Added: German (de_DE) translation, many thanks to Markus Herrmann
325
- * Added: Sticky topics on top of recent topics
326
- * Added: Option to notify forum admins when a new topic is created
327
- * Added: Option to notify forum admins when a new post is created
328
- * Added: Option to make post editor subscription checkboxe checked by default
329
- * Added: wpForo Addons admin page
330
- * New Addon: [wpForo - Embeds](https://gvectors.com/product/wpforo-embeds/)
331
- * New Addon: [wpForo - Advanced Attachments](https://gvectors.com/product/wpforo-advanced-attachments/)
332
- * Added: Nicename field in Profile > Accounts page to allow users change and hide usernames in profile URL.
333
- * Added: Option to change message when non-permitted visitor/user tries to view attachments
334
- * Added: Option to make some posts/pages available when "Turn WordPress to wpForo" option is enabled.
335
- * Fixed Bug: Dashboard menu access for non-permitted users
336
- * Fixed Bug: Missing forum edit, delete, view buttons on Forums admin page
337
- * Fixed Bug: Forums > Members bulk actions
338
- * Fixed Bug: Forums > Members list ordering issue
339
- * Fixed Bug: Missing topics, posts and profiles tables after installation
340
- * Fixed Bug: Remove reply, quote, edit buttons when topic is closed
341
- * Fixed Bug: Post Move, Report JS Errors.
342
- * Fixed Bug: Warning: Missing argument 2 for wpforo_update_last_login_date()
343
- * Optimization: Forum, topic and post loading speed and memory optimization
344
- * Security: improving post and topic creation security, two more level of checking processes before inserting data in database.
345
- * [More info...](https://wpforo.com/community/wpforo-announcements/wpforo-1-1-0-is-released/)
346
-
347
- = 1.0.2 | 10.09.2016 =
348
-
349
- * 1.0.x is stable now. We fixed all bugs related to Beta-6 > 1.0.x upgrade. The main issue was missing forums and missing forum page. These issues had two reasons. First(incorrect pageid) was fixed in 1.0.1. Second (WP installation with different WordPress and Site Address) has been fixed in this 1.0.2 version. Lots of small bugs are fixed two.
350
-
351
-
352
- = 1.0.1 | 07.09.2016 =
353
-
354
- * Fixed Bug: Forums does not appear after 1.0.0 update.
355
- * Fixed Bug: Other small 1.0.0 bugs
356
-
357
-
358
- = 1.0.0 | 06.09.2016 =
359
-
360
- * Security: User-can-manage-user control based on user level and group
361
- * Security: Own and other user Usergroup secure management
362
- * Security: Edit profile issues, multi-level control
363
- * Security: Custom avatar uploading file control
364
- * Added: Using wpForo on home page. [Insturction here.](https://wpforo.com/community/faq/how-to-load-forum-on-home-page/)
365
- * Added: Use wpForo without shortcode and page. Set any slug for forum Base URL.
366
- * Added: Option to turn WordPress to wpForo (Disable WordPress on front-end)
367
- * Added: Dynamic recent topic icons on forum list
368
- * Added: New Stat Boxes on member profile page (Topics, Blog Posts, Comments)
369
- * Added: Option to integrate wpForo default attachments with WP Media Library
370
- * Added: Delete User Cache button on Forums > Dashboard admin page
371
- * Added: Option to disable forum user registration
372
- * Added: "Forums" > "Member" menu access in dashboard based on usergroup CAN's.
373
- * Added: Missing last post info on parent forum, when post located in subForum
374
- * Added: Update all forum usergroup-access sets when adding a new usergroup
375
- * Added: Russian and Hebrew translations update.
376
- * Added: rel="nofolow" for external links in post content
377
- * Added: Different welcome messages on first and other logins
378
- * Fixed Bug: Text color picker doesn't work on topic and post editor.
379
- * Fixed Bug: Custom CSS code and Style/Color saving problem
380
- * Fixed Bug: Not centered avatars
381
- * Fixed Bug: Avatar size issue on posts and widgets
382
- * Fixed Bug: Avatar source URL protocol problem when changing http to https
383
- * Fixed Bug: Bullet-ed list shows all left *{ margin:0; } issue
384
- * Fixed Bug: Widget permission error for users with new usergroup
385
- * Fixed Bug: Foum SEO title. Warning: Missing argument 2 for wpforo_hide_title()
386
- * Fixed Bug: Fatal error on forum search when Debug Mode is enabled
387
- * Shortcode: Changed [wpforo-index] to [wpforo]
388
- * Shortcode: wpForo new shortcodes. [More info.](https://wpforo.com/community/faq/wpforo-shortcodes/)
389
- * SEO Optimization: Duplicated meta data on Member Profile pages
390
- * [More info...](https://wpforo.com/community/wpforo-announcements/wpforo-1-0-0-is-released/)
391
-
392
-
393
- = Beta-6 | 06.08.2016 =
394
-
395
- * Added: Dark Style
396
- * Added: Mark topics as Solved for Extended and Simplified Layouts
397
- * Added: Forum Access CAN - Can make topic solved
398
- * Added: Forum Access CAN - Can make own topic solved
399
- * Added: Sort topics by last post date (last replied on top)
400
- * Added: Option to disable subscription confirmation
401
- * Added: Forums and Users statistics update buttons
402
- * Added: WordPress color picker for forum color settings
403
- * Added: Image tag support for member signatures
404
- * Added: SEO optimization - avoids content duplication (pagination, GET)
405
- * Added: French (fr_FR) translation, many thanks to Julien Coopmann
406
- * Fixed Bug: Debug Mode Security (removed db information)
407
- * Fixed Bug: Forum Sidebar Priority
408
- * Fixed Bug: Advanced Search Bug (invalid arguments passed...)
409
- * Fixed Bug: Recent Topic ordering issue in Widget
410
- * Fixed Bug: Recent Topic ordering on Forum List
411
- * Fixed Bug: Last Post URL redirects to home on Simplified layout
412
- * Fixed Bug: Can't login after changing password
413
- * Fixed Bug: Incorrect topic icons (based on count of posts)
414
- * Fixed Bug: Forum/Topic not found with multi-byte characters
415
- * Fixed Bug: Missing phrase issues
416
- * Fixed Bug: Lots of small problems
417
-
418
-
419
- = Beta-5 | 23.07.2016 =
420
-
421
- * Added: Added new and missing phrases in POT and Phrase list
422
- * Added: X ago problem, added "%s ago" phrase, can be change to "ago %s"
423
- * Added: Topic icons for Simplified and QA layouts.
424
- * Added: Solved icon for Q&A layout topics.
425
- * Added: Topic icon description in footer bar
426
- * Added: Option to use WordPress Date/Time formats (in Features tab)
427
- * Added: New CANs in Usergroup Permissions (can view members | profiles)
428
- * Added: Recent Topics Widget - Reloaded
429
- * Added: Russian and Mexican Spanish translations update.
430
- * Added: wpForo Debug Mode, output is hidden, for fast support.
431
- * Added: Top "Screen Options" on forum edit page, adds Forum Slug option.
432
- * Fixed Bug: Forums don't show up on SSL / HTTPS websites
433
- * Fixed Bug: Forums don't show up on websites w/o trailing slashes "/"
434
- * Fixed Bug: Plugin update system, updating new options
435
- * Fixed Bug: Slashes with apostrophes on "About Me" and Signatures
436
- * Fixed Bug: Long phrase issue on Forums admin page, icons instead of phrases
437
- * Fixed Bug: CSS issues, conflicts with some themes
438
- * Fixed Bug: Can't update Font Size and Color options (11px for all items)
439
-
440
-
441
- = Beta-4 | 09.07.2016 =
442
-
443
- * Added: Supports WordPress default emoticons
444
- * Added: Automatic image URL to image conversion in post content (image auto-embed)
445
- * Added: View HTML source button on TiniMCE post editor
446
- * Added: Profile Social Network URLs and Skype links
447
- * Added: Last post link, date, author name for Intro Topics - Extended & QA Layouts
448
- * Added: Options to set Forum, Topic and Post Content font size
449
- * Added: Options to add custom CSS code
450
- * Added: Russian (ru_RU) translation, many thanks to Dmitry Butkevich (WPNICE.RU)
451
- * Added: Korean (ko_KO) translation, many thanks to Jeehwan Song
452
- * Added: Czech (cs_CZ) translation, many thanks to Glados (The Witcher)
453
- * Fixed Bug: Topic and Post layout don't changed after changing forum parent category
454
- * Fixed Bug: Problem with https and www. websites
455
- * Fixed Bug: Forums and Topics don't show up on the main page.
456
- * Fixed Bug: Proble with post quote, HTML content.
457
- * Fixed Bug: Problem with "Online Members" widget
458
- * Fixed Bug: Before and after [wpforo-index] content.
459
- * Fixed Bug: Forum is loaded on top of website, before theme header. We've added an option "Enable Output Buffer". This feature is useful if you're adding content before or after [wpforo-index] shortcode in page content. Also it useful if you see forum is loaded before website template, on top of front-end.
460
-
461
-
462
- = Beta-3 | 30.06.2016 =
463
-
464
- * Added: POT Translation file. wpForo can be translated with mo/po
465
- * Added: Option to enable reputation titles for certain usergroups
466
- * Added: Option to enable reputation badges for certain usergroups
467
- * Fixed Bug: Fatal error - Call to undefined function...
468
- * Fixed Bug: Removed setting options from TinyMCE Link pop-up
469
- * Fixed Bug: Problem with permalinks e.g.: test.com/index.php/community/
470
- * Fixed Bug: Note/Login/Register Pop-up on mobile screens
471
- * Fixed Bug: QA Layout isAnswer and Profile Badges on mobile screens
472
-
473
-
474
- = Beta-2 | 28.06.2016 =
475
-
476
- * Added: Option to set custom login URL
477
- * Added: Option to set custom register URL
478
- * Added: Option to set custom lost password URL
479
- * Fixed Bug: CSS conflicts with different themes
480
- * Fixed Bug: Question & Answer Layout issues
481
- * Fixed Bug: Enabled "Can Create Topic" for "Standard Access" by default
482
- * Fixed Bug: .right .left . label class conflicts
483
- * Fixed Bug: Dashboard and Front-end member pagination
484
- * Fixed Bug: Member and Post search issues
485
-
486
-
487
- = Beta-1 | 26.06.2016 =
488
-
489
- * Initial version. It's on the Beta stage and we're working hard to reach the Gold 1.0.0 version as soon as possible. If you found some issue or bug please open a support topic in plugin page or in our support forum.
490
-
491
-
492
-
1
+ === wpForo Forum ===
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.8
6
+ Stable tag: 1.4.1
7
License: GPLv2 or later
8
License URI: https://www.gnu.org/licenses/gpl-2.0.html
9
10
+ First professional forum plugin for WordPress. Full-fledged forum solution with modern and mobile responsive design. Take your forum to next level!
11
12
== Description ==
13
14
+ The Best WordPress forum plugin made by [gVectors Team](https://gvectors.com/). Everything you need to run an efficient forum. 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/)
18
19
20
= Forums can be displayed with three different layouts =
26
3. [**Question and Answer Layout:**](https://wpforo.com/docs/categories-and-forums/forum-layouts/question-answer-layout/)
27
Complete Question & Answers discussion board for professional support and for communities similar to Stack Overflow. Perfect platform for users to ask and answer questions, and, through membership and active participation, to vote up or down.
28
29
+ = Available Translations =
30
+
31
+ * | Czech forum by Glados (The Witcher)
32
+ * | Dutch forum by Ger Metselaar i.o.v. Parma multimedia BV
33
+ * | French forum by J. Coopmann, F. Lanternier, Y. Le Cottier
34
+ * | French forum by Alain Bergevin
35
+ * | German forum by Markus Herrmann, Pascal Feiler
36
+ * | Hebrew forum by Gal Zilberman
37
+ * | Japanese forum by Seg Way
38
+ * | Persian forum by wpforo.ir
39
+ * | Portuguese (Brazil) forum by Lucas Felix
40
+ * | Polish forum by Bogusław Górecki
41
+ * | Russian forum by Dmitry Butkevich
42
+ * | Spanish forum by Ignacio Sancho(ISANlab)
43
+ * | Spanish forum (Mexico) by Poncho Camacho
44
+ * | Swedish forum by Mathias Persson
45
+ * | Korean forum by Jeehwan Song
46
+
47
+ = WPFORO FEATURES =
48
+
49
+ * Designed for small and extremely large forums/communities.
50
+ * Multi-layout design fits almost all type of discussions needs.
51
+ * Super responsive forum on all kind of devices.
52
+ * Built-in forum SEO functions.
53
+ * Built-in forum Cache System.
54
+ * Built-in forum Antispam and Akismet integration.
55
+ * Advanced forum user profile system.
56
+ * User Rating, Badges and Member Rating Titles.
57
+ * Built-in forum/topic subscription.
58
+ * Drag and Drop forum management system.
59
+ * Topic and Post front-end moderation.
60
+ * Forum styles with different colors.
61
+ * Built-in, powerful Usergroup system.
62
+ * Forum Access sets per Usergroup per Forum.
63
+ * Phrase System in Dashboard for quick translation.
64
+ * WordPress .MO/.PO translation files.
65
+ * Easy to migrate with [Go2wpForo](https://wpforo.com/community/migrate-to-wpforo-from-other-forum-plugins/migrate-to-wpforo-go2wpforo-tool/) tool.
66
+
67
+
68
= wpForo Addons =
69
70
* | [wpForo - Embeds](https://gvectors.com/product/wpforo-embeds/)
74
* | [wpForo - Blog Cross Posting](https://gvectors.com/product/wpforo-cross-posting/)
75
* | [wpForo - Advanced Attachments](https://gvectors.com/product/wpforo-advanced-attachments/)
76
77
78
== Installation ==
79
80
+ 1. Install wpForo forum plugin through the WordPress plugins screen directly or upload wpForo forum plugin files to the `/wp-content/plugins/wpforo` directory
81
+ 2. Activate wpForo forum through the 'Plugins' screen in WordPress
82
+ 3. If you have more than 100 users wpForo forum plugin will ask you synchronize users and create forum user profile. You just need to click on [Create Profile Data] button in wpForo message box after wpForo forum plugin activation.
83
+ 4. wpForo forum "Getting Started" documentation https://wpforo.com/docs/root/getting-started/
84
85
86
== Frequently Asked Questions ==
104
6. **Forum Style & Colors:**
105
https://wpforo.com/docs/root/wpforo-settings/style-settings/
106
107
+ 7. **wpForo Forum Shortcodes**
108
https://wpforo.com/community/faq/wpforo-shortcodes/
109
110
wpForo Support Forum: <https://wpforo.com/community/>
114
1. Forum list - "Extended" layout (layout #1) | Screenshot #1
115
2. Forum list - "Simplified" layout (layout #2) | Screenshot #2
116
3. Forum list - "Question & Answer" layout (layout #3) | Screenshot #3
117
+ 4. Forum Topic list - "Extended" layout | Screenshot #4
118
+ 5. Forum Topic list - "Simplified" layout | Screenshot #5
119
+ 6. Forum Topic list - "Question & Answer" layout | Screenshot #6
120
+ 7. Forum Post list - "Extended" layout | Screenshot #7
121
+ 8. Forum Post list - "Simplified" layout | Screenshot #8
122
+ 9. Forum Post list - "Question & Answer" | Screenshot #9
123
10. Forum Profile Page - integrated with Shop and Profile plugins | Screenshot #10
124
11. Forum Member List | Screenshot #11
125
+ 12. Dashboard > Forums - Drag and Drop forum management system. Easy to set Parent-Child relationship and forum order. | Screenshot #12
126
+ 13. Dashboard > Forums - General Settings | Screenshot #13
127
+ 14. Dashboard > Forums - Members Settings | Screenshot #14
128
+ 15. Dashboard > Forums - Forum Styles, Colors | Screenshot #15
129
+ 16. Dashboard > Forums - Forum Accesses / Can's | Screenshot #16
130
131
132
== Changelog ==
133
134
+ = 1.4.1 | 12.10.2017 =
135
+
136
+ [wpForo v1.4.1 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-1-is-released/)
137
+
138
+ * Added: Bold titles when Forum and Topic is not visited/read
139
+ * Added: Option to enable/disable forum RSS Feed
140
+ * Added: Option to enable/disable WP to wpForo forum reset pass URL
141
+ * Fixed Bug: Guests permission to view forum users avatar is disabled
142
+ * Fixed Bug: Unable to change forum user Email and Display Name
143
+ * Fixed Bug: Forum search form problem, empty forum field on some servers
144
+ * Fixed Bug: Forum widget avatar doesn't reflect view avatar permission
145
+
146
+
147
+ NOTE: IF YOU UPDATE FROM 1.4.0
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.
152
+
153
+ NOTE: IF YOU UPDATE FROM OLDER VERSIONS
154
+
155
+ - 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.
156
+ - If you see style issues after update, please refresh forum page twice or do Ctrl+F5 on forum front-end to load new styles.
157
+ - If you have wpForo addons, please update them right after wpForo forum update. Don't update them before wpForo forum update.
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/)
164
165
+ * Added: Advanced forum user profile system,
166
+ * Added: Redesigned forum profile home and account settings page
167
+ * Added: Forum Topic and Post front-end moderation (approve/unapprove),
168
+ * Added: User search and filter options for Forum Member search form,
169
+ * Added: Paste as text button on forum topic/post editor toolbar,
170
* Added: SEO friendly H1 tags for forum and topic titles,
171
* Added: wpForo SEO Open Graph - Image Information for FB share,
172
* Added: General RSS Feed for Forums and Topics
173
* Added: Hide Add Topic button on click,
174
* Added: Forum Description in topic list (forum page),
175
+ * Added: Option to change default forum User Title for new registered users,
176
+ * Added: Option to change default forum Usergroup for new registered users,
177
* Added: Option to select Forum Access when creating a new Usergroup,
178
* Added: Website language depended cache, language path issue with cached URLs,
179
* Added: More speed with new intuitive caching and cache deleting functions,
180
* Added: Boost database speed, new indexes for fresh installation,
181
* Added: Make profile links nofollow when profile page indexing is disabled,
182
+ * Added: Spanish Translation (es_ES), many thanks to Ignacio Sancho[(ISANlab)](https://www.isanlab.com/)
183
* Added: French Translation (fr_CA), many thanks to Alain Bergevin
184
* Added: Portuguese (Brazil) Translation (pt_BR), many thanks to Lucas Felix,
185
* Updated: German Translation (de_DE), many thanks to uve GmbH | Pascal Feiler,
186
* New Addon: [wpForo - User Custom Fields](https://gvectors.com/product/wpforo-user-custom-fields/)
187
* Fixed Bug: Filter and display subSite specific users on WP MultiSite,
188
+ * Fixed Bug: Incorrect counting of forum synchronized users,
189
+ * Fixed Bug: Forum Usergroup permission issue(unused CANs on profile page),
190
+ * Fixed Bug: Unapproved topics redirect to forum login page,
191
* Fixed Bug: Redirects to account edit page after registration is successfully,
192
* Fixed Bug: Pagination issue, gets request uri function, checks protocols,
193
* Fixed Bug: Warning: Invalid argument supplied in /wpforo.php on line 141,
194
* Fixed Bug: Backslash slashes in email title and content,
195
+ * Fixed Bug: Forum search result affects page layout and sidebar,
196
+ * Fixed Bug: Typos and wrong phrases n forum front-end,
197
* Fixed Bug: Not colored wide left border of menu items,
198
+ * Fixed Bug: Chrome support for wpForo forum Feed XML,
199
* Fixed Bug: Private forums on search form's forum list
200
* Fixed Bug: Dynamic colors issue when file writing permission is denied for colors.css
201
wpf-admin/options-tabs/features.php CHANGED
@@ -12,12 +12,14 @@ $options = array(
12
'top-bar-search' => array( 'label' => __('Show Top Search', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
13
'breadcrumb' => array( 'label' => __('Show Breadcrumb', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
14
'footer-stat' => array( 'label' => __('Show Forum Statistic', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
15
'author-link' => array( 'label' => __('Replace Author Link to Forum Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
16
'comment-author-link' => array( 'label' => __('Replace Comment Author Link to Forum Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
17
'user-register' => array( 'label' => __('Enable User Registration', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('This option is not synced with WordPress "Anyone can register" option in Dashboard > Settings > General admin page. If this option is enabled new users will always be able to register.', 'wpforo') ),
18
'user-register-email-confirm' => array( 'label' => __('Enable User Registration email confirmation', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0, 'description' => __('If you have enabled this option, after registering, user can not login without confirming the email.', 'wpforo') ),
19
'register-url' => array( 'label' => __('Replace Registration Page URL to Forum URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
20
'login-url' => array( 'label' => __('Replace Login Page URL to Forum URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
21
'replace-avatar' => array( 'label' => __('Replace Author Avatar with Forum Profile Avatar', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
22
'avatars' => array( 'label' => __('Enable Avatars', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
23
'custom-avatars' => array( 'label' => __('Enable Custom Avatars', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
@@ -31,6 +33,7 @@ $options = array(
31
'seo-title' => array( 'label' => __('Enable wpForo SEO for Meta Titles', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
32
'seo-meta' => array( 'label' => __('Enable wpForo SEO for Meta Tags', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
33
'seo-profile' => array( 'label' => __('Enable User Profile Page indexing', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
34
'font-awesome' => array( 'label' => __('Enable wpForo Font-Awesome Lib', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
35
'user-synch' => array( 'label' => __('Turn Off User Syncing Note', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
36
'output-buffer' => array( 'label' => __('Enable Output Buffer', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('This feature is useful if you\'re adding content before or after [wpforo] shortcode in page content. Also it useful if forum is loaded before website header, on top of the front-end.', 'wpforo')),
12
'top-bar-search' => array( 'label' => __('Show Top Search', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
13
'breadcrumb' => array( 'label' => __('Show Breadcrumb', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
14
'footer-stat' => array( 'label' => __('Show Forum Statistic', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
15
+ 'view-logging' => array( 'label' => __('Log Viewed Forums and Topics', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
16
'author-link' => array( 'label' => __('Replace Author Link to Forum Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
17
'comment-author-link' => array( 'label' => __('Replace Comment Author Link to Forum Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
18
'user-register' => array( 'label' => __('Enable User Registration', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('This option is not synced with WordPress "Anyone can register" option in Dashboard > Settings > General admin page. If this option is enabled new users will always be able to register.', 'wpforo') ),
19
'user-register-email-confirm' => array( 'label' => __('Enable User Registration email confirmation', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0, 'description' => __('If you have enabled this option, after registering, user can not login without confirming the email.', 'wpforo') ),
20
'register-url' => array( 'label' => __('Replace Registration Page URL to Forum URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
21
'login-url' => array( 'label' => __('Replace Login Page URL to Forum URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
22
+ 'resetpass-url' => array( 'label' => __('Replace WP Reset Password URL to Forum reset password page', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1 ),
23
'replace-avatar' => array( 'label' => __('Replace Author Avatar with Forum Profile Avatar', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
24
'avatars' => array( 'label' => __('Enable Avatars', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
25
'custom-avatars' => array( 'label' => __('Enable Custom Avatars', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
33
'seo-title' => array( 'label' => __('Enable wpForo SEO for Meta Titles', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
34
'seo-meta' => array( 'label' => __('Enable wpForo SEO for Meta Tags', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
35
'seo-profile' => array( 'label' => __('Enable User Profile Page indexing', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
36
+ 'rss-feed' => array( 'label' => __('Enable RSS Feed', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
37
'font-awesome' => array( 'label' => __('Enable wpForo Font-Awesome Lib', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
38
'user-synch' => array( 'label' => __('Turn Off User Syncing Note', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
39
'output-buffer' => array( 'label' => __('Enable Output Buffer', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('This feature is useful if you\'re adding content before or after [wpforo] shortcode in page content. Also it useful if forum is loaded before website header, on top of the front-end.', 'wpforo')),
wpf-includes/class-forums.php CHANGED
@@ -934,7 +934,7 @@ class wpForoForum{
934
}
935
foreach( $forums as $forum ){
936
if( isset($forum['level']) ) $forum['level'] = $forum['level'] - 2;
937
- $prefix = ( $forum['level'] == 0 ) ? '' : str_repeat( '-', $forum['level']);
938
echo '<option value="' . esc_attr( $forum['forumid'] ) . '"> ' . $prefix . '&nbsp;' . esc_html($forum['title']) . '</option>';
939
if( !empty($forum['children']) ){
940
$this->dropdown( $forum['children'] );
934
}
935
foreach( $forums as $forum ){
936
if( isset($forum['level']) ) $forum['level'] = $forum['level'] - 2;
937
+ $prefix = ( $forum['level'] == 0 ) ? '' : str_repeat( '&mdash;', $forum['level']);
938
echo '<option value="' . esc_attr( $forum['forumid'] ) . '"> ' . $prefix . '&nbsp;' . esc_html($forum['title']) . '</option>';
939
if( !empty($forum['children']) ){
940
$this->dropdown( $forum['children'] );
wpf-includes/class-members.php CHANGED
@@ -188,14 +188,13 @@ class wpForoMember{
188
array('%d')
189
);
190
191
- if( $result !== FALSE ){
192
- $user_info = get_userdata( $args['userid'] );
193
- $wp_user_data = array(
194
- 'ID' => $args['userid'],
195
- 'user_url' => ( isset($fields['site']) ? $fields['site'] : $user_info->user_url ),
196
- 'description' => ( isset($fields['about']) ? $fields['about'] : $user_info->description ),
197
- );
198
- wp_update_user( $wp_user_data );
199
}
200
201
return $result;
@@ -1359,6 +1358,9 @@ class wpForoMember{
1359
if ( $posts < $this->wpforo->tools_antispam['new_user_max_posts'] ) {
1360
return true;
1361
}
1362
}
1363
}
1364
188
array('%d')
189
);
190
191
+ if( $result !== FALSE && $userid ){
192
+ if(isset($fields['site'])){
193
+ $this->wpforo->db->query("UPDATE `" . $this->wpforo->db->prefix. "users` SET `user_url` = '" . esc_sql($fields['site']) . "' WHERE `ID` = " . intval($userid) );
194
+ }
195
+ if(isset($fields['about'])){
196
+ update_user_meta( $userid, 'description', $fields['about'] );
197
+ }
198
}
199
200
return $result;
1358
if ( $posts < $this->wpforo->tools_antispam['new_user_max_posts'] ) {
1359
return true;
1360
}
1361
+ else{
1362
+ return false;
1363
+ }
1364
}
1365
}
1366
wpf-includes/class-permissions.php CHANGED
@@ -188,7 +188,7 @@ class wpForoPermissions{
188
$groupid = $this->wpforo->current_user_groupid;
189
}
190
191
- if( $forum = wpforo_forum($forumid) ){
192
$permissions = unserialize($forum['permissions']);
193
if( isset($permissions[$groupid]) ){
194
$access = $permissions[$groupid];
188
$groupid = $this->wpforo->current_user_groupid;
189
}
190
191
+ if( $forum = $this->wpforo->forum->get_forum($forumid) ){
192
$permissions = unserialize($forum['permissions']);
193
if( isset($permissions[$groupid]) ){
194
$access = $permissions[$groupid];
wpf-includes/class-template.php CHANGED
@@ -1638,9 +1638,11 @@ class wpForoTemplate{
1638
1639
switch ($type){
1640
case 'file':
1641
- $wp_upload_dir = wp_upload_dir();
1642
- $value = $wp_upload_dir['baseurl'] . "/" . trim($value, '/');
1643
- $field_wrap_html .= '<br/>' . sprintf('<a href="%s">%s</a>', $value, basename($value));
1644
break;
1645
}
1646
@@ -1675,9 +1677,11 @@ class wpForoTemplate{
1675
$value = sprintf('<a href="tel:%s">%s</a>', $value, $value);
1676
break;
1677
case 'file':
1678
- $wp_upload_dir = wp_upload_dir();
1679
- $value = $wp_upload_dir['baseurl'] . "/" . trim($value, '/');
1680
- $value = sprintf('<a href="%s">%s</a>', $value, basename($value));
1681
break;
1682
}
1683
1638
1639
switch ($type){
1640
case 'file':
1641
+ if( !empty($value) ) {
1642
+ $wp_upload_dir = wp_upload_dir();
1643
+ $value = $wp_upload_dir['baseurl'] . "/" . trim($value, '/');
1644
+ $field_wrap_html .= '<br/>' . sprintf('<a href="%s" target="_blank">%s</a>', $value, basename($value));
1645
+ }
1646
break;
1647
}
1648
1677
$value = sprintf('<a href="tel:%s">%s</a>', $value, $value);
1678
break;
1679
case 'file':
1680
+ if( !empty($value) ){
1681
+ $wp_upload_dir = wp_upload_dir();
1682
+ $value = $wp_upload_dir['baseurl'] . "/" . trim($value, '/');
1683
+ $value = sprintf('<a href="%s" target="_blank">%s</a>', $value, basename($value));
1684
+ }
1685
break;
1686
}
1687
wpf-includes/class-usergroups.php CHANGED
@@ -219,18 +219,18 @@ class wpForoUsergroup{
219
return $usergroup;
220
}
221
222
- function get_usergroups( $type = 'full' ){
223
- if( $type == 'full' ){
224
- return $this->wpforo->db->get_results("SELECT * FROM `".$this->wpforo->db->prefix."wpforo_usergroups`", ARRAY_A);
225
- }
226
- elseif( $type == 'groupid' ){
227
- $groupids = $this->wpforo->db->get_col("SELECT `groupid` FROM `".$this->wpforo->db->prefix."wpforo_usergroups`");
228
- return $groupids;
229
- }
230
- elseif( $type == 'name' ){
231
- $names = $this->wpforo->db->get_col("SELECT `name` FROM `".$this->wpforo->db->prefix."wpforo_usergroups`");
232
- return $names;
233
}
234
}
235
236
function get_groupid_by_userid( $userid ){
219
return $usergroup;
220
}
221
222
+ function get_usergroups( $field = 'full' ){
223
+ $cache = $this->wpforo->cache->on('memory_cashe');
224
+ if( $cache && isset(self::$cache['usergroups'][$field]) ) return self::$cache['usergroups'][$field];
225
+
226
+ if( $field == 'full' ){
227
+ $results = $this->wpforo->db->get_results("SELECT * FROM `".$this->wpforo->db->prefix."wpforo_usergroups`", ARRAY_A);
228
+ }else{
229
+ $results = $this->wpforo->db->get_col("SELECT `$field` FROM `".$this->wpforo->db->prefix."wpforo_usergroups`");
230
}
231
+
232
+ if( $cache ) self::$cache['usergroups'][$field] = $results;
233
+ return $results;
234
}
235
236
function get_groupid_by_userid( $userid ){
wpf-includes/functions-installation.php CHANGED
@@ -305,6 +305,7 @@ function wpforo_activation(){
305
if( !empty($default) ){
306
$data_update = array_merge($default, $current);
307
if( !empty($data_update) ){
308
$data_update = serialize($data_update);
309
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_usergroups` SET `cans` = '" . $wpforo->db->_real_escape($data_update) . "' WHERE `groupid` = " . intval($usergroup['groupid']) );
310
}
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.1' ) $data_update['va'] = 1;
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
}
wpf-includes/functions-template.php CHANGED
@@ -410,6 +410,8 @@ class wpForo_Widget_recent_topics extends WP_Widget {
410
'row_count' => $instance['count'] // 4 or 1 ...
411
);
412
$topics = $wpforo->topic->get_topics_filtered($topic_args);
413
echo '<div class="wpforo-widget-content"><ul>';
414
foreach( $topics as $topic ){
415
$topic_url = wpforo_topic($topic['topicid'], 'url');
@@ -418,10 +420,12 @@ class wpForo_Widget_recent_topics extends WP_Widget {
418
<li>
419
<div class="wpforo-list-item">
420
<?php if( $instance['display_avatar'] ): ?>
421
- <div class="wpforo-list-item-left">
422
- <?php echo $wpforo->member->get_avatar( $topic['userid']); ?>
423
- </div>
424
- <?php endif; ?>
425
<div class="wpforo-list-item-right" <?php if( !$instance['display_avatar'] ): ?> style="width:100%"<?php endif; ?>>
426
<p class="posttitle"><a href="<?php echo esc_url($topic_url) ?>"><?php echo esc_html($topic['title']) ?></a></p>
427
<p class="postuser"><?php wpforo_phrase('by') ?> <?php wpforo_member_link($member) ?>, <span style="white-space:nowrap;"><?php esc_html(wpforo_date($topic['created'])) ?></span></p>
@@ -486,6 +490,8 @@ class wpForo_Widget_recent_replies extends WP_Widget {
486
'check_private' => true
487
);
488
$recent_posts = $wpforo->post->get_posts_filtered($posts_args);
489
echo '<div class="wpforo-widget-content"><ul>';
490
foreach( $recent_posts as $post ){
491
$post_url = wpforo_post( $post['postid'], 'url' );
@@ -494,9 +500,11 @@ class wpForo_Widget_recent_replies extends WP_Widget {
494
<li>
495
<div class="wpforo-list-item">
496
<?php if( $instance['display_avatar'] ): ?>
497
- <div class="wpforo-list-item-left">
498
- <?php echo $wpforo->member->get_avatar( $post['userid']); ?>
499
- </div>
500
<?php endif; ?>
501
<div class="wpforo-list-item-right" <?php if( !$instance['display_avatar'] ): ?> style="width:100%"<?php endif; ?>>
502
<p class="posttitle"><a href="<?php echo esc_url($post_url) ?>"><?php echo esc_html($post['title']) ?></a></p>
@@ -1167,4 +1175,23 @@ function wpforo_search_fields(){
1167
}
1168
1169
return $fields;
1170
}
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');
414
+ $is_avatar = wpforo_feature('avatars', $wpforo);
415
echo '<div class="wpforo-widget-content"><ul>';
416
foreach( $topics as $topic ){
417
$topic_url = wpforo_topic($topic['topicid'], 'url');
420
<li>
421
<div class="wpforo-list-item">
422
<?php if( $instance['display_avatar'] ): ?>
423
+ <?php if( $ug_can_va && $is_avatar ): ?>
424
+ <div class="wpforo-list-item-left">
425
+ <?php echo $wpforo->member->get_avatar( $topic['userid']); ?>
426
+ </div>
427
+ <?php endif; ?>
428
+ <?php endif; ?>
429
<div class="wpforo-list-item-right" <?php if( !$instance['display_avatar'] ): ?> style="width:100%"<?php endif; ?>>
430
<p class="posttitle"><a href="<?php echo esc_url($topic_url) ?>"><?php echo esc_html($topic['title']) ?></a></p>
431
<p class="postuser"><?php wpforo_phrase('by') ?> <?php wpforo_member_link($member) ?>, <span style="white-space:nowrap;"><?php esc_html(wpforo_date($topic['created'])) ?></span></p>
490
'check_private' => true
491
);
492
$recent_posts = $wpforo->post->get_posts_filtered($posts_args);
493
+ $ug_can_va = $wpforo->perm->usergroup_can('va');
494
+ $is_avatar = wpforo_feature('avatars', $wpforo);
495
echo '<div class="wpforo-widget-content"><ul>';
496
foreach( $recent_posts as $post ){
497
$post_url = wpforo_post( $post['postid'], 'url' );
500
<li>
501
<div class="wpforo-list-item">
502
<?php if( $instance['display_avatar'] ): ?>
503
+ <?php if( $ug_can_va && $is_avatar ): ?>
504
+ <div class="wpforo-list-item-left">
505
+ <?php echo $wpforo->member->get_avatar( $post['userid']); ?>
506
+ </div>
507
+ <?php endif; ?>
508
<?php endif; ?>
509
<div class="wpforo-list-item-right" <?php if( !$instance['display_avatar'] ): ?> style="width:100%"<?php endif; ?>>
510
<p class="posttitle"><a href="<?php echo esc_url($post_url) ?>"><?php echo esc_html($post['title']) ?></a></p>
1175
}
1176
1177
return $fields;
1178
+ }
1179
+
1180
+
1181
+ function wpforo_unread_forum( $logid, $return = 'class', $echo = true ){
1182
+ $unread = false;
1183
+ if(!wpforo_feature('view-logging')) return;
1184
+ $viwed_ids = wpforo_getcookie( 'wpf_viewed_forums', true );
1185
+ if( empty($viwed_ids) ) $unread = true;
1186
+ if( is_array($viwed_ids) && !in_array( $logid, $viwed_ids ) ) $unread = true;
1187
+ if( $unread ){ if( $return == 'class' ){ $log = 'wpf_forum_unread'; } else{ $log = true; } if( $echo ){ echo $log; } else { return $log; } }
1188
+ }
1189
+
1190
+ function wpforo_unread_topic( $logid, $return = 'class', $echo = true ){
1191
+ $unread = false;
1192
+ if(!wpforo_feature('view-logging')) return;
1193
+ $viwed_ids = wpforo_getcookie( 'wpf_viewed_topics', 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
}
wpf-includes/functions.php CHANGED
@@ -887,16 +887,44 @@ function wpforo_nofollow($match){
887
return $link;
888
}
889
890
- add_action('wpforo_bottom_hook', 'wpforo_page_logging');
891
- function wpforo_page_logging(){
892
global $wpforo;
893
$data = $wpforo->current_object;
894
-
895
if( $data['template'] == 'post' && isset($data['topicid']) && $data['topicid'] ){
896
-
897
$current_user_id = get_current_user_id();
898
$current_time = current_time( 'timestamp', 1 );
899
-
900
if( $current_user_id ){
901
//registered user
902
$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);
@@ -911,32 +939,37 @@ function wpforo_page_logging(){
911
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
912
}
913
}
914
- }else{
915
- //Guest user
916
- $viwed_topics_arr = wpforo_getcookie( 'wpforo_view_topics' );
917
- if( !in_array( $data['topicid'] , (array)$viwed_topics_arr ) ){
918
- $wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
919
- $viwed_topics_arr[] = $data['topicid'];
920
- $args['topics'] = $viwed_topics_arr;
921
- wpforo_setcookie( 'wpforo_view_topics' , $args );
922
- }
923
}
924
}
925
}
926
927
- add_action( 'init', 'wpforo_setcookie' );
928
- function wpforo_setcookie( $mode = '', $args = array() ) {
929
- if( $mode == 'wpforo_view_topics' && $args['topics']){
930
- $args['topics'] = trim( implode( '|', $args['topics'] ), '|' );
931
- @setcookie( 'wpforo_view_topics', $args['topics'] , time() + 86400, COOKIEPATH, COOKIE_DOMAIN );
932
}
933
}
934
935
add_action( 'wp_head', 'wpforo_getcookie' );
936
- function wpforo_getcookie( $mode ) {
937
- if( $mode == 'wpforo_view_topics' ){
938
- if( isset($_COOKIE['wpforo_view_topics']) && $_COOKIE['wpforo_view_topics'] ){
939
- return explode('|', $_COOKIE['wpforo_view_topics']);
940
}else{
941
return FALSE;
942
}
887
return $link;
888
}
889
890
+ add_action('wp_loaded', 'wpforo_cookie_logs', 10);
891
+
892
+ function wpforo_cookie_logs(){
893
+ global $wpforo;
894
+ if(!wpforo_feature('view-logging', $wpforo)) return;
895
+ $key = ''; $logid = 0; $log = false;
896
+ $data = $wpforo->current_object;
897
+ if( $data['template'] == 'post' && isset($data['topicid']) && $data['topicid'] ){
898
+ $logid = $data['topicid'];
899
+ $key = 'wpf_viewed_topics';
900
+ }
901
+ elseif( $data['template'] == 'topic' && isset($data['forumid']) && $data['forumid'] ){
902
+ $logid = $data['forumid'];
903
+ $key = 'wpf_viewed_forums';
904
+ }
905
+ if( $logid && $key ) {
906
+ $viwed_ids = wpforo_getcookie( $key, true );
907
+ if( !$viwed_ids ){
908
+ $log = true;
909
+ $viwed_ids = array( $logid );
910
+ }
911
+ elseif( is_array($viwed_ids) && !in_array( $logid , $viwed_ids ) ){
912
+ $log = true;
913
+ $viwed_ids[] = $logid;
914
+ }
915
+ if( $log ){
916
+ wpforo_setcookie( $key, $viwed_ids, true );
917
+ }
918
+ }
919
+ }
920
+
921
+ add_action('wpforo_bottom_hook', 'wpforo_user_logging');
922
+ function wpforo_user_logging(){
923
global $wpforo;
924
$data = $wpforo->current_object;
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
if( $current_user_id ){
929
//registered user
930
$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
$wpforo->db->query("UPDATE `".$wpforo->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
940
}
941
}
942
}
943
}
944
}
945
946
+
947
+ add_action( 'init', 'wpforo_setcookie', 10, 2);
948
+
949
+ function wpforo_setcookie( $key = '', $args = array(), $implode = false ) {
950
+ if( !empty($args) && is_array($args) && $implode ) {
951
+ $num = count($args);
952
+ if( $num > 200 ){ $delta = $num - 200; if( $delta > 0 ) $args = array_slice($args, $delta); }
953
+ $value = trim( implode( ',', $args ), ',' );
954
+ }
955
+ elseif( !empty($args) && is_array($args) && !$implode ){
956
+ $value = serialize($args);
957
+ }
958
+ if( $key && $value ){
959
+ @setcookie( $key, $value , time() + 7776000, COOKIEPATH, COOKIE_DOMAIN );
960
}
961
}
962
963
add_action( 'wp_head', 'wpforo_getcookie' );
964
+ function wpforo_getcookie( $key = '', $explode = false ) {
965
+ if( $key ){
966
+ if( isset($_COOKIE[$key]) && $_COOKIE[$key] ){
967
+ if($explode){
968
+ return explode(',', $_COOKIE[$key]);
969
+ }
970
+ else{
971
+ return $_COOKIE[$key];
972
+ }
973
}else{
974
return FALSE;
975
}
wpf-includes/install-sql.php CHANGED
@@ -31,6 +31,8 @@
31
`order` INT UNSIGNED NOT NULL DEFAULT 0,
32
PRIMARY KEY (`forumid`),
33
UNIQUE KEY `UNIQUE SLUG` (`slug`(191)),
34
KEY `parentid` (`parentid`),
35
KEY `is_cat` (`is_cat`)
36
) ENGINE=MyISAM $charset_collate;",
@@ -62,6 +64,8 @@
62
FULLTEXT KEY `title` (`title`),
63
KEY `forumid` (`forumid`),
64
KEY `first_postid` (`first_postid`),
65
KEY `type` (`type`),
66
KEY `status` (`status`),
67
KEY `email` (`email`),
31
`order` INT UNSIGNED NOT NULL DEFAULT 0,
32
PRIMARY KEY (`forumid`),
33
UNIQUE KEY `UNIQUE SLUG` (`slug`(191)),
34
+ KEY `order` (`order`),
35
+ KEY `status` (`status`),
36
KEY `parentid` (`parentid`),
37
KEY `is_cat` (`is_cat`)
38
) ENGINE=MyISAM $charset_collate;",
64
FULLTEXT KEY `title` (`title`),
65
KEY `forumid` (`forumid`),
66
KEY `first_postid` (`first_postid`),
67
+ KEY `created` (`created`),
68
+ KEY `modified` (`modified`),
69
KEY `type` (`type`),
70
KEY `status` (`status`),
71
KEY `email` (`email`),
wpf-includes/wpf-hooks.php CHANGED
@@ -1785,7 +1785,7 @@ function wpforo_redirect_to_custom_lostpassword() {
1785
exit;
1786
}
1787
}
1788
- add_action('login_form_lostpassword', 'wpforo_redirect_to_custom_lostpassword');
1789
1790
function wpforo_redirect_to_custom_password_reset(){
1791
if ( 'GET' == $_SERVER['REQUEST_METHOD'] ) {
@@ -1808,8 +1808,8 @@ function wpforo_redirect_to_custom_password_reset(){
1808
exit;
1809
}
1810
}
1811
- add_action( 'login_form_rp', 'wpforo_redirect_to_custom_password_reset' );
1812
- add_action( 'login_form_resetpass', 'wpforo_redirect_to_custom_password_reset' );
1813
1814
function wpforo_do_lostpass(){
1815
if( isset($_POST['user_login']) && $_POST['user_login'] ){
@@ -1830,7 +1830,7 @@ function wpforo_do_lostpass(){
1830
exit();
1831
}
1832
}
1833
- add_action('login_form_lostpassword', 'wpforo_do_lostpass');
1834
1835
function wpforo_do_password_reset() {
1836
if ( 'POST' == $_SERVER['REQUEST_METHOD'] ) {
@@ -1887,15 +1887,18 @@ function wpforo_do_password_reset() {
1887
1888
}
1889
}
1890
- add_action( 'login_form_rp', 'wpforo_do_password_reset' );
1891
- add_action( 'login_form_resetpass', 'wpforo_do_password_reset' );
1892
1893
function wpforo_replace_retrieve_password_message( $message, $key, $user_login, $user_data ) {
1894
global $wpforo;
1895
- $reset_password_url = wpforo_home_url( '?wpforo=resetpassword&rp_key='.esc_attr( $key ).'&rp_login='.esc_attr( $user_login ) );
1896
- if( empty($wpforo->sbscrb->options['reset_password_email_message']) ) return preg_replace('#<?http[^\r\n\t\s]+wp-login\.php[^\r\n\t\s]+#isu', "<$reset_password_url>", $message);
1897
-
1898
- // Create new message
1899
- return str_replace(array('[user_login]', '[reset_password_url]'), array($user_login, "<$reset_password_url>"), $wpforo->sbscrb->options['reset_password_email_message']);
1900
}
1901
- add_filter( 'retrieve_password_message', 'wpforo_replace_retrieve_password_message', 10, 4 );
1785
exit;
1786
}
1787
}
1788
+ //add_action('login_form_lostpassword', 'wpforo_redirect_to_custom_lostpassword');
1789
1790
function wpforo_redirect_to_custom_password_reset(){
1791
if ( 'GET' == $_SERVER['REQUEST_METHOD'] ) {
1808
exit;
1809
}
1810
}
1811
+ //add_action( 'login_form_rp', 'wpforo_redirect_to_custom_password_reset' );
1812
+ //add_action( 'login_form_resetpass', 'wpforo_redirect_to_custom_password_reset' );
1813
1814
function wpforo_do_lostpass(){
1815
if( isset($_POST['user_login']) && $_POST['user_login'] ){
1830
exit();
1831
}
1832
}
1833
+ //add_action('login_form_lostpassword', 'wpforo_do_lostpass');
1834
1835
function wpforo_do_password_reset() {
1836
if ( 'POST' == $_SERVER['REQUEST_METHOD'] ) {
1887
1888
}
1889
}
1890
+ //add_action( 'login_form_rp', 'wpforo_do_password_reset' );
1891
+ //add_action( 'login_form_resetpass', 'wpforo_do_password_reset' );
1892
1893
function wpforo_replace_retrieve_password_message( $message, $key, $user_login, $user_data ) {
1894
global $wpforo;
1895
+ if( wpforo_feature('resetpass-url') ){
1896
+ $reset_password_url = wpforo_home_url( '?wpforo=resetpassword&rp_key='.esc_attr( $key ).'&rp_login='.esc_attr( $user_login ) );
1897
+ if( empty($wpforo->sbscrb->options['reset_password_email_message']) ) return preg_replace('#<?http[^\r\n\t\s]+wp-login\.php[^\r\n\t\s]+#isu', "<$reset_password_url>", $message);
1898
+ return str_replace(array('[user_login]', '[reset_password_url]'), array($user_login, "<$reset_password_url>"), $wpforo->sbscrb->options['reset_password_email_message']);
1899
+ }
1900
+ else{
1901
+ return $message;
1902
+ }
1903
}
1904
+ //add_filter( 'retrieve_password_message', 'wpforo_replace_retrieve_password_message', 10, 4 );
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-08 16:26+0400\n"
9
"PO-Revision-Date: 2016-06-28 21:09+0400\n"
10
"Last-Translator: \n"
11
"Language-Team: \n"
@@ -516,14 +516,14 @@ msgid ""
516
msgstr ""
517
518
#: wpf-admin/options-tabs/emails.php:34 wpf-admin/options-tabs/emails.php:46
519
- #: wpf-admin/options-tabs/features.php:60 wpf-admin/tools-tabs/antispam.php:31
520
#: wpf-admin/tools-tabs/antispam.php:40 wpf-admin/tools-tabs/antispam.php:49
521
#: wpf-admin/tools-tabs/cleanup.php:39 wpf-includes/wpf-phrases.php:367
522
msgid "Yes"
523
msgstr ""
524
525
#: wpf-admin/options-tabs/emails.php:35 wpf-admin/options-tabs/emails.php:47
526
- #: wpf-admin/options-tabs/features.php:61 wpf-admin/tools-tabs/antispam.php:32
527
#: wpf-admin/tools-tabs/antispam.php:41 wpf-admin/tools-tabs/antispam.php:50
528
#: wpf-admin/tools-tabs/cleanup.php:40 wpf-includes/wpf-phrases.php:197
529
msgid "No"
@@ -595,7 +595,7 @@ msgstr ""
595
msgid "Reset Password message body"
596
msgstr ""
597
598
- #: wpf-admin/options-tabs/emails.php:109 wpf-admin/options-tabs/features.php:71
599
#: wpf-admin/options-tabs/forums.php:16 wpf-admin/options-tabs/general.php:82
600
#: wpf-admin/options-tabs/members.php:143 wpf-admin/options-tabs/posts.php:67
601
#: wpf-admin/options-tabs/styles.php:93 wpf-admin/tools-tabs/antispam.php:180
@@ -631,178 +631,190 @@ msgstr ""
631
msgid "Show Forum Statistic"
632
msgstr ""
633
634
- #: wpf-admin/options-tabs/features.php:15 wpf-includes/wpf-phrases.php:258
635
msgid "Replace Author Link to Forum Profile"
636
msgstr ""
637
638
- #: wpf-admin/options-tabs/features.php:16 wpf-includes/wpf-phrases.php:259
639
msgid "Replace Comment Author Link to Forum Profile"
640
msgstr ""
641
642
- #: wpf-admin/options-tabs/features.php:17 wpf-includes/wpf-phrases.php:633
643
msgid "Enable User Registration"
644
msgstr ""
645
646
- #: wpf-admin/options-tabs/features.php:17 wpf-includes/wpf-phrases.php:634
647
msgid ""
648
"This option is not synced with WordPress \"Anyone can register\" option in "
649
"Dashboard > Settings > General admin page. If this option is enabled new "
650
"users will always be able to register."
651
msgstr ""
652
653
- #: wpf-admin/options-tabs/features.php:18
654
msgid "Enable User Registration email confirmation"
655
msgstr ""
656
657
- #: wpf-admin/options-tabs/features.php:18
658
msgid ""
659
"If you have enabled this option, after registering, user can not login "
660
"without confirming the email."
661
msgstr ""
662
663
- #: wpf-admin/options-tabs/features.php:19 wpf-includes/wpf-phrases.php:261
664
msgid "Replace Registration Page URL to Forum URL"
665
msgstr ""
666
667
- #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:260
668
msgid "Replace Login Page URL to Forum URL"
669
msgstr ""
670
671
- #: wpf-admin/options-tabs/features.php:21 wpf-includes/wpf-phrases.php:257
672
msgid "Replace Author Avatar with Forum Profile Avatar"
673
msgstr ""
674
675
- #: wpf-admin/options-tabs/features.php:22 wpf-includes/wpf-phrases.php:77
676
msgid "Enable Avatars"
677
msgstr ""
678
679
- #: wpf-admin/options-tabs/features.php:23 wpf-includes/wpf-phrases.php:78
680
msgid "Enable Custom Avatars"
681
msgstr ""
682
683
- #: wpf-admin/options-tabs/features.php:24 wpf-includes/wpf-phrases.php:31
684
msgid "Allow Member Signature"
685
msgstr ""
686
687
- #: wpf-admin/options-tabs/features.php:25 wpf-includes/wpf-phrases.php:80
688
msgid "Enable Member Rating"
689
msgstr ""
690
691
- #: wpf-admin/options-tabs/features.php:26 wpf-includes/wpf-phrases.php:81
692
msgid "Enable Member Rating Titles"
693
msgstr ""
694
695
- #: wpf-admin/options-tabs/features.php:27 wpf-includes/wpf-phrases.php:79
696
msgid "Enable Member Cache"
697
msgstr ""
698
699
- #: wpf-admin/options-tabs/features.php:28
700
msgid "Enable Object Cache"
701
msgstr ""
702
703
- #: wpf-admin/options-tabs/features.php:29
704
msgid "Enable HTML Cache"
705
msgstr ""
706
707
- #: wpf-admin/options-tabs/features.php:30
708
msgid "Enable Memory Cache"
709
msgstr ""
710
711
- #: wpf-admin/options-tabs/features.php:31 wpf-includes/wpf-phrases.php:84
712
msgid "Enable wpForo SEO for Meta Titles"
713
msgstr ""
714
715
- #: wpf-admin/options-tabs/features.php:32 wpf-includes/wpf-phrases.php:83
716
msgid "Enable wpForo SEO for Meta Tags"
717
msgstr ""
718
719
- #: wpf-admin/options-tabs/features.php:33
720
msgid "Enable User Profile Page indexing"
721
msgstr ""
722
723
- #: wpf-admin/options-tabs/features.php:34 wpf-includes/wpf-phrases.php:82
724
msgid "Enable wpForo Font-Awesome Lib"
725
msgstr ""
726
727
- #: wpf-admin/options-tabs/features.php:35
728
msgid "Turn Off User Syncing Note"
729
msgstr ""
730
731
- #: wpf-admin/options-tabs/features.php:36 wpf-includes/wpf-phrases.php:85
732
msgid "Enable Output Buffer"
733
msgstr ""
734
735
- #: wpf-admin/options-tabs/features.php:36 wpf-includes/wpf-phrases.php:331
736
msgid ""
737
"This feature is useful if you're adding content before or after [wpforo] "
738
"shortcode in page content. Also it useful if forum is loaded before website "
739
"header, on top of the front-end."
740
msgstr ""
741
742
- #: wpf-admin/options-tabs/features.php:37
743
msgid "Enable WordPress Date/Time Format"
744
msgstr ""
745
746
- #: wpf-admin/options-tabs/features.php:37 wpf-includes/wpf-phrases.php:598
747
msgid ""
748
"You can manage WordPress date and time format in WordPress Settings > "
749
"General admin page."
750
msgstr ""
751
752
- #: wpf-admin/options-tabs/features.php:38 wpf-includes/wpf-phrases.php:609
753
msgid "Enable Subscription Confirmation"
754
msgstr ""
755
756
- #: wpf-admin/options-tabs/features.php:38 wpf-includes/wpf-phrases.php:610
757
msgid "Forum and Topic subscription with double opt-in/confirmation system."
758
msgstr ""
759
760
- #: wpf-admin/options-tabs/features.php:39
761
msgid "Topic subscription option on post editor"
762
msgstr ""
763
764
- #: wpf-admin/options-tabs/features.php:39
765
msgid ""
766
"This option adds topic subscription checkbox next to new topic and post "
767
"submit button."
768
msgstr ""
769
770
- #: wpf-admin/options-tabs/features.php:40
771
msgid "Topic subscription option on post editor - checked/enabled"
772
msgstr ""
773
774
- #: wpf-admin/options-tabs/features.php:40
775
msgid ""
776
"Enable this option if you want the topic subscription checkbox to be checked "
777
"by default."
778
msgstr ""
779
780
- #: wpf-admin/options-tabs/features.php:41 wpf-includes/wpf-phrases.php:637
781
msgid "Insert Forum Attachments to Media Library"
782
msgstr ""
783
784
- #: wpf-admin/options-tabs/features.php:41 wpf-includes/wpf-phrases.php:638
785
msgid ""
786
"Enable this option to be able manage forum attachments in Dashboard > Media "
787
"> Library admin page."
788
msgstr ""
789
790
- #: wpf-admin/options-tabs/features.php:42 wpf-includes/wpf-phrases.php:602
791
msgid "Enable Debug Mode"
792
msgstr ""
793
794
- #: wpf-admin/options-tabs/features.php:42 wpf-includes/wpf-phrases.php:603
795
msgid ""
796
"If you got some issue with wpForo, please enable this option before asking "
797
"for support, this outputs hidden important information to help us debug your "
798
"issue."
799
msgstr ""
800
801
- #: wpf-admin/options-tabs/features.php:43 wpf-includes/wpf-phrases.php:134
802
msgid "Help wpForo to grow, show plugin info"
803
msgstr ""
804
805
- #: wpf-admin/options-tabs/features.php:43 wpf-includes/wpf-phrases.php:227
806
msgid ""
807
"Please enable this option to help wpForo get more popularity as your thank "
808
"to the hard work we do for you totally free. This option adds a very small "
@@ -1485,53 +1497,53 @@ msgstr ""
1485
msgid "Add a new Forum in this Category"
1486
msgstr ""
1487
1488
- #: wpf-includes/class-members.php:236
1489
msgid "<strong>ERROR</strong>: Please enter a username."
1490
msgstr ""
1491
1492
- #: wpf-includes/class-members.php:240
1493
msgid ""
1494
"<strong>ERROR</strong>: This username is invalid because it uses illegal "
1495
"characters. Please enter a valid username."
1496
msgstr ""
1497
1498
- #: wpf-includes/class-members.php:249
1499
msgid ""
1500
"<strong>ERROR</strong>: This username is already registered. Please choose "
1501
"another one."
1502
msgstr ""
1503
1504
- #: wpf-includes/class-members.php:253
1505
msgid "<strong>ERROR</strong>: Sorry, that username is not allowed."
1506
msgstr ""
1507
1508
- #: wpf-includes/class-members.php:257
1509
msgid "<strong>ERROR</strong>: Please type your email address."
1510
msgstr ""
1511
1512
- #: wpf-includes/class-members.php:261
1513
msgid "<strong>ERROR</strong>: The email address isn&#8217;t correct."
1514
msgstr ""
1515
1516
- #: wpf-includes/class-members.php:266
1517
msgid ""
1518
"<strong>ERROR</strong>: This email is already registered, please choose "
1519
"another one."
1520
msgstr ""
1521
1522
- #: wpf-includes/class-members.php:1296
1523
msgid "What should be done with wpForo content owned by this user?"
1524
msgstr ""
1525
1526
- #: wpf-includes/class-members.php:1298
1527
msgid "What should be done with wpForo content owned by these users?"
1528
msgstr ""
1529
1530
- #: wpf-includes/class-members.php:1302
1531
msgid "Delete all wpForo content."
1532
msgstr ""
1533
1534
- #: wpf-includes/class-members.php:1304
1535
msgid "Attribute all content to:"
1536
msgstr ""
1537
@@ -1596,31 +1608,31 @@ msgstr ""
1596
msgid "Theme file not readable"
1597
msgstr ""
1598
1599
- #: wpf-includes/functions-installation.php:577
1600
msgid "Start Profile Synchronization"
1601
msgstr ""
1602
1603
- #: wpf-includes/functions-installation.php:577
1604
msgid "Continue Synchronization"
1605
msgstr ""
1606
1607
- #: wpf-includes/functions-installation.php:580
1608
msgid ""
1609
"This process may take a few seconds or dozens of minutes, please be patient "
1610
"and don't close this page."
1611
msgstr ""
1612
1613
- #: wpf-includes/functions-installation.php:581
1614
msgid ""
1615
"You can permanently disable this message in Dashboard > Forums > Features "
1616
"admin page."
1617
msgstr ""
1618
1619
- #: wpf-includes/functions-installation.php:583
1620
msgid "wpForo Forum Installation | "
1621
msgstr ""
1622
1623
- #: wpf-includes/functions-installation.php:584
1624
msgid ""
1625
"Forum users' profile data are not synchronized yet, this step is required! "
1626
"Please click the button below to complete installation."
@@ -1643,15 +1655,15 @@ msgstr ""
1643
#: wpf-includes/functions-template.php:199
1644
#: wpf-includes/functions-template.php:306
1645
#: wpf-includes/functions-template.php:369
1646
- #: wpf-includes/functions-template.php:444
1647
- #: wpf-includes/functions-template.php:521
1648
- #: wpf-includes/functions-template.php:568 wpf-includes/wpf-phrases.php:335
1649
msgid "Title"
1650
msgstr ""
1651
1652
#: wpf-includes/functions-template.php:372
1653
- #: wpf-includes/functions-template.php:447
1654
- #: wpf-includes/functions-template.php:524 wpf-includes/wpf-phrases.php:211
1655
msgid "Number of Items"
1656
msgstr ""
1657
@@ -1659,8 +1671,8 @@ msgstr ""
1659
msgid "Display Avatars"
1660
msgstr ""
1661
1662
- #: wpf-includes/functions-template.php:451
1663
- #: wpf-includes/functions-template.php:528 wpf-includes/wpf-phrases.php:72
1664
msgid "Display with Avatars"
1665
msgstr ""
1666
@@ -1795,7 +1807,7 @@ msgstr ""
1795
msgid "Items"
1796
msgstr ""
1797
1798
- #: wpf-includes/functions.php:1073
1799
#, php-format
1800
msgid "Could not write file %s"
1801
msgstr ""
@@ -3727,37 +3739,37 @@ msgstr ""
3727
msgid "Discussion Board"
3728
msgstr ""
3729
3730
- #: wpforo.php:501
3731
msgid ""
3732
"Allows to embed hundreds of video, social network, audio and photo content "
3733
"providers in forum topics and posts."
3734
msgstr ""
3735
3736
- #: wpforo.php:502
3737
msgid ""
3738
"Advanced user profile builder system. Allows to add new fields and manage "
3739
"profile page. Creates custom Registration, Account, Member Search forms."
3740
msgstr ""
3741
3742
- #: wpforo.php:503
3743
msgid ""
3744
"Adds an advanced file attachment system to forum topics and posts. AJAX "
3745
"powered media uploading and displaying system with user specific library."
3746
msgstr ""
3747
3748
- #: wpforo.php:504
3749
msgid ""
3750
"Blog to Forum and Forum to Blog content synchronization. Blog posts with "
3751
"Forum topics and Blog comments with Forum replies."
3752
msgstr ""
3753
3754
- #: wpforo.php:505
3755
msgid ""
3756
"Provides a safe way to communicate directly with other members. Messages are "
3757
"private and can only be viewed by conversation participants."
3758
msgstr ""
3759
3760
- #: wpforo.php:506
3761
msgid ""
3762
"Ads Manager is a powerful yet simple advertisement management system, that "
3763
"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-12 23:07+0400\n"
9
"PO-Revision-Date: 2016-06-28 21:09+0400\n"
10
"Last-Translator: \n"
11
"Language-Team: \n"
516
msgstr ""
517
518
#: wpf-admin/options-tabs/emails.php:34 wpf-admin/options-tabs/emails.php:46
519
+ #: wpf-admin/options-tabs/features.php:63 wpf-admin/tools-tabs/antispam.php:31
520
#: wpf-admin/tools-tabs/antispam.php:40 wpf-admin/tools-tabs/antispam.php:49
521
#: wpf-admin/tools-tabs/cleanup.php:39 wpf-includes/wpf-phrases.php:367
522
msgid "Yes"
523
msgstr ""
524
525
#: wpf-admin/options-tabs/emails.php:35 wpf-admin/options-tabs/emails.php:47
526
+ #: wpf-admin/options-tabs/features.php:64 wpf-admin/tools-tabs/antispam.php:32
527
#: wpf-admin/tools-tabs/antispam.php:41 wpf-admin/tools-tabs/antispam.php:50
528
#: wpf-admin/tools-tabs/cleanup.php:40 wpf-includes/wpf-phrases.php:197
529
msgid "No"
595
msgid "Reset Password message body"
596
msgstr ""
597
598
+ #: wpf-admin/options-tabs/emails.php:109 wpf-admin/options-tabs/features.php:74
599
#: wpf-admin/options-tabs/forums.php:16 wpf-admin/options-tabs/general.php:82
600
#: wpf-admin/options-tabs/members.php:143 wpf-admin/options-tabs/posts.php:67
601
#: wpf-admin/options-tabs/styles.php:93 wpf-admin/tools-tabs/antispam.php:180
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
+
638
+ #: wpf-admin/options-tabs/features.php:16 wpf-includes/wpf-phrases.php:258
639
msgid "Replace Author Link to Forum Profile"
640
msgstr ""
641
642
+ #: wpf-admin/options-tabs/features.php:17 wpf-includes/wpf-phrases.php:259
643
msgid "Replace Comment Author Link to Forum Profile"
644
msgstr ""
645
646
+ #: wpf-admin/options-tabs/features.php:18 wpf-includes/wpf-phrases.php:633
647
msgid "Enable User Registration"
648
msgstr ""
649
650
+ #: wpf-admin/options-tabs/features.php:18 wpf-includes/wpf-phrases.php:634
651
msgid ""
652
"This option is not synced with WordPress \"Anyone can register\" option in "
653
"Dashboard > Settings > General admin page. If this option is enabled new "
654
"users will always be able to register."
655
msgstr ""
656
657
+ #: wpf-admin/options-tabs/features.php:19
658
msgid "Enable User Registration email confirmation"
659
msgstr ""
660
661
+ #: wpf-admin/options-tabs/features.php:19
662
msgid ""
663
"If you have enabled this option, after registering, user can not login "
664
"without confirming the email."
665
msgstr ""
666
667
+ #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:261
668
msgid "Replace Registration Page URL to Forum URL"
669
msgstr ""
670
671
+ #: wpf-admin/options-tabs/features.php:21 wpf-includes/wpf-phrases.php:260
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
+
679
+ #: wpf-admin/options-tabs/features.php:23 wpf-includes/wpf-phrases.php:257
680
msgid "Replace Author Avatar with Forum Profile Avatar"
681
msgstr ""
682
683
+ #: wpf-admin/options-tabs/features.php:24 wpf-includes/wpf-phrases.php:77
684
msgid "Enable Avatars"
685
msgstr ""
686
687
+ #: wpf-admin/options-tabs/features.php:25 wpf-includes/wpf-phrases.php:78
688
msgid "Enable Custom Avatars"
689
msgstr ""
690
691
+ #: wpf-admin/options-tabs/features.php:26 wpf-includes/wpf-phrases.php:31
692
msgid "Allow Member Signature"
693
msgstr ""
694
695
+ #: wpf-admin/options-tabs/features.php:27 wpf-includes/wpf-phrases.php:80
696
msgid "Enable Member Rating"
697
msgstr ""
698
699
+ #: wpf-admin/options-tabs/features.php:28 wpf-includes/wpf-phrases.php:81
700
msgid "Enable Member Rating Titles"
701
msgstr ""
702
703
+ #: wpf-admin/options-tabs/features.php:29 wpf-includes/wpf-phrases.php:79
704
msgid "Enable Member Cache"
705
msgstr ""
706
707
+ #: wpf-admin/options-tabs/features.php:30
708
msgid "Enable Object Cache"
709
msgstr ""
710
711
+ #: wpf-admin/options-tabs/features.php:31
712
msgid "Enable HTML Cache"
713
msgstr ""
714
715
+ #: wpf-admin/options-tabs/features.php:32
716
msgid "Enable Memory Cache"
717
msgstr ""
718
719
+ #: wpf-admin/options-tabs/features.php:33 wpf-includes/wpf-phrases.php:84
720
msgid "Enable wpForo SEO for Meta Titles"
721
msgstr ""
722
723
+ #: wpf-admin/options-tabs/features.php:34 wpf-includes/wpf-phrases.php:83
724
msgid "Enable wpForo SEO for Meta Tags"
725
msgstr ""
726
727
+ #: wpf-admin/options-tabs/features.php:35
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
+
735
+ #: wpf-admin/options-tabs/features.php:37 wpf-includes/wpf-phrases.php:82
736
msgid "Enable wpForo Font-Awesome Lib"
737
msgstr ""
738
739
+ #: wpf-admin/options-tabs/features.php:38
740
msgid "Turn Off User Syncing Note"
741
msgstr ""
742
743
+ #: wpf-admin/options-tabs/features.php:39 wpf-includes/wpf-phrases.php:85
744
msgid "Enable Output Buffer"
745
msgstr ""
746
747
+ #: wpf-admin/options-tabs/features.php:39 wpf-includes/wpf-phrases.php:331
748
msgid ""
749
"This feature is useful if you're adding content before or after [wpforo] "
750
"shortcode in page content. Also it useful if forum is loaded before website "
751
"header, on top of the front-end."
752
msgstr ""
753
754
+ #: wpf-admin/options-tabs/features.php:40
755
msgid "Enable WordPress Date/Time Format"
756
msgstr ""
757
758
+ #: wpf-admin/options-tabs/features.php:40 wpf-includes/wpf-phrases.php:598
759
msgid ""
760
"You can manage WordPress date and time format in WordPress Settings > "
761
"General admin page."
762
msgstr ""
763
764
+ #: wpf-admin/options-tabs/features.php:41 wpf-includes/wpf-phrases.php:609
765
msgid "Enable Subscription Confirmation"
766
msgstr ""
767
768
+ #: wpf-admin/options-tabs/features.php:41 wpf-includes/wpf-phrases.php:610
769
msgid "Forum and Topic subscription with double opt-in/confirmation system."
770
msgstr ""
771
772
+ #: wpf-admin/options-tabs/features.php:42
773
msgid "Topic subscription option on post editor"
774
msgstr ""
775
776
+ #: wpf-admin/options-tabs/features.php:42
777
msgid ""
778
"This option adds topic subscription checkbox next to new topic and post "
779
"submit button."
780
msgstr ""
781
782
+ #: wpf-admin/options-tabs/features.php:43
783
msgid "Topic subscription option on post editor - checked/enabled"
784
msgstr ""
785
786
+ #: wpf-admin/options-tabs/features.php:43
787
msgid ""
788
"Enable this option if you want the topic subscription checkbox to be checked "
789
"by default."
790
msgstr ""
791
792
+ #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:637
793
msgid "Insert Forum Attachments to Media Library"
794
msgstr ""
795
796
+ #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:638
797
msgid ""
798
"Enable this option to be able manage forum attachments in Dashboard > Media "
799
"> Library admin page."
800
msgstr ""
801
802
+ #: wpf-admin/options-tabs/features.php:45 wpf-includes/wpf-phrases.php:602
803
msgid "Enable Debug Mode"
804
msgstr ""
805
806
+ #: wpf-admin/options-tabs/features.php:45 wpf-includes/wpf-phrases.php:603
807
msgid ""
808
"If you got some issue with wpForo, please enable this option before asking "
809
"for support, this outputs hidden important information to help us debug your "
810
"issue."
811
msgstr ""
812
813
+ #: wpf-admin/options-tabs/features.php:46 wpf-includes/wpf-phrases.php:134
814
msgid "Help wpForo to grow, show plugin info"
815
msgstr ""
816
817
+ #: wpf-admin/options-tabs/features.php:46 wpf-includes/wpf-phrases.php:227
818
msgid ""
819
"Please enable this option to help wpForo get more popularity as your thank "
820
"to the hard work we do for you totally free. This option adds a very small "
1497
msgid "Add a new Forum in this Category"
1498
msgstr ""
1499
1500
+ #: wpf-includes/class-members.php:235
1501
msgid "<strong>ERROR</strong>: Please enter a username."
1502
msgstr ""
1503
1504
+ #: wpf-includes/class-members.php:239
1505
msgid ""
1506
"<strong>ERROR</strong>: This username is invalid because it uses illegal "
1507
"characters. Please enter a valid username."
1508
msgstr ""
1509
1510
+ #: wpf-includes/class-members.php:248
1511
msgid ""
1512
"<strong>ERROR</strong>: This username is already registered. Please choose "
1513
"another one."
1514
msgstr ""
1515
1516
+ #: wpf-includes/class-members.php:252
1517
msgid "<strong>ERROR</strong>: Sorry, that username is not allowed."
1518
msgstr ""
1519
1520
+ #: wpf-includes/class-members.php:256
1521
msgid "<strong>ERROR</strong>: Please type your email address."
1522
msgstr ""
1523
1524
+ #: wpf-includes/class-members.php:260
1525
msgid "<strong>ERROR</strong>: The email address isn&#8217;t correct."
1526
msgstr ""
1527
1528
+ #: wpf-includes/class-members.php:265
1529
msgid ""
1530
"<strong>ERROR</strong>: This email is already registered, please choose "
1531
"another one."
1532
msgstr ""
1533
1534
+ #: wpf-includes/class-members.php:1295
1535
msgid "What should be done with wpForo content owned by this user?"
1536
msgstr ""
1537
1538
+ #: wpf-includes/class-members.php:1297
1539
msgid "What should be done with wpForo content owned by these users?"
1540
msgstr ""
1541
1542
+ #: wpf-includes/class-members.php:1301
1543
msgid "Delete all wpForo content."
1544
msgstr ""
1545
1546
+ #: wpf-includes/class-members.php:1303
1547
msgid "Attribute all content to:"
1548
msgstr ""
1549
1608
msgid "Theme file not readable"
1609
msgstr ""
1610
1611
+ #: wpf-includes/functions-installation.php:578
1612
msgid "Start Profile Synchronization"
1613
msgstr ""
1614
1615
+ #: wpf-includes/functions-installation.php:578
1616
msgid "Continue Synchronization"
1617
msgstr ""
1618
1619
+ #: wpf-includes/functions-installation.php:581
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:582
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:584
1632
msgid "wpForo Forum Installation | "
1633
msgstr ""
1634
1635
+ #: wpf-includes/functions-installation.php:585
1636
msgid ""
1637
"Forum users' profile data are not synchronized yet, this step is required! "
1638
"Please click the button below to complete installation."
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:448
1659
+ #: wpf-includes/functions-template.php:529
1660
+ #: wpf-includes/functions-template.php:576 wpf-includes/wpf-phrases.php:335
1661
msgid "Title"
1662
msgstr ""
1663
1664
#: wpf-includes/functions-template.php:372
1665
+ #: wpf-includes/functions-template.php:451
1666
+ #: wpf-includes/functions-template.php:532 wpf-includes/wpf-phrases.php:211
1667
msgid "Number of Items"
1668
msgstr ""
1669
1671
msgid "Display Avatars"
1672
msgstr ""
1673
1674
+ #: wpf-includes/functions-template.php:455
1675
+ #: wpf-includes/functions-template.php:536 wpf-includes/wpf-phrases.php:72
1676
msgid "Display with Avatars"
1677
msgstr ""
1678
1807
msgid "Items"
1808
msgstr ""
1809
1810
+ #: wpf-includes/functions.php:1106
1811
#, php-format
1812
msgid "Could not write file %s"
1813
msgstr ""
3739
msgid "Discussion Board"
3740
msgstr ""
3741
3742
+ #: wpforo.php:504
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:505
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:506
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:507
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:508
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:509
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."
wpf-themes/classic/index.php CHANGED
@@ -67,18 +67,20 @@
67
<?php if(!isset($forum_slug)) : ?>
68
<h1 id="wpforo-title">
69
<?php echo esc_html($wpforo->general_options['title']) ?>
70
- <div class="wpforo-feed">
71
- <span class="wpf-feed-forums">
72
- <a href="<?php $wpforo->feed->rss2_url( true, 'forum' ); ?>" title="<?php wpforo_phrase('Forums RSS Feed') ?>" target="_blank">
73
- <span><?php wpforo_phrase('Forums') ?></span> <i class="fa fa-rss fa-0x"></i>
74
- </a>
75
- </span><sep> | </sep>
76
- <span class="wpf-feed-topics">
77
- <a href="<?php $wpforo->feed->rss2_url( true, 'topic' ); ?>" title="<?php wpforo_phrase('Topics RSS Feed') ?>" target="_blank">
78
- <span><?php wpforo_phrase('Topics') ?></span> <i class="fa fa-rss fa-0x"></i>
79
- </a>
80
- </span>
81
- </div>
82
</h1>
83
<?php endif; ?>
84
<?php $cats = $wpforo->forum->get_forums( (isset($forum_slug) && $forum_slug != '' ? array( "parent_slug" => $forum_slug ) : array( "type" => 'category' ) ) ); ?>
@@ -131,7 +133,9 @@
131
<span class="wpf-subscribe-forum wpf-action" id="wpfsubscribe-<?php echo intval($forum['forumid']) ?>"><?php wpforo_phrase('Subscribe for new topics') ?></span>
132
<?php endif; ?>
133
<?php endif; ?>
134
- <span class="wpf-feed">| <a href="<?php $wpforo->feed->rss2_url(); ?>" title="<?php wpforo_phrase('Forum RSS Feed') ?>" target="_blank"><span><?php wpforo_phrase('RSS') ?></span> <i class="fa fa-rss fa-0x"></i></a></span>
135
</div>
136
</div>
137
<?php if( $wpforo->perm->forum_can( 'ct', $cat['forumid']) ): ?>
67
<?php if(!isset($forum_slug)) : ?>
68
<h1 id="wpforo-title">
69
<?php echo esc_html($wpforo->general_options['title']) ?>
70
+ <?php if( wpforo_feature('rss-feed', $wpforo) ): ?>
71
+ <div class="wpforo-feed">
72
+ <span class="wpf-feed-forums">
73
+ <a href="<?php $wpforo->feed->rss2_url( true, 'forum' ); ?>" title="<?php wpforo_phrase('Forums RSS Feed') ?>" target="_blank">
74
+ <span><?php wpforo_phrase('Forums') ?></span> <i class="fa fa-rss fa-0x"></i>
75
+ </a>
76
+ </span><sep> | </sep>
77
+ <span class="wpf-feed-topics">
78
+ <a href="<?php $wpforo->feed->rss2_url( true, 'topic' ); ?>" title="<?php wpforo_phrase('Topics RSS Feed') ?>" target="_blank">
79
+ <span><?php wpforo_phrase('Topics') ?></span> <i class="fa fa-rss fa-0x"></i>
80
+ </a>
81
+ </span>
82
+ </div>
83
+ <?php endif; ?>
84
</h1>
85
<?php endif; ?>
86
<?php $cats = $wpforo->forum->get_forums( (isset($forum_slug) && $forum_slug != '' ? array( "parent_slug" => $forum_slug ) : array( "type" => 'category' ) ) ); ?>
133
<span class="wpf-subscribe-forum wpf-action" id="wpfsubscribe-<?php echo intval($forum['forumid']) ?>"><?php wpforo_phrase('Subscribe for new topics') ?></span>
134
<?php endif; ?>
135
<?php endif; ?>
136
+ <?php if( wpforo_feature('rss-feed', $wpforo) ): ?>
137
+ <span class="wpf-feed">| <a href="<?php $wpforo->feed->rss2_url(); ?>" title="<?php wpforo_phrase('Forum RSS Feed') ?>" target="_blank"><span><?php wpforo_phrase('RSS') ?></span> <i class="fa fa-rss fa-0x"></i></a></span>
138
+ <?php endif; ?>
139
</div>
140
</div>
141
<?php if( $wpforo->perm->forum_can( 'ct', $cat['forumid']) ): ?>
wpf-themes/classic/layouts/1/forum.php CHANGED
@@ -40,7 +40,7 @@
40
<div class="wpforo-forum">
41
<div class="wpforo-forum-icon"><i class="fa <?php echo esc_attr($forum_icon) ?> wpfcl-0"></i></div>
42
<div class="wpforo-forum-info">
43
- <h3 class="wpforo-forum-title"><a href="<?php echo esc_url($forum_url) ?>"><?php echo esc_html($forum['title']); ?></a></h3>
44
<p class="wpforo-forum-description"><?php echo $forum['description']; ?></p>
45
46
<?php if($has_sub_forums) : ?>
@@ -51,7 +51,7 @@
51
<?php foreach($sub_forums as $sub_forum) :
52
if( !$wpforo->perm->forum_can( 'vf', $sub_forum['forumid'] ) ) continue;
53
$sub_forum_icon = ( isset($sub_forum['icon']) && $sub_forum['icon']) ? $sub_forum['icon'] : 'fa-comments'; ?>
54
- <li><i class="fa <?php echo esc_attr($sub_forum_icon) ?> wpfcl-0"></i>&nbsp;<a href="<?php echo esc_url( wpforo_forum($sub_forum['forumid'], 'url') ) ?>"><?php echo esc_html($sub_forum['title']); ?></a></li>
55
56
<?php endforeach; ?>
57
@@ -88,7 +88,7 @@
88
<?php $last_post = wpforo_post($topic['last_post']) ?>
89
<?php $member = wpforo_member($last_post); ?>
90
<li>
91
- <div class="wpforo-last-topic-title" title="<?php $icon_title = $wpforo->tpl->icon('topic', $topic, false, 'title'); if( $icon_title ) echo esc_html($icon_title) ?>"><i class="fa <?php $wpforo->tpl->icon('topic', $topic); ?> wpfcl-0"></i> &nbsp;
92
<a href="<?php echo esc_url($last_post['url']) ?>"><?php echo esc_html(wpforo_text($topic['title'], 45, false)) ?></a></div>
93
<div class="wpforo-last-topic-user" title="<?php echo esc_attr($member['display_name']) ?>"><?php wpforo_member_link($member, 'by', 9); ?></div>
94
<div class="wpforo-last-topic-date"><?php wpforo_date($topic['modified']); ?></div>
40
<div class="wpforo-forum">
41
<div class="wpforo-forum-icon"><i class="fa <?php echo esc_attr($forum_icon) ?> wpfcl-0"></i></div>
42
<div class="wpforo-forum-info">
43
+ <h3 class="wpforo-forum-title <?php wpforo_unread_forum($forum['forumid']) ?>"><a href="<?php echo esc_url($forum_url) ?>"><?php echo esc_html($forum['title']); ?></a></h3>
44
<p class="wpforo-forum-description"><?php echo $forum['description']; ?></p>
45
46
<?php if($has_sub_forums) : ?>
51
<?php foreach($sub_forums as $sub_forum) :
52
if( !$wpforo->perm->forum_can( 'vf', $sub_forum['forumid'] ) ) continue;
53
$sub_forum_icon = ( isset($sub_forum['icon']) && $sub_forum['icon']) ? $sub_forum['icon'] : 'fa-comments'; ?>
54
+ <li class="<?php wpforo_unread_forum($sub_forum['forumid']) ?>"><i class="fa <?php echo esc_attr($sub_forum_icon) ?> wpfcl-0"></i>&nbsp;<a href="<?php echo esc_url( wpforo_forum($sub_forum['forumid'], 'url') ) ?>"><?php echo esc_html($sub_forum['title']); ?></a></li>
55
56
<?php endforeach; ?>
57
88
<?php $last_post = wpforo_post($topic['last_post']) ?>
89
<?php $member = wpforo_member($last_post); ?>
90
<li>
91
+ <div class="wpforo-last-topic-title <?php wpforo_unread_topic($topic['topicid']) ?>" title="<?php $icon_title = $wpforo->tpl->icon('topic', $topic, false, 'title'); if( $icon_title ) echo esc_html($icon_title) ?>"><i class="fa <?php $wpforo->tpl->icon('topic', $topic); ?> wpfcl-0"></i> &nbsp;
92
<a href="<?php echo esc_url($last_post['url']) ?>"><?php echo esc_html(wpforo_text($topic['title'], 45, false)) ?></a></div>
93
<div class="wpforo-last-topic-user" title="<?php echo esc_attr($member['display_name']) ?>"><?php wpforo_member_link($member, 'by', 9); ?></div>
94
<div class="wpforo-last-topic-date"><?php wpforo_date($topic['modified']); ?></div>
wpf-themes/classic/layouts/1/post.php CHANGED
@@ -6,7 +6,7 @@
6
<div class="wpfl-1">
7
<div class="wpforo-post-head">
8
<div class="wpf-left">&nbsp; <a href="<?php echo esc_url( wpforo_post($topic['last_post'],'url') ); ?>" class="wpfcl-2"><i class="fa fa-caret-square-o-down fa-0x wpfcl-3"></i> &nbsp; <span class="wpfcl-3"><?php wpforo_phrase('Last Post'); ?></span></a> </div>
9
- <div class="wpf-right">&nbsp; <a href="<?php $wpforo->feed->rss2_url(); ?>" class="wpfcl-2" title="<?php wpforo_phrase('Topic RSS Feed') ?>" target="_blank"><span class="wpfcl-3">RSS</span> <i class="fa fa-rss fa-0x wpfcl-3"></i></a></div>
10
<br class="wpf-clear" />
11
</div>
12
<?php
6
<div class="wpfl-1">
7
<div class="wpforo-post-head">
8
<div class="wpf-left">&nbsp; <a href="<?php echo esc_url( wpforo_post($topic['last_post'],'url') ); ?>" class="wpfcl-2"><i class="fa fa-caret-square-o-down fa-0x wpfcl-3"></i> &nbsp; <span class="wpfcl-3"><?php wpforo_phrase('Last Post'); ?></span></a> </div>
9
+ <div class="wpf-right">&nbsp; <?php if( wpforo_feature('rss-feed', $wpforo) ): ?><a href="<?php $wpforo->feed->rss2_url(); ?>" class="wpfcl-2" title="<?php wpforo_phrase('Topic RSS Feed') ?>" target="_blank"><span class="wpfcl-3">RSS</span> <i class="fa fa-rss fa-0x wpfcl-3"></i></a><?php endif; ?></div>
10
<br class="wpf-clear" />
11
</div>
12
<?php
wpf-themes/classic/layouts/1/topic.php CHANGED
@@ -38,7 +38,7 @@
38
<i class="fa fa-1x <?php echo $classes ?>"></i>
39
</div>
40
<div class="wpforo-topic-info">
41
- <p class="wpforo-topic-title"><a href="<?php echo esc_url($topic_url) ?>"><?php echo esc_html($topic['title']); ?></a></p>
42
<p class="wpforo-topic-start-info wpfcl-1">
43
<span class="wpfcl-5"><?php wpforo_phrase('First post and replies') ?></span>&nbsp; <i id="button-arrow-<?php echo intval($topic['topicid']) ?>" class="topictoggle wpfcl-a fa fa-chevron-<?php echo ( $post_toglle == 1 ? 'up' : 'down' ) ?>"></i>
44
<?php if(isset($last_post) && !empty($last_post)) : ?>
38
<i class="fa fa-1x <?php echo $classes ?>"></i>
39
</div>
40
<div class="wpforo-topic-info">
41
+ <p class="wpforo-topic-title <?php wpforo_unread_topic($topic['topicid']); ?>"><a href="<?php echo esc_url($topic_url) ?>"><?php echo esc_html($topic['title']); ?></a></p>
42
<p class="wpforo-topic-start-info wpfcl-1">
43
<span class="wpfcl-5"><?php wpforo_phrase('First post and replies') ?></span>&nbsp; <i id="button-arrow-<?php echo intval($topic['topicid']) ?>" class="topictoggle wpfcl-a fa fa-chevron-<?php echo ( $post_toglle == 1 ? 'up' : 'down' ) ?>"></i>
44
<?php if(isset($last_post) && !empty($last_post)) : ?>
wpf-themes/classic/layouts/2/forum.php CHANGED
@@ -29,7 +29,7 @@
29
<div class="wpforo-forum">
30
<div class="wpforo-forum-icon"><i class="fa <?php echo esc_attr($forum_icon) ?> wpfcl-0"></i></div>
31
<div class="wpforo-forum-info">
32
- <h3 class="wpforo-forum-title"><a href="<?php echo esc_url( wpforo_forum($forum['forumid'],'url') ) ?>"><?php echo esc_html($forum['title']); ?></a></h3>
33
<p class="wpforo-forum-description"><?php echo $forum['description'] ?></p>
34
<?php
35
$data = wpforo_forum($forum['forumid'], 'childs');
@@ -54,7 +54,7 @@
54
if( !$wpforo->perm->forum_can( 'vf', $sub_forum['forumid'] ) ) continue;
55
$sub_forum_icon = ( isset($sub_forum['icon']) && $sub_forum['icon']) ? $sub_forum['icon'] : 'fa-comments'; ?>
56
57
- <li><i class="fa <?php echo esc_attr($sub_forum_icon) ?> wpfcl-0"></i>&nbsp;<a href="<?php echo esc_url( wpforo_forum($sub_forum['forumid'],'url') ) ?>"><?php echo esc_html($sub_forum['title']); ?></a></li>
58
59
<?php endforeach; ?>
60
29
<div class="wpforo-forum">
30
<div class="wpforo-forum-icon"><i class="fa <?php echo esc_attr($forum_icon) ?> wpfcl-0"></i></div>
31
<div class="wpforo-forum-info">
32
+ <h3 class="wpforo-forum-title <?php wpforo_unread_forum($forum['forumid']) ?>"><a href="<?php echo esc_url( wpforo_forum($forum['forumid'],'url') ) ?>"><?php echo esc_html($forum['title']); ?></a></h3>
33
<p class="wpforo-forum-description"><?php echo $forum['description'] ?></p>
34
<?php
35
$data = wpforo_forum($forum['forumid'], 'childs');
54
if( !$wpforo->perm->forum_can( 'vf', $sub_forum['forumid'] ) ) continue;
55
$sub_forum_icon = ( isset($sub_forum['icon']) && $sub_forum['icon']) ? $sub_forum['icon'] : 'fa-comments'; ?>
56
57
+ <li class="<?php wpforo_unread_forum($sub_forum['forumid']) ?>"><i class="fa <?php echo esc_attr($sub_forum_icon) ?> wpfcl-0"></i>&nbsp;<a href="<?php echo esc_url( wpforo_forum($sub_forum['forumid'],'url') ) ?>"><?php echo esc_html($sub_forum['title']); ?></a></li>
58
59
<?php endforeach; ?>
60
wpf-themes/classic/layouts/2/post.php CHANGED
@@ -7,7 +7,7 @@
7
8
<div class="wpforo-post-head">
9
<div class="wpf-left">&nbsp;<a href="<?php echo esc_url( wpforo_post($topic['last_post'], 'url') ); ?>" class="wpfcl-2"><i class="fa fa-caret-square-o-down fa-0x wpfcl-3"></i> &nbsp; <span class="wpfcl-3"><?php wpforo_phrase('Last Post'); ?></span></a></div>
10
- <div class="wpf-right">&nbsp;<a href="<?php $wpforo->feed->rss2_url(); ?>" class="wpfcl-2" title="<?php wpforo_phrase('Topic RSS Feed') ?>"><span class="wpfcl-3"><?php wpforo_phrase('RSS') ?></span> <i class="fa fa-rss fa-0x wpfcl-3"></i></a></div>
11
<div class="wpf-clear"></div>
12
</div>
13
7
8
<div class="wpforo-post-head">
9
<div class="wpf-left">&nbsp;<a href="<?php echo esc_url( wpforo_post($topic['last_post'], 'url') ); ?>" class="wpfcl-2"><i class="fa fa-caret-square-o-down fa-0x wpfcl-3"></i> &nbsp; <span class="wpfcl-3"><?php wpforo_phrase('Last Post'); ?></span></a></div>
10
+ <div class="wpf-right">&nbsp;<?php if( wpforo_feature('rss-feed', $wpforo) ): ?><a href="<?php $wpforo->feed->rss2_url(); ?>" class="wpfcl-2" title="<?php wpforo_phrase('Topic RSS Feed') ?>"><span class="wpfcl-3"><?php wpforo_phrase('RSS') ?></span> <i class="fa fa-rss fa-0x wpfcl-3"></i></a><?php endif; ?></div>
11
<div class="wpf-clear"></div>
12
</div>
13
wpf-themes/classic/layouts/2/topic.php CHANGED
@@ -31,7 +31,7 @@
31
<div class="wpforo-topic-avatar"><?php echo $wpforo->member->avatar($member, 'alt="'.esc_attr($member['display_name']).'"', 48, true) ?></div>
32
<?php endif; ?>
33
<div class="wpforo-topic-info">
34
- <p class="wpforo-topic-title"><a href="<?php echo esc_url( wpforo_topic($topic['topicid'], 'url') ) ?>"><i class="fa fa-1x <?php echo $classes ?>" title="<?php $icon_title = $wpforo->tpl->icon('topic', $topic, false, 'title'); if( $icon_title ) echo esc_html($icon_title) ?>"></i> <?php echo esc_html($topic['title']) ?></a></p>
35
<p class="wpforo-topic-start-info wpfcl-2"><?php wpforo_member_link($member); ?>, <?php wpforo_date($topic['created']); ?></p>
36
<div class="wpforo-topic-badges"><?php wpforo_hook('wpforo_topic_info_end', $topic); ?></div>
37
</div>
31
<div class="wpforo-topic-avatar"><?php echo $wpforo->member->avatar($member, 'alt="'.esc_attr($member['display_name']).'"', 48, true) ?></div>
32
<?php endif; ?>
33
<div class="wpforo-topic-info">
34
+ <p class="wpforo-topic-title <?php wpforo_unread_topic($topic['topicid']); ?>"><a href="<?php echo esc_url( wpforo_topic($topic['topicid'], 'url') ) ?>"><i class="fa fa-1x <?php echo $classes ?>" title="<?php $icon_title = $wpforo->tpl->icon('topic', $topic, false, 'title'); if( $icon_title ) echo esc_html($icon_title) ?>"></i> <?php echo esc_html($topic['title']) ?></a></p>
35
<p class="wpforo-topic-start-info wpfcl-2"><?php wpforo_member_link($member); ?>, <?php wpforo_date($topic['created']); ?></p>
36
<div class="wpforo-topic-badges"><?php wpforo_hook('wpforo_topic_info_end', $topic); ?></div>
37
</div>
wpf-themes/classic/layouts/3/forum.php CHANGED
@@ -44,7 +44,7 @@
44
<div class="wpforo-forum">
45
<div class="wpforo-forum-icon"><i class="fa <?php echo esc_attr($forum_icon) ?> wpfcl-0"></i></div>
46
<div class="wpforo-forum-info">
47
- <h3 class="wpforo-forum-title"><a href="<?php echo esc_url($forum_url) ?>"><?php echo esc_html($forum['title']); ?></a></h3>
48
<p class="wpforo-forum-description"><?php echo $forum['description'] ?></p>
49
50
<?php if($has_sub_forums) : ?>
@@ -57,7 +57,7 @@
57
if( !$wpforo->perm->forum_can( 'vf', $sub_forum['forumid'] ) ) continue;
58
$sub_forum_icon = ( isset($sub_forum['icon']) && $sub_forum['icon']) ? $sub_forum['icon'] : 'fa-comments'; ?>
59
60
- <li><i class="fa <?php echo esc_attr($sub_forum_icon) ?> wpfcl-0"></i>&nbsp;<a href="<?php echo esc_url( wpforo_forum($sub_forum['forumid'],'url') ) ?>"><?php echo esc_html($sub_forum['title']); ?></a></li>
61
62
<?php endforeach; ?>
63
@@ -99,7 +99,7 @@
99
<div class="views"><div class="count"><?php echo intval($topic['views']) ?></div><div class="wpforo-label"><?php wpforo_phrase('Views') ?></div></div>
100
</div>
101
<div class="wpforo-last-topic-title">
102
- <a href="<?php echo esc_url( wpforo_topic($topic['topicid'], 'url') ) ?>"><?php echo esc_html($topic['title']) ?></a><br />
103
<span class="wpforo-last-topic-info wpfcl-2"><?php wpforo_member_link($member, 'by'); ?>, <?php wpforo_date($topic['modified']); ?></span>
104
</div>
105
<div class="wpforo-last-topic-posts wpfcl-2"><div class="count"><?php echo intval($topic['posts']) ?></div><div class="wpforo-label"><?php wpforo_phrase('replies') ?></div></div>
44
<div class="wpforo-forum">
45
<div class="wpforo-forum-icon"><i class="fa <?php echo esc_attr($forum_icon) ?> wpfcl-0"></i></div>
46
<div class="wpforo-forum-info">
47
+ <h3 class="wpforo-forum-title <?php wpforo_unread_forum($forum['forumid']) ?>"><a href="<?php echo esc_url($forum_url) ?>"><?php echo esc_html($forum['title']); ?></a></h3>
48
<p class="wpforo-forum-description"><?php echo $forum['description'] ?></p>
49
50
<?php if($has_sub_forums) : ?>
57
if( !$wpforo->perm->forum_can( 'vf', $sub_forum['forumid'] ) ) continue;
58
$sub_forum_icon = ( isset($sub_forum['icon']) && $sub_forum['icon']) ? $sub_forum['icon'] : 'fa-comments'; ?>
59
60
+ <li class="<?php wpforo_unread_forum($sub_forum['forumid']) ?>"><i class="fa <?php echo esc_attr($sub_forum_icon) ?> wpfcl-0"></i>&nbsp;<a href="<?php echo esc_url( wpforo_forum($sub_forum['forumid'],'url') ) ?>"><?php echo esc_html($sub_forum['title']); ?></a></li>
61
62
<?php endforeach; ?>
63
99
<div class="views"><div class="count"><?php echo intval($topic['views']) ?></div><div class="wpforo-label"><?php wpforo_phrase('Views') ?></div></div>
100
</div>
101
<div class="wpforo-last-topic-title">
102
+ <a href="<?php echo esc_url( wpforo_topic($topic['topicid'], 'url') ) ?>" class="<?php wpforo_unread_topic($topic['topicid']) ?>"><?php echo esc_html($topic['title']) ?></a><br />
103
<span class="wpforo-last-topic-info wpfcl-2"><?php wpforo_member_link($member, 'by'); ?>, <?php wpforo_date($topic['modified']); ?></span>
104
</div>
105
<div class="wpforo-last-topic-posts wpfcl-2"><div class="count"><?php echo intval($topic['posts']) ?></div><div class="wpforo-label"><?php wpforo_phrase('replies') ?></div></div>
wpf-themes/classic/layouts/3/post.php CHANGED
@@ -6,7 +6,7 @@
6
<div class="wpfl-3">
7
<div class="wpforo-post-head">
8
<div class="wpf-left">&nbsp;<a href="<?php echo esc_url( wpforo_post($topic['last_post'], 'url') ); ?>" class="wpfcl-2"><i class="fa fa-caret-square-o-down fa-0x wpfcl-3"></i> &nbsp; <span class="wpfcl-3"><?php wpforo_phrase('Last Post'); ?></span></a></div>
9
- <div class="wpf-right">&nbsp;<a href="<?php $wpforo->feed->rss2_url(); ?>" class="wpfcl-2" title="<?php wpforo_phrase('Topic RSS Feed') ?>"><span class="wpfcl-3"><?php wpforo_phrase('RSS') ?></span> <i class="fa fa-rss fa-0x wpfcl-3"></i></a></div>
10
<br class="wpf-clear" />
11
</div>
12
<?php foreach($posts as $key => $post ) : $is_topic = ( $key ? FALSE : TRUE ); ?>
6
<div class="wpfl-3">
7
<div class="wpforo-post-head">
8
<div class="wpf-left">&nbsp;<a href="<?php echo esc_url( wpforo_post($topic['last_post'], 'url') ); ?>" class="wpfcl-2"><i class="fa fa-caret-square-o-down fa-0x wpfcl-3"></i> &nbsp; <span class="wpfcl-3"><?php wpforo_phrase('Last Post'); ?></span></a></div>
9
+ <div class="wpf-right">&nbsp;<?php if( wpforo_feature('rss-feed', $wpforo) ): ?><a href="<?php $wpforo->feed->rss2_url(); ?>" class="wpfcl-2" title="<?php wpforo_phrase('Topic RSS Feed') ?>"><span class="wpfcl-3"><?php wpforo_phrase('RSS') ?></span> <i class="fa fa-rss fa-0x wpfcl-3"></i></a><?php endif; ?></div>
10
<br class="wpf-clear" />
11
</div>
12
<?php foreach($posts as $key => $post ) : $is_topic = ( $key ? FALSE : TRUE ); ?>
wpf-themes/classic/layouts/3/topic.php CHANGED
@@ -28,7 +28,7 @@
28
<div class="wpforo-topic-avatar"><?php echo $wpforo->member->avatar($member, '', '', true) ?></div>
29
<?php endif; ?>
30
<div class="wpforo-topic-info">
31
- <p class="wpforo-topic-title"><a href="<?php echo esc_url($topic_url) ?>"><i class="fa fa-1x <?php echo $classes ?>" title="<?php $icon_title = $wpforo->tpl->icon('topic', $topic, false, 'title'); if( $icon_title ) echo esc_html($icon_title) ?>"></i> <?php wpforo_text($topic['title'], 70); ?></a></p>
32
<p class="wpforo-topic-start-info wpfcl-2"><?php wpforo_member_link($member); ?>, <?php wpforo_date($topic['created']); ?></p>
33
<div class="wpforo-topic-badges"><?php wpforo_hook('wpforo_topic_info_end', $topic); ?></div>
34
</div>
28
<div class="wpforo-topic-avatar"><?php echo $wpforo->member->avatar($member, '', '', true) ?></div>
29
<?php endif; ?>
30
<div class="wpforo-topic-info">
31
+ <p class="wpforo-topic-title <?php wpforo_unread_topic($topic['topicid']) ?>"><a href="<?php echo esc_url($topic_url) ?>"><i class="fa fa-1x <?php echo $classes ?>" title="<?php $icon_title = $wpforo->tpl->icon('topic', $topic, false, 'title'); if( $icon_title ) echo esc_html($icon_title) ?>"></i> <?php wpforo_text($topic['title'], 70); ?></a></p>
32
<p class="wpforo-topic-start-info wpfcl-2"><?php wpforo_member_link($member); ?>, <?php wpforo_date($topic['created']); ?></p>
33
<div class="wpforo-topic-badges"><?php wpforo_hook('wpforo_topic_info_end', $topic); ?></div>
34
</div>
wpf-themes/classic/style-rtl.css CHANGED
@@ -80,7 +80,7 @@ RTL Style of Classic Theme
80
#wpforo-wrap .wpf-search i{position: absolute; margin: 0px 4px 0px 0px; top:14px; font-size: 16px; line-height:19px; padding: 0; z-index: 10; cursor:pointer; vertical-align:baseline;}
81
82
#wpforo-wrap .wpf-head-bar{padding:5px 0px;}
83
- #wpforo-wrap .wpf-head-bar-left{float:right; width:69%;}
84
#wpforo-wrap .wpf-head-bar-right{float:left; padding: 30px 1px 0px 1px; width:30%; text-align:left;}
85
86
#wpforo-wrap #wpforo-poweredby{margin:0px; padding:5px 10px 5px 10px; text-align:center; font-size:12px; line-height: 16px; vertical-align:middle; height:28px;}
@@ -188,6 +188,9 @@ RTL Style of Classic Theme
188
#wpforo-wrap .wpf-member-title{ display:block; cursor:default; }
189
#wpforo-wrap .wpf-member-title.wpfut{ display:inline-block!important; font-size:11px; line-height:15px; padding:2px 15px; margin:5px auto; border:1px solid #dddddd;}
190
191
/****************************************************/
192
/********* wpForo Layout 1 (Extended Layout) ********/
193
/****************************************************/
@@ -960,6 +963,7 @@ p.wpf-msg-box-triangle-right{position:relative; padding:15px!important; margin:0
960
961
#wpforo-wrap .wpforo-activity-content .activity-icon{ display:none;}
962
#wpf-msg-box { width:45%;}
963
964
body.wpforo .mce-container.mce-panel.mce-floatpanel.mce-window.mce-in{right: 5%!important;left: 5%!important;width: 88%!important;}
965
body.wpforo .mce-container.mce-panel .mce-container-body.mce-abs-layout{width: 100%!important;}
80
#wpforo-wrap .wpf-search i{position: absolute; margin: 0px 4px 0px 0px; top:14px; font-size: 16px; line-height:19px; padding: 0; z-index: 10; cursor:pointer; vertical-align:baseline;}
81
82
#wpforo-wrap .wpf-head-bar{padding:5px 0px;}
83
+ #wpforo-wrap .wpf-head-bar-left{float:right; width:69%;min-height: 85px;}
84
#wpforo-wrap .wpf-head-bar-right{float:left; padding: 30px 1px 0px 1px; width:30%; text-align:left;}
85
86
#wpforo-wrap #wpforo-poweredby{margin:0px; padding:5px 10px 5px 10px; text-align:center; font-size:12px; line-height: 16px; vertical-align:middle; height:28px;}
188
#wpforo-wrap .wpf-member-title{ display:block; cursor:default; }
189
#wpforo-wrap .wpf-member-title.wpfut{ display:inline-block!important; font-size:11px; line-height:15px; padding:2px 15px; margin:5px auto; border:1px solid #dddddd;}
190
191
+ #wpforo-wrap .wpf_forum_unread, #wpforo-wrap .wpf_forum_unread a{ font-weight:bold; }
192
+ #wpforo-wrap .wpf_topic_unread, #wpforo-wrap .wpf_topic_unread a{ font-weight:bold; font-size:98%; }
193
+
194
/****************************************************/
195
/********* wpForo Layout 1 (Extended Layout) ********/
196
/****************************************************/
963
964
#wpforo-wrap .wpforo-activity-content .activity-icon{ display:none;}
965
#wpf-msg-box { width:45%;}
966
+ #wpforo-wrap .wpf-navi .wpf-navi-wrap{white-space:normal;}
967
968
body.wpforo .mce-container.mce-panel.mce-floatpanel.mce-window.mce-in{right: 5%!important;left: 5%!important;width: 88%!important;}
969
body.wpforo .mce-container.mce-panel .mce-container-body.mce-abs-layout{width: 100%!important;}
wpf-themes/classic/style.css CHANGED
@@ -84,7 +84,7 @@ Author: gVectors Team
84
#wpforo-wrap .wpf-search i{position: absolute; margin: 0px 0px 0px 4px; top:14px; font-size: 16px; line-height:19px; padding: 0; z-index: 10; cursor:pointer; vertical-align:baseline;}
85
86
#wpforo-wrap .wpf-head-bar{padding:5px 0px;}
87
- #wpforo-wrap .wpf-head-bar-left{float:left; width:69%;}
88
#wpforo-wrap .wpf-head-bar-right{float:right; padding: 30px 1px 0px 1px; width:30%; text-align:right;}
89
90
#wpforo-wrap #wpforo-poweredby{margin:0px; padding:5px 10px 5px 10px; text-align:center; font-size:12px; line-height: 16px; vertical-align:middle; height:28px;}
@@ -192,6 +192,9 @@ Author: gVectors Team
192
#wpforo-wrap .wpf-member-title{ display:block; cursor:default; }
193
#wpforo-wrap .wpf-member-title.wpfut{ display:inline-block!important; font-size:11px; line-height:15px; padding:2px 15px; margin:5px auto; border:1px solid #dddddd;}
194
195
/****************************************************/
196
/********* wpForo Layout 1 (Extended Layout) ********/
197
/****************************************************/
@@ -961,6 +964,7 @@ p.wpf-msg-box-triangle-right{position:relative; padding:15px!important; margin:0
961
962
#wpforo-wrap .wpforo-activity-content .activity-icon{ display:none;}
963
#wpf-msg-box { width:45%;}
964
965
body.wpforo .mce-container.mce-panel.mce-floatpanel.mce-window.mce-in{left: 5%!important;right: 5%!important;width: 88%!important;}
966
body.wpforo .mce-container.mce-panel .mce-container-body.mce-abs-layout{width: 100%!important;}
84
#wpforo-wrap .wpf-search i{position: absolute; margin: 0px 0px 0px 4px; top:14px; font-size: 16px; line-height:19px; padding: 0; z-index: 10; cursor:pointer; vertical-align:baseline;}
85
86
#wpforo-wrap .wpf-head-bar{padding:5px 0px;}
87
+ #wpforo-wrap .wpf-head-bar-left{float:left; width:69%;min-height: 85px;}
88
#wpforo-wrap .wpf-head-bar-right{float:right; padding: 30px 1px 0px 1px; width:30%; text-align:right;}
89
90
#wpforo-wrap #wpforo-poweredby{margin:0px; padding:5px 10px 5px 10px; text-align:center; font-size:12px; line-height: 16px; vertical-align:middle; height:28px;}
192
#wpforo-wrap .wpf-member-title{ display:block; cursor:default; }
193
#wpforo-wrap .wpf-member-title.wpfut{ display:inline-block!important; font-size:11px; line-height:15px; padding:2px 15px; margin:5px auto; border:1px solid #dddddd;}
194
195
+ #wpforo-wrap .wpf_forum_unread, #wpforo-wrap .wpf_forum_unread a{ font-weight:bold; }
196
+ #wpforo-wrap .wpf_topic_unread, #wpforo-wrap .wpf_topic_unread a{ font-weight:bold; font-size:98%; }
197
+
198
/****************************************************/
199
/********* wpForo Layout 1 (Extended Layout) ********/
200
/****************************************************/
964
965
#wpforo-wrap .wpforo-activity-content .activity-icon{ display:none;}
966
#wpf-msg-box { width:45%;}
967
+ #wpforo-wrap .wpf-navi .wpf-navi-wrap{white-space:normal;}
968
969
body.wpforo .mce-container.mce-panel.mce-floatpanel.mce-window.mce-in{left: 5%!important;right: 5%!important;width: 88%!important;}
970
body.wpforo .mce-container.mce-panel .mce-container-body.mce-abs-layout{width: 100%!important;}
wpforo.php CHANGED
@@ -1,18 +1,18 @@
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.0
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.0');
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' );
@@ -97,12 +97,14 @@ if( !class_exists( 'wpForo' ) ) {
97
'top-bar-search' => 1,
98
'breadcrumb' => 1,
99
'footer-stat' => 1,
100
'author-link' => 0,
101
'comment-author-link' => 0,
102
'user-register' => 1,
103
'user-register-email-confirm' => 0,
104
'register-url' => 0,
105
'login-url' => 0,
106
'replace-avatar' => 1,
107
'avatars' => 1,
108
'custom-avatars' => 1,
@@ -116,6 +118,7 @@ if( !class_exists( 'wpForo' ) ) {
116
'seo-title' => 1,
117
'seo-meta' => 1,
118
'seo-profile' => 1,
119
'font-awesome' => 1,
120
'user-synch' => 0,
121
'output-buffer' => 1,
1
<?php
2
/*
3
+ * Plugin Name: Forum - 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.1
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.1');
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' );
97
'top-bar-search' => 1,
98
'breadcrumb' => 1,
99
'footer-stat' => 1,
100
+ 'view-logging' => 1,
101
'author-link' => 0,
102
'comment-author-link' => 0,
103
'user-register' => 1,
104
'user-register-email-confirm' => 0,
105
'register-url' => 0,
106
'login-url' => 0,
107
+ 'resetpass-url' => 1,
108
'replace-avatar' => 1,
109
'avatars' => 1,
110
'custom-avatars' => 1,
118
'seo-title' => 1,
119
'seo-meta' => 1,
120
'seo-profile' => 1,
121
+ 'rss-feed' => 1,
122
'font-awesome' => 1,
123
'user-synch' => 0,
124
'output-buffer' => 1,