wpForo Forum - Version 1.4.8

Version Description

Download this release

Release Info

Developer Tomdever
Plugin Icon 128x128 wpForo Forum
Version 1.4.8
Comparing to
See all releases

Code changes from version 1.4.7 to 1.4.8

Files changed (60) hide show
  1. readme.txt +58 -3
  2. wpf-admin/admin.php +3 -4
  3. wpf-admin/dashboard.php +1 -1
  4. wpf-admin/html/privacy-policy-gdpr.html +114 -0
  5. wpf-admin/html/simple-forum-rules.html +9 -0
  6. wpf-admin/options-tabs/api.php +153 -1
  7. wpf-admin/options-tabs/features.php +42 -34
  8. wpf-admin/options-tabs/general.php +1 -1
  9. wpf-admin/options-tabs/posts.php +20 -8
  10. wpf-admin/tools-tabs/antispam.php +46 -2
  11. wpf-admin/tools-tabs/legal.php +181 -0
  12. wpf-admin/tools-tabs/misc.php +4 -4
  13. wpf-admin/tools.php +8 -4
  14. wpf-admin/xml/english.xml +45 -1
  15. wpf-assets/images/sn/fb-m.png +0 -0
  16. wpf-assets/images/sn/gg-m.png +0 -0
  17. wpf-assets/images/sn/location-1.png +0 -0
  18. wpf-assets/images/sn/location-2.png +0 -0
  19. wpf-assets/images/sn/location-3.png +0 -0
  20. wpf-assets/images/sn/location-4.png +0 -0
  21. wpf-assets/images/sn/location-5.png +0 -0
  22. wpf-assets/images/sn/location-6.png +0 -0
  23. wpf-assets/images/sn/ok-m.png +0 -0
  24. wpf-assets/images/sn/share-m.png +0 -0
  25. wpf-assets/images/sn/toggle-1.png +0 -0
  26. wpf-assets/images/sn/toggle-2.png +0 -0
  27. wpf-assets/images/sn/toggle-3.png +0 -0
  28. wpf-assets/images/sn/toggle-4.png +0 -0
  29. wpf-assets/images/sn/tw-m.png +0 -0
  30. wpf-assets/images/sn/vk-m.png +0 -0
  31. wpf-assets/js/frontend.js +74 -0
  32. wpf-includes/class-api.php +379 -48
  33. wpf-includes/class-cache.php +21 -6
  34. wpf-includes/class-feed.php +18 -2
  35. wpf-includes/class-forums.php +81 -54
  36. wpf-includes/class-members.php +89 -63
  37. wpf-includes/class-moderation.php +14 -10
  38. wpf-includes/class-permissions.php +6 -6
  39. wpf-includes/class-phrases.php +10 -10
  40. wpf-includes/class-posts.php +136 -46
  41. wpf-includes/class-subscribes.php +104 -12
  42. wpf-includes/class-template.php +165 -108
  43. wpf-includes/class-topics.php +102 -74
  44. wpf-includes/class-usergroups.php +14 -14
  45. wpf-includes/functions-installation.php +652 -642
  46. wpf-includes/functions-integration.php +19 -85
  47. wpf-includes/functions-template.php +217 -20
  48. wpf-includes/functions.php +186 -86
  49. wpf-includes/install-sql.php +16 -14
  50. wpf-includes/integration/buddypress.php +742 -0
  51. wpf-includes/integration/legal.php +215 -0
  52. wpf-includes/wpf-actions.php +29 -6
  53. wpf-includes/wpf-hooks.php +124 -82
  54. wpf-includes/wpf-phrases.php +2 -2
  55. wpf-languages/wpforo-da_DK.mo +0 -0
  56. wpf-languages/wpforo-da_DK.po +4690 -0
  57. wpf-languages/wpforo-lt_LT.mo +0 -0
  58. wpf-languages/wpforo-lt_LT.po +4713 -0
  59. wpf-languages/wpforo-pt_BR.mo +0 -0
  60. wpf-languages/wpforo-pt_BR.po +3144 -2357
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: gVectors Team
3
  Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
4
  Requires at least: 4.1
5
  Tested up to: 4.9
6
- Stable tag: 1.4.7
7
  Requires PHP: 5.4 and higher
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -24,6 +24,7 @@ wpForo Forums is the best WordPress forum plugin. Full-fledged yet easy and ligh
24
 
25
  Support Forum and Demo: [https://wpforo.com/community/](https://wpforo.com/community/)
26
  Forum Documentation: [https://wpforo.com/documentation/](https://wpforo.com/documentation/)
 
27
 
28
 
29
  = Multi-layout WordPress Forum Plugin =
@@ -34,7 +35,7 @@ Forum Documentation: [https://wpforo.com/documentation/](https://wpforo.com/docu
34
 
35
  = Available Forum Translations =
36
 
37
- **Czech** , **Dutch**, **French**, **French**, **German**, **Hebrew**, **Japanese**, **Persian**, **Portuguese**, **Polish**, **Russian**, **Spanish** , **Spanish** , **Swedish**, **Korean**.
38
 
39
  = FORUM FEATURES =
40
 
@@ -53,7 +54,10 @@ Forum Documentation: [https://wpforo.com/documentation/](https://wpforo.com/docu
53
  * Built-in, powerful forum Usergroup system.
54
  * Forum Access sets per Usergroup per Forum.
55
  * Forum Phrase System for quick translation.
56
- * WordPress .MO/.PO translation files.
 
 
 
57
  * Easy to migrate with [Go2wpForo](https://wpforo.com/community/migrate-to-wpforo-from-other-forum-plugins/migrate-to-wpforo-go2wpforo-tool/) tool.
58
 
59
  = Need more forum features? =
@@ -120,6 +124,10 @@ Find wpForo forum plugin addons on [gVectors Team website...](https://gvectors.c
120
 
121
  **Forum Translation** - wpForo forum can be translated using PO/MO files or you can do a quick translation using wpForo Forum Phrase system in Dashboard > Forums > Phrases admin page.
122
 
 
 
 
 
123
 
124
 
125
  == Screenshots ==
@@ -144,6 +152,53 @@ Find wpForo forum plugin addons on [gVectors Team website...](https://gvectors.c
144
 
145
  == Changelog ==
146
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  = wpForo Forum 1.4.6 / 1.4.7 | 09.03.2018 =
148
 
149
  [wpForo v1.4.7 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-7-is-released/)
3
  Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
4
  Requires at least: 4.1
5
  Tested up to: 4.9
6
+ Stable tag: 1.4.8
7
  Requires PHP: 5.4 and higher
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
24
 
25
  Support Forum and Demo: [https://wpforo.com/community/](https://wpforo.com/community/)
26
  Forum Documentation: [https://wpforo.com/documentation/](https://wpforo.com/documentation/)
27
+ GDPR Compliance: [https://wpforo.com/gdpr/](https://wpforo.com/gdpr/)
28
 
29
 
30
  = Multi-layout WordPress Forum Plugin =
35
 
36
  = Available Forum Translations =
37
 
38
+ **Czech** , **Dutch**, **Danish**, **French**, **French**, **German**, **Hebrew**, **Japanese**, **Persian**, **Portuguese**, **Polish**, **Russian**, **Spanish** , **Spanish** , **Swedish**, **Korean**.
39
 
40
  = FORUM FEATURES =
41
 
54
  * Built-in, powerful forum Usergroup system.
55
  * Forum Access sets per Usergroup per Forum.
56
  * Forum Phrase System for quick translation.
57
+ * WordPress .MO/.PO translation files.
58
+ * Tools and options for GDPR Compliance
59
+ * Social Network Sahre Buttons
60
+ * BuddyPress Integration
61
  * Easy to migrate with [Go2wpForo](https://wpforo.com/community/migrate-to-wpforo-from-other-forum-plugins/migrate-to-wpforo-go2wpforo-tool/) tool.
62
 
63
  = Need more forum features? =
124
 
125
  **Forum Translation** - wpForo forum can be translated using PO/MO files or you can do a quick translation using wpForo Forum Phrase system in Dashboard > Forums > Phrases admin page.
126
 
127
+ = Forum GDPR Compliance - Tools and options to comply to GDPR =
128
+
129
+ **Forum GDPR Compliance** - wpForo has almost all forum specific tools and functions to comply your forum to GDPR. Please navigate to Forums > Tools > Privacy & Rules admin page and go through all instructions and options.
130
+
131
 
132
 
133
  == Screenshots ==
152
 
153
  == Changelog ==
154
 
155
+ = wpForo Forum 1.4.8 | 30.04.2018 =
156
+
157
+ [wpForo v1.4.8 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-8-is-released/)
158
+
159
+ * Added: GDPR Compliance / [Doc](https://wpforo.com/docs/root/gdpr/right-to-be-informed/)
160
+ * Added: GDPR | Checkbox - Accept Forum Privacy Policy
161
+ * Added: GDPR | Checkbox - Accept Website Privacy Policy
162
+ * Added: GDPR | Checkbox - Accept Email confirmation
163
+ * Added: GDPR | Checkbox - Accept Forum Rules
164
+ * Added: GDPR | Checkbox - Accept Facebook Login processing
165
+ * Added: GDPR | Forum Privacy Policy Template
166
+ * Added: GDPR | Forum Rules Template
167
+ * Added: GDPR | Manage Cookies
168
+ * Added: GDPR | Button to contact forum admin
169
+ * Added: GDPR | Checkboxes on registration page
170
+ * Added: GDPR | Checkboxes on guest posting editors
171
+ * Added: Share Buttons
172
+ * Added: Share | Post specific share buttons (3 locations)
173
+ * Added: Share | General share buttons (2 locations)
174
+ * Added: Share | Different share button style and type
175
+ * Added: BuddyPress Integration
176
+ * Added: BuddyPress | Forums Menu
177
+ * Added: BuddyPress | Profile Tab Forums > Create forum topics,
178
+ * Added: BuddyPress | Profile Tab Forums > Posted forum replies,
179
+ * Added: BuddyPress | Profile Tab Forums > Liked Posts,
180
+ * Added: BuddyPress | Profile Tab Forums > Subscriptions,
181
+ * Added: BuddyPress | Notification Integration,
182
+ * Added: BuddyPress | Update Activity on post status changing,
183
+ * Added: Forum Subscription Manager in My Profile > Subscriptions page,
184
+ * Added: Recent Topics Widget (order by updated date, posts, views),
185
+ * Added: Option to enable new HTML tags in post content,
186
+ * Added: Options to disable file scanning, exclude file extensions,
187
+ * Added: Allow /* extension in nofollow list of SEO Tools
188
+ * Added: Danish Translation ( da_DK ), many thanks to Tom
189
+ * Fixed Bug: reCAPTCHA Bug, can't login when WP forms are disabled
190
+ * Fixed Bug: Removed "iframe" tag in post content by default
191
+ * Fixed Bug: Q&A Layout, problem with counting of answers
192
+ * Fixed Bug: Simplified Layout, last posted guest avatar issue
193
+ * Fixed Bug: - Choose - option for required dropdown filed
194
+ * Fixed Bug: Database error related to users table on Multisite
195
+ * Fixed Bug: Problem with Usergroup field on Account page
196
+ * Fixed Bug: URL type of user avatar doesn't work
197
+ * Fixed Bug: Fully disable Forum RSS Feed
198
+ * Fixed Bug: Private forum last post info in forum statistic
199
+ * Fixed Bug: Subforum topic doesn't update parent forums information
200
+ * Fixed Bug: Yoast Deprecated function
201
+
202
  = wpForo Forum 1.4.6 / 1.4.7 | 09.03.2018 =
203
 
204
  [wpForo v1.4.7 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-7-is-released/)
wpf-admin/admin.php CHANGED
@@ -4,9 +4,9 @@
4
  if( !defined( 'ABSPATH' ) ) exit;
5
 
6
  function wpforo_add_menu(){
7
- WPF()->moderation->spam_attachment();
 
8
 
9
- $all_count = 0;
10
  $mod_count = WPF()->post->unapproved_count(); $mod_count_num = intval($mod_count);
11
  $mod_count = ( $mod_count ) ? ' <span class="awaiting-mod count-1"><span class="pending-count">' . intval($mod_count) . '</span></span> ' : '' ;
12
  $ban_count = WPF()->member->banned_count(); $ban_count_num = intval($ban_count);
@@ -27,12 +27,11 @@
27
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Settings', 'wpforo'), __('Settings', 'wpforo'), 'read', 'wpforo-settings', 'wpforo_settings');
28
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Tools', 'wpforo'), __('Tools', 'wpforo'), 'read', 'wpforo-tools', 'wpforo_tools');
29
  if( WPF()->perm->usergroup_can('aum') ) add_submenu_page('wpforo-community', __('Moderation', 'wpforo'), __('Moderation' , 'wpforo') . $mod_count, 'read', 'wpforo-moderations', 'wpforo_moderations');
30
- if( WPF()->perm->usergroup_can('vm') ) add_submenu_page('wpforo-community', __('Members', 'wpforo'), __('Members', 'wpforo') . $ban_count, 'read', 'wpforo-members', 'wpforo_member_menu');
31
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Usergroups', 'wpforo'), __('Usergroups', 'wpforo'), 'read', 'wpforo-usergroups', 'wpforo_usergroups_menu');
32
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Phrases', 'wpforo'), __('Phrases', 'wpforo'), 'read', 'wpforo-phrases', 'wpforo_phrases');
33
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Themes', 'wpforo'), __('Themes', 'wpforo'), 'read', 'wpforo-themes', 'wpforo_themes');
34
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Addons', 'wpforo'), __('Addons', 'wpforo'), 'read', 'wpforo-addons', 'wpforo_addons');
35
- //exit();
36
  }
37
  add_action('admin_menu', 'wpforo_add_menu', 39);
38
 
4
  if( !defined( 'ABSPATH' ) ) exit;
5
 
6
  function wpforo_add_menu(){
7
+
8
+ if( WPF()->tools_antispam['spam_file_scanner'] ) WPF()->moderation->spam_attachment();
9
 
 
10
  $mod_count = WPF()->post->unapproved_count(); $mod_count_num = intval($mod_count);
11
  $mod_count = ( $mod_count ) ? ' <span class="awaiting-mod count-1"><span class="pending-count">' . intval($mod_count) . '</span></span> ' : '' ;
12
  $ban_count = WPF()->member->banned_count(); $ban_count_num = intval($ban_count);
27
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Settings', 'wpforo'), __('Settings', 'wpforo'), 'read', 'wpforo-settings', 'wpforo_settings');
28
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Tools', 'wpforo'), __('Tools', 'wpforo'), 'read', 'wpforo-tools', 'wpforo_tools');
29
  if( WPF()->perm->usergroup_can('aum') ) add_submenu_page('wpforo-community', __('Moderation', 'wpforo'), __('Moderation' , 'wpforo') . $mod_count, 'read', 'wpforo-moderations', 'wpforo_moderations');
30
+ if( WPF()->perm->usergroup_can('vm') ) add_submenu_page('wpforo-community', __('Members', 'wpforo'), __('Members', 'wpforo'), 'read', 'wpforo-members', 'wpforo_member_menu');
31
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Usergroups', 'wpforo'), __('Usergroups', 'wpforo'), 'read', 'wpforo-usergroups', 'wpforo_usergroups_menu');
32
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Phrases', 'wpforo'), __('Phrases', 'wpforo'), 'read', 'wpforo-phrases', 'wpforo_phrases');
33
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Themes', 'wpforo'), __('Themes', 'wpforo'), 'read', 'wpforo-themes', 'wpforo_themes');
34
  if( WPF()->current_user_groupid == 1 ) add_submenu_page('wpforo-community', __('Addons', 'wpforo'), __('Addons', 'wpforo'), 'read', 'wpforo-addons', 'wpforo_addons');
 
35
  }
36
  add_action('admin_menu', 'wpforo_add_menu', 39);
37
 
wpf-admin/dashboard.php CHANGED
@@ -24,7 +24,7 @@
24
  <div class="inside">
25
  <div class="main" style="padding:5px 15px 15px 15px;">
26
  <div style="float:left; vertical-align:top; width:calc(100% - 300px);;">
27
- <p style="font-size:30px; margin:0px 0px 10px 0px; font-family:Constantia, 'Lucida Bright', 'DejaVu Serif', Georgia, serif"><?php _e('Welcome to wpForo', 'wpforo'); echo esc_html(WPFORO_VERSION) ?></p>
28
  <p style="margin:0px; font-size:14px;font-family:'Lucida Bright', 'DejaVu Serif', Georgia, serif">
29
  <?php _e('Thank you for using wpForo! wpForo is a professional bulletin board for WorPress, and the only forum software which comes with Multi-layout template system.
30
  The "Extended", "Simplified" and "Question &amp Answer" layouts fit almost all type of discussions needs. You can use wpForo for small and extremely large communities.
24
  <div class="inside">
25
  <div class="main" style="padding:5px 15px 15px 15px;">
26
  <div style="float:left; vertical-align:top; width:calc(100% - 300px);;">
27
+ <p style="font-size:30px; margin:0px 0px 10px 0px; font-family:Constantia, 'Lucida Bright', 'DejaVu Serif', Georgia, serif"><?php _e('Welcome to wpForo', 'wpforo'); echo ' ' . esc_html(WPFORO_VERSION) ?></p>
28
  <p style="margin:0px; font-size:14px;font-family:'Lucida Bright', 'DejaVu Serif', Georgia, serif">
29
  <?php _e('Thank you for using wpForo! wpForo is a professional bulletin board for WorPress, and the only forum software which comes with Multi-layout template system.
30
  The "Extended", "Simplified" and "Question &amp Answer" layouts fit almost all type of discussions needs. You can use wpForo for small and extremely large communities.
wpf-admin/html/privacy-policy-gdpr.html ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h1>- Forum Privacy Policy -</h1>
2
+ <span style="color: #808080; font-size: 16px; font-weight: normal; line-height: 30px;">---- TEMPLATE <span style="font-size: 12px;">(remove this after editing and approving the content)</span> ---</span>
3
+
4
+ In this Privacy Policy, "we", "us" and "our" refers to: [forum-name].
5
+
6
+ This is privacy policy sets out how [forum-name] uses and protects any information that you provide, whilst using [forum-name] products and services. This only includes [forum-name] ( [forum-url] ) . [forum-name] may change this policy as and when necessary. We will provide a more prominent notice (including email notification of privacy policy changes).
7
+ <h2>1. What information we collect about you and how we use this information</h2>
8
+ <h3>1.1 Account and Profile Information</h3>
9
+ You don’t have to create an account to use this forum, such as searching and viewing public member profiles, forums, topics and posts. If you do choose to create an account, you must provide us with some personal data so that we can provide our services to you. This includes a display name (for example, "John Doe"), nickname (for example, @john-doe) a username (for example, johnxdoe), a password, and an email address. Your display name and nickname is always public, but you can use either your real name or a pseudonym. After the registration your account display name, nickname and username are the same. We recommend to change display name and nickname to keep the username private and secure. You can change those in your account editing page.
10
+
11
+ Once you registered and created an account, you also have the option of adding these public information:
12
+ <ul>
13
+ <li>Member Title</li>
14
+ <li>Avatar</li>
15
+ <li>Biography (About Me)</li>
16
+ <li>Website</li>
17
+ <li>Occupation</li>
18
+ <li>Signature</li>
19
+ <li>Social Network Account addresses</li>
20
+ <li>Location (Country)</li>
21
+ <li>Timezon</li>
22
+ <li>And other details to your profile information to be displayed in our community.</li>
23
+ </ul>
24
+ Additionally, whilst using the [forum-name] the following information may be collected (not public):
25
+ <ul>
26
+ <li>Internet Protocol (IP) address (not public)</li>
27
+ <li>Geographical location</li>
28
+ <li>Browser type and version (not public)</li>
29
+ <li>Operating system (not public)</li>
30
+ <li>Referral source (not public)</li>
31
+ <li>Length of visit, page views, website navigation and any other related browsing activity</li>
32
+ </ul>
33
+ Most activity on [forum-name] is public, including your profile information mentioned above. You also may choose to publish your location in your profile. Information posted about you by other people who use our forum may also be public. For example, other people may mention you using @nickname in posts.
34
+
35
+ You are responsible for your topics, posts and other information you provide through our services, and you should think carefully about what you make public, especially if it is sensitive information.
36
+
37
+ You may choose to register connecting your account to accounts on another service (e.g. Facebook login), and that other service may send us information about your account on that service. We use the information we receive to provide you features like cross-posting or cross-service authentication, and to operate our community. We create new account in our community for you based on your third party account information you share.
38
+ <h3>1.2 Contact Information</h3>
39
+ We use your contact information, such as your email address, to authenticate your account and keep it - and our services - secure, and to help prevent spam, fraud, and abuse. We also use contact information to personalize our services, enable certain account features for example, for login verification, reset password, to send you information about our community and notify on new replies to your subscribed forums and topics. You can also unsubscribe from any email notifications.
40
+
41
+ If you email us, we will keep the content of your message, your email address, and your contact information to respond to your request.
42
+ <h3>1.3 Private Messages and Non-Public Communications</h3>
43
+ We provide certain features that let you communicate more privately or control who sees your content. For example if forum admin is enabled, you can check the "Set Topic Private" checkbox when you create a topic or click on the "Private" button of your topic first post, or use the Private Messages to have non-public conversations. In these cases we will store and process your communications and information related to them. This includes message content, images, information about whom you have communicated with and when to better understand the use of our community, to protect the safety and review the reported messages. We share the content of your Private Messages with the people you’ve sent them to; we do not use them to serve you ads. When you use features like Private Messages to communicate, remember that recipients have their own copy of your communications on [forum-name] - even if you delete your copy of those messages from your account - which they may duplicate, store, or re-share.
44
+ <h3>1.4 Cookies</h3>
45
+ A cookie is a small piece of data that is stored on your computer or mobile device. Like many websites, we use cookies and similar technologies to collect additional website usage data and to operate our community. Cookies are not required for many parts of our community such as searching and looking at public profiles. Although most web browsers automatically accept cookies, many browsers’ settings can be set to decline cookies or alert you when a website is attempting to place a cookie on your computer. However, some of our community features may not function properly if you disable cookies. We do not support the Do Not Track browser option. You can learn more about how we use cookies and similar technologies here.
46
+
47
+ <strong>We use cookies for the following purposes</strong>
48
+
49
+ 1.4.1 Authentication - we use cookies to identify you when you visit our community. When you create a topic or post a reply as guest (not registered user) we store your name and email address in cookies. We use this information to detect current visitor content (topics, posts) and display it to you even if the content is under moderation (not approved by moderators). The name is used to display as topic/post author name. Also we store your name and email in cookies to keep filled these fields when you post a new reply or create a new topic (you don't heave to fill these information every time you post a content). We recommend don't use guest posting option on non-personal devices, or at least delete browser cookies when you leave it.
50
+
51
+ 1.4.2 Status - we use cookies to help us to determine if you are logged into our website.
52
+
53
+ 1.4.3 Security - we use cookies as an element of the security measures used to protect user accounts, including preventing fraudulent use of login credentials, and to protect our website and services generally.
54
+
55
+ <strong>Cookies used by our service providers</strong>
56
+
57
+ 1.4.4 Our service providers use cookies and those cookies may be stored on your computer when you visit our website.
58
+
59
+ 1.4.5 We use Google Analytics to analyse the use of our website. Google Analytics gathers information about website use by means of cookies. The information gathered relating to our website is used to create reports about the use of our website. Google's privacy policy is available at: <a href="https://www.google.com/policies/privacy/">https://www.google.com/policies/privacy/</a> .
60
+
61
+ 1.4.6 We publish Google AdSense interest-based advertisements on our website. These are tailored by Google to reflect your interests. We publish Google AdSense advertisements on our website. To determine your interests, Google will track your behaviour on our website and on other websites across the web using cookies. This behaviour tracking allows Google to tailor the advertisements that you see on other websites to reflect your interests (but we do not publish interest-based advertisements on our website). You can view, delete or add interest categories associated with your browser by visiting: <a href="https://adssettings.google.com">https://adssettings.google.com</a>. You can also opt out of the AdSense partner network cookie using those settings or using the Network Advertising Initiative's multi-cookie opt-out mechanism at: <a href="http://optout.networkadvertising.org">http://optout.networkadvertising.org</a>. However, these opt-out mechanisms themselves use cookies, and if you clear the cookies from your browser your opt-out will not be maintained. To ensure that an opt-out is maintained in respect of a particular browser, you may wish to consider using the Google browser plug-ins available at: <a href="https://support.google.com/ads/answer/7395996">https://support.google.com/ads/answer/7395996</a>.
62
+ <h3>1.5 Log Data</h3>
63
+ We receive information when you view content on or otherwise interact with our community, which we refer to as "Log Data," even if you have not created an account. For example, when you visit our websites, sign into our community, interact with our email notifications, we may receive information about you. This Log Data includes information such as your IP address, browser type, operating system, the referring web page, pages visited, location, your mobile carrier, device information (including device and application IDs), search terms, and cookie information. We use Log Data to operate our services and ensure their secure, reliable, and robust performance. We use information you provide to us and data we receive, including Log Data and data from third parties, to make inferences like what topics you may be interested in and what languages you speak. This helps us better design our services for you and personalize the content we show you.
64
+ <h2>2. Information We Share and Disclos</h2>
65
+ <h3>2.1 How we share information we collect</h3>
66
+ You should be aware that any information you provide on our community - including profile information associated with the account you use to post the information - may be read, collected, and used by any member of the public who accesses these websites. Your posts and certain profile information may remain even after you terminate your account. We urge you to consider the sensitivity of any information you input into these Services. To request removal of your information from publicly accessible websites operated by us, please <strong>contact us</strong>. In some cases, we may not be able to remove your information, in which case we will let you know if we are unable to and why.
67
+ <h3>2.2 Sharing with third parties</h3>
68
+ <strong>2.2.1 Service Providers:</strong> We share information with third parties that help us operate, provide, improve, integrate, customize, support and market our services. We work with third-party service providers to provide website and application development, hosting, maintenance, backup, storage, virtual infrastructure, payment processing, analysis and other services for us, which may require them to access or use information about you. If a service provider needs to access information about you to perform services on our behalf, they do so under close instruction from us, including policies and procedures designed to protect your information.
69
+
70
+ Our administrators may choose to add new functionality or change the behavior of the community by installing third party apps within the community. Doing so may give third-party apps access to your account and information about you like your name and email address, and any content you choose to use in connection with those apps. Third-party app policies and procedures are not controlled by us, and this privacy policy does not cover how third-party apps use your information. We encourage you to review the privacy policies of third parties before connecting to or using their applications or services to learn more about their privacy and information handling practices. If you object to information about you being shared with these third parties, please uninstall the contact us and let us know as soon as possible. Below are the third party services we use on our community:
71
+ <ul>
72
+ <li>Akismet (by Automattic Inc.) - Spam fighting service that protects millions of WordPress sites. Automattic Privacy Policy: <a href="https://automattic.com/privacy/" target="_blank" rel="noopener noreferrer">https://automattic.com/privacy/</a></li>
73
+ <li>reCAPTCHA (by Google) - Protects internet users from spam and abuse wherever they go. Google Privacy Policy: <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">https://policies.google.com/privacy</a></li>
74
+ </ul>
75
+ <strong>2.2.2 Links to Third Party Sites:</strong> Our community may include links that direct you to other websites or services whose privacy practices may differ from ours. If you submit information to any of those third party sites, your information is governed by their privacy policies, not this one. We encourage you to carefully read the privacy policy of any website you visit.
76
+
77
+ <strong>2.2.3 Social Media Widgets:</strong> The Services may include links that direct you to other websites or services whose privacy practices may differ from ours. Your use of and any information you submit to any of those third-party sites is governed by their privacy policies, not this one.
78
+
79
+ <strong>2.2.4 Third-Party Widgets:</strong> Some of our Services contain widgets and social media features, such as the Facebook "share" or Twitter "tweet" buttons. These widgets and features collect your IP address, which page you are visiting on the Services, and may set a cookie to enable the feature to function properly. Widgets and social media features are either hosted by a third party or hosted directly on our Services. Your interactions with these features are governed by the privacy policy of the company providing it.
80
+ <h3>2.3 Law, Harm, and the Public Interest</h3>
81
+ Notwithstanding anything to the contrary in this Privacy Policy or controls we may otherwise offer to you, we may preserve, use, or disclose your personal data if we believe that it is reasonably necessary to comply with a law, regulation, legal process, or governmental request; to protect the safety of any person; to protect the safety or integrity of our platform, including to help prevent spam, abuse, or malicious actors on our services, or to explain why we have removed content or accounts from our services; to address fraud, security, or technical issues; or to protect our rights or property or the rights or property of those who use our services. However, nothing in this Privacy Policy is intended to limit any legal defenses or objections that you may have to a third party’s, including a government’s, request to disclose your personal data.
82
+ <h3>2.4 Non-Personal Information</h3>
83
+ We share or disclose non-personal data, such as aggregated information like the community statistic (online users, visitors, current viewers of a topic, etc...), the number of people who clicked on a particular link (number of topic views) or voted on a poll in a topic (even if only one did).
84
+ <h2>3. How to access and control your information</h2>
85
+ <h3>3.1 Accessing or Rectifying Your Personal Data</h3>
86
+ You have the right to request a copy of your information, to object to our use of your information. If you have registered an account on our community, we provide you with tools and account settings to access, correct, delete, or modify the personal data you provided to us and associated with your account. You can request for downloading your account information, including your created content (posts). You also can request correction, deletion, or modification of your personal data.
87
+
88
+ Your request and choices may be limited in certain cases: for example, if fulfilling your request would reveal information about another person, or if you ask to delete information which we or your administrator are permitted by law or have compelling legitimate interests to keep. Where you have asked us to share data with third parties, for example, by installing third-party apps, you will need to contact those third-party service providers directly to have your information deleted or otherwise restricted.
89
+ <h3>3.2 Deletion Your Personal Data</h3>
90
+ You can request for your account deletion. This will include personal data, profile data, created content, logs, etc... Cookies should be deleted from your side. Almost all browsers have an option to delete cookies.
91
+
92
+ Keep in mind that search engines and other third parties may still retain copies of your public information, like your profile information, even after we/you have deleted the information from our community.
93
+ <h3>3.3 Restrict Processing</h3>
94
+ <strong>3.3.1 Request that we stop using your information</strong>: In some cases, you may ask us to stop accessing, storing, using and otherwise processing your information where you believe we don't have the appropriate rights to do so. For example, if you believe a community account was created for you without your permission or you are no longer an active user, you can request that we delete your account (contact us). Where you gave us consent to use your information for a limited purpose, you can contact us to withdraw that consent, but this will not affect any processing that has already taken place at the time. You can also opt-out of our use of your information for marketing purposes by contacting us. When you make such requests, we may need time to investigate and facilitate your request. If there is delay or dispute as to whether we have the right to continue using your information, we will restrict any further use of your information until the request is honored or the dispute is resolved, provided your administrator does not object (where applicable). If you object to information about you being shared with a third-party app, please disable the app or contact your administrator to do so.
95
+
96
+ <strong>3.3.2 Opt out of communications</strong>: You may opt out of receiving email notifications related to your subscribed forums and posts or promotional communications from us by using the unsubscribe link within each email, updating your subscription settings in My Profile &gt; Subscription page, or by contacting us as provided below to have your contact information removed from our promotional email list or registration database.
97
+ <h3>3.4 Data portability</h3>
98
+ Data portability is the ability to obtain some of your information in a format you can keep in your devices or share with other communities. Depending on the context, this applies to some of your information, but not to all of your information. Should you request it, we will provide you with an electronic file of your basic account information and the information you create on the spaces you under your sole control, like your topics (only with your posts), your replies in other topics, private messages and conversations (only with your messages), etc...
99
+ <h2>4. How we store and secure information we collect</h2>
100
+ We use data hosting service providers to host the information we collect, and we use technical measures to secure your data. While we implement safeguards designed to protect your information, no security system is impenetrable and due to the inherent nature of the Internet, we cannot guarantee that data, during transmission through the Internet or while stored on our systems or otherwise in our care, is absolutely safe from intrusion by others.
101
+ <h2>5. Children and Our Community</h2>
102
+ Our community is not directed to children, and you may not use our services if you are under the age of 13. You must also be old enough to consent to the processing of your personal data in your country (in some countries we may allow your parent or guardian to do so on your behalf).
103
+ <h2>6. Online Privacy Policy Only</h2>
104
+ This online privacy policy applies only to information collected through our website and not to information collected offline.
105
+ <h2>7. Your Consent To This Policy</h2>
106
+ By using our site, you consent to our Privacy Policy.
107
+ <h2>8. Changes To This Privacy Policy</h2>
108
+ We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page.
109
+
110
+ We will let you know via email and/or a prominent notice on our Service, prior to the change becoming effective and update the "effective date" at the top of this Privacy Policy.
111
+
112
+ You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.
113
+ <h2>9. Contact Us</h2>
114
+ If you have any questions about this Privacy Policy, please contact us or open public or private topic in our community.
wpf-admin/html/simple-forum-rules.html ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <h2>Forum Rules</h2>
2
+ <ol>
3
+ <li>No spam. All automated messages, advertisements, and links to competitor websites will be deleted immediately.</li>
4
+ <li>Post in relevant sub-forums only. Messages posted in the wrong topic area will be removed and placed in the correct sub-forum by moderators.</li>
5
+ <li>Respect other users. No flaming or abusing fellow forum members. Users who continue to post inflammatory, abusive comments will be deleted from the forum after two warnings are issued by moderators.</li>
6
+ <li>Harassment. No threats or harassment of other users will be tolerated. Any instance of threatening or harassing behavior is grounds for deletion from the forums.</li>
7
+ <li>Adult content. No profanity or pornography is allowed. Posts containing adult material will be deleted.</li>
8
+ <li>Illegal content. No re-posting of copyrighted materials or other illegal content is allowed. Any posts containing illegal content or copyrighted materials will be deleted.</li>
9
+ </ol>
wpf-admin/options-tabs/api.php CHANGED
@@ -12,7 +12,7 @@
12
  <tr>
13
  <td colspan="2" style="border-bottom:3px solid #395598;">
14
  <h3 style="font-weight:600; padding:0px 0px 0px 0px; margin:0px; text-align:right; color:#666666;">
15
- <div style="float:left; height:25px; line-height:25px;"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/fb-m.jpg' ?>" align="middle" /></div>
16
  Facebook API &nbsp;
17
  </h3>
18
  </td>
@@ -86,6 +86,158 @@
86
  <input style="margin-top:10px; padding:3px 5px; font-size:13px; width:48%;" name="wpforo_api_options[fb_redirect_url]" placeholder="<?php _e('Custom URL, e.g.: http://example.com/my-page/', 'wpforo'); ?>" type="text" value="<?php echo trim(WPF()->api->options['fb_redirect_url']); ?>"/>&nbsp; <?php _e('Custom URL', 'wpforo'); ?>
87
  </td>
88
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  <?php do_action('wpforo_settings_api_bottom'); ?>
90
  </tbody>
91
  </table>
12
  <tr>
13
  <td colspan="2" style="border-bottom:3px solid #395598;">
14
  <h3 style="font-weight:600; padding:0px 0px 0px 0px; margin:0px; text-align:right; color:#666666;">
15
+ <div style="float:left; height:30px; line-height:25px;"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/fb-m.png' ?>" align="middle" style="height: 100%"/></div>
16
  Facebook API &nbsp;
17
  </h3>
18
  </td>
86
  <input style="margin-top:10px; padding:3px 5px; font-size:13px; width:48%;" name="wpforo_api_options[fb_redirect_url]" placeholder="<?php _e('Custom URL, e.g.: http://example.com/my-page/', 'wpforo'); ?>" type="text" value="<?php echo trim(WPF()->api->options['fb_redirect_url']); ?>"/>&nbsp; <?php _e('Custom URL', 'wpforo'); ?>
87
  </td>
88
  </tr>
89
+ <tr>
90
+ <td colspan="2" style="border-bottom:3px solid #00C000;">
91
+ <h3 style="font-weight:600; padding:0px 0px 0px 0px; margin:0px; text-align:right; color:#666666;">
92
+ <div style="float:left; height:30px; line-height:25px;"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/share-m.png' ?>" align="middle" style="height: 100%" /></div>
93
+ Share Buttons &nbsp;
94
+ </h3>
95
+ </td>
96
+ </tr>
97
+ <tr>
98
+ <td colspan="2" style="padding: 2px"></td>
99
+ </tr>
100
+ <tr>
101
+ <th>
102
+ <label><?php _e('Active Share Buttons', 'wpforo'); ?></label>
103
+ <p class="wpf-info"><?php _e('Check the checkbox below share options to activate. <b>Please note, that the Facebook share button cannot be activated without Facebook API ID.</b> Please follow to the "Facebook API Configuration" option instruction above and fill the API ID field in order to activate Facebook Share button.', 'wpforo'); ?></p>
104
+ </th>
105
+ <td>
106
+ <?php $_sb = WPF()->api->options['sb']; ?>
107
+ <input type="hidden" name="wpforo_api_options[sb][x]" value="1">
108
+ <div style="float: left; width: 40px; text-align: center; background: #3B5A9A; padding: 1px 18px 3px 18px; margin: 10px 5px; margin-left: 0;">
109
+ <label for="sb_fb"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/fb-m.png' ?>" align="middle" style="width: 30px" /></label><br>
110
+ <input id="sb_fb" type="checkbox" name="wpforo_api_options[sb][fb]" value="1" <?php if(isset($_sb['fb']) && $_sb['fb'] ) echo 'checked'; ?> <?php if(!WPF()->api->options['fb_api_id']) echo 'disabled'; ?>/>
111
+ </div>
112
+ <div style="float: left; width: 40px; text-align: center; background: #00A3F5; padding: 1px 18px 3px 18px; margin: 10px 5px;">
113
+ <label for="sb_tw"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/tw-m.png' ?>" align="middle" style="width: 30px" /></label><br>
114
+ &nbsp;<input id="sb_tw" type="checkbox" name="wpforo_api_options[sb][tw]" value="1" <?php if(isset($_sb['tw']) && $_sb['tw'] ) echo 'checked'; ?> />
115
+ </div>
116
+ <div style="float: left; width: 40px; text-align: center; background: #FF492D; padding: 1px 18px 3px 18px; margin: 10px 5px;">
117
+ <label for="sb_gg"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/gg-m.png' ?>" align="middle" style="width: 30px" /></label><br>
118
+ &nbsp;<input id="sb_gg" type="checkbox" name="wpforo_api_options[sb][gg]" value="1" <?php if(isset($_sb['gg']) && $_sb['gg'] ) echo 'checked'; ?> />
119
+ </div>
120
+ <div style="float: left; width: 40px; text-align: center; background: #2D76A6; padding: 1px 18px 3px 18px; margin: 10px 5px;">
121
+ <label for="sb_vk"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/vk-m.png' ?>" align="middle" style="width: 30px" /></label><br>
122
+ &nbsp;&nbsp;<input id="sb_vk" type="checkbox" name="wpforo_api_options[sb][vk]" value="1" <?php if(isset($_sb['vk']) && $_sb['vk'] ) echo 'checked'; ?> />
123
+ </div>
124
+ <div style="float: left; width: 40px; text-align: center; background: #FF7800; padding: 1px 18px 3px 18px; margin: 10px 5px;">
125
+ <label for="sb_ok"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/ok-m.png' ?>" align="middle" style="width: 30px" /></label><br>
126
+ &nbsp;&nbsp;<input id="sb_ok" type="checkbox" name="wpforo_api_options[sb][ok]" value="1" <?php if(isset($_sb['ok']) && $_sb['ok'] ) echo 'checked'; ?> />
127
+ </div>
128
+ <div style="clear: both;"></div>
129
+ </td>
130
+ </tr>
131
+ <tr>
132
+ <th style="padding-top:5px;">
133
+ <label><?php _e('Enable Share Buttons', 'wpforo'); ?></label>
134
+ <p class="wpf-info"></p>
135
+ </th>
136
+ <td style="padding-top:10px; margin-right: 5px;">
137
+ <div style="float: left;">
138
+ <p style="margin: 0px; font-size: 14px;"><?php _e('General Share Buttons', 'wpforo'); ?></p>
139
+ <div class="wpf-switch-field" style="margin-top: 10px; margin-right: 5px;">
140
+ <input type="radio" value="1" name="wpforo_api_options[sb_on]" id="sb_on_2" <?php wpfo_check(WPF()->api->options['sb_on'], 1); ?>><label for="sb_on_2" style="width: 100px;">&nbsp;<?php _e('Enable', 'wpforo'); ?>&nbsp;</label> &nbsp;
141
+ <input type="radio" value="0" name="wpforo_api_options[sb_on]" id="sb_on_1" <?php wpfo_check(WPF()->api->options['sb_on'], 0); ?>><label for="sb_on_1" style="width: 100px;">&nbsp;<?php _e('Disable', 'wpforo'); ?>&nbsp;</label>
142
+ </div>
143
+ </div>
144
+ <div style="float: left; margin-left: 10px;">
145
+ <p style="margin: 0px; font-size: 14px;"><?php _e('Post Sharing Toggle', 'wpforo'); ?></p>
146
+ <div class="wpf-switch-field" style="margin-top: 10px; margin-bottom: 5px;">
147
+ <input type="radio" value="1" name="wpforo_api_options[sb_toggle_on]" id="sb_toggle_on_2" <?php wpfo_check(WPF()->api->options['sb_toggle_on'], 1); ?>><label for="sb_toggle_on_2" style="width: 100px;">&nbsp;<?php _e('Enable', 'wpforo'); ?>&nbsp;</label> &nbsp;
148
+ <input type="radio" value="0" name="wpforo_api_options[sb_toggle_on]" id="sb_toggle_on_1" <?php wpfo_check(WPF()->api->options['sb_toggle_on'], 0); ?>><label for="sb_toggle_on_1" style="width: 100px;">&nbsp;<?php _e('Disable', 'wpforo'); ?>&nbsp;</label>
149
+ </div>
150
+ </div>
151
+ <div style="clear: both;"></div>
152
+ </td>
153
+ </tr>
154
+ <tr>
155
+ <th style="padding-top:5px;">
156
+ <label><?php _e('General Share Buttons', 'wpforo'); ?></label>
157
+ <p class="wpf-info"><?php _e('General share buttons are forum and topic sharing buttons. They are located on the top and the bottom of each page. You can manage location of these buttons using "Share Buttons Location" options bellow.', 'wpforo'); ?></p>
158
+ </th>
159
+ <td style="padding-top:20px;">
160
+ <div class="wpf-switch-field" style="margin-bottom: 12px;">
161
+ <input type="radio" value="grey" name="wpforo_api_options[sb_style]" id="sb_style_1" <?php wpfo_check(WPF()->api->options['sb_style'], 'grey'); ?>><label for="sb_style_1" style="width: 100px;">&nbsp;<?php _e('Grey', 'wpforo'); ?>&nbsp;</label> &nbsp;
162
+ <input type="radio" value="colored" name="wpforo_api_options[sb_style]" id="sb_style_2" <?php wpfo_check(WPF()->api->options['sb_style'], 'colored'); ?>><label for="sb_style_2" style="width: 100px;">&nbsp;<?php _e('Colored', 'wpforo'); ?>&nbsp;</label> &nbsp;
163
+ </div>
164
+ <div class="wpf-switch-field">
165
+ <input type="radio" value="icon" name="wpforo_api_options[sb_type]" id="sb_type_2" <?php wpfo_check(WPF()->api->options['sb_type'], 'icon'); ?>><label for="sb_type_2" style="width: 100px;">&nbsp;<?php _e('Icon', 'wpforo'); ?>&nbsp;</label>
166
+ <input type="radio" value="button" name="wpforo_api_options[sb_type]" id="sb_type_1" <?php wpfo_check(WPF()->api->options['sb_type'], 'button'); ?>><label for="sb_type_1" style="width: 100px;">&nbsp;<?php _e('Button', 'wpforo'); ?>&nbsp;</label> &nbsp;
167
+ <input type="radio" value="button_count" name="wpforo_api_options[sb_type]" id="sb_type_3" <?php wpfo_check(WPF()->api->options['sb_type'], 'button_count'); ?>><label for="sb_type_3" style="width: 150px;">&nbsp;<?php _e('Button &amp; Count', 'wpforo'); ?>&nbsp;</label> &nbsp;
168
+ </div>
169
+ </td>
170
+ </tr>
171
+ <tr>
172
+ <th style="padding-top:5px;">
173
+ <label><?php _e('Post Sharing Toggle', 'wpforo'); ?></label>
174
+ <p class="wpf-info"><?php _e('Post sharing toggle allows you to share posts individually. You can see post sharing toggles on the left, right side or in top bar of each post. The toggle blue color is the current primary color (#12) of your forum style. For example, if you use the red forum style, the color of all share toggles will be red. This doesn\'t affect share button colors. They are always grey with original colors on mouse hover.', 'wpforo'); ?></p>
175
+ </th>
176
+ <td style="padding-top:5px;">
177
+ <div style="float: left; background: #fff; width: 75px; text-align: center; padding: 1px 18px 3px 18px; margin: 10px 5px 10px 0px; border: 1px solid #ddd;">
178
+ <label for="sb_toggle_1"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/toggle-1.png' ?>" align="middle"/></label><br>
179
+ &nbsp;&nbsp;<input id="sb_toggle_1" type="radio" name="wpforo_api_options[sb_toggle]" value="1" <?php wpfo_check(WPF()->api->options['sb_toggle'], 1); ?> />
180
+ </div>
181
+ <div style="float: left; background: #fff; width: 75px; text-align: center; padding: 1px 18px 3px 18px; margin: 10px 5px; border: 1px solid #ddd;">
182
+ <label for="sb_toggle_2"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/toggle-2.png' ?>" align="middle"/></label><br>
183
+ &nbsp;&nbsp;<input id="sb_toggle_2" type="radio" name="wpforo_api_options[sb_toggle]" value="2" <?php wpfo_check(WPF()->api->options['sb_toggle'], 2); ?> />
184
+ </div>
185
+ <div style="float: left; background: #fff; width: 75px; text-align: center; padding: 1px 18px 3px 18px; margin: 10px 5px; border: 1px solid #ddd;">
186
+ <label for="sb_toggle_3"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/toggle-3.png' ?>" align="middle"/></label><br>
187
+ &nbsp;&nbsp;<input id="sb_toggle_3" type="radio" name="wpforo_api_options[sb_toggle]" value="3" <?php wpfo_check(WPF()->api->options['sb_toggle'], 3); ?> />
188
+ </div>
189
+ <div style="float: left; background: #fff; width: 75px; text-align: center; padding: 1px 18px 3px 18px; margin: 10px 5px; border: 1px solid #ddd;">
190
+ <label for="sb_toggle_4"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/toggle-4.png' ?>" align="middle"/></label><br>
191
+ &nbsp;&nbsp;<input id="sb_toggle_4" type="radio" name="wpforo_api_options[sb_toggle]" value="4" <?php wpfo_check(WPF()->api->options['sb_toggle'], 4); ?> />
192
+ </div>
193
+ <div style="clear: both;"></div>
194
+ <div class="wpf-switch-field" style="margin-top: 10px; margin-bottom: 5px;">
195
+ <input type="radio" value="collapsed" name="wpforo_api_options[sb_toggle_type]" id="sb_toggle_type_2" <?php wpfo_check(WPF()->api->options['sb_toggle_type'], 'collapsed'); ?>><label for="sb_toggle_type_2" style="width: 100px;">&nbsp;<?php _e('Collapsed', 'wpforo'); ?>&nbsp;</label> &nbsp;
196
+ <input type="radio" value="expanded" name="wpforo_api_options[sb_toggle_type]" id="sb_toggle_type_1" <?php wpfo_check(WPF()->api->options['sb_toggle_type'], 'expanded'); ?>><label for="sb_toggle_type_1" style="width: 100px;">&nbsp;<?php _e('Expanded', 'wpforo'); ?>&nbsp;</label>
197
+ </div>
198
+ <div class="wpf-switch-field" style="margin-top: 12px; margin-bottom: 5px;">
199
+ <input type="radio" value="mixed" name="wpforo_api_options[sb_icon]" id="sb_sb_icon_3" <?php wpfo_check(WPF()->api->options['sb_icon'], 'mixed'); ?>><label for="sb_sb_icon_3" style="width: 100px;"><?php _e('Mixed', 'wpforo'); ?>&nbsp;</label>
200
+ <input type="radio" value="figure" name="wpforo_api_options[sb_icon]" id="sb_sb_icon_1" <?php wpfo_check(WPF()->api->options['sb_icon'], 'figure'); ?>><label for="sb_sb_icon_1" style="width: 100px;">&nbsp;<i class="fab fa-facebook-f" style="font-size: 13px;"></i> &nbsp;<?php _e('Figure', 'wpforo'); ?>&nbsp;</label>
201
+ <input type="radio" value="square" name="wpforo_api_options[sb_icon]" id="sb_sb_icon_2" <?php wpfo_check(WPF()->api->options['sb_icon'], 'square'); ?>><label for="sb_sb_icon_2" style="width: 100px;">&nbsp;<i class="fab fa-facebook-square" style="font-size: 14px;"></i> &nbsp;<?php _e('Square', 'wpforo'); ?>&nbsp;</label> &nbsp;
202
+ </div>
203
+ </td>
204
+ </tr>
205
+ <tr>
206
+ <th style="padding-top:15px;" colspan="2">
207
+ <label><?php _e('Share Button Locations', 'wpforo'); ?></label>
208
+ <p class="wpf-info" style="margin-bottom: 5px;"><?php _e('The post sharing toggle can be displayed either on the left side or on the top of each post. The general share buttons can be displayed on both (top and bottom) locations.', 'wpforo'); ?></p>
209
+ <?php $_lc = WPF()->api->options['sb_location']; ?>
210
+ <input type="hidden" name="wpforo_api_options[sb_location][x]" value="1">
211
+ <div style="padding-right: 10px; display: inline-block; width: auto; border-right: 1px solid #ccc; ">
212
+ <p style="text-align: center; margin: 0px; font-weight: normal; font-size: 14px;"><?php _e('General Share Buttons', 'wpforo'); ?></p>
213
+ <div style="float: left; background: #fff; display: inline-block; text-align: center; padding: 1px 5px 3px 5px; margin: 10px 5px 10px 0px;">
214
+ <label for="sb_location_4"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/location-3.png' ?>" align="middle" style="width: 180px"/></label><br>
215
+ &nbsp;&nbsp;<input id="sb_location_4" type="checkbox" name="wpforo_api_options[sb_location][top]" value="1" <?php if(isset($_lc['top']) && $_lc['top'] ) echo 'checked'; ?>/>
216
+ </div>
217
+ <div style="float: left; background: #fff; display: inline-block; text-align: center; padding: 1px 5px 3px 5px; margin: 10px 5px 10px 0px;">
218
+ <label for="sb_location_5"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/location-5.png' ?>" align="middle" style="width: 180px"/></label><br>
219
+ &nbsp;&nbsp;<input id="sb_location_5" type="checkbox" name="wpforo_api_options[sb_location][bottom]" value="1" <?php if(isset($_lc['bottom']) && $_lc['bottom'] ) echo 'checked'; ?>/>
220
+ </div>
221
+ <div style="clear: both;"></div>
222
+ </div>
223
+ <div style="padding-left: 10px; display: inline-block; width: auto;">
224
+ <p style="text-align: center; margin: 0px; font-weight: normal; font-size: 14px;"><?php _e('Post Sharing Toggle', 'wpforo'); ?></p>
225
+ <div style="float: left; background: #fff; display: inline-block; text-align: center; padding: 1px 5px 3px 5px; margin: 10px 5px 10px 0px;">
226
+ <label for="sb_location_1"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/location-1.png' ?>" align="middle" style="width: 180px"/></label><br>
227
+ &nbsp;&nbsp;<input id="sb_location_1" type="radio" name="wpforo_api_options[sb_location_toggle]" value="left" <?php wpfo_check(WPF()->api->options['sb_location_toggle'], 'left'); ?> />
228
+ </div>
229
+ <div style="float: left; background: #fff; display: inline-block; text-align: center; padding: 1px 5px 3px 5px; margin: 10px 5px 10px 0px;">
230
+ <label for="sb_location_3"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/location-6.png' ?>" align="middle" style="width: 180px"/></label><br>
231
+ &nbsp;&nbsp;<input id="sb_location_3" type="radio" name="wpforo_api_options[sb_location_toggle]" value="right" <?php wpfo_check(WPF()->api->options['sb_location_toggle'], 'right'); ?> />
232
+ </div>
233
+ <div style="float: left; background: #fff; display: inline-block; text-align: center; padding: 1px 5px 3px 5px; margin: 10px 5px 10px 0px;">
234
+ <label for="sb_location_2"><img src="<?php echo WPFORO_URL . '/wpf-assets/images/sn/location-2.png' ?>" align="middle" style="width: 180px"/></label><br>
235
+ &nbsp;&nbsp;<input id="sb_location_2" type="radio" name="wpforo_api_options[sb_location_toggle]" value="top" <?php wpfo_check(WPF()->api->options['sb_location_toggle'], 'top'); ?> />
236
+ </div>
237
+ <div style="clear: both;"></div>
238
+ </div>
239
+ </td>
240
+ </tr>
241
  <?php do_action('wpforo_settings_api_bottom'); ?>
242
  </tbody>
243
  </table>
wpf-admin/options-tabs/features.php CHANGED
@@ -6,40 +6,43 @@
6
 
7
  <?php
8
  $options = array(
9
- 'user-admin-bar' => array( 'label' => __('Show Admin Bar for Members', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0, 'description' => __('This option doesn\'t affect website admins.', 'wpforo') ),
10
- 'page-title' => array( 'label' => __('Show Forum Page Title', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1 ),
11
- 'top-bar' => array( 'label' => __('Show Top/Menu Bar', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
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
- 'mention-nicknames' => array( 'label' => __('Show Member Mention Nicknames', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
16
- 'content-do_shortcode' => array( 'label' => __('Enable WordPress Shortcodes in Post Content', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
17
- 'view-logging' => array( 'label' => __('Log Viewed Forums and Topics', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
18
- 'author-link' => array( 'label' => __('Replace Author Link to Forum Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
19
- 'comment-author-link' => array( 'label' => __('Replace Comment Author Link to Forum Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
20
- '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') ),
21
- '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') ),
22
- 'register-url' => array( 'label' => __('Replace Registration Page URL to Forum Registration Page URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
23
- 'login-url' => array( 'label' => __('Replace Login Page URL to Forum Login Page URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
24
- 'resetpass-url' => array( 'label' => __('Replace Reset Password Page URL to Forum Reset Password Page URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1 ),
25
- 'replace-avatar' => array( 'label' => __('Replace Author Avatar with Forum Profile Avatar', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
26
- 'avatars' => array( 'label' => __('Enable Avatars', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
27
- 'custom-avatars' => array( 'label' => __('Enable Custom Avatars', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
28
- 'signature' => array( 'label' => __('Allow Member Signature', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
29
- 'rating' => array( 'label' => __('Enable Member Rating', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
30
- 'rating_title' => array( 'label' => __('Enable Member Rating Titles', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
31
- 'member_cashe' => array( 'label' => __('Enable Member Cache', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
32
- 'object_cashe' => array( 'label' => __('Enable Object Cache', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
33
- 'html_cashe' => array( 'label' => __('Enable HTML Cache', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
34
- 'memory_cashe' => array( 'label' => __('Enable Memory Cache', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
35
- 'seo-title' => array( 'label' => __('Enable wpForo SEO for Meta Titles', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
36
- 'seo-meta' => array( 'label' => __('Enable wpForo SEO for Meta Tags', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
37
- 'seo-profile' => array( 'label' => __('Enable User Profile Page indexing', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
38
- 'rss-feed' => array( 'label' => __('Enable RSS Feed', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
39
- 'font-awesome' => array( 'label' => __('Enable wpForo Font-Awesome Lib', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
40
  'user-synch' => array( 'label' => __('Turn Off User Syncing Note', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
41
- 'bp_activity' => array( 'label' => __('Enable BuddyPress Activity Integration', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('If you use BuddyPress plugin, this option will post members activities (new topic, new reply, post like) to BuddyPress Profile Activity page.', 'wpforo')),
42
- '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')),
 
 
 
 
43
  'wp-date-format' => array( 'label' => __('Enable WordPress Date/Time Format', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0, 'description' => __('You can manage WordPress date and time format in WordPress Settings > General admin page.', 'wpforo')),
44
  'subscribe_conf' => array( 'label' => __('Enable Subscription Confirmation', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('Forum and Topic subscription with double opt-in/confirmation system.', 'wpforo') ),
45
  'subscribe_checkbox_on_post_editor' => array( 'label' => __('Topic subscription option on post editor', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('This option adds topic subscription checkbox next to new topic and post submit button.', 'wpforo') ),
@@ -63,7 +66,12 @@ $options = array(
63
  </th>
64
  <td>
65
  <div class="wpf-switch-field">
66
- <input type="radio" value="1" name="wpforo_features[<?php echo esc_attr($key); ?>]" id="wpf_<?php echo esc_attr($key); ?>_1" <?php wpfo_check(WPF()->features[$key], 1); ?>><label for="wpf_<?php echo esc_attr($key); ?>_1"><?php _e('Yes', 'wpforo'); ?></label> &nbsp;
 
 
 
 
 
67
  <input type="radio" value="0" name="wpforo_features[<?php echo esc_attr($key); ?>]" id="wpf_<?php echo esc_attr($key); ?>_0" <?php wpfo_check(WPF()->features[$key], 0); ?>><label for="wpf_<?php echo esc_attr($key); ?>_0"><?php _e('No', 'wpforo'); ?></label>
68
  <?php if($key == 'copyright') echo '<span style="color:#009900; font-weight:400; font-size:14px;">&nbsp;'. __('Thank you!', 'wpforo') . '</span>'; ?>
69
  </div>
6
 
7
  <?php
8
  $options = array(
9
+ 'user-admin-bar' => array( 'label' => __('Show Admin Bar for Members', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0, 'description' => __('This option doesn\'t affect website admins.', 'wpforo') ),
10
+ 'page-title' => array( 'label' => __('Show Forum Page Title', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1 ),
11
+ 'top-bar' => array( 'label' => __('Show Top/Menu Bar', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
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
+ 'mention-nicknames' => array( 'label' => __('Show Member Mention Nicknames', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
16
+ 'content-do_shortcode' => array( 'label' => __('Enable WordPress Shortcodes in Post Content', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
17
+ 'view-logging' => array( 'label' => __('Log Viewed Forums and Topics', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
18
+ 'author-link' => array( 'label' => __('Replace Author Link to Forum Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
19
+ 'comment-author-link' => array( 'label' => __('Replace Comment Author Link to Forum Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
20
+ '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') ),
21
+ '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') ),
22
+ 'register-url' => array( 'label' => __('Replace Registration Page URL to Forum Registration Page URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
23
+ 'login-url' => array( 'label' => __('Replace Login Page URL to Forum Login Page URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0 ),
24
+ 'resetpass-url' => array( 'label' => __('Replace Reset Password Page URL to Forum Reset Password Page URL', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1 ),
25
+ 'replace-avatar' => array( 'label' => __('Replace Author Avatar with Forum Profile Avatar', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
26
+ 'avatars' => array( 'label' => __('Enable Avatars', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
27
+ 'custom-avatars' => array( 'label' => __('Enable Custom Avatars', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
28
+ 'signature' => array( 'label' => __('Allow Member Signature', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
29
+ 'rating' => array( 'label' => __('Enable Member Rating', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
30
+ 'rating_title' => array( 'label' => __('Enable Member Rating Titles', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
31
+ 'member_cashe' => array( 'label' => __('Enable Member Cache', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
32
+ 'object_cashe' => array( 'label' => __('Enable Object Cache', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
33
+ 'html_cashe' => array( 'label' => __('Enable HTML Cache', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
34
+ 'memory_cashe' => array( 'label' => __('Enable Memory Cache', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
35
+ 'seo-title' => array( 'label' => __('Enable wpForo SEO for Meta Titles', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
36
+ 'seo-meta' => array( 'label' => __('Enable wpForo SEO for Meta Tags', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
37
+ 'seo-profile' => array( 'label' => __('Enable User Profile Page indexing', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
38
+ 'rss-feed' => array( 'label' => __('Enable RSS Feed', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
 
39
  'user-synch' => array( 'label' => __('Turn Off User Syncing Note', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
40
+ 'bp_activity' => array( 'label' => __('BuddyPress Activity Integration', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('Posts members activity (new topic, new reply, post like) to BuddyPress Profile Activity page.', 'wpforo')),
41
+ 'bp_notification' => array( 'label' => __('BuddyPress Notification Integration', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('Creates notification on new forum reply in BuddyPress Profile Notification page.', 'wpforo')),
42
+ 'bp_forum_tab' => array( 'label' => __('BuddyPress Profile Forum Tab Integration', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('Adds "Forums" tab with "Created Topics", "Posted Replies", "Liked Posts" and "Subscriptions" sub-tabs to BuddyPress Profile page.', 'wpforo')),
43
+ 'bp_profile' => array( 'label' => __('Replace Forum Profile with BuddyPress Profile', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0, 'description' => __('Replaces wpForo Member Profile page with BuddyPress Profile Page.', 'wpforo')),
44
+ 'font-awesome' => array( 'label' => __('Enable wpForo Font-Awesome Lib', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1),
45
+ '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')),
46
  'wp-date-format' => array( 'label' => __('Enable WordPress Date/Time Format', 'wpforo'), 'type' => '', 'required' => '', 'value' => 0, 'description' => __('You can manage WordPress date and time format in WordPress Settings > General admin page.', 'wpforo')),
47
  'subscribe_conf' => array( 'label' => __('Enable Subscription Confirmation', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('Forum and Topic subscription with double opt-in/confirmation system.', 'wpforo') ),
48
  'subscribe_checkbox_on_post_editor' => array( 'label' => __('Topic subscription option on post editor', 'wpforo'), 'type' => '', 'required' => '', 'value' => 1, 'description' => __('This option adds topic subscription checkbox next to new topic and post submit button.', 'wpforo') ),
66
  </th>
67
  <td>
68
  <div class="wpf-switch-field">
69
+ <?php if( $key == 'font-awesome' ) : ?>
70
+ <input type="radio" value="2" name="wpforo_features[<?php echo esc_attr($key); ?>]" id="wpf_<?php echo esc_attr($key); ?>_2" <?php wpfo_check(WPF()->features[$key], 2); ?>><label for="wpf_<?php echo esc_attr($key); ?>_2"><?php _e('Sitewide', 'wpforo'); ?></label> &nbsp;
71
+ <input type="radio" value="1" name="wpforo_features[<?php echo esc_attr($key); ?>]" id="wpf_<?php echo esc_attr($key); ?>_1" <?php wpfo_check(WPF()->features[$key], 1); ?>><label for="wpf_<?php echo esc_attr($key); ?>_1"><?php _e('Forum', 'wpforo'); ?></label> &nbsp;
72
+ <?php else : ?>
73
+ <input type="radio" value="1" name="wpforo_features[<?php echo esc_attr($key); ?>]" id="wpf_<?php echo esc_attr($key); ?>_1" <?php wpfo_check(WPF()->features[$key], 1); ?>><label for="wpf_<?php echo esc_attr($key); ?>_1"><?php _e('Yes', 'wpforo'); ?></label> &nbsp;
74
+ <?php endif; ?>
75
  <input type="radio" value="0" name="wpforo_features[<?php echo esc_attr($key); ?>]" id="wpf_<?php echo esc_attr($key); ?>_0" <?php wpfo_check(WPF()->features[$key], 0); ?>><label for="wpf_<?php echo esc_attr($key); ?>_0"><?php _e('No', 'wpforo'); ?></label>
76
  <?php if($key == 'copyright') echo '<span style="color:#009900; font-weight:400; font-size:14px;">&nbsp;'. __('Thank you!', 'wpforo') . '</span>'; ?>
77
  </div>
wpf-admin/options-tabs/general.php CHANGED
@@ -36,7 +36,7 @@
36
  <br/>
37
  <?php endif; ?>
38
  <a href="<?php echo wpforo_home_url() ?>" target="_blank"><?php _e('Visit Forum', 'wpforo') ?></a> |
39
- <?php $page_id = WPF()->db->get_var("SELECT `ID` FROM `".WPF()->db->prefix."posts` WHERE `ID` = ".intval(WPF()->pageid)." AND `post_content` LIKE '%[wpforo%' AND `post_status` LIKE 'publish' AND `post_type` IN('post', 'page')"); ?>
40
  <?php if( !WPF()->pageid || !$page_id ): ?>
41
  <?php echo '<span style="color:#DD0000">' . __('wpForo PageID doesn\'t exist. Forums will not be loaded, please read this') . ' <a href="http://wpforo.com/community/faq/how-to-add-forum-pageid/">' . __('support topic', 'wpforo') . '&raquo;</a>' . '</span>'; ?>
42
  <?php else: ?>
36
  <br/>
37
  <?php endif; ?>
38
  <a href="<?php echo wpforo_home_url() ?>" target="_blank"><?php _e('Visit Forum', 'wpforo') ?></a> |
39
+ <?php $page_id = WPF()->db->get_var("SELECT `ID` FROM `".WPF()->db->posts."` WHERE `ID` = ".intval(WPF()->pageid)." AND `post_content` LIKE '%[wpforo%' AND `post_status` LIKE 'publish' AND `post_type` IN('post', 'page')"); ?>
40
  <?php if( !WPF()->pageid || !$page_id ): ?>
41
  <?php echo '<span style="color:#DD0000">' . __('wpForo PageID doesn\'t exist. Forums will not be loaded, please read this') . ' <a href="http://wpforo.com/community/faq/how-to-add-forum-pageid/">' . __('support topic', 'wpforo') . '&raquo;</a>' . '</span>'; ?>
42
  <?php else: ?>
wpf-admin/options-tabs/posts.php CHANGED
@@ -24,24 +24,36 @@
24
  <td><input id="topics_per_page" type="number" min="1" name="wpforo_post_options[topics_per_page]" value="<?php wpfo(WPF()->post->options['topics_per_page']) ?>" class="wpf-field-small" /></td>
25
  </tr>
26
  <tr>
27
- <th><label for="eot_durr"><?php _e('Allow Edit Own Topic for', 'wpforo'); ?></label></th>
28
- <td><input id="eot_durr" type="number" min="1" name="wpforo_post_options[eot_durr]" value="<?php wpfo(WPF()->post->options['eot_durr']/60) ?>" class="wpf-field-small" />&nbsp; <?php _e('minutes', 'wpforo') ?></td>
 
 
 
29
  </tr>
30
  <tr>
31
- <th><label for="dot_durr"><?php _e('Allow Delete Own Topic for', 'wpforo'); ?></label></th>
32
- <td><input id="dot_durr" type="number" min="1" name="wpforo_post_options[dot_durr]" value="<?php wpfo(WPF()->post->options['dot_durr']/60) ?>" class="wpf-field-small" />&nbsp; <?php _e('minutes', 'wpforo') ?></td>
 
 
 
33
  </tr>
34
  <tr>
35
  <th><label for="posts_per_page"><?php _e('Number of Posts per Page', 'wpforo'); ?></label></th>
36
  <td><input id="posts_per_page" type="number" min="1" name="wpforo_post_options[posts_per_page]" value="<?php wpfo(WPF()->post->options['posts_per_page']) ?>" class="wpf-field-small" /></td>
37
  </tr>
38
  <tr>
39
- <th><label for="eor_durr"><?php _e('Allow Edit Own Post for', 'wpforo'); ?></label></th>
40
- <td><input id="eor_durr" type="number" min="1" name="wpforo_post_options[eor_durr]" value="<?php wpfo(WPF()->post->options['eor_durr']/60) ?>" class="wpf-field-small" />&nbsp; <?php _e('minutes', 'wpforo') ?></td>
 
 
 
41
  </tr>
42
  <tr>
43
- <th><label for="dor_durr"><?php _e('Allow Delete Own post for', 'wpforo'); ?></label></th>
44
- <td><input id="dor_durr" type="number" min="1" name="wpforo_post_options[dor_durr]" value="<?php wpfo(WPF()->post->options['dor_durr']/60) ?>" class="wpf-field-small" />&nbsp; <?php _e('minutes', 'wpforo') ?></td>
 
 
 
45
  </tr>
46
 
47
  <tr>
24
  <td><input id="topics_per_page" type="number" min="1" name="wpforo_post_options[topics_per_page]" value="<?php wpfo(WPF()->post->options['topics_per_page']) ?>" class="wpf-field-small" /></td>
25
  </tr>
26
  <tr>
27
+ <th>
28
+ <label for="eot_durr"><?php _e('Allow Edit Own Topic for', 'wpforo'); ?></label>
29
+ <p class="wpf-info"><?php _e('Set this option value 0 if you want to remove time limit.', 'wpforo') ?></p>
30
+ </th>
31
+ <td><input id="eot_durr" type="number" name="wpforo_post_options[eot_durr]" value="<?php wpfo(WPF()->post->options['eot_durr']/60) ?>" class="wpf-field-small" />&nbsp; <?php _e('minutes', 'wpforo') ?></td>
32
  </tr>
33
  <tr>
34
+ <th>
35
+ <label for="dot_durr"><?php _e('Allow Delete Own Topic for', 'wpforo'); ?></label>
36
+ <p class="wpf-info"><?php _e('Set this option value 0 if you want to remove time limit.', 'wpforo') ?></p>
37
+ </th>
38
+ <td><input id="dot_durr" type="number" name="wpforo_post_options[dot_durr]" value="<?php wpfo(WPF()->post->options['dot_durr']/60) ?>" class="wpf-field-small" />&nbsp; <?php _e('minutes', 'wpforo') ?></td>
39
  </tr>
40
  <tr>
41
  <th><label for="posts_per_page"><?php _e('Number of Posts per Page', 'wpforo'); ?></label></th>
42
  <td><input id="posts_per_page" type="number" min="1" name="wpforo_post_options[posts_per_page]" value="<?php wpfo(WPF()->post->options['posts_per_page']) ?>" class="wpf-field-small" /></td>
43
  </tr>
44
  <tr>
45
+ <th>
46
+ <label for="eor_durr"><?php _e('Allow Edit Own Post for', 'wpforo'); ?></label>
47
+ <p class="wpf-info"><?php _e('Set this option value 0 if you want to remove time limit.', 'wpforo') ?></p>
48
+ </th>
49
+ <td><input id="eor_durr" type="number" name="wpforo_post_options[eor_durr]" value="<?php wpfo(WPF()->post->options['eor_durr']/60) ?>" class="wpf-field-small" />&nbsp; <?php _e('minutes', 'wpforo') ?></td>
50
  </tr>
51
  <tr>
52
+ <th>
53
+ <label for="dor_durr"><?php _e('Allow Delete Own post for', 'wpforo'); ?></label>
54
+ <p class="wpf-info"><?php _e('Set this option value 0 if you want to remove time limit.', 'wpforo') ?></p>
55
+ </th>
56
+ <td><input id="dor_durr" type="number" name="wpforo_post_options[dor_durr]" value="<?php wpfo(WPF()->post->options['dor_durr']/60) ?>" class="wpf-field-small" />&nbsp; <?php _e('minutes', 'wpforo') ?></td>
57
  </tr>
58
 
59
  <tr>
wpf-admin/tools-tabs/antispam.php CHANGED
@@ -99,7 +99,9 @@
99
  </table>
100
  </div>
101
  </div>
102
-
 
 
103
  <div class="wpf-tool-box wpf-spam-attach right-box" style="max-height: inherit;">
104
  <h3>
105
  <?php _e('Google reCAPTCHA', 'wpforo'); ?>
@@ -218,6 +220,29 @@
218
  </table>
219
  </div>
220
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
221
  <div class="wpf-tool-box wpf-spam-attach left-box" id="spam-files">
222
  <?php
223
  $site = get_bloginfo('url');
@@ -228,12 +253,31 @@
228
  <?php _e('Possible Spam Attachments', 'wpforo'); ?>
229
  <p class="wpf-info"><?php _e('This tool is designed to find attachment which have been uploaded by spammers. The tool checks most common spammer filenames and suggest to delete but you should check one by one and make sure those are spam files before deleting.', 'wpforo'); ?></p>
230
  </h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  <div class="wpf-spam-attach-dir"><?php _e('Directory', 'wpforo'); ?>: <?php echo str_replace($site, '', $upload_dir['baseurl']); ?>/wpforo/default_attachments/&nbsp;</div>
232
  <div style="margin-top:10px; clear:both;">
233
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
234
  <tbody>
235
  <?php
236
- if(is_dir($default_attachments_dir)):
237
  if ($handle = opendir($default_attachments_dir)):
238
  while (false !== ($filename = readdir($handle))):
239
  if( $filename == '.' || $filename == '..') continue;
99
  </table>
100
  </div>
101
  </div>
102
+
103
+
104
+
105
  <div class="wpf-tool-box wpf-spam-attach right-box" style="max-height: inherit;">
106
  <h3>
107
  <?php _e('Google reCAPTCHA', 'wpforo'); ?>
220
  </table>
221
  </div>
222
  </div>
223
+
224
+ <div class="wpf-tool-box wpf-spam-attach left-box" style="max-height: inherit;">
225
+ <h3>
226
+ <?php _e('Post Content', 'wpforo'); ?>
227
+ <p class="wpf-info"><?php _e('Options to control and filter post content', 'wpforo'); ?></p>
228
+ </h3>
229
+ <div style="margin-top:0px; clear:both;">
230
+ <table style="width:100%;">
231
+ <tbody>
232
+ <tr>
233
+ <td>
234
+ <label style="padding-bottom:5px; display:block;"><strong><?php _e('Allow extra HTML tags', 'wpforo'); ?>:</strong></label>
235
+ <p class="wpf-info"><?php _e('By default wpForo allows all secure HTML tags in post content. Allowing a new HTML tag may affect your forum security. For example the &lt;iframe&gt; and &lt;script&gt; HTML tags may be used by spammers and hackers to load 3rd party ads and viruses to forum.', 'wpforo'); ?></p>
236
+ <p class="wpf-info" style="font-style: normal; line-height: 22px;"><?php _e('Example of adding a new HTML tags: ', 'wpforo'); ?><code>b, em, p, code, style, a(href title), img(src alt title), embed(src width height) ...</code></p>
237
+ <br>
238
+ <textarea name="wpforo_tools_antispam[html]" style="font-size: 13px; display:block; width:100%; height:120px;" placeholder="example.com" /><?php wpfo(WPF()->tools_antispam['html']) ?></textarea></td>
239
+ </td>
240
+ </tr>
241
+ </tbody>
242
+ </table>
243
+ </div>
244
+ </div>
245
+
246
  <div class="wpf-tool-box wpf-spam-attach left-box" id="spam-files">
247
  <?php
248
  $site = get_bloginfo('url');
253
  <?php _e('Possible Spam Attachments', 'wpforo'); ?>
254
  <p class="wpf-info"><?php _e('This tool is designed to find attachment which have been uploaded by spammers. The tool checks most common spammer filenames and suggest to delete but you should check one by one and make sure those are spam files before deleting.', 'wpforo'); ?></p>
255
  </h3>
256
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
257
+ <tbody>
258
+ <tr>
259
+ <th style="width:50%; padding: 15px 0px;"><label><?php _e('Enable File Scanner','wpforo'); ?>:</label></th>
260
+ <td style=" padding: 10px 0px 5px 0px;">
261
+ <div class="wpf-switch-field">
262
+ <input id="spam_file_scanner_yes" type="radio" name="wpforo_tools_antispam[spam_file_scanner]" value="1" <?php wpfo_check(WPF()->tools_antispam['spam_file_scanner'], 1); ?>/><label for="spam_file_scanner_yes"><?php _e('Yes','wpforo'); ?></label> &nbsp;
263
+ <input id="spam_file_scanner_no" type="radio" name="wpforo_tools_antispam[spam_file_scanner]" value="0" <?php wpfo_check(WPF()->tools_antispam['spam_file_scanner'], 0); ?>/><label for="spam_file_scanner_no"><?php _e('No','wpforo'); ?></label>
264
+ </div>
265
+ </td>
266
+ </tr>
267
+ <tr>
268
+ <td colspan="2" style="width:50%;">
269
+ <label style="padding-bottom:5px; display:block;"><strong><?php _e('Exclude file extensions', 'wpforo'); ?>:</strong></label>
270
+ <textarea name="wpforo_tools_antispam[exclude_file_ext]" style="font-size: 13px; display:block; width:100%; height:60px;" placeholder="example.com" /><?php wpfo(WPF()->tools_antispam['exclude_file_ext']) ?></textarea></td>
271
+ </td>
272
+ </tr>
273
+ </tbody>
274
+ </table>
275
  <div class="wpf-spam-attach-dir"><?php _e('Directory', 'wpforo'); ?>: <?php echo str_replace($site, '', $upload_dir['baseurl']); ?>/wpforo/default_attachments/&nbsp;</div>
276
  <div style="margin-top:10px; clear:both;">
277
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
278
  <tbody>
279
  <?php
280
+ if( is_dir($default_attachments_dir) && WPF()->tools_antispam['spam_file_scanner'] ):
281
  if ($handle = opendir($default_attachments_dir)):
282
  while (false !== ($filename = readdir($handle))):
283
  if( $filename == '.' || $filename == '..') continue;
wpf-admin/tools-tabs/legal.php ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if( !defined( 'ABSPATH' ) ) exit;
4
+ if( !current_user_can('administrator') ) exit;
5
+ ?>
6
+
7
+ <form action="" method="POST" class="validate">
8
+ <?php wp_nonce_field( 'wpforo-tools-legal' ); ?>
9
+ <table class="wpforo_settings_table">
10
+ <tbody>
11
+ <tr></tr>
12
+ <tr>
13
+ <td colspan="2" style="border-bottom:3px solid #43A6DF; padding-top: 20px; padding-bottom: 15px;">
14
+ <h3 style="font-weight:600; padding:0px 0px 5px 0px; margin:0px; color:#666666; font-size: 18px;">
15
+ <?php _e('Forum Privacy Policy and GDPR compliant', 'wpforo') ?> &nbsp;|&nbsp; <a href="https://wpforo.com/docs/root/gdpr/" rel="noreferrer" style="text-decoration: none; font-weight: normal;" target="_blank"><?php _e('Documentation', 'wpforo'); ?></a>
16
+ </h3>
17
+ <p class="wpf-info">
18
+ <?php _e('The General Data Protection Regulation (GDPR) (Regulation (EU) 2016/679) is a regulation by which the European Parliament, the Council of the European Union and the European Commission intend to strengthen and unify data protection for all individuals within the European Union (EU). After four years of preparation and debate the GDPR was finally approved by the EU Parliament on 14 April 2016. Enforcement date: 25 May 2018 - at which time those organizations in non-compliance may face heavy fines. More info at', 'wpforo'); ?>
19
+ <a href="https://www.eugdpr.org/key-changes.html" title="<?php _e('GDPR Key Changes', 'wpforo') ?>" target="_blank" rel="noreferrer">GDPR Portal</a>
20
+ </p>
21
+ </td>
22
+ </tr>
23
+ <tr>
24
+ <th style="padding-top: 10px; ">
25
+ <label><?php _e('Contact Information', 'wpforo'); ?></label>
26
+ <p class="wpf-info">
27
+ <?php _e('According to the GDPR, all users should have an option to contact website administrator in following cases:', 'wpforo'); ?>
28
+ <ul class="wpf-info" style="list-style: disc; padding: 5px 0px 0px 0px; margin: 0px 20px; line-height: 14px;">
29
+ <li><?php _e('Obtain personal data and created content') ?></li>
30
+ <li><?php _e('Delete account with created content') ?></li>
31
+ <li><?php _e('Report user data access and control issue') ?></li>
32
+ <li><?php _e('Report user rights violation') ?></li>
33
+ </ul>
34
+ </p>
35
+ </th>
36
+ <td style="padding-top:35px;">
37
+ <input name="wpforo_tools_legal[contact_page_url]" placeholder="<?php _e('URL to - Contact Us - page', 'wpforo'); ?>" type="text" value="<?php echo trim(WPF()->tools_legal['contact_page_url']); ?>" style="width: 80%; margin-bottom: 10px;"/>&nbsp;
38
+ <br><?php _e('Please insert a page URL, where user can find a contact form or an information to contact the forum administrator.', 'wpforo'); ?><br />
39
+ </td>
40
+ </tr>
41
+ <tr>
42
+ <th style="padding-top: 10px;">
43
+ <label><?php _e('Checkbox: I Accept Website Terms and Privacy Policy', 'wpforo'); ?></label>
44
+ <p class="wpf-info"><?php _e('If this option is enabled, users must accept forum Terms and Privacy Policy by checking the required checkbox on registration form to be able create a forum account. The checkbox label can be managed in Forums > Phrases admin page.', 'wpforo'); ?></p>
45
+ </th>
46
+ <td>
47
+ <div class="wpf-switch-field" style="padding-top: 30px;">
48
+ <input type="radio" value="1" name="wpforo_tools_legal[checkbox_terms_privacy]" id="checkbox_terms_privacy_1" <?php wpfo_check(WPF()->tools_legal['checkbox_terms_privacy'], 1); ?>><label for="checkbox_terms_privacy_1"><?php _e('Enable', 'wpforo'); ?></label> &nbsp;
49
+ <input type="radio" value="0" name="wpforo_tools_legal[checkbox_terms_privacy]" id="checkbox_terms_privacy_0" <?php wpfo_check(WPF()->tools_legal['checkbox_terms_privacy'], 0); ?>><label for="checkbox_terms_privacy_0"><?php _e('Disable', 'wpforo'); ?></label>
50
+ </div>
51
+ </td>
52
+ </tr>
53
+ <tr>
54
+ <th style="padding-top: 10px; ">
55
+ <label><?php _e('Checkbox: I Agree to Receive an Email Confirmation', 'wpforo'); ?></label>
56
+ <p class="wpf-info"><?php _e('If this option is enabled, users must agree to receive an email confirmation with a link to set a password by checking the required checkbox on registration form to be able create a forum account. The checkbox label can be managed in Forums > Phrases admin page.', 'wpforo'); ?></p>
57
+ </th>
58
+ <td>
59
+ <div class="wpf-switch-field" style="padding-top: 30px;">
60
+ <input type="radio" value="1" name="wpforo_tools_legal[checkbox_email_password]" id="checkbox_email_password_1" <?php wpfo_check(WPF()->tools_legal['checkbox_email_password'], 1); ?>><label for="checkbox_email_password_1"><?php _e('Enable', 'wpforo'); ?></label> &nbsp;
61
+ <input type="radio" value="0" name="wpforo_tools_legal[checkbox_email_password]" id="checkbox_email_password_0" <?php wpfo_check(WPF()->tools_legal['checkbox_email_password'], 0); ?>><label for="checkbox_email_password_0"><?php _e('Disable', 'wpforo'); ?></label>
62
+ </div>
63
+ </td>
64
+ </tr>
65
+ <tr>
66
+ <th style="padding-top: 10px; ">
67
+ <label><?php _e('Website Terms and Privacy Policy Pages', 'wpforo'); ?></label>
68
+ <p class="wpf-info"><?php _e('Please insert URLs to your website Terms and Privacy Policy pages. Links to these pages will be included in registration form checkbox label (I\'m agree with website terms and privacy policy) and in Forum Privacy Policy. The forum Privacy Policy does not cover your whole website, it is just an extension of your website main Privacy Policy. Thus it should be linked to according pages.', 'wpforo'); ?></p>
69
+ </th>
70
+ <td style="padding-top:35px;">
71
+ <input name="wpforo_tools_legal[page_terms]" placeholder="<?php _e('URL to Website Terms page', 'wpforo'); ?>" type="text" value="<?php echo trim(WPF()->tools_legal['page_terms']); ?>" style="width: 50%; margin-bottom: 10px;"/>&nbsp; <?php _e('Terms Page URL', 'wpforo'); ?><br />
72
+ <input name="wpforo_tools_legal[page_privacy]" placeholder="<?php _e('URL to Website Privacy Policy page', 'wpforo'); ?>" type="text" value="<?php echo trim(WPF()->tools_legal['page_privacy']); ?>" style="width: 50%; margin-bottom: 5px;"/>&nbsp; <?php _e('Privacy Policy Page URL', 'wpforo'); ?>
73
+ </td>
74
+ </tr>
75
+ <tr>
76
+ <th style="padding-top: 10px;">
77
+ <label><?php _e('Checkbox: I Agree to Forum Privacy Policy', 'wpforo'); ?></label>
78
+ <p class="wpf-info"><?php _e('If this option is enabled, users must accept forum Terms and Privacy Policy by checking the required checkbox on registration form to be able create a forum account. The checkbox label can be managed in Forums > Phrases admin page.', 'wpforo'); ?></p>
79
+ </th>
80
+ <td>
81
+ <div class="wpf-switch-field" style="padding-top: 30px;">
82
+ <input type="radio" value="1" name="wpforo_tools_legal[checkbox_forum_privacy]" id="checkbox_forum_privacy_1" <?php wpfo_check(WPF()->tools_legal['checkbox_forum_privacy'], 1); ?>><label for="checkbox_forum_privacy_1"><?php _e('Enable', 'wpforo'); ?></label> &nbsp;
83
+ <input type="radio" value="0" name="wpforo_tools_legal[checkbox_forum_privacy]" id="checkbox_forum_privacy_0" <?php wpfo_check(WPF()->tools_legal['checkbox_forum_privacy'], 0); ?>><label for="checkbox_forum_privacy_0"><?php _e('Disable', 'wpforo'); ?></label>
84
+ </div>
85
+ </td>
86
+ </tr>
87
+ <tr>
88
+ <th style="padding-top: 10px;" colspan="2">
89
+ <label><?php _e('Forum Privacy Policy with GDPR compliant Template', 'wpforo'); ?></label>
90
+ <p class="wpf-info"><?php _e('This is an example of forum Privacy Policy with GDPR compliant. It adapted to wpForo plugin functions and features. <u>In case you enable this privacy policy template you become responsible for the content of this template.</u> Please read this text carefully and make sure it suits your community Privacy Policy. If it doesn\'t, you should edit this text and adapt it to your community rules. This template includes shortcodes [forum-name] and [forum-url]. They are automatically replaced on registration page with current forum details. Don\'t forget to add an information about your organization, location and contacting ways (page, email, phone, etc...). Also if you have a separate privacy policy page for website please add a link to that page.', 'wpforo'); ?></p>
91
+ <div style="margin-top: ">
92
+ <?php
93
+ $value = WPF()->tools_legal['forum_privacy_text'];
94
+ if(is_null($value)){
95
+ $file = WPFORO_DIR . '/wpf-admin/html/privacy-policy-gdpr.html';
96
+ $value = wpforo_get_file_content( $file );
97
+ }
98
+ $args = array(
99
+ 'teeny' => false,
100
+ 'media_buttons' => false,
101
+ 'textarea_rows' => '12',
102
+ 'tinymce' => true,
103
+ 'quicktags' => array( 'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,close' ),
104
+ 'textarea_name' => 'wpforo_tools_legal[forum_privacy_text]',
105
+ );
106
+ wp_editor( wp_unslash($value), 'wpforo_tools_legal_forum_privacy_text', $args ); ?>
107
+ </div>
108
+ </td>
109
+ </tr>
110
+ <tr>
111
+ <th style="padding-top: 20px;">
112
+ <label><?php _e('Checkbox: I Agree to create a forum account on Facebook Login', 'wpforo'); ?></label>
113
+ <p class="wpf-info"><?php _e('If this option is enabled, the Facebook Login button becomes not-clickable until user accept automatic account creation process based on his/her Facebook public profile information. This checkbox and appropriate information will be displayed with Facebook Login button to comply with the GDPR', 'wpforo'); ?> <a href="https://gdpr-info.eu/art-22-gdpr/" target="_blank" rel="noreferrer">(Article 22)</a> <br><?php wpforo_phrase('The note text and the label of this checkbox can be managed in Forums > Phrases admin page. Search the label phrase, click on edit button and change it.') ?></p>
114
+ </th>
115
+ <td>
116
+ <div class="wpf-switch-field" style="padding-top: 40px;">
117
+ <input type="radio" value="1" name="wpforo_tools_legal[checkbox_fb_login]" id="checkbox_fb_login_1" <?php wpfo_check(WPF()->tools_legal['checkbox_fb_login'], 1); ?>><label for="checkbox_fb_login_1"><?php _e('Enable', 'wpforo'); ?></label> &nbsp;
118
+ <input type="radio" value="0" name="wpforo_tools_legal[checkbox_fb_login]" id="checkbox_fb_login_0" <?php wpfo_check(WPF()->tools_legal['checkbox_fb_login'], 0); ?>><label for="checkbox_fb_login_0"><?php _e('Disable', 'wpforo'); ?></label>
119
+ </div>
120
+ </td>
121
+ </tr>
122
+ <tr>
123
+ <th style="padding-top: 20px;">
124
+ <label><?php _e('Forum Cookies', 'wpforo'); ?></label>
125
+ <p class="wpf-info"><?php _e('Please note, that this option is only related to wpForo cookies. This doesn\'t disable WordPress and other plugins cookies. wpForo stores a small amount of data in cookies, it used to track visited forums and topics (bold and normal titles). Also when a guest (not registered user) creates a topic or post a reply, wpForo stores guest name and email address in cookies. wpForo uses this information to detect current guest content (topics, posts) and display it to the guest even if the content is under moderation (not approved by moderators). Also wpForo stores guest name and email in cookies to keep filled these fields when he/she posts a new reply or creates a new topic.', 'wpforo'); ?> </p>
126
+ </th>
127
+ <td>
128
+ <div class="wpf-switch-field" style="padding-top: 40px;">
129
+ <input type="radio" value="1" name="wpforo_tools_legal[cookies]" id="cookies_1" <?php wpfo_check(WPF()->tools_legal['cookies'], 1); ?>><label for="cookies_1"><?php _e('Enable', 'wpforo'); ?></label> &nbsp;
130
+ <input type="radio" value="0" name="wpforo_tools_legal[cookies]" id="cookies_0" <?php wpfo_check(WPF()->tools_legal['cookies'], 0); ?>><label for="cookies_0"><?php _e('Disable', 'wpforo'); ?></label>
131
+ </div>
132
+ </td>
133
+ </tr>
134
+ <tr>
135
+ <td colspan="2" style="border-bottom:3px solid #43A6DF; padding-top: 30px;">
136
+ <h3 style="font-weight:600; padding:0px 0px 0px 0px; margin:0px; color:#666666; font-size: 18px;">
137
+ <?php _e('Forum Rules', 'wpforo') ?>
138
+ </h3>
139
+ </td>
140
+ </tr>
141
+ <tr>
142
+ <th style="padding-top: 10px;">
143
+ <label><?php _e('Checkbox: I Accept Forum Rules', 'wpforo'); ?></label>
144
+ <p class="wpf-info"><?php _e('If this option is enabled, users must accept forum rules by checking the required checkbox on registration form to be able create a forum account. The label text of this checkbox can be managed in Forums > Phrases admin page. Search the label phrase, click on edit button and change it.', 'wpforo'); ?></p>
145
+ </th>
146
+ <td>
147
+ <div class="wpf-switch-field" style="padding-top: 30px;">
148
+ <input type="radio" value="1" name="wpforo_tools_legal[rules_checkbox]" id="rules_checkbox_1" <?php wpfo_check(WPF()->tools_legal['rules_checkbox'], 1); ?>><label for="rules_checkbox_1"><?php _e('Enable', 'wpforo'); ?></label> &nbsp;
149
+ <input type="radio" value="0" name="wpforo_tools_legal[rules_checkbox]" id="rules_checkbox_0" <?php wpfo_check(WPF()->tools_legal['rules_checkbox'], 0); ?>><label for="rules_checkbox_0"><?php _e('Disable', 'wpforo'); ?></label>
150
+ </div>
151
+ </td>
152
+ </tr>
153
+ <tr>
154
+ <th style="padding-top: 10px;" colspan="2">
155
+ <label><?php _e('Forum Rules Text', 'wpforo'); ?></label>
156
+ <p class="wpf-info"><?php _e('This is a basic example of forum rules provided by', 'wpforo'); ?> <a href="https://www.wikihow.com/Sample/Forum-Rules" target="_blank" title="Sample Forum Rules" rel="noreferrer">wikihow.com</a> . <?php _e('You should edit this text and adapt it to your community rules.', 'wpforo'); ?></p>
157
+ <div style="margin-top: ">
158
+ <?php
159
+ $value = WPF()->tools_legal['rules_text'];
160
+ if(is_null($value)){
161
+ $file = WPFORO_DIR . '/wpf-admin/html/simple-forum-rules.html';
162
+ $value = wpforo_get_file_content( $file );
163
+ }
164
+ $args = array(
165
+ 'teeny' => false,
166
+ 'media_buttons' => false,
167
+ 'textarea_rows' => '8',
168
+ 'tinymce' => true,
169
+ 'quicktags' => array( 'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,close' ),
170
+ 'textarea_name' => 'wpforo_tools_legal[rules_text]',
171
+ );
172
+ wp_editor( wp_unslash($value), 'wpforo_tools_legal_rules_text', $args ); ?>
173
+ </div>
174
+ </td>
175
+ </tr>
176
+ </tbody>
177
+ </table>
178
+ <div class="wpforo_settings_foot" style="clear:both; margin-top:20px;">
179
+ <input type="submit" class="button button-primary" value="<?php _e('Update Options', 'wpforo'); ?>" />
180
+ </div>
181
+ </form>
wpf-admin/tools-tabs/misc.php CHANGED
@@ -14,20 +14,20 @@
14
  <table style="width:100%;">
15
  <tbody style="padding:10px;">
16
  <tr>
17
- <th colspan="2">
18
  <label style="padding-bottom:5px; display:block;"><?php _e('Allowed dofollow domains', 'wpforo'); ?>:</label>
19
  <p class="wpf-info"><?php _e('wpForo adds nofollow to all links with external URLs. If you want to keep some domains as internal please insert domains one per line in the textarea bellow.', 'wpforo'); ?></p>
20
  <br>
21
  <textarea name="wpforo_tools_misc[dofollow]" style="font-size: 13px; display:block; width:100%; height:120px;" placeholder="example.com" /><?php wpfo(WPF()->tools_misc['dofollow']) ?></textarea></td>
22
- </th>
23
  </tr>
24
  <tr>
25
- <th colspan="2">
26
  <label style="padding-bottom:5px; display:block;"><?php _e('Noindex forum page URLs', 'wpforo'); ?>:</label>
27
  <p class="wpf-info"><?php _e('The noIndex code tells Google and other search engines to NOT index the page, so that it cannot be found in search results. Please insert page URLs you do not want to be indexed one per line in the textarea bellow.', 'wpforo'); ?></p>
28
  <br>
29
  <textarea name="wpforo_tools_misc[noindex]" style="font-size: 13px; display:block; width:100%; height:120px;" placeholder="https://myforum.com/community/main-forum/my-topic/" /><?php wpfo(WPF()->tools_misc['noindex']) ?></textarea></td>
30
- </th>
31
  </tr>
32
  </tbody>
33
  </table>
14
  <table style="width:100%;">
15
  <tbody style="padding:10px;">
16
  <tr>
17
+ <td>
18
  <label style="padding-bottom:5px; display:block;"><?php _e('Allowed dofollow domains', 'wpforo'); ?>:</label>
19
  <p class="wpf-info"><?php _e('wpForo adds nofollow to all links with external URLs. If you want to keep some domains as internal please insert domains one per line in the textarea bellow.', 'wpforo'); ?></p>
20
  <br>
21
  <textarea name="wpforo_tools_misc[dofollow]" style="font-size: 13px; display:block; width:100%; height:120px;" placeholder="example.com" /><?php wpfo(WPF()->tools_misc['dofollow']) ?></textarea></td>
22
+ </td>
23
  </tr>
24
  <tr>
25
+ <td>
26
  <label style="padding-bottom:5px; display:block;"><?php _e('Noindex forum page URLs', 'wpforo'); ?>:</label>
27
  <p class="wpf-info"><?php _e('The noIndex code tells Google and other search engines to NOT index the page, so that it cannot be found in search results. Please insert page URLs you do not want to be indexed one per line in the textarea bellow.', 'wpforo'); ?></p>
28
  <br>
29
  <textarea name="wpforo_tools_misc[noindex]" style="font-size: 13px; display:block; width:100%; height:120px;" placeholder="https://myforum.com/community/main-forum/my-topic/" /><?php wpfo(WPF()->tools_misc['noindex']) ?></textarea></td>
30
+ </td>
31
  </tr>
32
  </tbody>
33
  </table>
wpf-admin/tools.php CHANGED
@@ -11,8 +11,9 @@
11
  <div id="wpf-admin-wrap" class="wrap"><div id="icon-users" class="icon32"><br /></div>
12
  <?php
13
  $tabs = array(
14
- 'antispam' => __('Antispam', 'wpforo'),
15
- 'cleanup' => __('Cleanup', 'wpforo'),
 
16
  'misc' => __('Misc', 'wpforo'),
17
  );
18
  wpforo_admin_tools_tabs( $tabs, ( isset($_GET['tab']) ? $_GET['tab'] : 'antispam' ) );
@@ -22,8 +23,11 @@
22
  $includefile = 'tools-tabs/antispam.php';
23
  if(!empty($_GET['tab'])){
24
  switch($_GET['tab']){
25
- case 'cleanup':
26
- $includefile = 'tools-tabs/cleanup.php';
 
 
 
27
  break;
28
  case 'misc':
29
  $includefile = 'tools-tabs/misc.php';
11
  <div id="wpf-admin-wrap" class="wrap"><div id="icon-users" class="icon32"><br /></div>
12
  <?php
13
  $tabs = array(
14
+ 'antispam' => __('Antispam', 'wpforo'),
15
+ 'legal' => __('Privacy &amp; Rules', 'wpforo'),
16
+ //'cleanup' => __('Cleanup', 'wpforo'),
17
  'misc' => __('Misc', 'wpforo'),
18
  );
19
  wpforo_admin_tools_tabs( $tabs, ( isset($_GET['tab']) ? $_GET['tab'] : 'antispam' ) );
23
  $includefile = 'tools-tabs/antispam.php';
24
  if(!empty($_GET['tab'])){
25
  switch($_GET['tab']){
26
+ case 'legal':
27
+ $includefile = 'tools-tabs/legal.php';
28
+ break;
29
+ //case 'cleanup':
30
+ //$includefile = 'tools-tabs/cleanup.php';
31
  break;
32
  case 'misc':
33
  $includefile = 'tools-tabs/misc.php';
wpf-admin/xml/english.xml CHANGED
@@ -418,7 +418,7 @@
418
  <phrase name="Reset Password"><![CDATA[Reset Password]]></phrase>
419
  <phrase name="Forgot Your Password?"><![CDATA[Forgot Your Password?]]></phrase>
420
  <phrase name="%s created a new topic %s"><![CDATA[%s created a new topic %s]]></phrase>
421
- <phrase name="%s posted in topic %s"><![CDATA[%s posted in topic %s]]></phrase>
422
  <phrase name="%s liked forum post %s"><![CDATA[%s liked forum post %s]]></phrase>
423
  <phrase name="Read more"><![CDATA[Read more]]></phrase>
424
  <phrase name="Forum topic"><![CDATA[Forum topic]]></phrase>
@@ -444,4 +444,48 @@
444
  <phrase name="Split"><![CDATA[Split]]></phrase>
445
  <phrase name="Move Reply"><![CDATA[Move Reply]]></phrase>
446
  <phrase name="This action changes topic URL. Once the topic is moved to other forum the old URL of this topic will no longer be available."><![CDATA[This action changes topic URL. Once the topic is moved to other forum the old URL of this topic will no longer be available.]]></phrase>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
447
  </language>
418
  <phrase name="Reset Password"><![CDATA[Reset Password]]></phrase>
419
  <phrase name="Forgot Your Password?"><![CDATA[Forgot Your Password?]]></phrase>
420
  <phrase name="%s created a new topic %s"><![CDATA[%s created a new topic %s]]></phrase>
421
+ <phrase name="%s replied to the topic %s"><![CDATA[%s replied to the topic %s]]></phrase>
422
  <phrase name="%s liked forum post %s"><![CDATA[%s liked forum post %s]]></phrase>
423
  <phrase name="Read more"><![CDATA[Read more]]></phrase>
424
  <phrase name="Forum topic"><![CDATA[Forum topic]]></phrase>
444
  <phrase name="Split"><![CDATA[Split]]></phrase>
445
  <phrase name="Move Reply"><![CDATA[Move Reply]]></phrase>
446
  <phrase name="This action changes topic URL. Once the topic is moved to other forum the old URL of this topic will no longer be available."><![CDATA[This action changes topic URL. Once the topic is moved to other forum the old URL of this topic will no longer be available.]]></phrase>
447
+ <phrase name="The time to edit this topic is expired"><![CDATA[The time to edit this topic is expired]]></phrase>
448
+ <phrase name="The time to delete this topic is expired."><![CDATA[The time to delete this topic is expired. Please contact to forum administrator to delete it.]]></phrase>
449
+ <phrase name="The time to edit this post is expired."><![CDATA[The time to edit this post is expired.]]></phrase>
450
+ <phrase name="The time to delete this post is expired."><![CDATA[The time to delete this post is expired.]]></phrase>
451
+ <phrase name="Please contact to forum administrator to delete it."><![CDATA[Please contact to forum administrator to delete it.]]></phrase>
452
+ <phrase name="Please contact to forum administrator to edit it."><![CDATA[Please contact to forum administrator to edit it.]]></phrase>
453
+ <phrase name="Read more about Facebook public_profile properties."><![CDATA[Read more about Facebook public_profile properties.]]></phrase>
454
+ <phrase name="forum privacy policy"><![CDATA[forum privacy policy]]></phrase>
455
+ <phrase name="I have read and agree to the %s."><![CDATA[I have read and agree to the %s.]]></phrase>
456
+ <phrase name="Click to open forum privacy policy below"><![CDATA[Click to open forum privacy policy below]]></phrase>
457
+ <phrase name="I agree"><![CDATA[I agree]]></phrase>
458
+ <phrase name="I do not agree. Take me away from here."><![CDATA[I do not agree. Take me away from here.]]></phrase>
459
+ <phrase name="forum rules"><![CDATA[forum rules]]></phrase>
460
+ <phrase name="I have read and agree to abide by the %s."><![CDATA[I have read and agree to abide by the %s.]]></phrase>
461
+ <phrase name="Click to open forum rules below"><![CDATA[Click to open forum rules below]]></phrase>
462
+ <phrase name="I agree to these rules"><![CDATA[I agree to these rules]]></phrase>
463
+ <phrase name="I do not agree to these rules. Take me away from here."><![CDATA[I do not agree to these rules. Take me away from here.]]></phrase>
464
+ <phrase name="the website"><![CDATA[the website]]></phrase>
465
+ <phrase name="I have read and agree to the"><![CDATA[I have read and agree to the]]></phrase>
466
+ <phrase name="I have read and agree to %s privacy policy. For more information, please check our privacy policy, where you'll get more info on where, how and why we store your data."><![CDATA[I have read and agree to %s privacy policy. For more information, please check our privacy policy, where you'll get more info on where, how and why we store your data.]]></phrase>
467
+ <phrase name="Terms"><![CDATA[Terms]]></phrase>
468
+ <phrase name="Privacy Policy"><![CDATA[Privacy Policy]]></phrase>
469
+ <phrase name="and"><![CDATA[and]]></phrase>
470
+ <phrase name="I agree to receive an email confirmation with a link to set a password."><![CDATA[I agree to receive an email confirmation with a link to set a password.]]></phrase>
471
+ <phrase name="Contact Us"><![CDATA[Contact Us]]></phrase>
472
+ <phrase name="Contact the forum administrator"><![CDATA[Contact the forum administrator]]></phrase>
473
+ <phrase name="Share:"><![CDATA[Share:]]></phrase>
474
+ <phrase name="Share"><![CDATA[Share]]></phrase>
475
+ <phrase name="Share this post"><![CDATA[Share this post]]></phrase>
476
+ <phrase name="When you login first time using Facebook Login button, we collect your account %s information shared by Facebook, based on your privacy settings. We also get your email address to automatically create a forum account for you. Once your account is created, you'll be logged-in to this account and you'll receive a confirmation email."><![CDATA[When you login first time using Facebook Login button, we collect your account %s information shared by Facebook, based on your privacy settings. We also get your email address to automatically create a forum account for you. Once your account is created, you'll be logged-in to this account and you'll receive a confirmation email.]]></phrase>
477
+ <phrase name="I allow to create an account based on my Facebook public profile information and send confirmation email."><![CDATA[I allow to create an account based on my Facebook public profile information and send confirmation email.]]></phrase>
478
+ <phrase name="Facebook Login Information"><![CDATA[Facebook Login Information]]></phrase>
479
+ <phrase name="Share to Facebook"><![CDATA[Share to Facebook]]></phrase>
480
+ <phrase name="Tweet this post"><![CDATA[Tweet this post]]></phrase>
481
+ <phrase name="Tweet"><![CDATA[Tweet]]></phrase>
482
+ <phrase name="Share to Google+"><![CDATA[Share to Google+]]></phrase>
483
+ <phrase name="Share to VK"><![CDATA[Share to VK]]></phrase>
484
+ <phrase name="Share to OK"><![CDATA[Share to OK]]></phrase>
485
+ <phrase name="Update Subscriptions"><![CDATA[Update Subscriptions]]></phrase>
486
+ <phrase name="Subscribe to all new topics and posts"><![CDATA[Subscribe to all new topics and posts]]></phrase>
487
+ <phrase name="Subscribe to all new topics"><![CDATA[Subscribe to all new topics]]></phrase>
488
+ <phrase name="Subscription Manager"><![CDATA[Subscription Manager]]></phrase>
489
+ <phrase name="topics and posts"><![CDATA[topics and posts]]></phrase>
490
+ <phrase name="topics"><![CDATA[topics]]></phrase>
491
  </language>
wpf-assets/images/sn/fb-m.png ADDED
Binary file
wpf-assets/images/sn/gg-m.png ADDED
Binary file
wpf-assets/images/sn/location-1.png ADDED
Binary file
wpf-assets/images/sn/location-2.png ADDED
Binary file
wpf-assets/images/sn/location-3.png ADDED
Binary file
wpf-assets/images/sn/location-4.png ADDED
Binary file
wpf-assets/images/sn/location-5.png ADDED
Binary file
wpf-assets/images/sn/location-6.png ADDED
Binary file
wpf-assets/images/sn/ok-m.png ADDED
Binary file
wpf-assets/images/sn/share-m.png ADDED
Binary file
wpf-assets/images/sn/toggle-1.png ADDED
Binary file
wpf-assets/images/sn/toggle-2.png ADDED
Binary file
wpf-assets/images/sn/toggle-3.png ADDED
Binary file
wpf-assets/images/sn/toggle-4.png ADDED
Binary file
wpf-assets/images/sn/tw-m.png ADDED
Binary file
wpf-assets/images/sn/vk-m.png ADDED
Binary file
wpf-assets/js/frontend.js CHANGED
@@ -261,3 +261,77 @@ jQuery(document).ready(function($){
261
  });
262
 
263
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
261
  });
262
 
263
  });
264
+
265
+
266
+ jQuery(document).ready(function($){
267
+
268
+ //Facebook Share Buttons
269
+ $(document).on('click','.wpf-fb', function(){
270
+ var item_url = $(this).data('wpfurl');
271
+ var item_quote = $(this).parents('.post-wrap').find('.wpforo-post-content').text();
272
+ FB.ui({
273
+ method: 'share',
274
+ href: item_url,
275
+ quote: item_quote,
276
+ hashtag: null,
277
+ }, function (response) {});
278
+ });
279
+
280
+ //Share Buttons Toggle
281
+ $('.wpf-sb').mouseover(function(){
282
+ $(this).find(".wpf-sb-toggle").find("i").addClass("wpfsa");
283
+ $(this).find(".wpf-sb-buttons").show();
284
+ }).mouseout(function() {
285
+ $(this).find(".wpf-sb-toggle").find("i").removeClass("wpfsa");
286
+ $(this).find(".wpf-sb-buttons").hide();
287
+ });
288
+ $('.wpf-sb-toggle').mouseover(function(){
289
+ $(this).next().filter('.wpf-sb-buttons').parent().find("i").addClass("wpfsa");
290
+ }).mouseout(function() {
291
+ $(this).next().filter('.wpf-sb-buttons').parent().find("i").removeClass("wpfsa");
292
+ });
293
+
294
+ //Forum Rules
295
+ $("#wpf-open-rules").click(function(){
296
+ $(".wpforo-legal-rules").toggle();
297
+ return false;
298
+ });
299
+ $(document).on('click','#wpflegal-rules-yes', function(){
300
+ $('#wpflegal_rules').prop('checked', true);
301
+ $('#wpflegal-rules-not').removeClass('wpflb-active-not');
302
+ $(this).addClass('wpflb-active-yes');
303
+ setTimeout(function(){ $(".wpforo-legal-rules").slideToggle( "slow" ); }, 500);
304
+ });
305
+ $(document).on('click','#wpflegal-rules-not', function(){
306
+ $('#wpflegal_rules').prop('checked', false);
307
+ $('#wpflegal-rules-yes').removeClass('wpflb-active-yes');
308
+ $(this).addClass('wpflb-active-not');
309
+ });
310
+
311
+ //Forum Privacy Buttons
312
+ $("#wpf-open-privacy").click(function(){
313
+ $(".wpforo-legal-privacy").toggle();
314
+ return false;
315
+ });
316
+ $(document).on('click','#wpflegal-privacy-yes', function(){
317
+ $('#wpflegal_privacy').prop('checked', true);
318
+ $('#wpflegal-privacy-not').removeClass('wpflb-active-not');
319
+ $(this).addClass('wpflb-active-yes');
320
+ setTimeout(function(){ $(".wpforo-legal-privacy").slideToggle( "slow" ); }, 500);
321
+ });
322
+ $(document).on('click','#wpflegal-privacy-not', function(){
323
+ $('#wpflegal_privacy').prop('checked', false);
324
+ $('#wpflegal-privacy-yes').removeClass('wpflb-active-yes');
325
+ $(this).addClass('wpflb-active-not');
326
+ });
327
+
328
+ //Facebook Login Button
329
+ $('#wpflegal_fblogin').on('click', function() {
330
+ if( $(this).is(':checked') ){
331
+ $('.wpforo_fb-button').attr('style','pointer-events:auto; opacity:1;');
332
+ } else{
333
+ $('.wpforo_fb-button').attr('style','pointer-events: none; opacity:0.6;');
334
+ }
335
+ });
336
+
337
+ });
wpf-includes/class-api.php CHANGED
@@ -6,14 +6,17 @@ class wpForoAPI{
6
  private $default;
7
  public $options;
8
  public $locale = 'en_US';
9
- public $locales = array( 'af_ZA', 'ar_AR', 'az_AZ', 'be_BY', 'bg_BG', 'bn_IN', 'bs_BA', 'ca_ES', 'cs_CZ', 'cy_GB', 'da_DK', 'de_DE', 'el_GR', 'en_US',
10
- 'en_GB', 'eo_EO', 'es_ES', 'es_LA', 'et_EE', 'eu_ES', 'fa_IR', 'fb_LT', 'fi_FI', 'fo_FO', 'fr_FR', 'fr_CA', 'fy_NL', 'ga_IE',
11
- 'gl_ES', 'he_IL', 'hi_IN', 'hr_HR', 'hu_HU', 'hy_AM', 'id_ID', 'is_IS', 'it_IT', 'ja_JP', 'ka_GE', 'km_KH', 'ko_KR', 'ku_TR',
12
- 'la_VA', 'lt_LT', 'lv_LV', 'mk_MK', 'ml_IN', 'ms_MY', 'nb_NO', 'ne_NP', 'nl_NL', 'nn_NO', 'pa_IN', 'pl_PL', 'ps_AF', 'pt_PT',
13
- 'pt_BR', 'ro_RO', 'ru_RU', 'sk_SK', 'sl_SI', 'sq_AL', 'sr_RS', 'sv_SE', 'sw_KE', 'ta_IN', 'te_IN', 'th_TH', 'tl_PH', 'tr_TR',
14
- 'uk_UA', 'vi_VN', 'zh_CN', 'zh_HK', 'zh_TW' );
 
 
 
 
15
 
16
-
17
  public function __construct(){
18
  $this->init_defaults();
19
  $this->init_options();
@@ -26,10 +29,25 @@ class wpForoAPI{
26
  'fb_api_secret' => '',
27
  'fb_login' => 0,
28
  'fb_load_sdk' => 1,
 
29
  'fb_lb_on_lp' => 1,
30
  'fb_lb_on_rp' => 1,
31
  'fb_redirect' => 'profile',
32
- 'fb_redirect_url' => ''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  );
34
  }
35
 
@@ -40,39 +58,57 @@ class wpForoAPI{
40
  public function hooks(){
41
 
42
  $template = WPF()->current_object['template'];
43
-
44
  ###############################################################################
45
- ############### Facebook API ##################################################
46
  ###############################################################################
47
 
48
  if(!is_user_logged_in()){
49
  if( $this->options['fb_login'] ){
50
  if( $template == 'login' || $template == 'register' ){
51
  add_action('wp_enqueue_scripts', array($this, 'fb_enqueue'));
52
- if( $this->options['fb_load_sdk'] ){
53
- add_action('wpforo_bottom_hook', array($this, 'fb_login_scripts'));
54
- }
55
- }
56
- if( $this->options['fb_lb_on_lp'] ){
57
- add_action('wpforo_login_form_end', array($this, 'fb_login_button'));
58
- }
59
- if( $this->options['fb_lb_on_rp'] ){
60
- add_action('wpforo_register_form_end', array($this, 'fb_login_button'));
61
  }
 
 
 
 
 
 
 
 
62
  add_action('wp_ajax_wpforo_facebook_auth', array($this, 'fb_auth'));
63
  add_action('wp_ajax_nopriv_wpforo_facebook_auth', array($this, 'fb_auth'));
64
  }
65
  }
66
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  ###############################################################################
68
  ############### reCAPTCHA API #################################################
69
  ###############################################################################
70
-
71
  $site_key = WPF()->tools_antispam['rc_site_key'];
72
  $secret_key = WPF()->tools_antispam['rc_secret_key'];
73
-
74
  if( !is_user_logged_in() && $site_key && $secret_key ){
75
-
76
  $rc_reg_form = WPF()->tools_antispam['rc_reg_form'];
77
  $rc_login_form = WPF()->tools_antispam['rc_login_form'];
78
  $rc_lostpass_form = WPF()->tools_antispam['rc_lostpass_form'];
@@ -111,26 +147,53 @@ class wpForoAPI{
111
  if( $rc_wpf_lostpass_form && $template == 'lostpassword' ) add_action('lostpassword_form', array( $this, 'rc_widget'));
112
 
113
  //Load reCAPTCHA API and Widget for Topic and Post Editor
114
- if( $template == 'forum' || $template == 'topic' || $template == 'post' ){
115
  add_action('wp_enqueue_scripts', array($this, 'rc_enqueue'));
116
  add_action('wpforo_verify_form_end', array($this, 'rc_verify'));
117
- add_action('wpforo_topic_form_extra_fields_after', array($this, 'rc_widget'));
118
- add_action('wpforo_reply_form_extra_fields_after', array($this, 'rc_widget'));
119
  }
120
  }
121
 
122
  ###############################################################################
123
  }
124
-
125
- public function fb_local(){
126
- $wplocal = get_locale();
127
- if( in_array($wplocal, $this->locales) ){
128
- return $wplocal;
129
- }
130
- else{
131
- return $this->locale;
132
- }
133
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
 
135
  public function fb_enqueue() {
136
  $app_id = $this->options['fb_api_id'];
@@ -143,18 +206,18 @@ class wpForoAPI{
143
 
144
  public function fb_auth(){
145
 
146
- $app_version = '2.10';
147
  $app_secret = $this->options['fb_api_secret'];
148
  check_ajax_referer( 'wpforo-fb-nonce', 'security' );
149
  $fb_token = isset( $_POST['fb_response']['authResponse']['accessToken'] ) ? $_POST['fb_response']['authResponse']['accessToken'] : '';
150
- $fb_url = add_query_arg( array( 'fields' => 'id,first_name,last_name,email,link,about,locale,birthday', 'access_token' => $fb_token ), 'https://graph.facebook.com/v' . $app_version . '/' . $_POST['fb_response']['authResponse']['userID'] );
151
 
152
  ###################################################################################################################
153
  // Verifying Graph API Calls with appsecret_proof
154
  // Graph API calls can be made from clients or from your server on behalf of clients.
155
  // Calls from a server can be better secured by adding a parameter called appsecret_proof.
156
  // https://developers.facebook.com/docs/graph-api/securing-requests/
157
- if( !$app_secret ) {
158
  $appsecret_proof = hash_hmac('sha256', $fb_token, trim($app_secret) );
159
  $fb_url = add_query_arg( array( 'appsecret_proof' => $appsecret_proof ), $fb_url );
160
  }
@@ -216,23 +279,259 @@ class wpForoAPI{
216
  }
217
  }
218
 
219
- public function fb_login_scripts(){
220
- ?>
221
- <!-- wpForo FB Login start -->
222
- <script type='text/javascript' > function statusChangeCallback(response){ if (response.status === 'connected') {} else if (response.status === 'not_authorized') {} else {}} function checkLoginState() { FB.getLoginStatus(function(response) { statusChangeCallback(response); }); } window.fbAsyncInit = function(){ FB.init({ appId : '<?php echo trim($this->options['fb_api_id']) ?>', cookie : true, xfbml : true, status : false, version : 'v2.10' }); FB.getLoginStatus(function(response) {statusChangeCallback(response);}); }; (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/<?php echo $this->fb_local() ?>/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script>
223
- <!-- wpForo FB Login end -->
224
- <?php
225
  }
 
 
 
 
 
 
226
 
227
  public function fb_login_button(){
 
 
228
  ?>
229
- <div class="wpforo_fb-button wpforo-fb-login-wrap" data-redirect="<?php echo $this->fb_redirect() ?>" data-fb_nonce="<?php echo wp_create_nonce( 'wpforo-fb-nonce' ) ?>">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  <div class="fb-login-button" data-max-rows="1" onlogin="wpforo_fb_check_auth" data-size="medium" data-button-type="login_with" data-show-faces="false" data-auth-type="rerequest" data-auto-logout-link="false" data-use-continue-as="true" data-scope="email,public_profile"></div>
231
  <img data-no-lazy="1" src="<?php echo WPFORO_URL . '/wpf-assets/images/loading.gif'; ?>" class="wpforo_fb-spinner" style="display:none"/>
232
  </div>
233
  <?php
234
  }
235
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  public function rc_enqueue() {
237
  $theme = WPF()->tools_antispam['rc_theme'];
238
  $site_key = WPF()->tools_antispam['rc_site_key'];
@@ -286,6 +585,14 @@ class wpForoAPI{
286
  }
287
 
288
  public function rc_verify() {
 
 
 
 
 
 
 
 
289
  $result = $this->rc_check();
290
  if ( $result == 'success' ) {
291
  return true;
@@ -297,7 +604,15 @@ class wpForoAPI{
297
  }
298
 
299
  public function rc_verify_wp_login( $user ) {
300
- if ( !isset($_POST['log']) && !isset($_POST['pwd'])) return $user;
 
 
 
 
 
 
 
 
301
  $errors = is_wp_error($user) ? $user : new WP_Error();
302
  $result = $this->rc_check();
303
  if( $result != 'success' ) {
@@ -311,6 +626,14 @@ class wpForoAPI{
311
 
312
  public function rc_verify_wp_register( $errors = '' ){
313
  if ( !is_wp_error($errors) ) $errors = new WP_Error();
 
 
 
 
 
 
 
 
314
  $result = $this->rc_check();
315
  if( $result != 'success' ) {
316
  $errors->add('wpforo-recaptcha-error', $result);
@@ -320,6 +643,14 @@ class wpForoAPI{
320
 
321
  public function rc_verify_wp_lostpassword( $errors = '' ){
322
  if ( !is_wp_error($errors) ) $errors = new WP_Error();
 
 
 
 
 
 
 
 
323
  $result = $this->rc_check();
324
  if( $result != 'success' ) {
325
  if ( isset($_POST['wc_reset_password']) && isset($_POST['_wp_http_referer']) ) {
6
  private $default;
7
  public $options;
8
  public $locale = 'en_US';
9
+ public $locale_iso = 'en';
10
+ public $fb_local = array( 'af_ZA', 'ar_AR', 'az_AZ', 'be_BY', 'bg_BG', 'bn_IN', 'bs_BA', 'ca_ES', 'cs_CZ', 'cy_GB', 'da_DK', 'de_DE', 'el_GR', 'en_US',
11
+ 'en_GB', 'eo_EO', 'es_ES', 'es_LA', 'et_EE', 'eu_ES', 'fa_IR', 'fb_LT', 'fi_FI', 'fo_FO', 'fr_FR', 'fr_CA', 'fy_NL', 'ga_IE',
12
+ 'gl_ES', 'he_IL', 'hi_IN', 'hr_HR', 'hu_HU', 'hy_AM', 'id_ID', 'is_IS', 'it_IT', 'ja_JP', 'ka_GE', 'km_KH', 'ko_KR', 'ku_TR',
13
+ 'la_VA', 'lt_LT', 'lv_LV', 'mk_MK', 'ml_IN', 'ms_MY', 'nb_NO', 'ne_NP', 'nl_NL', 'nn_NO', 'pa_IN', 'pl_PL', 'ps_AF', 'pt_PT',
14
+ 'pt_BR', 'ro_RO', 'ru_RU', 'sk_SK', 'sl_SI', 'sq_AL', 'sr_RS', 'sv_SE', 'sw_KE', 'ta_IN', 'te_IN', 'th_TH', 'tl_PH', 'tr_TR',
15
+ 'uk_UA', 'vi_VN', 'zh_CN', 'zh_HK', 'zh_TW' );
16
+ public $tw_local = array( 'en', 'ar', 'bn', 'cs', 'da', 'de', 'el', 'es', 'fa', 'fi', 'fil', 'fr', 'he', 'hi', 'hu', 'id', 'it', 'ja', 'ko', 'msa', 'nl',
17
+ 'no', 'pl', 'pt', 'ro', 'ru', 'sv', 'th', 'tr', 'uk', 'ur', 'vi', 'zh-cn', 'zh-tw');
18
+ public $ok_local = array( "ru", "en", "uk", "hy", "mo", "ro", "kk", "uz", "az", "tr");
19
 
 
20
  public function __construct(){
21
  $this->init_defaults();
22
  $this->init_options();
29
  'fb_api_secret' => '',
30
  'fb_login' => 0,
31
  'fb_load_sdk' => 1,
32
+ 'fb_sdk_version' => 'v2.10',
33
  'fb_lb_on_lp' => 1,
34
  'fb_lb_on_rp' => 1,
35
  'fb_redirect' => 'profile',
36
+ 'fb_redirect_url' => '',
37
+ 'tw_load_wjs' => 1,
38
+ 'gg_load_js' => 1,
39
+ 'vk_load_js' => 1,
40
+ 'ok_load_js' => 1,
41
+ 'sb_on' => 1,
42
+ 'sb_toggle_on' => 1,
43
+ 'sb' => array('fb' => 1, 'tw' => 1, 'gg' => 1, 'vk' => 0, 'ok' => 0),
44
+ 'sb_icon' => 'mixed',
45
+ 'sb_type' => 'icon',
46
+ 'sb_style' => 'grey',
47
+ 'sb_toggle' => 4,
48
+ 'sb_location_toggle' => 'top',
49
+ 'sb_toggle_type' => 'collapsed',
50
+ 'sb_location' => array('top' => 0, 'bottom' => 1),
51
  );
52
  }
53
 
58
  public function hooks(){
59
 
60
  $template = WPF()->current_object['template'];
61
+
62
  ###############################################################################
63
+ ############### Facebook & Twitter API ########################################
64
  ###############################################################################
65
 
66
  if(!is_user_logged_in()){
67
  if( $this->options['fb_login'] ){
68
  if( $template == 'login' || $template == 'register' ){
69
  add_action('wp_enqueue_scripts', array($this, 'fb_enqueue'));
70
+ add_action('wpforo_bottom_hook', array($this, 'fb_login_sdk'), 9);
 
 
 
 
 
 
 
 
71
  }
72
+ if( $this->options['fb_api_id'] && $this->options['fb_api_secret'] ){
73
+ if( $this->options['fb_lb_on_lp'] ){
74
+ add_action('wpforo_login_form_end', array($this, 'fb_login_button'));
75
+ }
76
+ if( $this->options['fb_lb_on_rp'] ){
77
+ add_action('wpforo_register_form_end', array($this, 'fb_login_button'));
78
+ }
79
+ }
80
  add_action('wp_ajax_wpforo_facebook_auth', array($this, 'fb_auth'));
81
  add_action('wp_ajax_nopriv_wpforo_facebook_auth', array($this, 'fb_auth'));
82
  }
83
  }
84
+
85
+ if( is_wpforo_page() ){
86
+ if( $this->options['fb_load_sdk'] ){
87
+ add_action('wpforo_bottom_hook', array($this, 'fb_sdk'), 10);
88
+ }
89
+ if( $this->options['tw_load_wjs'] && wpfval($this->options, 'sb', 'tw') ){
90
+ add_action('wpforo_top_hook', array($this, 'tw_wjs'), 11);
91
+ }
92
+ if( $this->options['gg_load_js'] && wpfval($this->options, 'sb', 'gg') ){
93
+ add_action('wpforo_top_hook', array($this, 'gg_js'), 12);
94
+ }
95
+ if( $this->options['vk_load_js'] && wpfval($this->options, 'sb', 'vk') ){
96
+ add_action('wpforo_top_hook', array($this, 'vk_js'), 13);
97
+ }
98
+ if( $this->options['ok_load_js'] && wpfval($this->options, 'sb', 'ok') ){
99
+ add_action('wpforo_top_hook', array($this, 'ok_js'), 14);
100
+ }
101
+ }
102
+
103
  ###############################################################################
104
  ############### reCAPTCHA API #################################################
105
  ###############################################################################
106
+
107
  $site_key = WPF()->tools_antispam['rc_site_key'];
108
  $secret_key = WPF()->tools_antispam['rc_secret_key'];
109
+
110
  if( !is_user_logged_in() && $site_key && $secret_key ){
111
+
112
  $rc_reg_form = WPF()->tools_antispam['rc_reg_form'];
113
  $rc_login_form = WPF()->tools_antispam['rc_login_form'];
114
  $rc_lostpass_form = WPF()->tools_antispam['rc_lostpass_form'];
147
  if( $rc_wpf_lostpass_form && $template == 'lostpassword' ) add_action('lostpassword_form', array( $this, 'rc_widget'));
148
 
149
  //Load reCAPTCHA API and Widget for Topic and Post Editor
150
+ if( $template == 'forum' || $template == 'topic' || $template == 'post' ){
151
  add_action('wp_enqueue_scripts', array($this, 'rc_enqueue'));
152
  add_action('wpforo_verify_form_end', array($this, 'rc_verify'));
153
+ if( $rc_topic_editor ) add_action('wpforo_topic_form_extra_fields_after', array($this, 'rc_widget'));
154
+ if( $rc_post_editor ) add_action('wpforo_reply_form_extra_fields_after', array($this, 'rc_widget'));
155
  }
156
  }
157
 
158
  ###############################################################################
159
  }
160
+
161
+ public function local( $api ){
162
+
163
+ $wplocal = get_locale();
164
+ $wplocal_iso = substr($wplocal, 0, 2);
165
+
166
+ if( $api == 'fb' ){
167
+ if( in_array($wplocal, $this->fb_local) ){
168
+ return $wplocal;
169
+ }
170
+ else{
171
+ return $this->locale;
172
+ }
173
+ }
174
+ elseif( $api == 'tw' ){
175
+ if( in_array($wplocal_iso, $this->tw_local) ){
176
+ return $wplocal_iso;
177
+ }
178
+ else{
179
+ return $this->locale_iso;
180
+ }
181
+ }
182
+ elseif( $api == 'gg' ){
183
+ return $wplocal_iso;
184
+ }
185
+ elseif( $api == 'vk' ){
186
+ return $wplocal_iso;
187
+ }
188
+ elseif( $api == 'ok' ){
189
+ if( in_array($wplocal_iso, $this->ok_local) ){
190
+ return $wplocal_iso;
191
+ }
192
+ else{
193
+ return $this->locale_iso;
194
+ }
195
+ }
196
+ }
197
 
198
  public function fb_enqueue() {
199
  $app_id = $this->options['fb_api_id'];
206
 
207
  public function fb_auth(){
208
 
209
+ $app_version = 'v2.10';
210
  $app_secret = $this->options['fb_api_secret'];
211
  check_ajax_referer( 'wpforo-fb-nonce', 'security' );
212
  $fb_token = isset( $_POST['fb_response']['authResponse']['accessToken'] ) ? $_POST['fb_response']['authResponse']['accessToken'] : '';
213
+ $fb_url = add_query_arg( array( 'fields' => 'id,first_name,last_name,email,link,about,locale,birthday', 'access_token' => $fb_token ), 'https://graph.facebook.com/' . $app_version . '/' . $_POST['fb_response']['authResponse']['userID'] );
214
 
215
  ###################################################################################################################
216
  // Verifying Graph API Calls with appsecret_proof
217
  // Graph API calls can be made from clients or from your server on behalf of clients.
218
  // Calls from a server can be better secured by adding a parameter called appsecret_proof.
219
  // https://developers.facebook.com/docs/graph-api/securing-requests/
220
+ if( $app_secret ) {
221
  $appsecret_proof = hash_hmac('sha256', $fb_token, trim($app_secret) );
222
  $fb_url = add_query_arg( array( 'appsecret_proof' => $appsecret_proof ), $fb_url );
223
  }
279
  }
280
  }
281
 
282
+ public function fb_sdk(){
283
+ ?>
284
+ <div id="fb-root"></div>
285
+ <script type='text/javascript' >(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/<?php echo $this->local('fb') ?>/sdk.js#xfbml=1&version=<?php echo $this->options['fb_sdk_version'] ?>&appId=<?php echo $this->options['fb_api_id']?>&autoLogAppEvents=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script>
286
+ <?php
 
287
  }
288
+
289
+ public function fb_login_sdk(){
290
+ ?>
291
+ <script type='text/javascript'>function statusChangeCallback(response){ if (response.status === 'connected') {} else if (response.status === 'not_authorized') {} else {}} function checkLoginState() { FB.getLoginStatus(function(response) { statusChangeCallback(response); });} window.fbAsyncInit = function(){ FB.init({ appId : '<?php echo trim($this->options['fb_api_id']) ?>', cookie : <?php echo ( WPF()->tools_legal['cookies'] ) ? 'true' : 'false'; ?>, xfbml : true, status : false, version : '<?php echo $this->options['fb_sdk_version'] ?>' }); FB.getLoginStatus(function(response) {statusChangeCallback(response);}); };</script>
292
+ <?php
293
+ }
294
 
295
  public function fb_login_button(){
296
+ $checkbox = WPF()->tools_legal['checkbox_fb_login'];
297
+ $public_profile = '<a href="https://developers.facebook.com/docs/facebook-login/permissions#reference-public_profile" target="_blank" rel="nofollow" title="' . wpforo_phrase('Read more about Facebook public_profile properties.', false) . '">public_profile</a>';
298
  ?>
299
+ <?php if( $checkbox ): ?>
300
+ <div class="wpforo-fb-info">
301
+ <span class="wpforo-fb-info-title">
302
+ <i class="fas fa-info-circle wpfcl-5" aria-hidden="true" style="font-size:16px;"></i> &nbsp;<?php wpforo_phrase('Facebook Login Information'); ?>
303
+ </span>
304
+ <span class="wpforo-fb-info-text">
305
+ <?php echo sprintf( wpforo_phrase('When you login first time using Facebook Login button, we collect your account %s information shared by Facebook, based on your privacy settings. We also get your email address to automatically create a forum account for you. Once your account is created, you\'ll be logged-in to this account and you\'ll receive a confirmation email.', false ), $public_profile); ?>
306
+ </span>
307
+ <label class="wpforo-legal-checkbox wpflegal-fblogin">
308
+ <input id="wpflegal_fblogin" name="legal[agree-fb-login]" value="1" type="checkbox"> &nbsp;
309
+ <span><?php wpforo_phrase('I allow to create an account and send confirmation email.'); ?></span>
310
+ </label>
311
+ </div>
312
+ <?php endif; ?>
313
+ <div class="wpforo_fb-button wpforo-fb-login-wrap" data-redirect="<?php echo $this->fb_redirect() ?>" data-fb_nonce="<?php echo wp_create_nonce( 'wpforo-fb-nonce' ) ?>" <?php if( $checkbox ) echo 'style="pointer-events: none; opacity:0.6;"'; ?>>
314
  <div class="fb-login-button" data-max-rows="1" onlogin="wpforo_fb_check_auth" data-size="medium" data-button-type="login_with" data-show-faces="false" data-auth-type="rerequest" data-auto-logout-link="false" data-use-continue-as="true" data-scope="email,public_profile"></div>
315
  <img data-no-lazy="1" src="<?php echo WPFORO_URL . '/wpf-assets/images/loading.gif'; ?>" class="wpforo_fb-spinner" style="display:none"/>
316
  </div>
317
  <?php
318
  }
319
+
320
+ public function fb_share_button( $url = '', $type = 'custom', $text = '' ){
321
+ if( !wpfval($this->options, 'sb', 'fb') || !wpfval($this->options, 'fb_api_id') ) return;
322
+ $url = ( $url ) ? $url : WPF()->current_url;
323
+ $text = ( $text ) ? $text : wpfval(WPF()->current_object,'og_text');
324
+ if( $type == 'custom' ){
325
+ ?>
326
+ <span class="wpforo-share-button wpf-fb" data-wpfurl="<?php echo $url ?>" title="<?php wpforo_phrase('Share to Facebook'); ?>">
327
+ <?php if( $this->options['sb_icon'] == 'figure' ): ?>
328
+ <i class="fab fa-facebook-f" aria-hidden="true"></i>
329
+ <?php elseif( $this->options['sb_icon'] == 'square' ): ?>
330
+ <i class="fab fa-facebook-square" aria-hidden="true"></i>
331
+ <?php else: ?>
332
+ <i class="fab fa-facebook" aria-hidden="true"></i>
333
+ <?php endif; ?>
334
+ </span>
335
+ <?php
336
+ }
337
+ else{
338
+ ?>
339
+ <div class="wpf-sbw wpf-sbw-fb">
340
+ <?php if($this->options['sb_type'] == 'button_count'): ?>
341
+ <div class="fb-share-button" data-href="<?php echo esc_url($url) ?>" data-layout="button_count" data-size="small" data-mobile-iframe="true">
342
+ <a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url) ?>" class="fb-xfbml-parse-ignore"><?php wpforo_phrase('Share'); ?></a>
343
+ </div>
344
+ <?php elseif($this->options['sb_type'] == 'button'): ?>
345
+ <span class="wpf-sb-button wpf-fb" data-wpfurl="<?php echo esc_url($url) ?>">
346
+ <i class="fab fa-facebook-f" aria-hidden="true"></i> <span><?php echo wpforo_phrase('Share') ?></span>
347
+ </span>
348
+ <?php else: ?>
349
+ <span class="wpf-sb-button wpf-sb-icon wpf-fb" data-wpfurl="<?php echo esc_url($url) ?>">
350
+ <i class="fab fa-facebook-f" aria-hidden="true"></i>
351
+ </span>
352
+ <?php endif; ?>
353
+ </div>
354
+ <?php
355
+ }
356
+ }
357
+
358
+ public function tw_wjs(){
359
+ ?>
360
+ <script type="text/javascript">window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function(f) { t._e.push(f); }; return t;}(document, "script", "twitter-wjs"));</script>
361
+ <?php
362
+ }
363
+
364
+ public function tw_share_button( $url = '', $type = 'custom', $text = '' ){
365
+ if( !wpfval($this->options, 'sb', 'tw') ) return;
366
+ $url = ( $url ) ? $url : WPF()->current_url;
367
+ $n_url = strlen($url); $n_text = 280 - $n_url;
368
+ $text = ( $text ) ? $text : wpfval(WPF()->current_object,'og_text');
369
+ $text = urlencode( wpforo_text( strip_shortcodes( strip_tags($text) ), $n_text, false) );
370
+ if( $type == 'custom' ){ ?>
371
+ <a class="wpforo-share-button wpf-tw" href="https://twitter.com/intent/tweet?text=<?php echo $text ?>&url=<?php echo urlencode($url) ?>" title="<?php wpforo_phrase('Tweet this post'); ?>">
372
+ <?php if( $this->options['sb_icon'] == 'figure' ): ?>
373
+ <i class="fab fa-twitter" aria-hidden="true"></i>
374
+ <?php elseif( $this->options['sb_icon'] == 'square' ): ?>
375
+ <i class="fab fa-twitter-square" aria-hidden="true"></i>
376
+ <?php else: ?>
377
+ <i class="fab fa-twitter" aria-hidden="true"></i>
378
+ <?php endif; ?>
379
+ </a>
380
+ <?php
381
+ }
382
+ else{ ?>
383
+ <div class="wpf-sbw wpf-sbw-tw">
384
+ <?php if($this->options['sb_type'] == 'button_count'): ?>
385
+ <a href="https://twitter.com/share?ref_src=twsrc%5Etfw" class="twitter-share-button" data-lang="<?php $this->local('tw') ?>" data-show-count="true"><?php wpforo_phrase('Tweet'); ?></a>
386
+ <?php elseif($this->options['sb_type'] == 'button'): ?>
387
+ <a class="wpf-sb-button wpf-tw" href="https://twitter.com/intent/tweet?text=<?php echo $text ?>&url=<?php echo urlencode($url) ?>">
388
+ <i class="fab fa-twitter" aria-hidden="true"></i> <span><?php echo wpforo_phrase('Tweet') ?></span>
389
+ </a>
390
+ <?php else: ?>
391
+ <a class="wpf-sb-button wpf-sb-icon wpf-tw" href="https://twitter.com/intent/tweet?text=<?php echo $text ?>&url=<?php echo urlencode($url) ?>">
392
+ <i class="fab fa-twitter" aria-hidden="true"></i>
393
+ </a>
394
+ <?php endif; ?>
395
+ </div>
396
+ <?php
397
+ }
398
+ }
399
+
400
+ public function gg_js(){
401
+ ?>
402
+ <script src="https://apis.google.com/js/platform.js" async defer></script>
403
+ <?php
404
+ }
405
+
406
+ public function gg_share_button( $url = '', $type = 'custom', $text = '' ){
407
+ if( !wpfval($this->options, 'sb', 'gg') ) return;
408
+ $url = ( $url ) ? $url : WPF()->current_url;
409
+ $text = ( $text ) ? $text : wpfval(WPF()->current_object,'og_text');
410
+ if( $type == 'custom' ){ ?>
411
+ <a class="wpforo-share-button wpf-gg" href="//plus.google.com/share?app=110&amp;url=<?php echo urlencode($url) ?>" target="_blank" onclick="window.open(this.href,'','scrollbars=1,resizable=1,width=400,height=620');return false;" title="<?php wpforo_phrase('Share to Google+'); ?>">
412
+ <?php if( $this->options['sb_icon'] == 'figure' ): ?>
413
+ <i class="fab fa-google-plus-g" aria-hidden="true"></i>
414
+ <?php elseif( $this->options['sb_icon'] == 'square' ): ?>
415
+ <i class="fab fa-google-plus-square" aria-hidden="true"></i>
416
+ <?php else: ?>
417
+ <i class="fab fa-google-plus" aria-hidden="true"></i>
418
+ <?php endif; ?>
419
+ </a>
420
+ <?php
421
+ }
422
+ else{ ?>
423
+ <div class="wpf-sbw wpf-sbw-gg">
424
+ <?php if($this->options['sb_type'] == 'button_count'): ?>
425
+ <div class="g-plus" data-action="share" data-annotation="bubble"></div>
426
+ <?php elseif($this->options['sb_type'] == 'button'): ?>
427
+ <a class="wpf-sb-button wpf-gg" href="//plus.google.com/share?app=110&amp;url=<?php echo urlencode($url) ?>" target="_blank" onclick="window.open(this.href,'','scrollbars=1,resizable=1,width=400,height=620');return false;">
428
+ <i class="fab fa-google-plus-g" aria-hidden="true"></i> <span><?php echo wpforo_phrase('Share') ?></span>
429
+ </a>
430
+ <?php else: ?>
431
+ <a class="wpf-sb-button wpf-sb-icon wpf-gg" href="//plus.google.com/share?app=110&amp;url=<?php echo urlencode($url) ?>" target="_blank" onclick="window.open(this.href,'','scrollbars=1,resizable=1,width=400,height=620');return false;">
432
+ <i class="fab fa-google-plus-g" aria-hidden="true"></i>
433
+ </a>
434
+ <?php endif; ?>
435
+ </div>
436
+ <?php
437
+ }
438
+ }
439
+
440
+ public function vk_js(){
441
+ ?>
442
+ <script type="text/javascript" src="https://vk.com/js/api/share.js?95" charset="windows-1251"></script>
443
+ <?php
444
+ }
445
+
446
+ public function vk_share_button( $url = '', $type = 'custom', $text = '' ){
447
+ if( !wpfval($this->options, 'sb', 'vk') ) return;
448
+ $url = ( $url ) ? $url : WPF()->current_url;
449
+ $text = ( $text ) ? $text : wpfval(WPF()->current_object,'og_text');
450
+ $text = urlencode( wpforo_text( strip_shortcodes( strip_tags($text) ), 1000, false) );
451
+ if( $type == 'custom' ){ ?>
452
+ <a class="wpforo-share-button wpf-vk" onclick="return VK.Share.click(0, this);" href="https://vk.com/share.php?url=<?php echo urlencode($url) ?>&description=<?php echo $text ?>" title="<?php wpforo_phrase('Share to VK'); ?>" target="_blank">
453
+ <i class="fab fa-vk" aria-hidden="true"></i>
454
+ </a>
455
+ <?php
456
+ }
457
+ else{ ?>
458
+ <div class="wpf-sbw wpf-sbw-vk">
459
+ <?php if($this->options['sb_type'] == 'button_count'): ?>
460
+ <script type="text/javascript">document.write(VK.Share.button(false,{type: "round", text: "<?php wpforo_phrase('Share'); ?>"}));</script>
461
+ <?php elseif($this->options['sb_type'] == 'button'): ?>
462
+ <a class="wpf-sb-button wpf-vk" onclick="return VK.Share.click(0, this);" href="https://vk.com/share.php?url=<?php echo urlencode($url) ?>&description=<?php echo $text ?>" target="_blank">
463
+ <i class="fab fa-vk" aria-hidden="true"></i> <span><?php echo wpforo_phrase('Share') ?></span>
464
+ </a>
465
+ <?php else: ?>
466
+ <a class="wpf-sb-button wpf-sb-icon wpf-vk" onclick="return VK.Share.click(0, this);" href="https://vk.com/share.php?url=<?php echo urlencode($url) ?>&description=<?php echo $text ?>" target="_blank">
467
+ <i class="fab fa-vk" aria-hidden="true"></i>
468
+ </a>
469
+ <?php endif; ?>
470
+ </div>
471
+ <?php
472
+ }
473
+ }
474
+
475
+ public function ok_js(){
476
+
477
+ }
478
+
479
+ public function ok_share_button( $url = '', $type = 'custom', $text = '' ){
480
+ if( !wpfval($this->options, 'sb', 'ok') ) return;
481
+ $url = ( $url ) ? $url : WPF()->current_url;
482
+ if( preg_match('|\#post-(\d+)|s', $url, $a) ){ $pid = ( isset($a[1]) ) ? intval($a[1]) : mt_rand(100000, 999999); } else{ $pid = mt_rand(100000, 999999); }
483
+ $text = ( $text ) ? $text : wpfval(WPF()->current_object,'og_text');
484
+ $text = wpforo_text( strip_shortcodes( strip_tags($text) ), 1000, false);
485
+ if( $type == 'custom' ){ ?>
486
+ <a class="wpforo-share-button wpf-ok" href="https://connect.ok.ru/offer?url=<?php echo urlencode( $url ) ?>&description=<?php echo urlencode($text) ?>" title="<?php wpforo_phrase('Share to OK'); ?>" target="_blank" >
487
+ <?php if( $this->options['sb_icon'] == 'figure' ): ?>
488
+ <i class="fab fa-odnoklassniki" aria-hidden="true"></i>
489
+ <?php elseif( $this->options['sb_icon'] == 'square' ): ?>
490
+ <i class="fab fa-odnoklassniki-square" aria-hidden="true"></i>
491
+ <?php else: ?>
492
+ <i class="fab fa-odnoklassniki-square" aria-hidden="true"></i>
493
+ <?php endif; ?>
494
+ </a>
495
+ <?php
496
+ }
497
+ else{ ?>
498
+ <div class="wpf-sbw wpf-sbw-ok">
499
+ <?php if($this->options['sb_type'] == 'button_count'): ?>
500
+ <div id="<?php echo 'wpfokb_' . $pid ?>"></div>
501
+ <script>
502
+ !function (d, id, did, st, title, description, image) { var js = d.createElement("script"); js.src = "https://connect.ok.ru/connect.js"; js.onload = js.onreadystatechange = function () { if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") { if (!this.executed) { this.executed = true; setTimeout(function () { OK.CONNECT.insertShareWidget(id,did,st, title, description, image); }, 0); }}}; d.documentElement.appendChild(js);
503
+ }(document,"<?php echo 'wpfokb_' . $pid ?>","<?php echo esc_attr( $url ) ?>",'{"sz":20,"st":"straight","ck":2,"lang":"<?php echo $this->local('ok') ?>"}',"","","");
504
+ </script>
505
+ <?php elseif($this->options['sb_type'] == 'button'): ?>
506
+ <a class="wpf-sb-button wpf-ok" href="https://connect.ok.ru/offer?url=<?php echo urlencode( $url ) ?>&description=<?php echo urlencode($text) ?>" title="<?php wpforo_phrase('Share to OK'); ?>" target="_blank" >
507
+ <i class="fab fa-odnoklassniki" aria-hidden="true"></i> <span><?php echo wpforo_phrase('Share') ?></span>
508
+ </a>
509
+ <?php else: ?>
510
+ <a class="wpf-sb-button wpf-sb-icon wpf-ok" href="https://connect.ok.ru/offer?url=<?php echo urlencode( $url ) ?>&description=<?php echo urlencode($text) ?>" title="<?php wpforo_phrase('Share to OK'); ?>" target="_blank" >
511
+ <i class="fab fa-odnoklassniki" aria-hidden="true"></i>
512
+ </a>
513
+ <?php endif; ?>
514
+ </div>
515
+ <?php
516
+ }
517
+ }
518
+
519
+ public function share_toggle( $url = '', $text = '', $type = 'custom' ){
520
+ WPF()->api->fb_share_button($url, $type, $text);
521
+ WPF()->api->tw_share_button($url, $type, $text);
522
+ WPF()->api->gg_share_button($url, $type, $text);
523
+ WPF()->api->vk_share_button($url, $type, $text);
524
+ WPF()->api->ok_share_button($url, $type, $text);
525
+ }
526
+
527
+ public function share_buttons( $url = '', $type = 'default', $text = '' ){
528
+ WPF()->api->fb_share_button($url, $type, $text);
529
+ WPF()->api->tw_share_button($url, $type, $text);
530
+ WPF()->api->gg_share_button($url, $type, $text);
531
+ WPF()->api->vk_share_button($url, $type, $text);
532
+ WPF()->api->ok_share_button($url, $type, $text);
533
+ }
534
+
535
  public function rc_enqueue() {
536
  $theme = WPF()->tools_antispam['rc_theme'];
537
  $site_key = WPF()->tools_antispam['rc_site_key'];
585
  }
586
 
587
  public function rc_verify() {
588
+ if( !WPF()->tools_antispam['rc_post_editor'] || !WPF()->tools_antispam['rc_topic_editor'] ){
589
+ if( wpfval($_POST, 'post','save') && !WPF()->tools_antispam['rc_post_editor'] ){
590
+ return true;
591
+ }
592
+ elseif( wpfval($_POST, 'topic', 'save') && !WPF()->tools_antispam['rc_topic_editor'] ){
593
+ return true;
594
+ }
595
+ }
596
  $result = $this->rc_check();
597
  if ( $result == 'success' ) {
598
  return true;
604
  }
605
 
606
  public function rc_verify_wp_login( $user ) {
607
+ if ( !isset($_POST['log']) && !isset($_POST['pwd'])) return $user;
608
+ if( !WPF()->tools_antispam['rc_login_form'] || !WPF()->tools_antispam['rc_wpf_login_form'] ){
609
+ if( !wpfval($_POST, 'wpforologin') && !WPF()->tools_antispam['rc_login_form'] ){
610
+ return $user;
611
+ }
612
+ elseif( wpfval($_POST, 'wpforologin') && !WPF()->tools_antispam['rc_wpf_login_form'] ){
613
+ return $user;
614
+ }
615
+ }
616
  $errors = is_wp_error($user) ? $user : new WP_Error();
617
  $result = $this->rc_check();
618
  if( $result != 'success' ) {
626
 
627
  public function rc_verify_wp_register( $errors = '' ){
628
  if ( !is_wp_error($errors) ) $errors = new WP_Error();
629
+ if( !WPF()->tools_antispam['rc_reg_form'] || !WPF()->tools_antispam['rc_wpf_reg_form'] ){
630
+ if( !wpfval($_POST, 'wpfreg') && !WPF()->tools_antispam['rc_reg_form'] ){
631
+ return $errors;
632
+ }
633
+ elseif( wpfval($_POST, 'wpfreg') && !WPF()->tools_antispam['rc_wpf_reg_form'] ){
634
+ return $errors;
635
+ }
636
+ }
637
  $result = $this->rc_check();
638
  if( $result != 'success' ) {
639
  $errors->add('wpforo-recaptcha-error', $result);
643
 
644
  public function rc_verify_wp_lostpassword( $errors = '' ){
645
  if ( !is_wp_error($errors) ) $errors = new WP_Error();
646
+ if( !WPF()->tools_antispam['rc_lostpass_form'] || !WPF()->tools_antispam['rc_wpf_lostpass_form'] ){
647
+ if( !wpfval($_POST, 'wpfororp') && !WPF()->tools_antispam['rc_lostpass_form'] ){
648
+ return;
649
+ }
650
+ elseif( wpfval($_POST, 'wpfororp') && !WPF()->tools_antispam['rc_wpf_lostpass_form'] ){
651
+ return;
652
+ }
653
+ }
654
  $result = $this->rc_check();
655
  if( $result != 'success' ) {
656
  if ( isset($_POST['wc_reset_password']) && isset($_POST['_wp_http_referer']) ) {
wpf-includes/class-cache.php CHANGED
@@ -20,8 +20,8 @@ class wpForoCache{
20
  $this->dir = $cache_dir;
21
  $this->lang = get_locale();
22
  }
23
-
24
- public function get_key( $type = 'html' ){
25
  if($type == 'html'){
26
  $ug = WPF()->current_user_groupid;
27
  return md5( preg_replace('|(.+)\#.+?$|is', '$1', $_SERVER['REQUEST_URI']) . $ug );
@@ -64,9 +64,9 @@ class wpForoCache{
64
  }
65
  }
66
 
67
- public function get( $key, $type = 'loop' ){
68
 
69
- $template = WPF()->current_object['template'];
70
  $loop_templates = array('forum', 'topic', 'post');
71
  if( $type == 'loop' && $template ){
72
  if( $this->exists($key, $template) ){
@@ -152,7 +152,17 @@ class wpForoCache{
152
  }
153
  }
154
  }
155
-
 
 
 
 
 
 
 
 
 
 
156
  public function filter( $html = '' ){
157
  //exit();
158
  $html = preg_replace('|<div[\s\t]*id=\"wpf\-msg\-box\"|is', '<div style="display:none;"', $html);
@@ -202,6 +212,7 @@ class wpForoCache{
202
  $postid = (isset($item['first_postid']) && $item['first_postid']) ? $item['first_postid'] : 0;
203
  if( $postid ) $file = $this->dir . '/item/post/' . $postid . '_' . $this->lang; $this->clean_file( $file );
204
  }
 
205
  }
206
  elseif( $template == 'post' || $template == 'post-soft' ){
207
  $id = isset($id) ? $id : $postid;
@@ -217,6 +228,7 @@ class wpForoCache{
217
  if( $id ){
218
  $file = $this->dir . '/item/post/' . $id . '_' . $this->lang; $this->clean_file( $file );
219
  }
 
220
  }
221
  elseif( $template == 'user' ){
222
  //no cache//
@@ -280,5 +292,8 @@ class wpForoCache{
280
  $this->clean_files( $directory );
281
  }
282
  }
283
-
 
 
 
284
  }
20
  $this->dir = $cache_dir;
21
  $this->lang = get_locale();
22
  }
23
+
24
+ public function get_key( $type = 'html' ){
25
  if($type == 'html'){
26
  $ug = WPF()->current_user_groupid;
27
  return md5( preg_replace('|(.+)\#.+?$|is', '$1', $_SERVER['REQUEST_URI']) . $ug );
64
  }
65
  }
66
 
67
+ public function get( $key, $type = 'loop', $template = NULL ){
68
 
69
+ $template = ( $template ) ? $template : WPF()->current_object['template'];
70
  $loop_templates = array('forum', 'topic', 'post');
71
  if( $type == 'loop' && $template ){
72
  if( $this->exists($key, $template) ){
152
  }
153
  }
154
  }
155
+
156
+ public function create_custom( $args = array(), $items = array(), $template = 'post', $items_count = 0 ){
157
+ if(empty($args) || !is_array($args)) return;
158
+ if(empty($items) || !is_array($items)) return;
159
+ $cache = array(); $hach = serialize($args);
160
+ $object_key = md5( $hach . WPF()->current_user_groupid );
161
+ $cache[$object_key]['items'] = $items;
162
+ $cache[$object_key]['items_count'] = $items_count;
163
+ $this->create_files( $cache, $template );
164
+ }
165
+
166
  public function filter( $html = '' ){
167
  //exit();
168
  $html = preg_replace('|<div[\s\t]*id=\"wpf\-msg\-box\"|is', '<div style="display:none;"', $html);
212
  $postid = (isset($item['first_postid']) && $item['first_postid']) ? $item['first_postid'] : 0;
213
  if( $postid ) $file = $this->dir . '/item/post/' . $postid . '_' . $this->lang; $this->clean_file( $file );
214
  }
215
+ $this->clear_forum_statistic();
216
  }
217
  elseif( $template == 'post' || $template == 'post-soft' ){
218
  $id = isset($id) ? $id : $postid;
228
  if( $id ){
229
  $file = $this->dir . '/item/post/' . $id . '_' . $this->lang; $this->clean_file( $file );
230
  }
231
+ $this->clear_forum_statistic();
232
  }
233
  elseif( $template == 'user' ){
234
  //no cache//
292
  $this->clean_files( $directory );
293
  }
294
  }
295
+
296
+ public function clear_forum_statistic(){
297
+ WPF()->db->query("DELETE FROM `" . WPF()->db->options."` WHERE `option_name` LIKE 'wpforo_stat%'" );
298
+ }
299
  }
wpf-includes/class-feed.php CHANGED
@@ -37,7 +37,15 @@ class wpForoFeed{
37
  }
38
 
39
  function rss2_forum( $forum = array(), $topics = array() ){
40
- if(empty($forum)) return;
 
 
 
 
 
 
 
 
41
  header("Content-Type: application/xml; charset" . get_option('blog_charset') );
42
  echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
43
  ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
@@ -76,7 +84,15 @@ class wpForoFeed{
76
  }
77
 
78
  function rss2_topic( $forum = array(), $topic = array(), $posts = array() ){
79
- if(empty($forum)) return;
 
 
 
 
 
 
 
 
80
  header("Content-Type: application/xml; charset" . get_option('blog_charset') );
81
  echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
82
  ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
37
  }
38
 
39
  function rss2_forum( $forum = array(), $topics = array() ){
40
+ if(empty($forum)) {
41
+ if(!wpforo_feature('rss-feed')){
42
+ header('HTTP/1.0 404 Not Found', true, 404);
43
+ die();
44
+ }
45
+ else{
46
+ return;
47
+ }
48
+ }
49
  header("Content-Type: application/xml; charset" . get_option('blog_charset') );
50
  echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
51
  ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
84
  }
85
 
86
  function rss2_topic( $forum = array(), $topic = array(), $posts = array() ){
87
+ if(empty($forum)) {
88
+ if(!wpforo_feature('rss-feed')){
89
+ header('HTTP/1.0 404 Not Found', true, 404);
90
+ die();
91
+ }
92
+ else{
93
+ return;
94
+ }
95
+ }
96
  header("Content-Type: application/xml; charset" . get_option('blog_charset') );
97
  echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
98
  ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
wpf-includes/class-forums.php CHANGED
@@ -76,9 +76,9 @@ class wpForoForum{
76
  $new_slug = wpforo_text($slug, 250, false);
77
  $forumid = intval($forumid);
78
  $i = 2;
79
- while( WPF()->db->get_var("SELECT `forumid` FROM ".WPF()->db->prefix."wpforo_forums WHERE `slug` = '" . esc_sql($new_slug) . "'" . ($forumid ? ' AND `forumid` != '. intval($forumid) : '')) ){
80
  if( !isset($parent_slug) && $parentid = intval($parentid) ){
81
- $parent_slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->db->prefix."wpforo_forums WHERE `forumid` = " . intval($parentid) );
82
  $new_slug = $parent_slug . "-" . wpforo_text($slug, 250, false);
83
  }else{
84
  $new_slug = wpforo_text($slug, 250, false) . '-' . $i;
@@ -123,12 +123,12 @@ class wpForoForum{
123
  if(!$parentid) $is_cat = 1;
124
 
125
  if($parentid) {
126
- $cat_layout = WPF()->db->get_var("SELECT `cat_layout` FROM `".WPF()->db->prefix ."wpforo_forums` WHERE `forumid` = " . intval($parentid) );
127
  $cat_layout = intval($cat_layout);
128
  }
129
 
130
  if( WPF()->db->insert(
131
- WPF()->db->prefix . 'wpforo_forums',
132
  array(
133
  'title' => stripslashes($title),
134
  'slug' => $slug,
@@ -206,12 +206,12 @@ class wpForoForum{
206
  if(!$parentid) $is_cat = 1;
207
 
208
  if($parentid) {
209
- $cat_layout = WPF()->db->get_var("SELECT `cat_layout` FROM `".WPF()->db->prefix ."wpforo_forums` WHERE `forumid` = " . intval($parentid) );
210
  $cat_layout = intval($cat_layout);
211
  }
212
 
213
  if( FALSE !== WPF()->db->update(
214
- WPF()->db->prefix . 'wpforo_forums',
215
  array(
216
  'title' => stripslashes($title),
217
  'slug' => $slug,
@@ -233,7 +233,7 @@ class wpForoForum{
233
  if( isset($cat_layout) ){
234
  $childs = array();
235
  $this->get_childs($forumid, $childs);
236
- $sql = "UPDATE `".WPF()->db->prefix . "wpforo_forums` SET `cat_layout` = ".intval($cat_layout)." WHERE `forumid` IN(". implode(',', array_map('intval', $childs)).")";
237
  WPF()->db->query($sql);
238
  }
239
  $this->delete_tree_cache();
@@ -260,14 +260,14 @@ class wpForoForum{
260
  $forumids = implode(',', array_map('intval', $childs));
261
 
262
  // START delete topic posts include first post
263
- if( $topicids = WPF()->db->get_col( "SELECT `topicid` FROM ".WPF()->db->prefix."wpforo_topics WHERE `forumid` IN(". esc_sql($forumids) .")" ) ){
264
  foreach($topicids as $topicid){
265
  WPF()->topic->delete($topicid, false);
266
  }
267
  }
268
  // END delete topic posts include first post
269
 
270
- if(WPF()->db->query( "DELETE FROM ".WPF()->db->prefix."wpforo_forums WHERE `forumid` IN(". esc_sql($forumids) .")" )){
271
  $this->delete_tree_cache();
272
  wpforo_clean_cache();
273
  WPF()->notice->add('Your forum successfully deleted', 'success');
@@ -292,7 +292,7 @@ class wpForoForum{
292
  if( $forumids ){
293
  $merge_layout = $this->get_layout($mergeid);
294
 
295
- if(!WPF()->db->query( "UPDATE ".WPF()->db->prefix."wpforo_forums SET `parentid` = " . intval($mergeid) . ", `cat_layout` = " . intval($merge_layout) . " WHERE `forumid` IN(". esc_sql($forumids) .")" )){
296
  WPF()->notice->add('Forum merging error', 'error');
297
  return FALSE;
298
  }
@@ -300,14 +300,14 @@ class wpForoForum{
300
  }
301
 
302
  WPF()->db->update(
303
- WPF()->db->prefix . 'wpforo_topics',
304
  array( 'forumid' => $mergeid ),
305
  array( 'forumid' => $forumid ),
306
  array( '%d' ),
307
  array( '%d' )
308
  );
309
  WPF()->db->update(
310
- WPF()->db->prefix . 'wpforo_posts',
311
  array( 'forumid' => $mergeid ),
312
  array( 'forumid' => $forumid ),
313
  array( '%d' ),
@@ -317,7 +317,7 @@ class wpForoForum{
317
  $this->rebuild_last_infos($mergeid);
318
  $this->rebuild_stats($mergeid);
319
 
320
- if(WPF()->db->delete( WPF()->db->prefix.'wpforo_forums', array( 'forumid' => $forumid ), array( '%d' ) )){
321
  $this->delete_tree_cache();
322
  wpforo_clean_cache('forum');
323
  WPF()->notice->add('Forum is successfully merged', 'success');
@@ -329,7 +329,7 @@ class wpForoForum{
329
  }
330
 
331
  public function rebuild_last_infos($forumid){
332
- $forumid = intval($forumid);
333
 
334
  $last_topicid = 0;
335
  $last_postid = 0;
@@ -341,7 +341,7 @@ class wpForoForum{
341
  $last_topicid = $last_topic['topicid'];
342
  }
343
 
344
- $sql = "SELECT `postid` FROM `". WPF()->db->prefix ."wpforo_posts` WHERE `forumid` = %d ORDER BY `is_first_post` ASC, `created` DESC, `postid` DESC LIMIT 1";
345
  if( $last_postid = WPF()->db->get_var( WPF()->db->prepare($sql, $forumid) ) ){
346
  if( $last_post_data = WPF()->post->get_post($last_postid) ){
347
  $last_postid = $last_post_data['postid'];
@@ -353,7 +353,7 @@ class wpForoForum{
353
  }
354
 
355
  WPF()->db->update(
356
- WPF()->db->prefix."wpforo_forums",
357
  array('last_topicid' => $last_topicid, 'last_postid' => $last_postid, 'last_userid' => $last_userid, 'last_post_date' => $last_post_date),
358
  array('forumid' => $forumid),
359
  array('%d','%d','%d','%s'),
@@ -365,11 +365,11 @@ class wpForoForum{
365
 
366
  public function rebuild_stats($forumid){
367
  if( !$forumid = intval($forumid) ) return false;
368
- $topics = WPF()->topic->get_count( array('forumid' => $forumid) );
369
- $posts = WPF()->post->get_count( array('forumid' => $forumid) );
370
 
371
  if( false !== WPF()->db->update(
372
- WPF()->db->prefix . "wpforo_forums",
373
  array('topics' => $topics, 'posts' => $posts ),
374
  array('forumid' => $forumid),
375
  array('%d', '%d'),
@@ -417,7 +417,7 @@ class wpForoForum{
417
  }
418
  if(!empty($args)){
419
  extract($args, EXTR_OVERWRITE);
420
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_forums`";
421
  $wheres = array();
422
  if($forumid != NULL) $wheres[] = "`forumid` = " . intval($forumid);
423
  if($status != NULL) $wheres[] = "`status` = " . intval($status);
@@ -475,7 +475,7 @@ class wpForoForum{
475
  $parent_include = wpforo_parse_args( $parent_include );
476
  $parent_exclude = wpforo_parse_args( $parent_exclude );
477
 
478
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_forums`";
479
  $wheres = array();
480
 
481
  if(!empty($include)) $wheres[] = "`forumid` IN(" . implode(', ', array_map('intval', $include)) . ")";
@@ -534,7 +534,7 @@ class wpForoForum{
534
  );
535
  }
536
 
537
- $sql = "SELECT `forumid` FROM `".WPF()->db->prefix."wpforo_forums`";
538
  $wheres = array();
539
 
540
  foreach($fields as $field){
@@ -558,7 +558,7 @@ class wpForoForum{
558
  if(!isset($forumid) || !$forumid = intval($forumid) ) continue;
559
 
560
  if(FALSE !== WPF()->db->update(
561
- WPF()->db->prefix . 'wpforo_forums',
562
  array(
563
  'parentid' => (isset($parentid) ? intval($parentid) : 0),
564
  'order' => (isset($order) ? intval($order) : 0),
@@ -572,14 +572,14 @@ class wpForoForum{
572
  )) $i++;
573
 
574
  if(isset($parentid) && $parentid = intval($parentid) ){
575
- $cat_layout = WPF()->db->get_var("SELECT `cat_layout` FROM `".WPF()->db->prefix."wpforo_forums` WHERE `forumid` = " . intval($parentid));
576
- WPF()->db->query("UPDATE `".WPF()->db->prefix."wpforo_forums` SET `cat_layout` = " . intval($cat_layout) . " WHERE `forumid` = " . intval($forumid));
577
  }
578
 
579
  }
580
 
581
- WPF()->db->query("UPDATE `".WPF()->db->prefix."wpforo_forums` SET `is_cat` = 0");
582
- WPF()->db->query("UPDATE `".WPF()->db->prefix."wpforo_forums` SET `is_cat` = 1 WHERE `parentid` = 0");
583
 
584
  if($i){
585
  $this->delete_tree_cache();
@@ -593,7 +593,7 @@ class wpForoForum{
593
 
594
  function get_childs($forumid, &$data){
595
  if(empty($data)) $data[] = $forumid;
596
- $sub_forums = WPF()->db->get_results("SELECT `forumid` FROM ".WPF()->db->prefix."wpforo_forums WHERE `parentid` = ".intval($forumid) ." AND `forumid` <> " . intval($forumid), ARRAY_A);
597
  if(!empty($sub_forums)){
598
  foreach($sub_forums as $sub_forum){
599
  $data[] = $sub_forum['forumid'];
@@ -613,11 +613,9 @@ class wpForoForum{
613
  * @param int item id
614
  *
615
  * @param int before calling the function $depth = 0
616
- *
617
- * @return int
618
  */
619
  function count_depth($forumid, &$depth){
620
- $parentid = WPF()->db->get_var("SELECT `parentid` FROM `".WPF()->db->prefix."wpforo_forums` WHERE `forumid` = ".intval($forumid) ." AND `parentid` <> " . intval($forumid));
621
 
622
  if($parentid){
623
  $depth++;
@@ -626,7 +624,7 @@ class wpForoForum{
626
  }
627
 
628
  function get_child_forums($parent){
629
- $children = WPF()->db->get_results("SELECT `forumid` AS childid FROM `".WPF()->db->prefix."wpforo_forums` WHERE `parentid` = ".intval($parent)." AND `forumid` <> ".intval($parent)." ORDER BY `order`", ARRAY_A);
630
  if(!empty($children)){
631
  foreach( $children as $child ){
632
  $data[] = $child['childid'];
@@ -647,11 +645,11 @@ class wpForoForum{
647
 
648
  $depth = 0;
649
  $this->count_depth($forumid, $depth);
650
- $name = WPF()->db->get_var("SELECT `title` FROM `".WPF()->db->prefix."wpforo_forums` WHERE `forumid` = ".intval($forumid));
651
  if($type == 'select_box'){ ?>
652
  <option value="<?php echo intval($forumid) ?>" <?php echo( (!$cats && $depth == 0 || (!empty($disabled) && in_array($forumid, $disabled)) ) ? ' disabled ': ''); echo ( in_array($forumid, $selected) ? ' selected ' : '' ) ?> > <?php echo esc_html(str_repeat( '— ', $depth ) . trim($name)) ?></option><?php
653
  }elseif($type == 'drag_menu'){
654
- $cur_forum = WPF()->db->get_row("SELECT `cat_layout`, `topics`, `posts` FROM `".WPF()->db->prefix."wpforo_forums` WHERE `forumid` = ".intval($forumid), ARRAY_A);
655
  $cat_layout_name = ( $cur_forum['cat_layout'] == 2 ? 'Simplified Layout' : ( $cur_forum['cat_layout'] == 3 ? 'QA Layout' : 'Extended Layout' ) ); ?>
656
 
657
  <li id="menu-item-<?php echo intval($forumid) ?>" class="menu-item menu-item-depth-<?php echo esc_attr($depth) ?>">
@@ -693,7 +691,29 @@ class wpForoForum{
693
  else{
694
  echo'<span class="wpf-dl-item"><a href="'.esc_url( wpforo_forum($forumid, 'url') ).'" ><i class="far fa-comments"></i>'.esc_html($name).'</a></span>';
695
  }
696
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
697
  $subforums = $this->get_child_forums($forumid);
698
  if( !empty($subforums) ){
699
  $this->forum_list($subforums, $type, $selected, true, $disabled);
@@ -705,19 +725,26 @@ class wpForoForum{
705
  {
706
  $disabled = (array)$disabled;
707
  $selected = (array)$selected;
708
- $parentids = WPF()->db->get_col("SELECT `forumid` FROM `" . WPF()->db->prefix . "wpforo_forums` WHERE `parentid` = 0 ORDER BY `order`");
709
  if (!empty($parentids)) {
710
  if ($cache && !wpforo_is_admin()) {
711
  $key = md5(serialize($parentids) . $type . (int)$cats . WPF()->current_user_groupid);
712
  $html = get_option('wpforo_forum_tree_' . $key);
713
- $pattern_strip_selected = '#(<option[^<>]*?)[\r\n\t\s]*selected[^\r\n\t\s]*?((?:[\r\n\t\s][^<>]*)?>)#isu';
714
 
715
  if ($html) {
716
- if($type == 'select_box') $html = preg_replace($pattern_strip_selected, '$1$2', $html);
717
- if($selected && $type == 'select_box')
718
- foreach ($selected as $sfid){
719
- $html = str_replace('value="'.$sfid.'"', 'value="'.$sfid.'" selected ', $html);
720
- }
 
 
 
 
 
 
 
721
  echo $html;
722
  } elseif (function_exists('ob_start')) {
723
  ob_start();
@@ -739,12 +766,12 @@ class wpForoForum{
739
 
740
  function parentid( $topicid = 0 ){
741
  if(isset($_GET['page']) && $_GET['page'] == 'wpforo-forums'){
742
- if( isset($_GET['id'])) return WPF()->db->get_var("SELECT `parentid` FROM `".WPF()->db->prefix."wpforo_forums` WHERE `forumid` = ".intval($_GET['id']));
743
  }
744
  elseif( isset($_GET['page']) && $_GET['page'] == 'wpforo-topics' ){
745
- if( isset($_GET['id'])) return WPF()->db->get_var( "SELECT `forumid` FROM `".WPF()->db->prefix."wpforo_topics` WHERE `topicid` = ".wpforo_bigintval($_GET['id']));
746
  }else{
747
- if( $topicid ) return WPF()->db->get_var( "SELECT `forumid` FROM `".WPF()->db->prefix."wpforo_topics` WHERE `topicid` = ".wpforo_bigintval($topicid));
748
  }
749
  }
750
 
@@ -753,12 +780,12 @@ class wpForoForum{
753
  if(!empty( $access_arr )){
754
 
755
  if(isset($_GET['id'])){
756
- if($permissions_srlz = WPF()->db->get_var("SELECT `permissions` FROM `".WPF()->db->prefix."wpforo_forums` WHERE `forumid` = ".intval($_GET['id']))){
757
  $permissions_arr = unserialize($permissions_srlz);
758
  }
759
  }
760
 
761
- if($usergroups = WPF()->db->get_results("SELECT `groupid`, `name` FROM `".WPF()->db->prefix."wpforo_usergroups`", ARRAY_A)){
762
  foreach($usergroups as $usergroup){
763
  extract($usergroup, EXTR_OVERWRITE);
764
  echo '
@@ -812,7 +839,7 @@ class wpForoForum{
812
  $wheres = "`forumid` IN(" . implode(', ', array_map('intval', $forumids)) . ")";
813
  }
814
 
815
- $sql = "SELECT SUM(`topics`) as topics, SUM(`posts`) as posts FROM `".WPF()->db->prefix."wpforo_forums` WHERE " . $wheres;
816
  return WPF()->db->get_row($sql, ARRAY_A);
817
 
818
  }
@@ -848,15 +875,15 @@ class wpForoForum{
848
  extract($args, EXTR_OVERWRITE);
849
 
850
  if( $args['forumid'] ){
851
- $sql = "SELECT `cat_layout` FROM `".WPF()->db->prefix."wpforo_forums` WHERE `forumid` = " . intval($args['forumid']);
852
  $cat_layout = WPF()->db->get_var($sql);
853
  return ( $cat_layout ? $cat_layout : 1 );
854
  }elseif( $args['topicid'] ){
855
- $sql = "SELECT `forumid` FROM `".WPF()->db->prefix."wpforo_topics` WHERE `topicid` = " . intval($args['topicid']);
856
  $forumid = WPF()->db->get_var($sql);
857
  return $this->get_layout(array( 'forumid' => $forumid ));
858
  }elseif( $args['postid'] ){
859
- $sql = "SELECT `forumid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE `postid` = " . intval($args['postid']);
860
  $forumid = WPF()->db->get_var($sql);
861
  return $this->get_layout(array( 'forumid' => $forumid ));
862
  }
@@ -882,7 +909,7 @@ class wpForoForum{
882
  }
883
 
884
  function get_all_relative_ids($forumid, &$relative_ids){
885
- $forum = WPF()->db->get_row("SELECT `parentid`, `forumid` FROM `".WPF()->db->prefix."wpforo_forums` WHERE `forumid` = ".intval($forumid), ARRAY_A);
886
 
887
  if($forum['parentid']){
888
  $relative_ids[] = $forum['forumid'];
@@ -894,7 +921,7 @@ class wpForoForum{
894
  }
895
 
896
  function get_count( $args = array() ){
897
- $sql = "SELECT COUNT(`forumid`) FROM `".WPF()->db->prefix."wpforo_forums`";
898
  if( !empty($args) ){
899
  $wheres = array();
900
  foreach ($args as $key => $value) $wheres[] = "`$key` = " . intval($value);
@@ -907,7 +934,7 @@ class wpForoForum{
907
  $lastinfo = array();
908
  if(!empty($ids)){
909
  $ids = implode(',', array_map('intval', $ids));
910
- $lastinfo = WPF()->db->get_row( "SELECT `userid` as last_userid, `topicid` as last_topicid, `postid` as last_postid, `created` as last_post_date FROM `" . WPF()->db->prefix . "wpforo_posts` WHERE forumid IN(" . $ids .") ORDER BY `created` DESC LIMIT 1", ARRAY_A);
911
  }
912
  return $lastinfo;
913
  }
76
  $new_slug = wpforo_text($slug, 250, false);
77
  $forumid = intval($forumid);
78
  $i = 2;
79
+ while( WPF()->db->get_var("SELECT `forumid` FROM ".WPF()->tables->forums." WHERE `slug` = '" . esc_sql($new_slug) . "'" . ($forumid ? ' AND `forumid` != '. intval($forumid) : '')) ){
80
  if( !isset($parent_slug) && $parentid = intval($parentid) ){
81
+ $parent_slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->tables->forums." WHERE `forumid` = " . intval($parentid) );
82
  $new_slug = $parent_slug . "-" . wpforo_text($slug, 250, false);
83
  }else{
84
  $new_slug = wpforo_text($slug, 250, false) . '-' . $i;
123
  if(!$parentid) $is_cat = 1;
124
 
125
  if($parentid) {
126
+ $cat_layout = WPF()->db->get_var("SELECT `cat_layout` FROM `".WPF()->tables->forums."` WHERE `forumid` = " . intval($parentid) );
127
  $cat_layout = intval($cat_layout);
128
  }
129
 
130
  if( WPF()->db->insert(
131
+ WPF()->tables->forums,
132
  array(
133
  'title' => stripslashes($title),
134
  'slug' => $slug,
206
  if(!$parentid) $is_cat = 1;
207
 
208
  if($parentid) {
209
+ $cat_layout = WPF()->db->get_var("SELECT `cat_layout` FROM `".WPF()->tables->forums."` WHERE `forumid` = " . intval($parentid) );
210
  $cat_layout = intval($cat_layout);
211
  }
212
 
213
  if( FALSE !== WPF()->db->update(
214
+ WPF()->tables->forums,
215
  array(
216
  'title' => stripslashes($title),
217
  'slug' => $slug,
233
  if( isset($cat_layout) ){
234
  $childs = array();
235
  $this->get_childs($forumid, $childs);
236
+ $sql = "UPDATE `".WPF()->tables->forums."` SET `cat_layout` = ".intval($cat_layout)." WHERE `forumid` IN(". implode(',', array_map('intval', $childs)).")";
237
  WPF()->db->query($sql);
238
  }
239
  $this->delete_tree_cache();
260
  $forumids = implode(',', array_map('intval', $childs));
261
 
262
  // START delete topic posts include first post
263
+ if( $topicids = WPF()->db->get_col( "SELECT `topicid` FROM ".WPF()->tables->topics." WHERE `forumid` IN(". esc_sql($forumids) .")" ) ){
264
  foreach($topicids as $topicid){
265
  WPF()->topic->delete($topicid, false);
266
  }
267
  }
268
  // END delete topic posts include first post
269
 
270
+ if(WPF()->db->query( "DELETE FROM ".WPF()->tables->forums." WHERE `forumid` IN(". esc_sql($forumids) .")" )){
271
  $this->delete_tree_cache();
272
  wpforo_clean_cache();
273
  WPF()->notice->add('Your forum successfully deleted', 'success');
292
  if( $forumids ){
293
  $merge_layout = $this->get_layout($mergeid);
294
 
295
+ if(!WPF()->db->query( "UPDATE ".WPF()->tables->forums." SET `parentid` = " . intval($mergeid) . ", `cat_layout` = " . intval($merge_layout) . " WHERE `forumid` IN(". esc_sql($forumids) .")" )){
296
  WPF()->notice->add('Forum merging error', 'error');
297
  return FALSE;
298
  }
300
  }
301
 
302
  WPF()->db->update(
303
+ WPF()->tables->topics,
304
  array( 'forumid' => $mergeid ),
305
  array( 'forumid' => $forumid ),
306
  array( '%d' ),
307
  array( '%d' )
308
  );
309
  WPF()->db->update(
310
+ WPF()->tables->posts,
311
  array( 'forumid' => $mergeid ),
312
  array( 'forumid' => $forumid ),
313
  array( '%d' ),
317
  $this->rebuild_last_infos($mergeid);
318
  $this->rebuild_stats($mergeid);
319
 
320
+ if(WPF()->db->delete( WPF()->tables->forums, array( 'forumid' => $forumid ), array( '%d' ) )){
321
  $this->delete_tree_cache();
322
  wpforo_clean_cache('forum');
323
  WPF()->notice->add('Forum is successfully merged', 'success');
329
  }
330
 
331
  public function rebuild_last_infos($forumid){
332
+ if( !$forumid = intval($forumid) ) return false;
333
 
334
  $last_topicid = 0;
335
  $last_postid = 0;
341
  $last_topicid = $last_topic['topicid'];
342
  }
343
 
344
+ $sql = "SELECT `postid` FROM `".WPF()->tables->posts."` WHERE `forumid` = %d ORDER BY `is_first_post` ASC, `created` DESC, `postid` DESC LIMIT 1";
345
  if( $last_postid = WPF()->db->get_var( WPF()->db->prepare($sql, $forumid) ) ){
346
  if( $last_post_data = WPF()->post->get_post($last_postid) ){
347
  $last_postid = $last_post_data['postid'];
353
  }
354
 
355
  WPF()->db->update(
356
+ WPF()->tables->forums,
357
  array('last_topicid' => $last_topicid, 'last_postid' => $last_postid, 'last_userid' => $last_userid, 'last_post_date' => $last_post_date),
358
  array('forumid' => $forumid),
359
  array('%d','%d','%d','%s'),
365
 
366
  public function rebuild_stats($forumid){
367
  if( !$forumid = intval($forumid) ) return false;
368
+ $topics = WPF()->topic->get_count( array('forumid' => $forumid, 'status' => 0) );
369
+ $posts = WPF()->post->get_count( array('forumid' => $forumid, 'status' => 0) );
370
 
371
  if( false !== WPF()->db->update(
372
+ WPF()->tables->forums,
373
  array('topics' => $topics, 'posts' => $posts ),
374
  array('forumid' => $forumid),
375
  array('%d', '%d'),
417
  }
418
  if(!empty($args)){
419
  extract($args, EXTR_OVERWRITE);
420
+ $sql = "SELECT * FROM `".WPF()->tables->forums."`";
421
  $wheres = array();
422
  if($forumid != NULL) $wheres[] = "`forumid` = " . intval($forumid);
423
  if($status != NULL) $wheres[] = "`status` = " . intval($status);
475
  $parent_include = wpforo_parse_args( $parent_include );
476
  $parent_exclude = wpforo_parse_args( $parent_exclude );
477
 
478
+ $sql = "SELECT * FROM `".WPF()->tables->forums."`";
479
  $wheres = array();
480
 
481
  if(!empty($include)) $wheres[] = "`forumid` IN(" . implode(', ', array_map('intval', $include)) . ")";
534
  );
535
  }
536
 
537
+ $sql = "SELECT `forumid` FROM `".WPF()->tables->forums."`";
538
  $wheres = array();
539
 
540
  foreach($fields as $field){
558
  if(!isset($forumid) || !$forumid = intval($forumid) ) continue;
559
 
560
  if(FALSE !== WPF()->db->update(
561
+ WPF()->tables->forums,
562
  array(
563
  'parentid' => (isset($parentid) ? intval($parentid) : 0),
564
  'order' => (isset($order) ? intval($order) : 0),
572
  )) $i++;
573
 
574
  if(isset($parentid) && $parentid = intval($parentid) ){
575
+ $cat_layout = WPF()->db->get_var("SELECT `cat_layout` FROM `".WPF()->tables->forums."` WHERE `forumid` = " . intval($parentid));
576
+ WPF()->db->query("UPDATE `".WPF()->tables->forums."` SET `cat_layout` = " . intval($cat_layout) . " WHERE `forumid` = " . intval($forumid));
577
  }
578
 
579
  }
580
 
581
+ WPF()->db->query("UPDATE `".WPF()->tables->forums."` SET `is_cat` = 0");
582
+ WPF()->db->query("UPDATE `".WPF()->tables->forums."` SET `is_cat` = 1 WHERE `parentid` = 0");
583
 
584
  if($i){
585
  $this->delete_tree_cache();
593
 
594
  function get_childs($forumid, &$data){
595
  if(empty($data)) $data[] = $forumid;
596
+ $sub_forums = WPF()->db->get_results("SELECT `forumid` FROM ".WPF()->tables->forums." WHERE `parentid` = ".intval($forumid) ." AND `forumid` <> " . intval($forumid), ARRAY_A);
597
  if(!empty($sub_forums)){
598
  foreach($sub_forums as $sub_forum){
599
  $data[] = $sub_forum['forumid'];
613
  * @param int item id
614
  *
615
  * @param int before calling the function $depth = 0
 
 
616
  */
617
  function count_depth($forumid, &$depth){
618
+ $parentid = WPF()->db->get_var("SELECT `parentid` FROM `".WPF()->tables->forums."` WHERE `forumid` = ".intval($forumid) ." AND `parentid` <> " . intval($forumid));
619
 
620
  if($parentid){
621
  $depth++;
624
  }
625
 
626
  function get_child_forums($parent){
627
+ $children = WPF()->db->get_results("SELECT `forumid` AS childid FROM `".WPF()->tables->forums."` WHERE `parentid` = ".intval($parent)." AND `forumid` <> ".intval($parent)." ORDER BY `order`", ARRAY_A);
628
  if(!empty($children)){
629
  foreach( $children as $child ){
630
  $data[] = $child['childid'];
645
 
646
  $depth = 0;
647
  $this->count_depth($forumid, $depth);
648
+ $name = WPF()->db->get_var("SELECT `title` FROM `".WPF()->tables->forums."` WHERE `forumid` = ".intval($forumid));
649
  if($type == 'select_box'){ ?>
650
  <option value="<?php echo intval($forumid) ?>" <?php echo( (!$cats && $depth == 0 || (!empty($disabled) && in_array($forumid, $disabled)) ) ? ' disabled ': ''); echo ( in_array($forumid, $selected) ? ' selected ' : '' ) ?> > <?php echo esc_html(str_repeat( '— ', $depth ) . trim($name)) ?></option><?php
651
  }elseif($type == 'drag_menu'){
652
+ $cur_forum = WPF()->db->get_row("SELECT `cat_layout`, `topics`, `posts` FROM `".WPF()->tables->forums."` WHERE `forumid` = ".intval($forumid), ARRAY_A);
653
  $cat_layout_name = ( $cur_forum['cat_layout'] == 2 ? 'Simplified Layout' : ( $cur_forum['cat_layout'] == 3 ? 'QA Layout' : 'Extended Layout' ) ); ?>
654
 
655
  <li id="menu-item-<?php echo intval($forumid) ?>" class="menu-item menu-item-depth-<?php echo esc_attr($depth) ?>">
691
  else{
692
  echo'<span class="wpf-dl-item"><a href="'.esc_url( wpforo_forum($forumid, 'url') ).'" ><i class="far fa-comments"></i>'.esc_html($name).'</a></span>';
693
  }
694
+ }elseif($type == 'subscribe_manager_form'){
695
+ ?>
696
+ <li>
697
+ <?php if($depth > 0) :
698
+ $forum_topic_attr = '';
699
+ $forum_attr = '';
700
+ if ( key_exists($forumid, $selected) ){
701
+ if( $selected[$forumid] == 'forum-topic' ){
702
+ $forum_topic_attr = ' checked ';
703
+ }elseif ( $selected[$forumid] == 'forum' ){
704
+ $forum_attr = ' checked ';
705
+ }
706
+ }
707
+ ?>
708
+ <div class="wpf-sbs-div wpf-sbs-checkbox">
709
+ <input id="wpf_sbs_allposts_<?php echo $forumid ?>" type="checkbox" name="wpforo[forums][<?php echo $forumid ?>]" value="forum-topic" <?php echo $forum_topic_attr ?>><label class="wpf-sbsp" for="wpf_sbs_allposts_<?php echo $forumid ?>"><?php wpforo_phrase('topics and posts') ?></label>
710
+ <input id="wpf_sbs_alltopics_<?php echo $forumid ?>" type="checkbox" name="wpforo[forums][<?php echo $forumid ?>]" value="forum" <?php echo $forum_attr ?>><label class="wpf-sbst" for="wpf_sbs_alltopics_<?php echo $forumid ?>"><?php wpforo_phrase('topics') ?></label>
711
+ </div>
712
+ <?php endif; ?>
713
+ <div class="wpf-sbs-div wpf-sbs-form-title<?php echo ($depth > 0) ? ' wpf-sbs-forum' : ' wpf-sbs-cat'; ?>"><?php echo esc_html(str_repeat( '— ', $depth )) . trim($name) ?></div>
714
+ </li>
715
+ <?php
716
+ }
717
  $subforums = $this->get_child_forums($forumid);
718
  if( !empty($subforums) ){
719
  $this->forum_list($subforums, $type, $selected, true, $disabled);
725
  {
726
  $disabled = (array)$disabled;
727
  $selected = (array)$selected;
728
+ $parentids = WPF()->db->get_col("SELECT `forumid` FROM `".WPF()->tables->forums."` WHERE `parentid` = 0 ORDER BY `order`");
729
  if (!empty($parentids)) {
730
  if ($cache && !wpforo_is_admin()) {
731
  $key = md5(serialize($parentids) . $type . (int)$cats . WPF()->current_user_groupid);
732
  $html = get_option('wpforo_forum_tree_' . $key);
733
+ $pattern_strip_selected = '#(<(?:option|input)[^<>]*?)[\r\n\t\s]*(?:selected|checked)[^\r\n\t\s]*?((?:[\r\n\t\s][^<>]*)?>)#isu';
734
 
735
  if ($html) {
736
+ if( $type == 'select_box' || $type == 'subscribe_manager_form' ) $html = preg_replace($pattern_strip_selected, '$1$2', $html);
737
+ if($selected){
738
+ if($type == 'select_box'){
739
+ foreach ($selected as $sfid){
740
+ $html = str_replace('value="'.$sfid.'"', 'value="'.$sfid.'" selected ', $html);
741
+ }
742
+ }elseif ($type == 'subscribe_manager_form'){
743
+ foreach ($selected as $forumid => $stype){
744
+ $html = preg_replace('#(name=[\'"]wpforo\[forums\]\['.intval($forumid).'\][\'"][^<>]*?value=[\'"]'.preg_quote($stype).'[\'"]|value=[\'"]'.preg_quote($stype).'[\'"][^<>]*?name=[\'"]wpforo\[forums\]\['.intval($forumid).'\][\'"])#isu', '$1 checked', $html);
745
+ }
746
+ }
747
+ }
748
  echo $html;
749
  } elseif (function_exists('ob_start')) {
750
  ob_start();
766
 
767
  function parentid( $topicid = 0 ){
768
  if(isset($_GET['page']) && $_GET['page'] == 'wpforo-forums'){
769
+ if( isset($_GET['id'])) return WPF()->db->get_var("SELECT `parentid` FROM `".WPF()->tables->forums."` WHERE `forumid` = ".intval($_GET['id']));
770
  }
771
  elseif( isset($_GET['page']) && $_GET['page'] == 'wpforo-topics' ){
772
+ if( isset($_GET['id'])) return WPF()->db->get_var( "SELECT `forumid` FROM `".WPF()->tables->topics."` WHERE `topicid` = ".wpforo_bigintval($_GET['id']));
773
  }else{
774
+ if( $topicid ) return WPF()->db->get_var( "SELECT `forumid` FROM `".WPF()->tables->topics."` WHERE `topicid` = ".wpforo_bigintval($topicid));
775
  }
776
  }
777
 
780
  if(!empty( $access_arr )){
781
 
782
  if(isset($_GET['id'])){
783
+ if($permissions_srlz = WPF()->db->get_var("SELECT `permissions` FROM `".WPF()->tables->forums."` WHERE `forumid` = ".intval($_GET['id']))){
784
  $permissions_arr = unserialize($permissions_srlz);
785
  }
786
  }
787
 
788
+ if($usergroups = WPF()->db->get_results("SELECT `groupid`, `name` FROM `".WPF()->tables->usergroups."`", ARRAY_A)){
789
  foreach($usergroups as $usergroup){
790
  extract($usergroup, EXTR_OVERWRITE);
791
  echo '
839
  $wheres = "`forumid` IN(" . implode(', ', array_map('intval', $forumids)) . ")";
840
  }
841
 
842
+ $sql = "SELECT SUM(`topics`) as topics, SUM(`posts`) as posts FROM `".WPF()->tables->forums."` WHERE " . $wheres;
843
  return WPF()->db->get_row($sql, ARRAY_A);
844
 
845
  }
875
  extract($args, EXTR_OVERWRITE);
876
 
877
  if( $args['forumid'] ){
878
+ $sql = "SELECT `cat_layout` FROM `".WPF()->tables->forums."` WHERE `forumid` = " . intval($args['forumid']);
879
  $cat_layout = WPF()->db->get_var($sql);
880
  return ( $cat_layout ? $cat_layout : 1 );
881
  }elseif( $args['topicid'] ){
882
+ $sql = "SELECT `forumid` FROM `".WPF()->tables->topics."` WHERE `topicid` = " . intval($args['topicid']);
883
  $forumid = WPF()->db->get_var($sql);
884
  return $this->get_layout(array( 'forumid' => $forumid ));
885
  }elseif( $args['postid'] ){
886
+ $sql = "SELECT `forumid` FROM `".WPF()->tables->posts."` WHERE `postid` = " . intval($args['postid']);
887
  $forumid = WPF()->db->get_var($sql);
888
  return $this->get_layout(array( 'forumid' => $forumid ));
889
  }
909
  }
910
 
911
  function get_all_relative_ids($forumid, &$relative_ids){
912
+ $forum = WPF()->db->get_row("SELECT `parentid`, `forumid` FROM `".WPF()->tables->forums."` WHERE `forumid` = ".intval($forumid), ARRAY_A);
913
 
914
  if($forum['parentid']){
915
  $relative_ids[] = $forum['forumid'];
921
  }
922
 
923
  function get_count( $args = array() ){
924
+ $sql = "SELECT COUNT(`forumid`) FROM `".WPF()->tables->forums."`";
925
  if( !empty($args) ){
926
  $wheres = array();
927
  foreach ($args as $key => $value) $wheres[] = "`$key` = " . intval($value);
934
  $lastinfo = array();
935
  if(!empty($ids)){
936
  $ids = implode(',', array_map('intval', $ids));
937
+ $lastinfo = WPF()->db->get_row( "SELECT `userid` as last_userid, `topicid` as last_topicid, `postid` as last_postid, `created` as last_post_date FROM `".WPF()->tables->posts."` WHERE forumid IN(" . $ids .") ORDER BY `created` DESC LIMIT 1", ARRAY_A);
938
  }
939
  return $lastinfo;
940
  }
wpf-includes/class-members.php CHANGED
@@ -75,7 +75,7 @@ class wpForoMember{
75
  extract( $args, EXTR_OVERWRITE );
76
  $this->reset($userid);
77
  return WPF()->db->insert(
78
- WPF()->db->prefix . 'wpforo_profiles',
79
  array( 'userid' => intval($userid),
80
  'title' => ( isset($title) && $title ? $title : WPF()->member->options['default_title'] ),
81
  'username' => sanitize_user($username),
@@ -185,7 +185,7 @@ class wpForoMember{
185
  $result = true;
186
  if($fields){
187
  $result = WPF()->db->update(
188
- WPF()->db->prefix.'wpforo_profiles',
189
  $fields,
190
  array('userid' => intval($userid)),
191
  $fields_types,
@@ -194,7 +194,7 @@ class wpForoMember{
194
 
195
  if( $result !== FALSE && $userid ){
196
  if(isset($fields['site'])){
197
- WPF()->db->query("UPDATE `" . WPF()->db->prefix. "users` SET `user_url` = '" . esc_sql($fields['site']) . "' WHERE `ID` = " . intval($userid) );
198
  }
199
  if(isset($fields['about'])){
200
  update_user_meta( $userid, 'description', $fields['about'] );
@@ -367,7 +367,7 @@ class wpForoMember{
367
  WPF()->notice->add('Numerical nicknames are not allowed. Please insert another.', 'error');
368
  return FALSE;
369
  }
370
- $sql = "SELECT `ID` FROM `".WPF()->db->base_prefix."users` WHERE `ID` != ". intval($userid) ." AND ( `user_nicename` LIKE '".esc_sql($user_nicename)."' OR `ID` LIKE '".esc_sql($user_nicename)."' )";
371
  if( WPF()->db->get_var($sql)){
372
  WPF()->notice->add('This nickname is already registered. Please insert another.', 'error');
373
  return FALSE;
@@ -377,7 +377,7 @@ class wpForoMember{
377
  $fields_types[] = '%s';
378
 
379
  WPF()->db->update(
380
- WPF()->db->base_prefix."usermeta",
381
  array('meta_value' => $user_nicename),
382
  array('user_id' => $userid, 'meta_key' => 'nickname'),
383
  array('%s'),
@@ -387,7 +387,7 @@ class wpForoMember{
387
 
388
  if( $fields ){
389
  WPF()->db->update(
390
- WPF()->db->base_prefix."users",
391
  $fields,
392
  array('ID' => $userid),
393
  $fields_types,
@@ -503,7 +503,7 @@ class wpForoMember{
503
  }
504
  }
505
  $blog_url = preg_replace('#^https?\:#is', '', $upload_dir['baseurl']);
506
- WPF()->db->update(WPF()->db->prefix.'wpforo_profiles', array('avatar' => $blog_url . "/wpforo/avatars/" . $avatar_fname), array('userid' => intval($userid)), array('%s'), array('%d'));
507
  $this->reset($userid);
508
  }
509
  }
@@ -538,9 +538,9 @@ class wpForoMember{
538
  function synchronize_users(){
539
 
540
  if( is_multisite() ){
541
- $sql = "SELECT `user_id` FROM `".WPF()->db->base_prefix."usermeta` WHERE `meta_key` LIKE '".WPF()->db->prefix."capabilities' AND `user_id` NOT IN( SELECT `userid` FROM `".WPF()->db->prefix."wpforo_profiles` )";
542
  } else {
543
- $sql = "SELECT `ID` as user_id FROM `".WPF()->db->base_prefix."users` WHERE `ID` NOT IN( SELECT `userid` FROM `".WPF()->db->prefix."wpforo_profiles` )";
544
  }
545
  $userids = WPF()->db->get_col($sql);
546
  if( !empty($userids) ){
@@ -551,7 +551,7 @@ class wpForoMember{
551
 
552
  ## -- START -- delete profiles where not participant on multisite blog
553
  if( is_multisite() ){
554
- $sql = "DELETE FROM `".WPF()->db->prefix."wpforo_profiles` WHERE `userid` NOT IN( SELECT `user_id` FROM `".WPF()->db->base_prefix."usermeta` WHERE `meta_key` LIKE '".WPF()->db->prefix."capabilities' )";
555
  WPF()->db->query($sql);
556
  }
557
  ## -- END -- delete profiles where not participant on multisite blog
@@ -599,9 +599,9 @@ class wpForoMember{
599
 
600
  if(empty($member)){
601
  $user_meta_obj = false;
602
- $sql = "SELECT *, ug.name AS groupname, ug.color AS color FROM `".WPF()->db->base_prefix."users` u
603
- INNER JOIN `".WPF()->db->prefix."wpforo_profiles` p ON p.`userid` = u.`ID`
604
- LEFT JOIN `".WPF()->db->prefix."wpforo_usergroups` ug ON ug.`groupid` = p.`groupid`";
605
  $wheres = array();
606
  if($userid) $wheres[] = "`ID` = $userid";
607
  if($user_nicename) $wheres[] = "`user_nicename` = '" . esc_sql($user_nicename) . "'";
@@ -646,9 +646,9 @@ class wpForoMember{
646
  $include = wpforo_parse_args( $include );
647
  $exclude = wpforo_parse_args( $exclude );
648
 
649
- $sql = "SELECT *, ug.name AS groupname, ug.color AS color FROM `".WPF()->db->base_prefix."users` u
650
- INNER JOIN `".WPF()->db->prefix."wpforo_profiles` p ON p.`userid` = u.`ID`
651
- LEFT JOIN `".WPF()->db->prefix."wpforo_usergroups` ug ON ug.`groupid` = p.`groupid`";
652
  $wheres = array();
653
  if(!empty($include)) $wheres[] = " u.`ID` IN(" . implode(', ', array_map('intval', $include)) . ")";
654
  if(!empty($exclude)) $wheres[] = " u.`ID` NOT IN(" . implode(', ', array_map('intval', $exclude)) . ")";
@@ -683,8 +683,8 @@ class wpForoMember{
683
  );
684
  }
685
 
686
- $sql = "SELECT `ID` FROM `".WPF()->db->base_prefix."users` u
687
- INNER JOIN `".WPF()->db->prefix."wpforo_profiles` p ON p.`userid` = u.`ID`";
688
  $wheres = array();
689
 
690
  foreach($fields as $field){
@@ -708,8 +708,8 @@ class wpForoMember{
708
 
709
  public function filter($args, $limit = NULL){
710
  if($args && is_array($args)){
711
- $sql = "SELECT `ID` FROM `".WPF()->db->base_prefix."users` u
712
- INNER JOIN `".WPF()->db->prefix."wpforo_profiles` p ON p.`userid` = u.`ID`";
713
  $wheres = array();
714
 
715
  foreach($args as $field => $needle){
@@ -739,7 +739,7 @@ class wpForoMember{
739
  return FALSE;
740
  }
741
  if( FALSE !== WPF()->db->update(
742
- WPF()->db->prefix.'wpforo_profiles',
743
  array('status' => 'banned'),
744
  array('userid' => intval( $userid )),
745
  array('%s'),
@@ -761,7 +761,7 @@ class wpForoMember{
761
  return FALSE;
762
  }
763
  if( FALSE !== WPF()->db->update(
764
- WPF()->db->prefix.'wpforo_profiles',
765
  array('status' => 'active'),
766
  array('userid' => intval( $userid )),
767
  array('%s'),
@@ -794,32 +794,32 @@ class wpForoMember{
794
  do_action('wpforo_before_delete_user', $userid, $reassign);
795
 
796
  if( !($reassign = intval($reassign)) ){
797
- if( $postids = WPF()->db->get_col( WPF()->db->prepare( "SELECT `postid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE userid = %d", $userid ) ) ){
798
  foreach( $postids as $postid ) WPF()->post->delete($postid);
799
  }
800
 
801
- if( $topicids = WPF()->db->get_col( WPF()->db->prepare( "SELECT `topicid` FROM `".WPF()->db->prefix."wpforo_topics` WHERE userid = %d", $userid ) ) ){
802
  foreach( $topicids as $topicid ) WPF()->topic->delete($topicid, false);
803
  }
804
  }else{
805
- WPF()->db->update( WPF()->db->prefix."wpforo_topics", array('userid' => $reassign), array('userid' => $userid) );
806
- WPF()->db->update( WPF()->db->prefix."wpforo_posts", array('userid' => $reassign), array('userid' => $userid) );
807
- WPF()->db->update( WPF()->db->prefix."wpforo_likes", array('post_userid' => $reassign), array('post_userid' => $userid) );
808
- WPF()->db->update( WPF()->db->prefix."wpforo_votes", array('post_userid' => $reassign), array('post_userid' => $userid) );
809
  if( $user_stats = WPF()->db->get_row(
810
  WPF()->db->prepare( "SELECT
811
  SUM(`posts`) AS posts,
812
  SUM(`questions`) AS questions,
813
  SUM(`answers`) AS answers,
814
  SUM(`comments`) AS comments
815
- FROM `".WPF()->db->prefix."wpforo_profiles`
816
  WHERE `userid` IN( %d , %d )", $userid, $reassign
817
  ),
818
  ARRAY_A
819
  )
820
  ){
821
  WPF()->db->update(
822
- WPF()->db->prefix.'wpforo_profiles',
823
  array(
824
  'posts' => $user_stats['posts'],
825
  'questions' => $user_stats['questions'],
@@ -834,23 +834,23 @@ class wpForoMember{
834
  }
835
 
836
  WPF()->db->delete(
837
- WPF()->db->prefix.'wpforo_subscribes', array( 'userid' => $userid ), array( '%d' )
838
  );
839
 
840
  WPF()->db->delete(
841
- WPF()->db->prefix.'wpforo_views', array( 'userid' => $userid ), array( '%d' )
842
  );
843
 
844
  WPF()->db->delete(
845
- WPF()->db->prefix.'wpforo_likes', array( 'userid' => $userid ), array( '%d' )
846
  );
847
 
848
  WPF()->db->delete(
849
- WPF()->db->prefix.'wpforo_votes', array( 'userid' => $userid ), array( '%d' )
850
  );
851
 
852
  if( FALSE !== WPF()->db->delete(
853
- WPF()->db->prefix.'wpforo_profiles', array( 'userid' => $userid ), array( '%d' )
854
  )
855
  ){
856
 
@@ -933,44 +933,44 @@ class wpForoMember{
933
  return self::$cache['avatar'][$userid]['avatar_url'];
934
  }
935
 
936
- $avatar_url = WPF()->db->get_var( WPF()->db->prepare("SELECT `avatar` FROM `".WPF()->db->prefix."wpforo_profiles` WHERE `userid` = %d", wpforo_bigintval($userid)) );
937
 
938
  if($cache) return self::$cache['avatar'][$userid]['avatar_url'] = $avatar_url;
939
  return $avatar_url;
940
  }
941
 
942
  function get_topics_count( $userid ){
943
- $count = WPF()->db->get_var("SELECT count(topicid) FROM `".WPF()->db->prefix."wpforo_topics` WHERE `userid` = ".intval($userid));
944
  return $count;
945
  }
946
 
947
  function get_questions_count( $userid ){
948
- $count = WPF()->db->get_var("SELECT count(topicid) FROM `".WPF()->db->prefix."wpforo_topics` WHERE `userid` = ".intval($userid));
949
  return $count;
950
  }
951
 
952
  function get_answers_count( $userid ){
953
- $count = WPF()->db->get_var("SELECT count(postid) FROM `".WPF()->db->prefix."wpforo_posts` WHERE `is_answer` = 1 AND `userid` = ".intval($userid));
954
  return $count;
955
  }
956
 
957
  function get_question_comments_count( $userid ){
958
- $count = WPF()->db->get_var("SELECT count(postid) FROM `".WPF()->db->prefix."wpforo_posts` WHERE `parentid` > 0 AND `userid` = ".intval($userid));
959
  return $count;
960
  }
961
 
962
  function get_replies_count( $userid ){
963
- $count = WPF()->db->get_var("SELECT count(postid) FROM `".WPF()->db->prefix."wpforo_posts` WHERE `userid` = ".intval($userid));
964
  return $count;
965
  }
966
 
967
  function get_likes_count( $userid ){
968
- $count = WPF()->db->get_var("SELECT count(likeid) FROM `".WPF()->db->prefix."wpforo_likes` WHERE `userid` = ".intval($userid));
969
  return $count;
970
  }
971
 
972
  function get_votes_count( $userid ){
973
- $count = WPF()->db->get_var("SELECT count(voteid) FROM `".WPF()->db->prefix."wpforo_votes` WHERE `userid` = ".intval($userid));
974
  return $count;
975
  }
976
 
@@ -981,8 +981,8 @@ class wpForoMember{
981
 
982
  //getting user's posts votes and likes count
983
  function get_user_votes_and_likes_count( $userid ){
984
- $votes_count = WPF()->db->get_var("SELECT count(voteid) FROM `".WPF()->db->prefix."wpforo_votes` WHERE `post_userid` = ".intval($userid));
985
- $likes_count = WPF()->db->get_var("SELECT count(likeid) FROM `".WPF()->db->prefix."wpforo_likes` WHERE `post_userid` = ".intval($userid));
986
  return $votes_count + $likes_count;
987
  }
988
 
@@ -993,7 +993,8 @@ class wpForoMember{
993
  $user = $this->get_member( $member_args );
994
  if(empty($user)) return wpforo_home_url();
995
  $user_slug = ( wpfo(WPF()->member->options['url_structure'], false) == 'id' ? $user['ID'] : $user['user_nicename'] );
996
- return wpforo_home_url("$template/$user_slug");
 
997
  }
998
 
999
  function profile_url( $member = array(), $template = 'profile' ){
@@ -1007,7 +1008,7 @@ class wpForoMember{
1007
  $profile_url = apply_filters( 'wpforo_no_profile_url', $profile_url, $template );
1008
 
1009
  }
1010
- return $profile_url;
1011
  }
1012
 
1013
  //$args = UserID or Member Object
@@ -1053,7 +1054,7 @@ class wpForoMember{
1053
  if($question_comments = $this->get_question_comments_count( $userid )) $stat['question_comments'] = $question_comments;
1054
  }
1055
  else{
1056
- $profile = WPF()->db->get_var("SELECT `posts`, `questions`, `answers`, `comments` FROM `".WPF()->db->prefix."wpforo_profiles` WHERE `userid` = ".intval($userid));
1057
  if(isset($profile['questions'])) $stat['questions'] = intval($profile['questions']);
1058
  if(isset($profile['answers'])) $stat['answers'] = intval($profile['answers']);
1059
  if(isset($profile['posts'])) $stat['posts'] = intval($profile['posts']);
@@ -1083,8 +1084,8 @@ class wpForoMember{
1083
  }
1084
 
1085
  function get_count(){
1086
- return WPF()->db->get_var( "SELECT COUNT(p.`userid`) FROM `".WPF()->db->prefix."wpforo_profiles` p
1087
- INNER JOIN `".WPF()->db->base_prefix."users` u ON u.`ID` = p.`userid` WHERE p.`status` NOT LIKE 'trashed'" );
1088
  }
1089
 
1090
 
@@ -1100,7 +1101,7 @@ class wpForoMember{
1100
  }
1101
  }
1102
  if(!$duration) $duration = WPF()->member->options['online_status_timeout'];
1103
- $sql = "SELECT `online_time` FROM `".WPF()->db->prefix."wpforo_profiles` WHERE `userid` = %d";
1104
  $sql = WPF()->db->prepare($sql, $userid);
1105
  $online_time = intval( WPF()->db->get_var($sql) );
1106
  $current_time = current_time( 'timestamp', 1 );
@@ -1140,7 +1141,7 @@ class wpForoMember{
1140
  if(!$duration) $duration = WPF()->member->options['online_status_timeout'];
1141
  $current_time = current_time( 'timestamp', 1 );
1142
  $online_timeframe = $current_time - $duration;
1143
- return WPF()->db->get_var( "SELECT COUNT(`userid`) FROM `".WPF()->db->prefix."wpforo_profiles` WHERE `online_time` > " . intval($online_timeframe) );
1144
 
1145
  }
1146
 
@@ -1242,19 +1243,19 @@ class wpForoMember{
1242
 
1243
  public function reset($userid){
1244
  if( !$userid ) return;
1245
- WPF()->db->query( "DELETE FROM `" . WPF()->db->base_prefix ."usermeta` WHERE `meta_key` = '_wpf_member_obj' AND `user_id` = " . intval($userid) );
1246
  wpforo_clean_cache( 'user', $userid );
1247
  }
1248
 
1249
  public function clear_db_cache(){
1250
- WPF()->db->query( "DELETE FROM `" . WPF()->db->base_prefix ."usermeta` WHERE `meta_key` = '_wpf_member_obj'" );
1251
  }
1252
 
1253
  private function update_online_time($userid = NULL){
1254
  if(!$userid) $userid = WPF()->current_userid;
1255
  if(!$userid) return false;
1256
  $current_timestamp = current_time( 'timestamp', 1 );
1257
- $sql = "UPDATE `".WPF()->db->prefix."wpforo_profiles` SET `online_time` = %d WHERE `userid` = %d";
1258
  $sql = WPF()->db->prepare($sql, $current_timestamp, wpforo_bigintval($userid));
1259
  if( false !== WPF()->db->query($sql) ) return $current_timestamp;
1260
  return false;
@@ -1266,6 +1267,7 @@ class wpForoMember{
1266
  $user = $this->get_member( $current_user->ID );
1267
  $status = ( isset($user['status']) ? $user['status'] : '' );
1268
  if( $status == 'active' ){
 
1269
  WPF()->current_user = $user;
1270
  WPF()->current_user_groupid = WPF()->current_user['groupid'];
1271
  WPF()->current_userid = $current_user->ID;
@@ -1277,6 +1279,7 @@ class wpForoMember{
1277
  }
1278
  WPF()->current_user_status = $status;
1279
  }elseif ( $guest = $this->get_guest_cookies() ){
 
1280
  WPF()->current_user_email = $guest['email'];
1281
  WPF()->current_user_display_name = $guest['name'];
1282
  }
@@ -1297,7 +1300,7 @@ class wpForoMember{
1297
 
1298
  $userids = array_diff( $userids, array( $current_user->ID ) );
1299
  $users_have_content = false;
1300
- if ( WPF()->db->get_var( "SELECT `postid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE `userid` IN( " . implode( ',', array_map('intval', $userids) ) . " ) LIMIT 1" ) ) {
1301
  $users_have_content = true;
1302
  }
1303
  ?>
@@ -1336,7 +1339,7 @@ class wpForoMember{
1336
  public function autoban($userid){
1337
  if( !WPF()->perm->usergroup_can( 'em' ) ){
1338
  WPF()->db->update(
1339
- WPF()->db->prefix.'wpforo_profiles',
1340
  array('status' => 'banned'),
1341
  array('userid' => intval( $userid )),
1342
  array('%s'),
@@ -1351,7 +1354,7 @@ class wpForoMember{
1351
  return WPF()->current_user['posts'];
1352
  }
1353
  else{
1354
- return WPF()->db->get_var( "SELECT COUNT(*) as posts FROM `".WPF()->db->prefix."wpforo_posts` WHERE `status` = 0 AND `userid` = " . intval($member) );
1355
  }
1356
  }
1357
  elseif(is_array($member) && !empty($member)){
@@ -1379,7 +1382,7 @@ class wpForoMember{
1379
  }
1380
 
1381
  public function banned_count(){
1382
- $count = WPF()->db->get_var("SELECT count(*) FROM `".WPF()->db->prefix."wpforo_profiles` WHERE `status` = 'banned' " );
1383
  return $count;
1384
  }
1385
 
@@ -1433,6 +1436,7 @@ class wpForoMember{
1433
  'groupname' => wpforo_phrase('Guest', false),
1434
  'profile_url' => '',
1435
  'stat' => array( 'points' => 0, 'rating' => 0, 'rating_procent' => 0, 'color' => '', 'badge' => '', 'posts' => $args['posts'], 'topics' => 0, 'questions' => 0, 'answers' => 0, 'question_comments' => 0, 'likes' => 0, 'liked' => 0, 'title' => '' ),
 
1436
  );
1437
 
1438
  if( $cache && $args['email'] ){
@@ -1475,7 +1479,7 @@ class wpForoMember{
1475
  'profile',
1476
  'search'
1477
  ),
1478
- 'canEdit' => $usergroupids_can_edit_fields,
1479
  'canView' => WPF()->perm->usergroups_can('vmu'),
1480
  'can' => 'vmu',
1481
  'isSearchable' => 0
@@ -1619,7 +1623,7 @@ class wpForoMember{
1619
  'placeholder' => wpforo_phrase('User Group', false),
1620
  'faIcon' => 'fas fa-users',
1621
  'name' => 'groupid',
1622
- 'allowedGroupIds' => array(3,5),
1623
  'canBeInactive' => array(
1624
  'register',
1625
  'account',
@@ -2256,6 +2260,7 @@ class wpForoMember{
2256
  }
2257
 
2258
  public function set_guest_cookies( $args ){
 
2259
  if ( isset($args['name']) && isset($args['email']) ) {
2260
  $comment_cookie_lifetime = apply_filters( 'comment_cookie_lifetime', 30000000 );
2261
  $secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );
@@ -2268,11 +2273,32 @@ class wpForoMember{
2268
  }
2269
 
2270
  public function get_guest_cookies(){
2271
- $guest = array();
2272
- $guest_cookies = wp_get_current_commenter();
2273
  $guest['name'] = ( isset($guest_cookies['comment_author']) ) ? $guest_cookies['comment_author'] : '';
2274
  $guest['email'] = ( isset($guest_cookies['comment_author_email']) ) ? $guest_cookies['comment_author_email'] : '';
2275
  return $guest;
2276
  }
2277
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2278
  }
75
  extract( $args, EXTR_OVERWRITE );
76
  $this->reset($userid);
77
  return WPF()->db->insert(
78
+ WPF()->tables->profiles,
79
  array( 'userid' => intval($userid),
80
  'title' => ( isset($title) && $title ? $title : WPF()->member->options['default_title'] ),
81
  'username' => sanitize_user($username),
185
  $result = true;
186
  if($fields){
187
  $result = WPF()->db->update(
188
+ WPF()->tables->profiles,
189
  $fields,
190
  array('userid' => intval($userid)),
191
  $fields_types,
194
 
195
  if( $result !== FALSE && $userid ){
196
  if(isset($fields['site'])){
197
+ WPF()->db->query("UPDATE `".WPF()->db->users."` SET `user_url` = '" . esc_sql($fields['site']) . "' WHERE `ID` = " . intval($userid) );
198
  }
199
  if(isset($fields['about'])){
200
  update_user_meta( $userid, 'description', $fields['about'] );
367
  WPF()->notice->add('Numerical nicknames are not allowed. Please insert another.', 'error');
368
  return FALSE;
369
  }
370
+ $sql = "SELECT `ID` FROM `".WPF()->db->users."` WHERE `ID` != ". intval($userid) ." AND ( `user_nicename` LIKE '".esc_sql($user_nicename)."' OR `ID` LIKE '".esc_sql($user_nicename)."' )";
371
  if( WPF()->db->get_var($sql)){
372
  WPF()->notice->add('This nickname is already registered. Please insert another.', 'error');
373
  return FALSE;
377
  $fields_types[] = '%s';
378
 
379
  WPF()->db->update(
380
+ WPF()->db->usermeta,
381
  array('meta_value' => $user_nicename),
382
  array('user_id' => $userid, 'meta_key' => 'nickname'),
383
  array('%s'),
387
 
388
  if( $fields ){
389
  WPF()->db->update(
390
+ WPF()->db->users,
391
  $fields,
392
  array('ID' => $userid),
393
  $fields_types,
503
  }
504
  }
505
  $blog_url = preg_replace('#^https?\:#is', '', $upload_dir['baseurl']);
506
+ WPF()->db->update(WPF()->tables->profiles, array('avatar' => $blog_url . "/wpforo/avatars/" . $avatar_fname), array('userid' => intval($userid)), array('%s'), array('%d'));
507
  $this->reset($userid);
508
  }
509
  }
538
  function synchronize_users(){
539
 
540
  if( is_multisite() ){
541
+ $sql = "SELECT `user_id` FROM `".WPF()->db->usermeta."` WHERE `meta_key` LIKE '".WPF()->blog_prefix."capabilities' AND `user_id` NOT IN( SELECT `userid` FROM `".WPF()->tables->profiles."` )";
542
  } else {
543
+ $sql = "SELECT `ID` as user_id FROM `".WPF()->db->users."` WHERE `ID` NOT IN( SELECT `userid` FROM `".WPF()->tables->profiles."` )";
544
  }
545
  $userids = WPF()->db->get_col($sql);
546
  if( !empty($userids) ){
551
 
552
  ## -- START -- delete profiles where not participant on multisite blog
553
  if( is_multisite() ){
554
+ $sql = "DELETE FROM `".WPF()->tables->profiles."` WHERE `userid` NOT IN( SELECT `user_id` FROM `".WPF()->db->usermeta."` WHERE `meta_key` LIKE '".WPF()->blog_prefix."capabilities' )";
555
  WPF()->db->query($sql);
556
  }
557
  ## -- END -- delete profiles where not participant on multisite blog
599
 
600
  if(empty($member)){
601
  $user_meta_obj = false;
602
+ $sql = "SELECT *, ug.name AS groupname, ug.color AS color FROM `".WPF()->db->users."` u
603
+ INNER JOIN `".WPF()->tables->profiles."` p ON p.`userid` = u.`ID`
604
+ LEFT JOIN `".WPF()->tables->usergroups."` ug ON ug.`groupid` = p.`groupid`";
605
  $wheres = array();
606
  if($userid) $wheres[] = "`ID` = $userid";
607
  if($user_nicename) $wheres[] = "`user_nicename` = '" . esc_sql($user_nicename) . "'";
646
  $include = wpforo_parse_args( $include );
647
  $exclude = wpforo_parse_args( $exclude );
648
 
649
+ $sql = "SELECT *, ug.name AS groupname, ug.color AS color FROM `".WPF()->db->users."` u
650
+ INNER JOIN `".WPF()->tables->profiles."` p ON p.`userid` = u.`ID`
651
+ LEFT JOIN `".WPF()->tables->usergroups."` ug ON ug.`groupid` = p.`groupid`";
652
  $wheres = array();
653
  if(!empty($include)) $wheres[] = " u.`ID` IN(" . implode(', ', array_map('intval', $include)) . ")";
654
  if(!empty($exclude)) $wheres[] = " u.`ID` NOT IN(" . implode(', ', array_map('intval', $exclude)) . ")";
683
  );
684
  }
685
 
686
+ $sql = "SELECT `ID` FROM `".WPF()->db->users."` u
687
+ INNER JOIN `".WPF()->tables->profiles."` p ON p.`userid` = u.`ID`";
688
  $wheres = array();
689
 
690
  foreach($fields as $field){
708
 
709
  public function filter($args, $limit = NULL){
710
  if($args && is_array($args)){
711
+ $sql = "SELECT `ID` FROM `".WPF()->db->users."` u
712
+ INNER JOIN `".WPF()->tables->profiles."` p ON p.`userid` = u.`ID`";
713
  $wheres = array();
714
 
715
  foreach($args as $field => $needle){
739
  return FALSE;
740
  }
741
  if( FALSE !== WPF()->db->update(
742
+ WPF()->tables->profiles,
743
  array('status' => 'banned'),
744
  array('userid' => intval( $userid )),
745
  array('%s'),
761
  return FALSE;
762
  }
763
  if( FALSE !== WPF()->db->update(
764
+ WPF()->tables->profiles,
765
  array('status' => 'active'),
766
  array('userid' => intval( $userid )),
767
  array('%s'),
794
  do_action('wpforo_before_delete_user', $userid, $reassign);
795
 
796
  if( !($reassign = intval($reassign)) ){
797
+ if( $postids = WPF()->db->get_col( WPF()->db->prepare( "SELECT `postid` FROM `".WPF()->tables->posts."` WHERE userid = %d", $userid ) ) ){
798
  foreach( $postids as $postid ) WPF()->post->delete($postid);
799
  }
800
 
801
+ if( $topicids = WPF()->db->get_col( WPF()->db->prepare( "SELECT `topicid` FROM `".WPF()->tables->topics."` WHERE userid = %d", $userid ) ) ){
802
  foreach( $topicids as $topicid ) WPF()->topic->delete($topicid, false);
803
  }
804
  }else{
805
+ WPF()->db->update( WPF()->tables->topics, array('userid' => $reassign), array('userid' => $userid) );
806
+ WPF()->db->update( WPF()->tables->posts, array('userid' => $reassign), array('userid' => $userid) );
807
+ WPF()->db->update( WPF()->tables->likes, array('post_userid' => $reassign), array('post_userid' => $userid) );
808
+ WPF()->db->update( WPF()->tables->votes, array('post_userid' => $reassign), array('post_userid' => $userid) );
809
  if( $user_stats = WPF()->db->get_row(
810
  WPF()->db->prepare( "SELECT
811
  SUM(`posts`) AS posts,
812
  SUM(`questions`) AS questions,
813
  SUM(`answers`) AS answers,
814
  SUM(`comments`) AS comments
815
+ FROM `".WPF()->tables->profiles."`
816
  WHERE `userid` IN( %d , %d )", $userid, $reassign
817
  ),
818
  ARRAY_A
819
  )
820
  ){
821
  WPF()->db->update(
822
+ WPF()->tables->profiles,
823
  array(
824
  'posts' => $user_stats['posts'],
825
  'questions' => $user_stats['questions'],
834
  }
835
 
836
  WPF()->db->delete(
837
+ WPF()->tables->subscribes, array( 'userid' => $userid ), array( '%d' )
838
  );
839
 
840
  WPF()->db->delete(
841
+ WPF()->tables->views, array( 'userid' => $userid ), array( '%d' )
842
  );
843
 
844
  WPF()->db->delete(
845
+ WPF()->tables->likes, array( 'userid' => $userid ), array( '%d' )
846
  );
847
 
848
  WPF()->db->delete(
849
+ WPF()->tables->votes, array( 'userid' => $userid ), array( '%d' )
850
  );
851
 
852
  if( FALSE !== WPF()->db->delete(
853
+ WPF()->tables->profiles, array( 'userid' => $userid ), array( '%d' )
854
  )
855
  ){
856
 
933
  return self::$cache['avatar'][$userid]['avatar_url'];
934
  }
935
 
936
+ $avatar_url = WPF()->db->get_var( WPF()->db->prepare("SELECT `avatar` FROM `".WPF()->tables->profiles."` WHERE `userid` = %d", wpforo_bigintval($userid)) );
937
 
938
  if($cache) return self::$cache['avatar'][$userid]['avatar_url'] = $avatar_url;
939
  return $avatar_url;
940
  }
941
 
942
  function get_topics_count( $userid ){
943
+ $count = WPF()->db->get_var("SELECT count(topicid) FROM `".WPF()->tables->topics."` WHERE `userid` = ".intval($userid));
944
  return $count;
945
  }
946
 
947
  function get_questions_count( $userid ){
948
+ $count = WPF()->db->get_var("SELECT count(topicid) FROM `".WPF()->tables->topics."` WHERE `userid` = ".intval($userid));
949
  return $count;
950
  }
951
 
952
  function get_answers_count( $userid ){
953
+ $count = WPF()->db->get_var("SELECT count(postid) FROM `".WPF()->tables->posts."` WHERE `is_answer` = 1 AND `userid` = ".intval($userid));
954
  return $count;
955
  }
956
 
957
  function get_question_comments_count( $userid ){
958
+ $count = WPF()->db->get_var("SELECT count(postid) FROM `".WPF()->tables->posts."` WHERE `parentid` > 0 AND `userid` = ".intval($userid));
959
  return $count;
960
  }
961
 
962
  function get_replies_count( $userid ){
963
+ $count = WPF()->db->get_var("SELECT count(postid) FROM `".WPF()->tables->posts."` WHERE `userid` = ".intval($userid));
964
  return $count;
965
  }
966
 
967
  function get_likes_count( $userid ){
968
+ $count = WPF()->db->get_var("SELECT count(likeid) FROM `".WPF()->tables->likes."` WHERE `userid` = ".intval($userid));
969
  return $count;
970
  }
971
 
972
  function get_votes_count( $userid ){
973
+ $count = WPF()->db->get_var("SELECT count(voteid) FROM `".WPF()->tables->votes."` WHERE `userid` = ".intval($userid));
974
  return $count;
975
  }
976
 
981
 
982
  //getting user's posts votes and likes count
983
  function get_user_votes_and_likes_count( $userid ){
984
+ $votes_count = WPF()->db->get_var("SELECT count(voteid) FROM `".WPF()->tables->votes."` WHERE `post_userid` = ".intval($userid));
985
+ $likes_count = WPF()->db->get_var("SELECT count(likeid) FROM `".WPF()->tables->likes."` WHERE `post_userid` = ".intval($userid));
986
  return $votes_count + $likes_count;
987
  }
988
 
993
  $user = $this->get_member( $member_args );
994
  if(empty($user)) return wpforo_home_url();
995
  $user_slug = ( wpfo(WPF()->member->options['url_structure'], false) == 'id' ? $user['ID'] : $user['user_nicename'] );
996
+ $profile_url = wpforo_home_url("$template/$user_slug");
997
+ return apply_filters('wpforo_member_profile_url', $profile_url, $user, $template);
998
  }
999
 
1000
  function profile_url( $member = array(), $template = 'profile' ){
1008
  $profile_url = apply_filters( 'wpforo_no_profile_url', $profile_url, $template );
1009
 
1010
  }
1011
+ return apply_filters('wpforo_member_profile_url', $profile_url, $member, $template);
1012
  }
1013
 
1014
  //$args = UserID or Member Object
1054
  if($question_comments = $this->get_question_comments_count( $userid )) $stat['question_comments'] = $question_comments;
1055
  }
1056
  else{
1057
+ $profile = WPF()->db->get_var("SELECT `posts`, `questions`, `answers`, `comments` FROM `".WPF()->tables->profiles."` WHERE `userid` = ".intval($userid));
1058
  if(isset($profile['questions'])) $stat['questions'] = intval($profile['questions']);
1059
  if(isset($profile['answers'])) $stat['answers'] = intval($profile['answers']);
1060
  if(isset($profile['posts'])) $stat['posts'] = intval($profile['posts']);
1084
  }
1085
 
1086
  function get_count(){
1087
+ return WPF()->db->get_var( "SELECT COUNT(p.`userid`) FROM `".WPF()->tables->profiles."` p
1088
+ INNER JOIN `".WPF()->db->users."` u ON u.`ID` = p.`userid` WHERE p.`status` NOT LIKE 'trashed'" );
1089
  }
1090
 
1091
 
1101
  }
1102
  }
1103
  if(!$duration) $duration = WPF()->member->options['online_status_timeout'];
1104
+ $sql = "SELECT `online_time` FROM `".WPF()->tables->profiles."` WHERE `userid` = %d";
1105
  $sql = WPF()->db->prepare($sql, $userid);
1106
  $online_time = intval( WPF()->db->get_var($sql) );
1107
  $current_time = current_time( 'timestamp', 1 );
1141
  if(!$duration) $duration = WPF()->member->options['online_status_timeout'];
1142
  $current_time = current_time( 'timestamp', 1 );
1143
  $online_timeframe = $current_time - $duration;
1144
+ return WPF()->db->get_var( "SELECT COUNT(`userid`) FROM `".WPF()->tables->profiles."` WHERE `online_time` > " . intval($online_timeframe) );
1145
 
1146
  }
1147
 
1243
 
1244
  public function reset($userid){
1245
  if( !$userid ) return;
1246
+ WPF()->db->query( "DELETE FROM `".WPF()->db->usermeta."` WHERE `meta_key` = '_wpf_member_obj' AND `user_id` = " . intval($userid) );
1247
  wpforo_clean_cache( 'user', $userid );
1248
  }
1249
 
1250
  public function clear_db_cache(){
1251
+ WPF()->db->query( "DELETE FROM `".WPF()->db->usermeta."` WHERE `meta_key` = '_wpf_member_obj'" );
1252
  }
1253
 
1254
  private function update_online_time($userid = NULL){
1255
  if(!$userid) $userid = WPF()->current_userid;
1256
  if(!$userid) return false;
1257
  $current_timestamp = current_time( 'timestamp', 1 );
1258
+ $sql = "UPDATE `".WPF()->tables->profiles."` SET `online_time` = %d WHERE `userid` = %d";
1259
  $sql = WPF()->db->prepare($sql, $current_timestamp, wpforo_bigintval($userid));
1260
  if( false !== WPF()->db->query($sql) ) return $current_timestamp;
1261
  return false;
1267
  $user = $this->get_member( $current_user->ID );
1268
  $status = ( isset($user['status']) ? $user['status'] : '' );
1269
  if( $status == 'active' ){
1270
+ $user['groupid'] = intval($user['groupid']);
1271
  WPF()->current_user = $user;
1272
  WPF()->current_user_groupid = WPF()->current_user['groupid'];
1273
  WPF()->current_userid = $current_user->ID;
1279
  }
1280
  WPF()->current_user_status = $status;
1281
  }elseif ( $guest = $this->get_guest_cookies() ){
1282
+ WPF()->current_user = $this->get_guest($guest);
1283
  WPF()->current_user_email = $guest['email'];
1284
  WPF()->current_user_display_name = $guest['name'];
1285
  }
1300
 
1301
  $userids = array_diff( $userids, array( $current_user->ID ) );
1302
  $users_have_content = false;
1303
+ if ( WPF()->db->get_var( "SELECT `postid` FROM `".WPF()->tables->posts."` WHERE `userid` IN( " . implode( ',', array_map('intval', $userids) ) . " ) LIMIT 1" ) ) {
1304
  $users_have_content = true;
1305
  }
1306
  ?>
1339
  public function autoban($userid){
1340
  if( !WPF()->perm->usergroup_can( 'em' ) ){
1341
  WPF()->db->update(
1342
+ WPF()->tables->profiles,
1343
  array('status' => 'banned'),
1344
  array('userid' => intval( $userid )),
1345
  array('%s'),
1354
  return WPF()->current_user['posts'];
1355
  }
1356
  else{
1357
+ return WPF()->db->get_var( "SELECT COUNT(*) as posts FROM `".WPF()->tables->posts."` WHERE `status` = 0 AND `userid` = " . intval($member) );
1358
  }
1359
  }
1360
  elseif(is_array($member) && !empty($member)){
1382
  }
1383
 
1384
  public function banned_count(){
1385
+ $count = WPF()->db->get_var("SELECT count(*) FROM `".WPF()->tables->profiles."` WHERE `status` = 'banned' " );
1386
  return $count;
1387
  }
1388
 
1436
  'groupname' => wpforo_phrase('Guest', false),
1437
  'profile_url' => '',
1438
  'stat' => array( 'points' => 0, 'rating' => 0, 'rating_procent' => 0, 'color' => '', 'badge' => '', 'posts' => $args['posts'], 'topics' => 0, 'questions' => 0, 'answers' => 0, 'question_comments' => 0, 'likes' => 0, 'liked' => 0, 'title' => '' ),
1439
+ 'is_email_confirmed' => 0
1440
  );
1441
 
1442
  if( $cache && $args['email'] ){
1479
  'profile',
1480
  'search'
1481
  ),
1482
+ 'canEdit' => array(),
1483
  'canView' => WPF()->perm->usergroups_can('vmu'),
1484
  'can' => 'vmu',
1485
  'isSearchable' => 0
1623
  'placeholder' => wpforo_phrase('User Group', false),
1624
  'faIcon' => 'fas fa-users',
1625
  'name' => 'groupid',
1626
+ 'allowedGroupIds' => array(),
1627
  'canBeInactive' => array(
1628
  'register',
1629
  'account',
2260
  }
2261
 
2262
  public function set_guest_cookies( $args ){
2263
+ if ( !WPF()->tools_legal['cookies'] ) return false;
2264
  if ( isset($args['name']) && isset($args['email']) ) {
2265
  $comment_cookie_lifetime = apply_filters( 'comment_cookie_lifetime', 30000000 );
2266
  $secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );
2273
  }
2274
 
2275
  public function get_guest_cookies(){
2276
+ if( !WPF()->tools_legal['cookies'] ) return false;
2277
+ $guest = array(); $guest_cookies = wp_get_current_commenter();
2278
  $guest['name'] = ( isset($guest_cookies['comment_author']) ) ? $guest_cookies['comment_author'] : '';
2279
  $guest['email'] = ( isset($guest_cookies['comment_author_email']) ) ? $guest_cookies['comment_author_email'] : '';
2280
  return $guest;
2281
  }
2282
 
2283
+ public function edit_is_email_confirmed($userid, $status){
2284
+ if( false !== WPF()->db->update(
2285
+ WPF()->tables->profiles,
2286
+ array( 'is_email_confirmed' => intval($status) ),
2287
+ array( 'userid' => wpforo_bigintval($userid) ),
2288
+ array( '%d' ),
2289
+ array( '%d' )
2290
+ )
2291
+ ){
2292
+ WPF()->notice->add('Email has been confirmed', 'success');
2293
+ return true;
2294
+ }
2295
+ WPF()->notice->add('Email confirm error', 'error');
2296
+ return false;
2297
+ }
2298
+
2299
+ public function get_is_email_confirmed($userid){
2300
+ $sql = "SELECT `is_email_confirmed` FROM `".WPF()->tables->profiles."` WHERE `userid` = %d";
2301
+ return (bool) WPF()->db->get_var( WPF()->db->prepare($sql, $userid) );
2302
+ }
2303
+
2304
  }
wpf-includes/class-moderation.php CHANGED
@@ -156,7 +156,7 @@ class wpForoModeration
156
  $level = $this->spam_file($filename);
157
  if( $level > 2 ){
158
  $link = '<a href="' . admin_url('admin.php?page=wpforo-tools&tab=antispam#spam-files') . '"><strong>&gt;&gt;</strong></a>';
159
- $phrase = '<strong>SPAM! - </strong>' . sprintf( __('Probably spam file attachments have been detected by wpForo Spam Control. Please moderate suspected files here %s', 'wpforo'), $link);
160
  WPF()->notice->add( $phrase, 'error' );
161
  return true;
162
  }
@@ -175,11 +175,15 @@ class wpForoModeration
175
  1 => array( 'download', 'free')
176
  );
177
  if($type == 'file'){
178
- $ext = strtolower(pathinfo($item, PATHINFO_EXTENSION));
179
- $ext_risk = array('pdf', 'doc', 'docx', 'txt', 'htm', 'html', 'rtf', 'xml', 'xls', 'xlsx', 'php', 'cgi');
180
- $ext_high_risk = array('php', 'cgi', 'exe');
181
- if( in_array($ext, $ext_risk) ){
182
- $has_post = WPF()->db->get_var( "SELECT `postid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE `body` LIKE '%" . esc_sql( $item ) . "%' LIMIT 1" );
 
 
 
 
183
  foreach($spam_file_phrases as $phrases){
184
  foreach($phrases as $phrase){
185
  if( strpos($item, $phrase) !== FALSE ){
@@ -323,7 +327,7 @@ class wpForoModeration
323
  else{
324
  $userid = intval($user);
325
  }
326
- $has_approved_post = WPF()->db->get_var( "SELECT `postid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE `userid` = '" . intval($userid) . "' AND `status` = 0 LIMIT 1" );
327
  if( $has_approved_post ){
328
  return true;
329
  }
@@ -340,7 +344,7 @@ class wpForoModeration
340
  else{
341
  $userid = intval($user);
342
  }
343
- $has_unapproved_post = WPF()->db->get_var( "SELECT `postid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE `userid` = '" . intval($userid) . "' AND `status` = 1 LIMIT 1" );
344
  if( $has_unapproved_post ){
345
  return true;
346
  }
@@ -359,8 +363,8 @@ class wpForoModeration
359
 
360
  public function set_all_unapproved( $userid ){
361
  if ( isset($userid) ) {
362
- WPF()->db->update( WPF()->db->prefix."wpforo_topics", array('status' => 1), array('userid' => intval($userid)), array('%d'), array('%d'));
363
- WPF()->db->update( WPF()->db->prefix."wpforo_posts", array('status' => 1), array('userid' => intval($userid)), array('%d'), array('%d'));
364
  }
365
  }
366
 
156
  $level = $this->spam_file($filename);
157
  if( $level > 2 ){
158
  $link = '<a href="' . admin_url('admin.php?page=wpforo-tools&tab=antispam#spam-files') . '"><strong>&gt;&gt;</strong></a>';
159
+ $phrase = '<strong>SPAM! - </strong>' . sprintf( __('Probably spam file attachments have been detected by wpForo Spam Control. Please moderate suspected files in Forums &gt; Tools &gt; Antispam Tab.', 'wpforo'), $link);
160
  WPF()->notice->add( $phrase, 'error' );
161
  return true;
162
  }
175
  1 => array( 'download', 'free')
176
  );
177
  if($type == 'file'){
178
+ $ext_whitelist = explode('|', WPF()->tools_antispam['exclude_file_ext'] );
179
+ $ext_whitelist = array_map('trim', $ext_whitelist);
180
+ $ext = strtolower(pathinfo($item, PATHINFO_EXTENSION));
181
+ $ext_risk = array('pdf', 'doc', 'docx', 'txt', 'htm', 'html', 'rtf', 'xml', 'xls', 'xlsx', 'php', 'cgi');
182
+ $ext_risk = wpforo_clear_array($ext_risk, $ext_whitelist);
183
+ $ext_high_risk = array('php', 'cgi', 'exe');
184
+ $ext_high_risk = wpforo_clear_array($ext_high_risk, $ext_whitelist);
185
+ if( in_array($ext, $ext_risk) ){
186
+ $has_post = WPF()->db->get_var( "SELECT `postid` FROM `".WPF()->tables->posts."` WHERE `body` LIKE '%" . esc_sql( $item ) . "%' LIMIT 1" );
187
  foreach($spam_file_phrases as $phrases){
188
  foreach($phrases as $phrase){
189
  if( strpos($item, $phrase) !== FALSE ){
327
  else{
328
  $userid = intval($user);
329
  }
330
+ $has_approved_post = WPF()->db->get_var( "SELECT `postid` FROM `".WPF()->tables->posts."` WHERE `userid` = '" . intval($userid) . "' AND `status` = 0 LIMIT 1" );
331
  if( $has_approved_post ){
332
  return true;
333
  }
344
  else{
345
  $userid = intval($user);
346
  }
347
+ $has_unapproved_post = WPF()->db->get_var( "SELECT `postid` FROM `".WPF()->tables->posts."` WHERE `userid` = '" . intval($userid) . "' AND `status` = 1 LIMIT 1" );
348
  if( $has_unapproved_post ){
349
  return true;
350
  }
363
 
364
  public function set_all_unapproved( $userid ){
365
  if ( isset($userid) ) {
366
+ WPF()->db->update( WPF()->tables->topics, array('status' => 1), array('userid' => intval($userid)), array('%d'), array('%d'));
367
+ WPF()->db->update( WPF()->tables->posts, array('status' => 1), array('userid' => intval($userid)), array('%d'), array('%d'));
368
  }
369
  }
370
 
wpf-includes/class-permissions.php CHANGED
@@ -29,7 +29,7 @@ class wpForoPermissions{
29
  if( !empty($this->access[$access]) ){
30
  return $this->access[$access];
31
  }else{
32
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_accesses` WHERE `access` = '" . esc_sql($access) . "'";
33
  return WPF()->db->get_row($sql, ARRAY_A);
34
  }
35
  }
@@ -41,7 +41,7 @@ class wpForoPermissions{
41
  * @return assoc array with accesses
42
  */
43
  function get_accesses(){
44
- $sql = "SELECT * FROM ".WPF()->db->prefix."wpforo_accesses";
45
  return WPF()->db->get_results($sql, ARRAY_A);
46
  }
47
 
@@ -103,13 +103,13 @@ class wpForoPermissions{
103
  if(!$key) $key = $title;
104
 
105
  $i = 2;
106
- while( WPF()->db->get_var("SELECT `access` FROM ".WPF()->db->prefix."wpforo_accesses WHERE `access` = '". esc_sql(sanitize_text_field($key)) . "'") ){
107
  $key = $key . '-' . $i;
108
  $i++;
109
  }
110
 
111
  if( WPF()->db->insert(
112
- WPF()->db->prefix . 'wpforo_accesses',
113
  array(
114
  'title' => sanitize_text_field($title),
115
  'access' => sanitize_text_field($key),
@@ -134,7 +134,7 @@ class wpForoPermissions{
134
  $cans = wpforo_parse_args($cans, array_map('wpforo_return_zero', WPF()->forum->cans));
135
 
136
  if( FALSE !== WPF()->db->update(
137
- WPF()->db->prefix . 'wpforo_accesses',
138
  array(
139
  'title' => sanitize_text_field($title),
140
  'cans' => serialize( $cans ),
@@ -163,7 +163,7 @@ class wpForoPermissions{
163
  return FALSE;
164
  }
165
 
166
- if( FALSE !== WPF()->db->delete( WPF()->db->prefix.'wpforo_accesses', array( 'accessid' => $accessid ), array( '%d' ) ) ){
167
  WPF()->notice->add('Access successfully deleted', 'success');
168
  return $accessid;
169
  }
29
  if( !empty($this->access[$access]) ){
30
  return $this->access[$access];
31
  }else{
32
+ $sql = "SELECT * FROM `".WPF()->tables->accesses."` WHERE `access` = '" . esc_sql($access) . "'";
33
  return WPF()->db->get_row($sql, ARRAY_A);
34
  }
35
  }
41
  * @return assoc array with accesses
42
  */
43
  function get_accesses(){
44
+ $sql = "SELECT * FROM ".WPF()->tables->accesses."";
45
  return WPF()->db->get_results($sql, ARRAY_A);
46
  }
47
 
103
  if(!$key) $key = $title;
104
 
105
  $i = 2;
106
+ while( WPF()->db->get_var("SELECT `access` FROM ".WPF()->tables->accesses." WHERE `access` = '". esc_sql(sanitize_text_field($key)) . "'") ){
107
  $key = $key . '-' . $i;
108
  $i++;
109
  }
110
 
111
  if( WPF()->db->insert(
112
+ WPF()->tables->accesses,
113
  array(
114
  'title' => sanitize_text_field($title),
115
  'access' => sanitize_text_field($key),
134
  $cans = wpforo_parse_args($cans, array_map('wpforo_return_zero', WPF()->forum->cans));
135
 
136
  if( FALSE !== WPF()->db->update(
137
+ WPF()->tables->accesses,
138
  array(
139
  'title' => sanitize_text_field($title),
140
  'cans' => serialize( $cans ),
163
  return FALSE;
164
  }
165
 
166
+ if( FALSE !== WPF()->db->delete( WPF()->tables->accesses, array( 'accessid' => $accessid ), array( '%d' ) ) ){
167
  WPF()->notice->add('Access successfully deleted', 'success');
168
  return $accessid;
169
  }
wpf-includes/class-phrases.php CHANGED
@@ -25,7 +25,7 @@ class wpForoPhrase{
25
  extract($args);
26
 
27
  if( empty($package) ) $package = 'wpforo';
28
- $sql = WPF()->db->prepare( "INSERT IGNORE INTO `".WPF()->db->prefix."wpforo_phrases`
29
  (`langid`, `phrase_key`, `phrase_value`, `package`)
30
  VALUES (%d, %s, %s, %s)",
31
  WPF()->general_options['lang'],
@@ -45,7 +45,7 @@ class wpForoPhrase{
45
  if( !empty($_POST['phrase']['data']) && is_array($_POST['phrase']['data']) ){
46
  foreach($_POST['phrase']['data'] as $key => $phrase){
47
  WPF()->db->update(
48
- WPF()->db->prefix . 'wpforo_phrases',
49
  array( 'phrase_value' => sanitize_text_field(stripslashes($phrase['title']))),
50
  array( 'phraseid' => intval($key) ),
51
  array( '%s' ),
@@ -63,7 +63,7 @@ class wpForoPhrase{
63
  }
64
 
65
  function get_wpforo_phrase($phraseid){
66
- $sql = 'SELECT * FROM '.WPF()->db->prefix.'wpforo_phrases WHERE `phraseid` ='.intval($phraseid);
67
  return WPF()->db->get_row($sql, ARRAY_A);
68
  }
69
 
@@ -98,7 +98,7 @@ class wpForoPhrase{
98
  if(!empty($exclude)) $wheres[] = "`phraseid` NOT IN(" . implode(', ', array_map('intval', $exclude)) . ")";
99
  if($langid != NULL) $wheres[] = "`langid` = " . intval($langid);
100
 
101
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_phrases`";
102
  if(!empty($wheres)){
103
  $sql .= " WHERE " . implode($wheres, " AND ");
104
  }
@@ -130,7 +130,7 @@ class wpForoPhrase{
130
  $needle = substr(sanitize_text_field($needle), 0, 60);
131
  foreach($fields as $field){
132
  $field = sanitize_text_field($field);
133
- $matches = WPF()->db->get_col( "SELECT `phraseid` FROM ".WPF()->db->prefix."wpforo_phrases WHERE `".esc_sql($field)."` LIKE '%".esc_sql($needle)."%'" );
134
  $phreseids = array_merge( $phreseids, $matches );
135
  }
136
  return array_unique($phreseids);
@@ -153,11 +153,11 @@ class wpForoPhrase{
153
 
154
  if( isset($vals[0]['tag']) && $vals[0]['tag'] == 'LANGUAGE' && isset($vals[0]['attributes']['LANGUAGE']) && $vals[0]['attributes']['LANGUAGE'] ){
155
 
156
- $sql = "SELECT `langid` FROM `".WPF()->db->prefix."wpforo_languages` WHERE `name` LIKE '". esc_sql(sanitize_text_field($vals[0]['attributes']['LANGUAGE'])) ."'";
157
  $langid = WPF()->db->get_var( $sql );
158
 
159
  if( !$langid ){
160
- $sql = "INSERT INTO `".WPF()->db->prefix."wpforo_languages` (`name`) VALUES ( '".esc_sql(sanitize_text_field($vals[0]['attributes']['LANGUAGE']))."' )";
161
  if( WPF()->db->query($sql) ){
162
  $langid = WPF()->db->insert_id;
163
  }
@@ -166,7 +166,7 @@ class wpForoPhrase{
166
  if( $langid ){
167
  foreach($vals as $val){
168
  if( isset($val['tag']) && $val['tag'] == 'PHRASE' && isset($val['attributes']['NAME']) && trim($val['attributes']['NAME']) && isset($val['value']) && trim($val['value']) ){
169
- $sql = "INSERT IGNORE INTO `".WPF()->db->prefix."wpforo_phrases`
170
  (`phraseid`, `langid`, `phrase_key`, `phrase_value`)
171
  VALUES( NULL,
172
  '".esc_sql(trim($langid))."',
@@ -228,7 +228,7 @@ class wpForoPhrase{
228
  }
229
 
230
  function get_languages(){
231
- return WPF()->db->get_results( "SELECT * FROM `".WPF()->db->prefix."wpforo_languages`", ARRAY_A );
232
  }
233
 
234
  function show_lang_list(){
@@ -243,7 +243,7 @@ class wpForoPhrase{
243
  }
244
 
245
  function clear_cache(){
246
- WPF()->db->query("DELETE FROM " . WPF()->db->prefix . "options WHERE `option_name` LIKE '%_wpforo_get_phrases_%'");
247
  }
248
 
249
  }
25
  extract($args);
26
 
27
  if( empty($package) ) $package = 'wpforo';
28
+ $sql = WPF()->db->prepare( "INSERT IGNORE INTO `".WPF()->tables->phrases."`
29
  (`langid`, `phrase_key`, `phrase_value`, `package`)
30
  VALUES (%d, %s, %s, %s)",
31
  WPF()->general_options['lang'],
45
  if( !empty($_POST['phrase']['data']) && is_array($_POST['phrase']['data']) ){
46
  foreach($_POST['phrase']['data'] as $key => $phrase){
47
  WPF()->db->update(
48
+ WPF()->tables->phrases,
49
  array( 'phrase_value' => sanitize_text_field(stripslashes($phrase['title']))),
50
  array( 'phraseid' => intval($key) ),
51
  array( '%s' ),
63
  }
64
 
65
  function get_wpforo_phrase($phraseid){
66
+ $sql = 'SELECT * FROM '.WPF()->tables->phrases.' WHERE `phraseid` ='.intval($phraseid);
67
  return WPF()->db->get_row($sql, ARRAY_A);
68
  }
69
 
98
  if(!empty($exclude)) $wheres[] = "`phraseid` NOT IN(" . implode(', ', array_map('intval', $exclude)) . ")";
99
  if($langid != NULL) $wheres[] = "`langid` = " . intval($langid);
100
 
101
+ $sql = "SELECT * FROM `".WPF()->tables->phrases."`";
102
  if(!empty($wheres)){
103
  $sql .= " WHERE " . implode($wheres, " AND ");
104
  }
130
  $needle = substr(sanitize_text_field($needle), 0, 60);
131
  foreach($fields as $field){
132
  $field = sanitize_text_field($field);
133
+ $matches = WPF()->db->get_col( "SELECT `phraseid` FROM ".WPF()->tables->phrases." WHERE `".esc_sql($field)."` LIKE '%".esc_sql($needle)."%'" );
134
  $phreseids = array_merge( $phreseids, $matches );
135
  }
136
  return array_unique($phreseids);
153
 
154
  if( isset($vals[0]['tag']) && $vals[0]['tag'] == 'LANGUAGE' && isset($vals[0]['attributes']['LANGUAGE']) && $vals[0]['attributes']['LANGUAGE'] ){
155
 
156
+ $sql = "SELECT `langid` FROM `".WPF()->tables->languages."` WHERE `name` LIKE '". esc_sql(sanitize_text_field($vals[0]['attributes']['LANGUAGE'])) ."'";
157
  $langid = WPF()->db->get_var( $sql );
158
 
159
  if( !$langid ){
160
+ $sql = "INSERT INTO `".WPF()->tables->languages."` (`name`) VALUES ( '".esc_sql(sanitize_text_field($vals[0]['attributes']['LANGUAGE']))."' )";
161
  if( WPF()->db->query($sql) ){
162
  $langid = WPF()->db->insert_id;
163
  }
166
  if( $langid ){
167
  foreach($vals as $val){
168
  if( isset($val['tag']) && $val['tag'] == 'PHRASE' && isset($val['attributes']['NAME']) && trim($val['attributes']['NAME']) && isset($val['value']) && trim($val['value']) ){
169
+ $sql = "INSERT IGNORE INTO `".WPF()->tables->phrases."`
170
  (`phraseid`, `langid`, `phrase_key`, `phrase_value`)
171
  VALUES( NULL,
172
  '".esc_sql(trim($langid))."',
228
  }
229
 
230
  function get_languages(){
231
+ return WPF()->db->get_results( "SELECT * FROM `".WPF()->tables->languages."`", ARRAY_A );
232
  }
233
 
234
  function show_lang_list(){
243
  }
244
 
245
  function clear_cache(){
246
+ WPF()->db->query("DELETE FROM ".WPF()->db->options." WHERE `option_name` LIKE '%_wpforo_get_phrases_%'");
247
  }
248
 
249
  }
wpf-includes/class-posts.php CHANGED
@@ -114,7 +114,7 @@ class wpForoPost{
114
 
115
  if(
116
  WPF()->db->insert(
117
- WPF()->db->prefix . 'wpforo_posts',
118
  array(
119
  'forumid' => $forumid,
120
  'topicid' => $topicid,
@@ -137,21 +137,27 @@ class wpForoPost{
137
  $answ_incr = '';
138
  $comm_incr = '';
139
  if( isset($forum['cat_layout']) && $forum['cat_layout'] == 3 ){
140
- if($parentid){
 
141
  $comm_incr = ', `comments` = `comments` + 1 ';
142
  }else{
143
  $answ_incr = ', `answers` = `answers` + 1 ';
144
  }
145
  }
146
 
147
- WPF()->db->query( "UPDATE `" . WPF()->db->prefix . "wpforo_profiles` SET `posts` = `posts` + 1 $answ_incr $comm_incr WHERE `userid` = " . intval($userid) );
148
 
149
  $post['postid'] = $postid;
150
  $post['status'] = $status;
151
  $post['private'] = $private;
152
  $post['posturl'] = $this->get_post_url($postid);
153
-
154
- if( !$status ) $this->last_post($post);
 
 
 
 
 
155
 
156
  do_action( 'wpforo_after_add_post', $post, $topic );
157
 
@@ -215,11 +221,18 @@ class wpForoPost{
215
  if( !$guestposting ){
216
  $diff = current_time( 'timestamp', 1 ) - strtotime($post['created']);
217
  if( !(WPF()->perm->forum_can('er', $post['forumid']) ||
218
- (WPF()->current_userid == $post['userid'] && WPF()->perm->forum_can('eor', $post['forumid']) &&
219
- $diff < WPF()->post->options['eor_durr'])) ){
220
  WPF()->notice->add('You don\'t have permission to edit post from this forum', 'error');
221
  return FALSE;
222
  }
 
 
 
 
 
 
 
223
  }
224
 
225
  $title = (isset($title) ? wpforo_text( trim($title), 250, false ) : '');
@@ -245,7 +258,7 @@ class wpForoPost{
245
  $email = ( isset($email) ? stripslashes($email) : stripslashes($post['email']) );
246
 
247
  if( FALSE !== WPF()->db->update(
248
- WPF()->db->prefix."wpforo_posts",
249
  array(
250
  'title' => $title,
251
  'body' => $body,
@@ -289,16 +302,24 @@ class wpForoPost{
289
  do_action('wpforo_before_delete_post', $post);
290
 
291
  $diff = current_time( 'timestamp', 1 ) - strtotime($post['created']);
292
- if( !(WPF()->perm->forum_can('dr', $post['forumid']) || (WPF()->current_userid == $post['userid'] && WPF()->perm->forum_can('dor', $post['forumid']) && $diff < WPF()->post->options['dor_durr'])) ){
 
 
293
  WPF()->notice->add('You don\'t have permission to delete post from this forum', 'error');
294
  return FALSE;
295
  }
296
-
 
 
 
 
 
 
297
  //Find and delete default atatchments before deleting post
298
  $this->delete_attachments( $postid );
299
 
300
  //Delete post
301
- if( WPF()->db->delete(WPF()->db->prefix . 'wpforo_posts', array( 'postid' => intval($postid) ), array( '%d' )) ){
302
  $last_post = $this->get_posts( array('topicid' => intval($post['topicid']), 'orderby' => '`created` DESC, `postid` DESC', 'row_count' => 1, 'status' => 0, 'private' => 0) );
303
  if(is_array($last_post) && !empty($last_post)){
304
  $last_post = $last_post[0];
@@ -307,10 +328,10 @@ class wpForoPost{
307
  }
308
 
309
  WPF()->db->delete(
310
- WPF()->db->prefix.'wpforo_likes', array( 'postid' => $postid ), array( '%d' )
311
  );
312
  WPF()->db->delete(
313
- WPF()->db->prefix.'wpforo_votes', array( 'postid' => $postid ), array( '%d' )
314
  );
315
 
316
  $answ_incr = '';
@@ -324,9 +345,9 @@ class wpForoPost{
324
  }
325
  }
326
 
327
- if(WPF()->db->query( "UPDATE IGNORE " . WPF()->db->prefix . "wpforo_topics SET `modified` = '" . esc_sql($last_post['modified']) . "', `last_post` = " . intval($last_post['postid']) . ", `posts` = IF( (`posts` - 1) < 0, 0, `posts` - 1 ) $answ_incr WHERE `topicid` = " . intval( $post['topicid'] ))){
328
- if( WPF()->db->query( "UPDATE IGNORE `" . WPF()->db->prefix . "wpforo_forums` SET `last_post_date` = '" . esc_sql($last_post['created']) . "', `last_userid` = " . intval($last_post['userid']) . ", `last_postid` = " . intval($last_post['postid']) . ", `posts` = IF( (`posts` - 1) < 0, 0, `posts` - 1 ) WHERE `forumid` = " . intval( $post['forumid'] ))){
329
- if( WPF()->db->query( "UPDATE IGNORE `" . WPF()->db->prefix . "wpforo_profiles` SET `posts` = IF( (`posts` - 1) < 0, 0, `posts` - 1 ) $answ_incr $comm_incr WHERE `userid` = " . intval($post['userid']) ) ){
330
  WPF()->member->reset($post['userid']);
331
  WPF()->notice->add('This post successfully deleted', 'success');
332
  }
@@ -363,7 +384,7 @@ class wpForoPost{
363
  return self::$cache['post'][$postid];
364
  }
365
 
366
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_posts` WHERE `postid` = " . intval($postid);
367
  $post = WPF()->db->get_row($sql, ARRAY_A);
368
  if(!empty($post)) $post['userid'] = intval($post['userid']);
369
 
@@ -395,7 +416,7 @@ class wpForoPost{
395
  * @return array
396
  */
397
  function get_posts($args = array(), &$items_count = 0){
398
-
399
  $cache = WPF()->cache->on('object_cashe');
400
 
401
  $default = array(
@@ -407,7 +428,7 @@ class wpForoPost{
407
  'parentid' => -1, // parent post id
408
  'userid' => NULL, // user id in DB
409
  'orderby' => '`is_first_post` DESC, `created` ASC, `postid` ASC', // forumid, order, parentid
410
- 'order' => '', // ASC DESC
411
  'offset' => NULL, // this use when you give row_count
412
  'row_count' => NULL, // 4 or 1 ...
413
  'status' => NULL, // 0 or 1 ...
@@ -416,8 +437,10 @@ class wpForoPost{
416
  'check_private' => TRUE,
417
  'where' => NULL,
418
  'owner' => NULL,
419
- );
 
420
 
 
421
  if( empty($args['orderby']) ) $args['order'] = '';
422
 
423
  $args = wpforo_parse_args( $args, $default );
@@ -433,7 +456,7 @@ class wpForoPost{
433
 
434
  $guest = array();
435
  $wheres = array();
436
- $table_as_prefix = '`'.WPF()->db->prefix.'wpforo_posts`.';
437
  if(!is_user_logged_in()) $guest = WPF()->member->get_guest_cookies();
438
 
439
  if(!empty($include)) $wheres[] = $table_as_prefix . "`postid` IN(" . implode(', ', array_map('intval', $include)) . ")";
@@ -463,7 +486,7 @@ class wpForoPost{
463
  }
464
  }
465
 
466
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_posts`";
467
  if(!empty($wheres)){
468
  $sql .= " WHERE " . implode(" AND ", $wheres);
469
  }
@@ -480,7 +503,23 @@ class wpForoPost{
480
  }
481
  }
482
 
483
- if( $cache ){ $object_key = md5( $sql . WPF()->current_user_groupid ); $object_cache = WPF()->cache->get($object_key); if(!empty($object_cache)){ $items_count = $object_cache['items_count']; return $object_cache['items']; }}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
484
 
485
  $posts = WPF()->db->get_results($sql, ARRAY_A);
486
  $posts = apply_filters('wpforo_get_posts', $posts);
@@ -513,6 +552,9 @@ class wpForoPost{
513
  if($cache && isset($object_key) && !empty($posts)){
514
  self::$cache['posts'][$object_key]['items'] = $posts;
515
  self::$cache['posts'][$object_key]['items_count'] = $items_count;
 
 
 
516
  }
517
  return $posts;
518
  }
@@ -564,7 +606,7 @@ class wpForoPost{
564
  $date_period = intval($date_period);
565
 
566
  $selects = array('p.`postid`', 't.`topicid`', 't.`private`', 't.`status`', 't.`forumid`', 'p.`userid`', 't.`title`', 'p.`created`', 'p.`body`' );
567
- $innerjoins = array('INNER JOIN `'.WPF()->db->prefix.'wpforo_topics` t ON t.`topicid` = p.`topicid`');
568
  $wheres = array();
569
  $orders = array();
570
 
@@ -590,7 +632,7 @@ class wpForoPost{
590
  $orders[] = "MATCH(t.`title`) AGAINST('$needle') + MATCH(p.`title`) AGAINST('$needle')";
591
  $orders[] = "MATCH(t.`title`) AGAINST('$needle' IN BOOLEAN MODE) + MATCH(p.`title`) AGAINST('$needle' IN BOOLEAN MODE)";
592
  }elseif($type == 'user-posts' || $type == 'user-topics'){
593
- $innerjoins[] = "INNER JOIN `".WPF()->db->base_prefix."users` u ON u.`ID` = p.`userid`";
594
  $wheres[] = "( u.`user_login` LIKE '$needle' OR u.`user_email` LIKE '$needle' OR u.`display_name` LIKE '$needle' )";
595
  if($type == 'user-topics') $wheres[] = "`is_first_post` = 1";
596
  }
@@ -604,11 +646,11 @@ class wpForoPost{
604
  $orders = array('t.`forumid`');
605
  }
606
 
607
- $sql = "SELECT COUNT(p.`postid`) FROM `".WPF()->db->prefix."wpforo_posts` p ".implode(' ', $innerjoins);
608
  if(!empty($wheres)) $sql .= " WHERE " . implode( " AND ", $wheres );
609
  $items_count = WPF()->db->get_var($sql);
610
 
611
- $sql = "SELECT ".implode(', ', $selects)." FROM `".WPF()->db->prefix."wpforo_posts` p ".implode(' ', $innerjoins);
612
  if(!empty($wheres)) $sql .= " WHERE " . implode( " AND ", $wheres );
613
  if(!empty($orders)) $sql .= " ORDER BY ".implode(' '.strtoupper($order).', ', $orders)." ".strtoupper($order);
614
 
@@ -644,7 +686,7 @@ class wpForoPost{
644
  * @return int
645
  */
646
  function get_post_likes_count($postid){
647
- return WPF()->db->get_var("SELECT COUNT(l.`likeid`) FROM `".WPF()->db->prefix."wpforo_likes` l, `".WPF()->db->base_prefix."users` u WHERE `l`.`userid` = `u`.ID AND `l`.`postid` = ".intval($postid) );
648
  }
649
 
650
  /**
@@ -659,7 +701,7 @@ class wpForoPost{
659
  * @return array
660
  */
661
  function get_likers_usernames($postid){
662
- return WPF()->db->get_results("SELECT u.ID, u.display_name FROM `".WPF()->db->prefix."wpforo_likes` l, `".WPF()->db->base_prefix."users` u WHERE `l`.`userid` = `u`.ID AND `l`.`postid` = ".intval($postid)." ORDER BY l.`userid` = " . intval(WPF()->current_userid) . " DESC, l.`likeid` DESC LIMIT 3", ARRAY_A);
663
  }
664
 
665
  /**
@@ -672,7 +714,7 @@ class wpForoPost{
672
  * @return null or like id
673
  */
674
  function is_liked($postid, $userid){
675
- $returned_value = WPF()->db->get_var("SELECT likeid FROM `".WPF()->db->prefix."wpforo_likes` WHERE `postid` = ".intval($postid)." AND `userid` = ".intval($userid) );
676
  if(is_null($returned_value)){
677
  return FALSE;
678
  }else{
@@ -692,7 +734,7 @@ class wpForoPost{
692
  * @return int
693
  */
694
  function get_post_votes_sum($postid){
695
- $sum = WPF()->db->get_var("SELECT sum(`reaction`) FROM `".WPF()->db->prefix."wpforo_votes` WHERE `postid` = ".intval($postid) );
696
  if($sum == null){
697
  $sum = 0;
698
  }
@@ -720,7 +762,7 @@ class wpForoPost{
720
  return self::$cache['forum_slug'][$postid];
721
  }
722
 
723
- $slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->db->prefix."wpforo_forums WHERE `forumid` =(SELECT forumid FROM `".WPF()->db->prefix."wpforo_topics` WHERE `topicid` =(SELECT `topicid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE postid = ".intval($postid)."))");
724
 
725
  if($cache && isset($postid)){
726
  self::$cache['forum_slug'][$postid] = $slug;
@@ -754,7 +796,7 @@ class wpForoPost{
754
  return self::$cache['topic_slug'][$postid];
755
  }
756
 
757
- $slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->db->prefix."wpforo_topics WHERE `topicid` =(SELECT `topicid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE postid = ".intval($postid).")");
758
 
759
  if($cache && isset($postid)){
760
  self::$cache['topic_slug'][$postid] = $slug;
@@ -792,7 +834,7 @@ class wpForoPost{
792
  if( is_array($post) && !empty($post) && $postid ){
793
  $url = $this->get_forumslug_byid($postid) . '/' . $this->get_topicslug_byid($postid);
794
  if( $post['topicid'] ){
795
- if( !$position ) $position = WPF()->db->get_var("SELECT COUNT(`postid`) FROM `".WPF()->db->prefix."wpforo_posts` WHERE `topicid` = ".wpforo_bigintval($post['topicid'])." AND `postid` <= " . ( $post['parentid'] && WPF()->forum->get_layout($post['forumid']) == 3 ? wpforo_bigintval($post['parentid']) : wpforo_bigintval($postid) ) );
796
  if( $position <= WPF()->post->options['posts_per_page'] ) return wpforo_home_url($url, false, $absolute ) . "#post-" . wpforo_bigintval($postid);
797
  if( $position && WPF()->post->options['posts_per_page'] ) {
798
  $paged = ceil($position / WPF()->post->options['posts_per_page']);
@@ -818,7 +860,7 @@ class wpForoPost{
818
  function is_answered( $postid ){
819
  $is_answered = WPF()->db->get_var( WPF()->db->prepare(
820
  " SELECT is_answer
821
- FROM `".WPF()->db->prefix."wpforo_posts`
822
  WHERE postid = %d
823
  ",
824
  intval($postid)
@@ -827,13 +869,13 @@ class wpForoPost{
827
  }
828
 
829
  function is_approved( $postid ){
830
- $post = WPF()->db->get_var( "SELECT `status` FROM " . WPF()->db->prefix."wpforo_posts WHERE `postid` = " . intval($postid) );
831
  if( $post ) return FALSE;
832
  return TRUE;
833
  }
834
 
835
  function get_count( $args = array() ){
836
- $sql = "SELECT COUNT(`postid`) FROM `".WPF()->db->prefix."wpforo_posts`";
837
  if($args && is_array($args)){
838
  $wheres = array();
839
  foreach ($args as $key => $value) $wheres[] = "`$key` = '" . esc_sql($value) . "'";
@@ -843,11 +885,11 @@ class wpForoPost{
843
  }
844
 
845
  function unapproved_count(){
846
- return WPF()->db->get_var( "SELECT COUNT(*) FROM `".WPF()->db->prefix."wpforo_posts` WHERE `status` = 1" );
847
  }
848
 
849
  function get_attachment_id( $filename ){
850
- $attach_id = WPF()->db->get_var( "SELECT `post_id` FROM `".WPF()->db->prefix."postmeta` WHERE `meta_key` = '_wp_attached_file' AND `meta_value` LIKE '%" . esc_sql($filename) . "' LIMIT 1");
851
  return $attach_id;
852
  }
853
 
@@ -861,7 +903,7 @@ class wpForoPost{
861
  $filename = trim($attachment[1]);
862
  $file = $default_attachments_dir . $filename;
863
  if( file_exists($file) ){
864
- $posts = WPF()->db->get_var( "SELECT COUNT(*) as posts FROM `".WPF()->db->prefix."wpforo_posts` WHERE `body` LIKE '%" . esc_sql( $attachment[0] ) . "%'" );
865
  if( is_numeric($posts) && $posts == 1 ){
866
  $attachmentid = $this->get_attachment_id( '/' . $filename );
867
  if ( !wp_delete_attachment( $attachmentid ) ){
@@ -875,23 +917,27 @@ class wpForoPost{
875
  }
876
 
877
  public function status( $postid, $status ){
878
- if( !$postid = wpforo_bigintval($postid) ) return false;
 
 
879
  if( !$post = $this->get_post($postid) ) return false;
880
 
881
  if( $post['is_first_post'] ) return WPF()->topic->status($post['topicid'], $status);
882
 
883
  if( false !== WPF()->db->update(
884
- WPF()->db->prefix."wpforo_posts",
885
  array( 'status' => intval($status) ),
886
  array( 'postid' => $postid ),
887
  array( '%d' ),
888
  array( '%d' )
889
  )){
890
  if($status) {
891
- $this->last_post($post, 'remove');
892
- } else {
893
  $this->last_post($post, 'add');
894
  }
 
 
895
  WPF()->notice->add('Done!', 'success');
896
  return true;
897
  }
@@ -904,12 +950,56 @@ class wpForoPost{
904
  if( !empty($post) && isset($post['postid']) && isset($post['topicid']) && isset($post['forumid']) && isset($post['userid']) && isset($post['created']) ){
905
  extract($post, EXTR_OVERWRITE);
906
  if( $action == 'add' ){
907
- WPF()->db->query( "UPDATE `" . WPF()->db->prefix . "wpforo_forums` SET `last_topicid` = ". intval($topicid) .", `last_postid` = ". intval($postid) .", `last_post_date` = '".esc_sql($created)."', `last_userid` = " . intval($userid) . ", `posts` = `posts` + 1 WHERE `forumid` = " . intval($forumid) );
908
- WPF()->db->query( "UPDATE `" . WPF()->db->prefix . "wpforo_topics` SET `modified` = '" . esc_sql($created) . "', `last_post` = ". intval($postid) .", `posts` = `posts` + 1 $answ_incr WHERE `topicid` = " . intval($topicid) );
 
 
 
 
 
909
  }
910
  elseif($action == 'remove'){
911
  //rebuild forum and topic last post info, don't include unapproved and private posts.
912
  }
913
  }
914
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
915
  }
114
 
115
  if(
116
  WPF()->db->insert(
117
+ WPF()->tables->posts,
118
  array(
119
  'forumid' => $forumid,
120
  'topicid' => $topicid,
137
  $answ_incr = '';
138
  $comm_incr = '';
139
  if( isset($forum['cat_layout']) && $forum['cat_layout'] == 3 ){
140
+
141
+ if($parentid){
142
  $comm_incr = ', `comments` = `comments` + 1 ';
143
  }else{
144
  $answ_incr = ', `answers` = `answers` + 1 ';
145
  }
146
  }
147
 
148
+ WPF()->db->query( "UPDATE `".WPF()->tables->profiles."` SET `posts` = `posts` + 1 $answ_incr $comm_incr WHERE `userid` = " . intval($userid) );
149
 
150
  $post['postid'] = $postid;
151
  $post['status'] = $status;
152
  $post['private'] = $private;
153
  $post['posturl'] = $this->get_post_url($postid);
154
+
155
+ if( !$status ) {
156
+ WPF()->topic->rebuild_first_last($topic);
157
+ WPF()->topic->rebuild_stats($topic, $post);
158
+ WPF()->forum->rebuild_last_infos($forum['forumid']);
159
+ WPF()->forum->rebuild_stats($forum['forumid']);
160
+ }
161
 
162
  do_action( 'wpforo_after_add_post', $post, $topic );
163
 
221
  if( !$guestposting ){
222
  $diff = current_time( 'timestamp', 1 ) - strtotime($post['created']);
223
  if( !(WPF()->perm->forum_can('er', $post['forumid']) ||
224
+ (WPF()->current_userid == $post['userid'] && WPF()->perm->forum_can('eor', $post['forumid'])) )
225
+ ){
226
  WPF()->notice->add('You don\'t have permission to edit post from this forum', 'error');
227
  return FALSE;
228
  }
229
+
230
+ if(!WPF()->perm->forum_can('er', $post['forumid']) &&
231
+ WPF()->post->options['eor_durr'] !== 0 &&
232
+ $diff > WPF()->post->options['eor_durr']){
233
+ WPF()->notice->add('The time to edit this post is expired.', 'error');
234
+ return FALSE;
235
+ }
236
  }
237
 
238
  $title = (isset($title) ? wpforo_text( trim($title), 250, false ) : '');
258
  $email = ( isset($email) ? stripslashes($email) : stripslashes($post['email']) );
259
 
260
  if( FALSE !== WPF()->db->update(
261
+ WPF()->tables->posts,
262
  array(
263
  'title' => $title,
264
  'body' => $body,
302
  do_action('wpforo_before_delete_post', $post);
303
 
304
  $diff = current_time( 'timestamp', 1 ) - strtotime($post['created']);
305
+ if( !(WPF()->perm->forum_can('dr', $post['forumid']) ||
306
+ (WPF()->current_userid == $post['userid'] &&
307
+ WPF()->perm->forum_can('dor', $post['forumid']) )) ){
308
  WPF()->notice->add('You don\'t have permission to delete post from this forum', 'error');
309
  return FALSE;
310
  }
311
+
312
+ if( !WPF()->perm->forum_can('dr', $post['forumid']) &&
313
+ WPF()->post->options['dor_durr'] !== 0 &&
314
+ $diff > WPF()->post->options['dor_durr'] ){
315
+ WPF()->notice->add('The time to delete this post is expired.', 'error');
316
+ return FALSE;
317
+ }
318
  //Find and delete default atatchments before deleting post
319
  $this->delete_attachments( $postid );
320
 
321
  //Delete post
322
+ if( WPF()->db->delete(WPF()->tables->posts, array( 'postid' => intval($postid) ), array( '%d' )) ){
323
  $last_post = $this->get_posts( array('topicid' => intval($post['topicid']), 'orderby' => '`created` DESC, `postid` DESC', 'row_count' => 1, 'status' => 0, 'private' => 0) );
324
  if(is_array($last_post) && !empty($last_post)){
325
  $last_post = $last_post[0];
328
  }
329
 
330
  WPF()->db->delete(
331
+ WPF()->tables->likes, array( 'postid' => $postid ), array( '%d' )
332
  );
333
  WPF()->db->delete(
334
+ WPF()->tables->votes, array( 'postid' => $postid ), array( '%d' )
335
  );
336
 
337
  $answ_incr = '';
345
  }
346
  }
347
 
348
+ if(WPF()->db->query( "UPDATE IGNORE ".WPF()->tables->topics." SET `modified` = '" . esc_sql($last_post['modified']) . "', `last_post` = " . intval($last_post['postid']) . ", `posts` = IF( (`posts` - 1) < 0, 0, `posts` - 1 ) $answ_incr WHERE `topicid` = " . intval( $post['topicid'] ))){
349
+ if( WPF()->db->query( "UPDATE IGNORE `".WPF()->tables->forums."` SET `last_post_date` = '" . esc_sql($last_post['created']) . "', `last_userid` = " . intval($last_post['userid']) . ", `last_postid` = " . intval($last_post['postid']) . ", `posts` = IF( (`posts` - 1) < 0, 0, `posts` - 1 ) WHERE `forumid` = " . intval( $post['forumid'] ))){
350
+ if( WPF()->db->query( "UPDATE IGNORE `".WPF()->tables->profiles."` SET `posts` = IF( (`posts` - 1) < 0, 0, `posts` - 1 ) $answ_incr $comm_incr WHERE `userid` = " . intval($post['userid']) ) ){
351
  WPF()->member->reset($post['userid']);
352
  WPF()->notice->add('This post successfully deleted', 'success');
353
  }
384
  return self::$cache['post'][$postid];
385
  }
386
 
387
+ $sql = "SELECT * FROM `".WPF()->tables->posts."` WHERE `postid` = " . intval($postid);
388
  $post = WPF()->db->get_row($sql, ARRAY_A);
389
  if(!empty($post)) $post['userid'] = intval($post['userid']);
390
 
416
  * @return array
417
  */
418
  function get_posts($args = array(), &$items_count = 0){
419
+
420
  $cache = WPF()->cache->on('object_cashe');
421
 
422
  $default = array(
428
  'parentid' => -1, // parent post id
429
  'userid' => NULL, // user id in DB
430
  'orderby' => '`is_first_post` DESC, `created` ASC, `postid` ASC', // forumid, order, parentid
431
+ 'order' => '', // ASC DESC
432
  'offset' => NULL, // this use when you give row_count
433
  'row_count' => NULL, // 4 or 1 ...
434
  'status' => NULL, // 0 or 1 ...
437
  'check_private' => TRUE,
438
  'where' => NULL,
439
  'owner' => NULL,
440
+ 'cache_type' => 'sql', // sql or args
441
+ );
442
 
443
+ $request = $args;
444
  if( empty($args['orderby']) ) $args['order'] = '';
445
 
446
  $args = wpforo_parse_args( $args, $default );
456
 
457
  $guest = array();
458
  $wheres = array();
459
+ $table_as_prefix = '`'.WPF()->tables->posts.'`.';
460
  if(!is_user_logged_in()) $guest = WPF()->member->get_guest_cookies();
461
 
462
  if(!empty($include)) $wheres[] = $table_as_prefix . "`postid` IN(" . implode(', ', array_map('intval', $include)) . ")";
486
  }
487
  }
488
 
489
+ $sql = "SELECT * FROM `".WPF()->tables->posts."`";
490
  if(!empty($wheres)){
491
  $sql .= " WHERE " . implode(" AND ", $wheres);
492
  }
503
  }
504
  }
505
 
506
+ if( $cache ){
507
+ $object_key = md5( $sql . WPF()->current_user_groupid );
508
+ $object_cache = WPF()->cache->get($object_key);
509
+ if(!empty($object_cache)){
510
+ $items_count = $object_cache['items_count'];
511
+ return $object_cache['items'];
512
+ }
513
+ else{
514
+ $hach = serialize($request);
515
+ $cache_args_key = md5( $hach . WPF()->current_user_groupid );
516
+ $object_cache = WPF()->cache->get($cache_args_key, 'loop', 'post');
517
+ if(!empty($object_cache)){
518
+ $items_count = $object_cache['items_count'];
519
+ return $object_cache['items'];
520
+ }
521
+ }
522
+ }
523
 
524
  $posts = WPF()->db->get_results($sql, ARRAY_A);
525
  $posts = apply_filters('wpforo_get_posts', $posts);
552
  if($cache && isset($object_key) && !empty($posts)){
553
  self::$cache['posts'][$object_key]['items'] = $posts;
554
  self::$cache['posts'][$object_key]['items_count'] = $items_count;
555
+ if(isset($cache_args_key) && $cache_type == 'args' ){
556
+ WPF()->cache->create_custom( $request, $posts, 'post', $items_count );
557
+ }
558
  }
559
  return $posts;
560
  }
606
  $date_period = intval($date_period);
607
 
608
  $selects = array('p.`postid`', 't.`topicid`', 't.`private`', 't.`status`', 't.`forumid`', 'p.`userid`', 't.`title`', 'p.`created`', 'p.`body`' );
609
+ $innerjoins = array('INNER JOIN `'.WPF()->tables->topics.'` t ON t.`topicid` = p.`topicid`');
610
  $wheres = array();
611
  $orders = array();
612
 
632
  $orders[] = "MATCH(t.`title`) AGAINST('$needle') + MATCH(p.`title`) AGAINST('$needle')";
633
  $orders[] = "MATCH(t.`title`) AGAINST('$needle' IN BOOLEAN MODE) + MATCH(p.`title`) AGAINST('$needle' IN BOOLEAN MODE)";
634
  }elseif($type == 'user-posts' || $type == 'user-topics'){
635
+ $innerjoins[] = "INNER JOIN `".WPF()->db->users."` u ON u.`ID` = p.`userid`";
636
  $wheres[] = "( u.`user_login` LIKE '$needle' OR u.`user_email` LIKE '$needle' OR u.`display_name` LIKE '$needle' )";
637
  if($type == 'user-topics') $wheres[] = "`is_first_post` = 1";
638
  }
646
  $orders = array('t.`forumid`');
647
  }
648
 
649
+ $sql = "SELECT COUNT(p.`postid`) FROM `".WPF()->tables->posts."` p ".implode(' ', $innerjoins);
650
  if(!empty($wheres)) $sql .= " WHERE " . implode( " AND ", $wheres );
651
  $items_count = WPF()->db->get_var($sql);
652
 
653
+ $sql = "SELECT ".implode(', ', $selects)." FROM `".WPF()->tables->posts."` p ".implode(' ', $innerjoins);
654
  if(!empty($wheres)) $sql .= " WHERE " . implode( " AND ", $wheres );
655
  if(!empty($orders)) $sql .= " ORDER BY ".implode(' '.strtoupper($order).', ', $orders)." ".strtoupper($order);
656
 
686
  * @return int
687
  */
688
  function get_post_likes_count($postid){
689
+ return WPF()->db->get_var("SELECT COUNT(l.`likeid`) FROM `".WPF()->tables->likes."` l, `".WPF()->db->users."` u WHERE `l`.`userid` = `u`.ID AND `l`.`postid` = ".intval($postid) );
690
  }
691
 
692
  /**
701
  * @return array
702
  */
703
  function get_likers_usernames($postid){
704
+ return WPF()->db->get_results("SELECT u.ID, u.display_name FROM `".WPF()->tables->likes."` l, `".WPF()->db->users."` u WHERE `l`.`userid` = `u`.ID AND `l`.`postid` = ".intval($postid)." ORDER BY l.`userid` = " . intval(WPF()->current_userid) . " DESC, l.`likeid` DESC LIMIT 3", ARRAY_A);
705
  }
706
 
707
  /**
714
  * @return null or like id
715
  */
716
  function is_liked($postid, $userid){
717
+ $returned_value = WPF()->db->get_var("SELECT likeid FROM `".WPF()->tables->likes."` WHERE `postid` = ".intval($postid)." AND `userid` = ".intval($userid) );
718
  if(is_null($returned_value)){
719
  return FALSE;
720
  }else{
734
  * @return int
735
  */
736
  function get_post_votes_sum($postid){
737
+ $sum = WPF()->db->get_var("SELECT sum(`reaction`) FROM `".WPF()->tables->votes."` WHERE `postid` = ".intval($postid) );
738
  if($sum == null){
739
  $sum = 0;
740
  }
762
  return self::$cache['forum_slug'][$postid];
763
  }
764
 
765
+ $slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->tables->forums." WHERE `forumid` =(SELECT forumid FROM `".WPF()->tables->topics."` WHERE `topicid` =(SELECT `topicid` FROM `".WPF()->tables->posts."` WHERE postid = ".intval($postid)."))");
766
 
767
  if($cache && isset($postid)){
768
  self::$cache['forum_slug'][$postid] = $slug;
796
  return self::$cache['topic_slug'][$postid];
797
  }
798
 
799
+ $slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->tables->topics." WHERE `topicid` =(SELECT `topicid` FROM `".WPF()->tables->posts."` WHERE postid = ".intval($postid).")");
800
 
801
  if($cache && isset($postid)){
802
  self::$cache['topic_slug'][$postid] = $slug;
834
  if( is_array($post) && !empty($post) && $postid ){
835
  $url = $this->get_forumslug_byid($postid) . '/' . $this->get_topicslug_byid($postid);
836
  if( $post['topicid'] ){
837
+ if( !$position ) $position = WPF()->db->get_var("SELECT COUNT(`postid`) FROM `".WPF()->tables->posts."` WHERE `topicid` = ".wpforo_bigintval($post['topicid'])." AND `postid` <= " . ( $post['parentid'] && WPF()->forum->get_layout($post['forumid']) == 3 ? wpforo_bigintval($post['parentid']) : wpforo_bigintval($postid) ) );
838
  if( $position <= WPF()->post->options['posts_per_page'] ) return wpforo_home_url($url, false, $absolute ) . "#post-" . wpforo_bigintval($postid);
839
  if( $position && WPF()->post->options['posts_per_page'] ) {
840
  $paged = ceil($position / WPF()->post->options['posts_per_page']);
860
  function is_answered( $postid ){
861
  $is_answered = WPF()->db->get_var( WPF()->db->prepare(
862
  " SELECT is_answer
863
+ FROM `".WPF()->tables->posts."`
864
  WHERE postid = %d
865
  ",
866
  intval($postid)
869
  }
870
 
871
  function is_approved( $postid ){
872
+ $post = WPF()->db->get_var( "SELECT `status` FROM ".WPF()->tables->posts." WHERE `postid` = " . intval($postid) );
873
  if( $post ) return FALSE;
874
  return TRUE;
875
  }
876
 
877
  function get_count( $args = array() ){
878
+ $sql = "SELECT COUNT(`postid`) FROM `".WPF()->tables->posts."`";
879
  if($args && is_array($args)){
880
  $wheres = array();
881
  foreach ($args as $key => $value) $wheres[] = "`$key` = '" . esc_sql($value) . "'";
885
  }
886
 
887
  function unapproved_count(){
888
+ return WPF()->db->get_var( "SELECT COUNT(*) FROM `".WPF()->tables->posts."` WHERE `status` = 1" );
889
  }
890
 
891
  function get_attachment_id( $filename ){
892
+ $attach_id = WPF()->db->get_var( "SELECT `post_id` FROM `".WPF()->db->postmeta."` WHERE `meta_key` = '_wp_attached_file' AND `meta_value` LIKE '%" . esc_sql($filename) . "' LIMIT 1");
893
  return $attach_id;
894
  }
895
 
903
  $filename = trim($attachment[1]);
904
  $file = $default_attachments_dir . $filename;
905
  if( file_exists($file) ){
906
+ $posts = WPF()->db->get_var( "SELECT COUNT(*) as posts FROM `".WPF()->tables->posts."` WHERE `body` LIKE '%" . esc_sql( $attachment[0] ) . "%'" );
907
  if( is_numeric($posts) && $posts == 1 ){
908
  $attachmentid = $this->get_attachment_id( '/' . $filename );
909
  if ( !wp_delete_attachment( $attachmentid ) ){
917
  }
918
 
919
  public function status( $postid, $status ){
920
+
921
+
922
+ if( !$postid = wpforo_bigintval($postid) ) return false;
923
  if( !$post = $this->get_post($postid) ) return false;
924
 
925
  if( $post['is_first_post'] ) return WPF()->topic->status($post['topicid'], $status);
926
 
927
  if( false !== WPF()->db->update(
928
+ WPF()->tables->posts,
929
  array( 'status' => intval($status) ),
930
  array( 'postid' => $postid ),
931
  array( '%d' ),
932
  array( '%d' )
933
  )){
934
  if($status) {
935
+ $this->last_post($post, 'remove');
936
+ } else {
937
  $this->last_post($post, 'add');
938
  }
939
+ do_action( 'wpforo_post_status_update', $postid, $status );
940
+ wpforo_clean_cache('post', $postid);
941
  WPF()->notice->add('Done!', 'success');
942
  return true;
943
  }
950
  if( !empty($post) && isset($post['postid']) && isset($post['topicid']) && isset($post['forumid']) && isset($post['userid']) && isset($post['created']) ){
951
  extract($post, EXTR_OVERWRITE);
952
  if( $action == 'add' ){
953
+ $answ_incr = '';
954
+ $layout = WPF()->forum->get_layout($post['forumid']);
955
+ if($layout == 3){
956
+ $answ_incr = ', `answers` = `answers` + 1 ';
957
+ }
958
+ WPF()->db->query( "UPDATE `".WPF()->tables->forums."` SET `last_topicid` = ". intval($topicid) .", `last_postid` = ". intval($postid) .", `last_post_date` = '".esc_sql($created)."', `last_userid` = " . intval($userid) . ", `posts` = `posts` + 1 WHERE `forumid` = " . intval($forumid) );
959
+ WPF()->db->query( "UPDATE `".WPF()->tables->topics."` SET `modified` = '" . esc_sql($created) . "', `last_post` = ". intval($postid) .", `posts` = `posts` + 1 $answ_incr WHERE `topicid` = " . intval($topicid) );
960
  }
961
  elseif($action == 'remove'){
962
  //rebuild forum and topic last post info, don't include unapproved and private posts.
963
  }
964
  }
965
  }
966
+
967
+ public function get_liked_posts( $args = array(), &$items_count ){
968
+
969
+ $default = array(
970
+ 'userid' => NULL,
971
+ 'order' => 'DESC',
972
+ 'offset' => NULL,
973
+ 'row_count' => NULL,
974
+ 'where' => NULL,
975
+ 'var' => NULL
976
+ );
977
+
978
+ $posts = array();
979
+ if(!wpfval($args, 'userid')) return array();
980
+ $args = wpforo_parse_args( $args, $default );
981
+ if(is_array($args) && !empty($args)){
982
+ extract($args, EXTR_OVERWRITE);
983
+ if( $row_count === 0 ) return array();
984
+ $items_count = WPF()->db->get_var("SELECT COUNT(*) FROM `".WPF()->tables->likes."` WHERE `userid` = " . intval($userid) );
985
+ $liked_posts = WPF()->db->get_col("SELECT `postid` FROM `".WPF()->tables->likes."` WHERE `userid` = " . intval($userid) ." ORDER BY `likeid` " . esc_sql($order) . " LIMIT " . intval($offset) . ", " . intval($row_count));
986
+ if(empty($liked_posts)){
987
+ $items_count = WPF()->db->get_var("SELECT COUNT(*) FROM `".WPF()->tables->votes."` WHERE `userid` = " . intval($userid) );
988
+ $liked_posts = WPF()->db->get_col("SELECT `postid` FROM `".WPF()->tables->votes."` WHERE `userid` = " . intval($userid) ." AND `reaction` = 1 ORDER BY `voteid` " . esc_sql($order) . " LIMIT " . intval($offset) . ", " . intval($row_count));
989
+ }
990
+ if(!empty($liked_posts)){
991
+ if($var == 'postid'){
992
+ return $liked_posts;
993
+ }
994
+ else{
995
+ $liked_posts = implode(',', $liked_posts);
996
+ $post_args = array( 'include' => $liked_posts, 'status' => 0, 'private' => 0 );
997
+ $posts = $this->get_posts( $post_args );
998
+ }
999
+ }
1000
+ }
1001
+ return $posts;
1002
+ }
1003
+
1004
+
1005
  }
wpf-includes/class-subscribes.php CHANGED
@@ -42,7 +42,7 @@ class wpForoSubscribe{
42
  'update' => '1',
43
  'user_mention_notify' => 1,
44
  'user_mention_email_subject' => "You have been mentioned in forum post",
45
- 'user_mention_email_message' => "Hi [mentioned-user-name]! \r\n You have been mentioned in a post on \"[topic-title]\" by [author-user-name].<br/><br/>\r\n\r\n Post URL: [post-url]"
46
  );
47
  }
48
 
@@ -59,13 +59,13 @@ class wpForoSubscribe{
59
  if( empty($args) && !empty($_REQUEST['sbscrb']) ) $args = $_REQUEST['sbscrb'];
60
  if( !isset($args['active']) || !$args['active'] ) $args['active'] = 0;
61
 
62
- extract( $args, EXTR_OVERWRITE );
63
- if( !isset($itemid) || !$itemid || !( (isset($userid) && $userid) || (isset($user_email) && $user_email) ) || !isset($type) || !$type ) return FALSE;
64
 
65
- if( !isset($confirmkey) || (isset($confirmkey) && !$confirmkey ) ) $confirmkey = $this->get_confirm_key();
66
 
67
  if(WPF()->db->insert(
68
- WPF()->db->prefix . 'wpforo_subscribes',
69
  array(
70
  'itemid' => wpforo_bigintval($itemid),
71
  'type' => sanitize_text_field($type),
@@ -105,12 +105,14 @@ class wpForoSubscribe{
105
  }
106
 
107
  if( WPF()->db->update(
108
- WPF()->db->prefix . 'wpforo_subscribes',
109
  array( 'active' => 1 ),
110
  array( 'confirmkey' => sanitize_text_field($confirmkey) ),
111
  array( '%d' ),
112
  array( '%s' )
113
  ) ){
 
 
114
  WPF()->notice->add('You have been successfully subscribed', 'success');
115
  return TRUE;
116
  }
@@ -118,6 +120,78 @@ class wpForoSubscribe{
118
  WPF()->notice->add('Your subscription for this item could not be confirmed', 'error');
119
  return FALSE;
120
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
 
122
  function delete( $confirmkey = '' ){
123
  if( !$confirmkey && isset($_REQUEST['confirmkey']) && $_REQUEST['confirmkey'] ) $confirmkey = $_REQUEST['confirmkey'];
@@ -125,7 +199,7 @@ class wpForoSubscribe{
125
  WPF()->notice->add('Invalid request!', 'error');
126
  return FALSE;
127
  }
128
- if( WPF()->db->delete( WPF()->db->prefix.'wpforo_subscribes', array( 'confirmkey' => sanitize_text_field($confirmkey) ), array( '%s' ) ) ){
129
  WPF()->notice->add('You have been successfully unsubscribed', 'success');
130
  return TRUE;
131
  }
@@ -157,7 +231,7 @@ class wpForoSubscribe{
157
  if( $cache && isset(self::$cache['subscribe'][$itemid][$UID][$type]) ){
158
  return self::$cache['subscribe'][$itemid][$UID][$type];
159
  }
160
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_subscribes` WHERE " . $where;
161
  $subscribe = WPF()->db->get_row($sql, ARRAY_A);
162
  if($cache && !empty($subscribe)){
163
  self::$cache['subscribe'][$itemid][$UID][$type] = $subscribe;
@@ -169,7 +243,7 @@ class wpForoSubscribe{
169
 
170
  $default = array(
171
  'itemid' => NULL,
172
- 'type' => '', // topic | forum
173
  'userid' => NULL, //
174
  'active' => 1,
175
  'orderby' => 'subid', // order by `field`
@@ -181,11 +255,11 @@ class wpForoSubscribe{
181
  $args = wpforo_parse_args( $args, $default );
182
  extract($args);
183
 
184
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_subscribes`";
185
  $wheres = array();
186
 
187
- if( $type ) $wheres[] = " `type` = '" . esc_sql(sanitize_text_field($type)) . "'";
188
- $wheres[] = " `active` = " . intval($active);
189
  if( !is_null($itemid) ) $wheres[] = " `itemid` = " . wpforo_bigintval($itemid);
190
  if( !is_null($userid) ) $wheres[] = " `userid` = " . wpforo_bigintval($userid);
191
 
@@ -223,5 +297,23 @@ class wpForoSubscribe{
223
  function get_unsubscribe_link($confirmkey){
224
  return wpforo_home_url( "?wpforo=unsbscrb&key=" . sanitize_text_field($confirmkey) );
225
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
 
227
  }
42
  'update' => '1',
43
  'user_mention_notify' => 1,
44
  'user_mention_email_subject' => "You have been mentioned in forum post",
45
+ 'user_mention_email_message' => "Hi [mentioned-user-name]! <br>\r\n\r\n You have been mentioned in a post on \"[topic-title]\" by [author-user-name].<br/><br/>\r\n\r\n Post URL: [post-url]"
46
  );
47
  }
48
 
59
  if( empty($args) && !empty($_REQUEST['sbscrb']) ) $args = $_REQUEST['sbscrb'];
60
  if( !isset($args['active']) || !$args['active'] ) $args['active'] = 0;
61
 
62
+ extract( $args );
63
+ if( !isset($itemid) || !( (isset($userid) && $userid) || (isset($user_email) && $user_email) ) || !isset($type) || !$type ) return FALSE;
64
 
65
+ if( empty($confirmkey) ) $confirmkey = $this->get_confirm_key();
66
 
67
  if(WPF()->db->insert(
68
+ WPF()->tables->subscribes,
69
  array(
70
  'itemid' => wpforo_bigintval($itemid),
71
  'type' => sanitize_text_field($type),
105
  }
106
 
107
  if( WPF()->db->update(
108
+ WPF()->tables->subscribes,
109
  array( 'active' => 1 ),
110
  array( 'confirmkey' => sanitize_text_field($confirmkey) ),
111
  array( '%d' ),
112
  array( '%s' )
113
  ) ){
114
+ if( $sbs = $this->get_subscribe($confirmkey) ) WPF()->member->edit_is_email_confirmed($sbs['userid'], 1);
115
+
116
  WPF()->notice->add('You have been successfully subscribed', 'success');
117
  return TRUE;
118
  }
120
  WPF()->notice->add('Your subscription for this item could not be confirmed', 'error');
121
  return FALSE;
122
  }
123
+
124
+ public function reset($data = array(), $all = '', $user = null){
125
+ if(!$user && !WPF()->current_userid && !WPF()->current_user_email) return false;
126
+ if (!$user) $user = ( WPF()->current_userid ? WPF()->current_userid : WPF()->current_user_email );
127
+ $data = array_filter( (array) $data );
128
+ $args = array(
129
+ 'itemid' => 0,
130
+ 'type' => '',
131
+ 'userid' => 0,
132
+ 'active' => ( wpforo_feature('subscribe_conf') ? 0 : 1 ),
133
+ 'user_name' => '',
134
+ 'user_email' => ''
135
+ );
136
+ if( is_numeric($user) ){
137
+ $args['userid'] = $user;
138
+ $where = WPF()->db->prepare("`userid` = %d", $user);
139
+ }else{
140
+ $args['user_email'] = $user;
141
+ $args['user_name'] = WPF()->current_user_display_name;
142
+ $where = WPF()->db->prepare("`user_email` = %s", $user);
143
+ }
144
+
145
+ if( $this->is_email_confirmed($user) ) $args['active'] = 1;
146
+
147
+ $types = array('forum', 'forum-topic');
148
+ if( !$all ) array_push($types, 'forums', 'forums-topics');
149
+ $sql = "DELETE FROM `".WPF()->tables->subscribes."` WHERE `type` IN('".implode("','", $types)."') AND " . $where;
150
+ if(!$all && $data){
151
+ $forumids = array_keys($data);
152
+ $sql .= " AND `itemid` NOT IN(".implode(',', $forumids).")";
153
+ }
154
+ WPF()->db->query($sql);
155
+
156
+ if(!$all && $data){
157
+ foreach ($data as $forumid => $type){
158
+ $sql = "SELECT `subid` FROM `".WPF()->tables->subscribes."` WHERE `type` IN('forum', 'forum-topic') AND `itemid` = %d AND " . $where;
159
+ $sql = WPF()->db->prepare($sql, $forumid);
160
+ if( $subid = WPF()->db->get_var($sql) ){
161
+ WPF()->db->update(
162
+ WPF()->tables->subscribes,
163
+ array('type' => sanitize_text_field($type), 'active' => $args['active']),
164
+ array('subid' => $subid),
165
+ array('%s', '%d'),
166
+ array('%d')
167
+ );
168
+ }else{
169
+ $args['itemid'] = intval($forumid);
170
+ $args['type'] = sanitize_text_field($type);
171
+ $this->add($args);
172
+ }
173
+ }
174
+ }
175
+
176
+ if ($all){
177
+ $sql = "SELECT `subid` FROM `".WPF()->tables->subscribes."` WHERE `type` IN('forums', 'forums-topics') AND `itemid` = 0 AND " . $where;
178
+ if( $subid = WPF()->db->get_var($sql) ){
179
+ WPF()->db->update(
180
+ WPF()->tables->subscribes,
181
+ array('type' => sanitize_text_field($all), 'active' => $args['active']),
182
+ array('subid' => $subid),
183
+ array('%s', '%d'),
184
+ array('%d')
185
+ );
186
+ }else{
187
+ $args['itemid'] = 0;
188
+ $args['type'] = sanitize_text_field($all);
189
+ $this->add($args);
190
+ }
191
+ }
192
+
193
+ return true;
194
+ }
195
 
196
  function delete( $confirmkey = '' ){
197
  if( !$confirmkey && isset($_REQUEST['confirmkey']) && $_REQUEST['confirmkey'] ) $confirmkey = $_REQUEST['confirmkey'];
199
  WPF()->notice->add('Invalid request!', 'error');
200
  return FALSE;
201
  }
202
+ if( WPF()->db->delete( WPF()->tables->subscribes, array( 'confirmkey' => sanitize_text_field($confirmkey) ), array( '%s' ) ) ){
203
  WPF()->notice->add('You have been successfully unsubscribed', 'success');
204
  return TRUE;
205
  }
231
  if( $cache && isset(self::$cache['subscribe'][$itemid][$UID][$type]) ){
232
  return self::$cache['subscribe'][$itemid][$UID][$type];
233
  }
234
+ $sql = "SELECT * FROM `".WPF()->tables->subscribes."` WHERE " . $where;
235
  $subscribe = WPF()->db->get_row($sql, ARRAY_A);
236
  if($cache && !empty($subscribe)){
237
  self::$cache['subscribe'][$itemid][$UID][$type] = $subscribe;
243
 
244
  $default = array(
245
  'itemid' => NULL,
246
+ 'type' => array(), // topic | forum
247
  'userid' => NULL, //
248
  'active' => 1,
249
  'orderby' => 'subid', // order by `field`
255
  $args = wpforo_parse_args( $args, $default );
256
  extract($args);
257
 
258
+ $sql = "SELECT * FROM `".WPF()->tables->subscribes."`";
259
  $wheres = array();
260
 
261
+ if( $type ) $wheres[] = " `type` IN( '" . implode("','", array_map('esc_sql', (array) $type ) ) . "')";
262
+ if( !is_null($active) ) $wheres[] = " `active` = " . intval($active);
263
  if( !is_null($itemid) ) $wheres[] = " `itemid` = " . wpforo_bigintval($itemid);
264
  if( !is_null($userid) ) $wheres[] = " `userid` = " . wpforo_bigintval($userid);
265
 
297
  function get_unsubscribe_link($confirmkey){
298
  return wpforo_home_url( "?wpforo=unsbscrb&key=" . sanitize_text_field($confirmkey) );
299
  }
300
+
301
+ public function is_email_confirmed($user = null){
302
+ if(!$user && !WPF()->current_userid && !WPF()->current_user_email) return false;
303
+ if (!$user) $user = ( WPF()->current_userid ? WPF()->current_userid : WPF()->current_user_email );
304
+
305
+ $sql = ( is_numeric($user) ? "`userid` = %d" : "`user_email` = %s" );
306
+ $where = WPF()->db->prepare($sql, $user);
307
+
308
+ if( WPF()->current_userid === $user && wpfval(WPF()->current_user, 'is_email_confirmed') ){
309
+ $has_confirmed = WPF()->current_user['is_email_confirmed'];
310
+ }elseif( is_numeric($user) ){
311
+ $has_confirmed = WPF()->member->get_is_email_confirmed(WPF()->current_userid);
312
+ }else{
313
+ $has_confirmed = WPF()->db->get_var( "SELECT `subid` FROM `".WPF()->tables->subscribes."` WHERE `active` = 1 AND " . $where );
314
+ }
315
+
316
+ return (bool) $has_confirmed;
317
+ }
318
 
319
  }
wpf-includes/class-template.php CHANGED
@@ -24,9 +24,11 @@ class wpForoTemplate{
24
 
25
  private function init_hooks(){
26
  if( is_wpforo_page() ){
27
- add_filter("mce_external_plugins", array(&$this, 'add_tinymce_buttons'), 15);
28
- add_filter("tiny_mce_plugins", array(&$this, 'filter_tinymce_plugins'), 15);
29
- add_filter("wp_mce_translation", array(&$this, 'add_tinymce_translations'));
 
 
30
 
31
  //ajax actions hooks
32
  add_action('wp_ajax_wpforo_active_tab_content_ajax', array($this, 'ajx_active_tab_content'));
@@ -164,7 +166,9 @@ class wpForoTemplate{
164
  <?php if( wpforo_feature('subscribe_checkbox_on_post_editor') ) : ?>
165
  <div class="wpf-topic-sbs"><input id="wpf-topic-sbs" type="checkbox" name="wpforo_topic_subs" value="1" <?php echo ( wpforo_feature('subscribe_checkbox_default_status') ) ? 'checked="true" ' : ''; ?>/>&nbsp;<label for="wpf-topic-sbs"><?php wpforo_phrase('Subscribe to this topic') ?></label></div>
166
  <?php endif; ?>
 
167
  <input id="wpf_formbutton" type="submit" name="topic[save]" class="button button-primary forum_submit" value="<?php wpforo_phrase('Add Topic') ?>">
 
168
  <div class="wpf-clear"></div>
169
  </form>
170
  </div>
@@ -285,8 +289,10 @@ class wpForoTemplate{
285
  <div class="wpf-topic-sbs"><input id="wpf-topic-sbs" type="checkbox" name="wpforo_topic_subs" value="1" <?php echo ( wpforo_feature('subscribe_checkbox_default_status') ) ? 'checked="true" ' : ''; ?> />&nbsp;<label for="wpf-topic-sbs"><?php wpforo_phrase('Subscribe to this topic') ?></label></div>
286
  <?php endif;
287
  endif; ?>
288
- <input id="wpf_formbutton" type="submit" name="post[save]" class="button button-primary forum_submit" value="<?php wpforo_phrase('Add Reply') ?>">
289
- <div class="wpf-clear"></div>
 
 
290
  </form>
291
  </div>
292
  </div>
@@ -340,7 +346,6 @@ class wpForoTemplate{
340
  <?php
341
  }
342
 
343
-
344
  private function reply_move_form(){
345
  if( !$posts = WPF()->post->get_posts( array('topicid' => WPF()->current_object['topicid']) ) ) return;
346
  if( count($posts) < 2 ) return;
@@ -522,8 +527,6 @@ class wpForoTemplate{
522
  function likers($postid){
523
  if(!$postid) return '';
524
 
525
- $post = wpforo_post($postid);
526
-
527
  $l_count = wpforo_post($postid, 'likes_count');
528
  $l_usernames = wpforo_post($postid, 'likers_usernames');
529
  $return = '';
@@ -689,7 +692,8 @@ class wpForoTemplate{
689
  if( WPF()->perm->forum_can( ($is_topic ? 'et' : 'er'), $forumid ) ||
690
  ( WPF()->current_userid == $post['userid']
691
  && WPF()->perm->forum_can( ($is_topic ? 'eot' : 'eor' ), $forumid )
692
- && $diff < WPF()->post->options[($is_topic ? 'eot' : 'eor' ).'_durr']
 
693
  )
694
  ) {
695
  $a = ( $is_topic ) ? 'wpfedittopicpid' : '';
@@ -705,7 +709,13 @@ class wpForoTemplate{
705
  }
706
  else{
707
  $diff = current_time( 'timestamp', 1 ) - strtotime($post['created']);
708
- if( WPF()->perm->forum_can( ($is_topic ? 'dt' : 'dr' ), $forumid ) || (WPF()->current_userid == $post['userid'] && WPF()->perm->forum_can( ($is_topic ? 'dot' : 'dor' ), $forumid ) && $diff < WPF()->post->options[($is_topic ? 'dot' : 'dor' ).'_durr']) ){
 
 
 
 
 
 
709
  $a = ( $is_topic ) ? 'wpftopicdelete' : 'wpfreplydelete';
710
  $b = ( $is_topic ) ? $topicid : $postid;
711
  $button_html[] = '<span id="'. esc_attr( $a . $b ) .'" class="wpf-action wpforo-delete"><i class="fas fa-times wpfsx"></i>' . wpforo_phrase('Delete', false).'</span>';
@@ -1238,27 +1248,33 @@ class wpForoTemplate{
1238
  );
1239
 
1240
  if( is_user_logged_in() ){
1241
-
 
 
 
 
 
 
1242
  WPF()->menu['wpforo-profile-home'] = array(
1243
- 'href' => WPF()->member->get_profile_url(WPF()->current_userid),
1244
  'label' => wpforo_phrase('my profile', FALSE),
1245
  'attr' => ( isset(WPF()->member_tpls[$template]) && WPF()->member_tpls[$template] && WPF()->current_object['user_is_same_current_user'] ? ' class="wpforo-active"' : '' ),
1246
  'submenues' => array()
1247
  );
1248
  WPF()->menu['wpforo-profile-account'] = array(
1249
- 'href' => WPF()->member->get_profile_url(WPF()->current_userid, 'account'),
1250
  'label' => wpforo_phrase('account', FALSE),
1251
  'attr' => ( $template == 'account' && WPF()->current_object['user_is_same_current_user'] ? ' class="wpforo-active"' : '' ),
1252
  'submenues' => array()
1253
  );
1254
  WPF()->menu['wpforo-profile-activity'] = array(
1255
- 'href' => WPF()->member->get_profile_url(WPF()->current_userid, 'activity'),
1256
  'label' => wpforo_phrase('activity', FALSE),
1257
  'attr' => ( $template == 'activity' && WPF()->current_object['user_is_same_current_user'] ? ' class="wpforo-active"' : '' ),
1258
  'submenues' => array()
1259
  );
1260
  WPF()->menu['wpforo-profile-subscriptions'] = array(
1261
- 'href' => WPF()->member->get_profile_url(WPF()->current_userid, 'subscriptions'),
1262
  'label' => wpforo_phrase('subscriptions', FALSE),
1263
  'attr' => ( $template == 'subscriptions' && WPF()->current_object['user_is_same_current_user'] ? ' class="wpforo-active"' : '' ),
1264
  'submenues' => array()
@@ -1678,7 +1694,7 @@ class wpForoTemplate{
1678
  if( $template == 'account' ){
1679
  $isRequired = 0;
1680
  $args['label'] = wpforo_phrase('Old password', false); $args['description'] = '';
1681
- $password_html = '<input '. $isRequired .' type="password" name="' . esc_attr($varname) . '[old_pass]" value="" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isDisabled . ' '.$attributes.' placeholder="' . esc_attr( wpforo_phrase('Old password', false) ) . '"/><i class="fas fa-eye-slash wpf-show-password"></i>';
1682
  $field_html .= ( $wrap ) ? $this->field_wrap( $args, $password_html ) : $password_html;
1683
  }
1684
  if( $template == 'register' && wpforo_feature('user-register-email-confirm') ){
@@ -1687,12 +1703,12 @@ class wpForoTemplate{
1687
  else{
1688
  if( $isConfirmPassword ) { $p1 = '1'; $p2 = '2'; } else{ $p1 = ''; $p2 = ''; } $fieldName = ( !empty($varname) ? $varname . '[' . $name . $p1 . ']' : $name . $p1 );
1689
  if( $template == 'account' ) { $label = wpforo_phrase('New', false) . ' ' . $label; } $args['label'] = $label; $args['description'] = $description;
1690
- $password_html = '<input '. $isRequired .' type="password" name="' . esc_attr($fieldName) . '" value="" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isDisabled . ' '.$attributes.' ' . trim($minmax) . ' placeholder="' . esc_attr($placeholder) . '"/><i class="fas fa-eye-slash wpf-show-password"></i>';
1691
  $field_html .= ( $wrap ) ? $this->field_wrap( $args, $password_html ) : $password_html;
1692
  if( $isConfirmPassword ){
1693
  $args['label'] = wpforo_phrase('Confirm Password', false); $args['description'] = '';
1694
  $fieldName = ( !empty($varname) ? $varname . '[' . $name . $p2 . ']' : $name . $p2 );
1695
- $password_html = '<input '. $isRequired .' type="password" name="' . esc_attr($fieldName) . '" value="" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isDisabled . ' ' . $attributes . ' ' . trim($minmax) . ' placeholder="' . esc_attr($placeholder) . '"/><i class="fas fa-eye-slash wpf-show-password"></i>';
1696
  $field_html .= ( $wrap ) ? $this->field_wrap( $args, $password_html ) : $password_html;
1697
  }
1698
  }
@@ -1778,7 +1794,7 @@ class wpForoTemplate{
1778
 
1779
  $isMultiChoice = $isMultiChoice ? 'multiple="multiple"' : '';
1780
  $field_html = '<select '. $isRequired .' name="' . esc_attr($fieldName) . '" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isMultiChoice . ' ' . $isDisabled . ' '.$attributes.'>';
1781
- if(!$isRequired) $field_html .= '<option value="">' . wpforo_phrase('--- Choose ---', false) . '</option>';
1782
  if( !empty($values) ){
1783
  foreach ($values as $k => $v) {
1784
  if( is_array($v) ){
@@ -1787,8 +1803,8 @@ class wpForoTemplate{
1787
  $data = explode('=>', $_v);
1788
  $item_value = isset($data[0]) ? $data[0] : 'no_value';
1789
  $item_label = isset($data[1]) ? $data[1] : $item_value;
1790
- $value = stripslashes(htmlspecialchars($value));
1791
- $item_value = stripslashes(htmlspecialchars($item_value));
1792
  $selected = ( $item_value == $value ) ? 'selected="selected"' : '';
1793
  $field_html .= '<option value="' . esc_attr($item_value) . '" ' . $selected . '>' . stripslashes($item_label) . '</option>';
1794
  }
@@ -1797,8 +1813,8 @@ class wpForoTemplate{
1797
  $data = explode('=>', $v);
1798
  $item_value = isset($data[0]) ? $data[0] : 'no_value';
1799
  $item_label = isset($data[1]) ? $data[1] : $item_value;
1800
- $value = stripslashes(htmlspecialchars($value));
1801
- $item_value = stripslashes(htmlspecialchars($item_value));
1802
  $selected = ( $item_value == $value ) ? 'selected="selected"' : '';
1803
  $field_html .= '<option value="' . esc_attr($item_value) . '" ' . $selected . '>' . stripslashes($item_label) . '</option>';
1804
  }
@@ -1820,7 +1836,7 @@ class wpForoTemplate{
1820
  $groupids = array_filter($groupids);
1821
  if( $groupids ){
1822
  $field_html = '<select ' . $isRequired . ' name="' . esc_attr($fieldName) . '" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isDisabled . ' ' . $attributes . '>';
1823
- if (!$isRequired) $field_html .= '<option value="">' . wpforo_phrase('--- Choose ---', false) . '</option>';
1824
  foreach ($groupids as $groupid) {
1825
  if ( $group = WPF()->usergroup->get_usergroup($groupid) ) {
1826
  $selected = ($groupid == $value) ? 'selected="selected"' : '';
@@ -1831,9 +1847,10 @@ class wpForoTemplate{
1831
  }
1832
  }
1833
  elseif( $type == 'avatar' ){
1834
- $field_html = '<ul>
 
1835
  <li><input ' . $isRequired . ' name="' . esc_attr($varname) . '[avatar_type]" id="wpfat_gravatar" value="gravatar" ' . ( $value == '' || $value == NULL ? 'checked="checked"' : '' ) . ' type="radio" />&nbsp; <label for="wpfat_gravatar">' . wpforo_phrase('Wordpress avatar system', false) . '</label></li>
1836
- <li><input name="' . esc_attr($varname) . '[avatar_type]" id="wpfat_remote" value="remote" ' . ( $value && strpos($value, 'wpforo/avatars') === FALSE ? 'checked="checked"' : '' ) . ' type="radio" />&nbsp; <label for="wpfat_remote">' . wpforo_phrase('Specify avatar by URL:', false) . '</label> <input autocomplete="off" name="' . esc_attr($varname) . '[avatar_url]" value="" maxlength="300" data-wpfucf-minmaxlength="1,300" type="url" /></li>';
1837
  if( WPF()->perm->usergroup_can('upa') ) {
1838
  if( strpos($value, 'gravatar.com') === FALSE && strpos($value, 'facebook.com') === FALSE ){
1839
  $url = $value . '?lm=' . time();
@@ -1861,8 +1878,14 @@ class wpForoTemplate{
1861
 
1862
 
1863
  public function field_wrap( $args, $field_html ){
1864
- if( !is_array($args) || empty($args) ) return $field_html; extract( $args ); $field_wrap_html = ''; $is_owner = false; $rIcon = '';
1865
- if( isset(WPF()->current_object['user']['ID']) ) { $is_owner = wpforo_is_owner( WPF()->current_object['user']['ID'] ); }
 
 
 
 
 
 
1866
  $field_name_class = sanitize_text_field($name);
1867
  if( $isRequired ) $rIcon = ' <span class="wpf-field-required-icon" title="' . esc_attr(wpforo_phrase('Required field', false)) . '">*</span>';
1868
  $field_required_class = ( $isRequired ) ? 'wpf-field-required' : '';
@@ -1885,106 +1908,127 @@ class wpForoTemplate{
1885
  }
1886
  $field_wrap_html .= '<div class="wpf-field-cl"></div></div>';
1887
  }
1888
- elseif( $template == 'account' ){
1889
- if( WPF()->current_user_groupid !== 1 && (!$isEditable && $is_owner) ){
1890
- $canEdit = ( !empty($canEdit) ) ? (array) $canEdit : array(1);
1891
- if( !in_array( WPF()->current_user_groupid, $canEdit) && $name != 'user_login' ) return;
1892
- if( $type == 'avatar' && (!WPF()->perm->usergroup_can('va') || !wpforo_feature('custom-avatars') || !wpforo_feature('avatars'))) return;
1893
- if( $name == 'signature' && (!WPF()->perm->usergroup_can('ups') || !wpforo_feature('signature'))) return;
1894
- if( $name == 'user_login' ){ $description = ''; $faIcon = ''; $field_html = '<span class="wpf-username">' . $value . '</span>'; }
1895
- if( !$isEditable && $name != 'user_login' ){
1896
- $description = '';
1897
- $field_html = '<span class="wpf-filed-value"><i class="' . esc_attr($faIcon) . '"></i> ' . $value . '</span>' . $field_html;
1898
- $faIcon = '';
1899
- }
1900
- }
1901
-
1902
- $field_wrap_html .= '<div class="wpf-field wpf-field-type-' . esc_attr($type) . ' wpf-field-name-' . esc_attr($field_name_class) . ' ' . esc_attr($field_required_class) . '" title="' . esc_attr($title) . '">';
1903
- if( $type == 'html' ){
1904
- $field_wrap_html .= $field_html;
1905
- }
1906
- else{
1907
- if ( $label || $description ) {
1908
- $field_wrap_html .= '<div class="wpf-label-wrap">';
1909
- if ($label){ $field_wrap_html .= '<p class="wpf-label wpfcl-1">' . stripslashes($label) . $rIcon . '</p>'; }
1910
- if ($description){ $field_wrap_html .= '<div class="wpf-desc wpfcl-2">' . $description . '</div>'; }
1911
- $field_wrap_html .= '</div>';
1912
- }
1913
- $field_wrap_html .= '<div class="wpf-field-wrap">';
1914
- if($faIcon){ $field_wrap_html .= '<i class="' . esc_attr($faIcon) . ' wpf-field-icon"></i>'; }
1915
- $field_wrap_html .= $field_html;
1916
 
1917
- switch ($type){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1918
  case 'file':
1919
  if( !empty($value) ) {
1920
  $wp_upload_dir = wp_upload_dir();
1921
  $value = $wp_upload_dir['baseurl'] . "/" . trim($value, '/');
1922
  $field_wrap_html .= '<br/>' . sprintf('<a href="%s" target="_blank">%s</a>', $value, basename($value));
1923
  }
1924
- break;
1925
  }
 
 
1926
 
1927
- $field_wrap_html .= '</div>';
1928
- }
1929
  $field_wrap_html .= '<div class="wpf-field-cl"></div></div>';
1930
  }
1931
  elseif( $template == 'profile' ){
1932
  if( !$is_owner && !in_array( WPF()->current_user_groupid, $canView ) ){ return ''; }
1933
  if( $type != 'html' && (!isset($value) || (!is_numeric($value) && empty($value))) ){ return ''; }
 
 
1934
  if( $type == 'textarea' ) $value = wpautop(wpforo_kses(stripslashes($value)));
1935
  $field_wrap_html .= '<div class="wpf-field wpf-field-type-' . esc_attr($type) . ' wpf-field-name-' . esc_attr($field_name_class) . ' ' . esc_attr($field_required_class) . '" title="' . esc_attr($title) . '">';
1936
- if( $type == 'html' ){
1937
- $field_wrap_html .= $field_html;
1938
- }
1939
- else{
1940
- if( !$faIcon ) { $faIcon = 'fas fa-address-card'; }
1941
- if( $label ) { $field_wrap_html .= '<div class="wpf-label-wrap">'; if ($label){ $field_wrap_html .= '<p class="wpf-label wpfcl-1"><i class="' . esc_attr($faIcon) . ' wpf-field-icon"></i> ' . stripslashes($label) . '</p>'; } $field_wrap_html .= '</div>';}
1942
- if( isset($value) && !empty($value) ){
1943
- if( is_array($value) ){
1944
- $field_wrap_html .= esc_html(implode( ', ', $value));
1945
- }
1946
- else{
1947
- switch ($args['type']){
1948
- case 'url':
1949
- $value = sprintf('<a href="%s" target="_blank" rel="nofollow">%s</a>', $value, $value);
1950
- break;
1951
- case 'email':
1952
- $value = sprintf('<a href="mailto:%s" rel="nofollow">%s</a>', $value, $value);
1953
- break;
1954
- case 'phone':
1955
- $value = sprintf('<a href="tel:%s" rel="nofollow">%s</a>', $value, $value);
1956
- break;
1957
- case 'file':
1958
- if( !empty($value) ){
1959
- $wp_upload_dir = wp_upload_dir();
1960
- $value = $wp_upload_dir['baseurl'] . "/" . trim($value, '/');
1961
- $value = sprintf('<a href="%s" target="_blank">%s</a>', $value, basename($value));
1962
- }
1963
- break;
1964
  }
1965
-
1966
- switch ($args['name']){
1967
- case 'skype':
1968
- $value = sprintf('<a href="skype:%s?userinfo" rel="nofollow">%s</a>', $value, $value);
1969
- break;
1970
- case 'location':
1971
- $value = sprintf('<a href="//maps.google.com/?q=%s" target="_blank" rel="nofollow">%s</a>', $value, $value);
1972
- break;
1973
- case 'signature':
1974
- $value = wpforo_signature( $value, array('echo' => 0) );
1975
- break;
1976
- case 'about':
1977
- $value = wpforo_nofollow_tag( $value );
1978
- break;
1979
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1980
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1981
 
1982
- $field_wrap_html .= '<div class="wpf-field-wrap">';
1983
- $field_wrap_html .= $value;
1984
- $field_wrap_html .= '</div>';
1985
- }
1986
- }
1987
- }
 
1988
  $field_wrap_html .= '<div class="wpf-field-cl"></div></div>';
1989
  }
1990
  elseif( $template == 'members' ){
@@ -2087,4 +2131,17 @@ class wpForoTemplate{
2087
  echo 0;
2088
  exit();
2089
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
2090
  }
24
 
25
  private function init_hooks(){
26
  if( is_wpforo_page() ){
27
+ add_filter("mce_external_plugins", array($this, 'add_tinymce_buttons'), 15);
28
+ add_filter("tiny_mce_plugins", array($this, 'filter_tinymce_plugins'), 15);
29
+ add_filter("wp_mce_translation", array($this, 'add_tinymce_translations'));
30
+
31
+ add_action('wp_footer', array($this, 'add_footer_html'), 999999, 0);
32
 
33
  //ajax actions hooks
34
  add_action('wp_ajax_wpforo_active_tab_content_ajax', array($this, 'ajx_active_tab_content'));
166
  <?php if( wpforo_feature('subscribe_checkbox_on_post_editor') ) : ?>
167
  <div class="wpf-topic-sbs"><input id="wpf-topic-sbs" type="checkbox" name="wpforo_topic_subs" value="1" <?php echo ( wpforo_feature('subscribe_checkbox_default_status') ) ? 'checked="true" ' : ''; ?>/>&nbsp;<label for="wpf-topic-sbs"><?php wpforo_phrase('Subscribe to this topic') ?></label></div>
168
  <?php endif; ?>
169
+ <?php do_action('wpforo_editor_topic_submit_before', $forumid) ?>
170
  <input id="wpf_formbutton" type="submit" name="topic[save]" class="button button-primary forum_submit" value="<?php wpforo_phrase('Add Topic') ?>">
171
+ <?php do_action('wpforo_editor_topic_submit_after', $forumid) ?>
172
  <div class="wpf-clear"></div>
173
  </form>
174
  </div>
289
  <div class="wpf-topic-sbs"><input id="wpf-topic-sbs" type="checkbox" name="wpforo_topic_subs" value="1" <?php echo ( wpforo_feature('subscribe_checkbox_default_status') ) ? 'checked="true" ' : ''; ?> />&nbsp;<label for="wpf-topic-sbs"><?php wpforo_phrase('Subscribe to this topic') ?></label></div>
290
  <?php endif;
291
  endif; ?>
292
+ <?php do_action('wpforo_editor_post_submit_before', $args) ?>
293
+ <input id="wpf_formbutton" type="submit" name="post[save]" class="button button-primary forum_submit" value="<?php wpforo_phrase('Add Reply') ?>">
294
+ <?php do_action('wpforo_editor_post_submit_after', $args) ?>
295
+ <div class="wpf-clear"></div>
296
  </form>
297
  </div>
298
  </div>
346
  <?php
347
  }
348
 
 
349
  private function reply_move_form(){
350
  if( !$posts = WPF()->post->get_posts( array('topicid' => WPF()->current_object['topicid']) ) ) return;
351
  if( count($posts) < 2 ) return;
527
  function likers($postid){
528
  if(!$postid) return '';
529
 
 
 
530
  $l_count = wpforo_post($postid, 'likes_count');
531
  $l_usernames = wpforo_post($postid, 'likers_usernames');
532
  $return = '';
692
  if( WPF()->perm->forum_can( ($is_topic ? 'et' : 'er'), $forumid ) ||
693
  ( WPF()->current_userid == $post['userid']
694
  && WPF()->perm->forum_can( ($is_topic ? 'eot' : 'eor' ), $forumid )
695
+ && ( WPF()->post->options[($is_topic ? 'eot' : 'eor' ).'_durr'] == 0 ||
696
+ $diff < WPF()->post->options[($is_topic ? 'eot' : 'eor' ).'_durr'])
697
  )
698
  ) {
699
  $a = ( $is_topic ) ? 'wpfedittopicpid' : '';
709
  }
710
  else{
711
  $diff = current_time( 'timestamp', 1 ) - strtotime($post['created']);
712
+ if( WPF()->perm->forum_can( ($is_topic ? 'dt' : 'dr' ), $forumid ) ||
713
+ (WPF()->current_userid == $post['userid'] &&
714
+ WPF()->perm->forum_can( ($is_topic ? 'dot' : 'dor' ), $forumid ) &&
715
+ ( WPF()->post->options[($is_topic ? 'dot' : 'dor' ).'_durr'] == 0 ||
716
+ $diff < WPF()->post->options[($is_topic ? 'dot' : 'dor' ).'_durr'])
717
+ )
718
+ ){
719
  $a = ( $is_topic ) ? 'wpftopicdelete' : 'wpfreplydelete';
720
  $b = ( $is_topic ) ? $topicid : $postid;
721
  $button_html[] = '<span id="'. esc_attr( $a . $b ) .'" class="wpf-action wpforo-delete"><i class="fas fa-times wpfsx"></i>' . wpforo_phrase('Delete', false).'</span>';
1248
  );
1249
 
1250
  if( is_user_logged_in() ){
1251
+
1252
+ $member_id = WPF()->current_userid;
1253
+ $url_profile = WPF()->member->get_profile_url($member_id, 'profile');
1254
+ $url_account = WPF()->member->get_profile_url($member_id, 'account');
1255
+ $url_activity = WPF()->member->get_profile_url($member_id, 'activity');
1256
+ $url_subscriptions = WPF()->member->get_profile_url($member_id, 'subscriptions');
1257
+
1258
  WPF()->menu['wpforo-profile-home'] = array(
1259
+ 'href' => $url_profile,
1260
  'label' => wpforo_phrase('my profile', FALSE),
1261
  'attr' => ( isset(WPF()->member_tpls[$template]) && WPF()->member_tpls[$template] && WPF()->current_object['user_is_same_current_user'] ? ' class="wpforo-active"' : '' ),
1262
  'submenues' => array()
1263
  );
1264
  WPF()->menu['wpforo-profile-account'] = array(
1265
+ 'href' => $url_account,
1266
  'label' => wpforo_phrase('account', FALSE),
1267
  'attr' => ( $template == 'account' && WPF()->current_object['user_is_same_current_user'] ? ' class="wpforo-active"' : '' ),
1268
  'submenues' => array()
1269
  );
1270
  WPF()->menu['wpforo-profile-activity'] = array(
1271
+ 'href' => $url_activity,
1272
  'label' => wpforo_phrase('activity', FALSE),
1273
  'attr' => ( $template == 'activity' && WPF()->current_object['user_is_same_current_user'] ? ' class="wpforo-active"' : '' ),
1274
  'submenues' => array()
1275
  );
1276
  WPF()->menu['wpforo-profile-subscriptions'] = array(
1277
+ 'href' => $url_subscriptions,
1278
  'label' => wpforo_phrase('subscriptions', FALSE),
1279
  'attr' => ( $template == 'subscriptions' && WPF()->current_object['user_is_same_current_user'] ? ' class="wpforo-active"' : '' ),
1280
  'submenues' => array()
1694
  if( $template == 'account' ){
1695
  $isRequired = 0;
1696
  $args['label'] = wpforo_phrase('Old password', false); $args['description'] = '';
1697
+ $password_html = '<input type="password" name="' . esc_attr($varname) . '[old_pass]" value="" id="' . esc_attr($fieldId) . '-old" class="' . esc_attr($class) . '" ' . $isDisabled . ' '.$attributes.' placeholder="' . esc_attr( wpforo_phrase('Old password', false) ) . '"/><i class="fas fa-eye-slash wpf-show-password"></i>';
1698
  $field_html .= ( $wrap ) ? $this->field_wrap( $args, $password_html ) : $password_html;
1699
  }
1700
  if( $template == 'register' && wpforo_feature('user-register-email-confirm') ){
1703
  else{
1704
  if( $isConfirmPassword ) { $p1 = '1'; $p2 = '2'; } else{ $p1 = ''; $p2 = ''; } $fieldName = ( !empty($varname) ? $varname . '[' . $name . $p1 . ']' : $name . $p1 );
1705
  if( $template == 'account' ) { $label = wpforo_phrase('New', false) . ' ' . $label; } $args['label'] = $label; $args['description'] = $description;
1706
+ $password_html = '<input type="password" name="' . esc_attr($fieldName) . '" value="" id="' . esc_attr($fieldId) . '-new1" class="' . esc_attr($class) . '" ' . $isDisabled . ' '.$attributes.' ' . trim($minmax) . ' placeholder="' . esc_attr($placeholder) . '"/><i class="fas fa-eye-slash wpf-show-password"></i>';
1707
  $field_html .= ( $wrap ) ? $this->field_wrap( $args, $password_html ) : $password_html;
1708
  if( $isConfirmPassword ){
1709
  $args['label'] = wpforo_phrase('Confirm Password', false); $args['description'] = '';
1710
  $fieldName = ( !empty($varname) ? $varname . '[' . $name . $p2 . ']' : $name . $p2 );
1711
+ $password_html = '<input type="password" name="' . esc_attr($fieldName) . '" value="" id="' . esc_attr($fieldId) . '-new2" class="' . esc_attr($class) . '" ' . $isDisabled . ' ' . $attributes . ' ' . trim($minmax) . ' placeholder="' . esc_attr($placeholder) . '"/><i class="fas fa-eye-slash wpf-show-password"></i>';
1712
  $field_html .= ( $wrap ) ? $this->field_wrap( $args, $password_html ) : $password_html;
1713
  }
1714
  }
1794
 
1795
  $isMultiChoice = $isMultiChoice ? 'multiple="multiple"' : '';
1796
  $field_html = '<select '. $isRequired .' name="' . esc_attr($fieldName) . '" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isMultiChoice . ' ' . $isDisabled . ' '.$attributes.'>';
1797
+ $field_html .= '<option value="">' . wpforo_phrase('--- Choose ---', false) . '</option>';
1798
  if( !empty($values) ){
1799
  foreach ($values as $k => $v) {
1800
  if( is_array($v) ){
1803
  $data = explode('=>', $_v);
1804
  $item_value = isset($data[0]) ? $data[0] : 'no_value';
1805
  $item_label = isset($data[1]) ? $data[1] : $item_value;
1806
+ $value = stripslashes(htmlspecialchars(trim($value)));
1807
+ $item_value = stripslashes(htmlspecialchars(trim($item_value)));
1808
  $selected = ( $item_value == $value ) ? 'selected="selected"' : '';
1809
  $field_html .= '<option value="' . esc_attr($item_value) . '" ' . $selected . '>' . stripslashes($item_label) . '</option>';
1810
  }
1813
  $data = explode('=>', $v);
1814
  $item_value = isset($data[0]) ? $data[0] : 'no_value';
1815
  $item_label = isset($data[1]) ? $data[1] : $item_value;
1816
+ $value = stripslashes(htmlspecialchars(trim($value)));
1817
+ $item_value = stripslashes(htmlspecialchars(trim($item_value)));
1818
  $selected = ( $item_value == $value ) ? 'selected="selected"' : '';
1819
  $field_html .= '<option value="' . esc_attr($item_value) . '" ' . $selected . '>' . stripslashes($item_label) . '</option>';
1820
  }
1836
  $groupids = array_filter($groupids);
1837
  if( $groupids ){
1838
  $field_html = '<select ' . $isRequired . ' name="' . esc_attr($fieldName) . '" id="' . esc_attr($fieldId) . '" class="' . esc_attr($class) . '" ' . $isDisabled . ' ' . $attributes . '>';
1839
+ $field_html .= '<option value="">' . wpforo_phrase('--- Choose ---', false) . '</option>';
1840
  foreach ($groupids as $groupid) {
1841
  if ( $group = WPF()->usergroup->get_usergroup($groupid) ) {
1842
  $selected = ($groupid == $value) ? 'selected="selected"' : '';
1847
  }
1848
  }
1849
  elseif( $type == 'avatar' ){
1850
+ $remote_url = ( $value && strpos($value, 'wpforo/avatars') === FALSE ) ? $value : '';
1851
+ $field_html = '<ul>
1852
  <li><input ' . $isRequired . ' name="' . esc_attr($varname) . '[avatar_type]" id="wpfat_gravatar" value="gravatar" ' . ( $value == '' || $value == NULL ? 'checked="checked"' : '' ) . ' type="radio" />&nbsp; <label for="wpfat_gravatar">' . wpforo_phrase('Wordpress avatar system', false) . '</label></li>
1853
+ <li><input name="' . esc_attr($varname) . '[avatar_type]" id="wpfat_remote" value="remote" ' . ( $value && strpos($value, 'wpforo/avatars') === FALSE ? 'checked="checked"' : '' ) . ' type="radio" />&nbsp; <label for="wpfat_remote">' . wpforo_phrase('Specify avatar by URL:', false) . '</label> <input autocomplete="off" name="' . esc_attr($varname) . '[avatar_url]" value="' . esc_url($remote_url) . '" maxlength="300" data-wpfucf-minmaxlength="1,300" type="url" /></li>';
1854
  if( WPF()->perm->usergroup_can('upa') ) {
1855
  if( strpos($value, 'gravatar.com') === FALSE && strpos($value, 'facebook.com') === FALSE ){
1856
  $url = $value . '?lm=' . time();
1878
 
1879
 
1880
  public function field_wrap( $args, $field_html ){
1881
+ if( !is_array($args) || empty($args) ) return $field_html;
1882
+ extract( $args );
1883
+ $field_wrap_html = '';
1884
+ $is_owner = false;
1885
+ $rIcon = '';
1886
+ if( isset(WPF()->current_object['user']['ID']) ) {
1887
+ $is_owner = wpforo_is_owner( WPF()->current_object['user']['ID'] );
1888
+ }
1889
  $field_name_class = sanitize_text_field($name);
1890
  if( $isRequired ) $rIcon = ' <span class="wpf-field-required-icon" title="' . esc_attr(wpforo_phrase('Required field', false)) . '">*</span>';
1891
  $field_required_class = ( $isRequired ) ? 'wpf-field-required' : '';
1908
  }
1909
  $field_wrap_html .= '<div class="wpf-field-cl"></div></div>';
1910
  }
1911
+ elseif( $template == 'account' ){
1912
+
1913
+ $canEdit = ( !empty($canEdit) ) ? (array)$canEdit : array(1);
1914
+ $current_user_can_moderate = ( in_array( WPF()->current_user_groupid, $canEdit) ) ? true : false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1915
 
1916
+ if( !$is_owner && !$current_user_can_moderate && WPF()->current_user_groupid !== 1) return;
1917
+ if( !$isEditable && !$current_user_can_moderate && WPF()->current_user_groupid !== 1 && !$value) return;
1918
+ if( $name == 'signature' && ( !WPF()->perm->usergroup_can('ups') || !wpforo_feature('signature'))) return;
1919
+ if( $name == 'avatar' && ( !wpforo_feature('custom-avatars') || !wpforo_feature('avatars') ) ) return;
1920
+ if( $name == 'groupid' && WPF()->current_user_groupid !== 1 ) return;
1921
+
1922
+ $field_wrap_html .= '<div class="wpf-field wpf-field-type-' . esc_attr($type) . ' wpf-field-name-' . esc_attr($field_name_class) . ' ' . esc_attr($field_required_class) . '" title="' . esc_attr($title) . '">';
1923
+
1924
+ if( $type == 'html' ){
1925
+ $field_wrap_html .= $field_html;
1926
+ }
1927
+ elseif($name == 'user_login'){
1928
+ $field_wrap_html .= '<div class="wpf-label-wrap">';
1929
+ $field_wrap_html .= '<p class="wpf-label wpfcl-1">' . stripslashes($label) . '</p>';
1930
+ $field_wrap_html .= '</div>';
1931
+ $field_wrap_html .= '<div class="wpf-field-wrap">';
1932
+ $field_wrap_html .= '<span class="wpf-username">' . $value . '</span>';
1933
+ $field_wrap_html .= '</div>';
1934
+ }
1935
+ elseif( !$isEditable && !$current_user_can_moderate && WPF()->current_user_groupid !== 1 ){
1936
+ $field_wrap_html .= '<div class="wpf-label-wrap">';
1937
+ $field_wrap_html .= '<p class="wpf-label wpfcl-1">' . stripslashes($label) . '</p>';
1938
+ $field_wrap_html .= '</div>';
1939
+ $field_wrap_html .= '<div class="wpf-field-wrap">';
1940
+ $field_wrap_html .= '<span class="wpf-filed-value"><i class="' . esc_attr($faIcon) . '"></i> ' . $value . '</span>';
1941
+ $field_wrap_html .= '</div>';
1942
+ }
1943
+ else{
1944
+ if ( $label || $description ) {
1945
+ $field_wrap_html .= '<div class="wpf-label-wrap">';
1946
+ if ($label){ $field_wrap_html .= '<p class="wpf-label wpfcl-1">' . stripslashes($label) . $rIcon . '</p>'; }
1947
+ if ($description){ $field_wrap_html .= '<div class="wpf-desc wpfcl-2">' . $description . '</div>'; }
1948
+ $field_wrap_html .= '</div>';
1949
+ }
1950
+ $field_wrap_html .= '<div class="wpf-field-wrap">';
1951
+ if($faIcon){ $field_wrap_html .= '<i class="' . esc_attr($faIcon) . ' wpf-field-icon"></i>'; }
1952
+ $field_wrap_html .= $field_html;
1953
+ switch ($type){
1954
  case 'file':
1955
  if( !empty($value) ) {
1956
  $wp_upload_dir = wp_upload_dir();
1957
  $value = $wp_upload_dir['baseurl'] . "/" . trim($value, '/');
1958
  $field_wrap_html .= '<br/>' . sprintf('<a href="%s" target="_blank">%s</a>', $value, basename($value));
1959
  }
1960
+ break;
1961
  }
1962
+ $field_wrap_html .= '</div>';
1963
+ }
1964
 
 
 
1965
  $field_wrap_html .= '<div class="wpf-field-cl"></div></div>';
1966
  }
1967
  elseif( $template == 'profile' ){
1968
  if( !$is_owner && !in_array( WPF()->current_user_groupid, $canView ) ){ return ''; }
1969
  if( $type != 'html' && (!isset($value) || (!is_numeric($value) && empty($value))) ){ return ''; }
1970
+ if(is_string($value)) $value = trim($value);
1971
+ if(is_array($value)) $value = array_map('trim', $value);
1972
  if( $type == 'textarea' ) $value = wpautop(wpforo_kses(stripslashes($value)));
1973
  $field_wrap_html .= '<div class="wpf-field wpf-field-type-' . esc_attr($type) . ' wpf-field-name-' . esc_attr($field_name_class) . ' ' . esc_attr($field_required_class) . '" title="' . esc_attr($title) . '">';
1974
+ if( $type == 'html' ){
1975
+ $field_wrap_html .= $field_html;
1976
+ }
1977
+ else{
1978
+ if( !$faIcon ) { $faIcon = 'fas fa-address-card'; }
1979
+ if( $label ) {
1980
+ $field_wrap_html .= '<div class="wpf-label-wrap">';
1981
+ if ($label){
1982
+ $field_wrap_html .= '<p class="wpf-label wpfcl-1"><i class="' . esc_attr($faIcon) . ' wpf-field-icon"></i> ' . stripslashes($label) . '</p>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1983
  }
1984
+ $field_wrap_html .= '</div>';
1985
+ }
1986
+ if( isset($value) && !empty($value) ){
1987
+ if( is_array($value) ){
1988
+ $field_wrap_html .= esc_html(implode( ', ', $value));
 
 
 
 
 
 
 
 
 
1989
  }
1990
+ else{
1991
+ switch ($args['type']){
1992
+ case 'url':
1993
+ $value = sprintf('<a href="%s" target="_blank" rel="nofollow">%s</a>', $value, $value);
1994
+ break;
1995
+ case 'email':
1996
+ $value = sprintf('<a href="mailto:%s" rel="nofollow">%s</a>', $value, $value);
1997
+ break;
1998
+ case 'phone':
1999
+ $value = sprintf('<a href="tel:%s" rel="nofollow">%s</a>', $value, $value);
2000
+ break;
2001
+ case 'file':
2002
+ if( !empty($value) ){
2003
+ $wp_upload_dir = wp_upload_dir();
2004
+ $value = $wp_upload_dir['baseurl'] . "/" . trim($value, '/');
2005
+ $value = sprintf('<a href="%s" target="_blank">%s</a>', $value, basename($value));
2006
+ }
2007
+ break;
2008
+ }
2009
 
2010
+ switch ($args['name']){
2011
+ case 'skype':
2012
+ $value = sprintf('<a href="skype:%s?userinfo" rel="nofollow">%s</a>', $value, $value);
2013
+ break;
2014
+ case 'location':
2015
+ $value = sprintf('<a href="//maps.google.com/?q=%s" target="_blank" rel="nofollow">%s</a>', $value, $value);
2016
+ break;
2017
+ case 'signature':
2018
+ $value = wpforo_signature( $value, array('echo' => 0) );
2019
+ break;
2020
+ case 'about':
2021
+ $value = wpforo_nofollow_tag( $value );
2022
+ break;
2023
+ }
2024
 
2025
+
2026
+ $field_wrap_html .= '<div class="wpf-field-wrap">';
2027
+ $field_wrap_html .= $value;
2028
+ $field_wrap_html .= '</div>';
2029
+ }
2030
+ }
2031
+ }
2032
  $field_wrap_html .= '<div class="wpf-field-cl"></div></div>';
2033
  }
2034
  elseif( $template == 'members' ){
2131
  echo 0;
2132
  exit();
2133
  }
2134
+
2135
+ public function add_footer_html(){
2136
+ ?>
2137
+ <div id="wpforo-load" class="wpforo-load">
2138
+ <i class="fas fa-3x fa-spinner fa-spin"></i>&nbsp;&nbsp;<br/>
2139
+ <span class="loadtext"><?php wpforo_phrase('Working') ?></span>
2140
+ </div>
2141
+
2142
+ <div id="wpf-msg-box">
2143
+ <p><?php echo sprintf( wpforo_phrase('Please %s or %s', FALSE), '<a href="' . wpforo_login_url() . '">'.wpforo_phrase('Login', FALSE).'</a>', '<a href="' . wpforo_register_url() . '">'.wpforo_phrase('Register', FALSE).'</a>' ) ?></p>
2144
+ </div>
2145
+ <?php
2146
+ }
2147
  }
wpf-includes/class-topics.php CHANGED
@@ -14,7 +14,7 @@ class wpForoTopic{
14
  private function unique_slug($slug){
15
  $new_slug = wpforo_text($slug, 250, false);
16
  $i = 2;
17
- while( WPF()->db->get_var("SELECT `topicid` FROM ".WPF()->db->prefix."wpforo_topics WHERE `slug` = '" . esc_sql($new_slug) . "'") ){
18
  $new_slug = wpforo_text($slug, 250, false) . '-' . $i;
19
  $i++;
20
  }
@@ -87,12 +87,13 @@ class wpForoTopic{
87
  $meta_key = (isset($meta_key) ? $meta_key : '');
88
  $meta_desc = (isset($meta_desc) ? $meta_desc : '');
89
  $has_attach = ( isset($has_attach) && $has_attach ) ? 1 : ((strpos($body, '[attach]') !== FALSE) ? 1 : 0);
90
-
 
91
  do_action( 'wpforo_before_add_topic', $args );
92
 
93
  if(
94
  WPF()->db->insert(
95
- WPF()->db->prefix . 'wpforo_topics',
96
  array(
97
  'title' => stripslashes($title),
98
  'slug' => $slug,
@@ -105,7 +106,7 @@ class wpForoTopic{
105
  'modified' => $created,
106
  'last_post' => 0,
107
  'views' => 0,
108
- 'posts' => 1,
109
  'meta_key' => $meta_key,
110
  'meta_desc' => $meta_desc,
111
  'has_attach'=> $has_attach,
@@ -118,7 +119,7 @@ class wpForoTopic{
118
  $topicid = WPF()->db->insert_id;
119
  if(
120
  WPF()->db->insert(
121
- WPF()->db->prefix . 'wpforo_posts',
122
  array(
123
  'forumid' => $forumid,
124
  'topicid' => $topicid,
@@ -138,7 +139,7 @@ class wpForoTopic{
138
  ){
139
  $first_postid = WPF()->db->insert_id;
140
  if( FALSE !== WPF()->db->update(
141
- WPF()->db->prefix . 'wpforo_topics',
142
  array( 'first_postid' => $first_postid, 'last_post' => $first_postid ),
143
  array( 'topicid' => $topicid ),
144
  array( '%d', '%d' ),
@@ -149,7 +150,7 @@ class wpForoTopic{
149
  $forum = WPF()->forum->get_forum($forumid);
150
  if( isset($forum['cat_layout']) && $forum['cat_layout'] == 3 ) $questions = ', `questions` = `questions` + 1 ';
151
 
152
- WPF()->db->query( "UPDATE " . WPF()->db->prefix . "wpforo_profiles SET `posts` = `posts` + 1 $questions WHERE `userid` = " . intval($userid) );
153
 
154
  $args['topicid'] = $topicid;
155
  $args['first_postid'] = $first_postid;
@@ -251,11 +252,19 @@ class wpForoTopic{
251
  if(isset($body)) $body = preg_replace('#</pre>[\r\n\t\s\0]*<pre>#isu', "\r\n", $body);
252
 
253
  $diff = current_time( 'timestamp', 1 ) - strtotime($topic['created']);
254
- if( !(WPF()->perm->forum_can('et', $topic['forumid']) || (WPF()->current_userid == $topic['userid'] && WPF()->perm->forum_can('eot', $topic['forumid']) && $diff < WPF()->post->options['eot_durr'])) ){
 
 
255
  WPF()->notice->add('You have no permission to edit this topic', 'error');
256
  return FALSE;
257
  }
258
-
 
 
 
 
 
 
259
 
260
  $title = ( isset($title) ? stripslashes($title) : stripslashes($topic['title']) );
261
  $type = ( isset($type) ? $type : intval($topic['type']) );
@@ -266,7 +275,7 @@ class wpForoTopic{
266
  $email = ( isset($email) ? stripslashes($email) : stripslashes($topic['email']) );
267
 
268
  $t_update = WPF()->db->update(
269
- WPF()->db->prefix."wpforo_topics",
270
  array(
271
  'title' => $title,
272
  'type' => $type,
@@ -295,7 +304,7 @@ class wpForoTopic{
295
  $body = ( (isset($body) && $body) ? stripslashes($body) : stripslashes($post['body']) );
296
 
297
  $p_update = WPF()->db->update(
298
- WPF()->db->prefix."wpforo_posts",
299
  array(
300
  'title' => $title,
301
  'body' => $body,
@@ -326,7 +335,7 @@ class wpForoTopic{
326
  private function users_stats_incr_minus($topicid){
327
  $topicid = intval($topicid);
328
  $sql = "SELECT `userid`, IF(`parentid` = 0, 'answers', 'comments') AS `type`, COUNT(*) AS `quantity`
329
- FROM `".WPF()->db->prefix."wpforo_posts`
330
  WHERE `is_first_post` != 1 AND `topicid` IN( $topicid )
331
  GROUP BY `userid`, `parentid` = 0
332
  ORDER BY `userid`, `type`";
@@ -338,7 +347,7 @@ class wpForoTopic{
338
 
339
  if( $prev_userid != $users_incr_stat['userid'] && $prev_userid != 0 ){
340
  if( !empty($sets) ){
341
- $sql = "UPDATE IGNORE `".WPF()->db->prefix."wpforo_profiles` SET ".implode(', ', $sets)." WHERE `userid` = " . intval($prev_userid);
342
  WPF()->db->query($sql);
343
  }
344
  $prev_userid = $users_incr_stat['userid'];
@@ -351,7 +360,7 @@ class wpForoTopic{
351
  }
352
 
353
  if( !empty($sets) ){
354
- $sql = "UPDATE IGNORE `".WPF()->db->prefix."wpforo_profiles` SET ".implode(', ', $sets)." WHERE `userid` = " . intval($users_incr_stat['userid']);
355
  WPF()->db->query($sql);
356
  }
357
  }
@@ -379,10 +388,19 @@ class wpForoTopic{
379
  do_action( 'wpforo_before_delete_topic', $topic );
380
 
381
  $diff = current_time( 'timestamp', 1 ) - strtotime($topic['created']);
382
- if( !(WPF()->perm->forum_can('dt', $topic['forumid']) || (WPF()->current_userid == $topic['userid'] && WPF()->perm->forum_can('dot', $topic['forumid']) && $diff < WPF()->post->options['dot_durr'])) ){
383
- WPF()->notice->add('You don\'t have permission to delete topic from this forum', 'error');
 
 
384
  return FALSE;
385
  }
 
 
 
 
 
 
 
386
 
387
  if( $forumid = $topic['forumid'] ){
388
 
@@ -396,7 +414,7 @@ class wpForoTopic{
396
  // START delete topic posts include first post
397
  if( $postids = WPF()->db->get_col(
398
  WPF()->db->prepare(
399
- "SELECT `postid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE `topicid` = %d ORDER BY `is_first_post`",
400
  $topicid
401
  )
402
  )){
@@ -410,9 +428,9 @@ class wpForoTopic{
410
  }
411
  // END delete topic posts include first post
412
 
413
- if( WPF()->db->delete(WPF()->db->prefix . 'wpforo_topics', array('topicid' => $topicid)) ){
414
  WPF()->db->delete(
415
- WPF()->db->prefix.'wpforo_views', array( 'topicid' => $topicid ), array( '%d' )
416
  );
417
  $last_topic = $this->get_topics( array('forumid' => intval($forumid), 'orderby' => 'modified', 'order' => 'DESC', 'row_count' => 1, 'status' => 0, 'private' => 0) );
418
  if(is_array($last_topic) && !empty($last_topic)){
@@ -431,7 +449,7 @@ class wpForoTopic{
431
  }
432
 
433
  if(WPF()->db->query(
434
- "UPDATE IGNORE " . WPF()->db->prefix . "wpforo_forums
435
  SET
436
  `last_topicid` = " . intval($last_topic['topicid']) . ",
437
  `last_postid` = " . intval($last_topic['last_post']) . ",
@@ -442,7 +460,7 @@ class wpForoTopic{
442
  )
443
  ){
444
  if($questions) WPF()->db->query(
445
- "UPDATE IGNORE `" . WPF()->db->prefix . "wpforo_profiles`
446
  SET $questions
447
  WHERE `userid` = " . intval($topic['userid'])
448
  );
@@ -515,7 +533,7 @@ class wpForoTopic{
515
  if(!empty($args)){
516
  extract($args, EXTR_OVERWRITE);
517
 
518
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_topics`";
519
  $wheres = array();
520
  if($topicid != NULL) $wheres[] = "`topicid` = " . intval($topicid);
521
  if($slug != '') $wheres[] = "`slug` = '" . esc_sql($slug) . "'";
@@ -599,7 +617,7 @@ class wpForoTopic{
599
 
600
  $guest = array();
601
  $wheres = array();
602
- $table_as_prefix = '`'.WPF()->db->prefix.'wpforo_topics`.';
603
 
604
  if(!empty($include)) $wheres[] = "`topicid` IN(" . implode(', ', array_map('intval', $include)) . ")";
605
  if(!empty($exclude)) $wheres[] = "`topicid` NOT IN(" . implode(', ', array_map('intval', $exclude)) . ")";
@@ -657,7 +675,7 @@ class wpForoTopic{
657
  if( !is_null($pollid) ) $wheres[] = " `pollid` <> 0";
658
  }
659
 
660
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_topics`";
661
  if(!empty($wheres)){
662
  $sql .= " WHERE " . implode($wheres, " AND ");
663
  }
@@ -756,9 +774,9 @@ class wpForoTopic{
756
  $topicids = array();
757
  foreach($fields as $field){
758
  if($field == 'body'){
759
- $matches = WPF()->db->get_col( "SELECT `topicid` FROM ".WPF()->db->prefix."wpforo_posts WHERE `".esc_sql($field)."` LIKE '%". esc_sql(sanitize_text_field($needle)) ."%'" );
760
  }else{
761
- $matches = WPF()->db->get_col( "SELECT `topicid` FROM ".WPF()->db->prefix."wpforo_topics WHERE `".esc_sql($field)."`LIKE '%". esc_sql(sanitize_text_field($needle)) ."%'" );
762
  }
763
  $topicids = array_merge( $topicids, $matches );
764
  }
@@ -770,19 +788,19 @@ class wpForoTopic{
770
  }
771
 
772
  function get_sum_answer($forumids){
773
- $sum = WPF()->db->get_var("SELECT SUM(`answers`) FROM `".WPF()->db->prefix."wpforo_topics` WHERE `forumid` IN(". implode(', ', array_map('intval', $forumids)) .")");
774
  if($sum) return $sum;
775
  return 0;
776
  }
777
 
778
  function get_forumslug($forumid){
779
- $slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->db->prefix."wpforo_forums WHERE `forumid` = " . intval($forumid));
780
  if($slug) return $slug;
781
  return 0;
782
  }
783
 
784
  function get_forumslug_byid($topicid){
785
- $slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->db->prefix."wpforo_forums WHERE `forumid` =(SELECT forumid FROM `".WPF()->db->prefix."wpforo_topics` WHERE `topicid` =".intval($topicid).")");
786
  if($slug) return $slug;
787
  return 0;
788
  }
@@ -792,7 +810,7 @@ class wpForoTopic{
792
  $type = wpforo_topic($topicid, 'type');
793
  }
794
  else{
795
- $type = WPF()->db->get_var( "SELECT `type` FROM " . WPF()->db->prefix."wpforo_topics WHERE `topicid` = " . intval($topicid) );
796
  }
797
  if( $type == 1 ) return TRUE;
798
  return FALSE;
@@ -803,7 +821,7 @@ class wpForoTopic{
803
  $private = wpforo_topic($topicid, 'private');
804
  }
805
  else{
806
- $private = WPF()->db->get_var( "SELECT `private` FROM " . WPF()->db->prefix."wpforo_topics WHERE `topicid` = " . intval($topicid) );
807
  }
808
  if( $private == 1 ) return TRUE;
809
  return FALSE;
@@ -814,7 +832,7 @@ class wpForoTopic{
814
  $status = wpforo_topic($topicid, 'status');
815
  }
816
  else{
817
- $status = WPF()->db->get_var( "SELECT `status` FROM " . WPF()->db->prefix."wpforo_topics WHERE `topicid` = " . intval($topicid) );
818
  }
819
  if( $status == 1 ) return TRUE;
820
  return FALSE;
@@ -825,14 +843,14 @@ class wpForoTopic{
825
  $type = wpforo_topic($topicid, 'closed');
826
  }
827
  else{
828
- $type = WPF()->db->get_var( "SELECT `closed` FROM " . WPF()->db->prefix."wpforo_topics WHERE `topicid` = " . intval($topicid) );
829
  }
830
  if( $type == 1 ) return TRUE;
831
  return FALSE;
832
  }
833
 
834
  function is_solved( $topicid ){
835
- $postid = WPF()->db->get_var( "SELECT `postid` FROM " . WPF()->db->prefix."wpforo_posts WHERE `is_answer` = 1 AND `topicid` = " . intval($topicid) . " LIMIT 1" );
836
  if( $postid ) return TRUE;
837
  return FALSE;
838
  }
@@ -849,12 +867,12 @@ class wpForoTopic{
849
  */
850
  function move($topicid, $forumid){
851
  $topic = $this->get_topic( $topicid );
852
- if( WPF()->db->query( "UPDATE `".WPF()->db->prefix."wpforo_topics` SET `forumid` = ". intval($forumid) ." WHERE `topicid` = ". intval($topicid) ) ){
853
- WPF()->db->query( "UPDATE `".WPF()->db->prefix."wpforo_posts` SET `forumid` = ". intval($forumid) ." WHERE `topicid` = ". intval($topicid) );
854
  $post = WPF()->post->get_post($topic['last_post']);
855
 
856
- WPF()->db->query( "UPDATE `".WPF()->db->prefix."wpforo_forums` SET `topics` = `topics` - 1, `posts` = `posts` - ".intval($topic['posts'])." WHERE `forumid` = ".intval($topic['forumid']) );
857
- WPF()->db->query( "UPDATE `".WPF()->db->prefix."wpforo_forums` SET `topics` = `topics` + 1, `posts` = `posts` + ".intval($topic['posts']).", `last_topicid` = ".intval($topicid).", `last_postid` = ".intval($topic['last_post']).", `last_userid` = ".intval($post['userid']).", `last_post_date` = '". esc_sql($post['created']) ."' WHERE `forumid` = ". intval($forumid) );
858
 
859
  WPF()->forum->rebuild_last_infos($topic['forumid']);
860
 
@@ -883,7 +901,7 @@ class wpForoTopic{
883
  public function merge( $current = array(), $target, $postids = array(), $to_target_title = 0, $append = 0 ){
884
  if( !$current ) $current = WPF()->current_object['topic'];
885
 
886
- $sql = "UPDATE `".WPF()->db->prefix."wpforo_posts` SET `topicid` = %d, `forumid` = %d, `is_first_post` = 0";
887
  $sql = WPF()->db->prepare($sql, $target['topicid'], $target['forumid']);
888
 
889
  if($append){
@@ -912,7 +930,7 @@ class wpForoTopic{
912
  $db_resp = WPF()->db->query($sql);
913
 
914
  if( $db_resp !== false ){
915
- $sql = "SELECT COUNT(`postid`) FROM `".WPF()->db->prefix."wpforo_posts` WHERE `topicid` = %d";
916
  $sql = WPF()->db->prepare($sql, $current['topicid']);
917
  if( !WPF()->db->get_var($sql) ){
918
  $this->delete($current['topicid']);
@@ -991,7 +1009,7 @@ class wpForoTopic{
991
 
992
  if(
993
  WPF()->db->insert(
994
- WPF()->db->prefix . 'wpforo_topics',
995
  array(
996
  'title' => stripslashes($title),
997
  'slug' => $slug,
@@ -1061,7 +1079,7 @@ class wpForoTopic{
1061
 
1062
 
1063
  function get_count( $args = array() ){
1064
- $sql = "SELECT COUNT(`topicid`) FROM `".WPF()->db->prefix."wpforo_topics`";
1065
  if( !empty($args) ){
1066
  $wheres = array();
1067
  foreach ($args as $key => $value) $wheres[] = "`$key` = " . intval($value);
@@ -1074,24 +1092,26 @@ class wpForoTopic{
1074
  if( !$topicid = wpforo_bigintval($topicid) ) return false;
1075
 
1076
  if( false !== WPF()->db->update(
1077
- WPF()->db->prefix."wpforo_topics",
1078
  array( 'status' => intval($status) ),
1079
  array( 'topicid' => $topicid ),
1080
  array( '%d' ),
1081
  array( '%d' )
1082
  )){
1083
  if( false !== WPF()->db->update(
1084
- WPF()->db->prefix."wpforo_posts",
1085
  array( 'status' => intval($status) ),
1086
  array( 'topicid' => $topicid ),
1087
  array( '%d' ),
1088
  array( '%d' )
1089
  )){
1090
  if($status) {
1091
- $this->last_topic($post, 'remove');
1092
  } else {
1093
- $this->last_topic($post, 'add');
1094
  }
 
 
1095
  WPF()->notice->add('Done!', 'success');
1096
  return true;
1097
  }
@@ -1111,30 +1131,15 @@ class wpForoTopic{
1111
  }
1112
  }
1113
 
1114
- public function rebuild_stats($topic){
1115
  if(!$topic) return false;
1116
  if(is_numeric($topic)) $topic = $this->get_topic($topic);
1117
  if( !is_array($topic) || !$topic ) return false;
1118
-
1119
- $posts = WPF()->post->get_count( array('topicid' => $topic['topicid']) );
1120
-
1121
- $data = array('posts' => $posts);
1122
- $data_format = array('%d');
1123
-
1124
  $layout = WPF()->forum->get_layout($topic['forumid']);
1125
- if($layout == 3){
1126
- $data['answers'] = $posts - 1;
1127
- $data_format[] = '%d';
1128
- }
1129
-
1130
- if( false !== WPF()->db->update(
1131
- WPF()->db->prefix . "wpforo_topics",
1132
- $data,
1133
- array('topicid' => $topic['topicid']),
1134
- $data_format,
1135
- array('%d')
1136
- ) ) {
1137
- wpforo_clean_cache('topicid', $topic['topicid'], $topic);
1138
  return true;
1139
  }
1140
  return false;
@@ -1145,20 +1150,19 @@ class wpForoTopic{
1145
  if(is_numeric($topic)) $topic = $this->get_topic($topic);
1146
  if( !is_array($topic) || !$topic ) return false;
1147
 
1148
-
1149
- $sql = "SELECT `postid` FROM `". WPF()->db->prefix ."wpforo_posts` WHERE `topicid` = %d ORDER BY `is_first_post` DESC, `created` ASC, `postid` ASC LIMIT 1";
1150
  if( $first_postid = WPF()->db->get_var( WPF()->db->prepare($sql, $topic['topicid']) ) ){
1151
- $sql = "UPDATE `". WPF()->db->prefix ."wpforo_posts` SET `is_first_post` = 1 WHERE `postid` = %d";
1152
  WPF()->db->query( WPF()->db->prepare($sql, $first_postid) );
1153
  }else{
1154
  $first_postid = 0;
1155
  }
1156
 
1157
- $sql = "SELECT `postid`, `created` FROM `". WPF()->db->prefix ."wpforo_posts` WHERE `topicid` = %d ORDER BY `is_first_post` ASC, `created` DESC, `postid` DESC LIMIT 1";
1158
  if( !$last_post = WPF()->db->get_row( WPF()->db->prepare($sql, $topic['topicid']), ARRAY_A ) ) $last_post = array( 'postid' => 0, 'created' => $topic['modified']);
1159
 
1160
  if( false !== WPF()->db->update(
1161
- WPF()->db->prefix . "wpforo_topics",
1162
  array('first_postid' => $first_postid, 'last_post' => $last_post['postid'], 'modified' => $last_post['created']),
1163
  array('topicid' => $topic['topicid']),
1164
  array('%d','%d','%s'),
@@ -1171,15 +1175,39 @@ class wpForoTopic{
1171
  }
1172
 
1173
  public function last_topic($topic, $action = 'add'){
1174
- if( !empty($topic) && isset($topic['first_postid']) && isset($topic['topicid']) && isset($topic['forumid']) && isset($topic['userid']) && isset($topic['created']) ){
 
 
 
1175
  extract($topic, EXTR_OVERWRITE);
1176
  if( $action == 'add' ){
1177
- WPF()->db->query( "UPDATE " . WPF()->db->prefix . "wpforo_forums SET `last_post_date` = '" . esc_sql($created). "', `last_userid` = " . intval($userid). ", `last_topicid` = " . intval($topicid) . ", `last_postid` = " . intval($first_postid) . ", `topics` = `topics` + 1 , `posts` = `posts` + 1 WHERE `forumid` = " . intval($forumid) );
1178
  }
1179
  elseif($action == 'remove'){
1180
  //rebuild forum last topic info, don't include unapproved and private topics.
1181
  }
1182
  }
1183
  }
1184
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1185
  }
14
  private function unique_slug($slug){
15
  $new_slug = wpforo_text($slug, 250, false);
16
  $i = 2;
17
+ while( WPF()->db->get_var("SELECT `topicid` FROM ".WPF()->tables->topics." WHERE `slug` = '" . esc_sql($new_slug) . "'") ){
18
  $new_slug = wpforo_text($slug, 250, false) . '-' . $i;
19
  $i++;
20
  }
87
  $meta_key = (isset($meta_key) ? $meta_key : '');
88
  $meta_desc = (isset($meta_desc) ? $meta_desc : '');
89
  $has_attach = ( isset($has_attach) && $has_attach ) ? 1 : ((strpos($body, '[attach]') !== FALSE) ? 1 : 0);
90
+ $layout = WPF()->forum->get_layout( $forumid );
91
+ $posts = ( $layout == 3 ) ? 0 : 1;
92
  do_action( 'wpforo_before_add_topic', $args );
93
 
94
  if(
95
  WPF()->db->insert(
96
+ WPF()->tables->topics,
97
  array(
98
  'title' => stripslashes($title),
99
  'slug' => $slug,
106
  'modified' => $created,
107
  'last_post' => 0,
108
  'views' => 0,
109
+ 'posts' => $posts,
110
  'meta_key' => $meta_key,
111
  'meta_desc' => $meta_desc,
112
  'has_attach'=> $has_attach,
119
  $topicid = WPF()->db->insert_id;
120
  if(
121
  WPF()->db->insert(
122
+ WPF()->tables->posts,
123
  array(
124
  'forumid' => $forumid,
125
  'topicid' => $topicid,
139
  ){
140
  $first_postid = WPF()->db->insert_id;
141
  if( FALSE !== WPF()->db->update(
142
+ WPF()->tables->topics,
143
  array( 'first_postid' => $first_postid, 'last_post' => $first_postid ),
144
  array( 'topicid' => $topicid ),
145
  array( '%d', '%d' ),
150
  $forum = WPF()->forum->get_forum($forumid);
151
  if( isset($forum['cat_layout']) && $forum['cat_layout'] == 3 ) $questions = ', `questions` = `questions` + 1 ';
152
 
153
+ WPF()->db->query( "UPDATE ".WPF()->tables->profiles." SET `posts` = `posts` + 1 $questions WHERE `userid` = " . intval($userid) );
154
 
155
  $args['topicid'] = $topicid;
156
  $args['first_postid'] = $first_postid;
252
  if(isset($body)) $body = preg_replace('#</pre>[\r\n\t\s\0]*<pre>#isu', "\r\n", $body);
253
 
254
  $diff = current_time( 'timestamp', 1 ) - strtotime($topic['created']);
255
+ if( !(WPF()->perm->forum_can('et', $topic['forumid']) ||
256
+ (WPF()->current_userid == $topic['userid'] &&
257
+ WPF()->perm->forum_can('eot', $topic['forumid']) )) ){
258
  WPF()->notice->add('You have no permission to edit this topic', 'error');
259
  return FALSE;
260
  }
261
+
262
+ if( !WPF()->perm->forum_can('et', $topic['forumid']) &&
263
+ WPF()->post->options['eot_durr'] !== 0 &&
264
+ $diff > WPF()->post->options['eot_durr'] ){
265
+ WPF()->notice->add('The time to edit this topic is expired', 'error');
266
+ return FALSE;
267
+ }
268
 
269
  $title = ( isset($title) ? stripslashes($title) : stripslashes($topic['title']) );
270
  $type = ( isset($type) ? $type : intval($topic['type']) );
275
  $email = ( isset($email) ? stripslashes($email) : stripslashes($topic['email']) );
276
 
277
  $t_update = WPF()->db->update(
278
+ WPF()->tables->topics,
279
  array(
280
  'title' => $title,
281
  'type' => $type,
304
  $body = ( (isset($body) && $body) ? stripslashes($body) : stripslashes($post['body']) );
305
 
306
  $p_update = WPF()->db->update(
307
+ WPF()->tables->posts,
308
  array(
309
  'title' => $title,
310
  'body' => $body,
335
  private function users_stats_incr_minus($topicid){
336
  $topicid = intval($topicid);
337
  $sql = "SELECT `userid`, IF(`parentid` = 0, 'answers', 'comments') AS `type`, COUNT(*) AS `quantity`
338
+ FROM `".WPF()->tables->posts."`
339
  WHERE `is_first_post` != 1 AND `topicid` IN( $topicid )
340
  GROUP BY `userid`, `parentid` = 0
341
  ORDER BY `userid`, `type`";
347
 
348
  if( $prev_userid != $users_incr_stat['userid'] && $prev_userid != 0 ){
349
  if( !empty($sets) ){
350
+ $sql = "UPDATE IGNORE `".WPF()->tables->profiles."` SET ".implode(', ', $sets)." WHERE `userid` = " . intval($prev_userid);
351
  WPF()->db->query($sql);
352
  }
353
  $prev_userid = $users_incr_stat['userid'];
360
  }
361
 
362
  if( !empty($sets) ){
363
+ $sql = "UPDATE IGNORE `".WPF()->tables->profiles."` SET ".implode(', ', $sets)." WHERE `userid` = " . intval($users_incr_stat['userid']);
364
  WPF()->db->query($sql);
365
  }
366
  }
388
  do_action( 'wpforo_before_delete_topic', $topic );
389
 
390
  $diff = current_time( 'timestamp', 1 ) - strtotime($topic['created']);
391
+ if( !(WPF()->perm->forum_can('dt', $topic['forumid']) ||
392
+ (WPF()->current_userid == $topic['userid'] &&
393
+ WPF()->perm->forum_can('dot', $topic['forumid']) )) ){
394
+ WPF()->notice->add('You don\'t have permission to delete topic from this forum.', 'error');
395
  return FALSE;
396
  }
397
+
398
+ if( !WPF()->perm->forum_can('dt', $topic['forumid']) &&
399
+ WPF()->post->options['dot_durr'] !== 0 &&
400
+ $diff > WPF()->post->options['dot_durr'] ){
401
+ WPF()->notice->add('The time to delete this topic is expired.', 'error');
402
+ return FALSE;
403
+ }
404
 
405
  if( $forumid = $topic['forumid'] ){
406
 
414
  // START delete topic posts include first post
415
  if( $postids = WPF()->db->get_col(
416
  WPF()->db->prepare(
417
+ "SELECT `postid` FROM `".WPF()->tables->posts."` WHERE `topicid` = %d ORDER BY `is_first_post`",
418
  $topicid
419
  )
420
  )){
428
  }
429
  // END delete topic posts include first post
430
 
431
+ if( WPF()->db->delete(WPF()->tables->topics, array('topicid' => $topicid)) ){
432
  WPF()->db->delete(
433
+ WPF()->tables->views, array( 'topicid' => $topicid ), array( '%d' )
434
  );
435
  $last_topic = $this->get_topics( array('forumid' => intval($forumid), 'orderby' => 'modified', 'order' => 'DESC', 'row_count' => 1, 'status' => 0, 'private' => 0) );
436
  if(is_array($last_topic) && !empty($last_topic)){
449
  }
450
 
451
  if(WPF()->db->query(
452
+ "UPDATE IGNORE ".WPF()->tables->forums."
453
  SET
454
  `last_topicid` = " . intval($last_topic['topicid']) . ",
455
  `last_postid` = " . intval($last_topic['last_post']) . ",
460
  )
461
  ){
462
  if($questions) WPF()->db->query(
463
+ "UPDATE IGNORE `".WPF()->tables->profiles."`
464
  SET $questions
465
  WHERE `userid` = " . intval($topic['userid'])
466
  );
533
  if(!empty($args)){
534
  extract($args, EXTR_OVERWRITE);
535
 
536
+ $sql = "SELECT * FROM `".WPF()->tables->topics."`";
537
  $wheres = array();
538
  if($topicid != NULL) $wheres[] = "`topicid` = " . intval($topicid);
539
  if($slug != '') $wheres[] = "`slug` = '" . esc_sql($slug) . "'";
617
 
618
  $guest = array();
619
  $wheres = array();
620
+ $table_as_prefix = '`'.WPF()->tables->topics.'`.';
621
 
622
  if(!empty($include)) $wheres[] = "`topicid` IN(" . implode(', ', array_map('intval', $include)) . ")";
623
  if(!empty($exclude)) $wheres[] = "`topicid` NOT IN(" . implode(', ', array_map('intval', $exclude)) . ")";
675
  if( !is_null($pollid) ) $wheres[] = " `pollid` <> 0";
676
  }
677
 
678
+ $sql = "SELECT * FROM `".WPF()->tables->topics."`";
679
  if(!empty($wheres)){
680
  $sql .= " WHERE " . implode($wheres, " AND ");
681
  }
774
  $topicids = array();
775
  foreach($fields as $field){
776
  if($field == 'body'){
777
+ $matches = WPF()->db->get_col( "SELECT `topicid` FROM ".WPF()->tables->posts." WHERE `".esc_sql($field)."` LIKE '%". esc_sql(sanitize_text_field($needle)) ."%'" );
778
  }else{
779
+ $matches = WPF()->db->get_col( "SELECT `topicid` FROM ".WPF()->tables->topics." WHERE `".esc_sql($field)."`LIKE '%". esc_sql(sanitize_text_field($needle)) ."%'" );
780
  }
781
  $topicids = array_merge( $topicids, $matches );
782
  }
788
  }
789
 
790
  function get_sum_answer($forumids){
791
+ $sum = WPF()->db->get_var("SELECT SUM(`answers`) FROM `".WPF()->tables->topics."` WHERE `forumid` IN(". implode(', ', array_map('intval', $forumids)) .")");
792
  if($sum) return $sum;
793
  return 0;
794
  }
795
 
796
  function get_forumslug($forumid){
797
+ $slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->tables->forums." WHERE `forumid` = " . intval($forumid));
798
  if($slug) return $slug;
799
  return 0;
800
  }
801
 
802
  function get_forumslug_byid($topicid){
803
+ $slug = WPF()->db->get_var("SELECT `slug` FROM ".WPF()->tables->forums." WHERE `forumid` =(SELECT forumid FROM `".WPF()->tables->topics."` WHERE `topicid` =".intval($topicid).")");
804
  if($slug) return $slug;
805
  return 0;
806
  }
810
  $type = wpforo_topic($topicid, 'type');
811
  }
812
  else{
813
+ $type = WPF()->db->get_var( "SELECT `type` FROM ".WPF()->tables->topics." WHERE `topicid` = " . intval($topicid) );
814
  }
815
  if( $type == 1 ) return TRUE;
816
  return FALSE;
821
  $private = wpforo_topic($topicid, 'private');
822
  }
823
  else{
824
+ $private = WPF()->db->get_var( "SELECT `private` FROM ".WPF()->tables->topics." WHERE `topicid` = " . intval($topicid) );
825
  }
826
  if( $private == 1 ) return TRUE;
827
  return FALSE;
832
  $status = wpforo_topic($topicid, 'status');
833
  }
834
  else{
835
+ $status = WPF()->db->get_var( "SELECT `status` FROM ".WPF()->tables->topics." WHERE `topicid` = " . intval($topicid) );
836
  }
837
  if( $status == 1 ) return TRUE;
838
  return FALSE;
843
  $type = wpforo_topic($topicid, 'closed');
844
  }
845
  else{
846
+ $type = WPF()->db->get_var( "SELECT `closed` FROM ".WPF()->tables->topics." WHERE `topicid` = " . intval($topicid) );
847
  }
848
  if( $type == 1 ) return TRUE;
849
  return FALSE;
850
  }
851
 
852
  function is_solved( $topicid ){
853
+ $postid = WPF()->db->get_var( "SELECT `postid` FROM ".WPF()->tables->posts." WHERE `is_answer` = 1 AND `topicid` = " . intval($topicid) . " LIMIT 1" );
854
  if( $postid ) return TRUE;
855
  return FALSE;
856
  }
867
  */
868
  function move($topicid, $forumid){
869
  $topic = $this->get_topic( $topicid );
870
+ if( WPF()->db->query( "UPDATE `".WPF()->tables->topics."` SET `forumid` = ". intval($forumid) ." WHERE `topicid` = ". intval($topicid) ) ){
871
+ WPF()->db->query( "UPDATE `".WPF()->tables->posts."` SET `forumid` = ". intval($forumid) ." WHERE `topicid` = ". intval($topicid) );
872
  $post = WPF()->post->get_post($topic['last_post']);
873
 
874
+ WPF()->db->query( "UPDATE `".WPF()->tables->forums."` SET `topics` = `topics` - 1, `posts` = `posts` - ".intval($topic['posts'])." WHERE `forumid` = ".intval($topic['forumid']) );
875
+ WPF()->db->query( "UPDATE `".WPF()->tables->forums."` SET `topics` = `topics` + 1, `posts` = `posts` + ".intval($topic['posts']).", `last_topicid` = ".intval($topicid).", `last_postid` = ".intval($topic['last_post']).", `last_userid` = ".intval($post['userid']).", `last_post_date` = '". esc_sql($post['created']) ."' WHERE `forumid` = ". intval($forumid) );
876
 
877
  WPF()->forum->rebuild_last_infos($topic['forumid']);
878
 
901
  public function merge( $current = array(), $target, $postids = array(), $to_target_title = 0, $append = 0 ){
902
  if( !$current ) $current = WPF()->current_object['topic'];
903
 
904
+ $sql = "UPDATE `".WPF()->tables->posts."` SET `topicid` = %d, `forumid` = %d, `is_first_post` = 0";
905
  $sql = WPF()->db->prepare($sql, $target['topicid'], $target['forumid']);
906
 
907
  if($append){
930
  $db_resp = WPF()->db->query($sql);
931
 
932
  if( $db_resp !== false ){
933
+ $sql = "SELECT COUNT(`postid`) FROM `".WPF()->tables->posts."` WHERE `topicid` = %d";
934
  $sql = WPF()->db->prepare($sql, $current['topicid']);
935
  if( !WPF()->db->get_var($sql) ){
936
  $this->delete($current['topicid']);
1009
 
1010
  if(
1011
  WPF()->db->insert(
1012
+ WPF()->tables->topics,
1013
  array(
1014
  'title' => stripslashes($title),
1015
  'slug' => $slug,
1079
 
1080
 
1081
  function get_count( $args = array() ){
1082
+ $sql = "SELECT COUNT(`topicid`) FROM `".WPF()->tables->topics."`";
1083
  if( !empty($args) ){
1084
  $wheres = array();
1085
  foreach ($args as $key => $value) $wheres[] = "`$key` = " . intval($value);
1092
  if( !$topicid = wpforo_bigintval($topicid) ) return false;
1093
 
1094
  if( false !== WPF()->db->update(
1095
+ WPF()->tables->topics,
1096
  array( 'status' => intval($status) ),
1097
  array( 'topicid' => $topicid ),
1098
  array( '%d' ),
1099
  array( '%d' )
1100
  )){
1101
  if( false !== WPF()->db->update(
1102
+ WPF()->tables->posts,
1103
  array( 'status' => intval($status) ),
1104
  array( 'topicid' => $topicid ),
1105
  array( '%d' ),
1106
  array( '%d' )
1107
  )){
1108
  if($status) {
1109
+ $this->last_topic($topicid, 'remove');
1110
  } else {
1111
+ $this->last_topic($topicid, 'add');
1112
  }
1113
+ do_action( 'wpforo_topic_status_update', $topicid, $status );
1114
+ wpforo_clean_cache('topic', $topicid);
1115
  WPF()->notice->add('Done!', 'success');
1116
  return true;
1117
  }
1131
  }
1132
  }
1133
 
1134
+ public function rebuild_stats($topic, $post = array()){
1135
  if(!$topic) return false;
1136
  if(is_numeric($topic)) $topic = $this->get_topic($topic);
1137
  if( !is_array($topic) || !$topic ) return false;
 
 
 
 
 
 
1138
  $layout = WPF()->forum->get_layout($topic['forumid']);
1139
+ if($layout == 3 && !wpfval($post, 'parentid')) $answers = "`answers` = `answers` + 1,";
1140
+ $sql = "UPDATE " . WPF()->tables->topics . " SET " . $answers . " `posts` = `posts` + 1 WHERE `topicid` = " . intval($topic['topicid']);
1141
+ if( false !== WPF()->db->query( $sql ) ){
1142
+ wpforo_clean_cache('topic', $topic['topicid'], $topic);
 
 
 
 
 
 
 
 
 
1143
  return true;
1144
  }
1145
  return false;
1150
  if(is_numeric($topic)) $topic = $this->get_topic($topic);
1151
  if( !is_array($topic) || !$topic ) return false;
1152
 
1153
+ $sql = "SELECT `postid` FROM `".WPF()->tables->posts."` WHERE `topicid` = %d ORDER BY `is_first_post` DESC, `created` ASC, `postid` ASC LIMIT 1";
 
1154
  if( $first_postid = WPF()->db->get_var( WPF()->db->prepare($sql, $topic['topicid']) ) ){
1155
+ $sql = "UPDATE `".WPF()->tables->posts."` SET `is_first_post` = 1 WHERE `postid` = %d";
1156
  WPF()->db->query( WPF()->db->prepare($sql, $first_postid) );
1157
  }else{
1158
  $first_postid = 0;
1159
  }
1160
 
1161
+ $sql = "SELECT `postid`, `created` FROM `".WPF()->tables->posts."` WHERE `topicid` = %d ORDER BY `is_first_post` ASC, `created` DESC, `postid` DESC LIMIT 1";
1162
  if( !$last_post = WPF()->db->get_row( WPF()->db->prepare($sql, $topic['topicid']), ARRAY_A ) ) $last_post = array( 'postid' => 0, 'created' => $topic['modified']);
1163
 
1164
  if( false !== WPF()->db->update(
1165
+ WPF()->tables->topics,
1166
  array('first_postid' => $first_postid, 'last_post' => $last_post['postid'], 'modified' => $last_post['created']),
1167
  array('topicid' => $topic['topicid']),
1168
  array('%d','%d','%s'),
1175
  }
1176
 
1177
  public function last_topic($topic, $action = 'add'){
1178
+ if(is_numeric($topic)){
1179
+ $topic = $this->get_topic($topic);
1180
+ }
1181
+ if( !empty($topic) && isset($topic['first_postid']) && isset($topic['topicid']) && isset($topic['forumid']) && isset($topic['userid']) && isset($topic['created']) ){
1182
  extract($topic, EXTR_OVERWRITE);
1183
  if( $action == 'add' ){
1184
+ WPF()->db->query( "UPDATE ".WPF()->tables->forums." SET `last_post_date` = '" . esc_sql($created). "', `last_userid` = " . intval($userid). ", `last_topicid` = " . intval($topicid) . ", `last_postid` = " . intval($first_postid) . ", `topics` = `topics` + 1 , `posts` = `posts` + 1 WHERE `forumid` = " . intval($forumid) );
1185
  }
1186
  elseif($action == 'remove'){
1187
  //rebuild forum last topic info, don't include unapproved and private topics.
1188
  }
1189
  }
1190
  }
1191
+
1192
+ public function members( $topicid, $limit = 0 ){
1193
+ if( !$topicid ) return;
1194
+ $members = array();
1195
+ $args = array(
1196
+ 'topicid' => $topicid,
1197
+ 'orderby' => 'created',
1198
+ 'order' => 'ASC',
1199
+ 'private' => 0,
1200
+ 'status' => 0,
1201
+ 'cache_type' => 'args'
1202
+ );
1203
+ $posts = WPF()->post->get_posts( $args );
1204
+ foreach($posts as $post){
1205
+ if( wpfval($post, 'userid') ){
1206
+ $members[$post['userid']] = wpforo_member($post['userid']);
1207
+ if($limit && count($members) >= $limit ) break;
1208
+ }
1209
+ }
1210
+ $members = array_filter($members);
1211
+ if(!empty($members)) return $members;
1212
+ }
1213
  }
wpf-includes/class-usergroups.php CHANGED
@@ -65,9 +65,9 @@ class wpForoUsergroup{
65
 
66
  function usergroup_list_data(){
67
  $ugdata = array();
68
- $ugroups = WPF()->db->get_results('SELECT `groupid`, `name`, `access`, `color` FROM '.WPF()->db->prefix.'wpforo_usergroups ORDER BY `name` ', ARRAY_A);
69
  foreach($ugroups as $ugroup){
70
- $user_count = WPF()->db->get_var('SELECT COUNT(userid) FROM '.WPF()->db->prefix.'wpforo_profiles WHERE `groupid` = ' . intval($ugroup['groupid']));
71
  $ugdata[$ugroup['groupid']]['groupid'] = $ugroup['groupid'];
72
  $ugdata[$ugroup['groupid']]['name'] = wpforo_phrase($ugroup['name'], FALSE);
73
  $ugdata[$ugroup['groupid']]['count'] = intval($user_count);
@@ -82,7 +82,7 @@ class wpForoUsergroup{
82
  $real_title = $title;
83
  while( WPF()->db->get_var(
84
  WPF()->db->prepare(
85
- "SELECT `groupid` FROM `".WPF()->db->prefix."wpforo_usergroups`
86
  WHERE `name` = '%s'", sanitize_text_field($title) )))
87
  {
88
  $title = $title . '-' . $i;
@@ -92,7 +92,7 @@ class wpForoUsergroup{
92
  $cans = wpforo_parse_args( $cans, array_map('wpforo_return_zero', $this->cans) );
93
 
94
  if( WPF()->db->insert(
95
- WPF()->db->prefix . 'wpforo_usergroups',
96
  array(
97
  'name' => sanitize_text_field($title),
98
  'cans' => serialize( $cans ),
@@ -124,7 +124,7 @@ class wpForoUsergroup{
124
  if(!empty($permissions)){
125
  $permissions[$ugid] = $access;
126
  $permissions = serialize($permissions);
127
- WPF()->db->update( WPF()->db->prefix . 'wpforo_forums', array('permissions' => $permissions), array('forumid' => $forum['forumid']), array('%s'), array('%d') );
128
  }
129
  }
130
  }
@@ -151,7 +151,7 @@ class wpForoUsergroup{
151
  $access = is_null($access) ? $usergroup['access'] : $access;
152
 
153
  if( FALSE !== WPF()->db->update(
154
- WPF()->db->prefix . 'wpforo_usergroups',
155
  array(
156
  'name' => sanitize_text_field($title),
157
  'cans' => serialize( $cans ),
@@ -197,15 +197,15 @@ class wpForoUsergroup{
197
  $insert_gid = $_GET['gid'];
198
  #################################################### USERS
199
  if(isset($mergeid)){
200
- $status = WPF()->db->query("UPDATE `".WPF()->db->prefix ."wpforo_profiles` SET `groupid` = " . intval($mergeid) . " WHERE `groupid` = " . intval($insert_gid) );
201
  $notice = wpforo_phrase('Usergroup has been successfully deleted. All users of this usergroup have been moved to the usergroup you\'ve chosen', false);
202
  }else{
203
- $status = WPF()->db->query("UPDATE `".WPF()->db->prefix ."wpforo_profiles` SET `status` = 'trashed' WHERE `groupid` = " . intval($insert_gid) );
204
  $notice = wpforo_phrase('Usergroup has been successfully deleted.');
205
  }
206
  #################################################### END USERS
207
  if( $status !== FALSE ){
208
- if( WPF()->db->query("DELETE FROM `".WPF()->db->prefix ."wpforo_usergroups` WHERE `groupid` = " . intval($insert_gid) ) ){
209
  WPF()->notice->add($notice, 'success');
210
  return TRUE;
211
  }
@@ -221,7 +221,7 @@ class wpForoUsergroup{
221
  if( $cache && isset(self::$cache['usergroup'][$groupid]) ){
222
  return self::$cache['usergroup'][$groupid];
223
  }
224
- $usergroup = WPF()->db->get_row("SELECT * FROM `".WPF()->db->prefix."wpforo_usergroups` WHERE `groupid` = ".intval($groupid), ARRAY_A);
225
  if($cache && isset($groupid)){
226
  self::$cache['usergroup'][$groupid] = $usergroup;
227
  }
@@ -233,9 +233,9 @@ class wpForoUsergroup{
233
  if( $cache && isset(self::$cache['usergroups'][$field]) ) return self::$cache['usergroups'][$field];
234
 
235
  if( $field == 'full' ){
236
- $results = WPF()->db->get_results("SELECT * FROM `".WPF()->db->prefix."wpforo_usergroups`", ARRAY_A);
237
  }else{
238
- $results = WPF()->db->get_col("SELECT `$field` FROM `".WPF()->db->prefix."wpforo_usergroups`");
239
  }
240
 
241
  if( $cache ) self::$cache['usergroups'][$field] = $results;
@@ -247,7 +247,7 @@ class wpForoUsergroup{
247
  if( $cache && isset(self::$cache['user'][$userid]) ){
248
  return self::$cache['user'][$userid];
249
  }
250
- $groupid = WPF()->db->get_var("SELECT `groupid` FROM `".WPF()->db->prefix ."wpforo_profiles` WHERE `userid` = " . intval($userid));
251
  if($cache && isset($groupid)){
252
  self::$cache['user'][$userid] = $groupid;
253
  }
@@ -266,7 +266,7 @@ class wpForoUsergroup{
266
  }
267
 
268
  function get_visible_usergroup_ids(){
269
- return $results = WPF()->db->get_col("SELECT `groupid` FROM `".WPF()->db->prefix."wpforo_usergroups` WHERE `visible` = 1");
270
 
271
  }
272
 
65
 
66
  function usergroup_list_data(){
67
  $ugdata = array();
68
+ $ugroups = WPF()->db->get_results('SELECT `groupid`, `name`, `access`, `color` FROM '.WPF()->tables->usergroups.' ORDER BY `name` ', ARRAY_A);
69
  foreach($ugroups as $ugroup){
70
+ $user_count = WPF()->db->get_var('SELECT COUNT(userid) FROM '.WPF()->tables->profiles.' WHERE `groupid` = ' . intval($ugroup['groupid']));
71
  $ugdata[$ugroup['groupid']]['groupid'] = $ugroup['groupid'];
72
  $ugdata[$ugroup['groupid']]['name'] = wpforo_phrase($ugroup['name'], FALSE);
73
  $ugdata[$ugroup['groupid']]['count'] = intval($user_count);
82
  $real_title = $title;
83
  while( WPF()->db->get_var(
84
  WPF()->db->prepare(
85
+ "SELECT `groupid` FROM `".WPF()->tables->usergroups."`
86
  WHERE `name` = '%s'", sanitize_text_field($title) )))
87
  {
88
  $title = $title . '-' . $i;
92
  $cans = wpforo_parse_args( $cans, array_map('wpforo_return_zero', $this->cans) );
93
 
94
  if( WPF()->db->insert(
95
+ WPF()->tables->usergroups,
96
  array(
97
  'name' => sanitize_text_field($title),
98
  'cans' => serialize( $cans ),
124
  if(!empty($permissions)){
125
  $permissions[$ugid] = $access;
126
  $permissions = serialize($permissions);
127
+ WPF()->db->update( WPF()->tables->forums, array('permissions' => $permissions), array('forumid' => $forum['forumid']), array('%s'), array('%d') );
128
  }
129
  }
130
  }
151
  $access = is_null($access) ? $usergroup['access'] : $access;
152
 
153
  if( FALSE !== WPF()->db->update(
154
+ WPF()->tables->usergroups,
155
  array(
156
  'name' => sanitize_text_field($title),
157
  'cans' => serialize( $cans ),
197
  $insert_gid = $_GET['gid'];
198
  #################################################### USERS
199
  if(isset($mergeid)){
200
+ $status = WPF()->db->query("UPDATE `".WPF()->tables->profiles."` SET `groupid` = " . intval($mergeid) . " WHERE `groupid` = " . intval($insert_gid) );
201
  $notice = wpforo_phrase('Usergroup has been successfully deleted. All users of this usergroup have been moved to the usergroup you\'ve chosen', false);
202
  }else{
203
+ $status = WPF()->db->query("UPDATE `".WPF()->tables->profiles."` SET `status` = 'trashed' WHERE `groupid` = " . intval($insert_gid) );
204
  $notice = wpforo_phrase('Usergroup has been successfully deleted.');
205
  }
206
  #################################################### END USERS
207
  if( $status !== FALSE ){
208
+ if( WPF()->db->query("DELETE FROM `".WPF()->tables->usergroups."` WHERE `groupid` = " . intval($insert_gid) ) ){
209
  WPF()->notice->add($notice, 'success');
210
  return TRUE;
211
  }
221
  if( $cache && isset(self::$cache['usergroup'][$groupid]) ){
222
  return self::$cache['usergroup'][$groupid];
223
  }
224
+ $usergroup = WPF()->db->get_row("SELECT * FROM `".WPF()->tables->usergroups."` WHERE `groupid` = ".intval($groupid), ARRAY_A);
225
  if($cache && isset($groupid)){
226
  self::$cache['usergroup'][$groupid] = $usergroup;
227
  }
233
  if( $cache && isset(self::$cache['usergroups'][$field]) ) return self::$cache['usergroups'][$field];
234
 
235
  if( $field == 'full' ){
236
+ $results = WPF()->db->get_results("SELECT * FROM `".WPF()->tables->usergroups."`", ARRAY_A);
237
  }else{
238
+ $results = WPF()->db->get_col("SELECT `$field` FROM `".WPF()->tables->usergroups."`");
239
  }
240
 
241
  if( $cache ) self::$cache['usergroups'][$field] = $results;
247
  if( $cache && isset(self::$cache['user'][$userid]) ){
248
  return self::$cache['user'][$userid];
249
  }
250
+ $groupid = WPF()->db->get_var("SELECT `groupid` FROM `".WPF()->tables->profiles."` WHERE `userid` = " . intval($userid));
251
  if($cache && isset($groupid)){
252
  self::$cache['user'][$userid] = $groupid;
253
  }
266
  }
267
 
268
  function get_visible_usergroup_ids(){
269
+ return $results = WPF()->db->get_col("SELECT `groupid` FROM `".WPF()->tables->usergroups."` WHERE `visible` = 1");
270
 
271
  }
272
 
wpf-includes/functions-installation.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
- // Exit if accessed directly
3
- if( !defined( 'ABSPATH' ) ) exit;
4
-
5
  function do_wpforo_activation($network_wide){
6
- if ( is_multisite() && $network_wide ) {
7
  global $wpdb;
8
-
9
  $old_blogid = $wpdb->blogid;
10
  $blogids = $wpdb->get_col("SELECT blog_id FROM {$wpdb->blogs}");
11
  foreach ($blogids as $blogid){
@@ -19,9 +19,9 @@ function do_wpforo_activation($network_wide){
19
  }
20
 
21
  function do_wpforo_deactivation($network_wide){
22
- if ( is_multisite() && $network_wide ) {
23
  global $wpdb;
24
-
25
  $old_blogid = $wpdb->blogid;
26
  $blogids = $wpdb->get_col("SELECT blog_id FROM {$wpdb->blogs}");
27
  foreach ($blogids as $blogid){
@@ -35,679 +35,689 @@ function do_wpforo_deactivation($network_wide){
35
  }
36
 
37
  function wpforo_activation(){
38
- global $wpdb;
39
- if( ! wpforo_is_admin() ) return;
40
- if( ! current_user_can( 'activate_plugins' ) ) return;
41
-
42
- add_option('wpforo_default_groupid', WPF()->usergroup->default->default_groupid);
43
-
44
- require( WPFORO_DIR . '/wpf-includes/install-sql.php' );
45
- foreach( $wpforo_sql as $sql ) if( FALSE === @WPF()->db->query($sql) ) @WPF()->db->query( preg_replace('#)[\r\n\t\s]*ENGINE.*$#isu', ')', $sql) );
46
-
47
- $users = WPF()->db->get_var("SELECT COUNT(*) FROM `" . WPF()->db->base_prefix . "users`");
48
- if( $users <= 100 ) WPF()->member->synchronize_users();
49
- WPF()->member->init_current_user();
50
-
51
- add_option( 'wpforo_count_per_page', 10 );
52
-
53
- ###################################################################
54
- // General Options ////////////////////////////////////////////////
55
- wpforo_update_options( 'wpforo_general_options', WPF()->default->general_options );
56
-
57
- ###################################################################
58
- // Forums /////////////////////////////////////////////////////////
59
- wpforo_update_options( 'wpforo_forum_options', WPF()->forum->default->options );
60
-
61
- ##################################################################
62
- // Topics & Posts ////////////////////////////////////////////////
63
- wpforo_update_options( 'wpforo_post_options', WPF()->post->default->options );
64
-
65
- #################################################################
66
- // Features /////////////////////////////////////////////////////
67
- wpforo_update_options( 'wpforo_features', WPF()->default->features );
68
-
69
- #################################################################
70
- // API //////////////////////////////////////////////////////////
71
- wpforo_update_options( 'wpforo_api_options', WPF()->default->features );
72
-
73
- #################################################################
74
- // Theme & Style ////////////////////////////////////////////////
75
- wpforo_update_options( 'wpforo_style_options', WPF()->tpl->default->style );
76
- wpforo_update_options( 'wpforo_theme_options', WPF()->tpl->default->options );
77
-
78
- #################################################################
79
- // Members //////////////////////////////////////////////////////
80
- $exlude = array('rating_title_ug', 'rating_badge_ug');
81
- wpforo_update_options( 'wpforo_member_options', WPF()->member->default->options, $exlude);
82
-
83
- #################################################################
84
- // Subscribe Options ////////////////////////////////////////////
85
  wpforo_update_options( 'wpforo_subscribe_options', WPF()->sbscrb->default->options );
86
-
87
- #################################################################
88
- // Tool Options - Antispam ///////////////////////////////////////
89
- wpforo_update_options( 'wpforo_tools_antispam', WPF()->default->tools_antispam);
90
-
91
- #################################################################
92
- // Tool Options - Cleanup ///////////////////////////////////////
93
- wpforo_update_options( 'wpforo_tools_cleanup', WPF()->default->tools_cleanup);
94
-
95
- #################################################################
96
- // Tool Options - Misc ///////////////////////////////////////
97
- wpforo_update_options( 'wpforo_tools_misc', WPF()->default->tools_misc);
98
-
99
- #################################################################
100
- // Forum Navigation and Menu ////////////////////////////////////
101
- $menu_name = wpforo_phrase('wpForo Navigation', false, 'orig');
102
- $menu_location = 'wpforo-menu';
103
- $menu_exists = wp_get_nav_menu_object( $menu_name );
104
- if(!$menu_exists){
105
- $id = array();
106
- $menu_id = wp_create_nav_menu($menu_name);
107
- $id['wpforo-home'] = wp_update_nav_menu_item($menu_id, 0, array(
108
- 'menu-item-title' => wpforo_phrase('Forums', false),
109
- 'menu-item-classes' => 'wpforo-home',
110
- 'menu-item-url' => '/%wpforo-home%/',
111
- 'menu-item-status' => 'publish',
112
- 'menu-item-parent-id' => 0,
113
- 'menu-item-position' => 0));
114
-
115
- $id['wpforo-members'] = wp_update_nav_menu_item($menu_id, 0, array(
116
- 'menu-item-title' => wpforo_phrase('Members', false),
117
- 'menu-item-classes' => 'wpforo-members',
118
- 'menu-item-url' => '/%wpforo-members%/',
119
- 'menu-item-status' => 'publish',
120
- 'menu-item-parent-id' => 0,
121
- 'menu-item-position' => 0));
122
-
123
- $id['wpforo-recent'] = wp_update_nav_menu_item($menu_id, 0, array(
124
- 'menu-item-title' => wpforo_phrase('Recent Posts', false),
125
- 'menu-item-classes' => 'wpforo-recent',
126
- 'menu-item-url' => '/%wpforo-recent%/',
127
- 'menu-item-status' => 'publish',
128
- 'menu-item-parent-id' => 0,
129
- 'menu-item-position' => 0));
130
-
131
- $id['wpforo-profile'] = wp_update_nav_menu_item($menu_id, 0, array(
132
- 'menu-item-title' => wpforo_phrase('My Profile', false),
133
- 'menu-item-classes' => 'wpforo-profile',
134
- 'menu-item-url' => '/%wpforo-profile-home%/',
135
- 'menu-item-status' => 'publish',
136
- 'menu-item-parent-id' => 0,
137
- 'menu-item-position' => 0));
138
-
139
- if(isset($id['wpforo-profile']) && $id['wpforo-profile']){
140
- $id['wpforo-profile-account'] = wp_update_nav_menu_item($menu_id, 0, array(
141
- 'menu-item-title' => wpforo_phrase('Account', false),
142
- 'menu-item-classes' => 'wpforo-profile-account',
143
- 'menu-item-url' => '/%wpforo-profile-account%/',
144
- 'menu-item-status' => 'publish',
145
- 'menu-item-parent-id' => $id['wpforo-profile'],
146
- 'menu-item-position' => 1)
147
- );
148
- $id['wpforo-profile-activity'] = wp_update_nav_menu_item($menu_id, 0, array(
149
- 'menu-item-title' => wpforo_phrase('Activity', false),
150
- 'menu-item-classes' => 'wpforo-profile-activity',
151
- 'menu-item-url' => '/%wpforo-profile-activity%/',
152
- 'menu-item-status' => 'publish',
153
- 'menu-item-parent-id' => $id['wpforo-profile'],
154
- 'menu-item-position' => 1)
155
- );
156
- $id['wpforo-profile-subscriptions'] = wp_update_nav_menu_item($menu_id, 0, array(
157
- 'menu-item-title' => wpforo_phrase('Subscriptions', false),
158
- 'menu-item-classes' => 'wpforo-profile-subscriptions',
159
- 'menu-item-url' => '/%wpforo-profile-subscriptions%/',
160
- 'menu-item-status' => 'publish',
161
- 'menu-item-parent-id' => $id['wpforo-profile'],
162
- 'menu-item-position' => 2)
163
- );
164
- }
165
-
166
- $id['wpforo-register'] = wp_update_nav_menu_item($menu_id, 0, array(
167
- 'menu-item-title' => wpforo_phrase('Register', false),
168
- 'menu-item-classes' => 'wpforo-register',
169
- 'menu-item-url' => '/%wpforo-register%/',
170
- 'menu-item-status' => 'publish',
171
- 'menu-item-parent-id' => 0,
172
- 'menu-item-position' => 0));
173
-
174
- $id['wpforo-login'] = wp_update_nav_menu_item($menu_id, 0, array(
175
- 'menu-item-title' => wpforo_phrase('Login', false),
176
- 'menu-item-classes' => 'wpforo-login',
177
- 'menu-item-url' => '/%wpforo-login%/',
178
- 'menu-item-status' => 'publish',
179
- 'menu-item-parent-id' => 0,
180
- 'menu-item-position' => 0));
181
-
182
- $id['wpforo-logout'] = wp_update_nav_menu_item($menu_id, 0, array(
183
- 'menu-item-title' => wpforo_phrase('Logout', false),
184
- 'menu-item-classes' => 'wpforo-logout',
185
- 'menu-item-url' => '/%wpforo-logout%/',
186
- 'menu-item-status' => 'publish',
187
- 'menu-item-parent-id' => 0,
188
- 'menu-item-position' => 0));
189
-
190
- if( !has_nav_menu( $menu_location ) ){
191
- $locations = get_theme_mod('nav_menu_locations');
192
- if(empty($locations)) $locations = array();
193
- $locations[$menu_location] = $menu_id;
194
- set_theme_mod( 'nav_menu_locations', $locations );
195
- }
196
- }
197
-
198
- #################################################################
199
- // Access Sets //////////////////////////////////////////////////
200
- $cans_n = array('vf' => 0, 'ct' => 0, 'vt' => 0, 'et' => 0, 'dt' => 0,
201
- 'cr' => 0, 'vr' => 0, 'er' => 0, 'dr' => 0,
202
- 'eot' => 0, 'eor' => 0, 'dot' => 0, 'dor' => 0,
203
- 'l' => 0, 'r' => 0, 's' => 0, 'au' => 0,
204
- 'p' => 0, 'op' => 0, 'vp' => 0, 'sv' => 0,
205
- 'osv' => 0, 'v' => 0, 'a' => 0, 'va' => 0,
206
- 'at' => 0, 'oat' => 0, 'cot' => 0, 'mt' => 0, 'ccp' => 0, 'cvp' => 0, 'cvpr' => 0 );
207
- $cans_r = array('vf' => 1, 'ct' => 0, 'vt' => 1, 'et' => 0, 'dt' => 0,
208
- 'cr' => 0, 'vr' => 1, 'er' => 0, 'dr' => 0,
209
- 'eot' => 0, 'eor' => 0, 'dot' => 0, 'dor' => 0,
210
- 'l' => 0, 'r' => 0, 's' => 0, 'au' => 0,
211
- 'p' => 0, 'op' => 0, 'vp' => 0, 'sv' => 0,
212
- 'osv' => 0, 'v' => 0, 'a' => 0, 'va' => 1,
213
- 'at' => 0, 'oat' => 0, 'cot' => 0, 'mt' => 0, 'ccp' => 0, 'cvp' => 0, 'cvpr' => 1 );
214
- $cans_s = array('vf' => 1, 'ct' => 1, 'vt' => 1, 'et' => 0, 'dt' => 0,
215
- 'cr' => 1, 'vr' => 1, 'er' => 0, 'dr' => 0,
216
- 'eot' => 1, 'eor' => 1, 'dot' => 1, 'dor' => 1,
217
- 'l' => 1, 'r' => 1, 's' => 0, 'au' => 0,
218
- 'p' => 0, 'op' => 1, 'vp' => 0, 'sv' => 0,
219
- 'osv' => 1, 'v' => 1, 'a' => 1, 'va' => 1,
220
- 'at' => 0, 'oat' => 1, 'cot' => 0, 'mt' => 0, 'ccp' => 1, 'cvp' => 1, 'cvpr' => 1 );
221
- $cans_m = array('vf' => 1, 'ct' => 1, 'vt' => 1, 'et' => 1, 'dt' => 1,
222
- 'cr' => 1, 'vr' => 1, 'er' => 1, 'dr' => 1,
223
- 'eot' => 1, 'eor' => 1, 'dot' => 1, 'dor' => 1,
224
- 'l' => 1, 'r' => 1, 's' => 1, 'au' => 1,
225
- 'p' => 1, 'op' => 1, 'vp' => 1, 'sv' => 1,
226
- 'osv' => 1, 'v' => 1, 'a' => 1, 'va' => 1,
227
- 'at' => 1, 'oat' => 1, 'cot' => 1, 'mt' => 1, 'ccp' => 1, 'cvp' => 1, 'cvpr' => 1 );
228
- $cans_a = array('vf' => 1, 'ct' => 1, 'vt' => 1, 'et' => 1, 'dt' => 1,
229
- 'cr' => 1, 'vr' => 1, 'er' => 1, 'dr' => 1,
230
- 'eot' => 1, 'eor' => 1, 'dot' => 1, 'dor' => 1,
231
- 'l' => 1, 'r' => 1, 's' => 1, 'au' => 1,
232
- 'p' => 1, 'op' => 1, 'vp' => 1, 'sv' => 1,
233
- 'osv' => 1, 'v' => 1, 'a' => 1, 'va' => 1,
234
- 'at' => 1, 'oat' => 1, 'cot' => 1, 'mt' => 1, 'ccp' => 1, 'cvp' => 1, 'cvpr' => 1 );
235
-
236
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_accesses`";
237
- $accesses = WPF()->db->get_results($sql, ARRAY_A);
238
- if( empty($accesses) ){
239
-
240
- $cans_n = serialize($cans_n);
241
- $cans_r = serialize($cans_r);
242
- $cans_s = serialize($cans_s);
243
- $cans_m = serialize($cans_m);
244
- $cans_a = serialize($cans_a);
245
-
246
- $sql = "INSERT IGNORE INTO `".WPF()->db->prefix."wpforo_accesses`
247
  (`access`, `title`, cans) VALUES
248
  ('no_access', 'No access', '". $cans_n ."'),
249
  ('read_only', 'Read only access', '". $cans_r ."'),
250
  ('standard', 'Standard access', '". $cans_s ."'),
251
  ('moderator', 'Moderator access', '".$cans_m."'),
252
  ('full', 'Full access', '".$cans_a."')";
253
-
254
- WPF()->db->query( $sql );
255
- }else{
256
- foreach($accesses as $access){
257
- $default = array();
258
- $current = unserialize($access['cans']);
259
- if( strtolower($access['access']) == 'no_access' ) $default = $cans_n;
260
- elseif( strtolower($access['access']) == 'read_only' ) $default = $cans_r;
261
- elseif( strtolower($access['access']) == 'standard' ) $default = $cans_s;
262
- elseif( strtolower($access['access']) == 'moderator' ) $default = $cans_m;
263
- elseif( strtolower($access['access']) == 'full' ) $default = $cans_a;
264
- if( !empty($default) ){
265
- $data_update = array_merge($default, $current);
266
- if( !empty($data_update) ){
267
- $data_update = serialize($data_update);
268
- WPF()->db->query("UPDATE `".WPF()->db->prefix."wpforo_accesses` SET `cans` = '" . WPF()->db->_real_escape($data_update) . "' WHERE `accessid` = " . intval($access['accessid']) );
269
- }
270
- }
271
- }
272
- }
273
-
274
-
275
- #################################################################
276
- // Usergroup ////////////////////////////////////////////////////
277
- $cans_admin = array('cf' => '1', 'ef' => '1', 'df' => '1', 'vm' => '1', 'aum' => '1', 'em' => '1', 'vmg' => '1', 'aup' => '1', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '1',
278
- 'bm' => '1', 'dm' => '1', 'upa' => '1', 'ups' => '1', 'va' => '1',
279
- 'vmu' => '1', 'vmm' => '1', 'vmt' => '1', 'vmct' => '1',
280
- 'vmr' => '1', 'vmw' => '1', 'vmsn' => '1', 'vmrd' => '1',
281
- 'vmlad' => '1', 'vip' => '1', 'vml' => '1', 'vmo' => '1',
282
- 'vms' => '1', 'vmam' => '1', 'vmpn' => '1', 'vwpm' => '1');
283
- $cans_moder = array('cf' => '0', 'ef' => '0', 'df' => '0', 'vm' => '0', 'aum' => '1', 'em' => '0', 'vmg' => '0', 'aup' => '1', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '1',
284
- 'bm' => '1', 'dm' => '1', 'upa' => '1', 'ups' => '1', 'va' => '1',
285
- 'vmu' => '0', 'vmm' => '1', 'vmt' => '1', 'vmct' => '1',
286
- 'vmr' => '1', 'vmw' => '1', 'vmsn' => '1', 'vmrd' => '1',
287
- 'vmlad' => '1', 'vip' => '1', 'vml' => '1', 'vmo' => '1',
288
- 'vms' => '1', 'vmam' => '1', 'vmpn' => '1', 'vwpm' => '1');
289
- $cans_reg = array( 'cf' => '0', 'ef' => '0', 'df' => '0', 'vm' => '0', 'aum' => '0', 'em' => '0', 'vmg' => '0', 'aup' => '1', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '0',
290
- 'bm' => '0', 'dm' => '0', 'upa' => '1', 'ups' => '1', 'va' => '1',
291
- 'vmu' => '0', 'vmm' => '0', 'vmt' => '1', 'vmct' => '1',
292
- 'vmr' => '1', 'vmw' => '1', 'vmsn' => '1', 'vmrd' => '1',
293
- 'vmlad' => '1', 'vip' => '0', 'vml' => '1', 'vmo' => '1',
294
- 'vms' => '1', 'vmam' => '1', 'vmpn' => '0', 'vwpm' => '1');
295
- $cans_guest = array('cf' => '0', 'ef' => '0', 'df' => '0', 'vm' => '0', 'aum' => '0', 'em' => '0', 'vmg' => '0', 'aup' => '0', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '0',
296
- 'bm' => '0', 'dm' => '0', 'upa' => '0', 'ups' => '0', 'va' => '1',
297
- 'vmu' => '0', 'vmm' => '0', 'vmt' => '1', 'vmct' => '1',
298
- 'vmr' => '1', 'vmw' => '0', 'vmsn' => '1', 'vmrd' => '1',
299
- 'vmlad' => '1', 'vip' => '0', 'vml' => '1', 'vmo' => '1',
300
- 'vms' => '1', 'vmam' => '1', 'vmpn' => '0', 'vwpm' => '0');
301
- $cans_customer = array('cf' => '0', 'ef' => '0', 'df' => '0', 'vm' => '0', 'aum' => '0', 'em' => '0', 'vmg' => '0', 'aup' => '0', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '0',
302
- 'bm' => '0', 'dm' => '0', 'upa' => '1', 'ups' => '1', 'va' => '1',
303
- 'vmu' => '0', 'vmm' => '0', 'vmt' => '1', 'vmct' => '1',
304
- 'vmr' => '1', 'vmw' => '1', 'vmsn' => '1', 'vmrd' => '1',
305
- 'vmlad' => '1', 'vip' => '0', 'vml' => '1', 'vmo' => '1',
306
- 'vms' => '1', 'vmam' => '1', 'vmpn' => '0', 'vwpm' => '1');
307
-
308
-
309
- $sql = "SELECT * FROM `".WPF()->db->prefix."wpforo_usergroups`";
310
- if( !$usergroups = WPF()->db->get_results($sql, ARRAY_A) ){
311
- WPF()->usergroup->add('Admin', $cans_admin, '', 'administrator', 'full', '#FF3333');
312
- WPF()->usergroup->add('Moderator', $cans_moder, '', 'editor', 'moderator', '#0066FF');
313
- WPF()->usergroup->add('Registered', $cans_reg, '', 'subscriber', 'standard', '');
314
- WPF()->usergroup->add('Guest', $cans_guest, '', '', 'read_only', '#222222');
315
- WPF()->usergroup->add('Customer', $cans_customer, '', 'subscriber', 'standard', '#993366');
316
- }
317
- else{
318
- foreach($usergroups as $usergroup){
319
- $default = array();
320
- $current = unserialize($usergroup['cans']);
321
- if( strtolower($usergroup['name']) == 'admin' ) $default = $cans_admin;
322
- elseif( strtolower($usergroup['name']) == 'moderator' ) $default = $cans_moder;
323
- elseif( strtolower($usergroup['name']) == 'registered' ) $default = $cans_reg;
324
- elseif( strtolower($usergroup['name']) == 'guest' ) $default = $cans_guest;
325
- elseif( strtolower($usergroup['name']) == 'customer' ) $default = $cans_customer;
326
- if( !empty($default) ){
327
- $data_update = array_merge($default, $current);
328
- if( !empty($data_update) ){
329
- $data_update = serialize($data_update);
330
- WPF()->db->query("UPDATE `".WPF()->db->prefix."wpforo_usergroups` SET `cans` = '" . WPF()->db->_real_escape($data_update) . "' WHERE `groupid` = " . intval($usergroup['groupid']) );
331
- }
332
- }
333
- }
334
- }
335
- $sql = "SELECT COUNT(*) FROM `".WPF()->db->prefix."wpforo_forums`";
336
- $count = WPF()->db->get_var($sql);
337
- if(!$count){
338
- if( $parentid = WPF()->forum->add( array( 'title' => 'Main Category', 'description' => 'This is a simple category / section' ), FALSE ) ){
339
- WPF()->forum->add( array( 'title' => 'Main Forum', 'description' => 'This is a simple parent forum', 'parentid' => $parentid, 'icon' => 'fa-comments' ), FALSE );
340
- }
341
- }
342
-
343
- #################################################################
344
- // Permalink Settings ///////////////////////////////////////////
345
- $permalink_structure = get_option( 'permalink_structure' );
346
- if( !$permalink_structure ){
347
- global $wp_rewrite;
348
- $wp_rewrite->set_permalink_structure( '/%postname%/' );
349
- }
350
-
351
- #################################################################
352
- // Creating Forum Page //////////////////////////////////////////
353
- if( !WPF()->pageid ||
354
- !WPF()->db->get_var("SELECT `ID` FROM `".WPF()->db->prefix."posts` WHERE `ID` = '".intval(WPF()->pageid)."' AND ( `post_content` LIKE '%[wpforo]%' OR `post_content` LIKE '%[wpforo-index]%' ) AND `post_status` LIKE 'publish' AND `post_type` IN('post', 'page')") ){
355
- if( !$page_id = WPF()->db->get_var("SELECT `ID` FROM `".WPF()->db->prefix."posts` WHERE `post_content` LIKE '%[wpforo]%' AND `post_status` LIKE 'publish' AND `post_type` IN('post', 'page')") ){
356
- $wpforo_page = array(
357
- 'post_date' => current_time( 'mysql', 1 ),
358
- 'post_date_gmt' => current_time( 'mysql', 1 ),
359
- 'post_content' => '[wpforo]',
360
- 'post_title' => 'Forum',
361
- 'post_status' => 'publish',
362
- 'comment_status' => 'close',
363
- 'ping_status' => 'close',
364
- 'post_name' => 'community',
365
- 'post_modified' => current_time( 'mysql', 1 ),
366
- 'post_modified_gmt' => current_time( 'mysql', 1 ),
367
- 'post_parent' => 0,
368
- 'menu_order' => 0,
369
- 'post_type' => 'page'
370
- );
371
- $page_id = wp_insert_post( $wpforo_page );
372
- }
373
- if( $page_id && !is_wp_error($page_id) ){
374
- update_option( 'wpforo_pageid', $page_id );
375
- update_option( 'wpforo_use_home_url', '0' );
376
- $wpforo_url = get_wpf_option('wpforo_url');
377
- if( !$wpforo_url ){
378
- update_option( 'wpforo_permastruct', 'community' );
379
- update_option( 'wpforo_url', esc_url( home_url('/') ) . "community/" );
380
- }else{
381
- if( !WPF()->permastruct ){
382
- update_option( 'wpforo_permastruct', basename($wpforo_url) );
383
- update_option( 'wpforo_url', esc_url( home_url('/') ) . basename($wpforo_url) . "/" );
384
- }else{
385
- update_option( 'wpforo_url', esc_url( home_url('/') ) . WPF()->permastruct . "/" );
386
- }
387
- }
388
- }
389
- }else{
390
- if( !WPF()->use_home_url ) update_option( 'wpforo_use_home_url', '0' );
391
- if( !WPF()->permastruct ) update_option( 'wpforo_permastruct', basename( get_wpf_option('wpforo_url') ) );
392
- WPF()->db->query("UPDATE `".WPF()->db->prefix."posts` SET `post_content` = REPLACE(`post_content`, '[wpforo-index]', '[wpforo]') WHERE `ID` = '".WPF()->pageid."'");
393
- }
394
-
395
- WPF()->pageid = get_wpf_option( 'wpforo_pageid');
396
- WPF()->permastruct = trim( get_wpf_option('wpforo_permastruct'), '/' );
397
- flush_rewrite_rules(FALSE);
398
- nocache_headers();
399
-
400
-
401
- #################################################################
402
- // Importing Language Packs and Phrases /////////////////////////
403
- WPF()->phrase->xml_import('english.xml', 'install');
404
-
405
- #################################################################
406
- // Creating wpforo folders //////////////////////////////////////
407
- $upload_array = wp_upload_dir();
408
- $wpforo_upload_dir = $upload_array['basedir'].'/wpforo/';
409
- if (!is_dir($wpforo_upload_dir)) {
410
- wp_mkdir_p($wpforo_upload_dir);
411
- }
412
- $avatars_upload_dir=$upload_array['basedir'].'/wpforo/avatars/';
413
- if (!is_dir($avatars_upload_dir)) {
414
- wp_mkdir_p($avatars_upload_dir);
415
- }
416
-
417
- #################################################################
418
- // RESET USER CACHE /////////////////////////////////////////////
419
- WPF()->member->clear_db_cache();
420
-
421
- #################################################################
422
- // RESET FUNCTIONS //////////////////////////////////////////////
423
- $sql = "SHOW COLUMNS FROM `".$wpdb->prefix."wpforo_phrases` WHERE `Field` LIKE 'package'";
424
- if( !$wpdb->get_row($sql, ARRAY_A) ){
425
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_phrases` ADD COLUMN `package` VARCHAR(255) NOT NULL DEFAULT 'wpforo'" );
426
- }
427
- WPF()->phrase->clear_cache();
428
-
429
- #################################################################
430
- // ADD `private` field in TOPIC TABLE ///////////////////////////
431
- $args = array( 'table' => $wpdb->prefix . 'wpforo_topics', 'col' => 'private', 'check' => 'col_exists' );
432
- if( !wpforo_db_check( $args ) ){
433
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_topics` ADD `private` TINYINT(1) NOT NULL DEFAULT '0', ADD INDEX `is_private` (`private`);" );
434
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_topics` ADD INDEX `own_private` ( `userid`, `private`);" );
435
- }
436
- // ADD INDEXES in wpforo_views TABLE///////////////////////////
437
- $args = array( 'table' => $wpdb->prefix . 'wpforo_views', 'col' => 'topicid', 'check' => 'key_exists' );
438
- if( !wpforo_db_check( $args ) ){
439
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD INDEX(`userid`);" );
440
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD INDEX(`topicid`);" );
441
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD UNIQUE( `userid`, `topicid`);" );
442
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_likes` ADD UNIQUE( `userid`, `postid`);" );
443
- }
444
- $args = array( 'table' => $wpdb->prefix . 'wpforo_views', 'col' => 'created', 'check' => 'col_type' );
445
- $col_type = wpforo_db_check( $args );
446
- if( $col_type != 'int(11)' ){
447
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` MODIFY `created` INT(11) NOT NULL;" );
448
- }
449
- // ADD `status` field in TOPICS & POSTS TABLE ///////////////////////////
450
- $args = array( 'table' => $wpdb->prefix . 'wpforo_topics', 'col' => 'status', 'check' => 'col_exists' );
451
- if( !wpforo_db_check( $args ) ){
452
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_topics` ADD `status` TINYINT(1) NOT NULL DEFAULT '0', ADD INDEX `status` (`status`);" );
453
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_topics` ADD INDEX `forumid_status` ( `forumid`, `status`);" );
454
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_posts` ADD `status` TINYINT(1) NOT NULL DEFAULT '0', ADD INDEX `status` (`status`);" );
455
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_posts` ADD INDEX `topicid_status` ( `topicid`, `status`);" );
456
- }
457
- // ADD `name` and `email` field in TOPIC TABLE ///////////////////////////
458
- $args = array( 'table' => $wpdb->prefix . 'wpforo_topics', 'col' => 'name', 'check' => 'col_exists' );
459
- if( !wpforo_db_check( $args ) ){
460
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_topics` ADD `name` VARCHAR(50) NOT NULL, ADD `email` VARCHAR(50) NOT NULL" );
461
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_posts` ADD `name` VARCHAR(50) NOT NULL, ADD `email` VARCHAR(50) NOT NULL" );
462
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_topics` ADD KEY `email` (`email`)" );
463
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_posts` ADD KEY `email` (`email`)" );
464
- }
465
- // ADD `utitle`, `role` and `access` to USERGROUP TABLE /////////
466
- $args = array( 'table' => $wpdb->prefix . 'wpforo_usergroups', 'col' => 'utitle', 'check' => 'col_exists' );
467
- if( !wpforo_db_check( $args ) ){
468
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_usergroups` ADD `utitle` VARCHAR(100), ADD `role` VARCHAR(50), ADD `access` VARCHAR(50)" );
469
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'Admin', `role` = 'administrator', `access` = 'full' WHERE `groupid` = 1");
470
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'Moderator', `role` = 'editor', `access` = 'moderator' WHERE `groupid` = 2");
471
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'Registered', `role` = 'subscriber', `access` = 'standard' WHERE `groupid` = 3");
472
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'Guest', `role` = '', `access` = 'read_only' WHERE `groupid` = 4");
473
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'Customer', `role` = 'customer', `access` = 'standard' WHERE `groupid` = 5");
474
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `utitle` = 'name', `role` = 'subscriber', `access` = 'standard' WHERE `utitle` IS NULL OR `utitle` = ''");
475
- }
476
- #################################################################
477
- // ADD `color` field in usergroups TABLE ///////////////////////////
478
- $args = array( 'table' => $wpdb->prefix . 'wpforo_usergroups', 'col' => 'color', 'check' => 'col_exists' );
479
- if( !wpforo_db_check( $args ) ){
480
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_usergroups` ADD `color` varchar(7) NOT NULL DEFAULT ''" );
481
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `color` = '#FF3333' WHERE `groupid` = 1");
482
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `color` = '#0066FF' WHERE `groupid` = 2");
483
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `color` = '#222222' WHERE `groupid` = 4");
484
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_usergroups` SET `color` = '#993366' WHERE `groupid` = 5");
485
- }
486
- #################################################################
487
- // ADD `online_time` field in profiles TABLE ///////////////////////////
488
- $args = array( 'table' => $wpdb->prefix . 'wpforo_profiles', 'col' => 'online_time', 'check' => 'col_exists' );
489
- if( !wpforo_db_check( $args ) ){
490
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_profiles` ADD `online_time` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `last_login`, ADD KEY (`online_time`)" );
491
- }
492
  #################################################################
493
  // DROP uname unique key from profiles TABLE ///////////////////////////
494
- $args = array( 'table' => $wpdb->prefix . 'wpforo_profiles', 'col' => 'UNIQUE USERNAME', 'check' => 'key_exists' );
 
 
 
 
495
  if( wpforo_db_check( $args ) ){
496
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_profiles` DROP KEY `UNIQUE USERNAME`" );
497
- }
498
- #################################################################
499
- // ADD `private` field in post TABLE ///////////////////////////
500
- $args = array( 'table' => $wpdb->prefix . 'wpforo_posts', 'col' => 'private', 'check' => 'col_exists' );
501
- if( !wpforo_db_check( $args ) ){
502
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_posts` ADD `private` TINYINT(1) NOT NULL DEFAULT 0, ADD INDEX `is_private` (`private`)" );
503
- }
504
- #################################################################
505
- // ADD `unique_vote` KEY in post Votes ///////////////////////////
506
- $args = array( 'table' => $wpdb->prefix . 'wpforo_votes', 'col' => 'unique_vote', 'check' => 'key_exists' );
507
- if( !wpforo_db_check( $args ) ){
508
- $args = array( 'table' => $wpdb->prefix . 'wpforo_votes', 'col' => 'userid', 'check' => 'key_exists' );
509
- if( wpforo_db_check( $args ) ) @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_votes` DROP KEY `userid`" );
510
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_votes` ADD UNIQUE KEY `unique_vote` (`userid`, `postid`, `reaction`)" );
511
- }
512
- #################################################################
513
- //Add user_name col in subsciption table///////////////////////////
514
- $args = array( 'table' => $wpdb->prefix . 'wpforo_subscribes', 'col' => 'user_name', 'check' => 'col_exists' );
515
  if( !wpforo_db_check( $args ) ){
516
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` ADD `user_name` VARCHAR(100) NOT NULL DEFAULT ''" );
 
 
 
 
 
 
 
 
517
  }
518
  //Add user_email col in subsciption table
519
- $args = array( 'table' => $wpdb->prefix . 'wpforo_subscribes', 'col' => 'user_email', 'check' => 'col_exists' );
520
  if( !wpforo_db_check( $args ) ){
521
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` ADD `user_email` VARCHAR(100) NOT NULL DEFAULT ''" );
522
  }
523
  //Add indexes for subscribe new fields
524
- $args = array( 'table' => $wpdb->prefix . 'wpforo_subscribes', 'col' => 'fld_group_unq', 'check' => 'key_exists' );
525
  if( !wpforo_db_check( $args ) ){
526
- $args = array( 'table' => $wpdb->prefix . 'wpforo_subscribes', 'col' => 'itemid', 'check' => 'key_exists' );
527
- if( wpforo_db_check( $args ) ) @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` DROP KEY `itemid`" );
528
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` ADD UNIQUE KEY `fld_group_unq`( `itemid`, `type`, `userid`, `user_email`(60) )" );
529
- }
530
- #################################################################
531
- // ADD `visible` field in usergroups TABLE ///////////////////////////
532
- $args = array( 'table' => $wpdb->prefix . 'wpforo_usergroups', 'col' => 'visible', 'check' => 'col_exists' );
533
- if( !wpforo_db_check( $args ) ){
534
- @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_usergroups` ADD `visible` TINYINT(1) NOT NULL DEFAULT 1;" );
535
- }
536
- #################################################################
537
- // CHECK Addon Notice /////////////////////////////////////////
538
- $lastHash = get_option('wpforo-addon-note-dismissed');
539
- $first = get_option('wpforo-addon-note-first');
540
- if( $lastHash && $first == 'true' ) {
541
- update_option('wpforo-addon-note-first', 'false');
542
- }
543
-
544
- #################################################################
545
- // UPDATE VERSION - END /////////////////////////////////////////
546
- update_option('wpforo_version', WPFORO_VERSION);
547
- WPF()->notice->clear();
548
- wpforo_clean_cache();
549
  }
550
 
551
 
552
  function wpforo_update() {
553
- if ( get_option('wpforo_version') && WPFORO_VERSION !== get_option('wpforo_version') ) wpforo_activation();
554
  }
555
  add_action('wp_loaded', 'wpforo_update');
556
 
557
 
558
  function wpforo_update_options( $option_key, $default, $exlude = array() ) {
559
-
560
- $option = get_option( $option_key, array() );
561
-
562
- if( !empty($option) ){
563
- if( !empty($exlude) ){
564
- foreach( $exlude as $key ){
565
- if( isset($default[$key]) ) unset($default[$key]);
566
- }
567
- }
568
- $option_update = array_merge($default, $option);
569
- }
570
- else{
571
- $option_update = $default;
572
- }
573
-
574
- update_option( $option_key, $option_update );
575
  }
576
 
577
 
578
  function wpforo_deactivation() {}
579
 
580
 
581
- function wpforo_uninstall() {
582
-
583
- global $wpdb;
584
-
585
- if( ! wpforo_is_admin() ) return;
586
- if( ! current_user_can( 'activate_plugins' ) ) return;
587
- $QUERY_STRING = trim(preg_replace('|_wpnonce=[^\&\?\=]*|is', '', $_SERVER['QUERY_STRING']), '&');
588
-
589
- if( 'action=wpforo-uninstall' == trim($QUERY_STRING) ){
590
-
591
- $tables = array( $wpdb->prefix . 'wpforo_accesses',
592
- $wpdb->prefix . 'wpforo_forums',
593
- $wpdb->prefix . 'wpforo_languages',
594
- $wpdb->prefix . 'wpforo_likes',
595
- $wpdb->prefix . 'wpforo_phrases',
596
- $wpdb->prefix . 'wpforo_profiles',
597
- $wpdb->prefix . 'wpforo_posts',
598
- $wpdb->prefix . 'wpforo_subscribes',
599
- $wpdb->prefix . 'wpforo_topics',
600
- $wpdb->prefix . 'wpforo_usergroups',
601
- $wpdb->prefix . 'wpforo_views',
602
- $wpdb->prefix . 'wpforo_visits',
603
- $wpdb->prefix . 'wpforo_votes');
604
-
605
- foreach($tables as $table){
606
- if( strpos( $table, '_wpforo_' ) !== FALSE){
607
- $sql = "DROP TABLE IF EXISTS `$table`;";
608
- $wpdb->query( $sql );
609
- }
610
- }
611
-
612
- if( isset(WPF()->pageid) && WPF()->pageid ){
613
- wp_delete_post( WPF()->pageid, true );
614
- }
615
-
616
- $options = array( 'wpforo_version',
617
- 'wpforo_url',
618
- 'wpforo_stat',
619
- 'wpforo_general_options',
620
- 'wpforo_pageid',
621
- 'wpforo_count_per_page',
622
- 'wpforo_default_groupid',
623
- 'wpforo_forum_options',
624
- 'wpforo_post_options',
625
- 'wpforo_member_options',
626
- 'wpforo_subscribe_options',
627
- 'wpforo_theme_options',
628
- 'wpforo_features',
629
- 'wpforo_style_options',
630
- 'wpforo_permastruct',
631
- 'wpforo_use_home_url',
632
- 'wpforo_excld_urls',
633
- 'wpforo_tools_antispam',
634
- 'wpforo_tools_cleanup',
635
- 'wpforo_tools_misc'
636
- );
637
-
638
- foreach($options as $option){
639
- if( strpos( $option, 'wpforo_' ) !== FALSE){
640
- delete_option( $option );
641
- }
642
- }
643
-
644
- $wpdb->query( "DELETE FROM `" . $wpdb->base_prefix ."usermeta` WHERE `meta_key` = '_wpf_member_obj'" );
645
- $wpdb->query( "DELETE FROM `" . $wpdb->prefix ."options` WHERE option_name LIKE 'wpforo_stat%'" );
646
- $wpdb->query( "DELETE FROM `" . $wpdb->prefix ."options` WHERE option_name LIKE 'widget_wpforo_widget_%'" );
647
-
648
- $menu = wp_get_nav_menu_object( 'wpforo-navigation' );
649
- wp_delete_nav_menu( $menu->term_id );
650
- wp_delete_post(WPF()->pageid, TRUE);
651
-
652
- deactivate_plugins( WPFORO_BASENAME );
653
-
654
- }
655
- else{
656
- return;
657
- }
658
  }
659
 
660
  function wpforo_profile_notice(){
661
- global $wpdb;
662
- $button = '';
663
- if( is_multisite() ){
664
- $users = $wpdb->get_var("SELECT COUNT(*) FROM `".$wpdb->base_prefix."usermeta` WHERE `meta_key` LIKE '".$wpdb->prefix."capabilities'");
665
- } else {
666
- $users = $wpdb->get_var("SELECT COUNT(*) FROM `".$wpdb->base_prefix."users`");
667
- }
668
- $profiles = $wpdb->get_var("SELECT COUNT(*) FROM `" . $wpdb->prefix . "wpforo_profiles`");
669
- $delta = $users - $profiles;
670
- $status = ( $delta > 2 ) ? round((( $profiles * 100 ) / $users ), 1) . '% (' . $profiles . ' / ' . $users . ') ' : '100%';
671
- $btext = ( $profiles == 0 ) ? __( 'Start Profile Synchronization', 'wpforo') : __( 'Continue Synchronization', 'wpforo');
672
- $url = admin_url('admin.php?page=wpforo-community&action=synch');
673
- $class = 'wpforo-mnote notice notice-warning is-dismissible';
674
- $note = __( 'This process may take a few seconds or dozens of minutes, please be patient and don\'t close this page.', 'wpforo');
675
- $info = __( 'You can permanently disable this message in Dashboard > Forums > Features admin page.', 'wpforo');
676
- $button = '<a href="' . $url . '" class="button button-primary button-large" style="font-size:14px;">' . $btext . ' &gt;&gt;</a>';
677
- $header = __( 'wpForo Forum Installation | ', 'wpforo' );
678
- $message = __( 'Forum users\' profile data are not synchronized yet, this step is required! Please click the button below to complete installation.', 'wpforo' );
679
- echo '<div class="' . $class . '" style="padding:15px 20px;"><h2 style="margin:0px;">' . esc_html($header) . $status . ' </h2><p style="font-size:15px;margin:5px 0px;">' . $message . '</p><p style="margin:0px 0px 10px 0px;">' . $button . '</p><hr /><p style="margin:0px;color:#dd0000;">' . $note . '</p><p style="margin:0px;color:#999; font-size:12px;">' . $info . '</p></div>';
680
  }
681
 
682
  function wpforo_update_db_notice(){
683
- global $wpdb;
684
- $private_topics = $wpdb->get_var("SELECT `topicid` FROM `" . $wpdb->prefix . "wpforo_topics` WHERE `private` = 1 LIMIT 1");
685
- if( $private_topics ){
686
- $private_posts = $wpdb->get_var("SELECT `postid` FROM `" . $wpdb->prefix . "wpforo_posts` WHERE `private` = 1 LIMIT 1");
687
- if( !$private_posts ){
688
- $url = admin_url('admin.php?page=wpforo-community&action=wpfdb&wpfv=142');
689
- $class = 'wpforo-mnote notice notice-warning is-dismissible';
690
- $note = __( 'This process may take a few seconds or dozens of minutes, please be patient and don\'t close this page. Database backup is not required. If you got 500 Server Error please don\'t worry, the data updating process is still working in MySQL server.', 'wpforo');
691
- $button = '<a href="' . $url . '" class="button button-primary button-large" style="font-size:14px;">' . __( 'Updater Database', 'wpforo') . ' &gt;&gt;</a>';
692
- $header = __( 'wpForo - Update Database ', 'wpforo' );
693
- $message = __( 'Please click the button below to complete wpForo update.', 'wpforo' );
694
- echo '<div class="' . $class . '" style="padding:15px 20px;"><h2 style="margin:0px;">' . esc_html($header) . ' </h2><p style="font-size:15px;margin:5px 0px;">' . $message . '</p><p style="margin:0px 0px 10px 0px;">' . $button . '</p><hr /><p style="margin:0px;color:#ed7600;">' . $note . '</p></div>';
695
-
696
- }
697
- }
698
  }
699
 
700
- function wpforo_update_db(){
701
- global $wpdb;
702
- // ADD posts' private values from TOPICS table ///////////////////////////
703
- @$wpdb->query( "UPDATE `" . $wpdb->prefix . "wpforo_posts`, `" . $wpdb->prefix . "wpforo_topics` SET `" . $wpdb->prefix . "wpforo_posts`.`private` = `" . $wpdb->prefix . "wpforo_topics`.`private` WHERE `" . $wpdb->prefix . "wpforo_posts`.`topicid` = `" . $wpdb->prefix . "wpforo_topics`.`topicid`");
704
- // ADD INDEXES in wpforo_views TABLE///////////////////////////
705
- $args = array( 'table' => $wpdb->prefix . 'wpforo_views', 'col' => 'topicid', 'check' => 'key_exists' );
706
- if( !wpforo_db_check( $args ) ){
707
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD INDEX(`userid`);" );
708
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD INDEX(`topicid`);" );
709
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_views` ADD UNIQUE( `userid`, `topicid`);" );
710
- @$wpdb->query( "ALTER TABLE `".$wpdb->prefix."wpforo_likes` ADD UNIQUE( `userid`, `postid`);" );
711
- }
712
- update_option('wpforo_version_db', WPFORO_VERSION);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
713
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
+ // Exit if accessed directly
3
+ if( !defined( 'ABSPATH' ) ) exit;
4
+
5
  function do_wpforo_activation($network_wide){
6
+ if ( is_multisite() && $network_wide ) {
7
  global $wpdb;
8
+
9
  $old_blogid = $wpdb->blogid;
10
  $blogids = $wpdb->get_col("SELECT blog_id FROM {$wpdb->blogs}");
11
  foreach ($blogids as $blogid){
19
  }
20
 
21
  function do_wpforo_deactivation($network_wide){
22
+ if ( is_multisite() && $network_wide ) {
23
  global $wpdb;
24
+
25
  $old_blogid = $wpdb->blogid;
26
  $blogids = $wpdb->get_col("SELECT blog_id FROM {$wpdb->blogs}");
27
  foreach ($blogids as $blogid){
35
  }
36
 
37
  function wpforo_activation(){
38
+ if( ! wpforo_is_admin() ) return;
39
+ if( ! current_user_can( 'activate_plugins' ) ) return;
40
+
41
+ add_option('wpforo_default_groupid', WPF()->usergroup->default->default_groupid);
42
+
43
+ require( WPFORO_DIR . '/wpf-includes/install-sql.php' );
44
+ foreach( $wpforo_sql as $sql ) if( FALSE === @WPF()->db->query($sql) ) @WPF()->db->query( preg_replace('#)[\r\n\t\s]*ENGINE.*$#isu', ')', $sql) );
45
+
46
+ $users = WPF()->db->get_var("SELECT COUNT(*) FROM `".WPF()->db->users."`");
47
+ if( $users <= 100 ) WPF()->member->synchronize_users();
48
+ WPF()->member->init_current_user();
49
+
50
+ add_option( 'wpforo_count_per_page', 10 );
51
+
52
+ ###################################################################
53
+ // General Options ////////////////////////////////////////////////
54
+ wpforo_update_options( 'wpforo_general_options', WPF()->default->general_options );
55
+
56
+ ###################################################################
57
+ // Forums /////////////////////////////////////////////////////////
58
+ wpforo_update_options( 'wpforo_forum_options', WPF()->forum->default->options );
59
+
60
+ ##################################################################
61
+ // Topics & Posts ////////////////////////////////////////////////
62
+ wpforo_update_options( 'wpforo_post_options', WPF()->post->default->options );
63
+
64
+ #################################################################
65
+ // Features /////////////////////////////////////////////////////
66
+ wpforo_update_options( 'wpforo_features', WPF()->default->features );
67
+
68
+ #################################################################
69
+ // API //////////////////////////////////////////////////////////
70
+ wpforo_update_options( 'wpforo_api_options', WPF()->default->features );
71
+
72
+ #################################################################
73
+ // Theme & Style ////////////////////////////////////////////////
74
+ wpforo_update_options( 'wpforo_style_options', WPF()->tpl->default->style );
75
+ wpforo_update_options( 'wpforo_theme_options', WPF()->tpl->default->options );
76
+
77
+ #################################################################
78
+ // Members //////////////////////////////////////////////////////
79
+ $exlude = array('rating_title_ug', 'rating_badge_ug');
80
+ wpforo_update_options( 'wpforo_member_options', WPF()->member->default->options, $exlude);
81
+
82
+ #################################################################
83
+ // Subscribe Options ////////////////////////////////////////////
 
84
  wpforo_update_options( 'wpforo_subscribe_options', WPF()->sbscrb->default->options );
85
+
86
+ #################################################################
87
+ // Tool Options - Antispam ///////////////////////////////////////
88
+ wpforo_update_options( 'wpforo_tools_antispam', WPF()->default->tools_antispam);
89
+
90
+ #################################################################
91
+ // Tool Options - Cleanup ///////////////////////////////////////
92
+ wpforo_update_options( 'wpforo_tools_cleanup', WPF()->default->tools_cleanup);
93
+
94
+ #################################################################
95
+ // Tool Options - Misc ///////////////////////////////////////
96
+ wpforo_update_options( 'wpforo_tools_misc', WPF()->default->tools_misc);
97
+
98
+ #################################################################
99
+ // Forum Navigation and Menu ////////////////////////////////////
100
+ $menu_name = wpforo_phrase('wpForo Navigation', false, 'orig');
101
+ $menu_location = 'wpforo-menu';
102
+ $menu_exists = wp_get_nav_menu_object( $menu_name );
103
+ if(!$menu_exists){
104
+ $id = array();
105
+ $menu_id = wp_create_nav_menu($menu_name);
106
+ $id['wpforo-home'] = wp_update_nav_menu_item($menu_id, 0, array(
107
+ 'menu-item-title' => wpforo_phrase('Forums', false),
108
+ 'menu-item-classes' => 'wpforo-home',
109
+ 'menu-item-url' => '/%wpforo-home%/',
110
+ 'menu-item-status' => 'publish',
111
+ 'menu-item-parent-id' => 0,
112
+ 'menu-item-position' => 0));
113
+
114
+ $id['wpforo-members'] = wp_update_nav_menu_item($menu_id, 0, array(
115
+ 'menu-item-title' => wpforo_phrase('Members', false),
116
+ 'menu-item-classes' => 'wpforo-members',
117
+ 'menu-item-url' => '/%wpforo-members%/',
118
+ 'menu-item-status' => 'publish',
119
+ 'menu-item-parent-id' => 0,
120
+ 'menu-item-position' => 0));
121
+
122
+ $id['wpforo-recent'] = wp_update_nav_menu_item($menu_id, 0, array(
123
+ 'menu-item-title' => wpforo_phrase('Recent Posts', false),
124
+ 'menu-item-classes' => 'wpforo-recent',
125
+ 'menu-item-url' => '/%wpforo-recent%/',
126
+ 'menu-item-status' => 'publish',
127
+ 'menu-item-parent-id' => 0,
128
+ 'menu-item-position' => 0));
129
+
130
+ $id['wpforo-profile'] = wp_update_nav_menu_item($menu_id, 0, array(
131
+ 'menu-item-title' => wpforo_phrase('My Profile', false),
132
+ 'menu-item-classes' => 'wpforo-profile',
133
+ 'menu-item-url' => '/%wpforo-profile-home%/',
134
+ 'menu-item-status' => 'publish',
135
+ 'menu-item-parent-id' => 0,
136
+ 'menu-item-position' => 0));
137
+
138
+ if(isset($id['wpforo-profile']) && $id['wpforo-profile']){
139
+ $id['wpforo-profile-account'] = wp_update_nav_menu_item($menu_id, 0, array(
140
+ 'menu-item-title' => wpforo_phrase('Account', false),
141
+ 'menu-item-classes' => 'wpforo-profile-account',
142
+ 'menu-item-url' => '/%wpforo-profile-account%/',
143
+ 'menu-item-status' => 'publish',
144
+ 'menu-item-parent-id' => $id['wpforo-profile'],
145
+ 'menu-item-position' => 1)
146
+ );
147
+ $id['wpforo-profile-activity'] = wp_update_nav_menu_item($menu_id, 0, array(
148
+ 'menu-item-title' => wpforo_phrase('Activity', false),
149
+ 'menu-item-classes' => 'wpforo-profile-activity',
150
+ 'menu-item-url' => '/%wpforo-profile-activity%/',
151
+ 'menu-item-status' => 'publish',
152
+ 'menu-item-parent-id' => $id['wpforo-profile'],
153
+ 'menu-item-position' => 1)
154
+ );
155
+ $id['wpforo-profile-subscriptions'] = wp_update_nav_menu_item($menu_id, 0, array(
156
+ 'menu-item-title' => wpforo_phrase('Subscriptions', false),
157
+ 'menu-item-classes' => 'wpforo-profile-subscriptions',
158
+ 'menu-item-url' => '/%wpforo-profile-subscriptions%/',
159
+ 'menu-item-status' => 'publish',
160
+ 'menu-item-parent-id' => $id['wpforo-profile'],
161
+ 'menu-item-position' => 2)
162
+ );
163
+ }
164
+
165
+ $id['wpforo-register'] = wp_update_nav_menu_item($menu_id, 0, array(
166
+ 'menu-item-title' => wpforo_phrase('Register', false),
167
+ 'menu-item-classes' => 'wpforo-register',
168
+ 'menu-item-url' => '/%wpforo-register%/',
169
+ 'menu-item-status' => 'publish',
170
+ 'menu-item-parent-id' => 0,
171
+ 'menu-item-position' => 0));
172
+
173
+ $id['wpforo-login'] = wp_update_nav_menu_item($menu_id, 0, array(
174
+ 'menu-item-title' => wpforo_phrase('Login', false),
175
+ 'menu-item-classes' => 'wpforo-login',
176
+ 'menu-item-url' => '/%wpforo-login%/',
177
+ 'menu-item-status' => 'publish',
178
+ 'menu-item-parent-id' => 0,
179
+ 'menu-item-position' => 0));
180
+
181
+ $id['wpforo-logout'] = wp_update_nav_menu_item($menu_id, 0, array(
182
+ 'menu-item-title' => wpforo_phrase('Logout', false),
183
+ 'menu-item-classes' => 'wpforo-logout',
184
+ 'menu-item-url' => '/%wpforo-logout%/',
185
+ 'menu-item-status' => 'publish',
186
+ 'menu-item-parent-id' => 0,
187
+ 'menu-item-position' => 0));
188
+
189
+ if( !has_nav_menu( $menu_location ) ){
190
+ $locations = get_theme_mod('nav_menu_locations');
191
+ if(empty($locations)) $locations = array();
192
+ $locations[$menu_location] = $menu_id;
193
+ set_theme_mod( 'nav_menu_locations', $locations );
194
+ }
195
+ }
196
+
197
+ #################################################################
198
+ // Access Sets //////////////////////////////////////////////////
199
+ $cans_n = array('vf' => 0, 'ct' => 0, 'vt' => 0, 'et' => 0, 'dt' => 0,
200
+ 'cr' => 0, 'vr' => 0, 'er' => 0, 'dr' => 0,
201
+ 'eot' => 0, 'eor' => 0, 'dot' => 0, 'dor' => 0,
202
+ 'l' => 0, 'r' => 0, 's' => 0, 'au' => 0,
203
+ 'p' => 0, 'op' => 0, 'vp' => 0, 'sv' => 0,
204
+ 'osv' => 0, 'v' => 0, 'a' => 0, 'va' => 0,
205
+ 'at' => 0, 'oat' => 0, 'cot' => 0, 'mt' => 0, 'ccp' => 0, 'cvp' => 0, 'cvpr' => 0 );
206
+ $cans_r = array('vf' => 1, 'ct' => 0, 'vt' => 1, 'et' => 0, 'dt' => 0,
207
+ 'cr' => 0, 'vr' => 1, 'er' => 0, 'dr' => 0,
208
+ 'eot' => 0, 'eor' => 0, 'dot' => 0, 'dor' => 0,
209
+ 'l' => 0, 'r' => 0, 's' => 0, 'au' => 0,
210
+ 'p' => 0, 'op' => 0, 'vp' => 0, 'sv' => 0,
211
+ 'osv' => 0, 'v' => 0, 'a' => 0, 'va' => 1,
212
+ 'at' => 0, 'oat' => 0, 'cot' => 0, 'mt' => 0, 'ccp' => 0, 'cvp' => 0, 'cvpr' => 1 );
213
+ $cans_s = array('vf' => 1, 'ct' => 1, 'vt' => 1, 'et' => 0, 'dt' => 0,
214
+ 'cr' => 1, 'vr' => 1, 'er' => 0, 'dr' => 0,
215
+ 'eot' => 1, 'eor' => 1, 'dot' => 1, 'dor' => 1,
216
+ 'l' => 1, 'r' => 1, 's' => 0, 'au' => 0,
217
+ 'p' => 0, 'op' => 1, 'vp' => 0, 'sv' => 0,
218
+ 'osv' => 1, 'v' => 1, 'a' => 1, 'va' => 1,
219
+ 'at' => 0, 'oat' => 1, 'cot' => 0, 'mt' => 0, 'ccp' => 1, 'cvp' => 1, 'cvpr' => 1 );
220
+ $cans_m = array('vf' => 1, 'ct' => 1, 'vt' => 1, 'et' => 1, 'dt' => 1,
221
+ 'cr' => 1, 'vr' => 1, 'er' => 1, 'dr' => 1,
222
+ 'eot' => 1, 'eor' => 1, 'dot' => 1, 'dor' => 1,
223
+ 'l' => 1, 'r' => 1, 's' => 1, 'au' => 1,
224
+ 'p' => 1, 'op' => 1, 'vp' => 1, 'sv' => 1,
225
+ 'osv' => 1, 'v' => 1, 'a' => 1, 'va' => 1,
226
+ 'at' => 1, 'oat' => 1, 'cot' => 1, 'mt' => 1, 'ccp' => 1, 'cvp' => 1, 'cvpr' => 1 );
227
+ $cans_a = array('vf' => 1, 'ct' => 1, 'vt' => 1, 'et' => 1, 'dt' => 1,
228
+ 'cr' => 1, 'vr' => 1, 'er' => 1, 'dr' => 1,
229
+ 'eot' => 1, 'eor' => 1, 'dot' => 1, 'dor' => 1,
230
+ 'l' => 1, 'r' => 1, 's' => 1, 'au' => 1,
231
+ 'p' => 1, 'op' => 1, 'vp' => 1, 'sv' => 1,
232
+ 'osv' => 1, 'v' => 1, 'a' => 1, 'va' => 1,
233
+ 'at' => 1, 'oat' => 1, 'cot' => 1, 'mt' => 1, 'ccp' => 1, 'cvp' => 1, 'cvpr' => 1 );
234
+
235
+ $sql = "SELECT * FROM `".WPF()->tables->accesses."`";
236
+ $accesses = WPF()->db->get_results($sql, ARRAY_A);
237
+ if( empty($accesses) ){
238
+
239
+ $cans_n = serialize($cans_n);
240
+ $cans_r = serialize($cans_r);
241
+ $cans_s = serialize($cans_s);
242
+ $cans_m = serialize($cans_m);
243
+ $cans_a = serialize($cans_a);
244
+
245
+ $sql = "INSERT IGNORE INTO `".WPF()->tables->accesses."`
246
  (`access`, `title`, cans) VALUES
247
  ('no_access', 'No access', '". $cans_n ."'),
248
  ('read_only', 'Read only access', '". $cans_r ."'),
249
  ('standard', 'Standard access', '". $cans_s ."'),
250
  ('moderator', 'Moderator access', '".$cans_m."'),
251
  ('full', 'Full access', '".$cans_a."')";
252
+
253
+ WPF()->db->query( $sql );
254
+ }else{
255
+ foreach($accesses as $access){
256
+ $default = array();
257
+ $current = unserialize($access['cans']);
258
+ if( strtolower($access['access']) == 'no_access' ) $default = $cans_n;
259
+ elseif( strtolower($access['access']) == 'read_only' ) $default = $cans_r;
260
+ elseif( strtolower($access['access']) == 'standard' ) $default = $cans_s;
261
+ elseif( strtolower($access['access']) == 'moderator' ) $default = $cans_m;
262
+ elseif( strtolower($access['access']) == 'full' ) $default = $cans_a;
263
+ if( !empty($default) ){
264
+ $data_update = array_merge($default, $current);
265
+ if( !empty($data_update) ){
266
+ $data_update = serialize($data_update);
267
+ WPF()->db->query("UPDATE `".WPF()->tables->accesses."` SET `cans` = '" . WPF()->db->_real_escape($data_update) . "' WHERE `accessid` = " . intval($access['accessid']) );
268
+ }
269
+ }
270
+ }
271
+ }
272
+
273
+
274
+ #################################################################
275
+ // Usergroup ////////////////////////////////////////////////////
276
+ $cans_admin = array('cf' => '1', 'ef' => '1', 'df' => '1', 'vm' => '1', 'aum' => '1', 'em' => '1', 'vmg' => '1', 'aup' => '1', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '1',
277
+ 'bm' => '1', 'dm' => '1', 'upa' => '1', 'ups' => '1', 'va' => '1',
278
+ 'vmu' => '1', 'vmm' => '1', 'vmt' => '1', 'vmct' => '1',
279
+ 'vmr' => '1', 'vmw' => '1', 'vmsn' => '1', 'vmrd' => '1',
280
+ 'vmlad' => '1', 'vip' => '1', 'vml' => '1', 'vmo' => '1',
281
+ 'vms' => '1', 'vmam' => '1', 'vmpn' => '1', 'vwpm' => '1');
282
+ $cans_moder = array('cf' => '0', 'ef' => '0', 'df' => '0', 'vm' => '0', 'aum' => '1', 'em' => '0', 'vmg' => '0', 'aup' => '1', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '1',
283
+ 'bm' => '1', 'dm' => '1', 'upa' => '1', 'ups' => '1', 'va' => '1',
284
+ 'vmu' => '0', 'vmm' => '1', 'vmt' => '1', 'vmct' => '1',
285
+ 'vmr' => '1', 'vmw' => '1', 'vmsn' => '1', 'vmrd' => '1',
286
+ 'vmlad' => '1', 'vip' => '1', 'vml' => '1', 'vmo' => '1',
287
+ 'vms' => '1', 'vmam' => '1', 'vmpn' => '1', 'vwpm' => '1');
288
+ $cans_reg = array( 'cf' => '0', 'ef' => '0', 'df' => '0', 'vm' => '0', 'aum' => '0', 'em' => '0', 'vmg' => '0', 'aup' => '1', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '0',
289
+ 'bm' => '0', 'dm' => '0', 'upa' => '1', 'ups' => '1', 'va' => '1',
290
+ 'vmu' => '0', 'vmm' => '0', 'vmt' => '1', 'vmct' => '1',
291
+ 'vmr' => '1', 'vmw' => '1', 'vmsn' => '1', 'vmrd' => '1',
292
+ 'vmlad' => '1', 'vip' => '0', 'vml' => '1', 'vmo' => '1',
293
+ 'vms' => '1', 'vmam' => '1', 'vmpn' => '0', 'vwpm' => '1');
294
+ $cans_guest = array('cf' => '0', 'ef' => '0', 'df' => '0', 'vm' => '0', 'aum' => '0', 'em' => '0', 'vmg' => '0', 'aup' => '0', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '0',
295
+ 'bm' => '0', 'dm' => '0', 'upa' => '0', 'ups' => '0', 'va' => '1',
296
+ 'vmu' => '0', 'vmm' => '0', 'vmt' => '1', 'vmct' => '1',
297
+ 'vmr' => '1', 'vmw' => '0', 'vmsn' => '1', 'vmrd' => '1',
298
+ 'vmlad' => '1', 'vip' => '0', 'vml' => '1', 'vmo' => '1',
299
+ 'vms' => '1', 'vmam' => '1', 'vmpn' => '0', 'vwpm' => '0');
300
+ $cans_customer = array('cf' => '0', 'ef' => '0', 'df' => '0', 'vm' => '0', 'aum' => '0', 'em' => '0', 'vmg' => '0', 'aup' => '0', 'vmem' => '1', 'vprf' => '1', 'vpra' => '1', 'vprs' => '0',
301
+ 'bm' => '0', 'dm' => '0', 'upa' => '1', 'ups' => '1', 'va' => '1',
302
+ 'vmu' => '0', 'vmm' => '0', 'vmt' => '1', 'vmct' => '1',
303
+ 'vmr' => '1', 'vmw' => '1', 'vmsn' => '1', 'vmrd' => '1',
304
+ 'vmlad' => '1', 'vip' => '0', 'vml' => '1', 'vmo' => '1',
305
+ 'vms' => '1', 'vmam' => '1', 'vmpn' => '0', 'vwpm' => '1');
306
+
307
+
308
+ $sql = "SELECT * FROM `".WPF()->tables->usergroups."`";
309
+ if( !$usergroups = WPF()->db->get_results($sql, ARRAY_A) ){
310
+ WPF()->usergroup->add('Admin', $cans_admin, '', 'administrator', 'full', '#FF3333');
311
+ WPF()->usergroup->add('Moderator', $cans_moder, '', 'editor', 'moderator', '#0066FF');
312
+ WPF()->usergroup->add('Registered', $cans_reg, '', 'subscriber', 'standard', '');
313
+ WPF()->usergroup->add('Guest', $cans_guest, '', '', 'read_only', '#222222');
314
+ WPF()->usergroup->add('Customer', $cans_customer, '', 'subscriber', 'standard', '#993366');
315
+ }
316
+ else{
317
+ foreach($usergroups as $usergroup){
318
+ $default = array();
319
+ $current = unserialize($usergroup['cans']);
320
+ if( strtolower($usergroup['name']) == 'admin' ) $default = $cans_admin;
321
+ elseif( strtolower($usergroup['name']) == 'moderator' ) $default = $cans_moder;
322
+ elseif( strtolower($usergroup['name']) == 'registered' ) $default = $cans_reg;
323
+ elseif( strtolower($usergroup['name']) == 'guest' ) $default = $cans_guest;
324
+ elseif( strtolower($usergroup['name']) == 'customer' ) $default = $cans_customer;
325
+ if( !empty($default) ){
326
+ $data_update = array_merge($default, $current);
327
+ if( !empty($data_update) ){
328
+ $data_update = serialize($data_update);
329
+ WPF()->db->query("UPDATE `".WPF()->tables->usergroups."` SET `cans` = '" . WPF()->db->_real_escape($data_update) . "' WHERE `groupid` = " . intval($usergroup['groupid']) );
330
+ }
331
+ }
332
+ }
333
+ }
334
+ $sql = "SELECT COUNT(*) FROM `".WPF()->tables->forums."`";
335
+ $count = WPF()->db->get_var($sql);
336
+ if(!$count){
337
+ if( $parentid = WPF()->forum->add( array( 'title' => 'Main Category', 'description' => 'This is a simple category / section' ), FALSE ) ){
338
+ WPF()->forum->add( array( 'title' => 'Main Forum', 'description' => 'This is a simple parent forum', 'parentid' => $parentid, 'icon' => 'fa-comments' ), FALSE );
339
+ }
340
+ }
341
+
342
+ #################################################################
343
+ // Permalink Settings ///////////////////////////////////////////
344
+ $permalink_structure = get_option( 'permalink_structure' );
345
+ if( !$permalink_structure ){
346
+ global $wp_rewrite;
347
+ $wp_rewrite->set_permalink_structure( '/%postname%/' );
348
+ }
349
+
350
+ #################################################################
351
+ // Creating Forum Page //////////////////////////////////////////
352
+ wpforo_create_forum_page();
353
+
354
+ #################################################################
355
+ // Importing Language Packs and Phrases /////////////////////////
356
+ WPF()->phrase->xml_import('english.xml', 'install');
357
+
358
+ #################################################################
359
+ // Creating wpforo folders //////////////////////////////////////
360
+ $upload_array = wp_upload_dir();
361
+ $wpforo_upload_dir = $upload_array['basedir'].'/wpforo/';
362
+ if (!is_dir($wpforo_upload_dir)) {
363
+ wp_mkdir_p($wpforo_upload_dir);
364
+ }
365
+ $avatars_upload_dir=$upload_array['basedir'].'/wpforo/avatars/';
366
+ if (!is_dir($avatars_upload_dir)) {
367
+ wp_mkdir_p($avatars_upload_dir);
368
+ }
369
+
370
+ #################################################################
371
+ // RESET USER CACHE /////////////////////////////////////////////
372
+ WPF()->member->clear_db_cache();
373
+
374
+ #################################################################
375
+ // RESET FUNCTIONS //////////////////////////////////////////////
376
+ $sql = "SHOW COLUMNS FROM `".WPF()->tables->phrases."` WHERE `Field` LIKE 'package'";
377
+ if( !WPF()->db->get_row($sql, ARRAY_A) ){
378
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->phrases."` ADD COLUMN `package` VARCHAR(255) NOT NULL DEFAULT 'wpforo'" );
379
+ }
380
+ WPF()->phrase->clear_cache();
381
+
382
+ #################################################################
383
+ // ADD `private` field in TOPIC TABLE ///////////////////////////
384
+ $args = array( 'table' => WPF()->tables->topics, 'col' => 'private', 'check' => 'col_exists' );
385
+ if( !wpforo_db_check( $args ) ){
386
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->topics."` ADD `private` TINYINT(1) NOT NULL DEFAULT '0', ADD INDEX `is_private` (`private`);" );
387
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->topics."` ADD INDEX `own_private` ( `userid`, `private`);" );
388
+ }
389
+ // ADD INDEXES in wpforo_views TABLE///////////////////////////
390
+ $args = array( 'table' => WPF()->tables->views, 'col' => 'topicid', 'check' => 'key_exists' );
391
+ if( !wpforo_db_check( $args ) ){
392
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->views."` ADD INDEX(`userid`);" );
393
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->views."` ADD INDEX(`topicid`);" );
394
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->views."` ADD UNIQUE( `userid`, `topicid`);" );
395
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->likes."` ADD UNIQUE( `userid`, `postid`);" );
396
+ }
397
+ $args = array( 'table' => WPF()->tables->views, 'col' => 'created', 'check' => 'col_type' );
398
+ $col_type = wpforo_db_check( $args );
399
+ if( $col_type != 'int(11)' ){
400
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->views."` MODIFY `created` INT(11) NOT NULL;" );
401
+ }
402
+ // ADD `status` field in TOPICS & POSTS TABLE ///////////////////////////
403
+ $args = array( 'table' => WPF()->tables->topics, 'col' => 'status', 'check' => 'col_exists' );
404
+ if( !wpforo_db_check( $args ) ){
405
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->topics."` ADD `status` TINYINT(1) NOT NULL DEFAULT '0', ADD INDEX `status` (`status`);" );
406
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->topics."` ADD INDEX `forumid_status` ( `forumid`, `status`);" );
407
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->posts."` ADD `status` TINYINT(1) NOT NULL DEFAULT '0', ADD INDEX `status` (`status`);" );
408
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->posts."` ADD INDEX `topicid_status` ( `topicid`, `status`);" );
409
+ }
410
+ // ADD `name` and `email` field in TOPIC TABLE ///////////////////////////
411
+ $args = array( 'table' => WPF()->tables->topics, 'col' => 'name', 'check' => 'col_exists' );
412
+ if( !wpforo_db_check( $args ) ){
413
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->topics."` ADD `name` VARCHAR(50) NOT NULL, ADD `email` VARCHAR(50) NOT NULL" );
414
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->posts."` ADD `name` VARCHAR(50) NOT NULL, ADD `email` VARCHAR(50) NOT NULL" );
415
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->topics."` ADD KEY `email` (`email`)" );
416
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->posts."` ADD KEY `email` (`email`)" );
417
+ }
418
+ // ADD `utitle`, `role` and `access` to USERGROUP TABLE /////////
419
+ $args = array( 'table' => WPF()->tables->usergroups, 'col' => 'utitle', 'check' => 'col_exists' );
420
+ if( !wpforo_db_check( $args ) ){
421
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->usergroups."` ADD `utitle` VARCHAR(100), ADD `role` VARCHAR(50), ADD `access` VARCHAR(50)" );
422
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `utitle` = 'Admin', `role` = 'administrator', `access` = 'full' WHERE `groupid` = 1");
423
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `utitle` = 'Moderator', `role` = 'editor', `access` = 'moderator' WHERE `groupid` = 2");
424
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `utitle` = 'Registered', `role` = 'subscriber', `access` = 'standard' WHERE `groupid` = 3");
425
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `utitle` = 'Guest', `role` = '', `access` = 'read_only' WHERE `groupid` = 4");
426
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `utitle` = 'Customer', `role` = 'customer', `access` = 'standard' WHERE `groupid` = 5");
427
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `utitle` = 'name', `role` = 'subscriber', `access` = 'standard' WHERE `utitle` IS NULL OR `utitle` = ''");
428
+ }
429
+ #################################################################
430
+ // ADD `color` field in usergroups TABLE ///////////////////////////
431
+ $args = array( 'table' => WPF()->tables->usergroups, 'col' => 'color', 'check' => 'col_exists' );
432
+ if( !wpforo_db_check( $args ) ){
433
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->usergroups."` ADD `color` varchar(7) NOT NULL DEFAULT ''" );
434
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `color` = '#FF3333' WHERE `groupid` = 1");
435
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `color` = '#0066FF' WHERE `groupid` = 2");
436
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `color` = '#222222' WHERE `groupid` = 4");
437
+ @WPF()->db->query( "UPDATE `".WPF()->tables->usergroups."` SET `color` = '#993366' WHERE `groupid` = 5");
438
+ }
439
+ #################################################################
440
+ // ADD `visible` field in usergroups TABLE ///////////////////////////
441
+ $args = array( 'table' => WPF()->tables->usergroups, 'col' => 'visible', 'check' => 'col_exists' );
442
+ if( !wpforo_db_check( $args ) ){
443
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->usergroups."` ADD `visible` TINYINT(1) NOT NULL DEFAULT 1;" );
444
+ }
445
+ #################################################################
446
+ // ADD `online_time` field in profiles TABLE ///////////////////////////
447
+ $args = array( 'table' => WPF()->tables->profiles, 'col' => 'online_time', 'check' => 'col_exists' );
448
+ if( !wpforo_db_check( $args ) ){
449
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->profiles."` ADD `online_time` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `last_login`, ADD KEY (`online_time`)" );
450
+ }
451
+ // ADD `is_email_confirmed` field in profiles TABLE ///////////////////////////
452
+ $args = array( 'table' => WPF()->tables->profiles, 'col' => 'is_email_confirmed', 'check' => 'col_exists' );
453
+ if( !wpforo_db_check( $args ) ){
454
+ WPF()->db->query( "ALTER TABLE `".WPF()->tables->profiles."` ADD `is_email_confirmed` TINYINT(1) NOT NULL DEFAULT 0, ADD KEY (`is_email_confirmed`)" );
455
+ WPF()->db->query( "UPDATE `".WPF()->tables->profiles."`
456
+ JOIN `".WPF()->tables->subscribes."`
457
+ ON `".WPF()->tables->subscribes."`.`userid` = `".WPF()->tables->profiles."`.`userid`
458
+ SET `".WPF()->tables->profiles."`.`is_email_confirmed` = 1
459
+ WHERE `".WPF()->tables->subscribes."`.`active` = 1");
460
+ WPF()->db->query("UPDATE `".WPF()->tables->profiles."` SET `is_email_confirmed` = 1 WHERE `groupid` = 1");
461
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
462
  #################################################################
463
  // DROP uname unique key from profiles TABLE ///////////////////////////
464
+ $args = array( 'table' => WPF()->tables->profiles, 'col' => 'UNIQUE USERNAME', 'check' => 'key_exists' );
465
+ if( wpforo_db_check( $args ) ){
466
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->profiles."` DROP KEY `UNIQUE USERNAME`" );
467
+ }
468
+ $args = array( 'table' => WPF()->tables->profiles, 'col' => 'UNIQUE ID', 'check' => 'key_exists' );
469
  if( wpforo_db_check( $args ) ){
470
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->profiles."` DROP KEY `UNIQUE ID`" );
471
+ }
472
+ #################################################################
473
+ // ADD `private` field in post TABLE ///////////////////////////
474
+ $args = array( 'table' => WPF()->tables->posts, 'col' => 'private', 'check' => 'col_exists' );
475
+ if( !wpforo_db_check( $args ) ){
476
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->posts."` ADD `private` TINYINT(1) NOT NULL DEFAULT 0, ADD INDEX `is_private` (`private`)" );
477
+ }
478
+ #################################################################
479
+ // ADD `unique_vote` KEY in post Votes ///////////////////////////
480
+ $args = array( 'table' => WPF()->tables->votes, 'col' => 'unique_vote', 'check' => 'key_exists' );
 
 
 
 
 
 
 
 
481
  if( !wpforo_db_check( $args ) ){
482
+ $args = array( 'table' => WPF()->tables->votes, 'col' => 'userid', 'check' => 'key_exists' );
483
+ if( wpforo_db_check( $args ) ) @WPF()->db->query( "ALTER TABLE `".WPF()->tables->votes."` DROP KEY `userid`" );
484
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->votes."` ADD UNIQUE KEY `unique_vote` (`userid`, `postid`, `reaction`)" );
485
+ }
486
+ #################################################################
487
+ //Add user_name col in subsciption table///////////////////////////
488
+ $args = array( 'table' => WPF()->tables->subscribes, 'col' => 'user_name', 'check' => 'col_exists' );
489
+ if( !wpforo_db_check( $args ) ){
490
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->subscribes."` ADD `user_name` VARCHAR(60) NOT NULL DEFAULT ''" );
491
  }
492
  //Add user_email col in subsciption table
493
+ $args = array( 'table' => WPF()->tables->subscribes, 'col' => 'user_email', 'check' => 'col_exists' );
494
  if( !wpforo_db_check( $args ) ){
495
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->subscribes."` ADD `user_email` VARCHAR(60) NOT NULL DEFAULT ''" );
496
  }
497
  //Add indexes for subscribe new fields
498
+ $args = array( 'table' => WPF()->tables->subscribes, 'col' => 'fld_group_unq', 'check' => 'key_exists' );
499
  if( !wpforo_db_check( $args ) ){
500
+ $args = array( 'table' => WPF()->tables->subscribes, 'col' => 'itemid', 'check' => 'key_exists' );
501
+ if( wpforo_db_check( $args ) ) @WPF()->db->query( "ALTER TABLE `".WPF()->tables->subscribes."` DROP KEY `itemid`" );
502
+ wpforo_add_unique_key( WPF()->tables->subscribes, 'subid', 'fld_group_unq', '`itemid`, `type`, `userid`, `user_email`(60)');
503
+ }
504
+ $args = array( 'table' => WPF()->tables->subscribes, 'col' => 'type', 'check' => 'col_type' );
505
+ $col_type = wpforo_db_check( $args );
506
+ if( $col_type != 'varchar(50)' ){
507
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->subscribes."` MODIFY `type` VARCHAR(50) NOT NULL" );
508
+ }
509
+
510
+ #################################################################
511
+ // CHECK Addon Notice /////////////////////////////////////////
512
+ $lastHash = get_option('wpforo-addon-note-dismissed');
513
+ $first = get_option('wpforo-addon-note-first');
514
+ if( $lastHash && $first == 'true' ) {
515
+ update_option('wpforo-addon-note-first', 'false');
516
+ }
517
+
518
+ #################################################################
519
+ // UPDATE VERSION - END /////////////////////////////////////////
520
+ update_option('wpforo_version', WPFORO_VERSION);
521
+ WPF()->notice->clear();
522
+ wpforo_clean_cache();
523
  }
524
 
525
 
526
  function wpforo_update() {
527
+ if ( get_option('wpforo_version') && WPFORO_VERSION !== get_option('wpforo_version') ) wpforo_activation();
528
  }
529
  add_action('wp_loaded', 'wpforo_update');
530
 
531
 
532
  function wpforo_update_options( $option_key, $default, $exlude = array() ) {
533
+
534
+ $option = get_option( $option_key, array() );
535
+
536
+ if( !empty($option) ){
537
+ if( !empty($exlude) ){
538
+ foreach( $exlude as $key ){
539
+ if( isset($default[$key]) ) unset($default[$key]);
540
+ }
541
+ }
542
+ $option_update = array_merge($default, $option);
543
+ }
544
+ else{
545
+ $option_update = $default;
546
+ }
547
+
548
+ update_option( $option_key, $option_update );
549
  }
550
 
551
 
552
  function wpforo_deactivation() {}
553
 
554
 
555
+ function wpforo_uninstall() {
556
+ if( ! wpforo_is_admin() ) return;
557
+ if( ! current_user_can( 'activate_plugins' ) ) return;
558
+ $QUERY_STRING = trim(preg_replace('|_wpnonce=[^\&\?\=]*|is', '', $_SERVER['QUERY_STRING']), '&');
559
+
560
+ if( 'action=wpforo-uninstall' == trim($QUERY_STRING) ){
561
+
562
+ foreach(WPF()->tables as $table){
563
+ $sql = "DROP TABLE IF EXISTS `$table`;";
564
+ WPF()->db->query( $sql );
565
+ }
566
+
567
+ if( isset(WPF()->pageid) && WPF()->pageid ){
568
+ wp_delete_post( WPF()->pageid, true );
569
+ }
570
+
571
+ $options = array( 'wpforo_version',
572
+ 'wpforo_url',
573
+ 'wpforo_stat',
574
+ 'wpforo_general_options',
575
+ 'wpforo_pageid',
576
+ 'wpforo_count_per_page',
577
+ 'wpforo_default_groupid',
578
+ 'wpforo_forum_options',
579
+ 'wpforo_post_options',
580
+ 'wpforo_member_options',
581
+ 'wpforo_subscribe_options',
582
+ 'wpforo_theme_options',
583
+ 'wpforo_features',
584
+ 'wpforo_style_options',
585
+ 'wpforo_permastruct',
586
+ 'wpforo_use_home_url',
587
+ 'wpforo_excld_urls',
588
+ 'wpforo_tools_antispam',
589
+ 'wpforo_tools_cleanup',
590
+ 'wpforo_tools_misc'
591
+ );
592
+
593
+ foreach($options as $option){
594
+ if( strpos( $option, 'wpforo_' ) !== FALSE){
595
+ delete_option( $option );
596
+ }
597
+ }
598
+
599
+ WPF()->db->query( "DELETE FROM `" . WPF()->db->usermeta."` WHERE `meta_key` = '_wpf_member_obj'" );
600
+ WPF()->db->query( "DELETE FROM `" . WPF()->db->options."` WHERE option_name LIKE 'wpforo_stat%'" );
601
+ WPF()->db->query( "DELETE FROM `" . WPF()->db->options."` WHERE option_name LIKE 'widget_wpforo_widget_%'" );
602
+
603
+ $menu = wp_get_nav_menu_object( 'wpforo-navigation' );
604
+ wp_delete_nav_menu( $menu->term_id );
605
+ wp_delete_post(WPF()->pageid, TRUE);
606
+
607
+ deactivate_plugins( WPFORO_BASENAME );
608
+
609
+ }
610
+ else{
611
+ return;
612
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
613
  }
614
 
615
  function wpforo_profile_notice(){
616
+ if( is_multisite() ){
617
+ $users = WPF()->db->get_var("SELECT COUNT(*) FROM `".WPF()->db->usermeta."` WHERE `meta_key` LIKE '".WPF()->blog_prefix."capabilities'");
618
+ } else {
619
+ $users = WPF()->db->get_var("SELECT COUNT(*) FROM `".WPF()->db->users."`");
620
+ }
621
+ $profiles = WPF()->db->get_var("SELECT COUNT(*) FROM `".WPF()->tables->profiles."`");
622
+ $delta = $users - $profiles;
623
+ $status = ( $delta > 2 ) ? round((( $profiles * 100 ) / $users ), 1) . '% (' . $profiles . ' / ' . $users . ') ' : '100%';
624
+ $btext = ( $profiles == 0 ) ? __( 'Start Profile Synchronization', 'wpforo') : __( 'Continue Synchronization', 'wpforo');
625
+ $url = admin_url('admin.php?page=wpforo-community&action=synch');
626
+ $class = 'wpforo-mnote notice notice-warning is-dismissible';
627
+ $note = __( 'This process may take a few seconds or dozens of minutes, please be patient and don\'t close this page.', 'wpforo');
628
+ $info = __( 'You can permanently disable this message in Dashboard > Forums > Features admin page.', 'wpforo');
629
+ $button = '<a href="' . $url . '" class="button button-primary button-large" style="font-size:14px;">' . $btext . ' &gt;&gt;</a>';
630
+ $header = __( 'wpForo Forum Installation | ', 'wpforo' );
631
+ $message = __( 'Forum users\' profile data are not synchronized yet, this step is required! Please click the button below to complete installation.', 'wpforo' );
632
+ echo '<div class="' . $class . '" style="padding:15px 20px;"><h2 style="margin:0px;">' . esc_html($header) . $status . ' </h2><p style="font-size:15px;margin:5px 0px;">' . $message . '</p><p style="margin:0px 0px 10px 0px;">' . $button . '</p><hr /><p style="margin:0px;color:#dd0000;">' . $note . '</p><p style="margin:0px;color:#999; font-size:12px;">' . $info . '</p></div>';
 
 
633
  }
634
 
635
  function wpforo_update_db_notice(){
636
+ $private_topics = WPF()->db->get_var("SELECT `topicid` FROM `".WPF()->tables->topics."` WHERE `private` = 1 LIMIT 1");
637
+ if( $private_topics ){
638
+ $private_posts = WPF()->db->get_var("SELECT `postid` FROM `".WPF()->tables->posts."` WHERE `private` = 1 LIMIT 1");
639
+ if( !$private_posts ){
640
+ $url = admin_url('admin.php?page=wpforo-community&action=wpfdb&wpfv=142');
641
+ $class = 'wpforo-mnote notice notice-warning is-dismissible';
642
+ $note = __( 'This process may take a few seconds or dozens of minutes, please be patient and don\'t close this page. Database backup is not required. If you got 500 Server Error please don\'t worry, the data updating process is still working in MySQL server.', 'wpforo');
643
+ $button = '<a href="' . $url . '" class="button button-primary button-large" style="font-size:14px;">' . __( 'Updater Database', 'wpforo') . ' &gt;&gt;</a>';
644
+ $header = __( 'wpForo - Update Database ', 'wpforo' );
645
+ $message = __( 'Please click the button below to complete wpForo update.', 'wpforo' );
646
+ echo '<div class="' . $class . '" style="padding:15px 20px;"><h2 style="margin:0px;">' . esc_html($header) . ' </h2><p style="font-size:15px;margin:5px 0px;">' . $message . '</p><p style="margin:0px 0px 10px 0px;">' . $button . '</p><hr /><p style="margin:0px;color:#ed7600;">' . $note . '</p></div>';
647
+
648
+ }
649
+ }
 
650
  }
651
 
652
+ function wpforo_get_shortcode_pageid( $exclude = array() ){
653
+ $exclude = array_filter( array_map('wpforo_bigintval', (array) $exclude) );
654
+ $sql = "SELECT `ID` FROM `".WPF()->db->posts."`
655
+ WHERE `post_content` LIKE '%[wpforo]%'
656
+ AND `post_status` LIKE 'publish'
657
+ AND `post_type` IN('post', 'page')";
658
+ if( $exclude ) $sql .= " AND `ID` NOT IN(". implode(',', $exclude) .")";
659
+ return WPF()->db->get_var($sql);
660
+ }
661
+
662
+ function wpforo_create_forum_page(){
663
+ if( !WPF()->pageid ||
664
+ !WPF()->db->get_var("SELECT `ID` FROM `".WPF()->db->posts."` WHERE `ID` = '".intval(WPF()->pageid)."' AND ( `post_content` LIKE '%[wpforo]%' OR `post_content` LIKE '%[wpforo-index]%' ) AND `post_status` LIKE 'publish' AND `post_type` IN('post', 'page')") ){
665
+ if( !$page_id = wpforo_get_shortcode_pageid( get_option('page_on_front') ) ){
666
+ $wpforo_page = array(
667
+ 'post_date' => current_time( 'mysql', 1 ),
668
+ 'post_date_gmt' => current_time( 'mysql', 1 ),
669
+ 'post_content' => '[wpforo]',
670
+ 'post_title' => 'Forum',
671
+ 'post_status' => 'publish',
672
+ 'comment_status' => 'close',
673
+ 'ping_status' => 'close',
674
+ 'post_name' => 'community',
675
+ 'post_modified' => current_time( 'mysql', 1 ),
676
+ 'post_modified_gmt' => current_time( 'mysql', 1 ),
677
+ 'post_parent' => 0,
678
+ 'menu_order' => 0,
679
+ 'post_type' => 'page'
680
+ );
681
+ $page_id = wp_insert_post( $wpforo_page );
682
+ }
683
+ if( $page_id && !is_wp_error($page_id) ){
684
+ update_option( 'wpforo_pageid', $page_id );
685
+ update_option( 'wpforo_use_home_url', '0' );
686
+ $wpforo_url = get_wpf_option('wpforo_url');
687
+ if( !$wpforo_url ){
688
+ update_option( 'wpforo_permastruct', 'community' );
689
+ update_option( 'wpforo_url', esc_url( home_url('/') ) . "community/" );
690
+ }else{
691
+ if( !WPF()->permastruct ){
692
+ update_option( 'wpforo_permastruct', basename($wpforo_url) );
693
+ update_option( 'wpforo_url', esc_url( home_url('/') ) . basename($wpforo_url) . "/" );
694
+ }else{
695
+ update_option( 'wpforo_url', esc_url( home_url('/') ) . WPF()->permastruct . "/" );
696
+ }
697
+ }
698
+ }
699
+ }else{
700
+ if( !WPF()->use_home_url ) update_option( 'wpforo_use_home_url', '0' );
701
+ if( !WPF()->permastruct ) update_option( 'wpforo_permastruct', basename( get_wpf_option('wpforo_url') ) );
702
+ WPF()->db->query("UPDATE `".WPF()->db->posts."` SET `post_content` = REPLACE(`post_content`, '[wpforo-index]', '[wpforo]') WHERE `ID` = '".WPF()->pageid."'");
703
+ }
704
+
705
+ WPF()->pageid = get_wpf_option( 'wpforo_pageid');
706
+ WPF()->permastruct = trim( get_wpf_option('wpforo_permastruct'), '/' );
707
+ flush_rewrite_rules(FALSE);
708
+ nocache_headers();
709
  }
710
+
711
+ function wpforo_update_db(){
712
+ // ADD posts' private values from TOPICS table ///////////////////////////
713
+ @WPF()->db->query( "UPDATE `".WPF()->tables->posts."`, `".WPF()->tables->topics."` SET `".WPF()->tables->posts."`.`private` = `".WPF()->tables->topics."`.`private` WHERE `".WPF()->tables->posts."`.`topicid` = `".WPF()->tables->topics."`.`topicid`");
714
+ // ADD INDEXES in wpforo_views TABLE///////////////////////////
715
+ $args = array( 'table' => WPF()->tables->views, 'col' => 'topicid', 'check' => 'key_exists' );
716
+ if( !wpforo_db_check( $args ) ){
717
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->views."` ADD INDEX(`userid`);" );
718
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->views."` ADD INDEX(`topicid`);" );
719
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->views."` ADD UNIQUE( `userid`, `topicid`);" );
720
+ @WPF()->db->query( "ALTER TABLE `".WPF()->tables->likes."` ADD UNIQUE( `userid`, `postid`);" );
721
+ }
722
+ update_option('wpforo_version_db', WPFORO_VERSION);
723
+ }
wpf-includes/functions-integration.php CHANGED
@@ -56,7 +56,7 @@ function wpforo_seo_clear(){
56
  add_filter( 'wpseo_opengraph_image', '__return_false' );
57
  add_filter( 'wpseo_opengraph_image_size', '__return_false' );
58
  add_filter( 'wpseo_opengraph_site_name', '__return_false' );
59
- add_filter( 'wp_seo_get_bc_title', '__return_false' );
60
  add_filter( 'wp_seo_get_bc_ancestors', '__return_false' );
61
  add_filter( 'wpseo_whitelist_permalink_vars', '__return_false' );
62
  add_filter( 'wpseo_prev_rel_link', '__return_false' );
@@ -76,89 +76,23 @@ function wpforo_seo_clear(){
76
  add_action( 'parse_query', 'wpforo_seo_clear' );
77
 
78
 
79
- //Insert BuddyPress Activity
80
- function wpforo_bp_activity( $args = array() ){
81
-
82
- if( !function_exists('bp_activity_add') || !is_user_logged_in() ) return false;
83
-
84
- $default = array( 'action' => '',
85
- 'title' => '',
86
- 'content' => '',
87
- 'component' => 'WPForo',
88
- 'type' => false,
89
- 'primary_link' => '',
90
- 'user_id' => '',
91
- 'item_id' => false,
92
- 'hide_sitewide' => false,
93
- 'is_spam' => false);
94
-
95
- $args = wpforo_parse_args( $args, $default );
96
-
97
- if( function_exists('bp_activity_add') ){
98
- if( function_exists('bp_loggedin_user_domain')){
99
- $user_url = bp_loggedin_user_domain($args['user_id']);
100
- if(function_exists('bp_core_get_user_displayname')){
101
- $user_name = bp_core_get_user_displayname( $args['user_id']);
102
- if( $user_url && $user_name ){
103
- $user_link = '<a href="' . esc_url($user_url) . '">'. esc_html($user_name) .'</a>';
104
- $content_link = ( $args['primary_link'] && $args['title']) ? '<a href="' . esc_url($args['primary_link']) . '">'. esc_html($args['title']) .'</a> - ' : $args['title'] . ' - ';
105
- if( $args['type'] == 'wpforo_topic' ){
106
- $args['action'] = sprintf( wpforo_phrase('%s posted a new topic %s', false), $user_link, $content_link);
107
- }
108
- elseif( $args['type'] == 'wpforo_post' ){
109
- $args['action'] = sprintf( wpforo_phrase('%s posted in topic %s', false), $user_link, $content_link);
110
- }
111
- elseif( $args['type'] == 'wpforo_like' ){
112
- $args['action'] = sprintf( wpforo_phrase('%s liked forum post %s', false), $user_link, $content_link);
113
- }
114
- }
115
- }
116
- }
117
- return $activity_id = bp_activity_add( $args );
118
- }
119
  }
 
120
 
121
- //Delete BuddyPress Activity
122
- function wpforo_bp_activity_delete( $args = array() ){
123
-
124
- if( !function_exists('bp_activity_delete') || !is_user_logged_in() ) return false;
125
-
126
- $default = array( 'action' => '',
127
- 'title' => '',
128
- 'content' => '',
129
- 'component' => 'WPForo',
130
- 'type' => false,
131
- 'primary_link' => '',
132
- 'user_id' => '',
133
- 'item_id' => false,
134
- 'hide_sitewide' => false,
135
- 'is_spam' => false);
136
-
137
- $args = wpforo_parse_args( $args, $default );
138
- if( function_exists('bp_activity_delete') ){
139
- bp_activity_delete( $args );
140
- }
141
- }
142
-
143
- //Disable comment button for wpForo activity
144
- function wpforo_bp_activity_disable_comment( $can_comment = true ){
145
- if ( false === $can_comment ) return $can_comment;
146
- if( function_exists('bp_get_activity_action_name') ){
147
- $action_name = bp_get_activity_action_name();
148
- $disabled_actions = array( 'wpforo_topic', 'wpforo_post', 'wpforo_like' );
149
- $disabled_actions = apply_filters( 'wpforo_bp_activity_disable_comment', $disabled_actions );
150
- if ( in_array( $action_name, $disabled_actions ) ) {
151
- $can_comment = false;
152
- }
153
- }
154
- return $can_comment;
155
- }
156
-
157
- //Register BuddyPress Activities
158
- function wpforo_bp_register_activity_actions() {
159
- bp_activity_set_action( 'WPForo', 'wpforo_topic', wpforo_phrase( 'Forum topic', false ), '', wpforo_phrase( 'Forum topic', false ), array( 'member' ));
160
- bp_activity_set_action( 'WPForo', 'wpforo_post', wpforo_phrase( 'Forum post', false ), '', wpforo_phrase( 'Forum post', false ), array( 'member' ));
161
- bp_activity_set_action( 'WPForo', 'wpforo_like', wpforo_phrase( 'Forum post like', false ), '', wpforo_phrase( 'Forum post like', false ), array( 'member' ));
162
- }
163
- add_action( 'bp_register_activity_actions', 'wpforo_bp_register_activity_actions' );
164
- add_filter( 'bp_activity_can_comment', 'wpforo_bp_activity_disable_comment');
56
  add_filter( 'wpseo_opengraph_image', '__return_false' );
57
  add_filter( 'wpseo_opengraph_image_size', '__return_false' );
58
  add_filter( 'wpseo_opengraph_site_name', '__return_false' );
59
+ add_filter( 'wpseo_breadcrumb_single_link_info', '__return_false' );
60
  add_filter( 'wp_seo_get_bc_ancestors', '__return_false' );
61
  add_filter( 'wpseo_whitelist_permalink_vars', '__return_false' );
62
  add_filter( 'wpseo_prev_rel_link', '__return_false' );
76
  add_action( 'parse_query', 'wpforo_seo_clear' );
77
 
78
 
79
+ /**
80
+ * Initiate BuddyPress Integration (Profile Activity and Profile Forums)
81
+ */
82
+ function wpforo_bp_profile() {
83
+ if ( ! function_exists( 'buddypress' ) ) {
84
+ function buddypress() { return isset( $GLOBALS['bp'] ) ? $GLOBALS['bp'] : false; }
85
+ }
86
+ if ( ! buddypress() || buddypress()->maintenance_mode ) return;
87
+ require( WPFORO_DIR . '/wpf-includes/integration/buddypress.php' );
88
+ if(wpforo_feature('bp_forum_tab')){
89
+ WPF()->add->buddypress = new WPF_Forums_Component();
90
+ }
91
+ if(wpforo_feature('bp_profile')){
92
+ add_filter( 'wpforo_member_profile_url', 'wpforo_bp_profile_url', 10, 3 );
93
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  }
95
+ add_action( 'bp_include', 'wpforo_bp_profile', 10 );
96
 
97
+ //Include functions for General Data Protection Regulation (GDPR)
98
+ include( WPFORO_DIR . '/wpf-includes/integration/legal.php' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wpf-includes/functions-template.php CHANGED
@@ -383,13 +383,30 @@ class wpForo_Widget_online_members extends WP_Widget {
383
  } // widget online members
384
 
385
  class wpForo_Widget_recent_topics extends WP_Widget {
 
 
386
  function __construct() {
387
  parent::__construct(
388
  'wpForo_Widget_recent_topics', // Base ID
389
  'wpForo Recent Topics', // Name
390
  array( 'description' => 'Your forum\'s recent topics.' ) // Args
391
  );
 
392
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
393
  public function widget( $args, $instance ) {
394
  echo $args['before_widget'];//This is a HTML content//
395
  echo '<div id="wpf-widget-recent-replies" class="wpforo-widget-wrap">';
@@ -400,8 +417,8 @@ class wpForo_Widget_recent_topics extends WP_Widget {
400
  $private = (!is_user_logged_in() || !WPF()->perm->usergroup_can('em')) ? 0 : NULL;
401
  $status = (!is_user_logged_in() || !WPF()->perm->usergroup_can('em')) ? 0 : NULL;
402
  $topic_args = array( // forumid, order, parentid
403
- 'orderby' => 'created',
404
- 'order' => 'DESC', // ASC DESC
405
  'row_count' => $instance['count'], // 4 or 1 ...
406
  'private' => $private,
407
  'status' => $status
@@ -438,13 +455,29 @@ class wpForo_Widget_recent_topics extends WP_Widget {
438
  }
439
  public function form( $instance ) {
440
  $title = ! empty( $instance['title'] ) ? $instance['title'] : 'Recent Topics';
 
 
441
  $count = ! empty( $instance['count'] ) ? $instance['count'] : '9';
442
  $display_avatar = isset( $instance['display_avatar'] ) ? (bool) $instance['display_avatar'] : false;
443
  ?>
444
  <p>
445
  <label><?php _e('Title', 'wpforo'); ?>:</label>
446
  <input class="widefat" name="<?php echo esc_attr($this->get_field_name( 'title' )); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
447
- </p><p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
448
  <label><?php _e('Number of Items', 'wpforo'); ?></label>&nbsp;
449
  <input type="number" min="1" style="width: 53px;" name="<?php echo esc_attr($this->get_field_name( 'count' )); ?>" value="<?php echo esc_attr($count) ; ?>">
450
  </p><p>
@@ -456,6 +489,8 @@ class wpForo_Widget_recent_topics extends WP_Widget {
456
  public function update( $new_instance, $old_instance ) {
457
  $instance = array();
458
  $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
 
 
459
  $instance['count'] = ( ! empty( $new_instance['count'] ) ) ? intval( $new_instance['count'] ) : '';
460
  $instance['display_avatar'] = isset( $new_instance['display_avatar'] ) ? (bool) $new_instance['display_avatar'] : false;
461
  return $instance;
@@ -919,8 +954,8 @@ function wpforo_member_link( $member, $prefix = '', $length = 30, $class = '', $
919
  $color = (isset($member['color']) && $member['color'] ) ? 'style="color:' . $member['color'] . '"' : '';
920
  $class = ($class) ? 'class="' . $class . '"' : '';
921
  $title = ($member['display_name']) ? 'title="' . esc_attr($member['display_name']) . '"' : '';
922
- if( isset($member['profile_url']) && $member['profile_url'] ){
923
- ?><a href="<?php echo esc_url($member['profile_url']) ?>" <?php echo $color ?> <?php echo $class ?> <?php echo $title ?>><?php if( strpos($prefix, '%s') !== FALSE ): ?><?php echo sprintf( wpforo_phrase($prefix, FALSE), esc_html(wpforo_text($display_name, $length, FALSE)) ); ?><?php else: ?><?php if( $prefix ){ echo wpforo_phrase( $prefix, false) . ' '; } ?><?php if( $length ){ echo esc_html(wpforo_text($display_name, $length, false)); } else { echo esc_html($display_name); } ?><?php endif; ?></a><?php
924
  }
925
  else{
926
  ?><?php if( strpos($prefix, '%s') !== FALSE ): ?><?php echo sprintf( wpforo_phrase($prefix, FALSE), esc_html(wpforo_text($display_name, $length, FALSE)) ); ?><?php else: ?><?php if( $prefix ){ echo wpforo_phrase( $prefix, false) . ' '; } ?><?php if( $length ){ echo esc_html(wpforo_text($display_name, $length, false)); } else { echo esc_html($display_name); } ?><?php endif; ?><?php
@@ -953,7 +988,7 @@ function wpforo_lostpassword(){ ?>
953
  </div>
954
  <div class="wpf-field">
955
  <div class="wpf-field-wrap" style="text-align:center; width:100%;">
956
- <input type="submit" name="submit" value="<?php wpforo_phrase('Reset Password') ?>" />
957
  </div>
958
  <div class="wpf-field-cl"></div>
959
  </div>
@@ -1300,6 +1335,92 @@ function wpforo_moderation_tools(){
1300
  <?php
1301
  }
1302
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1303
 
1304
  /**
1305
  * Add an activity item.
@@ -1319,22 +1440,22 @@ function wpforo_moderation_tools(){
1319
  */
1320
  function wpforo_activity( $args = array() ){
1321
 
1322
- $default = array( 'action' => '', 'title' => '', 'content' => '', 'component' => 'WPForo', 'type' => '', 'primary_link' => '', 'user_id' => '', 'item_id'=> '', 'date_recorded' => '');
1323
  $args = wpforo_parse_args( $args, $default );
1324
 
1325
  //BuddyPress Member Activity
1326
- if( wpforo_feature('bp_activity') ){
1327
  wpforo_bp_activity( $args );
1328
  }
1329
  }
1330
 
1331
  function wpforo_activity_delete( $args = array() ){
1332
 
1333
- $default = array( 'action' => '', 'title' => '', 'content' => '', 'component' => 'activity', 'type' => '', 'primary_link' => '', 'user_id' => '', 'item_id'=> '', 'date_recorded' => '');
1334
  $args = wpforo_parse_args( $args, $default );
1335
 
1336
  //Delete BuddyPress Member Activity
1337
- if( wpforo_feature('bp_activity') ){
1338
  wpforo_bp_activity_delete( $args );
1339
  }
1340
  }
@@ -1351,7 +1472,8 @@ function wpforo_activity_content( $item = array() ){
1351
  return false;
1352
  }
1353
  }
1354
- if( isset($item['first_postid']) && $item['first_postid'] ) {
 
1355
  $args['item_id'] = $item['first_postid'];
1356
  }
1357
  elseif( isset($item['postid']) && $item['postid'] ){
@@ -1373,7 +1495,7 @@ function wpforo_activity_content( $item = array() ){
1373
  $args['primary_link'] = $item['posturl'];
1374
  if( isset($item['title']) ) $args['title'] = preg_replace('|^.+?\:\s*|is', '', $item['title']);
1375
  if( $args['title'] ) $args['title'] = ' "' . esc_html($args['title']) . '"';
1376
- $args['action'] = sprintf( wpforo_phrase('%s posted in topic %s', false), '', '');
1377
  }
1378
  if( $args['content'] ) {
1379
  $content_words = explode(' ', $args['content']);
@@ -1390,17 +1512,54 @@ function wpforo_activity_content( $item = array() ){
1390
  function wpforo_activity_content_delete( $item = array() ){
1391
  $args = array();
1392
  if( empty($item) ) return false;
1393
- if( isset($item['is_first_post']) && $item['is_first_post'] ) {
 
 
 
 
1394
  $args['item_id'] = $item['postid'];
1395
  $args['type'] = 'wpforo_topic';
1396
  }
1397
- elseif( isset($item['postid']) && $item['postid'] ){
1398
  $args['item_id'] = $item['postid'];
1399
  $args['type'] = 'wpforo_post';
1400
  }
1401
- if($args['item_id'] && $args['type']) wpforo_activity_delete( $args );
1402
  }
1403
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1404
 
1405
  function wpforo_activity_like( $item = array() ){
1406
  $args = array();
@@ -1435,11 +1594,11 @@ function wpforo_activity_like_delete( $item = array() ){
1435
  if($args['item_id'] && $args['type']) wpforo_activity_delete( $args );
1436
  }
1437
 
1438
- add_action( 'wpforo_after_add_topic', 'wpforo_activity_content' );
1439
- add_action( 'wpforo_after_add_post', 'wpforo_activity_content' );
1440
- add_action( 'wpforo_like', 'wpforo_activity_like' );
1441
- add_action( 'wpforo_after_delete_post', 'wpforo_activity_content_delete' );
1442
- add_action( 'wpforo_after_delete_post', 'wpforo_activity_like_delete' );
1443
 
1444
 
1445
  function wpforo_user_field( $field = '', $userid = 0, $echo = true ){
@@ -1471,4 +1630,42 @@ function wpforo_content( $post, $echo = true ){
1471
  return $content;
1472
  }
1473
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1474
  }
383
  } // widget online members
384
 
385
  class wpForo_Widget_recent_topics extends WP_Widget {
386
+ private $orderby_fields = array();
387
+ private $order_fields = array();
388
  function __construct() {
389
  parent::__construct(
390
  'wpForo_Widget_recent_topics', // Base ID
391
  'wpForo Recent Topics', // Name
392
  array( 'description' => 'Your forum\'s recent topics.' ) // Args
393
  );
394
+ $this->init_local_vars();
395
  }
396
+
397
+ private function init_local_vars(){
398
+ $this->orderby_fields = array(
399
+ 'created' => __('Created Date', 'wpforo'),
400
+ 'modified' => __('Modified Date', 'wpforo'),
401
+ 'posts' => __('Posts Count', 'wpforo'),
402
+ 'views' => __('Views Count', 'wpforo')
403
+ );
404
+ $this->order_fields = array(
405
+ 'DESC' => __('DESC', 'wpforo'),
406
+ 'ASC' => __('ASC', 'wpforo')
407
+ );
408
+ }
409
+
410
  public function widget( $args, $instance ) {
411
  echo $args['before_widget'];//This is a HTML content//
412
  echo '<div id="wpf-widget-recent-replies" class="wpforo-widget-wrap">';
417
  $private = (!is_user_logged_in() || !WPF()->perm->usergroup_can('em')) ? 0 : NULL;
418
  $status = (!is_user_logged_in() || !WPF()->perm->usergroup_can('em')) ? 0 : NULL;
419
  $topic_args = array( // forumid, order, parentid
420
+ 'orderby' => (key_exists($instance['orderby'], $this->orderby_fields) ? $instance['orderby'] : 'created' ),
421
+ 'order' => (key_exists($instance['order'], $this->order_fields) ? $instance['order'] : 'DESC' ), // ASC DESC
422
  'row_count' => $instance['count'], // 4 or 1 ...
423
  'private' => $private,
424
  'status' => $status
455
  }
456
  public function form( $instance ) {
457
  $title = ! empty( $instance['title'] ) ? $instance['title'] : 'Recent Topics';
458
+ $orderby = ! empty( $instance['orderby'] ) ? $instance['orderby'] : 'created';
459
+ $order = ! empty( $instance['order'] ) ? $instance['order'] : 'DESC';
460
  $count = ! empty( $instance['count'] ) ? $instance['count'] : '9';
461
  $display_avatar = isset( $instance['display_avatar'] ) ? (bool) $instance['display_avatar'] : false;
462
  ?>
463
  <p>
464
  <label><?php _e('Title', 'wpforo'); ?>:</label>
465
  <input class="widefat" name="<?php echo esc_attr($this->get_field_name( 'title' )); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
466
+ </p>
467
+ <p>
468
+ <label for="orderby"><?php _e('Order by', 'wpforo'); ?>:</label>
469
+ <select name="<?php echo esc_attr($this->get_field_name( 'orderby' )); ?>" id="orderby">
470
+ <?php foreach ($this->orderby_fields as $orderby_key => $orderby_field ) : ?>
471
+ <option value="<?php echo $orderby_key; ?>"<?php echo ( $orderby_key == $orderby ? ' selected' : '' ); ?>><?php echo $orderby_field; ?></option>
472
+ <?php endforeach; ?>
473
+ </select>
474
+ <select name="<?php echo esc_attr($this->get_field_name( 'order' )); ?>">
475
+ <?php foreach ($this->order_fields as $order_key => $order_field ) : ?>
476
+ <option value="<?php echo $order_key; ?>"<?php echo ( $order_key == $order ? ' selected' : '' ); ?>><?php echo $order_field; ?></option>
477
+ <?php endforeach; ?>
478
+ </select>
479
+ </p>
480
+ <p>
481
  <label><?php _e('Number of Items', 'wpforo'); ?></label>&nbsp;
482
  <input type="number" min="1" style="width: 53px;" name="<?php echo esc_attr($this->get_field_name( 'count' )); ?>" value="<?php echo esc_attr($count) ; ?>">
483
  </p><p>
489
  public function update( $new_instance, $old_instance ) {
490
  $instance = array();
491
  $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
492
+ $instance['orderby'] = ( !empty($new_instance['orderby']) && key_exists($new_instance['orderby'], $this->orderby_fields) ) ? $new_instance['orderby'] : '';
493
+ $instance['order'] = ( !empty($new_instance['order']) && key_exists($new_instance['order'], $this->order_fields) ) ? $new_instance['order'] : '';
494
  $instance['count'] = ( ! empty( $new_instance['count'] ) ) ? intval( $new_instance['count'] ) : '';
495
  $instance['display_avatar'] = isset( $new_instance['display_avatar'] ) ? (bool) $new_instance['display_avatar'] : false;
496
  return $instance;
954
  $color = (isset($member['color']) && $member['color'] ) ? 'style="color:' . $member['color'] . '"' : '';
955
  $class = ($class) ? 'class="' . $class . '"' : '';
956
  $title = ($member['display_name']) ? 'title="' . esc_attr($member['display_name']) . '"' : '';
957
+ if( wpfval($member, 'profile_url') ){
958
+ ?><a href="<?php echo esc_url($member['profile_url']) ?>" <?php echo $color ?> <?php echo $class ?> <?php echo $title ?>><?php if( strpos($prefix, '%s') !== FALSE ): ?><?php echo sprintf( wpforo_phrase($prefix, FALSE), esc_html(wpforo_text($display_name, $length, FALSE)) ); ?><?php else: ?><?php if( $prefix ){ echo wpforo_phrase( $prefix, false) . ' '; } ?><?php if( $length ){ echo esc_html(wpforo_text($display_name, $length, false)); } else { echo esc_html($display_name); } ?><?php endif; ?></a><?php
959
  }
960
  else{
961
  ?><?php if( strpos($prefix, '%s') !== FALSE ): ?><?php echo sprintf( wpforo_phrase($prefix, FALSE), esc_html(wpforo_text($display_name, $length, FALSE)) ); ?><?php else: ?><?php if( $prefix ){ echo wpforo_phrase( $prefix, false) . ' '; } ?><?php if( $length ){ echo esc_html(wpforo_text($display_name, $length, false)); } else { echo esc_html($display_name); } ?><?php endif; ?><?php
988
  </div>
989
  <div class="wpf-field">
990
  <div class="wpf-field-wrap" style="text-align:center; width:100%;">
991
+ <input type="submit" name="wpfororp" value="<?php wpforo_phrase('Reset Password') ?>" />
992
  </div>
993
  <div class="wpf-field-cl"></div>
994
  </div>
1335
  <?php
1336
  }
1337
 
1338
+ function wpforo_subscription_tools(){
1339
+
1340
+ if ( !WPF()->current_object['user_is_same_current_user'] || !WPF()->sbscrb->is_email_confirmed() ) return;
1341
+ $sbs = array();
1342
+ $allposts_checked = '';
1343
+ $alltopics_checked = '';
1344
+
1345
+ if( WPF()->sbscrb->get_subscribes(array('type' => 'forums-topics', 'userid' => WPF()->current_userid)) )
1346
+ $allposts_checked = ' checked';
1347
+ if( WPF()->sbscrb->get_subscribes(array('type' => 'forums', 'userid' => WPF()->current_userid)) )
1348
+ $alltopics_checked = ' checked';
1349
+
1350
+ if( !$allposts_checked && !$alltopics_checked ){
1351
+ if( $sbs_forum = WPF()->sbscrb->get_subscribes(array('type' => 'forum', 'userid' => WPF()->current_userid)) )
1352
+ foreach ($sbs_forum as $s) $sbs[$s['itemid']] = $s['type'];
1353
+ if( $sbs_forum_topic = WPF()->sbscrb->get_subscribes(array('type' => 'forum-topic', 'userid' => WPF()->current_userid)) )
1354
+ foreach ($sbs_forum_topic as $s) $sbs[$s['itemid']] = $s['type'];
1355
+ }
1356
+ ?>
1357
+ <script type="text/javascript">
1358
+ jQuery(document).ready(function ($) {
1359
+ if( $('#wpf_subscription_tools input[id^="wpf_sbs_allposts_"]').length === $('#wpf_subscription_tools input[id^="wpf_sbs_allposts_"]:checked').length ){
1360
+ $('#wpf_sbs_allposts').prop('checked', true);
1361
+ }
1362
+ if( $('#wpf_subscription_tools input[id^="wpf_sbs_alltopics_"]').length === $('#wpf_subscription_tools input[id^="wpf_sbs_alltopics_"]:checked').length ){
1363
+ $('#wpf_sbs_alltopics').prop('checked', true);
1364
+ }
1365
+ if( $('#wpf_sbs_allposts').is(':checked') ){
1366
+ $('#wpf_subscription_tools input[id^="wpf_sbs_allposts_"]').prop('checked', true);
1367
+ }
1368
+ if( $('#wpf_sbs_alltopics').is(':checked') ){
1369
+ $('#wpf_subscription_tools input[id^="wpf_sbs_alltopics_"]').prop('checked', true);
1370
+ }
1371
+ var wpforo_wrap = $('#wpforo-wrap');
1372
+ wpforo_wrap.on('change', '#wpf_sbs_allposts', function () {
1373
+ var stat = $(this).is(':checked');
1374
+ $('#wpf_sbs_alltopics').prop('checked', false);
1375
+ $('#wpf_subscription_tools input[id^="wpf_sbs_allposts_"]').prop('checked', stat);
1376
+ if(stat) $('#wpf_subscription_tools input[id^="wpf_sbs_alltopics_"]').prop('checked', !stat);
1377
+ });
1378
+ wpforo_wrap.on('change', '#wpf_sbs_alltopics', function () {
1379
+ var stat = $(this).is(':checked');
1380
+ $('#wpf_sbs_allposts').prop('checked', false);
1381
+ $('#wpf_subscription_tools input[id^="wpf_sbs_alltopics_"]').prop('checked', stat);
1382
+ if(stat) $('#wpf_subscription_tools input[id^="wpf_sbs_allposts_"]').prop('checked', !stat);
1383
+ });
1384
+ wpforo_wrap.on('change', '#wpf_subscription_tools input[id^="wpf_sbs_allposts_"]', function () {
1385
+ var stat = $(this).is(':checked');
1386
+ $('#wpf_sbs_allposts,#wpf_sbs_alltopics').prop('checked', false);
1387
+ if( stat ) {
1388
+ if( $('#wpf_subscription_tools input[id^="wpf_sbs_allposts_"]').length === $('#wpf_subscription_tools input[id^="wpf_sbs_allposts_"]:checked').length ){
1389
+ $('#wpf_sbs_allposts').prop('checked', true);
1390
+ }
1391
+ $(this).siblings('input[id^="wpf_sbs_alltopics_"]').prop('checked', false);
1392
+ }
1393
+ });
1394
+ wpforo_wrap.on('change', '#wpf_subscription_tools input[id^="wpf_sbs_alltopics_"]', function () {
1395
+ var stat = $(this).is(':checked');
1396
+ $('#wpf_sbs_allposts,#wpf_sbs_alltopics').prop('checked', false);
1397
+ if( stat ) {
1398
+ if( $('#wpf_subscription_tools input[id^="wpf_sbs_alltopics_"]').length === $('#wpf_subscription_tools input[id^="wpf_sbs_alltopics_"]:checked').length ){
1399
+ $('#wpf_sbs_alltopics').prop('checked', true);
1400
+ }
1401
+ $(this).siblings('input[id^="wpf_sbs_allposts_"]').prop('checked', false);
1402
+ }
1403
+ });
1404
+ });
1405
+ </script>
1406
+ <div id="wpf_subscription_tools" class="wpf-tools">
1407
+ <p class="wpf-sbs-head"><?php wpforo_phrase('Subscription Manager') ?></p>
1408
+ <form id="wpf_sbs_form" method="post" enctype="multipart/form-data" action="">
1409
+ <div class="wpf-sbs-bulk">
1410
+ <div class="wpf-sbs-bulk-posts"><input id="wpf_sbs_allposts" type="checkbox" name="wpforo[check_all]" value="forums-topics" <?php echo $allposts_checked ?>><label for="wpf_sbs_allposts"><?php wpforo_phrase('Subscribe to all new topics and posts') ?></label></div>
1411
+ <div class="wpf-sbs-bulk-topics"><input id="wpf_sbs_alltopics" type="checkbox" name="wpforo[check_all]" value="forums" <?php echo $alltopics_checked ?>><label for="wpf_sbs_alltopics"><?php wpforo_phrase('Subscribe to all new topics') ?></label></div>
1412
+ </div>
1413
+ <div class="wpf-sbs-bulk-options">
1414
+ <ul>
1415
+ <?php WPF()->forum->tree('subscribe_manager_form', false, $sbs); ?>
1416
+ </ul>
1417
+ </div>
1418
+ <div class="wpf-sbs-tool-foot"><input type="submit" name="wpforo_subscribe_manager" value="<?php wpforo_phrase('Update Subscriptions') ?>"></div>
1419
+ </form>
1420
+ </div>
1421
+ <?php
1422
+ }
1423
+
1424
 
1425
  /**
1426
  * Add an activity item.
1440
  */
1441
  function wpforo_activity( $args = array() ){
1442
 
1443
+ $default = array( 'action' => '', 'title' => '', 'content' => '', 'component' => 'community', 'type' => '', 'primary_link' => '', 'user_id' => '', 'item_id'=> '', 'date_recorded' => '');
1444
  $args = wpforo_parse_args( $args, $default );
1445
 
1446
  //BuddyPress Member Activity
1447
+ if( wpforo_feature('bp_activity') && function_exists('wpforo_bp_activity') ){
1448
  wpforo_bp_activity( $args );
1449
  }
1450
  }
1451
 
1452
  function wpforo_activity_delete( $args = array() ){
1453
 
1454
+ $default = array( 'action' => '', 'title' => '', 'content' => '', 'component' => 'community', 'type' => '', 'primary_link' => '', 'user_id' => '', 'item_id'=> '', 'date_recorded' => '');
1455
  $args = wpforo_parse_args( $args, $default );
1456
 
1457
  //Delete BuddyPress Member Activity
1458
+ if( wpforo_feature('bp_activity') && function_exists('wpforo_bp_activity_delete') ){
1459
  wpforo_bp_activity_delete( $args );
1460
  }
1461
  }
1472
  return false;
1473
  }
1474
  }
1475
+
1476
+ if( isset($item['first_postid']) && $item['first_postid'] ) {
1477
  $args['item_id'] = $item['first_postid'];
1478
  }
1479
  elseif( isset($item['postid']) && $item['postid'] ){
1495
  $args['primary_link'] = $item['posturl'];
1496
  if( isset($item['title']) ) $args['title'] = preg_replace('|^.+?\:\s*|is', '', $item['title']);
1497
  if( $args['title'] ) $args['title'] = ' "' . esc_html($args['title']) . '"';
1498
+ $args['action'] = sprintf( wpforo_phrase('%s replied to the topic %s', false), '', '');
1499
  }
1500
  if( $args['content'] ) {
1501
  $content_words = explode(' ', $args['content']);
1512
  function wpforo_activity_content_delete( $item = array() ){
1513
  $args = array();
1514
  if( empty($item) ) return false;
1515
+ if( wpfval($item, 'first_postid') ){
1516
+ $args['item_id'] = $item['first_postid'];
1517
+ $args['type'] = 'wpforo_topic';
1518
+ }
1519
+ elseif( wpfval($item, 'is_first_post') ) {
1520
  $args['item_id'] = $item['postid'];
1521
  $args['type'] = 'wpforo_topic';
1522
  }
1523
+ elseif( wpfval($item, 'postid') ){
1524
  $args['item_id'] = $item['postid'];
1525
  $args['type'] = 'wpforo_post';
1526
  }
1527
+ if( wpfval($args, 'item_id') && wpfval($args, 'type') ) wpforo_activity_delete( $args );
1528
  }
1529
 
1530
+ function wpforo_activity_content_on_post_status_change( $postid, $status = 0 ) {
1531
+ if( !$postid ) return;
1532
+ $post = WPF()->post->get_post($postid);
1533
+ if(!empty($post)){
1534
+ $post['status'] = $status;
1535
+ $post['posturl'] = WPF()->post->get_post_url($postid);
1536
+ if( !wpfval($post, 'is_first_post') ){
1537
+ if( $status ){
1538
+ wpforo_activity_content_delete( $post );
1539
+ }
1540
+ else{
1541
+ wpforo_activity_content( $post );
1542
+ }
1543
+ }
1544
+ }
1545
+ }
1546
+ add_action( 'wpforo_post_status_update', 'wpforo_activity_content_on_post_status_change', 9, 2 );
1547
+
1548
+ function wpforo_activity_content_on_topic_status_change( $topicid, $status = 0 ) {
1549
+ if( !$topicid ) return;
1550
+ $topic = WPF()->topic->get_topic($topicid);
1551
+ if(!empty($topic)){
1552
+ $topic['status'] = $status;
1553
+ $topic['topicurl'] = WPF()->topic->get_topic_url($topicid);
1554
+ if( $status ){
1555
+ wpforo_activity_content_delete( $topic );
1556
+ }
1557
+ else{
1558
+ wpforo_activity_content( $topic );
1559
+ }
1560
+ }
1561
+ }
1562
+ add_action( 'wpforo_topic_status_update', 'wpforo_activity_content_on_topic_status_change', 9, 2 );
1563
 
1564
  function wpforo_activity_like( $item = array() ){
1565
  $args = array();
1594
  if($args['item_id'] && $args['type']) wpforo_activity_delete( $args );
1595
  }
1596
 
1597
+ add_action( 'wpforo_after_add_topic', 'wpforo_activity_content', 9 );
1598
+ add_action( 'wpforo_after_add_post', 'wpforo_activity_content', 9 );
1599
+ add_action( 'wpforo_like', 'wpforo_activity_like', 9 );
1600
+ add_action( 'wpforo_after_delete_post', 'wpforo_activity_content_delete', 9 );
1601
+ add_action( 'wpforo_after_delete_post', 'wpforo_activity_like_delete', 9 );
1602
 
1603
 
1604
  function wpforo_user_field( $field = '', $userid = 0, $echo = true ){
1630
  return $content;
1631
  }
1632
  }
1633
+ }
1634
+
1635
+ function wpforo_share_toggle( $url = '', $text = '', $location = 'side', $custom = false ){
1636
+ $set = WPF()->api->options;
1637
+ $position = (($set['sb_location_toggle'] == 'left' || $set['sb_location_toggle'] == 'right')) ? 'side' : $set['sb_location_toggle'];
1638
+ if( !$set['sb_toggle_on'] || ( $position != $location && !$custom ) ) return false;
1639
+ $location_class = ( $custom ) ? $location : $set['sb_location_toggle'];
1640
+ ?>
1641
+ <div class="wpf-sb wpf-sb-<?php echo esc_attr($location_class) ?> wpf-sb-<?php echo esc_attr($set['sb_toggle']) ?> sb-tt-<?php echo esc_attr($set['sb_toggle_type']) ?>">
1642
+ <div class="wpf-sb-toggle"><i class="fas fa-share-alt" title="<?php wpforo_phrase('Share this post') ?>"></i></div>
1643
+ <div class="wpf-sb-buttons" style="display: <?php if( $set['sb_toggle_type'] == 'collapsed' ) echo 'none'; ?>;">
1644
+ <?php do_action('wpforo_share_toggle_before', $url, $text, $location, $custom) ?>
1645
+ <?php WPF()->api->share_toggle($url, $text); ?>
1646
+ <?php do_action('wpforo_share_toggle_after', $url, $text, $location, $custom) ?>
1647
+ </div>
1648
+ </div>
1649
+ <?php
1650
+ }
1651
+
1652
+ function wpforo_share_buttons( $location = 'bottom', $url = '', $custom = false ){
1653
+ $set = WPF()->api->options;
1654
+ if( !$set['sb_on'] || (!wpfval($set, 'sb_location', $location) && !$custom) ) return false;
1655
+ ?>
1656
+ <div class="wpf-sbtn wpf-sb-<?php echo esc_attr($location) ?> wpf-sb-style-<?php echo esc_attr($set['sb_style']) ?>" style="display: block">
1657
+ <div class="wpf-sbtn-title"><i class="fas fa-share-alt"></i> <span><?php wpforo_phrase('Share:') ?></span></div>
1658
+ <div class="wpf-sbtn-wrap">
1659
+ <?php do_action('wpforo_share_buttons_before', $location, $url, $custom ) ?>
1660
+ <?php WPF()->api->share_buttons($url); ?>
1661
+ <?php do_action('wpforo_share_buttons_after', $location, $url, $custom ) ?>
1662
+ </div>
1663
+ <div class="wpf-clear"></div>
1664
+ </div>
1665
+ <?php
1666
+ }
1667
+
1668
+ function wpforo_page(){
1669
+ $page_template = ( wpfval($_GET, 'view') ) ? sanitize_title($_GET['view']) : false;
1670
+ do_action('wpforo_page', $page_template );
1671
  }
wpf-includes/functions.php CHANGED
@@ -128,12 +128,11 @@ function wpforo_get_url_query_vars_str($url = ''){
128
  }
129
 
130
  function wpforo_feature($option){
131
- if( isset(WPF()->features[$option]) && WPF()->features[$option] ){
132
- return true;
133
- }
134
- else{
135
- return false;
136
- }
137
  }
138
 
139
  function wpforo_dir_size($directory) {
@@ -424,7 +423,7 @@ function wpforo_create_form_table($varname, $primary_key, $fields = array(), $se
424
  </select>
425
 
426
  <?php }elseif( $varname == 'member' && $filter_field == 'status' ){
427
- $sql = "SELECT DISTINCT `status` as statuses FROM `" . WPF()->db->prefix . "wpforo_profiles`";
428
  if( $statuses = WPF()->db->get_col($sql) ){ ?>
429
  <select name="member_status">
430
  <option value="0"><?php _e('filter by status', 'wpforo') ?></option>
@@ -440,7 +439,7 @@ function wpforo_create_form_table($varname, $primary_key, $fields = array(), $se
440
 
441
  }elseif( $varname == 'phrase' && $filter_field == 'package' ){
442
 
443
- $sql = "SELECT DISTINCT `package` as packages FROM `" . WPF()->db->prefix . "wpforo_phrases`";
444
  if( $packages = WPF()->db->get_col($sql) ){ ?>
445
  <select name="phrase_package">
446
  <option value="0"><?php _e('filter by package', 'wpforo') ?></option>
@@ -469,7 +468,7 @@ function wpforo_create_form_table($varname, $primary_key, $fields = array(), $se
469
  <?php
470
  endif;
471
  }elseif($filter_field == 'userid'){
472
- $sql = "SELECT DISTINCT `userid` FROM `".WPF()->db->prefix."wpforo_posts` WHERE `status` = $filter_by_status";
473
  if( $userids = WPF()->db->get_col($sql) ) : ?>
474
  <select name="filter_by_userid">
475
  <option value="0"><?php _e('filter by user', 'wpforo') ?></option>
@@ -752,7 +751,7 @@ function wpforo_phrase($key, $echo = TRUE, $format = 'first-upper'){
752
 
753
  if( $format == 'first-upper' ){
754
  if( 'en_US' != $locale && function_exists('mb_strlen') && mb_strlen($phrase) != strlen($phrase) ) {
755
- $phrase = mb_strtoupper(mb_substr($phrase, 0, 1)). mb_strtolower(mb_substr($phrase, 1));
756
  }
757
  else{
758
  $phrase = ucfirst($phrase);
@@ -925,7 +924,7 @@ function wpforo_nofollow($match){
925
  add_action('wp_loaded', 'wpforo_cookie_logs', 10);
926
 
927
  function wpforo_cookie_logs(){
928
- if(!wpforo_feature('view-logging')) return;
929
  $key = ''; $logid = 0; $log = false;
930
  $data = WPF()->current_object;
931
  if( $data['template'] == 'post' && isset($data['topicid']) && $data['topicid'] ){
@@ -959,25 +958,25 @@ function wpforo_user_logging(){
959
  $current_user_id = get_current_user_id();
960
  $current_time = current_time( 'timestamp', 1 );
961
 
962
- if( wpforo_feature('view-logging')){
963
  $viwed_ids = wpforo_getcookie( 'wpf_viewed_topics', true );
964
  if( empty($viwed_ids) || ( is_array($viwed_ids) && !in_array($data['topicid'] , $viwed_ids ))){
965
- WPF()->db->query("UPDATE `".WPF()->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
966
  }
967
  }
968
  else{
969
  if( $current_user_id ){
970
  //registered user
971
- $view = WPF()->db->get_row("SELECT `vid`, `created` FROM `". WPF()->db->prefix . "wpforo_views` WHERE `topicid` = " . intval($data['topicid']) ." AND `userid` = " . intval($current_user_id), ARRAY_A);
972
  if( !$view['vid'] ){
973
- $sql = "INSERT INTO ". WPF()->db->prefix ."wpforo_views( `userid` , `topicid` , `created` ) VALUES ( '".intval($current_user_id)."', " . intval($data['topicid']) . ", '" . esc_sql($current_time) . "' ) ";
974
  WPF()->db->query($sql);
975
- WPF()->db->query("UPDATE `".WPF()->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
976
  }else{
977
- $sql = "UPDATE ". WPF()->db->prefix ."wpforo_views SET `created` = " . intval($current_time) . " WHERE `userid` = " . intval($current_user_id) . " AND `topicid` = " . intval($data['topicid']);
978
  WPF()->db->query($sql);
979
  if( $current_time - $view['created'] > 86400 ){
980
- WPF()->db->query("UPDATE `".WPF()->db->prefix."wpforo_topics` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
981
  }
982
  }
983
  }
@@ -989,7 +988,8 @@ function wpforo_user_logging(){
989
  add_action( 'init', 'wpforo_setcookie', 10, 2);
990
 
991
  function wpforo_setcookie( $key = '', $args = array(), $implode = false ) {
992
- if( !empty($args) && is_array($args) && $implode ) {
 
993
  $num = count($args);
994
  if( $num > 200 ){ $delta = $num - 200; if( $delta > 0 ) $args = array_slice($args, $delta); }
995
  $value = trim( implode( ',', $args ), ',' );
@@ -1004,6 +1004,7 @@ function wpforo_setcookie( $key = '', $args = array(), $implode = false ) {
1004
 
1005
  add_action( 'wp_head', 'wpforo_getcookie' );
1006
  function wpforo_getcookie( $key = '', $explode = false ) {
 
1007
  if( $key ){
1008
  if( isset($_COOKIE[$key]) && $_COOKIE[$key] ){
1009
  if($explode){
@@ -1055,6 +1056,41 @@ function wpfo_check( $option = '', $value = '', $type = 'checked' , $echo = true
1055
  }
1056
  }
1057
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1058
  function wpforo_human_filesize($bytes, $decimals = 2) {
1059
  $size = array('B','KB','MB','GB','TB','PB','EB','ZB','YB');
1060
  $factor = floor((strlen($bytes) - 1) / 3);
@@ -1347,8 +1383,8 @@ function wpforo_file_upload_error($code){
1347
 
1348
  //$key allowed values are post, strip, data, user_description entities or the name of a field filter such as pre_user_description.
1349
  //More info https://core.trac.wordpress.org/browser/tags/4.5.2/src/wp-includes/kses.php#L624
1350
- function wpforo_kses( $string = '', $key = 'data' ){
1351
-
1352
  if(!$string || !$key) return $string;
1353
  if( $key == 'email' ){
1354
  $allowed_html = array( 'a' => array( 'href' => array(), 'title' => array()),
@@ -1357,43 +1393,34 @@ function wpforo_kses( $string = '', $key = 'data' ){
1357
  'hr' => array(),
1358
  'br' => array(),
1359
  'p' => array(),
1360
- 'strong' => array());
1361
- }
1362
- else{
1363
- $allowed_html = wp_kses_allowed_html( $key );
1364
- if( $key == 'user_description' ){
1365
- $allowed_html['img'] = array( 'alt' => array(), 'align' => array(), 'border' => array(), 'height' => array(), 'hspace' => array(), 'longdesc' => array(), 'vspace' => array(), 'src' => array(), 'usemap' => array(), 'width' => array());
1366
- }
1367
- else{
1368
- global $allowedposttags;
1369
- $allowed_html = wpforo_parse_args($allowed_html, $allowedposttags);
1370
-
1371
- $allowed_html['a']['data-gallery'] = array();
1372
- $allowed_html['a']['download'] = array();
1373
- $allowed_html['iframe']['width'] = array();
1374
- $allowed_html['iframe']['height'] = array();
1375
- $allowed_html['iframe']['src'] = array();
1376
- $allowed_html['iframe']['frameborder'] = array();
1377
- $allowed_html['iframe']['allowfullscreen'] = array();
1378
- $allowed_html['embed']['flashVars'] = array();
1379
- $allowed_html['embed']['src'] = array();
1380
- $allowed_html['embed']['width'] = array();
1381
- $allowed_html['embed']['height'] = array();
1382
- $allowed_html['embed']['wmode'] = array();
1383
- $allowed_html['embed']['allowFullScreen'] = array();
1384
- $allowed_html['embed']['allowScriptAccess'] = array();
1385
- $allowed_html['embed']['name'] = array();
1386
- $allowed_html['embed']['pluginspage'] = array();
1387
- $allowed_html['embed']['type'] = array();
1388
- $allowed_html['blockquote']['class'] = TRUE;
1389
- $allowed_html['blockquote']['data-width'] = TRUE;
1390
- $allowed_html['p']['lang'] = TRUE;
1391
- $allowed_html['p']['dir'] = TRUE;
1392
-
1393
- }
1394
- }
1395
-
1396
-
1397
  return wp_kses( $string, $allowed_html );
1398
  }
1399
 
@@ -1630,6 +1657,34 @@ function wpforo_db_check( $args = array() ){
1630
  return false;
1631
  }
1632
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1633
  function wpforo_is_owner( $userid, $email = '' ){
1634
  if( isset(WPF()->current_userid) && WPF()->current_userid ){
1635
  if( $userid == WPF()->current_userid ) return true;
@@ -1730,40 +1785,46 @@ function wpforo_avatar_url($avatar_html){
1730
  return '';
1731
  }
1732
 
1733
- function wpforo_get_image_url( $content, $first = true ){
1734
  $images = array();
1735
- $content = apply_filters('wpforo_content_filter', $content);
1736
- preg_match_all('#https?://[^\s\'\"<>]+\.(?:jpg|jpeg|png|gif|ico|svg|bmp|tiff)#isu', $content, $m_img, PREG_SET_ORDER);
1737
- if( empty($m_img)) preg_match_all('#//[^\s\'\"<>]+\.(?:jpg|jpeg|png|gif|ico|svg|bmp|tiff)#isu', $content, $m_img, PREG_SET_ORDER);
1738
- if(!empty($m_img)){
1739
- foreach( $m_img as $match ){
1740
- $ext = pathinfo($match[0], PATHINFO_EXTENSION);
1741
- if( $ext && wpforo_is_image($ext)){
1742
- $images[] = $match[0];
1743
- }
1744
- }
1745
- }
1746
- else{
1747
- preg_match_all('#https?://[^\s\'\"<>]+#isu', $content, $m_url, PREG_SET_ORDER);
1748
- if( empty($m_url)) preg_match_all('#//[^\s\'\"<>]+#isu', $content, $m_url, PREG_SET_ORDER);
1749
- if(!empty($m_url)){
1750
- foreach( $m_url as $match ){
1751
- $ext = pathinfo($match[0], PATHINFO_EXTENSION);
1752
- if( $ext && wpforo_is_image($ext)){
1753
- $images[] = $match[0];
1754
- }
1755
- }
1756
- }
1757
- }
 
 
 
 
 
 
1758
  if(!empty($images)){
1759
- if( $first ){
1760
- return $images[0];
1761
  }
1762
  else{
1763
- return $images;
1764
  }
1765
  }
1766
- return false;
1767
  }
1768
 
1769
  function wpforo_return_zero($var = null){
@@ -1843,4 +1904,43 @@ function wpforo_current_guest( $email ){
1843
  }else{
1844
  return false;
1845
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1846
  }
128
  }
129
 
130
  function wpforo_feature($option){
131
+ if (isset(WPF()->features[$option])) {
132
+ return WPF()->features[$option];
133
+ } else {
134
+ return false;
135
+ }
 
136
  }
137
 
138
  function wpforo_dir_size($directory) {
423
  </select>
424
 
425
  <?php }elseif( $varname == 'member' && $filter_field == 'status' ){
426
+ $sql = "SELECT DISTINCT `status` as statuses FROM `".WPF()->tables->profiles."`";
427
  if( $statuses = WPF()->db->get_col($sql) ){ ?>
428
  <select name="member_status">
429
  <option value="0"><?php _e('filter by status', 'wpforo') ?></option>
439
 
440
  }elseif( $varname == 'phrase' && $filter_field == 'package' ){
441
 
442
+ $sql = "SELECT DISTINCT `package` as packages FROM `".WPF()->tables->phrases."`";
443
  if( $packages = WPF()->db->get_col($sql) ){ ?>
444
  <select name="phrase_package">
445
  <option value="0"><?php _e('filter by package', 'wpforo') ?></option>
468
  <?php
469
  endif;
470
  }elseif($filter_field == 'userid'){
471
+ $sql = "SELECT DISTINCT `userid` FROM `".WPF()->tables->posts."` WHERE `status` = $filter_by_status";
472
  if( $userids = WPF()->db->get_col($sql) ) : ?>
473
  <select name="filter_by_userid">
474
  <option value="0"><?php _e('filter by user', 'wpforo') ?></option>
751
 
752
  if( $format == 'first-upper' ){
753
  if( 'en_US' != $locale && function_exists('mb_strlen') && mb_strlen($phrase) != strlen($phrase) ) {
754
+ $phrase = mb_strtoupper(mb_substr($phrase, 0, 1)) . mb_substr($phrase, 1);
755
  }
756
  else{
757
  $phrase = ucfirst($phrase);
924
  add_action('wp_loaded', 'wpforo_cookie_logs', 10);
925
 
926
  function wpforo_cookie_logs(){
927
+ if(!wpforo_feature('view-logging') || !WPF()->tools_legal['cookies']) return;
928
  $key = ''; $logid = 0; $log = false;
929
  $data = WPF()->current_object;
930
  if( $data['template'] == 'post' && isset($data['topicid']) && $data['topicid'] ){
958
  $current_user_id = get_current_user_id();
959
  $current_time = current_time( 'timestamp', 1 );
960
 
961
+ if( wpforo_feature('view-logging') && WPF()->tools_legal['cookies'] ){
962
  $viwed_ids = wpforo_getcookie( 'wpf_viewed_topics', true );
963
  if( empty($viwed_ids) || ( is_array($viwed_ids) && !in_array($data['topicid'] , $viwed_ids ))){
964
+ WPF()->db->query("UPDATE `".WPF()->tables->topics."` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
965
  }
966
  }
967
  else{
968
  if( $current_user_id ){
969
  //registered user
970
+ $view = WPF()->db->get_row("SELECT `vid`, `created` FROM `".WPF()->tables->views."` WHERE `topicid` = " . intval($data['topicid']) ." AND `userid` = " . intval($current_user_id), ARRAY_A);
971
  if( !$view['vid'] ){
972
+ $sql = "INSERT INTO ".WPF()->tables->views."( `userid` , `topicid` , `created` ) VALUES ( '".intval($current_user_id)."', " . intval($data['topicid']) . ", '" . esc_sql($current_time) . "' ) ";
973
  WPF()->db->query($sql);
974
+ WPF()->db->query("UPDATE `".WPF()->tables->topics."` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
975
  }else{
976
+ $sql = "UPDATE ".WPF()->tables->views." SET `created` = " . intval($current_time) . " WHERE `userid` = " . intval($current_user_id) . " AND `topicid` = " . intval($data['topicid']);
977
  WPF()->db->query($sql);
978
  if( $current_time - $view['created'] > 86400 ){
979
+ WPF()->db->query("UPDATE `".WPF()->tables->topics."` SET `views` = `views` + 1 WHERE `topicid` = " . intval($data['topicid']));
980
  }
981
  }
982
  }
988
  add_action( 'init', 'wpforo_setcookie', 10, 2);
989
 
990
  function wpforo_setcookie( $key = '', $args = array(), $implode = false ) {
991
+ if( !WPF()->tools_legal['cookies'] ) return;
992
+ if( !empty($args) && is_array($args) && $implode ) {
993
  $num = count($args);
994
  if( $num > 200 ){ $delta = $num - 200; if( $delta > 0 ) $args = array_slice($args, $delta); }
995
  $value = trim( implode( ',', $args ), ',' );
1004
 
1005
  add_action( 'wp_head', 'wpforo_getcookie' );
1006
  function wpforo_getcookie( $key = '', $explode = false ) {
1007
+ if( !WPF()->tools_legal['cookies'] ) return FALSE;
1008
  if( $key ){
1009
  if( isset($_COOKIE[$key]) && $_COOKIE[$key] ){
1010
  if($explode){
1056
  }
1057
  }
1058
 
1059
+ /**
1060
+ * Validates values of requested array keys.
1061
+ *
1062
+ * @param array $array
1063
+ * @param null|string $a First key of $array
1064
+ * @param null|string $b Second key of $array
1065
+ * @param null|string $c Third key of $array
1066
+ *
1067
+ * @return bool|mixed
1068
+ */
1069
+ function wpfval( $array, $a = NULL, $b = NULL, $c = NULL ){
1070
+ if($a || $a === 0){
1071
+ if( is_array($array) && array_key_exists($a, $array) && ($array[$a] || $array[$a] === 0) ){
1072
+ if($b || $b === 0){
1073
+ if( is_array($array[$a]) && array_key_exists($b, $array[$a]) && ($array[$a][$b] || $array[$a][$b] === 0) ){
1074
+ if($c || $c === 0){
1075
+ if( is_array($array[$a][$b]) && array_key_exists($c, $array[$a][$b]) && ($array[$a][$b][$c] || $array[$a][$b][$c] === 0) ){
1076
+ return $array[$a][$b][$c];
1077
+ } else{
1078
+ return false;
1079
+ }
1080
+ } else{
1081
+ return $array[$a][$b];
1082
+ }
1083
+ } else{
1084
+ return false;
1085
+ }
1086
+ } else{
1087
+ return $array[$a];
1088
+ }
1089
+ }
1090
+ }
1091
+ return false;
1092
+ }
1093
+
1094
  function wpforo_human_filesize($bytes, $decimals = 2) {
1095
  $size = array('B','KB','MB','GB','TB','PB','EB','ZB','YB');
1096
  $factor = floor((strlen($bytes) - 1) / 3);
1383
 
1384
  //$key allowed values are post, strip, data, user_description entities or the name of a field filter such as pre_user_description.
1385
  //More info https://core.trac.wordpress.org/browser/tags/4.5.2/src/wp-includes/kses.php#L624
1386
+ function wpforo_kses( $string = '', $key = 'post' ){
1387
+
1388
  if(!$string || !$key) return $string;
1389
  if( $key == 'email' ){
1390
  $allowed_html = array( 'a' => array( 'href' => array(), 'title' => array()),
1393
  'hr' => array(),
1394
  'br' => array(),
1395
  'p' => array(),
1396
+ 'strong' => array(),
1397
+ 'style' => array());
1398
+ $allowed_html = apply_filters('wpforo_kses_allowed_html_email', $allowed_html);
1399
+ }
1400
+ elseif( $key == 'user_description' ){
1401
+ $allowed_html = wp_kses_allowed_html( $key );
1402
+ $allowed_html['img'] = array( 'alt' => array(), 'align' => array(), 'border' => array(), 'height' => array(), 'hspace' => array(), 'longdesc' => array(), 'vspace' => array(), 'src' => array(), 'usemap' => array(), 'width' => array());
1403
+ $allowed_html = apply_filters('wpforo_kses_allowed_html_user_description', $allowed_html);
1404
+ }
1405
+ else{
1406
+ global $allowedposttags;
1407
+ $allowed_html = $allowedposttags;
1408
+ if(wpforo_feature('content-do_shortcode')){
1409
+ $allowed_html = wp_kses_allowed_html( $key );
1410
+ }
1411
+ $extra_html = WPF()->tools_antispam['html'];
1412
+ $allowed_html = wpforo_extra_html_parser($extra_html, $allowed_html);
1413
+ $allowed_html['a']['data-gallery'] = array();
1414
+ $allowed_html['a']['download'] = array();
1415
+ $allowed_html['blockquote']['class'] = TRUE;
1416
+ $allowed_html['blockquote']['data-width'] = TRUE;
1417
+ $allowed_html['p']['lang'] = TRUE;
1418
+ $allowed_html['p']['dir'] = TRUE;
1419
+ if(!wpfval($allowed_html, 'iframe') && class_exists('wpForoEmbeds')){
1420
+ $allowed_html['iframe'] = array('width' => array(), 'height' => array(), 'src' => array(), 'frameborder' => array(), 'allowfullscreen' => array());
1421
+ }
1422
+ $allowed_html = apply_filters('wpforo_kses_allowed_html', $allowed_html);
1423
+ }
 
 
 
 
 
 
 
 
 
1424
  return wp_kses( $string, $allowed_html );
1425
  }
1426
 
1657
  return false;
1658
  }
1659
 
1660
+ function wpforo_add_unique_key($table, $primary_key, $unique_key_name = '', $unique_fields = ''){
1661
+
1662
+ $table = esc_sql(trim($table));
1663
+ $primary_key = esc_sql(trim($primary_key));
1664
+ $unique_fields = esc_sql(trim($unique_fields, ','));
1665
+ $unique_fields_clean = preg_replace('|\([^\(\)]+\)|', '', $unique_fields);
1666
+ $remove_rows = '';
1667
+ $sql = "SELECT GROUP_CONCAT(`$primary_key`) duplicated_row_ids,
1668
+ COUNT(*) duplication_count FROM
1669
+ `$table` GROUP BY $unique_fields_clean HAVING duplication_count > 1";
1670
+
1671
+ $rows = WPF()->db->get_results($sql, ARRAY_A);
1672
+ if(!empty($rows)){
1673
+ foreach($rows as $row){
1674
+ $ids = explode(',', $row['duplicated_row_ids']);
1675
+ $ids = array_reverse($ids);
1676
+ $ids = array_slice($ids, 1);
1677
+ $remove_rows .= trim(implode(',', $ids), ',') . ',';
1678
+ }
1679
+ $remove_rows = esc_sql(trim($remove_rows, ','));
1680
+ if( $remove_rows ) {
1681
+ WPF()->db->query("DELETE FROM `$table` WHERE `$primary_key` IN($remove_rows)");
1682
+ }
1683
+ }
1684
+ $sql = "ALTER TABLE `$table` ADD UNIQUE KEY `$unique_key_name`( $unique_fields )";
1685
+ WPF()->db->query($sql);
1686
+ }
1687
+
1688
  function wpforo_is_owner( $userid, $email = '' ){
1689
  if( isset(WPF()->current_userid) && WPF()->current_userid ){
1690
  if( $userid == WPF()->current_userid ) return true;
1785
  return '';
1786
  }
1787
 
1788
+ function wpforo_get_image_url( $content, $first = true, $type = 'general' ){
1789
  $images = array();
1790
+ if( $content !== false ){
1791
+ $content = apply_filters('wpforo_content_filter', $content);
1792
+ preg_match_all('#https?://[^\s\'\"<>]+\.(?:jpg|jpeg|png|gif|ico|svg|bmp|tiff)#isu', $content, $m_img, PREG_SET_ORDER);
1793
+ if( empty($m_img)) preg_match_all('#//[^\s\'\"<>]+\.(?:jpg|jpeg|png|gif|ico|svg|bmp|tiff)#isu', $content, $m_img, PREG_SET_ORDER);
1794
+ if(!empty($m_img)){
1795
+ foreach( $m_img as $match ){
1796
+ $ext = pathinfo($match[0], PATHINFO_EXTENSION);
1797
+ if( $ext && wpforo_is_image($ext)){
1798
+ $images[] = $match[0];
1799
+ }
1800
+ }
1801
+ }
1802
+ else{
1803
+ preg_match_all('#https?://[^\s\'\"<>]+#isu', $content, $m_url, PREG_SET_ORDER);
1804
+ if( empty($m_url)){
1805
+ preg_match_all('#//[^\s\'\"<>]+#isu', $content, $m_url, PREG_SET_ORDER);
1806
+ }
1807
+ if(!empty($m_url)){
1808
+ foreach( $m_url as $match ){
1809
+ $ext = pathinfo($match[0], PATHINFO_EXTENSION);
1810
+ if( $ext && wpforo_is_image($ext)){
1811
+ $images[] = $match[0];
1812
+ }
1813
+ }
1814
+ }
1815
+ }
1816
+ }
1817
+
1818
+
1819
  if(!empty($images)){
1820
+ if( $first && wpfval($images, 0) ){
1821
+ return apply_filters('wpforo_find_image_url', $images[0], $type);
1822
  }
1823
  else{
1824
+ return apply_filters('wpforo_find_image_url', $images, $type);
1825
  }
1826
  }
1827
+ return apply_filters('wpforo_find_image_url', false, $type);;
1828
  }
1829
 
1830
  function wpforo_return_zero($var = null){
1904
  }else{
1905
  return false;
1906
  }
1907
+ }
1908
+
1909
+ function wpforo_extra_html_parser( $extra_html = '', $allowed_html = array() ){
1910
+ if( $extra_html ){
1911
+ $extra_html = explode(',', $extra_html);
1912
+ $extra_html = array_filter($extra_html);
1913
+ if(!empty($extra_html)){
1914
+ foreach( $extra_html as $html ){
1915
+ $html = trim($html);
1916
+ if( preg_match('|([^\(\)]+)\((.+)\)|', $html, $item) ){
1917
+ if(wpfval($item, 1) && wpfval($item, 2)) {
1918
+ $attrs = explode(' ', $item[2]);
1919
+ $attrs = array_map('trim', $attrs);
1920
+ foreach( $attrs as $attr ){
1921
+ $allowed_html[$item[1]][$attr] = array();
1922
+ }
1923
+ }
1924
+ }
1925
+ else{
1926
+ $allowed_html[$html] = array();
1927
+ }
1928
+ }
1929
+ }
1930
+ }
1931
+ return $allowed_html;
1932
+ }
1933
+
1934
+ function wpforo_clear_array($array, $clear = array()){
1935
+ if( is_array($clear) && !empty($clear) ){
1936
+ foreach( $clear as $ext ){
1937
+ if (($key = array_search($ext, $array)) !== false) {
1938
+ unset($array[$key]);
1939
+ }
1940
+ }
1941
+ }
1942
+ elseif( is_string($clear) || is_numeric($clear) ){
1943
+ if( wpfval($array, $clear) ) unset( $array[$clear] );
1944
+ }
1945
+ return $array;
1946
  }
wpf-includes/install-sql.php CHANGED
@@ -9,7 +9,7 @@
9
  $engine = version_compare(WPF()->db->db_version(), '5.6.4', '>=') ? 'InnoDB' : 'MyISAM';
10
 
11
  $wpforo_sql = array(
12
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_forums`(
13
  `forumid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
14
  `title` VARCHAR(255) NOT NULL,
15
  `slug` VARCHAR(255) NOT NULL,
@@ -36,7 +36,7 @@
36
  KEY `parentid` (`parentid`),
37
  KEY `is_cat` (`is_cat`)
38
  ) ENGINE=MyISAM $charset_collate;",
39
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_topics`(
40
  `topicid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
41
  `forumid` INT UNSIGNED NOT NULL,
42
  `first_postid` BIGINT UNSIGNED NOT NULL DEFAULT 0,
@@ -72,7 +72,7 @@
72
  KEY `is_private` (`private`),
73
  KEY `own_private` (`userid`,`private`)
74
  ) ENGINE=$engine $charset_collate;",
75
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_posts`(
76
  `postid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
77
  `parentid` BIGINT UNSIGNED NOT NULL DEFAULT 0,
78
  `forumid` INT UNSIGNED NOT NULL,
@@ -105,7 +105,7 @@
105
  KEY `email` (`email`),
106
  KEY `is_private` (`private`)
107
  ) ENGINE=$engine $charset_collate;",
108
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_profiles` (
109
  `userid` INT UNSIGNED NOT NULL,
110
  `title` VARCHAR(255) NOT NULL DEFAULT 'member',
111
  `username` VARCHAR(255) NOT NULL,
@@ -134,14 +134,16 @@
134
  `like` INT UNSIGNED NOT NULL DEFAULT 0,
135
  `status` VARCHAR(8) DEFAULT 'active' COMMENT 'active, blocked, trashed, spamer',
136
  `timezone` VARCHAR(255),
 
137
  PRIMARY KEY (`userid`),
138
  UNIQUE KEY `UNIQUE ID` (`userid`),
139
  KEY `groupid` (`groupid`),
140
  KEY `online_time` (`online_time`),
141
  KEY `posts` (`posts`),
142
- KEY `status` (`status`)
 
143
  ) ENGINE=MyISAM $charset_collate;",
144
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_usergroups`(
145
  `groupid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
146
  `name` VARCHAR(255) NOT NULL,
147
  `cans` LONGTEXT NOT NULL COMMENT 'board permissions',
@@ -155,13 +157,13 @@
155
  KEY `visible` (`visible`),
156
  UNIQUE KEY `UNIQUE_GROUP_NAME` (`name`(191))
157
  ) ENGINE=MyISAM $charset_collate;",
158
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_languages`(
159
  `langid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
160
  `name` VARCHAR(255) NOT NULL,
161
  PRIMARY KEY (`langid`),
162
  UNIQUE KEY `UNIQUE language name` (`name`(191))
163
  ) ENGINE=MyISAM $charset_collate;",
164
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_phrases` (
165
  `phraseid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
166
  `langid` INT UNSIGNED NOT NULL,
167
  `phrase_key` VARCHAR(255) NOT NULL,
@@ -172,7 +174,7 @@
172
  KEY `phrase_key` (`phrase_key`(191)),
173
  UNIQUE KEY lng_and_key_uniq (`langid`, `phrase_key`(191))
174
  ) ENGINE=MyISAM $charset_collate;",
175
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_likes`(
176
  `likeid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
177
  `userid` INT UNSIGNED NOT NULL,
178
  `postid` INT UNSIGNED NOT NULL,
@@ -180,7 +182,7 @@
180
  PRIMARY KEY (`likeid`),
181
  UNIQUE KEY `userid` (`userid`,`postid`)
182
  ) ENGINE=INNODB $charset_collate;",
183
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_views`(
184
  `vid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
185
  `userid` INT UNSIGNED NOT NULL,
186
  `topicid` INT UNSIGNED NOT NULL,
@@ -188,7 +190,7 @@
188
  PRIMARY KEY (`vid`),
189
  KEY `user_topic` (`userid`,`topicid`)
190
  ) ENGINE=INNODB $charset_collate;",
191
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_votes`(
192
  `voteid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
193
  `userid` INT UNSIGNED NOT NULL,
194
  `postid` INT UNSIGNED NOT NULL,
@@ -197,7 +199,7 @@
197
  PRIMARY KEY (`voteid`),
198
  UNIQUE KEY `userid` (`userid`,`postid`)
199
  ) ENGINE=INNODB $charset_collate;",
200
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_accesses`(
201
  `accessid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
202
  `access` VARCHAR(255) NOT NULL,
203
  `title` VARCHAR(255) NOT NULL,
@@ -205,7 +207,7 @@
205
  PRIMARY KEY (`accessid`),
206
  UNIQUE KEY ( `access`(191) )
207
  ) ENGINE=MyISAM $charset_collate;",
208
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_subscribes` (
209
  `subid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
210
  `itemid` BIGINT UNSIGNED NOT NULL,
211
  `type` VARCHAR(5) NOT NULL,
@@ -220,7 +222,7 @@
220
  KEY `itemid_2` (`itemid`),
221
  KEY `userid` (`userid`)
222
  ) ENGINE=INNODB $charset_collate;",
223
- "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_visits` (
224
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
225
  `userid` BIGINT UNSIGNED NOT NULL,
226
  `name` VARCHAR(60) NOT NULL,
9
  $engine = version_compare(WPF()->db->db_version(), '5.6.4', '>=') ? 'InnoDB' : 'MyISAM';
10
 
11
  $wpforo_sql = array(
12
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->forums."`(
13
  `forumid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
14
  `title` VARCHAR(255) NOT NULL,
15
  `slug` VARCHAR(255) NOT NULL,
36
  KEY `parentid` (`parentid`),
37
  KEY `is_cat` (`is_cat`)
38
  ) ENGINE=MyISAM $charset_collate;",
39
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->topics."`(
40
  `topicid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
41
  `forumid` INT UNSIGNED NOT NULL,
42
  `first_postid` BIGINT UNSIGNED NOT NULL DEFAULT 0,
72
  KEY `is_private` (`private`),
73
  KEY `own_private` (`userid`,`private`)
74
  ) ENGINE=$engine $charset_collate;",
75
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->posts."`(
76
  `postid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
77
  `parentid` BIGINT UNSIGNED NOT NULL DEFAULT 0,
78
  `forumid` INT UNSIGNED NOT NULL,
105
  KEY `email` (`email`),
106
  KEY `is_private` (`private`)
107
  ) ENGINE=$engine $charset_collate;",
108
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->profiles."` (
109
  `userid` INT UNSIGNED NOT NULL,
110
  `title` VARCHAR(255) NOT NULL DEFAULT 'member',
111
  `username` VARCHAR(255) NOT NULL,
134
  `like` INT UNSIGNED NOT NULL DEFAULT 0,
135
  `status` VARCHAR(8) DEFAULT 'active' COMMENT 'active, blocked, trashed, spamer',
136
  `timezone` VARCHAR(255),
137
+ `is_email_confirmed` TINYINT(1) NOT NULL DEFAULT 0,
138
  PRIMARY KEY (`userid`),
139
  UNIQUE KEY `UNIQUE ID` (`userid`),
140
  KEY `groupid` (`groupid`),
141
  KEY `online_time` (`online_time`),
142
  KEY `posts` (`posts`),
143
+ KEY `status` (`status`),
144
+ KEY `is_email_confirmed` (`is_email_confirmed`)
145
  ) ENGINE=MyISAM $charset_collate;",
146
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->usergroups."`(
147
  `groupid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
148
  `name` VARCHAR(255) NOT NULL,
149
  `cans` LONGTEXT NOT NULL COMMENT 'board permissions',
157
  KEY `visible` (`visible`),
158
  UNIQUE KEY `UNIQUE_GROUP_NAME` (`name`(191))
159
  ) ENGINE=MyISAM $charset_collate;",
160
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->languages."`(
161
  `langid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
162
  `name` VARCHAR(255) NOT NULL,
163
  PRIMARY KEY (`langid`),
164
  UNIQUE KEY `UNIQUE language name` (`name`(191))
165
  ) ENGINE=MyISAM $charset_collate;",
166
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->phrases."` (
167
  `phraseid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
168
  `langid` INT UNSIGNED NOT NULL,
169
  `phrase_key` VARCHAR(255) NOT NULL,
174
  KEY `phrase_key` (`phrase_key`(191)),
175
  UNIQUE KEY lng_and_key_uniq (`langid`, `phrase_key`(191))
176
  ) ENGINE=MyISAM $charset_collate;",
177
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->likes."`(
178
  `likeid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
179
  `userid` INT UNSIGNED NOT NULL,
180
  `postid` INT UNSIGNED NOT NULL,
182
  PRIMARY KEY (`likeid`),
183
  UNIQUE KEY `userid` (`userid`,`postid`)
184
  ) ENGINE=INNODB $charset_collate;",
185
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->views."`(
186
  `vid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
187
  `userid` INT UNSIGNED NOT NULL,
188
  `topicid` INT UNSIGNED NOT NULL,
190
  PRIMARY KEY (`vid`),
191
  KEY `user_topic` (`userid`,`topicid`)
192
  ) ENGINE=INNODB $charset_collate;",
193
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->votes."`(
194
  `voteid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
195
  `userid` INT UNSIGNED NOT NULL,
196
  `postid` INT UNSIGNED NOT NULL,
199
  PRIMARY KEY (`voteid`),
200
  UNIQUE KEY `userid` (`userid`,`postid`)
201
  ) ENGINE=INNODB $charset_collate;",
202
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->accesses."`(
203
  `accessid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
204
  `access` VARCHAR(255) NOT NULL,
205
  `title` VARCHAR(255) NOT NULL,
207
  PRIMARY KEY (`accessid`),
208
  UNIQUE KEY ( `access`(191) )
209
  ) ENGINE=MyISAM $charset_collate;",
210
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->subscribes."` (
211
  `subid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
212
  `itemid` BIGINT UNSIGNED NOT NULL,
213
  `type` VARCHAR(5) NOT NULL,
222
  KEY `itemid_2` (`itemid`),
223
  KEY `userid` (`userid`)
224
  ) ENGINE=INNODB $charset_collate;",
225
+ "CREATE TABLE IF NOT EXISTS `".WPF()->tables->visits."` (
226
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
227
  `userid` BIGINT UNSIGNED NOT NULL,
228
  `name` VARCHAR(60) NOT NULL,
wpf-includes/integration/buddypress.php ADDED
@@ -0,0 +1,742 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( !defined( 'ABSPATH' ) ) exit;
5
+
6
+ if ( !class_exists( 'WPF_Forums_Component' ) ){
7
+
8
+ class WPF_Forums_Component extends BP_Component {
9
+
10
+ public function __construct() {
11
+ parent::start( 'community', __( 'Forums', 'wpforo' ), '' );
12
+ $this->includes();
13
+ $this->setup_globals();
14
+ $this->setup_actions();
15
+ }
16
+
17
+ public function includes( $includes = array() ) {
18
+ $includes[] = 'functions.php';
19
+ $includes[] = 'members.php';
20
+ if ( bp_is_active( 'notifications' ) ) $includes[] = 'notifications.php';
21
+ if ( bp_is_active( 'activity' ) ) $includes[] = 'activity.php';
22
+ parent::includes( $includes );
23
+ }
24
+
25
+ public function setup_globals( $args = array() ) {
26
+ $bp = buddypress();
27
+ $wpfurl = get_wpf_option('wpforo_url');
28
+ $wpfpath = trim(basename($wpfurl),'/');
29
+ $args = array(
30
+ 'path' => WPFORO_DIR,
31
+ 'slug' => $wpfpath,
32
+ 'root_slug' => isset( $bp->pages->forums->slug ) ? $bp->pages->forums->slug : $wpfpath,
33
+ 'has_directory' => false,
34
+ 'search_string' => __( 'Search Forums...', 'wpforo' ),
35
+ );
36
+ parent::setup_globals( $args );
37
+ }
38
+
39
+ public function setup_actions() {
40
+ add_action( 'bp_init', array( $this, 'setup_components' ), 10 );
41
+ parent::setup_actions();
42
+ }
43
+
44
+ public function setup_components() {
45
+ // Create new activity class
46
+ //if ( bp_is_active( 'activity' ) ) {
47
+ //WPF()->add->buddypress->activity = new WPF_BuddyPress_Activity;
48
+ //}
49
+ }
50
+
51
+ public function setup_nav( $main_nav = array(), $sub_nav = array() ) {
52
+ if ( !is_user_logged_in() && !bp_displayed_user_id() ) return;
53
+ $user_domain = '';
54
+
55
+ // Add 'Forums' to the main navigation
56
+ $main_nav = array(
57
+ 'name' => __( 'Forums', 'wpforo' ),
58
+ 'slug' => $this->slug,
59
+ 'position' => 81,
60
+ 'screen_function' => 'wpforo_bp_forums_screen_topics',
61
+ 'default_subnav_slug' => 'topics',
62
+ 'item_css_id' => $this->id
63
+ );
64
+
65
+ // Determine user to use
66
+ if ( bp_displayed_user_id() )
67
+ $user_domain = bp_displayed_user_domain();
68
+ elseif ( bp_loggedin_user_domain() )
69
+ $user_domain = bp_loggedin_user_domain();
70
+ else
71
+ return;
72
+
73
+ // User link
74
+ $forums_link = trailingslashit( $user_domain . $this->slug );
75
+
76
+ // Topics started
77
+ $sub_nav[] = array(
78
+ 'name' => __( 'Topics Started', 'wpforo' ),
79
+ 'slug' => 'topics',
80
+ 'parent_url' => $forums_link,
81
+ 'parent_slug' => $this->slug,
82
+ 'screen_function' => 'wpforo_bp_forums_screen_topics',
83
+ 'position' => 21,
84
+ 'item_css_id' => 'wpf-topics'
85
+ );
86
+
87
+ // Replies to topics
88
+ $sub_nav[] = array(
89
+ 'name' => __( 'Replies Created', 'wpforo' ),
90
+ 'slug' => 'replies',
91
+ 'parent_url' => $forums_link,
92
+ 'parent_slug' => $this->slug,
93
+ 'screen_function' => 'wpforo_bp_forums_screen_replies',
94
+ 'position' => 41,
95
+ 'item_css_id' => 'wpf-replies'
96
+ );
97
+
98
+ // Liked Posts
99
+ $sub_nav[] = array(
100
+ 'name' => __( 'Liked Posts', 'wpforo' ),
101
+ 'slug' => 'likes',
102
+ 'parent_url' => $forums_link,
103
+ 'parent_slug' => $this->slug,
104
+ 'screen_function' => 'wpforo_bp_forums_screen_likes',
105
+ 'position' => 61,
106
+ 'item_css_id' => 'wpf-likes'
107
+ );
108
+
109
+ // Subscribed topics (my profile only)
110
+ if ( bp_is_my_profile() ) {
111
+ $sub_nav[] = array(
112
+ 'name' => __( 'Subscriptions', 'wpforo' ),
113
+ 'slug' => 'subscriptions',
114
+ 'parent_url' => $forums_link,
115
+ 'parent_slug' => $this->slug,
116
+ 'screen_function' => 'wpforo_bp_forums_screen_subscriptions',
117
+ 'position' => 61,
118
+ 'item_css_id' => 'wpf-subscriptions'
119
+ );
120
+ }
121
+
122
+ parent::setup_nav( $main_nav, $sub_nav );
123
+ }
124
+
125
+ /**
126
+ * Sets up the title for pages and <title>
127
+ */
128
+ public function setup_title() {
129
+ $bp = buddypress();
130
+ if ( bp_is_forums_component() ) {
131
+ if ( bp_is_my_profile() ) {
132
+ $bp->bp_options_title = __( 'Forums', 'wpforo' );
133
+ } elseif ( bp_is_user() ) {
134
+ $bp->bp_options_avatar = bp_core_fetch_avatar( array('item_id' => bp_displayed_user_id(), 'type' => 'thumb' ) );
135
+ $bp->bp_options_title = bp_get_displayed_user_fullname();
136
+ }
137
+ }
138
+ parent::setup_title();
139
+ }
140
+ }
141
+
142
+ function wpforo_bp_frontend_enqueue(){
143
+ if (is_rtl()) {
144
+ wp_register_style('wpforo-bp-rtl', WPFORO_TEMPLATE_URL . '/integration/buddypress/style-rtl.css', false, WPFORO_VERSION );
145
+ wp_enqueue_style('wpforo-bp-rtl');
146
+ }
147
+ else{
148
+ wp_register_style('wpforo-bp', WPFORO_TEMPLATE_URL . '/integration/buddypress/style.css', false, WPFORO_VERSION );
149
+ wp_enqueue_style('wpforo-bp');
150
+ }
151
+ if(!is_wpforo_page()){
152
+ wp_enqueue_style( 'dashicons' );
153
+ }
154
+ }
155
+ add_action('wp_enqueue_scripts', 'wpforo_bp_frontend_enqueue');
156
+ }
157
+
158
+ /**
159
+ * Insert BuddyPress Activity
160
+ * @param array $args
161
+ * @return bool|int|WP_Error
162
+ */
163
+ function wpforo_bp_activity( $args = array() ){
164
+ if( !function_exists('bp_activity_add') || !is_user_logged_in() ) return false;
165
+ $default = array( 'action' => '',
166
+ 'title' => '',
167
+ 'content' => '',
168
+ 'component' => 'community',
169
+ 'type' => false,
170
+ 'primary_link' => '',
171
+ 'user_id' => '',
172
+ 'item_id' => false,
173
+ 'hide_sitewide' => false,
174
+ 'is_spam' => false);
175
+
176
+ $args = wpforo_parse_args( $args, $default );
177
+ if( function_exists('bp_activity_add') ){
178
+ if( function_exists('bp_loggedin_user_domain')){
179
+ $user_url = bp_loggedin_user_domain($args['user_id']);
180
+ if(function_exists('bp_core_get_user_displayname')){
181
+ $user_name = bp_core_get_user_displayname($args['user_id']);
182
+ if( $user_url && $user_name ){
183
+ $user_link = '<a href="' . esc_url($user_url) . '">'. esc_html($user_name) .'</a>';
184
+ $content_link = ( $args['primary_link'] && $args['title']) ? '<a href="' . esc_url($args['primary_link']) . '">'. esc_html($args['title']) .'</a> - ' : $args['title'] . ' - ';
185
+ if( $args['type'] == 'wpforo_topic' ){
186
+ $args['action'] = sprintf( wpforo_phrase('%s posted a new topic %s', false), $user_link, $content_link);
187
+ }
188
+ elseif( $args['type'] == 'wpforo_post' ){
189
+ $args['action'] = sprintf( wpforo_phrase('%s replied to the topic %s', false), $user_link, $content_link);
190
+ }
191
+ elseif( $args['type'] == 'wpforo_like' ){
192
+ $args['action'] = sprintf( wpforo_phrase('%s liked forum post %s', false), $user_link, $content_link);
193
+ }
194
+ }
195
+ }
196
+ }
197
+ return $activity_id = bp_activity_add( $args );
198
+ }
199
+ }
200
+
201
+ /**
202
+ * Delete BuddyPress Activity
203
+ * @param array $args
204
+ * @return bool
205
+ */
206
+ function wpforo_bp_activity_delete( $args = array() ){
207
+ if( !function_exists('bp_activity_delete') || !is_user_logged_in() ) return false;
208
+ $default = array( 'action' => '',
209
+ 'title' => '',
210
+ 'content' => '',
211
+ 'component' => 'community',
212
+ 'type' => false,
213
+ 'primary_link' => '',
214
+ 'user_id' => '',
215
+ 'item_id' => false,
216
+ 'hide_sitewide' => false,
217
+ 'is_spam' => false);
218
+
219
+ $args = wpforo_parse_args( $args, $default );
220
+ if( function_exists('bp_activity_delete') ){
221
+ bp_activity_delete( $args );
222
+ }
223
+ }
224
+
225
+ /**
226
+ * Disable comment button for wpForo activity
227
+ * @param bool $can_comment
228
+ * @return bool
229
+ */
230
+ function wpforo_bp_activity_disable_comment( $can_comment = true ){
231
+ if ( false === $can_comment ) return $can_comment;
232
+ if( function_exists('bp_get_activity_action_name') ){
233
+ $action_name = bp_get_activity_type();
234
+ $disabled_actions = array( 'wpforo_topic', 'wpforo_post', 'wpforo_like' );
235
+ $disabled_actions = apply_filters( 'wpforo_bp_activity_disable_comment', $disabled_actions );
236
+ if ( in_array( $action_name, $disabled_actions ) ) {
237
+ $can_comment = false;
238
+ }
239
+ }
240
+ return $can_comment;
241
+ }
242
+
243
+ /**
244
+ * Register BuddyPress Activities
245
+ */
246
+ function wpforo_bp_register_activity_actions() {
247
+ bp_activity_set_action( 'community', 'wpforo_topic', wpforo_phrase( 'Forum topic', false ), '', wpforo_phrase( 'Forum topic', false ), array( 'member' ));
248
+ bp_activity_set_action( 'community', 'wpforo_post', wpforo_phrase( 'Forum post', false ), '', wpforo_phrase( 'Forum post', false ), array( 'member' ));
249
+ bp_activity_set_action( 'community', 'wpforo_like', wpforo_phrase( 'Forum post like', false ), '', wpforo_phrase( 'Forum post like', false ), array( 'member' ));
250
+ }
251
+ add_action( 'bp_register_activity_actions', 'wpforo_bp_register_activity_actions' );
252
+ add_filter( 'bp_activity_can_comment', 'wpforo_bp_activity_disable_comment');
253
+
254
+ function wpforo_bp_forums_screen_topics(){
255
+ add_action( 'bp_template_content', 'wpforo_bp_member_forums_topics_content' );
256
+ bp_core_load_template( apply_filters( 'wpforo_bp_forums_screen_topics', 'members/single/plugins' ) );
257
+ }
258
+
259
+ function wpforo_bp_member_forums_topics_content() {
260
+ if(isset($_GET['wpfpaged']) && intval($_GET['wpfpaged'])) $paged = intval($_GET['wpfpaged']);
261
+ $paged = (isset($paged) && $paged) ? $paged : 1;
262
+ $args = array(
263
+ 'offset' => ($paged - 1) * WPF()->post->options['posts_per_page'],
264
+ 'row_count' => WPF()->post->options['posts_per_page'],
265
+ 'userid' => bp_displayed_user_id(),
266
+ 'check_private' => true
267
+ );
268
+ $activities = WPF()->topic->get_topics( $args, $items_count);
269
+ ?>
270
+ <div id="wpforo-topics" class="wpforo-activity">
271
+ <h2 class="entry-title"><?php wpforo_phrase('Forum Topics Started'); ?></h2>
272
+ <?php if(empty($activities)) : ?>
273
+ <p class="wpf-p-error"> <?php wpforo_phrase('No activity found for this member.') ?> </p>
274
+ <?php else: ?>
275
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
276
+ <?php $bg = FALSE; foreach( $activities as $activity ) : ?>
277
+ <tr>
278
+ <td class="wpf-activity-title">
279
+ <span class="dashicons dashicons-admin-comments"></span>
280
+ <?php
281
+ $topic = wpforo_topic($activity['topicid']);
282
+ if( !empty($topic)){ $topic_url = $topic['url']; $topic_title = $topic['title']; if(!$topic_url) $topic_url = '#'; if(!$topic_title) $topic_title = wpforo_phrase('Topic link');
283
+ ?><a href="<?php echo esc_url($topic_url) ?>" class="wpf-item-title"><?php echo $topic_title ?></a><?php
284
+ }
285
+ if( wpfval($topic, 'forumid') ){
286
+ $forum = wpforo_forum($topic['forumid']); $forum_url = $forum['url']; $forum_title = $forum['title']; if(!$forum_url) $forum_url = '#'; if(!$forum_title) $forum_url = wpforo_phrase('Forum link');
287
+ ?><p style="font-style: italic"><span><?php echo wpforo_phrase('in forum', false) ?></span> <a href="<?php echo esc_url($forum_url) ?>"><?php echo $forum_title ?></a></p><?php
288
+ }
289
+ ?>
290
+ </td>
291
+ <td class="wpf-activity-users">
292
+ <?php $members = WPF()->topic->members($topic['topicid'], 3); ?>
293
+ <?php if(!empty($members)): foreach( $members as $member ): ?>
294
+ <?php if(!empty($member)): ?>
295
+ <a href="<?php echo bp_core_get_user_domain($member['ID']) ?>" title="<?php echo esc_attr(bp_core_get_user_displayname($member['ID'])); ?>"><?php echo WPF()->member->avatar($member, 'alt="'.esc_attr($member['display_name']).'"', 30) ?></a>
296
+ <?php endif; ?>
297
+ <?php endforeach; endif; ?>
298
+ </td>
299
+ <td class="wpf-activity-posts">
300
+ <?php echo $activity['posts']; ?> <?php wpforo_phrase('posts'); ?>
301
+ </td>
302
+ <td class="wpf-activity-date"><?php wpforo_date($topic['created']); ?></td>
303
+ </tr>
304
+ <?php endforeach ?>
305
+ </table>
306
+ <div class="wpf-activity-foot"><?php WPF()->tpl->pagenavi( $paged, $items_count, false ); ?></div>
307
+ <div style="clear: both"></div>
308
+ <?php endif; ?>
309
+ </div>
310
+ <?php
311
+ }
312
+
313
+ function wpforo_bp_forums_screen_replies(){
314
+ add_action( 'bp_template_content', 'wpforo_bp_member_forums_replies_content' );
315
+ bp_core_load_template( apply_filters( 'wpforo_bp_forums_screen_replies', 'members/single/plugins' ) );
316
+ }
317
+
318
+ function wpforo_bp_member_forums_replies_content() {
319
+ if(isset($_GET['wpfpaged']) && intval($_GET['wpfpaged'])) $paged = intval($_GET['wpfpaged']);
320
+ $paged = (isset($paged) && $paged) ? $paged : 1;
321
+ $args = array(
322
+ 'offset' => ($paged - 1) * WPF()->post->options['posts_per_page'],
323
+ 'row_count' => WPF()->post->options['posts_per_page'],
324
+ 'userid' => bp_displayed_user_id(),
325
+ 'check_private' => true
326
+ );
327
+ $activities = WPF()->post->get_posts( $args, $items_count);
328
+ ?>
329
+ <div id="wpforo-posts" class="wpforo-activity">
330
+ <h2 class="entry-title"><?php wpforo_phrase('Forum Replies Created'); ?></h2>
331
+ <?php if(empty($activities)) : ?>
332
+ <p class="wpf-p-error"> <?php wpforo_phrase('No activity found for this member.') ?> </p>
333
+ <?php else: ?>
334
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
335
+ <?php $bg = FALSE; foreach( $activities as $activity ) : ?>
336
+ <tr>
337
+ <td class="wpf-activity-title">
338
+ <span class="dashicons dashicons-format-chat"></span>
339
+ <?php
340
+ $post = wpforo_post($activity['postid']);
341
+ if( !empty($post)){ $post_url = $post['url']; $post_title = $post['title']; if(!$post_url) $post_url = '#'; if(!$post_title) $post_title = wpforo_phrase('Post link');
342
+ ?><a href="<?php echo esc_url($post_url) ?>" class="wpf-item-title"><?php echo $post_title ?></a><?php
343
+ }
344
+ ?>
345
+ <?php if(wpfval($post, 'body')): ?>
346
+ <p class="wpf-post-excerpt" style="font-style: italic">
347
+ <?php
348
+ $body = wpforo_content_filter( $post['body'] );
349
+ $body = preg_replace('#\[attach\][^\[\]]*\[\/attach\]#is', '', strip_shortcodes(strip_tags($body)));
350
+ wpforo_text($body, 200);
351
+ ?>
352
+ </p>
353
+ <?php endif; ?>
354
+ </td>
355
+ <td class="wpf-activity-forum">
356
+ <?php
357
+ if( wpfval($post, 'forumid') ){
358
+ $forum = wpforo_forum($post['forumid']); $forum_url = $forum['url']; $forum_title = $forum['title']; if(!$forum_url) $forum_url = '#'; if(!$forum_title) $forum_url = wpforo_phrase('Forum link');
359
+ ?><p style="font-style: italic"><span><?php echo wpforo_phrase('in forum', false) ?></span> <a href="<?php echo esc_url($forum_url) ?>"><?php echo $forum_title ?></a></p><?php
360
+ }
361
+ ?>
362
+ </td>
363
+ <td class="wpf-activity-date"><?php wpforo_date($post['created']); ?></td>
364
+ </tr>
365
+ <?php endforeach ?>
366
+ </table>
367
+ <div class="wpf-activity-foot"><?php WPF()->tpl->pagenavi( $paged, $items_count, false ); ?></div>
368
+ <div style="clear: both"></div>
369
+ <?php endif; ?>
370
+ </div>
371
+ <?php
372
+ }
373
+
374
+ function wpforo_bp_forums_screen_likes(){
375
+ add_action( 'bp_template_content', 'wpforo_bp_member_forums_liked_content' );
376
+ bp_core_load_template( apply_filters( 'wpforo_bp_forums_screen_likes', 'members/single/plugins' ) );
377
+ }
378
+
379
+ function wpforo_bp_member_forums_liked_content() {
380
+ if(isset($_GET['wpfpaged']) && intval($_GET['wpfpaged'])) $paged = intval($_GET['wpfpaged']);
381
+ $paged = (isset($paged) && $paged) ? $paged : 1;
382
+ $args = array(
383
+ 'userid' => bp_displayed_user_id(),
384
+ 'offset' => ($paged - 1) * WPF()->post->options['posts_per_page'],
385
+ 'row_count' => WPF()->post->options['posts_per_page'],
386
+ 'var' => 'postid'
387
+ );
388
+ $activities = WPF()->post->get_liked_posts( $args, $items_count);
389
+ ?>
390
+ <div id="wpforo-liked-posts" class="wpforo-activity">
391
+ <h2 class="entry-title"><?php wpforo_phrase('Liked Forum Posts'); ?></h2>
392
+ <?php if(empty($activities)) : ?>
393
+ <p class="wpf-p-error"> <?php wpforo_phrase('No activity found for this member.') ?> </p>
394
+ <?php else: ?>
395
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
396
+ <?php $bg = FALSE; foreach( $activities as $postid ) : ?>
397
+ <tr>
398
+ <td class="wpf-activity-title">
399
+ <span class="dashicons dashicons-thumbs-up"></span>
400
+ <?php
401
+ $post = wpforo_post($postid);
402
+ if( !empty($post)){ $post_url = $post['url']; $post_title = $post['title']; if(!$post_url) $post_url = '#'; if(!$post_title) $post_title = wpforo_phrase('Post link');
403
+ ?><a href="<?php echo esc_url($post_url) ?>" class="wpf-item-title"><?php echo $post_title ?></a><?php
404
+ }
405
+ ?>
406
+ <?php if(wpfval($post, 'body')): ?>
407
+ <p class="wpf-post-excerpt" style="font-style: italic">
408
+ <?php
409
+ $body = wpforo_content_filter( $post['body'] );
410
+ $body = preg_replace('#\[attach\][^\[\]]*\[\/attach\]#is', '', strip_shortcodes(strip_tags($body)));
411
+ wpforo_text($body, 200);
412
+ ?>
413
+ </p>
414
+ <?php endif; ?>
415
+ </td>
416
+ <td class="wpf-activity-forum">
417
+ <?php
418
+ if( wpfval($post, 'forumid') ){
419
+ $forum = wpforo_forum($post['forumid']); $forum_url = $forum['url']; $forum_title = $forum['title']; if(!$forum_url) $forum_url = '#'; if(!$forum_title) $forum_url = wpforo_phrase('Forum link');
420
+ ?><p style="font-style: italic"><span><?php echo wpforo_phrase('in forum', false) ?></span> <a href="<?php echo esc_url($forum_url) ?>"><?php echo $forum_title ?></a></p><?php
421
+ }
422
+ ?>
423
+ </td>
424
+ <td class="wpf-activity-date"><?php wpforo_date($post['created']); ?></td>
425
+ </tr>
426
+ <?php endforeach ?>
427
+ </table>
428
+ <div class="wpf-activity-foot"><?php WPF()->tpl->pagenavi( $paged, $items_count, false ); ?></div>
429
+ <div style="clear: both"></div>
430
+ <?php endif; ?>
431
+ </div>
432
+ <?php
433
+ }
434
+
435
+ function wpforo_bp_forums_screen_subscriptions(){
436
+ add_action( 'bp_template_content', 'wpforo_bp_member_forums_subscriptions_content' );
437
+ bp_core_load_template( apply_filters( 'wpforo_bp_forums_screen_subscriptions', 'members/single/plugins' ) );
438
+ }
439
+
440
+ function wpforo_bp_member_forums_subscriptions_content() {
441
+ if(isset($_GET['wpfpaged']) && intval($_GET['wpfpaged'])) $paged = intval($_GET['wpfpaged']);
442
+ $paged = (isset($paged) && $paged) ? $paged : 1;
443
+ $args = array(
444
+ 'offset' => ($paged - 1) * WPF()->post->options['posts_per_page'],
445
+ 'row_count' => WPF()->post->options['posts_per_page'],
446
+ 'userid' => bp_displayed_user_id(),
447
+ 'order' => 'DESC'
448
+ );
449
+ $activities = WPF()->sbscrb->get_subscribes( $args, $items_count);
450
+ ?>
451
+ <div id="wpforo-subscriptions" class="wpforo-activity">
452
+ <h2 class="entry-title"><?php wpforo_phrase('Forum Replies Created'); ?></h2>
453
+ <?php if(empty($activities)) : ?>
454
+ <p class="wpf-p-error"> <?php wpforo_phrase('No activity found for this member.') ?> </p>
455
+ <?php else: ?>
456
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
457
+ <?php $bg = FALSE; foreach( $activities as $activity ) : ?>
458
+ <tr>
459
+ <td class="wpf-activity-title">
460
+ <span class="dashicons <?php echo ($activity['type'] == 'forum') ? 'dashicons-category' : 'dashicons-admin-comments' ; ?>"></span>
461
+ <?php
462
+ if( in_array($activity['type'], array('forum', 'forum-topic')) ){
463
+ $item = wpforo_forum($activity['itemid']);
464
+ $item_url = $item['url'];
465
+ }elseif($activity['type'] == 'topic'){
466
+ $item = wpforo_topic($activity['itemid']);
467
+ $item_url = $item['url'];
468
+ }elseif ( in_array($activity['type'], array('forums', 'forums-topics')) ){
469
+ $item = array('title' => wpforo_phrase('All ' . $activity['type'], false));
470
+ $item_url = '#';
471
+ }
472
+ if(empty($item)) continue;
473
+ ?>
474
+ <a href="<?php echo esc_url($item_url) ?>" class="wpf-item-title"><?php echo esc_html($item['title']) ?></a>
475
+ </td>
476
+ <td class="wpf-activity-unsb"><a href="<?php echo esc_url(WPF()->sbscrb->get_unsubscribe_link($activity['confirmkey'])) ?>"><?php wpforo_phrase('Unsubscribe'); ?></a></td>
477
+ </tr>
478
+ <?php endforeach ?>
479
+ </table>
480
+ <div class="wpf-activity-foot"><?php WPF()->tpl->pagenavi( $paged, $items_count, false ); ?></div>
481
+ <div style="clear: both"></div>
482
+ <?php endif; ?>
483
+ </div>
484
+ <?php
485
+ }
486
+
487
+ /**
488
+ * Filter registered notifications components, and add 'community' to the queried 'component_name' array.
489
+ *
490
+ * @since wpForo (1.4.8)
491
+ *
492
+ * @param array $component_names
493
+ * @return array
494
+ */
495
+ function wpforo_bp_filter_notifications_get_registered_components( $component_names = array() ) {
496
+ if ( ! is_array( $component_names ) ) $component_names = array();
497
+ array_push( $component_names, 'community' );
498
+ return $component_names;
499
+ }
500
+ add_filter( 'bp_notifications_get_registered_components', 'wpforo_bp_filter_notifications_get_registered_components', 11 );
501
+
502
+ /**
503
+ * Format the BuddyBar/Toolbar notifications
504
+ *
505
+ * @since wpForo (1.4.8)
506
+ *
507
+ * @param string $action The kind of notification being rendered
508
+ * @param int $item_id The primary item id
509
+ * @param int $secondary_item_id The secondary item id
510
+ * @param int $total_items The total number of messaging-related notifications waiting for the user
511
+ * @param string $format 'string' for BuddyBar-compatible notifications; 'array' for WP Toolbar
512
+ */
513
+ function wpforo_bp_format_buddypress_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
514
+ // New reply notifications
515
+
516
+ if ( 'wpforo_new_reply' === $action ) {
517
+
518
+ $post = wpforo_post( $item_id );
519
+ if(!wpfval($post, 'postid')) return false;
520
+ $topic = wpforo_topic( $post['topicid'] );
521
+ if(!wpfval($topic, 'topicid')) return false;
522
+
523
+ $reply_id = $post['postid'];
524
+ $reply_url = $post['url'];
525
+ $topic_title = $topic['title'];
526
+ $reply_link = wp_nonce_url( add_query_arg( array( 'action' => 'wpforo_mark_read', 'itemid' => $reply_id ), $reply_url ), 'wpforo_mark_topic_' . $reply_id );
527
+ $title_attr = __( 'Topic reply', 'wpforo' );
528
+
529
+ if ( (int) $total_items > 1 ) {
530
+ $text = sprintf( __( 'You have %d new replies', 'wpforo' ), (int) $total_items );
531
+ $filter = 'wpforo_bp_multiple_new_subscription_notification';
532
+ } else {
533
+ if ( !empty( $secondary_item_id ) ) {
534
+ $text = sprintf( __( 'You have %d new reply to %2$s from %3$s', 'wpforo' ), (int) $total_items, $topic_title, bp_core_get_user_displayname( $secondary_item_id ) );
535
+ } else {
536
+ $text = sprintf( __( 'You have %d new reply to %s', 'wpforo' ), (int) $total_items, $topic_title );
537
+ }
538
+ $filter = 'wpforo_bp_single_new_subscription_notification';
539
+ }
540
+ // WordPress Toolbar
541
+ if ( 'string' === $format ) {
542
+ $return = apply_filters( $filter, '<a href="' . esc_url( $reply_link ) . '" title="' . esc_attr( $title_attr ) . '">' . esc_html( $text ) . '</a>', (int) $total_items, $text, $reply_link );
543
+ } else {
544
+ $return = apply_filters( $filter, array('text' => $text, 'link' => $reply_link ), $reply_link, (int) $total_items, $text, $topic_title );
545
+ }
546
+ do_action( 'wpforo_bp_format_buddypress_notifications', $action, $item_id, $secondary_item_id, $total_items );
547
+ return $return;
548
+ }
549
+ }
550
+ add_filter( 'bp_notifications_get_notifications_for_user', 'wpforo_bp_format_buddypress_notifications', 11, 5 );
551
+
552
+ /**
553
+ * Hooked into the new reply function, this notification action is responsible
554
+ * for notifying topic and hierarchical reply authors of topic replies.
555
+ *
556
+ * @since wpForo (1.4.8)
557
+ *
558
+ * @param array $post
559
+ * @param array $topic
560
+ */
561
+ function wpforo_bp_add_notification( $post = array(), $topic = array() ) {
562
+
563
+ if( !wpforo_feature('bp_notification') ) return;
564
+
565
+ //Get reply data
566
+ if( !wpfval($post,'postid') ) return;
567
+ if( !wpfval($topic,'topicid') ) return;
568
+
569
+ //Don't notify if a new reply is unapproved
570
+ if( wpfval($post,'status') ) return false;
571
+ if( wpfval($post, 'is_first_post')) return false;
572
+
573
+ //Get author information
574
+ $author_id = $post['userid'];
575
+ $topic_author_id = $topic['userid'];
576
+
577
+ // Hierarchical replies
578
+ if ( wpfval($post, 'parentid') ) {
579
+ $reply_to_item_author_id = wpforo_post( $post['parentid'], 'userid' );
580
+ }
581
+
582
+ // Notify the topic author if not the current reply author
583
+ if ( $author_id !== $topic_author_id ) {
584
+ $args = array(
585
+ 'user_id' => $topic_author_id,
586
+ 'item_id' => $post['postid'],
587
+ 'component_name' => 'community',
588
+ 'component_action' => 'wpforo_new_reply',
589
+ 'date_notified' => $post['created'],
590
+ 'secondary_item_id' => $author_id
591
+ );
592
+ bp_notifications_add_notification( $args );
593
+ }
594
+
595
+ // Notify the immediate reply author if not the current reply author
596
+ if ( wpfval($post, 'parentid') && ($topic_author_id !== $reply_to_item_author_id) && ( $author_id !== $reply_to_item_author_id ) ) {
597
+ $args = array(
598
+ 'user_id' => $reply_to_item_author_id,
599
+ 'item_id' => $post['postid'],
600
+ 'component_name' => 'community',
601
+ 'component_action' => 'wpforo_new_reply',
602
+ 'date_notified' => $post['created'],
603
+ 'secondary_item_id' => $author_id
604
+ );
605
+ bp_notifications_add_notification( $args );
606
+ }
607
+ }
608
+ add_action( 'wpforo_after_add_post', 'wpforo_bp_add_notification', 10, 2 );
609
+
610
+ /**
611
+ * Remove notification when reply is set unapproved
612
+ *
613
+ * @since wpForo (1.4.8)
614
+ *
615
+ * @param array $post
616
+ * @param array $topic
617
+ */
618
+ function wpforo_bp_delete_notification( $post = array(), $topic = array() ) {
619
+
620
+ if( !wpforo_feature('bp_notification') ) return;
621
+
622
+ //Get reply data
623
+ if( !wpfval($post,'postid') ) return;
624
+ if( !wpfval($topic,'topicid') && wpfval($post,'topicid') ) {
625
+ $topic = wpforo_topic($post['topicid']);
626
+ }
627
+
628
+ $reply_to_item_author_id = 0;
629
+ if ( wpfval($post, 'parentid') ) {
630
+ $reply_to_item_author_id = wpforo_post( $post['parentid'], 'userid' );
631
+ }
632
+
633
+ if ( wpfval($topic, 'userid') ) {
634
+ bp_notifications_delete_notifications_by_item_id( $topic['userid'], $post['postid'], 'community', 'wpforo_new_reply' );
635
+ }
636
+
637
+ if( $reply_to_item_author_id && $topic['userid'] !== $reply_to_item_author_id ){
638
+ bp_notifications_delete_notifications_by_item_id( $reply_to_item_author_id, $post['postid'], 'community', 'wpforo_new_reply' );
639
+ }
640
+ }
641
+ add_action( 'wpforo_after_delete_post', 'wpforo_bp_delete_notification', 10 );
642
+
643
+ /**
644
+ * Add / Remove buddypress notification based on post status (approve/unapprove)
645
+ *
646
+ * @since wpForo (1.4.8)
647
+ *
648
+ * @param int $reply_id
649
+ * @param int $status | 0 is approved, 1 is unapproved
650
+ */
651
+ function wpforo_bp_notification_on_post_status_change( $reply_id, $status = 0 ) {
652
+ if( !$reply_id || !wpforo_feature('bp_notification') ) return;
653
+ $post = WPF()->post->get_post($reply_id);
654
+ $post['status'] = $status;
655
+ if( wpfval($post,'topicid') ) {
656
+ $topic = WPF()->topic->get_topic($post['topicid']);
657
+ } else {
658
+ return false;
659
+ }
660
+ if( $status ){
661
+ wpforo_bp_delete_notification( $post, $topic );
662
+ }
663
+ else{
664
+ wpforo_bp_add_notification( $post, $topic );
665
+ }
666
+ }
667
+ add_action( 'wpforo_post_status_update', 'wpforo_bp_notification_on_post_status_change', 10, 2 );
668
+
669
+ /**
670
+ * Mark notifications as read when reading a topic
671
+ *
672
+ * @since wpForo (1.4.8)
673
+ *
674
+ * @return If not trying to mark a notification as read
675
+ */
676
+ function wpforo_bp_buddypress_mark_notifications( $action = '' ) {
677
+
678
+ if ( empty( $_GET['itemid'] ) || empty( $_GET['action'] ) ) return;
679
+ if ( 'wpforo_mark_read' !== $_GET['action'] ) return;
680
+
681
+ // Get required data
682
+ $action = ($action) ? $action : $_GET['action'];
683
+ $user_id = bp_loggedin_user_id();
684
+ $reply_id = intval( $_GET['itemid'] );
685
+
686
+ // Check nonce
687
+ $result = isset( $_REQUEST['_wpnonce'] ) ? wp_verify_nonce( $_REQUEST['_wpnonce'], 'wpforo_mark_topic_' . $reply_id ) : false;
688
+
689
+ if ( !$result ) {
690
+ $wp_error = new WP_Error();
691
+ $wp_error->add( 'wpforo_bp_notification_error', __( 'Are you sure you wanted to do that?', 'wpforo' ) );
692
+ // Check current user's ability to edit the user
693
+ } elseif ( !current_user_can( 'edit_user', $user_id ) ) {
694
+ $wp_error = new WP_Error();
695
+ $wp_error->add( 'wpforo_bp_notification_permissions', __( 'You do not have permission to mark notifications for that user.', 'wpforo' ) );
696
+ }
697
+
698
+ if ( !is_wp_error($wp_error) ) {
699
+ $success = bp_notifications_mark_notifications_by_item_id( $user_id, $reply_id, 'community', 'wpforo_new_reply' );
700
+ do_action( 'wpforo_bp_notifications_handler', $success, $user_id, $reply_id, $action );
701
+ }
702
+
703
+ // Redirect to the topic
704
+ $redirect = wpforo_post( $reply_id, 'url' );
705
+
706
+ // Redirect
707
+ wp_safe_redirect( $redirect );
708
+
709
+ // For good measure
710
+ exit();
711
+ }
712
+ add_action( 'template_redirect', 'wpforo_bp_buddypress_mark_notifications', 9 );
713
+
714
+ function wpforo_bp_profile_url( $url = '', $member = array(), $template = 'profile' ){
715
+
716
+ if(wpfval($member, 'ID')){
717
+
718
+ $user_domain = trim( bp_core_get_user_domain( $member['ID'] ), '/');
719
+
720
+ if( $user_domain ){
721
+ if( $template == 'account' ){
722
+ $url = $user_domain . '/profile/';
723
+ }
724
+ elseif( $template == 'activity' ){
725
+ $url = $user_domain . '/community/';
726
+ }
727
+ elseif( $template == 'subscriptions' ){
728
+ $url = $user_domain . '/community/subscriptions/';
729
+ }
730
+ else{
731
+ $url = $user_domain;
732
+ }
733
+ }
734
+ }
735
+
736
+ return apply_filters('wpforo_bp_member_profile_url', $url, $member, $template);
737
+ }
738
+
739
+ function wpforo_bp_profile_update( $userid ) {
740
+ WPF()->member->reset( 'user', $userid );
741
+ }
742
+ add_action( 'profile_update', 'wpforo_bp_profile_update', 10 );
wpf-includes/integration/legal.php ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wpforo_legal_checkbox_forum_privacy(){
4
+
5
+ $only_forum = apply_filters( 'wpforo_legal_checkbox_forum_privacy_only_for_forum', true );
6
+ $only_new_guests = apply_filters( 'wpforo_legal_checkbox_forum_privacy_only_for_new_guests', true );
7
+
8
+ if( $only_forum && !is_wpforo_page() || is_user_logged_in() ) return false;
9
+ $guest = WPF()->member->get_guest_cookies();
10
+ if( $only_new_guests && wpfval($guest, 'email') ) return false;
11
+
12
+ $set = WPF()->tools_legal;
13
+
14
+ if( wpfval($set, 'checkbox_forum_privacy') && wpfval($set, 'forum_privacy_text') ){
15
+ $forum_home = preg_replace('|\?.+$|', '', wpforo_home_url() );
16
+ $str_privacy = wpforo_phrase( 'forum privacy policy', false, 'native' );
17
+ $str_privacy_label = wpforo_phrase('I have read and agree to the %s.', false);
18
+ $str_privacy_link = ' <span id="wpf-open-privacy" class="wpflink" title="' . esc_attr(wpforo_phrase('Click to open forum privacy policy below', false)) . '">' . $str_privacy . '</span>';
19
+ $str_privacy = sprintf( $str_privacy_label, $str_privacy_link );
20
+ $str_privacy_text = wpautop(stripslashes($set['forum_privacy_text']));
21
+ $str_privacy_text = apply_filters('wpforo_legal_forum_privacy_text', $str_privacy_text);
22
+ $url = parse_url( get_bloginfo('url') );
23
+ $find = array('[forum-name]', '[forum-url]');
24
+ $domain = (wpfval($url, 'host')) ? $url['host'] : $_SERVER['HTTP_HOST'];
25
+ $replace = array( WPF()->general_options['title'] , $domain);
26
+ $str_privacy_text = str_replace($find, $replace, $str_privacy_text);
27
+ ?>
28
+ <label class="wpforo-legal-checkbox wpflegal-privacy">
29
+ <input id="wpflegal_privacy" name="legal[gdpr]" value="1" required type="checkbox"> &nbsp;
30
+ <span><?php echo wp_unslash($str_privacy); ?></span>
31
+ </label>
32
+ <div class="wpforo-legal-privacy wpforo-text" style="display: none;">
33
+ <?php echo $str_privacy_text; ?>
34
+ <div class="wpflegal-privacy-buttons">
35
+ <div id="wpflegal-privacy-yes" class="wpflegal-privacy-button"><?php wpforo_phrase('I agree'); ?></div>
36
+ <a href="<?php echo esc_url($forum_home); ?>" id="wpflegal-privacy-not" class="wpflegal-privacy-button"><?php wpforo_phrase('I do not agree. Take me away from here.'); ?></a>
37
+ </div>
38
+ </div>
39
+ <?php
40
+ }
41
+ }
42
+
43
+ add_action( 'register_form', 'wpforo_legal_checkbox_forum_privacy', 20 );
44
+ add_action( 'wpforo_editor_post_submit_before', 'wpforo_legal_checkbox_forum_privacy', 20 );
45
+ add_action( 'wpforo_editor_topic_submit_before', 'wpforo_legal_checkbox_forum_privacy', 20 );
46
+
47
+ function wpforo_legal_checkbox_forum_rules(){
48
+
49
+ $only_forum = apply_filters( 'wpforo_legal_checkbox_rules_only_for_forum', true );
50
+ $only_new_guests = apply_filters( 'wpforo_legal_checkbox_rules_only_for_new_guests', true );
51
+ if( $only_forum && !is_wpforo_page() || is_user_logged_in() ) return false;
52
+ $guest = WPF()->member->get_guest_cookies();
53
+ if( $only_new_guests && wpfval($guest, 'email') ) return false;
54
+
55
+ $set = WPF()->tools_legal;
56
+
57
+ if( wpfval($set, 'rules_checkbox') && wpfval($set, 'rules_text') ){
58
+ $forum_home = preg_replace('|\?.+$|', '', wpforo_home_url() );
59
+ $str_rules = wpforo_phrase( 'forum rules', false, 'native' );
60
+ $str_rules_text = wpforo_phrase('I have read and agree to abide by the %s.', false);
61
+ $str_rules_link = ' <span id="wpf-open-rules" class="wpflink" title="' . esc_attr(wpforo_phrase('Click to open forum rules below', false)) . '">' . $str_rules . '</span>';
62
+ $str_rules = sprintf( $str_rules_text, $str_rules_link );
63
+ $str_rules_text = apply_filters('wpforo_legal_forum_rules_text', $set['rules_text']);
64
+ ?>
65
+ <label class="wpforo-legal-checkbox wpflegal-rules">
66
+ <input id="wpflegal_rules" name="legal[rules]" value="1" required type="checkbox"> &nbsp;
67
+ <span><?php echo $str_rules; ?></span>
68
+ </label>
69
+ <div class="wpforo-legal-rules wpforo-text" style="display: none;">
70
+ <?php echo wp_unslash($str_rules_text); ?>
71
+ <div class="wpflegal-rules-buttons">
72
+ <div id="wpflegal-rules-yes" class="wpflegal-rules-button"><?php wpforo_phrase('I agree to these rules'); ?></div>
73
+ <a href="<?php echo esc_url($forum_home); ?>" id="wpflegal-rules-not" class="wpflegal-rules-button"><?php wpforo_phrase('I do not agree to these rules. Take me away from here.'); ?></a>
74
+ </div>
75
+ </div>
76
+ <?php
77
+ }
78
+ }
79
+
80
+ add_action( 'register_form', 'wpforo_legal_checkbox_forum_rules', 20 );
81
+ add_action( 'wpforo_editor_post_submit_before', 'wpforo_legal_checkbox_forum_rules', 20 );
82
+ add_action( 'wpforo_editor_topic_submit_before', 'wpforo_legal_checkbox_forum_rules', 20 );
83
+
84
+ function wpforo_legal_checkbox_terms_privacy(){
85
+
86
+ $only_forum = apply_filters( 'wpforo_legal_checkbox_only_for_forum', true );
87
+ $only_new_guests = apply_filters( 'wpforo_legal_checkbox_only_for_new_guests', true );
88
+ if( $only_forum && !is_wpforo_page() || is_user_logged_in() ) return false;
89
+ $guest = WPF()->member->get_guest_cookies();
90
+ if( $only_new_guests && wpfval($guest, 'email') ) return false;
91
+
92
+ $set = WPF()->tools_legal;
93
+
94
+ $str_and = '';
95
+ $str_terms = '';
96
+ $str_privacy = '';
97
+ $str_site_name = get_bloginfo( 'name' );
98
+ $str_site_name = ( $str_site_name ) ? $str_site_name : wpforo_phrase('the website', false);
99
+ $str_terms_privacy = wpforo_phrase('I have read and agree to the', false);
100
+ $str_if_no_pages = sprintf( wpforo_phrase('I have read and agree to %s privacy policy.', false), $str_site_name);
101
+
102
+ if(wpfval($set, 'page_terms')){
103
+ $term_url = $set['page_terms'];
104
+ $term_pageid = url_to_postid( $term_url );
105
+ $str_terms = wpforo_phrase('Terms', false);
106
+ $term_title = ($term_pageid) ? get_the_title( $term_pageid ) : $str_terms;
107
+ $str_terms = ' <a href="' . esc_url( $term_url ) . '" title="' . esc_attr( $term_title ) . '">' . $str_terms . ' </a>';
108
+ }
109
+
110
+ if(wpfval($set, 'page_privacy')){
111
+ $privacy_url = $set['page_privacy'];
112
+ $privacy_pageid = url_to_postid( $privacy_url );
113
+ $str_privacy = wpforo_phrase('Privacy Policy', false);
114
+ $privacy_title = ($privacy_pageid) ? get_the_title( $privacy_pageid ) : $str_privacy;
115
+ $str_privacy = ' <a href="' . esc_url( $privacy_url ) . '" title="' . esc_attr( $privacy_title ) . '">' . $str_privacy . ' </a>';
116
+ }
117
+
118
+ if( $str_terms && $str_privacy ){
119
+ $str_and = wpforo_phrase('and', false, 'lower');
120
+ }
121
+
122
+ if( $str_terms || $str_privacy || (wpfval($set, 'checkbox_forum_privacy') && wpfval($set, 'forum_privacy_text')) ){
123
+ $terms_privacy = $str_terms_privacy . ' ' . $str_terms . ' ' . $str_and . ' ' . $str_privacy;
124
+ $terms_privacy = apply_filters('wpforo_legal_checkbox_label_terms_and_privacy', $terms_privacy);
125
+ if( ( $str_terms || $str_privacy ) && $terms_privacy ){
126
+ ?>
127
+ <label class="wpforo-legal-checkbox wpflegal-terms-privacy">
128
+ <input name="legal[terms_privacy]" value="1" required type="checkbox"> &nbsp;
129
+ <span><?php echo $terms_privacy; ?></span>
130
+ </label>
131
+ <?php
132
+ }
133
+ }
134
+ elseif( wpfval($set, 'checkbox_terms_privacy') ){
135
+ ?>
136
+ <label class="wpforo-legal-checkbox wpflegal-terms-privacy">
137
+ <input name="legal[terms_privacy]" value="1" required type="checkbox"> &nbsp;
138
+ <span><?php echo $str_if_no_pages; ?></span>
139
+ </label>
140
+ <?php
141
+ }
142
+ }
143
+
144
+ add_action( 'register_form', 'wpforo_legal_checkbox_terms_privacy', 20 );
145
+ add_action( 'wpforo_editor_post_submit_before', 'wpforo_legal_checkbox_terms_privacy', 20 );
146
+ add_action( 'wpforo_editor_topic_submit_before', 'wpforo_legal_checkbox_terms_privacy', 20 );
147
+
148
+ function wpforo_legal_checkbox_email_password(){
149
+
150
+ $only_forum = apply_filters( 'wpforo_legal_checkbox_email_password', true );
151
+ if( $only_forum && !is_wpforo_page() ) return false;
152
+ $set = WPF()->tools_legal;
153
+
154
+ if( wpforo_feature('user-register-email-confirm') && wpfval($set, 'checkbox_email_password') ){
155
+ $str_email_password = wpforo_phrase('I agree to receive an email confirmation with a link to set a password.', false);
156
+ $str_email_password = apply_filters('wpforo_legal_checkbox_confirm_email_password', $str_email_password);
157
+ ?>
158
+ <label class="wpforo-legal-checkbox wpflegal-email">
159
+ <input name="legal[email]" value="1" required type="checkbox"> &nbsp;
160
+ <span><?php echo $str_email_password; ?></span>
161
+ </label>
162
+ <?php
163
+ }
164
+ }
165
+
166
+ add_action( 'register_form', 'wpforo_legal_checkbox_email_password', 20 );
167
+
168
+ function wpforo_page_privacy_policy( $template ){
169
+ if( $template !== 'privacy' ) return false;
170
+ $set = WPF()->tools_legal;
171
+ if( wpfval($set, 'checkbox_forum_privacy') ){
172
+ $str_privacy_text = wpautop(stripslashes($set['forum_privacy_text']));
173
+ $str_privacy_text = apply_filters('wpforo_legal_forum_privacy_text', $str_privacy_text);
174
+ $url = parse_url( get_bloginfo('url') );
175
+ $find = array('[forum-name]', '[forum-url]');
176
+ $domain = (wpfval($url, 'host')) ? $url['host'] : $_SERVER['HTTP_HOST'];
177
+ $replace = array( WPF()->general_options['title'] , $domain);
178
+ $str_privacy_text = str_replace($find, $replace, $str_privacy_text);
179
+ $str_privacy_text = apply_filters('wpforo_legal_forum_privacy_output', $str_privacy_text);
180
+ ?>
181
+ <div class="wpforo-page wpforo-page-privacy wpforo-text">
182
+ <?php echo $str_privacy_text; ?>
183
+ </div>
184
+ <?php
185
+ }
186
+ }
187
+
188
+ add_action( 'wpforo_page', 'wpforo_page_privacy_policy', 20 );
189
+
190
+ function wpforo_page_forum_rules( $template ){
191
+ if( $template !== 'rules' ) return false;
192
+ $set = WPF()->tools_legal;
193
+ if( wpfval($set, 'rules_checkbox') ){
194
+ $str_rules_text = wpautop(stripslashes($set['rules_text']));
195
+ $str_rules_text = apply_filters('wpforo_legal_forum_rules_text', $str_rules_text);
196
+ ?>
197
+ <div class="wpforo-page wpforo-page-rules wpforo-text">
198
+ <?php echo $str_rules_text; ?>
199
+ </div>
200
+ <?php
201
+ }
202
+ }
203
+
204
+ add_action( 'wpforo_page', 'wpforo_page_forum_rules', 11 );
205
+
206
+ function wpforo_contact_forum_admin(){
207
+ $set = WPF()->tools_legal;
208
+ if( wpfval($set, 'contact_page_url') ){
209
+ $url = $set['contact_page_url'];
210
+ $html = '<a href="'. esc_url($url).'" title="'. wpforo_phrase('Contact Us', false) . '" class="wpf-contact-admin">' . wpforo_phrase('Contact the forum administrator', false) . '</a>';
211
+ echo apply_filters('wpforo_legal_contact_forum_admin_button', $html);
212
+ }
213
+ }
214
+
215
+ add_action( 'wpforo_profile_account_bottom', 'wpforo_contact_forum_admin', 10 );
wpf-includes/wpf-actions.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  function wpforo_actions(){
6
  do_action( 'wpforo_actions' );
7
-
8
  if( isset($_POST['wpfreg']) && !empty($_POST['wpfreg']) && $userid = WPF()->member->create($_POST['wpfreg'])){
9
  wpforo_verify_form('ref');
10
  WPF()->member->reset($userid);
@@ -209,6 +209,14 @@ function wpforo_actions(){
209
  exit();
210
  }
211
 
 
 
 
 
 
 
 
 
212
  ## Resolved
213
  if( isset($_GET['wpforo']) && $_GET['wpforo'] == 'solved' && $_GET['tid'] ){
214
  $topicid = intval($_GET['tid']);
@@ -231,6 +239,12 @@ function wpforo_actions(){
231
  * BACK-END
232
  *
233
  */
 
 
 
 
 
 
234
 
235
  ##Settings action
236
  if( wpforo_is_admin() && isset($_POST['wpforo_screen_option']['value']) ){
@@ -255,25 +269,25 @@ function wpforo_actions(){
255
  exit();
256
  }
257
  if( $_GET['action'] == 'reset_fstat' && check_admin_referer( 'wpforo_reset_forums_stat' ) ){
258
- $forumids = WPF()->db->get_col("SELECT `forumid` FROM " . WPF()->db->prefix . "wpforo_forums ORDER BY `forumid` ASC");
259
  if(!empty($forumids)){
260
  foreach($forumids as $forumid){
261
  WPF()->forum->rebuild_stats($forumid);
262
- WPF()->db->query("DELETE FROM `" . WPF()->db->prefix . "options` WHERE `option_name` LIKE 'wpforo_stat%'" );
263
  }
264
  WPF()->forum->delete_tree_cache();
265
  WPF()->notice->add('Updated Successfully!', 'success');
266
  }
267
  }
268
  if( $_GET['action'] == 'reset_ustat' && check_admin_referer( 'wpforo_reset_users_stat' ) ){
269
- $users = WPF()->db->get_results("SELECT `userid` FROM " . WPF()->db->prefix . "wpforo_profiles ORDER BY `posts` DESC", ARRAY_A);
270
  if(!empty($users)){
271
  foreach($users as $user){
272
  $questions = WPF()->member->get_questions_count( $user['userid'] );
273
  $answers = WPF()->member->get_answers_count( $user['userid'] );
274
  $posts = WPF()->member->get_replies_count( $user['userid'] );
275
  $question_comments = WPF()->member->get_question_comments_count( $user['userid'] );
276
- WPF()->db->query("UPDATE `" . WPF()->db->prefix . "wpforo_profiles`
277
  SET `posts` = " . intval($posts) . ", `answers` = " . intval($answers) . ", `comments` = " . intval($question_comments) . ", `questions` = " . intval($questions) . "
278
  WHERE `userid` = " . intval( $user['userid'] ) );
279
  }
@@ -294,7 +308,7 @@ function wpforo_actions(){
294
  wpforo_clean_cache();
295
  $current_time = time();
296
  $month_ago = $current_time - 2592000;
297
- WPF()->db->query("DELETE FROM `" . WPF()->db->prefix . "wpforo_views` WHERE `created` < " . intval($month_ago) );
298
  WPF()->notice->add('Deleted Successfully!', 'success');
299
  }
300
  }
@@ -885,6 +899,15 @@ function wpforo_actions(){
885
  wp_redirect( admin_url( 'admin.php?page=wpforo-tools&tab=misc' ) );
886
  exit();
887
  }
 
 
 
 
 
 
 
 
 
888
 
889
  if(isset($_GET['action']) && $_GET['action']=='delete-spam-file' && isset($_GET['sfname']) && $_GET['sfname']){
890
  $filename = sanitize_file_name($_GET['sfname']);
4
 
5
  function wpforo_actions(){
6
  do_action( 'wpforo_actions' );
7
+
8
  if( isset($_POST['wpfreg']) && !empty($_POST['wpfreg']) && $userid = WPF()->member->create($_POST['wpfreg'])){
9
  wpforo_verify_form('ref');
10
  WPF()->member->reset($userid);
209
  exit();
210
  }
211
 
212
+ if( !empty( $_POST['wpforo_subscribe_manager']) ){
213
+ $data = ( !empty($_POST['wpforo']['forums']) ? $_POST['wpforo']['forums'] : array() );
214
+ $all = ( !empty($_POST['wpforo']['check_all']) ? $_POST['wpforo']['check_all'] : '' );
215
+ WPF()->sbscrb->reset($data, $all);
216
+ wp_redirect( wpforo_home_url('subscriptions') );
217
+ exit();
218
+ }
219
+
220
  ## Resolved
221
  if( isset($_GET['wpforo']) && $_GET['wpforo'] == 'solved' && $_GET['tid'] ){
222
  $topicid = intval($_GET['tid']);
239
  * BACK-END
240
  *
241
  */
242
+
243
+ ##check if wpforo page has been deleted, restore or create new wpforo page
244
+ if( wpforo_is_admin() && isset($_GET['page']) && ($_GET['page'] == 'wpforo-community' || $_GET['page'] == 'wpforo-settings' ) ){
245
+ if( !WPF()->pageid || !WPF()->db->get_var("SELECT `ID` FROM `".WPF()->db->posts."` WHERE `ID` = ".intval(WPF()->pageid)." AND `post_content` LIKE '%[wpforo%' AND `post_status` LIKE 'publish' AND `post_type` IN('post', 'page')") )
246
+ wpforo_create_forum_page();
247
+ }
248
 
249
  ##Settings action
250
  if( wpforo_is_admin() && isset($_POST['wpforo_screen_option']['value']) ){
269
  exit();
270
  }
271
  if( $_GET['action'] == 'reset_fstat' && check_admin_referer( 'wpforo_reset_forums_stat' ) ){
272
+ $forumids = WPF()->db->get_col("SELECT `forumid` FROM ".WPF()->tables->forums." ORDER BY `forumid` ASC");
273
  if(!empty($forumids)){
274
  foreach($forumids as $forumid){
275
  WPF()->forum->rebuild_stats($forumid);
276
+ WPF()->db->query("DELETE FROM `" . WPF()->db->options."` WHERE `option_name` LIKE 'wpforo_stat%'" );
277
  }
278
  WPF()->forum->delete_tree_cache();
279
  WPF()->notice->add('Updated Successfully!', 'success');
280
  }
281
  }
282
  if( $_GET['action'] == 'reset_ustat' && check_admin_referer( 'wpforo_reset_users_stat' ) ){
283
+ $users = WPF()->db->get_results("SELECT `userid` FROM ".WPF()->tables->profiles." ORDER BY `posts` DESC", ARRAY_A);
284
  if(!empty($users)){
285
  foreach($users as $user){
286
  $questions = WPF()->member->get_questions_count( $user['userid'] );
287
  $answers = WPF()->member->get_answers_count( $user['userid'] );
288
  $posts = WPF()->member->get_replies_count( $user['userid'] );
289
  $question_comments = WPF()->member->get_question_comments_count( $user['userid'] );
290
+ WPF()->db->query("UPDATE `".WPF()->tables->profiles."`
291
  SET `posts` = " . intval($posts) . ", `answers` = " . intval($answers) . ", `comments` = " . intval($question_comments) . ", `questions` = " . intval($questions) . "
292
  WHERE `userid` = " . intval( $user['userid'] ) );
293
  }
308
  wpforo_clean_cache();
309
  $current_time = time();
310
  $month_ago = $current_time - 2592000;
311
+ WPF()->db->query("DELETE FROM `".WPF()->tables->views."` WHERE `created` < " . intval($month_ago) );
312
  WPF()->notice->add('Deleted Successfully!', 'success');
313
  }
314
  }
899
  wp_redirect( admin_url( 'admin.php?page=wpforo-tools&tab=misc' ) );
900
  exit();
901
  }
902
+
903
+ if( isset($_POST['wpforo_tools_legal']) ){
904
+ check_admin_referer( 'wpforo-tools-legal' );
905
+ if( update_option('wpforo_tools_legal', $_POST['wpforo_tools_legal']) ){
906
+ WPF()->notice->add('Settings successfully updated', 'success');
907
+ }
908
+ wp_redirect( admin_url( 'admin.php?page=wpforo-tools&tab=legal' ) );
909
+ exit();
910
+ }
911
 
912
  if(isset($_GET['action']) && $_GET['action']=='delete-spam-file' && isset($_GET['sfname']) && $_GET['sfname']){
913
  $filename = sanitize_file_name($_GET['sfname']);
wpf-includes/wpf-hooks.php CHANGED
@@ -100,6 +100,50 @@ function wpforo_change_default_login_page( $login_url, $redirect ) {
100
  }
101
  add_filter( 'login_url', 'wpforo_change_default_login_page', 10, 2 );
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  function wpftpl( $filename ){
104
  $find = array();
105
  if ( $filename ) {
@@ -305,22 +349,29 @@ function wpforo_add_meta_tags(){
305
 
306
  if(is_wpforo_page()){
307
  $title = '';
308
- $og_img = '';
309
  $noindex = '';
310
  $template = '';
311
  $description = '';
312
  $udata = array();
313
  $canonical = wpforo_get_request_uri();
314
  $noindex_urls = WPF()->tools_misc['noindex'];
 
315
  if(!empty($noindex_urls)){
316
  $noindex_urls = explode("\n", $noindex_urls);
317
  if(!empty($noindex_urls)){
318
  $noindex_urls = array_map("trim", $noindex_urls);
319
  foreach( $noindex_urls as $noindex_url){
320
- $noindex_url = strtok($noindex_url, "#");
321
- if( $canonical == $noindex_url ) {
322
- $noindex = "<meta name=\"robots\" content=\"noindex\">\r\n"; break;
323
- }
 
 
 
 
 
 
324
  }
325
  }
326
  }
@@ -340,8 +391,7 @@ function wpforo_add_meta_tags(){
340
  }
341
  }elseif( isset(WPF()->current_object['topicid']) && isset($topic['first_postid']) ){
342
  $post = WPF()->post->get_post($topic['first_postid']);
343
- $image = wpforo_get_image_url($post['body']);
344
- if($image) $og_img = '<meta property="og:image" content="' . $image . '" />' . "\r\n";
345
  if(isset($post['title'])) $title = wpforo_text($paged . $post['title'], 60, false);
346
  if(isset($post['body'])) $description = wpforo_text($paged . $post['body'], 150, false);
347
  }elseif( $template == 'profile' || $template == 'account' || $template == 'activity' || $template == 'subscriptions' ){
@@ -366,6 +416,7 @@ function wpforo_add_meta_tags(){
366
  }
367
  }
368
  $description = preg_replace('#[\t\r\n]+#isu', ' ', $description);
 
369
  echo "\r\n<!-- wpForo SEO -->\r\n" . $noindex . "<link rel=\"canonical\" href=\"".$canonical."\" />\r\n<meta name=\"description\" content=\"" . esc_html($description) . "\" />\r\n<meta property=\"og:title\" content=\"" . esc_html($title) . "\" />\r\n<meta property=\"og:description\" content=\"" . esc_html($description) . "\" />\r\n<meta property=\"og:url\" content=\"" . $canonical . "\" />\r\n". $og_img . "<meta property=\"og:site_name\" content=\"" . get_bloginfo('name') . "\" />\r\n<meta name=\"twitter:description\" content=\"" . esc_html($description) . "\"/>\r\n<meta name=\"twitter:title\" content=\"" . esc_html($title) . "\" />\r\n<!-- wpForo SEO End -->\r\n\r\n";
370
  }
371
  }
@@ -402,7 +453,7 @@ function wpf_like(){
402
  }
403
  if( $_POST['likestatus'] ){
404
  if( WPF()->db->insert(
405
- WPF()->db->prefix . 'wpforo_likes',
406
  array(
407
  'postid' => $postid,
408
  'userid' => WPF()->current_userid,
@@ -418,7 +469,7 @@ function wpf_like(){
418
  }
419
  }else{
420
  if( WPF()->db->delete(
421
- WPF()->db->prefix . 'wpforo_likes',
422
  array(
423
  'postid' => $postid,
424
  'userid' => WPF()->current_userid
@@ -454,13 +505,13 @@ function wpf_vote(){
454
  $reaction = 1;
455
  if( $_POST['votestatus'] == 'down' ) $reaction = -1;
456
 
457
- if( WPF()->db->get_var( "SELECT `voteid` FROM `".WPF()->db->prefix."wpforo_votes` WHERE `postid` = " . wpforo_bigintval($_POST['postid']) . " AND `userid` = " . wpforo_bigintval(WPF()->current_userid) . " AND `reaction` = '" . $reaction . "'" )){
458
  WPF()->notice->add('You are already voted this post');
459
  echo json_encode(array('stat' => 0, 'notice' => WPF()->notice->get_notices()));
460
  exit();
461
  }else{
462
  WPF()->db->delete(
463
- WPF()->db->prefix . 'wpforo_votes',
464
  array( 'postid' => $_POST['postid'], 'userid' => WPF()->current_userid ),
465
  array('%d', '%d')
466
  );
@@ -470,7 +521,7 @@ function wpf_vote(){
470
  $post = WPF()->post->get_post( $postid );
471
 
472
  $voted = WPF()->db->insert(
473
- WPF()->db->prefix . 'wpforo_votes',
474
  array(
475
  'postid' => $postid,
476
  'userid' => WPF()->current_userid,
@@ -492,9 +543,9 @@ function wpf_vote(){
492
  $incr = $incr2 = true;
493
 
494
  if( $_POST['itemtype'] == 'topic' ){
495
- $incr = WPF()->db->query( "UPDATE ".WPF()->db->prefix . 'wpforo_topics'." SET `votes` = `votes` + $reaction WHERE topicid = " . wpforo_bigintval($post['topicid']) );
496
  }
497
- $incr2 = WPF()->db->query( "UPDATE ".WPF()->db->prefix . 'wpforo_posts'." SET `votes` = `votes` + $reaction WHERE postid = " . wpforo_bigintval($post['postid']) );
498
 
499
  if($incr !== FALSE && $incr2 !== FALSE){
500
  wpforo_clean_cache('post', $postid, $post);
@@ -543,7 +594,7 @@ function wpf_answer(){
543
  echo json_encode($response);
544
  exit();
545
  }
546
- if( FALSE !== WPF()->db->query( "UPDATE ".WPF()->db->prefix ."wpforo_posts SET is_answer = ".intval($_POST['answerstatus'])." WHERE postid = " . intval($postid) ) ){
547
  wpforo_clean_cache('post', $postid, $post);
548
  do_action('wpforo_answer', intval($_POST['answerstatus']), $post);
549
  WPF()->notice->add('done', 'success');
@@ -557,7 +608,7 @@ function wpf_answer(){
557
  add_action('wp_ajax_wpforo_quote_ajax', 'wpf_quote');
558
  add_action('wp_ajax_nopriv_wpforo_quote_ajax', 'wpf_quote' );
559
  function wpf_quote(){
560
- $post = WPF()->db->get_row('SELECT `userid`, `name`, `email`, `body` FROM '.WPF()->db->prefix.'wpforo_posts WHERE postid =' . intval($_POST['postid']), ARRAY_A);
561
  if( !WPF()->perm->forum_can( 'cr', $post['forumid']) ) return;
562
  $post = apply_filters('wpforo_quote_post_ajax', $post);
563
  $poster = wpforo_member( $post );
@@ -625,7 +676,7 @@ function wpf_sticky(){
625
  echo json_encode($response);
626
  exit();
627
  }
628
- $sql = "SELECT `forumid` FROM `" . WPF()->db->prefix . "wpforo_topics` WHERE `topicid` = $topicid";
629
  $forumid = WPF()->db->get_var($sql);
630
  if( !WPF()->perm->forum_can( 's', $forumid) ){
631
  WPF()->notice->add('You don\'t have permission to do this action from this forum', 'error');
@@ -634,14 +685,14 @@ function wpf_sticky(){
634
  exit();
635
  }
636
  if( $_POST['status'] == 'sticky' ){
637
- $sql = "UPDATE `" . WPF()->db->prefix . "wpforo_topics` SET `type` = 1 WHERE `topicid` = $topicid";
638
  if( false !== WPF()->db->query($sql) ){
639
  WPF()->notice->add('Done!', 'success');
640
  $response['notice'] = WPF()->notice->get_notices();
641
  $response['stat'] = 1;
642
  }
643
  }elseif( $_POST['status'] == 'unsticky' ){
644
- $sql = "UPDATE `" . WPF()->db->prefix . "wpforo_topics` SET `type` = 0 WHERE `topicid` = $topicid";
645
  if( false !== WPF()->db->query($sql) ){
646
  WPF()->notice->add('Done!', 'success');
647
  $response['notice'] = WPF()->notice->get_notices();
@@ -659,15 +710,15 @@ function wpf_private(){
659
  if( !isset($_POST['postid']) || !( $p_id = intval($_POST['postid']) ) ){ echo 0; exit(); }
660
  $topic = wpforo_topic($p_id);
661
  if( $_POST['status'] == 'private' ){
662
- $sql = "UPDATE " . WPF()->db->prefix . "wpforo_topics SET private = 1 WHERE topicid = " . intval($p_id);
663
  WPF()->db->query( $sql );
664
- $sql = "UPDATE " . WPF()->db->prefix . "wpforo_posts SET private = 1 WHERE topicid = " . intval($p_id);
665
  WPF()->db->query( $sql );
666
  WPF()->topic->last_topic($topic, 'remove');
667
  }elseif( $_POST['status'] == 'public' ){
668
- $sql = "UPDATE ".WPF()->db->prefix ."wpforo_topics SET private = 0 WHERE topicid = " . intval($p_id);
669
  WPF()->db->query( $sql );
670
- $sql = "UPDATE ".WPF()->db->prefix ."wpforo_posts SET private = 0 WHERE topicid = " . intval($p_id);
671
  WPF()->db->query( $sql );
672
  WPF()->topic->last_topic($topic, 'add');
673
  }
@@ -683,10 +734,10 @@ function wpf_solved(){
683
  $post = WPF()->post->get_post($_POST['postid']);
684
  if( WPF()->perm->forum_can( 'sv', $post['forumid']) || WPF()->perm->forum_can( 'osv', $post['forumid']) ){
685
  if( $_POST['status'] == 'solved' ){
686
- $sql = "UPDATE " . WPF()->db->prefix . "wpforo_posts SET is_answer = 1 WHERE postid = " . intval($p_id);
687
  WPF()->db->query( $sql );
688
  }elseif( $_POST['status'] == 'unsolved' ){
689
- $sql = "UPDATE ".WPF()->db->prefix ."wpforo_posts SET is_answer = 0 WHERE postid = " . intval($p_id);
690
  WPF()->db->query( $sql );
691
  }
692
  if( isset($post['topicid']) && $post['topicid'] ) wpforo_clean_cache('topic', $post['topicid']);
@@ -700,29 +751,12 @@ function wpf_solved(){
700
  add_action('wp_ajax_wpforo_approve_ajax', 'wpf_approved');
701
  function wpf_approved(){
702
  if(!is_user_logged_in()) return;
703
-
704
  if( !isset($_POST['postid']) || !( $p_id = intval($_POST['postid']) ) ){ echo 0; exit(); }
705
  $post = wpforo_post($p_id);
706
  if( $_POST['status'] == 'approve' ){
707
- $sql = "UPDATE " . WPF()->db->prefix . "wpforo_posts SET status = 0 WHERE postid = " . intval($p_id);
708
- WPF()->db->query( $sql );
709
- $sql = "SELECT is_first_post FROM " . WPF()->db->prefix . "wpforo_posts WHERE `postid` = " . intval($p_id);
710
- $is_first_post = WPF()->db->get_var($sql);
711
- if( $is_first_post ){
712
- $sql = "UPDATE " . WPF()->db->prefix . "wpforo_topics SET status = 0 WHERE first_postid = " . intval($p_id);
713
- WPF()->db->query($sql);
714
- }
715
- WPF()->post->last_post($post, 'add');
716
  }elseif( $_POST['status'] == 'unapprove' ){
717
- $sql = "UPDATE ".WPF()->db->prefix ."wpforo_posts SET status = 1 WHERE postid = " . intval($p_id);
718
- WPF()->db->query( $sql );
719
- $sql = "SELECT is_first_post FROM " . WPF()->db->prefix . "wpforo_posts WHERE postid = " . intval($p_id);
720
- $is_first_post = WPF()->db->get_var($sql);
721
- if( $is_first_post ){
722
- $sql = "UPDATE " . WPF()->db->prefix . "wpforo_topics SET status = 1 WHERE first_postid = " . intval($p_id);
723
- WPF()->db->query($sql);
724
- }
725
- WPF()->post->last_post($post, 'remove');
726
  }
727
  wpforo_clean_cache('post', $p_id);
728
  echo 1;
@@ -735,11 +769,11 @@ function wpf_close(){
735
 
736
  if( !isset($_POST['postid']) || !( $p_id = intval($_POST['postid']) ) ){ echo 0; exit(); }
737
  if( $_POST['status'] == 'closed' ){
738
- $sql = "UPDATE ".WPF()->db->prefix ."wpforo_topics SET closed = 0 WHERE topicid = " . intval($p_id);
739
  WPF()->db->query( $sql );
740
  wpforo_clean_cache('topic', $p_id);
741
  }elseif( $_POST['status'] == 'close' ){
742
- $sql = "UPDATE ".WPF()->db->prefix ."wpforo_topics SET closed = 1 WHERE topicid = " . intval($p_id);
743
  WPF()->db->query( $sql );
744
  wpforo_clean_cache('topic', $p_id);
745
  echo 1;
@@ -755,8 +789,8 @@ function wpf_edit(){
755
 
756
  if( !isset($_POST['postid']) || !$_POST['postid'] ){ echo 0; exit(); }
757
  $sql = 'SELECT t.forumid AS forumid, t.title AS topic_title, p.title AS post_title, p.`body`
758
- FROM '.WPF()->db->prefix.'wpforo_posts p
759
- INNER JOIN '.WPF()->db->prefix.'wpforo_topics t ON t.topicid = p.topicid
760
  WHERE p.postid =' . intval($_POST['postid']);
761
  if($post = WPF()->db->get_row($sql, ARRAY_A) ){
762
  if( WPF()->perm->forum_can('eor', $post['forumid']) || WPF()->perm->forum_can('eot', $post['forumid']) ){
@@ -805,6 +839,7 @@ function wpf_delete(){
805
  add_action('wp_ajax_wpforo_subscribe_ajax', 'wpf_subscribe');
806
  add_action('wp_ajax_nopriv_wpforo_subscribe_ajax', 'wpf_subscribe');
807
  function wpf_subscribe(){
 
808
  $args = array(
809
  'itemid' => wpforo_bigintval($_POST['itemid']),
810
  'type' => sanitize_text_field($_POST['type']),
@@ -818,7 +853,7 @@ function wpf_subscribe(){
818
  if( WPF()->current_user_email ) $args['user_email'] = WPF()->current_user_email;
819
  if( WPF()->current_user_display_name ) $args['user_name'] = WPF()->current_user_display_name;
820
  }
821
- if( !$args['userid'] && !$args['user_email'] ) return false;
822
 
823
  if(isset($_POST['status']) && $_POST['status'] == 'subscribe'){
824
 
@@ -827,16 +862,18 @@ function wpf_subscribe(){
827
  if( isset($forum['forumid']) && $forum['forumid'] ){
828
  if( !WPF()->perm->forum_can('vf', $forum['forumid']) ){
829
  WPF()->notice->add('You are not permitted to subscribe here', 'error');
830
- $return = 0;
 
831
  }
832
  }
833
  }elseif($_POST['type'] == 'topic'){
834
- $topic = WPF()->db->get_row("SELECT * FROM `".WPF()->db->prefix."wpforo_topics` WHERE `topicid` = " . intval($_POST['itemid']), ARRAY_A);
835
  if( isset($topic['forumid']) && $topic['forumid'] ){
836
  if( isset($topic['private']) && $topic['private'] && !wpforo_is_owner($topic['userid'], $topic['email']) ){
837
  if( !WPF()->perm->forum_can('vp', $topic['forumid']) ){
838
  WPF()->notice->add('You are not permitted to subscribe here', 'error');
839
- $return = 0;
 
840
  }
841
  }
842
  }
@@ -893,8 +930,7 @@ function wpf_subscribe(){
893
 
894
  $resp['stat'] = $return;
895
  $resp['notice'] = WPF()->notice->get_notices();
896
- echo json_encode( $resp );
897
- exit();
898
  }
899
 
900
  ############### Sending Email ##################
@@ -964,20 +1000,20 @@ function wpforo_admin_mail_headers($from_name = '', $from_email = '', $cc = arra
964
  ############### Sending Email end ##############
965
 
966
  function wpforo_frontend_enqueue(){
 
 
 
 
 
 
 
 
967
  if( is_wpforo_page() ){
968
  wp_enqueue_script('jquery-ui-core');
969
  wp_enqueue_script('jquery-ui-dialog');
970
  wp_register_script( 'wpforo-frontend-js', WPFORO_URL . '/wpf-assets/js/frontend.js', array('jquery'), WPFORO_VERSION, false );
971
  wp_enqueue_script('wpforo-frontend-js');
972
  wp_localize_script('wpforo-frontend-js', 'wpforo_phrases', WPF()->phrase->__phrases);
973
- if( wpforo_feature( 'font-awesome') ){
974
- wp_register_style('wpforo-font-awesome', WPFORO_URL . '/wpf-assets/css/font-awesome/css/fontawesome-all.min.css', false, '5.0.6' );
975
- wp_enqueue_style('wpforo-font-awesome');
976
- if (is_rtl()) {
977
- wp_register_style('wpforo-font-awesome-rtl', WPFORO_URL . '/wpf-assets/css/font-awesome/css/font-awesome-rtl.css', false, WPFORO_VERSION );
978
- wp_enqueue_style('wpforo-font-awesome-rtl');
979
- }
980
- }
981
  wp_register_script('wpforo-ajax', WPFORO_URL . '/wpf-assets/js/ajax.js', array('jquery'), WPFORO_VERSION, false);
982
  wp_enqueue_script('wpforo-ajax');
983
  wp_localize_script('wpforo-ajax', 'wpf_ajax_obj', array( 'url' => admin_url('admin-ajax.php') ));
@@ -1007,14 +1043,9 @@ function wpforo_add_into_wp_head(){
1007
  ?>
1008
  <script type="text/javascript">
1009
  jQuery(document).ready(function($){
1010
- $(document).on('click','.attach_cant_view', function(){
1011
- var msg_box = jQuery("#wpf-msg-box");
1012
- var load = jQuery('#wpforo-load');
1013
- msg_box.hide();
1014
- load.visible();
1015
- msg_box.html("<p><?php echo addslashes( ( is_user_logged_in() ? WPF()->post->options['attach_cant_view_msg'] : sprintf( wpforo_phrase('Please %s or %s', FALSE), '<a href="' . wpforo_login_url() . '">'.wpforo_phrase('Login', FALSE).'</a>', '<a href="' . wpforo_register_url() . '">'.wpforo_phrase('Register', FALSE).'</a>' ) ) ) ?></p>");
1016
- msg_box.show(150).delay(1000);
1017
- load.invisible();
1018
  });
1019
  });
1020
  </script>
@@ -1311,6 +1342,8 @@ function wpforo_send_mail_to_mentioned_users($item){
1311
  $_message = str_replace($_from_tags, $_to_words, $_message);
1312
 
1313
  add_filter( 'wp_mail_content_type', 'wpforo_set_html_content_type' );
 
 
1314
  foreach ( $matches as $match ){
1315
  $member = WPF()->member->get_member($match[1]);
1316
  if( !empty($member['user_email']) ){
@@ -1331,7 +1364,7 @@ function wpforo_send_mail_to_mentioned_users($item){
1331
  $message = stripslashes(str_replace('[mentioned-user-name]', $dname, $_message));
1332
  $message = wpforo_kses($message, 'email');
1333
 
1334
- if( $return = wp_mail( $member['user_email'], sanitize_text_field($subject), $message, wpforo_mail_headers() ) ){
1335
  WPF()->sbscrb->already_sent_emails[] = $member['user_email'];
1336
  }
1337
  }
@@ -1386,7 +1419,7 @@ function wpforo_topic_auto_subscribe($item){
1386
  $member_name = ( WPF()->current_userid ? wpforo_make_dname( WPF()->current_user['display_name'], WPF()->current_user['user_nicename'] ) : ( $args['user_name'] ? $args['user_name'] : $args['user_email'] ) );
1387
  $subject = WPF()->sbscrb->options['confirmation_email_subject'];
1388
  $message = WPF()->sbscrb->options['confirmation_email_message'];
1389
- $topic = WPF()->db->get_row("SELECT * FROM `".WPF()->db->prefix."wpforo_topics` WHERE `topicid` = " . intval($item['topicid']), ARRAY_A);
1390
  $from_tags = array("[member_name]", "[entry_title]", "[confirm_link]");
1391
  $to_words = array(sanitize_text_field($member_name), '<strong>' . sanitize_text_field($topic['title']) . '</strong>', '<br><br><a href="' . esc_url($confirmlink) . '"> ' . wpforo_phrase('Confirm my subscription', false) . ' </a>');
1392
  $subject = stripslashes(str_replace($from_tags, $to_words, $subject));
@@ -1417,7 +1450,9 @@ function wpforo_forum_subscribers_mail_sender( $topic ){
1417
 
1418
  if( defined('IS_GO2WPFORO') && IS_GO2WPFORO ) return;
1419
 
1420
- $subscribers = WPF()->sbscrb->get_subscribes( array( 'itemid' => $topic['forumid'], 'type' => 'forum' ) );
 
 
1421
  if( WPF()->sbscrb->options['new_topic_notify'] ){
1422
  $admin_emails = explode(',', WPF()->sbscrb->options['admin_emails']);
1423
  foreach( $admin_emails as $admin_email ) $subscribers[] = sanitize_email( $admin_email );
@@ -1493,7 +1528,9 @@ function wpforo_forum_subscribers_mail_sender( $topic ){
1493
  $headers = wpforo_mail_headers();
1494
  $subject = $subject_prefix . $subject;
1495
  $message = $message . $mod_text;
1496
- $email_status = wp_mail( $member['user_email'] , $subject, $message, $headers );
 
 
1497
  remove_filter( 'wp_mail_content_type', 'wpforo_set_html_content_type' );
1498
 
1499
  ############### Sending Email end ##############
@@ -1507,13 +1544,17 @@ add_action( 'wpforo_after_add_topic', 'wpforo_forum_subscribers_mail_sender', 12
1507
  function wpforo_topic_subscribers_mail_sender( $post ){
1508
 
1509
  if( defined('IS_GO2WPFORO') && IS_GO2WPFORO ) return;
1510
-
1511
- $subscribers = WPF()->sbscrb->get_subscribes( array( 'itemid' => $post['topicid'], 'type' => 'topic' ) );
 
 
 
 
1512
  if( WPF()->sbscrb->options['new_reply_notify'] ){
1513
  $admin_emails = explode(',', WPF()->sbscrb->options['admin_emails']);
1514
  foreach( $admin_emails as $admin_email ) $subscribers[] = sanitize_email( $admin_email );
1515
  }
1516
- $topic = WPF()->db->get_row("SELECT * FROM `".WPF()->db->prefix."wpforo_topics` WHERE `topicid` = " . intval($post['topicid']), ARRAY_A);
1517
  $subscribers = apply_filters('wpforo_topic_subscribers', $subscribers);
1518
 
1519
  foreach($subscribers as $subscriber){
@@ -1582,7 +1623,9 @@ function wpforo_topic_subscribers_mail_sender( $post ){
1582
  $headers = wpforo_mail_headers();
1583
  $subject = $subject_prefix . $subject;
1584
  $message = $message . $mod_text;
1585
- $email_status = wp_mail( $member['user_email'] , $subject, $message, $headers );
 
 
1586
  remove_filter( 'wp_mail_content_type', 'wpforo_set_html_content_type' );
1587
 
1588
  ############### Sending Email end ##############
@@ -1675,13 +1718,12 @@ function wpforo_add_default_attachment($args){
1675
  }
1676
 
1677
  function wpforo_delete_attachment( $attach_post_id ){
1678
- global $wpdb;
1679
  if(!$attach_post_id) return;
1680
- $posts = $wpdb->get_results("SELECT `postid`, `body` FROM `" . $wpdb->prefix . "wpforo_posts` WHERE `body` LIKE '%wpfa-" . intval( $attach_post_id ) . "%'", ARRAY_A );
1681
  if(!empty($posts) || is_array($posts)){
1682
  foreach( $posts as $post ){
1683
  $body = preg_replace('|<div[^><]*id=[\'\"]+wpfa-' . $attach_post_id . '[\'\"]+[^><]*>.+?</div>|is', '<div class="wpforo-attached-file wpfa-deleted">' . wpforo_phrase('Attachment removed', FALSE) . '</div>', $post['body'] );
1684
- if( $body ) $wpdb->query("UPDATE `" . $wpdb->prefix . "wpforo_posts` SET `body` = '" . esc_sql( $body ) . "' WHERE `postid` = " . intval($post['postid']));
1685
  }
1686
  }
1687
  }
@@ -2013,7 +2055,7 @@ function wpforo_replace_retrieve_password_message( $message, $key, $user_login,
2013
  $message = str_replace(array('[user_login]', '[reset_password_url]'), array($user_login, "<$reset_password_url>"), WPF()->sbscrb->options['reset_password_email_message']);
2014
  }
2015
  }
2016
-
2017
  return $message;
2018
  }
2019
  add_filter( 'retrieve_password_message', 'wpforo_replace_retrieve_password_message', 10, 4 );
100
  }
101
  add_filter( 'login_url', 'wpforo_change_default_login_page', 10, 2 );
102
 
103
+ function wpforo_restrict_trash_shortcode_page($check, $post){
104
+ if( $post->ID == WPF()->pageid ) {
105
+ $check = false;
106
+ WPF()->notice->add('DO NOT DELETE WPFORO PAGE!!!', 'error');
107
+ }
108
+ return $check;
109
+ }
110
+ add_filter('pre_trash_post', 'wpforo_restrict_trash_shortcode_page', 10, 2);
111
+
112
+ function wpforo_restrict_front_page_dropdown($output, $r){
113
+ if( $r['name'] == 'page_for_posts' || ($r['name'] == 'page_on_front' && wpforo_get_shortcode_pageid( WPF()->pageid )) ){
114
+ $pattern = '#[\r\n\t\s]*<option[^<>]*?value=[\'"]'.wpforo_bigintval(WPF()->pageid).'[\'"][^<>]*?>[^<>]*?</option>#isu';
115
+ $output = preg_replace($pattern, '', $output);
116
+ }
117
+ return $output;
118
+ }
119
+ add_filter('wp_dropdown_pages', 'wpforo_restrict_front_page_dropdown', 10, 2);
120
+
121
+ function wpforo_page_on_front_manager($value, $option, $old_value){
122
+ if( $option == 'page_on_front' && $value == WPF()->pageid ){
123
+ if( !$page_id = wpforo_get_shortcode_pageid( WPF()->pageid ) ){
124
+ $wpforo_page = array(
125
+ 'post_date' => current_time( 'mysql', 1 ),
126
+ 'post_date_gmt' => current_time( 'mysql', 1 ),
127
+ 'post_content' => '[wpforo]',
128
+ 'post_title' => 'Forum page_on_front',
129
+ 'post_status' => 'publish',
130
+ 'comment_status' => 'close',
131
+ 'ping_status' => 'close',
132
+ 'post_name' => 'front-community',
133
+ 'post_modified' => current_time( 'mysql', 1 ),
134
+ 'post_modified_gmt' => current_time( 'mysql', 1 ),
135
+ 'post_parent' => 0,
136
+ 'menu_order' => 0,
137
+ 'post_type' => 'page'
138
+ );
139
+ $page_id = wp_insert_post( $wpforo_page );
140
+ }
141
+ $value = ( $page_id && !is_wp_error($page_id) ? $page_id : $old_value);
142
+ }
143
+ return $value;
144
+ }
145
+ add_filter('pre_update_option', 'wpforo_page_on_front_manager', 10, 3);
146
+
147
  function wpftpl( $filename ){
148
  $find = array();
149
  if ( $filename ) {
349
 
350
  if(is_wpforo_page()){
351
  $title = '';
352
+ $og_img = '';
353
  $noindex = '';
354
  $template = '';
355
  $description = '';
356
  $udata = array();
357
  $canonical = wpforo_get_request_uri();
358
  $noindex_urls = WPF()->tools_misc['noindex'];
359
+ $image = wpforo_get_image_url(false, true, 'og:image');
360
  if(!empty($noindex_urls)){
361
  $noindex_urls = explode("\n", $noindex_urls);
362
  if(!empty($noindex_urls)){
363
  $noindex_urls = array_map("trim", $noindex_urls);
364
  foreach( $noindex_urls as $noindex_url){
365
+ $noindex_url = strtok($noindex_url, "#");
366
+ if( strpos( $noindex_url, '*' ) !== false ){
367
+ $noindex_url = strtok($noindex_url, "*");
368
+ if( preg_match('|^' . preg_quote($noindex_url) . '|is', $canonical) ){
369
+ $noindex = "<meta name=\"robots\" content=\"noindex\">\r\n"; break;
370
+ }
371
+ }
372
+ elseif( $canonical == $noindex_url ) {
373
+ $noindex = "<meta name=\"robots\" content=\"noindex\">\r\n"; break;
374
+ }
375
  }
376
  }
377
  }
391
  }
392
  }elseif( isset(WPF()->current_object['topicid']) && isset($topic['first_postid']) ){
393
  $post = WPF()->post->get_post($topic['first_postid']);
394
+ $image = wpforo_get_image_url($post['body'], true, 'og:image');
 
395
  if(isset($post['title'])) $title = wpforo_text($paged . $post['title'], 60, false);
396
  if(isset($post['body'])) $description = wpforo_text($paged . $post['body'], 150, false);
397
  }elseif( $template == 'profile' || $template == 'account' || $template == 'activity' || $template == 'subscriptions' ){
416
  }
417
  }
418
  $description = preg_replace('#[\t\r\n]+#isu', ' ', $description);
419
+ if($image) $og_img = '<meta property="og:image" content="' . $image . '" />' . "\r\n";
420
  echo "\r\n<!-- wpForo SEO -->\r\n" . $noindex . "<link rel=\"canonical\" href=\"".$canonical."\" />\r\n<meta name=\"description\" content=\"" . esc_html($description) . "\" />\r\n<meta property=\"og:title\" content=\"" . esc_html($title) . "\" />\r\n<meta property=\"og:description\" content=\"" . esc_html($description) . "\" />\r\n<meta property=\"og:url\" content=\"" . $canonical . "\" />\r\n". $og_img . "<meta property=\"og:site_name\" content=\"" . get_bloginfo('name') . "\" />\r\n<meta name=\"twitter:description\" content=\"" . esc_html($description) . "\"/>\r\n<meta name=\"twitter:title\" content=\"" . esc_html($title) . "\" />\r\n<!-- wpForo SEO End -->\r\n\r\n";
421
  }
422
  }
453
  }
454
  if( $_POST['likestatus'] ){
455
  if( WPF()->db->insert(
456
+ WPF()->tables->likes,
457
  array(
458
  'postid' => $postid,
459
  'userid' => WPF()->current_userid,
469
  }
470
  }else{
471
  if( WPF()->db->delete(
472
+ WPF()->tables->likes,
473
  array(
474
  'postid' => $postid,
475
  'userid' => WPF()->current_userid
505
  $reaction = 1;
506
  if( $_POST['votestatus'] == 'down' ) $reaction = -1;
507
 
508
+ if( WPF()->db->get_var( "SELECT `voteid` FROM `".WPF()->tables->votes."` WHERE `postid` = " . wpforo_bigintval($_POST['postid']) . " AND `userid` = " . wpforo_bigintval(WPF()->current_userid) . " AND `reaction` = '" . $reaction . "'" )){
509
  WPF()->notice->add('You are already voted this post');
510
  echo json_encode(array('stat' => 0, 'notice' => WPF()->notice->get_notices()));
511
  exit();
512
  }else{
513
  WPF()->db->delete(
514
+ WPF()->tables->votes,
515
  array( 'postid' => $_POST['postid'], 'userid' => WPF()->current_userid ),
516
  array('%d', '%d')
517
  );
521
  $post = WPF()->post->get_post( $postid );
522
 
523
  $voted = WPF()->db->insert(
524
+ WPF()->tables->votes,
525
  array(
526
  'postid' => $postid,
527
  'userid' => WPF()->current_userid,
543
  $incr = $incr2 = true;
544
 
545
  if( $_POST['itemtype'] == 'topic' ){
546
+ $incr = WPF()->db->query( "UPDATE ".WPF()->tables->topics." SET `votes` = `votes` + $reaction WHERE topicid = " . wpforo_bigintval($post['topicid']) );
547
  }
548
+ $incr2 = WPF()->db->query( "UPDATE ".WPF()->tables->posts." SET `votes` = `votes` + $reaction WHERE postid = " . wpforo_bigintval($post['postid']) );
549
 
550
  if($incr !== FALSE && $incr2 !== FALSE){
551
  wpforo_clean_cache('post', $postid, $post);
594
  echo json_encode($response);
595
  exit();
596
  }
597
+ if( FALSE !== WPF()->db->query( "UPDATE ".WPF()->tables->posts." SET is_answer = ".intval($_POST['answerstatus'])." WHERE postid = " . intval($postid) ) ){
598
  wpforo_clean_cache('post', $postid, $post);
599
  do_action('wpforo_answer', intval($_POST['answerstatus']), $post);
600
  WPF()->notice->add('done', 'success');
608
  add_action('wp_ajax_wpforo_quote_ajax', 'wpf_quote');
609
  add_action('wp_ajax_nopriv_wpforo_quote_ajax', 'wpf_quote' );
610
  function wpf_quote(){
611
+ $post = WPF()->db->get_row('SELECT `userid`, `name`, `email`, `body` FROM '.WPF()->tables->posts.' WHERE postid =' . intval($_POST['postid']), ARRAY_A);
612
  if( !WPF()->perm->forum_can( 'cr', $post['forumid']) ) return;
613
  $post = apply_filters('wpforo_quote_post_ajax', $post);
614
  $poster = wpforo_member( $post );
676
  echo json_encode($response);
677
  exit();
678
  }
679
+ $sql = "SELECT `forumid` FROM `".WPF()->tables->topics."` WHERE `topicid` = $topicid";
680
  $forumid = WPF()->db->get_var($sql);
681
  if( !WPF()->perm->forum_can( 's', $forumid) ){
682
  WPF()->notice->add('You don\'t have permission to do this action from this forum', 'error');
685
  exit();
686
  }
687
  if( $_POST['status'] == 'sticky' ){
688
+ $sql = "UPDATE `".WPF()->tables->topics."` SET `type` = 1 WHERE `topicid` = $topicid";
689
  if( false !== WPF()->db->query($sql) ){
690
  WPF()->notice->add('Done!', 'success');
691
  $response['notice'] = WPF()->notice->get_notices();
692
  $response['stat'] = 1;
693
  }
694
  }elseif( $_POST['status'] == 'unsticky' ){
695
+ $sql = "UPDATE `".WPF()->tables->topics."` SET `type` = 0 WHERE `topicid` = $topicid";
696
  if( false !== WPF()->db->query($sql) ){
697
  WPF()->notice->add('Done!', 'success');
698
  $response['notice'] = WPF()->notice->get_notices();
710
  if( !isset($_POST['postid']) || !( $p_id = intval($_POST['postid']) ) ){ echo 0; exit(); }
711
  $topic = wpforo_topic($p_id);
712
  if( $_POST['status'] == 'private' ){
713
+ $sql = "UPDATE ".WPF()->tables->topics." SET private = 1 WHERE topicid = " . intval($p_id);
714
  WPF()->db->query( $sql );
715
+ $sql = "UPDATE ".WPF()->tables->posts." SET private = 1 WHERE topicid = " . intval($p_id);
716
  WPF()->db->query( $sql );
717
  WPF()->topic->last_topic($topic, 'remove');
718
  }elseif( $_POST['status'] == 'public' ){
719
+ $sql = "UPDATE ".WPF()->tables->topics." SET private = 0 WHERE topicid = " . intval($p_id);
720
  WPF()->db->query( $sql );
721
+ $sql = "UPDATE ".WPF()->tables->posts." SET private = 0 WHERE topicid = " . intval($p_id);
722
  WPF()->db->query( $sql );
723
  WPF()->topic->last_topic($topic, 'add');
724
  }
734
  $post = WPF()->post->get_post($_POST['postid']);
735
  if( WPF()->perm->forum_can( 'sv', $post['forumid']) || WPF()->perm->forum_can( 'osv', $post['forumid']) ){
736
  if( $_POST['status'] == 'solved' ){
737
+ $sql = "UPDATE ".WPF()->tables->posts." SET is_answer = 1 WHERE postid = " . intval($p_id);
738
  WPF()->db->query( $sql );
739
  }elseif( $_POST['status'] == 'unsolved' ){
740
+ $sql = "UPDATE ".WPF()->tables->posts." SET is_answer = 0 WHERE postid = " . intval($p_id);
741
  WPF()->db->query( $sql );
742
  }
743
  if( isset($post['topicid']) && $post['topicid'] ) wpforo_clean_cache('topic', $post['topicid']);
751
  add_action('wp_ajax_wpforo_approve_ajax', 'wpf_approved');
752
  function wpf_approved(){
753
  if(!is_user_logged_in()) return;
 
754
  if( !isset($_POST['postid']) || !( $p_id = intval($_POST['postid']) ) ){ echo 0; exit(); }
755
  $post = wpforo_post($p_id);
756
  if( $_POST['status'] == 'approve' ){
757
+ WPF()->post->status($p_id, 0);
 
 
 
 
 
 
 
 
758
  }elseif( $_POST['status'] == 'unapprove' ){
759
+ WPF()->post->status($p_id, 1);
 
 
 
 
 
 
 
 
760
  }
761
  wpforo_clean_cache('post', $p_id);
762
  echo 1;
769
 
770
  if( !isset($_POST['postid']) || !( $p_id = intval($_POST['postid']) ) ){ echo 0; exit(); }
771
  if( $_POST['status'] == 'closed' ){
772
+ $sql = "UPDATE ".WPF()->tables->topics." SET closed = 0 WHERE topicid = " . intval($p_id);
773
  WPF()->db->query( $sql );
774
  wpforo_clean_cache('topic', $p_id);
775
  }elseif( $_POST['status'] == 'close' ){
776
+ $sql = "UPDATE ".WPF()->tables->topics." SET closed = 1 WHERE topicid = " . intval($p_id);
777
  WPF()->db->query( $sql );
778
  wpforo_clean_cache('topic', $p_id);
779
  echo 1;
789
 
790
  if( !isset($_POST['postid']) || !$_POST['postid'] ){ echo 0; exit(); }
791
  $sql = 'SELECT t.forumid AS forumid, t.title AS topic_title, p.title AS post_title, p.`body`
792
+ FROM '.WPF()->tables->posts.' p
793
+ INNER JOIN '.WPF()->tables->topics.' t ON t.topicid = p.topicid
794
  WHERE p.postid =' . intval($_POST['postid']);
795
  if($post = WPF()->db->get_row($sql, ARRAY_A) ){
796
  if( WPF()->perm->forum_can('eor', $post['forumid']) || WPF()->perm->forum_can('eot', $post['forumid']) ){
839
  add_action('wp_ajax_wpforo_subscribe_ajax', 'wpf_subscribe');
840
  add_action('wp_ajax_nopriv_wpforo_subscribe_ajax', 'wpf_subscribe');
841
  function wpf_subscribe(){
842
+ $resp = array('stat' => 0, 'notice' => WPF()->notice->get_notices());
843
  $args = array(
844
  'itemid' => wpforo_bigintval($_POST['itemid']),
845
  'type' => sanitize_text_field($_POST['type']),
853
  if( WPF()->current_user_email ) $args['user_email'] = WPF()->current_user_email;
854
  if( WPF()->current_user_display_name ) $args['user_name'] = WPF()->current_user_display_name;
855
  }
856
+ if( !$args['userid'] && !$args['user_email'] ) wp_send_json($resp);
857
 
858
  if(isset($_POST['status']) && $_POST['status'] == 'subscribe'){
859
 
862
  if( isset($forum['forumid']) && $forum['forumid'] ){
863
  if( !WPF()->perm->forum_can('vf', $forum['forumid']) ){
864
  WPF()->notice->add('You are not permitted to subscribe here', 'error');
865
+ $resp['notice'] = WPF()->notice->get_notices();
866
+ wp_send_json($resp);
867
  }
868
  }
869
  }elseif($_POST['type'] == 'topic'){
870
+ $topic = WPF()->db->get_row("SELECT * FROM `".WPF()->tables->topics."` WHERE `topicid` = " . intval($_POST['itemid']), ARRAY_A);
871
  if( isset($topic['forumid']) && $topic['forumid'] ){
872
  if( isset($topic['private']) && $topic['private'] && !wpforo_is_owner($topic['userid'], $topic['email']) ){
873
  if( !WPF()->perm->forum_can('vp', $topic['forumid']) ){
874
  WPF()->notice->add('You are not permitted to subscribe here', 'error');
875
+ $resp['notice'] = WPF()->notice->get_notices();
876
+ wp_send_json($resp);
877
  }
878
  }
879
  }
930
 
931
  $resp['stat'] = $return;
932
  $resp['notice'] = WPF()->notice->get_notices();
933
+ wp_send_json($resp);
 
934
  }
935
 
936
  ############### Sending Email ##################
1000
  ############### Sending Email end ##############
1001
 
1002
  function wpforo_frontend_enqueue(){
1003
+ if( (is_wpforo_page() && wpforo_feature('font-awesome') == 1) || wpforo_feature('font-awesome') == 2 ){
1004
+ wp_register_style('wpforo-font-awesome', WPFORO_URL . '/wpf-assets/css/font-awesome/css/fontawesome-all.min.css', false, '5.0.6' );
1005
+ wp_enqueue_style('wpforo-font-awesome');
1006
+ if (is_rtl()) {
1007
+ wp_register_style('wpforo-font-awesome-rtl', WPFORO_URL . '/wpf-assets/css/font-awesome/css/font-awesome-rtl.css', false, WPFORO_VERSION );
1008
+ wp_enqueue_style('wpforo-font-awesome-rtl');
1009
+ }
1010
+ }
1011
  if( is_wpforo_page() ){
1012
  wp_enqueue_script('jquery-ui-core');
1013
  wp_enqueue_script('jquery-ui-dialog');
1014
  wp_register_script( 'wpforo-frontend-js', WPFORO_URL . '/wpf-assets/js/frontend.js', array('jquery'), WPFORO_VERSION, false );
1015
  wp_enqueue_script('wpforo-frontend-js');
1016
  wp_localize_script('wpforo-frontend-js', 'wpforo_phrases', WPF()->phrase->__phrases);
 
 
 
 
 
 
 
 
1017
  wp_register_script('wpforo-ajax', WPFORO_URL . '/wpf-assets/js/ajax.js', array('jquery'), WPFORO_VERSION, false);
1018
  wp_enqueue_script('wpforo-ajax');
1019
  wp_localize_script('wpforo-ajax', 'wpf_ajax_obj', array( 'url' => admin_url('admin-ajax.php') ));
1043
  ?>
1044
  <script type="text/javascript">
1045
  jQuery(document).ready(function($){
1046
+ var wpforo_wrap = $('#wpforo-wrap');
1047
+ $(wpforo_wrap).on('click','.attach_cant_view', function(){
1048
+ wpforo_notice_show("<p><?php echo addslashes( ( is_user_logged_in() ? WPF()->post->options['attach_cant_view_msg'] : sprintf( wpforo_phrase('Please %s or %s', FALSE), '<a href="' . wpforo_login_url() . '">'.wpforo_phrase('Login', FALSE).'</a>', '<a href="' . wpforo_register_url() . '">'.wpforo_phrase('Register', FALSE).'</a>' ) ) ) ?></p>");
 
 
 
 
 
1049
  });
1050
  });
1051
  </script>
1342
  $_message = str_replace($_from_tags, $_to_words, $_message);
1343
 
1344
  add_filter( 'wp_mail_content_type', 'wpforo_set_html_content_type' );
1345
+ $headers = wpforo_mail_headers();
1346
+
1347
  foreach ( $matches as $match ){
1348
  $member = WPF()->member->get_member($match[1]);
1349
  if( !empty($member['user_email']) ){
1364
  $message = stripslashes(str_replace('[mentioned-user-name]', $dname, $_message));
1365
  $message = wpforo_kses($message, 'email');
1366
 
1367
+ if( $return = wp_mail( $member['user_email'], sanitize_text_field($subject), $message, $headers ) ){
1368
  WPF()->sbscrb->already_sent_emails[] = $member['user_email'];
1369
  }
1370
  }
1419
  $member_name = ( WPF()->current_userid ? wpforo_make_dname( WPF()->current_user['display_name'], WPF()->current_user['user_nicename'] ) : ( $args['user_name'] ? $args['user_name'] : $args['user_email'] ) );
1420
  $subject = WPF()->sbscrb->options['confirmation_email_subject'];
1421
  $message = WPF()->sbscrb->options['confirmation_email_message'];
1422
+ $topic = WPF()->db->get_row("SELECT * FROM `".WPF()->tables->topics."` WHERE `topicid` = " . intval($item['topicid']), ARRAY_A);
1423
  $from_tags = array("[member_name]", "[entry_title]", "[confirm_link]");
1424
  $to_words = array(sanitize_text_field($member_name), '<strong>' . sanitize_text_field($topic['title']) . '</strong>', '<br><br><a href="' . esc_url($confirmlink) . '"> ' . wpforo_phrase('Confirm my subscription', false) . ' </a>');
1425
  $subject = stripslashes(str_replace($from_tags, $to_words, $subject));
1450
 
1451
  if( defined('IS_GO2WPFORO') && IS_GO2WPFORO ) return;
1452
 
1453
+ $forums_sbs = WPF()->sbscrb->get_subscribes( array( 'itemid' => 0, 'type' => array('forums', 'forums-topics') ) );
1454
+ $forum_sbs = WPF()->sbscrb->get_subscribes( array( 'itemid' => $topic['forumid'], 'type' => array('forum', 'forum-topic') ) );
1455
+ $subscribers = array_merge($forums_sbs, $forum_sbs);
1456
  if( WPF()->sbscrb->options['new_topic_notify'] ){
1457
  $admin_emails = explode(',', WPF()->sbscrb->options['admin_emails']);
1458
  foreach( $admin_emails as $admin_email ) $subscribers[] = sanitize_email( $admin_email );
1528
  $headers = wpforo_mail_headers();
1529
  $subject = $subject_prefix . $subject;
1530
  $message = $message . $mod_text;
1531
+ if( $email_status = wp_mail( $member['user_email'], $subject, $message, $headers ) ){
1532
+ WPF()->sbscrb->already_sent_emails[] = $member['user_email'];
1533
+ }
1534
  remove_filter( 'wp_mail_content_type', 'wpforo_set_html_content_type' );
1535
 
1536
  ############### Sending Email end ##############
1544
  function wpforo_topic_subscribers_mail_sender( $post ){
1545
 
1546
  if( defined('IS_GO2WPFORO') && IS_GO2WPFORO ) return;
1547
+
1548
+ $forums_sbs = WPF()->sbscrb->get_subscribes( array( 'itemid' => 0, 'type' => 'forums-topics' ) );
1549
+ $forum_sbs = WPF()->sbscrb->get_subscribes( array( 'itemid' => $post['forumid'], 'type' => 'forum-topic' ) );
1550
+ $topic_sbs = WPF()->sbscrb->get_subscribes( array( 'itemid' => $post['topicid'], 'type' => 'topic' ) );
1551
+ $subscribers = array_merge($forums_sbs, $forum_sbs, $topic_sbs);
1552
+
1553
  if( WPF()->sbscrb->options['new_reply_notify'] ){
1554
  $admin_emails = explode(',', WPF()->sbscrb->options['admin_emails']);
1555
  foreach( $admin_emails as $admin_email ) $subscribers[] = sanitize_email( $admin_email );
1556
  }
1557
+ $topic = WPF()->db->get_row("SELECT * FROM `".WPF()->tables->topics."` WHERE `topicid` = " . intval($post['topicid']), ARRAY_A);
1558
  $subscribers = apply_filters('wpforo_topic_subscribers', $subscribers);
1559
 
1560
  foreach($subscribers as $subscriber){
1623
  $headers = wpforo_mail_headers();
1624
  $subject = $subject_prefix . $subject;
1625
  $message = $message . $mod_text;
1626
+ if( $email_status = wp_mail( $member['user_email'], $subject, $message, $headers ) ){
1627
+ WPF()->sbscrb->already_sent_emails[] = $member['user_email'];
1628
+ }
1629
  remove_filter( 'wp_mail_content_type', 'wpforo_set_html_content_type' );
1630
 
1631
  ############### Sending Email end ##############
1718
  }
1719
 
1720
  function wpforo_delete_attachment( $attach_post_id ){
 
1721
  if(!$attach_post_id) return;
1722
+ $posts = WPF()->db->get_results("SELECT `postid`, `body` FROM `" . WPF()->tables->posts . "` WHERE `body` LIKE '%wpfa-" . intval( $attach_post_id ) . "%'", ARRAY_A );
1723
  if(!empty($posts) || is_array($posts)){
1724
  foreach( $posts as $post ){
1725
  $body = preg_replace('|<div[^><]*id=[\'\"]+wpfa-' . $attach_post_id . '[\'\"]+[^><]*>.+?</div>|is', '<div class="wpforo-attached-file wpfa-deleted">' . wpforo_phrase('Attachment removed', FALSE) . '</div>', $post['body'] );
1726
+ if( $body ) WPF()->db->query("UPDATE `" . WPF()->tables->posts . "` SET `body` = '" . esc_sql( $body ) . "' WHERE `postid` = " . intval($post['postid']));
1727
  }
1728
  }
1729
  }
2055
  $message = str_replace(array('[user_login]', '[reset_password_url]'), array($user_login, "<$reset_password_url>"), WPF()->sbscrb->options['reset_password_email_message']);
2056
  }
2057
  }
2058
+ add_filter( 'wp_mail_content_type', 'wpforo_set_html_content_type' );
2059
  return $message;
2060
  }
2061
  add_filter( 'retrieve_password_message', 'wpforo_replace_retrieve_password_message', 10, 4 );
wpf-includes/wpf-phrases.php CHANGED
@@ -553,7 +553,7 @@ $wpforo_phrases = array(
553
  'Front - Can view member last active date' => __('Front - Can view member last active date', 'wpforo'),
554
  'Front - Can view member IP address' => __('Front - Can view member IP address', 'wpforo'),
555
  'Front - Can view member location' => __('Front - Can view member location', 'wpforo'),
556
- 'Front - Can view member ocupation' => __('Front - Can view member ocupation', 'wpforo'),
557
  'Front - Can view member signature' => __('Front - Can view member signature', 'wpforo'),
558
  'Front - Can view member about me' => __('Front - Can view member about me', 'wpforo'),
559
  'Front - Can view member phone number' => __('Front - Can view member phone number', 'wpforo'),
@@ -720,7 +720,7 @@ $wpforo_phrases = array(
720
 
721
  //1.4.6
722
  '%s created a new topic %s' => __('%s created a new topic %s', 'wpforo'),
723
- '%s posted in topic %s' => __('%s posted in topic %s', 'wpforo'),
724
  '%s liked forum post %s' => __('%s liked forum post %s', 'wpforo'),
725
  'Read more' => __('Read more', 'wpforo'),
726
  'Forum topic' => __('Forum topic', 'wpforo'),
553
  'Front - Can view member last active date' => __('Front - Can view member last active date', 'wpforo'),
554
  'Front - Can view member IP address' => __('Front - Can view member IP address', 'wpforo'),
555
  'Front - Can view member location' => __('Front - Can view member location', 'wpforo'),
556
+ 'Front - Can view member occupation' => __('Front - Can view member occupation', 'wpforo'),
557
  'Front - Can view member signature' => __('Front - Can view member signature', 'wpforo'),
558
  'Front - Can view member about me' => __('Front - Can view member about me', 'wpforo'),
559
  'Front - Can view member phone number' => __('Front - Can view member phone number', 'wpforo'),
720
 
721
  //1.4.6
722
  '%s created a new topic %s' => __('%s created a new topic %s', 'wpforo'),
723
+ '%s replied to the topic %s' => __('%s replied to the topic %s', 'wpforo'),
724
  '%s liked forum post %s' => __('%s liked forum post %s', 'wpforo'),
725
  'Read more' => __('Read more', 'wpforo'),
726
  'Forum topic' => __('Forum topic', 'wpforo'),
wpf-languages/wpforo-da_DK.mo ADDED
Binary file
wpf-languages/wpforo-da_DK.po ADDED
@@ -0,0 +1,4690 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2016 gVectors Team
2
+ # This file is distributed under the same license as the wpForo package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
6
+ "Project-Id-Version: Forum - wpForo\n"
7
+ "POT-Creation-Date: 2018-03-09 11:03+0400\n"
8
+ "PO-Revision-Date: 2018-03-30 13:11+0200\n"
9
+ "Language-Team: \n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 2.0.6\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-WPHeader: wpforo.php\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
18
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
19
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
20
+ "Last-Translator: \n"
21
+ "Language: da_DK\n"
22
+ "X-Poedit-SearchPath-0: .\n"
23
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
24
+
25
+ #: wpf-admin/addons.php:14 wpf-admin/addons.php:22
26
+ msgid "wpForo Addons"
27
+ msgstr "wpForo tilføjelser"
28
+
29
+ #: wpf-admin/addons.php:28
30
+ msgid ""
31
+ "All wpForo addons are being developed by wpForo developers at gVectors Team. "
32
+ "Addon prices also include a small donation to the hard work wpForo "
33
+ "developers do for free. When you buy an addon, you also donate the free "
34
+ "wpForo development and support. Addons are the only incoming source for "
35
+ "wpForo developers. wpForo is a premium forum plugin which will always be "
36
+ "available for free. There will never be paid and pro versions of this forum "
37
+ "board. We have another dozens of awesome features in our to-do list which "
38
+ "will also be added for free in future releases. So the free wpForo "
39
+ "development always stays on the first priority and wpForo is being extended "
40
+ "with new free functions and features even faster than before."
41
+ msgstr ""
42
+ "All wpForo addons are being developed by wpForo developers at gVectors Team. "
43
+ "Addon prices also include a small donation to the hard work wpForo "
44
+ "developers do for free. When you buy an addon, you also donate the free "
45
+ "wpForo development and support. Addons are the only incoming source for "
46
+ "wpForo developers. wpForo is a premium forum plugin which will always be "
47
+ "available for free. There will never be paid and pro versions of this forum "
48
+ "board. We have another dozens of awesome features in our to-do list which "
49
+ "will also be added for free in future releases. So the free wpForo "
50
+ "development always stays on the first priority and wpForo is being extended "
51
+ "with new free functions and features even faster than before."
52
+
53
+ #: wpf-admin/addons.php:31 wpf-admin/dashboard.php:37
54
+ msgid "Thank you!<br> Sincerely yours,<br> gVectors Team"
55
+ msgstr "Tak!<br> dit,<br> gVectors Team"
56
+
57
+ #: wpf-admin/addons.php:51
58
+ msgid "Installed"
59
+ msgstr "Installeret"
60
+
61
+ #: wpf-admin/addons.php:55
62
+ msgid "Version"
63
+ msgstr "Version"
64
+
65
+ #: wpf-admin/addons.php:56
66
+ msgid "at least"
67
+ msgstr "mindst"
68
+
69
+ #: wpf-admin/addons.php:58
70
+ msgid "Details | Buy"
71
+ msgstr "Detalier | køb"
72
+
73
+ #: wpf-admin/addons.php:64
74
+ msgid "More information about"
75
+ msgstr "Mere information om"
76
+
77
+ #: wpf-admin/admin.php:24 wpf-admin/admin.php:25
78
+ #: wpf-includes/wpf-phrases.php:603
79
+ msgid "Dashboard"
80
+ msgstr "Dashboard"
81
+
82
+ #: wpf-admin/admin.php:24 wpf-admin/admin.php:26 wpf-admin/dashboard.php:136
83
+ #: wpf-admin/options-tabs/api.php:83 wpf-admin/options-tabs/styles.php:16
84
+ #: wpf-admin/options.php:15 wpf-includes/wpf-hooks.php:1776
85
+ #: wpf-includes/wpf-phrases.php:123
86
+ msgid "Forums"
87
+ msgstr "Forums"
88
+
89
+ #: wpf-admin/admin.php:27 wpf-includes/wpf-hooks.php:22
90
+ #: wpf-includes/wpf-hooks.php:1792
91
+ msgid "Settings"
92
+ msgstr "Indstillinger"
93
+
94
+ #: wpf-admin/admin.php:28 wpf-includes/wpf-hooks.php:1801
95
+ #: wpf-includes/wpf-phrases.php:729
96
+ msgid "Tools"
97
+ msgstr "værktøjer"
98
+
99
+ #: wpf-admin/admin.php:29 wpf-includes/wpf-hooks.php:1810
100
+ msgid "Moderation"
101
+ msgstr "Moderere"
102
+
103
+ #: wpf-admin/admin.php:30 wpf-admin/dashboard.php:148 wpf-admin/member.php:10
104
+ #: wpf-admin/options.php:18 wpf-includes/wpf-hooks.php:1819
105
+ #: wpf-includes/wpf-phrases.php:178
106
+ msgid "Members"
107
+ msgstr "Medlemmer"
108
+
109
+ #: wpf-admin/admin.php:31 wpf-admin/usergroup.php:8
110
+ #: wpf-includes/wpf-hooks.php:1828
111
+ msgid "Usergroups"
112
+ msgstr "Bruger grupper"
113
+
114
+ #: wpf-admin/admin.php:32 wpf-includes/wpf-hooks.php:1844
115
+ #: wpf-includes/wpf-phrases.php:604
116
+ msgid "Phrases"
117
+ msgstr "fraser"
118
+
119
+ #: wpf-admin/admin.php:33 wpf-includes/wpf-hooks.php:1860
120
+ #: wpf-includes/wpf-phrases.php:605
121
+ msgid "Themes"
122
+ msgstr "Temaer"
123
+
124
+ #: wpf-admin/admin.php:34 wpf-admin/options.php:24
125
+ #: wpf-includes/wpf-hooks.php:1869 wpf-includes/wpf-phrases.php:25
126
+ msgid "Addons"
127
+ msgstr "Tilføjelser"
128
+
129
+ #: wpf-admin/dashboard.php:7 wpf-includes/wpf-phrases.php:408
130
+ msgid "wpForo Dashboard"
131
+ msgstr "wpForo Dashboard"
132
+
133
+ #: wpf-admin/dashboard.php:23 wpf-includes/wpf-phrases.php:361
134
+ msgid "Welcome Message"
135
+ msgstr "Velkommen Besked"
136
+
137
+ #: wpf-admin/dashboard.php:27
138
+ msgid "Welcome to wpForo"
139
+ msgstr "velkommen til wpForo"
140
+
141
+ #: wpf-admin/dashboard.php:29
142
+ msgid ""
143
+ "Thank you for using wpForo! wpForo is a professional bulletin board for "
144
+ "WorPress, and the only forum software which comes with Multi-layout template "
145
+ "system.\n"
146
+ " The \"Extended\", \"Simplified\" and "
147
+ "\"Question &amp Answer\" layouts fit almost all type of discussions needs. "
148
+ "You can use wpForo for small and extremely large communities. \n"
149
+ " <br />If you found some issue or bug "
150
+ "please open a support topic in plugin page or in our support forum at "
151
+ "gVectors.com. If you liked wpForo please leave some good review for this "
152
+ "plugin. We really need your good reviews. \n"
153
+ " If you didn't like wpForo please leave a "
154
+ "list of issues and requirements you'd like us to fix and add in near future. "
155
+ "We're here to help you and improve wpForo as much as possible."
156
+ msgstr ""
157
+ "Tak for using wpForo! wpForo is a professional bulletin board for WorPress, "
158
+ "and the only forum software which comes with Multi-layout template system.\n"
159
+ " The “Extended”, “Simplified” and "
160
+ "“Question &amp Answer” layouts fit almost all type of discussions needs. You "
161
+ "can use wpForo for small and extremely large communities. \n"
162
+ " <br />If you found some issue or bug "
163
+ "please open a support topic in plugin page or in our support forum at "
164
+ "gVectors.com. If you liked wpForo please leave some good review for this "
165
+ "plugin. We really need your good reviews. \n"
166
+ " If you didn’t like wpForo please leave a "
167
+ "list of issues and requirements you’d like us to fix and add in near future. "
168
+ "We’re here to help you and improve wpForo as much as possible."
169
+
170
+ #: wpf-admin/dashboard.php:57 wpf-includes/wpf-phrases.php:130
171
+ msgid "General Information"
172
+ msgstr "Generel Information"
173
+
174
+ #: wpf-admin/dashboard.php:61 wpf-includes/wpf-phrases.php:368
175
+ msgid "You are currently running"
176
+ msgstr "Du kører på"
177
+
178
+ #: wpf-admin/dashboard.php:62 wpf-includes/wpf-phrases.php:18
179
+ msgid "Active Theme"
180
+ msgstr "Aktivt Tema"
181
+
182
+ #: wpf-admin/dashboard.php:63 wpf-includes/wpf-phrases.php:413
183
+ msgid "wpForo Website"
184
+ msgstr "wpForo Website"
185
+
186
+ #: wpf-admin/dashboard.php:64 wpf-includes/wpf-phrases.php:319
187
+ msgid "Support Forum"
188
+ msgstr "Support Forum"
189
+
190
+ #: wpf-admin/dashboard.php:75 wpf-includes/wpf-phrases.php:289
191
+ msgid "Server Information"
192
+ msgstr "Server Information"
193
+
194
+ #: wpf-admin/dashboard.php:109 wpf-includes/wpf-phrases.php:46
195
+ msgid "Available"
196
+ msgstr "Til rådighed"
197
+
198
+ #: wpf-admin/dashboard.php:109 wpf-includes/wpf-phrases.php:208
199
+ msgid "Not available"
200
+ msgstr "Ikke til rådighed"
201
+
202
+ #: wpf-admin/dashboard.php:130 wpf-includes/wpf-phrases.php:49
203
+ msgid "Board Statistic"
204
+ msgstr "Forum statestik"
205
+
206
+ #: wpf-admin/dashboard.php:140 wpf-admin/options-tabs/posts.php:17
207
+ #: wpf-admin/options-tabs/styles.php:22 wpf-includes/class-forums.php:665
208
+ #: wpf-includes/wpf-phrases.php:338
209
+ msgid "Topics"
210
+ msgstr "Emner"
211
+
212
+ #: wpf-admin/dashboard.php:144 wpf-admin/options-tabs/posts.php:18
213
+ #: wpf-includes/class-forums.php:665 wpf-includes/wpf-phrases.php:232
214
+ msgid "Posts"
215
+ msgstr "Indlæg"
216
+
217
+ #: wpf-admin/dashboard.php:152 wpf-includes/wpf-phrases.php:179
218
+ msgid "Members Online"
219
+ msgstr "Medlemmer online"
220
+
221
+ #: wpf-admin/dashboard.php:162
222
+ msgid "Avatars Size"
223
+ msgstr "Avatar størrelse"
224
+
225
+ #: wpf-admin/dashboard.php:166
226
+ msgid "Default Attachments Size"
227
+ msgstr "normal Attachments størrelse"
228
+
229
+ #: wpf-admin/dashboard.php:172
230
+ msgid "Advanced Attachments"
231
+ msgstr "Avancerede Attachments"
232
+
233
+ #: wpf-admin/dashboard.php:173
234
+ msgid "file(s)"
235
+ msgstr "filer"
236
+
237
+ #: wpf-admin/dashboard.php:176
238
+ msgid "Advanced Attachments Size"
239
+ msgstr "Avancerede Attachments størrelse"
240
+
241
+ #: wpf-admin/dashboard.php:181
242
+ msgid "Total Size"
243
+ msgstr "Total størrelse"
244
+
245
+ #: wpf-admin/dashboard.php:189 wpf-includes/wpf-phrases.php:615
246
+ msgid "Forum Maintenance"
247
+ msgstr "Forum vedligehold"
248
+
249
+ #: wpf-admin/dashboard.php:191
250
+ msgid ""
251
+ "This process may take a few seconds or dozens of minutes, please be patient "
252
+ "and don't close this page. If you got 500 Server Error please don't worry, "
253
+ "the data updating process is still working in MySQL server."
254
+ msgstr ""
255
+ "This process may take a few seconds or dozens of minutes, please be patient "
256
+ "and don’t close this page. If you got 500 Server Error please don’t worry, "
257
+ "the data updating process is still working in MySQL server."
258
+
259
+ #: wpf-admin/dashboard.php:200
260
+ msgid "Delete All Caches"
261
+ msgstr "Sket alt Cache"
262
+
263
+ #: wpf-admin/dashboard.php:201 wpf-includes/wpf-phrases.php:617
264
+ msgid "Update Forums Statistic"
265
+ msgstr "Opdater Forum Statestik"
266
+
267
+ #: wpf-admin/dashboard.php:202 wpf-includes/wpf-phrases.php:618
268
+ msgid "Update Users Statistic"
269
+ msgstr "Opdater bruger statestik"
270
+
271
+ #: wpf-admin/dashboard.php:203 wpf-includes/wpf-phrases.php:619
272
+ msgid "Delete Phrase Cache"
273
+ msgstr "Slet frase Cache"
274
+
275
+ #: wpf-admin/dashboard.php:204 wpf-includes/wpf-phrases.php:640
276
+ msgid "Delete User Cache"
277
+ msgstr "Slet bruger Cache"
278
+
279
+ #: wpf-admin/forum.php:13 wpf-includes/functions.php:792
280
+ #: wpf-includes/wpf-phrases.php:301
281
+ msgid "Show on screen"
282
+ msgstr "Hvis på skærm"
283
+
284
+ #: wpf-admin/forum.php:15 wpf-admin/forum.php:129
285
+ #: wpf-includes/wpf-phrases.php:113
286
+ msgid "Forum Options"
287
+ msgstr "Forum udvidelser"
288
+
289
+ #: wpf-admin/forum.php:16 wpf-includes/wpf-phrases.php:223
290
+ msgid "Permissions"
291
+ msgstr "Tilladelser"
292
+
293
+ #: wpf-admin/forum.php:17 wpf-includes/wpf-phrases.php:306
294
+ msgid "Slug"
295
+ msgstr "valid URL"
296
+
297
+ #: wpf-admin/forum.php:18 wpf-includes/wpf-phrases.php:112
298
+ msgid "Forum Meta"
299
+ msgstr "Forum Meta"
300
+
301
+ #: wpf-admin/forum.php:21 wpf-includes/wpf-phrases.php:273
302
+ msgid "Screen Layout"
303
+ msgstr "Skærm Layout"
304
+
305
+ #: wpf-admin/forum.php:22 wpf-includes/wpf-phrases.php:209
306
+ msgid "Number of Columns"
307
+ msgstr "antal Kolonner"
308
+
309
+ #: wpf-admin/forum.php:32 wpf-includes/functions.php:806
310
+ #: wpf-includes/wpf-phrases.php:274
311
+ msgid "Screen Options"
312
+ msgstr "skærm muligheder"
313
+
314
+ #: wpf-admin/forum.php:43 wpf-includes/wpf-phrases.php:51
315
+ msgid "Categories and Forums"
316
+ msgstr "kategorier og forums"
317
+
318
+ #: wpf-admin/forum.php:44 wpf-admin/options-tabs/general.php:75
319
+ #: wpf-admin/themes.php:10 wpf-admin/usergroup.php:8
320
+ #: wpf-includes/wpf-phrases.php:20
321
+ msgid "Add New"
322
+ msgstr "Tilføj ny"
323
+
324
+ #: wpf-admin/forum.php:55
325
+ msgid "Important Tips"
326
+ msgstr "Vigtige tip"
327
+
328
+ #: wpf-admin/forum.php:56 wpf-includes/wpf-phrases.php:225
329
+ msgid "Please drag and drop forum panels to set parent-child hierarchy."
330
+ msgstr ""
331
+ "Venligst træk i forum paneler så det passer til systemets parent-child "
332
+ "hierarchy."
333
+
334
+ #: wpf-admin/forum.php:57
335
+ msgid ""
336
+ "If a category (blue panels) does not have forums (grey panels) it will not "
337
+ "be displayed on front-end. Each category should contain at least one forum."
338
+ msgstr ""
339
+ "hvis denne kategori (blå paneler) ikke har nogle forum (grå paneler) vil det "
340
+ "ikke blive vist front-end. Hver kategori bør mindst indeholde et forum"
341
+
342
+ #: wpf-admin/forum.php:58
343
+ msgid ""
344
+ "Forums can be displayed with different layouts (Extended, Simplified, Q&A), "
345
+ "just edit the top (blue panels) category and set the layout you want. Child "
346
+ "forums' layout depends on the top category (blue panels) layout. They cannot "
347
+ "have a different layout."
348
+ msgstr ""
349
+ "Forum kan blive vist med forskellig layout (Extended, Simplified, Q&A), du "
350
+ "skal blot redigere toppen (det blå panel) Kategori og layout følger med. "
351
+ "Child eller under-forum layout afhænger af top kategorien (det blå panel). "
352
+ "De kan ikke have forskellige layouts."
353
+
354
+ #: wpf-admin/forum.php:74 wpf-includes/wpf-phrases.php:272
355
+ msgid "Save forums order and hierarchy"
356
+ msgstr "Gem forum orden og hierarki"
357
+
358
+ #: wpf-admin/forum.php:111 wpf-includes/wpf-phrases.php:87
359
+ msgid "Enter forum title here"
360
+ msgstr "Skriv forum titel her"
361
+
362
+ #: wpf-admin/forum.php:116 wpf-includes/wpf-phrases.php:86
363
+ msgid "Enter description here . . ."
364
+ msgstr "Skriv beskrivelse her"
365
+
366
+ #: wpf-admin/forum.php:117 wpf-includes/wpf-phrases.php:329
367
+ msgid ""
368
+ "This is a forum description. This content will be displayed under forum "
369
+ "title on the forum list."
370
+ msgstr ""
371
+ "Dette er forum beskrivelse. Dette indhold bliver vist under forum titel i "
372
+ "forum listen"
373
+
374
+ #: wpf-admin/forum.php:132 wpf-includes/wpf-phrases.php:221
375
+ msgid "Parent Forum"
376
+ msgstr "Overliggende Forum"
377
+
378
+ #: wpf-admin/forum.php:135 wpf-includes/wpf-phrases.php:204
379
+ msgid "No parent"
380
+ msgstr "Ingen overliggende forum"
381
+
382
+ #: wpf-admin/forum.php:140 wpf-includes/wpf-phrases.php:346
383
+ msgid "Use as Category"
384
+ msgstr "Brug som kategori"
385
+
386
+ #: wpf-admin/forum.php:142 wpf-includes/wpf-phrases.php:52
387
+ msgid "Category Layout"
388
+ msgstr "Kategorien layout"
389
+
390
+ #: wpf-admin/forum.php:150 wpf-includes/wpf-phrases.php:202
391
+ msgid "No layout found."
392
+ msgstr "Ingen layout fundet"
393
+
394
+ #: wpf-admin/forum.php:159 wpf-admin/forum.php:166
395
+ #: wpf-includes/wpf-phrases.php:234
396
+ msgid "Publish"
397
+ msgstr "udgiv"
398
+
399
+ #: wpf-admin/forum.php:163 wpf-includes/wpf-phrases.php:37
400
+ msgid "Are you sure you want to delete this forum?"
401
+ msgstr "Er du sikker på at du vil slette dette forum"
402
+
403
+ #: wpf-admin/forum.php:163 wpf-admin/themes.php:73
404
+ #: wpf-admin/tools-tabs/antispam.php:258 wpf-admin/usergroup.php:36
405
+ #: wpf-admin/usergroup.php:212 wpf-includes/wpf-hooks.php:1112
406
+ #: wpf-includes/wpf-phrases.php:66
407
+ msgid "Delete"
408
+ msgstr "Sket"
409
+
410
+ #: wpf-admin/forum.php:164 wpf-admin/usergroup.php:38
411
+ #: wpf-includes/class-forums.php:671 wpf-includes/wpf-phrases.php:355
412
+ msgid "View"
413
+ msgstr "se"
414
+
415
+ #: wpf-admin/forum.php:191 wpf-includes/wpf-phrases.php:118
416
+ msgid "Forum Slug"
417
+ msgstr "Forum URL"
418
+
419
+ #: wpf-admin/forum.php:194 wpf-includes/wpf-phrases.php:322
420
+ msgid ""
421
+ "The \"slug\" is the URL-friendly version of the name. It is usually all "
422
+ "lowercase and contains only letters, numbers, and hyphens."
423
+ msgstr ""
424
+ "“slug eller URL” er den URL-venlige version af navnet. Det er normalt "
425
+ "skrevet med små bogstaver og inkluderer kun bogstaver numre og hyphens."
426
+
427
+ #: wpf-admin/forum.php:200
428
+ msgid "Forum Icon"
429
+ msgstr "Forum Ikon"
430
+
431
+ #: wpf-admin/forum.php:203
432
+ msgid "Font-awesome Icon"
433
+ msgstr "Font-awesome Ikon"
434
+
435
+ #: wpf-admin/forum.php:205
436
+ msgid "You can find all icons"
437
+ msgstr "Du kan finde alle disse ikoner"
438
+
439
+ #: wpf-admin/forum.php:205
440
+ msgid "here"
441
+ msgstr "her"
442
+
443
+ #: wpf-admin/forum.php:205
444
+ msgid ""
445
+ "Make sure you insert a class of font-awesome icon, it should start with fa- "
446
+ "prefix like &quot;fas fa-comments&quot;."
447
+ msgstr ""
448
+ "Husk at indsætte en klasse af font-awesome ikons, de skal starte med fa- "
449
+ "prefix’et som &quot;fas fa-comments&quot;."
450
+
451
+ #: wpf-admin/forum.php:212 wpf-includes/wpf-phrases.php:116
452
+ msgid "Forum SEO"
453
+ msgstr "Forum SEO"
454
+
455
+ #: wpf-admin/forum.php:215 wpf-includes/wpf-phrases.php:184
456
+ msgid "Meta Description"
457
+ msgstr "Meta Beskrivelse"
458
+
459
+ #: wpf-admin/forum.php:244 wpf-includes/wpf-phrases.php:328
460
+ msgid "This action will also delete all sub-forums, topics and replies."
461
+ msgstr "Klik her og du sletter alle underliggende forums, emner og svar."
462
+
463
+ #: wpf-admin/forum.php:252 wpf-includes/wpf-phrases.php:137
464
+ msgid ""
465
+ "If you want to delete this forum and keep its sub-forums, topics and "
466
+ "replies, please select a new target forum in dropdown below"
467
+ msgstr ""
468
+ "Hvis du vil slette dette forum og beholde dets under-forums, emner og svar, "
469
+ "vælg venligst et nyt target forum i dropdown menuen herunder"
470
+
471
+ #: wpf-admin/forum.php:261 wpf-includes/wpf-phrases.php:26
472
+ msgid ""
473
+ "All sub-forums, topics and replies will be attached to selected forum. "
474
+ "Layout will be inherited from this forum."
475
+ msgstr ""
476
+ "Alle under-forums, emner og svar blivertilføjet til det valgte forum. Layout "
477
+ "bliver bestemt af dette forum."
478
+
479
+ #: wpf-admin/moderation.php:10
480
+ msgid "Topic and Post Moderation"
481
+ msgstr "Emner og Indlæg Moderering"
482
+
483
+ #: wpf-admin/options-tabs/accesses.php:14 wpf-includes/wpf-phrases.php:21
484
+ msgid "Add New Forum Access"
485
+ msgstr "Tilføj ny Forum adgang"
486
+
487
+ #: wpf-admin/options-tabs/accesses.php:18 wpf-includes/wpf-phrases.php:15
488
+ msgid "Access names"
489
+ msgstr "Navnet på adgang"
490
+
491
+ #: wpf-admin/options-tabs/accesses.php:31
492
+ #: wpf-admin/options-tabs/accesses.php:32
493
+ #: wpf-admin/options-tabs/accesses.php:33
494
+ msgid "This access is usually used for "
495
+ msgstr "Denne adgang bruges normalt til "
496
+
497
+ #: wpf-admin/options-tabs/accesses.php:31
498
+ msgid "Guests"
499
+ msgstr "Gæster"
500
+
501
+ #: wpf-admin/options-tabs/accesses.php:31
502
+ #: wpf-admin/options-tabs/accesses.php:32
503
+ #: wpf-admin/options-tabs/accesses.php:33
504
+ msgid "usergroup"
505
+ msgstr "Bruger grupper"
506
+
507
+ #: wpf-admin/options-tabs/accesses.php:32 wpf-includes/wpf-phrases.php:627
508
+ msgid "Registered"
509
+ msgstr "Registrerede"
510
+
511
+ #: wpf-admin/options-tabs/accesses.php:33 wpf-includes/wpf-phrases.php:625
512
+ msgid "Admin"
513
+ msgstr "Admin"
514
+
515
+ #: wpf-admin/options-tabs/accesses.php:37 wpf-includes/class-forums.php:667
516
+ #: wpf-includes/functions.php:602 wpf-includes/wpf-phrases.php:381
517
+ msgid "edit"
518
+ msgstr "rediger"
519
+
520
+ #: wpf-admin/options-tabs/accesses.php:39 wpf-includes/wpf-phrases.php:39
521
+ msgid ""
522
+ "Are you sure you want to remove this access set? Usergroups which attached "
523
+ "to this access will lost all forum permissions."
524
+ msgstr ""
525
+ "Er du sikker på at du vil fjerne denne adgang? bruger grupperne der er "
526
+ "forbundet med dette vil miste alle deres forum tilladelser."
527
+
528
+ #: wpf-admin/options-tabs/accesses.php:39 wpf-includes/class-forums.php:669
529
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
530
+ #: wpf-includes/wpf-phrases.php:380
531
+ msgid "delete"
532
+ msgstr "sket"
533
+
534
+ #: wpf-admin/options-tabs/accesses.php:54 wpf-includes/wpf-phrases.php:14
535
+ msgid "Access name"
536
+ msgstr "Adgangs navn"
537
+
538
+ #: wpf-admin/options-tabs/accesses.php:73 wpf-includes/wpf-phrases.php:270
539
+ msgid "Save"
540
+ msgstr "Gem"
541
+
542
+ #: wpf-admin/options-tabs/accesses.php:73 wpf-includes/wpf-phrases.php:343
543
+ msgid "Update"
544
+ msgstr "Opdater"
545
+
546
+ #: wpf-admin/options-tabs/api.php:22
547
+ msgid "Facebook API Configuration"
548
+ msgstr "Facebook API Configuration"
549
+
550
+ #: wpf-admin/options-tabs/api.php:23
551
+ msgid ""
552
+ "In order to get an App ID and Secret Key from Facebook, you’ll need to "
553
+ "register a new application. Don’t worry – its very easy, and your "
554
+ "application doesn't need to do anything. We only need the keys."
555
+ msgstr ""
556
+ "For at få et App ID og en Secret Nøgle fra Facebook, bliver du nødt til at "
557
+ "registrere en ny application. Bare rolig det er ganske let, og din app "
558
+ "behøves ikke at kunne noget. Vi skal bare have en nøgle."
559
+
560
+ #: wpf-admin/options-tabs/api.php:23
561
+ msgid "Please follow to this instruction"
562
+ msgstr "Følg instruktionen"
563
+
564
+ #: wpf-admin/options-tabs/api.php:26
565
+ msgid "App ID"
566
+ msgstr "App ID"
567
+
568
+ #: wpf-admin/options-tabs/api.php:27
569
+ msgid "App Secret"
570
+ msgstr "App Secret"
571
+
572
+ #: wpf-admin/options-tabs/api.php:32
573
+ msgid "Facebook Login"
574
+ msgstr "Facebook Login"
575
+
576
+ #: wpf-admin/options-tabs/api.php:33
577
+ msgid "Adds Facebook Login button on Registration and Login pages."
578
+ msgstr "Tilføjer Facebook Login knap på Registrationen og Login siderne."
579
+
580
+ #: wpf-admin/options-tabs/api.php:37 wpf-admin/options-tabs/api.php:49
581
+ #: wpf-admin/options-tabs/api.php:60 wpf-admin/options-tabs/api.php:71
582
+ #: wpf-admin/options-tabs/members.php:87
583
+ msgid "Enable"
584
+ msgstr "Tænd"
585
+
586
+ #: wpf-admin/options-tabs/api.php:38 wpf-admin/options-tabs/api.php:50
587
+ #: wpf-admin/options-tabs/api.php:61 wpf-admin/options-tabs/api.php:72
588
+ #: wpf-admin/options-tabs/members.php:88
589
+ msgid "Disable"
590
+ msgstr "Sluk"
591
+
592
+ #: wpf-admin/options-tabs/api.php:44
593
+ msgid "Facebook SDK for JavaScript"
594
+ msgstr "Facebook SDK for JavaScript"
595
+
596
+ #: wpf-admin/options-tabs/api.php:45
597
+ msgid "Facebook API connection script (sharing, login, cross-posting...)"
598
+ msgstr "Facebook API connection script (sharing, login, cross-posting…)"
599
+
600
+ #: wpf-admin/options-tabs/api.php:56
601
+ msgid "Facebook Login button on User Login page"
602
+ msgstr "Facebook Login knap på bruger Login side"
603
+
604
+ #: wpf-admin/options-tabs/api.php:67
605
+ msgid "Facebook Login button on User Registration page"
606
+ msgstr "Facebook Login knap på Bruger Registration side"
607
+
608
+ #: wpf-admin/options-tabs/api.php:78
609
+ msgid "Redirect to this page after success login"
610
+ msgstr "Redirect til denne side efter succesfuld login"
611
+
612
+ #: wpf-admin/options-tabs/api.php:82 wpf-includes/wpf-phrases.php:634
613
+ msgid "Profile"
614
+ msgstr "Profil"
615
+
616
+ #: wpf-admin/options-tabs/api.php:84
617
+ msgid "Custom"
618
+ msgstr "Speciel"
619
+
620
+ #: wpf-admin/options-tabs/api.php:86
621
+ msgid "Custom URL, e.g.: http://example.com/my-page/"
622
+ msgstr "Speciel URL, e.g.: http://example.com/my-page/"
623
+
624
+ #: wpf-admin/options-tabs/api.php:86
625
+ msgid "Custom URL"
626
+ msgstr "Speciel URL"
627
+
628
+ #: wpf-admin/options-tabs/api.php:93 wpf-admin/options-tabs/emails.php:132
629
+ #: wpf-admin/options-tabs/features.php:77 wpf-admin/options-tabs/forums.php:16
630
+ #: wpf-admin/options-tabs/general.php:82 wpf-admin/options-tabs/members.php:174
631
+ #: wpf-admin/options-tabs/posts.php:76 wpf-admin/options-tabs/styles.php:93
632
+ #: wpf-admin/tools-tabs/antispam.php:299 wpf-admin/tools-tabs/cleanup.php:49
633
+ #: wpf-admin/tools-tabs/misc.php:37 wpf-includes/wpf-phrases.php:344
634
+ msgid "Update Options"
635
+ msgstr "Opdaterings muligheder"
636
+
637
+ #: wpf-admin/options-tabs/emails.php:12
638
+ msgid "FROM Name"
639
+ msgstr "FRA navn"
640
+
641
+ #: wpf-admin/options-tabs/emails.php:16
642
+ msgid "FROM Email Address"
643
+ msgstr "FRA Email Addresse"
644
+
645
+ #: wpf-admin/options-tabs/emails.php:21
646
+ msgid "Forum Admins email addresses"
647
+ msgstr "Forum Admins email addresser"
648
+
649
+ #: wpf-admin/options-tabs/emails.php:22 wpf-includes/wpf-phrases.php:57
650
+ msgid ""
651
+ "Comma separated email addresses of forum administrators to get forum "
652
+ "notifications. For example post report messages."
653
+ msgstr ""
654
+ "Comma separarerede email addresser på forum administratorer der skal/vil "
655
+ "have forum notifications. For example post report beskeder."
656
+
657
+ #: wpf-admin/options-tabs/emails.php:28
658
+ msgid "Notify Admins via email on new Topic"
659
+ msgstr "Notificer Admins via email ved nyt emne"
660
+
661
+ #: wpf-admin/options-tabs/emails.php:29
662
+ msgid ""
663
+ "Send Notification emails to all email addresses (comma separated ) of forum "
664
+ "administrators when a new Topic is created."
665
+ msgstr ""
666
+ "Send Notification emails to all email addresses (comma separated ) på forum "
667
+ "administrators når et nyt emne er etableret"
668
+
669
+ #: wpf-admin/options-tabs/emails.php:33 wpf-admin/options-tabs/emails.php:45
670
+ #: wpf-admin/options-tabs/emails.php:116 wpf-admin/options-tabs/features.php:66
671
+ #: wpf-admin/tools-tabs/antispam.php:31 wpf-admin/tools-tabs/antispam.php:40
672
+ #: wpf-admin/tools-tabs/antispam.php:49 wpf-admin/tools-tabs/antispam.php:148
673
+ #: wpf-admin/tools-tabs/antispam.php:157 wpf-admin/tools-tabs/antispam.php:167
674
+ #: wpf-admin/tools-tabs/antispam.php:176 wpf-admin/tools-tabs/antispam.php:185
675
+ #: wpf-admin/tools-tabs/antispam.php:194 wpf-admin/tools-tabs/antispam.php:203
676
+ #: wpf-admin/tools-tabs/antispam.php:212 wpf-admin/tools-tabs/cleanup.php:39
677
+ #: wpf-includes/wpf-phrases.php:366
678
+ msgid "Yes"
679
+ msgstr "Ja"
680
+
681
+ #: wpf-admin/options-tabs/emails.php:34 wpf-admin/options-tabs/emails.php:46
682
+ #: wpf-admin/options-tabs/emails.php:117 wpf-admin/options-tabs/features.php:67
683
+ #: wpf-admin/tools-tabs/antispam.php:32 wpf-admin/tools-tabs/antispam.php:41
684
+ #: wpf-admin/tools-tabs/antispam.php:50 wpf-admin/tools-tabs/antispam.php:149
685
+ #: wpf-admin/tools-tabs/antispam.php:158 wpf-admin/tools-tabs/antispam.php:168
686
+ #: wpf-admin/tools-tabs/antispam.php:177 wpf-admin/tools-tabs/antispam.php:186
687
+ #: wpf-admin/tools-tabs/antispam.php:195 wpf-admin/tools-tabs/antispam.php:204
688
+ #: wpf-admin/tools-tabs/antispam.php:213 wpf-admin/tools-tabs/cleanup.php:40
689
+ #: wpf-includes/wpf-phrases.php:196
690
+ msgid "No"
691
+ msgstr "Nej"
692
+
693
+ #: wpf-admin/options-tabs/emails.php:40
694
+ msgid "Notify Admins via email on new Post"
695
+ msgstr "Notificer Admins via email ved hvert nyt indlæg"
696
+
697
+ #: wpf-admin/options-tabs/emails.php:41
698
+ msgid ""
699
+ "Send Notification emails to all email addresses (comma separated ) of forum "
700
+ "administrators when a new Reply is created."
701
+ msgstr ""
702
+ "Send Notifikations emails til alle email addresser (comma separerede ) of "
703
+ "forum administrators når der kommer et nyt svar"
704
+
705
+ #: wpf-admin/options-tabs/emails.php:52 wpf-includes/wpf-phrases.php:317
706
+ msgid "Subscription Emails"
707
+ msgstr "Abonnoment emails"
708
+
709
+ #: wpf-admin/options-tabs/emails.php:56 wpf-includes/wpf-phrases.php:314
710
+ msgid "Subscribe confirmation email subject"
711
+ msgstr "Abonnoment bekræftigelse mail emne"
712
+
713
+ #: wpf-admin/options-tabs/emails.php:60 wpf-includes/wpf-phrases.php:313
714
+ msgid "Subscribe confirmation email message"
715
+ msgstr "Abonnoment bekræftigelse mail besked"
716
+
717
+ #: wpf-admin/options-tabs/emails.php:64 wpf-includes/wpf-phrases.php:195
718
+ msgid "New topic notification email subject"
719
+ msgstr "Nyt emne notifikations emails emne"
720
+
721
+ #: wpf-admin/options-tabs/emails.php:68 wpf-includes/wpf-phrases.php:194
722
+ msgid "New topic notification email message"
723
+ msgstr "Nyt emne notifikations emails besked"
724
+
725
+ #: wpf-admin/options-tabs/emails.php:72 wpf-includes/wpf-phrases.php:193
726
+ msgid "New reply notification email subject"
727
+ msgstr "Nyt svar notifikations emails emne"
728
+
729
+ #: wpf-admin/options-tabs/emails.php:76 wpf-includes/wpf-phrases.php:192
730
+ msgid "New reply notification email message"
731
+ msgstr "Nyt svar notifikations emails besked"
732
+
733
+ #: wpf-admin/options-tabs/emails.php:81 wpf-includes/wpf-phrases.php:227
734
+ msgid "Post Reporting Emails"
735
+ msgstr "Efter Rapport Emails"
736
+
737
+ #: wpf-admin/options-tabs/emails.php:82 wpf-includes/wpf-phrases.php:331
738
+ msgid "This message comes from post reporting pop-up form."
739
+ msgstr "Denne besked kommer fra en Efter Rapport Emails pop-up form"
740
+
741
+ #: wpf-admin/options-tabs/emails.php:87 wpf-includes/wpf-phrases.php:266
742
+ msgid "Report message subject"
743
+ msgstr "Rapport besked emne"
744
+
745
+ #: wpf-admin/options-tabs/emails.php:92 wpf-includes/wpf-phrases.php:265
746
+ msgid "Report message body"
747
+ msgstr "Rapport besked krop"
748
+
749
+ #: wpf-admin/options-tabs/emails.php:97
750
+ msgid "Reset Password Emails"
751
+ msgstr "Nulstil Password Emails"
752
+
753
+ #: wpf-admin/options-tabs/emails.php:98
754
+ msgid "This message comes from Reset Password form."
755
+ msgstr "Denne besked kommer fra en nulstillet Password form"
756
+
757
+ #: wpf-admin/options-tabs/emails.php:102
758
+ msgid "Reset Password message body"
759
+ msgstr "Nulstil Password selve besked"
760
+
761
+ #: wpf-admin/options-tabs/emails.php:107
762
+ msgid "User Mentioning Email"
763
+ msgstr "Bruger omtalt email"
764
+
765
+ #: wpf-admin/options-tabs/emails.php:112
766
+ msgid "Enable Email Notification"
767
+ msgstr "tillad Email Notification"
768
+
769
+ #: wpf-admin/options-tabs/emails.php:122
770
+ msgid "User Mention message subject"
771
+ msgstr "Bruger omtalt besked emne"
772
+
773
+ #: wpf-admin/options-tabs/emails.php:126
774
+ msgid "User Mention message body"
775
+ msgstr "Bruger omtalt besked - selve besked"
776
+
777
+ #: wpf-admin/options-tabs/features.php:9 wpf-includes/wpf-phrases.php:294
778
+ msgid "Show Admin Bar for Members"
779
+ msgstr "Vis admin bar til medlemmer"
780
+
781
+ #: wpf-admin/options-tabs/features.php:9 wpf-includes/wpf-phrases.php:332
782
+ msgid "This option doesn't affect website admins."
783
+ msgstr "Denne mulighed påvirker ikke web admins"
784
+
785
+ #: wpf-admin/options-tabs/features.php:10 wpf-includes/wpf-phrases.php:296
786
+ msgid "Show Forum Page Title"
787
+ msgstr "Vis forum sidens titel"
788
+
789
+ #: wpf-admin/options-tabs/features.php:11 wpf-includes/wpf-phrases.php:299
790
+ msgid "Show Top/Menu Bar"
791
+ msgstr "Vis Top/Menu Bar"
792
+
793
+ #: wpf-admin/options-tabs/features.php:12 wpf-includes/wpf-phrases.php:298
794
+ msgid "Show Top Search"
795
+ msgstr "Vis Top søg"
796
+
797
+ #: wpf-admin/options-tabs/features.php:13 wpf-includes/wpf-phrases.php:295
798
+ msgid "Show Breadcrumb"
799
+ msgstr "Vis brødkrummer Breadcrumb"
800
+
801
+ #: wpf-admin/options-tabs/features.php:14 wpf-includes/wpf-phrases.php:297
802
+ msgid "Show Forum Statistic"
803
+ msgstr "Vis forum statestik"
804
+
805
+ #: wpf-admin/options-tabs/features.php:15
806
+ msgid "Show Member Mention Nicknames"
807
+ msgstr "Vis medlemmers brugte kaldenavne"
808
+
809
+ #: wpf-admin/options-tabs/features.php:16
810
+ msgid "Enable WordPress Shortcodes in Post Content"
811
+ msgstr "Aktiver WordPress Shortcodes i Indlæg indhold"
812
+
813
+ #: wpf-admin/options-tabs/features.php:17 wpf-includes/wpf-phrases.php:698
814
+ msgid "Log Viewed Forums and Topics"
815
+ msgstr "Log sete Forum og emner"
816
+
817
+ #: wpf-admin/options-tabs/features.php:18 wpf-includes/wpf-phrases.php:257
818
+ msgid "Replace Author Link to Forum Profile"
819
+ msgstr "Skift forfatters link med Forum Profile"
820
+
821
+ #: wpf-admin/options-tabs/features.php:19 wpf-includes/wpf-phrases.php:258
822
+ msgid "Replace Comment Author Link to Forum Profile"
823
+ msgstr "Skift kommentarens link med Forum Profile"
824
+
825
+ #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:637
826
+ msgid "Enable User Registration"
827
+ msgstr "Tillad bruger Registrering"
828
+
829
+ #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:638
830
+ msgid ""
831
+ "This option is not synced with WordPress \"Anyone can register\" option in "
832
+ "Dashboard > Settings > General admin page. If this option is enabled new "
833
+ "users will always be able to register."
834
+ msgstr ""
835
+ "Denne mulighedis not synced with WordPress “Anyone can register” option in "
836
+ "Dashboard > Settings > General admin page. If this option is enabled new "
837
+ "users will always be able to register."
838
+
839
+ #: wpf-admin/options-tabs/features.php:21
840
+ msgid "Enable User Registration email confirmation"
841
+ msgstr "Tillad bruger registrering med mail konfirmation"
842
+
843
+ #: wpf-admin/options-tabs/features.php:21
844
+ msgid ""
845
+ "If you have enabled this option, after registering, user can not login "
846
+ "without confirming the email."
847
+ msgstr ""
848
+ "Hvis du har har tændt denne option, kan brugere efter registering ikke logge "
849
+ "ind uden en konfirmations email."
850
+
851
+ #: wpf-admin/options-tabs/features.php:22 wpf-includes/wpf-phrases.php:260
852
+ msgid "Replace Registration Page URL to Forum Registration Page URL"
853
+ msgstr "Erstat Registration sidens URL til Forum Registration sidens URL"
854
+
855
+ #: wpf-admin/options-tabs/features.php:23 wpf-includes/wpf-phrases.php:259
856
+ msgid "Replace Login Page URL to Forum Login Page URL"
857
+ msgstr "Erstat Login sidens URL med Forum Login sidens URL"
858
+
859
+ #: wpf-admin/options-tabs/features.php:24 wpf-includes/wpf-phrases.php:699
860
+ msgid "Replace Reset Password Page URL to Forum Reset Password Page URL"
861
+ msgstr "Erstat Reset Password sidens URL til Forum Reset Password sidens URL"
862
+
863
+ #: wpf-admin/options-tabs/features.php:25 wpf-includes/wpf-phrases.php:256
864
+ msgid "Replace Author Avatar with Forum Profile Avatar"
865
+ msgstr "Erstat forfatter Avatar med Forum Profil Avatar"
866
+
867
+ #: wpf-admin/options-tabs/features.php:26 wpf-includes/wpf-phrases.php:77
868
+ msgid "Enable Avatars"
869
+ msgstr "Tillad Avatarer"
870
+
871
+ #: wpf-admin/options-tabs/features.php:27 wpf-includes/wpf-phrases.php:78
872
+ msgid "Enable Custom Avatars"
873
+ msgstr "Tillad specielle Avatars"
874
+
875
+ #: wpf-admin/options-tabs/features.php:28 wpf-includes/wpf-phrases.php:31
876
+ msgid "Allow Member Signature"
877
+ msgstr "Tillad medlems Signatur"
878
+
879
+ #: wpf-admin/options-tabs/features.php:29 wpf-includes/wpf-phrases.php:80
880
+ msgid "Enable Member Rating"
881
+ msgstr "Tillad medlems rating"
882
+
883
+ #: wpf-admin/options-tabs/features.php:30 wpf-includes/wpf-phrases.php:81
884
+ msgid "Enable Member Rating Titles"
885
+ msgstr "Tillad medlems titel rating"
886
+
887
+ #: wpf-admin/options-tabs/features.php:31 wpf-includes/wpf-phrases.php:79
888
+ msgid "Enable Member Cache"
889
+ msgstr "Tillad medlems Cache"
890
+
891
+ #: wpf-admin/options-tabs/features.php:32
892
+ msgid "Enable Object Cache"
893
+ msgstr "Tillad objekt Cache"
894
+
895
+ #: wpf-admin/options-tabs/features.php:33
896
+ msgid "Enable HTML Cache"
897
+ msgstr "Tillad HTML Cache"
898
+
899
+ #: wpf-admin/options-tabs/features.php:34
900
+ msgid "Enable Memory Cache"
901
+ msgstr "Tillad hukommelses Cache"
902
+
903
+ #: wpf-admin/options-tabs/features.php:35 wpf-includes/wpf-phrases.php:84
904
+ msgid "Enable wpForo SEO for Meta Titles"
905
+ msgstr "tillad wpForo SEO til Meta titler"
906
+
907
+ #: wpf-admin/options-tabs/features.php:36 wpf-includes/wpf-phrases.php:83
908
+ msgid "Enable wpForo SEO for Meta Tags"
909
+ msgstr "tillad wpForo SEO til Meta tags"
910
+
911
+ #: wpf-admin/options-tabs/features.php:37
912
+ msgid "Enable User Profile Page indexing"
913
+ msgstr "Tillad bruger Profil side indexing"
914
+
915
+ #: wpf-admin/options-tabs/features.php:38 wpf-includes/wpf-phrases.php:700
916
+ msgid "Enable RSS Feed"
917
+ msgstr "Tillad RSS Feed"
918
+
919
+ #: wpf-admin/options-tabs/features.php:39 wpf-includes/wpf-phrases.php:82
920
+ msgid "Enable wpForo Font-Awesome Lib"
921
+ msgstr "Tillad wpForo Font-Awesome Lib"
922
+
923
+ #: wpf-admin/options-tabs/features.php:40
924
+ msgid "Turn Off User Syncing Note"
925
+ msgstr "Sluk bruger Syncing Note"
926
+
927
+ #: wpf-admin/options-tabs/features.php:41
928
+ msgid "Enable BuddyPress Activity Integration"
929
+ msgstr "Tillad BuddyPress Activitets Integration"
930
+
931
+ #: wpf-admin/options-tabs/features.php:41
932
+ msgid ""
933
+ "If you use BuddyPress plugin, this option will post members activities (new "
934
+ "topic, new reply, post like) to BuddyPress Profile Activity page."
935
+ msgstr ""
936
+ "Hvis du bruger BuddyPress plugin, vil denne option postemedlemmernes "
937
+ "aktiviteter (nyt emne, nyt reply, post like) til BuddyPress Profilens "
938
+ "aktivitets side"
939
+
940
+ #: wpf-admin/options-tabs/features.php:42 wpf-includes/wpf-phrases.php:85
941
+ msgid "Enable Output Buffer"
942
+ msgstr "Tillad output buffer"
943
+
944
+ #: wpf-admin/options-tabs/features.php:42 wpf-includes/wpf-phrases.php:330
945
+ msgid ""
946
+ "This feature is useful if you're adding content before or after [wpforo] "
947
+ "shortcode in page content. Also it useful if forum is loaded before website "
948
+ "header, on top of the front-end."
949
+ msgstr ""
950
+ "Denne feature er smart hvis du tilfører indhold før eller efter en [wpforo] "
951
+ "forkortelse i sidens indhold. Er også smart hvis forum loader før headeren, "
952
+ "i front-end."
953
+
954
+ #: wpf-admin/options-tabs/features.php:43
955
+ msgid "Enable WordPress Date/Time Format"
956
+ msgstr "Tillad WordPress Dato/Tid Formaterne"
957
+
958
+ #: wpf-admin/options-tabs/features.php:43 wpf-includes/wpf-phrases.php:602
959
+ msgid ""
960
+ "You can manage WordPress date and time format in WordPress Settings > "
961
+ "General admin page."
962
+ msgstr "Du kan styre WordPress dato og tid i WordPress Settings > General"
963
+
964
+ #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:613
965
+ msgid "Enable Subscription Confirmation"
966
+ msgstr "Tillad Subscription Confirmation ( nAbonerbekræftigelse )"
967
+
968
+ #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:614
969
+ msgid "Forum and Topic subscription with double opt-in/confirmation system."
970
+ msgstr "Forum og emne Abonermed double opt-in/konfirmation."
971
+
972
+ #: wpf-admin/options-tabs/features.php:45
973
+ msgid "Topic subscription option on post editor"
974
+ msgstr "Abo på emnet finder du under “post editor”"
975
+
976
+ #: wpf-admin/options-tabs/features.php:45
977
+ msgid ""
978
+ "This option adds topic subscription checkbox next to new topic and post "
979
+ "submit button."
980
+ msgstr ""
981
+ "Denne option tilføjer en “emne abonnoment” fluebens boks ved siden af nyt "
982
+ "emne og post submit knappen."
983
+
984
+ #: wpf-admin/options-tabs/features.php:46
985
+ msgid "Topic subscription option on post editor - checked/enabled"
986
+ msgstr "Emne Aboner optionen på emne editoren - flueben/tændt"
987
+
988
+ #: wpf-admin/options-tabs/features.php:46
989
+ msgid ""
990
+ "Enable this option if you want the topic subscription checkbox to be checked "
991
+ "by default."
992
+ msgstr ""
993
+ "Tænd denne option hvis du vil have emne nAbonerfluebenet tændt som default"
994
+
995
+ #: wpf-admin/options-tabs/features.php:47 wpf-includes/wpf-phrases.php:641
996
+ msgid "Insert Forum Attachments to Media Library"
997
+ msgstr "indsæt Forum Attachments i Media Library"
998
+
999
+ #: wpf-admin/options-tabs/features.php:47 wpf-includes/wpf-phrases.php:642
1000
+ msgid ""
1001
+ "Enable this option to be able manage forum attachments in Dashboard > Media "
1002
+ "> Library admin page."
1003
+ msgstr ""
1004
+ "Tænd denne option hvis du vil kunne styre forum attachments i Dashboard > "
1005
+ "Media > Library"
1006
+
1007
+ #: wpf-admin/options-tabs/features.php:48 wpf-includes/wpf-phrases.php:606
1008
+ msgid "Enable Debug Mode"
1009
+ msgstr "Tænd Debug Mode"
1010
+
1011
+ #: wpf-admin/options-tabs/features.php:48 wpf-includes/wpf-phrases.php:607
1012
+ msgid ""
1013
+ "If you got some issue with wpForo, please enable this option before asking "
1014
+ "for support, this outputs hidden important information to help us debug your "
1015
+ "issue."
1016
+ msgstr ""
1017
+ "Har du problemer med wpForo, tænd denne option før du ringer til support, "
1018
+ "den outputtet ellers gemt indhold, der kan være relevant for os hvis vi skal "
1019
+ "debugge dit problem"
1020
+
1021
+ #: wpf-admin/options-tabs/features.php:49 wpf-includes/wpf-phrases.php:134
1022
+ msgid "Help wpForo to grow, show plugin info"
1023
+ msgstr "Hjælp wpForo med at vokse, vis plugin info"
1024
+
1025
+ #: wpf-admin/options-tabs/features.php:49 wpf-includes/wpf-phrases.php:226
1026
+ msgid ""
1027
+ "Please enable this option to help wpForo get more popularity as your thank "
1028
+ "to the hard work we do for you totally free. This option adds a very small "
1029
+ "icon in forum footer, which will allow your site visitors recognize the name "
1030
+ "of forum solution you use."
1031
+ msgstr ""
1032
+ "Venligts tænd denne option og hjælp wpForo blive mere populær. Der som "
1033
+ "bekendt er helt gratis. Optionen tilfører et lille icon i forum footer, der "
1034
+ "tillader dine besøgende at genkende navnet på dette forum du bruger."
1035
+
1036
+ #: wpf-admin/options-tabs/features.php:68
1037
+ msgid "Thank you!"
1038
+ msgstr "Tak!"
1039
+
1040
+ #: wpf-admin/options-tabs/general.php:15 wpf-includes/wpf-phrases.php:107
1041
+ msgid "Forum Base URL"
1042
+ msgstr "Forum grund URL"
1043
+
1044
+ #: wpf-admin/options-tabs/general.php:24 wpf-includes/wpf-phrases.php:651
1045
+ msgid "Turn WordPress to wpForo"
1046
+ msgstr "Laver WordPress om til wpForo"
1047
+
1048
+ #: wpf-admin/options-tabs/general.php:25
1049
+ msgid ""
1050
+ "This option will disable WordPress on front-end. Only forum pages and "
1051
+ "excluded post/pages will be available. wpForo will look like as a stand-"
1052
+ "alone forum."
1053
+ msgstr ""
1054
+ "Denne option fjerner WordPress front-end. Herefter vil det kun være selve "
1055
+ "forum, der kan ses. wpForo vil se ud til at være et stand-alone forum."
1056
+
1057
+ #: wpf-admin/options-tabs/general.php:28
1058
+ msgid "Exclude page URLs"
1059
+ msgstr "Ekskluder side URLs"
1060
+
1061
+ #: wpf-admin/options-tabs/general.php:28
1062
+ msgid "one URL per line"
1063
+ msgstr "En URL pr line"
1064
+
1065
+ #: wpf-admin/options-tabs/general.php:38
1066
+ msgid "Visit Forum"
1067
+ msgstr "Besøg Forum"
1068
+
1069
+ #: wpf-admin/options-tabs/general.php:41
1070
+ msgid ""
1071
+ "wpForo PageID doesn't exist. Forums will not be loaded, please read this"
1072
+ msgstr ""
1073
+ "wpForo PageID eksisterer ikke. Forum kommer ikke til at loade, læs venligst "
1074
+ "dette"
1075
+
1076
+ #: wpf-admin/options-tabs/general.php:41
1077
+ msgid "support topic"
1078
+ msgstr "support emne"
1079
+
1080
+ #: wpf-admin/options-tabs/general.php:43
1081
+ msgid "Forum Page ID"
1082
+ msgstr "Forum side ID"
1083
+
1084
+ #: wpf-admin/options-tabs/general.php:48 wpf-includes/wpf-phrases.php:121
1085
+ msgid "Forum Title"
1086
+ msgstr "Forum Titel"
1087
+
1088
+ #: wpf-admin/options-tabs/general.php:52 wpf-includes/wpf-phrases.php:108
1089
+ msgid "Forum Description"
1090
+ msgstr "Forum beskrivelse"
1091
+
1092
+ #: wpf-admin/options-tabs/general.php:57 wpf-includes/wpf-phrases.php:64
1093
+ msgid "Dashboard Menu Position"
1094
+ msgstr "Dashboard Menu Position"
1095
+
1096
+ #: wpf-admin/options-tabs/general.php:58 wpf-includes/wpf-phrases.php:323
1097
+ msgid "The position in the menu order wpForo should appear."
1098
+ msgstr "Den position i menuen som wpForo kan findes i"
1099
+
1100
+ #: wpf-admin/options-tabs/general.php:59 wpf-includes/wpf-phrases.php:348
1101
+ msgid ""
1102
+ "Use greater than 5 - below Posts, 10 - below Media, 15 - below Links, 20 - "
1103
+ "below Pages, 25 - below comments, 60 - below first separator, 65 - below "
1104
+ "Plugins, 70 - below Users, 75 - below Tools, 80 - below Settings, 100 - "
1105
+ "below second separator"
1106
+ msgstr ""
1107
+ "Brug større end 5 - under Indlægs, 10 - under Medier, 15 - under Links, 20 - "
1108
+ "under sider, 25 - under kommentarer, 60 - under første separator, 65 - under "
1109
+ "Plugins, 70 - under brugere, 75 - under værkstøj, 80 - under Settings, 100 - "
1110
+ "under den anden separator"
1111
+
1112
+ #: wpf-admin/options-tabs/general.php:63
1113
+ msgid "More info"
1114
+ msgstr "Mere info"
1115
+
1116
+ #: wpf-admin/options-tabs/general.php:68 wpf-includes/wpf-phrases.php:110
1117
+ msgid "Forum Language"
1118
+ msgstr "Forum sprog"
1119
+
1120
+ #: wpf-admin/options-tabs/general.php:69
1121
+ msgid ""
1122
+ "This option is only related to XML language files. You should upload a "
1123
+ "translation XML file to have a new language option in this drop-down. If you "
1124
+ "are using PO/MO translation files you should change WordPress Language in "
1125
+ "Dashboard > Settings admin page to load according translation for wpForo."
1126
+ msgstr ""
1127
+ "Denne option er kun relateret til XML sprog filer. Du skal uploade a "
1128
+ "oversættelse XML fil hvis du vil have et nyt sprog i den her drop-down. "
1129
+ "Bruger du PO/MO oversættelse skal du skifte sproget i WordPress Language i "
1130
+ "Dashboard > Settings hvor du burde kunne loade wpForo oversættelsen."
1131
+
1132
+ #: wpf-admin/options-tabs/general.php:94 wpf-includes/wpf-phrases.php:144
1133
+ msgid "Language XML file"
1134
+ msgstr "Sprog XML file"
1135
+
1136
+ #: wpf-admin/options-tabs/general.php:103 wpf-includes/wpf-phrases.php:22
1137
+ msgid "Add New Language"
1138
+ msgstr "Tilføj nyt sprog"
1139
+
1140
+ #: wpf-admin/options-tabs/members.php:13 wpf-includes/wpf-phrases.php:217
1141
+ msgid "Online status timeout"
1142
+ msgstr "Online status timeout"
1143
+
1144
+ #: wpf-admin/options-tabs/members.php:16 wpf-admin/options-tabs/posts.php:28
1145
+ #: wpf-admin/options-tabs/posts.php:32 wpf-admin/options-tabs/posts.php:40
1146
+ #: wpf-admin/options-tabs/posts.php:44 wpf-includes/wpf-phrases.php:390
1147
+ msgid "minutes"
1148
+ msgstr "Minutter"
1149
+
1150
+ #: wpf-admin/options-tabs/members.php:20 wpf-includes/wpf-phrases.php:180
1151
+ msgid "Members URL structure"
1152
+ msgstr "Medlems URL struktur"
1153
+
1154
+ #: wpf-admin/options-tabs/members.php:29 wpf-includes/wpf-phrases.php:701
1155
+ msgid "Members Search Type"
1156
+ msgstr "Medlemme Søgninger"
1157
+
1158
+ #: wpf-admin/options-tabs/members.php:32 wpf-includes/wpf-phrases.php:275
1159
+ msgid "Search"
1160
+ msgstr "Søg"
1161
+
1162
+ #: wpf-admin/options-tabs/members.php:33
1163
+ msgid "Filter"
1164
+ msgstr "Filter"
1165
+
1166
+ #: wpf-admin/options-tabs/members.php:39 wpf-includes/wpf-phrases.php:62
1167
+ msgid "Custom Authorization URLs"
1168
+ msgstr "Specielle Authoritations URLs"
1169
+
1170
+ #: wpf-admin/options-tabs/members.php:41
1171
+ msgid ""
1172
+ "Use this option only if you have set other pages for authorization. \n"
1173
+ " wpForo doesn't change its own URLs, these options "
1174
+ "are only for other plugin compatibility. \n"
1175
+ " For example, if you use BuddyPress or Ultimate "
1176
+ "Member plugin you can set these values:"
1177
+ msgstr ""
1178
+ "Brug kun denne option hvis du har bestemt af andre sider sørger for "
1179
+ "Authoritationen. \n"
1180
+ " wpForo ændrer ikke sin egen URLs, Disse optioner er "
1181
+ "kun for at være kompatible med andre plugins. \n"
1182
+ " Som eksempel, hvis du bruger BuddyPress eller "
1183
+ "Ultimate Member plugin’et kan du bestemme disse værdier:"
1184
+
1185
+ #: wpf-admin/options-tabs/members.php:44 wpf-admin/options-tabs/members.php:50
1186
+ #: wpf-includes/wpf-phrases.php:162
1187
+ msgid "Login URL"
1188
+ msgstr "Login URL"
1189
+
1190
+ #: wpf-admin/options-tabs/members.php:45 wpf-admin/options-tabs/members.php:51
1191
+ #: wpf-includes/wpf-phrases.php:252
1192
+ msgid "Register URL"
1193
+ msgstr "Registerings URL"
1194
+
1195
+ #: wpf-admin/options-tabs/members.php:52 wpf-includes/wpf-phrases.php:164
1196
+ msgid "Lost Password URL"
1197
+ msgstr "LosTabtt Password URL"
1198
+
1199
+ #: wpf-admin/options-tabs/members.php:58
1200
+ msgid "Custom Redirection URLs after following actions"
1201
+ msgstr "Specielle Redirection URLs eller følgende actions"
1202
+
1203
+ #: wpf-admin/options-tabs/members.php:60
1204
+ msgid "For member profile, account and subscription pages use following URLs:"
1205
+ msgstr "For medlems profiler, kontoer og Abonnoments sider brug følgende URLs:"
1206
+
1207
+ #: wpf-admin/options-tabs/members.php:72
1208
+ msgid "Redirect after login"
1209
+ msgstr "Rediriger efter login"
1210
+
1211
+ #: wpf-admin/options-tabs/members.php:73
1212
+ msgid "Redirect after registration"
1213
+ msgstr "Rediriger efter registrering"
1214
+
1215
+ #: wpf-admin/options-tabs/members.php:74
1216
+ msgid "Redirect after subscription confirmation"
1217
+ msgstr "Rediriger efter Abonnoments bekræftigelse"
1218
+
1219
+ #: wpf-admin/options-tabs/members.php:80 wpf-includes/wpf-phrases.php:175
1220
+ msgid "Member Reputation and Titles"
1221
+ msgstr "Medlems rygte og titel"
1222
+
1223
+ #: wpf-admin/options-tabs/members.php:84
1224
+ msgid "Member Custom Titles"
1225
+ msgstr "Medlems specielle titel"
1226
+
1227
+ #: wpf-admin/options-tabs/members.php:93
1228
+ msgid "Member Custom Title by default"
1229
+ msgstr "Medlems specielle titel som default"
1230
+
1231
+ #: wpf-admin/options-tabs/members.php:103 wpf-includes/wpf-phrases.php:247
1232
+ msgid "Rating Level"
1233
+ msgstr "Rating niveau"
1234
+
1235
+ #: wpf-admin/options-tabs/members.php:104 wpf-includes/wpf-phrases.php:185
1236
+ msgid "Min Number of Posts"
1237
+ msgstr "Minimum nummer af posts"
1238
+
1239
+ #: wpf-admin/options-tabs/members.php:105 wpf-includes/wpf-phrases.php:176
1240
+ msgid "Member Title"
1241
+ msgstr "Medlems titel"
1242
+
1243
+ #: wpf-admin/options-tabs/members.php:106 wpf-includes/wpf-phrases.php:293
1244
+ msgid "Short Badge"
1245
+ msgstr "Kort skilt"
1246
+
1247
+ #: wpf-admin/options-tabs/members.php:107 wpf-includes/wpf-phrases.php:128
1248
+ msgid "Full Badge"
1249
+ msgstr "Fuldt skilt"
1250
+
1251
+ #: wpf-admin/options-tabs/members.php:108 wpf-includes/wpf-phrases.php:245
1252
+ msgid "Rating Color"
1253
+ msgstr "Rating farve"
1254
+
1255
+ #: wpf-admin/options-tabs/members.php:109 wpf-includes/wpf-phrases.php:246
1256
+ msgid "Rating Icon"
1257
+ msgstr "Rating Ikon"
1258
+
1259
+ #: wpf-admin/options-tabs/members.php:109 wpf-includes/wpf-phrases.php:187
1260
+ msgid "More"
1261
+ msgstr "mere"
1262
+
1263
+ #: wpf-admin/options-tabs/members.php:114 wpf-includes/wpf-phrases.php:158
1264
+ msgid "Level"
1265
+ msgstr "niveau"
1266
+
1267
+ #: wpf-admin/options-tabs/members.php:115 wpf-includes/wpf-phrases.php:211
1268
+ msgid "Number of Posts"
1269
+ msgstr "antal posts"
1270
+
1271
+ #: wpf-admin/options-tabs/members.php:116 wpf-includes/wpf-phrases.php:63
1272
+ msgid "Custom Title"
1273
+ msgstr "Speciel titel"
1274
+
1275
+ #: wpf-admin/options-tabs/members.php:119 wpf-admin/usergroup.php:23
1276
+ #: wpf-includes/wpf-phrases.php:56
1277
+ msgid "Color"
1278
+ msgstr "farve"
1279
+
1280
+ #: wpf-admin/options-tabs/members.php:120 wpf-includes/wpf-phrases.php:48
1281
+ msgid "Badge Icon"
1282
+ msgstr "Skilt farve"
1283
+
1284
+ #: wpf-admin/options-tabs/members.php:126
1285
+ msgid "Enable Reputation Titles for selected usergroups"
1286
+ msgstr "Tænd rygte titel for bestemte undergrupper"
1287
+
1288
+ #: wpf-admin/options-tabs/members.php:127
1289
+ msgid ""
1290
+ "This option depends on \"Enable Member Rating Titles\" parent option, witch "
1291
+ "located in wpForo Settings > Features Tab"
1292
+ msgstr ""
1293
+ "Denne option er afhængig af “Tillad medlems titel rating” indstillingen, der "
1294
+ "er located i wpForo Settings > Features"
1295
+
1296
+ #: wpf-admin/options-tabs/members.php:140
1297
+ msgid "Enable Reputation Badges for selected usergroups"
1298
+ msgstr "Tillad rygte skilte for bestemte undergrupper"
1299
+
1300
+ #: wpf-admin/options-tabs/members.php:141
1301
+ msgid ""
1302
+ "This option depends on \"Enable Member Rating\" parent option, witch located "
1303
+ "in wpForo Settings > Features Tab"
1304
+ msgstr ""
1305
+ "Denne option er betinget af “Tillad medlems titel rating” parent optionen, "
1306
+ "du kan finde i wpForo Settings > Features"
1307
+
1308
+ #: wpf-admin/options-tabs/members.php:154
1309
+ msgid "Display Usergroup under Post Author Avatar"
1310
+ msgstr "Vis brugergruppe under Indlæg forfatter Avatar"
1311
+
1312
+ #: wpf-admin/options-tabs/plugins.php:9
1313
+ msgid ""
1314
+ "Thank you for using wpForo. wpForo is a premium forum plugin which will "
1315
+ "always be available for free. There will never be paid and pro versions of "
1316
+ "this forum board. However this is a very large and hard project so we also "
1317
+ "develop paid addons (extensions), which will financially help us to keep "
1318
+ "improving and adding new features to the free wpForo plugin. Forum addons "
1319
+ "will also be actively developed. The first addons \"Advanced Media Uploader"
1320
+ "\", \"Polls\", \"Private Messages\" and \"Ad Manager\" will be available "
1321
+ "very soon. Once you got some addon and activated that, you will find "
1322
+ "settings in vertical subTabs here."
1323
+ msgstr ""
1324
+ "Tak fordi du bruger wpForo. wpForo er et premium forum plugin der altid vil "
1325
+ "være til at finde gratis. Der kommer aldrig betalte eller Pro versioner af "
1326
+ "dette forum. Der er dog en masse addons (extensions), du kan købe. De er med "
1327
+ "til at sørge for at vi har råd til at fortsætte udviklingen af wpForo "
1328
+ "plugin. Forum addons bliver også løbende udviklet. De første addons "
1329
+ "“Advanced Media Uploader”, “Polls”, “Private Messages” og “Ad Manager” er "
1330
+ "snart til at købe. Når du har købt og aktiveret et eller flere af disse "
1331
+ "addons er det her du finder settings."
1332
+
1333
+ #: wpf-admin/options-tabs/posts.php:14
1334
+ msgid "Recent Posts Display Type"
1335
+ msgstr "Nye Indlæg vises sådan"
1336
+
1337
+ #: wpf-admin/options-tabs/posts.php:23 wpf-includes/wpf-phrases.php:213
1338
+ msgid "Number of Topics per Page"
1339
+ msgstr "Antal emner på en side"
1340
+
1341
+ #: wpf-admin/options-tabs/posts.php:27 wpf-includes/wpf-phrases.php:30
1342
+ msgid "Allow Edit Own Topic for"
1343
+ msgstr "Tillad at redigere eget emne"
1344
+
1345
+ #: wpf-admin/options-tabs/posts.php:31 wpf-includes/wpf-phrases.php:27
1346
+ msgid "Allow Delete Own Topic for"
1347
+ msgstr "Tillad sket eget indlæg"
1348
+
1349
+ #: wpf-admin/options-tabs/posts.php:35 wpf-includes/wpf-phrases.php:212
1350
+ msgid "Number of Posts per Page"
1351
+ msgstr "Antal af indlæg pr sider"
1352
+
1353
+ #: wpf-admin/options-tabs/posts.php:39 wpf-includes/wpf-phrases.php:29
1354
+ msgid "Allow Edit Own Post for"
1355
+ msgstr "Tillad redigering af eget indlæg for"
1356
+
1357
+ #: wpf-admin/options-tabs/posts.php:43 wpf-includes/wpf-phrases.php:28
1358
+ msgid "Allow Delete Own post for"
1359
+ msgstr "Tillad at slette eget indløb for "
1360
+
1361
+ #: wpf-admin/options-tabs/posts.php:49 wpf-includes/wpf-phrases.php:169
1362
+ msgid "Maximum upload file size"
1363
+ msgstr "max upload fil størrelse"
1364
+
1365
+ #: wpf-admin/options-tabs/posts.php:50 wpf-includes/wpf-phrases.php:370
1366
+ msgid ""
1367
+ "You can not set this value more than \"upload_max_filesize\" and "
1368
+ "\"post_max_size\". If you want to increase server parameters please contact "
1369
+ "to your hosting service support."
1370
+ msgstr ""
1371
+ "Du kan ikke hæve denne værdi til mere end “upload_max_filesize” eller "
1372
+ "“post_max_size”. Hvis du vil hæve serverens parametre skal du kontakte din "
1373
+ "ISP."
1374
+
1375
+ #: wpf-admin/options-tabs/posts.php:53 wpf-includes/wpf-phrases.php:166
1376
+ msgid "MB"
1377
+ msgstr "MB"
1378
+
1379
+ #: wpf-admin/options-tabs/posts.php:56 wpf-includes/wpf-phrases.php:288
1380
+ msgid "Server \"upload_max_filesize\" is "
1381
+ msgstr "Serverens “upload_max_filesize” er"
1382
+
1383
+ #: wpf-admin/options-tabs/posts.php:57 wpf-includes/wpf-phrases.php:287
1384
+ msgid "Server \"post_max_size\" is "
1385
+ msgstr "Serverens “post_max_size” er "
1386
+
1387
+ #: wpf-admin/options-tabs/posts.php:65
1388
+ msgid "Attachment click - message for non-permitted users"
1389
+ msgstr "Vedhæng klik - besked til brugere uden tillladese"
1390
+
1391
+ #: wpf-admin/options-tabs/posts.php:66
1392
+ msgid ""
1393
+ "This message will be displayed when a non-permitted forum member clicks on "
1394
+ "attached file link in topic and posts."
1395
+ msgstr ""
1396
+ "Denne besked vil en bruger der ikke har lov til at hente en fil få når der "
1397
+ "klikkes"
1398
+
1399
+ #: wpf-admin/options-tabs/styles.php:13
1400
+ msgid "Font Sizes"
1401
+ msgstr "Font størrelse"
1402
+
1403
+ #: wpf-admin/options-tabs/styles.php:28 wpf-includes/wpf-phrases.php:480
1404
+ msgid "Post Content"
1405
+ msgstr "Post indhold"
1406
+
1407
+ #: wpf-admin/options-tabs/styles.php:36 wpf-includes/wpf-phrases.php:61
1408
+ msgid "Custom CSS Code"
1409
+ msgstr "Speciel CSS kode"
1410
+
1411
+ #: wpf-admin/options-tabs/styles.php:43
1412
+ msgid "Forum Color Styles"
1413
+ msgstr "Forum farve stil"
1414
+
1415
+ #: wpf-admin/options-tabs/styles.php:43
1416
+ msgid "Documentation"
1417
+ msgstr "Dokumentation"
1418
+
1419
+ #: wpf-admin/options.php:8 wpf-includes/wpf-phrases.php:117
1420
+ msgid "Forum Settings"
1421
+ msgstr "Forum Indtillinger"
1422
+
1423
+ #: wpf-admin/options.php:14 wpf-includes/wpf-phrases.php:129
1424
+ msgid "General"
1425
+ msgstr "Generelt"
1426
+
1427
+ #: wpf-admin/options.php:16 wpf-includes/wpf-phrases.php:105
1428
+ msgid "Forum Accesses"
1429
+ msgstr "Forum adgang"
1430
+
1431
+ #: wpf-admin/options.php:17 wpf-includes/wpf-phrases.php:339
1432
+ msgid "Topics &amp; Posts"
1433
+ msgstr "Emner &amp; Indlæg"
1434
+
1435
+ #: wpf-admin/options.php:19 wpf-includes/wpf-phrases.php:76
1436
+ msgid "Emails"
1437
+ msgstr "Mails"
1438
+
1439
+ #: wpf-admin/options.php:20 wpf-includes/wpf-phrases.php:96
1440
+ msgid "Features"
1441
+ msgstr "Features"
1442
+
1443
+ #: wpf-admin/options.php:22 wpf-includes/wpf-phrases.php:311
1444
+ msgid "Styles"
1445
+ msgstr "Stil"
1446
+
1447
+ #: wpf-admin/options.php:23
1448
+ msgid "API's"
1449
+ msgstr "API’s"
1450
+
1451
+ #: wpf-admin/phrase.php:10 wpf-includes/wpf-phrases.php:127
1452
+ msgid "Front-end Phrases"
1453
+ msgstr "Front-end formuleringer"
1454
+
1455
+ #: wpf-admin/themes.php:9 wpf-includes/wpf-phrases.php:120
1456
+ msgid "Forum Themes"
1457
+ msgstr "Forum temaer"
1458
+
1459
+ #: wpf-admin/themes.php:46 wpf-includes/wpf-phrases.php:60
1460
+ msgid "Current active theme"
1461
+ msgstr "Aktivt tema"
1462
+
1463
+ #: wpf-admin/themes.php:48 wpf-includes/wpf-phrases.php:138
1464
+ msgid "Inactive"
1465
+ msgstr "INaktiv"
1466
+
1467
+ #: wpf-admin/themes.php:52 wpf-includes/wpf-phrases.php:143
1468
+ msgid "LAYOUTS"
1469
+ msgstr "Layouts"
1470
+
1471
+ #: wpf-admin/themes.php:68 wpf-includes/wpf-phrases.php:17
1472
+ msgid "Activate"
1473
+ msgstr "Aktiver"
1474
+
1475
+ #: wpf-admin/themes.php:69 wpf-includes/wpf-phrases.php:124
1476
+ msgid "Fresh Installation"
1477
+ msgstr "Frisk installation"
1478
+
1479
+ #: wpf-admin/themes.php:71 wpf-includes/wpf-phrases.php:140
1480
+ msgid "Install"
1481
+ msgstr "Installer"
1482
+
1483
+ #: wpf-admin/themes.php:73 wpf-includes/wpf-phrases.php:38
1484
+ msgid "Are you sure you want to delete this theme files?"
1485
+ msgstr "er du sikker på at du vil slette disse tema filer?"
1486
+
1487
+ #: wpf-admin/themes.php:76 wpf-includes/wpf-phrases.php:40
1488
+ msgid ""
1489
+ "Are you sure you want to reset all settings and style colors to default?"
1490
+ msgstr "Er du sikker på at du vil nulstille disse stil og farver til default?"
1491
+
1492
+ #: wpf-admin/themes.php:76 wpf-includes/wpf-phrases.php:268
1493
+ msgid "Reset Settings"
1494
+ msgstr "Nulstil indstillinger"
1495
+
1496
+ #: wpf-admin/themes.php:96 wpf-includes/wpf-phrases.php:201
1497
+ msgid "No layout found"
1498
+ msgstr "Intet lauyout fundet"
1499
+
1500
+ #: wpf-admin/themes.php:107 wpf-includes/wpf-phrases.php:206
1501
+ msgid "No theme found"
1502
+ msgstr "Intet tema fundet"
1503
+
1504
+ #: wpf-admin/tools-tabs/antispam.php:11
1505
+ msgid ""
1506
+ "is not installed! For an advanced Spam Control please install Akismet "
1507
+ "antispam plugin, it works well with wpForo Spam Control system. Akismet is "
1508
+ "already integrated with wpForo. It'll help to filter posts and protect forum "
1509
+ "against spam attacks."
1510
+ msgstr ""
1511
+ "Er ikke installeret! For advanceret Spam Control venligst installer Akismet "
1512
+ "antispam plugin, det virker fint med wpForos Spam kontrol system. Akismet er "
1513
+ "allerede integreret med wpForo. Det vil hjælpe med at filtrere indlæg og "
1514
+ "beskytte forum mod spam angreb."
1515
+
1516
+ #: wpf-admin/tools-tabs/antispam.php:21
1517
+ msgid "Spam Control"
1518
+ msgstr "Spam kontrol"
1519
+
1520
+ #: wpf-admin/tools-tabs/antispam.php:22
1521
+ msgid ""
1522
+ "Some useful options to limit just registered users and minimize spam. This "
1523
+ "control don't affect users whose Usergroup has \"Can edit member\" and \"Can "
1524
+ "pass moderation\" permissions."
1525
+ msgstr ""
1526
+ "Nogle brugbare optioner begrænser registrerede brugere og minimerer spam. "
1527
+ "Denne kontrol påvirker ikke brugerne hvis brugergruppe har tilladelse til "
1528
+ "“kan redigere medlemmer” og “kan videregive moderation” tilladelserne."
1529
+
1530
+ #: wpf-admin/tools-tabs/antispam.php:28
1531
+ msgid "Enable wpForo Spam Control"
1532
+ msgstr "Tillad wpForo Spam Control"
1533
+
1534
+ #: wpf-admin/tools-tabs/antispam.php:37
1535
+ msgid "Ban user when spam is suspected"
1536
+ msgstr "Bortvis brugere der er mistænkt for at spam’e"
1537
+
1538
+ #: wpf-admin/tools-tabs/antispam.php:46
1539
+ msgid "Notify via email when new user is banned"
1540
+ msgstr "Notify admin via mail når en nu bruger bliver bortvist"
1541
+
1542
+ #: wpf-admin/tools-tabs/antispam.php:55
1543
+ msgid "Spam Suspicion Level for Topics"
1544
+ msgstr "Spam mistænkeligt niveau for emner"
1545
+
1546
+ #: wpf-admin/tools-tabs/antispam.php:59
1547
+ msgid "Spam Suspicion Level for Posts"
1548
+ msgstr "Spam mistænkeligt niveau for indlæg"
1549
+
1550
+ #: wpf-admin/tools-tabs/antispam.php:64
1551
+ msgid " is enabled"
1552
+ msgstr "Er tændt"
1553
+
1554
+ #: wpf-admin/tools-tabs/antispam.php:73
1555
+ msgid "New Registered User"
1556
+ msgstr "Ny registreret bruger"
1557
+
1558
+ #: wpf-admin/tools-tabs/antispam.php:74
1559
+ msgid ""
1560
+ "Some useful options to limit just registered users and minimize spam. These "
1561
+ "options don't affect users whose Usergroup has \"Can edit member\" and \"Can "
1562
+ "pass moderation\" permissions."
1563
+ msgstr ""
1564
+ "Nogle brugbare optioner begrænser registrerede brugere og minimerer spam. "
1565
+ "Denne kontrol påvirker ikke brugerne hvis brugergruppe har tilladelse til "
1566
+ "“kan redigere medlemmer” og “kan videregive moderation” tilladelserne."
1567
+
1568
+ #: wpf-admin/tools-tabs/antispam.php:81
1569
+ msgid "User is New (under hard spam control) during"
1570
+ msgstr "Bruger er ny (under hård spam kontrol) mens/under"
1571
+
1572
+ #: wpf-admin/tools-tabs/antispam.php:83
1573
+ msgid "first"
1574
+ msgstr "først"
1575
+
1576
+ #: wpf-admin/tools-tabs/antispam.php:83
1577
+ msgid "posts"
1578
+ msgstr "posts"
1579
+
1580
+ #: wpf-admin/tools-tabs/antispam.php:86
1581
+ msgid "Min number of posts to be able attach files"
1582
+ msgstr "Min nummer af posts der skal til før du kan attach filer"
1583
+
1584
+ #: wpf-admin/tools-tabs/antispam.php:90
1585
+ msgid "Min number of posts to be able post links"
1586
+ msgstr "Min nummer af posts der skal til før du kan poste links"
1587
+
1588
+ #: wpf-admin/tools-tabs/antispam.php:95
1589
+ msgid "Do not allow to attach files with following extensions:"
1590
+ msgstr "Tillad ikke filer med følgende efternavne"
1591
+
1592
+ #: wpf-admin/tools-tabs/antispam.php:105
1593
+ msgid "Google reCAPTCHA"
1594
+ msgstr "Google reCAPTCHA"
1595
+
1596
+ #: wpf-admin/tools-tabs/antispam.php:106
1597
+ msgid ""
1598
+ "reCAPTCHA protects you against spam and other types of automated abuse. It "
1599
+ "makes secure topic and post editors when Guest Posting is allowed, also it "
1600
+ "protects login and registration forms against spam attacks."
1601
+ msgstr ""
1602
+ "reCAPTCHA beskytter dig mod spam og andre slags automatiseret misbrug. Det "
1603
+ "skaber sikre emner og indlæg når gæste indlæg er tilladt, det bnekytter også "
1604
+ "mod misbrug af login og registrering og imod spam angreb."
1605
+
1606
+ #: wpf-admin/tools-tabs/antispam.php:108
1607
+ msgid "reCAPTCHA API keys"
1608
+ msgstr "reCAPTCHA API keys"
1609
+
1610
+ #: wpf-admin/tools-tabs/antispam.php:110
1611
+ msgid ""
1612
+ "To start using reCAPTCHA, you need to sign up for an API key pair for your "
1613
+ "site."
1614
+ msgstr ""
1615
+ "Før du kan bruge reCAPTCHA, er du nødt til at få fingre i en API key til dit "
1616
+ "site"
1617
+
1618
+ #: wpf-admin/tools-tabs/antispam.php:111
1619
+ msgid "Register your site and get API keys here &raquo;"
1620
+ msgstr "Registrer dit site og få en API keys her &raquo;"
1621
+
1622
+ #: wpf-admin/tools-tabs/antispam.php:118
1623
+ msgid "Site Key"
1624
+ msgstr "Site Nøgle"
1625
+
1626
+ #: wpf-admin/tools-tabs/antispam.php:124
1627
+ msgid "Secret Key"
1628
+ msgstr "Hemmelig Nøgle"
1629
+
1630
+ #: wpf-admin/tools-tabs/antispam.php:131
1631
+ msgid "reCAPTCHA Settings"
1632
+ msgstr "reCAPTCHA indstillinger"
1633
+
1634
+ #: wpf-admin/tools-tabs/antispam.php:136
1635
+ msgid "reCAPTCHA Theme"
1636
+ msgstr "reCAPTCHA Tema"
1637
+
1638
+ #: wpf-admin/tools-tabs/antispam.php:139
1639
+ msgid "Light"
1640
+ msgstr "lys"
1641
+
1642
+ #: wpf-admin/tools-tabs/antispam.php:140
1643
+ msgid "Dark"
1644
+ msgstr "mørk"
1645
+
1646
+ #: wpf-admin/tools-tabs/antispam.php:145
1647
+ msgid "Guest Topic Editor"
1648
+ msgstr "Gæst emne Editor"
1649
+
1650
+ #: wpf-admin/tools-tabs/antispam.php:154
1651
+ msgid "Guest Post Editor"
1652
+ msgstr "Gæst indlæg Editor"
1653
+
1654
+ #: wpf-admin/tools-tabs/antispam.php:164
1655
+ msgid "wpForo Login Form"
1656
+ msgstr "wpForo Login Form"
1657
+
1658
+ #: wpf-admin/tools-tabs/antispam.php:173
1659
+ msgid "wpForo Registration Form"
1660
+ msgstr "wpForo Registrations Form"
1661
+
1662
+ #: wpf-admin/tools-tabs/antispam.php:182
1663
+ msgid "wpForo Reset Password Form"
1664
+ msgstr "wpForo nulstil Password Form"
1665
+
1666
+ #: wpf-admin/tools-tabs/antispam.php:191
1667
+ msgid "WordPress Login Form"
1668
+ msgstr "WordPress Login Form"
1669
+
1670
+ #: wpf-admin/tools-tabs/antispam.php:200
1671
+ msgid "WordPress Registration Form"
1672
+ msgstr "WordPress Registrations Form"
1673
+
1674
+ #: wpf-admin/tools-tabs/antispam.php:209
1675
+ msgid "WordPress Reset Password Form"
1676
+ msgstr "WordPress nulstil Password Form"
1677
+
1678
+ #: wpf-admin/tools-tabs/antispam.php:228
1679
+ msgid "Possible Spam Attachments"
1680
+ msgstr "Mulige Spam Attachments"
1681
+
1682
+ #: wpf-admin/tools-tabs/antispam.php:229
1683
+ msgid ""
1684
+ "This tool is designed to find attachment which have been uploaded by "
1685
+ "spammers. The tool checks most common spammer filenames and suggest to "
1686
+ "delete but you should check one by one and make sure those are spam files "
1687
+ "before deleting."
1688
+ msgstr ""
1689
+ "Dette redskab er designed til at finde attachment der er oploaded af "
1690
+ "spammere. Redskabet tjekker kendte spammers mest brugte filnavne og foreslår "
1691
+ "at slette dem. Du bør stadig tjekke manuelt før du sletter."
1692
+
1693
+ #: wpf-admin/tools-tabs/antispam.php:231
1694
+ msgid "Directory"
1695
+ msgstr "Katalog"
1696
+
1697
+ #: wpf-admin/tools-tabs/antispam.php:258
1698
+ msgid "Delete this file"
1699
+ msgstr "Sket denne fil"
1700
+
1701
+ #: wpf-admin/tools-tabs/antispam.php:258
1702
+ msgid "Are you sure you want to permanently delete this file?"
1703
+ msgstr "Er du sikker på at du vil slette denne fil permanent"
1704
+
1705
+ #: wpf-admin/tools-tabs/antispam.php:269
1706
+ msgid "Click to delete Blue marked files"
1707
+ msgstr "Klik for at slette filerne der er markedet med blåt"
1708
+
1709
+ #: wpf-admin/tools-tabs/antispam.php:270
1710
+ msgid ""
1711
+ "Are you sure you want to delete all BLUE marked files listed here. Please "
1712
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1713
+ "before deleting files, this is not undoable."
1714
+ msgstr ""
1715
+ "Er du sikker på at du vil slette de filer der er markeret med blåt og listet "
1716
+ "her. hent evt. først Wordpress /wp-content/uploads/wpforo/ folder ned på "
1717
+ "egen disk før du sletter. Du kan ikke gøre det om bagefter"
1718
+
1719
+ #: wpf-admin/tools-tabs/antispam.php:271 wpf-admin/tools-tabs/antispam.php:277
1720
+ #: wpf-admin/tools-tabs/antispam.php:283 wpf-admin/tools-tabs/antispam.php:289
1721
+ msgid "Delete All"
1722
+ msgstr "Sket alt"
1723
+
1724
+ #: wpf-admin/tools-tabs/antispam.php:274
1725
+ msgid "Click to delete Orange marked files"
1726
+ msgstr "Klik for at slette filerne der er markedet med orange"
1727
+
1728
+ #: wpf-admin/tools-tabs/antispam.php:276
1729
+ msgid ""
1730
+ "Are you sure you want to delete all ORANGE marked files listed here. Please "
1731
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1732
+ "before deleting files, this is not undoable."
1733
+ msgstr ""
1734
+ "Er du sikker på at du vil slette de filer der er markeret med orange og "
1735
+ "listet her. hent evt. først Wordpress /wp-content/uploads/wpforo/ folder ned "
1736
+ "på egen disk før du sletter. Du kan ikke gøre det om bagefter"
1737
+
1738
+ #: wpf-admin/tools-tabs/antispam.php:280
1739
+ msgid "Click to delete Red marked files"
1740
+ msgstr "Klik for at slette filerne der er markedet med rødt"
1741
+
1742
+ #: wpf-admin/tools-tabs/antispam.php:282
1743
+ msgid ""
1744
+ "Are you sure you want to delete all RED marked files listed here. Please "
1745
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1746
+ "before deleting files, this is not undoable."
1747
+ msgstr ""
1748
+ "Er du sikker på at du vil slette de filer der er markeret med rødt og listet "
1749
+ "her. hent evt. først Wordpress /wp-content/uploads/wpforo/ folder ned på "
1750
+ "egen disk før du sletter. Du kan ikke gøre det om bagefter"
1751
+
1752
+ #: wpf-admin/tools-tabs/antispam.php:286
1753
+ msgid "Click to delete Dark Red marked files"
1754
+ msgstr "Klik for at slette filerne der er markedet med mørkerødt"
1755
+
1756
+ #: wpf-admin/tools-tabs/antispam.php:288
1757
+ msgid ""
1758
+ "Are you sure you want to delete all DARK RED marked files listed here. "
1759
+ "Please download Wordpress /wp-content/uploads/wpforo/ folder to your local "
1760
+ "computer before deleting files, this is not undoable."
1761
+ msgstr ""
1762
+ "Er du sikker på at du vil slette de filer der er markeret med mørkerødt og "
1763
+ "listet her. hent evt. først Wordpress /wp-content/uploads/wpforo/ folder ned "
1764
+ "på egen disk før du sletter. Du kan ikke gøre det om bagefter"
1765
+
1766
+ #: wpf-admin/tools-tabs/cleanup.php:12
1767
+ msgid "Delete Inactive Users"
1768
+ msgstr "Sket inaktive brugere"
1769
+
1770
+ #: wpf-admin/tools-tabs/cleanup.php:13
1771
+ msgid ""
1772
+ "Inactive users are the account owners who have no topics, posts, comments "
1773
+ "and subscriptions for new content. In 99&#37; cases this kind of accounts "
1774
+ "are being registered by Spammers. This tool allows you to only keep active "
1775
+ "and known inactive users."
1776
+ msgstr ""
1777
+ "Inaktive brugere der ingen emner, post eller kommentarer eller Abonnoment’er "
1778
+ "har . I 99&#37; tilfælde er det kontoer der er registreret af Spammers. "
1779
+ "Dette redskab tillader at du kun beholder in/aktive og kendte brugere."
1780
+
1781
+ #: wpf-admin/tools-tabs/cleanup.php:19
1782
+ msgid "Inactive users who have been registered more than"
1783
+ msgstr "Inaktive brugere der har være registreret i mere end "
1784
+
1785
+ #: wpf-admin/tools-tabs/cleanup.php:20
1786
+ msgid "days ago"
1787
+ msgstr "Dage siden"
1788
+
1789
+ #: wpf-admin/tools-tabs/cleanup.php:25
1790
+ msgid "Filter by Usergroups"
1791
+ msgstr "Filtrer via brugergrupper"
1792
+
1793
+ #: wpf-admin/tools-tabs/cleanup.php:36
1794
+ msgid "Enable Auto-cleanup of inactive users"
1795
+ msgstr "Tillad auto-udrensning af inaktive brugere"
1796
+
1797
+ #: wpf-admin/tools-tabs/misc.php:10
1798
+ msgid "SEO Tools"
1799
+ msgstr "SEO redskaber"
1800
+
1801
+ #: wpf-admin/tools-tabs/misc.php:18
1802
+ msgid "Allowed dofollow domains"
1803
+ msgstr "Tilladte dofollow domains"
1804
+
1805
+ #: wpf-admin/tools-tabs/misc.php:19
1806
+ msgid ""
1807
+ "wpForo adds nofollow to all links with external URLs. If you want to keep "
1808
+ "some domains as internal please insert domains one per line in the textarea "
1809
+ "bellow."
1810
+ msgstr ""
1811
+ "wpForo tilføjer nofollow til all eksterne links. Hvis du vil have at enkelte "
1812
+ "domains fungerer som interne skal disse skrives ind på tekstlinien herunder "
1813
+ "- en på hver linie."
1814
+
1815
+ #: wpf-admin/tools-tabs/misc.php:26
1816
+ msgid "Noindex forum page URLs"
1817
+ msgstr "Noindex forum sider URLs"
1818
+
1819
+ #: wpf-admin/tools-tabs/misc.php:27
1820
+ msgid ""
1821
+ "The noIndex code tells Google and other search engines to NOT index the "
1822
+ "page, so that it cannot be found in search results. Please insert page URLs "
1823
+ "you do not want to be indexed one per line in the textarea bellow."
1824
+ msgstr ""
1825
+ "NoIndex koden fortæller Google og andre søgemaskiner at de ikke skal "
1826
+ "indexere disse sider. Venligst indlæt de URLs du ønsker skal indexeres. En "
1827
+ "pr linie i tekst området herunder."
1828
+
1829
+ #: wpf-admin/tools.php:8
1830
+ msgid "Forum Tools"
1831
+ msgstr "Forum redskaber"
1832
+
1833
+ #: wpf-admin/tools.php:14
1834
+ msgid "Antispam"
1835
+ msgstr "Antispam"
1836
+
1837
+ #: wpf-admin/tools.php:15
1838
+ msgid "Cleanup"
1839
+ msgstr "Cleanup"
1840
+
1841
+ #: wpf-admin/tools.php:16
1842
+ msgid "Misc"
1843
+ msgstr "Diverse"
1844
+
1845
+ #: wpf-admin/usergroup.php:18
1846
+ msgid "Usergroup id"
1847
+ msgstr "Brugergruppe ID"
1848
+
1849
+ #: wpf-admin/usergroup.php:19 wpf-admin/usergroup.php:44
1850
+ #: wpf-admin/usergroup.php:87
1851
+ msgid "Usergroup Name"
1852
+ msgstr "Brugergruppe navn"
1853
+
1854
+ #: wpf-admin/usergroup.php:20
1855
+ msgid "Users Count"
1856
+ msgstr "Bruger antal"
1857
+
1858
+ #: wpf-admin/usergroup.php:21
1859
+ msgid "New Users Default Group"
1860
+ msgstr "Nye brugeres default gruppe"
1861
+
1862
+ #: wpf-admin/usergroup.php:22
1863
+ msgid "Default Access"
1864
+ msgstr "Default adgang"
1865
+
1866
+ #: wpf-admin/usergroup.php:34
1867
+ msgid "Edit this usergroup"
1868
+ msgstr "Rediger denne Brugergruppe"
1869
+
1870
+ #: wpf-admin/usergroup.php:34 wpf-includes/wpf-phrases.php:73
1871
+ msgid "Edit"
1872
+ msgstr "Rediger"
1873
+
1874
+ #: wpf-admin/usergroup.php:36
1875
+ msgid "Delete this usergroup"
1876
+ msgstr "Slet denne Brugergruppe"
1877
+
1878
+ #: wpf-admin/usergroup.php:38
1879
+ msgid "View users list in this usergroup"
1880
+ msgstr "Se brugere i denne Brugergruppe"
1881
+
1882
+ #: wpf-admin/usergroup.php:50
1883
+ msgid "Count of users in this usergroup"
1884
+ msgstr "Tæl brugere i denne Brugergruppe"
1885
+
1886
+ #: wpf-admin/usergroup.php:54
1887
+ msgid "is Default"
1888
+ msgstr "er Default"
1889
+
1890
+ #: wpf-admin/usergroup.php:57
1891
+ msgid "DO NOT set this option on higher level user groups !!!"
1892
+ msgstr "SÆT ikke denne option på højere niveau grupper!!"
1893
+
1894
+ #: wpf-admin/usergroup.php:57
1895
+ msgid "Set as Default"
1896
+ msgstr "sæt som default"
1897
+
1898
+ #: wpf-admin/usergroup.php:65
1899
+ msgid "default (#15)"
1900
+ msgstr "default (#15)"
1901
+
1902
+ #: wpf-admin/usergroup.php:87 wpf-includes/wpf-phrases.php:133
1903
+ msgid "Guest"
1904
+ msgstr "Gæst"
1905
+
1906
+ #: wpf-admin/usergroup.php:102
1907
+ msgid "Usergroup Color"
1908
+ msgstr "Brugergruppe farve"
1909
+
1910
+ #: wpf-admin/usergroup.php:103
1911
+ msgid "use default link color"
1912
+ msgstr "Brug default link farve"
1913
+
1914
+ #: wpf-admin/usergroup.php:124
1915
+ msgid "WordPress User Role"
1916
+ msgstr "WordPress bruger Rolle"
1917
+
1918
+ #: wpf-admin/usergroup.php:133
1919
+ msgid "Default Forum Access"
1920
+ msgstr "Default Forum adgang"
1921
+
1922
+ #: wpf-admin/usergroup.php:141
1923
+ msgid ""
1924
+ "This is only used when a new Usergroup is created, it automatically gets the "
1925
+ "selected Forum Access in all forums."
1926
+ msgstr ""
1927
+ "Bruges kun når en ny Brugergruppe bliver skabt, den bliver automatisk "
1928
+ "tildelt den valgte Forum adgang i alle forums."
1929
+
1930
+ #: wpf-admin/usergroup.php:145
1931
+ msgid "Display on Members List"
1932
+ msgstr "Vis medlems listen"
1933
+
1934
+ #: wpf-admin/usergroup.php:164 wpf-includes/wpf-phrases.php:374
1935
+ msgid "add"
1936
+ msgstr "tilføj"
1937
+
1938
+ #: wpf-admin/usergroup.php:164
1939
+ msgid "save"
1940
+ msgstr "gem"
1941
+
1942
+ #: wpf-admin/usergroup.php:185
1943
+ msgid "Delete Chosen Usergroup And Users"
1944
+ msgstr "Slet valgt Brugergruppe og brugere"
1945
+
1946
+ #: wpf-admin/usergroup.php:195
1947
+ msgid "Delete Chosen Usergroup And Join Users To Other Usergroup"
1948
+ msgstr "Slet valgt Brugergruppe og overfør medlemmer til andre Brugergrupper"
1949
+
1950
+ #: wpf-admin/usergroup.php:207
1951
+ msgid "Users will be join this usergroup"
1952
+ msgstr "Brugere kommer til at blive en del af denne Brugergruppe"
1953
+
1954
+ #: wpf-includes/class-api.php:140
1955
+ msgid "Please login into Facebook and then click connect button again"
1956
+ msgstr "Log venligst ind i Facebook og klik på forbund knappen igen."
1957
+
1958
+ #: wpf-includes/class-api.php:167
1959
+ msgid ""
1960
+ "Your email is required to be able authorize you here. Please try loging "
1961
+ "again. "
1962
+ msgstr ""
1963
+ "Din email er nødvendig før vi kan autorisere dig her. prøv at logge ind igen"
1964
+
1965
+ #: wpf-includes/class-api.php:172
1966
+ msgid "Invalid User"
1967
+ msgstr "Ukendt bruger"
1968
+
1969
+ #: wpf-includes/class-api.php:182 wpf-includes/wpf-phrases.php:639
1970
+ msgid "User registration is disabled"
1971
+ msgstr "Ny bruger registrering er slukket"
1972
+
1973
+ #: wpf-includes/class-forums.php:666
1974
+ msgid "Add a new Subforum"
1975
+ msgstr "Tilføj nyt Underforum"
1976
+
1977
+ #: wpf-includes/class-forums.php:666
1978
+ msgid "Add a new Forum in this Category"
1979
+ msgstr "Tilføj nyt forum i denne kategori"
1980
+
1981
+ #: wpf-includes/class-members.php:240
1982
+ msgid "<strong>ERROR</strong>: Please enter a username."
1983
+ msgstr "<strong>FEJL</strong>: skriv et brugernavn"
1984
+
1985
+ #: wpf-includes/class-members.php:244
1986
+ msgid ""
1987
+ "<strong>ERROR</strong>: This username is invalid because it uses illegal "
1988
+ "characters. Please enter a valid username."
1989
+ msgstr ""
1990
+ "<strong>FEJL</strong>: Dette brugernavn er forkert fordi det bruger ulovlige "
1991
+ "tegn. Prøv med et ordentligt brugernavn."
1992
+
1993
+ #: wpf-includes/class-members.php:253
1994
+ msgid ""
1995
+ "<strong>ERROR</strong>: This username is already registered. Please choose "
1996
+ "another one."
1997
+ msgstr ""
1998
+ "<strong>FEJL</strong>: Dette brugernavn eksisterer allerede. Vælg et andet."
1999
+
2000
+ #: wpf-includes/class-members.php:257
2001
+ msgid "<strong>ERROR</strong>: Sorry, that username is not allowed."
2002
+ msgstr "<strong>FEJL</strong>: Desværre, dette brugernavn er ikke tilladt."
2003
+
2004
+ #: wpf-includes/class-members.php:261
2005
+ msgid "<strong>ERROR</strong>: Please type your email address."
2006
+ msgstr "<strong>FEJL</strong>: Skriv venligst din mail adresse"
2007
+
2008
+ #: wpf-includes/class-members.php:265
2009
+ msgid "<strong>ERROR</strong>: The email address isn&#8217;t correct."
2010
+ msgstr "<strong>FEJL</strong>: Denne mail er ikke&#8217;t rigtig."
2011
+
2012
+ #: wpf-includes/class-members.php:270
2013
+ msgid ""
2014
+ "<strong>ERROR</strong>: This email is already registered, please choose "
2015
+ "another one."
2016
+ msgstr ""
2017
+ "<strong>FEJL</strong>: Denne mail er allerede registreret, vælg en anden."
2018
+
2019
+ #: wpf-includes/class-members.php:1309
2020
+ msgid "What should be done with wpForo content owned by this user?"
2021
+ msgstr "Hvad skal der ske med wpForo indhold skabt af denne bruger?"
2022
+
2023
+ #: wpf-includes/class-members.php:1311
2024
+ msgid "What should be done with wpForo content owned by these users?"
2025
+ msgstr "Hvad skal der ske med wpForo indhold skabt af disse brugere?"
2026
+
2027
+ #: wpf-includes/class-members.php:1315
2028
+ msgid "Delete all wpForo content."
2029
+ msgstr "Slet alt wpForo indhold"
2030
+
2031
+ #: wpf-includes/class-members.php:1317
2032
+ msgid "Attribute all content to:"
2033
+ msgstr "Tilfør alt indhold til "
2034
+
2035
+ #: wpf-includes/class-moderation.php:159
2036
+ #, php-format
2037
+ msgid ""
2038
+ "Probably spam file attachments have been detected by wpForo Spam Control. "
2039
+ "Please moderate suspected files here %s"
2040
+ msgstr ""
2041
+ "Mulige spam file er blevet opdaget af wpForo Spam Control. Tjek filerne her "
2042
+ "%s"
2043
+
2044
+ #: wpf-includes/class-notices.php:118 wpf-includes/wpf-phrases.php:69
2045
+ msgid "Dismiss this notice."
2046
+ msgstr "Glem denne notits"
2047
+
2048
+ #: wpf-includes/class-notices.php:155
2049
+ msgid "New Addons for Your Forum!"
2050
+ msgstr "Nye Addons til dit Forum!"
2051
+
2052
+ #: wpf-includes/class-notices.php:155
2053
+ msgid "Extend your forum with wpForo addons"
2054
+ msgstr "Udvid dit forum med wpForo addons"
2055
+
2056
+ #: wpf-includes/class-notices.php:168
2057
+ msgid "View all Addons"
2058
+ msgstr "Se alle addons"
2059
+
2060
+ #: wpf-includes/class-permissions.php:125 wpf-includes/wpf-phrases.php:420
2061
+ #, php-format
2062
+ msgid "%s access successfully added"
2063
+ msgstr "%s adgang tilføjet med succes"
2064
+
2065
+ #: wpf-includes/class-permissions.php:149 wpf-includes/wpf-phrases.php:421
2066
+ #, php-format
2067
+ msgid "%s access successfully edited"
2068
+ msgstr "%s adgang redigeret med succes"
2069
+
2070
+ #: wpf-includes/class-phrases.php:181 wpf-includes/wpf-phrases.php:7
2071
+ msgid " Forum"
2072
+ msgstr " Forum"
2073
+
2074
+ #: wpf-includes/class-phrases.php:182 wpf-includes/wpf-phrases.php:6
2075
+ msgid " Discussion Board"
2076
+ msgstr " Diskussions område"
2077
+
2078
+ #: wpf-includes/class-posts.php:35
2079
+ msgid "You are not permitted to view this attachment"
2080
+ msgstr "Du har ikke tilladelse til at se dette attachment"
2081
+
2082
+ #: wpf-includes/class-template.php:80
2083
+ msgid "Insert link"
2084
+ msgstr "Indsæt link"
2085
+
2086
+ #: wpf-includes/class-template.php:81
2087
+ msgid "Link Text"
2088
+ msgstr "Link tekst"
2089
+
2090
+ #: wpf-includes/class-template.php:82
2091
+ msgid "Open link in a new tab"
2092
+ msgstr "Åben link i ny tab"
2093
+
2094
+ #: wpf-includes/class-template.php:1412 wpf-includes/wpf-phrases.php:327
2095
+ msgid "Theme file not readable"
2096
+ msgstr "Tema filen kan IKKE læses"
2097
+
2098
+ #: wpf-includes/functions-installation.php:671
2099
+ msgid "Start Profile Synchronization"
2100
+ msgstr "Start synkronisering af profiler"
2101
+
2102
+ #: wpf-includes/functions-installation.php:671
2103
+ msgid "Continue Synchronization"
2104
+ msgstr "Fortsæt synkronisering"
2105
+
2106
+ #: wpf-includes/functions-installation.php:674
2107
+ msgid ""
2108
+ "This process may take a few seconds or dozens of minutes, please be patient "
2109
+ "and don't close this page."
2110
+ msgstr ""
2111
+ "Dette kan tage et par sekunder eller et par minutter, vent mens det hele "
2112
+ "bliver klaret for dig"
2113
+
2114
+ #: wpf-includes/functions-installation.php:675
2115
+ msgid ""
2116
+ "You can permanently disable this message in Dashboard > Forums > Features "
2117
+ "admin page."
2118
+ msgstr "Du kan slette beskeder permanent i Dashboard > Forums > Features"
2119
+
2120
+ #: wpf-includes/functions-installation.php:677
2121
+ msgid "wpForo Forum Installation | "
2122
+ msgstr "wpForo Forum Installation | "
2123
+
2124
+ #: wpf-includes/functions-installation.php:678
2125
+ msgid ""
2126
+ "Forum users' profile data are not synchronized yet, this step is required! "
2127
+ "Please click the button below to complete installation."
2128
+ msgstr ""
2129
+ "Forum brugers’ profil data er ikke synkroniseret endnu, før det sker skal du "
2130
+ "klikke på denne knap herunder, for at gennemføre installationen. "
2131
+ "Synkroniseringen. Klik venligts på denne knap hvis du vil færdiggøre "
2132
+ "installationen."
2133
+
2134
+ #: wpf-includes/functions-installation.php:690
2135
+ msgid ""
2136
+ "This process may take a few seconds or dozens of minutes, please be patient "
2137
+ "and don't close this page. Database backup is not required. If you got 500 "
2138
+ "Server Error please don't worry, the data updating process is still working "
2139
+ "in MySQL server."
2140
+ msgstr ""
2141
+ "Dette kan tage et par sekunder eller et par minutter, vent mens det hele "
2142
+ "bliver klaret for dig. Database backup er ikke nødvendigt. Hvis du får en "
2143
+ "500 Server fejl, skal du ikke bekymre dig. Dataen bliver opdateret på den "
2144
+ "stadig fungerende MySQL server."
2145
+
2146
+ #: wpf-includes/functions-installation.php:691
2147
+ msgid "Updater Database"
2148
+ msgstr "Database Updater "
2149
+
2150
+ #: wpf-includes/functions-installation.php:692
2151
+ msgid "wpForo - Update Database "
2152
+ msgstr "wpForo - Database Update "
2153
+
2154
+ #: wpf-includes/functions-installation.php:693
2155
+ msgid "Please click the button below to complete wpForo update."
2156
+ msgstr ""
2157
+ "Klik Please venligst på knappen herunder for at gennemføre wpForo "
2158
+ "opdateringen."
2159
+
2160
+ #: wpf-includes/functions-template.php:7
2161
+ msgid "wpForo Menu"
2162
+ msgstr "wpForo Menu"
2163
+
2164
+ #: wpf-includes/functions-template.php:156 wpf-includes/wpf-phrases.php:410
2165
+ msgid "wpForo Sidebar"
2166
+ msgstr "wpForo Sidebar"
2167
+
2168
+ #: wpf-includes/functions-template.php:157 wpf-includes/wpf-phrases.php:191
2169
+ msgid ""
2170
+ "NOTE: If you're going to add widgets in this sidebar, please use 'Full "
2171
+ "Width' template for wpForo index page to avoid sidebar duplication."
2172
+ msgstr ""
2173
+ "NOTE: Hvis du vil tilføje widgets i denne sidebar, skal du huske at bruge "
2174
+ "“Full Width” templaten for wpForo index siden. så undgår du “sidebar "
2175
+ "duplication”."
2176
+
2177
+ #: wpf-includes/functions-template.php:195
2178
+ #: wpf-includes/functions-template.php:301
2179
+ #: wpf-includes/functions-template.php:363
2180
+ #: wpf-includes/functions-template.php:445
2181
+ #: wpf-includes/functions-template.php:528
2182
+ #: wpf-includes/functions-template.php:574 wpf-includes/wpf-phrases.php:334
2183
+ msgid "Title"
2184
+ msgstr "Titel"
2185
+
2186
+ #: wpf-includes/functions-template.php:366
2187
+ #: wpf-includes/functions-template.php:448
2188
+ #: wpf-includes/functions-template.php:531 wpf-includes/wpf-phrases.php:210
2189
+ msgid "Number of Items"
2190
+ msgstr "Antal enheder"
2191
+
2192
+ #: wpf-includes/functions-template.php:371 wpf-includes/wpf-phrases.php:70
2193
+ msgid "Display Avatars"
2194
+ msgstr "vis Avatars"
2195
+
2196
+ #: wpf-includes/functions-template.php:452
2197
+ #: wpf-includes/functions-template.php:535 wpf-includes/wpf-phrases.php:72
2198
+ msgid "Display with Avatars"
2199
+ msgstr "Vis med Avatars"
2200
+
2201
+ #: wpf-includes/functions.php:367
2202
+ msgid "Unapproved"
2203
+ msgstr "Ikke godkendt"
2204
+
2205
+ #: wpf-includes/functions.php:368
2206
+ msgid "Published"
2207
+ msgstr "Udgivet"
2208
+
2209
+ #: wpf-includes/functions.php:377 wpf-includes/wpf-phrases.php:598
2210
+ msgid "Active"
2211
+ msgstr "Aktive"
2212
+
2213
+ #: wpf-includes/functions.php:378
2214
+ msgid "Banned"
2215
+ msgstr "Forbudt"
2216
+
2217
+ #: wpf-includes/functions.php:391 wpf-includes/functions.php:693
2218
+ #: wpf-includes/wpf-phrases.php:50
2219
+ msgid "Bulk Actions"
2220
+ msgstr "flere samtidige aktioner"
2221
+
2222
+ #: wpf-includes/functions.php:396 wpf-includes/functions.php:797
2223
+ #: wpf-includes/wpf-phrases.php:36
2224
+ msgid "Apply"
2225
+ msgstr "godkend"
2226
+
2227
+ #: wpf-includes/functions.php:405 wpf-includes/wpf-phrases.php:300
2228
+ msgid "Show all forums"
2229
+ msgstr "Vis alle forums"
2230
+
2231
+ #: wpf-includes/functions.php:418 wpf-includes/wpf-phrases.php:350
2232
+ msgid "filter by group"
2233
+ msgstr "filter via gruppe"
2234
+
2235
+ #: wpf-includes/functions.php:430
2236
+ msgid "filter by status"
2237
+ msgstr "filter via status"
2238
+
2239
+ #: wpf-includes/functions.php:446
2240
+ msgid "filter by package"
2241
+ msgstr "filter via pakke"
2242
+
2243
+ #: wpf-includes/functions.php:475
2244
+ msgid "filter by user"
2245
+ msgstr "filter via bruger"
2246
+
2247
+ #: wpf-includes/functions.php:495 wpf-includes/functions.php:701
2248
+ #: wpf-includes/wpf-phrases.php:385
2249
+ msgid "item"
2250
+ msgstr "ting"
2251
+
2252
+ #: wpf-includes/functions.php:528 wpf-includes/functions.php:544
2253
+ #: wpf-includes/wpf-phrases.php:284
2254
+ msgid "Select All"
2255
+ msgstr "vælg alt"
2256
+
2257
+ #: wpf-includes/functions.php:533 wpf-includes/functions.php:549
2258
+ msgid "Type"
2259
+ msgstr "Type"
2260
+
2261
+ #: wpf-includes/functions.php:606 wpf-includes/wpf-phrases.php:383
2262
+ msgid "edit user"
2263
+ msgstr "Rediger bruger"
2264
+
2265
+ #: wpf-includes/functions.php:610 wpf-includes/wpf-phrases.php:382
2266
+ msgid "edit profile"
2267
+ msgstr "Rediger profil"
2268
+
2269
+ #: wpf-includes/functions.php:615
2270
+ msgid "unban user"
2271
+ msgstr "Tillad bruger"
2272
+
2273
+ #: wpf-includes/functions.php:615
2274
+ msgid "ban user"
2275
+ msgstr "forbyd bruger"
2276
+
2277
+ #: wpf-includes/functions.php:615
2278
+ msgid "Are you sure, you want to unban this user?"
2279
+ msgstr "Er du sikker på at du vil tillade denne bruger ?"
2280
+
2281
+ #: wpf-includes/functions.php:615
2282
+ msgid "Are you sure, you want to ban this user?"
2283
+ msgstr "Er du sikker på at du vil forbyde denne bruger ?"
2284
+
2285
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
2286
+ #: wpf-includes/wpf-phrases.php:67
2287
+ msgid "Delete this item"
2288
+ msgstr "Slet dette"
2289
+
2290
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
2291
+ #: wpf-includes/wpf-phrases.php:41
2292
+ msgid "Are you sure you want to DELETE this item?"
2293
+ msgstr "Er du sikker på at du vil SLETTE dette"
2294
+
2295
+ #: wpf-includes/functions.php:625
2296
+ msgid "unapprove this item"
2297
+ msgstr "Ikke-tillad dette"
2298
+
2299
+ #: wpf-includes/functions.php:625
2300
+ msgid "Approve this item"
2301
+ msgstr "Tillad dette"
2302
+
2303
+ #: wpf-includes/functions.php:625 wpf-includes/wpf-phrases.php:686
2304
+ msgid "unapprove"
2305
+ msgstr "Forbyd"
2306
+
2307
+ #: wpf-includes/functions.php:625 wpf-includes/wpf-phrases.php:685
2308
+ msgid "approve"
2309
+ msgstr "tillad"
2310
+
2311
+ #: wpf-includes/functions.php:647 wpf-includes/functions.php:648
2312
+ #: wpf-includes/wpf-phrases.php:404
2313
+ msgid "view"
2314
+ msgstr "se"
2315
+
2316
+ #: wpf-includes/functions.php:672
2317
+ msgid "Topic"
2318
+ msgstr "emne"
2319
+
2320
+ #: wpf-includes/functions.php:672
2321
+ msgid "Post"
2322
+ msgstr "Post"
2323
+
2324
+ #: wpf-includes/functions.php:685 wpf-includes/wpf-phrases.php:200
2325
+ msgid "No items found"
2326
+ msgstr "Ingen Emner fundet"
2327
+
2328
+ #: wpf-includes/functions.php:796 wpf-includes/wpf-phrases.php:141
2329
+ msgid "Items"
2330
+ msgstr "emner"
2331
+
2332
+ #: wpf-includes/functions.php:1147
2333
+ #, php-format
2334
+ msgid "Could not write file %s"
2335
+ msgstr "Kunne ikke skrive fil %s"
2336
+
2337
+ #: wpf-includes/wpf-hooks.php:20 wpf-includes/wpf-phrases.php:136
2338
+ msgid ""
2339
+ "IMPORTANT! Uninstall is not a simple deactivation action. This action will "
2340
+ "permanently remove all forum data (forums, topics, replies, attachments...) "
2341
+ "from database. Please backup database before this action, you may need this "
2342
+ "forum data in future. If you are sure that you want to delete all forum data "
2343
+ "please confirm. If not, just cancel it, then you can deactivate this plugin, "
2344
+ "that will not remove forum data."
2345
+ msgstr ""
2346
+ "VIGTIGT! At fjerne er ikke blot en simpel deaktivering. Fjerner du, betyder "
2347
+ "det at du permanent fjerner alt data fra dette forum (de forskellige forums, "
2348
+ "emner, svar, vedhæng…) fra databasen. Venligst backup din database før du "
2349
+ "sletter. Det kunne jo tænkes at du får brug for denne data ude i fremtiden. "
2350
+ "Er du stadig sikker på at du vil slette alle forums, bekræft. Ellers kan du "
2351
+ "bare cancel det, og deaktivere dette plugin. På den måde bliver data der."
2352
+
2353
+ #: wpf-includes/wpf-hooks.php:20
2354
+ msgid "Uninstall"
2355
+ msgstr "Sket"
2356
+
2357
+ #: wpf-includes/wpf-hooks.php:1111
2358
+ msgid "Move"
2359
+ msgstr "Flyt"
2360
+
2361
+ #: wpf-includes/wpf-hooks.php:1146
2362
+ msgid "Clear"
2363
+ msgstr "fjern"
2364
+
2365
+ #: wpf-includes/wpf-hooks.php:1146
2366
+ msgid "Default"
2367
+ msgstr "Default"
2368
+
2369
+ #: wpf-includes/wpf-hooks.php:1146
2370
+ msgid "Select Color"
2371
+ msgstr "Vælg farve"
2372
+
2373
+ #: wpf-includes/wpf-hooks.php:1169
2374
+ msgid ""
2375
+ "IMPORTANT: wpForo can't work with default permalink, please change permalink "
2376
+ "structure"
2377
+ msgstr ""
2378
+ "Vigtigt: wpForo kan ikke arbejde med default permalink, venligst skift "
2379
+ "permalink strukturen"
2380
+
2381
+ #: wpf-includes/wpf-hooks.php:1188 wpf-includes/wpf-phrases.php:412
2382
+ msgid "wpForo Usergroup"
2383
+ msgstr "wpForo Brugergruppe"
2384
+
2385
+ #: wpf-includes/wpf-hooks.php:1196 wpf-includes/wpf-phrases.php:411
2386
+ msgid "wpForo User Timezone"
2387
+ msgstr "wpForo Bruger tidszone"
2388
+
2389
+ #: wpf-includes/wpf-hooks.php:1467 wpf-includes/wpf-hooks.php:1556
2390
+ msgid "Please Moderate: "
2391
+ msgstr "Venligst moderer"
2392
+
2393
+ #: wpf-includes/wpf-hooks.php:1468
2394
+ msgid ""
2395
+ "This topic is currently unapproved. You can approve topics in Dashboard "
2396
+ "&raquo; Forums &raquo; Moderation admin page."
2397
+ msgstr ""
2398
+ "Dette emner er indtil videre ikke accepteret. Du kan tillade det i “approve "
2399
+ "topics” ( tillad) i Dashboard &raquo; Forums &raquo; Moderation admin side."
2400
+
2401
+ #: wpf-includes/wpf-hooks.php:1557
2402
+ msgid ""
2403
+ "This post is currently unapproved. You can approve posts in Dashboard "
2404
+ "&raquo; Forums &raquo; Moderation admin page."
2405
+ msgstr ""
2406
+ "Denne post er indtil videre ikke accepteret. Du kan tillade posten i "
2407
+ "“approve topics” ( tillad) i Dashboard &raquo; Forums &raquo; Moderation "
2408
+ "admin side."
2409
+
2410
+ #: wpf-includes/wpf-hooks.php:1737 wpf-includes/wpf-hooks.php:1783
2411
+ msgid "New Forum"
2412
+ msgstr "Nyt Forum"
2413
+
2414
+ #: wpf-includes/wpf-hooks.php:1745
2415
+ msgid "New User Group"
2416
+ msgstr "Ny brugergruppe"
2417
+
2418
+ #: wpf-includes/wpf-hooks.php:1753 wpf-includes/wpf-hooks.php:1851
2419
+ msgid "New Phrase"
2420
+ msgstr "Ny frase"
2421
+
2422
+ #: wpf-includes/wpf-hooks.php:1768
2423
+ msgid "Community"
2424
+ msgstr "Community"
2425
+
2426
+ #: wpf-includes/wpf-hooks.php:1835
2427
+ msgid "New Usergroup"
2428
+ msgstr "Ny Brugergruppe"
2429
+
2430
+ #: wpf-includes/wpf-phrases.php:8
2431
+ #, php-format
2432
+ msgid "%s and %s liked"
2433
+ msgstr "%s og %s liked"
2434
+
2435
+ #: wpf-includes/wpf-phrases.php:9
2436
+ #, php-format
2437
+ msgid "%s liked"
2438
+ msgstr "%s liked"
2439
+
2440
+ #: wpf-includes/wpf-phrases.php:10
2441
+ #, php-format
2442
+ msgid "%s, %s and %s liked"
2443
+ msgstr "%s, %s og %s liked"
2444
+
2445
+ #: wpf-includes/wpf-phrases.php:11
2446
+ #, php-format
2447
+ msgid "%s, %s, %s and %d people liked"
2448
+ msgstr "%s, %s, %s og %d folk likede"
2449
+
2450
+ #: wpf-includes/wpf-phrases.php:12
2451
+ msgid "AOL IM"
2452
+ msgstr "AOL IM"
2453
+
2454
+ #: wpf-includes/wpf-phrases.php:13
2455
+ msgid "About Me"
2456
+ msgstr "Om mig"
2457
+
2458
+ #: wpf-includes/wpf-phrases.php:16
2459
+ msgid "Account"
2460
+ msgstr "Konto"
2461
+
2462
+ #: wpf-includes/wpf-phrases.php:19
2463
+ msgid "Activity"
2464
+ msgstr "Aktivitet"
2465
+
2466
+ #: wpf-includes/wpf-phrases.php:23
2467
+ msgid "Add a comment"
2468
+ msgstr "Tilføj en kommentar"
2469
+
2470
+ #: wpf-includes/wpf-phrases.php:24
2471
+ msgid "Add topic"
2472
+ msgstr "Tilføj et emne"
2473
+
2474
+ #: wpf-includes/wpf-phrases.php:32
2475
+ msgid "Answer"
2476
+ msgstr "svar"
2477
+
2478
+ #: wpf-includes/wpf-phrases.php:33
2479
+ msgid "Answer to"
2480
+ msgstr "svar til"
2481
+
2482
+ #: wpf-includes/wpf-phrases.php:34
2483
+ msgid "Answers"
2484
+ msgstr "Svar"
2485
+
2486
+ #: wpf-includes/wpf-phrases.php:35
2487
+ msgid "Any Date"
2488
+ msgstr "En vilkårlig dato"
2489
+
2490
+ #: wpf-includes/wpf-phrases.php:42
2491
+ msgid "Ascending order"
2492
+ msgstr "Stigende"
2493
+
2494
+ #: wpf-includes/wpf-phrases.php:43
2495
+ msgid "Attach file:"
2496
+ msgstr "vedhæng fil"
2497
+
2498
+ #: wpf-includes/wpf-phrases.php:44
2499
+ msgid "Attachments"
2500
+ msgstr "vedhæng"
2501
+
2502
+ #: wpf-includes/wpf-phrases.php:45
2503
+ msgid "Attachments Size"
2504
+ msgstr "størrelse på vedhæng"
2505
+
2506
+ #: wpf-includes/wpf-phrases.php:47
2507
+ msgid "Avatar"
2508
+ msgstr "Avatar"
2509
+
2510
+ #: wpf-includes/wpf-phrases.php:53
2511
+ msgid "Change password"
2512
+ msgstr "Skift password"
2513
+
2514
+ #: wpf-includes/wpf-phrases.php:54
2515
+ msgid "Choose Target Forum"
2516
+ msgstr "Vælg Forum"
2517
+
2518
+ #: wpf-includes/wpf-phrases.php:55 wpf-themes/classic/functions.php:43
2519
+ #: wpf-themes/classic/functions.php:73 wpf-themes/classic/functions.php:111
2520
+ msgid "Collapsed"
2521
+ msgstr "Falde sammen"
2522
+
2523
+ #: wpf-includes/wpf-phrases.php:58
2524
+ msgid "Comments"
2525
+ msgstr "kommentarer"
2526
+
2527
+ #: wpf-includes/wpf-phrases.php:59
2528
+ msgid "Confirm my subscription"
2529
+ msgstr "Bekræft mit Abonnoment"
2530
+
2531
+ #: wpf-includes/wpf-phrases.php:65
2532
+ msgid "Date"
2533
+ msgstr "Dato"
2534
+
2535
+ #: wpf-includes/wpf-phrases.php:68
2536
+ msgid "Descending order"
2537
+ msgstr "Faldende"
2538
+
2539
+ #: wpf-includes/wpf-phrases.php:71
2540
+ msgid "Display Name"
2541
+ msgstr "Vis navn"
2542
+
2543
+ #: wpf-includes/wpf-phrases.php:74
2544
+ msgid "Edited: "
2545
+ msgstr "Redigeret"
2546
+
2547
+ #: wpf-includes/wpf-phrases.php:75
2548
+ msgid "Email"
2549
+ msgstr "Mail"
2550
+
2551
+ #: wpf-includes/wpf-phrases.php:88
2552
+ msgid "Enter title here"
2553
+ msgstr "Skriv titel her"
2554
+
2555
+ #: wpf-includes/wpf-phrases.php:89 wpf-themes/classic/functions.php:42
2556
+ #: wpf-themes/classic/functions.php:72 wpf-themes/classic/functions.php:110
2557
+ msgid "Expanded"
2558
+ msgstr "Udvidet"
2559
+
2560
+ #: wpf-includes/wpf-phrases.php:90
2561
+ msgid "Extended Layout - Intro posts"
2562
+ msgstr "Udvidet Layout - Intro posteringer"
2563
+
2564
+ #: wpf-includes/wpf-phrases.php:91
2565
+ msgid "Extended Layout - Intro topics"
2566
+ msgstr "Udvidet Layout - Intro emner"
2567
+
2568
+ #: wpf-includes/wpf-phrases.php:92
2569
+ msgid "Extended Layout - Number of intro posts"
2570
+ msgstr "Udvidet Layout - Antal af Intro posteringer"
2571
+
2572
+ #: wpf-includes/wpf-phrases.php:93
2573
+ msgid "Extended Layout - Number of intro topics"
2574
+ msgstr "Udvidet Layout - Antal Intro emner"
2575
+
2576
+ #: wpf-includes/wpf-phrases.php:94
2577
+ msgid "Facebook"
2578
+ msgstr "Facebook"
2579
+
2580
+ #: wpf-includes/wpf-phrases.php:95
2581
+ msgid "Failed to write file to disk"
2582
+ msgstr "Kunne ikke skrive til disk"
2583
+
2584
+ #: wpf-includes/wpf-phrases.php:97
2585
+ msgid "File upload stopped by extension"
2586
+ msgstr "Fil Opload blev stoppet da vi læste endelsen"
2587
+
2588
+ #: wpf-includes/wpf-phrases.php:98
2589
+ msgid "Find Posts by User"
2590
+ msgstr "Find Posts via bruger"
2591
+
2592
+ #: wpf-includes/wpf-phrases.php:99
2593
+ msgid "Find Topics Started by User"
2594
+ msgstr "Find Emner startet via bruger"
2595
+
2596
+ #: wpf-includes/wpf-phrases.php:100
2597
+ msgid "First post and replies"
2598
+ msgstr "Find posteringer og svar"
2599
+
2600
+ #: wpf-includes/wpf-phrases.php:101 wpforo.php:176
2601
+ msgid "Forum"
2602
+ msgstr "Forum"
2603
+
2604
+ #: wpf-includes/wpf-phrases.php:102
2605
+ msgid "Forum - Login"
2606
+ msgstr "Forum - Login"
2607
+
2608
+ #: wpf-includes/wpf-phrases.php:103
2609
+ msgid "Forum - Page Not Found"
2610
+ msgstr "Forum - Side ikke fundet"
2611
+
2612
+ #: wpf-includes/wpf-phrases.php:104
2613
+ msgid "Forum - Registration"
2614
+ msgstr "Forum - Registrering"
2615
+
2616
+ #: wpf-includes/wpf-phrases.php:106
2617
+ msgid "Forum Admin Email Addresses"
2618
+ msgstr "Forum Admin mail adresse"
2619
+
2620
+ #: wpf-includes/wpf-phrases.php:109
2621
+ msgid "Forum Home"
2622
+ msgstr "Forum Forside"
2623
+
2624
+ #: wpf-includes/wpf-phrases.php:111
2625
+ msgid "Forum Members"
2626
+ msgstr "Forum Medlemmer"
2627
+
2628
+ #: wpf-includes/wpf-phrases.php:114
2629
+ msgid "Forum Profile"
2630
+ msgstr "Forum Profil"
2631
+
2632
+ #: wpf-includes/wpf-phrases.php:115
2633
+ msgid "Forum RSS Feed"
2634
+ msgstr "Forum RSS"
2635
+
2636
+ #: wpf-includes/wpf-phrases.php:119
2637
+ msgid "Forum Statistics"
2638
+ msgstr "Forum Statestik"
2639
+
2640
+ #: wpf-includes/wpf-phrases.php:122
2641
+ msgid "Forum is empty"
2642
+ msgstr "Forum er tomt"
2643
+
2644
+ #: wpf-includes/wpf-phrases.php:125
2645
+ msgid "From Email Address"
2646
+ msgstr "Fra mail adresse"
2647
+
2648
+ #: wpf-includes/wpf-phrases.php:126
2649
+ msgid "From Name"
2650
+ msgstr "Fra navn"
2651
+
2652
+ #: wpf-includes/wpf-phrases.php:131
2653
+ msgid "Group"
2654
+ msgstr "Gruppe"
2655
+
2656
+ #: wpf-includes/wpf-phrases.php:132
2657
+ msgid "Google+"
2658
+ msgstr "Google+"
2659
+
2660
+ #: wpf-includes/wpf-phrases.php:135
2661
+ msgid "ICQ"
2662
+ msgstr "ICQ"
2663
+
2664
+ #: wpf-includes/wpf-phrases.php:139
2665
+ msgid "Insert member name or email"
2666
+ msgstr "Indsæt medlems navn eller mail"
2667
+
2668
+ #: wpf-includes/wpf-phrases.php:142
2669
+ msgid "Joined"
2670
+ msgstr "Meldt ind"
2671
+
2672
+ #: wpf-includes/wpf-phrases.php:145
2673
+ msgid "Last 24 hours"
2674
+ msgstr "Sidste 24 timer"
2675
+
2676
+ #: wpf-includes/wpf-phrases.php:146
2677
+ msgid "Last 3 Months"
2678
+ msgstr "Sidste 3 måneder"
2679
+
2680
+ #: wpf-includes/wpf-phrases.php:147
2681
+ msgid "Last 6 Months"
2682
+ msgstr "Sidste 6 måneder"
2683
+
2684
+ #: wpf-includes/wpf-phrases.php:148
2685
+ msgid "Last Active"
2686
+ msgstr "Sidst aktiv"
2687
+
2688
+ #: wpf-includes/wpf-phrases.php:149
2689
+ msgid "Last Month"
2690
+ msgstr "Sidste måned"
2691
+
2692
+ #: wpf-includes/wpf-phrases.php:150
2693
+ msgid "Last Post"
2694
+ msgstr "Sidst post"
2695
+
2696
+ #: wpf-includes/wpf-phrases.php:151
2697
+ msgid "Last Post Info"
2698
+ msgstr "Sidst post info"
2699
+
2700
+ #: wpf-includes/wpf-phrases.php:152
2701
+ msgid "Last Week"
2702
+ msgstr "Sidste uge"
2703
+
2704
+ #: wpf-includes/wpf-phrases.php:153
2705
+ msgid "Last Year ago"
2706
+ msgstr "Sidste år (siden)"
2707
+
2708
+ #: wpf-includes/wpf-phrases.php:154
2709
+ #, php-format
2710
+ msgid "Last post by %s"
2711
+ msgstr "Sidste post af %s"
2712
+
2713
+ #: wpf-includes/wpf-phrases.php:155
2714
+ msgid "Latest Post"
2715
+ msgstr "Sidste post"
2716
+
2717
+ #: wpf-includes/wpf-phrases.php:156
2718
+ msgid "Leave a reply"
2719
+ msgstr "Skriv et svar"
2720
+
2721
+ #: wpf-includes/wpf-phrases.php:157
2722
+ msgid "Length must be between 3 characters and 30 characters."
2723
+ msgstr "Længden skal være mellem 3 og 30 tegn"
2724
+
2725
+ #: wpf-includes/wpf-phrases.php:159
2726
+ msgid "Liked"
2727
+ msgstr "Liked"
2728
+
2729
+ #: wpf-includes/wpf-phrases.php:160
2730
+ msgid "Location"
2731
+ msgstr "Location"
2732
+
2733
+ #: wpf-includes/wpf-phrases.php:161
2734
+ msgid "Login"
2735
+ msgstr "Login"
2736
+
2737
+ #: wpf-includes/wpf-phrases.php:163
2738
+ msgid "Logout"
2739
+ msgstr "Logout"
2740
+
2741
+ #: wpf-includes/wpf-phrases.php:165
2742
+ msgid "Lost your password?"
2743
+ msgstr "Har du mistet dit password"
2744
+
2745
+ #: wpf-includes/wpf-phrases.php:167
2746
+ msgid "MSN"
2747
+ msgstr "MSN"
2748
+
2749
+ #: wpf-includes/wpf-phrases.php:168
2750
+ msgid "Maximum allowed file size is"
2751
+ msgstr "Største tilladte fil størrelse er"
2752
+
2753
+ #: wpf-includes/wpf-phrases.php:170
2754
+ msgid "Member Activity"
2755
+ msgstr "Medlems aktiviteter"
2756
+
2757
+ #: wpf-includes/wpf-phrases.php:171
2758
+ msgid "Member Information"
2759
+ msgstr "Medlems information"
2760
+
2761
+ #: wpf-includes/wpf-phrases.php:172
2762
+ msgid "Member Rating"
2763
+ msgstr "Medlems rating"
2764
+
2765
+ #: wpf-includes/wpf-phrases.php:173
2766
+ msgid "Member Rating Badge"
2767
+ msgstr "Medlems dating skilt"
2768
+
2769
+ #: wpf-includes/wpf-phrases.php:174
2770
+ msgid "Member Reputation"
2771
+ msgstr "Medlems rygte"
2772
+
2773
+ #: wpf-includes/wpf-phrases.php:177
2774
+ msgid "Member information"
2775
+ msgstr "Medlems information"
2776
+
2777
+ #: wpf-includes/wpf-phrases.php:181
2778
+ msgid "Members not found"
2779
+ msgstr "Medlem er væk"
2780
+
2781
+ #: wpf-includes/wpf-phrases.php:182
2782
+ msgid ""
2783
+ "You have been banned. Please contact to forum administrators for more "
2784
+ "information."
2785
+ msgstr "Du er blevet forbudt kontakt eventuelt administrator for en forklaring"
2786
+
2787
+ #: wpf-includes/wpf-phrases.php:183
2788
+ msgid "Messages"
2789
+ msgstr "Beskeder"
2790
+
2791
+ #: wpf-includes/wpf-phrases.php:186
2792
+ msgid "Missing a temporary folder"
2793
+ msgstr "Der mangler en temp folder"
2794
+
2795
+ #: wpf-includes/wpf-phrases.php:188
2796
+ msgid "Move Topic"
2797
+ msgstr "Flyt emne"
2798
+
2799
+ #: wpf-includes/wpf-phrases.php:189
2800
+ msgid "Must be minimum 6 characters."
2801
+ msgstr "Skal mindst være 6 tegn"
2802
+
2803
+ #: wpf-includes/wpf-phrases.php:190
2804
+ msgid "My Profile"
2805
+ msgstr "Min profil"
2806
+
2807
+ #: wpf-includes/wpf-phrases.php:197
2808
+ msgid "No activity found for this member."
2809
+ msgstr "Der blev ikke fundet nogen aktivitet fra dette medlem"
2810
+
2811
+ #: wpf-includes/wpf-phrases.php:198
2812
+ msgid "No file was uploaded"
2813
+ msgstr "Ingen filer blev uploaded"
2814
+
2815
+ #: wpf-includes/wpf-phrases.php:199
2816
+ msgid "No forums were found here."
2817
+ msgstr "Der blev ikke fundet nogle forum her"
2818
+
2819
+ #: wpf-includes/wpf-phrases.php:203
2820
+ msgid "No online members at the moment"
2821
+ msgstr "Der er ingen medlemmer online i dette øjeblik"
2822
+
2823
+ #: wpf-includes/wpf-phrases.php:205
2824
+ msgid "No subscriptions found for this member."
2825
+ msgstr "Der blev ikke fundet nogle Abonnoment hos dette medlem"
2826
+
2827
+ #: wpf-includes/wpf-phrases.php:207
2828
+ msgid "No topics were found here"
2829
+ msgstr "Der blev ikke fundet nogle emner her"
2830
+
2831
+ #: wpf-includes/wpf-phrases.php:214
2832
+ msgid "Occupation"
2833
+ msgstr "job"
2834
+
2835
+ #: wpf-includes/wpf-phrases.php:215
2836
+ msgid "Offline"
2837
+ msgstr "Offline"
2838
+
2839
+ #: wpf-includes/wpf-phrases.php:216
2840
+ msgid "Online"
2841
+ msgstr "Online"
2842
+
2843
+ #: wpf-includes/wpf-phrases.php:218
2844
+ msgid "Oops! The page you requested was not found!"
2845
+ msgstr "Oops! den side du leder efter blev ikke fundet!"
2846
+
2847
+ #: wpf-includes/wpf-phrases.php:219
2848
+ msgid "Our newest member"
2849
+ msgstr "Vores nyeste medlem"
2850
+
2851
+ #: wpf-includes/wpf-phrases.php:220
2852
+ msgid "Page"
2853
+ msgstr "Side"
2854
+
2855
+ #: wpf-includes/wpf-phrases.php:222
2856
+ msgid "Password"
2857
+ msgstr "Password"
2858
+
2859
+ #: wpf-includes/wpf-phrases.php:224
2860
+ #, php-format
2861
+ msgid "Please %s or %s"
2862
+ msgstr "Venligst %s eller %s"
2863
+
2864
+ #: wpf-includes/wpf-phrases.php:228
2865
+ msgid "Post Title"
2866
+ msgstr "Indlæg titel"
2867
+
2868
+ #: wpf-includes/wpf-phrases.php:229
2869
+ msgid "Post link"
2870
+ msgstr "Indlæg link"
2871
+
2872
+ #: wpf-includes/wpf-phrases.php:230
2873
+ msgid "Posted"
2874
+ msgstr "Udgivet"
2875
+
2876
+ #: wpf-includes/wpf-phrases.php:231
2877
+ msgid "Posted by"
2878
+ msgstr "Udgivet af"
2879
+
2880
+ #: wpf-includes/wpf-phrases.php:233
2881
+ msgid "Powered by"
2882
+ msgstr "Powered by"
2883
+
2884
+ #: wpf-includes/wpf-phrases.php:235
2885
+ msgid "Q&A Layout - Number of intro topics"
2886
+ msgstr "Q&A Layout - antal intro emner"
2887
+
2888
+ #: wpf-includes/wpf-phrases.php:236
2889
+ msgid "Q&A layout - Intro topics"
2890
+ msgstr "Q&A Layout - intro emner"
2891
+
2892
+ #: wpf-includes/wpf-phrases.php:237
2893
+ msgid "Question Comments"
2894
+ msgstr "Spørgsmål kommentarer"
2895
+
2896
+ #: wpf-includes/wpf-phrases.php:238
2897
+ msgid "Questions"
2898
+ msgstr "Spørgsmål"
2899
+
2900
+ #: wpf-includes/wpf-phrases.php:239
2901
+ msgid "Quote"
2902
+ msgstr "En pris"
2903
+
2904
+ #: wpf-includes/wpf-phrases.php:240
2905
+ msgid "RE"
2906
+ msgstr "RE"
2907
+
2908
+ #: wpf-includes/wpf-phrases.php:241
2909
+ msgid "REPLY:"
2910
+ msgstr "REPLY:"
2911
+
2912
+ #: wpf-includes/wpf-phrases.php:242
2913
+ msgid "RSS"
2914
+ msgstr "RSS"
2915
+
2916
+ #: wpf-includes/wpf-phrases.php:243
2917
+ msgid "Rating"
2918
+ msgstr "Rating"
2919
+
2920
+ #: wpf-includes/wpf-phrases.php:244
2921
+ msgid "Rating Badge"
2922
+ msgstr "Rating skilt"
2923
+
2924
+ #: wpf-includes/wpf-phrases.php:248
2925
+ msgid "Received Likes"
2926
+ msgstr "Modtagede likes"
2927
+
2928
+ #: wpf-includes/wpf-phrases.php:249
2929
+ msgid "Recent Questions"
2930
+ msgstr "Nye spørgsmål"
2931
+
2932
+ #: wpf-includes/wpf-phrases.php:250
2933
+ msgid "Recent Topics"
2934
+ msgstr "Nye emner"
2935
+
2936
+ #: wpf-includes/wpf-phrases.php:251
2937
+ msgid "Register"
2938
+ msgstr "Registrer"
2939
+
2940
+ #: wpf-includes/wpf-phrases.php:253
2941
+ msgid "Registered date"
2942
+ msgstr "Registreret dato"
2943
+
2944
+ #: wpf-includes/wpf-phrases.php:254
2945
+ msgid "Relevancy"
2946
+ msgstr "Relevans"
2947
+
2948
+ #: wpf-includes/wpf-phrases.php:255
2949
+ msgid "Remember Me"
2950
+ msgstr "Husk mig"
2951
+
2952
+ #: wpf-includes/wpf-phrases.php:261
2953
+ msgid "Replies"
2954
+ msgstr "Svar"
2955
+
2956
+ #: wpf-includes/wpf-phrases.php:262
2957
+ msgid "Replies not found"
2958
+ msgstr "Svar ikke fundet"
2959
+
2960
+ #: wpf-includes/wpf-phrases.php:263
2961
+ msgid "Reply"
2962
+ msgstr "Svar"
2963
+
2964
+ #: wpf-includes/wpf-phrases.php:264
2965
+ msgid "Report"
2966
+ msgstr "Rapport"
2967
+
2968
+ #: wpf-includes/wpf-phrases.php:267
2969
+ msgid "Report to Administration"
2970
+ msgstr "Rapport til administration"
2971
+
2972
+ #: wpf-includes/wpf-phrases.php:269
2973
+ msgid "Result Info"
2974
+ msgstr "Resultat"
2975
+
2976
+ #: wpf-includes/wpf-phrases.php:271
2977
+ msgid "Save Changes"
2978
+ msgstr "Save Changes"
2979
+
2980
+ #: wpf-includes/wpf-phrases.php:276
2981
+ msgid "Search Entire Posts"
2982
+ msgstr "Søg i alle indlæg"
2983
+
2984
+ #: wpf-includes/wpf-phrases.php:277
2985
+ msgid "Search Phrase"
2986
+ msgstr "Søge ord eller frase"
2987
+
2988
+ #: wpf-includes/wpf-phrases.php:278
2989
+ msgid "Search Titles Only"
2990
+ msgstr "Søg kun på titler"
2991
+
2992
+ #: wpf-includes/wpf-phrases.php:279
2993
+ msgid "Search Type"
2994
+ msgstr "Søge type"
2995
+
2996
+ #: wpf-includes/wpf-phrases.php:280
2997
+ msgid "Search in Forums"
2998
+ msgstr "Søge i forums"
2999
+
3000
+ #: wpf-includes/wpf-phrases.php:281
3001
+ msgid "Search in date period"
3002
+ msgstr "Søge i periode"
3003
+
3004
+ #: wpf-includes/wpf-phrases.php:282
3005
+ msgid "Search result for"
3006
+ msgstr "Søge resultater for"
3007
+
3008
+ #: wpf-includes/wpf-phrases.php:283
3009
+ msgid "Search..."
3010
+ msgstr "Søg…"
3011
+
3012
+ #: wpf-includes/wpf-phrases.php:285
3013
+ msgid "Select Page"
3014
+ msgstr "Vælg side"
3015
+
3016
+ #: wpf-includes/wpf-phrases.php:286
3017
+ msgid "Send Report"
3018
+ msgstr "Send rapport"
3019
+
3020
+ #: wpf-includes/wpf-phrases.php:290
3021
+ msgid "Set Topic Sticky"
3022
+ msgstr "Gør emnet Sticky"
3023
+
3024
+ #: wpf-includes/wpf-phrases.php:291
3025
+ msgid ""
3026
+ "Set this option value 0 if you want to show all posts under topic intro area."
3027
+ msgstr ""
3028
+ "Indtil denne værdi til 0 hvis du vil vise alle indlæg under emner i intro "
3029
+ "området."
3030
+
3031
+ #: wpf-includes/wpf-phrases.php:292
3032
+ msgid "Shop Account"
3033
+ msgstr "Købe en account"
3034
+
3035
+ #: wpf-includes/wpf-phrases.php:302
3036
+ msgid "Sign In"
3037
+ msgstr "Sign In"
3038
+
3039
+ #: wpf-includes/wpf-phrases.php:303
3040
+ msgid "Signature"
3041
+ msgstr "Signatur"
3042
+
3043
+ #: wpf-includes/wpf-phrases.php:304
3044
+ msgid "Site Profile"
3045
+ msgstr "Site profil"
3046
+
3047
+ #: wpf-includes/wpf-phrases.php:305
3048
+ msgid "Skype"
3049
+ msgstr "Skype"
3050
+
3051
+ #: wpf-includes/wpf-phrases.php:307
3052
+ msgid "Social Networks"
3053
+ msgstr "Social Networks"
3054
+
3055
+ #: wpf-includes/wpf-phrases.php:308
3056
+ msgid "Sorry, something wrong with your data."
3057
+ msgstr "Desværre, noget er forkert med din data."
3058
+
3059
+ #: wpf-includes/wpf-phrases.php:309
3060
+ msgid "Sort Search Results by"
3061
+ msgstr "Sorter søgeresultatet via"
3062
+
3063
+ #: wpf-includes/wpf-phrases.php:310
3064
+ msgid "Specify avatar by URL"
3065
+ msgstr "Specifiser avatar via URL"
3066
+
3067
+ #: wpf-includes/wpf-phrases.php:312
3068
+ msgid "Subforums"
3069
+ msgstr "Underforums"
3070
+
3071
+ #: wpf-includes/wpf-phrases.php:315
3072
+ msgid "Subscribe for new replies"
3073
+ msgstr "Abonér på nye svar"
3074
+
3075
+ #: wpf-includes/wpf-phrases.php:316
3076
+ msgid "Subscribe for new topics"
3077
+ msgstr "Abonér på nye emner"
3078
+
3079
+ #: wpf-includes/wpf-phrases.php:318
3080
+ msgid "Subscriptions"
3081
+ msgstr "Abonnementer"
3082
+
3083
+ #: wpf-includes/wpf-phrases.php:320
3084
+ msgid ""
3085
+ "Thank you for using wpForo! wpForo is a professional bulletin board for "
3086
+ "WorPress, and the only forum software which comes with Multi-layout template "
3087
+ "system. The \"Extended"
3088
+ msgstr ""
3089
+ "Tak fordi du bruger wpForo! wpForo er et professionelt bulletin board til "
3090
+ "WordPress, og det eneste forum software der kommer med et Multi-layout "
3091
+ "system. Det “udvidede"
3092
+
3093
+ #: wpf-includes/wpf-phrases.php:321
3094
+ msgid ""
3095
+ "Thank you for using wpForo. wpForo is a premium forum plugin which will "
3096
+ "always be available for free. There will never be paid and pro versions of "
3097
+ "this forum board. However this is a very large and hard project so we also "
3098
+ "develop paid addons (extensions), which will financially help us to keep "
3099
+ "improving and adding new features to the free wpForo plugin. Forum addons "
3100
+ "will also be actively developed. The first addons \"Advanced Media Uploader"
3101
+ msgstr ""
3102
+ "Tak fordi du bruger wpForo! wpForo er et premium forum plugin der altid vil "
3103
+ "forblive gratis. Der kommer aldrig betalings eller pro versioner af dette "
3104
+ "forum. Projektet er dog omfattende så vi tilbyder betalings addons "
3105
+ "(udvidelser) der hjælper os med at holde fokus på at udvikle wpForo og "
3106
+ "plugin til dette. Det første addon er “Advanced Media Uploader"
3107
+
3108
+ #: wpf-includes/wpf-phrases.php:324
3109
+ msgid ""
3110
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
3111
+ "the HTML form"
3112
+ msgstr ""
3113
+ "Den uploadede fil overstiger MAX_FILE_SIZE der var defineret i denne HTML "
3114
+ "form"
3115
+
3116
+ #: wpf-includes/wpf-phrases.php:325
3117
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
3118
+ msgstr "Den uploadede fil overstiger upload_max_filesize directivet i php.ini"
3119
+
3120
+ #: wpf-includes/wpf-phrases.php:326
3121
+ msgid "The uploaded file was only partially uploaded"
3122
+ msgstr "Den uploadede fil blev kun delvist uploaded"
3123
+
3124
+ #: wpf-includes/wpf-phrases.php:333
3125
+ msgid "Timezone"
3126
+ msgstr "Tids zone"
3127
+
3128
+ #: wpf-includes/wpf-phrases.php:335
3129
+ msgid "Topic RSS Feed"
3130
+ msgstr "Emne baseret RSS"
3131
+
3132
+ #: wpf-includes/wpf-phrases.php:336
3133
+ msgid "Topic Title"
3134
+ msgstr "Emne titel"
3135
+
3136
+ #: wpf-includes/wpf-phrases.php:337
3137
+ msgid "Topic title"
3138
+ msgstr "Emne titel"
3139
+
3140
+ #: wpf-includes/wpf-phrases.php:340
3141
+ msgid "Twitter"
3142
+ msgstr "Twitter"
3143
+
3144
+ #: wpf-includes/wpf-phrases.php:341
3145
+ msgid "Unknown upload error"
3146
+ msgstr "Ukendt upload fejl"
3147
+
3148
+ #: wpf-includes/wpf-phrases.php:342
3149
+ msgid "Unsubscribe"
3150
+ msgstr "Drop abbonoment"
3151
+
3152
+ #: wpf-includes/wpf-phrases.php:345
3153
+ msgid "Upload an avatar"
3154
+ msgstr "Upload en avatar"
3155
+
3156
+ #: wpf-includes/wpf-phrases.php:347
3157
+ msgid ""
3158
+ "Use comments to ask for more information or suggest improvements. Avoid "
3159
+ "answering questions in comments."
3160
+ msgstr ""
3161
+ "Brug kommentarer til at spørge om mere information eller til at foreslå "
3162
+ "forbedringer. Undgå at besvare spørgsmål i kommentarfelterne"
3163
+
3164
+ #: wpf-includes/wpf-phrases.php:349
3165
+ msgid "User"
3166
+ msgstr "Bruger"
3167
+
3168
+ #: wpf-includes/wpf-phrases.php:351
3169
+ msgid "User Group"
3170
+ msgstr "Bruger gruppe"
3171
+
3172
+ #: wpf-includes/wpf-phrases.php:352
3173
+ msgid "Usergroup has been successfully deleted."
3174
+ msgstr "Brugergruppe er blevet slettet"
3175
+
3176
+ #: wpf-includes/wpf-phrases.php:353
3177
+ msgid ""
3178
+ "Usergroup has been successfully deleted. All users of this usergroup have "
3179
+ "been moved to the usergroup you've chosen"
3180
+ msgstr ""
3181
+ "Brugergruppe er blevet slettet. Alle brugere i denne brugergruppe er blevet "
3182
+ "flyttet over i den brugergruppe du valgte"
3183
+
3184
+ #: wpf-includes/wpf-phrases.php:354
3185
+ msgid "Username"
3186
+ msgstr "Bruger navn"
3187
+
3188
+ #: wpf-includes/wpf-phrases.php:356
3189
+ msgid "View entire post"
3190
+ msgstr "Se hele posten"
3191
+
3192
+ #: wpf-includes/wpf-phrases.php:357
3193
+ msgid "View the latest post"
3194
+ msgstr "Se den seneste post"
3195
+
3196
+ #: wpf-includes/wpf-phrases.php:358
3197
+ msgid "Views"
3198
+ msgstr "antal kig"
3199
+
3200
+ #: wpf-includes/wpf-phrases.php:359
3201
+ msgid "Votes"
3202
+ msgstr "stemmer"
3203
+
3204
+ #: wpf-includes/wpf-phrases.php:360
3205
+ msgid "Website"
3206
+ msgstr "Site"
3207
+
3208
+ #: wpf-includes/wpf-phrases.php:362
3209
+ msgid "Wordpress avatar system"
3210
+ msgstr "Wordpress avatar system"
3211
+
3212
+ #: wpf-includes/wpf-phrases.php:363
3213
+ msgid "Working"
3214
+ msgstr "Arbejder"
3215
+
3216
+ #: wpf-includes/wpf-phrases.php:364
3217
+ msgid "Write message"
3218
+ msgstr "Skriv besked"
3219
+
3220
+ #: wpf-includes/wpf-phrases.php:365
3221
+ msgid "Yahoo"
3222
+ msgstr "Yahoo"
3223
+
3224
+ #: wpf-includes/wpf-phrases.php:367
3225
+ msgid "You"
3226
+ msgstr "Dig"
3227
+
3228
+ #: wpf-includes/wpf-phrases.php:369
3229
+ #, php-format
3230
+ msgid "You can go to %s page or Search here"
3231
+ msgstr "Du kan gå til %s siden eller Søge her"
3232
+
3233
+ #: wpf-includes/wpf-phrases.php:371
3234
+ msgid "Your Answer"
3235
+ msgstr "Dit svar"
3236
+
3237
+ #: wpf-includes/wpf-phrases.php:372
3238
+ msgid "account"
3239
+ msgstr "Konto"
3240
+
3241
+ #: wpf-includes/wpf-phrases.php:373
3242
+ msgid "activity"
3243
+ msgstr "aktivitet"
3244
+
3245
+ #: wpf-includes/wpf-phrases.php:375
3246
+ msgid "add_new"
3247
+ msgstr "add_new"
3248
+
3249
+ #: wpf-includes/wpf-phrases.php:376
3250
+ #, php-format
3251
+ msgid "%s ago"
3252
+ msgstr "%s siden"
3253
+
3254
+ #: wpf-includes/wpf-phrases.php:377
3255
+ msgid "by"
3256
+ msgstr "af"
3257
+
3258
+ #: wpf-includes/wpf-phrases.php:378
3259
+ #, php-format
3260
+ msgid "by %s"
3261
+ msgstr "af %s"
3262
+
3263
+ #: wpf-includes/wpf-phrases.php:379
3264
+ msgid "confirm password"
3265
+ msgstr "bekræft password"
3266
+
3267
+ #: wpf-includes/wpf-phrases.php:384
3268
+ msgid "forums"
3269
+ msgstr "forums"
3270
+
3271
+ #: wpf-includes/wpf-phrases.php:386
3272
+ msgid "login"
3273
+ msgstr "login"
3274
+
3275
+ #: wpf-includes/wpf-phrases.php:387
3276
+ msgid "logout"
3277
+ msgstr "logout"
3278
+
3279
+ #: wpf-includes/wpf-phrases.php:388
3280
+ msgid "matches"
3281
+ msgstr "er identisk"
3282
+
3283
+ #: wpf-includes/wpf-phrases.php:389
3284
+ msgid "members"
3285
+ msgstr "medlemmer"
3286
+
3287
+ #: wpf-includes/wpf-phrases.php:391
3288
+ msgid "my profile"
3289
+ msgstr "min profil"
3290
+
3291
+ #: wpf-includes/wpf-phrases.php:392
3292
+ msgid "new password"
3293
+ msgstr "nyt password"
3294
+
3295
+ #: wpf-includes/wpf-phrases.php:393
3296
+ msgid "new password again"
3297
+ msgstr "nyt password igen"
3298
+
3299
+ #: wpf-includes/wpf-phrases.php:394
3300
+ msgid "next"
3301
+ msgstr "næste"
3302
+
3303
+ #: wpf-includes/wpf-phrases.php:395
3304
+ msgid "old password"
3305
+ msgstr "gammelt password"
3306
+
3307
+ #: wpf-includes/wpf-phrases.php:396
3308
+ msgid "phrase_key"
3309
+ msgstr "phrase_key"
3310
+
3311
+ #: wpf-includes/wpf-phrases.php:397
3312
+ msgid "phrase_value"
3313
+ msgstr "phrase_value"
3314
+
3315
+ #: wpf-includes/wpf-phrases.php:398
3316
+ msgid "posted"
3317
+ msgstr "posteret"
3318
+
3319
+ #: wpf-includes/wpf-phrases.php:399
3320
+ msgid "prev"
3321
+ msgstr "prev"
3322
+
3323
+ #: wpf-includes/wpf-phrases.php:400
3324
+ msgid "register"
3325
+ msgstr "registrer"
3326
+
3327
+ #: wpf-includes/wpf-phrases.php:401
3328
+ msgid "replies"
3329
+ msgstr "svar"
3330
+
3331
+ #: wpf-includes/wpf-phrases.php:402
3332
+ msgid "subscriptions"
3333
+ msgstr "Abbonomenter"
3334
+
3335
+ #: wpf-includes/wpf-phrases.php:403
3336
+ msgid "update"
3337
+ msgstr "opdater"
3338
+
3339
+ #: wpf-includes/wpf-phrases.php:405
3340
+ msgid "view all posts"
3341
+ msgstr "Se alle indlæg"
3342
+
3343
+ #: wpf-includes/wpf-phrases.php:406
3344
+ msgid "view all questions"
3345
+ msgstr "Se alle spørgsmål"
3346
+
3347
+ #: wpf-includes/wpf-phrases.php:407
3348
+ msgid "view all topics"
3349
+ msgstr "Se alle emner"
3350
+
3351
+ #: wpf-includes/wpf-phrases.php:409
3352
+ msgid "wpForo Navigation"
3353
+ msgstr "wpForo Navigation"
3354
+
3355
+ #: wpf-includes/wpf-phrases.php:414
3356
+ msgid "{number}B"
3357
+ msgstr "{number}B"
3358
+
3359
+ #: wpf-includes/wpf-phrases.php:415
3360
+ msgid "{number}K"
3361
+ msgstr "{number}K"
3362
+
3363
+ #: wpf-includes/wpf-phrases.php:416
3364
+ msgid "{number}M"
3365
+ msgstr "{number}M"
3366
+
3367
+ #: wpf-includes/wpf-phrases.php:417
3368
+ msgid "{number}T"
3369
+ msgstr "{number}T"
3370
+
3371
+ #: wpf-includes/wpf-phrases.php:422
3372
+ msgid "Access add error"
3373
+ msgstr "Access add error"
3374
+
3375
+ #: wpf-includes/wpf-phrases.php:423
3376
+ msgid "Access delete error"
3377
+ msgstr "Access delete error"
3378
+
3379
+ #: wpf-includes/wpf-phrases.php:424
3380
+ msgid "Access edit error"
3381
+ msgstr "Access edit error"
3382
+
3383
+ #: wpf-includes/wpf-phrases.php:425
3384
+ msgid "Access successfully deleted"
3385
+ msgstr "Access successfully deleted"
3386
+
3387
+ #: wpf-includes/wpf-phrases.php:426
3388
+ msgid "Add Topic error: No forum selected"
3389
+ msgstr "Tilføj Emne fejl: ingen forum valgt"
3390
+
3391
+ #: wpf-includes/wpf-phrases.php:427
3392
+ msgid "All Checked topics successfully deleted"
3393
+ msgstr "Alle valgte emner er slettet med succes"
3394
+
3395
+ #: wpf-includes/wpf-phrases.php:428
3396
+ msgid "Can't add forum"
3397
+ msgstr "Kan ikke tilføje forum"
3398
+
3399
+ #: wpf-includes/wpf-phrases.php:429
3400
+ msgid "Can't add new language"
3401
+ msgstr "Kan ikke tilføje nyt sprog"
3402
+
3403
+ #: wpf-includes/wpf-phrases.php:430
3404
+ msgid "Can't delete this Usergroup"
3405
+ msgstr "Kan ikke slette denne brugergruppe"
3406
+
3407
+ #: wpf-includes/wpf-phrases.php:431
3408
+ msgid "Can't send confirmation email"
3409
+ msgstr "Kan ikke sende bekræftelse mail"
3410
+
3411
+ #: wpf-includes/wpf-phrases.php:432
3412
+ msgid "Can't send report email"
3413
+ msgstr "Kan ikke sende rapport mail"
3414
+
3415
+ #: wpf-includes/wpf-phrases.php:433
3416
+ msgid "Can't subscribe to this item"
3417
+ msgstr "Kan ikke abbonnere på dette emne"
3418
+
3419
+ #: wpf-includes/wpf-phrases.php:434
3420
+ msgid "Can't write a post: This topic is closed"
3421
+ msgstr "Kan ikke skrive et indlæg: Dette emne er låst"
3422
+
3423
+ #: wpf-includes/wpf-phrases.php:435
3424
+ msgid "Can`t upload file"
3425
+ msgstr "Kan ikke uploade fil"
3426
+
3427
+ #: wpf-includes/wpf-phrases.php:436
3428
+ msgid "Cannot update forum hierarchy"
3429
+ msgstr "Kan ikke opdatere forum hieraki"
3430
+
3431
+ #: wpf-includes/wpf-phrases.php:437
3432
+ msgid "Cannot update post data"
3433
+ msgstr "Kan ikke opdatere indlægs data"
3434
+
3435
+ #: wpf-includes/wpf-phrases.php:438
3436
+ msgid "Could not be unsubscribe from this item"
3437
+ msgstr "Kan ikke Uabbonnere fra dette emne"
3438
+
3439
+ #: wpf-includes/wpf-phrases.php:439
3440
+ msgid "Email address exists. Please insert another."
3441
+ msgstr "Mail adresse eksisterer. Brug en anden"
3442
+
3443
+ #: wpf-includes/wpf-phrases.php:440
3444
+ msgid "Error: Forum is not found"
3445
+ msgstr "Fejl: Forum ikke fundet"
3446
+
3447
+ #: wpf-includes/wpf-phrases.php:441
3448
+ msgid "Error: No topic selected"
3449
+ msgstr "Fejl: Ingen emner fundet"
3450
+
3451
+ #: wpf-includes/wpf-phrases.php:442
3452
+ msgid "Error: Topic is not found"
3453
+ msgstr "Fejl: Emnet er ikke fundet"
3454
+
3455
+ #: wpf-includes/wpf-phrases.php:443
3456
+ msgid "Error: please insert some text to report."
3457
+ msgstr "Fejl: skriv det du vil rapportere"
3458
+
3459
+ #: wpf-includes/wpf-phrases.php:444
3460
+ msgid "Features successfully updated"
3461
+ msgstr "Funktionerne er blevet opdateret"
3462
+
3463
+ #: wpf-includes/wpf-phrases.php:445
3464
+ msgid "Features successfully updated, but previous value not changed"
3465
+ msgstr ""
3466
+ "Funktionerne er blevet opdateret, uden at ændre på de tidligere indstillinger"
3467
+
3468
+ #: wpf-includes/wpf-phrases.php:446
3469
+ msgid "File type is not allowed"
3470
+ msgstr "Denne filtype er ikke tilladt"
3471
+
3472
+ #: wpf-includes/wpf-phrases.php:447
3473
+ msgid "Forum Base URL successfully updated"
3474
+ msgstr "Forum URL er blevet opdateret"
3475
+
3476
+ #: wpf-includes/wpf-phrases.php:448
3477
+ msgid "Forum deleting error"
3478
+ msgstr "Forum slette fejl"
3479
+
3480
+ #: wpf-includes/wpf-phrases.php:449
3481
+ msgid "Forum hierarchy successfully updated"
3482
+ msgstr "Forum hiearaki er blevet opdateret"
3483
+
3484
+ #: wpf-includes/wpf-phrases.php:450
3485
+ msgid "Forum is successfully merged"
3486
+ msgstr "Forum er blevet flettet"
3487
+
3488
+ #: wpf-includes/wpf-phrases.php:451
3489
+ msgid "Forum merging error"
3490
+ msgstr "Forum flette fejl"
3491
+
3492
+ #: wpf-includes/wpf-phrases.php:452
3493
+ msgid "Forum options successfully updated"
3494
+ msgstr "Forum udvidelser er blevet opdateret"
3495
+
3496
+ #: wpf-includes/wpf-phrases.php:453
3497
+ msgid "Forum options successfully updated, but previous value not changed"
3498
+ msgstr ""
3499
+ "Forum udvidelser er blevet opdateret, uden at ændre tidligere indstillinger"
3500
+
3501
+ #: wpf-includes/wpf-phrases.php:454
3502
+ msgid "Forum successfully updated"
3503
+ msgstr "Forum er blevet opdateret"
3504
+
3505
+ #: wpf-includes/wpf-phrases.php:455
3506
+ msgid "Forum update error"
3507
+ msgstr "Forum opdaterings fejl"
3508
+
3509
+ #: wpf-includes/wpf-phrases.php:456
3510
+ msgid "General options successfully updated"
3511
+ msgstr "De generelle udvidelser er blevet opdateret"
3512
+
3513
+ #: wpf-includes/wpf-phrases.php:457
3514
+ msgid "Illegal character in username."
3515
+ msgstr "Forkerte ting i brugernavn"
3516
+
3517
+ #: wpf-includes/wpf-phrases.php:458
3518
+ msgid "Insert your Email address."
3519
+ msgstr "Skriv din mail adresse"
3520
+
3521
+ #: wpf-includes/wpf-phrases.php:459
3522
+ msgid "Invalid Email address"
3523
+ msgstr "Forkert mail adresse"
3524
+
3525
+ #: wpf-includes/wpf-phrases.php:460
3526
+ msgid "Invalid request!"
3527
+ msgstr "Forkert forespørgsel"
3528
+
3529
+ #: wpf-includes/wpf-phrases.php:461
3530
+ msgid "Member options successfully updated"
3531
+ msgstr "Medlems udvidelser er blevet opdateret"
3532
+
3533
+ #: wpf-includes/wpf-phrases.php:462
3534
+ msgid "Member options successfully updated, but previous value not changed"
3535
+ msgstr ""
3536
+ "Medlems udvidelser er blevet opdateret, uden at ændre tidligere indstillinger"
3537
+
3538
+ #: wpf-includes/wpf-phrases.php:463
3539
+ msgid "Message has been sent"
3540
+ msgstr "Besked afsendt"
3541
+
3542
+ #: wpf-includes/wpf-phrases.php:464
3543
+ msgid ""
3544
+ "New language successfully added and changed wpforo language to new language"
3545
+ msgstr "Nyt sprog er blevet tilføjet og wpforo har nu skiftet sprog"
3546
+
3547
+ #: wpf-includes/wpf-phrases.php:465
3548
+ msgid "No Posts found for update"
3549
+ msgstr "Ingen indlæg der kan opdateres er fundet "
3550
+
3551
+ #: wpf-includes/wpf-phrases.php:466
3552
+ msgid "Password length must be between 6 characters and 20 characters."
3553
+ msgstr "Password længden skal være mellem 6 og 20 tegne"
3554
+
3555
+ #: wpf-includes/wpf-phrases.php:467
3556
+ msgid "Password mismatch."
3557
+ msgstr "Password vrøvl."
3558
+
3559
+ #: wpf-includes/wpf-phrases.php:468
3560
+ msgid "Permission denied"
3561
+ msgstr "ingen tilladelse"
3562
+
3563
+ #: wpf-includes/wpf-phrases.php:469
3564
+ msgid "Permission denied for add forum"
3565
+ msgstr "ingen tilladelse til at tilføje forum"
3566
+
3567
+ #: wpf-includes/wpf-phrases.php:470
3568
+ msgid "Permission denied for delete forum"
3569
+ msgstr "ingen tilladelse til at slette dette forum"
3570
+
3571
+ #: wpf-includes/wpf-phrases.php:471
3572
+ msgid "Permission denied for edit forum"
3573
+ msgstr "ingen tilladelse til at redigere dette forum"
3574
+
3575
+ #: wpf-includes/wpf-phrases.php:472
3576
+ msgid "Permission denied for this action"
3577
+ msgstr "ingen tilladelse til denne gerning"
3578
+
3579
+ #: wpf-includes/wpf-phrases.php:473
3580
+ msgid "Phrase add error"
3581
+ msgstr "Frase tilføjelse fejl"
3582
+
3583
+ #: wpf-includes/wpf-phrases.php:474
3584
+ msgid "Phrase adding error"
3585
+ msgstr "Frase fejl under tilføjelse"
3586
+
3587
+ #: wpf-includes/wpf-phrases.php:475
3588
+ msgid "Phrase successfully added"
3589
+ msgstr "Frase tilføjet"
3590
+
3591
+ #: wpf-includes/wpf-phrases.php:476
3592
+ msgid "Phrase successfully updates"
3593
+ msgstr "Frase opdateret"
3594
+
3595
+ #: wpf-includes/wpf-phrases.php:477
3596
+ msgid "Phrase update error"
3597
+ msgstr "Frase opdaterings fejl"
3598
+
3599
+ #: wpf-includes/wpf-phrases.php:478
3600
+ msgid "Please insert required fields!"
3601
+ msgstr "Venligst skriv i de påkrævede felter"
3602
+
3603
+ #: wpf-includes/wpf-phrases.php:479
3604
+ msgid "Post delete error"
3605
+ msgstr "Indlæg slette fejl"
3606
+
3607
+ #: wpf-includes/wpf-phrases.php:481
3608
+ msgid "Post options successfully updated"
3609
+ msgstr "Indlæg udvidelser opdateret"
3610
+
3611
+ #: wpf-includes/wpf-phrases.php:482
3612
+ msgid "Post options successfully updated, but previous value not changed"
3613
+ msgstr "Indlæg udvidelser opdateret, uden at ændre tidligere indstillinger"
3614
+
3615
+ #: wpf-includes/wpf-phrases.php:483
3616
+ msgid "Registration Error"
3617
+ msgstr "Registrerings fejl"
3618
+
3619
+ #: wpf-includes/wpf-phrases.php:484
3620
+ msgid "Reply request error"
3621
+ msgstr "Svar ønske fejl"
3622
+
3623
+ #: wpf-includes/wpf-phrases.php:485
3624
+ msgid "Something wrong with profile data."
3625
+ msgstr "Der er noget forkert med profil data"
3626
+
3627
+ #: wpf-includes/wpf-phrases.php:486
3628
+ msgid "Subscribe options successfully updated"
3629
+ msgstr "Abonoment udvidelser opdateret"
3630
+
3631
+ #: wpf-includes/wpf-phrases.php:487
3632
+ msgid "Subscribe options successfully updated, but previous value not changed"
3633
+ msgstr "Abonoment udvidelser opdateret, uden at ændre tidligere indstillinger"
3634
+
3635
+ #: wpf-includes/wpf-phrases.php:488
3636
+ msgid "Success! Thank you Dear Friend"
3637
+ msgstr "Det virker! tak"
3638
+
3639
+ #: wpf-includes/wpf-phrases.php:489
3640
+ msgid ""
3641
+ "Success! Thank you. Please check your email and click confirmation link "
3642
+ "below to complete this step."
3643
+ msgstr "Det virker! tak. Tjek din mail for en bekræftelse mail"
3644
+
3645
+ #: wpf-includes/wpf-phrases.php:490
3646
+ msgid "Successfully updated"
3647
+ msgstr "Opdateret"
3648
+
3649
+ #: wpf-includes/wpf-phrases.php:491
3650
+ msgid "Successfully voted"
3651
+ msgstr "Stemt"
3652
+
3653
+ #: wpf-includes/wpf-phrases.php:492
3654
+ msgid "The uploaded file size is too big"
3655
+ msgstr "Upload er for stor"
3656
+
3657
+ #: wpf-includes/wpf-phrases.php:493
3658
+ msgid "Theme options successfully updated"
3659
+ msgstr "Tema udvidelser er blevet opdateret"
3660
+
3661
+ #: wpf-includes/wpf-phrases.php:494
3662
+ msgid "This email address is already registered. Please insert another."
3663
+ msgstr "Denne mail er allerede registreret. Brug en anden"
3664
+
3665
+ #: wpf-includes/wpf-phrases.php:495
3666
+ msgid "This post successfully deleted"
3667
+ msgstr "Indlægget blev slettet"
3668
+
3669
+ #: wpf-includes/wpf-phrases.php:496
3670
+ msgid "This post successfully edited"
3671
+ msgstr "Indlægget blev redigeret"
3672
+
3673
+ #: wpf-includes/wpf-phrases.php:497
3674
+ msgid "This topic successfully deleted"
3675
+ msgstr "Emnet blev slettet"
3676
+
3677
+ #: wpf-includes/wpf-phrases.php:498
3678
+ msgid "Topic Move Error"
3679
+ msgstr "Emne flytte fejl"
3680
+
3681
+ #: wpf-includes/wpf-phrases.php:499
3682
+ msgid "Topic add error"
3683
+ msgstr "Emne tilføjelser fejl"
3684
+
3685
+ #: wpf-includes/wpf-phrases.php:500
3686
+ msgid "Topic delete error"
3687
+ msgstr "Emne slette fejl"
3688
+
3689
+ #: wpf-includes/wpf-phrases.php:501
3690
+ msgid "Topic edit error"
3691
+ msgstr "Emne redigerings fejl"
3692
+
3693
+ #: wpf-includes/wpf-phrases.php:502
3694
+ msgid "Topic not found."
3695
+ msgstr "Emnet er væk"
3696
+
3697
+ #: wpf-includes/wpf-phrases.php:503
3698
+ msgid "Topic successfully moved"
3699
+ msgstr "Emne er blevet flyttet"
3700
+
3701
+ #: wpf-includes/wpf-phrases.php:504
3702
+ msgid "Topic successfully updated"
3703
+ msgstr "Emne er blevet opdateret"
3704
+
3705
+ #: wpf-includes/wpf-phrases.php:505
3706
+ msgid "Topics delete error"
3707
+ msgstr "Emne slette fejl"
3708
+
3709
+ #: wpf-includes/wpf-phrases.php:506
3710
+ msgid "User delete error"
3711
+ msgstr "Bruger slette fejl"
3712
+
3713
+ #: wpf-includes/wpf-phrases.php:507
3714
+ msgid "User group add error"
3715
+ msgstr "Brugergruppe tilføjelses fejl"
3716
+
3717
+ #: wpf-includes/wpf-phrases.php:508
3718
+ msgid "User group edit error"
3719
+ msgstr "Brugergruppe rette fejl"
3720
+
3721
+ #: wpf-includes/wpf-phrases.php:509
3722
+ msgid "User group successfully added"
3723
+ msgstr "Brugergruppe blev tilføjet"
3724
+
3725
+ #: wpf-includes/wpf-phrases.php:510
3726
+ msgid "User group successfully edited"
3727
+ msgstr "Brugergruppe blev redigeret"
3728
+
3729
+ #: wpf-includes/wpf-phrases.php:511
3730
+ msgid "User successfully deleted from wpforo"
3731
+ msgstr "Brugergruppe blev slettet fra wpforo"
3732
+
3733
+ #: wpf-includes/wpf-phrases.php:512
3734
+ msgid "Username exists. Please insert another."
3735
+ msgstr "Brugernavn er taget. Vælg et andet"
3736
+
3737
+ #: wpf-includes/wpf-phrases.php:513
3738
+ msgid "Username is missed."
3739
+ msgstr "Brugernavn mangler"
3740
+
3741
+ #: wpf-includes/wpf-phrases.php:514
3742
+ msgid "Username length must be between 3 characters and 30 characters."
3743
+ msgstr "Brugernavn skal være på mellem 3 og 30 tegn"
3744
+
3745
+ #: wpf-includes/wpf-phrases.php:515
3746
+ msgid "Welcome to our Community!"
3747
+ msgstr "Velkommen til vores forum"
3748
+
3749
+ #: wpf-includes/wpf-phrases.php:516
3750
+ msgid "Wrong post data"
3751
+ msgstr "Forkert indlæg data"
3752
+
3753
+ #: wpf-includes/wpf-phrases.php:517
3754
+ msgid "You are already voted this post"
3755
+ msgstr "Du har allerede stemt i dette indlæg"
3756
+
3757
+ #: wpf-includes/wpf-phrases.php:518
3758
+ msgid "You have been successfully subscribed"
3759
+ msgstr "Du er nu abonnement"
3760
+
3761
+ #: wpf-includes/wpf-phrases.php:519
3762
+ msgid "You have been successfully unsubscribed"
3763
+ msgstr "Du er ikke længere abonnement"
3764
+
3765
+ #: wpf-includes/wpf-phrases.php:520
3766
+ msgid "You have no permission to edit this topic"
3767
+ msgstr "Du har ikke lov til at redigere dette emne"
3768
+
3769
+ #: wpf-includes/wpf-phrases.php:521
3770
+ msgid "You don't have permission to create post in this forum"
3771
+ msgstr "Du har ikke lov til at skrive et indlæg i dette forum"
3772
+
3773
+ #: wpf-includes/wpf-phrases.php:522
3774
+ msgid "You don't have permission to create topic into this forum"
3775
+ msgstr "Du har ikke lov til at skrive et emne i dette forum"
3776
+
3777
+ #: wpf-includes/wpf-phrases.php:523
3778
+ msgid "You don't have permission to delete post from this forum"
3779
+ msgstr "Du har ikke lov til at slette et indlæg i dette forum"
3780
+
3781
+ #: wpf-includes/wpf-phrases.php:524
3782
+ msgid "You don't have permission to delete topic from this forum"
3783
+ msgstr "Du har ikke lov til at slette et emne i dette forum"
3784
+
3785
+ #: wpf-includes/wpf-phrases.php:525
3786
+ msgid "You don't have permission to edit post from this forum"
3787
+ msgstr "Du har ikke lov til at slette et indlæg i dette forum"
3788
+
3789
+ #: wpf-includes/wpf-phrases.php:526
3790
+ msgid "You successfully replied"
3791
+ msgstr "Du har svaret"
3792
+
3793
+ #: wpf-includes/wpf-phrases.php:527
3794
+ msgid "Your forum successfully added"
3795
+ msgstr "Dit forum er blevet tilført"
3796
+
3797
+ #: wpf-includes/wpf-phrases.php:528
3798
+ msgid "Your forum successfully deleted"
3799
+ msgstr "Dit forum er blevet slettet"
3800
+
3801
+ #: wpf-includes/wpf-phrases.php:529
3802
+ msgid "Your profile data have been successfully updated."
3803
+ msgstr "Din profildata er blevet opdateret"
3804
+
3805
+ #: wpf-includes/wpf-phrases.php:530
3806
+ msgid "Your subscription for this item could not be confirmed"
3807
+ msgstr "Dit abonnement til dette emne kunne ikke bekræftes"
3808
+
3809
+ #: wpf-includes/wpf-phrases.php:531
3810
+ msgid "Your topic successfully added"
3811
+ msgstr "Dit emne er blevet tilføjet"
3812
+
3813
+ #: wpf-includes/wpf-phrases.php:533
3814
+ msgid "Dashboard - Can create forum"
3815
+ msgstr "Dashboard - Kan lave et forum"
3816
+
3817
+ #: wpf-includes/wpf-phrases.php:534
3818
+ msgid "Dashboard - Can edit forum"
3819
+ msgstr "Dashboard - Kan redigere et forum"
3820
+
3821
+ #: wpf-includes/wpf-phrases.php:535
3822
+ msgid "Dashboard - Can delete forum"
3823
+ msgstr "Dashboard - Kan slette et forum"
3824
+
3825
+ #: wpf-includes/wpf-phrases.php:536
3826
+ msgid "Dashboard - Members Menu"
3827
+ msgstr "Dashboard - Medlems menu"
3828
+
3829
+ #: wpf-includes/wpf-phrases.php:537
3830
+ msgid "Dashboard - Can edit member"
3831
+ msgstr "Dashboard - Kan redigere Medlemmer"
3832
+
3833
+ #: wpf-includes/wpf-phrases.php:538
3834
+ msgid "Dashboard - Can delete member"
3835
+ msgstr "Dashboard - Kan slette Medlemmer"
3836
+
3837
+ #: wpf-includes/wpf-phrases.php:539
3838
+ msgid "Dashboard - Usergroup Menu"
3839
+ msgstr "Dashboard - Brugergruppe menu"
3840
+
3841
+ #: wpf-includes/wpf-phrases.php:540
3842
+ msgid "Front - Can view members"
3843
+ msgstr "Front - kan se medlemmer"
3844
+
3845
+ #: wpf-includes/wpf-phrases.php:541
3846
+ msgid "Front - Can view profiles"
3847
+ msgstr "Front - kan se profiler"
3848
+
3849
+ #: wpf-includes/wpf-phrases.php:542
3850
+ msgid "Front - Can upload avatar"
3851
+ msgstr "Front - kan uploade avatarer"
3852
+
3853
+ #: wpf-includes/wpf-phrases.php:543
3854
+ msgid "Front - Can have signature"
3855
+ msgstr "Front - kan have en signatur"
3856
+
3857
+ #: wpf-includes/wpf-phrases.php:544
3858
+ msgid "Front - Can view avatars"
3859
+ msgstr "Front - kan se avatarer"
3860
+
3861
+ #: wpf-includes/wpf-phrases.php:545
3862
+ msgid "Front - Can view member username"
3863
+ msgstr "Front - kan se medlemmernes brugernavne"
3864
+
3865
+ #: wpf-includes/wpf-phrases.php:546
3866
+ msgid "Front - Can view member email"
3867
+ msgstr "Front - kan se medlemmers mail"
3868
+
3869
+ #: wpf-includes/wpf-phrases.php:547
3870
+ msgid "Front - Can view member title"
3871
+ msgstr "Front - kan se medlemmernes titel"
3872
+
3873
+ #: wpf-includes/wpf-phrases.php:548
3874
+ msgid "Front - Can view member custom title"
3875
+ msgstr "Front - kan se medlemmernes specielle titel"
3876
+
3877
+ #: wpf-includes/wpf-phrases.php:549
3878
+ msgid "Front - Can view member reputation"
3879
+ msgstr "Front - kan se medlemmernes rygte"
3880
+
3881
+ #: wpf-includes/wpf-phrases.php:550
3882
+ msgid "Front - Can view member website"
3883
+ msgstr "Front - kan se medlemmernes site"
3884
+
3885
+ #: wpf-includes/wpf-phrases.php:551
3886
+ msgid "Front - Can view member social networks"
3887
+ msgstr "Front - kan se medlemmernes Sociale"
3888
+
3889
+ #: wpf-includes/wpf-phrases.php:552
3890
+ msgid "Front - Can view member reg. date"
3891
+ msgstr "Front - kan se medlemmernes registrerings dato"
3892
+
3893
+ #: wpf-includes/wpf-phrases.php:553
3894
+ msgid "Front - Can view member last active date"
3895
+ msgstr "Front - kan se hvornår medlemmernes sidste var aktive"
3896
+
3897
+ #: wpf-includes/wpf-phrases.php:554
3898
+ msgid "Front - Can view member IP address"
3899
+ msgstr "Front - kan se medlemmernes IP adresser"
3900
+
3901
+ #: wpf-includes/wpf-phrases.php:555
3902
+ msgid "Front - Can view member location"
3903
+ msgstr "Front - kan se medlemmernes location"
3904
+
3905
+ #: wpf-includes/wpf-phrases.php:556
3906
+ msgid "Front - Can view member occupation"
3907
+ msgstr "Front - kan se medlemmernes job"
3908
+
3909
+ #: wpf-includes/wpf-phrases.php:557
3910
+ msgid "Front - Can view member signature"
3911
+ msgstr "Front - kan se medlemmernes signatur"
3912
+
3913
+ #: wpf-includes/wpf-phrases.php:558
3914
+ msgid "Front - Can view member about me"
3915
+ msgstr "Front - kan se medlemmernes “om mig”"
3916
+
3917
+ #: wpf-includes/wpf-phrases.php:559
3918
+ msgid "Front - Can view member phone number"
3919
+ msgstr "Front - kan se medlemmernes telefonnummer"
3920
+
3921
+ #: wpf-includes/wpf-phrases.php:560
3922
+ msgid "Front - Can write PM"
3923
+ msgstr "Front - kan skrive PM"
3924
+
3925
+ #: wpf-includes/wpf-phrases.php:561
3926
+ msgid "Can view forum"
3927
+ msgstr "Kan se forum"
3928
+
3929
+ #: wpf-includes/wpf-phrases.php:562
3930
+ msgid "Can create topic"
3931
+ msgstr "Kan skabe et nyt emne"
3932
+
3933
+ #: wpf-includes/wpf-phrases.php:563
3934
+ msgid "Can view topic"
3935
+ msgstr "Kan se emner"
3936
+
3937
+ #: wpf-includes/wpf-phrases.php:564
3938
+ msgid "Can edit topic"
3939
+ msgstr "Kan redigere emner"
3940
+
3941
+ #: wpf-includes/wpf-phrases.php:565
3942
+ msgid "Can delete topic"
3943
+ msgstr "Kan slette emner"
3944
+
3945
+ #: wpf-includes/wpf-phrases.php:566
3946
+ msgid "Can post reply"
3947
+ msgstr "Kan svare"
3948
+
3949
+ #: wpf-includes/wpf-phrases.php:567
3950
+ msgid "Can view replies"
3951
+ msgstr "Kan se svar"
3952
+
3953
+ #: wpf-includes/wpf-phrases.php:568
3954
+ msgid "Can edit replies"
3955
+ msgstr "Kan redigere svar"
3956
+
3957
+ #: wpf-includes/wpf-phrases.php:569
3958
+ msgid "Can delete replies"
3959
+ msgstr "Kan slette svare"
3960
+
3961
+ #: wpf-includes/wpf-phrases.php:570
3962
+ msgid "Can edit own topic"
3963
+ msgstr "Kan redigere egne emner"
3964
+
3965
+ #: wpf-includes/wpf-phrases.php:571
3966
+ msgid "Can edit own replay"
3967
+ msgstr "Kan redigere egne svar"
3968
+
3969
+ #: wpf-includes/wpf-phrases.php:572
3970
+ msgid "Can delete own topic"
3971
+ msgstr "Kan slette egne emner"
3972
+
3973
+ #: wpf-includes/wpf-phrases.php:573
3974
+ msgid "Can delete own reply"
3975
+ msgstr ""
3976
+
3977
+ #: wpf-includes/wpf-phrases.php:574
3978
+ msgid "Can like"
3979
+ msgstr "Kan “like”"
3980
+
3981
+ #: wpf-includes/wpf-phrases.php:575
3982
+ msgid "Can report"
3983
+ msgstr "Kan rapportere"
3984
+
3985
+ #: wpf-includes/wpf-phrases.php:576
3986
+ msgid "Can set topic sticky"
3987
+ msgstr "Kan lave et emne “sticky”"
3988
+
3989
+ #: wpf-includes/wpf-phrases.php:577
3990
+ msgid "Can set topic private"
3991
+ msgstr "Kan gøre et emne privat"
3992
+
3993
+ #: wpf-includes/wpf-phrases.php:578
3994
+ msgid "Can vote"
3995
+ msgstr "Kan stemme"
3996
+
3997
+ #: wpf-includes/wpf-phrases.php:579
3998
+ msgid "Can attach file"
3999
+ msgstr "Kan tilføje vedhæng"
4000
+
4001
+ #: wpf-includes/wpf-phrases.php:580
4002
+ msgid "Can set topic answered"
4003
+ msgstr "Kan bestemme at et emne er besvaret"
4004
+
4005
+ #: wpf-includes/wpf-phrases.php:581
4006
+ msgid "Can set own topic answered"
4007
+ msgstr "Kan bestemme at eget emne er besvaret"
4008
+
4009
+ #: wpf-includes/wpf-phrases.php:582
4010
+ msgid "Can close topic"
4011
+ msgstr "Kan lukke emne"
4012
+
4013
+ #: wpf-includes/wpf-phrases.php:583
4014
+ msgid "Can move topic"
4015
+ msgstr "Kan flytte emne"
4016
+
4017
+ #: wpf-includes/wpf-phrases.php:584
4018
+ msgid "Can view attached files"
4019
+ msgstr "kan se vedhængte filer"
4020
+
4021
+ #: wpf-includes/wpf-phrases.php:585
4022
+ msgid "Can approve/unapprove content"
4023
+ msgstr "Kan acceptere/ikke acceptere indhold"
4024
+
4025
+ #: wpf-includes/wpf-phrases.php:586
4026
+ msgid "Can create poll"
4027
+ msgstr "kan skabe en afstemning"
4028
+
4029
+ #: wpf-includes/wpf-phrases.php:587
4030
+ msgid "Can vote poll"
4031
+ msgstr "Kan stemme"
4032
+
4033
+ #: wpf-includes/wpf-phrases.php:588
4034
+ msgid "Can view poll result"
4035
+ msgstr "Kan se stemme resultater"
4036
+
4037
+ #: wpf-includes/wpf-phrases.php:589
4038
+ msgid "like"
4039
+ msgstr "Like"
4040
+
4041
+ #: wpf-includes/wpf-phrases.php:590
4042
+ msgid "unlike"
4043
+ msgstr "Unlike"
4044
+
4045
+ #: wpf-includes/wpf-phrases.php:591
4046
+ msgid "sticky"
4047
+ msgstr "sticky"
4048
+
4049
+ #: wpf-includes/wpf-phrases.php:592
4050
+ msgid "unsticky"
4051
+ msgstr "unsticky"
4052
+
4053
+ #: wpf-includes/wpf-phrases.php:593
4054
+ msgid "close"
4055
+ msgstr "luk"
4056
+
4057
+ #: wpf-includes/wpf-phrases.php:594
4058
+ msgid "open"
4059
+ msgstr "åben"
4060
+
4061
+ #: wpf-includes/wpf-phrases.php:595
4062
+ msgid "Topic Icons"
4063
+ msgstr "Emne ikoner"
4064
+
4065
+ #: wpf-includes/wpf-phrases.php:596
4066
+ msgid "New"
4067
+ msgstr "Ny"
4068
+
4069
+ #: wpf-includes/wpf-phrases.php:597
4070
+ msgid "Replied"
4071
+ msgstr "Svarede"
4072
+
4073
+ #: wpf-includes/wpf-phrases.php:599
4074
+ msgid "Hot"
4075
+ msgstr "Hot"
4076
+
4077
+ #: wpf-includes/wpf-phrases.php:600
4078
+ msgid "Solved"
4079
+ msgstr "Løst"
4080
+
4081
+ #: wpf-includes/wpf-phrases.php:601
4082
+ msgid "Unsolved"
4083
+ msgstr "Ikke løst"
4084
+
4085
+ #: wpf-includes/wpf-phrases.php:609
4086
+ msgid "Can set topic solved"
4087
+ msgstr "Hot"
4088
+
4089
+ #: wpf-includes/wpf-phrases.php:610
4090
+ msgid "Can set own topic solved"
4091
+ msgstr "Kan sige at emnet er løst"
4092
+
4093
+ #: wpf-includes/wpf-phrases.php:611
4094
+ msgid "Old password is wrong"
4095
+ msgstr "gammelt password er forkert"
4096
+
4097
+ #: wpf-includes/wpf-phrases.php:612
4098
+ msgid "New Passwords do not match"
4099
+ msgstr "Nye password er forkerte"
4100
+
4101
+ #: wpf-includes/wpf-phrases.php:616
4102
+ msgid ""
4103
+ "This process may take a few seconds or dozens of minutes, it depends on "
4104
+ "database forum size and on server resources. Please be patient and don't "
4105
+ "close this page. If you got 500 Server Error please don't worry, the data "
4106
+ "updating process is still working in MySQL server."
4107
+ msgstr ""
4108
+ "Det her kan tage et par sekunder eller et par minutter. Det er noget "
4109
+ "serveren bestemmer. Venligst vær tålmodig og lad denne side være øverst. "
4110
+ "( luk den ikke ). Får du en 500 Server Error er det ikke et problem. dataen "
4111
+ "er stadig i din MySQL server."
4112
+
4113
+ #: wpf-includes/wpf-phrases.php:620
4114
+ msgid "Updated Successfully!"
4115
+ msgstr "Opdateret!!"
4116
+
4117
+ #: wpf-includes/wpf-phrases.php:621
4118
+ msgid "Deleted Successfully!"
4119
+ msgstr "Slettet!!"
4120
+
4121
+ #: wpf-includes/wpf-phrases.php:622
4122
+ msgid "Closed"
4123
+ msgstr "Lukket"
4124
+
4125
+ #: wpf-includes/wpf-phrases.php:623
4126
+ msgid "Forum Members List"
4127
+ msgstr "Forum medlemmer"
4128
+
4129
+ #: wpf-includes/wpf-phrases.php:624
4130
+ msgid "are you sure you want to delete?"
4131
+ msgstr "Er du sikker på at du vil slette?"
4132
+
4133
+ #: wpf-includes/wpf-phrases.php:626
4134
+ msgid "Moderator"
4135
+ msgstr "Moderator"
4136
+
4137
+ #: wpf-includes/wpf-phrases.php:628
4138
+ msgid "Customer"
4139
+ msgstr "Kunde"
4140
+
4141
+ #: wpf-includes/wpf-phrases.php:629
4142
+ msgid "No access"
4143
+ msgstr "Ingen adgang"
4144
+
4145
+ #: wpf-includes/wpf-phrases.php:630
4146
+ msgid "Read only access"
4147
+ msgstr "Read only adgang"
4148
+
4149
+ #: wpf-includes/wpf-phrases.php:631
4150
+ msgid "Standard access"
4151
+ msgstr "Standard adgang"
4152
+
4153
+ #: wpf-includes/wpf-phrases.php:632
4154
+ msgid "Moderator access"
4155
+ msgstr "Moderator adgang"
4156
+
4157
+ #: wpf-includes/wpf-phrases.php:633
4158
+ msgid "Full access"
4159
+ msgstr "Fuld adgang"
4160
+
4161
+ #: wpf-includes/wpf-phrases.php:636
4162
+ msgid "Incorrect file format. Allowed formats: jpeg, jpg, png, gif."
4163
+ msgstr "Forkert fil format. Vi tillader kun: jpeg, jpg, png, gif."
4164
+
4165
+ #: wpf-includes/wpf-phrases.php:643
4166
+ msgid "Attachment removed"
4167
+ msgstr "Vedhæng fjernet"
4168
+
4169
+ #: wpf-includes/wpf-phrases.php:644
4170
+ msgid "Forum Posts"
4171
+ msgstr "Forum Indlæg"
4172
+
4173
+ #: wpf-includes/wpf-phrases.php:645
4174
+ msgid "Blog Posts"
4175
+ msgstr "Blog Indlæg"
4176
+
4177
+ #: wpf-includes/wpf-phrases.php:646
4178
+ msgid "Blog Comments"
4179
+ msgstr "Kommentarer til indlæg"
4180
+
4181
+ #: wpf-includes/wpf-phrases.php:647
4182
+ #, php-format
4183
+ msgid "Welcome back %s!"
4184
+ msgstr "Velkommen tilbage %s!"
4185
+
4186
+ #: wpf-includes/wpf-phrases.php:648
4187
+ msgid "Member Profile"
4188
+ msgstr "Medlems profil"
4189
+
4190
+ #: wpf-includes/wpf-phrases.php:649
4191
+ msgid "Member"
4192
+ msgstr "Medlem"
4193
+
4194
+ #: wpf-includes/wpf-phrases.php:650
4195
+ msgid "You do not have permission to view this page"
4196
+ msgstr "Du har ikke tilladelse til at se denne side"
4197
+
4198
+ #: wpf-includes/wpf-phrases.php:652
4199
+ msgid ""
4200
+ "This option will disable WordPress on front-end. Only forum pages will be "
4201
+ "available. wpForo will look like as a stand-alone forum."
4202
+ msgstr ""
4203
+ "Denne udvidelse vil fjerne selve WordPress front-end. Herefter er det kun et "
4204
+ "stand-alone forum de besøgende møder."
4205
+
4206
+ #: wpf-includes/wpf-phrases.php:655
4207
+ msgid "Can set own topic private"
4208
+ msgstr "Kan gøre eget emne privat"
4209
+
4210
+ #: wpf-includes/wpf-phrases.php:656
4211
+ msgid "Can view private topic"
4212
+ msgstr "Kan se private emner"
4213
+
4214
+ #: wpf-includes/wpf-phrases.php:657
4215
+ msgid "private"
4216
+ msgstr "privat"
4217
+
4218
+ #: wpf-includes/wpf-phrases.php:658
4219
+ msgid "public"
4220
+ msgstr "offentlig"
4221
+
4222
+ #: wpf-includes/wpf-phrases.php:659
4223
+ msgid "Private Topic"
4224
+ msgstr "Privat emne"
4225
+
4226
+ #: wpf-includes/wpf-phrases.php:660
4227
+ msgid "Only Admins and Moderators can see your private topics."
4228
+ msgstr "Kun Admins og Moderatorer kan se dine private emner."
4229
+
4230
+ #: wpf-includes/wpf-phrases.php:661
4231
+ msgid "Forum ID is not detected"
4232
+ msgstr "Forum ID ikke fundet"
4233
+
4234
+ #: wpf-includes/wpf-phrases.php:662
4235
+ msgid "You are not permitted to subscribe here"
4236
+ msgstr "Du har ikke tilladelse til at abonnere her"
4237
+
4238
+ #: wpf-includes/wpf-phrases.php:663
4239
+ msgid "Subscribe to this topic"
4240
+ msgstr "Abonner på dette emne"
4241
+
4242
+ #: wpf-includes/wpf-phrases.php:666
4243
+ msgid "Awaiting moderation"
4244
+ msgstr "Venter på at blive modereret"
4245
+
4246
+ #: wpf-includes/wpf-phrases.php:667
4247
+ msgid "Topic first post not found."
4248
+ msgstr "Emnets første indlæg ikke fundet"
4249
+
4250
+ #: wpf-includes/wpf-phrases.php:668
4251
+ msgid "Topic first post data not found."
4252
+ msgstr "Emnets første indlæg data ikke fundet"
4253
+
4254
+ #: wpf-includes/wpf-phrases.php:669
4255
+ msgid "Settings successfully updated"
4256
+ msgstr "Indstillingerne er blevet opdateret"
4257
+
4258
+ #: wpf-includes/wpf-phrases.php:670
4259
+ msgid "Done!"
4260
+ msgstr "Sådan !"
4261
+
4262
+ #: wpf-includes/wpf-phrases.php:671
4263
+ msgid "You are not allowed to attach this file type"
4264
+ msgstr "Du må ikke vedhænge denne slags filer"
4265
+
4266
+ #: wpf-includes/wpf-phrases.php:672
4267
+ msgid "Post is empty"
4268
+ msgstr "Indlæg er tomt"
4269
+
4270
+ #: wpf-includes/wpf-phrases.php:673
4271
+ msgid "removed link"
4272
+ msgstr "fjernet link"
4273
+
4274
+ #: wpf-includes/wpf-phrases.php:674
4275
+ msgid "Submit"
4276
+ msgstr "Send"
4277
+
4278
+ #: wpf-includes/wpf-phrases.php:677
4279
+ msgid "Usergroup"
4280
+ msgstr "Brugergruppe"
4281
+
4282
+ #: wpf-includes/wpf-phrases.php:678
4283
+ msgid "Rating Title"
4284
+ msgstr "Rating titel"
4285
+
4286
+ #: wpf-includes/wpf-phrases.php:679
4287
+ msgid "User Title"
4288
+ msgstr "Bruger titel"
4289
+
4290
+ #: wpf-includes/wpf-phrases.php:680
4291
+ msgid "Anonymous"
4292
+ msgstr "Anonym"
4293
+
4294
+ #: wpf-includes/wpf-phrases.php:683
4295
+ msgid "approved"
4296
+ msgstr "godkendt"
4297
+
4298
+ #: wpf-includes/wpf-phrases.php:684
4299
+ msgid "unapproved"
4300
+ msgstr "Ikke godkendt"
4301
+
4302
+ #: wpf-includes/wpf-phrases.php:687
4303
+ msgid "--- Choose ---"
4304
+ msgstr "— vælg ---"
4305
+
4306
+ #: wpf-includes/wpf-phrases.php:688
4307
+ msgid "Required field"
4308
+ msgstr "Påkrævet felt"
4309
+
4310
+ #: wpf-includes/wpf-phrases.php:691
4311
+ msgid "Add Reply"
4312
+ msgstr "Tilføj svar"
4313
+
4314
+ #: wpf-includes/wpf-phrases.php:692
4315
+ msgid "Forums RSS Feed"
4316
+ msgstr "Forums RSS Feed"
4317
+
4318
+ #: wpf-includes/wpf-phrases.php:693
4319
+ msgid "Topics RSS Feed"
4320
+ msgstr "Topics RSS Feed"
4321
+
4322
+ #: wpf-includes/wpf-phrases.php:694
4323
+ msgid "Find a member"
4324
+ msgstr "Find et medlem"
4325
+
4326
+ #: wpf-includes/wpf-phrases.php:695
4327
+ msgid "Display Name or Nicename"
4328
+ msgstr "Vis navn eller kaldenavn"
4329
+
4330
+ #: wpf-includes/wpf-phrases.php:696
4331
+ msgid "Reset Search"
4332
+ msgstr "Nulstil søgning"
4333
+
4334
+ #: wpf-includes/wpf-phrases.php:697
4335
+ msgid "Reset Result"
4336
+ msgstr "Nulstil resultater"
4337
+
4338
+ #: wpf-includes/wpf-phrases.php:702
4339
+ msgid "Recent Posts"
4340
+ msgstr "Seneste indæg"
4341
+
4342
+ #: wpf-includes/wpf-phrases.php:703
4343
+ msgid "No posts were found here"
4344
+ msgstr "Der blev ikke fundet nogle indlæg her"
4345
+
4346
+ #: wpf-includes/wpf-phrases.php:706
4347
+ msgid "forum link"
4348
+ msgstr "forum link"
4349
+
4350
+ #: wpf-includes/wpf-phrases.php:707
4351
+ msgid "in forum"
4352
+ msgstr "i forum"
4353
+
4354
+ #: wpf-includes/wpf-phrases.php:708
4355
+ msgid ""
4356
+ "You can mention a person using @nicename in post content to send that person "
4357
+ "an email message. When you post a topic or reply, forum sends an email "
4358
+ "message to the user letting them know that they have been mentioned on the "
4359
+ "post."
4360
+ msgstr ""
4361
+ "Du kan nævne en person ved at bruge @nicename i indlæget og sende det til "
4362
+ "denne person i en mail. Når du poster et emne eller et svar, sender forum en "
4363
+ "mail til brugeren, så de ved at de er blevet nævnt i indlægget."
4364
+
4365
+ #: wpf-includes/wpf-phrases.php:711
4366
+ msgid "You are not allowed to edit this post"
4367
+ msgstr "Du kan ikke redigere dette indlæg"
4368
+
4369
+ #: wpf-includes/wpf-phrases.php:712
4370
+ msgid "Google reCAPTCHA verification failed"
4371
+ msgstr "Google reCAPTCHA verifikation fejl"
4372
+
4373
+ #: wpf-includes/wpf-phrases.php:713
4374
+ msgid "ERROR: Can't connect to Google reCAPTCHA API"
4375
+ msgstr "FEJL: kan ikke forbinde til Google reCAPTCHA API"
4376
+
4377
+ #: wpf-includes/wpf-phrases.php:714
4378
+ msgid "Welcome!"
4379
+ msgstr "Velkommen!"
4380
+
4381
+ #: wpf-includes/wpf-phrases.php:715
4382
+ msgid "Join us today!"
4383
+ msgstr "Meld dig ind!"
4384
+
4385
+ #: wpf-includes/wpf-phrases.php:716
4386
+ msgid ""
4387
+ "Enter your email address or username and we'll send you a link you can use "
4388
+ "to pick a new password."
4389
+ msgstr ""
4390
+ "Skriv din mailadresse eller dit brugernavn og vi sender et link til dig du "
4391
+ "kan bruge til at lave et nyt password."
4392
+
4393
+ #: wpf-includes/wpf-phrases.php:717
4394
+ msgid "Please Insert Your Email or Username"
4395
+ msgstr "Skriv din mail adresse eller brugernavn"
4396
+
4397
+ #: wpf-includes/wpf-phrases.php:718
4398
+ msgid "Reset Password"
4399
+ msgstr "Nulstil password"
4400
+
4401
+ #: wpf-includes/wpf-phrases.php:719
4402
+ msgid "Forgot Your Password?"
4403
+ msgstr "Har du glemt dit password?"
4404
+
4405
+ #: wpf-includes/wpf-phrases.php:722
4406
+ #, php-format
4407
+ msgid "%s created a new topic %s"
4408
+ msgstr "%s skabte et nyt emne %s"
4409
+
4410
+ #: wpf-includes/wpf-phrases.php:723
4411
+ #, php-format
4412
+ msgid "%s replied to the topic %s"
4413
+ msgstr "%s Skrevet under emnet %s"
4414
+
4415
+ #: wpf-includes/wpf-phrases.php:724
4416
+ #, php-format
4417
+ msgid "%s liked forum post %s"
4418
+ msgstr "%s liked forum indlæg %s"
4419
+
4420
+ #: wpf-includes/wpf-phrases.php:725
4421
+ msgid "Read more"
4422
+ msgstr "Læs mere"
4423
+
4424
+ #: wpf-includes/wpf-phrases.php:726
4425
+ msgid "Forum topic"
4426
+ msgstr "Forum emne"
4427
+
4428
+ #: wpf-includes/wpf-phrases.php:727
4429
+ msgid "Forum post"
4430
+ msgstr "Forum indlæg"
4431
+
4432
+ #: wpf-includes/wpf-phrases.php:728
4433
+ msgid "Forum post like"
4434
+ msgstr "Forum indlæg - like"
4435
+
4436
+ #: wpf-includes/wpf-phrases.php:730
4437
+ msgid "Target Topic URL"
4438
+ msgstr "mål for emne URL"
4439
+
4440
+ #: wpf-includes/wpf-phrases.php:731
4441
+ msgid "Target Topic not found"
4442
+ msgstr "Mål emne ikke fundet"
4443
+
4444
+ #: wpf-includes/wpf-phrases.php:732
4445
+ msgid "Merge Topics"
4446
+ msgstr "Flet emner"
4447
+
4448
+ #: wpf-includes/wpf-phrases.php:733
4449
+ msgid "Split Topic"
4450
+ msgstr "Del emner"
4451
+
4452
+ #: wpf-includes/wpf-phrases.php:734
4453
+ msgid ""
4454
+ "Please copy the target topic URL from browser address bar and paste in the "
4455
+ "field below."
4456
+ msgstr ""
4457
+ "Kopier mål emne URL fra din browser address linien og passe det ind i feltet "
4458
+ "herunder."
4459
+
4460
+ #: wpf-includes/wpf-phrases.php:735
4461
+ msgid ""
4462
+ "All posts will be merged and displayed (ordered) in target topic according "
4463
+ "to posts dates. If you want to append merged posts to the end of the target "
4464
+ "topic you should allow to update posts dates to current date by check the "
4465
+ "option below."
4466
+ msgstr ""
4467
+ "Alle indlæg bliver flettet og vist i orden i mål emne “mode” defineret via "
4468
+ "dato for indlæg. Hvis du vil tilføje flettede indlæg til enden af mål emnet "
4469
+ "skal du tillade at indlæg kan blive opdateret til nuværende dato ved at "
4470
+ "sætte flueben herunder."
4471
+
4472
+ #: wpf-includes/wpf-phrases.php:736
4473
+ msgid ""
4474
+ "Update post dates (current date) to allow append posts to the end of the "
4475
+ "target topic."
4476
+ msgstr ""
4477
+ "Opdater indlæg datoer til idag så det er muligt at tilføje indlæg til mål "
4478
+ "emnet."
4479
+
4480
+ #: wpf-includes/wpf-phrases.php:737
4481
+ msgid "Update post titles with target topic title."
4482
+ msgstr "Opdater indlæg titler med mål emne titel"
4483
+
4484
+ #: wpf-includes/wpf-phrases.php:738
4485
+ msgid ""
4486
+ "Topics once merged cannot be unmerged. This topic URL will no longer be "
4487
+ "available."
4488
+ msgstr ""
4489
+ "Emner der er flettet kan ikke flettes ud igen. Denne URL vil ikke længere "
4490
+ "eksistere efter flet"
4491
+
4492
+ #: wpf-includes/wpf-phrases.php:739
4493
+ msgid "Create New Topic"
4494
+ msgstr "Nyt emne"
4495
+
4496
+ #: wpf-includes/wpf-phrases.php:740
4497
+ msgid ""
4498
+ "Create new topic with split posts. The first post of new topic becomes the "
4499
+ "earliest reply."
4500
+ msgstr ""
4501
+ "Nyt emne med delte indlæg. Det første indlæg under det nye emne bliver det "
4502
+ "tidligste svar "
4503
+
4504
+ #: wpf-includes/wpf-phrases.php:741
4505
+ msgid "New Topic Title"
4506
+ msgstr "Ny emne titel"
4507
+
4508
+ #: wpf-includes/wpf-phrases.php:742
4509
+ msgid "New Topic Forum"
4510
+ msgstr "Ny emne forum"
4511
+
4512
+ #: wpf-includes/wpf-phrases.php:743
4513
+ msgid "Select Posts to Split"
4514
+ msgstr "Vælg indlæg du vil dele"
4515
+
4516
+ #: wpf-includes/wpf-phrases.php:744
4517
+ msgid ""
4518
+ "Topic once split cannot be unsplit. The first post of new topic becomes the "
4519
+ "earliest reply."
4520
+ msgstr ""
4521
+ "Emner der er delt kan ikke samles igen. Det første indlæg under det nye emne "
4522
+ "bliver det tidligste svar "
4523
+
4524
+ #: wpf-includes/wpf-phrases.php:745
4525
+ msgid "Merge"
4526
+ msgstr "Flette"
4527
+
4528
+ #: wpf-includes/wpf-phrases.php:746
4529
+ msgid "Split"
4530
+ msgstr "Dele"
4531
+
4532
+ #: wpf-includes/wpf-phrases.php:747
4533
+ msgid "Move Reply"
4534
+ msgstr "Flyt svar"
4535
+
4536
+ #: wpf-includes/wpf-phrases.php:748
4537
+ msgid ""
4538
+ "This action changes topic URL. Once the topic is moved to other forum the "
4539
+ "old URL of this topic will no longer be available."
4540
+ msgstr ""
4541
+ "Det her ændrer emnets URL. Når emnet er flyttet til et andet forum, vil "
4542
+ "denne URL vil ikke længere eksistere"
4543
+
4544
+ #: wpf-themes/classic/functions.php:39
4545
+ msgid "Extended Layout - Recent topics"
4546
+ msgstr "Udvidet Layout - nyeste emner"
4547
+
4548
+ #: wpf-themes/classic/functions.php:48
4549
+ msgid "Extended Layout - Number of Recent topics"
4550
+ msgstr "Udvidet Layout - antal af nyeste emner"
4551
+
4552
+ #: wpf-themes/classic/functions.php:55
4553
+ msgid "Extended Layout - Recent topic length"
4554
+ msgstr "Udvidet Layout - længde på nyeste emner"
4555
+
4556
+ #: wpf-themes/classic/functions.php:56 wpf-themes/classic/functions.php:86
4557
+ msgid ""
4558
+ "Set this option value 0 if you want to show the whole title in recent topic "
4559
+ "area."
4560
+ msgstr "Sæ denne værdi til 0 hvis du vil vise hele titlen i emnet"
4561
+
4562
+ #: wpf-themes/classic/functions.php:69
4563
+ msgid "Q&A layout - Recent topics"
4564
+ msgstr "Q&A layout - nye emner"
4565
+
4566
+ #: wpf-themes/classic/functions.php:78
4567
+ msgid "Q&A Layout - Number of Recent topics"
4568
+ msgstr "Q&A layout - antal nye emner"
4569
+
4570
+ #: wpf-themes/classic/functions.php:85
4571
+ msgid "Q&A Layout - Recent topic length"
4572
+ msgstr "Q&A layout - nye emne længde"
4573
+
4574
+ #: wpf-themes/classic/functions.php:107
4575
+ msgid "Extended Layout - Recent posts"
4576
+ msgstr "Extended Layout - nye emner"
4577
+
4578
+ #: wpf-themes/classic/functions.php:117
4579
+ msgid "Extended Layout - Number of Recent posts"
4580
+ msgstr "Extended Layout - antal nye emner"
4581
+
4582
+ #: wpf-themes/classic/functions.php:118
4583
+ msgid ""
4584
+ "Set this option value 0 if you want to show all posts in recent posts area."
4585
+ msgstr ""
4586
+ "Sæ denne værdi til 0 hvis du vil vise alle indlæg i nyeste indlæg området"
4587
+
4588
+ #: wpf-themes/classic/functions.php:126
4589
+ msgid "Extended Layout - Recent post length"
4590
+ msgstr "Extended Layout - nye emner længde"
4591
+
4592
+ #: wpf-themes/classic/functions.php:127
4593
+ msgid ""
4594
+ "Set this option value 0 if you want to show the whole post content in recent "
4595
+ "post area."
4596
+ msgstr ""
4597
+ "Sæt denne option til 0 hvis du vil vise hele postens indhold det nyeste post "
4598
+ "område."
4599
+
4600
+ #: wpforo.php:177
4601
+ msgid "Discussion Board"
4602
+ msgstr "Diskussions forum"
4603
+
4604
+ #: wpforo.php:611
4605
+ msgid ""
4606
+ "Allows to embed hundreds of video, social network, audio and photo content "
4607
+ "providers in forum topics and posts."
4608
+ msgstr ""
4609
+ "Allows to embed hundreds of video, social network, audio and photo content "
4610
+ "providers in forum topics and posts."
4611
+
4612
+ #: wpforo.php:612
4613
+ msgid ""
4614
+ "wpForo Polls is a complete addon to help forum members create, vote and "
4615
+ "manage polls effectively. Comes with poll specific permissions and settings."
4616
+ msgstr ""
4617
+ "wpForo Polls is a complete addon to help forum members create, vote and "
4618
+ "manage polls effectively. Comes with poll specific permissions and settings."
4619
+
4620
+ #: wpforo.php:613
4621
+ msgid ""
4622
+ "Awards myCRED points for forum activity. Integrates myCRED Badges and Ranks. "
4623
+ "Converts wpForo topic and posts, likes to myCRED points."
4624
+ msgstr ""
4625
+ "Awards myCRED points for forum activity. Integrates myCRED Badges and Ranks. "
4626
+ "Converts wpForo topic and posts, likes to myCRED points."
4627
+
4628
+ #: wpforo.php:614
4629
+ msgid ""
4630
+ "Advanced user profile builder system. Allows to add new fields and manage "
4631
+ "profile page. Creates custom Registration, Account, Member Search forms."
4632
+ msgstr ""
4633
+ "Advanced user profile builder system. Allows to add new fields and manage "
4634
+ "profile page. Creates custom Registration, Account, Member Search forms."
4635
+
4636
+ #: wpforo.php:615
4637
+ msgid ""
4638
+ "Adds an advanced file attachment system to forum topics and posts. AJAX "
4639
+ "powered media uploading and displaying system with user specific library."
4640
+ msgstr ""
4641
+ "Adds an advanced file attachment system to forum topics and posts. AJAX "
4642
+ "powered media uploading and displaying system with user specific library."
4643
+
4644
+ #: wpforo.php:616
4645
+ msgid ""
4646
+ "Provides a safe way to communicate directly with other members. Messages are "
4647
+ "private and can only be viewed by conversation participants."
4648
+ msgstr ""
4649
+ "Provides a safe way to communicate directly with other members. Messages are "
4650
+ "private and can only be viewed by conversation participants."
4651
+
4652
+ #: wpforo.php:617
4653
+ msgid ""
4654
+ "Blog to Forum and Forum to Blog content synchronization. Blog posts with "
4655
+ "Forum topics and Blog comments with Forum replies."
4656
+ msgstr ""
4657
+ "Blog to Forum and Forum to Blog content synchronization. Blog posts with "
4658
+ "Forum topics and Blog comments with Forum replies."
4659
+
4660
+ #: wpforo.php:618
4661
+ msgid ""
4662
+ "Ads Manager is a powerful yet simple advertisement management system, that "
4663
+ "allows you to add adverting banners between forums, topics and posts."
4664
+ msgstr ""
4665
+ "Ads Manager is a powerful yet simple advertisement management system, that "
4666
+ "allows you to add adverting banners between forums, topics and posts."
4667
+
4668
+ #. Plugin Name of the plugin/theme
4669
+ msgid "wpForo"
4670
+ msgstr "wpForo"
4671
+
4672
+ #. Plugin URI of the plugin/theme
4673
+ msgid "https://wpforo.com"
4674
+ msgstr "https://wpforo.com"
4675
+
4676
+ #. Description of the plugin/theme
4677
+ msgid ""
4678
+ "WordPress Forum plugin. wpForo is a full-fledged forum solution for your "
4679
+ "community. Comes with multiple modern forum layouts."
4680
+ msgstr ""
4681
+ "WordPress Forum plugin. wpForo is a full-fledged forum solution for your "
4682
+ "community. Comes with multiple modern forum layouts."
4683
+
4684
+ #. Author of the plugin/theme
4685
+ msgid "gVectors Team (A. Chakhoyan, R. Hovhannisyan)"
4686
+ msgstr "gVectors Team (A. Chakhoyan, R. Hovhannisyan)"
4687
+
4688
+ #. Author URI of the plugin/theme
4689
+ msgid "https://gvectors.com/"
4690
+ msgstr "https://gvectors.com/"
wpf-languages/wpforo-lt_LT.mo ADDED
Binary file
wpf-languages/wpforo-lt_LT.po ADDED
@@ -0,0 +1,4713 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2016 gVectors Team
2
+ # This file is distributed under the same license as the wpForo package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
6
+ "%100<10 || n%100>=20) ? 1 : 2);\n"
7
+ "Project-Id-Version: Forum - wpForo\n"
8
+ "POT-Creation-Date: 2018-03-07 17:21+0200\n"
9
+ "Language-Team: \n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 2.0.6\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-WPHeader: wpforo.php\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
18
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
19
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
20
+ "Last-Translator: Skaidrius Prascienis <email@skaidrius.com>\n"
21
+ "Language: lt\n"
22
+ "PO-Revision-Date: \n"
23
+ "X-Poedit-SearchPath-0: .\n"
24
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
25
+
26
+ #: wpf-admin/addons.php:14 wpf-admin/addons.php:22
27
+ msgid "wpForo Addons"
28
+ msgstr "wpforo Įskiepiai"
29
+
30
+ #: wpf-admin/addons.php:28
31
+ msgid ""
32
+ "All wpForo addons are being developed by wpForo developers at gVectors Team. "
33
+ "Addon prices also include a small donation to the hard work wpForo "
34
+ "developers do for free. When you buy an addon, you also donate the free "
35
+ "wpForo development and support. Addons are the only incoming source for "
36
+ "wpForo developers. wpForo is a premium forum plugin which will always be "
37
+ "available for free. There will never be paid and pro versions of this forum "
38
+ "board. We have another dozens of awesome features in our to-do list which "
39
+ "will also be added for free in future releases. So the free wpForo "
40
+ "development always stays on the first priority and wpForo is being extended "
41
+ "with new free functions and features even faster than before."
42
+ msgstr ""
43
+ "Visus wpForo įskiepius kuria wpForo kūrėjai gVektors komanda. Įskiepių kainą "
44
+ "kaip pat sudaro maža padėka už sunkų darbą, kurį wpForo kūrėjai dirba "
45
+ "nemokamai. Pirkdami įskiepį, remiate wpForo kūrimą ir palaikymą. Įskiepiai "
46
+ "yra vienintelis wpForo kūrėjų įplaukų šaltinis. wpForo yra premium forumo "
47
+ "įskiepis, kuris visada liks nemokamas. Niekada nebus šio forumo mokamų ar "
48
+ "pro versijų. Mes taip pat netrukus pasiūlysime naują pluoštą papildomų "
49
+ "savybių, esančių mūsų to-do sąraše, kurios ateities versijose bus taip pat "
50
+ "nemokamos. Taigi, nemokamas wpForo kūrimas visada liks pirmuoju prioritetu "
51
+ "ir wpForo bus tobulinamas papildant jį naujomis funkcijomis ir savybėmis dar "
52
+ "greičiau nei anksčiau."
53
+
54
+ #: wpf-admin/addons.php:31 wpf-admin/dashboard.php:37
55
+ msgid "Thank you!<br> Sincerely yours,<br> gVectors Team"
56
+ msgstr "Ačiū!<br> Nuoširdžiai Jūsų,<br> gVectors Komanda"
57
+
58
+ #: wpf-admin/addons.php:51
59
+ msgid "Installed"
60
+ msgstr "Įdiegta"
61
+
62
+ #: wpf-admin/addons.php:55
63
+ msgid "Version"
64
+ msgstr "Versija"
65
+
66
+ #: wpf-admin/addons.php:56
67
+ msgid "at least"
68
+ msgstr "mažiausiai"
69
+
70
+ #: wpf-admin/addons.php:58
71
+ msgid "Details | Buy"
72
+ msgstr "Detaliau | Pirkti"
73
+
74
+ #: wpf-admin/addons.php:64
75
+ msgid "More information about"
76
+ msgstr "Daugiau informacijos apie"
77
+
78
+ #: wpf-admin/admin.php:24 wpf-admin/admin.php:25
79
+ #: wpf-includes/wpf-phrases.php:603
80
+ msgid "Dashboard"
81
+ msgstr "Valdymo skydelis"
82
+
83
+ #: wpf-admin/admin.php:24 wpf-admin/admin.php:26 wpf-admin/dashboard.php:136
84
+ #: wpf-admin/options-tabs/api.php:83 wpf-admin/options-tabs/styles.php:16
85
+ #: wpf-admin/options.php:15 wpf-includes/wpf-hooks.php:1776
86
+ #: wpf-includes/wpf-phrases.php:123
87
+ msgid "Forums"
88
+ msgstr "Forumai"
89
+
90
+ #: wpf-admin/admin.php:27 wpf-includes/wpf-hooks.php:22
91
+ #: wpf-includes/wpf-hooks.php:1792
92
+ msgid "Settings"
93
+ msgstr "Nuostatos"
94
+
95
+ #: wpf-admin/admin.php:28 wpf-includes/wpf-hooks.php:1801
96
+ #: wpf-includes/wpf-phrases.php:729
97
+ msgid "Tools"
98
+ msgstr "Įrankiai"
99
+
100
+ #: wpf-admin/admin.php:29 wpf-includes/wpf-hooks.php:1810
101
+ msgid "Moderation"
102
+ msgstr "Peržiūra"
103
+
104
+ #: wpf-admin/admin.php:30 wpf-admin/dashboard.php:148 wpf-admin/member.php:10
105
+ #: wpf-admin/options.php:18 wpf-includes/wpf-hooks.php:1819
106
+ #: wpf-includes/wpf-phrases.php:178
107
+ msgid "Members"
108
+ msgstr "Nariai"
109
+
110
+ #: wpf-admin/admin.php:31 wpf-admin/usergroup.php:8
111
+ #: wpf-includes/wpf-hooks.php:1828
112
+ msgid "Usergroups"
113
+ msgstr "Vartotojų Grupės"
114
+
115
+ #: wpf-admin/admin.php:32 wpf-includes/wpf-hooks.php:1844
116
+ #: wpf-includes/wpf-phrases.php:604
117
+ msgid "Phrases"
118
+ msgstr "Frazės"
119
+
120
+ #: wpf-admin/admin.php:33 wpf-includes/wpf-hooks.php:1860
121
+ #: wpf-includes/wpf-phrases.php:605
122
+ msgid "Themes"
123
+ msgstr "Temos"
124
+
125
+ #: wpf-admin/admin.php:34 wpf-admin/options.php:24
126
+ #: wpf-includes/wpf-hooks.php:1869 wpf-includes/wpf-phrases.php:25
127
+ msgid "Addons"
128
+ msgstr "Įskiepiai"
129
+
130
+ #: wpf-admin/dashboard.php:7 wpf-includes/wpf-phrases.php:408
131
+ msgid "wpForo Dashboard"
132
+ msgstr "wpForo valdymo skydelis"
133
+
134
+ #: wpf-admin/dashboard.php:23 wpf-includes/wpf-phrases.php:361
135
+ msgid "Welcome Message"
136
+ msgstr "Pasisveikinimo pranešimas"
137
+
138
+ #: wpf-admin/dashboard.php:27
139
+ msgid "Welcome to wpForo"
140
+ msgstr "Jus sveikina wpForo"
141
+
142
+ #: wpf-admin/dashboard.php:29
143
+ msgid ""
144
+ "Thank you for using wpForo! wpForo is a professional bulletin board for "
145
+ "WorPress, and the only forum software which comes with Multi-layout template "
146
+ "system.\n"
147
+ " The \"Extended\", \"Simplified\" and "
148
+ "\"Question &amp Answer\" layouts fit almost all type of discussions needs. "
149
+ "You can use wpForo for small and extremely large communities. \n"
150
+ " <br />If you found some issue or bug "
151
+ "please open a support topic in plugin page or in our support forum at "
152
+ "gVectors.com. If you liked wpForo please leave some good review for this "
153
+ "plugin. We really need your good reviews. \n"
154
+ " If you didn't like wpForo please leave a "
155
+ "list of issues and requirements you'd like us to fix and add in near future. "
156
+ "We're here to help you and improve wpForo as much as possible."
157
+ msgstr ""
158
+ "Dėkojame, kad naudojatės wpForo! wpForo yra profesionali WordPress diskusijų."
159
+
160
+ #: wpf-admin/dashboard.php:57 wpf-includes/wpf-phrases.php:130
161
+ msgid "General Information"
162
+ msgstr "Pagrindinė informacija"
163
+
164
+ #: wpf-admin/dashboard.php:61 wpf-includes/wpf-phrases.php:368
165
+ msgid "You are currently running"
166
+ msgstr "Šiuo metu naudojate"
167
+
168
+ #: wpf-admin/dashboard.php:62 wpf-includes/wpf-phrases.php:18
169
+ msgid "Active Theme"
170
+ msgstr "Aktyvi Tema"
171
+
172
+ #: wpf-admin/dashboard.php:63 wpf-includes/wpf-phrases.php:413
173
+ msgid "wpForo Website"
174
+ msgstr "wpForo Svetainė"
175
+
176
+ #: wpf-admin/dashboard.php:64 wpf-includes/wpf-phrases.php:319
177
+ msgid "Support Forum"
178
+ msgstr "Priežiūros Forumas"
179
+
180
+ #: wpf-admin/dashboard.php:75 wpf-includes/wpf-phrases.php:289
181
+ msgid "Server Information"
182
+ msgstr "Serverio Informacija"
183
+
184
+ #: wpf-admin/dashboard.php:109 wpf-includes/wpf-phrases.php:46
185
+ msgid "Available"
186
+ msgstr "Galima"
187
+
188
+ #: wpf-admin/dashboard.php:109 wpf-includes/wpf-phrases.php:208
189
+ msgid "Not available"
190
+ msgstr "Nėra galimybės"
191
+
192
+ #: wpf-admin/dashboard.php:130 wpf-includes/wpf-phrases.php:49
193
+ msgid "Board Statistic"
194
+ msgstr "Statistika"
195
+
196
+ #: wpf-admin/dashboard.php:140 wpf-admin/options-tabs/posts.php:17
197
+ #: wpf-admin/options-tabs/styles.php:22 wpf-includes/class-forums.php:665
198
+ #: wpf-includes/wpf-phrases.php:338
199
+ msgid "Topics"
200
+ msgstr "Temos"
201
+
202
+ #: wpf-admin/dashboard.php:144 wpf-admin/options-tabs/posts.php:18
203
+ #: wpf-includes/class-forums.php:665 wpf-includes/wpf-phrases.php:232
204
+ msgid "Posts"
205
+ msgstr "Įrašai"
206
+
207
+ #: wpf-admin/dashboard.php:152 wpf-includes/wpf-phrases.php:179
208
+ msgid "Members Online"
209
+ msgstr "Prisijungę Nariai"
210
+
211
+ #: wpf-admin/dashboard.php:162
212
+ msgid "Avatars Size"
213
+ msgstr "Pseudoportreto Dydis"
214
+
215
+ #: wpf-admin/dashboard.php:166
216
+ msgid "Default Attachments Size"
217
+ msgstr "Numatytasis Priedo Dydis"
218
+
219
+ #: wpf-admin/dashboard.php:172
220
+ msgid "Advanced Attachments"
221
+ msgstr "Papildomi Priedai"
222
+
223
+ #: wpf-admin/dashboard.php:173
224
+ msgid "file(s)"
225
+ msgstr "dokumentas (ai)"
226
+
227
+ #: wpf-admin/dashboard.php:176
228
+ msgid "Advanced Attachments Size"
229
+ msgstr "Papildomo Priedo Dydis"
230
+
231
+ #: wpf-admin/dashboard.php:181
232
+ msgid "Total Size"
233
+ msgstr "Visas Dydis"
234
+
235
+ #: wpf-admin/dashboard.php:189 wpf-includes/wpf-phrases.php:615
236
+ msgid "Forum Maintenance"
237
+ msgstr "Forumo Tvarkymas"
238
+
239
+ #: wpf-admin/dashboard.php:191
240
+ msgid ""
241
+ "This process may take a few seconds or dozens of minutes, please be patient "
242
+ "and don't close this page. If you got 500 Server Error please don't worry, "
243
+ "the data updating process is still working in MySQL server."
244
+ msgstr ""
245
+ "Šis procesas gali užtrukti keletą minučių. Prašome būti kantriems ir "
246
+ "neužverti šio lango. Jeigu rodo 500 serverio klaidą nesijaudinkite, duomenų "
247
+ "atnaujinimas serveryje tebevyksta."
248
+
249
+ #: wpf-admin/dashboard.php:200
250
+ msgid "Delete All Caches"
251
+ msgstr "Trinti Visus Podėlius (Caches)"
252
+
253
+ #: wpf-admin/dashboard.php:201 wpf-includes/wpf-phrases.php:617
254
+ msgid "Update Forums Statistic"
255
+ msgstr "Atnaujinti Forumo Statistiką"
256
+
257
+ #: wpf-admin/dashboard.php:202 wpf-includes/wpf-phrases.php:618
258
+ msgid "Update Users Statistic"
259
+ msgstr "Atnaujinti Vartotojų Statistiką"
260
+
261
+ #: wpf-admin/dashboard.php:203 wpf-includes/wpf-phrases.php:619
262
+ msgid "Delete Phrase Cache"
263
+ msgstr "Trinti Frazių Podėlį (Cache)"
264
+
265
+ #: wpf-admin/dashboard.php:204 wpf-includes/wpf-phrases.php:640
266
+ msgid "Delete User Cache"
267
+ msgstr "Trinti Vartotojo Podėlį (Cache)"
268
+
269
+ #: wpf-admin/forum.php:13 wpf-includes/functions.php:792
270
+ #: wpf-includes/wpf-phrases.php:301
271
+ msgid "Show on screen"
272
+ msgstr "Rodyti lange"
273
+
274
+ #: wpf-admin/forum.php:15 wpf-admin/forum.php:129
275
+ #: wpf-includes/wpf-phrases.php:113
276
+ msgid "Forum Options"
277
+ msgstr "Forumo Nuostatos"
278
+
279
+ #: wpf-admin/forum.php:16 wpf-includes/wpf-phrases.php:223
280
+ msgid "Permissions"
281
+ msgstr "Leidimai"
282
+
283
+ #: wpf-admin/forum.php:17 wpf-includes/wpf-phrases.php:306
284
+ msgid "Slug"
285
+ msgstr "Priežodis"
286
+
287
+ #: wpf-admin/forum.php:18 wpf-includes/wpf-phrases.php:112
288
+ msgid "Forum Meta"
289
+ msgstr "Forumo Metaduomenys"
290
+
291
+ #: wpf-admin/forum.php:21 wpf-includes/wpf-phrases.php:273
292
+ msgid "Screen Layout"
293
+ msgstr "Ekrano Maketas"
294
+
295
+ #: wpf-admin/forum.php:22 wpf-includes/wpf-phrases.php:209
296
+ msgid "Number of Columns"
297
+ msgstr "Stulpelių Skaičius"
298
+
299
+ #: wpf-admin/forum.php:32 wpf-includes/functions.php:806
300
+ #: wpf-includes/wpf-phrases.php:274
301
+ msgid "Screen Options"
302
+ msgstr "Ekrano Nuostatos"
303
+
304
+ #: wpf-admin/forum.php:43 wpf-includes/wpf-phrases.php:51
305
+ msgid "Categories and Forums"
306
+ msgstr "Kategorijos ir Forumai"
307
+
308
+ #: wpf-admin/forum.php:44 wpf-admin/options-tabs/general.php:75
309
+ #: wpf-admin/themes.php:10 wpf-admin/usergroup.php:8
310
+ #: wpf-includes/wpf-phrases.php:20
311
+ msgid "Add New"
312
+ msgstr "Pridėti Naują"
313
+
314
+ #: wpf-admin/forum.php:55
315
+ msgid "Important Tips"
316
+ msgstr "Svarbu žinoti"
317
+
318
+ #: wpf-admin/forum.php:56 wpf-includes/wpf-phrases.php:225
319
+ msgid "Please drag and drop forum panels to set parent-child hierarchy."
320
+ msgstr ""
321
+ "Norėdami nustatyti forumo hierarchiją, prašome pele vilkti forumo panelę."
322
+
323
+ #: wpf-admin/forum.php:57
324
+ msgid ""
325
+ "If a category (blue panels) does not have forums (grey panels) it will not "
326
+ "be displayed on front-end. Each category should contain at least one forum."
327
+ msgstr ""
328
+ "Jei kategorijos (melynos panelės) neturi forumų (pilkų panelių), jos nebus "
329
+ "rodomos puslapyje. Kiekviena kategorija turi turėti mažiausiai vieną forumą."
330
+
331
+ #: wpf-admin/forum.php:58
332
+ msgid ""
333
+ "Forums can be displayed with different layouts (Extended, Simplified, Q&A), "
334
+ "just edit the top (blue panels) category and set the layout you want. Child "
335
+ "forums' layout depends on the top category (blue panels) layout. They cannot "
336
+ "have a different layout."
337
+ msgstr ""
338
+ "Forumai gali būti rodomi su skirtingais maketais (Išplėstinis, "
339
+ "Supaprastintas, Klausimai ir Atsakymai), tiesiog keiskite aukštesnes "
340
+ "(mėlynos panelės) kategorijas ir nustatykite norimą maketą. 'Vaikinis' "
341
+ "forumo maketas priklauso nuo viršutinės kategorijos (melynos panelės) "
342
+ "maketo. Jų maketai negali skirtis."
343
+
344
+ #: wpf-admin/forum.php:74 wpf-includes/wpf-phrases.php:272
345
+ msgid "Save forums order and hierarchy"
346
+ msgstr "Išsaugoti forumo tvarką ir hierarchiją"
347
+
348
+ #: wpf-admin/forum.php:111 wpf-includes/wpf-phrases.php:87
349
+ msgid "Enter forum title here"
350
+ msgstr "Įrašykite forumo vardą"
351
+
352
+ #: wpf-admin/forum.php:116 wpf-includes/wpf-phrases.php:86
353
+ msgid "Enter description here . . ."
354
+ msgstr "Įrašykite forumo aprašymą..."
355
+
356
+ #: wpf-admin/forum.php:117 wpf-includes/wpf-phrases.php:329
357
+ msgid ""
358
+ "This is a forum description. This content will be displayed under forum "
359
+ "title on the forum list."
360
+ msgstr ""
361
+ "Tai yra forumo aprašymas. Šis turinys bus rodomas forumo sąraše po forumo "
362
+ "pavadinimu."
363
+
364
+ #: wpf-admin/forum.php:132 wpf-includes/wpf-phrases.php:221
365
+ msgid "Parent Forum"
366
+ msgstr "Tėvinis forumas"
367
+
368
+ #: wpf-admin/forum.php:135 wpf-includes/wpf-phrases.php:204
369
+ msgid "No parent"
370
+ msgstr "Nėra tėvinio"
371
+
372
+ #: wpf-admin/forum.php:140 wpf-includes/wpf-phrases.php:346
373
+ msgid "Use as Category"
374
+ msgstr "Vartoti kaip Kategoriją"
375
+
376
+ #: wpf-admin/forum.php:142 wpf-includes/wpf-phrases.php:52
377
+ msgid "Category Layout"
378
+ msgstr "Kategorijos Maketas"
379
+
380
+ #: wpf-admin/forum.php:150 wpf-includes/wpf-phrases.php:202
381
+ msgid "No layout found."
382
+ msgstr "Nerasta maketų."
383
+
384
+ #: wpf-admin/forum.php:159 wpf-admin/forum.php:166
385
+ #: wpf-includes/wpf-phrases.php:234
386
+ msgid "Publish"
387
+ msgstr "Skelbti"
388
+
389
+ #: wpf-admin/forum.php:163 wpf-includes/wpf-phrases.php:37
390
+ msgid "Are you sure you want to delete this forum?"
391
+ msgstr "Ar Jūs tikrai norite ištrinti šį forumą?"
392
+
393
+ #: wpf-admin/forum.php:163 wpf-admin/themes.php:73
394
+ #: wpf-admin/tools-tabs/antispam.php:258 wpf-admin/usergroup.php:36
395
+ #: wpf-admin/usergroup.php:212 wpf-includes/wpf-hooks.php:1112
396
+ #: wpf-includes/wpf-phrases.php:66
397
+ msgid "Delete"
398
+ msgstr "Trinti"
399
+
400
+ #: wpf-admin/forum.php:164 wpf-admin/usergroup.php:38
401
+ #: wpf-includes/class-forums.php:671 wpf-includes/wpf-phrases.php:355
402
+ msgid "View"
403
+ msgstr "Peržiūrėti"
404
+
405
+ #: wpf-admin/forum.php:191 wpf-includes/wpf-phrases.php:118
406
+ msgid "Forum Slug"
407
+ msgstr "Forumo Trumpinys"
408
+
409
+ #: wpf-admin/forum.php:194 wpf-includes/wpf-phrases.php:322
410
+ msgid ""
411
+ "The \"slug\" is the URL-friendly version of the name. It is usually all "
412
+ "lowercase and contains only letters, numbers, and hyphens."
413
+ msgstr ""
414
+ "\"Trumpinys\" - URL draugiška vardo versija. Dažniausiai pradedamas mažąja "
415
+ "raide, jį sudaro raidės, skaičiai ir brūkšneliai."
416
+
417
+ #: wpf-admin/forum.php:200
418
+ msgid "Forum Icon"
419
+ msgstr "Forumo Ikona"
420
+
421
+ #: wpf-admin/forum.php:203
422
+ msgid "Font-awesome Icon"
423
+ msgstr "Font-awesome ikona"
424
+
425
+ #: wpf-admin/forum.php:205
426
+ msgid "You can find all icons"
427
+ msgstr "Galite rasti visas ikonas"
428
+
429
+ #: wpf-admin/forum.php:205
430
+ msgid "here"
431
+ msgstr "čia"
432
+
433
+ #: wpf-admin/forum.php:205
434
+ msgid ""
435
+ "Make sure you insert a class of font-awesome icon, it should start with fa- "
436
+ "prefix like &quot;fas fa-comments&quot;."
437
+ msgstr ""
438
+ "Įsitikinkite, kad įrašėte font-awesome ikonos klasę, ji turi prasidėti "
439
+ "priešdėliu fa- kaip &quot;fas fa-comments&quot;."
440
+
441
+ #: wpf-admin/forum.php:212 wpf-includes/wpf-phrases.php:116
442
+ msgid "Forum SEO"
443
+ msgstr "Forumo SEO"
444
+
445
+ #: wpf-admin/forum.php:215 wpf-includes/wpf-phrases.php:184
446
+ msgid "Meta Description"
447
+ msgstr "Meta Aprašymas"
448
+
449
+ #: wpf-admin/forum.php:244 wpf-includes/wpf-phrases.php:328
450
+ msgid "This action will also delete all sub-forums, topics and replies."
451
+ msgstr "Šis veiksmas taip pat ištrins visus subforumus, temas ir atsakymus."
452
+
453
+ #: wpf-admin/forum.php:252 wpf-includes/wpf-phrases.php:137
454
+ msgid ""
455
+ "If you want to delete this forum and keep its sub-forums, topics and "
456
+ "replies, please select a new target forum in dropdown below"
457
+ msgstr ""
458
+ "Norėdami ištrinti šį forumą ir išsaugoti jo subforumus, temas ir atsakymus, "
459
+ "prašome pasirinkti naują paskirties forumą iš pasirinkčių sąrašo"
460
+
461
+ #: wpf-admin/forum.php:261 wpf-includes/wpf-phrases.php:26
462
+ msgid ""
463
+ "All sub-forums, topics and replies will be attached to selected forum. "
464
+ "Layout will be inherited from this forum."
465
+ msgstr ""
466
+ "Visi subforumai, temos ir atsakymai bus prisegti prie pažymėto forumo. "
467
+ "Maketas bus paveldėtas iš šio forumo."
468
+
469
+ #: wpf-admin/moderation.php:10
470
+ msgid "Topic and Post Moderation"
471
+ msgstr "Temos ir Įrašo Priežiūra (moderavimas)"
472
+
473
+ #: wpf-admin/options-tabs/accesses.php:14 wpf-includes/wpf-phrases.php:21
474
+ msgid "Add New Forum Access"
475
+ msgstr "Pridėti Naują Forumo Prieigą"
476
+
477
+ #: wpf-admin/options-tabs/accesses.php:18 wpf-includes/wpf-phrases.php:15
478
+ msgid "Access names"
479
+ msgstr "Prieigų vardai"
480
+
481
+ #: wpf-admin/options-tabs/accesses.php:31
482
+ #: wpf-admin/options-tabs/accesses.php:32
483
+ #: wpf-admin/options-tabs/accesses.php:33
484
+ msgid "This access is usually used for "
485
+ msgstr "Ši prieiga įprastai naudojama "
486
+
487
+ #: wpf-admin/options-tabs/accesses.php:31
488
+ msgid "Guests"
489
+ msgstr "Svečiai"
490
+
491
+ #: wpf-admin/options-tabs/accesses.php:31
492
+ #: wpf-admin/options-tabs/accesses.php:32
493
+ #: wpf-admin/options-tabs/accesses.php:33
494
+ msgid "usergroup"
495
+ msgstr "vartotojų grupė"
496
+
497
+ #: wpf-admin/options-tabs/accesses.php:32 wpf-includes/wpf-phrases.php:627
498
+ msgid "Registered"
499
+ msgstr "Registruotas"
500
+
501
+ #: wpf-admin/options-tabs/accesses.php:33 wpf-includes/wpf-phrases.php:625
502
+ msgid "Admin"
503
+ msgstr "Administratorius"
504
+
505
+ #: wpf-admin/options-tabs/accesses.php:37 wpf-includes/class-forums.php:667
506
+ #: wpf-includes/functions.php:602 wpf-includes/wpf-phrases.php:381
507
+ msgid "edit"
508
+ msgstr "redaguoti"
509
+
510
+ #: wpf-admin/options-tabs/accesses.php:39 wpf-includes/wpf-phrases.php:39
511
+ msgid ""
512
+ "Are you sure you want to remove this access set? Usergroups which attached "
513
+ "to this access will lost all forum permissions."
514
+ msgstr ""
515
+ "Ar tikrai norite pašalinti šią prieigos rūšį? Šiai prieigai priskirtos "
516
+ "Vartotojų Grupės neteks visų forumo leidimų."
517
+
518
+ #: wpf-admin/options-tabs/accesses.php:39 wpf-includes/class-forums.php:669
519
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
520
+ #: wpf-includes/wpf-phrases.php:380
521
+ msgid "delete"
522
+ msgstr "trinti"
523
+
524
+ #: wpf-admin/options-tabs/accesses.php:54 wpf-includes/wpf-phrases.php:14
525
+ msgid "Access name"
526
+ msgstr "Paskyros vardas"
527
+
528
+ #: wpf-admin/options-tabs/accesses.php:73 wpf-includes/wpf-phrases.php:270
529
+ msgid "Save"
530
+ msgstr "Įrašyti"
531
+
532
+ #: wpf-admin/options-tabs/accesses.php:73 wpf-includes/wpf-phrases.php:343
533
+ msgid "Update"
534
+ msgstr "Atnaujinti"
535
+
536
+ #: wpf-admin/options-tabs/api.php:22
537
+ msgid "Facebook API Configuration"
538
+ msgstr "Facebook API nustatymas"
539
+
540
+ #: wpf-admin/options-tabs/api.php:23
541
+ msgid ""
542
+ "In order to get an App ID and Secret Key from Facebook, you’ll need to "
543
+ "register a new application. Don’t worry – its very easy, and your "
544
+ "application doesn't need to do anything. We only need the keys."
545
+ msgstr ""
546
+ "Norėdami gauti Facebook APP ID ir Secret Key, turite registruoti naują "
547
+ "programą. Nesijaudinkite - tai labai lengva, o Jūsų programa neturi nieko "
548
+ "daryti. Mums reikia tik raktų."
549
+
550
+ #: wpf-admin/options-tabs/api.php:23
551
+ msgid "Please follow to this instruction"
552
+ msgstr "Prašome sekti šiais nurodymais"
553
+
554
+ #: wpf-admin/options-tabs/api.php:26
555
+ msgid "App ID"
556
+ msgstr "App ID"
557
+
558
+ #: wpf-admin/options-tabs/api.php:27
559
+ msgid "App Secret"
560
+ msgstr "App Secret"
561
+
562
+ #: wpf-admin/options-tabs/api.php:32
563
+ msgid "Facebook Login"
564
+ msgstr "Facebook Prieiga"
565
+
566
+ #: wpf-admin/options-tabs/api.php:33
567
+ msgid "Adds Facebook Login button on Registration and Login pages."
568
+ msgstr ""
569
+ "Prideda Facebook Prieigos mygtuką į Registracijos ir Prisijungimo puslapius."
570
+
571
+ #: wpf-admin/options-tabs/api.php:37 wpf-admin/options-tabs/api.php:49
572
+ #: wpf-admin/options-tabs/api.php:60 wpf-admin/options-tabs/api.php:71
573
+ #: wpf-admin/options-tabs/members.php:87
574
+ msgid "Enable"
575
+ msgstr "Įgalinti"
576
+
577
+ #: wpf-admin/options-tabs/api.php:38 wpf-admin/options-tabs/api.php:50
578
+ #: wpf-admin/options-tabs/api.php:61 wpf-admin/options-tabs/api.php:72
579
+ #: wpf-admin/options-tabs/members.php:88
580
+ msgid "Disable"
581
+ msgstr "Atšaukti"
582
+
583
+ #: wpf-admin/options-tabs/api.php:44
584
+ msgid "Facebook SDK for JavaScript"
585
+ msgstr "Facebook JavaScript SDK"
586
+
587
+ #: wpf-admin/options-tabs/api.php:45
588
+ msgid "Facebook API connection script (sharing, login, cross-posting...)"
589
+ msgstr ""
590
+ "Facebook API prisijungimo skriptas (bendrinimas, prisijungimas, įrašai "
591
+ "keliose platformose...)"
592
+
593
+ #: wpf-admin/options-tabs/api.php:56
594
+ msgid "Facebook Login button on User Login page"
595
+ msgstr "Facebook Prisijungimo mygtukas Vartotojo prisijungimo puslapyje"
596
+
597
+ #: wpf-admin/options-tabs/api.php:67
598
+ msgid "Facebook Login button on User Registration page"
599
+ msgstr "Facebook Prisijungimo mygtukas Vartotojo registracijos puslapyje"
600
+
601
+ #: wpf-admin/options-tabs/api.php:78
602
+ msgid "Redirect to this page after success login"
603
+ msgstr "Peradresuoti į šį puslapį sėkmingai prisijungus"
604
+
605
+ #: wpf-admin/options-tabs/api.php:82 wpf-includes/wpf-phrases.php:634
606
+ msgid "Profile"
607
+ msgstr "Profilis"
608
+
609
+ #: wpf-admin/options-tabs/api.php:84
610
+ msgid "Custom"
611
+ msgstr "Pritaikymas"
612
+
613
+ #: wpf-admin/options-tabs/api.php:86
614
+ msgid "Custom URL, e.g.: http://example.com/my-page/"
615
+ msgstr "Pritaikytas URL, pvz., http://pavyzdys.com/mano-puslapis/"
616
+
617
+ #: wpf-admin/options-tabs/api.php:86
618
+ msgid "Custom URL"
619
+ msgstr "Pritaikytas URL"
620
+
621
+ #: wpf-admin/options-tabs/api.php:93 wpf-admin/options-tabs/emails.php:132
622
+ #: wpf-admin/options-tabs/features.php:77 wpf-admin/options-tabs/forums.php:16
623
+ #: wpf-admin/options-tabs/general.php:82 wpf-admin/options-tabs/members.php:174
624
+ #: wpf-admin/options-tabs/posts.php:76 wpf-admin/options-tabs/styles.php:93
625
+ #: wpf-admin/tools-tabs/antispam.php:299 wpf-admin/tools-tabs/cleanup.php:49
626
+ #: wpf-admin/tools-tabs/misc.php:37 wpf-includes/wpf-phrases.php:344
627
+ msgid "Update Options"
628
+ msgstr "Atnaujinti Nuostatas"
629
+
630
+ #: wpf-admin/options-tabs/emails.php:12
631
+ msgid "FROM Name"
632
+ msgstr "NUO vardas"
633
+
634
+ #: wpf-admin/options-tabs/emails.php:16
635
+ msgid "FROM Email Address"
636
+ msgstr "NUO el. pašto adresas"
637
+
638
+ #: wpf-admin/options-tabs/emails.php:21
639
+ msgid "Forum Admins email addresses"
640
+ msgstr "Forumo Administratorių el. pašto adresai"
641
+
642
+ #: wpf-admin/options-tabs/emails.php:22 wpf-includes/wpf-phrases.php:57
643
+ msgid ""
644
+ "Comma separated email addresses of forum administrators to get forum "
645
+ "notifications. For example post report messages."
646
+ msgstr ""
647
+ "Kableliais atskirti forumo administratorių el. pašto adresai, kurie gaus "
648
+ "forumo pranešimus (pvz., įrašo ataskaitos žinutes), ."
649
+
650
+ #: wpf-admin/options-tabs/emails.php:28
651
+ msgid "Notify Admins via email on new Topic"
652
+ msgstr "El. paštu informuoti Administratorių apie naują temą"
653
+
654
+ #: wpf-admin/options-tabs/emails.php:29
655
+ msgid ""
656
+ "Send Notification emails to all email addresses (comma separated ) of forum "
657
+ "administrators when a new Topic is created."
658
+ msgstr ""
659
+ "Visiems forumo administratoriams el. paštu (adresai, atskiriami kableliais) "
660
+ "siųsti pranešimus kai sukuriama nauja tema."
661
+
662
+ #: wpf-admin/options-tabs/emails.php:33 wpf-admin/options-tabs/emails.php:45
663
+ #: wpf-admin/options-tabs/emails.php:116 wpf-admin/options-tabs/features.php:66
664
+ #: wpf-admin/tools-tabs/antispam.php:31 wpf-admin/tools-tabs/antispam.php:40
665
+ #: wpf-admin/tools-tabs/antispam.php:49 wpf-admin/tools-tabs/antispam.php:148
666
+ #: wpf-admin/tools-tabs/antispam.php:157 wpf-admin/tools-tabs/antispam.php:167
667
+ #: wpf-admin/tools-tabs/antispam.php:176 wpf-admin/tools-tabs/antispam.php:185
668
+ #: wpf-admin/tools-tabs/antispam.php:194 wpf-admin/tools-tabs/antispam.php:203
669
+ #: wpf-admin/tools-tabs/antispam.php:212 wpf-admin/tools-tabs/cleanup.php:39
670
+ #: wpf-includes/wpf-phrases.php:366
671
+ msgid "Yes"
672
+ msgstr "Taip"
673
+
674
+ #: wpf-admin/options-tabs/emails.php:34 wpf-admin/options-tabs/emails.php:46
675
+ #: wpf-admin/options-tabs/emails.php:117 wpf-admin/options-tabs/features.php:67
676
+ #: wpf-admin/tools-tabs/antispam.php:32 wpf-admin/tools-tabs/antispam.php:41
677
+ #: wpf-admin/tools-tabs/antispam.php:50 wpf-admin/tools-tabs/antispam.php:149
678
+ #: wpf-admin/tools-tabs/antispam.php:158 wpf-admin/tools-tabs/antispam.php:168
679
+ #: wpf-admin/tools-tabs/antispam.php:177 wpf-admin/tools-tabs/antispam.php:186
680
+ #: wpf-admin/tools-tabs/antispam.php:195 wpf-admin/tools-tabs/antispam.php:204
681
+ #: wpf-admin/tools-tabs/antispam.php:213 wpf-admin/tools-tabs/cleanup.php:40
682
+ #: wpf-includes/wpf-phrases.php:196
683
+ msgid "No"
684
+ msgstr "Ne"
685
+
686
+ #: wpf-admin/options-tabs/emails.php:40
687
+ msgid "Notify Admins via email on new Post"
688
+ msgstr "Pranešti Administratorius el. paštu apie naują įrašą"
689
+
690
+ #: wpf-admin/options-tabs/emails.php:41
691
+ msgid ""
692
+ "Send Notification emails to all email addresses (comma separated ) of forum "
693
+ "administrators when a new Reply is created."
694
+ msgstr ""
695
+ "Visiems forumo administratoriams el. paštu (adresai, atskiriami kableliais) "
696
+ "siųsti pranešimus kai pateikiamas naujas atsakymas."
697
+
698
+ #: wpf-admin/options-tabs/emails.php:52 wpf-includes/wpf-phrases.php:317
699
+ msgid "Subscription Emails"
700
+ msgstr "Prenumeratos El. pašto adresai"
701
+
702
+ #: wpf-admin/options-tabs/emails.php:56 wpf-includes/wpf-phrases.php:314
703
+ msgid "Subscribe confirmation email subject"
704
+ msgstr "Prenumeratos patvirtinimo el. laiško pavadinimas"
705
+
706
+ #: wpf-admin/options-tabs/emails.php:60 wpf-includes/wpf-phrases.php:313
707
+ msgid "Subscribe confirmation email message"
708
+ msgstr "Prenumeratos patvirtinimo el. laiško žinutės tekstas"
709
+
710
+ #: wpf-admin/options-tabs/emails.php:64 wpf-includes/wpf-phrases.php:195
711
+ msgid "New topic notification email subject"
712
+ msgstr "Pranešimo apie naują temą el. laiško pavadinimas"
713
+
714
+ #: wpf-admin/options-tabs/emails.php:68 wpf-includes/wpf-phrases.php:194
715
+ msgid "New topic notification email message"
716
+ msgstr "Pranešimo apie naują temą el. laiško žinutės tekstas"
717
+
718
+ #: wpf-admin/options-tabs/emails.php:72 wpf-includes/wpf-phrases.php:193
719
+ msgid "New reply notification email subject"
720
+ msgstr "Pranešimo apie naują atsakymą el. laiško pavadinimas"
721
+
722
+ #: wpf-admin/options-tabs/emails.php:76 wpf-includes/wpf-phrases.php:192
723
+ msgid "New reply notification email message"
724
+ msgstr "Pranešimo apie naują atsakymą el. laiško žinutės tekstas"
725
+
726
+ #: wpf-admin/options-tabs/emails.php:81 wpf-includes/wpf-phrases.php:227
727
+ msgid "Post Reporting Emails"
728
+ msgstr "Pranešimo apie Įrašą el. laiškai"
729
+
730
+ #: wpf-admin/options-tabs/emails.php:82 wpf-includes/wpf-phrases.php:331
731
+ msgid "This message comes from post reporting pop-up form."
732
+ msgstr "Ši žinutė atėjo iš įrašo pranešimo pop-up formos."
733
+
734
+ #: wpf-admin/options-tabs/emails.php:87 wpf-includes/wpf-phrases.php:266
735
+ msgid "Report message subject"
736
+ msgstr "Prenumeratos patvirtinimo el. laiško žinutės tekstas"
737
+
738
+ #: wpf-admin/options-tabs/emails.php:92 wpf-includes/wpf-phrases.php:265
739
+ msgid "Report message body"
740
+ msgstr "Pranešimo apie naują temą el. laiško žinutės tekstas"
741
+
742
+ #: wpf-admin/options-tabs/emails.php:97
743
+ msgid "Reset Password Emails"
744
+ msgstr "Slaptažodžio Atšaukimo El. laiškai"
745
+
746
+ #: wpf-admin/options-tabs/emails.php:98
747
+ msgid "This message comes from Reset Password form."
748
+ msgstr "Ši žinutė atėjo iš Slaptažodžio atšaukimo pop-up formos."
749
+
750
+ #: wpf-admin/options-tabs/emails.php:102
751
+ msgid "Reset Password message body"
752
+ msgstr "Slaptažodžio Atšaukimo el. laiškai"
753
+
754
+ #: wpf-admin/options-tabs/emails.php:107
755
+ msgid "User Mentioning Email"
756
+ msgstr "Vartotojo Paminėjimo el. laiškai"
757
+
758
+ #: wpf-admin/options-tabs/emails.php:112
759
+ msgid "Enable Email Notification"
760
+ msgstr "Įgalinti Informavimą el. laišku"
761
+
762
+ #: wpf-admin/options-tabs/emails.php:122
763
+ msgid "User Mention message subject"
764
+ msgstr "Vartotojo Paminėjimo žinutės pavadinimas"
765
+
766
+ #: wpf-admin/options-tabs/emails.php:126
767
+ msgid "User Mention message body"
768
+ msgstr "Vartotojo Paminėjimo žinutės turinys"
769
+
770
+ #: wpf-admin/options-tabs/features.php:9 wpf-includes/wpf-phrases.php:294
771
+ msgid "Show Admin Bar for Members"
772
+ msgstr "Rodyti Vartotojams Administratoriaus eilutę"
773
+
774
+ #: wpf-admin/options-tabs/features.php:9 wpf-includes/wpf-phrases.php:332
775
+ msgid "This option doesn't affect website admins."
776
+ msgstr "Šis pasirinkimas neįtakoja puslapio administratorių."
777
+
778
+ #: wpf-admin/options-tabs/features.php:10 wpf-includes/wpf-phrases.php:296
779
+ msgid "Show Forum Page Title"
780
+ msgstr "Rodyti Forumo Puslapio pavadinimą"
781
+
782
+ #: wpf-admin/options-tabs/features.php:11 wpf-includes/wpf-phrases.php:299
783
+ msgid "Show Top/Menu Bar"
784
+ msgstr "Rodyti Viršutinę/Meniu eilutę"
785
+
786
+ #: wpf-admin/options-tabs/features.php:12 wpf-includes/wpf-phrases.php:298
787
+ msgid "Show Top Search"
788
+ msgstr "Rodyti Paiešką viršuje"
789
+
790
+ #: wpf-admin/options-tabs/features.php:13 wpf-includes/wpf-phrases.php:295
791
+ msgid "Show Breadcrumb"
792
+ msgstr "Rodyti Puslapio Kelią"
793
+
794
+ #: wpf-admin/options-tabs/features.php:14 wpf-includes/wpf-phrases.php:297
795
+ msgid "Show Forum Statistic"
796
+ msgstr "Rodyti Forumo Statistiką"
797
+
798
+ #: wpf-admin/options-tabs/features.php:15
799
+ msgid "Show Member Mention Nicknames"
800
+ msgstr "Rodyti Vartotojo Paminėjimo Slapyvardį"
801
+
802
+ #: wpf-admin/options-tabs/features.php:16
803
+ msgid "Enable WordPress Shortcodes in Post Content"
804
+ msgstr "Įgalinti WordPress Trumpuosius kodus Įrašuose"
805
+
806
+ #: wpf-admin/options-tabs/features.php:17 wpf-includes/wpf-phrases.php:698
807
+ msgid "Log Viewed Forums and Topics"
808
+ msgstr "Sekti peržiūrėtus Forumus ir Temas"
809
+
810
+ #: wpf-admin/options-tabs/features.php:18 wpf-includes/wpf-phrases.php:257
811
+ msgid "Replace Author Link to Forum Profile"
812
+ msgstr "Pakeisti Autoriaus Nuorodą į Forumo Profilį"
813
+
814
+ #: wpf-admin/options-tabs/features.php:19 wpf-includes/wpf-phrases.php:258
815
+ msgid "Replace Comment Author Link to Forum Profile"
816
+ msgstr "Pakeisti Komentaro Autoriaus nuorodą į Forumo Profilį"
817
+
818
+ #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:637
819
+ msgid "Enable User Registration"
820
+ msgstr "Įgalinti Vartotojo Registraciją"
821
+
822
+ #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:638
823
+ msgid ""
824
+ "This option is not synced with WordPress \"Anyone can register\" option in "
825
+ "Dashboard > Settings > General admin page. If this option is enabled new "
826
+ "users will always be able to register."
827
+ msgstr ""
828
+ "Ši opcija nėra sugretinta su Wordpress Valdymo skydelis > Nuostatos > "
829
+ "Pagrindinės administratoriaus puslapio opcija \"Kiekvienas gali registruotis"
830
+ "\". Aktyvavus šią funkciją, nauji vartotojai visada turės galimybė "
831
+ "registruotis."
832
+
833
+ #: wpf-admin/options-tabs/features.php:21
834
+ msgid "Enable User Registration email confirmation"
835
+ msgstr "Įgalinti Vartotojo Registracijos patvirtinimą el. paštu"
836
+
837
+ #: wpf-admin/options-tabs/features.php:21
838
+ msgid ""
839
+ "If you have enabled this option, after registering, user can not login "
840
+ "without confirming the email."
841
+ msgstr ""
842
+ "Jeigu Jūs įgalinate šią opciją, vartotojas po registracijos negalės "
843
+ "prisijungti nepatvirtinęs el. pašto adreso."
844
+
845
+ #: wpf-admin/options-tabs/features.php:22 wpf-includes/wpf-phrases.php:260
846
+ msgid "Replace Registration Page URL to Forum Registration Page URL"
847
+ msgstr ""
848
+ "Pakeisti Registracijos Puslapio URL į Forumo Registracijos Puslapio URL"
849
+
850
+ #: wpf-admin/options-tabs/features.php:23 wpf-includes/wpf-phrases.php:259
851
+ msgid "Replace Login Page URL to Forum Login Page URL"
852
+ msgstr "Pakeisti Prisijungimo Puslapio URL į Forumo Prisijungimo Puslapio URL"
853
+
854
+ #: wpf-admin/options-tabs/features.php:24 wpf-includes/wpf-phrases.php:699
855
+ msgid "Replace Reset Password Page URL to Forum Reset Password Page URL"
856
+ msgstr ""
857
+ "Pakeisti Atnaujinti Slaptažodį Puslapio URL į Forumo Atnaujinti Slaptažodį "
858
+ "Puslapio URL"
859
+
860
+ #: wpf-admin/options-tabs/features.php:25 wpf-includes/wpf-phrases.php:256
861
+ msgid "Replace Author Avatar with Forum Profile Avatar"
862
+ msgstr "Pakeisti Autoriaus Pseudoportretą į Forumo Profilio Avatarą"
863
+
864
+ #: wpf-admin/options-tabs/features.php:26 wpf-includes/wpf-phrases.php:77
865
+ msgid "Enable Avatars"
866
+ msgstr "Įgalinti Pseudoportretus"
867
+
868
+ #: wpf-admin/options-tabs/features.php:27 wpf-includes/wpf-phrases.php:78
869
+ msgid "Enable Custom Avatars"
870
+ msgstr "Įgalinti pritaikytus Pseudoportretus"
871
+
872
+ #: wpf-admin/options-tabs/features.php:28 wpf-includes/wpf-phrases.php:31
873
+ msgid "Allow Member Signature"
874
+ msgstr "Leisti Vartotojo Parašą"
875
+
876
+ #: wpf-admin/options-tabs/features.php:29 wpf-includes/wpf-phrases.php:80
877
+ msgid "Enable Member Rating"
878
+ msgstr "Leisti Vartotojo Reitingavimą"
879
+
880
+ #: wpf-admin/options-tabs/features.php:30 wpf-includes/wpf-phrases.php:81
881
+ msgid "Enable Member Rating Titles"
882
+ msgstr "Leisti Vartotojo Reitingavimo Pavadinimus"
883
+
884
+ #: wpf-admin/options-tabs/features.php:31 wpf-includes/wpf-phrases.php:79
885
+ msgid "Enable Member Cache"
886
+ msgstr "Leisti Vartotojo Podėlį (Cache)"
887
+
888
+ #: wpf-admin/options-tabs/features.php:32
889
+ msgid "Enable Object Cache"
890
+ msgstr "Leisti Objekto Podėlį (Cache)"
891
+
892
+ #: wpf-admin/options-tabs/features.php:33
893
+ msgid "Enable HTML Cache"
894
+ msgstr "Leisti HTML Podėlį (Cache)"
895
+
896
+ #: wpf-admin/options-tabs/features.php:34
897
+ msgid "Enable Memory Cache"
898
+ msgstr "Leisti Atminties Podėlį (Cache)"
899
+
900
+ #: wpf-admin/options-tabs/features.php:35 wpf-includes/wpf-phrases.php:84
901
+ msgid "Enable wpForo SEO for Meta Titles"
902
+ msgstr "Įgalinti wpForo SEO Meta Pavadinimams"
903
+
904
+ #: wpf-admin/options-tabs/features.php:36 wpf-includes/wpf-phrases.php:83
905
+ msgid "Enable wpForo SEO for Meta Tags"
906
+ msgstr "Įgalinti wpForo SEO Meta Žymėms"
907
+
908
+ #: wpf-admin/options-tabs/features.php:37
909
+ msgid "Enable User Profile Page indexing"
910
+ msgstr "Įgalinti Vartotojo Profilio Puslapio indeksavimą"
911
+
912
+ #: wpf-admin/options-tabs/features.php:38 wpf-includes/wpf-phrases.php:700
913
+ msgid "Enable RSS Feed"
914
+ msgstr "Įgalinti RSS Feed"
915
+
916
+ #: wpf-admin/options-tabs/features.php:39 wpf-includes/wpf-phrases.php:82
917
+ msgid "Enable wpForo Font-Awesome Lib"
918
+ msgstr "Įgalinti wpForo Font-Awesome biblioteką"
919
+
920
+ #: wpf-admin/options-tabs/features.php:40
921
+ msgid "Turn Off User Syncing Note"
922
+ msgstr "Išjungti Vartotojo Gretinimo Žymą"
923
+
924
+ #: wpf-admin/options-tabs/features.php:41
925
+ msgid "Enable BuddyPress Activity Integration"
926
+ msgstr "Įgalinti BuddyPress Aktyvumo Integravimą"
927
+
928
+ #: wpf-admin/options-tabs/features.php:41
929
+ msgid ""
930
+ "If you use BuddyPress plugin, this option will post members activities (new "
931
+ "topic, new reply, post like) to BuddyPress Profile Activity page."
932
+ msgstr ""
933
+ "Jeigu naudojate BuddyPress įskiepį, ši opcija parodys narių aktyvumą (nauja "
934
+ "tema, naujas atsakymas, patinka įrašas) BuddyPress Profilio Aktyvumo "
935
+ "puslapyje,."
936
+
937
+ #: wpf-admin/options-tabs/features.php:42 wpf-includes/wpf-phrases.php:85
938
+ msgid "Enable Output Buffer"
939
+ msgstr "Įgalinti Išeinantį Buferį"
940
+
941
+ #: wpf-admin/options-tabs/features.php:42 wpf-includes/wpf-phrases.php:330
942
+ msgid ""
943
+ "This feature is useful if you're adding content before or after [wpforo] "
944
+ "shortcode in page content. Also it useful if forum is loaded before website "
945
+ "header, on top of the front-end."
946
+ msgstr ""
947
+ "Ši opcija naudinga, jei papildote turinį prieš arba po [wpforo] trumpojo "
948
+ "kodo. Taip pat ji naudinga jei forumas užkrautas prieš svetainės headerį, "
949
+ "front-endo viršuje."
950
+
951
+ #: wpf-admin/options-tabs/features.php:43
952
+ msgid "Enable WordPress Date/Time Format"
953
+ msgstr "Įgalinti WordPress Datos/Laiko Formatus"
954
+
955
+ #: wpf-admin/options-tabs/features.php:43 wpf-includes/wpf-phrases.php:602
956
+ msgid ""
957
+ "You can manage WordPress date and time format in WordPress Settings > "
958
+ "General admin page."
959
+ msgstr ""
960
+ "Jūs galite valdyti WordPress datos ir laiko formatą Wordpress Nuostatos > "
961
+ "Pagrindinės administratoriaus puslapyje."
962
+
963
+ #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:613
964
+ msgid "Enable Subscription Confirmation"
965
+ msgstr "Įgalinti Registracijos Prenumeratą"
966
+
967
+ #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:614
968
+ msgid "Forum and Topic subscription with double opt-in/confirmation system."
969
+ msgstr ""
970
+ "Forumo ir Temos prenumerata su dviguba prisijungimo/patvirtinimo sistema."
971
+
972
+ #: wpf-admin/options-tabs/features.php:45
973
+ msgid "Topic subscription option on post editor"
974
+ msgstr "Temos prenumeratos opcija įrašo editoriuje"
975
+
976
+ #: wpf-admin/options-tabs/features.php:45
977
+ msgid ""
978
+ "This option adds topic subscription checkbox next to new topic and post "
979
+ "submit button."
980
+ msgstr ""
981
+ "Ši opcija prideda temos prenumeratos patvirtinimo 'checkbox'ą; šalia naujos "
982
+ "temos ir skelbti įrašą mygtuko."
983
+
984
+ #: wpf-admin/options-tabs/features.php:46
985
+ msgid "Topic subscription option on post editor - checked/enabled"
986
+ msgstr "Temos prenumeratos opcija įrašo redaktoriuje pažymėta/įgalinta"
987
+
988
+ #: wpf-admin/options-tabs/features.php:46
989
+ msgid ""
990
+ "Enable this option if you want the topic subscription checkbox to be checked "
991
+ "by default."
992
+ msgstr ""
993
+ "Įgalinkite šią opciją jei norite, kad temos prenumeratos opcija būtų "
994
+ "pažymėta pagal nutylėjimą."
995
+
996
+ #: wpf-admin/options-tabs/features.php:47 wpf-includes/wpf-phrases.php:641
997
+ msgid "Insert Forum Attachments to Media Library"
998
+ msgstr "Įterpti Forumo Priedus į Media Biblioteką"
999
+
1000
+ #: wpf-admin/options-tabs/features.php:47 wpf-includes/wpf-phrases.php:642
1001
+ msgid ""
1002
+ "Enable this option to be able manage forum attachments in Dashboard > Media "
1003
+ "> Library admin page."
1004
+ msgstr ""
1005
+ "Įgalinkite šią opciją, kad valdyti forumo priedus Valdymo Skydelis > Media > "
1006
+ "Biblioteka administratoriaus puslapyje."
1007
+
1008
+ #: wpf-admin/options-tabs/features.php:48 wpf-includes/wpf-phrases.php:606
1009
+ msgid "Enable Debug Mode"
1010
+ msgstr "Įgalinti Klaidų Taisymo Režimą"
1011
+
1012
+ #: wpf-admin/options-tabs/features.php:48 wpf-includes/wpf-phrases.php:607
1013
+ msgid ""
1014
+ "If you got some issue with wpForo, please enable this option before asking "
1015
+ "for support, this outputs hidden important information to help us debug your "
1016
+ "issue."
1017
+ msgstr ""
1018
+ "Jeigu turite problemų su wpForo, prieš prašant priežiūros pagalbos, "
1019
+ "įgalinkite šią opciją - tai parodys viešai nerodomą reikalingą informaciją, "
1020
+ "kuri mums padės sprendžiant Jūsų problemą."
1021
+
1022
+ #: wpf-admin/options-tabs/features.php:49 wpf-includes/wpf-phrases.php:134
1023
+ msgid "Help wpForo to grow, show plugin info"
1024
+ msgstr "Leiskite wpForo augti, parodykite Įskiepio informaciją"
1025
+
1026
+ #: wpf-admin/options-tabs/features.php:49 wpf-includes/wpf-phrases.php:226
1027
+ msgid ""
1028
+ "Please enable this option to help wpForo get more popularity as your thank "
1029
+ "to the hard work we do for you totally free. This option adds a very small "
1030
+ "icon in forum footer, which will allow your site visitors recognize the name "
1031
+ "of forum solution you use."
1032
+ msgstr ""
1033
+ "Prašome įgalinti šią opciją ir taip padėti wpForo įgyti didesnį populiarumą "
1034
+ "kaip jūsų padėką už sunkų darbą, kurį mes dirbame jums nemokamai. Ši opcija "
1035
+ "prideda mažą ikoną forumo poraštėje (footer), kuri leis forumo lankytojams "
1036
+ "pažinti naudojamo forumo sprendimo vardą."
1037
+
1038
+ #: wpf-admin/options-tabs/features.php:68
1039
+ msgid "Thank you!"
1040
+ msgstr "Ačiū!"
1041
+
1042
+ #: wpf-admin/options-tabs/general.php:15 wpf-includes/wpf-phrases.php:107
1043
+ msgid "Forum Base URL"
1044
+ msgstr "Forumo Pagrindo URL"
1045
+
1046
+ #: wpf-admin/options-tabs/general.php:24 wpf-includes/wpf-phrases.php:651
1047
+ msgid "Turn WordPress to wpForo"
1048
+ msgstr "Paversti Wordpress į woForo"
1049
+
1050
+ #: wpf-admin/options-tabs/general.php:25
1051
+ msgid ""
1052
+ "This option will disable WordPress on front-end. Only forum pages and "
1053
+ "excluded post/pages will be available. wpForo will look like as a stand-"
1054
+ "alone forum."
1055
+ msgstr ""
1056
+ "Ši opcija išjungs WordPress front-ende. Bus pasiekiami tik forumo puslapiai "
1057
+ "ir išskirti įrašai/puslapiai. wpForo atrodys kaip atskiras forumas."
1058
+
1059
+ #: wpf-admin/options-tabs/general.php:28
1060
+ msgid "Exclude page URLs"
1061
+ msgstr "Išskirti puslapio URL'us"
1062
+
1063
+ #: wpf-admin/options-tabs/general.php:28
1064
+ msgid "one URL per line"
1065
+ msgstr "vienas URL eilutėje"
1066
+
1067
+ #: wpf-admin/options-tabs/general.php:38
1068
+ msgid "Visit Forum"
1069
+ msgstr "Aplankyti forumą"
1070
+
1071
+ #: wpf-admin/options-tabs/general.php:41
1072
+ msgid ""
1073
+ "wpForo PageID doesn't exist. Forums will not be loaded, please read this"
1074
+ msgstr ""
1075
+ "wpForo PuslapioID surasti nepavyko. Forumas nebus užkrautas, prašome "
1076
+ "perskaityti šią"
1077
+
1078
+ #: wpf-admin/options-tabs/general.php:41
1079
+ msgid "support topic"
1080
+ msgstr "priežiūros temą"
1081
+
1082
+ #: wpf-admin/options-tabs/general.php:43
1083
+ msgid "Forum Page ID"
1084
+ msgstr "Forumo Puslapio ID"
1085
+
1086
+ #: wpf-admin/options-tabs/general.php:48 wpf-includes/wpf-phrases.php:121
1087
+ msgid "Forum Title"
1088
+ msgstr "Forumo Pavadinimas"
1089
+
1090
+ #: wpf-admin/options-tabs/general.php:52 wpf-includes/wpf-phrases.php:108
1091
+ msgid "Forum Description"
1092
+ msgstr "Forumo Aprašymas"
1093
+
1094
+ #: wpf-admin/options-tabs/general.php:57 wpf-includes/wpf-phrases.php:64
1095
+ msgid "Dashboard Menu Position"
1096
+ msgstr "Valdymo Skydelio Meniu Padėtis"
1097
+
1098
+ #: wpf-admin/options-tabs/general.php:58 wpf-includes/wpf-phrases.php:323
1099
+ msgid "The position in the menu order wpForo should appear."
1100
+ msgstr "Turėtų pasimatyti pozicija wpForo meniu eilėje."
1101
+
1102
+ #: wpf-admin/options-tabs/general.php:59 wpf-includes/wpf-phrases.php:348
1103
+ msgid ""
1104
+ "Use greater than 5 - below Posts, 10 - below Media, 15 - below Links, 20 - "
1105
+ "below Pages, 25 - below comments, 60 - below first separator, 65 - below "
1106
+ "Plugins, 70 - below Users, 75 - below Tools, 80 - below Settings, 100 - "
1107
+ "below second separator"
1108
+ msgstr ""
1109
+ "Jei daugiau kaip 5 - po Irašai, 10 - po Media, 15 - po Nuorodos, 20 po "
1110
+ "Puslapiai, 25 po komentarais, 60 - po pirmu skirtuku, 65 - po Įskiepiai, 70 "
1111
+ "- po Vartotojai, 75 - po Įrankiai, 80 - po Nuostatos, 100 - po antruoju "
1112
+ "skirtuku"
1113
+
1114
+ #: wpf-admin/options-tabs/general.php:63
1115
+ msgid "More info"
1116
+ msgstr "Daugiau informacijos"
1117
+
1118
+ #: wpf-admin/options-tabs/general.php:68 wpf-includes/wpf-phrases.php:110
1119
+ msgid "Forum Language"
1120
+ msgstr "Forumo Kalba"
1121
+
1122
+ #: wpf-admin/options-tabs/general.php:69
1123
+ msgid ""
1124
+ "This option is only related to XML language files. You should upload a "
1125
+ "translation XML file to have a new language option in this drop-down. If you "
1126
+ "are using PO/MO translation files you should change WordPress Language in "
1127
+ "Dashboard > Settings admin page to load according translation for wpForo."
1128
+ msgstr ""
1129
+ "Ši opcija susijusi tik su XML kalbų bylomis. Norint gauti naujos kalbos "
1130
+ "pasirinkimo opciją, turėtumėte įkelti XML bylą. Jeigu naudojate PO/MO "
1131
+ "vertimo bylas, turėtumėte pakeisti Wordpress Kalbą Valdymo Skydelyje > "
1132
+ "Nuostatos administratoriaus puslapyje ir įkelti atitinkamą wpForo vertimą."
1133
+
1134
+ #: wpf-admin/options-tabs/general.php:94 wpf-includes/wpf-phrases.php:144
1135
+ msgid "Language XML file"
1136
+ msgstr "Kalbos XML byla"
1137
+
1138
+ #: wpf-admin/options-tabs/general.php:103 wpf-includes/wpf-phrases.php:22
1139
+ msgid "Add New Language"
1140
+ msgstr "Pridėti Naują Kalbą"
1141
+
1142
+ #: wpf-admin/options-tabs/members.php:13 wpf-includes/wpf-phrases.php:217
1143
+ msgid "Online status timeout"
1144
+ msgstr "Baigėsi prisijungimo statuso laikas"
1145
+
1146
+ #: wpf-admin/options-tabs/members.php:16 wpf-admin/options-tabs/posts.php:28
1147
+ #: wpf-admin/options-tabs/posts.php:32 wpf-admin/options-tabs/posts.php:40
1148
+ #: wpf-admin/options-tabs/posts.php:44 wpf-includes/wpf-phrases.php:390
1149
+ msgid "minutes"
1150
+ msgstr "minutės"
1151
+
1152
+ #: wpf-admin/options-tabs/members.php:20 wpf-includes/wpf-phrases.php:180
1153
+ msgid "Members URL structure"
1154
+ msgstr "Vartotojų URL struktūtra"
1155
+
1156
+ #: wpf-admin/options-tabs/members.php:29 wpf-includes/wpf-phrases.php:701
1157
+ msgid "Members Search Type"
1158
+ msgstr "Vartotojų Paieškos Tipas"
1159
+
1160
+ #: wpf-admin/options-tabs/members.php:32 wpf-includes/wpf-phrases.php:275
1161
+ msgid "Search"
1162
+ msgstr "Ieškoti"
1163
+
1164
+ #: wpf-admin/options-tabs/members.php:33
1165
+ msgid "Filter"
1166
+ msgstr "Filtras"
1167
+
1168
+ #: wpf-admin/options-tabs/members.php:39 wpf-includes/wpf-phrases.php:62
1169
+ msgid "Custom Authorization URLs"
1170
+ msgstr "Pritaikytas Autorizacijos URL"
1171
+
1172
+ #: wpf-admin/options-tabs/members.php:41
1173
+ msgid ""
1174
+ "Use this option only if you have set other pages for authorization. \n"
1175
+ " wpForo doesn't change its own URLs, these options "
1176
+ "are only for other plugin compatibility. \n"
1177
+ " For example, if you use BuddyPress or Ultimate "
1178
+ "Member plugin you can set these values:"
1179
+ msgstr ""
1180
+ "Naudokite šią opciją tik jei nustatėte kitus puslapius autorizacijai. \n"
1181
+ " wpForo nekeičia savo URL, šios opcijos skirtos kitų "
1182
+ "įskiepių pritaikymui. \n"
1183
+ " Pavyzdžiui, jei naudojate BuddyPress arba Ultimate "
1184
+ "Member įskiepį, galite nustatyti šias reikšmes:"
1185
+
1186
+ #: wpf-admin/options-tabs/members.php:44 wpf-admin/options-tabs/members.php:50
1187
+ #: wpf-includes/wpf-phrases.php:162
1188
+ msgid "Login URL"
1189
+ msgstr "Prisijungimo URL"
1190
+
1191
+ #: wpf-admin/options-tabs/members.php:45 wpf-admin/options-tabs/members.php:51
1192
+ #: wpf-includes/wpf-phrases.php:252
1193
+ msgid "Register URL"
1194
+ msgstr "Registracijos URL"
1195
+
1196
+ #: wpf-admin/options-tabs/members.php:52 wpf-includes/wpf-phrases.php:164
1197
+ msgid "Lost Password URL"
1198
+ msgstr "Prarasto Slaptažodžio URL"
1199
+
1200
+ #: wpf-admin/options-tabs/members.php:58
1201
+ msgid "Custom Redirection URLs after following actions"
1202
+ msgstr "Pritaikytas nukreipimo URL atlikus šiuos veiksmus"
1203
+
1204
+ #: wpf-admin/options-tabs/members.php:60
1205
+ msgid "For member profile, account and subscription pages use following URLs:"
1206
+ msgstr ""
1207
+ "Vartotojo profiliui, paskyros ir registracijos puslapiui naudokite šiuos URL:"
1208
+
1209
+ #: wpf-admin/options-tabs/members.php:72
1210
+ msgid "Redirect after login"
1211
+ msgstr "Nukreipti po prisijungimo"
1212
+
1213
+ #: wpf-admin/options-tabs/members.php:73
1214
+ msgid "Redirect after registration"
1215
+ msgstr "Nukreipti po registracijos"
1216
+
1217
+ #: wpf-admin/options-tabs/members.php:74
1218
+ msgid "Redirect after subscription confirmation"
1219
+ msgstr "Nukreipti po prenumeratos patvirtinimo"
1220
+
1221
+ #: wpf-admin/options-tabs/members.php:80 wpf-includes/wpf-phrases.php:175
1222
+ msgid "Member Reputation and Titles"
1223
+ msgstr "Vartotojų Reitingai ir Pavadinimai"
1224
+
1225
+ #: wpf-admin/options-tabs/members.php:84
1226
+ msgid "Member Custom Titles"
1227
+ msgstr "Vartotojų Pritaikyti Pavadinimai"
1228
+
1229
+ #: wpf-admin/options-tabs/members.php:93
1230
+ msgid "Member Custom Title by default"
1231
+ msgstr "Vartotojų Pritaikyti Pavadinimai pagal nutylėjimą"
1232
+
1233
+ #: wpf-admin/options-tabs/members.php:103 wpf-includes/wpf-phrases.php:247
1234
+ msgid "Rating Level"
1235
+ msgstr "Reitingo lygis"
1236
+
1237
+ #: wpf-admin/options-tabs/members.php:104 wpf-includes/wpf-phrases.php:185
1238
+ msgid "Min Number of Posts"
1239
+ msgstr "Mažiausias Įrašų skaičius"
1240
+
1241
+ #: wpf-admin/options-tabs/members.php:105 wpf-includes/wpf-phrases.php:176
1242
+ msgid "Member Title"
1243
+ msgstr "Vartotojo Pavadinimas"
1244
+
1245
+ #: wpf-admin/options-tabs/members.php:106 wpf-includes/wpf-phrases.php:293
1246
+ msgid "Short Badge"
1247
+ msgstr "Trumpas Ženkliukas"
1248
+
1249
+ #: wpf-admin/options-tabs/members.php:107 wpf-includes/wpf-phrases.php:128
1250
+ msgid "Full Badge"
1251
+ msgstr "Pilnas Ženkliukas"
1252
+
1253
+ #: wpf-admin/options-tabs/members.php:108 wpf-includes/wpf-phrases.php:245
1254
+ msgid "Rating Color"
1255
+ msgstr "Reitingo spalva"
1256
+
1257
+ #: wpf-admin/options-tabs/members.php:109 wpf-includes/wpf-phrases.php:246
1258
+ msgid "Rating Icon"
1259
+ msgstr "Reitingo Ikona"
1260
+
1261
+ #: wpf-admin/options-tabs/members.php:109 wpf-includes/wpf-phrases.php:187
1262
+ msgid "More"
1263
+ msgstr "Daugiau"
1264
+
1265
+ #: wpf-admin/options-tabs/members.php:114 wpf-includes/wpf-phrases.php:158
1266
+ msgid "Level"
1267
+ msgstr "Lygis"
1268
+
1269
+ #: wpf-admin/options-tabs/members.php:115 wpf-includes/wpf-phrases.php:211
1270
+ msgid "Number of Posts"
1271
+ msgstr "Įrašų skaičius"
1272
+
1273
+ #: wpf-admin/options-tabs/members.php:116 wpf-includes/wpf-phrases.php:63
1274
+ msgid "Custom Title"
1275
+ msgstr "Pritaikytas Pavadinimas"
1276
+
1277
+ #: wpf-admin/options-tabs/members.php:119 wpf-admin/usergroup.php:23
1278
+ #: wpf-includes/wpf-phrases.php:56
1279
+ msgid "Color"
1280
+ msgstr "Spalva"
1281
+
1282
+ #: wpf-admin/options-tabs/members.php:120 wpf-includes/wpf-phrases.php:48
1283
+ msgid "Badge Icon"
1284
+ msgstr "Ženkliuko spalva"
1285
+
1286
+ #: wpf-admin/options-tabs/members.php:126
1287
+ msgid "Enable Reputation Titles for selected usergroups"
1288
+ msgstr "Įgalinti Reputacijos Pavadinimus pažymėtoms vartotojų grupėms"
1289
+
1290
+ #: wpf-admin/options-tabs/members.php:127
1291
+ msgid ""
1292
+ "This option depends on \"Enable Member Rating Titles\" parent option, witch "
1293
+ "located in wpForo Settings > Features Tab"
1294
+ msgstr ""
1295
+ "Ši opcija priklauso nuo \"Įgalinti Vartotojų Reitingų Pavadinimus\" tėvinės "
1296
+ "opcijos, kurią galima rasti wpForo Nuostatos > Savybės Skiltyje"
1297
+
1298
+ #: wpf-admin/options-tabs/members.php:140
1299
+ msgid "Enable Reputation Badges for selected usergroups"
1300
+ msgstr "Įgalinti Reputacijos Ženkliukus pažymėtoms vartotojų grupėms"
1301
+
1302
+ #: wpf-admin/options-tabs/members.php:141
1303
+ msgid ""
1304
+ "This option depends on \"Enable Member Rating\" parent option, witch located "
1305
+ "in wpForo Settings > Features Tab"
1306
+ msgstr ""
1307
+ "Ši opcija priklauso nuo \"Įgalinti Vartotojų Reitingus\" tėvinės opcijos, "
1308
+ "kurią galima rasti wpForo Nuostatos > Savybės Skiltyje"
1309
+
1310
+ #: wpf-admin/options-tabs/members.php:154
1311
+ msgid "Display Usergroup under Post Author Avatar"
1312
+ msgstr "Rodyti Vartotojų Grupę po Įrašo Autoriaus Pseudoportretu"
1313
+
1314
+ #: wpf-admin/options-tabs/plugins.php:9
1315
+ msgid ""
1316
+ "Thank you for using wpForo. wpForo is a premium forum plugin which will "
1317
+ "always be available for free. There will never be paid and pro versions of "
1318
+ "this forum board. However this is a very large and hard project so we also "
1319
+ "develop paid addons (extensions), which will financially help us to keep "
1320
+ "improving and adding new features to the free wpForo plugin. Forum addons "
1321
+ "will also be actively developed. The first addons \"Advanced Media Uploader"
1322
+ "\", \"Polls\", \"Private Messages\" and \"Ad Manager\" will be available "
1323
+ "very soon. Once you got some addon and activated that, you will find "
1324
+ "settings in vertical subTabs here."
1325
+ msgstr ""
1326
+ "Dėkojame, kad naudojatės wpForo. wpForo yra premium įskiepis kuris visada "
1327
+ "liks nemokamas. Niekada nebus mokamų ar pro versijų. Tačiau tai yra labai "
1328
+ "didelis ir sunkus projektas. todėl mes taip pat kuriame mokamus papildymus "
1329
+ "(plėtinius), kurie padės mums finansiškai tobulinant ir papildant naujomis "
1330
+ "savybėmis nemokamą wpForo įskiepį. Forumo plėtiniai taip pat bus aktyviai "
1331
+ "kuriami. Pirmieji plėtiniai \"Pažangus Media Įkėliklis\", \"Apklausos\", "
1332
+ "\"Asmeninės žinutės\" ir \"Reklamų Valdiklis\" bus prieinami labai greitai. "
1333
+ "Gavus ir aktyvavus kurį nors plėtinįm jo nustatymus rasite vertikalioje "
1334
+ "subSkiltyje čia."
1335
+
1336
+ #: wpf-admin/options-tabs/posts.php:14
1337
+ msgid "Recent Posts Display Type"
1338
+ msgstr "Naujausių Įrašų Rodymo Tipas"
1339
+
1340
+ #: wpf-admin/options-tabs/posts.php:23 wpf-includes/wpf-phrases.php:213
1341
+ msgid "Number of Topics per Page"
1342
+ msgstr "Temų viename Lape skaičius"
1343
+
1344
+ #: wpf-admin/options-tabs/posts.php:27 wpf-includes/wpf-phrases.php:30
1345
+ msgid "Allow Edit Own Topic for"
1346
+ msgstr "Leisti Redaguoti Sukurtą Temą"
1347
+
1348
+ #: wpf-admin/options-tabs/posts.php:31 wpf-includes/wpf-phrases.php:27
1349
+ msgid "Allow Delete Own Topic for"
1350
+ msgstr "Leisti Trinti Sukurtą Temą"
1351
+
1352
+ #: wpf-admin/options-tabs/posts.php:35 wpf-includes/wpf-phrases.php:212
1353
+ msgid "Number of Posts per Page"
1354
+ msgstr "Įrašų viename lape skaičius"
1355
+
1356
+ #: wpf-admin/options-tabs/posts.php:39 wpf-includes/wpf-phrases.php:29
1357
+ msgid "Allow Edit Own Post for"
1358
+ msgstr "Leisti Redaguoti Sukurtą Įrašą"
1359
+
1360
+ #: wpf-admin/options-tabs/posts.php:43 wpf-includes/wpf-phrases.php:28
1361
+ msgid "Allow Delete Own post for"
1362
+ msgstr "Leisti Trinti Sukurtą Įrašą"
1363
+
1364
+ #: wpf-admin/options-tabs/posts.php:49 wpf-includes/wpf-phrases.php:169
1365
+ msgid "Maximum upload file size"
1366
+ msgstr "Didžiausias įkeliamos bylos dydis"
1367
+
1368
+ #: wpf-admin/options-tabs/posts.php:50 wpf-includes/wpf-phrases.php:370
1369
+ msgid ""
1370
+ "You can not set this value more than \"upload_max_filesize\" and "
1371
+ "\"post_max_size\". If you want to increase server parameters please contact "
1372
+ "to your hosting service support."
1373
+ msgstr ""
1374
+ "Negalima nustatyti didesnės reikšmės negu \"upload-max-filesize\" ir "
1375
+ "\"post_max_size\". Jei norite padidinti serverio nustatymus, prašome "
1376
+ "kreiptis į jūsų priežiūros paslaugas teikiančią tarnybą."
1377
+
1378
+ #: wpf-admin/options-tabs/posts.php:53 wpf-includes/wpf-phrases.php:166
1379
+ msgid "MB"
1380
+ msgstr "MB"
1381
+
1382
+ #: wpf-admin/options-tabs/posts.php:56 wpf-includes/wpf-phrases.php:288
1383
+ msgid "Server \"upload_max_filesize\" is "
1384
+ msgstr "Serverio \"upload_max_filesize\" yra "
1385
+
1386
+ #: wpf-admin/options-tabs/posts.php:57 wpf-includes/wpf-phrases.php:287
1387
+ msgid "Server \"post_max_size\" is "
1388
+ msgstr "Serverio \"post_max_size\" yra "
1389
+
1390
+ #: wpf-admin/options-tabs/posts.php:65
1391
+ msgid "Attachment click - message for non-permitted users"
1392
+ msgstr "Priedo paspaudimo žinutė neįgalintiems vartotojams"
1393
+
1394
+ #: wpf-admin/options-tabs/posts.php:66
1395
+ msgid ""
1396
+ "This message will be displayed when a non-permitted forum member clicks on "
1397
+ "attached file link in topic and posts."
1398
+ msgstr ""
1399
+ "Ši žinutė bus rodoma jei neįgalintas forumo narys paspaus prisegtą bylą "
1400
+ "temoje ar įraše."
1401
+
1402
+ #: wpf-admin/options-tabs/styles.php:13
1403
+ msgid "Font Sizes"
1404
+ msgstr "Šrifto dydžiai"
1405
+
1406
+ #: wpf-admin/options-tabs/styles.php:28 wpf-includes/wpf-phrases.php:480
1407
+ msgid "Post Content"
1408
+ msgstr "Įrašo Turinys"
1409
+
1410
+ #: wpf-admin/options-tabs/styles.php:36 wpf-includes/wpf-phrases.php:61
1411
+ msgid "Custom CSS Code"
1412
+ msgstr "Pritaikytas CSS Kodas"
1413
+
1414
+ #: wpf-admin/options-tabs/styles.php:43
1415
+ msgid "Forum Color Styles"
1416
+ msgstr "Forumo Spalvų Stiliai"
1417
+
1418
+ #: wpf-admin/options-tabs/styles.php:43
1419
+ msgid "Documentation"
1420
+ msgstr "Dokumentacija"
1421
+
1422
+ #: wpf-admin/options.php:8 wpf-includes/wpf-phrases.php:117
1423
+ msgid "Forum Settings"
1424
+ msgstr "Forumo nuostatos"
1425
+
1426
+ #: wpf-admin/options.php:14 wpf-includes/wpf-phrases.php:129
1427
+ msgid "General"
1428
+ msgstr "Pagrindinė informacija"
1429
+
1430
+ #: wpf-admin/options.php:16 wpf-includes/wpf-phrases.php:105
1431
+ msgid "Forum Accesses"
1432
+ msgstr "Forumo Prieigos"
1433
+
1434
+ #: wpf-admin/options.php:17 wpf-includes/wpf-phrases.php:339
1435
+ msgid "Topics &amp; Posts"
1436
+ msgstr "Temos &amp; Įrašai"
1437
+
1438
+ #: wpf-admin/options.php:19 wpf-includes/wpf-phrases.php:76
1439
+ msgid "Emails"
1440
+ msgstr "El. laiškai"
1441
+
1442
+ #: wpf-admin/options.php:20 wpf-includes/wpf-phrases.php:96
1443
+ msgid "Features"
1444
+ msgstr "Savybės"
1445
+
1446
+ #: wpf-admin/options.php:22 wpf-includes/wpf-phrases.php:311
1447
+ msgid "Styles"
1448
+ msgstr "Stiliai"
1449
+
1450
+ #: wpf-admin/options.php:23
1451
+ msgid "API's"
1452
+ msgstr "API"
1453
+
1454
+ #: wpf-admin/phrase.php:10 wpf-includes/wpf-phrases.php:127
1455
+ msgid "Front-end Phrases"
1456
+ msgstr "Front-endo frazės"
1457
+
1458
+ #: wpf-admin/themes.php:9 wpf-includes/wpf-phrases.php:120
1459
+ msgid "Forum Themes"
1460
+ msgstr "Forumo temos"
1461
+
1462
+ #: wpf-admin/themes.php:46 wpf-includes/wpf-phrases.php:60
1463
+ msgid "Current active theme"
1464
+ msgstr "Dabartinė aktyvi tema"
1465
+
1466
+ #: wpf-admin/themes.php:48 wpf-includes/wpf-phrases.php:138
1467
+ msgid "Inactive"
1468
+ msgstr "Neaktyvi"
1469
+
1470
+ #: wpf-admin/themes.php:52 wpf-includes/wpf-phrases.php:143
1471
+ msgid "LAYOUTS"
1472
+ msgstr "MAKETAI"
1473
+
1474
+ #: wpf-admin/themes.php:68 wpf-includes/wpf-phrases.php:17
1475
+ msgid "Activate"
1476
+ msgstr "Aktyvuoti"
1477
+
1478
+ #: wpf-admin/themes.php:69 wpf-includes/wpf-phrases.php:124
1479
+ msgid "Fresh Installation"
1480
+ msgstr "Šviežias Įdiegimas"
1481
+
1482
+ #: wpf-admin/themes.php:71 wpf-includes/wpf-phrases.php:140
1483
+ msgid "Install"
1484
+ msgstr "Įdiegimas"
1485
+
1486
+ #: wpf-admin/themes.php:73 wpf-includes/wpf-phrases.php:38
1487
+ msgid "Are you sure you want to delete this theme files?"
1488
+ msgstr "Ar tikrai norite šią temos bylą?"
1489
+
1490
+ #: wpf-admin/themes.php:76 wpf-includes/wpf-phrases.php:40
1491
+ msgid ""
1492
+ "Are you sure you want to reset all settings and style colors to default?"
1493
+ msgstr ""
1494
+ "Ar tikrai norite atšaukti visus nustatymus ir stiliaus spalvas į numatytas "
1495
+ "pagal nutylėjimą?"
1496
+
1497
+ #: wpf-admin/themes.php:76 wpf-includes/wpf-phrases.php:268
1498
+ msgid "Reset Settings"
1499
+ msgstr "Atšaukti Nuustatymus"
1500
+
1501
+ #: wpf-admin/themes.php:96 wpf-includes/wpf-phrases.php:201
1502
+ msgid "No layout found"
1503
+ msgstr "Nerasta maketų"
1504
+
1505
+ #: wpf-admin/themes.php:107 wpf-includes/wpf-phrases.php:206
1506
+ msgid "No theme found"
1507
+ msgstr "Tema nerasta"
1508
+
1509
+ #: wpf-admin/tools-tabs/antispam.php:11
1510
+ msgid ""
1511
+ "is not installed! For an advanced Spam Control please install Akismet "
1512
+ "antispam plugin, it works well with wpForo Spam Control system. Akismet is "
1513
+ "already integrated with wpForo. It'll help to filter posts and protect forum "
1514
+ "against spam attacks."
1515
+ msgstr ""
1516
+ "neįdiegtas! Pažangesnei Brukalo Kontrolėi prašome įdiegti Akismet įskiepį, "
1517
+ "kuris gerai veikia su wpForo Brukalo Kontrolės sistema. Akismet yra jau "
1518
+ "integruotas į wpForo. Jis padės filtruoti įrašus ir saugoti forumą nuo "
1519
+ "brukalo atakų."
1520
+
1521
+ #: wpf-admin/tools-tabs/antispam.php:21
1522
+ msgid "Spam Control"
1523
+ msgstr "Brukalo kontrolė"
1524
+
1525
+ #: wpf-admin/tools-tabs/antispam.php:22
1526
+ msgid ""
1527
+ "Some useful options to limit just registered users and minimize spam. This "
1528
+ "control don't affect users whose Usergroup has \"Can edit member\" and \"Can "
1529
+ "pass moderation\" permissions."
1530
+ msgstr ""
1531
+ "Kai kurios naudingos opcijos apriboja tik registruotus vartotojus ir mažina "
1532
+ "brukalą. Ši kontrolė neįtakoja vartotojų, kurių Vartotojų Grupė turi "
1533
+ "leidimus \"Gali redaguoti vartotojus\" ir \"Gali išvengti priežiūros\"."
1534
+
1535
+ #: wpf-admin/tools-tabs/antispam.php:28
1536
+ msgid "Enable wpForo Spam Control"
1537
+ msgstr "Įgalinti wpForo Brukalo kontrolę"
1538
+
1539
+ #: wpf-admin/tools-tabs/antispam.php:37
1540
+ msgid "Ban user when spam is suspected"
1541
+ msgstr "Užblokuoti vartotoją, įtariamą brukalu"
1542
+
1543
+ #: wpf-admin/tools-tabs/antispam.php:46
1544
+ msgid "Notify via email when new user is banned"
1545
+ msgstr "Informuoti el. paštu kai naujas vartotojas yra užblokuotas"
1546
+
1547
+ #: wpf-admin/tools-tabs/antispam.php:55
1548
+ msgid "Spam Suspicion Level for Topics"
1549
+ msgstr "Brukalo Įtarimo Lygis Temose"
1550
+
1551
+ #: wpf-admin/tools-tabs/antispam.php:59
1552
+ msgid "Spam Suspicion Level for Posts"
1553
+ msgstr "Brukalo Įtarimo Lygis Įrašuose"
1554
+
1555
+ #: wpf-admin/tools-tabs/antispam.php:64
1556
+ msgid " is enabled"
1557
+ msgstr " įgalinta"
1558
+
1559
+ #: wpf-admin/tools-tabs/antispam.php:73
1560
+ msgid "New Registered User"
1561
+ msgstr "Naujas Registruotas Narys"
1562
+
1563
+ #: wpf-admin/tools-tabs/antispam.php:74
1564
+ msgid ""
1565
+ "Some useful options to limit just registered users and minimize spam. These "
1566
+ "options don't affect users whose Usergroup has \"Can edit member\" and \"Can "
1567
+ "pass moderation\" permissions."
1568
+ msgstr ""
1569
+ "Kai kurios naudingos opcijos apriboja tik registruotus vartotojus ir mažina "
1570
+ "brukalą. Ši kontrolė neįtakoja vartotojų, kurių Vartotojų grupė turi "
1571
+ "leidimus \"Gali redaguoti vartotojus\" ir \"Gali išvengti priežiūros\"."
1572
+
1573
+ #: wpf-admin/tools-tabs/antispam.php:81
1574
+ msgid "User is New (under hard spam control) during"
1575
+ msgstr "Naujas Vartotojas (atliekama griežta brukalo kontrolė) iki"
1576
+
1577
+ #: wpf-admin/tools-tabs/antispam.php:83
1578
+ msgid "first"
1579
+ msgstr "pirmas"
1580
+
1581
+ #: wpf-admin/tools-tabs/antispam.php:83
1582
+ msgid "posts"
1583
+ msgstr "įrašai"
1584
+
1585
+ #: wpf-admin/tools-tabs/antispam.php:86
1586
+ msgid "Min number of posts to be able attach files"
1587
+ msgstr "Mažiausias įrašų skaičius, kad prisegti bylas"
1588
+
1589
+ #: wpf-admin/tools-tabs/antispam.php:90
1590
+ msgid "Min number of posts to be able post links"
1591
+ msgstr "Mažiausias įrašų skaičius, kad įkelti nuorodas"
1592
+
1593
+ #: wpf-admin/tools-tabs/antispam.php:95
1594
+ msgid "Do not allow to attach files with following extensions:"
1595
+ msgstr "Negalima įkelti bylų su šiais plėtiniais:"
1596
+
1597
+ #: wpf-admin/tools-tabs/antispam.php:105
1598
+ msgid "Google reCAPTCHA"
1599
+ msgstr "Google reCAPTCHA"
1600
+
1601
+ #: wpf-admin/tools-tabs/antispam.php:106
1602
+ msgid ""
1603
+ "reCAPTCHA protects you against spam and other types of automated abuse. It "
1604
+ "makes secure topic and post editors when Guest Posting is allowed, also it "
1605
+ "protects login and registration forms against spam attacks."
1606
+ msgstr ""
1607
+ "reCAPTCHA padeda jums kovoti prieš brukalą ir kitą automatinio pobūdžio "
1608
+ "poveikį. Jis padeda apsaugoti temų ir įrašų redaktorius kai Svečio Įrašai "
1609
+ "yra įgalinti, taip pat saugo prisijungimo ir registracijos formas nuo "
1610
+ "brukalo atakų."
1611
+
1612
+ #: wpf-admin/tools-tabs/antispam.php:108
1613
+ msgid "reCAPTCHA API keys"
1614
+ msgstr "reCAPTCHA API raktai"
1615
+
1616
+ #: wpf-admin/tools-tabs/antispam.php:110
1617
+ msgid ""
1618
+ "To start using reCAPTCHA, you need to sign up for an API key pair for your "
1619
+ "site."
1620
+ msgstr ""
1621
+ "Norėdami pradėti naudoti reCAPTCHA, turite prisijungti ir gauti API raktus "
1622
+ "jūsų svetainei."
1623
+
1624
+ #: wpf-admin/tools-tabs/antispam.php:111
1625
+ msgid "Register your site and get API keys here &raquo;"
1626
+ msgstr "Registruokite jūsų svetainę ir gaukite API raktus čia &raquo;"
1627
+
1628
+ #: wpf-admin/tools-tabs/antispam.php:118
1629
+ msgid "Site Key"
1630
+ msgstr "Svetainės Raktas"
1631
+
1632
+ #: wpf-admin/tools-tabs/antispam.php:124
1633
+ msgid "Secret Key"
1634
+ msgstr "Slaptas Raktas"
1635
+
1636
+ #: wpf-admin/tools-tabs/antispam.php:131
1637
+ msgid "reCAPTCHA Settings"
1638
+ msgstr "reCAPTCHA nuostatos"
1639
+
1640
+ #: wpf-admin/tools-tabs/antispam.php:136
1641
+ msgid "reCAPTCHA Theme"
1642
+ msgstr "reCAPTCHA Tema"
1643
+
1644
+ #: wpf-admin/tools-tabs/antispam.php:139
1645
+ msgid "Light"
1646
+ msgstr "Šviesi"
1647
+
1648
+ #: wpf-admin/tools-tabs/antispam.php:140
1649
+ msgid "Dark"
1650
+ msgstr "Tamsi"
1651
+
1652
+ #: wpf-admin/tools-tabs/antispam.php:145
1653
+ msgid "Guest Topic Editor"
1654
+ msgstr "Svečio Temos Redaktorius"
1655
+
1656
+ #: wpf-admin/tools-tabs/antispam.php:154
1657
+ msgid "Guest Post Editor"
1658
+ msgstr "Svečio Įrašo Redaktorius"
1659
+
1660
+ #: wpf-admin/tools-tabs/antispam.php:164
1661
+ msgid "wpForo Login Form"
1662
+ msgstr "wpForo Prisijungimo Forma"
1663
+
1664
+ #: wpf-admin/tools-tabs/antispam.php:173
1665
+ msgid "wpForo Registration Form"
1666
+ msgstr "wpForo Registracijos Forma"
1667
+
1668
+ #: wpf-admin/tools-tabs/antispam.php:182
1669
+ msgid "wpForo Reset Password Form"
1670
+ msgstr "wpForo Slaptažodžio Atšaukimo Forma"
1671
+
1672
+ #: wpf-admin/tools-tabs/antispam.php:191
1673
+ msgid "WordPress Login Form"
1674
+ msgstr "WordPress Prisijungimo Forma"
1675
+
1676
+ #: wpf-admin/tools-tabs/antispam.php:200
1677
+ msgid "WordPress Registration Form"
1678
+ msgstr "WordPress Registracijos Forma"
1679
+
1680
+ #: wpf-admin/tools-tabs/antispam.php:209
1681
+ msgid "WordPress Reset Password Form"
1682
+ msgstr "WordPress Slaptažodžio Atšaukimo Forma"
1683
+
1684
+ #: wpf-admin/tools-tabs/antispam.php:228
1685
+ msgid "Possible Spam Attachments"
1686
+ msgstr "Galimi Brukalo Priedai"
1687
+
1688
+ #: wpf-admin/tools-tabs/antispam.php:229
1689
+ msgid ""
1690
+ "This tool is designed to find attachment which have been uploaded by "
1691
+ "spammers. The tool checks most common spammer filenames and suggest to "
1692
+ "delete but you should check one by one and make sure those are spam files "
1693
+ "before deleting."
1694
+ msgstr ""
1695
+ "Šis įrankis sukurtas rasti priedus, kurie galėtų būti įkelti brukalo "
1696
+ "skleidėjų. Įrankis tikrina brukalo skleidėjų dažniausiai naudojamus bylų "
1697
+ "pavadinimus ir siūlo trinti, tačiau jūs turite patikrinti kiekvieną jų ir "
1698
+ "prieš trindami įsitikinti kad tai tikrai brukalas."
1699
+
1700
+ #: wpf-admin/tools-tabs/antispam.php:231
1701
+ msgid "Directory"
1702
+ msgstr "Aplankas"
1703
+
1704
+ #: wpf-admin/tools-tabs/antispam.php:258
1705
+ msgid "Delete this file"
1706
+ msgstr "Trinti šią bylą"
1707
+
1708
+ #: wpf-admin/tools-tabs/antispam.php:258
1709
+ msgid "Are you sure you want to permanently delete this file?"
1710
+ msgstr "Ar Jūs tikrai norite visam laikui ištrinti šią bylą?"
1711
+
1712
+ #: wpf-admin/tools-tabs/antispam.php:269
1713
+ msgid "Click to delete Blue marked files"
1714
+ msgstr "Spauskite kad trinti Melynai pažymėtas bylas"
1715
+
1716
+ #: wpf-admin/tools-tabs/antispam.php:270
1717
+ msgid ""
1718
+ "Are you sure you want to delete all BLUE marked files listed here. Please "
1719
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1720
+ "before deleting files, this is not undoable."
1721
+ msgstr ""
1722
+ "Ar tikrai norite ištrinti visas Melynai pažymėtas nurodytas bylas. Prieš "
1723
+ "trindami bylas prašome parsisiųsti Wordpress /wp-content/uploads/wpforo/ "
1724
+ "aplanką į jūsų kompiuterį, tai neatstatoma."
1725
+
1726
+ #: wpf-admin/tools-tabs/antispam.php:271 wpf-admin/tools-tabs/antispam.php:277
1727
+ #: wpf-admin/tools-tabs/antispam.php:283 wpf-admin/tools-tabs/antispam.php:289
1728
+ msgid "Delete All"
1729
+ msgstr "Trinti Viską"
1730
+
1731
+ #: wpf-admin/tools-tabs/antispam.php:274
1732
+ msgid "Click to delete Orange marked files"
1733
+ msgstr "Spauskite kad trinti Oranžine spalva pažymėtas bylas"
1734
+
1735
+ #: wpf-admin/tools-tabs/antispam.php:276
1736
+ msgid ""
1737
+ "Are you sure you want to delete all ORANGE marked files listed here. Please "
1738
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1739
+ "before deleting files, this is not undoable."
1740
+ msgstr ""
1741
+ "Ar tikrai norite ištrinti visas Oranžine spalva pažymėtas nurodytas bylas. "
1742
+ "Prieš trindami bylas prašome parsisiųsti Wordpress /wp-content/uploads/"
1743
+ "wpforo/ aplanką į jūsų kompiuterį, tai neatstatoma."
1744
+
1745
+ #: wpf-admin/tools-tabs/antispam.php:280
1746
+ msgid "Click to delete Red marked files"
1747
+ msgstr "Spauskite kad trinti Raudonai pažymėtas bylas"
1748
+
1749
+ #: wpf-admin/tools-tabs/antispam.php:282
1750
+ msgid ""
1751
+ "Are you sure you want to delete all RED marked files listed here. Please "
1752
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1753
+ "before deleting files, this is not undoable."
1754
+ msgstr ""
1755
+ "Ar tikrai norite ištrinti visas Raudonai pažymėtas nurodytas bylas. Prieš "
1756
+ "trindami bylas prašome parsisiųsti Wordpress /wp-content/uploads/wpforo/ "
1757
+ "aplanką į jūsų kompiuterį, tai neatstatoma."
1758
+
1759
+ #: wpf-admin/tools-tabs/antispam.php:286
1760
+ msgid "Click to delete Dark Red marked files"
1761
+ msgstr "Spauskite kad trinti Tamsiai Raudonai pažymėtas bylas"
1762
+
1763
+ #: wpf-admin/tools-tabs/antispam.php:288
1764
+ msgid ""
1765
+ "Are you sure you want to delete all DARK RED marked files listed here. "
1766
+ "Please download Wordpress /wp-content/uploads/wpforo/ folder to your local "
1767
+ "computer before deleting files, this is not undoable."
1768
+ msgstr ""
1769
+ "Ar tikrai norite ištrinti visas Tamsiai Raudonai pažymėtas nurodytas bylas. "
1770
+ "Prieš trindami bylas prašome parsisiųsti Wordpress /wp-content/uploads/"
1771
+ "wpforo/ aplanką į jūsų kompiuterį, tai neatstatoma."
1772
+
1773
+ #: wpf-admin/tools-tabs/cleanup.php:12
1774
+ msgid "Delete Inactive Users"
1775
+ msgstr "Trinti Neaktyvius Vartotojus"
1776
+
1777
+ #: wpf-admin/tools-tabs/cleanup.php:13
1778
+ msgid ""
1779
+ "Inactive users are the account owners who have no topics, posts, comments "
1780
+ "and subscriptions for new content. In 99&#37; cases this kind of accounts "
1781
+ "are being registered by Spammers. This tool allows you to only keep active "
1782
+ "and known inactive users."
1783
+ msgstr ""
1784
+ "Neaktyvūs Vartotojai yra paskyrų savininkai, kurie nėra paskelbę įrašų, "
1785
+ "temų, komentarų ir nepriregistruoti prie naujo turinio. 99&#37; atvejais "
1786
+ "šios paskyros registruojamos kaip Brukalo skleidėjai. Šis įrankis sudaro "
1787
+ "galimybę jums išsaugoti tik aktyvius ar žinomus neaktyvius vartotojus."
1788
+
1789
+ #: wpf-admin/tools-tabs/cleanup.php:19
1790
+ msgid "Inactive users who have been registered more than"
1791
+ msgstr "Neaktyvūs vartotojai, kurie užregistravo daugiau kaip"
1792
+
1793
+ #: wpf-admin/tools-tabs/cleanup.php:20
1794
+ msgid "days ago"
1795
+ msgstr "dienas (prieš)"
1796
+
1797
+ #: wpf-admin/tools-tabs/cleanup.php:25
1798
+ msgid "Filter by Usergroups"
1799
+ msgstr "Fltruoti pagal Vartotjų Grupes"
1800
+
1801
+ #: wpf-admin/tools-tabs/cleanup.php:36
1802
+ msgid "Enable Auto-cleanup of inactive users"
1803
+ msgstr "Įgalinti neaktyvių vartotojų Auto-valymą"
1804
+
1805
+ #: wpf-admin/tools-tabs/misc.php:10
1806
+ msgid "SEO Tools"
1807
+ msgstr "SEO įrankiai"
1808
+
1809
+ #: wpf-admin/tools-tabs/misc.php:18
1810
+ msgid "Allowed dofollow domains"
1811
+ msgstr "Leistini dofollow domenų vardai"
1812
+
1813
+ #: wpf-admin/tools-tabs/misc.php:19
1814
+ msgid ""
1815
+ "wpForo adds nofollow to all links with external URLs. If you want to keep "
1816
+ "some domains as internal please insert domains one per line in the textarea "
1817
+ "bellow."
1818
+ msgstr ""
1819
+ "woForo prideda nofollow visoms nuorodoms su išorės URL. Jei norite išsaugoti "
1820
+ "kai kuriuos domenus kaip vidinius, prašome įrašyti žemiau esančiame teksto "
1821
+ "lauke domenus (po vieną eilutėje)."
1822
+
1823
+ #: wpf-admin/tools-tabs/misc.php:26
1824
+ msgid "Noindex forum page URLs"
1825
+ msgstr "Neindeksuojami forumo puslapio URL"
1826
+
1827
+ #: wpf-admin/tools-tabs/misc.php:27
1828
+ msgid ""
1829
+ "The noIndex code tells Google and other search engines to NOT index the "
1830
+ "page, so that it cannot be found in search results. Please insert page URLs "
1831
+ "you do not want to be indexed one per line in the textarea bellow."
1832
+ msgstr ""
1833
+ "Neindeksavimo kodas parodo Google ar kitoms paieškos tarnyboms NEINDEKSUOTI "
1834
+ "puslapio, kad jis nebūtų rodomas paieškos rezultatuose. Prašome nurodyti "
1835
+ "puslapio URL, kurių nenorite indeksuoti žemiau nurodytame teksto lauke (po "
1836
+ "vieną eilutėje)."
1837
+
1838
+ #: wpf-admin/tools.php:8
1839
+ msgid "Forum Tools"
1840
+ msgstr "Forumo įrankiai"
1841
+
1842
+ #: wpf-admin/tools.php:14
1843
+ msgid "Antispam"
1844
+ msgstr "AntiBrukalas"
1845
+
1846
+ #: wpf-admin/tools.php:15
1847
+ msgid "Cleanup"
1848
+ msgstr "Valyti"
1849
+
1850
+ #: wpf-admin/tools.php:16
1851
+ msgid "Misc"
1852
+ msgstr "Kita"
1853
+
1854
+ #: wpf-admin/usergroup.php:18
1855
+ msgid "Usergroup id"
1856
+ msgstr "Vartotojų Grupės id"
1857
+
1858
+ #: wpf-admin/usergroup.php:19 wpf-admin/usergroup.php:44
1859
+ #: wpf-admin/usergroup.php:87
1860
+ msgid "Usergroup Name"
1861
+ msgstr "Vartotojų Grupės Pavadinimas"
1862
+
1863
+ #: wpf-admin/usergroup.php:20
1864
+ msgid "Users Count"
1865
+ msgstr "Vartotojų skaičius"
1866
+
1867
+ #: wpf-admin/usergroup.php:21
1868
+ msgid "New Users Default Group"
1869
+ msgstr "Naujų Vartotojų Numatytoji Grupė"
1870
+
1871
+ #: wpf-admin/usergroup.php:22
1872
+ msgid "Default Access"
1873
+ msgstr "Numatytoji prieiga"
1874
+
1875
+ #: wpf-admin/usergroup.php:34
1876
+ msgid "Edit this usergroup"
1877
+ msgstr "Redaguoti šią vartotojų grupę"
1878
+
1879
+ #: wpf-admin/usergroup.php:34 wpf-includes/wpf-phrases.php:73
1880
+ msgid "Edit"
1881
+ msgstr "Redaguoti"
1882
+
1883
+ #: wpf-admin/usergroup.php:36
1884
+ msgid "Delete this usergroup"
1885
+ msgstr "Trinti šią vartotojų grupę"
1886
+
1887
+ #: wpf-admin/usergroup.php:38
1888
+ msgid "View users list in this usergroup"
1889
+ msgstr "Peržiūrėti šios vartotojų grupės narių sąrašą"
1890
+
1891
+ #: wpf-admin/usergroup.php:50
1892
+ msgid "Count of users in this usergroup"
1893
+ msgstr "Vartotojų grupės narių skaičius"
1894
+
1895
+ #: wpf-admin/usergroup.php:55
1896
+ msgid "is Default"
1897
+ msgstr "yra Numatytasis"
1898
+
1899
+ #: wpf-admin/usergroup.php:57
1900
+ msgid "DO NOT set this option on higher level user groups !!!"
1901
+ msgstr "NENUSTATYKITE šios opcijos aukštesnio lygmens vartotojo grupėms !!!"
1902
+
1903
+ #: wpf-admin/usergroup.php:57
1904
+ msgid "Set as Default"
1905
+ msgstr "Nustatyti kaip Numatytajį"
1906
+
1907
+ #: wpf-admin/usergroup.php:65
1908
+ msgid "default (#15)"
1909
+ msgstr "numatytasis (#15)"
1910
+
1911
+ #: wpf-admin/usergroup.php:87 wpf-includes/wpf-phrases.php:133
1912
+ msgid "Guest"
1913
+ msgstr "Svečias"
1914
+
1915
+ #: wpf-admin/usergroup.php:102
1916
+ msgid "Usergroup Color"
1917
+ msgstr "Vartotojų Grupės spalva"
1918
+
1919
+ #: wpf-admin/usergroup.php:103
1920
+ msgid "use default link color"
1921
+ msgstr "naudoti numatytąją nuorodos spalvą"
1922
+
1923
+ #: wpf-admin/usergroup.php:124
1924
+ msgid "WordPress User Role"
1925
+ msgstr "WordPress Vartotojo Rolė"
1926
+
1927
+ #: wpf-admin/usergroup.php:133
1928
+ msgid "Default Forum Access"
1929
+ msgstr "Numatytoji forumo prieiga"
1930
+
1931
+ #: wpf-admin/usergroup.php:141
1932
+ msgid ""
1933
+ "This is only used when a new Usergroup is created, it automatically gets the "
1934
+ "selected Forum Access in all forums."
1935
+ msgstr ""
1936
+ "Tai naudojama tik tada, kai sukurta nauja Vartotojų Grupė, ji automatiškai "
1937
+ "įgaus Forumo Prieigą visuose forumuose."
1938
+
1939
+ #: wpf-admin/usergroup.php:145
1940
+ msgid "Display on Members List"
1941
+ msgstr "Rodyti Narių sąraše"
1942
+
1943
+ #: wpf-admin/usergroup.php:164 wpf-includes/wpf-phrases.php:374
1944
+ msgid "add"
1945
+ msgstr "pridėti"
1946
+
1947
+ #: wpf-admin/usergroup.php:164
1948
+ msgid "save"
1949
+ msgstr "išsaugoti"
1950
+
1951
+ #: wpf-admin/usergroup.php:185
1952
+ msgid "Delete Chosen Usergroup And Users"
1953
+ msgstr "Trinti šią Vartotojų Grupę ir Vartotojus"
1954
+
1955
+ #: wpf-admin/usergroup.php:195
1956
+ msgid "Delete Chosen Usergroup And Join Users To Other Usergroup"
1957
+ msgstr ""
1958
+ "Trinti šią Vartotojų Grupę ir prijungti Vartotojus prie kitos Vartotojų "
1959
+ "Grupės"
1960
+
1961
+ #: wpf-admin/usergroup.php:207
1962
+ msgid "Users will be join this usergroup"
1963
+ msgstr "Vartotojai bus prijungti prie šios vartotojų grupės"
1964
+
1965
+ #: wpf-includes/class-api.php:140
1966
+ msgid "Please login into Facebook and then click connect button again"
1967
+ msgstr ""
1968
+ "Prašome prisijungti prie Facebook ir vėl paspausti prisijungimo mygtuką"
1969
+
1970
+ #: wpf-includes/class-api.php:167
1971
+ msgid ""
1972
+ "Your email is required to be able authorize you here. Please try loging "
1973
+ "again. "
1974
+ msgstr ""
1975
+ "Jūsų el. pašto adresas reikalingas jūsų autorizacijai. Prašome dar kartą "
1976
+ "pabandyti prisijungti. "
1977
+
1978
+ #: wpf-includes/class-api.php:172
1979
+ msgid "Invalid User"
1980
+ msgstr "Negalimas Vartotojas"
1981
+
1982
+ #: wpf-includes/class-api.php:182 wpf-includes/wpf-phrases.php:639
1983
+ msgid "User registration is disabled"
1984
+ msgstr "Vartotojų registracija sustabdyta"
1985
+
1986
+ #: wpf-includes/class-forums.php:666
1987
+ msgid "Add a new Subforum"
1988
+ msgstr "Pridėti naują Subforumą"
1989
+
1990
+ #: wpf-includes/class-forums.php:666
1991
+ msgid "Add a new Forum in this Category"
1992
+ msgstr "Pridėti naują Forumą šioje Kategorijoje"
1993
+
1994
+ #: wpf-includes/class-members.php:240
1995
+ msgid "<strong>ERROR</strong>: Please enter a username."
1996
+ msgstr "<strong>KLAIDA</strong>: Prašome įvesti vartotojo vardą."
1997
+
1998
+ #: wpf-includes/class-members.php:244
1999
+ msgid ""
2000
+ "<strong>ERROR</strong>: This username is invalid because it uses illegal "
2001
+ "characters. Please enter a valid username."
2002
+ msgstr ""
2003
+ "<strong>KLAIDA</strong>: Šis vartotojo vardas negalimas, nes jame naudojami "
2004
+ "neleistini simboliai. Prašome įvesti tinkamą vartotojo vardą."
2005
+
2006
+ #: wpf-includes/class-members.php:253
2007
+ msgid ""
2008
+ "<strong>ERROR</strong>: This username is already registered. Please choose "
2009
+ "another one."
2010
+ msgstr ""
2011
+ "<strong>KLAIDA</strong>: Šis vartotojo vardas jau užregistruotas. Prašome "
2012
+ "pasirinkti kitą."
2013
+
2014
+ #: wpf-includes/class-members.php:257
2015
+ msgid "<strong>ERROR</strong>: Sorry, that username is not allowed."
2016
+ msgstr "<strong>KLAIDA</strong>: Atsiprašome, šis vartotojo vardas negalimas."
2017
+
2018
+ #: wpf-includes/class-members.php:261
2019
+ msgid "<strong>ERROR</strong>: Please type your email address."
2020
+ msgstr "<strong>KLAIDA</strong>: Prašome įvesti el. pašto adresą."
2021
+
2022
+ #: wpf-includes/class-members.php:265
2023
+ msgid "<strong>ERROR</strong>: The email address isn&#8217;t correct."
2024
+ msgstr "<strong>KLAIDA</strong>: Atsiprašome, el. pašto adresas neteisingas."
2025
+
2026
+ #: wpf-includes/class-members.php:270
2027
+ msgid ""
2028
+ "<strong>ERROR</strong>: This email is already registered, please choose "
2029
+ "another one."
2030
+ msgstr ""
2031
+ "<strong>KLAIDA</strong>: Šis el. pašto adresas jau užregistruotas. Prašome "
2032
+ "pasirinkti kitą."
2033
+
2034
+ #: wpf-includes/class-members.php:1309
2035
+ msgid "What should be done with wpForo content owned by this user?"
2036
+ msgstr "Ką daryti su šio vartotojo wpForo sukurtu turiniu?"
2037
+
2038
+ #: wpf-includes/class-members.php:1311
2039
+ msgid "What should be done with wpForo content owned by these users?"
2040
+ msgstr "Ką daryti su šių vartotojų wpForo sukurtu turiniu?"
2041
+
2042
+ #: wpf-includes/class-members.php:1315
2043
+ msgid "Delete all wpForo content."
2044
+ msgstr "Trinti visą wpForo turinį."
2045
+
2046
+ #: wpf-includes/class-members.php:1317
2047
+ msgid "Attribute all content to:"
2048
+ msgstr "Priskirti visą turinį:"
2049
+
2050
+ #: wpf-includes/class-moderation.php:159
2051
+ #, php-format
2052
+ msgid ""
2053
+ "Probably spam file attachments have been detected by wpForo Spam Control. "
2054
+ "Please moderate suspected files here %s"
2055
+ msgstr ""
2056
+ "Brukalo kontrolė nustatė galimą brukalo bylos priedą. Prašome peržiūrėti "
2057
+ "įtartinas bylas čia %s"
2058
+
2059
+ #: wpf-includes/class-notices.php:118 wpf-includes/wpf-phrases.php:69
2060
+ msgid "Dismiss this notice."
2061
+ msgstr "Šalinti žinutę."
2062
+
2063
+ #: wpf-includes/class-notices.php:155
2064
+ msgid "New Addons for Your Forum!"
2065
+ msgstr "Nauji Jūsų Forumo Plėtiniai!"
2066
+
2067
+ #: wpf-includes/class-notices.php:155
2068
+ msgid "Extend your forum with wpForo addons"
2069
+ msgstr "Išplėsti forumą wpForo plėtiniais"
2070
+
2071
+ #: wpf-includes/class-notices.php:168
2072
+ msgid "View all Addons"
2073
+ msgstr "Peržiūrėti visus Plėtinius"
2074
+
2075
+ #: wpf-includes/class-permissions.php:125 wpf-includes/wpf-phrases.php:420
2076
+ #, php-format
2077
+ msgid "%s access successfully added"
2078
+ msgstr "%s prieiga sėkmingai sukurta"
2079
+
2080
+ #: wpf-includes/class-permissions.php:149 wpf-includes/wpf-phrases.php:421
2081
+ #, php-format
2082
+ msgid "%s access successfully edited"
2083
+ msgstr "%s prieiga sėkmingai pakeista"
2084
+
2085
+ #: wpf-includes/class-phrases.php:181 wpf-includes/wpf-phrases.php:7
2086
+ msgid " Forum"
2087
+ msgstr " Forumas"
2088
+
2089
+ #: wpf-includes/class-phrases.php:182 wpf-includes/wpf-phrases.php:6
2090
+ msgid " Discussion Board"
2091
+ msgstr " Diskusijų Lenta"
2092
+
2093
+ #: wpf-includes/class-posts.php:35
2094
+ msgid "You are not permitted to view this attachment"
2095
+ msgstr "Jūs neturite prieigos peržiūrėti šio priedo"
2096
+
2097
+ #: wpf-includes/class-template.php:80
2098
+ msgid "Insert link"
2099
+ msgstr "Įterpti nuorodą"
2100
+
2101
+ #: wpf-includes/class-template.php:81
2102
+ msgid "Link Text"
2103
+ msgstr "Nuorodos tekstas"
2104
+
2105
+ #: wpf-includes/class-template.php:82
2106
+ msgid "Open link in a new tab"
2107
+ msgstr "Atverti nuorodą naujoje skiltyje"
2108
+
2109
+ #: wpf-includes/class-template.php:1403 wpf-includes/wpf-phrases.php:327
2110
+ msgid "Theme file not readable"
2111
+ msgstr "Temos byla neskaitoma"
2112
+
2113
+ #: wpf-includes/functions-installation.php:665
2114
+ msgid "Start Profile Synchronization"
2115
+ msgstr "Pradėti Profilio Sinchronizavimą"
2116
+
2117
+ #: wpf-includes/functions-installation.php:665
2118
+ msgid "Continue Synchronization"
2119
+ msgstr "Tęsti Sinchronizavimą"
2120
+
2121
+ #: wpf-includes/functions-installation.php:668
2122
+ msgid ""
2123
+ "This process may take a few seconds or dozens of minutes, please be patient "
2124
+ "and don't close this page."
2125
+ msgstr ""
2126
+ "Šis procesas gali užtrukti keletą minučių, prašome būti kantriems ir "
2127
+ "neužverti šio lango."
2128
+
2129
+ #: wpf-includes/functions-installation.php:669
2130
+ msgid ""
2131
+ "You can permanently disable this message in Dashboard > Forums > Features "
2132
+ "admin page."
2133
+ msgstr ""
2134
+ "Jūs galite visam laikui atsisakyti šios žinutės Valdymo Skydelyje > Forumai "
2135
+ "> Features administratoriaus puslapyje."
2136
+
2137
+ #: wpf-includes/functions-installation.php:671
2138
+ msgid "wpForo Forum Installation | "
2139
+ msgstr "wpForo Forumo Įdiegimas | "
2140
+
2141
+ #: wpf-includes/functions-installation.php:672
2142
+ msgid ""
2143
+ "Forum users' profile data are not synchronized yet, this step is required! "
2144
+ "Please click the button below to complete installation."
2145
+ msgstr ""
2146
+ "Forumo vartotojo profilio duomenys dar nėra sinchronizuoti, šis žingsnis yra "
2147
+ "reikalingas! Prašome spustelėti mygtuką žemiau ir užbaigti įdiegimą."
2148
+
2149
+ #: wpf-includes/functions-installation.php:684
2150
+ msgid ""
2151
+ "This process may take a few seconds or dozens of minutes, please be patient "
2152
+ "and don't close this page. Database backup is not required. If you got 500 "
2153
+ "Server Error please don't worry, the data updating process is still working "
2154
+ "in MySQL server."
2155
+ msgstr ""
2156
+ "Šis procesas gali užtrukti keletą minučių, prašome būti kantriems ir "
2157
+ "neužverti šio lango. Duomenų bazės atsarginė kopija nėra reikalinga. Jeigu "
2158
+ "gavote 500 Server Error, nesijaudinkite, duomenų atnaujinimo procesas veikia "
2159
+ "toliau MySQL serveryje."
2160
+
2161
+ #: wpf-includes/functions-installation.php:685
2162
+ msgid "Updater Database"
2163
+ msgstr "Atnaujintojo Duomenų Bazė"
2164
+
2165
+ #: wpf-includes/functions-installation.php:686
2166
+ msgid "wpForo - Update Database "
2167
+ msgstr "wpForo - Atnaujinti Duomenų Bazę "
2168
+
2169
+ #: wpf-includes/functions-installation.php:687
2170
+ msgid "Please click the button below to complete wpForo update."
2171
+ msgstr "Prašome spustelėti mygtuką žemiau ir užbaigti wpForo atnaujinimą."
2172
+
2173
+ #: wpf-includes/functions-template.php:7
2174
+ msgid "wpForo Menu"
2175
+ msgstr "wpForo Meniu"
2176
+
2177
+ #: wpf-includes/functions-template.php:156 wpf-includes/wpf-phrases.php:410
2178
+ msgid "wpForo Sidebar"
2179
+ msgstr "wpForo Šoninis Skydelis"
2180
+
2181
+ #: wpf-includes/functions-template.php:157 wpf-includes/wpf-phrases.php:191
2182
+ msgid ""
2183
+ "NOTE: If you're going to add widgets in this sidebar, please use 'Full "
2184
+ "Width' template for wpForo index page to avoid sidebar duplication."
2185
+ msgstr ""
2186
+ "DĖMĖSIO: Jei ruošiatės į šoninį skydelį įkelti valdiklius, prašome naudoti "
2187
+ "\"Pilnas plotis\" wpForo turinio maketą, kad nedubliuoti šoninio skydelio."
2188
+
2189
+ #: wpf-includes/functions-template.php:195
2190
+ #: wpf-includes/functions-template.php:301
2191
+ #: wpf-includes/functions-template.php:363
2192
+ #: wpf-includes/functions-template.php:445
2193
+ #: wpf-includes/functions-template.php:528
2194
+ #: wpf-includes/functions-template.php:574 wpf-includes/wpf-phrases.php:334
2195
+ msgid "Title"
2196
+ msgstr "Pavadinimas"
2197
+
2198
+ #: wpf-includes/functions-template.php:366
2199
+ #: wpf-includes/functions-template.php:448
2200
+ #: wpf-includes/functions-template.php:531 wpf-includes/wpf-phrases.php:210
2201
+ msgid "Number of Items"
2202
+ msgstr "Elementų skaičius"
2203
+
2204
+ #: wpf-includes/functions-template.php:371 wpf-includes/wpf-phrases.php:70
2205
+ msgid "Display Avatars"
2206
+ msgstr "Rodyti Pseudoportretus"
2207
+
2208
+ #: wpf-includes/functions-template.php:452
2209
+ #: wpf-includes/functions-template.php:535 wpf-includes/wpf-phrases.php:72
2210
+ msgid "Display with Avatars"
2211
+ msgstr "Rodyti su Pseudoportretais"
2212
+
2213
+ #: wpf-includes/functions.php:367
2214
+ msgid "Unapproved"
2215
+ msgstr "Nepatvirtinta"
2216
+
2217
+ #: wpf-includes/functions.php:368
2218
+ msgid "Published"
2219
+ msgstr "Paskelbta"
2220
+
2221
+ #: wpf-includes/functions.php:377 wpf-includes/wpf-phrases.php:598
2222
+ msgid "Active"
2223
+ msgstr "Aktyvi"
2224
+
2225
+ #: wpf-includes/functions.php:378
2226
+ msgid "Banned"
2227
+ msgstr "Užblokuotas"
2228
+
2229
+ #: wpf-includes/functions.php:391 wpf-includes/functions.php:693
2230
+ #: wpf-includes/wpf-phrases.php:50
2231
+ msgid "Bulk Actions"
2232
+ msgstr "Kiti Veiksmai"
2233
+
2234
+ #: wpf-includes/functions.php:396 wpf-includes/functions.php:797
2235
+ #: wpf-includes/wpf-phrases.php:36
2236
+ msgid "Apply"
2237
+ msgstr "Pritaikyti"
2238
+
2239
+ #: wpf-includes/functions.php:405 wpf-includes/wpf-phrases.php:300
2240
+ msgid "Show all forums"
2241
+ msgstr "Rodyti visus Forumus"
2242
+
2243
+ #: wpf-includes/functions.php:418 wpf-includes/wpf-phrases.php:350
2244
+ msgid "filter by group"
2245
+ msgstr "filtruoti pagal grupę"
2246
+
2247
+ #: wpf-includes/functions.php:430
2248
+ msgid "filter by status"
2249
+ msgstr "filtruoti pagal statusą"
2250
+
2251
+ #: wpf-includes/functions.php:446
2252
+ msgid "filter by package"
2253
+ msgstr "filtruoti pagal sudėtį"
2254
+
2255
+ #: wpf-includes/functions.php:475
2256
+ msgid "filter by user"
2257
+ msgstr "filtruoti pagal vartotoją"
2258
+
2259
+ #: wpf-includes/functions.php:495 wpf-includes/functions.php:701
2260
+ #: wpf-includes/wpf-phrases.php:385
2261
+ msgid "item"
2262
+ msgstr "elementas"
2263
+
2264
+ #: wpf-includes/functions.php:528 wpf-includes/functions.php:544
2265
+ #: wpf-includes/wpf-phrases.php:284
2266
+ msgid "Select All"
2267
+ msgstr "Žymėti viską"
2268
+
2269
+ #: wpf-includes/functions.php:533 wpf-includes/functions.php:549
2270
+ msgid "Type"
2271
+ msgstr "Tipas"
2272
+
2273
+ #: wpf-includes/functions.php:606 wpf-includes/wpf-phrases.php:383
2274
+ msgid "edit user"
2275
+ msgstr "redaguoti varotoją"
2276
+
2277
+ #: wpf-includes/functions.php:610 wpf-includes/wpf-phrases.php:382
2278
+ msgid "edit profile"
2279
+ msgstr "redaguoti profilį"
2280
+
2281
+ #: wpf-includes/functions.php:615
2282
+ msgid "unban user"
2283
+ msgstr "atblokuoti vartotoją"
2284
+
2285
+ #: wpf-includes/functions.php:615
2286
+ msgid "ban user"
2287
+ msgstr "užblokuoti vartotoją"
2288
+
2289
+ #: wpf-includes/functions.php:615
2290
+ msgid "Are you sure, you want to unban this user?"
2291
+ msgstr "Ar tikrai norite atblokuoti šį vartotoją?"
2292
+
2293
+ #: wpf-includes/functions.php:615
2294
+ msgid "Are you sure, you want to ban this user?"
2295
+ msgstr "Ar tikrai norite užblokuoti šį vartotoją?"
2296
+
2297
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
2298
+ #: wpf-includes/wpf-phrases.php:67
2299
+ msgid "Delete this item"
2300
+ msgstr "Trinti elementą"
2301
+
2302
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
2303
+ #: wpf-includes/wpf-phrases.php:41
2304
+ msgid "Are you sure you want to DELETE this item?"
2305
+ msgstr "Ar tikrai norite TRINTI elementą?"
2306
+
2307
+ #: wpf-includes/functions.php:625
2308
+ msgid "unapprove this item"
2309
+ msgstr "nepatvirtinti elemento"
2310
+
2311
+ #: wpf-includes/functions.php:625
2312
+ msgid "Approve this item"
2313
+ msgstr "Patvirtinti elementą"
2314
+
2315
+ #: wpf-includes/functions.php:625 wpf-includes/wpf-phrases.php:686
2316
+ msgid "unapprove"
2317
+ msgstr "nepatvirtinti"
2318
+
2319
+ #: wpf-includes/functions.php:625 wpf-includes/wpf-phrases.php:685
2320
+ msgid "approve"
2321
+ msgstr "patvirtinti"
2322
+
2323
+ #: wpf-includes/functions.php:647 wpf-includes/functions.php:648
2324
+ #: wpf-includes/wpf-phrases.php:404
2325
+ msgid "view"
2326
+ msgstr "peržiūrėti"
2327
+
2328
+ #: wpf-includes/functions.php:672
2329
+ msgid "Topic"
2330
+ msgstr "Tema"
2331
+
2332
+ #: wpf-includes/functions.php:672
2333
+ msgid "Post"
2334
+ msgstr "Įrašas"
2335
+
2336
+ #: wpf-includes/functions.php:685 wpf-includes/wpf-phrases.php:200
2337
+ msgid "No items found"
2338
+ msgstr "Nieko neradome"
2339
+
2340
+ #: wpf-includes/functions.php:796 wpf-includes/wpf-phrases.php:141
2341
+ msgid "Items"
2342
+ msgstr "Elementai"
2343
+
2344
+ #: wpf-includes/functions.php:1147
2345
+ #, php-format
2346
+ msgid "Could not write file %s"
2347
+ msgstr "Bylos %s įrašyti nepavyko"
2348
+
2349
+ #: wpf-includes/wpf-hooks.php:20 wpf-includes/wpf-phrases.php:136
2350
+ msgid ""
2351
+ "IMPORTANT! Uninstall is not a simple deactivation action. This action will "
2352
+ "permanently remove all forum data (forums, topics, replies, attachments...) "
2353
+ "from database. Please backup database before this action, you may need this "
2354
+ "forum data in future. If you are sure that you want to delete all forum data "
2355
+ "please confirm. If not, just cancel it, then you can deactivate this plugin, "
2356
+ "that will not remove forum data."
2357
+ msgstr ""
2358
+ "SVARBU! Išdiegimas nėra paprastas deaktyvavimo veiksmas. Šis veiksmas visam "
2359
+ "laikui pašalins visus forumo duomenis (forumus, temas, atsakymus, "
2360
+ "priedus...) iš duomenų bazės. Prašome padaryti duomenų bazės atsarginė "
2361
+ "kopiją prieš atliekant šį veiksmą, ateityje jums gali reikėti šio forumo "
2362
+ "duomenų. Jeigu tikrai norite trinti visus forumo duomenis prašome tai "
2363
+ "patvirtinti. Jei ne, tiesiog tai atšaukite, tada galėsite deaktyvuoti "
2364
+ "įskiepį, o tai nepašalins forumo duomenų."
2365
+
2366
+ #: wpf-includes/wpf-hooks.php:20
2367
+ msgid "Uninstall"
2368
+ msgstr "Išdiegti"
2369
+
2370
+ #: wpf-includes/wpf-hooks.php:1111
2371
+ msgid "Move"
2372
+ msgstr "Perkelti"
2373
+
2374
+ #: wpf-includes/wpf-hooks.php:1146
2375
+ msgid "Clear"
2376
+ msgstr "Valyti"
2377
+
2378
+ #: wpf-includes/wpf-hooks.php:1146
2379
+ msgid "Default"
2380
+ msgstr "Numatytasis"
2381
+
2382
+ #: wpf-includes/wpf-hooks.php:1146
2383
+ msgid "Select Color"
2384
+ msgstr "Pasirinkti spalvą"
2385
+
2386
+ #: wpf-includes/wpf-hooks.php:1169
2387
+ msgid ""
2388
+ "IMPORTANT: wpForo can't work with default permalink, please change permalink "
2389
+ "structure"
2390
+ msgstr ""
2391
+ "SVARBU: wpForo neveikia su numatytomis nuolatinėmis nuorodomis (permalink), "
2392
+ "prašome pakeisti nuorodų struktūrą"
2393
+
2394
+ #: wpf-includes/wpf-hooks.php:1188 wpf-includes/wpf-phrases.php:412
2395
+ msgid "wpForo Usergroup"
2396
+ msgstr "wpForo Vartotojų Grupė"
2397
+
2398
+ #: wpf-includes/wpf-hooks.php:1196 wpf-includes/wpf-phrases.php:411
2399
+ msgid "wpForo User Timezone"
2400
+ msgstr "wpForo Vartotojo Laiko Juosta"
2401
+
2402
+ #: wpf-includes/wpf-hooks.php:1467 wpf-includes/wpf-hooks.php:1556
2403
+ msgid "Please Moderate: "
2404
+ msgstr "Prašome Peržiūrėti: "
2405
+
2406
+ #: wpf-includes/wpf-hooks.php:1468
2407
+ msgid ""
2408
+ "This topic is currently unapproved. You can approve topics in Dashboard "
2409
+ "&raquo; Forums &raquo; Moderation admin page."
2410
+ msgstr ""
2411
+ "Ši tema nėra patvirtinta. Jūs galite patvirtinti temas Valdymo Skydelyje "
2412
+ "&raquo; Forumai &raquo; Peržiūra administratoriaus puslapyje."
2413
+
2414
+ #: wpf-includes/wpf-hooks.php:1557
2415
+ msgid ""
2416
+ "This post is currently unapproved. You can approve posts in Dashboard "
2417
+ "&raquo; Forums &raquo; Moderation admin page."
2418
+ msgstr ""
2419
+ "Šis įrašas nėra patvirtintas. Jūs galite patvirtinti temas Valdymo Skydelyje "
2420
+ "&raquo; Forumai &raquo; Peržiūra administratoriaus puslapyje."
2421
+
2422
+ #: wpf-includes/wpf-hooks.php:1737 wpf-includes/wpf-hooks.php:1783
2423
+ msgid "New Forum"
2424
+ msgstr "Naujas Forumas"
2425
+
2426
+ #: wpf-includes/wpf-hooks.php:1745
2427
+ msgid "New User Group"
2428
+ msgstr "Nauja Vartotojų Grupė"
2429
+
2430
+ #: wpf-includes/wpf-hooks.php:1753 wpf-includes/wpf-hooks.php:1851
2431
+ msgid "New Phrase"
2432
+ msgstr "Nauja Frazė"
2433
+
2434
+ #: wpf-includes/wpf-hooks.php:1768
2435
+ msgid "Community"
2436
+ msgstr "Bendruomenė"
2437
+
2438
+ #: wpf-includes/wpf-hooks.php:1835
2439
+ msgid "New Usergroup"
2440
+ msgstr "Nauja Vartotojų Grupė"
2441
+
2442
+ #: wpf-includes/wpf-phrases.php:8
2443
+ #, php-format
2444
+ msgid "%s and %s liked"
2445
+ msgstr "%s ir %s patinka"
2446
+
2447
+ #: wpf-includes/wpf-phrases.php:9
2448
+ #, php-format
2449
+ msgid "%s liked"
2450
+ msgstr "%s patinka"
2451
+
2452
+ #: wpf-includes/wpf-phrases.php:10
2453
+ #, php-format
2454
+ msgid "%s, %s and %s liked"
2455
+ msgstr "%s, %s ir %s patinka"
2456
+
2457
+ #: wpf-includes/wpf-phrases.php:11
2458
+ #, php-format
2459
+ msgid "%s, %s, %s and %d people liked"
2460
+ msgstr "%s, %s, %s ir %d patinka"
2461
+
2462
+ #: wpf-includes/wpf-phrases.php:12
2463
+ msgid "AOL IM"
2464
+ msgstr "AOL IM"
2465
+
2466
+ #: wpf-includes/wpf-phrases.php:13
2467
+ msgid "About Me"
2468
+ msgstr "Apie Mane"
2469
+
2470
+ #: wpf-includes/wpf-phrases.php:16
2471
+ msgid "Account"
2472
+ msgstr "Paskyra"
2473
+
2474
+ #: wpf-includes/wpf-phrases.php:19
2475
+ msgid "Activity"
2476
+ msgstr "Aktyvumas"
2477
+
2478
+ #: wpf-includes/wpf-phrases.php:23
2479
+ msgid "Add a comment"
2480
+ msgstr "Pridėti komentarą"
2481
+
2482
+ #: wpf-includes/wpf-phrases.php:24
2483
+ msgid "Add topic"
2484
+ msgstr "Pridėti temą"
2485
+
2486
+ #: wpf-includes/wpf-phrases.php:32
2487
+ msgid "Answer"
2488
+ msgstr "Atsakyti"
2489
+
2490
+ #: wpf-includes/wpf-phrases.php:33
2491
+ msgid "Answer to"
2492
+ msgstr "Atsakyti"
2493
+
2494
+ #: wpf-includes/wpf-phrases.php:34
2495
+ msgid "Answers"
2496
+ msgstr "Atsakymai"
2497
+
2498
+ #: wpf-includes/wpf-phrases.php:35
2499
+ msgid "Any Date"
2500
+ msgstr "Bet kokia Data"
2501
+
2502
+ #: wpf-includes/wpf-phrases.php:42
2503
+ msgid "Ascending order"
2504
+ msgstr "Didėjanti tvarka"
2505
+
2506
+ #: wpf-includes/wpf-phrases.php:43
2507
+ msgid "Attach file:"
2508
+ msgstr "Prisegti bylą:"
2509
+
2510
+ #: wpf-includes/wpf-phrases.php:44
2511
+ msgid "Attachments"
2512
+ msgstr "Priedai"
2513
+
2514
+ #: wpf-includes/wpf-phrases.php:45
2515
+ msgid "Attachments Size"
2516
+ msgstr "Priedo dydis"
2517
+
2518
+ #: wpf-includes/wpf-phrases.php:47
2519
+ msgid "Avatar"
2520
+ msgstr "Pseudoportretas"
2521
+
2522
+ #: wpf-includes/wpf-phrases.php:53
2523
+ msgid "Change password"
2524
+ msgstr "Pakeisti slaptažodį"
2525
+
2526
+ #: wpf-includes/wpf-phrases.php:54
2527
+ msgid "Choose Target Forum"
2528
+ msgstr "Pakeisti Pažymėtą Forumą"
2529
+
2530
+ #: wpf-includes/wpf-phrases.php:55 wpf-themes/classic/functions.php:43
2531
+ #: wpf-themes/classic/functions.php:73 wpf-themes/classic/functions.php:111
2532
+ msgid "Collapsed"
2533
+ msgstr "Suglaustas"
2534
+
2535
+ #: wpf-includes/wpf-phrases.php:58
2536
+ msgid "Comments"
2537
+ msgstr "Komentarai"
2538
+
2539
+ #: wpf-includes/wpf-phrases.php:59
2540
+ msgid "Confirm my subscription"
2541
+ msgstr "Patvirtinti mano prenumeratą"
2542
+
2543
+ #: wpf-includes/wpf-phrases.php:65
2544
+ msgid "Date"
2545
+ msgstr "Data"
2546
+
2547
+ #: wpf-includes/wpf-phrases.php:68
2548
+ msgid "Descending order"
2549
+ msgstr "Mažejanti tvarka"
2550
+
2551
+ #: wpf-includes/wpf-phrases.php:71
2552
+ msgid "Display Name"
2553
+ msgstr "Rodomas Vardas"
2554
+
2555
+ #: wpf-includes/wpf-phrases.php:74
2556
+ msgid "Edited: "
2557
+ msgstr "Redaguota: "
2558
+
2559
+ #: wpf-includes/wpf-phrases.php:75
2560
+ msgid "Email"
2561
+ msgstr "El. pašto adresas"
2562
+
2563
+ #: wpf-includes/wpf-phrases.php:88
2564
+ msgid "Enter title here"
2565
+ msgstr "Įrašykite pavadinimą"
2566
+
2567
+ #: wpf-includes/wpf-phrases.php:89 wpf-themes/classic/functions.php:42
2568
+ #: wpf-themes/classic/functions.php:72 wpf-themes/classic/functions.php:110
2569
+ msgid "Expanded"
2570
+ msgstr "Išplėstas"
2571
+
2572
+ #: wpf-includes/wpf-phrases.php:90
2573
+ msgid "Extended Layout - Intro posts"
2574
+ msgstr "Išplėstinis Maketas - Intro įrašai"
2575
+
2576
+ #: wpf-includes/wpf-phrases.php:91
2577
+ msgid "Extended Layout - Intro topics"
2578
+ msgstr "Išplėstinis Maketas - Intro temos"
2579
+
2580
+ #: wpf-includes/wpf-phrases.php:92
2581
+ msgid "Extended Layout - Number of intro posts"
2582
+ msgstr "Išplėstinis Maketas - intro įrašų skaičius"
2583
+
2584
+ #: wpf-includes/wpf-phrases.php:93
2585
+ msgid "Extended Layout - Number of intro topics"
2586
+ msgstr "Išplėstinis Maketas - intro temų skaičius"
2587
+
2588
+ #: wpf-includes/wpf-phrases.php:94
2589
+ msgid "Facebook"
2590
+ msgstr "Facebook"
2591
+
2592
+ #: wpf-includes/wpf-phrases.php:95
2593
+ msgid "Failed to write file to disk"
2594
+ msgstr "Nepavyko įrašyti duomenų"
2595
+
2596
+ #: wpf-includes/wpf-phrases.php:97
2597
+ msgid "File upload stopped by extension"
2598
+ msgstr "Bylos įkėlimą sustabdė plėtinys"
2599
+
2600
+ #: wpf-includes/wpf-phrases.php:98
2601
+ msgid "Find Posts by User"
2602
+ msgstr "Rasti įrašus pagal Vartotoją"
2603
+
2604
+ #: wpf-includes/wpf-phrases.php:99
2605
+ msgid "Find Topics Started by User"
2606
+ msgstr "Rasti įrašus kuriuos pradėjo Vartotojas"
2607
+
2608
+ #: wpf-includes/wpf-phrases.php:100
2609
+ msgid "First post and replies"
2610
+ msgstr "Rasti įrašus ir atsakymus"
2611
+
2612
+ #: wpf-includes/wpf-phrases.php:101 wpforo.php:176
2613
+ msgid "Forum"
2614
+ msgstr "Forumas"
2615
+
2616
+ #: wpf-includes/wpf-phrases.php:102
2617
+ msgid "Forum - Login"
2618
+ msgstr "Forumas - Prisijungti"
2619
+
2620
+ #: wpf-includes/wpf-phrases.php:103
2621
+ msgid "Forum - Page Not Found"
2622
+ msgstr "Forumas - Puslapis nerastas"
2623
+
2624
+ #: wpf-includes/wpf-phrases.php:104
2625
+ msgid "Forum - Registration"
2626
+ msgstr "Forumas - Registracija"
2627
+
2628
+ #: wpf-includes/wpf-phrases.php:106
2629
+ msgid "Forum Admin Email Addresses"
2630
+ msgstr "Forumo Administracijos El. pašto adresai"
2631
+
2632
+ #: wpf-includes/wpf-phrases.php:109
2633
+ msgid "Forum Home"
2634
+ msgstr "Forumo Pagrindinis"
2635
+
2636
+ #: wpf-includes/wpf-phrases.php:111
2637
+ msgid "Forum Members"
2638
+ msgstr "Forumo Nariai"
2639
+
2640
+ #: wpf-includes/wpf-phrases.php:114
2641
+ msgid "Forum Profile"
2642
+ msgstr "Forumo Profilis"
2643
+
2644
+ #: wpf-includes/wpf-phrases.php:115
2645
+ msgid "Forum RSS Feed"
2646
+ msgstr "Forumo RSS Feed"
2647
+
2648
+ #: wpf-includes/wpf-phrases.php:119
2649
+ msgid "Forum Statistics"
2650
+ msgstr "Forumo Statistika"
2651
+
2652
+ #: wpf-includes/wpf-phrases.php:122
2653
+ msgid "Forum is empty"
2654
+ msgstr "Forumas tuščias"
2655
+
2656
+ #: wpf-includes/wpf-phrases.php:125
2657
+ msgid "From Email Address"
2658
+ msgstr "Nuo EL. pašto adresas"
2659
+
2660
+ #: wpf-includes/wpf-phrases.php:126
2661
+ msgid "From Name"
2662
+ msgstr "Nuo Vardas"
2663
+
2664
+ #: wpf-includes/wpf-phrases.php:131
2665
+ msgid "Group"
2666
+ msgstr "Grupė"
2667
+
2668
+ #: wpf-includes/wpf-phrases.php:132
2669
+ msgid "Google+"
2670
+ msgstr "Google+"
2671
+
2672
+ #: wpf-includes/wpf-phrases.php:135
2673
+ msgid "ICQ"
2674
+ msgstr "ICQ"
2675
+
2676
+ #: wpf-includes/wpf-phrases.php:139
2677
+ msgid "Insert member name or email"
2678
+ msgstr "Įrašykite vartotojo vardą arba el. pašto adresą"
2679
+
2680
+ #: wpf-includes/wpf-phrases.php:142
2681
+ msgid "Joined"
2682
+ msgstr "Prisijungta"
2683
+
2684
+ #: wpf-includes/wpf-phrases.php:145
2685
+ msgid "Last 24 hours"
2686
+ msgstr "Pastarosios 24 valandos"
2687
+
2688
+ #: wpf-includes/wpf-phrases.php:146
2689
+ msgid "Last 3 Months"
2690
+ msgstr "Patarieji 3 Mėnesiai"
2691
+
2692
+ #: wpf-includes/wpf-phrases.php:147
2693
+ msgid "Last 6 Months"
2694
+ msgstr "Patarieji 6 Mėnesiai"
2695
+
2696
+ #: wpf-includes/wpf-phrases.php:148
2697
+ msgid "Last Active"
2698
+ msgstr "Paskutinį kartą Aktyvus"
2699
+
2700
+ #: wpf-includes/wpf-phrases.php:149
2701
+ msgid "Last Month"
2702
+ msgstr "Pastarasis Mėnuo"
2703
+
2704
+ #: wpf-includes/wpf-phrases.php:150
2705
+ msgid "Last Post"
2706
+ msgstr "Paskutinis Įrašas"
2707
+
2708
+ #: wpf-includes/wpf-phrases.php:151
2709
+ msgid "Last Post Info"
2710
+ msgstr "Paskutinio Įrašo Informacija"
2711
+
2712
+ #: wpf-includes/wpf-phrases.php:152
2713
+ msgid "Last Week"
2714
+ msgstr "Pastaroji Savaitė"
2715
+
2716
+ #: wpf-includes/wpf-phrases.php:153
2717
+ msgid "Last Year ago"
2718
+ msgstr "Šiais metais"
2719
+
2720
+ #: wpf-includes/wpf-phrases.php:154
2721
+ #, php-format
2722
+ msgid "Last post by %s"
2723
+ msgstr "Paskutinį įraša rašė %s"
2724
+
2725
+ #: wpf-includes/wpf-phrases.php:155
2726
+ msgid "Latest Post"
2727
+ msgstr "Vėliausias Įrašas"
2728
+
2729
+ #: wpf-includes/wpf-phrases.php:156
2730
+ msgid "Leave a reply"
2731
+ msgstr "Atsakyti"
2732
+
2733
+ #: wpf-includes/wpf-phrases.php:157
2734
+ msgid "Length must be between 3 characters and 30 characters."
2735
+ msgstr "Ilgis turi būti tarp 3 ir 30 simbolių."
2736
+
2737
+ #: wpf-includes/wpf-phrases.php:159
2738
+ msgid "Liked"
2739
+ msgstr "Patinka"
2740
+
2741
+ #: wpf-includes/wpf-phrases.php:160
2742
+ msgid "Location"
2743
+ msgstr "Vieta"
2744
+
2745
+ #: wpf-includes/wpf-phrases.php:161
2746
+ msgid "Login"
2747
+ msgstr "Prisijungti"
2748
+
2749
+ #: wpf-includes/wpf-phrases.php:163
2750
+ msgid "Logout"
2751
+ msgstr "Atsijungti"
2752
+
2753
+ #: wpf-includes/wpf-phrases.php:165
2754
+ msgid "Lost your password?"
2755
+ msgstr "Pamiršote slaptažodį?"
2756
+
2757
+ #: wpf-includes/wpf-phrases.php:167
2758
+ msgid "MSN"
2759
+ msgstr "MSN"
2760
+
2761
+ #: wpf-includes/wpf-phrases.php:168
2762
+ msgid "Maximum allowed file size is"
2763
+ msgstr "Didžiausias leistinas bylos dydis yra"
2764
+
2765
+ #: wpf-includes/wpf-phrases.php:170
2766
+ msgid "Member Activity"
2767
+ msgstr "Vartotojo Aktyvumas"
2768
+
2769
+ #: wpf-includes/wpf-phrases.php:171
2770
+ msgid "Member Information"
2771
+ msgstr "Vartotojo Informacija"
2772
+
2773
+ #: wpf-includes/wpf-phrases.php:172
2774
+ msgid "Member Rating"
2775
+ msgstr "Vartotojo Reitingas"
2776
+
2777
+ #: wpf-includes/wpf-phrases.php:173
2778
+ msgid "Member Rating Badge"
2779
+ msgstr "Vartotojo Reitingo Ženklelis"
2780
+
2781
+ #: wpf-includes/wpf-phrases.php:174
2782
+ msgid "Member Reputation"
2783
+ msgstr "Vartotojo Reputacija"
2784
+
2785
+ #: wpf-includes/wpf-phrases.php:177
2786
+ msgid "Member information"
2787
+ msgstr "Vartotojo Informacija"
2788
+
2789
+ #: wpf-includes/wpf-phrases.php:181
2790
+ msgid "Members not found"
2791
+ msgstr "Vartotojas nerastas"
2792
+
2793
+ #: wpf-includes/wpf-phrases.php:182
2794
+ msgid ""
2795
+ "You have been banned. Please contact to forum administrators for more "
2796
+ "information."
2797
+ msgstr ""
2798
+ "Jūs buvote užblokuotas. Norėdami gauti daugiau informacijos, prašome "
2799
+ "kreiptis į forumo administraciją."
2800
+
2801
+ #: wpf-includes/wpf-phrases.php:183
2802
+ msgid "Messages"
2803
+ msgstr "Žinutės"
2804
+
2805
+ #: wpf-includes/wpf-phrases.php:186
2806
+ msgid "Missing a temporary folder"
2807
+ msgstr "Nerastas tarpinis aplankas"
2808
+
2809
+ #: wpf-includes/wpf-phrases.php:188
2810
+ msgid "Move Topic"
2811
+ msgstr "Perkelti Temą"
2812
+
2813
+ #: wpf-includes/wpf-phrases.php:189
2814
+ msgid "Must be minimum 6 characters."
2815
+ msgstr "Mažiausiai 6 simboliai."
2816
+
2817
+ #: wpf-includes/wpf-phrases.php:190
2818
+ msgid "My Profile"
2819
+ msgstr "Mano Profilis"
2820
+
2821
+ #: wpf-includes/wpf-phrases.php:197
2822
+ msgid "No activity found for this member."
2823
+ msgstr "Nerasta šio vartotojo aktyvumo požymių."
2824
+
2825
+ #: wpf-includes/wpf-phrases.php:198
2826
+ msgid "No file was uploaded"
2827
+ msgstr "Byla nebuvo įkelta"
2828
+
2829
+ #: wpf-includes/wpf-phrases.php:199
2830
+ msgid "No forums were found here."
2831
+ msgstr "Forumų nerasta."
2832
+
2833
+ #: wpf-includes/wpf-phrases.php:203
2834
+ msgid "No online members at the moment"
2835
+ msgstr "Šiuo metu nėra prisijungusių narių"
2836
+
2837
+ #: wpf-includes/wpf-phrases.php:205
2838
+ msgid "No subscriptions found for this member."
2839
+ msgstr "Nerasta šio nario prenumeratų."
2840
+
2841
+ #: wpf-includes/wpf-phrases.php:207
2842
+ msgid "No topics were found here"
2843
+ msgstr "Nerasta temų"
2844
+
2845
+ #: wpf-includes/wpf-phrases.php:214
2846
+ msgid "Occupation"
2847
+ msgstr "Pareigos"
2848
+
2849
+ #: wpf-includes/wpf-phrases.php:215
2850
+ msgid "Offline"
2851
+ msgstr "Neprisijungęs"
2852
+
2853
+ #: wpf-includes/wpf-phrases.php:216
2854
+ msgid "Online"
2855
+ msgstr "Prisijungęs"
2856
+
2857
+ #: wpf-includes/wpf-phrases.php:218
2858
+ msgid "Oops! The page you requested was not found!"
2859
+ msgstr "Deja. Ieškomo puslapio nepavyko rasti!"
2860
+
2861
+ #: wpf-includes/wpf-phrases.php:219
2862
+ msgid "Our newest member"
2863
+ msgstr "Naujausias narys"
2864
+
2865
+ #: wpf-includes/wpf-phrases.php:220
2866
+ msgid "Page"
2867
+ msgstr "Puslapis"
2868
+
2869
+ #: wpf-includes/wpf-phrases.php:222
2870
+ msgid "Password"
2871
+ msgstr "Slaptažodis"
2872
+
2873
+ #: wpf-includes/wpf-phrases.php:224
2874
+ #, php-format
2875
+ msgid "Please %s or %s"
2876
+ msgstr "Prašome %s arba %s"
2877
+
2878
+ #: wpf-includes/wpf-phrases.php:228
2879
+ msgid "Post Title"
2880
+ msgstr "Įrašo Pavadinimas"
2881
+
2882
+ #: wpf-includes/wpf-phrases.php:229
2883
+ msgid "Post link"
2884
+ msgstr "Įrašo nuoroda"
2885
+
2886
+ #: wpf-includes/wpf-phrases.php:230
2887
+ msgid "Posted"
2888
+ msgstr "Paskelbta"
2889
+
2890
+ #: wpf-includes/wpf-phrases.php:231
2891
+ msgid "Posted by"
2892
+ msgstr "Paskelbė"
2893
+
2894
+ #: wpf-includes/wpf-phrases.php:233
2895
+ msgid "Powered by"
2896
+ msgstr "Įgalino"
2897
+
2898
+ #: wpf-includes/wpf-phrases.php:235
2899
+ msgid "Q&A Layout - Number of intro topics"
2900
+ msgstr "\"Klausimai ir Atsakymai\" Maketas - Intro temų skaičius"
2901
+
2902
+ #: wpf-includes/wpf-phrases.php:236
2903
+ msgid "Q&A layout - Intro topics"
2904
+ msgstr "\"Klausimai ir Atsakymai\" Maketas - Intro temos"
2905
+
2906
+ #: wpf-includes/wpf-phrases.php:237
2907
+ msgid "Question Comments"
2908
+ msgstr "Klausimo komentarai"
2909
+
2910
+ #: wpf-includes/wpf-phrases.php:238
2911
+ msgid "Questions"
2912
+ msgstr "Klausimai"
2913
+
2914
+ #: wpf-includes/wpf-phrases.php:239
2915
+ msgid "Quote"
2916
+ msgstr "Citata"
2917
+
2918
+ #: wpf-includes/wpf-phrases.php:240
2919
+ msgid "RE"
2920
+ msgstr "RE"
2921
+
2922
+ #: wpf-includes/wpf-phrases.php:241
2923
+ msgid "REPLY:"
2924
+ msgstr "ATSAKYTI:"
2925
+
2926
+ #: wpf-includes/wpf-phrases.php:242
2927
+ msgid "RSS"
2928
+ msgstr "RSS"
2929
+
2930
+ #: wpf-includes/wpf-phrases.php:243
2931
+ msgid "Rating"
2932
+ msgstr "Reitingas"
2933
+
2934
+ #: wpf-includes/wpf-phrases.php:244
2935
+ msgid "Rating Badge"
2936
+ msgstr "Reitingo Ženklelis"
2937
+
2938
+ #: wpf-includes/wpf-phrases.php:248
2939
+ msgid "Received Likes"
2940
+ msgstr "Viso Patinka"
2941
+
2942
+ #: wpf-includes/wpf-phrases.php:249
2943
+ msgid "Recent Questions"
2944
+ msgstr "Naujausi Klausimai"
2945
+
2946
+ #: wpf-includes/wpf-phrases.php:250
2947
+ msgid "Recent Topics"
2948
+ msgstr "Naujausios Temos"
2949
+
2950
+ #: wpf-includes/wpf-phrases.php:251
2951
+ msgid "Register"
2952
+ msgstr "Registruotis"
2953
+
2954
+ #: wpf-includes/wpf-phrases.php:253
2955
+ msgid "Registered date"
2956
+ msgstr "Registracijos Data"
2957
+
2958
+ #: wpf-includes/wpf-phrases.php:254
2959
+ msgid "Relevancy"
2960
+ msgstr "Sąsajos"
2961
+
2962
+ #: wpf-includes/wpf-phrases.php:255
2963
+ msgid "Remember Me"
2964
+ msgstr "Atsiminti Mane"
2965
+
2966
+ #: wpf-includes/wpf-phrases.php:261
2967
+ msgid "Replies"
2968
+ msgstr "Atsakymai"
2969
+
2970
+ #: wpf-includes/wpf-phrases.php:262
2971
+ msgid "Replies not found"
2972
+ msgstr "Nerasta Atsakymų"
2973
+
2974
+ #: wpf-includes/wpf-phrases.php:263
2975
+ msgid "Reply"
2976
+ msgstr "Atsakyti"
2977
+
2978
+ #: wpf-includes/wpf-phrases.php:264
2979
+ msgid "Report"
2980
+ msgstr "Pranešti"
2981
+
2982
+ #: wpf-includes/wpf-phrases.php:267
2983
+ msgid "Report to Administration"
2984
+ msgstr "Pranešti Administracijai"
2985
+
2986
+ #: wpf-includes/wpf-phrases.php:269
2987
+ msgid "Result Info"
2988
+ msgstr "Informacija apie Rezultatus"
2989
+
2990
+ #: wpf-includes/wpf-phrases.php:271
2991
+ msgid "Save Changes"
2992
+ msgstr "Išsaugoti"
2993
+
2994
+ #: wpf-includes/wpf-phrases.php:276
2995
+ msgid "Search Entire Posts"
2996
+ msgstr "Ieškoti Visuose Įrašuose"
2997
+
2998
+ #: wpf-includes/wpf-phrases.php:277
2999
+ msgid "Search Phrase"
3000
+ msgstr "Paieškos Frazė"
3001
+
3002
+ #: wpf-includes/wpf-phrases.php:278
3003
+ msgid "Search Titles Only"
3004
+ msgstr "Ieškoti Pavadinimuose"
3005
+
3006
+ #: wpf-includes/wpf-phrases.php:279
3007
+ msgid "Search Type"
3008
+ msgstr "Paieškos Tipas"
3009
+
3010
+ #: wpf-includes/wpf-phrases.php:280
3011
+ msgid "Search in Forums"
3012
+ msgstr "Ieškoti Forumuose"
3013
+
3014
+ #: wpf-includes/wpf-phrases.php:281
3015
+ msgid "Search in date period"
3016
+ msgstr "Ieškoti Datos periode"
3017
+
3018
+ #: wpf-includes/wpf-phrases.php:282
3019
+ msgid "Search result for"
3020
+ msgstr "Ieškoti rezulttų"
3021
+
3022
+ #: wpf-includes/wpf-phrases.php:283
3023
+ msgid "Search..."
3024
+ msgstr "Ieškoti..."
3025
+
3026
+ #: wpf-includes/wpf-phrases.php:285
3027
+ msgid "Select Page"
3028
+ msgstr "Pasirinkite Puslapį"
3029
+
3030
+ #: wpf-includes/wpf-phrases.php:286
3031
+ msgid "Send Report"
3032
+ msgstr "Pranešti"
3033
+
3034
+ #: wpf-includes/wpf-phrases.php:290
3035
+ msgid "Set Topic Sticky"
3036
+ msgstr "Nustatyti Lipnią Temą"
3037
+
3038
+ #: wpf-includes/wpf-phrases.php:291
3039
+ msgid ""
3040
+ "Set this option value 0 if you want to show all posts under topic intro area."
3041
+ msgstr ""
3042
+ "Norėdami rodyti visus įrašus esančius Temos Intro plote, nustatykite reikšmę "
3043
+ "0."
3044
+
3045
+ #: wpf-includes/wpf-phrases.php:292
3046
+ msgid "Shop Account"
3047
+ msgstr "Prekybos paskyra"
3048
+
3049
+ #: wpf-includes/wpf-phrases.php:302
3050
+ msgid "Sign In"
3051
+ msgstr "Prisijungti"
3052
+
3053
+ #: wpf-includes/wpf-phrases.php:303
3054
+ msgid "Signature"
3055
+ msgstr "Parašas"
3056
+
3057
+ #: wpf-includes/wpf-phrases.php:304
3058
+ msgid "Site Profile"
3059
+ msgstr "Svetainės Profilis"
3060
+
3061
+ #: wpf-includes/wpf-phrases.php:305
3062
+ msgid "Skype"
3063
+ msgstr "Skype"
3064
+
3065
+ #: wpf-includes/wpf-phrases.php:307
3066
+ msgid "Social Networks"
3067
+ msgstr "Socialiniai Tinklai"
3068
+
3069
+ #: wpf-includes/wpf-phrases.php:308
3070
+ msgid "Sorry, something wrong with your data."
3071
+ msgstr "Deja, kažkas negerai su Jūsų duomenimis."
3072
+
3073
+ #: wpf-includes/wpf-phrases.php:309
3074
+ msgid "Sort Search Results by"
3075
+ msgstr "Rūšiuoti Paieškos Rezultatus pagal"
3076
+
3077
+ #: wpf-includes/wpf-phrases.php:310
3078
+ msgid "Specify avatar by URL"
3079
+ msgstr "Pritaikyti pseudoportretą pagal URL"
3080
+
3081
+ #: wpf-includes/wpf-phrases.php:312
3082
+ msgid "Subforums"
3083
+ msgstr "Subforumai"
3084
+
3085
+ #: wpf-includes/wpf-phrases.php:315
3086
+ msgid "Subscribe for new replies"
3087
+ msgstr "Prenumeruoti naujus atsakymus"
3088
+
3089
+ #: wpf-includes/wpf-phrases.php:316
3090
+ msgid "Subscribe for new topics"
3091
+ msgstr "Prenumeruoti naujas temas"
3092
+
3093
+ #: wpf-includes/wpf-phrases.php:318
3094
+ msgid "Subscriptions"
3095
+ msgstr "Prenumeratos"
3096
+
3097
+ #: wpf-includes/wpf-phrases.php:320
3098
+ msgid ""
3099
+ "Thank you for using wpForo! wpForo is a professional bulletin board for "
3100
+ "WorPress, and the only forum software which comes with Multi-layout template "
3101
+ "system. The \"Extended"
3102
+ msgstr ""
3103
+ "Dėkojame, kad naudojatės wpForo! wpForo yra profesionali WordPress diskusijų "
3104
+ "knyga ir vienintelė forumo programinė įranga, sukurta veikti su Multi-maketų "
3105
+ "sistema. \"Išplėstinis"
3106
+
3107
+ #: wpf-includes/wpf-phrases.php:321
3108
+ msgid ""
3109
+ "Thank you for using wpForo. wpForo is a premium forum plugin which will "
3110
+ "always be available for free. There will never be paid and pro versions of "
3111
+ "this forum board. However this is a very large and hard project so we also "
3112
+ "develop paid addons (extensions), which will financially help us to keep "
3113
+ "improving and adding new features to the free wpForo plugin. Forum addons "
3114
+ "will also be actively developed. The first addons \"Advanced Media Uploader"
3115
+ msgstr ""
3116
+ "Dėkojame, kad naudojatės wpForo. wpForo yra premium įskiepis kuris visada "
3117
+ "liks nemokamas. Niekada nebus mokamų ar pro versijų. Tačiau tai yra labai "
3118
+ "didelis ir sunkus projektas. todėl mes taip pat kuriame mokamus papildymus "
3119
+ "(plėtinius), kurie padės mums finansiškai tobulinant ir papildant naujomis "
3120
+ "savybėmis nemokamą wpForo įskiepį. Forumo plėtiniai taip pat bus aktyviai "
3121
+ "kuriami. Pirmieji plėtiniai \"Pažangus Media Įkėliklis"
3122
+
3123
+ #: wpf-includes/wpf-phrases.php:324
3124
+ msgid ""
3125
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
3126
+ "the HTML form"
3127
+ msgstr ""
3128
+ "Įkeliamos bylos dydis viršija MAX_FILE_SIZE nuostatas, priskirtas HTML "
3129
+ "formoje"
3130
+
3131
+ #: wpf-includes/wpf-phrases.php:325
3132
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
3133
+ msgstr "Įkeliamos bylos dydis viršija upload_max_filesize nuostatas php.ini"
3134
+
3135
+ #: wpf-includes/wpf-phrases.php:326
3136
+ msgid "The uploaded file was only partially uploaded"
3137
+ msgstr "Įkeliama byla tik dalinai įkelta"
3138
+
3139
+ #: wpf-includes/wpf-phrases.php:333
3140
+ msgid "Timezone"
3141
+ msgstr "Laiko Zona"
3142
+
3143
+ #: wpf-includes/wpf-phrases.php:335
3144
+ msgid "Topic RSS Feed"
3145
+ msgstr "Temos RSS Feed"
3146
+
3147
+ #: wpf-includes/wpf-phrases.php:336
3148
+ msgid "Topic Title"
3149
+ msgstr "Temos Pavadinimas"
3150
+
3151
+ #: wpf-includes/wpf-phrases.php:337
3152
+ msgid "Topic title"
3153
+ msgstr "Temos pavadinimas"
3154
+
3155
+ #: wpf-includes/wpf-phrases.php:340
3156
+ msgid "Twitter"
3157
+ msgstr "Twitter"
3158
+
3159
+ #: wpf-includes/wpf-phrases.php:341
3160
+ msgid "Unknown upload error"
3161
+ msgstr "Nežinoma įkelties klaida"
3162
+
3163
+ #: wpf-includes/wpf-phrases.php:342
3164
+ msgid "Unsubscribe"
3165
+ msgstr "Atsisakyti Prenumeratos"
3166
+
3167
+ #: wpf-includes/wpf-phrases.php:345
3168
+ msgid "Upload an avatar"
3169
+ msgstr "Įkelti Pseudoportretą"
3170
+
3171
+ #: wpf-includes/wpf-phrases.php:347
3172
+ msgid ""
3173
+ "Use comments to ask for more information or suggest improvements. Avoid "
3174
+ "answering questions in comments."
3175
+ msgstr ""
3176
+ "Naudokite komentarus klausti papildomos informacijos arba siūlyti "
3177
+ "tobulinimus. Komentaruose venkite atsakyti į klausimus."
3178
+
3179
+ #: wpf-includes/wpf-phrases.php:349
3180
+ msgid "User"
3181
+ msgstr "Vartotojas"
3182
+
3183
+ #: wpf-includes/wpf-phrases.php:351
3184
+ msgid "User Group"
3185
+ msgstr "Vartotojų Grupė"
3186
+
3187
+ #: wpf-includes/wpf-phrases.php:352
3188
+ msgid "Usergroup has been successfully deleted."
3189
+ msgstr "Vartotojų Grupė sėkmingai ištrinta."
3190
+
3191
+ #: wpf-includes/wpf-phrases.php:353
3192
+ msgid ""
3193
+ "Usergroup has been successfully deleted. All users of this usergroup have "
3194
+ "been moved to the usergroup you've chosen"
3195
+ msgstr ""
3196
+ "Vartotojų Grupė sėkmingai ištrinta. Visi šios Vartotojų Grupės Vartotojai "
3197
+ "perkelti į Jūsų pasirinktą Vartotojų Grupę"
3198
+
3199
+ #: wpf-includes/wpf-phrases.php:354
3200
+ msgid "Username"
3201
+ msgstr "Vartotojo Vardas"
3202
+
3203
+ #: wpf-includes/wpf-phrases.php:356
3204
+ msgid "View entire post"
3205
+ msgstr "Žiūrėti visą įrašą"
3206
+
3207
+ #: wpf-includes/wpf-phrases.php:357
3208
+ msgid "View the latest post"
3209
+ msgstr "Žiūrėti vėliausius įrašus"
3210
+
3211
+ #: wpf-includes/wpf-phrases.php:358
3212
+ msgid "Views"
3213
+ msgstr "Peržiūros"
3214
+
3215
+ #: wpf-includes/wpf-phrases.php:359
3216
+ msgid "Votes"
3217
+ msgstr "Balsai"
3218
+
3219
+ #: wpf-includes/wpf-phrases.php:360
3220
+ msgid "Website"
3221
+ msgstr "Svetainė"
3222
+
3223
+ #: wpf-includes/wpf-phrases.php:362
3224
+ msgid "Wordpress avatar system"
3225
+ msgstr "Wordpreso Pseudoportretų sistema"
3226
+
3227
+ #: wpf-includes/wpf-phrases.php:363
3228
+ msgid "Working"
3229
+ msgstr "Dirbama"
3230
+
3231
+ #: wpf-includes/wpf-phrases.php:364
3232
+ msgid "Write message"
3233
+ msgstr "Rašyti žinutę"
3234
+
3235
+ #: wpf-includes/wpf-phrases.php:365
3236
+ msgid "Yahoo"
3237
+ msgstr "Yahoo"
3238
+
3239
+ #: wpf-includes/wpf-phrases.php:367
3240
+ msgid "You"
3241
+ msgstr "Jūs"
3242
+
3243
+ #: wpf-includes/wpf-phrases.php:369
3244
+ #, php-format
3245
+ msgid "You can go to %s page or Search here"
3246
+ msgstr "Galite eiti į %s puslapį arba Ieškoti čia"
3247
+
3248
+ #: wpf-includes/wpf-phrases.php:371
3249
+ msgid "Your Answer"
3250
+ msgstr "Jūsų Atsakymas"
3251
+
3252
+ #: wpf-includes/wpf-phrases.php:372
3253
+ msgid "account"
3254
+ msgstr "paskyra"
3255
+
3256
+ #: wpf-includes/wpf-phrases.php:373
3257
+ msgid "activity"
3258
+ msgstr "aktyvumas"
3259
+
3260
+ #: wpf-includes/wpf-phrases.php:375
3261
+ msgid "add_new"
3262
+ msgstr "pridėti_naują"
3263
+
3264
+ #: wpf-includes/wpf-phrases.php:376
3265
+ #, php-format
3266
+ msgid "%s ago"
3267
+ msgstr "prieš %s"
3268
+
3269
+ #: wpf-includes/wpf-phrases.php:377
3270
+ msgid "by"
3271
+ msgstr "sukūrė"
3272
+
3273
+ #: wpf-includes/wpf-phrases.php:378
3274
+ #, php-format
3275
+ msgid "by %s"
3276
+ msgstr "sukūrė: %s"
3277
+
3278
+ #: wpf-includes/wpf-phrases.php:379
3279
+ msgid "confirm password"
3280
+ msgstr "patvirtinti slaptažodį"
3281
+
3282
+ #: wpf-includes/wpf-phrases.php:384
3283
+ msgid "forums"
3284
+ msgstr "forumai"
3285
+
3286
+ #: wpf-includes/wpf-phrases.php:386
3287
+ msgid "login"
3288
+ msgstr "prisijungti"
3289
+
3290
+ #: wpf-includes/wpf-phrases.php:387
3291
+ msgid "logout"
3292
+ msgstr "atsijungti"
3293
+
3294
+ #: wpf-includes/wpf-phrases.php:388
3295
+ msgid "matches"
3296
+ msgstr "atitikimai"
3297
+
3298
+ #: wpf-includes/wpf-phrases.php:389
3299
+ msgid "members"
3300
+ msgstr "nariai"
3301
+
3302
+ #: wpf-includes/wpf-phrases.php:391
3303
+ msgid "my profile"
3304
+ msgstr "mano profilis"
3305
+
3306
+ #: wpf-includes/wpf-phrases.php:392
3307
+ msgid "new password"
3308
+ msgstr "naujas slaptažodis"
3309
+
3310
+ #: wpf-includes/wpf-phrases.php:393
3311
+ msgid "new password again"
3312
+ msgstr "pakartokite naują slaptažodį"
3313
+
3314
+ #: wpf-includes/wpf-phrases.php:394
3315
+ msgid "next"
3316
+ msgstr "kitas"
3317
+
3318
+ #: wpf-includes/wpf-phrases.php:395
3319
+ msgid "old password"
3320
+ msgstr "senas slaptažodis"
3321
+
3322
+ #: wpf-includes/wpf-phrases.php:396
3323
+ msgid "phrase_key"
3324
+ msgstr "frazės_raktas"
3325
+
3326
+ #: wpf-includes/wpf-phrases.php:397
3327
+ msgid "phrase_value"
3328
+ msgstr "frazės_reikšmė"
3329
+
3330
+ #: wpf-includes/wpf-phrases.php:398
3331
+ msgid "posted"
3332
+ msgstr "paskelbta"
3333
+
3334
+ #: wpf-includes/wpf-phrases.php:399
3335
+ msgid "prev"
3336
+ msgstr "buv"
3337
+
3338
+ #: wpf-includes/wpf-phrases.php:400
3339
+ msgid "register"
3340
+ msgstr "registruotis"
3341
+
3342
+ #: wpf-includes/wpf-phrases.php:401
3343
+ msgid "replies"
3344
+ msgstr "atsakymai"
3345
+
3346
+ #: wpf-includes/wpf-phrases.php:402
3347
+ msgid "subscriptions"
3348
+ msgstr "prenumeratos"
3349
+
3350
+ #: wpf-includes/wpf-phrases.php:403
3351
+ msgid "update"
3352
+ msgstr "atnaujinti"
3353
+
3354
+ #: wpf-includes/wpf-phrases.php:405
3355
+ msgid "view all posts"
3356
+ msgstr "peržiūrėti visus įrašus"
3357
+
3358
+ #: wpf-includes/wpf-phrases.php:406
3359
+ msgid "view all questions"
3360
+ msgstr "peržiūrėti visus klausimus"
3361
+
3362
+ #: wpf-includes/wpf-phrases.php:407
3363
+ msgid "view all topics"
3364
+ msgstr "peržiūrėti visas temas"
3365
+
3366
+ #: wpf-includes/wpf-phrases.php:409
3367
+ msgid "wpForo Navigation"
3368
+ msgstr "wpForo Navigacija"
3369
+
3370
+ #: wpf-includes/wpf-phrases.php:414
3371
+ msgid "{number}B"
3372
+ msgstr "{skaičius}B"
3373
+
3374
+ #: wpf-includes/wpf-phrases.php:415
3375
+ msgid "{number}K"
3376
+ msgstr "{skaičius}K"
3377
+
3378
+ #: wpf-includes/wpf-phrases.php:416
3379
+ msgid "{number}M"
3380
+ msgstr "{skaičius}M"
3381
+
3382
+ #: wpf-includes/wpf-phrases.php:417
3383
+ msgid "{number}T"
3384
+ msgstr "{skaičius}T"
3385
+
3386
+ #: wpf-includes/wpf-phrases.php:422
3387
+ msgid "Access add error"
3388
+ msgstr "Prieigos suteikimo klaida"
3389
+
3390
+ #: wpf-includes/wpf-phrases.php:423
3391
+ msgid "Access delete error"
3392
+ msgstr "Prieigos panaikinimo klaida"
3393
+
3394
+ #: wpf-includes/wpf-phrases.php:424
3395
+ msgid "Access edit error"
3396
+ msgstr "Prieigos redagavimo klaida"
3397
+
3398
+ #: wpf-includes/wpf-phrases.php:425
3399
+ msgid "Access successfully deleted"
3400
+ msgstr "Prieiga sėkmingai ištrinta"
3401
+
3402
+ #: wpf-includes/wpf-phrases.php:426
3403
+ msgid "Add Topic error: No forum selected"
3404
+ msgstr "Pridėti Temą klaida: Nepažymėtas forumas"
3405
+
3406
+ #: wpf-includes/wpf-phrases.php:427
3407
+ msgid "All Checked topics successfully deleted"
3408
+ msgstr "Pažymėtos temos sėkmingai ištrintos"
3409
+
3410
+ #: wpf-includes/wpf-phrases.php:428
3411
+ msgid "Can't add forum"
3412
+ msgstr "Nepavyko pridėti forumo"
3413
+
3414
+ #: wpf-includes/wpf-phrases.php:429
3415
+ msgid "Can't add new language"
3416
+ msgstr "Nepavyko pridėti naujos kalbos"
3417
+
3418
+ #: wpf-includes/wpf-phrases.php:430
3419
+ msgid "Can't delete this Usergroup"
3420
+ msgstr "Nepavyko trinti šios vartotojų grupės"
3421
+
3422
+ #: wpf-includes/wpf-phrases.php:431
3423
+ msgid "Can't send confirmation email"
3424
+ msgstr "Nepavyko išsiųsti patvirtinimo el. laiško"
3425
+
3426
+ #: wpf-includes/wpf-phrases.php:432
3427
+ msgid "Can't send report email"
3428
+ msgstr "Nepavyko išsiųsti ataskaitos el. laiško"
3429
+
3430
+ #: wpf-includes/wpf-phrases.php:433
3431
+ msgid "Can't subscribe to this item"
3432
+ msgstr "Nepavyko prenumeruoti šio elemento"
3433
+
3434
+ #: wpf-includes/wpf-phrases.php:434
3435
+ msgid "Can't write a post: This topic is closed"
3436
+ msgstr "Nepavyko įrašyti: Tema uždaryta"
3437
+
3438
+ #: wpf-includes/wpf-phrases.php:435
3439
+ msgid "Can`t upload file"
3440
+ msgstr "Nepavyko įkelti bylos"
3441
+
3442
+ #: wpf-includes/wpf-phrases.php:436
3443
+ msgid "Cannot update forum hierarchy"
3444
+ msgstr "Nepavyko atnaujinti forumo hierarchijos"
3445
+
3446
+ #: wpf-includes/wpf-phrases.php:437
3447
+ msgid "Cannot update post data"
3448
+ msgstr "Nepavyko atnaujinti įrašo duomenų"
3449
+
3450
+ #: wpf-includes/wpf-phrases.php:438
3451
+ msgid "Could not be unsubscribe from this item"
3452
+ msgstr "Nepavyko atsisakyti šio elemento prenumeratos"
3453
+
3454
+ #: wpf-includes/wpf-phrases.php:439
3455
+ msgid "Email address exists. Please insert another."
3456
+ msgstr "El. pašto adresas jau užregistruotas. Prašome įvesti kitą."
3457
+
3458
+ #: wpf-includes/wpf-phrases.php:440
3459
+ msgid "Error: Forum is not found"
3460
+ msgstr "Klaida: nerastas Forumas"
3461
+
3462
+ #: wpf-includes/wpf-phrases.php:441
3463
+ msgid "Error: No topic selected"
3464
+ msgstr "Klaida: Nepažymėta tema"
3465
+
3466
+ #: wpf-includes/wpf-phrases.php:442
3467
+ msgid "Error: Topic is not found"
3468
+ msgstr "Klaida: Tema nerasta"
3469
+
3470
+ #: wpf-includes/wpf-phrases.php:443
3471
+ msgid "Error: please insert some text to report."
3472
+ msgstr "Klaida: prašome įterpti pranešimo tekstą."
3473
+
3474
+ #: wpf-includes/wpf-phrases.php:444
3475
+ msgid "Features successfully updated"
3476
+ msgstr "Savybės sėkmingai atnaujintos"
3477
+
3478
+ #: wpf-includes/wpf-phrases.php:445
3479
+ msgid "Features successfully updated, but previous value not changed"
3480
+ msgstr ""
3481
+ "Savybės sėkmingai atnaujintos, tačiau buvusios reikšmės pakeistos nebuvo"
3482
+
3483
+ #: wpf-includes/wpf-phrases.php:446
3484
+ msgid "File type is not allowed"
3485
+ msgstr "Bylos tipas neleistinas"
3486
+
3487
+ #: wpf-includes/wpf-phrases.php:447
3488
+ msgid "Forum Base URL successfully updated"
3489
+ msgstr "Forumo Pagrindinis URL sėkmingai atnaujintas"
3490
+
3491
+ #: wpf-includes/wpf-phrases.php:448
3492
+ msgid "Forum deleting error"
3493
+ msgstr "Klaida trinant Forumą"
3494
+
3495
+ #: wpf-includes/wpf-phrases.php:449
3496
+ msgid "Forum hierarchy successfully updated"
3497
+ msgstr "Forumo hierarchija sėkmingai atnaujinta"
3498
+
3499
+ #: wpf-includes/wpf-phrases.php:450
3500
+ msgid "Forum is successfully merged"
3501
+ msgstr "Forumas sėkmingai apjungtas"
3502
+
3503
+ #: wpf-includes/wpf-phrases.php:451
3504
+ msgid "Forum merging error"
3505
+ msgstr "Forumo apjungimo klaida"
3506
+
3507
+ #: wpf-includes/wpf-phrases.php:452
3508
+ msgid "Forum options successfully updated"
3509
+ msgstr "Forumo nuostatos sėkmingai atnaujintos"
3510
+
3511
+ #: wpf-includes/wpf-phrases.php:453
3512
+ msgid "Forum options successfully updated, but previous value not changed"
3513
+ msgstr ""
3514
+ "Forumo nuostatos sėkmingai atnaujintos, tačiau buvusios reikšmės pakeistos "
3515
+ "nebuvo"
3516
+
3517
+ #: wpf-includes/wpf-phrases.php:454
3518
+ msgid "Forum successfully updated"
3519
+ msgstr "Forumas sėkmingai atnaujintos"
3520
+
3521
+ #: wpf-includes/wpf-phrases.php:455
3522
+ msgid "Forum update error"
3523
+ msgstr "Forumo atnaujinimo klaida"
3524
+
3525
+ #: wpf-includes/wpf-phrases.php:456
3526
+ msgid "General options successfully updated"
3527
+ msgstr "Pagrindinės nuostatos sėkmingai atnaujintos"
3528
+
3529
+ #: wpf-includes/wpf-phrases.php:457
3530
+ msgid "Illegal character in username."
3531
+ msgstr "Neleistinas simbolis Vartotojo Varde."
3532
+
3533
+ #: wpf-includes/wpf-phrases.php:458
3534
+ msgid "Insert your Email address."
3535
+ msgstr "Nurodykite El. pašto adresą."
3536
+
3537
+ #: wpf-includes/wpf-phrases.php:459
3538
+ msgid "Invalid Email address"
3539
+ msgstr "Negalimas el. pašto adresas"
3540
+
3541
+ #: wpf-includes/wpf-phrases.php:460
3542
+ msgid "Invalid request!"
3543
+ msgstr "Negalima užklausa!"
3544
+
3545
+ #: wpf-includes/wpf-phrases.php:461
3546
+ msgid "Member options successfully updated"
3547
+ msgstr "Vartotojo nuostatos sėkmingai atnaujintos"
3548
+
3549
+ #: wpf-includes/wpf-phrases.php:462
3550
+ msgid "Member options successfully updated, but previous value not changed"
3551
+ msgstr ""
3552
+ "Vartotojo nuostatos sėkmingai atnaujintos, tačiau buvusios reikšmės "
3553
+ "pakeistos nebuvo"
3554
+
3555
+ #: wpf-includes/wpf-phrases.php:463
3556
+ msgid "Message has been sent"
3557
+ msgstr "Žinutė išsiųsta"
3558
+
3559
+ #: wpf-includes/wpf-phrases.php:464
3560
+ msgid ""
3561
+ "New language successfully added and changed wpforo language to new language"
3562
+ msgstr "Nauja kalba sėkmingai pridėta ir wpForo kalba pakeista į naują kalbą"
3563
+
3564
+ #: wpf-includes/wpf-phrases.php:465
3565
+ msgid "No Posts found for update"
3566
+ msgstr "Nerasta atnaujintų Įrašų"
3567
+
3568
+ #: wpf-includes/wpf-phrases.php:466
3569
+ msgid "Password length must be between 6 characters and 20 characters."
3570
+ msgstr "Slaptažodžio ilgis turi būti tarp 6 ir 20 simbolių."
3571
+
3572
+ #: wpf-includes/wpf-phrases.php:467
3573
+ msgid "Password mismatch."
3574
+ msgstr "Slaptažodžiai nesutampa."
3575
+
3576
+ #: wpf-includes/wpf-phrases.php:468
3577
+ msgid "Permission denied"
3578
+ msgstr "Prieiga uždrausta"
3579
+
3580
+ #: wpf-includes/wpf-phrases.php:469
3581
+ msgid "Permission denied for add forum"
3582
+ msgstr "Prieiga pridėti forumą uždrausta"
3583
+
3584
+ #: wpf-includes/wpf-phrases.php:470
3585
+ msgid "Permission denied for delete forum"
3586
+ msgstr "Prieiga trinti forumą uždrausta"
3587
+
3588
+ #: wpf-includes/wpf-phrases.php:471
3589
+ msgid "Permission denied for edit forum"
3590
+ msgstr "Prieiga redaguoti forumą uždrausta"
3591
+
3592
+ #: wpf-includes/wpf-phrases.php:472
3593
+ msgid "Permission denied for this action"
3594
+ msgstr "Prieiga atlikti šį veiksmą uždrausta"
3595
+
3596
+ #: wpf-includes/wpf-phrases.php:473
3597
+ msgid "Phrase add error"
3598
+ msgstr "Klaida pridedant Frazę"
3599
+
3600
+ #: wpf-includes/wpf-phrases.php:474
3601
+ msgid "Phrase adding error"
3602
+ msgstr "Klaida pridedant Frazę"
3603
+
3604
+ #: wpf-includes/wpf-phrases.php:475
3605
+ msgid "Phrase successfully added"
3606
+ msgstr "Frazė sėkmingai pridėta"
3607
+
3608
+ #: wpf-includes/wpf-phrases.php:476
3609
+ msgid "Phrase successfully updates"
3610
+ msgstr "Frazė sėkmingai atnaujinta"
3611
+
3612
+ #: wpf-includes/wpf-phrases.php:477
3613
+ msgid "Phrase update error"
3614
+ msgstr "Frazės atnaujinimo klaida"
3615
+
3616
+ #: wpf-includes/wpf-phrases.php:478
3617
+ msgid "Please insert required fields!"
3618
+ msgstr "Pašome įterpti reikalingus laukelius!"
3619
+
3620
+ #: wpf-includes/wpf-phrases.php:479
3621
+ msgid "Post delete error"
3622
+ msgstr "Klaida trinant Įrašą"
3623
+
3624
+ #: wpf-includes/wpf-phrases.php:481
3625
+ msgid "Post options successfully updated"
3626
+ msgstr "Įrašo nuostatos sėkmingai atnaujintos"
3627
+
3628
+ #: wpf-includes/wpf-phrases.php:482
3629
+ msgid "Post options successfully updated, but previous value not changed"
3630
+ msgstr ""
3631
+ "Įrašo nuostatos sėkmingai atnaujintos, tačiau buvusios reikšmės pakeistos "
3632
+ "nebuvo"
3633
+
3634
+ #: wpf-includes/wpf-phrases.php:483
3635
+ msgid "Registration Error"
3636
+ msgstr "Registracijos Klaida"
3637
+
3638
+ #: wpf-includes/wpf-phrases.php:484
3639
+ msgid "Reply request error"
3640
+ msgstr "Atsakymo užklausos klaida"
3641
+
3642
+ #: wpf-includes/wpf-phrases.php:485
3643
+ msgid "Something wrong with profile data."
3644
+ msgstr "Kažkas negerai su profilio duomenimis."
3645
+
3646
+ #: wpf-includes/wpf-phrases.php:486
3647
+ msgid "Subscribe options successfully updated"
3648
+ msgstr "Registracijos nuostatos sėkmingai atnaujintos"
3649
+
3650
+ #: wpf-includes/wpf-phrases.php:487
3651
+ msgid "Subscribe options successfully updated, but previous value not changed"
3652
+ msgstr ""
3653
+ "Registracijos nuostatos sėkmingai atnaujintos, tačiau buvusios reikšmės "
3654
+ "pakeistos nebuvo"
3655
+
3656
+ #: wpf-includes/wpf-phrases.php:488
3657
+ msgid "Success! Thank you Dear Friend"
3658
+ msgstr "Pavyko! Ačiū jums, Brangus Drauge"
3659
+
3660
+ #: wpf-includes/wpf-phrases.php:489
3661
+ msgid ""
3662
+ "Success! Thank you. Please check your email and click confirmation link "
3663
+ "below to complete this step."
3664
+ msgstr ""
3665
+ "Pavyko! Dėkojame. Norėdami baigti šį žingsnį, prašome patikrinti el. paštą "
3666
+ "ir paspausti žemiau esančią patvirtinimo nuorodą."
3667
+
3668
+ #: wpf-includes/wpf-phrases.php:490
3669
+ msgid "Successfully updated"
3670
+ msgstr "Atnaujinimas sėkmingas"
3671
+
3672
+ #: wpf-includes/wpf-phrases.php:491
3673
+ msgid "Successfully voted"
3674
+ msgstr "Balsavimas sėkmingas"
3675
+
3676
+ #: wpf-includes/wpf-phrases.php:492
3677
+ msgid "The uploaded file size is too big"
3678
+ msgstr "Įkeliamos bylos dydis per didelis"
3679
+
3680
+ #: wpf-includes/wpf-phrases.php:493
3681
+ msgid "Theme options successfully updated"
3682
+ msgstr "Temos nuostatos sėkmingai atnaujintos"
3683
+
3684
+ #: wpf-includes/wpf-phrases.php:494
3685
+ msgid "This email address is already registered. Please insert another."
3686
+ msgstr "El. pašto adresas jau užregistruotas. Prašome įvesti kitą."
3687
+
3688
+ #: wpf-includes/wpf-phrases.php:495
3689
+ msgid "This post successfully deleted"
3690
+ msgstr "Įrašas sėkmingai ištrintas"
3691
+
3692
+ #: wpf-includes/wpf-phrases.php:496
3693
+ msgid "This post successfully edited"
3694
+ msgstr "Įrašas sėkmingai pakeistas"
3695
+
3696
+ #: wpf-includes/wpf-phrases.php:497
3697
+ msgid "This topic successfully deleted"
3698
+ msgstr "Tema sėkmingai ištrinta"
3699
+
3700
+ #: wpf-includes/wpf-phrases.php:498
3701
+ msgid "Topic Move Error"
3702
+ msgstr "Klaida perkeliant Temą"
3703
+
3704
+ #: wpf-includes/wpf-phrases.php:499
3705
+ msgid "Topic add error"
3706
+ msgstr "Klaida pridedant Temą"
3707
+
3708
+ #: wpf-includes/wpf-phrases.php:500
3709
+ msgid "Topic delete error"
3710
+ msgstr "Klaida trinant Temą"
3711
+
3712
+ #: wpf-includes/wpf-phrases.php:501
3713
+ msgid "Topic edit error"
3714
+ msgstr "Klaida redaguojant Temą"
3715
+
3716
+ #: wpf-includes/wpf-phrases.php:502
3717
+ msgid "Topic not found."
3718
+ msgstr "Tema nerasta."
3719
+
3720
+ #: wpf-includes/wpf-phrases.php:503
3721
+ msgid "Topic successfully moved"
3722
+ msgstr "Tema sėkmingai perkelta"
3723
+
3724
+ #: wpf-includes/wpf-phrases.php:504
3725
+ msgid "Topic successfully updated"
3726
+ msgstr "Tema sėkmingai atnaujinta"
3727
+
3728
+ #: wpf-includes/wpf-phrases.php:505
3729
+ msgid "Topics delete error"
3730
+ msgstr "Klaida trinant Temą"
3731
+
3732
+ #: wpf-includes/wpf-phrases.php:506
3733
+ msgid "User delete error"
3734
+ msgstr "Klaida trinant Vartotoją"
3735
+
3736
+ #: wpf-includes/wpf-phrases.php:507
3737
+ msgid "User group add error"
3738
+ msgstr "Klaida pridedant Vartotojų Grupę"
3739
+
3740
+ #: wpf-includes/wpf-phrases.php:508
3741
+ msgid "User group edit error"
3742
+ msgstr "Klaida redaguojant Vartotojų Grupę"
3743
+
3744
+ #: wpf-includes/wpf-phrases.php:509
3745
+ msgid "User group successfully added"
3746
+ msgstr "Vartotojų Grupė sėkmingai pridėta"
3747
+
3748
+ #: wpf-includes/wpf-phrases.php:510
3749
+ msgid "User group successfully edited"
3750
+ msgstr "Vartotojų Grupė sėkmingai pakeista"
3751
+
3752
+ #: wpf-includes/wpf-phrases.php:511
3753
+ msgid "User successfully deleted from wpforo"
3754
+ msgstr "Vartotojas sėkmingai ištrintas iš wpForo"
3755
+
3756
+ #: wpf-includes/wpf-phrases.php:512
3757
+ msgid "Username exists. Please insert another."
3758
+ msgstr "Vartotojo vardas jau užregistruotas. Prašome įvesti kitą."
3759
+
3760
+ #: wpf-includes/wpf-phrases.php:513
3761
+ msgid "Username is missed."
3762
+ msgstr "Trūksta Vartotojo Vardo."
3763
+
3764
+ #: wpf-includes/wpf-phrases.php:514
3765
+ msgid "Username length must be between 3 characters and 30 characters."
3766
+ msgstr "Vartotojo Vardo Ilgis turi būti tarp 3 ir 30 simbolių."
3767
+
3768
+ #: wpf-includes/wpf-phrases.php:515
3769
+ msgid "Welcome to our Community!"
3770
+ msgstr "Sveiki atvykę į mūsų Bendruomenę!"
3771
+
3772
+ #: wpf-includes/wpf-phrases.php:516
3773
+ msgid "Wrong post data"
3774
+ msgstr "Neteisingi įrašo duomenys"
3775
+
3776
+ #: wpf-includes/wpf-phrases.php:517
3777
+ msgid "You are already voted this post"
3778
+ msgstr "Jau balsavote dėl šio Įrašo"
3779
+
3780
+ #: wpf-includes/wpf-phrases.php:518
3781
+ msgid "You have been successfully subscribed"
3782
+ msgstr "Prenumerata sėkminga"
3783
+
3784
+ #: wpf-includes/wpf-phrases.php:519
3785
+ msgid "You have been successfully unsubscribed"
3786
+ msgstr "Sėkmingai atsisakėte prenumeratos"
3787
+
3788
+ #: wpf-includes/wpf-phrases.php:520
3789
+ msgid "You have no permission to edit this topic"
3790
+ msgstr "Neturite teisės redaguoti šio Įrašo"
3791
+
3792
+ #: wpf-includes/wpf-phrases.php:521
3793
+ msgid "You don't have permission to create post in this forum"
3794
+ msgstr "Neturite teisės kurti įrašų šiame forume"
3795
+
3796
+ #: wpf-includes/wpf-phrases.php:522
3797
+ msgid "You don't have permission to create topic into this forum"
3798
+ msgstr "Neturite teisės kurti temų šiame forume"
3799
+
3800
+ #: wpf-includes/wpf-phrases.php:523
3801
+ msgid "You don't have permission to delete post from this forum"
3802
+ msgstr "Neturite teisės trinti įrašų šiame forume"
3803
+
3804
+ #: wpf-includes/wpf-phrases.php:524
3805
+ msgid "You don't have permission to delete topic from this forum"
3806
+ msgstr "Neturite teisės trinti temų šiame forume"
3807
+
3808
+ #: wpf-includes/wpf-phrases.php:525
3809
+ msgid "You don't have permission to edit post from this forum"
3810
+ msgstr "Neturite teisės redaguoti įrašų šiame forume"
3811
+
3812
+ #: wpf-includes/wpf-phrases.php:526
3813
+ msgid "You successfully replied"
3814
+ msgstr "Atsakymas sėkmingas"
3815
+
3816
+ #: wpf-includes/wpf-phrases.php:527
3817
+ msgid "Your forum successfully added"
3818
+ msgstr "Forumas sėkmingai pridėtas"
3819
+
3820
+ #: wpf-includes/wpf-phrases.php:528
3821
+ msgid "Your forum successfully deleted"
3822
+ msgstr "Forumas sėkmingai ištrintas"
3823
+
3824
+ #: wpf-includes/wpf-phrases.php:529
3825
+ msgid "Your profile data have been successfully updated."
3826
+ msgstr "Jūsų profilio duomenys sėkmingai atnaijinti."
3827
+
3828
+ #: wpf-includes/wpf-phrases.php:530
3829
+ msgid "Your subscription for this item could not be confirmed"
3830
+ msgstr "Jūsų prenumeratos patvirtinti nėra galimybės"
3831
+
3832
+ #: wpf-includes/wpf-phrases.php:531
3833
+ msgid "Your topic successfully added"
3834
+ msgstr "Tema sėkmingai pridėta"
3835
+
3836
+ #: wpf-includes/wpf-phrases.php:533
3837
+ msgid "Dashboard - Can create forum"
3838
+ msgstr "Valdymo Skydelis - Gali kurti forumą"
3839
+
3840
+ #: wpf-includes/wpf-phrases.php:534
3841
+ msgid "Dashboard - Can edit forum"
3842
+ msgstr "Valdymo Skydelis - Gali redaguoti forumą"
3843
+
3844
+ #: wpf-includes/wpf-phrases.php:535
3845
+ msgid "Dashboard - Can delete forum"
3846
+ msgstr "Valdymo Skydelis - Gali trinti forumą"
3847
+
3848
+ #: wpf-includes/wpf-phrases.php:536
3849
+ msgid "Dashboard - Members Menu"
3850
+ msgstr "Valdymo Skydelis - Narių Meniu"
3851
+
3852
+ #: wpf-includes/wpf-phrases.php:537
3853
+ msgid "Dashboard - Can edit member"
3854
+ msgstr "Valdymo Skydelis - Gali redaguoti narius"
3855
+
3856
+ #: wpf-includes/wpf-phrases.php:538
3857
+ msgid "Dashboard - Can delete member"
3858
+ msgstr "Valdymo Skydelis - Gali trinti narius"
3859
+
3860
+ #: wpf-includes/wpf-phrases.php:539
3861
+ msgid "Dashboard - Usergroup Menu"
3862
+ msgstr "Valdymo Skydelis - Vartotojų Grupių Meniu"
3863
+
3864
+ #: wpf-includes/wpf-phrases.php:540
3865
+ msgid "Front - Can view members"
3866
+ msgstr "Priekis - Gali matyti narius"
3867
+
3868
+ #: wpf-includes/wpf-phrases.php:541
3869
+ msgid "Front - Can view profiles"
3870
+ msgstr "Priekis - Gali matyti profilius"
3871
+
3872
+ #: wpf-includes/wpf-phrases.php:542
3873
+ msgid "Front - Can upload avatar"
3874
+ msgstr "Priekis - Gali įkelti pseudoportretą"
3875
+
3876
+ #: wpf-includes/wpf-phrases.php:543
3877
+ msgid "Front - Can have signature"
3878
+ msgstr "Priekis - Gali turėti parašą"
3879
+
3880
+ #: wpf-includes/wpf-phrases.php:544
3881
+ msgid "Front - Can view avatars"
3882
+ msgstr "Priekis - Gali matyti pseudoportretus"
3883
+
3884
+ #: wpf-includes/wpf-phrases.php:545
3885
+ msgid "Front - Can view member username"
3886
+ msgstr "Priekis - Gali matyti nario vartotojo vardą"
3887
+
3888
+ #: wpf-includes/wpf-phrases.php:546
3889
+ msgid "Front - Can view member email"
3890
+ msgstr "Priekis - Gali matyti nario el. paštą"
3891
+
3892
+ #: wpf-includes/wpf-phrases.php:547
3893
+ msgid "Front - Can view member title"
3894
+ msgstr "Priekis - Gali matyti nario pavadinimą"
3895
+
3896
+ #: wpf-includes/wpf-phrases.php:548
3897
+ msgid "Front - Can view member custom title"
3898
+ msgstr "Priekis - Gali matyti nario nustatytą pavadinimą"
3899
+
3900
+ #: wpf-includes/wpf-phrases.php:549
3901
+ msgid "Front - Can view member reputation"
3902
+ msgstr "Priekis - Gali matyti nario reputaciją"
3903
+
3904
+ #: wpf-includes/wpf-phrases.php:550
3905
+ msgid "Front - Can view member website"
3906
+ msgstr "Priekis - Gali matyti nario svetainę"
3907
+
3908
+ #: wpf-includes/wpf-phrases.php:551
3909
+ msgid "Front - Can view member social networks"
3910
+ msgstr "Priekis - Gali matyti nario socialinius tinklų informaciją"
3911
+
3912
+ #: wpf-includes/wpf-phrases.php:552
3913
+ msgid "Front - Can view member reg. date"
3914
+ msgstr "Priekis - Gali matyti nario reg. datą"
3915
+
3916
+ #: wpf-includes/wpf-phrases.php:553
3917
+ msgid "Front - Can view member last active date"
3918
+ msgstr "Priekis - Gali matyti nario paskutinio aktyvumo datą"
3919
+
3920
+ #: wpf-includes/wpf-phrases.php:554
3921
+ msgid "Front - Can view member IP address"
3922
+ msgstr "Priekis - Gali matyti nario IP adresą"
3923
+
3924
+ #: wpf-includes/wpf-phrases.php:555
3925
+ msgid "Front - Can view member location"
3926
+ msgstr "Priekis - Gali matyti nario vietovę"
3927
+
3928
+ #: wpf-includes/wpf-phrases.php:556
3929
+ msgid "Front - Can view member occupation"
3930
+ msgstr "Priekis - Gali matyti nario profesiją"
3931
+
3932
+ #: wpf-includes/wpf-phrases.php:557
3933
+ msgid "Front - Can view member signature"
3934
+ msgstr "Priekis - Gali matyti nario parašą"
3935
+
3936
+ #: wpf-includes/wpf-phrases.php:558
3937
+ msgid "Front - Can view member about me"
3938
+ msgstr "Priekis - Gali matyti nario Apie mane"
3939
+
3940
+ #: wpf-includes/wpf-phrases.php:559
3941
+ msgid "Front - Can view member phone number"
3942
+ msgstr "Priekis - Gali matyti nario vartotojo tel. numerį"
3943
+
3944
+ #: wpf-includes/wpf-phrases.php:560
3945
+ msgid "Front - Can write PM"
3946
+ msgstr "Gali matyti forumą"
3947
+
3948
+ #: wpf-includes/wpf-phrases.php:561
3949
+ msgid "Can view forum"
3950
+ msgstr "Gali matyti forumą"
3951
+
3952
+ #: wpf-includes/wpf-phrases.php:562
3953
+ msgid "Can create topic"
3954
+ msgstr "Gali kurti temą"
3955
+
3956
+ #: wpf-includes/wpf-phrases.php:563
3957
+ msgid "Can view topic"
3958
+ msgstr "Gali peržiūrėti temą"
3959
+
3960
+ #: wpf-includes/wpf-phrases.php:564
3961
+ msgid "Can edit topic"
3962
+ msgstr "Gali keisti temą"
3963
+
3964
+ #: wpf-includes/wpf-phrases.php:565
3965
+ msgid "Can delete topic"
3966
+ msgstr "Gali trinti temą"
3967
+
3968
+ #: wpf-includes/wpf-phrases.php:566
3969
+ msgid "Can post reply"
3970
+ msgstr "Gali atsakyti"
3971
+
3972
+ #: wpf-includes/wpf-phrases.php:567
3973
+ msgid "Can view replies"
3974
+ msgstr "Gali peržiūrėti atsakymus"
3975
+
3976
+ #: wpf-includes/wpf-phrases.php:568
3977
+ msgid "Can edit replies"
3978
+ msgstr "Gali redaguoti atsakymus"
3979
+
3980
+ #: wpf-includes/wpf-phrases.php:569
3981
+ msgid "Can delete replies"
3982
+ msgstr "Gali trinti atsakymus"
3983
+
3984
+ #: wpf-includes/wpf-phrases.php:570
3985
+ msgid "Can edit own topic"
3986
+ msgstr "Gali redaguoti savo temą"
3987
+
3988
+ #: wpf-includes/wpf-phrases.php:571
3989
+ msgid "Can edit own replay"
3990
+ msgstr "Gali redaguoti savo atsakymą"
3991
+
3992
+ #: wpf-includes/wpf-phrases.php:572
3993
+ msgid "Can delete own topic"
3994
+ msgstr "Gali trinti savo temą"
3995
+
3996
+ #: wpf-includes/wpf-phrases.php:573
3997
+ msgid "Can delete own reply"
3998
+ msgstr "Gali trinti savo atsakymą"
3999
+
4000
+ #: wpf-includes/wpf-phrases.php:574
4001
+ msgid "Can like"
4002
+ msgstr "Gali rodyti Patinka"
4003
+
4004
+ #: wpf-includes/wpf-phrases.php:575
4005
+ msgid "Can report"
4006
+ msgstr "Gali pranešti"
4007
+
4008
+ #: wpf-includes/wpf-phrases.php:576
4009
+ msgid "Can set topic sticky"
4010
+ msgstr "Gali nustatyti lipnią temą"
4011
+
4012
+ #: wpf-includes/wpf-phrases.php:577
4013
+ msgid "Can set topic private"
4014
+ msgstr "Gali nustatyti privačią temą"
4015
+
4016
+ #: wpf-includes/wpf-phrases.php:578
4017
+ msgid "Can vote"
4018
+ msgstr "Gali balsuoti"
4019
+
4020
+ #: wpf-includes/wpf-phrases.php:579
4021
+ msgid "Can attach file"
4022
+ msgstr "Gali prisegti bylą"
4023
+
4024
+ #: wpf-includes/wpf-phrases.php:580
4025
+ msgid "Can set topic answered"
4026
+ msgstr "Gali nustatyti, kad tema atsakyta"
4027
+
4028
+ #: wpf-includes/wpf-phrases.php:581
4029
+ msgid "Can set own topic answered"
4030
+ msgstr "Gali nustatyti savo temą, kad ji atsakyta"
4031
+
4032
+ #: wpf-includes/wpf-phrases.php:582
4033
+ msgid "Can close topic"
4034
+ msgstr "Gali uždaryti temą"
4035
+
4036
+ #: wpf-includes/wpf-phrases.php:583
4037
+ msgid "Can move topic"
4038
+ msgstr "Gali perkelti temą"
4039
+
4040
+ #: wpf-includes/wpf-phrases.php:584
4041
+ msgid "Can view attached files"
4042
+ msgstr "Gali matyti prisegtas bylas"
4043
+
4044
+ #: wpf-includes/wpf-phrases.php:585
4045
+ msgid "Can approve/unapprove content"
4046
+ msgstr "Gali patvirtinti/nepatvirtinti turinio"
4047
+
4048
+ #: wpf-includes/wpf-phrases.php:586
4049
+ msgid "Can create poll"
4050
+ msgstr "Gali kurti apklausą"
4051
+
4052
+ #: wpf-includes/wpf-phrases.php:587
4053
+ msgid "Can vote poll"
4054
+ msgstr "Gali balsuoti apklausoje"
4055
+
4056
+ #: wpf-includes/wpf-phrases.php:588
4057
+ msgid "Can view poll result"
4058
+ msgstr "Gali matyti apklausos rezultatus"
4059
+
4060
+ #: wpf-includes/wpf-phrases.php:589
4061
+ msgid "like"
4062
+ msgstr "patinka"
4063
+
4064
+ #: wpf-includes/wpf-phrases.php:590
4065
+ msgid "unlike"
4066
+ msgstr "nepatinka"
4067
+
4068
+ #: wpf-includes/wpf-phrases.php:591
4069
+ msgid "sticky"
4070
+ msgstr "lipni"
4071
+
4072
+ #: wpf-includes/wpf-phrases.php:592
4073
+ msgid "unsticky"
4074
+ msgstr "nelipni"
4075
+
4076
+ #: wpf-includes/wpf-phrases.php:593
4077
+ msgid "close"
4078
+ msgstr "uždaryti"
4079
+
4080
+ #: wpf-includes/wpf-phrases.php:594
4081
+ msgid "open"
4082
+ msgstr "atverti"
4083
+
4084
+ #: wpf-includes/wpf-phrases.php:595
4085
+ msgid "Topic Icons"
4086
+ msgstr "Temos Ikonos"
4087
+
4088
+ #: wpf-includes/wpf-phrases.php:596
4089
+ msgid "New"
4090
+ msgstr "Nauja"
4091
+
4092
+ #: wpf-includes/wpf-phrases.php:597
4093
+ msgid "Replied"
4094
+ msgstr "Atsakyta"
4095
+
4096
+ #: wpf-includes/wpf-phrases.php:599
4097
+ msgid "Hot"
4098
+ msgstr "Karšta"
4099
+
4100
+ #: wpf-includes/wpf-phrases.php:600
4101
+ msgid "Solved"
4102
+ msgstr "Išspręsta"
4103
+
4104
+ #: wpf-includes/wpf-phrases.php:601
4105
+ msgid "Unsolved"
4106
+ msgstr "Neišspręsta"
4107
+
4108
+ #: wpf-includes/wpf-phrases.php:609
4109
+ msgid "Can set topic solved"
4110
+ msgstr "Gali pažymėti temą kaip išspręstą"
4111
+
4112
+ #: wpf-includes/wpf-phrases.php:610
4113
+ msgid "Can set own topic solved"
4114
+ msgstr "Gali pažymėti savo temą kaip išspręstą"
4115
+
4116
+ #: wpf-includes/wpf-phrases.php:611
4117
+ msgid "Old password is wrong"
4118
+ msgstr "Senas slaptažodis neteisingas"
4119
+
4120
+ #: wpf-includes/wpf-phrases.php:612
4121
+ msgid "New Passwords do not match"
4122
+ msgstr "Nauji Slaptažodžiai nesutampa"
4123
+
4124
+ #: wpf-includes/wpf-phrases.php:616
4125
+ msgid ""
4126
+ "This process may take a few seconds or dozens of minutes, it depends on "
4127
+ "database forum size and on server resources. Please be patient and don't "
4128
+ "close this page. If you got 500 Server Error please don't worry, the data "
4129
+ "updating process is still working in MySQL server."
4130
+ msgstr ""
4131
+ "Šis procesas gali užtrukti keletą minučių, tai priklauso nuo forumo duomenų "
4132
+ "bazės dydžio ir serverio resursų. Prašome būti kantriems ir neužverti šio "
4133
+ "lango. Jeigu rodo 500 serverio klaidą nesijaudinkite, duomenų atnaujinimas "
4134
+ "MySQL serveryje tebevyksta."
4135
+
4136
+ #: wpf-includes/wpf-phrases.php:620
4137
+ msgid "Updated Successfully!"
4138
+ msgstr "Atnaujinta sėkmingai!"
4139
+
4140
+ #: wpf-includes/wpf-phrases.php:621
4141
+ msgid "Deleted Successfully!"
4142
+ msgstr "Ištrinta Sėkmingai!"
4143
+
4144
+ #: wpf-includes/wpf-phrases.php:622
4145
+ msgid "Closed"
4146
+ msgstr "Uždaryta"
4147
+
4148
+ #: wpf-includes/wpf-phrases.php:623
4149
+ msgid "Forum Members List"
4150
+ msgstr "Forumo Narių sąrašas"
4151
+
4152
+ #: wpf-includes/wpf-phrases.php:624
4153
+ msgid "are you sure you want to delete?"
4154
+ msgstr "ar tikrai norite ištrinti?"
4155
+
4156
+ #: wpf-includes/wpf-phrases.php:626
4157
+ msgid "Moderator"
4158
+ msgstr "Prižiūrėtojas"
4159
+
4160
+ #: wpf-includes/wpf-phrases.php:628
4161
+ msgid "Customer"
4162
+ msgstr "Vartotojas"
4163
+
4164
+ #: wpf-includes/wpf-phrases.php:629
4165
+ msgid "No access"
4166
+ msgstr "Nėra prieigos"
4167
+
4168
+ #: wpf-includes/wpf-phrases.php:630
4169
+ msgid "Read only access"
4170
+ msgstr "Prieiga tik skaityti"
4171
+
4172
+ #: wpf-includes/wpf-phrases.php:631
4173
+ msgid "Standard access"
4174
+ msgstr "Standartinė prieiga"
4175
+
4176
+ #: wpf-includes/wpf-phrases.php:632
4177
+ msgid "Moderator access"
4178
+ msgstr "Prižiūrėtojo prieiga"
4179
+
4180
+ #: wpf-includes/wpf-phrases.php:633
4181
+ msgid "Full access"
4182
+ msgstr "Pilna prieiga"
4183
+
4184
+ #: wpf-includes/wpf-phrases.php:636
4185
+ msgid "Incorrect file format. Allowed formats: jpeg, jpg, png, gif."
4186
+ msgstr "Neteisingas bylos formatas. Galimi formatai: jpeg, jpg, png, gif."
4187
+
4188
+ #: wpf-includes/wpf-phrases.php:643
4189
+ msgid "Attachment removed"
4190
+ msgstr "Priedas pašalintas"
4191
+
4192
+ #: wpf-includes/wpf-phrases.php:644
4193
+ msgid "Forum Posts"
4194
+ msgstr "Forumo Įrašai"
4195
+
4196
+ #: wpf-includes/wpf-phrases.php:645
4197
+ msgid "Blog Posts"
4198
+ msgstr "Blogo Įrašai"
4199
+
4200
+ #: wpf-includes/wpf-phrases.php:646
4201
+ msgid "Blog Comments"
4202
+ msgstr "Blogo Komentarai"
4203
+
4204
+ #: wpf-includes/wpf-phrases.php:647
4205
+ #, php-format
4206
+ msgid "Welcome back %s!"
4207
+ msgstr "Sveiki sugrįžę %s!"
4208
+
4209
+ #: wpf-includes/wpf-phrases.php:648
4210
+ msgid "Member Profile"
4211
+ msgstr "Vartotojo profilis"
4212
+
4213
+ #: wpf-includes/wpf-phrases.php:649
4214
+ msgid "Member"
4215
+ msgstr "Vartotojas"
4216
+
4217
+ #: wpf-includes/wpf-phrases.php:650
4218
+ msgid "You do not have permission to view this page"
4219
+ msgstr "Neturite teisės peržiūrėti šio puslapio"
4220
+
4221
+ #: wpf-includes/wpf-phrases.php:652
4222
+ msgid ""
4223
+ "This option will disable WordPress on front-end. Only forum pages will be "
4224
+ "available. wpForo will look like as a stand-alone forum."
4225
+ msgstr ""
4226
+ "Ši opcija išjungs Wordpress front-ende. Tik forumas bus pasiekiamas. wpForo "
4227
+ "atrodys kaip atskirtas savarankiškas forumas."
4228
+
4229
+ #: wpf-includes/wpf-phrases.php:655
4230
+ msgid "Can set own topic private"
4231
+ msgstr "Gali nustatyti savo temą kaip privačią"
4232
+
4233
+ #: wpf-includes/wpf-phrases.php:656
4234
+ msgid "Can view private topic"
4235
+ msgstr "Gali peržiūrėti privačią temą"
4236
+
4237
+ #: wpf-includes/wpf-phrases.php:657
4238
+ msgid "private"
4239
+ msgstr "privati"
4240
+
4241
+ #: wpf-includes/wpf-phrases.php:658
4242
+ msgid "public"
4243
+ msgstr "vieša"
4244
+
4245
+ #: wpf-includes/wpf-phrases.php:659
4246
+ msgid "Private Topic"
4247
+ msgstr "Privati tema"
4248
+
4249
+ #: wpf-includes/wpf-phrases.php:660
4250
+ msgid "Only Admins and Moderators can see your private topics."
4251
+ msgstr "Tik Administracija ir Prižiūrėtojai gali matyti jūsų privačias temas."
4252
+
4253
+ #: wpf-includes/wpf-phrases.php:661
4254
+ msgid "Forum ID is not detected"
4255
+ msgstr "Forumo Puslapio ID nenustatyta"
4256
+
4257
+ #: wpf-includes/wpf-phrases.php:662
4258
+ msgid "You are not permitted to subscribe here"
4259
+ msgstr "Jūs negalite prenumeruoti"
4260
+
4261
+ #: wpf-includes/wpf-phrases.php:663
4262
+ msgid "Subscribe to this topic"
4263
+ msgstr "Prenumeruoti šią temą"
4264
+
4265
+ #: wpf-includes/wpf-phrases.php:666
4266
+ msgid "Awaiting moderation"
4267
+ msgstr "Laukiama peržiūros"
4268
+
4269
+ #: wpf-includes/wpf-phrases.php:667
4270
+ msgid "Topic first post not found."
4271
+ msgstr "Nepavyko rasti temos pirmo įrašo."
4272
+
4273
+ #: wpf-includes/wpf-phrases.php:668
4274
+ msgid "Topic first post data not found."
4275
+ msgstr "Nepavyko rasti temos pirmo įrašo duomenų."
4276
+
4277
+ #: wpf-includes/wpf-phrases.php:669
4278
+ msgid "Settings successfully updated"
4279
+ msgstr "Savybės sėkmingai atnaujintos"
4280
+
4281
+ #: wpf-includes/wpf-phrases.php:670
4282
+ msgid "Done!"
4283
+ msgstr "Atlikta!"
4284
+
4285
+ #: wpf-includes/wpf-phrases.php:671
4286
+ msgid "You are not allowed to attach this file type"
4287
+ msgstr "Neturite teisės prisegti šio tipo bylų"
4288
+
4289
+ #: wpf-includes/wpf-phrases.php:672
4290
+ msgid "Post is empty"
4291
+ msgstr "Įrašas tuščias"
4292
+
4293
+ #: wpf-includes/wpf-phrases.php:673
4294
+ msgid "removed link"
4295
+ msgstr "nuorada pašalinta"
4296
+
4297
+ #: wpf-includes/wpf-phrases.php:674
4298
+ msgid "Submit"
4299
+ msgstr "Skelbti"
4300
+
4301
+ #: wpf-includes/wpf-phrases.php:677
4302
+ msgid "Usergroup"
4303
+ msgstr "Vartotojų Grupė"
4304
+
4305
+ #: wpf-includes/wpf-phrases.php:678
4306
+ msgid "Rating Title"
4307
+ msgstr "Reitingo Pavadinimas"
4308
+
4309
+ #: wpf-includes/wpf-phrases.php:679
4310
+ msgid "User Title"
4311
+ msgstr "Vartotojo Pavadinimas"
4312
+
4313
+ #: wpf-includes/wpf-phrases.php:680
4314
+ msgid "Anonymous"
4315
+ msgstr "Anonimas"
4316
+
4317
+ #: wpf-includes/wpf-phrases.php:683
4318
+ msgid "approved"
4319
+ msgstr "patvirtinta"
4320
+
4321
+ #: wpf-includes/wpf-phrases.php:684
4322
+ msgid "unapproved"
4323
+ msgstr "nepatvirtinta"
4324
+
4325
+ #: wpf-includes/wpf-phrases.php:687
4326
+ msgid "--- Choose ---"
4327
+ msgstr "--- Pasirinkite ---"
4328
+
4329
+ #: wpf-includes/wpf-phrases.php:688
4330
+ msgid "Required field"
4331
+ msgstr "Būtinas laukelis"
4332
+
4333
+ #: wpf-includes/wpf-phrases.php:691
4334
+ msgid "Add Reply"
4335
+ msgstr "Atsakyti"
4336
+
4337
+ #: wpf-includes/wpf-phrases.php:692
4338
+ msgid "Forums RSS Feed"
4339
+ msgstr "Forumų RSS Feed"
4340
+
4341
+ #: wpf-includes/wpf-phrases.php:693
4342
+ msgid "Topics RSS Feed"
4343
+ msgstr "Temų RSS Feed"
4344
+
4345
+ #: wpf-includes/wpf-phrases.php:694
4346
+ msgid "Find a member"
4347
+ msgstr "Rasti Vartotoją"
4348
+
4349
+ #: wpf-includes/wpf-phrases.php:695
4350
+ msgid "Display Name or Nicename"
4351
+ msgstr "Rodyti Vardą arba Slapyvardį"
4352
+
4353
+ #: wpf-includes/wpf-phrases.php:696
4354
+ msgid "Reset Search"
4355
+ msgstr "Trinti Paieškos reikšmes"
4356
+
4357
+ #: wpf-includes/wpf-phrases.php:697
4358
+ msgid "Reset Result"
4359
+ msgstr "Trinti Paieškos rezultatus"
4360
+
4361
+ #: wpf-includes/wpf-phrases.php:702
4362
+ msgid "Recent Posts"
4363
+ msgstr "Naujausi įrašai"
4364
+
4365
+ #: wpf-includes/wpf-phrases.php:703
4366
+ msgid "No posts were found here"
4367
+ msgstr "Nerasta įrašų"
4368
+
4369
+ #: wpf-includes/wpf-phrases.php:706
4370
+ msgid "forum link"
4371
+ msgstr "forumo nuoroda"
4372
+
4373
+ #: wpf-includes/wpf-phrases.php:707
4374
+ msgid "in forum"
4375
+ msgstr "forume"
4376
+
4377
+ #: wpf-includes/wpf-phrases.php:708
4378
+ msgid ""
4379
+ "You can mention a person using @nicename in post content to send that person "
4380
+ "an email message. When you post a topic or reply, forum sends an email "
4381
+ "message to the user letting them know that they have been mentioned on the "
4382
+ "post."
4383
+ msgstr ""
4384
+ "Galite paminėti asmenį įraše vartodami @slapyvardis ir šiam asmeniui apie "
4385
+ "tai bus pranešta el. paštu. Skelbiant įrašą ar atsakymą, forumas išsiųs el. "
4386
+ "pašto žinutę vartotoju, kurioje bus nurodyta, kad jis buvo paminėtas įrašė."
4387
+
4388
+ #: wpf-includes/wpf-phrases.php:711
4389
+ msgid "You are not allowed to edit this post"
4390
+ msgstr "Neturite teisės redaguoti šio įrašo"
4391
+
4392
+ #: wpf-includes/wpf-phrases.php:712
4393
+ msgid "Google reCAPTCHA verification failed"
4394
+ msgstr "Google reCAPTCHA įvesta klaidingai"
4395
+
4396
+ #: wpf-includes/wpf-phrases.php:713
4397
+ msgid "ERROR: Can't connect to Google reCAPTCHA API"
4398
+ msgstr "KLAIDA: Nėra galimybės prisijungti prie Google reCAPTCHA API"
4399
+
4400
+ #: wpf-includes/wpf-phrases.php:714
4401
+ msgid "Welcome!"
4402
+ msgstr "Sveiki Atvykę!"
4403
+
4404
+ #: wpf-includes/wpf-phrases.php:715
4405
+ msgid "Join us today!"
4406
+ msgstr "Prisjunkite prie mūsų šiandien!"
4407
+
4408
+ #: wpf-includes/wpf-phrases.php:716
4409
+ msgid ""
4410
+ "Enter your email address or username and we'll send you a link you can use "
4411
+ "to pick a new password."
4412
+ msgstr ""
4413
+ "Įveskite savo el. pašto adresą arba vartotojo vardą ir mes atsiųsime jums "
4414
+ "nuorodą, kurioje galėsite pasirinkti naują slaptažodį."
4415
+
4416
+ #: wpf-includes/wpf-phrases.php:717
4417
+ msgid "Please Insert Your Email or Username"
4418
+ msgstr "Prašome nurodyti savo El. pašto adresą arba Vartotojo Vardą"
4419
+
4420
+ #: wpf-includes/wpf-phrases.php:718
4421
+ msgid "Reset Password"
4422
+ msgstr "Iš naujo Nustatyti Slaptažodį"
4423
+
4424
+ #: wpf-includes/wpf-phrases.php:719
4425
+ msgid "Forgot Your Password?"
4426
+ msgstr "Pamiršote Slaptažodį?"
4427
+
4428
+ #: wpf-includes/wpf-phrases.php:722
4429
+ #, php-format
4430
+ msgid "%s created a new topic %s"
4431
+ msgstr "%s sukūrė naują temą %s"
4432
+
4433
+ #: wpf-includes/wpf-phrases.php:723
4434
+ #, php-format
4435
+ msgid "%s replied to the topic %s"
4436
+ msgstr "%s parašė temoje %s"
4437
+
4438
+ #: wpf-includes/wpf-phrases.php:724
4439
+ #, php-format
4440
+ msgid "%s liked forum post %s"
4441
+ msgstr "%s patinka forumo įrašas %s"
4442
+
4443
+ #: wpf-includes/wpf-phrases.php:725
4444
+ msgid "Read more"
4445
+ msgstr "Skaityti daugiau"
4446
+
4447
+ #: wpf-includes/wpf-phrases.php:726
4448
+ msgid "Forum topic"
4449
+ msgstr "Forumo tema"
4450
+
4451
+ #: wpf-includes/wpf-phrases.php:727
4452
+ msgid "Forum post"
4453
+ msgstr "Forumo įrašas"
4454
+
4455
+ #: wpf-includes/wpf-phrases.php:728
4456
+ msgid "Forum post like"
4457
+ msgstr "Patinka Forumo įrašas"
4458
+
4459
+ #: wpf-includes/wpf-phrases.php:730
4460
+ msgid "Target Topic URL"
4461
+ msgstr "Tikslinės Temos URL"
4462
+
4463
+ #: wpf-includes/wpf-phrases.php:731
4464
+ msgid "Merge Topic"
4465
+ msgstr "Apjungti Temą"
4466
+
4467
+ #: wpf-includes/wpf-phrases.php:732
4468
+ msgid "Split Topic"
4469
+ msgstr "Išskirti Temą"
4470
+
4471
+ #: wpf-includes/wpf-phrases.php:733
4472
+ msgid ""
4473
+ "Please copy the target topic URL from browser address bar and paste in the "
4474
+ "field below."
4475
+ msgstr ""
4476
+ "Prašome nukopijuoti tikslinės temos URL naršyklės adresų lauke ir įklijuoti "
4477
+ "į žemiau esantį laukelį."
4478
+
4479
+ #: wpf-includes/wpf-phrases.php:734
4480
+ msgid ""
4481
+ "All posts will be merged and displayed (ordered) in target topic according "
4482
+ "to posts dates. If you want to append merged posts to the end of the target "
4483
+ "topic you should allow to update posts dates to current date by check the "
4484
+ "option below."
4485
+ msgstr ""
4486
+ "Visi įrašai bus apjungti ir parodyti (surūšiuoti) pažymėtoje temoje pagal "
4487
+ "įrašo datas. Jeigu norite prijungiamus įrašus perkelti į temos pabaigą, "
4488
+ "galite leisti atnaujinti įrašų datas, pažymėdami žemiau esančią opciją."
4489
+
4490
+ #: wpf-includes/wpf-phrases.php:735
4491
+ msgid ""
4492
+ "Update post dates (current date) to allow append posts to the end of the "
4493
+ "target topic."
4494
+ msgstr ""
4495
+ "Atnaujinti įrašų datas (dabartine data) ir leisti pridėti įrašus į pažymėtos "
4496
+ "temos pabaigą."
4497
+
4498
+ #: wpf-includes/wpf-phrases.php:736
4499
+ msgid "Update post titles with target topic title."
4500
+ msgstr "Atnaujinti įrašų pavadinimus pažymėtos temos pavadinimu."
4501
+
4502
+ #: wpf-includes/wpf-phrases.php:737
4503
+ msgid ""
4504
+ "Topics once merged cannot be unmerged. This topic URL will no longer be "
4505
+ "available."
4506
+ msgstr ""
4507
+ "Apjungtos temos negali būti atskirtos. Šios temos URL daugiau nebebus "
4508
+ "pasiekiamas."
4509
+
4510
+ #: wpf-includes/wpf-phrases.php:738
4511
+ msgid "Create New Topic"
4512
+ msgstr "Kurti Naują Temą"
4513
+
4514
+ #: wpf-includes/wpf-phrases.php:739
4515
+ msgid ""
4516
+ "Create new topic with split posts. The first post of new topic becomes the "
4517
+ "earliest reply."
4518
+ msgstr ""
4519
+ "Kurti naują temą su atskirtais įrašais. Pirmas naujos temos įrašas bus "
4520
+ "laikomas anksčiausiu atsakymu."
4521
+
4522
+ #: wpf-includes/wpf-phrases.php:740
4523
+ msgid "New Topic Title"
4524
+ msgstr "Naujos Temos Pavadinimas"
4525
+
4526
+ #: wpf-includes/wpf-phrases.php:741
4527
+ msgid "New Topic Forum"
4528
+ msgstr "Naujas Temų Forumas"
4529
+
4530
+ #: wpf-includes/wpf-phrases.php:742
4531
+ msgid "Select Posts to Split"
4532
+ msgstr "Pažymėti įrašus, kurios išskirti"
4533
+
4534
+ #: wpf-includes/wpf-phrases.php:743
4535
+ msgid ""
4536
+ "Topic once split cannot be unsplit. The first post of new topic becomes the "
4537
+ "earliest reply."
4538
+ msgstr ""
4539
+ "Išskirta Tema negali būtų sujungta. Pirmas naujos temos įrašas bus laikomas "
4540
+ "anksčiausiu atsakymu."
4541
+
4542
+ #: wpf-includes/wpf-phrases.php:744
4543
+ msgid "Merge"
4544
+ msgstr "Apjungti"
4545
+
4546
+ #: wpf-includes/wpf-phrases.php:745
4547
+ msgid "Split"
4548
+ msgstr "Išskirti"
4549
+
4550
+ #: wpf-includes/wpf-phrases.php:746
4551
+ msgid "Move Reply"
4552
+ msgstr "Perkelti Atsakymą"
4553
+
4554
+ #: wpf-includes/wpf-phrases.php:747
4555
+ msgid ""
4556
+ "This action changes topic URL. Once the topic is moved to other forum the "
4557
+ "old URL of this topic will no longer be available."
4558
+ msgstr ""
4559
+ "Ši opcija pakeičia temos URL. Perkėlus temą į kitą forumą senasis URL "
4560
+ "nebebus pasiekiamas."
4561
+
4562
+ #: wpf-themes/classic/functions.php:39
4563
+ msgid "Extended Layout - Recent topics"
4564
+ msgstr "Išplėstinis Maketas - Intro temos"
4565
+
4566
+ #: wpf-themes/classic/functions.php:48
4567
+ msgid "Extended Layout - Number of Recent topics"
4568
+ msgstr "Išplėstinis Maketas - Naujausių Temų Skaičius"
4569
+
4570
+ #: wpf-themes/classic/functions.php:55
4571
+ msgid "Extended Layout - Recent topic length"
4572
+ msgstr "Išplėstinis Maketas - Naujausių temų ilgis"
4573
+
4574
+ #: wpf-themes/classic/functions.php:56 wpf-themes/classic/functions.php:86
4575
+ msgid ""
4576
+ "Set this option value 0 if you want to show the whole title in recent topic "
4577
+ "area."
4578
+ msgstr ""
4579
+ "Norėdami rodyti visą pavadinimą naujausios temos vietoje, nustatykite "
4580
+ "reikšmę 0."
4581
+
4582
+ #: wpf-themes/classic/functions.php:69
4583
+ msgid "Q&A layout - Recent topics"
4584
+ msgstr "\"Klausimai ir Atsakymai\" maketas - Naujausios temos"
4585
+
4586
+ #: wpf-themes/classic/functions.php:78
4587
+ msgid "Q&A Layout - Number of Recent topics"
4588
+ msgstr "\"Klausimai ir Atsakymai\" Maketas - Naujausių temų skaičius"
4589
+
4590
+ #: wpf-themes/classic/functions.php:85
4591
+ msgid "Q&A Layout - Recent topic length"
4592
+ msgstr "Klausimai ir Atsakymai Maketas - Naujausios temos ilgis"
4593
+
4594
+ #: wpf-themes/classic/functions.php:107
4595
+ msgid "Extended Layout - Recent posts"
4596
+ msgstr "Išplėstinis Maketas - Naujausi įrašai"
4597
+
4598
+ #: wpf-themes/classic/functions.php:117
4599
+ msgid "Extended Layout - Number of Recent posts"
4600
+ msgstr "Išplėstinis Maketas - Naujausių Įrašų Skaičius"
4601
+
4602
+ #: wpf-themes/classic/functions.php:118
4603
+ msgid ""
4604
+ "Set this option value 0 if you want to show all posts in recent posts area."
4605
+ msgstr ""
4606
+ "Norėdami rodyti visus įrašus naujausio įrašo vietoje, nustatykite reikšmę 0."
4607
+
4608
+ #: wpf-themes/classic/functions.php:126
4609
+ msgid "Extended Layout - Recent post length"
4610
+ msgstr "Išplėstinis Maketas - Naujausių įrašų ilgis"
4611
+
4612
+ #: wpf-themes/classic/functions.php:127
4613
+ msgid ""
4614
+ "Set this option value 0 if you want to show the whole post content in recent "
4615
+ "post area."
4616
+ msgstr ""
4617
+ "Norėdami rodyti visą įrašo turinį naujausio įrašo vietoje, nustatykite "
4618
+ "reikšmę 0."
4619
+
4620
+ #: wpforo.php:177
4621
+ msgid "Discussion Board"
4622
+ msgstr "Diskusijų Lenta"
4623
+
4624
+ #: wpforo.php:611
4625
+ msgid ""
4626
+ "Allows to embed hundreds of video, social network, audio and photo content "
4627
+ "providers in forum topics and posts."
4628
+ msgstr ""
4629
+ "Leidžia prijungti šimtus video, socialinių tinklų, audio ir foto turinio "
4630
+ "paslaugų teikėjų prieigų prie forumo temų ir įrašų."
4631
+
4632
+ #: wpforo.php:612
4633
+ msgid ""
4634
+ "wpForo Polls is a complete addon to help forum members create, vote and "
4635
+ "manage polls effectively. Comes with poll specific permissions and settings."
4636
+ msgstr ""
4637
+ "wpForo Apklausos yra pilnavertis plėtinys, leidžiantis nariams kurti, "
4638
+ "balsuoti ir efektyviai valdyti apklausas. Įdiegti specifiniai leidimai ir "
4639
+ "nuostatos."
4640
+
4641
+ #: wpforo.php:613
4642
+ msgid ""
4643
+ "Awards myCRED points for forum activity. Integrates myCRED Badges and Ranks. "
4644
+ "Converts wpForo topic and posts, likes to myCRED points."
4645
+ msgstr ""
4646
+ "Suteikia myCRED taškų už aktyvumą forume. Integruoja myCRED Ženkliukus ir "
4647
+ "Reitingus. Paverčia wpFOro temas ir įrašus, \"Patinka\" myCRED taškais."
4648
+
4649
+ #: wpforo.php:614
4650
+ msgid ""
4651
+ "Advanced user profile builder system. Allows to add new fields and manage "
4652
+ "profile page. Creates custom Registration, Account, Member Search forms."
4653
+ msgstr ""
4654
+ "Pažengusio vartotojo profilio kūrimo sistema. Leidžia kurti naujus laukelius "
4655
+ "ir valdyti profilio puslapį. Sukuria pritaikytas Registracijos, Paskyros ir "
4656
+ "Paieškos formas."
4657
+
4658
+ #: wpforo.php:615
4659
+ msgid ""
4660
+ "Adds an advanced file attachment system to forum topics and posts. AJAX "
4661
+ "powered media uploading and displaying system with user specific library."
4662
+ msgstr ""
4663
+ "Prideda prie forumo temų ir įrašų pažangią bylų prisegimo sistemą. AJAX "
4664
+ "valdoma media įkėlimo ir rodymo sistema su į vartotoją orientuota biblioteka."
4665
+
4666
+ #: wpforo.php:616
4667
+ msgid ""
4668
+ "Provides a safe way to communicate directly with other members. Messages are "
4669
+ "private and can only be viewed by conversation participants."
4670
+ msgstr ""
4671
+ "Suteikia saugią galimybę tiesiogiai bendrauti su kitais nariais. Žinutės yra "
4672
+ "privačios ir jas gali matyti tik pašnekovai."
4673
+
4674
+ #: wpforo.php:617
4675
+ msgid ""
4676
+ "Blog to Forum and Forum to Blog content synchronization. Blog posts with "
4677
+ "Forum topics and Blog comments with Forum replies."
4678
+ msgstr ""
4679
+ "Blogas > Forumas ir Forumas > Blogas turinio sinchronizacija. Blogo įrašai "
4680
+ "su Forumo temomis ir Blogo komentarai su Forumo atsakymais."
4681
+
4682
+ #: wpforo.php:618
4683
+ msgid ""
4684
+ "Ads Manager is a powerful yet simple advertisement management system, that "
4685
+ "allows you to add adverting banners between forums, topics and posts."
4686
+ msgstr ""
4687
+ "Reklamų valdiklis - paprastam tačiau galinga reklamos valdymo sistema, kuri "
4688
+ "leidžia pridėti reklamos skydelius tarp forumų, temų ir įrašų."
4689
+
4690
+ #. Plugin Name of the plugin/theme
4691
+ msgid "wpForo - Forums"
4692
+ msgstr "wpForo - Forumai"
4693
+
4694
+ #. Plugin URI of the plugin/theme
4695
+ msgid "https://wpforo.com"
4696
+ msgstr "https://wpforo.com"
4697
+
4698
+ #. Description of the plugin/theme
4699
+ msgid ""
4700
+ "WordPress Forum plugin. wpForo is a full-fledged forum solution for your "
4701
+ "community. Comes with multiple modern forum layouts."
4702
+ msgstr ""
4703
+ "WordPress Forumo įskiepis. wpForo yra pilnavertis sprendimas jūsų "
4704
+ "bendruomenei. Kartu pateikiama keletas šiuolaikiškų forumo atvaizdavimo "
4705
+ "maketų."
4706
+
4707
+ #. Author of the plugin/theme
4708
+ msgid "gVectors Team (A. Chakhoyan, R. Hovhannisyan)"
4709
+ msgstr "gVectors Komanda (A. Chakhoyan, R. Hovhannisyan)"
4710
+
4711
+ #. Author URI of the plugin/theme
4712
+ msgid "https://gvectors.com/"
4713
+ msgstr "https://gvectors.com/"
wpf-languages/wpforo-pt_BR.mo CHANGED
Binary file
wpf-languages/wpforo-pt_BR.po CHANGED
@@ -1,3857 +1,4751 @@
1
- # Translation of Plugins - Forums &#8211; wpForo - Stable (latest release) in Portuguese (Brazil)
2
- # This file is distributed under the same license as the Plugins - Forums &#8211; wpForo - Stable (latest release) package.
3
  msgid ""
4
  msgstr ""
5
- "PO-Revision-Date: 2017-12-20 10:24-0200\n"
 
 
 
 
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
- "Plural-Forms: nplurals=2; plural=(n > 1);\n"
10
  "X-Generator: Poedit 2.0.2\n"
11
- "Language: pt_BR\n"
12
- "Project-Id-Version: Plugins - Forums &#8211; wpForo - Stable (latest release)\n"
13
- "POT-Creation-Date: \n"
 
 
 
14
  "Last-Translator: \n"
15
- "Language-Team: \n"
 
 
16
 
17
- #. Description of the plugin/theme
18
- msgid "WordPress Foum plugin. wpForo is a full-fledged forum solution for your community. Comes with multiple modern forum layouts."
19
- msgstr "Fórum de Plugin WordPress. wpForo é uma solução de fórum completa para sua comunidade. Vem com vários layouts do fórum moderno."
20
 
21
- #. Plugin Name of the plugin/theme
22
- msgid "wpForo - Forums"
23
- msgstr "wpForo - Forums"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
- #: wpforo.php:599
26
- msgid "Awards myCRED points for forum activity. Integrates myCRED Badges and Ranks. Converts wpForo topic and posts, likes to myCRED points."
27
- msgstr "Prêmios de pontos myCRED para a atividade do fórum. Integra MyCRED Badges e Ranks. Converte tópico e postagens do wpForo, curtidas, para pontos myCRED."
28
 
29
- #: wpforo.php:598
30
- msgid "wpForo Polls is a complete addon to help forum members create, vote and manage polls effectively. Comes with poll specific permissions and settings."
31
- msgstr "wpForo Enquetes é um complemento completo para ajudar os membros do fórum a criar, votar e gerenciar as pesquisas efetivamente. Vem com permissões e configurações específicas da enquete."
32
 
33
- #: wpf-themes/classic/functions.php:127
34
- msgid "Set this option value 0 if you want to show the whole post content in recent post area."
35
- msgstr "Defina este valor da opção 0 se desejar mostrar o conteúdo total da postagem na área de publicação recente."
36
 
37
- #: wpf-themes/classic/functions.php:126
38
- msgid "Extended Layout - Recent post length"
39
- msgstr "Extended Layout - Cumprimento do post recente"
40
 
41
- #: wpf-themes/classic/functions.php:118
42
- msgid "Set this option value 0 if you want to show all posts in recent posts area."
43
- msgstr "Defina este valor da opção 0 se desejar mostrar todas as postagens na área de postagens recentes."
44
 
45
- #: wpf-themes/classic/functions.php:117
46
- msgid "Extended Layout - Number of Recent posts"
47
- msgstr "Layout Estendido - Número de Posts Recentes"
 
48
 
49
- #: wpf-themes/classic/functions.php:107
50
- msgid "Extended Layout - Recent posts"
51
- msgstr "Layout Estendido - Posts Recentes"
 
 
 
52
 
53
- #: wpf-themes/classic/functions.php:85
54
- msgid "Q&A Layout - Recent topic length"
55
- msgstr "Q&A Layout - Recent topic length"
 
56
 
57
- #: wpf-themes/classic/functions.php:78
58
- msgid "Q&A Layout - Number of Recent topics"
59
- msgstr "Q&amp;A layout - Número de tópicos de Recentes"
 
60
 
61
- #: wpf-themes/classic/functions.php:69
62
- msgid "Q&A layout - Recent topics"
63
- msgstr "Q&amp;A layout - Tópicos Recentes"
64
 
65
- #: wpf-themes/classic/functions.php:56 wpf-themes/classic/functions.php:86
66
- msgid "Set this option value 0 if you want to show the whole title in recent topic area."
67
- msgstr "Defina este valor da opção para 0 se desejar mostrar todas as postagens na área de introdução do tópico."
 
 
68
 
69
- #: wpf-themes/classic/functions.php:55
70
- msgid "Extended Layout - Recent topic length"
71
- msgstr "Extended Layout - Cumprimento do tópico recente"
 
72
 
73
- #: wpf-themes/classic/functions.php:48
74
- msgid "Extended Layout - Number of Recent topics"
75
- msgstr "Extended Layout - Número de tópicos recentes"
 
76
 
77
- #: wpf-themes/classic/functions.php:39
78
- msgid "Extended Layout - Recent topics"
79
- msgstr "Layout Estendido - Tópicos Recentes"
 
80
 
81
- #: wpf-includes/wpf-phrases.php:704
82
- msgid "You can mention a person using @nicename in post content to send that person an email message. When you post a topic or reply, forum sends an email message to the user letting them know that they have been mentioned on the post."
83
- msgstr "Você pode mencionar uma pessoa usando @seunome no conteúdo do post para enviar a essa pessoa uma mensagem de e-mail. Quando você publica um tópico ou responde, o fórum envia uma mensagem de e-mail ao usuário informando que eles foram mencionados na postagem."
 
84
 
85
- #: wpf-includes/wpf-phrases.php:703
86
- msgid "in forum"
87
- msgstr "no fórum"
88
 
89
- #: wpf-includes/wpf-phrases.php:702
90
- msgid "forum link"
91
- msgstr "link do fórum"
92
 
93
- #: wpf-includes/class-api.php:108
94
- msgid "Invalid User"
95
- msgstr "Usuário Inválido"
96
 
97
- #: wpf-includes/class-api.php:103
98
- msgid "Your email is required to be able authorize you here. Please try loging again. "
99
- msgstr "Seu e-mail é necessário para poder autorizá-lo aqui. Tente fazer login novamente. "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
 
101
- #: wpf-includes/class-api.php:76
102
- msgid "Please login into facebook and then click connect button again"
103
- msgstr "Faça o login no Facebook e clique novamente em no botão de conectar"
104
 
105
- #: wpf-admin/usergroup.php:103
106
- msgid "use default link color"
107
- msgstr "usar a cor de link padrão"
108
 
109
- #: wpf-admin/usergroup.php:102
110
- msgid "Usergroup Color"
111
- msgstr "Cor do Grupo de Usuário"
112
 
113
- #: wpf-admin/usergroup.php:65
114
- msgid "default (#15)"
115
- msgstr "padrão (#15)"
116
 
117
- #: wpf-admin/usergroup.php:22
118
- msgid "Default Access"
119
- msgstr "Acesso Padrão"
120
 
121
- #: wpf-admin/tools.php:16
122
- msgid "Misc"
123
- msgstr "Diversos"
124
 
125
- #: wpf-admin/tools-tabs/misc.php:27
126
- msgid "The noIndex code tells Google and other search engines to NOT index the page, so that it cannot be found in search results. Please insert page URLs you do not want to be indexed one per line in the textarea bellow."
127
- msgstr "O código noindex informa o Google e outros mecanismos de pesquisa para não indexarem a página, de modo que ela não pode ser encontrada nos resultados da pesquisa. Por favor, insira as URLs de página que você não deseja que sejam indexada, um por linha na área de texto abaixo."
128
 
129
- #: wpf-admin/tools-tabs/misc.php:26
130
- msgid "Noindex forum page URLs"
131
- msgstr "URLs de páginas Noindex do fórum"
132
 
133
- #: wpf-admin/tools-tabs/misc.php:19
134
- msgid "wpForo adds nofollow to all links with external URLs. If you want to keep some domains as internal please insert domains one per line in the textarea bellow."
135
- msgstr "wpForo adiciona nofollow a todos os links de URLs externas. Se você quiser manter alguns domínios como interno, por favor insira os domínios um por linha na área abaixo."
 
 
136
 
137
- #: wpf-admin/tools-tabs/misc.php:18
138
- msgid "Allowed dofollow domains"
139
- msgstr "Domínios dofollow permitidos"
 
140
 
141
- #: wpf-admin/tools-tabs/misc.php:10
142
- msgid "SEO Tools"
143
- msgstr "Ferramentas de SEO"
144
 
145
- #: wpf-admin/options.php:23
146
- msgid "API's"
147
- msgstr "API's"
148
 
149
- #: wpf-admin/options-tabs/styles.php:43
150
- msgid "Documentation"
151
- msgstr "Documentação"
152
 
153
- #: wpf-admin/options-tabs/members.php:71
154
- msgid "Member Custom Title by default"
155
- msgstr "Cargos personalizados de membros por padrão"
156
 
157
- #: wpf-admin/options-tabs/members.php:62
158
- msgid "Member Custom Titles"
159
- msgstr "Cargos personalizados de membros"
160
 
161
- #: wpf-admin/options-tabs/features.php:21 wpf-includes/wpf-phrases.php:260
162
- msgid "Replace Login Page URL to Forum Login Page URL"
163
- msgstr "Substituir URL da página de login para URL da página de login do fórum "
164
 
165
- #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:261
166
- msgid "Replace Registration Page URL to Forum Registration Page URL"
167
- msgstr "Substituir URL da página de registro para URL da página de registro do fórum "
168
 
169
- #: wpf-admin/options-tabs/emails.php:126
170
- msgid "User Mention message body"
171
- msgstr "Menção de usuário no corpo da mensagem"
172
 
173
- #: wpf-admin/options-tabs/emails.php:122
174
- msgid "User Mention message subject"
175
- msgstr "Menção de usuário no assunto da mensagem"
 
 
 
 
 
 
 
176
 
177
- #: wpf-admin/options-tabs/emails.php:112
178
- msgid "Enable Email Notification"
179
- msgstr "Habilitar Notificação por E-mail"
180
 
181
- #: wpf-admin/options-tabs/emails.php:107
182
- msgid "User Mentioning Email"
183
- msgstr "Menção de Usuário de E-mail"
184
 
185
- #: wpf-admin/options-tabs/api.php:86
186
- msgid "Custom URL"
187
- msgstr "URL Personalizado"
188
 
189
- #: wpf-admin/options-tabs/api.php:86
190
- msgid "Custom URL, e.g.: http://example.com/my-page/"
191
- msgstr "URL Personalizada, ex: http://example.com/my-page/"
192
 
193
- #: wpf-admin/options-tabs/api.php:84
194
- msgid "Custom"
195
- msgstr "Personalizado"
196
 
197
- #: wpf-admin/options-tabs/api.php:78
198
- msgid "Redirect to this page after success login"
199
- msgstr "Redirecione para esta página após o login com sucesso"
 
200
 
201
- #: wpf-admin/options-tabs/api.php:67
202
- msgid "Facebook Login button on User Registration page"
203
- msgstr "Botão de login do Facebook na página de registro do usuário"
 
204
 
205
- #: wpf-admin/options-tabs/api.php:56
206
- msgid "Facebook Login button on User Login page"
207
- msgstr "Botão de login do Facebook na página de login do usuário"
208
 
209
- #: wpf-admin/options-tabs/api.php:45
210
- msgid "Facebook API connection script (sharing, login, cross-posting...)"
211
- msgstr "Script de conexão da API do Facebook (compartilhamento, login, postagem-cruzada ...)"
212
 
213
- #: wpf-admin/options-tabs/api.php:44
214
- msgid "Facebook SDK for JavaScript"
215
- msgstr "Facebook SDK para JavaScript"
216
 
217
- #: wpf-admin/options-tabs/api.php:38 wpf-admin/options-tabs/api.php:50
218
- #: wpf-admin/options-tabs/api.php:61 wpf-admin/options-tabs/api.php:72
219
- #: wpf-admin/options-tabs/members.php:66
220
- msgid "Disable"
221
- msgstr "Desativar"
222
 
223
- #: wpf-admin/options-tabs/api.php:37 wpf-admin/options-tabs/api.php:49
224
- #: wpf-admin/options-tabs/api.php:60 wpf-admin/options-tabs/api.php:71
225
- #: wpf-admin/options-tabs/members.php:65
226
- msgid "Enable"
227
- msgstr "Habilitar"
228
 
229
- #: wpf-admin/options-tabs/api.php:33
230
- msgid "Adds Facebook Login button on Registration and Login pages."
231
- msgstr "Adiciona o botão de login do Facebook nas páginas de registro e login."
 
232
 
233
- #: wpf-admin/options-tabs/api.php:32
234
- msgid "Facebook Login"
235
- msgstr "Facebook Login"
236
 
237
- #: wpf-admin/options-tabs/api.php:27
238
- msgid "App Secret"
239
- msgstr "App Secret"
 
 
240
 
241
- #: wpf-admin/options-tabs/api.php:26
242
- msgid "App ID"
243
- msgstr "App ID"
244
 
245
- #: wpf-admin/options-tabs/api.php:23
246
- msgid "Please follow to this instruction"
247
- msgstr "Por favor, siga estas instruções"
 
 
248
 
249
- #: wpf-admin/options-tabs/api.php:23
250
- msgid "In order to get an App ID and Secret Key from Facebook, you’ll need to register a new application. Don’t worry – its very easy, and your application doesn't need to do anything. We only need the keys."
251
- msgstr "Para obter um ID de aplicativo e uma 'Secret Key' do Facebook, você precisará registrar um novo aplicativo. Não se preocupe - é muito fácil, e sua aplicação não precisa fazer nada. Nós só precisamos das keys."
 
 
 
 
252
 
253
- #: wpf-admin/options-tabs/api.php:22
254
- msgid "Facebook API Configuration"
255
- msgstr "Configuração da API do Facebook"
 
 
 
 
 
 
 
 
 
256
 
257
- #: wpf-includes/wpf-phrases.php:699
258
- msgid "No posts were found here"
259
- msgstr "Nenhuma postagem foi encontrada aqui"
260
 
261
- #: wpf-includes/wpf-phrases.php:698
262
- msgid "Recent Posts"
263
- msgstr "Posts Recentes"
264
 
265
- #: wpf-includes/wpf-phrases.php:693
266
- msgid "Reset Result"
267
- msgstr "Redefinir resultados"
268
 
269
- #: wpf-includes/wpf-phrases.php:692
270
- msgid "Reset Search"
271
- msgstr "Redefinir pesquisa"
 
 
 
 
272
 
273
- #: wpf-includes/wpf-phrases.php:691
274
- msgid "Display Name or Nicename"
275
- msgstr "Mostrar Nome ou nome de exibição"
276
 
277
- #: wpf-includes/wpf-phrases.php:690
278
- msgid "Find a member"
279
- msgstr "Encontrar um membro"
280
 
281
- #: wpf-includes/wpf-phrases.php:689
282
- msgid "Topics RSS Feed"
283
- msgstr "Feed RSS de Tópicos"
284
 
285
- #: wpf-includes/wpf-phrases.php:688
286
- msgid "Forums RSS Feed"
287
- msgstr "Feed RSS de Fóruns"
288
 
289
- #: wpf-includes/wpf-phrases.php:687
290
- msgid "Add Reply"
291
- msgstr "Adicionar Resposta"
292
 
293
- #: wpf-includes/functions-installation.php:664
294
- msgid "Please click the button below to complete wpForo update."
295
- msgstr "Clique no botão abaixo para completar a atualização do wpForo."
 
296
 
297
- #: wpf-includes/functions-installation.php:663
298
- msgid "wpForo - Update Database "
299
- msgstr "wpForo - Atualização do Banco de Dados"
300
 
301
- #: wpf-includes/functions-installation.php:662
302
- msgid "Updater Database"
303
- msgstr "Atualizador de Banco de Dados"
 
 
 
304
 
305
- #: wpf-includes/functions-installation.php:661
306
- msgid "This process may take a few seconds or dozens of minutes, please be patient and don't close this page. Database backup is not required. If you got 500 Server Error please don't worry, the data updating process is still working in MySQL server."
307
- msgstr "Esse processo pode demorar alguns segundos ou vários minutos, depende do tamanho do banco de dados do fórum e dos recursos do servidor. Por favor, seja paciente e não feche esta página. Se você lidar com o erro 500 de servidor, por favor não se preocupe, o processo de atualização de dados ainda está rodando de fundo, no servidor MySQL."
 
308
 
309
- #: wpf-admin/options-tabs/features.php:36 wpf-includes/wpf-phrases.php:696
310
- msgid "Enable RSS Feed"
311
- msgstr "Ativar RSS Feed"
312
 
313
- #: wpf-admin/options-tabs/features.php:22 wpf-includes/wpf-phrases.php:695
314
- msgid "Replace WP Reset Password URL to Forum reset password page"
315
- msgstr "Substituir URL de redefinição de senha do WP para a página de redefinição de senha do Fórum"
 
 
 
 
316
 
317
- #: wpf-admin/options-tabs/features.php:15 wpf-includes/wpf-phrases.php:694
318
- msgid "Log Viewed Forums and Topics"
319
- msgstr "Tópicos e tópicos relacionados ao registro"
320
 
321
- #: wpforo.php:600
322
- msgid "Advanced user profile builder system. Allows to add new fields and manage profile page. Creates custom Registration, Account, Member Search forms."
323
- msgstr "Sistema avançado de criação de perfis de usuários. Permite adicionar novos campos e gerenciar a página de perfil. Cria formulários personalizados de Registro, Conta, Pesquisa de Membros."
324
 
325
- #: wpf-includes/wpf-phrases.php:684
326
- msgid "Required field"
327
- msgstr "Campo obrigatório"
328
 
329
- #: wpf-includes/wpf-phrases.php:683
330
- msgid "--- Choose ---"
331
- msgstr "--- Escolher ---"
332
 
333
- #: wpf-includes/wpf-phrases.php:679
334
- msgid "approved"
335
- msgstr "aprovado"
 
 
 
 
336
 
337
- #: wpf-includes/wpf-phrases.php:646
338
- msgid "You do not have permission to view this page"
339
- msgstr "Você não tem permissão para visualizar esta página"
340
 
341
- #: wpf-admin/usergroup.php:141
342
- msgid "This is only used when a new Usergroup is created, it automatically gets the selected Forum Access in all forums."
343
- msgstr "Isso só é usado quando um novo Grupo de Usuários é criado, ele recebe automaticamente o Acesso do Fórum selecionado em todos os fóruns."
344
 
345
- #: wpf-admin/usergroup.php:133
346
- msgid "Default Forum Access"
347
- msgstr "Acesso padrão do Fórum"
348
 
349
- #: wpf-admin/usergroup.php:124
350
- msgid "WordPress User Role"
351
- msgstr "Função de usuário do WordPress"
 
 
 
 
 
352
 
353
- #: wpf-admin/usergroup.php:57
354
- msgid "Set as Default"
355
- msgstr "Definir como padrão"
 
 
 
 
356
 
357
- #: wpf-admin/usergroup.php:57
358
- msgid "DO NOT set this option on higher level user groups !!!"
359
- msgstr "NÃO configure esta opção em grupos de usuários de nível superior !!!"
360
 
361
- #: wpf-admin/usergroup.php:55
362
- msgid "is Default"
363
- msgstr "é padrão"
364
 
365
- #: wpf-admin/usergroup.php:21
366
- msgid "New Users Default Group"
367
- msgstr "Grupo Padrão de Novos Usuários"
368
 
369
- #: wpf-admin/usergroup.php:18
370
- msgid "Usergroup id"
371
- msgstr "ID do Grupo de Usuários"
 
 
372
 
373
- #: wpf-admin/options-tabs/members.php:33
374
- msgid "Filter"
375
- msgstr "Filtrar"
376
 
377
- #: wpf-admin/options-tabs/members.php:29 wpf-includes/wpf-phrases.php:697
378
- msgid "Members Search Type"
379
- msgstr "Tipo de pesquisa de membros"
 
 
380
 
381
- #: wpf-admin/options-tabs/emails.php:102
382
- msgid "Reset Password message body"
383
- msgstr "Corpo da mensagem de redefinição de senha"
384
 
385
- #: wpf-admin/options-tabs/emails.php:98
386
- msgid "This message comes from Reset Password form."
387
- msgstr "Esta mensagem vem do formulário de redefinição de Senha."
388
 
389
- #: wpf-admin/options-tabs/emails.php:97
390
- msgid "Reset Password Emails"
391
- msgstr "Redefinir senha de e-mails"
 
392
 
393
- #: wpforo.php:603
394
- msgid "Blog to Forum and Forum to Blog content synchronization. Blog posts with Forum topics and Blog comments with Forum replies."
395
- msgstr "Sincronização de conteúdo do Blog para o Fórum e do Fórum para o Blog. Publicações do blog se tornarão tópicos do Fórum e comentários no Blog se tornarão respostas no Fórum."
 
 
 
 
 
396
 
397
- #: wpf-includes/wpf-phrases.php:676
398
- msgid "Anonymous"
399
- msgstr "Anônimo"
 
 
400
 
401
- #: wpf-includes/wpf-phrases.php:675
402
- msgid "User Title"
403
- msgstr "Cargo de Usuário"
404
 
405
- #: wpf-includes/wpf-phrases.php:674
406
- msgid "Rating Title"
407
- msgstr "Classificação de Ranking"
408
 
409
- #: wpf-includes/wpf-phrases.php:673
410
- msgid "Usergroup"
411
- msgstr "Grupo de Usuário"
412
 
413
- #: wpforo.php:604
414
- msgid "Ads Manager is a powerful yet simple advertisement management system, that allows you to add adverting banners between forums, topics and posts."
415
- msgstr "Gerenciador de Anúncios é um sistema de gestão de publicidade poderoso, mas simples, que lhe permite adicionar banners de anúncio entre fóruns, tópicos e Posts."
416
 
417
- #: wpf-includes/wpf-hooks.php:1778
418
- msgid "New UserGroup"
419
- msgstr "Novo Grupo de Usuários"
 
 
 
 
 
 
420
 
421
- #: wpf-includes/wpf-hooks.php:1711
422
- msgid "Community"
423
- msgstr "Comunidade"
424
 
425
- #: wpf-includes/wpf-hooks.php:1696 wpf-includes/wpf-hooks.php:1794
426
- msgid "New Phrase"
427
- msgstr "Novo Termo"
428
 
429
- #: wpf-includes/wpf-hooks.php:1688
430
- msgid "New User Group"
431
- msgstr "Novo Grupo de Usuários"
432
 
433
- #: wpf-includes/wpf-hooks.php:1680 wpf-includes/wpf-hooks.php:1726
434
- msgid "New Forum"
435
- msgstr "Novo Fórum"
436
 
437
- #: wpf-includes/functions-installation.php:649
438
- msgid "Forum users' profile data are not synchronized yet, this step is required! Please click the button below to complete installation."
439
- msgstr "Os dados do perfil dos usuários do fórum ainda não estão sincronizados, esta tapa é necessária! Por favor, clique no botão abaixo para concluir a instalação."
440
 
441
- #: wpf-includes/functions-installation.php:648
442
- msgid "wpForo Forum Installation | "
443
- msgstr "Instalação do Fórum wpForo | "
 
 
444
 
445
- #: wpf-includes/functions-installation.php:646
446
- msgid "You can permanently disable this message in Dashboard > Forums > Features admin page."
447
- msgstr "Você pode desativar permanentemente esta mensagem em Painel de Controle > Forums > Recursos de administração da página."
 
 
448
 
449
- #: wpf-includes/functions-installation.php:645
450
- msgid "This process may take a few seconds or dozens of minutes, please be patient and don't close this page."
451
- msgstr "Este processo pode demorar alguns segundos ou vários minutos, por favor, seja paciente e não feche esta página."
452
 
453
- #: wpf-includes/functions-installation.php:642
454
- msgid "Continue Synchronization"
455
- msgstr "Continuar Sincronização"
 
 
456
 
457
- #: wpf-includes/functions-installation.php:642
458
- msgid "Start Profile Synchronization"
459
- msgstr "Iniciar sincronização de perfis"
460
 
461
- #: wpf-admin/tools.php:15
462
- msgid "Cleanup"
463
- msgstr "Fazer limpeza"
464
 
465
- #: wpf-admin/tools-tabs/cleanup.php:36
466
- msgid "Enable Auto-cleanup of inactive users"
467
- msgstr "Habilitar a limpeza automática de usuários inativos"
468
 
469
- #: wpf-admin/tools-tabs/cleanup.php:25
470
- msgid "Filter by Usergroups"
471
- msgstr "Filtrar por Grupo de usuários"
472
 
473
- #: wpf-admin/tools-tabs/cleanup.php:20
474
- msgid "days ago"
475
- msgstr "dias atrás"
476
-
477
- #: wpf-admin/tools-tabs/cleanup.php:19
478
- msgid "Inactive users who have been registered more than"
479
- msgstr "Usuários inativos que foram registrados mais do que"
480
 
481
- #: wpf-admin/tools-tabs/cleanup.php:13
482
- msgid "Inactive users are the account owners who have no topics, posts, comments and subscriptions for new content. In 99% cases this kind of accounts are being registered by Spammers. This tool allows you to only keep active and known inactive users."
483
- msgstr "Usuários inativos são as contas que não têm tópicos, postagens, comentários e inscrição de novos conteúdos. Em 99% das vezes, este tipo de contas estão sendo registradas pelos Spammers. Esta ferramenta permite que você mantenha usuários ativos e descubra os inativos."
484
 
485
- #: wpf-admin/tools-tabs/cleanup.php:12
486
- msgid "Delete Inactive Users"
487
- msgstr "Deletar usuários inativos"
488
 
489
- #: wpf-admin/options-tabs/members.php:132
490
- msgid "Display Usergroup under Post Author Avatar"
491
- msgstr "Mostrar Grupo de Usuário abaixo do avatar do autor"
 
 
 
 
 
492
 
493
- #: wpf-admin/options-tabs/members.php:58 wpf-includes/wpf-phrases.php:175
494
- msgid "Member Reputation and Titles"
495
- msgstr "Reputação e Ranking dos Membros"
496
 
497
- #: wpf-admin/options-tabs/features.php:38
498
- msgid "Turn Off User Syncing Note"
499
- msgstr "Desativar a nota de sincronização do usuário"
500
 
501
- #: wpf-admin/options-tabs/features.php:35
502
- msgid "Enable User Profile Page indexing"
503
- msgstr "Habilitar indexação da página de perfil de usuário"
504
 
505
- #: wpf-admin/options-tabs/features.php:32
506
- msgid "Enable Memory Cache"
507
- msgstr "Ativar 'Memory Cache'"
 
 
 
 
508
 
509
- #: wpf-admin/options-tabs/features.php:31
510
- msgid "Enable HTML Cache"
511
- msgstr "Ativar 'HTML Cache'"
512
 
513
- #: wpf-admin/options-tabs/features.php:30
514
- msgid "Enable Object Cache"
515
- msgstr "Ativar 'Object Cache'"
 
 
 
 
516
 
517
- #: wpf-admin/dashboard.php:201
518
- msgid "Delete All Caches"
519
- msgstr "Deletar todos Caches"
 
 
 
 
 
 
 
 
520
 
521
- #: wpf-includes/wpf-phrases.php:670
522
- msgid "Submit"
523
- msgstr "Enviar"
 
 
 
 
 
 
 
 
524
 
525
- #: wpf-includes/wpf-phrases.php:669
526
- msgid "removed link"
527
- msgstr "link removido"
528
 
529
- #: wpf-includes/wpf-phrases.php:668
530
- msgid "Post is empty"
531
- msgstr "Post vazio"
 
 
 
 
532
 
533
- #: wpf-includes/wpf-phrases.php:667
534
- msgid "You are not allowed to attach this file type"
535
- msgstr "Você não esta autorizado a anexar este tipo de arquivo"
536
 
537
- #: wpf-includes/wpf-phrases.php:680
538
- msgid "unapproved"
539
- msgstr "reprovado"
540
 
541
- #: wpf-includes/wpf-phrases.php:666
542
- msgid "Done!"
543
- msgstr "Pronto!"
544
 
545
- #: wpf-includes/wpf-phrases.php:665
546
- msgid "Settings successfully updated"
547
- msgstr "Configurações atualizadas com sucesso"
548
 
549
- #: wpf-includes/wpf-phrases.php:664
550
- msgid "Topic first post data not found."
551
- msgstr "Os dados do primeiro post do tópico não foram encontrados."
552
 
553
- #: wpf-includes/wpf-phrases.php:663
554
- msgid "Topic first post not found."
555
- msgstr "Primeiro tópico do tópico não encontrado."
556
 
557
- #: wpf-includes/wpf-phrases.php:662
558
- msgid "Awaiting moderation"
559
- msgstr "Aguardando moderação"
560
 
561
- #: wpf-includes/wpf-hooks.php:1507
562
- msgid "This post is currently unapproved. You can approve posts in Dashboard &raquo; Forums &raquo; Moderation admin page."
563
- msgstr "Esta publicação está pendente atualmente. Você pode aprovar postagens no Painel de Controle &raquo; Fóruns &raquo; Página de administração de moderação."
564
 
565
- #: wpf-includes/wpf-hooks.php:1419
566
- msgid "This topic is currently unapproved. You can approve topics in Dashboard &raquo; Forums &raquo; Moderation admin page."
567
- msgstr "Este tópico está atualmente não aprovado. Você pode aprovar tópicos no Painel de Controle &raquo; Fóruns &raquo; Página de administração de moderação."
568
 
569
- #: wpf-includes/wpf-hooks.php:1418 wpf-includes/wpf-hooks.php:1506
570
- msgid "Please Moderate: "
571
- msgstr "Modere por favor: "
572
 
573
- #: wpf-includes/functions.php:669
574
- msgid "Post"
575
- msgstr "Post"
576
 
577
- #: wpf-includes/functions.php:669
578
- msgid "Topic"
579
- msgstr "Tópico"
580
 
581
- #: wpf-includes/functions.php:622 wpf-includes/wpf-phrases.php:681
582
- msgid "approve"
583
- msgstr "aprovar"
584
 
585
- #: wpf-includes/functions.php:622 wpf-includes/wpf-phrases.php:682
586
- msgid "unapprove"
587
- msgstr "reprovar"
588
 
589
- #: wpf-includes/functions.php:622
590
- msgid "Approve this item"
591
- msgstr "Aprovar este item"
592
 
593
- #: wpf-includes/functions.php:622
594
- msgid "unapprove this item"
595
- msgstr "reprove este item"
596
 
597
- #: wpf-includes/functions.php:530 wpf-includes/functions.php:546
598
- msgid "Type"
599
- msgstr "Tipo"
600
 
601
- #: wpf-includes/functions.php:472
602
- msgid "filter by user"
603
- msgstr "filtrar por usuário"
604
 
605
- #: wpf-includes/functions.php:375
606
- msgid "Banned"
607
- msgstr "Banido"
608
 
609
- #: wpf-includes/functions.php:365
610
- msgid "Published"
611
- msgstr "Publicado"
612
 
613
- #: wpf-includes/functions.php:364
614
- msgid "Unapproved"
615
- msgstr "Reprovado"
616
 
617
- #: wpf-includes/class-moderation.php:159
618
- msgid "Probably spam file attachments have been detected by wpForo Spam Control. Please moderate suspected files here %s"
619
- msgstr "Provavelmente os anexos de arquivos de spam foram detectados pelo Controle de Spam do wpForo. Por favor, modere os arquivos suspeitos aqui %s"
620
 
621
- #: wpf-admin/tools.php:14
622
- msgid "Antispam"
623
- msgstr "Antispam"
624
 
625
- #: wpf-admin/tools.php:8
626
- msgid "Forum Tools"
627
- msgstr "Ferramentas do Fórum"
628
 
629
- #: wpf-admin/tools-tabs/antispam.php:169
630
- msgid "Are you sure you want to delete all DARK RED marked files listed here. Please download Wordpress /wp-content/uploads/wpforo/ folder to your local computer before deleting files, this is not undoable."
631
- msgstr "Tem certeza de que deseja excluir todos os arquivos marcados em VERMELHO ESCURO listados aqui. Por favor faça o download da pasta do Wordpress /wp-content/uploads/wpforo/ para o seu computador antes de excluir arquivos, Isso não é reversível."
632
 
633
- #: wpf-admin/tools-tabs/antispam.php:167
634
- msgid "Click to delete Dark Red marked files"
635
- msgstr "Clique para apagar arquivos marcados em vermelho escuro"
636
 
637
- #: wpf-admin/tools-tabs/antispam.php:163
638
- msgid "Are you sure you want to delete all RED marked files listed here. Please download Wordpress /wp-content/uploads/wpforo/ folder to your local computer before deleting files, this is not undoable."
639
- msgstr "Tem certeza de que deseja excluir todos os arquivos marcados em VERMELHO listados aqui. Por favor faça o download da pasta do Wordpress /wp-content/uploads/wpforo/ para o seu computador antes de excluir arquivos, Isso não é reversível."
640
 
641
- #: wpf-admin/tools-tabs/antispam.php:161
642
- msgid "Click to delete Red marked files"
643
- msgstr "Clique para apagar arquivos marcados em vermelho"
644
 
645
- #: wpf-admin/tools-tabs/antispam.php:157
646
- msgid "Are you sure you want to delete all ORANGE marked files listed here. Please download Wordpress /wp-content/uploads/wpforo/ folder to your local computer before deleting files, this is not undoable."
647
- msgstr "Tem certeza de que deseja excluir todos os arquivos marcados de LARANJA listados aqui. Por favor faça o download da pasta do Wordpress /wp-content/uploads/wpforo/ para o seu computador antes de excluir arquivos, Isso não é reversível."
648
 
649
- #: wpf-admin/tools-tabs/antispam.php:155
650
- msgid "Click to delete Orange marked files"
651
- msgstr "Clique para apagar arquivos marcados em laranja"
652
 
653
- #: wpf-admin/tools-tabs/antispam.php:152 wpf-admin/tools-tabs/antispam.php:158
654
- #: wpf-admin/tools-tabs/antispam.php:164 wpf-admin/tools-tabs/antispam.php:170
655
- msgid "Delete All"
656
- msgstr "Deletar Todos"
657
 
658
- #: wpf-admin/tools-tabs/antispam.php:151
659
- msgid "Are you sure you want to delete all BLUE marked files listed here. Please download Wordpress /wp-content/uploads/wpforo/ folder to your local computer before deleting files, this is not undoable."
660
- msgstr "Tem certeza de que deseja excluir todos os arquivos marcados AZUL listados aqui. Por favor faça o download da pasta do Wordpress /wp-content/uploads/wpforo/ para o seu computador antes de excluir arquivos, Isso não é reversível."
 
 
 
 
 
 
661
 
662
- #: wpf-admin/tools-tabs/antispam.php:150
663
- msgid "Click to delete Blue marked files"
664
- msgstr "Clique para apagar arquivos marcados em azul"
665
 
666
- #: wpf-admin/tools-tabs/antispam.php:139
667
- msgid "Are you sure you want to permanently delete this file?"
668
- msgstr "Tem certeza de que deseja excluir permanentemente este arquivo?"
 
 
 
 
669
 
670
- #: wpf-admin/tools-tabs/antispam.php:139
671
- msgid "Delete this file"
672
- msgstr "Apagar este arquivo"
 
673
 
674
- #: wpf-admin/tools-tabs/antispam.php:112
675
- msgid "Directory"
676
- msgstr "Diretório"
677
 
678
- #: wpf-admin/tools-tabs/antispam.php:110
679
- msgid "This tool is designed to find attachment which have been uploaded by spammers. The tool checks most common spammer filenames and suggest to delete but you should check one by one and make sure those are spam files before deleting."
680
- msgstr "Esta ferramenta é projetada para encontrar os anexos que foram carregados por spammers. A ferramenta verifica os nomes mais comuns de spammers e sugere a exclusão, mas você deve verificar um por um e certifique-se que são arquivos de spam antes de excluir."
681
 
682
- #: wpf-admin/tools-tabs/antispam.php:109
683
- msgid "Possible Spam Attachments"
684
- msgstr "Possíveis anexos de spam"
685
 
686
- #: wpf-admin/tools-tabs/antispam.php:95
687
- msgid "Do not allow to attach files with following extensions:"
688
- msgstr "Não permitir anexo de arquivos com as seguintes extensões:"
689
 
690
- #: wpf-admin/tools-tabs/antispam.php:90
691
- msgid "Min number of posts to be able post links"
692
- msgstr "Quantidade mínima de posts para poder postar links"
693
 
694
- #: wpf-admin/tools-tabs/antispam.php:86
695
- msgid "Min number of posts to be able attach files"
696
- msgstr "Quantidade mínima de mensagens para poder anexar arquivos"
697
 
698
- #: wpf-admin/tools-tabs/antispam.php:83
699
- msgid "posts"
700
- msgstr "posts"
701
 
702
- #: wpf-admin/tools-tabs/antispam.php:83
703
- msgid "first"
704
- msgstr "primeiros"
705
 
706
- #: wpf-admin/tools-tabs/antispam.php:81
707
- msgid "User is New (under hard spam control) during"
708
- msgstr "Um usuário é considerado novo (sob controle de spam rígido) durante"
709
 
710
- #: wpf-admin/tools-tabs/antispam.php:74
711
- msgid "Some useful options to limit just registered users and minimize spam. These options don't affect users whose Usergroup has \"Can edit member\" and \"Can pass moderation\" permissions."
712
- msgstr "Algumas opções úteis para limitar apenas usuários registrados e minimizar o spam. Essas opções não afetam os usuários cujo o Grupo de Usuário tem as permissões \"pode editar membros\" e \"pode passar a moderação\"."
713
 
714
- #: wpf-admin/tools-tabs/antispam.php:73
715
- msgid "New Registered User"
716
- msgstr "Novo usuário registrado"
717
 
718
- #: wpf-admin/tools-tabs/antispam.php:64
719
- msgid " is enabled"
720
- msgstr " está habilitado"
721
-
722
- #: wpf-admin/tools-tabs/antispam.php:59
723
- msgid "Spam Suspicion Level for Posts"
724
- msgstr "Nível de suspeita de spam por Posts"
725
 
726
- #: wpf-admin/tools-tabs/antispam.php:55
727
- msgid "Spam Suspicion Level for Topics"
728
- msgstr "Nível de suspeita de spam por Tópicos"
729
 
730
- #: wpf-admin/tools-tabs/antispam.php:46
731
- msgid "Notify via email when new user is banned"
732
- msgstr "Notificar via e-mail quando um novo usuário foi banido"
733
 
734
- #: wpf-admin/tools-tabs/antispam.php:37
735
- msgid "Ban user when spam is suspicted"
736
- msgstr "Banir usuário quando um spam é flagrado"
737
 
738
- #: wpf-admin/tools-tabs/antispam.php:28
739
- msgid "Enable wpForo Spam Control"
740
- msgstr "Ativar controle de Spam do wpForo"
741
 
742
- #: wpf-admin/tools-tabs/antispam.php:22
743
- msgid "Some useful options to limit just registered users and minimize spam. This control don't affect users whose Usergroup has \"Can edit member\" and \"Can pass moderation\" permissions."
744
- msgstr "Algumas opções úteis para limitar apenas usuários registrados e minimizar o spam. Este controle não afeta os usuários cujo grupo de usuários possui permissões \"Pode editar membros\" e \"Pode passar a moderação\"."
745
 
746
- #: wpf-admin/tools-tabs/antispam.php:21
747
- msgid "Spam Control"
748
- msgstr "Controle de Spam"
749
 
750
- #: wpf-admin/tools-tabs/antispam.php:11
751
- msgid "is not installed! For an advanced Spam Control please install Akismet antispam plugin, it works well with wpForo Spam Control system. Akismet is already integrated with wpForo. It'll help to filter posts and protect forum against spam attacks."
752
- msgstr "não está instalado! Para um controle avançado de spam, instale o plugin kismet antispam, ele funciona bem com o sistema de controle de spam do wpForo. Akismet já está integrado com o wpForo. Isso ajudará a filtrar posts e proteger o fórum contra ataques de spam."
753
 
754
- #: wpf-admin/moderation.php:10
755
- msgid "Topic and Post Moderation"
756
- msgstr "Moderação de Tópicos e Posts"
 
 
 
 
 
757
 
758
- #: wpf-admin/admin.php:29 wpf-includes/wpf-hooks.php:1753
759
- msgid "Moderation"
760
- msgstr "Moderação"
761
 
762
- #: wpf-admin/admin.php:28 wpf-includes/wpf-hooks.php:1744
763
- msgid "Tools"
764
- msgstr "Ferramentas"
 
 
 
 
 
 
765
 
766
- #: wpf-includes/wpf-phrases.php:659
767
- msgid "Subscribe to this topic"
768
- msgstr "Inscrever neste tópico"
769
 
770
- #: wpforo.php:602
771
- msgid "Provides a safe way to communicate directly with other members. Messages are private and can only be viewed by conversation participants."
772
- msgstr "Fornece uma maneira segura de se comunicar diretamente com outros membros. As mensagens são privadas e só podem ser vistas pelos participantes da conversa."
 
 
 
 
773
 
774
- #: wpf-includes/wpf-phrases.php:658
775
- msgid "You are not permitted to subscribe here"
776
- msgstr "Você não está autorizado a inscrever-se aqui"
777
 
778
- #: wpf-includes/wpf-phrases.php:657
779
- msgid "Forum ID is not detected"
780
- msgstr "O ID do Fórum não foi detectado"
 
781
 
782
- #: wpf-includes/wpf-phrases.php:656
783
- msgid "Only Admins and Moderators can see your private topics."
784
- msgstr "Somente administradores e moderadores podem ver seus tópicos privados."
785
 
786
- #: wpf-includes/wpf-phrases.php:655
787
- msgid "Private Topic"
788
- msgstr "Tópico Privado"
 
 
 
 
789
 
790
- #: wpf-includes/wpf-phrases.php:654
791
- msgid "public"
792
- msgstr "público"
793
 
794
- #: wpf-includes/wpf-phrases.php:653
795
- msgid "private"
796
- msgstr "privado"
 
 
 
 
797
 
798
- #: wpf-includes/wpf-phrases.php:652
799
- msgid "Can view private topic"
800
- msgstr "Podem ver tópico privado"
801
 
802
- #: wpf-includes/wpf-phrases.php:651
803
- msgid "Can set own topic private"
804
- msgstr "Pode definir seu próprio tópico como privado"
 
 
 
 
805
 
806
- #: wpf-includes/wpf-phrases.php:578
807
- msgid "Can set topic private"
808
- msgstr "Pode definir tópico como privado"
809
 
810
- #: wpf-includes/wpf-phrases.php:132
811
- msgid "Google+"
812
- msgstr "Google+"
 
 
 
 
 
 
813
 
814
- #: wpf-includes/functions.php:443
815
- msgid "filter by package"
816
- msgstr "filtro por pacote"
817
 
818
- #: wpf-includes/class-notices.php:168
819
- msgid "View all Addons"
820
- msgstr "Ver todos Complementos"
 
 
 
 
 
 
 
 
 
821
 
822
- #: wpf-includes/class-notices.php:155
823
- msgid "Extend your forum with wpForo addons"
824
- msgstr "Estenda o seu fórum com os Complementos wpForo"
825
 
826
- #: wpf-includes/class-notices.php:155
827
- msgid "New Addons for Your Forum!"
828
- msgstr "Novos Complementos para o seu fórum!"
829
 
830
- #: wpf-admin/forum.php:238
831
- msgid "Make sure you insert a class of font-awesome icon, it should start with fa- prefix like &quot;fa-comments&quot;."
832
- msgstr "Certifique-se de inserir uma classe de 'font-awesome', ele deve começar com o prefixo predefinido como &quot;fa-comments&quot;."
833
 
834
- #: wpf-admin/forum.php:238
835
- msgid "here"
836
- msgstr "aqui"
 
 
 
 
 
 
837
 
838
- #: wpf-admin/forum.php:238
839
- msgid "You can find all icons"
840
- msgstr "Você pode encontrar todos ícones"
841
 
842
- #: wpf-admin/forum.php:236
843
- msgid "Font-awesome Icon"
844
- msgstr "Ícones 'Font-awesome'"
845
 
846
- #: wpf-admin/forum.php:233
847
- msgid "Forum Icon"
848
- msgstr "Ícone do Fórum"
849
 
850
- #: wpf-includes/wpf-phrases.php:182
851
- msgid "You have been banned. Please contact to forum administrators for more information."
852
- msgstr "Você foi banido. Entre em contato com os administradores do fórum para obter mais informações."
 
 
 
853
 
854
- #: wpf-includes/functions.php:612
855
- msgid "Are you sure, you want to ban this user?"
856
- msgstr "Tem certeza que deseja banir esse usuário?"
857
 
858
- #: wpf-includes/functions.php:612
859
- msgid "Are you sure, you want to unban this user?"
860
- msgstr "Tem certeza que deseja desbanir esse usuário?"
861
 
862
- #: wpf-includes/functions.php:612
863
- msgid "ban user"
864
- msgstr "banir usuário"
865
 
866
- #: wpf-includes/functions.php:612
867
- msgid "unban user"
868
- msgstr "desbanir usuário"
869
 
870
- #: wpf-includes/functions.php:427
871
- msgid "filter by status"
872
- msgstr "filtrar por status"
873
 
874
- #: wpf-includes/functions.php:415 wpf-includes/wpf-phrases.php:351
875
- msgid "filter by group"
876
- msgstr "filtrar por grupo"
877
 
878
- #: wpf-includes/class-posts.php:34
879
- msgid "You are not permitted to view this attachment"
880
- msgstr "Você não está autorizado a ver este anexo"
 
 
 
 
 
 
 
 
881
 
882
- #: wpf-includes/class-members.php:1301
883
- msgid "Attribute all content to:"
884
- msgstr "Atribua todo o conteúdo a:"
885
 
886
- #: wpf-includes/class-members.php:1299
887
- msgid "Delete all wpForo content."
888
- msgstr "Exclua todo o conteúdo wpForo."
889
 
890
- #: wpf-includes/class-members.php:1295
891
- msgid "What should be done with wpForo content owned by these users?"
892
- msgstr "O que deve ser feito com o conteúdo wpForo de propriedade desses usuários?"
 
 
 
 
 
 
 
 
 
893
 
894
- #: wpf-includes/class-members.php:1293
895
- msgid "What should be done with wpForo content owned by this user?"
896
- msgstr "O que deve ser feito com o conteúdo wpForo de propriedade deste usuário?"
897
 
898
- #: wpf-includes/class-members.php:263
899
- msgid "<strong>ERROR</strong>: This email is already registered, please choose another one."
900
- msgstr "<strong>ERRO</strong>: Este e-mail já está registrado, por favor escolha outro."
901
 
902
- #: wpf-includes/class-members.php:258
903
- msgid "<strong>ERROR</strong>: The email address isn&#8217;t correct."
904
- msgstr "<strong>ERRO</strong>: Este endereço de e-mail não está correto."
905
 
906
- #: wpf-includes/class-members.php:254
907
- msgid "<strong>ERROR</strong>: Please type your email address."
908
- msgstr "<strong>ERRO</strong>: Por favor digite seu endereço de e-mail."
 
 
909
 
910
- #: wpf-includes/class-members.php:250
911
- msgid "<strong>ERROR</strong>: Sorry, that username is not allowed."
912
- msgstr "<strong>ERRO</strong>: Desculpe, esse nome de usuário não é permitido."
913
 
914
- #: wpf-includes/class-members.php:246
915
- msgid "<strong>ERROR</strong>: This username is already registered. Please choose another one."
916
- msgstr "<strong>ERRO</strong>: Esse nome de usuário já está registrado. Por favor, escolha outro."
917
 
918
- #: wpf-includes/class-members.php:237
919
- msgid "<strong>ERROR</strong>: This username is invalid because it uses illegal characters. Please enter a valid username."
920
- msgstr "<strong>ERRO</strong>: Esse nome de usuário é inválido porque ele usa caracteres inválidos. Por favor insira um nome de usuário válido."
921
 
922
- #: wpf-includes/class-members.php:233
923
- msgid "<strong>ERROR</strong>: Please enter a username."
924
- msgstr "<strong>ERRO</strong>: Por favor, insira um nome de usuário."
925
 
926
- #: wpf-includes/class-forums.php:662
927
- msgid "Add a new Forum in this Category"
928
- msgstr "Adicionar um novo fórum nesta categoria"
929
 
930
- #: wpf-includes/class-forums.php:662
931
- msgid "Add a new SubForum"
932
- msgstr "Adicionar um novo subforum"
 
 
 
 
 
 
 
 
 
 
 
933
 
934
- #: wpf-admin/options-tabs/posts.php:57
935
- msgid "This message will be displayed when a non-permitted forum member clicks on attached file link in topic and posts."
936
- msgstr "Esta mensagem será exibida quando um membro do fórum não esta autorizado a clicar no link de arquivo anexado no tópico e posts."
 
937
 
938
- #: wpf-admin/options-tabs/posts.php:56
939
- msgid "Attachment click - message for non-permitted users"
940
- msgstr "Click em anexo - mensagem para usuários não autorizados"
 
941
 
942
- #: wpf-admin/options-tabs/general.php:69
943
- msgid "This option is only related to XML language files. You should upload a translation XML file to have a new language option in this drop-down. If you are using PO/MO translation files you should change WordPress Language in Dashboard > Settings admin page to load according translation for wpForo."
944
- msgstr "Essa opção só está relacionada a arquivos de idioma XML. Você deve carregar um arquivo XML de tradução para ter uma nova opção de idioma nesta lista suspensa. Se você estiver usando arquivos de tradução .PO/.MO você deve mudar a linguagem do WordPress no Painel > Configurações e selecionar de acordo com a tradução do wpForo."
945
 
946
- #: wpf-admin/options-tabs/general.php:28
947
- msgid "one URL per line"
948
- msgstr "uma URL por linha"
949
 
950
- #: wpf-admin/options-tabs/general.php:28
951
- msgid "Exclude page URLs"
952
- msgstr "Excluir URLs de página"
 
 
953
 
954
- #: wpf-admin/options-tabs/general.php:25
955
- msgid "This option will disable WordPress on front-end. Only forum pages and excluded post/pages will be available. wpForo will look like as a stand-alone forum."
956
- msgstr "Esta opção vai desativar o WordPress em front-end. Apenas páginas do fórum estarão disponíveis, desativando posts/páginas. O wpForo vai parecer como um fórum independente."
957
 
958
- #: wpf-admin/options-tabs/features.php:43
959
- msgid "Enable this option if you want the topic subscription checkbox to be checked by default."
960
- msgstr "Habilite esta opção se desejar que a caixa de seleção de inscrição de tópico seja marcada por padrão."
961
 
962
- #: wpf-admin/options-tabs/features.php:43
963
- msgid "Topic subscription option on post editor - checked/enabled"
964
- msgstr "Opção de inscrever em tópico no editor de post - marcado/habilitado"
965
 
966
- #: wpf-admin/options-tabs/features.php:42
967
- msgid "This option adds topic subscription checkbox next to new topic and post submit button."
968
- msgstr "Esta opção adiciona a caixa de seleção de inscrição de tópico ao lado de um novo tópico e botão de enviar post."
969
 
970
- #: wpf-admin/options-tabs/features.php:42
971
- msgid "Topic subscription option on post editor"
972
- msgstr "Opção de inscrição de tópico no editor de post"
973
 
974
- #: wpf-admin/options-tabs/features.php:19
975
- msgid "If you have enabled this option, after registering, user can not login without confirming the email."
976
- msgstr "Se você habilitou essa opção, após o registro, o usuário não pode fazer login sem confirmar o e-mail."
977
 
978
- #: wpf-admin/options-tabs/features.php:19
979
- msgid "Enable User Registration email confirmation"
980
- msgstr "Habilitar confirmação de e-mail de registro do usuário"
981
 
982
- #: wpf-admin/options-tabs/emails.php:41
983
- msgid "Send Notification emails to all email addresses (comma separated ) of forum administrators when a new Reply is created."
984
- msgstr "Envio de e-mails de notificação para todos os endereços de e-mail (separados por vírgula) dos administradores do fórum quando uma nova resposta é criada."
985
 
986
- #: wpf-admin/options-tabs/emails.php:40
987
- msgid "Notify Admins via email on new Post"
988
- msgstr "Notifique os Administradores via e-mail de um novo post"
989
 
990
- #: wpf-admin/options-tabs/emails.php:29
991
- msgid "Send Notification emails to all email addresses (comma separated ) of forum administrators when a new Topic is created."
992
- msgstr "Envio de e-mails de notificação para todos os endereços de email (separados por vírgula) dos administradores do fórum quando um novo tópico é criado."
993
 
994
- #: wpf-admin/options-tabs/emails.php:28
995
- msgid "Notify Admins via email on new Topic"
996
- msgstr "Notifique Administradores via e-mail sobre novo tópico"
997
 
998
- #: wpf-admin/options-tabs/emails.php:21
999
- msgid "Forum Admins email addresses"
1000
- msgstr "Endereços de e-mail dos Administradores do Fórum"
1001
 
1002
- #: wpf-admin/options-tabs/emails.php:16
1003
- msgid "FROM Email Address"
1004
- msgstr "Do endereço de e-mail"
1005
 
1006
- #: wpf-admin/options-tabs/emails.php:12
1007
- msgid "FROM Name"
1008
- msgstr "Do nome"
1009
 
1010
- #: wpf-admin/options-tabs/accesses.php:26
1011
- #: wpf-admin/options-tabs/accesses.php:27
1012
- #: wpf-admin/options-tabs/accesses.php:28
1013
- msgid "usergroup"
1014
- msgstr "grupo de usuário"
1015
 
1016
- #: wpf-admin/options-tabs/accesses.php:26
1017
- msgid "Guests"
1018
- msgstr "Visitantes"
1019
 
1020
- #: wpf-admin/options-tabs/accesses.php:26
1021
- #: wpf-admin/options-tabs/accesses.php:27
1022
- #: wpf-admin/options-tabs/accesses.php:28
1023
- msgid "This access is usually used for "
1024
- msgstr "Esse acesso geralmente é usado para "
1025
 
1026
- #: wpf-admin/forum.php:58
1027
- msgid "Forums can be displayed with different layouts (Extended, Simplified, Q&A), just edit the top (blue panels) category and set the layout you want. Child forums' layout depends on the top category (blue panels) layout. They cannot have a different layout."
1028
- msgstr "Os fóruns podem ser exibidos com diferentes layouts (Estendido, Simplificado, Q&amp;A), basta editar a categoria superior (painéis azuis) e definir o layout desejado. O layout dos fóruns filhos depende do layout da categoria superior (painéis azuis). Eles não podem ter um layout diferente."
 
1029
 
1030
- #: wpf-admin/forum.php:57
1031
- msgid "If a category (blue panels) does not have forums (grey panels) it will not be displayed on front-end. Each category should contain at least one forum."
1032
- msgstr "Se uma categoria (painéis azuis) não tiver fóruns (painéis cinza), ela não será exibida no início. Cada categoria deve conter pelo menos um fórum."
1033
 
1034
- #: wpf-admin/forum.php:55
1035
- msgid "Important Tips"
1036
- msgstr "Dicas Importantes"
 
1037
 
1038
- #: wpf-admin/dashboard.php:182
1039
- msgid "Total Size"
1040
- msgstr "Tamanho Total"
 
 
 
 
1041
 
1042
- #: wpf-admin/dashboard.php:177
1043
- msgid "Advanced Attachments Size"
1044
- msgstr "Tamanho avançado dos anexos"
1045
 
1046
- #: wpf-admin/dashboard.php:174
1047
- msgid "file(s)"
1048
- msgstr "arquivo(s)"
 
 
 
 
1049
 
1050
- #: wpf-admin/dashboard.php:173
1051
- msgid "Advanced Attachments"
1052
- msgstr "Anexos Avançados"
1053
 
1054
- #: wpf-admin/dashboard.php:167
1055
- msgid "Default Attachments Size"
1056
- msgstr "Tamanho padrão dos anexos"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1057
 
1058
- #: wpf-admin/dashboard.php:163
1059
- msgid "Avatars Size"
1060
- msgstr "Espaço dos avatares"
1061
 
1062
- #: wpf-admin/addons.php:64
1063
- msgid "More information about"
1064
- msgstr "Mais informação sobre"
1065
 
1066
- #: wpf-admin/addons.php:58
1067
- msgid "Details | Buy"
1068
- msgstr "Detalhes | Comprar"
1069
 
1070
- #: wpf-admin/addons.php:56
1071
- msgid "at least"
1072
- msgstr "finalmente"
1073
 
1074
- #: wpf-admin/addons.php:55
1075
- msgid "Version"
1076
- msgstr "Versão"
1077
 
1078
- #: wpf-admin/addons.php:51
1079
- msgid "Installed"
1080
- msgstr "Instalado"
1081
 
1082
- #: wpf-admin/addons.php:28
1083
- msgid "All wpForo addons are being developed by wpForo developers at gVectors Team. Addon prices also include a small donation to the hard work wpForo developers do for free. When you buy an addon, you also donate the free wpForo development and support. Addons are the only incoming source for wpForo developers. wpForo is a premium forum plugin which will always be available for free. There will never be paid and pro versions of this forum board. We have another dozens of awesome features in our to-do list which will also be added for free in future releases. So the free wpForo development always stays on the first priority and wpForo is being extended with new free functions and features even faster than before."
1084
- msgstr "Todos os complementos wpForo estão sendo desenvolvidos pelos desenvolvedores do wpForo na equipe gVectors. Os preços do Complemento também incluem uma pequena doação para o trabalho duro que os desenvolvedores do wpForo fazem e graça. Quando você compra um complemento, você também colabora com o desenvolvimento e o suporte gratuito do wpForo. Os complementos são a única fonte de renda para desenvolvedores do wpForo. wpForo é um plugin de fórum premium que estará sempre disponível gratuitamente. Nunca haverá versões pagas e pro deste fórum. Temos outras dezenas de recursos incríveis em nossa lista de tarefas que também serão adicionadas gratuitamente em versões futuras. Assim, o desenvolvimento gratuito do wpForo sempre permanecerá na primeira prioridade e o wpForo está sendo estendido com novas funções e recursos gratuitos ainda mais rápidos do que antes."
 
 
 
 
 
 
1085
 
1086
- #: wpf-admin/addons.php:14 wpf-admin/addons.php:22
1087
- msgid "wpForo Addons"
1088
- msgstr "Complementos wpForo"
1089
 
1090
- #: wpforo.php:597
1091
- msgid "Allows to embed hundreds of video, social network, audio and photo content providers in forum topics and posts."
1092
- msgstr "Permite incorporar centenas provedores de vídeos, rede sociais, áudios e conteúdo de foto em tópicos de fórum e posts."
1093
 
1094
- #: wpforo.php:601
1095
- msgid "Adds an advanced file attachment system to forum topics and posts. AJAX powered media uploading and displaying system with user specific library."
1096
- msgstr "Adiciona um sistema avançado de anexos de arquivos para tópicos e posts do fórum. Carregamento de mídia movida com AJAX e sistema de exibição com biblioteca específica do usuário."
1097
 
1098
- #: wpf-admin/options-tabs/general.php:43
1099
- msgid "Forum Page ID"
1100
- msgstr "ID da página do fórum"
1101
 
1102
- #: wpf-admin/options-tabs/general.php:41
1103
- msgid "suppor topic"
1104
- msgstr "tópico de suporte"
 
 
 
 
1105
 
1106
- #: wpf-admin/options-tabs/general.php:41
1107
- msgid "wpForo PageID doesn't exist. Forums will not be loaded, please read this"
1108
- msgstr "ID de página wpForo não existe. Fóruns não serão carregados, por favor leia isto"
1109
 
1110
- #: wpf-includes/wpf-hooks.php:1135
1111
- msgid "IMPORTANT: wpForo can't work with default permalink, please change permalink structure"
1112
- msgstr "Importante: wpForo não pode funcionar com permalink padrão, por favor, mude a estrutura de links permanentes"
1113
 
1114
- #: wpf-includes/wpf-phrases.php:645
1115
- msgid "Member"
1116
- msgstr "Membro"
1117
 
1118
- #: wpf-includes/wpf-phrases.php:644
1119
- msgid "Member Profile"
1120
- msgstr "Perfil de Membro"
1121
 
1122
- #: wpf-includes/wpf-phrases.php:643
1123
- msgid "Welcome back %s!"
1124
- msgstr "Bem-vindo de volta %s!"
1125
 
1126
- #: wpf-includes/wpf-phrases.php:642
1127
- msgid "Blog Comments"
1128
- msgstr "Comentários no blog"
1129
 
1130
- #: wpf-includes/wpf-phrases.php:641
1131
- msgid "Blog Posts"
1132
- msgstr "Posts no Blog"
1133
 
1134
- #: wpf-includes/wpf-phrases.php:640
1135
- msgid "Forum Posts"
1136
- msgstr "Posts do Fórum"
1137
 
1138
- #: wpf-includes/wpf-phrases.php:639
1139
- msgid "Attachment removed"
1140
- msgstr "Anexo removido"
1141
 
1142
- #: wpf-includes/class-api.php:118 wpf-includes/wpf-phrases.php:635
1143
- msgid "User registration is disabled"
1144
- msgstr "O registro de usuário está desativado"
1145
 
1146
- #: wpf-includes/wpf-phrases.php:632
1147
- msgid "Incorrect file format. Allowed formats: jpeg, jpg, png, gif."
1148
- msgstr "Formato de arquivo incorreto. Formatos permitidos: jpeg, jpg, png, gif."
1149
 
1150
- #: wpf-includes/wpf-phrases.php:321
1151
- msgid "Thank you for using wpForo! wpForo is a professional bulletin board for WorPress, and the only forum software which comes with Multi-layout template system. The \"Extended"
1152
- msgstr "Obrigado por usar o wpForo! O wpForo é uma sistema de fórum profissional para WorPress e o único software de fórum que vem com sistema de multi-layouts. O \"Estendido"
1153
 
1154
- #: wpf-admin/options-tabs/general.php:38
1155
- msgid "Visit Forum"
1156
- msgstr "Visite o Fórum"
1157
 
1158
- #: wpf-includes/wpf-phrases.php:648
1159
- msgid "This option will disable WordPress on front-end. Only forum pages will be available. wpForo will look like as a stand-alone forum."
1160
- msgstr "Esta opção vai desativar o WordPress convencional. Apenas páginas do fórum estarão disponíveis. wpForo vai parecer como um fórum independente."
1161
 
1162
- #: wpf-admin/options-tabs/general.php:24 wpf-includes/wpf-phrases.php:647
1163
- msgid "Turn WordPress to wpForo"
1164
- msgstr "Transforme o WordPress em wpForo"
1165
 
1166
- #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:638
1167
- msgid "Enable this option to be able manage forum attachments in Dashboard > Media > Library admin page."
1168
- msgstr "Ative esta opção para poder gerenciar anexos do fórum no Painel > Mídia> Página de administração da biblioteca."
1169
 
1170
- #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:637
1171
- msgid "Insert Forum Attachments to Media Library"
1172
- msgstr "Inserir anexos do fórum na Biblioteca de Mídia"
1173
 
1174
- #: wpf-admin/options-tabs/features.php:18 wpf-includes/wpf-phrases.php:634
1175
- msgid "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."
1176
- msgstr "Esta opção não é sincronizada com a opção \"Qualquer um pode se registrar\" do WordPress no Painel > Configurações > Página de administração Geral. Se esta opção estiver ativada, novos usuários sempre poderão se registrar."
1177
 
1178
- #: wpf-admin/options-tabs/features.php:18 wpf-includes/wpf-phrases.php:633
1179
- msgid "Enable User Registration"
1180
- msgstr "Ativar registro de usuário"
1181
 
1182
- #: wpf-admin/dashboard.php:205 wpf-includes/wpf-phrases.php:636
1183
- msgid "Delete User Cache"
1184
- msgstr "Apagar Cache do Usuário"
1185
 
1186
- #: wpf-admin/options-tabs/api.php:82 wpf-includes/wpf-phrases.php:630
1187
- msgid "Profile"
1188
- msgstr "Perfil"
1189
 
1190
- #: wpf-includes/wpf-phrases.php:629
1191
- msgid "Full access"
1192
- msgstr "Acesso Total"
1193
 
1194
- #: wpf-includes/wpf-phrases.php:628
1195
- msgid "Moderator access"
1196
- msgstr "Acesso Moderador"
 
 
 
1197
 
1198
- #: wpf-includes/wpf-phrases.php:627
1199
- msgid "Standard access"
1200
- msgstr "Acesso padrão"
1201
 
1202
- #: wpf-includes/wpf-phrases.php:626
1203
- msgid "Read only access"
1204
- msgstr "Acesso de Leitura apenas"
1205
 
1206
- #: wpf-includes/wpf-phrases.php:625
1207
- msgid "No access"
1208
- msgstr "Sem acesso"
1209
 
1210
- #: wpf-includes/wpf-phrases.php:624
1211
- msgid "Customer"
1212
- msgstr "Cliente"
 
 
 
 
 
 
 
 
1213
 
1214
- #: wpf-admin/options-tabs/accesses.php:27 wpf-includes/wpf-phrases.php:623
1215
- msgid "Registered"
1216
- msgstr "Registrado"
1217
 
1218
- #: wpf-includes/wpf-phrases.php:622
1219
- msgid "Moderator"
1220
- msgstr "Moderador"
 
 
 
 
 
 
1221
 
1222
- #: wpf-admin/options-tabs/accesses.php:28 wpf-includes/wpf-phrases.php:621
1223
- msgid "Admin"
1224
- msgstr "Admin"
1225
-
1226
- #: wpf-includes/wpf-phrases.php:620
1227
- msgid "are you sure you want to delete?"
1228
- msgstr "tem certeza de que deseja excluir?"
1229
 
1230
- #: wpf-includes/wpf-phrases.php:619
1231
- msgid "Forum Members List"
1232
- msgstr "Lista de membros do fórum"
1233
 
1234
- #: wpf-includes/wpf-phrases.php:618
1235
- msgid "Closed"
1236
- msgstr "Fechado"
1237
 
1238
- #: wpf-includes/wpf-phrases.php:617
1239
- msgid "Deleted Successfully!"
1240
- msgstr "Deletado com sucesso!"
1241
 
1242
- #: wpf-includes/wpf-phrases.php:616
1243
- msgid "Updated Successfully!"
1244
- msgstr "Atualizado com sucesso!"
1245
 
1246
- #: wpf-includes/wpf-phrases.php:612
1247
- msgid "This process may take a few seconds or dozens of minutes, it depends on database forum size and on server resources. Please be patient and don't close this page. If you got 500 Server Error please don't worry, the data updating process is still working in MySQL server."
1248
- msgstr "Esse processo pode demorar alguns segundos ou vários minutos, depende do tamanho do banco de dados do fórum e dos recursos do servidor. Por favor, seja paciente e não feche esta página. Se você lidar com o erro 500 de servidor, por favor não se preocupe, o processo de atualização de dados ainda está rodando de fundo, no servidor MySQL."
1249
 
1250
- #: wpf-includes/wpf-phrases.php:608
1251
- msgid "New Passwords do not match"
1252
- msgstr "As novas senhas não correspondem"
1253
 
1254
- #: wpf-includes/wpf-phrases.php:607
1255
- msgid "Old password is wrong"
1256
- msgstr "A senha antiga está errada"
 
 
 
 
 
 
1257
 
1258
- #: wpf-includes/wpf-phrases.php:606
1259
- msgid "Can set own topic solved"
1260
- msgstr "Pode definir o próprio tópico como resolvido"
1261
 
1262
- #: wpf-includes/wpf-phrases.php:605
1263
- msgid "Can set topic solved"
1264
- msgstr "Pode definir tópico como resolvido"
1265
 
1266
- #: wpf-includes/wpf-phrases.php:597
1267
- msgid "Unsolved"
1268
- msgstr "Não resolvido"
1269
 
1270
- #: wpf-includes/wpf-hooks.php:1112
1271
- msgid "Select Color"
1272
- msgstr "Selecione a cor"
1273
 
1274
- #: wpf-includes/wpf-hooks.php:1112
1275
- msgid "Default"
1276
- msgstr "Padrão"
1277
 
1278
- #: wpf-includes/wpf-hooks.php:1112
1279
- msgid "Clear"
1280
- msgstr "Claro"
1281
 
1282
- #: wpforo.php:174
1283
- msgid "Discussion Board"
1284
- msgstr "Fórum de discussão"
1285
 
1286
- #: wpf-admin/options-tabs/features.php:41 wpf-includes/wpf-phrases.php:610
1287
- msgid "Forum and Topic subscription with double opt-in/confirmation system."
1288
- msgstr "Inscrição de fórum e de tópico com sistema duplo de ativação/confirmação."
 
 
 
 
 
 
 
1289
 
1290
- #: wpf-admin/options-tabs/features.php:41 wpf-includes/wpf-phrases.php:609
1291
- msgid "Enable Subscription Confirmation"
1292
- msgstr "Ativar confirmação de Inscrição"
1293
 
1294
- #: wpf-admin/dashboard.php:204 wpf-includes/wpf-phrases.php:615
1295
- msgid "Delete Phrase Cache"
1296
- msgstr "Eliminar Cache de Termos"
 
 
 
 
1297
 
1298
- #: wpf-admin/dashboard.php:203 wpf-includes/wpf-phrases.php:614
1299
- msgid "Update Users Statistic"
1300
- msgstr "Atualizar estatísticas de usuários"
1301
 
1302
- #: wpf-admin/dashboard.php:202 wpf-includes/wpf-phrases.php:613
1303
- msgid "Update Forums Statistic"
1304
- msgstr "Atualizar estatísticas dos fóruns"
1305
 
1306
- #: wpf-admin/dashboard.php:192
1307
- msgid "This process may take a few seconds or dozens of minutes, please be patient and don't close this page. If you got 500 Server Error please don't worry, the data updating process is still working in MySQL server."
1308
- msgstr "Este processo pode demorar alguns segundos ou vários minutos, seja paciente e não feche esta página. Se você lidar com o erro 500 do servidor, não se preocupe, o processo de atualização de dados ainda está rodando em segundo plano no servidor MySQL."
1309
 
1310
- #: wpf-admin/dashboard.php:190 wpf-includes/wpf-phrases.php:611
1311
- msgid "Forum Maintenance"
1312
- msgstr "Manutenção do Fórum"
1313
 
1314
- #: wpf-includes/wpf-phrases.php:596
1315
- msgid "Solved"
1316
- msgstr "Resolvido"
1317
 
1318
- #: wpf-includes/wpf-phrases.php:595
1319
- msgid "Hot"
1320
- msgstr "Popular"
1321
 
1322
- #: wpf-includes/functions.php:374 wpf-includes/wpf-phrases.php:594
1323
- msgid "Active"
1324
- msgstr "Ativo"
1325
 
1326
- #: wpf-includes/wpf-phrases.php:593
1327
- msgid "Replied"
1328
- msgstr "Respondido"
1329
 
1330
- #: wpf-includes/wpf-phrases.php:592
1331
- msgid "New"
1332
- msgstr "Novo"
1333
 
1334
- #: wpf-includes/wpf-phrases.php:591
1335
- msgid "Topic Icons"
1336
- msgstr "Ícones dos Tópicos"
1337
 
1338
- #: wpf-includes/wpf-phrases.php:590
1339
- msgid "open"
1340
- msgstr "aberto"
1341
 
1342
- #: wpf-includes/wpf-phrases.php:589
1343
- msgid "close"
1344
- msgstr "fechado"
1345
 
1346
- #: wpf-includes/wpf-phrases.php:588
1347
- msgid "unsticky"
1348
- msgstr "desafixar"
1349
 
1350
- #: wpf-includes/wpf-phrases.php:587
1351
- msgid "sticky"
1352
- msgstr "fixar"
1353
 
1354
- #: wpf-includes/wpf-phrases.php:586
1355
- msgid "unlike"
1356
- msgstr "fixar"
1357
 
1358
- #: wpf-includes/wpf-phrases.php:585
1359
- msgid "like"
1360
- msgstr "curtir"
1361
 
1362
- #: wpf-includes/wpf-phrases.php:584
1363
- msgid "Can move topic"
1364
- msgstr "Pode mover um tópico"
 
 
 
 
 
 
 
 
1365
 
1366
- #: wpf-includes/wpf-phrases.php:583
1367
- msgid "Can close topic"
1368
- msgstr "Pode fechar um tópico"
1369
 
1370
- #: wpf-includes/wpf-phrases.php:582
1371
- msgid "Can set own topic answered"
1372
- msgstr "Pode definir seu próprio tópico como respondido"
1373
 
1374
- #: wpf-includes/wpf-phrases.php:581
1375
- msgid "Can set topic answered"
1376
- msgstr "Pode definir um tópico como respondido"
1377
 
1378
- #: wpf-includes/wpf-phrases.php:580
1379
- msgid "Can Attach File"
1380
- msgstr "Pode anexar arquivo"
1381
 
1382
- #: wpf-includes/wpf-phrases.php:579
1383
- msgid "Can vote"
1384
- msgstr "Pode votar"
 
 
 
 
 
 
 
1385
 
1386
- #: wpf-includes/wpf-phrases.php:577
1387
- msgid "Can set topic sticky"
1388
- msgstr "Pode definir um tópico fixo"
 
1389
 
1390
- #: wpf-includes/wpf-phrases.php:576
1391
- msgid "Can report"
1392
- msgstr "Pode denunciar"
1393
 
1394
- #: wpf-includes/wpf-phrases.php:575
1395
- msgid "Can like"
1396
- msgstr "Pode curtir"
 
 
 
 
 
 
 
1397
 
1398
- #: wpf-includes/wpf-phrases.php:574
1399
- msgid "Can delete own replay"
1400
- msgstr "Pode deletar a sua própria resposta"
1401
 
1402
- #: wpf-includes/wpf-phrases.php:573
1403
- msgid "Can delete own topic"
1404
- msgstr "Pode excluir seu próprio tópico"
 
 
 
 
 
 
 
1405
 
1406
- #: wpf-includes/wpf-phrases.php:572
1407
- msgid "Can edit own replay"
1408
- msgstr "Pode editar própria resposta"
1409
 
1410
- #: wpf-includes/wpf-phrases.php:571
1411
- msgid "Can edit own topic"
1412
- msgstr "Pode editar o próprio tópico"
 
 
 
 
 
 
 
1413
 
1414
- #: wpf-includes/wpf-phrases.php:570
1415
- msgid "Can delete replies"
1416
- msgstr "Pode apagar respostas"
1417
 
1418
- #: wpf-includes/wpf-phrases.php:569
1419
- msgid "Can edit replies"
1420
- msgstr "Pode editar respostas"
 
 
 
 
 
 
 
 
1421
 
1422
- #: wpf-includes/wpf-phrases.php:568
1423
- msgid "Can view replies"
1424
- msgstr "Pode ver respostas"
1425
 
1426
- #: wpf-includes/wpf-phrases.php:567
1427
- msgid "Can post reply"
1428
- msgstr "Pode postar resposta"
1429
 
1430
- #: wpf-includes/wpf-phrases.php:566
1431
- msgid "Can delete topic"
1432
- msgstr "Pode excluir tópico"
1433
 
1434
- #: wpf-includes/wpf-phrases.php:565
1435
- msgid "Can edit topic"
1436
- msgstr "Pode editar tópico"
1437
 
1438
- #: wpf-includes/wpf-phrases.php:564
1439
- msgid "Can view topic"
1440
- msgstr "Pode visualizar tópico"
1441
 
1442
- #: wpf-includes/wpf-phrases.php:563
1443
- msgid "Can create topic"
1444
- msgstr "Pode ciar tópico"
1445
 
1446
- #: wpf-includes/wpf-phrases.php:562
1447
- msgid "Can view forum"
1448
- msgstr "Pode visualizar o fórum"
 
 
 
 
 
 
1449
 
1450
- #: wpf-includes/wpf-phrases.php:561
1451
- msgid "Front - Can write PM"
1452
- msgstr "Front - Pode escrever MP"
1453
 
1454
- #: wpf-includes/wpf-phrases.php:560
1455
- msgid "Front - Can view member phone number"
1456
- msgstr "Front - Pode ver o número de telefone do membro"
 
 
 
 
 
 
 
1457
 
1458
- #: wpf-includes/wpf-phrases.php:559
1459
- msgid "Front - Can view member about me"
1460
- msgstr "Front - Pode ver o sobre de membros"
1461
-
1462
- #: wpf-includes/wpf-phrases.php:558
1463
- msgid "Front - Can view member signatur"
1464
- msgstr "Front - Pode ver assinaturas de membros"
1465
 
1466
- #: wpf-includes/wpf-phrases.php:557
1467
- msgid "Front - Can view member ocumpation"
1468
- msgstr "Front - Pode ver a profissão dos membros"
1469
 
1470
- #: wpf-includes/wpf-phrases.php:556
1471
- msgid "Front - Can view member location"
1472
- msgstr "Front - Pode ver a localização dos membros"
1473
 
1474
- #: wpf-includes/wpf-phrases.php:555
1475
- msgid "Front - Can view member ip address"
1476
- msgstr "Front - Pode ver o endereço de IP dos membros"
1477
 
1478
- #: wpf-includes/wpf-phrases.php:554
1479
- msgid "Front - Can view member last active date"
1480
- msgstr "Front - Pode ver a última data ativa do membro"
1481
 
1482
- #: wpf-includes/wpf-phrases.php:553
1483
- msgid "Front - Can view member reg. date"
1484
- msgstr "Front - Pode ver data de registro de membros"
 
1485
 
1486
- #: wpf-includes/wpf-phrases.php:552
1487
- msgid "Front - Can view member social networks"
1488
- msgstr "Front - Pode ver as redes sociais dos membros"
1489
 
1490
- #: wpf-includes/wpf-phrases.php:551
1491
- msgid "Front - Can view member website"
1492
- msgstr "Front - Pode ver o site dos membros"
1493
 
1494
- #: wpf-includes/wpf-phrases.php:550
1495
- msgid "Front - Can view member reputation"
1496
- msgstr "Front - Pode ver a reputação dos membros"
1497
 
1498
- #: wpf-includes/wpf-phrases.php:549
1499
- msgid "Front - Can view member custom title"
1500
- msgstr "Front - Pode ver o cargo personalizado dos membros"
1501
 
1502
- #: wpf-includes/wpf-phrases.php:548
1503
- msgid "Front - Can view member title"
1504
- msgstr "Front - Pode ver o título dos membros"
1505
 
1506
- #: wpf-includes/wpf-phrases.php:547
1507
- msgid "Front - Can view member email"
1508
- msgstr "Front - Pode ver o e-mail dos membros"
1509
 
1510
- #: wpf-includes/wpf-phrases.php:546
1511
- msgid "Front - Can view member username"
1512
- msgstr "Front - Pode ver o nome de usuário dos membros"
1513
 
1514
- #: wpf-includes/wpf-phrases.php:545
1515
- msgid "Front - Can view avatars"
1516
- msgstr "Front - Pode ver avatares"
1517
 
1518
- #: wpf-includes/wpf-phrases.php:544
1519
- msgid "Front - Can have signatur"
1520
- msgstr "Front - Pode ter uma assinatura"
1521
 
1522
- #: wpf-includes/wpf-phrases.php:543
1523
- msgid "Front - Can upload avatar"
1524
- msgstr "Front - Pode carregar um avatar"
1525
 
1526
- #: wpf-includes/wpf-phrases.php:542
1527
- msgid "Front - Can view profiles"
1528
- msgstr "Front - Pode visualizar perfis"
1529
 
1530
- #: wpf-includes/wpf-phrases.php:541
1531
- msgid "Front - Can view members"
1532
- msgstr "Front - Pode visualizar membros"
1533
 
1534
- #: wpf-includes/wpf-phrases.php:540
1535
- msgid "Dashboard - Usergroup Menu"
1536
- msgstr "Painel - Menu do grupo de usuários"
1537
 
1538
- #: wpf-includes/wpf-phrases.php:539
1539
- msgid "Dashboard - Can delete member"
1540
- msgstr "Painel - Pode deletar um membro"
1541
 
1542
- #: wpf-includes/wpf-phrases.php:538
1543
- msgid "Dashboard - Can edit member"
1544
- msgstr "Painel - Pode editar um membro"
1545
 
1546
- #: wpf-includes/wpf-phrases.php:537
1547
- msgid "Dashboard - Members Menu"
1548
- msgstr "Painel - Menu de membros"
1549
 
1550
- #: wpf-includes/wpf-phrases.php:536
1551
- msgid "Dashboard - Can delete forum"
1552
- msgstr "Painel - Pode deletar fórums"
1553
 
1554
- #: wpf-includes/wpf-phrases.php:535
1555
- msgid "Dashboard - Can edit forum"
1556
- msgstr "Painel - Pode editar fórum"
 
 
 
 
1557
 
1558
- #: wpf-includes/wpf-phrases.php:534
1559
- msgid "Dashboard - Can create forum"
1560
- msgstr "Painel - Pode criar fórum"
1561
 
1562
- #: wpf-includes/wpf-phrases.php:377
1563
- msgid "%s ago"
1564
- msgstr "%s atrás"
1565
 
1566
- #: wpf-admin/options-tabs/features.php:45 wpf-includes/wpf-phrases.php:603
1567
- msgid "If you got some issue with wpForo, please enable this option before asking for support, this outputs hidden important information to help us debug your issue."
1568
- msgstr "Se você tiver algum problema com o wpForo, habilite esta opção antes de pedir suporte, isso gera informações importantes ocultas para nos ajudar a solucionar seu problema."
1569
 
1570
- #: wpf-admin/options-tabs/features.php:45 wpf-includes/wpf-phrases.php:602
1571
- msgid "Enable Debug Mode"
1572
- msgstr "Habilitar o modo de depuração"
1573
 
1574
- #: wpf-admin/options-tabs/features.php:40 wpf-includes/wpf-phrases.php:598
1575
- msgid "You can manage WordPress date and time format in WordPress Settings > General admin page."
1576
- msgstr "Você pode gerenciar o formato de data e hora do WordPress em Configurações do WordPress > Página de administração Geral."
 
1577
 
1578
- #: wpf-admin/options-tabs/features.php:40
1579
- msgid "Enable WordPress Date/Time Format"
1580
- msgstr "Habilitar o formato de data/hora do WordPress"
1581
 
1582
- #: wpf-admin/admin.php:33 wpf-includes/wpf-hooks.php:1803
1583
- #: wpf-includes/wpf-phrases.php:601
1584
- msgid "Themes"
1585
- msgstr "Temas"
1586
 
1587
- #: wpf-admin/admin.php:32 wpf-includes/wpf-hooks.php:1787
1588
- #: wpf-includes/wpf-phrases.php:600
1589
- msgid "Phrases"
1590
- msgstr "Termos"
 
 
 
1591
 
1592
- #: wpf-admin/admin.php:24 wpf-admin/admin.php:25
1593
- #: wpf-includes/wpf-phrases.php:599
1594
- msgid "Dashboard"
1595
- msgstr "Painel"
1596
 
1597
- #: wpf-includes/class-template.php:79
1598
- msgid "Open link in a new tab"
1599
- msgstr "Abra link em nova aba"
1600
 
1601
- #: wpf-includes/class-template.php:78
1602
- msgid "Link Text"
1603
- msgstr "Texto do link"
1604
 
1605
- #: wpf-includes/class-template.php:77
1606
- msgid "Insert link"
1607
- msgstr "Inserir link"
1608
 
1609
- #: wpf-admin/options-tabs/styles.php:43
1610
- msgid "Forum Color Styles"
1611
- msgstr "Estilos de cores do fórum"
1612
 
1613
- #: wpf-admin/options-tabs/styles.php:36 wpf-includes/wpf-phrases.php:61
1614
- msgid "Custom CSS Code"
1615
- msgstr "Código CSS personalizado"
 
 
 
 
1616
 
1617
- #: wpf-admin/options-tabs/styles.php:28 wpf-includes/wpf-phrases.php:481
1618
- msgid "Post Content"
1619
- msgstr "Conteúdo do Post"
 
 
 
 
1620
 
1621
- #: wpf-admin/options-tabs/styles.php:13
1622
- msgid "Font Sizes"
1623
- msgstr "Tamanhos de Fonte"
1624
 
1625
- #: wpf-admin/options-tabs/features.php:39 wpf-includes/wpf-phrases.php:331
1626
- msgid "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."
1627
- msgstr "Este recurso é útil se você estiver adicionando conteúdo antes ou depois do shortcode [wpforo] no conteúdo da página. Também é útil se o fórum é carregado antes do cabeçalho do site, acima do front-end."
1628
 
1629
- #: wpf-admin/options-tabs/features.php:39 wpf-includes/wpf-phrases.php:85
1630
- msgid "Enable Output Buffer"
1631
- msgstr "Habilitar buffer de saída"
1632
 
1633
- #. Author URI of the plugin/theme
1634
- msgid "https://gvectors.com/"
1635
- msgstr "https://gvectors.com/"
 
 
 
 
1636
 
1637
- #. Author of the plugin/theme
1638
- msgid "gVectors Team (A. Chakhoyan, R. Hovhannisyan)"
1639
- msgstr "gVectors Team (A. Chakhoyan, R. Hovhannisyan)"
 
1640
 
1641
- #. Plugin URI of the plugin/theme
1642
- msgid "https://wpforo.com"
1643
- msgstr "https://wpforo.com"
 
1644
 
1645
- #: wpf-includes/wpf-phrases.php:532
1646
- msgid "Your topic successfully added"
1647
- msgstr "Seu tópico foi adicionado com sucesso"
1648
 
1649
- #: wpf-includes/wpf-phrases.php:531
1650
- msgid "Your subscription for this item could not be confirmed"
1651
- msgstr "Sua inscrição para este item não pôde ser confirmada"
1652
 
1653
- #: wpf-includes/wpf-phrases.php:530
1654
- msgid "Your profile data have been successfully updated."
1655
- msgstr "Seus dados de perfil foram atualizados com sucesso."
 
 
 
 
 
1656
 
1657
- #: wpf-includes/wpf-phrases.php:529
1658
- msgid "Your forum successfully deleted"
1659
- msgstr "Seu fórum foi excluído com sucesso"
1660
 
1661
- #: wpf-includes/wpf-phrases.php:528
1662
- msgid "Your forum successfully added"
1663
- msgstr "Seu fórum foi adicionado com sucesso"
1664
 
1665
- #: wpf-includes/wpf-phrases.php:527
1666
- msgid "You successfully replied"
1667
- msgstr "Você respondeu com sucesso"
1668
 
1669
- #: wpf-includes/wpf-phrases.php:526
1670
- msgid "You haven't permission to edit post from this forum"
1671
- msgstr "Você não tem permissão para editar post deste fórum"
1672
 
1673
- #: wpf-includes/wpf-phrases.php:525
1674
- msgid "You haven't permission to delete topic from this forum"
1675
- msgstr "Você não tem permissão para deletar post deste fórum"
 
1676
 
1677
- #: wpf-includes/wpf-phrases.php:524
1678
- msgid "You haven't permission to delete post from this forum"
1679
- msgstr "Você não tem permissão para deletar post deste fórum"
 
1680
 
1681
- #: wpf-includes/wpf-phrases.php:523
1682
- msgid "You haven't permission to create topic into this forum"
1683
- msgstr "Você não tem permissão para criar tópico neste fórum"
1684
 
1685
- #: wpf-includes/wpf-phrases.php:522
1686
- msgid "You haven't permission to create post into this forum"
1687
- msgstr "Você não tem permissão para criar post neste fórum"
1688
 
1689
- #: wpf-includes/wpf-phrases.php:521
1690
- msgid "You have no permission to edit this topic"
1691
- msgstr "Você não tem permissão para editar este tópico"
1692
 
1693
- #: wpf-includes/wpf-phrases.php:520
1694
- msgid "You have been successfully unsubscribed"
1695
- msgstr "Você foi descadastrado com sucesso"
1696
 
1697
- #: wpf-includes/wpf-phrases.php:519
1698
- msgid "You have been successfully subscribed"
1699
- msgstr "Você foi inscrito com sucesso"
1700
 
1701
- #: wpf-includes/wpf-phrases.php:518
1702
- msgid "You are already voted this post"
1703
- msgstr "Você votou neste post"
1704
 
1705
- #: wpf-includes/wpf-phrases.php:517
1706
- msgid "Wrong post data"
1707
- msgstr "Dados do post errados"
1708
 
1709
- #: wpf-includes/wpf-phrases.php:516
1710
- msgid "Welcome to our Community!"
1711
- msgstr "Bem-vindo à nossa Comunidade!"
1712
 
1713
- #: wpf-includes/wpf-phrases.php:515
1714
- msgid "Username length must be between 3 characters and 30 characters."
1715
- msgstr "Tamanho do nome de usuário deve estar ser entre 3 e 30 caracteres."
1716
 
1717
- #: wpf-includes/wpf-phrases.php:514
1718
- msgid "Username is missed."
1719
- msgstr "Faltando nome de usuário."
 
 
 
 
1720
 
1721
- #: wpf-includes/wpf-phrases.php:513
1722
- msgid "Username exists. Please insert another."
1723
- msgstr "O nome de usuário existe. Por favor insira outro."
 
 
 
 
1724
 
1725
- #: wpf-includes/wpf-phrases.php:512
1726
- msgid "User successfully deleted from wpforo"
1727
- msgstr "Usuário excluído com sucesso do wpforo"
1728
 
1729
- #: wpf-includes/wpf-phrases.php:511
1730
- msgid "User group successfully edited"
1731
- msgstr "Grupo de usuários editado com sucesso"
 
 
 
 
 
1732
 
1733
- #: wpf-includes/wpf-phrases.php:510
1734
- msgid "User group successfully added"
1735
- msgstr "Grupo de usuários adicionado com sucesso"
 
 
 
 
 
 
 
 
 
1736
 
1737
- #: wpf-includes/wpf-phrases.php:509
1738
- msgid "User group edit error"
1739
- msgstr "Erro de edição do grupo de usuários"
1740
 
1741
- #: wpf-includes/wpf-phrases.php:508
1742
- msgid "User group add error"
1743
- msgstr "Erro de adição do grupo de usuários"
1744
 
1745
- #: wpf-includes/wpf-phrases.php:507
1746
- msgid "User delete error"
1747
- msgstr "Erro de exclusão de usuário"
1748
 
1749
- #: wpf-includes/wpf-phrases.php:506
1750
- msgid "Topics delete error"
1751
- msgstr "Erro de exclusão de tópicos"
1752
 
1753
- #: wpf-includes/wpf-phrases.php:505
1754
- msgid "Topic successfully updated"
1755
- msgstr "Tópico atualizado com sucesso"
1756
 
1757
- #: wpf-includes/wpf-phrases.php:504
1758
- msgid "Topic successfully moved"
1759
- msgstr "Tópico movido com sucesso"
 
 
 
 
 
1760
 
1761
- #: wpf-includes/wpf-phrases.php:503
1762
- msgid "Topic not found."
1763
- msgstr "Tópico não encontrado."
 
 
 
 
 
1764
 
1765
- #: wpf-includes/wpf-phrases.php:502
1766
- msgid "Topic edit error"
1767
- msgstr "Erro de edição de tópico"
 
 
1768
 
1769
- #: wpf-includes/wpf-phrases.php:501
1770
- msgid "Topic delete error"
1771
- msgstr "Erro de exclusão de tópico"
1772
 
1773
- #: wpf-includes/wpf-phrases.php:500
1774
- msgid "Topic add error"
1775
- msgstr "Erro de adição de tópico"
 
1776
 
1777
- #: wpf-includes/wpf-phrases.php:499
1778
- msgid "Topic Move Error"
1779
- msgstr "Erro ao mover tópico"
1780
 
1781
- #: wpf-includes/wpf-phrases.php:498
1782
- msgid "This topic successfully deleted"
1783
- msgstr "Este tópico excluído com sucesso"
1784
 
1785
- #: wpf-includes/wpf-phrases.php:497
1786
- msgid "This post successfully edited"
1787
- msgstr "Este tópico editado com sucesso"
1788
 
1789
- #: wpf-includes/wpf-phrases.php:496
1790
- msgid "This post successfully deleted"
1791
- msgstr "Este post foi deletado com sucesso"
1792
 
1793
- #: wpf-includes/wpf-phrases.php:495
1794
- msgid "This email address is already registered. Please insert another."
1795
- msgstr "Este endereço de e-mail já está registrado. Por favor insira outro."
 
1796
 
1797
- #: wpf-includes/wpf-phrases.php:494
1798
- msgid "Theme options successfully updated"
1799
- msgstr "Opções de tema atualizadas com sucesso"
 
1800
 
1801
- #: wpf-includes/wpf-phrases.php:493
1802
- msgid "The uploaded file size is too big"
1803
- msgstr "O tamanho do arquivo carregado é muito grande"
1804
 
1805
- #: wpf-includes/wpf-phrases.php:492
1806
- msgid "Successfully voted"
1807
- msgstr "Votado com sucesso"
1808
 
1809
- #: wpf-includes/wpf-phrases.php:491
1810
- msgid "Successfully updated"
1811
- msgstr "Atualizado com sucesso"
1812
 
1813
- #: wpf-includes/wpf-phrases.php:490
1814
- msgid "Success! Thank you. Please check your email and click confirmation link below to complete this step."
1815
- msgstr "Tudo Certo! Obrigado. Por favor, verifique o seu e-mail e clique no link de confirmação para concluir esta etapa."
1816
 
1817
- #: wpf-includes/wpf-phrases.php:489
1818
- msgid "Success! Thank you Dear Friend"
1819
- msgstr "Tudo Certo! Obrigado caro amigo"
1820
 
1821
- #: wpf-includes/wpf-phrases.php:488
1822
- msgid "Subscribe options successfully updated, but previous value not changed"
1823
- msgstr "Opções de inscrição atualizadas com sucesso, mas o valor anterior não foi alterado"
 
1824
 
1825
- #: wpf-includes/wpf-phrases.php:487
1826
- msgid "Subscribe options successfully updated"
1827
- msgstr "Opções de inscrição atualizadas com sucesso"
 
1828
 
1829
- #: wpf-includes/wpf-phrases.php:486
1830
- msgid "Something wrong with profile data."
1831
- msgstr "Algo errado com dados de perfil."
1832
 
1833
- #: wpf-includes/wpf-phrases.php:485
1834
- msgid "Reply request error"
1835
- msgstr "Erro de solicitação de resposta"
1836
 
1837
- #: wpf-includes/wpf-phrases.php:484
1838
- msgid "Registration Error"
1839
- msgstr "Erro de registro"
1840
 
1841
- #: wpf-includes/wpf-phrases.php:483
1842
- msgid "Post options successfully updated, but previous value not changed"
1843
- msgstr "Opções de post atualizadas com sucesso, mas o valor anterior não foi alterado"
1844
 
1845
- #: wpf-includes/wpf-phrases.php:482
1846
- msgid "Post options successfully updated"
1847
- msgstr "Opções de post atualizadas com sucesso"
1848
 
1849
- #: wpf-includes/wpf-phrases.php:480
1850
- msgid "Post delete error"
1851
- msgstr "Erro ao deletar post"
1852
 
1853
- #: wpf-includes/wpf-phrases.php:479
1854
- msgid "Please insert required fields!"
1855
- msgstr "Por favor insira campos obrigatórios!"
1856
 
1857
- #: wpf-includes/wpf-phrases.php:478
1858
- msgid "Phrase update error"
1859
- msgstr "Erro de atualização de termo"
 
1860
 
1861
- #: wpf-includes/wpf-phrases.php:477
1862
- msgid "Phrase successfully updates"
1863
- msgstr "Termos atualizados com sucesso"
 
1864
 
1865
- #: wpf-includes/wpf-phrases.php:476
1866
- msgid "Phrase successfully added"
1867
- msgstr "Termos adicionado com sucesso"
1868
 
1869
- #: wpf-includes/wpf-phrases.php:475
1870
- msgid "Phrase adding error"
1871
- msgstr "Erro ao adicionar termo"
1872
 
1873
- #: wpf-includes/wpf-phrases.php:474
1874
- msgid "Phrase add error"
1875
- msgstr "Erro ao adicionar termo"
1876
 
1877
- #: wpf-includes/wpf-phrases.php:473
1878
- msgid "Permission denied for this action"
1879
- msgstr "Permissão negada para esta ação"
1880
-
1881
- #: wpf-includes/wpf-phrases.php:472
1882
- msgid "Permission denied for edit forum"
1883
- msgstr "Permissão negada para editar Fórum"
1884
 
1885
- #: wpf-includes/wpf-phrases.php:471
1886
- msgid "Permission denied for delete forum"
1887
- msgstr "Permissão negada para excluir Fórum"
 
1888
 
1889
- #: wpf-includes/wpf-phrases.php:470
1890
- msgid "Permission denied for add forum"
1891
- msgstr "Permissão negada para adicionar Fórum"
1892
 
1893
- #: wpf-includes/wpf-phrases.php:469
1894
- msgid "Permission denied"
1895
- msgstr "Permissão negada"
1896
 
1897
- #: wpf-includes/wpf-phrases.php:468
1898
- msgid "Password mismatch."
1899
- msgstr "Incompatibilidade de senhas."
1900
 
1901
- #: wpf-includes/wpf-phrases.php:467
1902
- msgid "Password length must be between 6 characters and 20 characters."
1903
- msgstr "O tamanho da senha deve ser entre 6 e 20 caracteres."
1904
 
1905
- #: wpf-includes/wpf-phrases.php:466
1906
- msgid "No Posts found for update"
1907
- msgstr "Posts não encontrados para atualização"
 
1908
 
1909
- #: wpf-includes/wpf-phrases.php:465
1910
- msgid "New language successfully added and changed wpforo language to new language"
1911
- msgstr "Novo idioma adicionado com sucesso e alterado o idioma do wpforo para o novo idioma"
 
 
 
 
 
 
 
 
 
 
 
 
 
1912
 
1913
- #: wpf-includes/wpf-phrases.php:464
1914
- msgid "Message has been sent"
1915
- msgstr "Mensagem foi enviada"
1916
 
1917
- #: wpf-includes/wpf-phrases.php:463
1918
- msgid "Member options successfully updated, but previous value not changed"
1919
- msgstr "Opções de membro atualizadas com sucesso, mas o valor anterior não alterado"
1920
 
1921
- #: wpf-includes/wpf-phrases.php:462
1922
- msgid "Member options successfully updated"
1923
- msgstr "Opções de membro atualizadas com sucesso"
1924
 
1925
- #: wpf-includes/wpf-phrases.php:461
1926
- msgid "Invalid request!"
1927
- msgstr "Solicitação inválida!"
1928
 
1929
- #: wpf-includes/wpf-phrases.php:460
1930
- msgid "Invalid Email address"
1931
- msgstr "Endereço de e-mail inválido"
1932
 
1933
- #: wpf-includes/wpf-phrases.php:459
1934
- msgid "Insert your Email address."
1935
- msgstr "Insira seu endereço de e-mail."
 
 
 
 
1936
 
1937
- #: wpf-includes/wpf-phrases.php:458
1938
- msgid "Illegal character in username."
1939
- msgstr "Caractere inválido no nome de usuário."
1940
 
1941
- #: wpf-includes/wpf-phrases.php:457
1942
- msgid "General options successfully updated"
1943
- msgstr "Opções gerais atualizadas com sucesso"
1944
 
1945
- #: wpf-includes/wpf-phrases.php:456
1946
- msgid "Forum update error"
1947
- msgstr "Erro de atualização do fórum"
1948
 
1949
- #: wpf-includes/wpf-phrases.php:455
1950
- msgid "Forum successfully updated"
1951
- msgstr "Forum atualizado com sucesso"
 
 
 
 
 
1952
 
1953
- #: wpf-includes/wpf-phrases.php:454
1954
- msgid "Forum options successfully updated, but previous value not changed"
1955
- msgstr "Opções de fórum atualizadas com sucesso, mas o valor anterior não foi alterado"
 
 
 
 
 
1956
 
1957
- #: wpf-includes/wpf-phrases.php:453
1958
- msgid "Forum options successfully updated"
1959
- msgstr "Opções de fórum atualizadas com sucesso"
1960
 
1961
- #: wpf-includes/wpf-phrases.php:452
1962
- msgid "Forum merging error"
1963
- msgstr "Erro ao mesclar Fórum"
1964
 
1965
- #: wpf-includes/wpf-phrases.php:451
1966
- msgid "Forum is successfully merged"
1967
- msgstr "Fórum mesclado com sucesso"
1968
 
1969
- #: wpf-includes/wpf-phrases.php:450
1970
- msgid "Forum hierarchy successfully updated"
1971
- msgstr "Hierarquia do fórum atualizada com sucesso"
1972
 
1973
- #: wpf-includes/wpf-phrases.php:449
1974
- msgid "Forum deleting error"
1975
- msgstr "Erro de exclusão de fórum"
1976
 
1977
- #: wpf-includes/wpf-phrases.php:448
1978
- msgid "Forum Base URL successfully updated"
1979
- msgstr "URL base do fórum atualizado com sucesso"
 
1980
 
1981
- #: wpf-includes/wpf-phrases.php:447
1982
- msgid "File type is not allowed"
1983
- msgstr "Tipo de arquivo não permitido"
 
1984
 
1985
- #: wpf-includes/wpf-phrases.php:446
1986
- msgid "Features successfully updated, but previous value not changed"
1987
- msgstr "Recursos atualizados com sucesso, mas o valor anterior não foi alterado"
 
1988
 
1989
- #: wpf-includes/wpf-phrases.php:445
1990
- msgid "Features successfully updated"
1991
- msgstr "Recursos atualizados com sucesso"
 
1992
 
1993
- #: wpf-includes/wpf-phrases.php:444
1994
- msgid "Error: please inset some text to report."
1995
- msgstr "Erro: Insira um texto para reportar."
1996
 
1997
- #: wpf-includes/wpf-phrases.php:443
1998
- msgid "Error: Topic is not found"
1999
- msgstr "Erro: O tópico não foi encontrado"
2000
 
2001
- #: wpf-includes/wpf-phrases.php:442
2002
- msgid "Error: No topic selected"
2003
- msgstr "Erro: Nenhum tópico foi selecionado"
2004
 
2005
- #: wpf-includes/wpf-phrases.php:441
2006
- msgid "Error: Forum is not found"
2007
- msgstr "Erro: O fórum não foi encontrado"
2008
 
2009
- #: wpf-includes/wpf-phrases.php:440
2010
- msgid "Email address exists. Please insert another."
2011
- msgstr " existe este endereço de e-mail. Por favor insira outro."
2012
 
2013
- #: wpf-includes/wpf-phrases.php:439
2014
- msgid "Could not be unsubscribe from this item"
2015
- msgstr "Não foi possível cancelar a inscrição deste item"
2016
 
2017
- #: wpf-includes/wpf-phrases.php:438
2018
- msgid "Cannot update post data"
2019
- msgstr "Não é possível atualizar dados do post"
2020
 
2021
- #: wpf-includes/wpf-phrases.php:437
2022
- msgid "Cannot update forum hierarchy"
2023
- msgstr "Não foi possível atualizar a hierarquia do fórum"
2024
 
2025
- #: wpf-includes/wpf-phrases.php:436
2026
- msgid "Can`t upload file"
2027
- msgstr "Não é possível carregar o arquivo"
2028
 
2029
- #: wpf-includes/wpf-phrases.php:435
2030
- msgid "Can't write a post: This topic is closed"
2031
- msgstr "Não é possível escrever um post: Este é um tópico fechado"
2032
 
2033
- #: wpf-includes/wpf-phrases.php:434
2034
- msgid "Can't subscribe to this item"
2035
- msgstr "Não é possível assinar este item"
2036
 
2037
- #: wpf-includes/wpf-phrases.php:433
2038
- msgid "Can't send report email"
2039
- msgstr "Não é possível enviar o e-mail de denúncia"
2040
 
2041
- #: wpf-includes/wpf-phrases.php:432
2042
- msgid "Can't send confirmation email"
2043
- msgstr "Não é possível enviar o e-mail de confirmação"
2044
 
2045
- #: wpf-includes/wpf-phrases.php:431
2046
- msgid "Can't delete this Usergroup"
2047
- msgstr "Não é possível excluir este Grupo de usuário"
2048
 
2049
- #: wpf-includes/wpf-phrases.php:430
2050
- msgid "Can't add new language"
2051
- msgstr "Não é possível adicionar novo idioma"
2052
 
2053
- #: wpf-includes/wpf-phrases.php:429
2054
- msgid "Can't add forum"
2055
- msgstr "Não é possível adicionar Fórum"
2056
 
2057
- #: wpf-includes/wpf-phrases.php:428
2058
- msgid "All Checked topics successfully deleted"
2059
- msgstr "Todos os tópicos marcados foram excluídos com sucesso"
2060
 
2061
- #: wpf-includes/wpf-phrases.php:427
2062
- msgid "Add Topic error: No forum selected"
2063
- msgstr "Erro ao adicionar tópico: Nenhum Fórum foi selecionado"
 
2064
 
2065
- #: wpf-includes/wpf-phrases.php:426
2066
- msgid "Access successfully deleted"
2067
- msgstr "Acesso excluído com êxito"
2068
 
2069
- #: wpf-includes/wpf-phrases.php:425
2070
- msgid "Access edit error"
2071
- msgstr "Erro de edição de acesso"
2072
 
2073
- #: wpf-includes/wpf-phrases.php:424
2074
- msgid "Access delete error"
2075
- msgstr "Erro de exclusão de acesso"
2076
 
2077
- #: wpf-includes/wpf-phrases.php:423
2078
- msgid "Access add error"
2079
- msgstr "Erro de adição de acesso"
2080
 
2081
- #: wpf-includes/wpf-phrases.php:418
2082
- msgid "{number}T"
2083
- msgstr "{number}T"
2084
 
2085
- #: wpf-includes/wpf-phrases.php:417
2086
- msgid "{number}M"
2087
- msgstr "{number}M"
2088
 
2089
- #: wpf-includes/wpf-phrases.php:416
2090
- msgid "{number}K"
2091
- msgstr "{number}K"
2092
 
2093
- #: wpf-includes/wpf-phrases.php:415
2094
- msgid "{number}B"
2095
- msgstr "{number}B"
2096
 
2097
- #: wpf-includes/wpf-phrases.php:410
2098
- msgid "wpForo Navigation"
2099
- msgstr "Navegação wpForo"
 
2100
 
2101
- #: wpf-includes/wpf-phrases.php:408
2102
- msgid "view all topics"
2103
- msgstr "ver todos tópicos"
2104
 
2105
- #: wpf-includes/wpf-phrases.php:407
2106
- msgid "view all questions"
2107
- msgstr "ver todas perguntas"
2108
 
2109
- #: wpf-includes/wpf-phrases.php:406
2110
- msgid "view all posts"
2111
- msgstr "ver todos posts"
2112
 
2113
- #: wpf-includes/functions.php:644 wpf-includes/functions.php:645
2114
- #: wpf-includes/wpf-phrases.php:405
2115
- msgid "view"
2116
- msgstr "ver"
2117
 
2118
- #: wpf-includes/wpf-phrases.php:404
2119
- msgid "update"
2120
- msgstr "atualizar"
2121
 
2122
- #: wpf-includes/wpf-phrases.php:403
2123
- msgid "subscriptions"
2124
- msgstr "inscrições"
2125
 
2126
- #: wpf-includes/wpf-phrases.php:402
2127
- msgid "replies"
2128
- msgstr "respostas"
2129
 
2130
- #: wpf-includes/wpf-phrases.php:401
2131
- msgid "register"
2132
- msgstr "registrar"
2133
 
2134
- #: wpf-includes/wpf-phrases.php:400
2135
- msgid "prev"
2136
- msgstr "anterior"
2137
 
2138
- #: wpf-includes/wpf-phrases.php:399
2139
- msgid "posted"
2140
- msgstr "postado"
2141
 
2142
- #: wpf-includes/wpf-phrases.php:398
2143
- msgid "phrase_value"
2144
- msgstr "phrase_value"
2145
 
2146
- #: wpf-includes/wpf-phrases.php:397
2147
- msgid "phrase_key"
2148
- msgstr "phrase_key"
2149
 
2150
- #: wpf-includes/wpf-phrases.php:396
2151
- msgid "old password"
2152
- msgstr "senha antiga"
2153
 
2154
- #: wpf-includes/wpf-phrases.php:395
2155
- msgid "next"
2156
- msgstr "próxima"
2157
 
2158
- #: wpf-includes/wpf-phrases.php:394
2159
- msgid "new password again"
2160
- msgstr "nova senha novamente"
2161
 
2162
- #: wpf-includes/wpf-phrases.php:393
2163
- msgid "new password"
2164
- msgstr "nova senha"
2165
 
2166
- #: wpf-includes/wpf-phrases.php:392
2167
- msgid "my profile"
2168
- msgstr "meu perfil"
2169
 
2170
- #: wpf-includes/wpf-phrases.php:390
2171
- msgid "members"
2172
- msgstr "membros"
2173
 
2174
- #: wpf-includes/wpf-phrases.php:389
2175
- msgid "matches"
2176
- msgstr "conferem"
2177
 
2178
- #: wpf-includes/wpf-phrases.php:388
2179
- msgid "logout"
2180
- msgstr "sair"
2181
 
2182
- #: wpf-includes/wpf-phrases.php:387
2183
- msgid "login"
2184
- msgstr "login"
2185
 
2186
- #: wpf-includes/wpf-phrases.php:385
2187
- msgid "forums"
2188
- msgstr "fóruns"
2189
 
2190
- #: wpf-includes/functions.php:603 wpf-includes/wpf-phrases.php:384
2191
- msgid "edit user"
2192
- msgstr "editar usuário"
2193
 
2194
- #: wpf-includes/functions.php:607 wpf-includes/wpf-phrases.php:383
2195
- msgid "edit profile"
2196
- msgstr "editar perfil"
2197
 
2198
- #: wpf-includes/wpf-phrases.php:380
2199
- msgid "confirm password"
2200
- msgstr "confirmar senha"
2201
 
2202
- #: wpf-includes/wpf-phrases.php:379
2203
- msgid "by %s"
2204
- msgstr "por %s"
2205
 
2206
- #: wpf-includes/wpf-phrases.php:378
2207
- msgid "by"
2208
- msgstr "por"
2209
 
2210
- #: wpf-includes/wpf-phrases.php:376
2211
- msgid "add_new"
2212
- msgstr "add_new"
2213
 
2214
- #: wpf-includes/wpf-phrases.php:374
2215
- msgid "activity"
2216
- msgstr "atividade"
2217
 
2218
- #: wpf-includes/wpf-phrases.php:373
2219
- msgid "account"
2220
- msgstr "conta"
2221
 
2222
- #: wpf-includes/wpf-phrases.php:372
2223
- msgid "Your Answer"
2224
- msgstr "Sua Resposta"
2225
 
2226
- #: wpf-includes/wpf-phrases.php:370
2227
- msgid "You can go to %s page or Search here"
2228
- msgstr "Você pode ir para a página %s ou procurar aqui"
2229
 
2230
- #: wpf-includes/wpf-phrases.php:368
2231
- msgid "You"
2232
- msgstr "Você"
2233
 
2234
- #: wpf-includes/wpf-phrases.php:366
2235
- msgid "Yahoo"
2236
- msgstr "Yahoo"
2237
 
2238
- #: wpf-includes/wpf-phrases.php:365
2239
- msgid "Write message"
2240
- msgstr "Escrever mensagem"
2241
 
2242
- #: wpf-includes/wpf-phrases.php:364
2243
- msgid "Working"
2244
- msgstr "Trabalhando"
2245
 
2246
- #: wpf-includes/wpf-phrases.php:363
2247
- msgid "Wordpress avatar system"
2248
- msgstr "Sistema de avatar do Wordpress"
2249
 
2250
- #: wpf-includes/wpf-phrases.php:361
2251
- msgid "Website"
2252
- msgstr "Site"
 
2253
 
2254
- #: wpf-includes/wpf-phrases.php:360
2255
- msgid "Votes"
2256
- msgstr "Votos"
2257
 
2258
- #: wpf-includes/wpf-phrases.php:359
2259
- msgid "Views"
2260
- msgstr "Visualizações"
2261
 
2262
- #: wpf-includes/wpf-phrases.php:358
2263
- msgid "View the latest post"
2264
- msgstr "Ver o último post"
2265
 
2266
- #: wpf-includes/wpf-phrases.php:357
2267
- msgid "View entire post"
2268
- msgstr "Ver post inteiro"
2269
 
2270
- #: wpf-includes/wpf-phrases.php:355
2271
- msgid "Username"
2272
- msgstr "Nome de usuário"
2273
 
2274
- #: wpf-includes/wpf-phrases.php:354
2275
- msgid "Usergroup has been successfully deleted. All users of this usergroup have been moved to the usergroup you've chosen"
2276
- msgstr "O Grupo de usuário foi excluído com sucesso. Todos os usuários deste Grupo foram movidos para o Grupo que você selecionou"
2277
 
2278
- #: wpf-includes/wpf-phrases.php:353
2279
- msgid "Usergroup has been successfully deleted."
2280
- msgstr "O Grupo de usuário foi excluído com sucesso."
2281
 
2282
- #: wpf-includes/wpf-phrases.php:352
2283
- msgid "User Group"
2284
- msgstr "Grupo de Usuário"
2285
 
2286
- #: wpf-includes/wpf-phrases.php:350
2287
- msgid "User"
2288
- msgstr "Usuário"
2289
 
2290
- #: wpf-includes/wpf-phrases.php:348
2291
- msgid "Use comments to ask for more information or suggest improvements. Avoid answering questions in comments."
2292
- msgstr "Use comentários para solicitar mais informações ou sugerir melhorias. Evite responder a perguntas nos comentários."
2293
 
2294
- #: wpf-includes/wpf-phrases.php:346
2295
- msgid "Upload an avatar"
2296
- msgstr "Upload de um avatar"
2297
 
2298
- #: wpf-includes/wpf-phrases.php:343
2299
- msgid "Unsubscribe"
2300
- msgstr "Desincrever"
2301
 
2302
- #: wpf-includes/wpf-phrases.php:342
2303
- msgid "Unknown upload error"
2304
- msgstr "Erro de upload desconhecido"
2305
 
2306
- #: wpf-includes/wpf-phrases.php:341
2307
- msgid "Twitter"
2308
- msgstr "Twitter"
2309
 
2310
- #: wpf-includes/wpf-phrases.php:338
2311
- msgid "Topic title"
2312
- msgstr "Título do tópico"
2313
 
2314
- #: wpf-includes/wpf-phrases.php:337
2315
- msgid "Topic Title"
2316
- msgstr "Título do Tópico"
2317
 
2318
- #: wpf-includes/wpf-phrases.php:336
2319
- msgid "Topic RSS Feed"
2320
- msgstr "Feed RSS do Tópico"
2321
 
2322
- #: wpf-includes/wpf-phrases.php:334
2323
- msgid "Timezone"
2324
- msgstr "Fuso horário"
 
 
 
 
2325
 
2326
- #: wpf-includes/wpf-phrases.php:327
2327
- msgid "The uploaded file was only partially uploaded"
2328
- msgstr "O arquivo carregado só foi parcialmente carregado"
2329
 
2330
- #: wpf-includes/wpf-phrases.php:326
2331
- msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
2332
- msgstr "O arquivo carregado excede a diretiva upload_max_filesize do php.ini"
2333
 
2334
- #: wpf-includes/wpf-phrases.php:325
2335
- msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
2336
- msgstr "O arquivo carregado excede a diretiva MAX_FILE_SIZE que foi especificada no formulário HTML"
2337
 
2338
- #: wpf-includes/wpf-phrases.php:322
2339
- msgid "Thank you for using wpForo. wpForo is a premium forum plugin which will always be available for free. There will never be paid and pro versions of this forum board. However this is a very large and hard project so we also develop paid addons (extensions), which will financially help us to keep improving and adding new features to the free wpForo plugin. Forum addons will also be actively developed. The first addons \"Advanced Media Uploader"
2340
- msgstr "Obrigado por usar wpForo. O wpForo é um plugin Premium de fórum que estará sempre disponível de graça. Nunca haverá versões pagas e pro deste sistema de fórum. No entanto, este é um projeto muito grande e difícil para que também desenvolvamos complementos pagos (extensões), o que nos ajudará financeiramente a continuar melhorando e adicionando novos recursos ao plugin wpForo gratuito. Os complementos do fórum também serão ativamente desenvolvidos. Os primeiros complementos \"Advanced Media Uploader"
2341
 
2342
- #: wpf-includes/wpf-phrases.php:319
2343
- msgid "Subscriptions"
2344
- msgstr "Inscrições"
2345
 
2346
- #: wpf-includes/wpf-phrases.php:317
2347
- msgid "Subscribe for new topics"
2348
- msgstr "Inscreva-se para novos tópicos"
2349
 
2350
- #: wpf-includes/wpf-phrases.php:316
2351
- msgid "Subscribe for new replies"
2352
- msgstr "Inscreva-se para novas respostas"
2353
 
2354
- #: wpf-includes/wpf-phrases.php:313
2355
- msgid "Subforums"
2356
- msgstr "Sub-Fóruns"
2357
 
2358
- #: wpf-includes/wpf-phrases.php:311
2359
- msgid "Specify avatar by URL"
2360
- msgstr "Especifique um avatar por URL"
2361
 
2362
- #: wpf-includes/wpf-phrases.php:310
2363
- msgid "Sort Search Results by"
2364
- msgstr "Ordenar resultados da pesquisa por"
2365
 
2366
- #: wpf-includes/wpf-phrases.php:309
2367
- msgid "Sorry, something wrong with your data."
2368
- msgstr "Desculpe, algo de errado com seus dados."
2369
 
2370
- #: wpf-includes/wpf-phrases.php:308
2371
- msgid "Social Networks"
2372
- msgstr "Redes sociais"
2373
 
2374
- #: wpf-includes/wpf-phrases.php:306
2375
- msgid "Skype"
2376
- msgstr "Skype"
2377
 
2378
- #: wpf-includes/wpf-phrases.php:305
2379
- msgid "Site Profile"
2380
- msgstr "Perfil do Site"
2381
 
2382
- #: wpf-includes/wpf-phrases.php:304
2383
- msgid "Signature"
2384
- msgstr "Assinatura"
2385
 
2386
- #: wpf-includes/wpf-phrases.php:303
2387
- msgid "Sign In"
2388
- msgstr "Entrar"
2389
 
2390
- #: wpf-includes/wpf-phrases.php:293
2391
- msgid "Shop Account"
2392
- msgstr "Comprar conta"
2393
 
2394
- #: wpf-includes/wpf-phrases.php:292
2395
- msgid "Set this option value 0 if you want to show all posts under topic intro area."
2396
- msgstr "Defina este valor da opção para 0 se desejar mostrar todas as postagens na área de introdução do tópico."
2397
 
2398
- #: wpf-includes/wpf-phrases.php:291
2399
- msgid "Set Topic Sticky"
2400
- msgstr "Definir tópico como Fixo"
 
2401
 
2402
- #: wpf-includes/wpf-phrases.php:287
2403
- msgid "Send Report"
2404
- msgstr "Enviar Denúncia"
2405
 
2406
- #: wpf-includes/wpf-phrases.php:286
2407
- msgid "Select Page"
2408
- msgstr "Selecionar Página"
2409
 
2410
- #: wpf-includes/wpf-phrases.php:284
2411
- msgid "Search..."
2412
- msgstr "Pesquisar..."
2413
 
2414
- #: wpf-includes/wpf-phrases.php:283
2415
- msgid "Search result for"
2416
- msgstr "Resultado de pesquisa por"
2417
 
2418
- #: wpf-includes/wpf-phrases.php:282
2419
- msgid "Search in date period"
2420
- msgstr "Pesquisar por data"
2421
 
2422
- #: wpf-includes/wpf-phrases.php:281
2423
- msgid "Search in Forums"
2424
- msgstr "Pesquisar nos Forums"
2425
 
2426
- #: wpf-includes/wpf-phrases.php:280
2427
- msgid "Search Type"
2428
- msgstr "Tipo de pesquisa"
2429
 
2430
- #: wpf-includes/wpf-phrases.php:279
2431
- msgid "Search Titles Only"
2432
- msgstr "Pesquisar apenas títulos"
2433
 
2434
- #: wpf-includes/wpf-phrases.php:278
2435
- msgid "Search Phrase"
2436
- msgstr "Pesquisa de Termo"
2437
 
2438
- #: wpf-includes/wpf-phrases.php:277
2439
- msgid "Search Entire Posts"
2440
- msgstr "Pesquisar Posts inteiros"
2441
 
2442
- #: wpf-admin/options-tabs/members.php:32 wpf-includes/wpf-phrases.php:276
2443
- msgid "Search"
2444
- msgstr "Buscar"
2445
 
2446
- #: wpf-includes/wpf-phrases.php:272
2447
- msgid "Save Changes"
2448
- msgstr "Salvar alterações"
2449
 
2450
- #: wpf-includes/wpf-phrases.php:270
2451
- msgid "Result Info"
2452
- msgstr "Resultados para"
2453
 
2454
- #: wpf-includes/wpf-phrases.php:268
2455
- msgid "Report to Administration"
2456
- msgstr "Denunciar ao Administrador"
2457
 
2458
- #: wpf-includes/wpf-phrases.php:265
2459
- msgid "Report"
2460
- msgstr "Denunciar"
2461
-
2462
- #: wpf-includes/wpf-phrases.php:264
2463
- msgid "Reply"
2464
- msgstr "Responder"
2465
 
2466
- #: wpf-includes/wpf-phrases.php:263
2467
- msgid "Replies not found"
2468
- msgstr "Respostas não encontradas"
2469
 
2470
- #: wpf-includes/wpf-phrases.php:262
2471
- msgid "Replies"
2472
- msgstr "Respostas"
2473
 
2474
- #: wpf-includes/wpf-phrases.php:256
2475
- msgid "Remember Me"
2476
- msgstr "Lembrar-me"
2477
 
2478
- #: wpf-includes/wpf-phrases.php:255
2479
- msgid "Relevancy"
2480
- msgstr "Relevância"
2481
 
2482
- #: wpf-includes/wpf-phrases.php:254
2483
  msgid "Registered date"
2484
  msgstr "Data de Registro"
2485
 
2486
- #: wpf-includes/wpf-phrases.php:252
2487
- msgid "Register"
2488
- msgstr "Cadastrar"
2489
-
2490
- #: wpf-includes/wpf-phrases.php:251
2491
- msgid "Recent Topics"
2492
- msgstr "Tópicos Recentes"
2493
 
2494
- #: wpf-includes/wpf-phrases.php:250
2495
- msgid "Recent Questions"
2496
- msgstr "Perguntas Recentes"
2497
 
2498
- #: wpf-includes/wpf-phrases.php:249
2499
- msgid "Received Likes"
2500
- msgstr "Curtidas recebidas"
2501
 
2502
- #: wpf-includes/wpf-phrases.php:245
2503
- msgid "Rating Badge"
2504
- msgstr "Emblema de Ranking"
2505
 
2506
- #: wpf-includes/wpf-phrases.php:244
2507
- msgid "Rating"
2508
- msgstr "Ranking"
2509
 
2510
- #: wpf-includes/wpf-phrases.php:243
2511
- msgid "RSS"
2512
- msgstr "RSS"
2513
 
2514
- #: wpf-includes/wpf-phrases.php:242
2515
- msgid "REPLY:"
2516
- msgstr "RESPOSTA:"
2517
 
2518
- #: wpf-includes/wpf-phrases.php:241
2519
- msgid "RE"
2520
- msgstr "RE"
2521
 
2522
- #: wpf-includes/wpf-phrases.php:240
2523
- msgid "Quote"
2524
- msgstr "Citar (Quote)"
2525
 
2526
- #: wpf-includes/wpf-phrases.php:239
2527
- msgid "Questions"
2528
- msgstr "Perguntas"
2529
 
2530
- #: wpf-includes/wpf-phrases.php:238
2531
- msgid "Question Comments"
2532
- msgstr "Comentários da pergunta"
2533
 
2534
- #: wpf-includes/wpf-phrases.php:237
2535
- msgid "Q&A layout - Intro topics"
2536
- msgstr "Q&amp;A layout - Tópicos de introdução"
2537
 
2538
- #: wpf-includes/wpf-phrases.php:236
2539
- msgid "Q&A Layout - Number of intro topics"
2540
- msgstr "Q&amp;A layout - Número de tópicos de introdução"
2541
 
2542
- #: wpf-includes/wpf-phrases.php:234
2543
- msgid "Powered by"
2544
- msgstr "Movido a"
2545
 
2546
- #: wpf-includes/wpf-phrases.php:232
2547
- msgid "Posted by"
2548
- msgstr "Postado po"
2549
 
2550
- #: wpf-includes/wpf-phrases.php:231
2551
- msgid "Posted"
2552
- msgstr "Postado"
2553
 
2554
- #: wpf-includes/wpf-phrases.php:230
2555
- msgid "Post link"
2556
- msgstr "Link do post"
2557
 
2558
- #: wpf-includes/wpf-phrases.php:229
2559
- msgid "Post Title"
2560
- msgstr "Título do Post"
2561
 
2562
- #: wpf-includes/wpf-phrases.php:225
2563
- msgid "Please %s or %s"
2564
- msgstr "Por favor %s ou %s"
2565
 
2566
- #: wpf-includes/wpf-phrases.php:223
2567
- msgid "Password"
2568
- msgstr "Senha"
2569
 
2570
- #: wpf-includes/wpf-phrases.php:221
2571
- msgid "Page"
2572
- msgstr "Página"
 
 
 
2573
 
2574
- #: wpf-includes/wpf-phrases.php:220
2575
- msgid "Our newest member"
2576
- msgstr "Nossos novos membros"
2577
 
2578
- #: wpf-includes/wpf-phrases.php:219
2579
- msgid "Oops! The page you requested was not found!"
2580
- msgstr "Oops! A página solicitada não foi encontrada!"
2581
 
2582
- #: wpf-includes/wpf-phrases.php:217
2583
- msgid "Online"
2584
- msgstr "Online"
2585
 
2586
- #: wpf-includes/wpf-phrases.php:216
2587
- msgid "Offline"
2588
- msgstr "Offline"
2589
 
2590
- #: wpf-includes/wpf-phrases.php:215
2591
- msgid "Occupation"
2592
- msgstr "Profissão"
2593
 
2594
- #: wpf-includes/wpf-phrases.php:208
2595
- msgid "No topics were found here"
2596
- msgstr "Nenhum tópico foi encontrado aqui"
2597
 
2598
- #: wpf-includes/wpf-phrases.php:206
2599
- msgid "No subscriptions found for this member."
2600
- msgstr "Não foram encontradas inscrições deste membro."
2601
 
2602
- #: wpf-includes/wpf-phrases.php:204
2603
- msgid "No online members at the moment"
2604
- msgstr "Nenhum membro online no momento"
2605
 
2606
- #: wpf-includes/wpf-phrases.php:200
2607
- msgid "No forums were found here."
2608
- msgstr "Nenhum fórum foi encontrado aqui."
2609
 
2610
- #: wpf-includes/wpf-phrases.php:199
2611
- msgid "No file was uploaded"
2612
- msgstr "Nenhum arquivo foi carregado"
2613
 
2614
- #: wpf-includes/wpf-phrases.php:198
2615
- msgid "No activity found for this member."
2616
- msgstr "Nenhuma atividade deste membro foi encontrada."
2617
 
2618
- #: wpf-includes/wpf-phrases.php:191
2619
- msgid "My Profile"
2620
- msgstr "Meu Perfil"
2621
 
2622
- #: wpf-includes/wpf-phrases.php:190
2623
- msgid "Must be minimum 6 characters."
2624
- msgstr "Deve ser mínimo 6 caracteres."
2625
 
2626
- #: wpf-includes/wpf-phrases.php:189
2627
- msgid "Move topic"
2628
- msgstr "Mover tópico"
 
 
 
 
 
 
2629
 
2630
- #: wpf-includes/wpf-phrases.php:186
2631
- msgid "Missing a temporary folder"
2632
- msgstr "Faltando uma pasta temporária"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2633
 
2634
- #: wpf-includes/wpf-phrases.php:183
2635
- msgid "Messages"
2636
- msgstr "Mensagens"
2637
 
2638
- #: wpf-includes/wpf-phrases.php:181
2639
- msgid "Members not found"
2640
- msgstr "Membros não encontrados"
2641
 
2642
- #: wpf-includes/wpf-phrases.php:177
2643
- msgid "Member information"
2644
- msgstr "Informações do Membro"
2645
 
2646
- #: wpf-includes/wpf-phrases.php:173
2647
- msgid "Member Rating Badge"
2648
- msgstr "Emblema de Ranking do Membro"
2649
 
2650
- #: wpf-includes/wpf-phrases.php:172
2651
- msgid "Member Rating"
2652
- msgstr "Ranking do membro"
2653
 
2654
- #: wpf-includes/wpf-phrases.php:171
2655
- msgid "Member Information"
2656
- msgstr "Informação do membro"
2657
 
2658
- #: wpf-includes/wpf-phrases.php:170
2659
- msgid "Member Activity"
2660
- msgstr "Atividades do Membro"
2661
-
2662
- #: wpf-includes/wpf-phrases.php:168
2663
- msgid "Maximum allowed file size is"
2664
- msgstr "Tamanho máximo permitido do arquivo é"
2665
 
2666
- #: wpf-includes/wpf-phrases.php:167
2667
- msgid "MSN"
2668
- msgstr "MSN"
2669
 
2670
- #: wpf-includes/wpf-phrases.php:165
2671
- msgid "Lost your password?"
2672
- msgstr "Perdeu sua senha?"
2673
 
2674
- #: wpf-includes/wpf-phrases.php:163
2675
- msgid "Logout"
2676
- msgstr "Sair"
2677
 
2678
- #: wpf-includes/wpf-phrases.php:161
2679
- msgid "Login"
2680
- msgstr "Entrar"
 
 
 
 
2681
 
2682
- #: wpf-includes/wpf-phrases.php:160
2683
- msgid "Location"
2684
- msgstr "Localização"
2685
 
2686
- #: wpf-includes/wpf-phrases.php:159
2687
- msgid "Liked"
2688
- msgstr "Curtido"
2689
 
2690
- #: wpf-includes/wpf-phrases.php:157
2691
- msgid "Length must be between 3 characters and 30 characters."
2692
- msgstr "Comprimento deve ser entre 3 e 30 caracteres."
2693
 
2694
- #: wpf-includes/wpf-phrases.php:156
2695
- msgid "Leave a reply"
2696
- msgstr "Responder"
 
 
 
 
2697
 
2698
- #: wpf-includes/wpf-phrases.php:155
2699
- msgid "Latest Post"
2700
- msgstr "Últimos Posts"
2701
 
2702
- #: wpf-includes/wpf-phrases.php:154
2703
- msgid "Last post by %s"
2704
- msgstr "Última post feito por %s"
2705
 
2706
- #: wpf-includes/wpf-phrases.php:153
2707
- msgid "Last Year ago"
2708
- msgstr "Ano passado"
2709
 
2710
- #: wpf-includes/wpf-phrases.php:152
2711
- msgid "Last Week"
2712
- msgstr "Semana passada"
2713
 
2714
- #: wpf-includes/wpf-phrases.php:151
2715
- msgid "Last Post Info"
2716
- msgstr "Última Informação do Post"
2717
 
2718
- #: wpf-includes/wpf-phrases.php:150
2719
- msgid "Last Post"
2720
- msgstr "Último post"
2721
 
2722
- #: wpf-includes/wpf-phrases.php:149
2723
- msgid "Last Month"
2724
- msgstr "Mês passado"
2725
 
2726
- #: wpf-includes/wpf-phrases.php:148
2727
- msgid "Last Active"
2728
- msgstr "Última atividade"
2729
 
2730
- #: wpf-includes/wpf-phrases.php:147
2731
- msgid "Last 6 Months"
2732
- msgstr "6 meses atrás"
2733
 
2734
- #: wpf-includes/wpf-phrases.php:146
2735
- msgid "Last 3 Months"
2736
- msgstr "3 meses atrás"
2737
 
2738
- #: wpf-includes/wpf-phrases.php:145
2739
- msgid "Last 24 hours"
2740
- msgstr "Últimas 24 horas"
2741
 
2742
- #: wpf-includes/wpf-phrases.php:142
2743
- msgid "Joined"
2744
- msgstr "Data de registro"
 
2745
 
2746
- #: wpf-includes/wpf-phrases.php:139
2747
- msgid "Insert member name or email"
2748
- msgstr "Insira o nome ou e-mail do membro"
2749
 
2750
- #: wpf-includes/wpf-phrases.php:135
2751
- msgid "ICQ"
2752
- msgstr "ICQ"
2753
 
2754
- #: wpf-includes/wpf-phrases.php:131
2755
- msgid "Group"
2756
- msgstr "Grupo"
2757
 
2758
- #: wpf-includes/wpf-phrases.php:122
2759
- msgid "Forum is empty"
2760
- msgstr "Fórum vazio"
2761
 
2762
- #: wpf-includes/wpf-phrases.php:119
2763
- msgid "Forum Statistics"
2764
- msgstr "Estatísticas do Fórum"
 
2765
 
2766
- #: wpf-includes/wpf-phrases.php:115
2767
- msgid "Forum RSS Feed"
2768
- msgstr "Feed RSS do Fórum"
2769
 
2770
- #: wpf-includes/wpf-phrases.php:114
2771
- msgid "Forum Profile"
2772
- msgstr "Forum Profile"
 
2773
 
2774
- #: wpf-includes/wpf-phrases.php:111
2775
- msgid "Forum Members"
2776
- msgstr "Membros do Fórum"
2777
 
2778
- #: wpf-includes/wpf-phrases.php:109
2779
- msgid "Forum Home"
2780
- msgstr "Página incial do Fórum"
2781
 
2782
- #: wpf-includes/wpf-phrases.php:104
2783
- msgid "Forum - Registration"
2784
- msgstr "Fórum - Cadastro"
2785
 
2786
- #: wpf-includes/wpf-phrases.php:103
2787
- msgid "Forum - Page Not Found"
2788
- msgstr "Fórum - Página não encontrada"
2789
 
2790
- #: wpf-includes/wpf-phrases.php:102
2791
- msgid "Forum - Login"
2792
- msgstr "Fórum - Entrar"
2793
 
2794
- #: wpf-includes/wpf-phrases.php:101 wpforo.php:173
2795
- msgid "Forum"
2796
- msgstr "Fórum"
2797
 
2798
- #: wpf-includes/wpf-phrases.php:100
2799
- msgid "First post and replies"
2800
- msgstr "Primeiro post e respostas"
2801
 
2802
- #: wpf-includes/wpf-phrases.php:99
2803
- msgid "Find Topics Started by User"
2804
- msgstr "Localizar tópicos feitos pelo usuário"
2805
 
2806
- #: wpf-includes/wpf-phrases.php:98
2807
- msgid "Find Posts by User"
2808
- msgstr "Encontrar posts por usuário"
2809
 
2810
- #: wpf-includes/wpf-phrases.php:97
2811
- msgid "File upload stopped by extension"
2812
- msgstr "Upload de arquivo interrompido por conta da extensão"
2813
 
2814
- #: wpf-includes/wpf-phrases.php:95
2815
- msgid "Failed to write file to disk"
2816
- msgstr "Falha ao gravar arquivo em disco"
2817
 
2818
- #: wpf-includes/wpf-phrases.php:94
2819
- msgid "Facebook"
2820
- msgstr "Facebook"
2821
 
2822
- #: wpf-includes/wpf-phrases.php:93
2823
- msgid "Extended Layout - Number of intro topics"
2824
- msgstr "Layout Estendido - Número de tópicos de introdução"
2825
 
2826
- #: wpf-includes/wpf-phrases.php:92
2827
- msgid "Extended Layout - Number of intro posts"
2828
- msgstr "Layout Estendido - Número de posts de introdução"
2829
 
2830
- #: wpf-includes/wpf-phrases.php:91
2831
- msgid "Extended Layout - Intro topics"
2832
- msgstr "Layout Estendido - Tópicos de introdução"
2833
 
2834
- #: wpf-includes/wpf-phrases.php:90
2835
- msgid "Extended Layout - Intro posts"
2836
- msgstr "Layout Estendido - Posts de introdução"
2837
 
2838
- #: wpf-includes/wpf-phrases.php:89 wpf-themes/classic/functions.php:42
2839
- #: wpf-themes/classic/functions.php:72 wpf-themes/classic/functions.php:110
2840
- msgid "Expanded"
2841
- msgstr "Expandido"
2842
 
2843
- #: wpf-includes/wpf-phrases.php:88
2844
- msgid "Enter title here"
2845
- msgstr "Insira o título aqui"
2846
 
2847
- #: wpf-includes/wpf-phrases.php:75
2848
- msgid "Email"
2849
- msgstr "E-mail"
2850
 
2851
- #: wpf-includes/wpf-phrases.php:74
2852
- msgid "Edited: "
2853
- msgstr "Editado: "
2854
 
2855
- #: wpf-includes/wpf-phrases.php:71
2856
- msgid "Display Name"
2857
- msgstr "Nome de exibição"
2858
 
2859
- #: wpf-includes/wpf-phrases.php:68
2860
- msgid "Descending order"
2861
- msgstr "Ordem Decrescente"
2862
 
2863
- #: wpf-includes/wpf-phrases.php:65
2864
- msgid "Date"
2865
- msgstr "Data"
2866
 
2867
- #: wpf-includes/wpf-phrases.php:59
2868
- msgid "Confirm my subscription"
2869
- msgstr "Confirmar minha inscrição"
2870
 
2871
- #: wpf-includes/wpf-phrases.php:58
2872
- msgid "Comments"
2873
- msgstr "Comentários"
2874
 
2875
- #: wpf-includes/wpf-phrases.php:55 wpf-themes/classic/functions.php:43
2876
- #: wpf-themes/classic/functions.php:73 wpf-themes/classic/functions.php:111
2877
- msgid "Collapsed"
2878
- msgstr "Recolhido"
2879
 
2880
- #: wpf-includes/wpf-phrases.php:54
2881
- msgid "Choose target forum"
2882
- msgstr "Escolha o fórum de destino"
2883
 
2884
- #: wpf-includes/wpf-phrases.php:53
2885
- msgid "Change password"
2886
- msgstr "Alterar senha"
2887
 
2888
- #: wpf-includes/wpf-phrases.php:47
2889
- msgid "Avatar"
2890
- msgstr "Avatar"
2891
 
2892
- #: wpf-includes/wpf-phrases.php:43
2893
- msgid "Attach file:"
2894
- msgstr "Anexar arquivo:"
2895
 
2896
- #: wpf-includes/wpf-phrases.php:42
2897
- msgid "Ascending order"
2898
- msgstr "Ordem crescente"
2899
 
2900
- #: wpf-includes/wpf-phrases.php:35
2901
- msgid "Any Date"
2902
- msgstr "Qualquer Data"
2903
 
2904
- #: wpf-includes/wpf-phrases.php:34
2905
- msgid "Answers"
2906
- msgstr "Respostas"
2907
 
2908
- #: wpf-includes/wpf-phrases.php:33
2909
- msgid "Answer to"
2910
- msgstr "Responder para"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2911
 
2912
- #: wpf-includes/wpf-phrases.php:32
2913
- msgid "Answer"
2914
- msgstr "Resposta"
2915
 
2916
- #: wpf-includes/wpf-phrases.php:24
2917
- msgid "Add topic"
2918
- msgstr "Adicionar tópico"
2919
 
2920
- #: wpf-includes/wpf-phrases.php:23
2921
- msgid "Add a comment"
2922
- msgstr "Adicionar um comentário"
2923
 
2924
- #: wpf-includes/wpf-phrases.php:19
2925
- msgid "Activity"
2926
- msgstr "Atividade"
2927
 
2928
- #: wpf-includes/wpf-phrases.php:16
2929
- msgid "Account"
2930
- msgstr "Conta"
2931
 
2932
- #: wpf-includes/wpf-phrases.php:13
2933
- msgid "About Me"
2934
- msgstr "Sobre mim"
2935
 
2936
- #: wpf-includes/wpf-phrases.php:12
2937
- msgid "AOL IM"
2938
- msgstr "AOL IM"
2939
 
2940
- #: wpf-includes/wpf-phrases.php:11
2941
- msgid "%s, %s, %s and %d people liked"
2942
- msgstr "%s, %s, %s e %d curtiram"
2943
 
2944
- #: wpf-includes/wpf-phrases.php:10
2945
- msgid "%s, %s and %s liked"
2946
- msgstr "%s, %s e %s curtiram"
2947
 
2948
- #: wpf-includes/wpf-phrases.php:9
2949
- msgid "%s liked"
2950
- msgstr "%s curtiu"
2951
 
2952
- #: wpf-includes/wpf-phrases.php:8
2953
- msgid "%s and %s liked"
2954
- msgstr "\"%s e %s curtiram"
2955
 
2956
- #: wpf-includes/wpf-hooks.php:1162 wpf-includes/wpf-phrases.php:412
2957
- msgid "wpForo User Timezone"
2958
- msgstr "Fuso horário do usuário wpForo"
2959
 
2960
- #: wpf-includes/wpf-hooks.php:1154 wpf-includes/wpf-phrases.php:413
2961
- msgid "wpForo Usergroup"
2962
- msgstr "Grupo de usuário wpForo"
2963
 
2964
- #: wpf-includes/wpf-hooks.php:1077 wpf-includes/wpf-phrases.php:188
2965
- msgid "Move"
2966
- msgstr "Mover"
2967
 
2968
- #: wpf-admin/admin.php:27 wpf-includes/wpf-hooks.php:22
2969
- #: wpf-includes/wpf-hooks.php:1735
2970
- msgid "Settings"
2971
- msgstr "Configurações"
2972
 
2973
- #: wpf-includes/wpf-hooks.php:20
2974
- msgid "Uninstall"
2975
- msgstr "Desinstalar"
2976
 
2977
- #: wpf-includes/wpf-hooks.php:20 wpf-includes/wpf-phrases.php:136
2978
- msgid "IMPORTANT! Uninstall is not a simple deactivation action. This action will permanently remove all forum data (forums, topics, replies, attachments...) from database. Please backup database before this action, you may need this forum data in future. If you are sure that you want to delete all forum data please confirm. If not, just cancel it, then you can deactivate this plugin, that will not remove forum data."
2979
- msgstr "Importante! Desinstalar não é uma simples ação de desativação. Esta ação vai remover permanentemente todos os dados do fórum (fóruns, tópicos, respostas, anexos...) do banco de dados. Por favor, faça um backup do banco de dados antes de prosseguir, você pode precisar de dados deste fórum no futuro. Se você tiver certeza de que deseja excluir todos os dados do fórum, por favor confirme. Se não, basta cancelar, então você pode desativar este plugin, que não vai apagar os dados do fórum."
2980
 
2981
- #: wpf-includes/functions.php:1124
2982
- msgid "Could not write file %s"
2983
- msgstr "Não foi possível gravar o arquivo %s"
2984
 
2985
- #: wpf-includes/functions.php:774 wpf-includes/wpf-phrases.php:141
2986
- msgid "Items"
2987
- msgstr "Itens"
2988
 
2989
- #: wpf-includes/functions.php:682 wpf-includes/wpf-phrases.php:201
2990
- msgid "No items found"
2991
- msgstr "Nenhum item encontrado"
2992
 
2993
- #: wpf-includes/functions.php:617 wpf-includes/functions.php:627
2994
- #: wpf-includes/wpf-phrases.php:41
2995
- msgid "Are you sure you whant to DELETE this item?"
2996
- msgstr "Tem certeza de que deseja EXCLUIR este item?"
2997
 
2998
- #: wpf-includes/functions.php:617 wpf-includes/functions.php:627
2999
- #: wpf-includes/wpf-phrases.php:67
3000
- msgid "Delete this item"
3001
- msgstr "Excluir este item"
3002
 
3003
- #: wpf-includes/functions.php:525 wpf-includes/functions.php:541
3004
- #: wpf-includes/wpf-phrases.php:285
3005
- msgid "Select All"
3006
- msgstr "Selecionar Todos"
3007
 
3008
- #: wpf-includes/functions.php:492 wpf-includes/functions.php:698
3009
- #: wpf-includes/wpf-phrases.php:386
3010
- msgid "item"
3011
- msgstr "item"
3012
 
3013
- #: wpf-includes/functions.php:402 wpf-includes/wpf-phrases.php:301
3014
- msgid "Show all forums"
3015
- msgstr "Mostrar todos fóruns"
3016
 
3017
- #: wpf-includes/functions.php:393 wpf-includes/functions.php:775
3018
- #: wpf-includes/wpf-phrases.php:36
3019
- msgid "Apply"
3020
- msgstr "Aplicar"
3021
 
3022
- #: wpf-includes/functions.php:388 wpf-includes/functions.php:690
3023
- #: wpf-includes/wpf-phrases.php:50
3024
- msgid "Bulk Actions"
3025
- msgstr "Ações em massa"
3026
 
3027
- #: wpf-includes/functions-template.php:452
3028
- #: wpf-includes/functions-template.php:535 wpf-includes/wpf-phrases.php:72
3029
- msgid "Display with Avatars"
3030
- msgstr "Mostrar com Avatares"
3031
 
3032
- #: wpf-includes/functions-template.php:371 wpf-includes/wpf-phrases.php:70
3033
- msgid "Display Avatars"
3034
- msgstr "Mostrar Avatares"
3035
 
3036
- #: wpf-includes/functions-template.php:366
3037
- #: wpf-includes/functions-template.php:448
3038
- #: wpf-includes/functions-template.php:531 wpf-includes/wpf-phrases.php:211
3039
- msgid "Number of Items"
3040
- msgstr "Número de itens"
3041
 
3042
- #: wpf-includes/functions-template.php:195
3043
- #: wpf-includes/functions-template.php:301
3044
- #: wpf-includes/functions-template.php:363
3045
- #: wpf-includes/functions-template.php:445
3046
- #: wpf-includes/functions-template.php:528
3047
- #: wpf-includes/functions-template.php:574 wpf-includes/wpf-phrases.php:335
3048
- msgid "Title"
3049
- msgstr "Ranking"
3050
 
3051
- #: wpf-includes/functions-template.php:157 wpf-includes/wpf-phrases.php:192
3052
- msgid "NOTE: If you're going to add widgets in this sidebar, please use 'Full Width' template for wpForo index page to avoid sidebar duplication."
3053
- msgstr "Nota: se você estiver adicionando widgets nesta barra lateral, por favor use um layout 'Full Width' para a página de índice do wpForo para evitar a duplicação da barra lateral."
3054
 
3055
- #: wpf-includes/functions-template.php:156 wpf-includes/wpf-phrases.php:411
3056
- msgid "wpForo Sidebar"
3057
- msgstr "Barra lateral do wpForo"
3058
 
3059
- #: wpf-includes/functions-template.php:7
3060
- msgid "wpForo Menu"
3061
- msgstr "Menu do wpForo"
3062
 
3063
- #: wpf-includes/class-template.php:1170 wpf-includes/wpf-phrases.php:328
3064
- msgid "Theme file not readable"
3065
- msgstr "Arquivo de tema ilegível"
3066
 
3067
- #: wpf-includes/class-phrases.php:180 wpf-includes/wpf-phrases.php:6
3068
- msgid " Discussion Board"
3069
- msgstr " Fórum de Discussão"
3070
 
3071
- #: wpf-includes/class-phrases.php:179 wpf-includes/wpf-phrases.php:7
3072
- msgid " Forum"
3073
- msgstr " Fórum"
3074
 
3075
- #: wpf-includes/class-permissions.php:149 wpf-includes/wpf-phrases.php:422
3076
- msgid "%s access successfully edited"
3077
- msgstr "%s acesso editado com sucesso"
3078
 
3079
- #: wpf-includes/class-permissions.php:125 wpf-includes/wpf-phrases.php:421
3080
- msgid "%s access successfully added"
3081
- msgstr "%s acesso adicionado com sucesso"
3082
 
3083
- #: wpf-includes/class-notices.php:118 wpf-includes/wpf-phrases.php:69
3084
- msgid "Dismiss this notice."
3085
- msgstr "Descartar este aviso."
3086
 
3087
- #: wpf-admin/usergroup.php:204
3088
- msgid "Users will be join this usergroup"
3089
- msgstr "Os usuários vão se juntar a este Grupo"
3090
 
3091
- #: wpf-admin/usergroup.php:192
3092
- msgid "Delete Chosen Usergroup And Join Users To Other Usergroup"
3093
- msgstr "Excluir o grupo selecionado e juntar usuários a outros grupos de usuário"
3094
 
3095
- #: wpf-admin/usergroup.php:182
3096
- msgid "Delete Chosen Usergroup And Users"
3097
- msgstr "Excluir usuários e Grupos selecionados"
3098
 
3099
- #: wpf-admin/usergroup.php:161
3100
- msgid "save"
3101
- msgstr "salvar"
3102
 
3103
- #: wpf-admin/usergroup.php:161 wpf-includes/wpf-phrases.php:375
3104
- msgid "add"
3105
- msgstr "adicionar"
3106
 
3107
- #: wpf-admin/usergroup.php:87 wpf-includes/wpf-phrases.php:133
3108
- msgid "Guest"
3109
- msgstr "Convidado"
3110
 
3111
- #: wpf-admin/usergroup.php:50
3112
- msgid "Count of users in this usergroup"
3113
- msgstr "Quantidade de usuários neste grupo de usuários"
3114
 
3115
- #: wpf-admin/usergroup.php:38
3116
- msgid "View users list in this usergroup"
3117
- msgstr "Ver lista de usuários deste grupo de usuários"
 
 
 
 
3118
 
3119
- #: wpf-admin/usergroup.php:36
3120
- msgid "Delete this usergroup"
3121
- msgstr "Excluir este grupo de usuários"
3122
 
3123
- #: wpf-admin/usergroup.php:35 wpf-includes/wpf-phrases.php:73
3124
- msgid "Edit"
3125
- msgstr "Editar"
3126
 
3127
- #: wpf-admin/usergroup.php:35
3128
- msgid "Edit this usergroup"
3129
- msgstr "Editar este grupo de usuários"
1
+ # Copyright (C) 2016 gVectors Team
2
+ # This file is distributed under the same license as the wpForo package.
3
  msgid ""
4
  msgstr ""
5
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
6
+ "Project-Id-Version: Forum - wpForo\n"
7
+ "POT-Creation-Date: 2018-03-08 23:33-0300\n"
8
+ "PO-Revision-Date: 2018-03-09 13:12-0300\n"
9
+ "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
 
13
  "X-Generator: Poedit 2.0.2\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-WPHeader: wpforo.php\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
18
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
19
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
20
  "Last-Translator: \n"
21
+ "Language: pt_BR\n"
22
+ "X-Poedit-SearchPath-0: .\n"
23
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
24
 
25
+ #: wpf-admin/addons.php:14 wpf-admin/addons.php:22
26
+ msgid "wpForo Addons"
27
+ msgstr "Complementos wpForo"
28
 
29
+ #: wpf-admin/addons.php:28
30
+ msgid ""
31
+ "All wpForo addons are being developed by wpForo developers at gVectors Team. "
32
+ "Addon prices also include a small donation to the hard work wpForo "
33
+ "developers do for free. When you buy an addon, you also donate the free "
34
+ "wpForo development and support. Addons are the only incoming source for "
35
+ "wpForo developers. wpForo is a premium forum plugin which will always be "
36
+ "available for free. There will never be paid and pro versions of this forum "
37
+ "board. We have another dozens of awesome features in our to-do list which "
38
+ "will also be added for free in future releases. So the free wpForo "
39
+ "development always stays on the first priority and wpForo is being extended "
40
+ "with new free functions and features even faster than before."
41
+ msgstr ""
42
+ "Todos os complementos wpForo estão sendo desenvolvidos pelos desenvolvedores "
43
+ "do wpForo na equipe gVectors. Os preços do Complemento também incluem uma "
44
+ "pequena doação para o trabalho duro que os desenvolvedores do wpForo fazem e "
45
+ "graça. Quando você compra um complemento, você também colabora com o "
46
+ "desenvolvimento e o suporte gratuito do wpForo. Os complementos são a única "
47
+ "fonte de renda para desenvolvedores do wpForo. wpForo é um plugin de fórum "
48
+ "premium que sempre estará disponível gratuitamente. Nunca haverá versões "
49
+ "pagas e pro deste fórum. Temos outras dezenas de recursos incríveis em nossa "
50
+ "lista de tarefas que também serão adicionadas gratuitamente em versões "
51
+ "futuras. Assim, o desenvolvimento gratuito do wpForo sempre permanecerá na "
52
+ "primeira prioridade e o wpForo está sendo estendido com novas funções e "
53
+ "recursos gratuitos ainda mais rápidos do que antes."
54
+
55
+ #: wpf-admin/addons.php:31 wpf-admin/dashboard.php:37
56
+ msgid "Thank you!<br> Sincerely yours,<br> gVectors Team"
57
+ msgstr "Thank you!<br> Atenciosamente,<br> gVectors Team"
58
 
59
+ #: wpf-admin/addons.php:51
60
+ msgid "Installed"
61
+ msgstr "Instalado"
62
 
63
+ #: wpf-admin/addons.php:55
64
+ msgid "Version"
65
+ msgstr "Versão"
66
 
67
+ #: wpf-admin/addons.php:56
68
+ msgid "at least"
69
+ msgstr "finalmente"
70
 
71
+ #: wpf-admin/addons.php:58
72
+ msgid "Details | Buy"
73
+ msgstr "Detalhes | Comprar"
74
 
75
+ #: wpf-admin/addons.php:64
76
+ msgid "More information about"
77
+ msgstr "Mais informação sobre"
78
 
79
+ #: wpf-admin/admin.php:24 wpf-admin/admin.php:25
80
+ #: wpf-includes/wpf-phrases.php:603
81
+ msgid "Dashboard"
82
+ msgstr "Painel"
83
 
84
+ #: wpf-admin/admin.php:24 wpf-admin/admin.php:26 wpf-admin/dashboard.php:136
85
+ #: wpf-admin/options-tabs/api.php:83 wpf-admin/options-tabs/styles.php:16
86
+ #: wpf-admin/options.php:15 wpf-includes/wpf-hooks.php:1776
87
+ #: wpf-includes/wpf-phrases.php:123
88
+ msgid "Forums"
89
+ msgstr "Fóruns"
90
 
91
+ #: wpf-admin/admin.php:27 wpf-includes/wpf-hooks.php:22
92
+ #: wpf-includes/wpf-hooks.php:1792
93
+ msgid "Settings"
94
+ msgstr "Configurações"
95
 
96
+ #: wpf-admin/admin.php:28 wpf-includes/wpf-hooks.php:1801
97
+ #: wpf-includes/wpf-phrases.php:729
98
+ msgid "Tools"
99
+ msgstr "Ferramentas"
100
 
101
+ #: wpf-admin/admin.php:29 wpf-includes/wpf-hooks.php:1810
102
+ msgid "Moderation"
103
+ msgstr "Moderação"
104
 
105
+ #: wpf-admin/admin.php:30 wpf-admin/dashboard.php:148 wpf-admin/member.php:10
106
+ #: wpf-admin/options.php:18 wpf-includes/wpf-hooks.php:1819
107
+ #: wpf-includes/wpf-phrases.php:178
108
+ msgid "Members"
109
+ msgstr "Membros"
110
 
111
+ #: wpf-admin/admin.php:31 wpf-admin/usergroup.php:8
112
+ #: wpf-includes/wpf-hooks.php:1828
113
+ msgid "Usergroups"
114
+ msgstr "Grupo de Usuários"
115
 
116
+ #: wpf-admin/admin.php:32 wpf-includes/wpf-hooks.php:1844
117
+ #: wpf-includes/wpf-phrases.php:604
118
+ msgid "Phrases"
119
+ msgstr "Traduções"
120
 
121
+ #: wpf-admin/admin.php:33 wpf-includes/wpf-hooks.php:1860
122
+ #: wpf-includes/wpf-phrases.php:605
123
+ msgid "Themes"
124
+ msgstr "Temas"
125
 
126
+ #: wpf-admin/admin.php:34 wpf-admin/options.php:24
127
+ #: wpf-includes/wpf-hooks.php:1869 wpf-includes/wpf-phrases.php:25
128
+ msgid "Addons"
129
+ msgstr "Complementos"
130
 
131
+ #: wpf-admin/dashboard.php:7 wpf-includes/wpf-phrases.php:408
132
+ msgid "wpForo Dashboard"
133
+ msgstr "Painel do wpForo"
134
 
135
+ #: wpf-admin/dashboard.php:23 wpf-includes/wpf-phrases.php:361
136
+ msgid "Welcome Message"
137
+ msgstr "Mensagem de Boas Vindas"
138
 
139
+ #: wpf-admin/dashboard.php:27
140
+ msgid "Welcome to wpForo"
141
+ msgstr "Bem vindo ao wpForo "
142
 
143
+ #: wpf-admin/dashboard.php:29
144
+ msgid ""
145
+ "Thank you for using wpForo! wpForo is a professional bulletin board for "
146
+ "WorPress, and the only forum software which comes with Multi-layout template "
147
+ "system.\n"
148
+ " The \"Extended\", \"Simplified\" and "
149
+ "\"Question &amp Answer\" layouts fit almost all type of discussions needs. "
150
+ "You can use wpForo for small and extremely large communities. \n"
151
+ " <br />If you found some issue or bug "
152
+ "please open a support topic in plugin page or in our support forum at "
153
+ "gVectors.com. If you liked wpForo please leave some good review for this "
154
+ "plugin. We really need your good reviews. \n"
155
+ " If you didn't like wpForo please leave a "
156
+ "list of issues and requirements you'd like us to fix and add in near future. "
157
+ "We're here to help you and improve wpForo as much as possible."
158
+ msgstr ""
159
+ "Obrigado por usar o wpForo! O wpForo é um sistema de fórum profissional para "
160
+ "WorPress e o único software de fórum que vem com um sistema multi-layouts.\n"
161
+ " Os layouts \"Estendidos\", "
162
+ "\"Simplificados\" e \"Perguntas & Respostas\" correspondem a quase todos os "
163
+ "tipos de necessidades de discussões. Você pode usar o wpForo para "
164
+ "comunidades pequenas e extremamente grandes. \n"
165
+ " <br />Se você encontrou algum problema "
166
+ "ou BUG, abra um tópico de suporte na página do plugin ou no nosso fórum de "
167
+ "suporte no gVectors.com. Se você gostou do wpForo, deixe uma boa avaliação "
168
+ "para este plugin. Nós realmente precisamos de seus excelentes comentários. \n"
169
+ " Se você não gostou do wpForo, deixe uma "
170
+ "lista de problemas e requisitos que você gostaria que corrigíssemos e "
171
+ "adicionássemos em um futuro próximo. Estamos aqui para ajudá-lo e melhorar o "
172
+ "wpForo o máximo possível."
173
+
174
+ #: wpf-admin/dashboard.php:57 wpf-includes/wpf-phrases.php:130
175
+ msgid "General Information"
176
+ msgstr "Informações Gerais"
177
 
178
+ #: wpf-admin/dashboard.php:61 wpf-includes/wpf-phrases.php:368
179
+ msgid "You are currently running"
180
+ msgstr "Você está atualmente executando o"
181
 
182
+ #: wpf-admin/dashboard.php:62 wpf-includes/wpf-phrases.php:18
183
+ msgid "Active Theme"
184
+ msgstr "Tema Ativo"
185
 
186
+ #: wpf-admin/dashboard.php:63 wpf-includes/wpf-phrases.php:413
187
+ msgid "wpForo Website"
188
+ msgstr "Site do wpForo"
189
 
190
+ #: wpf-admin/dashboard.php:64 wpf-includes/wpf-phrases.php:319
191
+ msgid "Support Forum"
192
+ msgstr "Fórum de Suporte"
193
 
194
+ #: wpf-admin/dashboard.php:75 wpf-includes/wpf-phrases.php:289
195
+ msgid "Server Information"
196
+ msgstr "Informações do Servidor"
197
 
198
+ #: wpf-admin/dashboard.php:109 wpf-includes/wpf-phrases.php:46
199
+ msgid "Available"
200
+ msgstr "Disponível"
201
 
202
+ #: wpf-admin/dashboard.php:109 wpf-includes/wpf-phrases.php:208
203
+ msgid "Not available"
204
+ msgstr "Não disponível"
205
 
206
+ #: wpf-admin/dashboard.php:130 wpf-includes/wpf-phrases.php:49
207
+ msgid "Board Statistic"
208
+ msgstr "Estatísticas do Fórum"
209
 
210
+ #: wpf-admin/dashboard.php:140 wpf-admin/options-tabs/posts.php:17
211
+ #: wpf-admin/options-tabs/styles.php:22 wpf-includes/class-forums.php:665
212
+ #: wpf-includes/wpf-phrases.php:338
213
+ msgid "Topics"
214
+ msgstr "Tópicos"
215
 
216
+ #: wpf-admin/dashboard.php:144 wpf-admin/options-tabs/posts.php:18
217
+ #: wpf-includes/class-forums.php:665 wpf-includes/wpf-phrases.php:232
218
+ msgid "Posts"
219
+ msgstr "Posts"
220
 
221
+ #: wpf-admin/dashboard.php:152 wpf-includes/wpf-phrases.php:179
222
+ msgid "Members Online"
223
+ msgstr "Membros Online"
224
 
225
+ #: wpf-admin/dashboard.php:162
226
+ msgid "Avatars Size"
227
+ msgstr "Tamanho do Avatar"
228
 
229
+ #: wpf-admin/dashboard.php:166
230
+ msgid "Default Attachments Size"
231
+ msgstr "Tamanho padrão dos anexos"
232
 
233
+ #: wpf-admin/dashboard.php:172
234
+ msgid "Advanced Attachments"
235
+ msgstr "Anexos Avançados"
236
 
237
+ #: wpf-admin/dashboard.php:173
238
+ msgid "file(s)"
239
+ msgstr "arquivo(s)"
240
 
241
+ #: wpf-admin/dashboard.php:176
242
+ msgid "Advanced Attachments Size"
243
+ msgstr "Tamanho dos Anexos Avançados"
244
 
245
+ #: wpf-admin/dashboard.php:181
246
+ msgid "Total Size"
247
+ msgstr "Tamanho Total"
248
 
249
+ #: wpf-admin/dashboard.php:189 wpf-includes/wpf-phrases.php:615
250
+ msgid "Forum Maintenance"
251
+ msgstr "Manutenção do Fórum"
252
 
253
+ #: wpf-admin/dashboard.php:191
254
+ msgid ""
255
+ "This process may take a few seconds or dozens of minutes, please be patient "
256
+ "and don't close this page. If you got 500 Server Error please don't worry, "
257
+ "the data updating process is still working in MySQL server."
258
+ msgstr ""
259
+ "Este processo pode demorar alguns segundos ou vários minutos, seja paciente "
260
+ "e não feche esta página. Se você lidar com o erro 500 do servidor, não se "
261
+ "preocupe, o processo de atualização de dados ainda está rodando em segundo "
262
+ "plano no servidor MySQL."
263
 
264
+ #: wpf-admin/dashboard.php:200
265
+ msgid "Delete All Caches"
266
+ msgstr "Deletar todos Caches"
267
 
268
+ #: wpf-admin/dashboard.php:201 wpf-includes/wpf-phrases.php:617
269
+ msgid "Update Forums Statistic"
270
+ msgstr "Atualizar estatísticas dos fóruns"
271
 
272
+ #: wpf-admin/dashboard.php:202 wpf-includes/wpf-phrases.php:618
273
+ msgid "Update Users Statistic"
274
+ msgstr "Atualizar estatísticas de usuários"
275
 
276
+ #: wpf-admin/dashboard.php:203 wpf-includes/wpf-phrases.php:619
277
+ msgid "Delete Phrase Cache"
278
+ msgstr "Eliminar Cache de Traduções"
279
 
280
+ #: wpf-admin/dashboard.php:204 wpf-includes/wpf-phrases.php:640
281
+ msgid "Delete User Cache"
282
+ msgstr "Apagar Cache do Usuário"
283
 
284
+ #: wpf-admin/forum.php:13 wpf-includes/functions.php:792
285
+ #: wpf-includes/wpf-phrases.php:301
286
+ msgid "Show on screen"
287
+ msgstr "Mostrar na tela"
288
 
289
+ #: wpf-admin/forum.php:15 wpf-admin/forum.php:129
290
+ #: wpf-includes/wpf-phrases.php:113
291
+ msgid "Forum Options"
292
+ msgstr "Opções do Fórum"
293
 
294
+ #: wpf-admin/forum.php:16 wpf-includes/wpf-phrases.php:223
295
+ msgid "Permissions"
296
+ msgstr "Permissões"
297
 
298
+ #: wpf-admin/forum.php:17 wpf-includes/wpf-phrases.php:306
299
+ msgid "Slug"
300
+ msgstr "Link Personalizável"
301
 
302
+ #: wpf-admin/forum.php:18 wpf-includes/wpf-phrases.php:112
303
+ msgid "Forum Meta"
304
+ msgstr "Forum Meta"
305
 
306
+ #: wpf-admin/forum.php:21 wpf-includes/wpf-phrases.php:273
307
+ msgid "Screen Layout"
308
+ msgstr "Layout da tela"
 
 
309
 
310
+ #: wpf-admin/forum.php:22 wpf-includes/wpf-phrases.php:209
311
+ msgid "Number of Columns"
312
+ msgstr "Quantidade de colunas"
 
 
313
 
314
+ #: wpf-admin/forum.php:32 wpf-includes/functions.php:806
315
+ #: wpf-includes/wpf-phrases.php:274
316
+ msgid "Screen Options"
317
+ msgstr "Opções de Tela"
318
 
319
+ #: wpf-admin/forum.php:43 wpf-includes/wpf-phrases.php:51
320
+ msgid "Categories and Forums"
321
+ msgstr "Categorias e Fóruns"
322
 
323
+ #: wpf-admin/forum.php:44 wpf-admin/options-tabs/general.php:75
324
+ #: wpf-admin/themes.php:10 wpf-admin/usergroup.php:8
325
+ #: wpf-includes/wpf-phrases.php:20
326
+ msgid "Add New"
327
+ msgstr "Adicionar Novo"
328
 
329
+ #: wpf-admin/forum.php:55
330
+ msgid "Important Tips"
331
+ msgstr "Dicas Importantes"
332
 
333
+ #: wpf-admin/forum.php:56 wpf-includes/wpf-phrases.php:225
334
+ msgid "Please drag and drop forum panels to set parent-child hierarchy."
335
+ msgstr ""
336
+ "Arraste e solte os painéis do fórum para configurar a hierarquia principal e "
337
+ "secundárias."
338
 
339
+ #: wpf-admin/forum.php:57
340
+ msgid ""
341
+ "If a category (blue panels) does not have forums (grey panels) it will not "
342
+ "be displayed on front-end. Each category should contain at least one forum."
343
+ msgstr ""
344
+ "Se uma categoria (painéis azuis) não tiver fóruns (painéis cinza), ela não "
345
+ "será exibida no início. Cada categoria deve conter pelo menos um fórum."
346
 
347
+ #: wpf-admin/forum.php:58
348
+ msgid ""
349
+ "Forums can be displayed with different layouts (Extended, Simplified, Q&A), "
350
+ "just edit the top (blue panels) category and set the layout you want. Child "
351
+ "forums' layout depends on the top category (blue panels) layout. They cannot "
352
+ "have a different layout."
353
+ msgstr ""
354
+ "Os fóruns podem ser exibidos com diferentes layouts (Estendido, "
355
+ "Simplificado, Q&amp;A), basta editar a categoria principal (painéis azuis) e "
356
+ "definir o layout desejado. O layout dos fóruns complementares dependem do "
357
+ "layout da categoria principal (painéis azuis). Eles não podem ter um layout "
358
+ "diferente."
359
 
360
+ #: wpf-admin/forum.php:74 wpf-includes/wpf-phrases.php:272
361
+ msgid "Save forums order and hierarchy"
362
+ msgstr "Salvar ordem e hierarquia do Fórum"
363
 
364
+ #: wpf-admin/forum.php:111 wpf-includes/wpf-phrases.php:87
365
+ msgid "Enter forum title here"
366
+ msgstr "Digite o título do fórum aqui"
367
 
368
+ #: wpf-admin/forum.php:116 wpf-includes/wpf-phrases.php:86
369
+ msgid "Enter description here . . ."
370
+ msgstr "Digite a descrição aqui . . ."
371
 
372
+ #: wpf-admin/forum.php:117 wpf-includes/wpf-phrases.php:329
373
+ msgid ""
374
+ "This is a forum description. This content will be displayed under forum "
375
+ "title on the forum list."
376
+ msgstr ""
377
+ "Esta é a descrição do fórum. Este conteúdo será exibido sob o título do "
378
+ "fórum na lista do fórum."
379
 
380
+ #: wpf-admin/forum.php:132 wpf-includes/wpf-phrases.php:221
381
+ msgid "Parent Forum"
382
+ msgstr "Fórum pai"
383
 
384
+ #: wpf-admin/forum.php:135 wpf-includes/wpf-phrases.php:204
385
+ msgid "No parent"
386
+ msgstr "Nenhum ascendente"
387
 
388
+ #: wpf-admin/forum.php:140 wpf-includes/wpf-phrases.php:346
389
+ msgid "Use as Category"
390
+ msgstr "Usar como categoria"
391
 
392
+ #: wpf-admin/forum.php:142 wpf-includes/wpf-phrases.php:52
393
+ msgid "Category Layout"
394
+ msgstr "Layout de categoria"
395
 
396
+ #: wpf-admin/forum.php:150 wpf-includes/wpf-phrases.php:202
397
+ msgid "No layout found."
398
+ msgstr "Nenhum layout encontrado."
399
 
400
+ #: wpf-admin/forum.php:159 wpf-admin/forum.php:166
401
+ #: wpf-includes/wpf-phrases.php:234
402
+ msgid "Publish"
403
+ msgstr "Publicar"
404
 
405
+ #: wpf-admin/forum.php:163 wpf-includes/wpf-phrases.php:37
406
+ msgid "Are you sure you want to delete this forum?"
407
+ msgstr "Tem certeza de que deseja excluir este fórum?"
408
 
409
+ #: wpf-admin/forum.php:163 wpf-admin/themes.php:73
410
+ #: wpf-admin/tools-tabs/antispam.php:258 wpf-admin/usergroup.php:36
411
+ #: wpf-admin/usergroup.php:212 wpf-includes/wpf-hooks.php:1112
412
+ #: wpf-includes/wpf-phrases.php:66
413
+ msgid "Delete"
414
+ msgstr "Excluir"
415
 
416
+ #: wpf-admin/forum.php:164 wpf-admin/usergroup.php:38
417
+ #: wpf-includes/class-forums.php:671 wpf-includes/wpf-phrases.php:355
418
+ msgid "View"
419
+ msgstr "Ver"
420
 
421
+ #: wpf-admin/forum.php:191 wpf-includes/wpf-phrases.php:118
422
+ msgid "Forum Slug"
423
+ msgstr "Link do Fórum"
424
 
425
+ #: wpf-admin/forum.php:194 wpf-includes/wpf-phrases.php:322
426
+ msgid ""
427
+ "The \"slug\" is the URL-friendly version of the name. It is usually all "
428
+ "lowercase and contains only letters, numbers, and hyphens."
429
+ msgstr ""
430
+ "O \"link amigável\" é a versão de fácil leitura. É geralmente todo minúscula "
431
+ "e contém apenas letras, números e hifens."
432
 
433
+ #: wpf-admin/forum.php:200
434
+ msgid "Forum Icon"
435
+ msgstr "Ícone do Fórum"
436
 
437
+ #: wpf-admin/forum.php:203
438
+ msgid "Font-awesome Icon"
439
+ msgstr "Ícones do 'Font-awesome'"
440
 
441
+ #: wpf-admin/forum.php:205
442
+ msgid "You can find all icons"
443
+ msgstr "Você pode encontrar todos ícones"
444
 
445
+ #: wpf-admin/forum.php:205
446
+ msgid "here"
447
+ msgstr "aqui"
448
 
449
+ #: wpf-admin/forum.php:205
450
+ msgid ""
451
+ "Make sure you insert a class of font-awesome icon, it should start with fa- "
452
+ "prefix like &quot;fas fa-comments&quot;."
453
+ msgstr ""
454
+ "Certifique-se de inserir uma classe de 'font-awesome', ele deve começar com "
455
+ "o prefixo predefinido como &quot;fas fa-comments&quot;."
456
 
457
+ #: wpf-admin/forum.php:212 wpf-includes/wpf-phrases.php:116
458
+ msgid "Forum SEO"
459
+ msgstr "SEO do Fórum"
460
 
461
+ #: wpf-admin/forum.php:215 wpf-includes/wpf-phrases.php:184
462
+ msgid "Meta Description"
463
+ msgstr "Meta Descrição"
464
 
465
+ #: wpf-admin/forum.php:244 wpf-includes/wpf-phrases.php:328
466
+ msgid "This action will also delete all sub-forums, topics and replies."
467
+ msgstr "Esta ação também vai excluir todos os sub-fóruns, tópicos e respostas."
468
 
469
+ #: wpf-admin/forum.php:252 wpf-includes/wpf-phrases.php:137
470
+ msgid ""
471
+ "If you want to delete this forum and keep its sub-forums, topics and "
472
+ "replies, please select a new target forum in dropdown below"
473
+ msgstr ""
474
+ "Se você quiser excluir este fórum e manter seus sub-fóruns, tópicos e "
475
+ "respostas, por favor, selecione um novo fórum de destino no menu suspenso "
476
+ "abaixo"
477
 
478
+ #: wpf-admin/forum.php:261 wpf-includes/wpf-phrases.php:26
479
+ msgid ""
480
+ "All sub-forums, topics and replies will be attached to selected forum. "
481
+ "Layout will be inherited from this forum."
482
+ msgstr ""
483
+ "Todos os sub-fóruns, tópicos e respostas serão anexados ao fórum "
484
+ "selecionado. O Layout será herdado deste fórum."
485
 
486
+ #: wpf-admin/moderation.php:10
487
+ msgid "Topic and Post Moderation"
488
+ msgstr "Moderação de Tópicos e Posts"
489
 
490
+ #: wpf-admin/options-tabs/accesses.php:14 wpf-includes/wpf-phrases.php:21
491
+ msgid "Add New Forum Access"
492
+ msgstr "Adicionar novo acesso ao Fórum"
493
 
494
+ #: wpf-admin/options-tabs/accesses.php:18 wpf-includes/wpf-phrases.php:15
495
+ msgid "Access names"
496
+ msgstr "Nomes de Acesso"
497
 
498
+ #: wpf-admin/options-tabs/accesses.php:31
499
+ #: wpf-admin/options-tabs/accesses.php:32
500
+ #: wpf-admin/options-tabs/accesses.php:33
501
+ msgid "This access is usually used for "
502
+ msgstr "Esse acesso geralmente é usado para "
503
 
504
+ #: wpf-admin/options-tabs/accesses.php:31
505
+ msgid "Guests"
506
+ msgstr "Visitantes"
507
 
508
+ #: wpf-admin/options-tabs/accesses.php:31
509
+ #: wpf-admin/options-tabs/accesses.php:32
510
+ #: wpf-admin/options-tabs/accesses.php:33
511
+ msgid "usergroup"
512
+ msgstr "Grupo de Usuário"
513
 
514
+ #: wpf-admin/options-tabs/accesses.php:32 wpf-includes/wpf-phrases.php:627
515
+ msgid "Registered"
516
+ msgstr "Registrado"
517
 
518
+ #: wpf-admin/options-tabs/accesses.php:33 wpf-includes/wpf-phrases.php:625
519
+ msgid "Admin"
520
+ msgstr "Admin"
521
 
522
+ #: wpf-admin/options-tabs/accesses.php:37 wpf-includes/class-forums.php:667
523
+ #: wpf-includes/functions.php:602 wpf-includes/wpf-phrases.php:381
524
+ msgid "edit"
525
+ msgstr "editar"
526
 
527
+ #: wpf-admin/options-tabs/accesses.php:39 wpf-includes/wpf-phrases.php:39
528
+ msgid ""
529
+ "Are you sure you want to remove this access set? Usergroups which attached "
530
+ "to this access will lost all forum permissions."
531
+ msgstr ""
532
+ "Tem certeza de que deseja remover esse conjunto de acessos? Nomes de "
533
+ "usuários que estão anexados a este acesso vão perder todas as permissões no "
534
+ "fórum."
535
 
536
+ #: wpf-admin/options-tabs/accesses.php:39 wpf-includes/class-forums.php:669
537
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
538
+ #: wpf-includes/wpf-phrases.php:380
539
+ msgid "delete"
540
+ msgstr "excluir"
541
 
542
+ #: wpf-admin/options-tabs/accesses.php:54 wpf-includes/wpf-phrases.php:14
543
+ msgid "Access name"
544
+ msgstr "Nome de acesso"
545
 
546
+ #: wpf-admin/options-tabs/accesses.php:73 wpf-includes/wpf-phrases.php:270
547
+ msgid "Save"
548
+ msgstr "Salvar"
549
 
550
+ #: wpf-admin/options-tabs/accesses.php:73 wpf-includes/wpf-phrases.php:343
551
+ msgid "Update"
552
+ msgstr "Atualizar"
553
 
554
+ #: wpf-admin/options-tabs/api.php:22
555
+ msgid "Facebook API Configuration"
556
+ msgstr "Configuração de API do Facebook"
557
 
558
+ #: wpf-admin/options-tabs/api.php:23
559
+ msgid ""
560
+ "In order to get an App ID and Secret Key from Facebook, you’ll need to "
561
+ "register a new application. Don’t worry – its very easy, and your "
562
+ "application doesn't need to do anything. We only need the keys."
563
+ msgstr ""
564
+ "Para obter um ID de aplicativo e uma 'Secret Key' do Facebook, você "
565
+ "precisará registrar um novo aplicativo. Não se preocupe - é muito fácil, e "
566
+ "sua aplicação não precisa fazer nada. Nós só precisamos das keys."
567
 
568
+ #: wpf-admin/options-tabs/api.php:23
569
+ msgid "Please follow to this instruction"
570
+ msgstr "Por favor, siga estas instruções"
571
 
572
+ #: wpf-admin/options-tabs/api.php:26
573
+ msgid "App ID"
574
+ msgstr "App ID"
575
 
576
+ #: wpf-admin/options-tabs/api.php:27
577
+ msgid "App Secret"
578
+ msgstr "App Secret"
579
 
580
+ #: wpf-admin/options-tabs/api.php:32
581
+ msgid "Facebook Login"
582
+ msgstr "Facebook Login"
583
 
584
+ #: wpf-admin/options-tabs/api.php:33
585
+ msgid "Adds Facebook Login button on Registration and Login pages."
586
+ msgstr "Adiciona o botão de login do Facebook nas páginas de registro e login."
587
 
588
+ #: wpf-admin/options-tabs/api.php:37 wpf-admin/options-tabs/api.php:49
589
+ #: wpf-admin/options-tabs/api.php:60 wpf-admin/options-tabs/api.php:71
590
+ #: wpf-admin/options-tabs/members.php:87
591
+ msgid "Enable"
592
+ msgstr "Habilitar"
593
 
594
+ #: wpf-admin/options-tabs/api.php:38 wpf-admin/options-tabs/api.php:50
595
+ #: wpf-admin/options-tabs/api.php:61 wpf-admin/options-tabs/api.php:72
596
+ #: wpf-admin/options-tabs/members.php:88
597
+ msgid "Disable"
598
+ msgstr "Desativar"
599
 
600
+ #: wpf-admin/options-tabs/api.php:44
601
+ msgid "Facebook SDK for JavaScript"
602
+ msgstr "Facebook SDK para JavaScript"
603
 
604
+ #: wpf-admin/options-tabs/api.php:45
605
+ msgid "Facebook API connection script (sharing, login, cross-posting...)"
606
+ msgstr ""
607
+ "Script de conexão da API do Facebook (compartilhamento, login, postagem-"
608
+ "cruzada ...)"
609
 
610
+ #: wpf-admin/options-tabs/api.php:56
611
+ msgid "Facebook Login button on User Login page"
612
+ msgstr "Botão de login do Facebook na página de login do usuário"
613
 
614
+ #: wpf-admin/options-tabs/api.php:67
615
+ msgid "Facebook Login button on User Registration page"
616
+ msgstr "Botão de login do Facebook na página de registro do usuário"
617
 
618
+ #: wpf-admin/options-tabs/api.php:78
619
+ msgid "Redirect to this page after success login"
620
+ msgstr "Redirecione para esta página após o login com sucesso"
621
 
622
+ #: wpf-admin/options-tabs/api.php:82 wpf-includes/wpf-phrases.php:634
623
+ msgid "Profile"
624
+ msgstr "Perfil"
625
 
626
+ #: wpf-admin/options-tabs/api.php:84
627
+ msgid "Custom"
628
+ msgstr "Personalizado"
 
 
 
 
629
 
630
+ #: wpf-admin/options-tabs/api.php:86
631
+ msgid "Custom URL, e.g.: http://example.com/my-page/"
632
+ msgstr "URL Personalizada, ex: http://example.com/my-page/"
633
 
634
+ #: wpf-admin/options-tabs/api.php:86
635
+ msgid "Custom URL"
636
+ msgstr "URL Personalizado"
637
 
638
+ #: wpf-admin/options-tabs/api.php:93 wpf-admin/options-tabs/emails.php:132
639
+ #: wpf-admin/options-tabs/features.php:77 wpf-admin/options-tabs/forums.php:16
640
+ #: wpf-admin/options-tabs/general.php:82 wpf-admin/options-tabs/members.php:174
641
+ #: wpf-admin/options-tabs/posts.php:76 wpf-admin/options-tabs/styles.php:93
642
+ #: wpf-admin/tools-tabs/antispam.php:299 wpf-admin/tools-tabs/cleanup.php:49
643
+ #: wpf-admin/tools-tabs/misc.php:37 wpf-includes/wpf-phrases.php:344
644
+ msgid "Update Options"
645
+ msgstr "Atualizar Opções"
646
 
647
+ #: wpf-admin/options-tabs/emails.php:12
648
+ msgid "FROM Name"
649
+ msgstr "Com o nome"
650
 
651
+ #: wpf-admin/options-tabs/emails.php:16
652
+ msgid "FROM Email Address"
653
+ msgstr "Do endereço de e-mail"
654
 
655
+ #: wpf-admin/options-tabs/emails.php:21
656
+ msgid "Forum Admins email addresses"
657
+ msgstr "Endereços de e-mail dos Administradores do Fórum"
658
 
659
+ #: wpf-admin/options-tabs/emails.php:22 wpf-includes/wpf-phrases.php:57
660
+ msgid ""
661
+ "Comma separated email addresses of forum administrators to get forum "
662
+ "notifications. For example post report messages."
663
+ msgstr ""
664
+ "Endereços de e-mail separados por vírgulas dos administradores do fórum para "
665
+ "obter notificações do fórum. Por exemplo, mensagens de denúncia de posts."
666
 
667
+ #: wpf-admin/options-tabs/emails.php:28
668
+ msgid "Notify Admins via email on new Topic"
669
+ msgstr "Notifique Administradores via e-mail sobre novos tópicos"
670
 
671
+ #: wpf-admin/options-tabs/emails.php:29
672
+ msgid ""
673
+ "Send Notification emails to all email addresses (comma separated ) of forum "
674
+ "administrators when a new Topic is created."
675
+ msgstr ""
676
+ "Envio de e-mails de notificação para todos os endereços de email (separados "
677
+ "por vírgula) dos administradores do fórum quando um novo tópico é criado."
678
 
679
+ #: wpf-admin/options-tabs/emails.php:33 wpf-admin/options-tabs/emails.php:45
680
+ #: wpf-admin/options-tabs/emails.php:116 wpf-admin/options-tabs/features.php:66
681
+ #: wpf-admin/tools-tabs/antispam.php:31 wpf-admin/tools-tabs/antispam.php:40
682
+ #: wpf-admin/tools-tabs/antispam.php:49 wpf-admin/tools-tabs/antispam.php:148
683
+ #: wpf-admin/tools-tabs/antispam.php:157 wpf-admin/tools-tabs/antispam.php:167
684
+ #: wpf-admin/tools-tabs/antispam.php:176 wpf-admin/tools-tabs/antispam.php:185
685
+ #: wpf-admin/tools-tabs/antispam.php:194 wpf-admin/tools-tabs/antispam.php:203
686
+ #: wpf-admin/tools-tabs/antispam.php:212 wpf-admin/tools-tabs/cleanup.php:39
687
+ #: wpf-includes/wpf-phrases.php:366
688
+ msgid "Yes"
689
+ msgstr "Sim"
690
 
691
+ #: wpf-admin/options-tabs/emails.php:34 wpf-admin/options-tabs/emails.php:46
692
+ #: wpf-admin/options-tabs/emails.php:117 wpf-admin/options-tabs/features.php:67
693
+ #: wpf-admin/tools-tabs/antispam.php:32 wpf-admin/tools-tabs/antispam.php:41
694
+ #: wpf-admin/tools-tabs/antispam.php:50 wpf-admin/tools-tabs/antispam.php:149
695
+ #: wpf-admin/tools-tabs/antispam.php:158 wpf-admin/tools-tabs/antispam.php:168
696
+ #: wpf-admin/tools-tabs/antispam.php:177 wpf-admin/tools-tabs/antispam.php:186
697
+ #: wpf-admin/tools-tabs/antispam.php:195 wpf-admin/tools-tabs/antispam.php:204
698
+ #: wpf-admin/tools-tabs/antispam.php:213 wpf-admin/tools-tabs/cleanup.php:40
699
+ #: wpf-includes/wpf-phrases.php:196
700
+ msgid "No"
701
+ msgstr "Não"
702
 
703
+ #: wpf-admin/options-tabs/emails.php:40
704
+ msgid "Notify Admins via email on new Post"
705
+ msgstr "Notifique os Administradores via e-mail de um novo post"
706
 
707
+ #: wpf-admin/options-tabs/emails.php:41
708
+ msgid ""
709
+ "Send Notification emails to all email addresses (comma separated ) of forum "
710
+ "administrators when a new Reply is created."
711
+ msgstr ""
712
+ "Envio de e-mails de notificação para todos os endereços de e-mail (separados "
713
+ "por vírgula) dos administradores do fórum quando uma nova resposta é criada."
714
 
715
+ #: wpf-admin/options-tabs/emails.php:52 wpf-includes/wpf-phrases.php:317
716
+ msgid "Subscription Emails"
717
+ msgstr "E-mails de Inscrição"
718
 
719
+ #: wpf-admin/options-tabs/emails.php:56 wpf-includes/wpf-phrases.php:314
720
+ msgid "Subscribe confirmation email subject"
721
+ msgstr "Assunto da notificação via e-mail para confirmação de inscrição"
722
 
723
+ #: wpf-admin/options-tabs/emails.php:60 wpf-includes/wpf-phrases.php:313
724
+ msgid "Subscribe confirmation email message"
725
+ msgstr "Mensagem da notificação via e-mail para confirmação de inscrição"
726
 
727
+ #: wpf-admin/options-tabs/emails.php:64 wpf-includes/wpf-phrases.php:195
728
+ msgid "New topic notification email subject"
729
+ msgstr "Assunto da notificação via e-mail de novo tópico"
730
 
731
+ #: wpf-admin/options-tabs/emails.php:68 wpf-includes/wpf-phrases.php:194
732
+ msgid "New topic notification email message"
733
+ msgstr "Mensagem da notificação via e-mail de novo tópico"
734
 
735
+ #: wpf-admin/options-tabs/emails.php:72 wpf-includes/wpf-phrases.php:193
736
+ msgid "New reply notification email subject"
737
+ msgstr "Assunto para notificação via e-mail de nova resposta"
738
 
739
+ #: wpf-admin/options-tabs/emails.php:76 wpf-includes/wpf-phrases.php:192
740
+ msgid "New reply notification email message"
741
+ msgstr "Mensagem da notificação via e-mail de nova resposta"
742
 
743
+ #: wpf-admin/options-tabs/emails.php:81 wpf-includes/wpf-phrases.php:227
744
+ msgid "Post Reporting Emails"
745
+ msgstr "E-mails de denúncias de posts"
746
 
747
+ #: wpf-admin/options-tabs/emails.php:82 wpf-includes/wpf-phrases.php:331
748
+ msgid "This message comes from post reporting pop-up form."
749
+ msgstr "Esta mensagem vem do formulário pop-up de denúncia de posts."
750
 
751
+ #: wpf-admin/options-tabs/emails.php:87 wpf-includes/wpf-phrases.php:266
752
+ msgid "Report message subject"
753
+ msgstr "Assunto da mensagem de denúncia"
754
 
755
+ #: wpf-admin/options-tabs/emails.php:92 wpf-includes/wpf-phrases.php:265
756
+ msgid "Report message body"
757
+ msgstr "Conteúdo da mensagem de denúncia"
758
 
759
+ #: wpf-admin/options-tabs/emails.php:97
760
+ msgid "Reset Password Emails"
761
+ msgstr "E-mail de Redefinição de senha"
762
 
763
+ #: wpf-admin/options-tabs/emails.php:98
764
+ msgid "This message comes from Reset Password form."
765
+ msgstr "Esta mensagem vem do formulário de redefinição de Senha."
766
 
767
+ #: wpf-admin/options-tabs/emails.php:102
768
+ msgid "Reset Password message body"
769
+ msgstr "Corpo da mensagem de redefinição de senha"
770
 
771
+ #: wpf-admin/options-tabs/emails.php:107
772
+ msgid "User Mentioning Email"
773
+ msgstr "E-mail de menções de usuário"
774
 
775
+ #: wpf-admin/options-tabs/emails.php:112
776
+ msgid "Enable Email Notification"
777
+ msgstr "Habilitar Notificação por E-mail"
778
 
779
+ #: wpf-admin/options-tabs/emails.php:122
780
+ msgid "User Mention message subject"
781
+ msgstr "Assunto da mensagem de menção de usuário"
782
 
783
+ #: wpf-admin/options-tabs/emails.php:126
784
+ msgid "User Mention message body"
785
+ msgstr "Corpo da mensagem de menção de usuário"
786
 
787
+ #: wpf-admin/options-tabs/features.php:9 wpf-includes/wpf-phrases.php:294
788
+ msgid "Show Admin Bar for Members"
789
+ msgstr "Mostrar Barra de Administração para Membros"
790
 
791
+ #: wpf-admin/options-tabs/features.php:9 wpf-includes/wpf-phrases.php:332
792
+ msgid "This option doesn't affect website admins."
793
+ msgstr "Esta opção não afeta Administradores do site."
794
 
795
+ #: wpf-admin/options-tabs/features.php:10 wpf-includes/wpf-phrases.php:296
796
+ msgid "Show Forum Page Title"
797
+ msgstr "Mostrar título da página do Fórum"
798
 
799
+ #: wpf-admin/options-tabs/features.php:11 wpf-includes/wpf-phrases.php:299
800
+ msgid "Show Top/Menu Bar"
801
+ msgstr "Mostrar barra superior/menu"
802
 
803
+ #: wpf-admin/options-tabs/features.php:12 wpf-includes/wpf-phrases.php:298
804
+ msgid "Show Top Search"
805
+ msgstr "Mostrar pesquisa no topo"
806
 
807
+ #: wpf-admin/options-tabs/features.php:13 wpf-includes/wpf-phrases.php:295
808
+ msgid "Show Breadcrumb"
809
+ msgstr "Mostrar Trilha de navegação (Breadcrumb)"
810
 
811
+ #: wpf-admin/options-tabs/features.php:14 wpf-includes/wpf-phrases.php:297
812
+ msgid "Show Forum Statistic"
813
+ msgstr "Mostrar Estatísticas do Fórum"
814
 
815
+ #: wpf-admin/options-tabs/features.php:15
816
+ msgid "Show Member Mention Nicknames"
817
+ msgstr "Mostrar apelidos de membros"
818
 
819
+ #: wpf-admin/options-tabs/features.php:16
820
+ msgid "Enable WordPress Shortcodes in Post Content"
821
+ msgstr "Habilitar Shortcodes do WordPress no conteúdo do post"
822
 
823
+ #: wpf-admin/options-tabs/features.php:17 wpf-includes/wpf-phrases.php:698
824
+ msgid "Log Viewed Forums and Topics"
825
+ msgstr "Log de visualizado de Fóruns e Tópicos"
826
 
827
+ #: wpf-admin/options-tabs/features.php:18 wpf-includes/wpf-phrases.php:257
828
+ msgid "Replace Author Link to Forum Profile"
829
+ msgstr "Substituir link do autor para o perfil do Fórum"
830
 
831
+ #: wpf-admin/options-tabs/features.php:19 wpf-includes/wpf-phrases.php:258
832
+ msgid "Replace Comment Author Link to Forum Profile"
833
+ msgstr "Substituir link de comentário do autor para o perfil do fórum"
834
 
835
+ #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:637
836
+ msgid "Enable User Registration"
837
+ msgstr "Ativar registro de usuário"
 
838
 
839
+ #: wpf-admin/options-tabs/features.php:20 wpf-includes/wpf-phrases.php:638
840
+ msgid ""
841
+ "This option is not synced with WordPress \"Anyone can register\" option in "
842
+ "Dashboard > Settings > General admin page. If this option is enabled new "
843
+ "users will always be able to register."
844
+ msgstr ""
845
+ "Esta opção não é sincronizada com a opção \"Qualquer um pode se registrar\" "
846
+ "do WordPress no Painel > Configurações > Página de administração Geral. Se "
847
+ "esta opção estiver ativada, novos usuários sempre poderão se registrar."
848
 
849
+ #: wpf-admin/options-tabs/features.php:21
850
+ msgid "Enable User Registration email confirmation"
851
+ msgstr "Habilitar confirmação de e-mail para registro do usuário"
852
 
853
+ #: wpf-admin/options-tabs/features.php:21
854
+ msgid ""
855
+ "If you have enabled this option, after registering, user can not login "
856
+ "without confirming the email."
857
+ msgstr ""
858
+ "Se você habilitou essa opção, após o registro, o usuário não pode fazer "
859
+ "login sem confirmar o e-mail."
860
 
861
+ #: wpf-admin/options-tabs/features.php:22 wpf-includes/wpf-phrases.php:260
862
+ msgid "Replace Registration Page URL to Forum Registration Page URL"
863
+ msgstr ""
864
+ "Substituir URL da página de registro para URL da página de registro do fórum"
865
 
866
+ #: wpf-admin/options-tabs/features.php:23 wpf-includes/wpf-phrases.php:259
867
+ msgid "Replace Login Page URL to Forum Login Page URL"
868
+ msgstr "Substituir URL da página de login para URL da página de login do fórum"
869
 
870
+ #: wpf-admin/options-tabs/features.php:24 wpf-includes/wpf-phrases.php:699
871
+ msgid "Replace Reset Password Page URL to Forum Reset Password Page URL"
872
+ msgstr "Substitua a URL da página de redefinição de senha para URL do Fórum"
873
 
874
+ #: wpf-admin/options-tabs/features.php:25 wpf-includes/wpf-phrases.php:256
875
+ msgid "Replace Author Avatar with Forum Profile Avatar"
876
+ msgstr "Substituir avatar de autor pelo Avatar de perfil do fórum"
877
 
878
+ #: wpf-admin/options-tabs/features.php:26 wpf-includes/wpf-phrases.php:77
879
+ msgid "Enable Avatars"
880
+ msgstr "Ativar Avatares"
881
 
882
+ #: wpf-admin/options-tabs/features.php:27 wpf-includes/wpf-phrases.php:78
883
+ msgid "Enable Custom Avatars"
884
+ msgstr "Habilitar avatares personalizados"
885
 
886
+ #: wpf-admin/options-tabs/features.php:28 wpf-includes/wpf-phrases.php:31
887
+ msgid "Allow Member Signature"
888
+ msgstr "Permitir assinatura de membros"
889
 
890
+ #: wpf-admin/options-tabs/features.php:29 wpf-includes/wpf-phrases.php:80
891
+ msgid "Enable Member Rating"
892
+ msgstr "Habilitar Ranking de Membro"
893
 
894
+ #: wpf-admin/options-tabs/features.php:30 wpf-includes/wpf-phrases.php:81
895
+ msgid "Enable Member Rating Titles"
896
+ msgstr "Habilitar nomes de ranking dos membros"
897
 
898
+ #: wpf-admin/options-tabs/features.php:31 wpf-includes/wpf-phrases.php:79
899
+ msgid "Enable Member Cache"
900
+ msgstr "Habilitar Cache de Membro"
901
 
902
+ #: wpf-admin/options-tabs/features.php:32
903
+ msgid "Enable Object Cache"
904
+ msgstr "Ativar 'Object Cache'"
905
 
906
+ #: wpf-admin/options-tabs/features.php:33
907
+ msgid "Enable HTML Cache"
908
+ msgstr "Ativar 'HTML Cache'"
909
 
910
+ #: wpf-admin/options-tabs/features.php:34
911
+ msgid "Enable Memory Cache"
912
+ msgstr "Ativar 'Memory Cache'"
 
 
 
 
913
 
914
+ #: wpf-admin/options-tabs/features.php:35 wpf-includes/wpf-phrases.php:84
915
+ msgid "Enable wpForo SEO for Meta Titles"
916
+ msgstr "Habilitar SEO para 'Meta Titles' do wpForo"
917
 
918
+ #: wpf-admin/options-tabs/features.php:36 wpf-includes/wpf-phrases.php:83
919
+ msgid "Enable wpForo SEO for Meta Tags"
920
+ msgstr "Habilitar SEO para 'Meta Tags' do wpForo"
921
 
922
+ #: wpf-admin/options-tabs/features.php:37
923
+ msgid "Enable User Profile Page indexing"
924
+ msgstr "Habilitar indexação da página de perfil de usuário"
925
 
926
+ #: wpf-admin/options-tabs/features.php:38 wpf-includes/wpf-phrases.php:700
927
+ msgid "Enable RSS Feed"
928
+ msgstr "Ativar RSS Feed"
929
 
930
+ #: wpf-admin/options-tabs/features.php:39 wpf-includes/wpf-phrases.php:82
931
+ msgid "Enable wpForo Font-Awesome Lib"
932
+ msgstr "Habilitar biblioteca de ícones 'Font-Awesome' para o wpForo"
933
 
934
+ #: wpf-admin/options-tabs/features.php:40
935
+ msgid "Turn Off User Syncing Note"
936
+ msgstr "Desativar nota de sincronização do usuário"
937
 
938
+ #: wpf-admin/options-tabs/features.php:41
939
+ msgid "Enable BuddyPress Activity Integration"
940
+ msgstr "Ativar Integração de Atividade BuddyPress"
941
 
942
+ #: wpf-admin/options-tabs/features.php:41
943
+ msgid ""
944
+ "If you use BuddyPress plugin, this option will post members activities (new "
945
+ "topic, new reply, post like) to BuddyPress Profile Activity page."
946
+ msgstr ""
947
+ "Se você usar o plugin BuddyPress, esta opção publicará as atividades dos "
948
+ "membros (novo tópico, nova resposta, publicação curtida) na página da "
949
+ "atividade do perfil do BuddyPress."
950
 
951
+ #: wpf-admin/options-tabs/features.php:42 wpf-includes/wpf-phrases.php:85
952
+ msgid "Enable Output Buffer"
953
+ msgstr "Habilitar buffer de saída"
954
 
955
+ #: wpf-admin/options-tabs/features.php:42 wpf-includes/wpf-phrases.php:330
956
+ msgid ""
957
+ "This feature is useful if you're adding content before or after [wpforo] "
958
+ "shortcode in page content. Also it useful if forum is loaded before website "
959
+ "header, on top of the front-end."
960
+ msgstr ""
961
+ "Este recurso é útil se você estiver adicionando conteúdo antes ou depois do "
962
+ "shortcode [wpforo] no conteúdo da página. Também é útil se o fórum é "
963
+ "carregado antes do cabeçalho do site, acima do front-end."
964
 
965
+ #: wpf-admin/options-tabs/features.php:43
966
+ msgid "Enable WordPress Date/Time Format"
967
+ msgstr "Habilitar o formato de data/hora do WordPress"
968
 
969
+ #: wpf-admin/options-tabs/features.php:43 wpf-includes/wpf-phrases.php:602
970
+ msgid ""
971
+ "You can manage WordPress date and time format in WordPress Settings > "
972
+ "General admin page."
973
+ msgstr ""
974
+ "Você pode gerenciar o formato de data e hora do WordPress em Configurações "
975
+ "do WordPress > Página de administração Geral."
976
 
977
+ #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:613
978
+ msgid "Enable Subscription Confirmation"
979
+ msgstr "Ativar confirmação de Inscrição"
980
 
981
+ #: wpf-admin/options-tabs/features.php:44 wpf-includes/wpf-phrases.php:614
982
+ msgid "Forum and Topic subscription with double opt-in/confirmation system."
983
+ msgstr ""
984
+ "Inscrição de fórum e de tópico com sistema duplo de ativação/confirmação."
985
 
986
+ #: wpf-admin/options-tabs/features.php:45
987
+ msgid "Topic subscription option on post editor"
988
+ msgstr "Opção de inscrição de tópico no editor de post"
989
 
990
+ #: wpf-admin/options-tabs/features.php:45
991
+ msgid ""
992
+ "This option adds topic subscription checkbox next to new topic and post "
993
+ "submit button."
994
+ msgstr ""
995
+ "Esta opção adiciona a caixa de seleção de inscrição de tópico ao lado de um "
996
+ "novo tópico e botão de enviar post."
997
 
998
+ #: wpf-admin/options-tabs/features.php:46
999
+ msgid "Topic subscription option on post editor - checked/enabled"
1000
+ msgstr "Opção de inscrever em tópico no editor de post - marcado/habilitado"
1001
 
1002
+ #: wpf-admin/options-tabs/features.php:46
1003
+ msgid ""
1004
+ "Enable this option if you want the topic subscription checkbox to be checked "
1005
+ "by default."
1006
+ msgstr ""
1007
+ "Habilite esta opção se desejar que a caixa de seleção de inscrição de tópico "
1008
+ "seja marcada por padrão."
1009
 
1010
+ #: wpf-admin/options-tabs/features.php:47 wpf-includes/wpf-phrases.php:641
1011
+ msgid "Insert Forum Attachments to Media Library"
1012
+ msgstr "Inserir anexos do Fórum na Biblioteca de Mídia"
1013
 
1014
+ #: wpf-admin/options-tabs/features.php:47 wpf-includes/wpf-phrases.php:642
1015
+ msgid ""
1016
+ "Enable this option to be able manage forum attachments in Dashboard > Media "
1017
+ "> Library admin page."
1018
+ msgstr ""
1019
+ "Ative esta opção para poder gerenciar anexos do fórum no Painel > Mídia> "
1020
+ "Página de administração da biblioteca."
1021
 
1022
+ #: wpf-admin/options-tabs/features.php:48 wpf-includes/wpf-phrases.php:606
1023
+ msgid "Enable Debug Mode"
1024
+ msgstr "Habilitar o Modo de Depuração"
1025
 
1026
+ #: wpf-admin/options-tabs/features.php:48 wpf-includes/wpf-phrases.php:607
1027
+ msgid ""
1028
+ "If you got some issue with wpForo, please enable this option before asking "
1029
+ "for support, this outputs hidden important information to help us debug your "
1030
+ "issue."
1031
+ msgstr ""
1032
+ "Se você tiver algum problema com o wpForo, habilite esta opção antes de "
1033
+ "pedir suporte, isso gera informações importantes ocultas para nos ajudar a "
1034
+ "solucionar seu problema."
1035
 
1036
+ #: wpf-admin/options-tabs/features.php:49 wpf-includes/wpf-phrases.php:134
1037
+ msgid "Help wpForo to grow, show plugin info"
1038
+ msgstr "Ajude o wpForo a crescer, mostrando informações do plugin"
1039
 
1040
+ #: wpf-admin/options-tabs/features.php:49 wpf-includes/wpf-phrases.php:226
1041
+ msgid ""
1042
+ "Please enable this option to help wpForo get more popularity as your thank "
1043
+ "to the hard work we do for you totally free. This option adds a very small "
1044
+ "icon in forum footer, which will allow your site visitors recognize the name "
1045
+ "of forum solution you use."
1046
+ msgstr ""
1047
+ "Por favor, ative esta opção para ajudar o wpForo obter mais popularidade, "
1048
+ "como forma do seu agradecimento ao trabalho árduo que fazemos para você "
1049
+ "totalmente de graça. Esta opção adiciona um ícone muito pequeno no rodapé do "
1050
+ "fórum, que permitirá que os visitantes do site reconheçam o nome da solução "
1051
+ "de fórum que você usa."
1052
 
1053
+ #: wpf-admin/options-tabs/features.php:68
1054
+ msgid "Thank you!"
1055
+ msgstr "Obrigado!"
1056
 
1057
+ #: wpf-admin/options-tabs/general.php:15 wpf-includes/wpf-phrases.php:107
1058
+ msgid "Forum Base URL"
1059
+ msgstr "URL Base do Fórum Fórum"
1060
 
1061
+ #: wpf-admin/options-tabs/general.php:24 wpf-includes/wpf-phrases.php:651
1062
+ msgid "Turn WordPress to wpForo"
1063
+ msgstr "Transforme o WordPress em wpForo"
1064
 
1065
+ #: wpf-admin/options-tabs/general.php:25
1066
+ msgid ""
1067
+ "This option will disable WordPress on front-end. Only forum pages and "
1068
+ "excluded post/pages will be available. wpForo will look like as a stand-"
1069
+ "alone forum."
1070
+ msgstr ""
1071
+ "Esta opção vai desativar o WordPress em front-end. Apenas páginas do fórum "
1072
+ "estarão disponíveis, desativando posts/páginas. O wpForo vai parecer como um "
1073
+ "fórum independente."
1074
 
1075
+ #: wpf-admin/options-tabs/general.php:28
1076
+ msgid "Exclude page URLs"
1077
+ msgstr "Excluir URLs de página"
1078
 
1079
+ #: wpf-admin/options-tabs/general.php:28
1080
+ msgid "one URL per line"
1081
+ msgstr "uma URL por linha"
1082
 
1083
+ #: wpf-admin/options-tabs/general.php:38
1084
+ msgid "Visit Forum"
1085
+ msgstr "Visitar o Fórum"
1086
 
1087
+ #: wpf-admin/options-tabs/general.php:41
1088
+ msgid ""
1089
+ "wpForo PageID doesn't exist. Forums will not be loaded, please read this"
1090
+ msgstr ""
1091
+ "ID de página wpForo não existe. Fóruns não serão carregados, por favor leia "
1092
+ "isto"
1093
 
1094
+ #: wpf-admin/options-tabs/general.php:41
1095
+ msgid "support topic"
1096
+ msgstr "tópico de suporte"
1097
 
1098
+ #: wpf-admin/options-tabs/general.php:43
1099
+ msgid "Forum Page ID"
1100
+ msgstr "ID da página do fórum"
1101
 
1102
+ #: wpf-admin/options-tabs/general.php:48 wpf-includes/wpf-phrases.php:121
1103
+ msgid "Forum Title"
1104
+ msgstr "Título do Fórum"
1105
 
1106
+ #: wpf-admin/options-tabs/general.php:52 wpf-includes/wpf-phrases.php:108
1107
+ msgid "Forum Description"
1108
+ msgstr "Descrição do Fórum"
1109
 
1110
+ #: wpf-admin/options-tabs/general.php:57 wpf-includes/wpf-phrases.php:64
1111
+ msgid "Dashboard Menu Position"
1112
+ msgstr "Posição do Painel no menu"
1113
 
1114
+ #: wpf-admin/options-tabs/general.php:58 wpf-includes/wpf-phrases.php:323
1115
+ msgid "The position in the menu order wpForo should appear."
1116
+ msgstr "A posição na ordem do menu em que o wpForo deve aparecer."
1117
 
1118
+ #: wpf-admin/options-tabs/general.php:59 wpf-includes/wpf-phrases.php:348
1119
+ msgid ""
1120
+ "Use greater than 5 - below Posts, 10 - below Media, 15 - below Links, 20 - "
1121
+ "below Pages, 25 - below comments, 60 - below first separator, 65 - below "
1122
+ "Plugins, 70 - below Users, 75 - below Tools, 80 - below Settings, 100 - "
1123
+ "below second separator"
1124
+ msgstr ""
1125
+ "Use maior que 5 - abaixo Posts, 10 - abaixo de Mídia, 15 - abaixo de Links, "
1126
+ "20 - abaixo de Páginas, 25 - abaixo dos Comentários, 60 - abaixo do primeiro "
1127
+ "separador, 65 - abaixo de Plugins, 70 - abaixo de Usuários, 75 - abaixo de "
1128
+ "Ferramentas, 80 - abaixo das Configurações, 100 - abaixo do segundo separador"
1129
 
1130
+ #: wpf-admin/options-tabs/general.php:63
1131
+ msgid "More info"
1132
+ msgstr "Mais informações"
1133
 
1134
+ #: wpf-admin/options-tabs/general.php:68 wpf-includes/wpf-phrases.php:110
1135
+ msgid "Forum Language"
1136
+ msgstr "Idioma do Fórum"
1137
 
1138
+ #: wpf-admin/options-tabs/general.php:69
1139
+ msgid ""
1140
+ "This option is only related to XML language files. You should upload a "
1141
+ "translation XML file to have a new language option in this drop-down. If you "
1142
+ "are using PO/MO translation files you should change WordPress Language in "
1143
+ "Dashboard > Settings admin page to load according translation for wpForo."
1144
+ msgstr ""
1145
+ "Essa opção só está relacionada a arquivos de idioma XML. Você deve carregar "
1146
+ "um arquivo XML de tradução para ter uma nova opção de idioma nesta lista "
1147
+ "suspensa. Se você estiver usando arquivos de tradução .PO/.MO você deve "
1148
+ "mudar a linguagem do WordPress no Painel > Configurações e selecionar de "
1149
+ "acordo com a tradução do wpForo."
1150
 
1151
+ #: wpf-admin/options-tabs/general.php:94 wpf-includes/wpf-phrases.php:144
1152
+ msgid "Language XML file"
1153
+ msgstr "Arquivo XML de idioma"
1154
 
1155
+ #: wpf-admin/options-tabs/general.php:103 wpf-includes/wpf-phrases.php:22
1156
+ msgid "Add New Language"
1157
+ msgstr "Adicionar novo idioma"
1158
 
1159
+ #: wpf-admin/options-tabs/members.php:13 wpf-includes/wpf-phrases.php:217
1160
+ msgid "Online status timeout"
1161
+ msgstr "Tempo limite de status online"
1162
 
1163
+ #: wpf-admin/options-tabs/members.php:16 wpf-admin/options-tabs/posts.php:28
1164
+ #: wpf-admin/options-tabs/posts.php:32 wpf-admin/options-tabs/posts.php:40
1165
+ #: wpf-admin/options-tabs/posts.php:44 wpf-includes/wpf-phrases.php:390
1166
+ msgid "minutes"
1167
+ msgstr "minutos"
1168
 
1169
+ #: wpf-admin/options-tabs/members.php:20 wpf-includes/wpf-phrases.php:180
1170
+ msgid "Members URL structure"
1171
+ msgstr "Estrutura de URL dos membros"
1172
 
1173
+ #: wpf-admin/options-tabs/members.php:29 wpf-includes/wpf-phrases.php:701
1174
+ msgid "Members Search Type"
1175
+ msgstr "Mecanismo de pesquisa de membros"
1176
 
1177
+ #: wpf-admin/options-tabs/members.php:32 wpf-includes/wpf-phrases.php:275
1178
+ msgid "Search"
1179
+ msgstr "Buscar"
1180
 
1181
+ #: wpf-admin/options-tabs/members.php:33
1182
+ msgid "Filter"
1183
+ msgstr "Filtrar"
1184
 
1185
+ #: wpf-admin/options-tabs/members.php:39 wpf-includes/wpf-phrases.php:62
1186
+ msgid "Custom Authorization URLs"
1187
+ msgstr "URLs de autorização personalizadas"
1188
 
1189
+ #: wpf-admin/options-tabs/members.php:41
1190
+ msgid ""
1191
+ "Use this option only if you have set other pages for authorization. \n"
1192
+ " wpForo doesn't change its own URLs, these options "
1193
+ "are only for other plugin compatibility. \n"
1194
+ " For example, if you use BuddyPress or Ultimate "
1195
+ "Member plugin you can set these values:"
1196
+ msgstr ""
1197
+ "Use esta opção somente se você tiver definido outras páginas para "
1198
+ "autorização. \n"
1199
+ " wpForo não altera suas URLs, essas opções são apenas "
1200
+ "para outras compatibilidades de plugins. \n"
1201
+ " Por exemplo, se você usa o plugin BuddyPress ou "
1202
+ "Ultimate Member, você pode definir esses valores:"
1203
 
1204
+ #: wpf-admin/options-tabs/members.php:44 wpf-admin/options-tabs/members.php:50
1205
+ #: wpf-includes/wpf-phrases.php:162
1206
+ msgid "Login URL"
1207
+ msgstr "URL de Login"
1208
 
1209
+ #: wpf-admin/options-tabs/members.php:45 wpf-admin/options-tabs/members.php:51
1210
+ #: wpf-includes/wpf-phrases.php:252
1211
+ msgid "Register URL"
1212
+ msgstr "URL de Cadastro"
1213
 
1214
+ #: wpf-admin/options-tabs/members.php:52 wpf-includes/wpf-phrases.php:164
1215
+ msgid "Lost Password URL"
1216
+ msgstr "URL de Recuperação de Senha"
1217
 
1218
+ #: wpf-admin/options-tabs/members.php:58
1219
+ msgid "Custom Redirection URLs after following actions"
1220
+ msgstr "URL de redirecionamento personalizadas após as seguintes ações"
1221
 
1222
+ #: wpf-admin/options-tabs/members.php:60
1223
+ msgid "For member profile, account and subscription pages use following URLs:"
1224
+ msgstr ""
1225
+ "Para páginas de perfil do membro, conta e de inscrição usarem as seguintes "
1226
+ "URLs:"
1227
 
1228
+ #: wpf-admin/options-tabs/members.php:72
1229
+ msgid "Redirect after login"
1230
+ msgstr "Redirecionar após o login"
1231
 
1232
+ #: wpf-admin/options-tabs/members.php:73
1233
+ msgid "Redirect after registration"
1234
+ msgstr "Redirecionar após o registro"
1235
 
1236
+ #: wpf-admin/options-tabs/members.php:74
1237
+ msgid "Redirect after subscription confirmation"
1238
+ msgstr "Redirecionar após a confirmação da inscrição"
1239
 
1240
+ #: wpf-admin/options-tabs/members.php:80 wpf-includes/wpf-phrases.php:175
1241
+ msgid "Member Reputation and Titles"
1242
+ msgstr "Reputação e Ranking dos Membros"
1243
 
1244
+ #: wpf-admin/options-tabs/members.php:84
1245
+ msgid "Member Custom Titles"
1246
+ msgstr "Cargos personalizados para membros"
1247
 
1248
+ #: wpf-admin/options-tabs/members.php:93
1249
+ msgid "Member Custom Title by default"
1250
+ msgstr "Cargos personalizados de membros por padrão"
1251
 
1252
+ #: wpf-admin/options-tabs/members.php:103 wpf-includes/wpf-phrases.php:247
1253
+ msgid "Rating Level"
1254
+ msgstr "Nível de Ranking"
1255
 
1256
+ #: wpf-admin/options-tabs/members.php:104 wpf-includes/wpf-phrases.php:185
1257
+ msgid "Min Number of Posts"
1258
+ msgstr " mínimo de posts"
1259
 
1260
+ #: wpf-admin/options-tabs/members.php:105 wpf-includes/wpf-phrases.php:176
1261
+ msgid "Member Title"
1262
+ msgstr "Ranking do Membro"
1263
 
1264
+ #: wpf-admin/options-tabs/members.php:106 wpf-includes/wpf-phrases.php:293
1265
+ msgid "Short Badge"
1266
+ msgstr "Emblema simples"
1267
 
1268
+ #: wpf-admin/options-tabs/members.php:107 wpf-includes/wpf-phrases.php:128
1269
+ msgid "Full Badge"
1270
+ msgstr "Emblema Completo"
1271
 
1272
+ #: wpf-admin/options-tabs/members.php:108 wpf-includes/wpf-phrases.php:245
1273
+ msgid "Rating Color"
1274
+ msgstr "Cor do ranking"
1275
 
1276
+ #: wpf-admin/options-tabs/members.php:109 wpf-includes/wpf-phrases.php:246
1277
+ msgid "Rating Icon"
1278
+ msgstr "Ícone do Ranking"
1279
 
1280
+ #: wpf-admin/options-tabs/members.php:109 wpf-includes/wpf-phrases.php:187
1281
+ msgid "More"
1282
+ msgstr "Mais"
1283
 
1284
+ #: wpf-admin/options-tabs/members.php:114 wpf-includes/wpf-phrases.php:158
1285
+ msgid "Level"
1286
+ msgstr "Nível"
 
 
1287
 
1288
+ #: wpf-admin/options-tabs/members.php:115 wpf-includes/wpf-phrases.php:211
1289
+ msgid "Number of Posts"
1290
+ msgstr "Número de Posts"
1291
 
1292
+ #: wpf-admin/options-tabs/members.php:116 wpf-includes/wpf-phrases.php:63
1293
+ msgid "Custom Title"
1294
+ msgstr "Título personalizado"
 
 
1295
 
1296
+ #: wpf-admin/options-tabs/members.php:119 wpf-admin/usergroup.php:23
1297
+ #: wpf-includes/wpf-phrases.php:56
1298
+ msgid "Color"
1299
+ msgstr "Cor"
1300
 
1301
+ #: wpf-admin/options-tabs/members.php:120 wpf-includes/wpf-phrases.php:48
1302
+ msgid "Badge Icon"
1303
+ msgstr "Ícone do emblema"
1304
 
1305
+ #: wpf-admin/options-tabs/members.php:126
1306
+ msgid "Enable Reputation Titles for selected usergroups"
1307
+ msgstr ""
1308
+ "Habilitar rankings de reputação para os grupos de usuários selecionados"
1309
 
1310
+ #: wpf-admin/options-tabs/members.php:127
1311
+ msgid ""
1312
+ "This option depends on \"Enable Member Rating Titles\" parent option, witch "
1313
+ "located in wpForo Settings > Features Tab"
1314
+ msgstr ""
1315
+ "Esta opção depende da opção principal \"Habilitar nomes de ranking dos "
1316
+ "membros\", que está localizada em Configurações wpForo > Aba de recursos"
1317
 
1318
+ #: wpf-admin/options-tabs/members.php:140
1319
+ msgid "Enable Reputation Badges for selected usergroups"
1320
+ msgstr "Habilitar emblemas de ranking para os grupos de usuários selecionados"
1321
 
1322
+ #: wpf-admin/options-tabs/members.php:141
1323
+ msgid ""
1324
+ "This option depends on \"Enable Member Rating\" parent option, witch located "
1325
+ "in wpForo Settings > Features Tab"
1326
+ msgstr ""
1327
+ "Esta opção depende da opção principal \"Ativar ranking do membro\", que está "
1328
+ "localizada na configuração do wpForo > Aba de Recursos"
1329
 
1330
+ #: wpf-admin/options-tabs/members.php:154
1331
+ msgid "Display Usergroup under Post Author Avatar"
1332
+ msgstr "Mostrar Grupo de Usuário abaixo do avatar do autor"
1333
 
1334
+ #: wpf-admin/options-tabs/plugins.php:9
1335
+ msgid ""
1336
+ "Thank you for using wpForo. wpForo is a premium forum plugin which will "
1337
+ "always be available for free. There will never be paid and pro versions of "
1338
+ "this forum board. However this is a very large and hard project so we also "
1339
+ "develop paid addons (extensions), which will financially help us to keep "
1340
+ "improving and adding new features to the free wpForo plugin. Forum addons "
1341
+ "will also be actively developed. The first addons \"Advanced Media Uploader"
1342
+ "\", \"Polls\", \"Private Messages\" and \"Ad Manager\" will be available "
1343
+ "very soon. Once you got some addon and activated that, you will find "
1344
+ "settings in vertical subTabs here."
1345
+ msgstr ""
1346
+ "Obrigado por usar o wpForo. O wpForo é um plugin de fórum premium que sempre "
1347
+ "estará disponível gratuitamente. Nunca haverá versões pagas e pro deste "
1348
+ "fórum. No entanto, este é um projeto muito grande e difícil, por isso também "
1349
+ "desenvolvemos complementos pagos (extensões), o que nos ajudará "
1350
+ "financeiramente a continuar melhorando e adicionando novos recursos ao "
1351
+ "plugin wpForo gratuito. Os complementos do fórum também serão ativamente "
1352
+ "desenvolvidos. Os primeiros complementos \"Upload de Media avançada\", "
1353
+ "\"Enquetes\", \"Mensagens privadas\" e \"Gerenciador de Anúncios\" estarão "
1354
+ "disponíveis em breve. Uma vez que você tenha algum complemento e ativa-lo, "
1355
+ "você vai encontrar suas configurações nas abas verticais aqui."
1356
+
1357
+ #: wpf-admin/options-tabs/posts.php:14
1358
+ msgid "Recent Posts Display Type"
1359
+ msgstr "Tipo de visualização das postagens recentes"
1360
+
1361
+ #: wpf-admin/options-tabs/posts.php:23 wpf-includes/wpf-phrases.php:213
1362
+ msgid "Number of Topics per Page"
1363
+ msgstr "Número de tópicos por página"
1364
 
1365
+ #: wpf-admin/options-tabs/posts.php:27 wpf-includes/wpf-phrases.php:30
1366
+ msgid "Allow Edit Own Topic for"
1367
+ msgstr "Permitir edição do Próprio Tópico por"
1368
 
1369
+ #: wpf-admin/options-tabs/posts.php:31 wpf-includes/wpf-phrases.php:27
1370
+ msgid "Allow Delete Own Topic for"
1371
+ msgstr "Permitir exclusão do Próprio Tópico com"
1372
 
1373
+ #: wpf-admin/options-tabs/posts.php:35 wpf-includes/wpf-phrases.php:212
1374
+ msgid "Number of Posts per Page"
1375
+ msgstr "Número de posts por página"
1376
 
1377
+ #: wpf-admin/options-tabs/posts.php:39 wpf-includes/wpf-phrases.php:29
1378
+ msgid "Allow Edit Own Post for"
1379
+ msgstr "Permitir editar próprio post com"
1380
 
1381
+ #: wpf-admin/options-tabs/posts.php:43 wpf-includes/wpf-phrases.php:28
1382
+ msgid "Allow Delete Own post for"
1383
+ msgstr "Permitir excluir próprio post com"
1384
 
1385
+ #: wpf-admin/options-tabs/posts.php:49 wpf-includes/wpf-phrases.php:169
1386
+ msgid "Maximum upload file size"
1387
+ msgstr "Tamanho máximo do arquivo de upload"
1388
 
1389
+ #: wpf-admin/options-tabs/posts.php:50 wpf-includes/wpf-phrases.php:370
1390
+ msgid ""
1391
+ "You can not set this value more than \"upload_max_filesize\" and "
1392
+ "\"post_max_size\". If you want to increase server parameters please contact "
1393
+ "to your hosting service support."
1394
+ msgstr ""
1395
+ "Você não pode definir esse valor maior do que \"upload_max_filesize\" e "
1396
+ "\"post_max_size\". Se você quiser aumentar os parâmetros do servidor, entre "
1397
+ "em contato com o suporte do seu serviço de hospedagem."
1398
 
1399
+ #: wpf-admin/options-tabs/posts.php:53 wpf-includes/wpf-phrases.php:166
1400
+ msgid "MB"
1401
+ msgstr "MB"
1402
 
1403
+ #: wpf-admin/options-tabs/posts.php:56 wpf-includes/wpf-phrases.php:288
1404
+ msgid "Server \"upload_max_filesize\" is "
1405
+ msgstr "O valor \"upload_max_filesize\" do servidor é "
1406
 
1407
+ #: wpf-admin/options-tabs/posts.php:57 wpf-includes/wpf-phrases.php:287
1408
+ msgid "Server \"post_max_size\" is "
1409
+ msgstr "O valor \"post_max_size\" do servidor é "
1410
 
1411
+ #: wpf-admin/options-tabs/posts.php:65
1412
+ msgid "Attachment click - message for non-permitted users"
1413
+ msgstr "Click em anexo - mensagem para usuários não autorizados"
1414
 
1415
+ #: wpf-admin/options-tabs/posts.php:66
1416
+ msgid ""
1417
+ "This message will be displayed when a non-permitted forum member clicks on "
1418
+ "attached file link in topic and posts."
1419
+ msgstr ""
1420
+ "Esta mensagem será exibida quando um membro do fórum não esta autorizado a "
1421
+ "clicar no link de arquivo anexado no tópico e posts."
1422
 
1423
+ #: wpf-admin/options-tabs/styles.php:13
1424
+ msgid "Font Sizes"
1425
+ msgstr "Tamanhos de Fonte"
1426
 
1427
+ #: wpf-admin/options-tabs/styles.php:28 wpf-includes/wpf-phrases.php:480
1428
+ msgid "Post Content"
1429
+ msgstr "Conteúdo do Post"
1430
 
1431
+ #: wpf-admin/options-tabs/styles.php:36 wpf-includes/wpf-phrases.php:61
1432
+ msgid "Custom CSS Code"
1433
+ msgstr "Código CSS personalizado"
1434
 
1435
+ #: wpf-admin/options-tabs/styles.php:43
1436
+ msgid "Forum Color Styles"
1437
+ msgstr "Estilos de cores do Fórum"
1438
 
1439
+ #: wpf-admin/options-tabs/styles.php:43
1440
+ msgid "Documentation"
1441
+ msgstr "Documentação"
1442
 
1443
+ #: wpf-admin/options.php:8 wpf-includes/wpf-phrases.php:117
1444
+ msgid "Forum Settings"
1445
+ msgstr "Configurações do Fórum"
1446
 
1447
+ #: wpf-admin/options.php:14 wpf-includes/wpf-phrases.php:129
1448
+ msgid "General"
1449
+ msgstr "Geral"
1450
 
1451
+ #: wpf-admin/options.php:16 wpf-includes/wpf-phrases.php:105
1452
+ msgid "Forum Accesses"
1453
+ msgstr "Acessos do fórum"
1454
 
1455
+ #: wpf-admin/options.php:17 wpf-includes/wpf-phrases.php:339
1456
+ msgid "Topics &amp; Posts"
1457
+ msgstr "Tópicos &amp; Posts"
1458
 
1459
+ #: wpf-admin/options.php:19 wpf-includes/wpf-phrases.php:76
1460
+ msgid "Emails"
1461
+ msgstr "E-mails"
1462
 
1463
+ #: wpf-admin/options.php:20 wpf-includes/wpf-phrases.php:96
1464
+ msgid "Features"
1465
+ msgstr "Recursos"
1466
 
1467
+ #: wpf-admin/options.php:22 wpf-includes/wpf-phrases.php:311
1468
+ msgid "Styles"
1469
+ msgstr "Estilos"
1470
 
1471
+ #: wpf-admin/options.php:23
1472
+ msgid "API's"
1473
+ msgstr "API's"
1474
 
1475
+ #: wpf-admin/phrase.php:10 wpf-includes/wpf-phrases.php:127
1476
+ msgid "Front-end Phrases"
1477
+ msgstr "Painel de Tradução"
1478
 
1479
+ #: wpf-admin/themes.php:9 wpf-includes/wpf-phrases.php:120
1480
+ msgid "Forum Themes"
1481
+ msgstr "Temas do Fórum"
1482
 
1483
+ #: wpf-admin/themes.php:46 wpf-includes/wpf-phrases.php:60
1484
+ msgid "Current active theme"
1485
+ msgstr "Tema ativo atualmente"
1486
 
1487
+ #: wpf-admin/themes.php:48 wpf-includes/wpf-phrases.php:138
1488
+ msgid "Inactive"
1489
+ msgstr "Inativo"
1490
 
1491
+ #: wpf-admin/themes.php:52 wpf-includes/wpf-phrases.php:143
1492
+ msgid "LAYOUTS"
1493
+ msgstr "LAYOUTS"
1494
 
1495
+ #: wpf-admin/themes.php:68 wpf-includes/wpf-phrases.php:17
1496
+ msgid "Activate"
1497
+ msgstr "Ativar"
1498
 
1499
+ #: wpf-admin/themes.php:69 wpf-includes/wpf-phrases.php:124
1500
+ msgid "Fresh Installation"
1501
+ msgstr "Instalação rápida"
1502
 
1503
+ #: wpf-admin/themes.php:71 wpf-includes/wpf-phrases.php:140
1504
+ msgid "Install"
1505
+ msgstr "Instalar"
1506
 
1507
+ #: wpf-admin/themes.php:73 wpf-includes/wpf-phrases.php:38
1508
+ msgid "Are you sure you want to delete this theme files?"
1509
+ msgstr "Tem certeza de que deseja excluir esses arquivos de tema?"
1510
 
1511
+ #: wpf-admin/themes.php:76 wpf-includes/wpf-phrases.php:40
1512
+ msgid ""
1513
+ "Are you sure you want to reset all settings and style colors to default?"
1514
+ msgstr ""
1515
+ "Tem certeza de que deseja redefinir todas as configurações e estilo de cores "
1516
+ "para o padrão?"
1517
 
1518
+ #: wpf-admin/themes.php:76 wpf-includes/wpf-phrases.php:268
1519
+ msgid "Reset Settings"
1520
+ msgstr "Redefinir configurações"
1521
 
1522
+ #: wpf-admin/themes.php:96 wpf-includes/wpf-phrases.php:201
1523
+ msgid "No layout found"
1524
+ msgstr "Nenhum layout encontrado"
1525
 
1526
+ #: wpf-admin/themes.php:107 wpf-includes/wpf-phrases.php:206
1527
+ msgid "No theme found"
1528
+ msgstr "Nenhum tema encontrado"
1529
 
1530
+ #: wpf-admin/tools-tabs/antispam.php:11
1531
+ msgid ""
1532
+ "is not installed! For an advanced Spam Control please install Akismet "
1533
+ "antispam plugin, it works well with wpForo Spam Control system. Akismet is "
1534
+ "already integrated with wpForo. It'll help to filter posts and protect forum "
1535
+ "against spam attacks."
1536
+ msgstr ""
1537
+ "não está instalado! Para um controle avançado de spam, instale o plugin "
1538
+ "kismet antispam, ele funciona bem com o sistema de controle de spam do "
1539
+ "wpForo. Akismet já está integrado com o wpForo. Isso ajudará a filtrar posts "
1540
+ "e proteger o fórum contra ataques de spam."
1541
 
1542
+ #: wpf-admin/tools-tabs/antispam.php:21
1543
+ msgid "Spam Control"
1544
+ msgstr "Controle de Spam"
1545
 
1546
+ #: wpf-admin/tools-tabs/antispam.php:22
1547
+ msgid ""
1548
+ "Some useful options to limit just registered users and minimize spam. This "
1549
+ "control don't affect users whose Usergroup has \"Can edit member\" and \"Can "
1550
+ "pass moderation\" permissions."
1551
+ msgstr ""
1552
+ "Algumas opções úteis para limitar apenas usuários registrados e minimizar o "
1553
+ "spam. Este controle não afeta os usuários cujo grupo de usuários possui "
1554
+ "permissões \"Pode editar membros\" e \"Pode passar a moderação\"."
1555
 
1556
+ #: wpf-admin/tools-tabs/antispam.php:28
1557
+ msgid "Enable wpForo Spam Control"
1558
+ msgstr "Ativar controle de Spam do wpForo"
 
 
 
 
1559
 
1560
+ #: wpf-admin/tools-tabs/antispam.php:37
1561
+ msgid "Ban user when spam is suspected"
1562
+ msgstr "Banir usuário quando houver suspeita de spam"
1563
 
1564
+ #: wpf-admin/tools-tabs/antispam.php:46
1565
+ msgid "Notify via email when new user is banned"
1566
+ msgstr "Notificar via e-mail quando um novo usuário for banido"
1567
 
1568
+ #: wpf-admin/tools-tabs/antispam.php:55
1569
+ msgid "Spam Suspicion Level for Topics"
1570
+ msgstr "Nível de suspeita de spam por Tópicos"
1571
 
1572
+ #: wpf-admin/tools-tabs/antispam.php:59
1573
+ msgid "Spam Suspicion Level for Posts"
1574
+ msgstr "Nível de suspeita de spam por Posts"
1575
 
1576
+ #: wpf-admin/tools-tabs/antispam.php:64
1577
+ msgid " is enabled"
1578
+ msgstr " está habilitado"
1579
 
1580
+ #: wpf-admin/tools-tabs/antispam.php:73
1581
+ msgid "New Registered User"
1582
+ msgstr "Novo usuário registrado"
1583
 
1584
+ #: wpf-admin/tools-tabs/antispam.php:74
1585
+ msgid ""
1586
+ "Some useful options to limit just registered users and minimize spam. These "
1587
+ "options don't affect users whose Usergroup has \"Can edit member\" and \"Can "
1588
+ "pass moderation\" permissions."
1589
+ msgstr ""
1590
+ "Algumas opções úteis para limitar apenas usuários registrados e minimizar o "
1591
+ "spam. Essas opções não afetam os usuários cujo o Grupo de Usuário tem as "
1592
+ "permissões \"pode editar membros\" e \"pode passar a moderação\"."
1593
 
1594
+ #: wpf-admin/tools-tabs/antispam.php:81
1595
+ msgid "User is New (under hard spam control) during"
1596
+ msgstr "Um usuário é considerado novo (sob controle de spam rígido) durante"
1597
 
1598
+ #: wpf-admin/tools-tabs/antispam.php:83
1599
+ msgid "first"
1600
+ msgstr "primeiros"
1601
 
1602
+ #: wpf-admin/tools-tabs/antispam.php:83
1603
+ msgid "posts"
1604
+ msgstr "posts"
1605
 
1606
+ #: wpf-admin/tools-tabs/antispam.php:86
1607
+ msgid "Min number of posts to be able attach files"
1608
+ msgstr "Quantidade mínima de mensagens para poder anexar arquivos"
1609
 
1610
+ #: wpf-admin/tools-tabs/antispam.php:90
1611
+ msgid "Min number of posts to be able post links"
1612
+ msgstr "Quantidade mínima de posts para poder postar links"
1613
 
1614
+ #: wpf-admin/tools-tabs/antispam.php:95
1615
+ msgid "Do not allow to attach files with following extensions:"
1616
+ msgstr "Não permitir anexo de arquivos com as seguintes extensões:"
1617
 
1618
+ #: wpf-admin/tools-tabs/antispam.php:105
1619
+ msgid "Google reCAPTCHA"
1620
+ msgstr "reCAPTCHA do Google"
1621
 
1622
+ #: wpf-admin/tools-tabs/antispam.php:106
1623
+ msgid ""
1624
+ "reCAPTCHA protects you against spam and other types of automated abuse. It "
1625
+ "makes secure topic and post editors when Guest Posting is allowed, also it "
1626
+ "protects login and registration forms against spam attacks."
1627
+ msgstr ""
1628
+ "reCAPTCHA protege você contra spam e outros tipos de abuso automatizado. "
1629
+ "Isso torna o tópico seguro e os editores de postagem, quando a postagem de "
1630
+ "convidado é permitida, também protege os formulários de login e registro "
1631
+ "contra ataques de spam."
1632
 
1633
+ #: wpf-admin/tools-tabs/antispam.php:108
1634
+ msgid "reCAPTCHA API keys"
1635
+ msgstr "API de Chaves reCAPTCHA"
1636
 
1637
+ #: wpf-admin/tools-tabs/antispam.php:110
1638
+ msgid ""
1639
+ "To start using reCAPTCHA, you need to sign up for an API key pair for your "
1640
+ "site."
1641
+ msgstr ""
1642
+ "Para começar a usar o reCAPTCHA, você precisa se inscrever para ter algumas "
1643
+ "chaves da API para o seu site."
1644
 
1645
+ #: wpf-admin/tools-tabs/antispam.php:111
1646
+ msgid "Register your site and get API keys here &raquo;"
1647
+ msgstr "Registre seu site e obtenha chaves da API aqui &raquo;"
1648
 
1649
+ #: wpf-admin/tools-tabs/antispam.php:118
1650
+ msgid "Site Key"
1651
+ msgstr "Site Key"
1652
 
1653
+ #: wpf-admin/tools-tabs/antispam.php:124
1654
+ msgid "Secret Key"
1655
+ msgstr "Secret Key"
1656
 
1657
+ #: wpf-admin/tools-tabs/antispam.php:131
1658
+ msgid "reCAPTCHA Settings"
1659
+ msgstr "Configurações do reCAPTCHA"
1660
 
1661
+ #: wpf-admin/tools-tabs/antispam.php:136
1662
+ msgid "reCAPTCHA Theme"
1663
+ msgstr "Tema do reCAPTCHA"
1664
 
1665
+ #: wpf-admin/tools-tabs/antispam.php:139
1666
+ msgid "Light"
1667
+ msgstr "Claro"
1668
 
1669
+ #: wpf-admin/tools-tabs/antispam.php:140
1670
+ msgid "Dark"
1671
+ msgstr "Escuro"
1672
 
1673
+ #: wpf-admin/tools-tabs/antispam.php:145
1674
+ msgid "Guest Topic Editor"
1675
+ msgstr "Editor de tópicos de convidados"
1676
 
1677
+ #: wpf-admin/tools-tabs/antispam.php:154
1678
+ msgid "Guest Post Editor"
1679
+ msgstr "Editor de postagens de convidado"
1680
 
1681
+ #: wpf-admin/tools-tabs/antispam.php:164
1682
+ msgid "wpForo Login Form"
1683
+ msgstr "Formulário de login do wpForo"
1684
 
1685
+ #: wpf-admin/tools-tabs/antispam.php:173
1686
+ msgid "wpForo Registration Form"
1687
+ msgstr "Formulário de inscrição do wpForo"
1688
 
1689
+ #: wpf-admin/tools-tabs/antispam.php:182
1690
+ msgid "wpForo Reset Password Form"
1691
+ msgstr "Formulário de redefinição de senha do wpForo"
1692
 
1693
+ #: wpf-admin/tools-tabs/antispam.php:191
1694
+ msgid "WordPress Login Form"
1695
+ msgstr "Formulário de login do WordPress"
1696
 
1697
+ #: wpf-admin/tools-tabs/antispam.php:200
1698
+ msgid "WordPress Registration Form"
1699
+ msgstr "Formulário de registro do WordPress"
1700
 
1701
+ #: wpf-admin/tools-tabs/antispam.php:209
1702
+ msgid "WordPress Reset Password Form"
1703
+ msgstr "Formulário de redefinição de senha do WordPress"
1704
 
1705
+ #: wpf-admin/tools-tabs/antispam.php:228
1706
+ msgid "Possible Spam Attachments"
1707
+ msgstr "Possíveis anexos de spam"
1708
 
1709
+ #: wpf-admin/tools-tabs/antispam.php:229
1710
+ msgid ""
1711
+ "This tool is designed to find attachment which have been uploaded by "
1712
+ "spammers. The tool checks most common spammer filenames and suggest to "
1713
+ "delete but you should check one by one and make sure those are spam files "
1714
+ "before deleting."
1715
+ msgstr ""
1716
+ "Esta ferramenta é projetada para encontrar os anexos que foram carregados "
1717
+ "por spammers. A ferramenta verifica os nomes mais comuns de spammers e "
1718
+ "sugere a exclusão, mas você deve verificar um por um e certifique-se que são "
1719
+ "arquivos de spam antes de excluir."
1720
 
1721
+ #: wpf-admin/tools-tabs/antispam.php:231
1722
+ msgid "Directory"
1723
+ msgstr "Diretório"
1724
 
1725
+ #: wpf-admin/tools-tabs/antispam.php:258
1726
+ msgid "Delete this file"
1727
+ msgstr "Apagar este arquivo"
1728
 
1729
+ #: wpf-admin/tools-tabs/antispam.php:258
1730
+ msgid "Are you sure you want to permanently delete this file?"
1731
+ msgstr "Tem certeza de que deseja excluir permanentemente este arquivo?"
1732
 
1733
+ #: wpf-admin/tools-tabs/antispam.php:269
1734
+ msgid "Click to delete Blue marked files"
1735
+ msgstr "Clique para apagar arquivos marcados em azul"
1736
 
1737
+ #: wpf-admin/tools-tabs/antispam.php:270
1738
+ msgid ""
1739
+ "Are you sure you want to delete all BLUE marked files listed here. Please "
1740
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1741
+ "before deleting files, this is not undoable."
1742
+ msgstr ""
1743
+ "Tem certeza de que deseja excluir todos os arquivos marcados AZUL listados "
1744
+ "aqui. Por favor faça o download da pasta do Wordpress /wp-content/uploads/"
1745
+ "wpforo/ para o seu computador antes de excluir arquivos, Isso não é "
1746
+ "reversível."
1747
 
1748
+ #: wpf-admin/tools-tabs/antispam.php:271 wpf-admin/tools-tabs/antispam.php:277
1749
+ #: wpf-admin/tools-tabs/antispam.php:283 wpf-admin/tools-tabs/antispam.php:289
1750
+ msgid "Delete All"
1751
+ msgstr "Deletar Todos"
1752
 
1753
+ #: wpf-admin/tools-tabs/antispam.php:274
1754
+ msgid "Click to delete Orange marked files"
1755
+ msgstr "Clique para apagar arquivos marcados em laranja"
1756
 
1757
+ #: wpf-admin/tools-tabs/antispam.php:276
1758
+ msgid ""
1759
+ "Are you sure you want to delete all ORANGE marked files listed here. Please "
1760
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1761
+ "before deleting files, this is not undoable."
1762
+ msgstr ""
1763
+ "Tem certeza de que deseja excluir todos os arquivos marcados de LARANJA "
1764
+ "listados aqui. Por favor faça o download da pasta do Wordpress /wp-content/"
1765
+ "uploads/wpforo/ para o seu computador antes de excluir arquivos, Isso não é "
1766
+ "reversível."
1767
 
1768
+ #: wpf-admin/tools-tabs/antispam.php:280
1769
+ msgid "Click to delete Red marked files"
1770
+ msgstr "Clique para apagar arquivos marcados em vermelho"
1771
 
1772
+ #: wpf-admin/tools-tabs/antispam.php:282
1773
+ msgid ""
1774
+ "Are you sure you want to delete all RED marked files listed here. Please "
1775
+ "download Wordpress /wp-content/uploads/wpforo/ folder to your local computer "
1776
+ "before deleting files, this is not undoable."
1777
+ msgstr ""
1778
+ "Tem certeza de que deseja excluir todos os arquivos marcados em VERMELHO "
1779
+ "listados aqui. Por favor faça o download da pasta do Wordpress /wp-content/"
1780
+ "uploads/wpforo/ para o seu computador antes de excluir arquivos, Isso não é "
1781
+ "reversível."
1782
 
1783
+ #: wpf-admin/tools-tabs/antispam.php:286
1784
+ msgid "Click to delete Dark Red marked files"
1785
+ msgstr "Clique para apagar arquivos marcados em vermelho escuro"
1786
 
1787
+ #: wpf-admin/tools-tabs/antispam.php:288
1788
+ msgid ""
1789
+ "Are you sure you want to delete all DARK RED marked files listed here. "
1790
+ "Please download Wordpress /wp-content/uploads/wpforo/ folder to your local "
1791
+ "computer before deleting files, this is not undoable."
1792
+ msgstr ""
1793
+ "Tem certeza de que deseja excluir todos os arquivos marcados em VERMELHO "
1794
+ "ESCURO listados aqui. Por favor faça o download da pasta do Wordpress /wp-"
1795
+ "content/uploads/wpforo/ para o seu computador antes de excluir arquivos, "
1796
+ "Isso não é reversível."
1797
 
1798
+ #: wpf-admin/tools-tabs/cleanup.php:12
1799
+ msgid "Delete Inactive Users"
1800
+ msgstr "Deletar usuários inativos"
1801
 
1802
+ #: wpf-admin/tools-tabs/cleanup.php:13
1803
+ msgid ""
1804
+ "Inactive users are the account owners who have no topics, posts, comments "
1805
+ "and subscriptions for new content. In 99&#37; cases this kind of accounts "
1806
+ "are being registered by Spammers. This tool allows you to only keep active "
1807
+ "and known inactive users."
1808
+ msgstr ""
1809
+ "Usuários inativos são as contas que não têm tópicos, postagens, comentários "
1810
+ "e inscrição de novos conteúdos. Em 99&#37; das vezes, este tipo de contas "
1811
+ "estão sendo registradas pelos Spammers. Esta ferramenta permite que você "
1812
+ "mantenha usuários ativos e descubra os inativos."
1813
 
1814
+ #: wpf-admin/tools-tabs/cleanup.php:19
1815
+ msgid "Inactive users who have been registered more than"
1816
+ msgstr "Usuários inativos que foram registrados mais do que"
1817
 
1818
+ #: wpf-admin/tools-tabs/cleanup.php:20
1819
+ msgid "days ago"
1820
+ msgstr "dias atrás"
1821
 
1822
+ #: wpf-admin/tools-tabs/cleanup.php:25
1823
+ msgid "Filter by Usergroups"
1824
+ msgstr "Filtrar por Grupo de usuários"
1825
 
1826
+ #: wpf-admin/tools-tabs/cleanup.php:36
1827
+ msgid "Enable Auto-cleanup of inactive users"
1828
+ msgstr "Habilitar a limpeza automática de usuários inativos"
1829
 
1830
+ #: wpf-admin/tools-tabs/misc.php:10
1831
+ msgid "SEO Tools"
1832
+ msgstr "Ferramentas de SEO"
1833
 
1834
+ #: wpf-admin/tools-tabs/misc.php:18
1835
+ msgid "Allowed dofollow domains"
1836
+ msgstr "Domínios dofollow permitidos"
1837
 
1838
+ #: wpf-admin/tools-tabs/misc.php:19
1839
+ msgid ""
1840
+ "wpForo adds nofollow to all links with external URLs. If you want to keep "
1841
+ "some domains as internal please insert domains one per line in the textarea "
1842
+ "bellow."
1843
+ msgstr ""
1844
+ "wpForo adiciona nofollow a todos os links de URLs externas. Se você quiser "
1845
+ "manter alguns domínios como interno, por favor insira os domínios na área "
1846
+ "abaixo, um por linha."
1847
 
1848
+ #: wpf-admin/tools-tabs/misc.php:26
1849
+ msgid "Noindex forum page URLs"
1850
+ msgstr "URLs de páginas Noindex do fórum"
1851
 
1852
+ #: wpf-admin/tools-tabs/misc.php:27
1853
+ msgid ""
1854
+ "The noIndex code tells Google and other search engines to NOT index the "
1855
+ "page, so that it cannot be found in search results. Please insert page URLs "
1856
+ "you do not want to be indexed one per line in the textarea bellow."
1857
+ msgstr ""
1858
+ "O código noindex informa o Google e outros mecanismos de pesquisa para não "
1859
+ "indexarem a página, de modo que ela não pode ser encontrada nos resultados "
1860
+ "da pesquisa. Por favor, insira as URLs de página que você não deseja que "
1861
+ "sejam indexada, um por linha na área de texto abaixo."
1862
 
1863
+ #: wpf-admin/tools.php:8
1864
+ msgid "Forum Tools"
1865
+ msgstr "Ferramentas do Fórum"
 
 
 
 
1866
 
1867
+ #: wpf-admin/tools.php:14
1868
+ msgid "Antispam"
1869
+ msgstr "Antispam"
1870
 
1871
+ #: wpf-admin/tools.php:15
1872
+ msgid "Cleanup"
1873
+ msgstr "Fazer limpeza"
1874
 
1875
+ #: wpf-admin/tools.php:16
1876
+ msgid "Misc"
1877
+ msgstr "Diversos"
1878
 
1879
+ #: wpf-admin/usergroup.php:18
1880
+ msgid "Usergroup id"
1881
+ msgstr "ID do Grupo de Usuários"
1882
 
1883
+ #: wpf-admin/usergroup.php:19 wpf-admin/usergroup.php:44
1884
+ #: wpf-admin/usergroup.php:87
1885
+ msgid "Usergroup Name"
1886
+ msgstr "Nome do grupo de usuários"
1887
 
1888
+ #: wpf-admin/usergroup.php:20
1889
+ msgid "Users Count"
1890
+ msgstr "Quantidade de usuários"
1891
 
1892
+ #: wpf-admin/usergroup.php:21
1893
+ msgid "New Users Default Group"
1894
+ msgstr "Grupo Padrão de Novos Usuários"
1895
 
1896
+ #: wpf-admin/usergroup.php:22
1897
+ msgid "Default Access"
1898
+ msgstr "Acesso Padrão"
1899
 
1900
+ #: wpf-admin/usergroup.php:34
1901
+ msgid "Edit this usergroup"
1902
+ msgstr "Editar este grupo de usuários"
1903
 
1904
+ #: wpf-admin/usergroup.php:34 wpf-includes/wpf-phrases.php:73
1905
+ msgid "Edit"
1906
+ msgstr "Editar"
1907
 
1908
+ #: wpf-admin/usergroup.php:36
1909
+ msgid "Delete this usergroup"
1910
+ msgstr "Excluir este grupo de usuários"
1911
 
1912
+ #: wpf-admin/usergroup.php:38
1913
+ msgid "View users list in this usergroup"
1914
+ msgstr "Ver lista de usuários deste grupo de usuários"
1915
 
1916
+ #: wpf-admin/usergroup.php:50
1917
+ msgid "Count of users in this usergroup"
1918
+ msgstr "Quantidade de usuários neste grupo de usuários"
1919
 
1920
+ #: wpf-admin/usergroup.php:55
1921
+ msgid "is Default"
1922
+ msgstr "é padrão"
1923
 
1924
+ #: wpf-admin/usergroup.php:57
1925
+ msgid "DO NOT set this option on higher level user groups !!!"
1926
+ msgstr "NÃO configure esta opção em grupos de usuários de nível superior !!!"
1927
 
1928
+ #: wpf-admin/usergroup.php:57
1929
+ msgid "Set as Default"
1930
+ msgstr "Definir como padrão"
1931
 
1932
+ #: wpf-admin/usergroup.php:65
1933
+ msgid "default (#15)"
1934
+ msgstr "padrão (#15)"
1935
 
1936
+ #: wpf-admin/usergroup.php:87 wpf-includes/wpf-phrases.php:133
1937
+ msgid "Guest"
1938
+ msgstr "Convidado"
1939
 
1940
+ #: wpf-admin/usergroup.php:102
1941
+ msgid "Usergroup Color"
1942
+ msgstr "Cor do Grupo de Usuário"
1943
 
1944
+ #: wpf-admin/usergroup.php:103
1945
+ msgid "use default link color"
1946
+ msgstr "usar a cor de link padrão"
1947
 
1948
+ #: wpf-admin/usergroup.php:124
1949
+ msgid "WordPress User Role"
1950
+ msgstr "Função de usuário do WordPress"
1951
 
1952
+ #: wpf-admin/usergroup.php:133
1953
+ msgid "Default Forum Access"
1954
+ msgstr "Acesso padrão do Fórum"
1955
 
1956
+ #: wpf-admin/usergroup.php:141
1957
+ msgid ""
1958
+ "This is only used when a new Usergroup is created, it automatically gets the "
1959
+ "selected Forum Access in all forums."
1960
+ msgstr ""
1961
+ "Isso só é usado quando um novo Grupo de Usuários é criado, ele recebe "
1962
+ "automaticamente o Acesso do Fórum selecionado em todos os fóruns."
1963
 
1964
+ #: wpf-admin/usergroup.php:145
1965
+ msgid "Display on Members List"
1966
+ msgstr "Exibir na Lista de Membros"
1967
 
1968
+ #: wpf-admin/usergroup.php:164 wpf-includes/wpf-phrases.php:374
1969
+ msgid "add"
1970
+ msgstr "adicionar"
1971
 
1972
+ #: wpf-admin/usergroup.php:164
1973
+ msgid "save"
1974
+ msgstr "salvar"
1975
 
1976
+ #: wpf-admin/usergroup.php:185
1977
+ msgid "Delete Chosen Usergroup And Users"
1978
+ msgstr "Excluir usuários e Grupos selecionados"
1979
 
1980
+ #: wpf-admin/usergroup.php:195
1981
+ msgid "Delete Chosen Usergroup And Join Users To Other Usergroup"
1982
+ msgstr ""
1983
+ "Excluir o grupo selecionado e juntar usuários a outros grupos de usuário"
1984
 
1985
+ #: wpf-admin/usergroup.php:207
1986
+ msgid "Users will be join this usergroup"
1987
+ msgstr "Os usuários vão se juntar a este Grupo"
1988
 
1989
+ #: wpf-includes/class-api.php:140
1990
+ msgid "Please login into Facebook and then click connect button again"
1991
+ msgstr "Faça o login no Facebook e clique novamente em no botão de conectar"
 
1992
 
1993
+ #: wpf-includes/class-api.php:167
1994
+ msgid ""
1995
+ "Your email is required to be able authorize you here. Please try loging "
1996
+ "again. "
1997
+ msgstr ""
1998
+ "Seu e-mail é necessário para poder autorizá-lo aqui. Tente fazer login "
1999
+ "novamente. "
2000
 
2001
+ #: wpf-includes/class-api.php:172
2002
+ msgid "Invalid User"
2003
+ msgstr "Usuário Inválido"
 
2004
 
2005
+ #: wpf-includes/class-api.php:182 wpf-includes/wpf-phrases.php:639
2006
+ msgid "User registration is disabled"
2007
+ msgstr "O registro de usuário está desativado"
2008
 
2009
+ #: wpf-includes/class-forums.php:666
2010
+ msgid "Add a new Subforum"
2011
+ msgstr "Adicionar um novo SubForum"
2012
 
2013
+ #: wpf-includes/class-forums.php:666
2014
+ msgid "Add a new Forum in this Category"
2015
+ msgstr "Adicionar um novo fórum nesta categoria"
2016
 
2017
+ #: wpf-includes/class-members.php:240
2018
+ msgid "<strong>ERROR</strong>: Please enter a username."
2019
+ msgstr "<strong>ERRO</strong>: Por favor, insira um nome de usuário."
2020
 
2021
+ #: wpf-includes/class-members.php:244
2022
+ msgid ""
2023
+ "<strong>ERROR</strong>: This username is invalid because it uses illegal "
2024
+ "characters. Please enter a valid username."
2025
+ msgstr ""
2026
+ "<strong>ERRO</strong>: Esse nome de usuário é inválido porque ele usa "
2027
+ "caracteres inválidos. Por favor insira um nome de usuário válido."
2028
 
2029
+ #: wpf-includes/class-members.php:253
2030
+ msgid ""
2031
+ "<strong>ERROR</strong>: This username is already registered. Please choose "
2032
+ "another one."
2033
+ msgstr ""
2034
+ "<strong>ERRO</strong>: Esse nome de usuário já está registrado. Por favor, "
2035
+ "escolha outro."
2036
 
2037
+ #: wpf-includes/class-members.php:257
2038
+ msgid "<strong>ERROR</strong>: Sorry, that username is not allowed."
2039
+ msgstr "<strong>ERRO</strong>: Desculpe, esse nome de usuário não é permitido."
2040
 
2041
+ #: wpf-includes/class-members.php:261
2042
+ msgid "<strong>ERROR</strong>: Please type your email address."
2043
+ msgstr "<strong>ERRO</strong>: Por favor digite seu endereço de e-mail."
2044
 
2045
+ #: wpf-includes/class-members.php:265
2046
+ msgid "<strong>ERROR</strong>: The email address isn&#8217;t correct."
2047
+ msgstr "<strong>ERRO</strong>: Este endereço de e-mail não está correto."
2048
 
2049
+ #: wpf-includes/class-members.php:270
2050
+ msgid ""
2051
+ "<strong>ERROR</strong>: This email is already registered, please choose "
2052
+ "another one."
2053
+ msgstr ""
2054
+ "<strong>ERRO</strong>: Este e-mail já está registrado, por favor escolha "
2055
+ "outro."
2056
 
2057
+ #: wpf-includes/class-members.php:1309
2058
+ msgid "What should be done with wpForo content owned by this user?"
2059
+ msgstr ""
2060
+ "O que deve ser feito com o conteúdo wpForo de propriedade deste usuário?"
2061
 
2062
+ #: wpf-includes/class-members.php:1311
2063
+ msgid "What should be done with wpForo content owned by these users?"
2064
+ msgstr ""
2065
+ "O que deve ser feito com o conteúdo wpForo de propriedade desses usuários?"
2066
 
2067
+ #: wpf-includes/class-members.php:1315
2068
+ msgid "Delete all wpForo content."
2069
+ msgstr "Exclua todo o conteúdo wpForo."
2070
 
2071
+ #: wpf-includes/class-members.php:1317
2072
+ msgid "Attribute all content to:"
2073
+ msgstr "Atribua todo o conteúdo a:"
2074
 
2075
+ #: wpf-includes/class-moderation.php:159
2076
+ #, php-format
2077
+ msgid ""
2078
+ "Probably spam file attachments have been detected by wpForo Spam Control. "
2079
+ "Please moderate suspected files here %s"
2080
+ msgstr ""
2081
+ "Provavelmente os anexos de arquivos de spam foram detectados pelo Controle "
2082
+ "de Spam do wpForo. Por favor, modere os arquivos suspeitos aqui %s"
2083
 
2084
+ #: wpf-includes/class-notices.php:118 wpf-includes/wpf-phrases.php:69
2085
+ msgid "Dismiss this notice."
2086
+ msgstr "Descartar este aviso."
2087
 
2088
+ #: wpf-includes/class-notices.php:155
2089
+ msgid "New Addons for Your Forum!"
2090
+ msgstr "Novos Complementos para o seu fórum!"
2091
 
2092
+ #: wpf-includes/class-notices.php:155
2093
+ msgid "Extend your forum with wpForo addons"
2094
+ msgstr "Estenda o seu fórum com os Complementos wpForo"
2095
 
2096
+ #: wpf-includes/class-notices.php:168
2097
+ msgid "View all Addons"
2098
+ msgstr "Ver todos Complementos"
2099
 
2100
+ #: wpf-includes/class-permissions.php:125 wpf-includes/wpf-phrases.php:420
2101
+ #, php-format
2102
+ msgid "%s access successfully added"
2103
+ msgstr "%s acesso adicionado com sucesso"
2104
 
2105
+ #: wpf-includes/class-permissions.php:149 wpf-includes/wpf-phrases.php:421
2106
+ #, php-format
2107
+ msgid "%s access successfully edited"
2108
+ msgstr "%s acesso editado com sucesso"
2109
 
2110
+ #: wpf-includes/class-phrases.php:181 wpf-includes/wpf-phrases.php:7
2111
+ msgid " Forum"
2112
+ msgstr " Fórum"
2113
 
2114
+ #: wpf-includes/class-phrases.php:182 wpf-includes/wpf-phrases.php:6
2115
+ msgid " Discussion Board"
2116
+ msgstr " Fórum de discussão"
2117
 
2118
+ #: wpf-includes/class-posts.php:35
2119
+ msgid "You are not permitted to view this attachment"
2120
+ msgstr "Você não está autorizado a ver este anexo"
2121
 
2122
+ #: wpf-includes/class-template.php:80
2123
+ msgid "Insert link"
2124
+ msgstr "Inserir link"
2125
 
2126
+ #: wpf-includes/class-template.php:81
2127
+ msgid "Link Text"
2128
+ msgstr "Texto do link"
2129
 
2130
+ #: wpf-includes/class-template.php:82
2131
+ msgid "Open link in a new tab"
2132
+ msgstr "Abra link em nova aba"
2133
 
2134
+ #: wpf-includes/class-template.php:1403 wpf-includes/wpf-phrases.php:327
2135
+ msgid "Theme file not readable"
2136
+ msgstr "Arquivo de tema ilegível"
2137
 
2138
+ #: wpf-includes/functions-installation.php:665
2139
+ msgid "Start Profile Synchronization"
2140
+ msgstr "Iniciar sincronização de perfis"
2141
 
2142
+ #: wpf-includes/functions-installation.php:665
2143
+ msgid "Continue Synchronization"
2144
+ msgstr "Continuar Sincronização"
2145
 
2146
+ #: wpf-includes/functions-installation.php:668
2147
+ msgid ""
2148
+ "This process may take a few seconds or dozens of minutes, please be patient "
2149
+ "and don't close this page."
2150
+ msgstr ""
2151
+ "Este processo pode demorar alguns segundos ou vários minutos, por favor, "
2152
+ "seja paciente e não feche esta página."
2153
 
2154
+ #: wpf-includes/functions-installation.php:669
2155
+ msgid ""
2156
+ "You can permanently disable this message in Dashboard > Forums > Features "
2157
+ "admin page."
2158
+ msgstr ""
2159
+ "Você pode desativar permanentemente esta mensagem em Painel de Controle > "
2160
+ "Forums > Recursos de administração da página."
2161
 
2162
+ #: wpf-includes/functions-installation.php:671
2163
+ msgid "wpForo Forum Installation | "
2164
+ msgstr "Instalação do Fórum wpForo | "
2165
 
2166
+ #: wpf-includes/functions-installation.php:672
2167
+ msgid ""
2168
+ "Forum users' profile data are not synchronized yet, this step is required! "
2169
+ "Please click the button below to complete installation."
2170
+ msgstr ""
2171
+ "Os dados do perfil dos usuários do fórum ainda não estão sincronizados, esta "
2172
+ "tapa é necessária! Por favor, clique no botão abaixo para concluir a "
2173
+ "instalação."
2174
 
2175
+ #: wpf-includes/functions-installation.php:684
2176
+ msgid ""
2177
+ "This process may take a few seconds or dozens of minutes, please be patient "
2178
+ "and don't close this page. Database backup is not required. If you got 500 "
2179
+ "Server Error please don't worry, the data updating process is still working "
2180
+ "in MySQL server."
2181
+ msgstr ""
2182
+ "Esse processo pode demorar alguns segundos ou vários minutos, depende do "
2183
+ "tamanho do banco de dados do fórum e dos recursos do servidor. Por favor, "
2184
+ "seja paciente e não feche esta página. Se você lidar com o erro 500 de "
2185
+ "servidor, por favor não se preocupe, o processo de atualização de dados "
2186
+ "ainda está rodando de fundo, no servidor MySQL."
2187
 
2188
+ #: wpf-includes/functions-installation.php:685
2189
+ msgid "Updater Database"
2190
+ msgstr "Atualizador de Banco de Dados"
2191
 
2192
+ #: wpf-includes/functions-installation.php:686
2193
+ msgid "wpForo - Update Database "
2194
+ msgstr "wpForo - Atualização do Banco de Dados"
2195
 
2196
+ #: wpf-includes/functions-installation.php:687
2197
+ msgid "Please click the button below to complete wpForo update."
2198
+ msgstr "Clique no botão abaixo para completar a atualização do wpForo."
2199
 
2200
+ #: wpf-includes/functions-template.php:7
2201
+ msgid "wpForo Menu"
2202
+ msgstr "Menu do wpForo"
2203
 
2204
+ #: wpf-includes/functions-template.php:156 wpf-includes/wpf-phrases.php:410
2205
+ msgid "wpForo Sidebar"
2206
+ msgstr "Barra lateral do wpForo"
2207
 
2208
+ #: wpf-includes/functions-template.php:157 wpf-includes/wpf-phrases.php:191
2209
+ msgid ""
2210
+ "NOTE: If you're going to add widgets in this sidebar, please use 'Full "
2211
+ "Width' template for wpForo index page to avoid sidebar duplication."
2212
+ msgstr ""
2213
+ "Nota: se você estiver adicionando widgets nesta barra lateral, por favor use "
2214
+ "um layout 'Full Width' para a página de índice do wpForo para evitar a "
2215
+ "duplicação da barra lateral."
2216
 
2217
+ #: wpf-includes/functions-template.php:195
2218
+ #: wpf-includes/functions-template.php:301
2219
+ #: wpf-includes/functions-template.php:363
2220
+ #: wpf-includes/functions-template.php:445
2221
+ #: wpf-includes/functions-template.php:528
2222
+ #: wpf-includes/functions-template.php:574 wpf-includes/wpf-phrases.php:334
2223
+ msgid "Title"
2224
+ msgstr "Ranking"
2225
 
2226
+ #: wpf-includes/functions-template.php:366
2227
+ #: wpf-includes/functions-template.php:448
2228
+ #: wpf-includes/functions-template.php:531 wpf-includes/wpf-phrases.php:210
2229
+ msgid "Number of Items"
2230
+ msgstr "Número de itens"
2231
 
2232
+ #: wpf-includes/functions-template.php:371 wpf-includes/wpf-phrases.php:70
2233
+ msgid "Display Avatars"
2234
+ msgstr "Mostrar Avatares"
2235
 
2236
+ #: wpf-includes/functions-template.php:452
2237
+ #: wpf-includes/functions-template.php:535 wpf-includes/wpf-phrases.php:72
2238
+ msgid "Display with Avatars"
2239
+ msgstr "Mostrar com Avatares"
2240
 
2241
+ #: wpf-includes/functions.php:367
2242
+ msgid "Unapproved"
2243
+ msgstr "Reprovado"
2244
 
2245
+ #: wpf-includes/functions.php:368
2246
+ msgid "Published"
2247
+ msgstr "Publicado"
2248
 
2249
+ #: wpf-includes/functions.php:377 wpf-includes/wpf-phrases.php:598
2250
+ msgid "Active"
2251
+ msgstr "Ativo"
2252
 
2253
+ #: wpf-includes/functions.php:378
2254
+ msgid "Banned"
2255
+ msgstr "Banido"
2256
 
2257
+ #: wpf-includes/functions.php:391 wpf-includes/functions.php:693
2258
+ #: wpf-includes/wpf-phrases.php:50
2259
+ msgid "Bulk Actions"
2260
+ msgstr "Ações em massa"
2261
 
2262
+ #: wpf-includes/functions.php:396 wpf-includes/functions.php:797
2263
+ #: wpf-includes/wpf-phrases.php:36
2264
+ msgid "Apply"
2265
+ msgstr "Aplicar"
2266
 
2267
+ #: wpf-includes/functions.php:405 wpf-includes/wpf-phrases.php:300
2268
+ msgid "Show all forums"
2269
+ msgstr "Mostrar todos fóruns"
2270
 
2271
+ #: wpf-includes/functions.php:418 wpf-includes/wpf-phrases.php:350
2272
+ msgid "filter by group"
2273
+ msgstr "filtrar por grupo"
2274
 
2275
+ #: wpf-includes/functions.php:430
2276
+ msgid "filter by status"
2277
+ msgstr "filtrar por status"
2278
 
2279
+ #: wpf-includes/functions.php:446
2280
+ msgid "filter by package"
2281
+ msgstr "Filtrar por Pacote"
2282
 
2283
+ #: wpf-includes/functions.php:475
2284
+ msgid "filter by user"
2285
+ msgstr "filtrar por usuário"
2286
 
2287
+ #: wpf-includes/functions.php:495 wpf-includes/functions.php:701
2288
+ #: wpf-includes/wpf-phrases.php:385
2289
+ msgid "item"
2290
+ msgstr "item"
2291
 
2292
+ #: wpf-includes/functions.php:528 wpf-includes/functions.php:544
2293
+ #: wpf-includes/wpf-phrases.php:284
2294
+ msgid "Select All"
2295
+ msgstr "Selecionar Todos"
2296
 
2297
+ #: wpf-includes/functions.php:533 wpf-includes/functions.php:549
2298
+ msgid "Type"
2299
+ msgstr "Tipo"
2300
 
2301
+ #: wpf-includes/functions.php:606 wpf-includes/wpf-phrases.php:383
2302
+ msgid "edit user"
2303
+ msgstr "editar usuário"
2304
 
2305
+ #: wpf-includes/functions.php:610 wpf-includes/wpf-phrases.php:382
2306
+ msgid "edit profile"
2307
+ msgstr "editar perfil"
2308
 
2309
+ #: wpf-includes/functions.php:615
2310
+ msgid "unban user"
2311
+ msgstr "desbanir usuário"
2312
 
2313
+ #: wpf-includes/functions.php:615
2314
+ msgid "ban user"
2315
+ msgstr "banir usuário"
2316
 
2317
+ #: wpf-includes/functions.php:615
2318
+ msgid "Are you sure, you want to unban this user?"
2319
+ msgstr "Tem certeza que deseja desbanir esse usuário?"
2320
 
2321
+ #: wpf-includes/functions.php:615
2322
+ msgid "Are you sure, you want to ban this user?"
2323
+ msgstr "Tem certeza que deseja banir esse usuário?"
2324
 
2325
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
2326
+ #: wpf-includes/wpf-phrases.php:67
2327
+ msgid "Delete this item"
2328
+ msgstr "Excluir este item"
2329
 
2330
+ #: wpf-includes/functions.php:620 wpf-includes/functions.php:630
2331
+ #: wpf-includes/wpf-phrases.php:41
2332
+ msgid "Are you sure you want to DELETE this item?"
2333
+ msgstr "Tem certeza de que deseja excluir este item?"
2334
 
2335
+ #: wpf-includes/functions.php:625
2336
+ msgid "unapprove this item"
2337
+ msgstr "reprove este item"
2338
 
2339
+ #: wpf-includes/functions.php:625
2340
+ msgid "Approve this item"
2341
+ msgstr "Aprovar este item"
2342
 
2343
+ #: wpf-includes/functions.php:625 wpf-includes/wpf-phrases.php:686
2344
+ msgid "unapprove"
2345
+ msgstr "reprovar"
2346
 
2347
+ #: wpf-includes/functions.php:625 wpf-includes/wpf-phrases.php:685
2348
+ msgid "approve"
2349
+ msgstr "aprovar"
 
 
 
 
2350
 
2351
+ #: wpf-includes/functions.php:647 wpf-includes/functions.php:648
2352
+ #: wpf-includes/wpf-phrases.php:404
2353
+ msgid "view"
2354
+ msgstr "ver"
2355
 
2356
+ #: wpf-includes/functions.php:672
2357
+ msgid "Topic"
2358
+ msgstr "Tópico"
2359
 
2360
+ #: wpf-includes/functions.php:672
2361
+ msgid "Post"
2362
+ msgstr "Post"
2363
 
2364
+ #: wpf-includes/functions.php:685 wpf-includes/wpf-phrases.php:200
2365
+ msgid "No items found"
2366
+ msgstr "Nenhum item encontrado"
2367
 
2368
+ #: wpf-includes/functions.php:796 wpf-includes/wpf-phrases.php:141
2369
+ msgid "Items"
2370
+ msgstr "Items"
2371
 
2372
+ #: wpf-includes/functions.php:1147
2373
+ #, php-format
2374
+ msgid "Could not write file %s"
2375
+ msgstr "Não foi possível gravar o arquivo %s"
2376
 
2377
+ #: wpf-includes/wpf-hooks.php:20 wpf-includes/wpf-phrases.php:136
2378
+ msgid ""
2379
+ "IMPORTANT! Uninstall is not a simple deactivation action. This action will "
2380
+ "permanently remove all forum data (forums, topics, replies, attachments...) "
2381
+ "from database. Please backup database before this action, you may need this "
2382
+ "forum data in future. If you are sure that you want to delete all forum data "
2383
+ "please confirm. If not, just cancel it, then you can deactivate this plugin, "
2384
+ "that will not remove forum data."
2385
+ msgstr ""
2386
+ "Importante! Desinstalar não é uma simples ação de desativação. Esta ação vai "
2387
+ "remover permanentemente todos os dados do fórum (fóruns, tópicos, respostas, "
2388
+ "anexos...) do banco de dados. Por favor, faça um backup do banco de dados "
2389
+ "antes de prosseguir, você pode precisar de dados deste fórum no futuro. Se "
2390
+ "você tiver certeza de que deseja excluir todos os dados do fórum, por favor "
2391
+ "confirme. Se não, basta cancelar, então você pode desativar este plugin, que "
2392
+ "não vai apagar os dados do fórum."
2393
 
2394
+ #: wpf-includes/wpf-hooks.php:20
2395
+ msgid "Uninstall"
2396
+ msgstr "Desinstalar"
2397
 
2398
+ #: wpf-includes/wpf-hooks.php:1111
2399
+ msgid "Move"
2400
+ msgstr "Mover"
2401
 
2402
+ #: wpf-includes/wpf-hooks.php:1146
2403
+ msgid "Clear"
2404
+ msgstr "Claro"
2405
 
2406
+ #: wpf-includes/wpf-hooks.php:1146
2407
+ msgid "Default"
2408
+ msgstr "Padrão"
2409
 
2410
+ #: wpf-includes/wpf-hooks.php:1146
2411
+ msgid "Select Color"
2412
+ msgstr "Selecione a cor"
2413
 
2414
+ #: wpf-includes/wpf-hooks.php:1169
2415
+ msgid ""
2416
+ "IMPORTANT: wpForo can't work with default permalink, please change permalink "
2417
+ "structure"
2418
+ msgstr ""
2419
+ "Importante: wpForo não pode funcionar com permalink padrão, por favor, mude "
2420
+ "a estrutura de links permanentes"
2421
 
2422
+ #: wpf-includes/wpf-hooks.php:1188 wpf-includes/wpf-phrases.php:412
2423
+ msgid "wpForo Usergroup"
2424
+ msgstr "Grupo de usuário wpForo"
2425
 
2426
+ #: wpf-includes/wpf-hooks.php:1196 wpf-includes/wpf-phrases.php:411
2427
+ msgid "wpForo User Timezone"
2428
+ msgstr "Fuso horário do usuário wpForo"
2429
 
2430
+ #: wpf-includes/wpf-hooks.php:1467 wpf-includes/wpf-hooks.php:1556
2431
+ msgid "Please Moderate: "
2432
+ msgstr "Modere por favor: "
2433
 
2434
+ #: wpf-includes/wpf-hooks.php:1468
2435
+ msgid ""
2436
+ "This topic is currently unapproved. You can approve topics in Dashboard "
2437
+ "&raquo; Forums &raquo; Moderation admin page."
2438
+ msgstr ""
2439
+ "Este tópico está atualmente não aprovado. Você pode aprovar tópicos no "
2440
+ "Painel de Controle &raquo; Fóruns &raquo; Página de administração de "
2441
+ "moderação."
2442
 
2443
+ #: wpf-includes/wpf-hooks.php:1557
2444
+ msgid ""
2445
+ "This post is currently unapproved. You can approve posts in Dashboard "
2446
+ "&raquo; Forums &raquo; Moderation admin page."
2447
+ msgstr ""
2448
+ "Esta publicação está pendente atualmente. Você pode aprovar postagens no "
2449
+ "Painel de Controle &raquo; Fóruns &raquo; Página de administração de "
2450
+ "moderação."
2451
 
2452
+ #: wpf-includes/wpf-hooks.php:1737 wpf-includes/wpf-hooks.php:1783
2453
+ msgid "New Forum"
2454
+ msgstr "Novo Fórum"
2455
 
2456
+ #: wpf-includes/wpf-hooks.php:1745
2457
+ msgid "New User Group"
2458
+ msgstr "Novo Grupo de Usuários"
2459
 
2460
+ #: wpf-includes/wpf-hooks.php:1753 wpf-includes/wpf-hooks.php:1851
2461
+ msgid "New Phrase"
2462
+ msgstr "Nova Tradução"
2463
 
2464
+ #: wpf-includes/wpf-hooks.php:1768
2465
+ msgid "Community"
2466
+ msgstr "Comunidade"
2467
 
2468
+ #: wpf-includes/wpf-hooks.php:1835
2469
+ msgid "New Usergroup"
2470
+ msgstr "Novo Grupo de Usuários"
2471
 
2472
+ #: wpf-includes/wpf-phrases.php:8
2473
+ #, php-format
2474
+ msgid "%s and %s liked"
2475
+ msgstr "%s e %s curtiram"
2476
 
2477
+ #: wpf-includes/wpf-phrases.php:9
2478
+ #, php-format
2479
+ msgid "%s liked"
2480
+ msgstr "%s curtiu"
2481
 
2482
+ #: wpf-includes/wpf-phrases.php:10
2483
+ #, php-format
2484
+ msgid "%s, %s and %s liked"
2485
+ msgstr "%s, %s e %s curtiram"
2486
 
2487
+ #: wpf-includes/wpf-phrases.php:11
2488
+ #, php-format
2489
+ msgid "%s, %s, %s and %d people liked"
2490
+ msgstr "%s, %s, %s e %d curtiram"
2491
 
2492
+ #: wpf-includes/wpf-phrases.php:12
2493
+ msgid "AOL IM"
2494
+ msgstr "AOL IM"
2495
 
2496
+ #: wpf-includes/wpf-phrases.php:13
2497
+ msgid "About Me"
2498
+ msgstr "Sobre mim"
2499
 
2500
+ #: wpf-includes/wpf-phrases.php:16
2501
+ msgid "Account"
2502
+ msgstr "Conta"
2503
 
2504
+ #: wpf-includes/wpf-phrases.php:19
2505
+ msgid "Activity"
2506
+ msgstr "Atividade"
2507
 
2508
+ #: wpf-includes/wpf-phrases.php:23
2509
+ msgid "Add a comment"
2510
+ msgstr "Adicionar um comentário"
2511
 
2512
+ #: wpf-includes/wpf-phrases.php:24
2513
+ msgid "Add topic"
2514
+ msgstr "Adicionar tópico"
2515
 
2516
+ #: wpf-includes/wpf-phrases.php:32
2517
+ msgid "Answer"
2518
+ msgstr "Resposta"
2519
 
2520
+ #: wpf-includes/wpf-phrases.php:33
2521
+ msgid "Answer to"
2522
+ msgstr "Responder para"
2523
 
2524
+ #: wpf-includes/wpf-phrases.php:34
2525
+ msgid "Answers"
2526
+ msgstr "Respostas"
2527
 
2528
+ #: wpf-includes/wpf-phrases.php:35
2529
+ msgid "Any Date"
2530
+ msgstr "Qualquer Data"
2531
 
2532
+ #: wpf-includes/wpf-phrases.php:42
2533
+ msgid "Ascending order"
2534
+ msgstr "Ordem crescente"
2535
 
2536
+ #: wpf-includes/wpf-phrases.php:43
2537
+ msgid "Attach file:"
2538
+ msgstr "Anexar arquivo:"
2539
 
2540
+ #: wpf-includes/wpf-phrases.php:44
2541
+ msgid "Attachments"
2542
+ msgstr "Anexos"
2543
 
2544
+ #: wpf-includes/wpf-phrases.php:45
2545
+ msgid "Attachments Size"
2546
+ msgstr "Tamanho dos anexos"
2547
 
2548
+ #: wpf-includes/wpf-phrases.php:47
2549
+ msgid "Avatar"
2550
+ msgstr "Avatar"
2551
 
2552
+ #: wpf-includes/wpf-phrases.php:53
2553
+ msgid "Change password"
2554
+ msgstr "Alterar senha"
2555
 
2556
+ #: wpf-includes/wpf-phrases.php:54
2557
+ msgid "Choose Target Forum"
2558
+ msgstr "Escolha o fórum de destino"
2559
 
2560
+ #: wpf-includes/wpf-phrases.php:55 wpf-themes/classic/functions.php:43
2561
+ #: wpf-themes/classic/functions.php:73 wpf-themes/classic/functions.php:111
2562
+ msgid "Collapsed"
2563
+ msgstr "Recolhido"
2564
 
2565
+ #: wpf-includes/wpf-phrases.php:58
2566
+ msgid "Comments"
2567
+ msgstr "Comentários"
2568
 
2569
+ #: wpf-includes/wpf-phrases.php:59
2570
+ msgid "Confirm my subscription"
2571
+ msgstr "Confirmar minha inscrição"
2572
 
2573
+ #: wpf-includes/wpf-phrases.php:65
2574
+ msgid "Date"
2575
+ msgstr "Data"
2576
 
2577
+ #: wpf-includes/wpf-phrases.php:68
2578
+ msgid "Descending order"
2579
+ msgstr "Ordem Decrescente"
2580
 
2581
+ #: wpf-includes/wpf-phrases.php:71
2582
+ msgid "Display Name"
2583
+ msgstr "Nome de exibição"
2584
 
2585
+ #: wpf-includes/wpf-phrases.php:74
2586
+ msgid "Edited: "
2587
+ msgstr "Editado: "
2588
 
2589
+ #: wpf-includes/wpf-phrases.php:75
2590
+ msgid "Email"
2591
+ msgstr "E-mail"
2592
 
2593
+ #: wpf-includes/wpf-phrases.php:88
2594
+ msgid "Enter title here"
2595
+ msgstr "Insira o título aqui"
2596
 
2597
+ #: wpf-includes/wpf-phrases.php:89 wpf-themes/classic/functions.php:42
2598
+ #: wpf-themes/classic/functions.php:72 wpf-themes/classic/functions.php:110
2599
+ msgid "Expanded"
2600
+ msgstr "Expandido"
2601
 
2602
+ #: wpf-includes/wpf-phrases.php:90
2603
+ msgid "Extended Layout - Intro posts"
2604
+ msgstr "Layout Estendido - Posts de introdução"
2605
 
2606
+ #: wpf-includes/wpf-phrases.php:91
2607
+ msgid "Extended Layout - Intro topics"
2608
+ msgstr "Layout Estendido - Tópicos de introdução"
2609
 
2610
+ #: wpf-includes/wpf-phrases.php:92
2611
+ msgid "Extended Layout - Number of intro posts"
2612
+ msgstr "Layout Estendido - Número de posts de introdução"
2613
 
2614
+ #: wpf-includes/wpf-phrases.php:93
2615
+ msgid "Extended Layout - Number of intro topics"
2616
+ msgstr "Layout Estendido - Número de tópicos de introdução"
 
2617
 
2618
+ #: wpf-includes/wpf-phrases.php:94
2619
+ msgid "Facebook"
2620
+ msgstr "Facebook"
2621
 
2622
+ #: wpf-includes/wpf-phrases.php:95
2623
+ msgid "Failed to write file to disk"
2624
+ msgstr "Falha ao gravar arquivo em disco"
2625
 
2626
+ #: wpf-includes/wpf-phrases.php:97
2627
+ msgid "File upload stopped by extension"
2628
+ msgstr "Upload de arquivo interrompido por conta da extensão"
2629
 
2630
+ #: wpf-includes/wpf-phrases.php:98
2631
+ msgid "Find Posts by User"
2632
+ msgstr "Encontrar posts por usuário"
2633
 
2634
+ #: wpf-includes/wpf-phrases.php:99
2635
+ msgid "Find Topics Started by User"
2636
+ msgstr "Localizar tópicos feitos pelo usuário"
2637
 
2638
+ #: wpf-includes/wpf-phrases.php:100
2639
+ msgid "First post and replies"
2640
+ msgstr "Primeiro post e respostas"
2641
 
2642
+ #: wpf-includes/wpf-phrases.php:101 wpforo.php:176
2643
+ msgid "Forum"
2644
+ msgstr "Fórum"
2645
 
2646
+ #: wpf-includes/wpf-phrases.php:102
2647
+ msgid "Forum - Login"
2648
+ msgstr "Fórum - Entrar"
2649
 
2650
+ #: wpf-includes/wpf-phrases.php:103
2651
+ msgid "Forum - Page Not Found"
2652
+ msgstr "Fórum - Página não encontrada"
2653
 
2654
+ #: wpf-includes/wpf-phrases.php:104
2655
+ msgid "Forum - Registration"
2656
+ msgstr "Fórum - Cadastro"
2657
 
2658
+ #: wpf-includes/wpf-phrases.php:106
2659
+ msgid "Forum Admin Email Addresses"
2660
+ msgstr "E-mail dos Admins do Fórum"
2661
 
2662
+ #: wpf-includes/wpf-phrases.php:109
2663
+ msgid "Forum Home"
2664
+ msgstr "Página incial do Fórum"
2665
 
2666
+ #: wpf-includes/wpf-phrases.php:111
2667
+ msgid "Forum Members"
2668
+ msgstr "Membros do Fórum"
2669
 
2670
+ #: wpf-includes/wpf-phrases.php:114
2671
+ msgid "Forum Profile"
2672
+ msgstr "Perfil do Fórum"
2673
 
2674
+ #: wpf-includes/wpf-phrases.php:115
2675
+ msgid "Forum RSS Feed"
2676
+ msgstr "Feed RSS do Fórum"
2677
 
2678
+ #: wpf-includes/wpf-phrases.php:119
2679
+ msgid "Forum Statistics"
2680
+ msgstr "Estatísticas do Fórum"
2681
 
2682
+ #: wpf-includes/wpf-phrases.php:122
2683
+ msgid "Forum is empty"
2684
+ msgstr "Fórum vazio"
2685
 
2686
+ #: wpf-includes/wpf-phrases.php:125
2687
+ msgid "From Email Address"
2688
+ msgstr "Do endereço de e-mail"
2689
 
2690
+ #: wpf-includes/wpf-phrases.php:126
2691
+ msgid "From Name"
2692
+ msgstr "Com o Nome"
2693
 
2694
+ #: wpf-includes/wpf-phrases.php:131
2695
+ msgid "Group"
2696
+ msgstr "Grupo"
2697
 
2698
+ #: wpf-includes/wpf-phrases.php:132
2699
+ msgid "Google+"
2700
+ msgstr "Google+"
2701
 
2702
+ #: wpf-includes/wpf-phrases.php:135
2703
+ msgid "ICQ"
2704
+ msgstr "ICQ"
2705
 
2706
+ #: wpf-includes/wpf-phrases.php:139
2707
+ msgid "Insert member name or email"
2708
+ msgstr "Insira o nome ou e-mail do membro"
2709
 
2710
+ #: wpf-includes/wpf-phrases.php:142
2711
+ msgid "Joined"
2712
+ msgstr "Data de registro"
2713
 
2714
+ #: wpf-includes/wpf-phrases.php:145
2715
+ msgid "Last 24 hours"
2716
+ msgstr "Últimas 24 horas"
2717
 
2718
+ #: wpf-includes/wpf-phrases.php:146
2719
+ msgid "Last 3 Months"
2720
+ msgstr "3 meses atrás"
2721
 
2722
+ #: wpf-includes/wpf-phrases.php:147
2723
+ msgid "Last 6 Months"
2724
+ msgstr "6 meses atrás"
2725
 
2726
+ #: wpf-includes/wpf-phrases.php:148
2727
+ msgid "Last Active"
2728
+ msgstr "Última atividade"
2729
 
2730
+ #: wpf-includes/wpf-phrases.php:149
2731
+ msgid "Last Month"
2732
+ msgstr "Mês passado"
2733
 
2734
+ #: wpf-includes/wpf-phrases.php:150
2735
+ msgid "Last Post"
2736
+ msgstr "Post Recente"
2737
 
2738
+ #: wpf-includes/wpf-phrases.php:151
2739
+ msgid "Last Post Info"
2740
+ msgstr "Última Informação de Post"
2741
 
2742
+ #: wpf-includes/wpf-phrases.php:152
2743
+ msgid "Last Week"
2744
+ msgstr "Semana passada"
2745
 
2746
+ #: wpf-includes/wpf-phrases.php:153
2747
+ msgid "Last Year ago"
2748
+ msgstr "Ano passado"
2749
 
2750
+ #: wpf-includes/wpf-phrases.php:154
2751
+ #, php-format
2752
+ msgid "Last post by %s"
2753
+ msgstr "Último post feito por %s"
2754
 
2755
+ #: wpf-includes/wpf-phrases.php:155
2756
+ msgid "Latest Post"
2757
+ msgstr "Últimos Posts"
2758
 
2759
+ #: wpf-includes/wpf-phrases.php:156
2760
+ msgid "Leave a reply"
2761
+ msgstr "Responder"
2762
 
2763
+ #: wpf-includes/wpf-phrases.php:157
2764
+ msgid "Length must be between 3 characters and 30 characters."
2765
+ msgstr "Comprimento deve ser entre 3 e 30 caracteres."
2766
 
2767
+ #: wpf-includes/wpf-phrases.php:159
2768
+ msgid "Liked"
2769
+ msgstr "Curtido"
2770
 
2771
+ #: wpf-includes/wpf-phrases.php:160
2772
+ msgid "Location"
2773
+ msgstr "Localização"
2774
 
2775
+ #: wpf-includes/wpf-phrases.php:161
2776
+ msgid "Login"
2777
+ msgstr "Entrar"
2778
 
2779
+ #: wpf-includes/wpf-phrases.php:163
2780
+ msgid "Logout"
2781
+ msgstr "Sair"
2782
 
2783
+ #: wpf-includes/wpf-phrases.php:165
2784
+ msgid "Lost your password?"
2785
+ msgstr "Perdeu sua senha?"
2786
 
2787
+ #: wpf-includes/wpf-phrases.php:167
2788
+ msgid "MSN"
2789
+ msgstr "MSN"
2790
 
2791
+ #: wpf-includes/wpf-phrases.php:168
2792
+ msgid "Maximum allowed file size is"
2793
+ msgstr "Tamanho máximo permitido do arquivo é"
2794
 
2795
+ #: wpf-includes/wpf-phrases.php:170
2796
+ msgid "Member Activity"
2797
+ msgstr "Atividades do Membro"
2798
 
2799
+ #: wpf-includes/wpf-phrases.php:171
2800
+ msgid "Member Information"
2801
+ msgstr "Informações do Membro"
2802
 
2803
+ #: wpf-includes/wpf-phrases.php:172
2804
+ msgid "Member Rating"
2805
+ msgstr "Ranking do membro"
2806
 
2807
+ #: wpf-includes/wpf-phrases.php:173
2808
+ msgid "Member Rating Badge"
2809
+ msgstr "Emblema de Ranking do Membro"
2810
 
2811
+ #: wpf-includes/wpf-phrases.php:174
2812
+ msgid "Member Reputation"
2813
+ msgstr "Reputação do Membro"
2814
 
2815
+ #: wpf-includes/wpf-phrases.php:177
2816
+ msgid "Member information"
2817
+ msgstr "Informações do Membro"
2818
 
2819
+ #: wpf-includes/wpf-phrases.php:181
2820
+ msgid "Members not found"
2821
+ msgstr "Membros não encontrados"
2822
 
2823
+ #: wpf-includes/wpf-phrases.php:182
2824
+ msgid ""
2825
+ "You have been banned. Please contact to forum administrators for more "
2826
+ "information."
2827
+ msgstr ""
2828
+ "Você foi banido. Entre em contato com os administradores do fórum para obter "
2829
+ "mais informações."
2830
 
2831
+ #: wpf-includes/wpf-phrases.php:183
2832
+ msgid "Messages"
2833
+ msgstr "Mensagens"
2834
 
2835
+ #: wpf-includes/wpf-phrases.php:186
2836
+ msgid "Missing a temporary folder"
2837
+ msgstr "Faltando uma pasta temporária"
2838
 
2839
+ #: wpf-includes/wpf-phrases.php:188
2840
+ msgid "Move Topic"
2841
+ msgstr "Mover tópico"
2842
 
2843
+ #: wpf-includes/wpf-phrases.php:189
2844
+ msgid "Must be minimum 6 characters."
2845
+ msgstr "Deve ser no mínimo 6 caracteres."
2846
 
2847
+ #: wpf-includes/wpf-phrases.php:190
2848
+ msgid "My Profile"
2849
+ msgstr "Meu Perfil"
2850
 
2851
+ #: wpf-includes/wpf-phrases.php:197
2852
+ msgid "No activity found for this member."
2853
+ msgstr "Nenhuma atividade deste membro foi encontrada."
2854
 
2855
+ #: wpf-includes/wpf-phrases.php:198
2856
+ msgid "No file was uploaded"
2857
+ msgstr "Nenhum arquivo foi carregado"
2858
 
2859
+ #: wpf-includes/wpf-phrases.php:199
2860
+ msgid "No forums were found here."
2861
+ msgstr "Nenhum fórum foi encontrado aqui."
2862
 
2863
+ #: wpf-includes/wpf-phrases.php:203
2864
+ msgid "No online members at the moment"
2865
+ msgstr "Nenhum membro online no momento"
2866
 
2867
+ #: wpf-includes/wpf-phrases.php:205
2868
+ msgid "No subscriptions found for this member."
2869
+ msgstr "Não foram encontradas inscrições deste membro."
2870
 
2871
+ #: wpf-includes/wpf-phrases.php:207
2872
+ msgid "No topics were found here"
2873
+ msgstr "Nenhum tópico foi encontrado aqui"
2874
 
2875
+ #: wpf-includes/wpf-phrases.php:214
2876
+ msgid "Occupation"
2877
+ msgstr "Profissão"
2878
 
2879
+ #: wpf-includes/wpf-phrases.php:215
2880
+ msgid "Offline"
2881
+ msgstr "Offline"
2882
 
2883
+ #: wpf-includes/wpf-phrases.php:216
2884
+ msgid "Online"
2885
+ msgstr "Online"
2886
 
2887
+ #: wpf-includes/wpf-phrases.php:218
2888
+ msgid "Oops! The page you requested was not found!"
2889
+ msgstr "Oops! A página solicitada não foi encontrada!"
2890
 
2891
+ #: wpf-includes/wpf-phrases.php:219
2892
+ msgid "Our newest member"
2893
+ msgstr "Novos membros"
2894
 
2895
+ #: wpf-includes/wpf-phrases.php:220
2896
+ msgid "Page"
2897
+ msgstr "Página"
2898
 
2899
+ #: wpf-includes/wpf-phrases.php:222
2900
+ msgid "Password"
2901
+ msgstr "Senha"
2902
 
2903
+ #: wpf-includes/wpf-phrases.php:224
2904
+ #, php-format
2905
+ msgid "Please %s or %s"
2906
+ msgstr "Por favor %s ou %s"
2907
 
2908
+ #: wpf-includes/wpf-phrases.php:228
2909
+ msgid "Post Title"
2910
+ msgstr "Título do Post"
2911
 
2912
+ #: wpf-includes/wpf-phrases.php:229
2913
+ msgid "Post link"
2914
+ msgstr "Link do post"
2915
 
2916
+ #: wpf-includes/wpf-phrases.php:230
2917
+ msgid "Posted"
2918
+ msgstr "Postado"
2919
 
2920
+ #: wpf-includes/wpf-phrases.php:231
2921
+ msgid "Posted by"
2922
+ msgstr "Postado por"
2923
 
2924
+ #: wpf-includes/wpf-phrases.php:233
2925
+ msgid "Powered by"
2926
+ msgstr "Movido à"
2927
 
2928
+ #: wpf-includes/wpf-phrases.php:235
2929
+ msgid "Q&A Layout - Number of intro topics"
2930
+ msgstr "Layout Q&amp;A - Número de tópicos de introdução"
2931
 
2932
+ #: wpf-includes/wpf-phrases.php:236
2933
+ msgid "Q&A layout - Intro topics"
2934
+ msgstr "Layout Q&amp;A - Tópicos de introdução"
2935
 
2936
+ #: wpf-includes/wpf-phrases.php:237
2937
+ msgid "Question Comments"
2938
+ msgstr "Comentários em perguntas"
2939
 
2940
+ #: wpf-includes/wpf-phrases.php:238
2941
+ msgid "Questions"
2942
+ msgstr "Perguntas"
2943
 
2944
+ #: wpf-includes/wpf-phrases.php:239
2945
+ msgid "Quote"
2946
+ msgstr "Citar (Quote)"
2947
 
2948
+ #: wpf-includes/wpf-phrases.php:240
2949
+ msgid "RE"
2950
+ msgstr "RE"
2951
 
2952
+ #: wpf-includes/wpf-phrases.php:241
2953
+ msgid "REPLY:"
2954
+ msgstr "RESPOSTA:"
2955
 
2956
+ #: wpf-includes/wpf-phrases.php:242
2957
+ msgid "RSS"
2958
+ msgstr "RSS"
2959
 
2960
+ #: wpf-includes/wpf-phrases.php:243
2961
+ msgid "Rating"
2962
+ msgstr "Ranking"
2963
 
2964
+ #: wpf-includes/wpf-phrases.php:244
2965
+ msgid "Rating Badge"
2966
+ msgstr "Emblema de Ranking"
 
 
 
 
2967
 
2968
+ #: wpf-includes/wpf-phrases.php:248
2969
+ msgid "Received Likes"
2970
+ msgstr "Curtidas recebidas"
2971
 
2972
+ #: wpf-includes/wpf-phrases.php:249
2973
+ msgid "Recent Questions"
2974
+ msgstr "Perguntas Recentes"
2975
 
2976
+ #: wpf-includes/wpf-phrases.php:250
2977
+ msgid "Recent Topics"
2978
+ msgstr "Tópicos Recentes"
2979
 
2980
+ #: wpf-includes/wpf-phrases.php:251
2981
+ msgid "Register"
2982
+ msgstr "Cadastrar"
2983
 
2984
+ #: wpf-includes/wpf-phrases.php:253
2985
  msgid "Registered date"
2986
  msgstr "Data de Registro"
2987
 
2988
+ #: wpf-includes/wpf-phrases.php:254
2989
+ msgid "Relevancy"
2990
+ msgstr "Relevância"
 
 
 
 
2991
 
2992
+ #: wpf-includes/wpf-phrases.php:255
2993
+ msgid "Remember Me"
2994
+ msgstr "Lembrar-me"
2995
 
2996
+ #: wpf-includes/wpf-phrases.php:261
2997
+ msgid "Replies"
2998
+ msgstr "Respostas"
2999
 
3000
+ #: wpf-includes/wpf-phrases.php:262
3001
+ msgid "Replies not found"
3002
+ msgstr "Respostas não encontradas"
3003
 
3004
+ #: wpf-includes/wpf-phrases.php:263
3005
+ msgid "Reply"
3006
+ msgstr "Responder"
3007
 
3008
+ #: wpf-includes/wpf-phrases.php:264
3009
+ msgid "Report"
3010
+ msgstr "Denunciar"
3011
 
3012
+ #: wpf-includes/wpf-phrases.php:267
3013
+ msgid "Report to Administration"
3014
+ msgstr "Denunciar ao Administrador"
3015
 
3016
+ #: wpf-includes/wpf-phrases.php:269
3017
+ msgid "Result Info"
3018
+ msgstr "Resultados para"
3019
 
3020
+ #: wpf-includes/wpf-phrases.php:271
3021
+ msgid "Save Changes"
3022
+ msgstr "Salvar alterações"
3023
 
3024
+ #: wpf-includes/wpf-phrases.php:276
3025
+ msgid "Search Entire Posts"
3026
+ msgstr "Pesquisar Posts inteiros"
3027
 
3028
+ #: wpf-includes/wpf-phrases.php:277
3029
+ msgid "Search Phrase"
3030
+ msgstr "Pesquisa de Tradução"
3031
 
3032
+ #: wpf-includes/wpf-phrases.php:278
3033
+ msgid "Search Titles Only"
3034
+ msgstr "Pesquisar apenas títulos"
3035
 
3036
+ #: wpf-includes/wpf-phrases.php:279
3037
+ msgid "Search Type"
3038
+ msgstr "Tipo de pesquisa"
3039
 
3040
+ #: wpf-includes/wpf-phrases.php:280
3041
+ msgid "Search in Forums"
3042
+ msgstr "Pesquisar nos Forums"
3043
 
3044
+ #: wpf-includes/wpf-phrases.php:281
3045
+ msgid "Search in date period"
3046
+ msgstr "Pesquisar por data"
3047
 
3048
+ #: wpf-includes/wpf-phrases.php:282
3049
+ msgid "Search result for"
3050
+ msgstr "Resultado de pesquisa por"
3051
 
3052
+ #: wpf-includes/wpf-phrases.php:283
3053
+ msgid "Search..."
3054
+ msgstr "Pesquisar..."
3055
 
3056
+ #: wpf-includes/wpf-phrases.php:285
3057
+ msgid "Select Page"
3058
+ msgstr "Selecionar Página"
3059
 
3060
+ #: wpf-includes/wpf-phrases.php:286
3061
+ msgid "Send Report"
3062
+ msgstr "Enviar Denúncia"
3063
 
3064
+ #: wpf-includes/wpf-phrases.php:290
3065
+ msgid "Set Topic Sticky"
3066
+ msgstr "Definir tópico como Fixo"
3067
 
3068
+ #: wpf-includes/wpf-phrases.php:291
3069
+ msgid ""
3070
+ "Set this option value 0 if you want to show all posts under topic intro area."
3071
+ msgstr ""
3072
+ "Defina este valor da opção para 0 se desejar mostrar todas as postagens na "
3073
+ "área de introdução do tópico."
3074
 
3075
+ #: wpf-includes/wpf-phrases.php:292
3076
+ msgid "Shop Account"
3077
+ msgstr "Shop Account"
3078
 
3079
+ #: wpf-includes/wpf-phrases.php:302
3080
+ msgid "Sign In"
3081
+ msgstr "Entrar"
3082
 
3083
+ #: wpf-includes/wpf-phrases.php:303
3084
+ msgid "Signature"
3085
+ msgstr "Assinatura"
3086
 
3087
+ #: wpf-includes/wpf-phrases.php:304
3088
+ msgid "Site Profile"
3089
+ msgstr "Perfil do Site"
3090
 
3091
+ #: wpf-includes/wpf-phrases.php:305
3092
+ msgid "Skype"
3093
+ msgstr "Skype"
3094
 
3095
+ #: wpf-includes/wpf-phrases.php:307
3096
+ msgid "Social Networks"
3097
+ msgstr "Redes sociais"
3098
 
3099
+ #: wpf-includes/wpf-phrases.php:308
3100
+ msgid "Sorry, something wrong with your data."
3101
+ msgstr "Desculpe, algo de errado com seus dados."
3102
 
3103
+ #: wpf-includes/wpf-phrases.php:309
3104
+ msgid "Sort Search Results by"
3105
+ msgstr "Ordenar resultados da pesquisa por"
3106
 
3107
+ #: wpf-includes/wpf-phrases.php:310
3108
+ msgid "Specify avatar by URL"
3109
+ msgstr "Especifique um avatar por URL"
3110
 
3111
+ #: wpf-includes/wpf-phrases.php:312
3112
+ msgid "Subforums"
3113
+ msgstr "Sub-Fóruns"
3114
 
3115
+ #: wpf-includes/wpf-phrases.php:315
3116
+ msgid "Subscribe for new replies"
3117
+ msgstr "Inscreva-se para novas respostas"
3118
 
3119
+ #: wpf-includes/wpf-phrases.php:316
3120
+ msgid "Subscribe for new topics"
3121
+ msgstr "Inscreva-se para novos tópicos"
3122
 
3123
+ #: wpf-includes/wpf-phrases.php:318
3124
+ msgid "Subscriptions"
3125
+ msgstr "Inscrições"
3126
 
3127
+ #: wpf-includes/wpf-phrases.php:320
3128
+ msgid ""
3129
+ "Thank you for using wpForo! wpForo is a professional bulletin board for "
3130
+ "WorPress, and the only forum software which comes with Multi-layout template "
3131
+ "system. The \"Extended"
3132
+ msgstr ""
3133
+ "Obrigado por usar o wpForo! O wpForo é uma sistema de fórum profissional "
3134
+ "para WorPress e o único software de fórum que vem com sistema de multi-"
3135
+ "layouts. O \"Estendido"
3136
 
3137
+ #: wpf-includes/wpf-phrases.php:321
3138
+ msgid ""
3139
+ "Thank you for using wpForo. wpForo is a premium forum plugin which will "
3140
+ "always be available for free. There will never be paid and pro versions of "
3141
+ "this forum board. However this is a very large and hard project so we also "
3142
+ "develop paid addons (extensions), which will financially help us to keep "
3143
+ "improving and adding new features to the free wpForo plugin. Forum addons "
3144
+ "will also be actively developed. The first addons \"Advanced Media Uploader"
3145
+ msgstr ""
3146
+ "Obrigado por usar wpForo. O wpForo é um plugin Premium de fórum que estará "
3147
+ "sempre disponível de graça. Nunca haverá versões pagas e pro deste sistema "
3148
+ "de fórum. No entanto, este é um projeto muito grande e difícil, por isso "
3149
+ "também desenvolvemos complementos pagos (extensões), o que nos ajudará "
3150
+ "financeiramente a continuar melhorando e adicionando novos recursos ao "
3151
+ "plugin wpForo gratuito. Os complementos do fórum também serão ativamente "
3152
+ "desenvolvidos. Os primeiros complementos \"Advanced Media Uploader"
3153
+
3154
+ #: wpf-includes/wpf-phrases.php:324
3155
+ msgid ""
3156
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
3157
+ "the HTML form"
3158
+ msgstr ""
3159
+ "O arquivo carregado excede a diretiva MAX_FILE_SIZE que foi especificada no "
3160
+ "formulário HTML"
3161
 
3162
+ #: wpf-includes/wpf-phrases.php:325
3163
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
3164
+ msgstr "O arquivo carregado excede a diretiva upload_max_filesize do php.ini"
3165
 
3166
+ #: wpf-includes/wpf-phrases.php:326
3167
+ msgid "The uploaded file was only partially uploaded"
3168
+ msgstr "O arquivo carregado só foi parcialmente carregado"
3169
 
3170
+ #: wpf-includes/wpf-phrases.php:333
3171
+ msgid "Timezone"
3172
+ msgstr "Fuso horário"
3173
 
3174
+ #: wpf-includes/wpf-phrases.php:335
3175
+ msgid "Topic RSS Feed"
3176
+ msgstr "Feed RSS do Tópico"
3177
 
3178
+ #: wpf-includes/wpf-phrases.php:336
3179
+ msgid "Topic Title"
3180
+ msgstr "Título do Tópico"
3181
 
3182
+ #: wpf-includes/wpf-phrases.php:337
3183
+ msgid "Topic title"
3184
+ msgstr "Título do tópico"
3185
 
3186
+ #: wpf-includes/wpf-phrases.php:340
3187
+ msgid "Twitter"
3188
+ msgstr "Twitter"
 
 
 
 
3189
 
3190
+ #: wpf-includes/wpf-phrases.php:341
3191
+ msgid "Unknown upload error"
3192
+ msgstr "Erro de upload desconhecido"
3193
 
3194
+ #: wpf-includes/wpf-phrases.php:342
3195
+ msgid "Unsubscribe"
3196
+ msgstr "Desincrever"
3197
 
3198
+ #: wpf-includes/wpf-phrases.php:345
3199
+ msgid "Upload an avatar"
3200
+ msgstr "Upload de um avatar"
3201
 
3202
+ #: wpf-includes/wpf-phrases.php:347
3203
+ msgid ""
3204
+ "Use comments to ask for more information or suggest improvements. Avoid "
3205
+ "answering questions in comments."
3206
+ msgstr ""
3207
+ "Use comentários para solicitar mais informações ou sugerir melhorias. Evite "
3208
+ "responder a perguntas nos comentários."
3209
 
3210
+ #: wpf-includes/wpf-phrases.php:349
3211
+ msgid "User"
3212
+ msgstr "Usuário"
3213
 
3214
+ #: wpf-includes/wpf-phrases.php:351
3215
+ msgid "User Group"
3216
+ msgstr "Grupo de Usuário"
3217
 
3218
+ #: wpf-includes/wpf-phrases.php:352
3219
+ msgid "Usergroup has been successfully deleted."
3220
+ msgstr "O Grupo de usuário foi excluído com sucesso."
3221
 
3222
+ #: wpf-includes/wpf-phrases.php:353
3223
+ msgid ""
3224
+ "Usergroup has been successfully deleted. All users of this usergroup have "
3225
+ "been moved to the usergroup you've chosen"
3226
+ msgstr ""
3227
+ "O Grupo de usuário foi excluído com sucesso. Todos os usuários deste Grupo "
3228
+ "foram movidos para o Grupo que você selecionou"
3229
 
3230
+ #: wpf-includes/wpf-phrases.php:354
3231
+ msgid "Username"
3232
+ msgstr "Nome de usuário"
3233
 
3234
+ #: wpf-includes/wpf-phrases.php:356
3235
+ msgid "View entire post"
3236
+ msgstr "Ver post inteiro"
3237
 
3238
+ #: wpf-includes/wpf-phrases.php:357
3239
+ msgid "View the latest post"
3240
+ msgstr "Ver o último post"
3241
 
3242
+ #: wpf-includes/wpf-phrases.php:358
3243
+ msgid "Views"
3244
+ msgstr "Visualizações"
3245
 
3246
+ #: wpf-includes/wpf-phrases.php:359
3247
+ msgid "Votes"
3248
+ msgstr "Votos"
3249
 
3250
+ #: wpf-includes/wpf-phrases.php:360
3251
+ msgid "Website"
3252
+ msgstr "Site"
3253
 
3254
+ #: wpf-includes/wpf-phrases.php:362
3255
+ msgid "Wordpress avatar system"
3256
+ msgstr "Sistema de avatar do Wordpress"
3257
 
3258
+ #: wpf-includes/wpf-phrases.php:363
3259
+ msgid "Working"
3260
+ msgstr "Funcionando"
3261
 
3262
+ #: wpf-includes/wpf-phrases.php:364
3263
+ msgid "Write message"
3264
+ msgstr "Escrever mensagem"
3265
 
3266
+ #: wpf-includes/wpf-phrases.php:365
3267
+ msgid "Yahoo"
3268
+ msgstr "Yahoo"
3269
 
3270
+ #: wpf-includes/wpf-phrases.php:367
3271
+ msgid "You"
3272
+ msgstr "Você"
3273
 
3274
+ #: wpf-includes/wpf-phrases.php:369
3275
+ #, php-format
3276
+ msgid "You can go to %s page or Search here"
3277
+ msgstr "Você pode ir para a página %s ou procurar aqui"
3278
 
3279
+ #: wpf-includes/wpf-phrases.php:371
3280
+ msgid "Your Answer"
3281
+ msgstr "Sua Resposta"
3282
 
3283
+ #: wpf-includes/wpf-phrases.php:372
3284
+ msgid "account"
3285
+ msgstr "conta"
3286
 
3287
+ #: wpf-includes/wpf-phrases.php:373
3288
+ msgid "activity"
3289
+ msgstr "atividade"
3290
 
3291
+ #: wpf-includes/wpf-phrases.php:375
3292
+ msgid "add_new"
3293
+ msgstr "Adicionar nova"
3294
 
3295
+ #: wpf-includes/wpf-phrases.php:376
3296
+ #, php-format
3297
+ msgid "%s ago"
3298
+ msgstr "%s atrás"
3299
 
3300
+ #: wpf-includes/wpf-phrases.php:377
3301
+ msgid "by"
3302
+ msgstr "por"
3303
 
3304
+ #: wpf-includes/wpf-phrases.php:378
3305
+ #, php-format
3306
+ msgid "by %s"
3307
+ msgstr "por %s"
3308
 
3309
+ #: wpf-includes/wpf-phrases.php:379
3310
+ msgid "confirm password"
3311
+ msgstr "confirmar senha"
3312
 
3313
+ #: wpf-includes/wpf-phrases.php:384
3314
+ msgid "forums"
3315
+ msgstr "fóruns"
3316
 
3317
+ #: wpf-includes/wpf-phrases.php:386
3318
+ msgid "login"
3319
+ msgstr "login"
3320
 
3321
+ #: wpf-includes/wpf-phrases.php:387
3322
+ msgid "logout"
3323
+ msgstr "sair"
3324
 
3325
+ #: wpf-includes/wpf-phrases.php:388
3326
+ msgid "matches"
3327
+ msgstr "conferem"
3328
 
3329
+ #: wpf-includes/wpf-phrases.php:389
3330
+ msgid "members"
3331
+ msgstr "membros"
3332
 
3333
+ #: wpf-includes/wpf-phrases.php:391
3334
+ msgid "my profile"
3335
+ msgstr "meu perfil"
3336
 
3337
+ #: wpf-includes/wpf-phrases.php:392
3338
+ msgid "new password"
3339
+ msgstr "nova senha"
3340
 
3341
+ #: wpf-includes/wpf-phrases.php:393
3342
+ msgid "new password again"
3343
+ msgstr "nova senha novamente"
3344
 
3345
+ #: wpf-includes/wpf-phrases.php:394
3346
+ msgid "next"
3347
+ msgstr "próxima"
3348
 
3349
+ #: wpf-includes/wpf-phrases.php:395
3350
+ msgid "old password"
3351
+ msgstr "senha antiga"
3352
 
3353
+ #: wpf-includes/wpf-phrases.php:396
3354
+ msgid "phrase_key"
3355
+ msgstr "phrase_key"
3356
 
3357
+ #: wpf-includes/wpf-phrases.php:397
3358
+ msgid "phrase_value"
3359
+ msgstr "phrase_value"
3360
 
3361
+ #: wpf-includes/wpf-phrases.php:398
3362
+ msgid "posted"
3363
+ msgstr "postado"
3364
 
3365
+ #: wpf-includes/wpf-phrases.php:399
3366
+ msgid "prev"
3367
+ msgstr "anterior"
3368
 
3369
+ #: wpf-includes/wpf-phrases.php:400
3370
+ msgid "register"
3371
+ msgstr "registrar"
3372
 
3373
+ #: wpf-includes/wpf-phrases.php:401
3374
+ msgid "replies"
3375
+ msgstr "respostas"
 
3376
 
3377
+ #: wpf-includes/wpf-phrases.php:402
3378
+ msgid "subscriptions"
3379
+ msgstr "inscrições"
3380
 
3381
+ #: wpf-includes/wpf-phrases.php:403
3382
+ msgid "update"
3383
+ msgstr "atualizar"
3384
 
3385
+ #: wpf-includes/wpf-phrases.php:405
3386
+ msgid "view all posts"
3387
+ msgstr "ver todos posts"
3388
 
3389
+ #: wpf-includes/wpf-phrases.php:406
3390
+ msgid "view all questions"
3391
+ msgstr "ver todas perguntas"
3392
 
3393
+ #: wpf-includes/wpf-phrases.php:407
3394
+ msgid "view all topics"
3395
+ msgstr "ver todos tópicos"
3396
 
3397
+ #: wpf-includes/wpf-phrases.php:409
3398
+ msgid "wpForo Navigation"
3399
+ msgstr "Navegação wpForo"
3400
 
3401
+ #: wpf-includes/wpf-phrases.php:414
3402
+ msgid "{number}B"
3403
+ msgstr "{number}B"
3404
 
3405
+ #: wpf-includes/wpf-phrases.php:415
3406
+ msgid "{number}K"
3407
+ msgstr "{number}K"
3408
 
3409
+ #: wpf-includes/wpf-phrases.php:416
3410
+ msgid "{number}M"
3411
+ msgstr "{number}M"
 
3412
 
3413
+ #: wpf-includes/wpf-phrases.php:417
3414
+ msgid "{number}T"
3415
+ msgstr "{number}T"
3416
 
3417
+ #: wpf-includes/wpf-phrases.php:422
3418
+ msgid "Access add error"
3419
+ msgstr "Erro de adição de acesso"
3420
 
3421
+ #: wpf-includes/wpf-phrases.php:423
3422
+ msgid "Access delete error"
3423
+ msgstr "Erro de exclusão de acesso"
3424
 
3425
+ #: wpf-includes/wpf-phrases.php:424
3426
+ msgid "Access edit error"
3427
+ msgstr "Erro de edição de acesso"
3428
 
3429
+ #: wpf-includes/wpf-phrases.php:425
3430
+ msgid "Access successfully deleted"
3431
+ msgstr "Acesso excluído com êxito"
3432
 
3433
+ #: wpf-includes/wpf-phrases.php:426
3434
+ msgid "Add Topic error: No forum selected"
3435
+ msgstr "Erro ao adicionar tópico: Nenhum Fórum foi selecionado"
3436
 
3437
+ #: wpf-includes/wpf-phrases.php:427
3438
+ msgid "All Checked topics successfully deleted"
3439
+ msgstr "Todos os tópicos marcados foram excluídos com sucesso"
3440
 
3441
+ #: wpf-includes/wpf-phrases.php:428
3442
+ msgid "Can't add forum"
3443
+ msgstr "Não é possível adicionar Fórum"
3444
+
3445
+ #: wpf-includes/wpf-phrases.php:429
3446
+ msgid "Can't add new language"
3447
+ msgstr "Não é possível adicionar novo idioma"
3448
+
3449
+ #: wpf-includes/wpf-phrases.php:430
3450
+ msgid "Can't delete this Usergroup"
3451
+ msgstr "Não é possível excluir este Grupo de usuário"
3452
+
3453
+ #: wpf-includes/wpf-phrases.php:431
3454
+ msgid "Can't send confirmation email"
3455
+ msgstr "Não é possível enviar o e-mail de confirmação"
3456
+
3457
+ #: wpf-includes/wpf-phrases.php:432
3458
+ msgid "Can't send report email"
3459
+ msgstr "Não é possível enviar o e-mail de denúncia"
3460
+
3461
+ #: wpf-includes/wpf-phrases.php:433
3462
+ msgid "Can't subscribe to this item"
3463
+ msgstr "Não é possível assinar este item"
3464
+
3465
+ #: wpf-includes/wpf-phrases.php:434
3466
+ msgid "Can't write a post: This topic is closed"
3467
+ msgstr "Não é possível escrever um post: Este é um tópico fechado"
3468
+
3469
+ #: wpf-includes/wpf-phrases.php:435
3470
+ msgid "Can`t upload file"
3471
+ msgstr "Não é possível carregar o arquivo"
3472
+
3473
+ #: wpf-includes/wpf-phrases.php:436
3474
+ msgid "Cannot update forum hierarchy"
3475
+ msgstr "Não foi possível atualizar a hierarquia do fórum"
3476
+
3477
+ #: wpf-includes/wpf-phrases.php:437
3478
+ msgid "Cannot update post data"
3479
+ msgstr "Não é possível atualizar dados do post"
3480
+
3481
+ #: wpf-includes/wpf-phrases.php:438
3482
+ msgid "Could not be unsubscribe from this item"
3483
+ msgstr "Não foi possível cancelar a inscrição deste item"
3484
+
3485
+ #: wpf-includes/wpf-phrases.php:439
3486
+ msgid "Email address exists. Please insert another."
3487
+ msgstr "Já existe este endereço de e-mail. Por favor insira outro."
3488
+
3489
+ #: wpf-includes/wpf-phrases.php:440
3490
+ msgid "Error: Forum is not found"
3491
+ msgstr "Erro: O fórum não foi encontrado"
3492
+
3493
+ #: wpf-includes/wpf-phrases.php:441
3494
+ msgid "Error: No topic selected"
3495
+ msgstr "Erro: Nenhum tópico foi selecionado"
3496
+
3497
+ #: wpf-includes/wpf-phrases.php:442
3498
+ msgid "Error: Topic is not found"
3499
+ msgstr "Erro: O tópico não foi encontrado"
3500
+
3501
+ #: wpf-includes/wpf-phrases.php:443
3502
+ msgid "Error: please insert some text to report."
3503
+ msgstr "Erro: Insira um texto sobre a denúncia."
3504
+
3505
+ #: wpf-includes/wpf-phrases.php:444
3506
+ msgid "Features successfully updated"
3507
+ msgstr "Recursos atualizados com sucesso"
3508
+
3509
+ #: wpf-includes/wpf-phrases.php:445
3510
+ msgid "Features successfully updated, but previous value not changed"
3511
+ msgstr ""
3512
+ "Recursos atualizados com sucesso, mas o valor anterior não foi alterado"
3513
+
3514
+ #: wpf-includes/wpf-phrases.php:446
3515
+ msgid "File type is not allowed"
3516
+ msgstr "Tipo de arquivo não permitido"
3517
+
3518
+ #: wpf-includes/wpf-phrases.php:447
3519
+ msgid "Forum Base URL successfully updated"
3520
+ msgstr "URL base do fórum atualizado com sucesso"
3521
+
3522
+ #: wpf-includes/wpf-phrases.php:448
3523
+ msgid "Forum deleting error"
3524
+ msgstr "Erro de exclusão de Fórum"
3525
+
3526
+ #: wpf-includes/wpf-phrases.php:449
3527
+ msgid "Forum hierarchy successfully updated"
3528
+ msgstr "Hierarquia do fórum atualizada com sucesso"
3529
+
3530
+ #: wpf-includes/wpf-phrases.php:450
3531
+ msgid "Forum is successfully merged"
3532
+ msgstr "Fórum mesclado com sucesso"
3533
+
3534
+ #: wpf-includes/wpf-phrases.php:451
3535
+ msgid "Forum merging error"
3536
+ msgstr "Erro ao mesclar Fórum"
3537
+
3538
+ #: wpf-includes/wpf-phrases.php:452
3539
+ msgid "Forum options successfully updated"
3540
+ msgstr "Opções de fórum atualizadas com sucesso"
3541
+
3542
+ #: wpf-includes/wpf-phrases.php:453
3543
+ msgid "Forum options successfully updated, but previous value not changed"
3544
+ msgstr ""
3545
+ "Opções de fórum atualizadas com sucesso, mas o valor anterior não foi "
3546
+ "alterado"
3547
+
3548
+ #: wpf-includes/wpf-phrases.php:454
3549
+ msgid "Forum successfully updated"
3550
+ msgstr "Forum atualizado com sucesso"
3551
+
3552
+ #: wpf-includes/wpf-phrases.php:455
3553
+ msgid "Forum update error"
3554
+ msgstr "Erro de atualização do Fórum"
3555
+
3556
+ #: wpf-includes/wpf-phrases.php:456
3557
+ msgid "General options successfully updated"
3558
+ msgstr "Opções gerais atualizadas com sucesso"
3559
+
3560
+ #: wpf-includes/wpf-phrases.php:457
3561
+ msgid "Illegal character in username."
3562
+ msgstr "Caractere inválido no nome de usuário."
3563
+
3564
+ #: wpf-includes/wpf-phrases.php:458
3565
+ msgid "Insert your Email address."
3566
+ msgstr "Insira seu endereço de e-mail."
3567
+
3568
+ #: wpf-includes/wpf-phrases.php:459
3569
+ msgid "Invalid Email address"
3570
+ msgstr "Endereço de e-mail inválido"
3571
+
3572
+ #: wpf-includes/wpf-phrases.php:460
3573
+ msgid "Invalid request!"
3574
+ msgstr "Solicitação inválida!"
3575
+
3576
+ #: wpf-includes/wpf-phrases.php:461
3577
+ msgid "Member options successfully updated"
3578
+ msgstr "Opções de membro atualizadas com sucesso"
3579
+
3580
+ #: wpf-includes/wpf-phrases.php:462
3581
+ msgid "Member options successfully updated, but previous value not changed"
3582
+ msgstr ""
3583
+ "Opções de membro atualizadas com sucesso, mas o valor anterior não alterado"
3584
+
3585
+ #: wpf-includes/wpf-phrases.php:463
3586
+ msgid "Message has been sent"
3587
+ msgstr "Mensagem foi enviada"
3588
+
3589
+ #: wpf-includes/wpf-phrases.php:464
3590
+ msgid ""
3591
+ "New language successfully added and changed wpforo language to new language"
3592
+ msgstr ""
3593
+ "Novo idioma adicionado e idioma do wpforo alterado para este novo idioma"
3594
+
3595
+ #: wpf-includes/wpf-phrases.php:465
3596
+ msgid "No Posts found for update"
3597
+ msgstr "Posts não encontrados para atualização"
3598
+
3599
+ #: wpf-includes/wpf-phrases.php:466
3600
+ msgid "Password length must be between 6 characters and 20 characters."
3601
+ msgstr "O tamanho da senha deve ser entre 6 e 20 caracteres."
3602
+
3603
+ #: wpf-includes/wpf-phrases.php:467
3604
+ msgid "Password mismatch."
3605
+ msgstr "Incompatibilidade de senhas."
3606
+
3607
+ #: wpf-includes/wpf-phrases.php:468
3608
+ msgid "Permission denied"
3609
+ msgstr "Permissão negada"
3610
+
3611
+ #: wpf-includes/wpf-phrases.php:469
3612
+ msgid "Permission denied for add forum"
3613
+ msgstr "Permissão negada para adicionar Fórum"
3614
+
3615
+ #: wpf-includes/wpf-phrases.php:470
3616
+ msgid "Permission denied for delete forum"
3617
+ msgstr "Permissão negada para excluir Fórum"
3618
+
3619
+ #: wpf-includes/wpf-phrases.php:471
3620
+ msgid "Permission denied for edit forum"
3621
+ msgstr "Permissão negada para editar Fórum"
3622
+
3623
+ #: wpf-includes/wpf-phrases.php:472
3624
+ msgid "Permission denied for this action"
3625
+ msgstr "Permissão negada para esta ação"
3626
+
3627
+ #: wpf-includes/wpf-phrases.php:473
3628
+ msgid "Phrase add error"
3629
+ msgstr "Erro ao adicionar tradução"
3630
+
3631
+ #: wpf-includes/wpf-phrases.php:474
3632
+ msgid "Phrase adding error"
3633
+ msgstr "Erro ao adicionar tradução"
3634
+
3635
+ #: wpf-includes/wpf-phrases.php:475
3636
+ msgid "Phrase successfully added"
3637
+ msgstr "Tradução adicionado com sucesso"
3638
+
3639
+ #: wpf-includes/wpf-phrases.php:476
3640
+ msgid "Phrase successfully updates"
3641
+ msgstr "Traduções atualizados com sucesso"
3642
+
3643
+ #: wpf-includes/wpf-phrases.php:477
3644
+ msgid "Phrase update error"
3645
+ msgstr "Erro de atualização de tradução"
3646
+
3647
+ #: wpf-includes/wpf-phrases.php:478
3648
+ msgid "Please insert required fields!"
3649
+ msgstr "Por favor insira campos obrigatórios!"
3650
+
3651
+ #: wpf-includes/wpf-phrases.php:479
3652
+ msgid "Post delete error"
3653
+ msgstr "Erro ao deletar post"
3654
+
3655
+ #: wpf-includes/wpf-phrases.php:481
3656
+ msgid "Post options successfully updated"
3657
+ msgstr "Opções de post atualizadas com sucesso"
3658
+
3659
+ #: wpf-includes/wpf-phrases.php:482
3660
+ msgid "Post options successfully updated, but previous value not changed"
3661
+ msgstr ""
3662
+ "Opções de post atualizadas com sucesso, mas o valor anterior não foi alterado"
3663
+
3664
+ #: wpf-includes/wpf-phrases.php:483
3665
+ msgid "Registration Error"
3666
+ msgstr "Erro de registro"
3667
+
3668
+ #: wpf-includes/wpf-phrases.php:484
3669
+ msgid "Reply request error"
3670
+ msgstr "Erro de solicitação de resposta"
3671
+
3672
+ #: wpf-includes/wpf-phrases.php:485
3673
+ msgid "Something wrong with profile data."
3674
+ msgstr "Algo errado com dados de perfil."
3675
+
3676
+ #: wpf-includes/wpf-phrases.php:486
3677
+ msgid "Subscribe options successfully updated"
3678
+ msgstr "Opções de inscrição atualizadas com sucesso"
3679
+
3680
+ #: wpf-includes/wpf-phrases.php:487
3681
+ msgid "Subscribe options successfully updated, but previous value not changed"
3682
+ msgstr ""
3683
+ "Opções de inscrição atualizadas com sucesso, mas o valor anterior não foi "
3684
+ "alterado"
3685
+
3686
+ #: wpf-includes/wpf-phrases.php:488
3687
+ msgid "Success! Thank you Dear Friend"
3688
+ msgstr "Tudo Certo! Obrigado caro amigo"
3689
+
3690
+ #: wpf-includes/wpf-phrases.php:489
3691
+ msgid ""
3692
+ "Success! Thank you. Please check your email and click confirmation link "
3693
+ "below to complete this step."
3694
+ msgstr ""
3695
+ "Tudo Certo! Obrigado. Por favor, verifique o seu e-mail e clique no link de "
3696
+ "confirmação para concluir esta etapa."
3697
+
3698
+ #: wpf-includes/wpf-phrases.php:490
3699
+ msgid "Successfully updated"
3700
+ msgstr "Atualizado com sucesso"
3701
+
3702
+ #: wpf-includes/wpf-phrases.php:491
3703
+ msgid "Successfully voted"
3704
+ msgstr "Votado com sucesso"
3705
+
3706
+ #: wpf-includes/wpf-phrases.php:492
3707
+ msgid "The uploaded file size is too big"
3708
+ msgstr "O tamanho do arquivo carregado é muito grande"
3709
 
3710
+ #: wpf-includes/wpf-phrases.php:493
3711
+ msgid "Theme options successfully updated"
3712
+ msgstr "Opções de tema atualizadas com sucesso"
3713
 
3714
+ #: wpf-includes/wpf-phrases.php:494
3715
+ msgid "This email address is already registered. Please insert another."
3716
+ msgstr "Este endereço de e-mail já está registrado. Por favor insira outro."
3717
 
3718
+ #: wpf-includes/wpf-phrases.php:495
3719
+ msgid "This post successfully deleted"
3720
+ msgstr "Este post foi deletado com sucesso"
3721
 
3722
+ #: wpf-includes/wpf-phrases.php:496
3723
+ msgid "This post successfully edited"
3724
+ msgstr "Este tópico editado com sucesso"
3725
 
3726
+ #: wpf-includes/wpf-phrases.php:497
3727
+ msgid "This topic successfully deleted"
3728
+ msgstr "Este tópico excluído com sucesso"
3729
 
3730
+ #: wpf-includes/wpf-phrases.php:498
3731
+ msgid "Topic Move Error"
3732
+ msgstr "Erro ao mover tópico"
3733
 
3734
+ #: wpf-includes/wpf-phrases.php:499
3735
+ msgid "Topic add error"
3736
+ msgstr "Erro de adição de tópico"
3737
 
3738
+ #: wpf-includes/wpf-phrases.php:500
3739
+ msgid "Topic delete error"
3740
+ msgstr "Erro de exclusão de tópico"
3741
 
3742
+ #: wpf-includes/wpf-phrases.php:501
3743
+ msgid "Topic edit error"
3744
+ msgstr "Erro de edição de tópico"
3745
 
3746
+ #: wpf-includes/wpf-phrases.php:502
3747
+ msgid "Topic not found."
3748
+ msgstr "Tópico não encontrado."
3749
 
3750
+ #: wpf-includes/wpf-phrases.php:503
3751
+ msgid "Topic successfully moved"
3752
+ msgstr "Tópico movido com sucesso"
3753
 
3754
+ #: wpf-includes/wpf-phrases.php:504
3755
+ msgid "Topic successfully updated"
3756
+ msgstr "Tópico atualizado com sucesso"
3757
 
3758
+ #: wpf-includes/wpf-phrases.php:505
3759
+ msgid "Topics delete error"
3760
+ msgstr "Erro de exclusão de tópicos"
3761
 
3762
+ #: wpf-includes/wpf-phrases.php:506
3763
+ msgid "User delete error"
3764
+ msgstr "Erro de exclusão de usuário"
3765
 
3766
+ #: wpf-includes/wpf-phrases.php:507
3767
+ msgid "User group add error"
3768
+ msgstr "Erro de adição do grupo de usuários"
 
3769
 
3770
+ #: wpf-includes/wpf-phrases.php:508
3771
+ msgid "User group edit error"
3772
+ msgstr "Erro de edição do grupo de usuários"
3773
 
3774
+ #: wpf-includes/wpf-phrases.php:509
3775
+ msgid "User group successfully added"
3776
+ msgstr "Grupo de usuários adicionado com sucesso"
3777
 
3778
+ #: wpf-includes/wpf-phrases.php:510
3779
+ msgid "User group successfully edited"
3780
+ msgstr "Grupo de usuários editado com sucesso"
3781
 
3782
+ #: wpf-includes/wpf-phrases.php:511
3783
+ msgid "User successfully deleted from wpforo"
3784
+ msgstr "Usuário excluído com sucesso do wpforo"
3785
 
3786
+ #: wpf-includes/wpf-phrases.php:512
3787
+ msgid "Username exists. Please insert another."
3788
+ msgstr "O nome de usuário já existe. Por favor insira outro."
3789
 
3790
+ #: wpf-includes/wpf-phrases.php:513
3791
+ msgid "Username is missed."
3792
+ msgstr "Faltando nome de usuário."
 
3793
 
3794
+ #: wpf-includes/wpf-phrases.php:514
3795
+ msgid "Username length must be between 3 characters and 30 characters."
3796
+ msgstr "Tamanho do nome de usuário deve estar ser entre 3 e 30 caracteres."
 
3797
 
3798
+ #: wpf-includes/wpf-phrases.php:515
3799
+ msgid "Welcome to our Community!"
3800
+ msgstr "Bem-vindo à nossa Comunidade!"
 
3801
 
3802
+ #: wpf-includes/wpf-phrases.php:516
3803
+ msgid "Wrong post data"
3804
+ msgstr "Dados do post errados"
 
3805
 
3806
+ #: wpf-includes/wpf-phrases.php:517
3807
+ msgid "You are already voted this post"
3808
+ msgstr "Você votou neste post"
3809
 
3810
+ #: wpf-includes/wpf-phrases.php:518
3811
+ msgid "You have been successfully subscribed"
3812
+ msgstr "Você foi inscrito com sucesso"
 
3813
 
3814
+ #: wpf-includes/wpf-phrases.php:519
3815
+ msgid "You have been successfully unsubscribed"
3816
+ msgstr "Você foi descadastrado com sucesso"
 
3817
 
3818
+ #: wpf-includes/wpf-phrases.php:520
3819
+ msgid "You have no permission to edit this topic"
3820
+ msgstr "Você não tem permissão para editar este tópico"
 
3821
 
3822
+ #: wpf-includes/wpf-phrases.php:521
3823
+ msgid "You don't have permission to create post in this forum"
3824
+ msgstr "Você não tem permissão para criar postagem neste fórum"
3825
 
3826
+ #: wpf-includes/wpf-phrases.php:522
3827
+ msgid "You don't have permission to create topic into this forum"
3828
+ msgstr "Você não tem permissão para criar tópicos neste fórum"
 
 
3829
 
3830
+ #: wpf-includes/wpf-phrases.php:523
3831
+ msgid "You don't have permission to delete post from this forum"
3832
+ msgstr "Você não tem permissão para excluir a publicação deste fórum"
 
 
 
 
 
3833
 
3834
+ #: wpf-includes/wpf-phrases.php:524
3835
+ msgid "You don't have permission to delete topic from this forum"
3836
+ msgstr "Você não tem permissão para excluir tópico deste fórum"
3837
 
3838
+ #: wpf-includes/wpf-phrases.php:525
3839
+ msgid "You don't have permission to edit post from this forum"
3840
+ msgstr "Você não tem permissão para editar publicação deste fórum"
3841
 
3842
+ #: wpf-includes/wpf-phrases.php:526
3843
+ msgid "You successfully replied"
3844
+ msgstr "Você respondeu com sucesso"
3845
 
3846
+ #: wpf-includes/wpf-phrases.php:527
3847
+ msgid "Your forum successfully added"
3848
+ msgstr "Seu fórum foi adicionado com sucesso"
3849
 
3850
+ #: wpf-includes/wpf-phrases.php:528
3851
+ msgid "Your forum successfully deleted"
3852
+ msgstr "Seu fórum foi excluído com sucesso"
3853
 
3854
+ #: wpf-includes/wpf-phrases.php:529
3855
+ msgid "Your profile data have been successfully updated."
3856
+ msgstr "Seus dados de perfil foram atualizados com sucesso."
3857
 
3858
+ #: wpf-includes/wpf-phrases.php:530
3859
+ msgid "Your subscription for this item could not be confirmed"
3860
+ msgstr "Sua inscrição para este item não pôde ser confirmada"
3861
 
3862
+ #: wpf-includes/wpf-phrases.php:531
3863
+ msgid "Your topic successfully added"
3864
+ msgstr "Seu tópico foi adicionado com sucesso"
3865
 
3866
+ #: wpf-includes/wpf-phrases.php:533
3867
+ msgid "Dashboard - Can create forum"
3868
+ msgstr "Painel - Pode criar fórum"
3869
 
3870
+ #: wpf-includes/wpf-phrases.php:534
3871
+ msgid "Dashboard - Can edit forum"
3872
+ msgstr "Painel - Pode editar fórum"
3873
 
3874
+ #: wpf-includes/wpf-phrases.php:535
3875
+ msgid "Dashboard - Can delete forum"
3876
+ msgstr "Painel - Pode deletar fórums"
3877
 
3878
+ #: wpf-includes/wpf-phrases.php:536
3879
+ msgid "Dashboard - Members Menu"
3880
+ msgstr "Painel - Menu de membros"
3881
 
3882
+ #: wpf-includes/wpf-phrases.php:537
3883
+ msgid "Dashboard - Can edit member"
3884
+ msgstr "Painel - Pode editar um membro"
3885
 
3886
+ #: wpf-includes/wpf-phrases.php:538
3887
+ msgid "Dashboard - Can delete member"
3888
+ msgstr "Painel - Pode deletar um membro"
3889
 
3890
+ #: wpf-includes/wpf-phrases.php:539
3891
+ msgid "Dashboard - Usergroup Menu"
3892
+ msgstr "Painel - Menu do grupo de usuários"
3893
 
3894
+ #: wpf-includes/wpf-phrases.php:540
3895
+ msgid "Front - Can view members"
3896
+ msgstr "Front - Pode visualizar membros"
3897
 
3898
+ #: wpf-includes/wpf-phrases.php:541
3899
+ msgid "Front - Can view profiles"
3900
+ msgstr "Front - Pode visualizar perfis"
3901
+
3902
+ #: wpf-includes/wpf-phrases.php:542
3903
+ msgid "Front - Can upload avatar"
3904
+ msgstr "Front - Pode carregar um avatar"
3905
 
3906
+ #: wpf-includes/wpf-phrases.php:543
3907
+ msgid "Front - Can have signature"
3908
+ msgstr "Front - Pode ter assinatura"
3909
 
3910
+ #: wpf-includes/wpf-phrases.php:544
3911
+ msgid "Front - Can view avatars"
3912
+ msgstr "Front - Pode ver avatares"
3913
 
3914
+ #: wpf-includes/wpf-phrases.php:545
3915
+ msgid "Front - Can view member username"
3916
+ msgstr "Front - Pode ver o