Groups - Version 1.4.14

Version Description

  • Now not using Groups' the_posts filter by default as results are already filtered by Groups' posts_where filter.
  • Added the groups_filter_the_posts filter which can be used to 'reactivate' Groups' the_posts filter where needed.
  • Added caching for capabilities read by capability name.
  • Added caching for groups read by name.
  • Added caching for results obtained in Groups_Post_Access::user_can_read_post(...).
  • Added the groups_post_access_user_can_read_post filter.
  • Admin override is disabled by default (existing installs need to disable manually if options were saved).
  • Swedish translation by Andras Lundgren added.
Download this release

Release Info

Developer itthinx
Plugin Icon 128x128 Groups
Version 1.4.14
Comparing to
See all releases

Code changes from version 1.4.13 to 1.4.14

COPYRIGHT.txt CHANGED
@@ -1,7 +1,7 @@
1
 
2
  Groups
3
 
4
- Copyright 2011,2012 "kento" (Karim Rahimpur) www.itthinx.com
5
 
6
  The files COPYRIGHT.txt and LICENSE.txt as well as ALL NOTICES IN THE
7
  HEADERS OF ALL FILES MUST BE KEPT INTACT.
1
 
2
  Groups
3
 
4
+ Copyright 2011-2015 "kento" (Karim Rahimpur) www.itthinx.com
5
 
6
  The files COPYRIGHT.txt and LICENSE.txt as well as ALL NOTICES IN THE
7
  HEADERS OF ALL FILES MUST BE KEPT INTACT.
groups.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * groups.php
4
  *
5
- * Copyright (c) 2011,2012 "kento" Karim Rahimpur www.itthinx.com
6
  *
7
  * This code is released under the GNU General Public License.
8
  * See COPYRIGHT.txt and LICENSE.txt.
@@ -21,13 +21,13 @@
21
  * Plugin Name: Groups
22
  * Plugin URI: http://www.itthinx.com/plugins/groups
23
  * Description: Groups provides group-based user membership management, group-based capabilities and content access control.
24
- * Version: 1.4.13
25
  * Author: itthinx
26
  * Author URI: http://www.itthinx.com
27
  * Donate-Link: http://www.itthinx.com
28
  * License: GPLv3
29
  */
30
- define( 'GROUPS_CORE_VERSION', '1.4.13' );
31
  define( 'GROUPS_FILE', __FILE__ );
32
  if ( !defined( 'GROUPS_CORE_DIR' ) ) {
33
  define( 'GROUPS_CORE_DIR', WP_PLUGIN_DIR . '/groups' );
2
  /**
3
  * groups.php
4
  *
5
+ * Copyright (c) 2011-2015 "kento" Karim Rahimpur www.itthinx.com
6
  *
7
  * This code is released under the GNU General Public License.
8
  * See COPYRIGHT.txt and LICENSE.txt.
21
  * Plugin Name: Groups
22
  * Plugin URI: http://www.itthinx.com/plugins/groups
23
  * Description: Groups provides group-based user membership management, group-based capabilities and content access control.
24
+ * Version: 1.4.14
25
  * Author: itthinx
26
  * Author URI: http://www.itthinx.com
27
  * Donate-Link: http://www.itthinx.com
28
  * License: GPLv3
29
  */
30
+ define( 'GROUPS_CORE_VERSION', '1.4.14' );
31
  define( 'GROUPS_FILE', __FILE__ );
32
  if ( !defined( 'GROUPS_CORE_DIR' ) ) {
33
  define( 'GROUPS_CORE_DIR', WP_PLUGIN_DIR . '/groups' );
languages/groups-sv_SE.mo ADDED
Binary file
languages/groups-sv_SE.po ADDED
@@ -0,0 +1,990 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Groups\n"
4
+ "POT-Creation-Date: 2015-02-13 14:03+0100\n"
5
+ "PO-Revision-Date: 2015-02-13 14:04+0100\n"
6
+ "Last-Translator: Andréas Lundgren <adevade@gmail.com>\n"
7
+ "Language-Team: 035 Media Group <info@035media.se>\n"
8
+ "Language: sv_SE\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.7.4\n"
13
+ "X-Poedit-Basepath: .\n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;_n;_x;_ex;_nx;esc_attr_e;esc_attr_x;esc_html__;"
17
+ "esc_html_e;esc_html_x;_n_noop;_nx_noop;translate_nooped_plural\n"
18
+ "X-Poedit-SearchPath-0: ..\n"
19
+
20
+ #: ../lib/access/class-groups-access-meta-boxes.php:96
21
+ #: ../lib/access/class-groups-access-meta-boxes.php:106
22
+ #: ../lib/access/class-groups-access-meta-boxes.php:120
23
+ #: ../lib/access/class-groups-access-meta-boxes.php:123
24
+ #: ../lib/access/class-groups-access-meta-boxes.php:602
25
+ msgid "Access restrictions"
26
+ msgstr "Tillträdesbegränsningar"
27
+
28
+ #: ../lib/access/class-groups-access-meta-boxes.php:126
29
+ msgid ""
30
+ "Use the <em>Access restrictions</em> box to limit the visibility of posts, "
31
+ "pages and other post types."
32
+ msgstr ""
33
+ "Använd rutan <em>Tillträdesbegränsning</em> för att begränsa synligheten av "
34
+ "inlägg, sidor och andra inläggstyper."
35
+
36
+ #: ../lib/access/class-groups-access-meta-boxes.php:129
37
+ msgid ""
38
+ "You can select one or more capabilities that are enabled for access "
39
+ "restriction."
40
+ msgstr ""
41
+ "Du kan välja en eller flera förmågor som är aktiverade för "
42
+ "tillträdesbegränsning."
43
+
44
+ #: ../lib/access/class-groups-access-meta-boxes.php:131
45
+ msgid ""
46
+ "Note that you must be a member of a group that has such a capability "
47
+ "assigned."
48
+ msgstr ""
49
+ "Notera att du måste vara medlem i gruppen som har den förmågan tilldelad."
50
+
51
+ #: ../lib/access/class-groups-access-meta-boxes.php:134
52
+ msgid "Example:"
53
+ msgstr "Exempel:"
54
+
55
+ #: ../lib/access/class-groups-access-meta-boxes.php:136
56
+ msgid ""
57
+ "Let's assume that you want to limit the visibility of a post to members of "
58
+ "the <em>Premium</em> group."
59
+ msgstr ""
60
+ "Låt oss anta att du vill begränsa synligheten av ett inlägg till medlemmar "
61
+ "av gruppen <em>Premium</em>."
62
+
63
+ #: ../lib/access/class-groups-access-meta-boxes.php:138
64
+ msgid "The quick way:"
65
+ msgstr "Den snabba vägen:"
66
+
67
+ #: ../lib/access/class-groups-access-meta-boxes.php:140
68
+ msgid "Using the quick-create field"
69
+ msgstr "Använda fältet Snabbskapa"
70
+
71
+ #: ../lib/access/class-groups-access-meta-boxes.php:142
72
+ msgid ""
73
+ "Enter <em>Premium</em> in the quick-create field located in the Access "
74
+ "restrictions panel and save or update the post (or hit Enter)."
75
+ msgstr ""
76
+ "Skriv <em>Premium</em> i fältet Snabbskapa i rutan tillträdesbegränsningar "
77
+ "och spara eller uppdatera inlägget (eller tryck på Enter)."
78
+
79
+ #: ../lib/access/class-groups-access-meta-boxes.php:145
80
+ msgid ""
81
+ "Using the quick-create field, you can create a new group and capability. The "
82
+ "capability will be assigned to the group and enabled to enforce read access. "
83
+ "Group names are case-sensitive, the name of the capability is the lower-case "
84
+ "version of the name of the group. If the group already exists, a new "
85
+ "capability is created and assigned to the existing group. If the capability "
86
+ "already exists, it will be assigned to the group. If both already exist, the "
87
+ "capability is enabled to enforce read access. In order to be able to use the "
88
+ "capability, your user account will be assigned to the group."
89
+ msgstr ""
90
+ "Om du använder fältet Snabbskapa kan du skapa en grupp och förmåga "
91
+ "samtidigt. Förmågan kommer att tilldelas gruppen och aktiveras för "
92
+ "tillträdesbegränsning. Gruppnamn är shiftlägeskänsliga, namnet på förmågan "
93
+ "blir en variant på gruppnamnet med endast gemener. Om gruppen redan finns så "
94
+ "kommer en ny förmåga skapas och tilldelas gruppen. Om förmågan redan finns "
95
+ "kommer den tilldelas gruppen. Om båda redan finns kommer förmågan att "
96
+ "aktiveras för tillträdesbegränsning. För att kunna använda förmågan kommer "
97
+ "ditt användarkonto att tilldelas gruppen. "
98
+
99
+ #: ../lib/access/class-groups-access-meta-boxes.php:147
100
+ msgid "The manual way:"
101
+ msgstr "Den långa vägen:"
102
+
103
+ #: ../lib/access/class-groups-access-meta-boxes.php:149
104
+ msgid ""
105
+ "Adding the group and capability manually and enabling it for access "
106
+ "restriction"
107
+ msgstr ""
108
+ "Lägga till gruppen och förmågor manuellt och aktivera den för "
109
+ "tillträdesbegränsning"
110
+
111
+ #: ../lib/access/class-groups-access-meta-boxes.php:152
112
+ msgid ""
113
+ "Try the quick-create field first. Unless you need a more complex setup, "
114
+ "there is no reason to go this way instead."
115
+ msgstr ""
116
+ "Testa fältet Snabbskapa först. Så länge du inte behöver en mer avancerad "
117
+ "setup så finns det ingen anledning att inte ta den snabba vägen istället."
118
+
119
+ #: ../lib/access/class-groups-access-meta-boxes.php:155
120
+ msgid ""
121
+ "Go to <strong>Groups > Groups</strong> and add the <em>Premium</em> group."
122
+ msgstr ""
123
+ "Gå till <strong>Grupper > Grupper</strong> och lägg till gruppen "
124
+ "<em>Premium</em>."
125
+
126
+ #: ../lib/access/class-groups-access-meta-boxes.php:156
127
+ msgid ""
128
+ "Go to <strong>Groups > Capabilities</strong> and add the <em>premium</em> "
129
+ "capability."
130
+ msgstr ""
131
+ "Gå till <strong>Grupper > Förmågor</strong> och lägg till förmågan "
132
+ "<em>premium</em>."
133
+
134
+ #: ../lib/access/class-groups-access-meta-boxes.php:157
135
+ msgid ""
136
+ "Go to <strong>Groups > Groups</strong> and assign the <em>premium</em> "
137
+ "capability to the <em>Premium</em> group."
138
+ msgstr ""
139
+ "Gå till <strong>Grupper > Grupper</strong> och tilldela förmågan "
140
+ "<em>premium</em> till gruppen <em>Premium</em>."
141
+
142
+ #: ../lib/access/class-groups-access-meta-boxes.php:158
143
+ msgid ""
144
+ "Go to <strong>Groups > Options</strong> and enable the <em>premium</em> "
145
+ "capability to restrict access."
146
+ msgstr ""
147
+ "Gå till <strong>Grupper > Inställningar</strong> och aktivera förmågan "
148
+ "<em>premium</em> för att begränsa tillträde."
149
+
150
+ #: ../lib/access/class-groups-access-meta-boxes.php:159
151
+ msgid ""
152
+ "Become a member of the <em>Premium</em> group - this is required so you can "
153
+ "choose the <em>premium</em> capability to restrict access to a post."
154
+ msgstr ""
155
+ "Bli medlem i gruppen <em>Premium</em> - detta är nödvändigt så att du kan "
156
+ "välja förmågan <em>premium</em> för att begränsa tillträde till ett inlägg."
157
+
158
+ #: ../lib/access/class-groups-access-meta-boxes.php:160
159
+ msgid ""
160
+ "Edit the post for which you want to restrict access and choose<sup>*</sup> "
161
+ "the <em>premium</em> capability."
162
+ msgstr ""
163
+ "Redigera inlägget du vill begränsa tillträda till och välj<sup>*</sup> "
164
+ "förmågan <em>premium</em>."
165
+
166
+ #: ../lib/access/class-groups-access-meta-boxes.php:163
167
+ msgid ""
168
+ "<sup>*</sup> For each capability, the groups that have the capability "
169
+ "assigned are shown within parenthesis. You can choose a capability by typing "
170
+ "part of the group's or the capability's name."
171
+ msgstr ""
172
+ "<sup>*</sup> För varje förmåga syns grupperna som denna är tilldelad inom "
173
+ "parentes. Du kan välja en förmåga genom att börja skriva gruppens eller "
174
+ "förmågans namn."
175
+
176
+ #: ../lib/access/class-groups-access-meta-boxes.php:188
177
+ msgid "Post"
178
+ msgstr "Inlägg"
179
+
180
+ #: ../lib/access/class-groups-access-meta-boxes.php:203
181
+ #: ../lib/access/class-groups-access-meta-boxes.php:515
182
+ msgid "Enforce read access"
183
+ msgstr "Tvinga läsbegränsning"
184
+
185
+ #: ../lib/access/class-groups-access-meta-boxes.php:211
186
+ #: ../lib/access/class-groups-access-meta-boxes.php:212
187
+ #: ../lib/access/class-groups-access-meta-boxes.php:550
188
+ msgid "Type and choose &hellip;"
189
+ msgstr "Skriv och välj&hellip;"
190
+
191
+ #: ../lib/access/class-groups-access-meta-boxes.php:213
192
+ #: ../lib/access/class-groups-access-meta-boxes.php:551
193
+ msgid ""
194
+ "Choose one or more capabilities to restrict access. Groups that grant access "
195
+ "through the capabilities are shown in parenthesis. If no capabilities are "
196
+ "available yet, you can use the quick-create box to create a group and "
197
+ "capability enabled for access restriction on the fly."
198
+ msgstr ""
199
+ "Välj en eller flera förmågor för att begränsa tillträde. Grupper som ger "
200
+ "tillträde genom förmågorna visas inom parentes. Om inga förmågor finns "
201
+ "tillgängliga än kan du använda fältet Snabbskapa för att skapa en grupp och "
202
+ "förmåga för tillträdesbegränsning i farten."
203
+
204
+ #: ../lib/access/class-groups-access-meta-boxes.php:230
205
+ #: ../lib/access/class-groups-access-meta-boxes.php:568
206
+ #, php-format
207
+ msgid "Members of the %1$s group can access this %2$s through this capability."
208
+ msgstr "Medlemmar i gruppen %1$s kan läsa denna %2$s genom denna förmåga."
209
+
210
+ #: ../lib/access/class-groups-access-meta-boxes.php:239
211
+ #: ../lib/access/class-groups-access-meta-boxes.php:577
212
+ msgid ""
213
+ "No groups grant access through this capability. To grant access to group "
214
+ "members using this capability, you should assign it to a group and enable "
215
+ "the capability for access restriction."
216
+ msgstr ""
217
+ "Inga grupper ger tillträde genom denna förmågan. För att ge gruppmedlemmar "
218
+ "tillträde genom denna förmågan"
219
+
220
+ #: ../lib/access/class-groups-access-meta-boxes.php:271
221
+ #: ../lib/access/class-groups-access-meta-boxes.php:598
222
+ #, php-format
223
+ msgid ""
224
+ "Only groups or users that have one of the selected capabilities are allowed "
225
+ "to read this %s."
226
+ msgstr ""
227
+ "Endast grupper eller medlemmar som har någon av de valda förmågorna har "
228
+ "tillträde till denna %s."
229
+
230
+ #: ../lib/access/class-groups-access-meta-boxes.php:275
231
+ msgid "Click to toggle the display of groups that grant the capabilities."
232
+ msgstr "Klicka för att växla "
233
+
234
+ #: ../lib/access/class-groups-access-meta-boxes.php:278
235
+ msgid "Show groups"
236
+ msgstr "Visa grupper"
237
+
238
+ #: ../lib/access/class-groups-access-meta-boxes.php:291
239
+ msgid "You cannot set any access restrictions."
240
+ msgstr "Du kan inte ställa in några tillträdesbegränsningar."
241
+
242
+ #: ../lib/access/class-groups-access-meta-boxes.php:297
243
+ msgid ""
244
+ "You must be in a group that has at least one capability enabled to enforce "
245
+ "read access."
246
+ msgstr ""
247
+ "Du måste vara med i en grupp som har minst en förmåga för att tvinga "
248
+ "läsbehörighet."
249
+
250
+ #: ../lib/access/class-groups-access-meta-boxes.php:309
251
+ msgid "Quick-create group &amp; capability"
252
+ msgstr "Snabbskapa grupp &amp; förmåga"
253
+
254
+ #: ../lib/access/class-groups-access-meta-boxes.php:313
255
+ msgid ""
256
+ "You can create a new group and capability here. The capability will be "
257
+ "assigned to the group and enabled to enforce read access. Group names are "
258
+ "case-sensitive, the name of the capability is the lower-case version of the "
259
+ "name of the group. If the group already exists, a new capability is created "
260
+ "and assigned to the existing group. If the capability already exists, it "
261
+ "will be assigned to the group. If both already exist, the capability is "
262
+ "enabled to enforce read access. In order to be able to use the capability, "
263
+ "your user account will be assigned to the group."
264
+ msgstr ""
265
+ "Du kan skapa en ny grupp och förmåga här. Förmågan kommer att tilldelas "
266
+ "gruppen och aktiverad för att tvinga läsbehörighet. Gruppnamn är "
267
+ "shiftlägeskänsliga, namnet på förmågan är "
268
+
269
+ #: ../lib/access/class-groups-access-meta-boxes.php:513
270
+ msgid "Media"
271
+ msgstr "Media"
272
+
273
+ #: ../lib/access/class-groups-post-access.php:55
274
+ msgid "Read Post"
275
+ msgstr "Läs inlägg"
276
+
277
+ #: ../lib/admin/class-groups-admin-post-columns.php:76
278
+ #, php-format
279
+ msgid "<span title=\"%s\">Access Restrictions</span>"
280
+ msgstr "<span title=\"%s\">Tillträdesbegränsningar</span>"
281
+
282
+ #: ../lib/admin/class-groups-admin-post-columns.php:77
283
+ msgid "One or more capabilities required to read the entry."
284
+ msgstr "En eller flera förmågor behövs för att läsa inlägget."
285
+
286
+ #: ../lib/admin/class-groups-admin-posts.php:124
287
+ #: ../lib/admin/class-groups-admin-posts.php:125
288
+ msgid "Access restrictions &hellip;"
289
+ msgstr "Tillträdesbegränsningar&hellip;"
290
+
291
+ #: ../lib/admin/class-groups-admin-posts.php:136
292
+ msgid "(only unrestricted)"
293
+ msgstr "(endast obegränsade)"
294
+
295
+ #: ../lib/admin/class-groups-admin-posts.php:181
296
+ msgid "Access Restrictions"
297
+ msgstr "Tillträdesbegränsningar"
298
+
299
+ #: ../lib/admin/class-groups-admin-posts.php:184
300
+ msgid "&mdash; No Change &mdash;"
301
+ msgstr "&mdash; Ingen förändring &mdash;"
302
+
303
+ #: ../lib/admin/class-groups-admin-posts.php:185
304
+ msgid "Add restriction"
305
+ msgstr "Lägg till begränsning"
306
+
307
+ #: ../lib/admin/class-groups-admin-posts.php:186
308
+ msgid "Remove restriction"
309
+ msgstr "Ta bort begränsning"
310
+
311
+ #: ../lib/admin/class-groups-admin-posts.php:195
312
+ #: ../lib/admin/class-groups-admin-posts.php:196
313
+ msgid "Choose access restrictions &hellip;"
314
+ msgstr "Välj tillträdesbegränsningar&hellip;"
315
+
316
+ #: ../lib/admin/class-groups-admin-user-profile.php:66
317
+ #: ../lib/admin/class-groups-admin-user-profile.php:90
318
+ #: ../lib/admin/class-groups-admin-users.php:302
319
+ #: ../lib/admin/class-groups-admin.php:138
320
+ #: ../lib/admin/class-groups-admin.php:139
321
+ #: ../lib/admin/class-groups-admin.php:210
322
+ #: ../lib/admin/class-groups-admin.php:211
323
+ #: ../lib/admin/groups-admin-groups.php:200
324
+ #: ../lib/core/class-groups-help.php:61 ../lib/core/class-groups-help.php:66
325
+ #: ../lib/core/class-groups-help.php:67
326
+ msgid "Groups"
327
+ msgstr "Grupper"
328
+
329
+ #: ../lib/admin/class-groups-admin-user-profile.php:100
330
+ #: ../lib/admin/class-groups-admin-user-profile.php:101
331
+ #: ../lib/admin/class-groups-admin-users.php:164
332
+ #: ../lib/admin/class-groups-admin-users.php:165
333
+ msgid "Choose groups &hellip;"
334
+ msgstr "Välj grupper&hellip;"
335
+
336
+ #: ../lib/admin/class-groups-admin-user-profile.php:109
337
+ msgid "The user is a member of the chosen groups."
338
+ msgstr "Användaren är medlem i en av de valda grupperna."
339
+
340
+ #: ../lib/admin/class-groups-admin-users.php:181
341
+ msgid "Group Actions"
342
+ msgstr "Gruppåtgärder"
343
+
344
+ #: ../lib/admin/class-groups-admin-users.php:182
345
+ msgid "Add to group"
346
+ msgstr "Lägg till i grupp"
347
+
348
+ #: ../lib/admin/class-groups-admin-users.php:183
349
+ msgid "Remove from group"
350
+ msgstr "Ta bort från grupp"
351
+
352
+ #: ../lib/admin/class-groups-admin-users.php:185
353
+ #: ../lib/admin/groups-admin-capabilities.php:309
354
+ #: ../lib/admin/groups-admin-capabilities.php:335
355
+ #: ../lib/admin/groups-admin-capabilities.php:349
356
+ #: ../lib/admin/groups-admin-groups.php:316
357
+ #: ../lib/admin/groups-admin-groups.php:342
358
+ #: ../lib/admin/groups-admin-groups.php:378
359
+ msgid "Apply"
360
+ msgstr "Utför"
361
+
362
+ #: ../lib/admin/class-groups-admin-users.php:329
363
+ msgid "--"
364
+ msgstr "--"
365
+
366
+ #: ../lib/admin/class-groups-admin.php:159
367
+ #: ../lib/admin/class-groups-admin.php:160
368
+ msgid "Tree"
369
+ msgstr "Träd"
370
+
371
+ #: ../lib/admin/class-groups-admin.php:173
372
+ msgid "Groups Capabilities"
373
+ msgstr "Gruppförmågor"
374
+
375
+ #: ../lib/admin/class-groups-admin.php:174
376
+ #: ../lib/admin/groups-admin-capabilities.php:193
377
+ #: ../lib/admin/groups-admin-groups-add.php:99
378
+ #: ../lib/admin/groups-admin-groups-edit.php:119
379
+ #: ../lib/admin/groups-admin-groups.php:297
380
+ #: ../lib/admin/groups-admin-options.php:251
381
+ #: ../lib/core/class-groups-help.php:69
382
+ msgid "Capabilities"
383
+ msgstr "Förmågor"
384
+
385
+ #: ../lib/admin/class-groups-admin.php:186
386
+ #: ../lib/admin/groups-admin-options.php:133
387
+ msgid "Groups options"
388
+ msgstr "Gruppinställningar"
389
+
390
+ #: ../lib/admin/class-groups-admin.php:187
391
+ #: ../lib/core/class-groups-help.php:68
392
+ msgid "Options"
393
+ msgstr "Inställningar"
394
+
395
+ #: ../lib/admin/groups-admin-capabilities-add.php:34
396
+ #: ../lib/admin/groups-admin-capabilities-add.php:92
397
+ #: ../lib/admin/groups-admin-capabilities-add.php:96
398
+ #: ../lib/admin/groups-admin-capabilities-edit.php:35
399
+ #: ../lib/admin/groups-admin-capabilities-edit.php:100
400
+ #: ../lib/admin/groups-admin-capabilities-edit.php:104
401
+ #: ../lib/admin/groups-admin-capabilities-remove.php:35
402
+ #: ../lib/admin/groups-admin-capabilities-remove.php:87
403
+ #: ../lib/admin/groups-admin-capabilities-remove.php:91
404
+ #: ../lib/admin/groups-admin-capabilities-remove.php:114
405
+ #: ../lib/admin/groups-admin-capabilities-remove.php:183
406
+ #: ../lib/admin/groups-admin-capabilities-remove.php:187
407
+ #: ../lib/admin/groups-admin-capabilities.php:48
408
+ #: ../lib/admin/groups-admin-capabilities.php:141
409
+ #: ../lib/admin/groups-admin-capabilities.php:172
410
+ #: ../lib/admin/groups-admin-capabilities.php:178
411
+ #: ../lib/admin/groups-admin-groups-add.php:36
412
+ #: ../lib/admin/groups-admin-groups-add.php:141
413
+ #: ../lib/admin/groups-admin-groups-add.php:145
414
+ #: ../lib/admin/groups-admin-groups-edit.php:37
415
+ #: ../lib/admin/groups-admin-groups-edit.php:159
416
+ #: ../lib/admin/groups-admin-groups-edit.php:163
417
+ #: ../lib/admin/groups-admin-groups-remove.php:35
418
+ #: ../lib/admin/groups-admin-groups-remove.php:87
419
+ #: ../lib/admin/groups-admin-groups-remove.php:91
420
+ #: ../lib/admin/groups-admin-groups-remove.php:114
421
+ #: ../lib/admin/groups-admin-groups-remove.php:185
422
+ #: ../lib/admin/groups-admin-groups-remove.php:189
423
+ #: ../lib/admin/groups-admin-groups.php:49
424
+ #: ../lib/admin/groups-admin-groups.php:148
425
+ #: ../lib/admin/groups-admin-groups.php:179
426
+ #: ../lib/admin/groups-admin-groups.php:185
427
+ #: ../lib/admin/groups-admin-options.php:39
428
+ #: ../lib/admin/groups-admin-options.php:329
429
+ #: ../lib/admin/groups-admin-tree-view.php:37 ../lib/test/groups-tests.php:385
430
+ #: ../lib/test/groups-tests.php:391
431
+ msgid "Access denied."
432
+ msgstr "Åtkomst nekad."
433
+
434
+ #: ../lib/admin/groups-admin-capabilities-add.php:51
435
+ msgid "Add a new capability"
436
+ msgstr "Lägg till ny förmåga"
437
+
438
+ #: ../lib/admin/groups-admin-capabilities-add.php:59
439
+ #: ../lib/admin/groups-admin-capabilities-edit.php:68
440
+ #: ../lib/admin/groups-admin-capabilities.php:289
441
+ #: ../lib/admin/groups-admin-capabilities.php:304
442
+ msgid "Capability"
443
+ msgstr "Förmåga"
444
+
445
+ #: ../lib/admin/groups-admin-capabilities-add.php:64
446
+ #: ../lib/admin/groups-admin-capabilities-edit.php:73
447
+ #: ../lib/admin/groups-admin-capabilities.php:290
448
+ #: ../lib/admin/groups-admin-groups-add.php:85
449
+ #: ../lib/admin/groups-admin-groups-edit.php:95
450
+ #: ../lib/admin/groups-admin-groups.php:296
451
+ msgid "Description"
452
+ msgstr "Beskrivning"
453
+
454
+ #: ../lib/admin/groups-admin-capabilities-add.php:70
455
+ #: ../lib/admin/groups-admin-capabilities.php:201
456
+ #: ../lib/admin/groups-admin-groups-add.php:119
457
+ #: ../lib/admin/groups-admin-groups.php:208
458
+ msgid "Add"
459
+ msgstr "Lägg till"
460
+
461
+ #: ../lib/admin/groups-admin-capabilities-add.php:72
462
+ #: ../lib/admin/groups-admin-capabilities-edit.php:81
463
+ #: ../lib/admin/groups-admin-capabilities-remove.php:66
464
+ #: ../lib/admin/groups-admin-capabilities-remove.php:156
465
+ #: ../lib/admin/groups-admin-groups-add.php:121
466
+ #: ../lib/admin/groups-admin-groups-edit.php:141
467
+ #: ../lib/admin/groups-admin-groups-remove.php:66
468
+ #: ../lib/admin/groups-admin-groups-remove.php:160
469
+ msgid "Cancel"
470
+ msgstr "Avbryt"
471
+
472
+ #: ../lib/admin/groups-admin-capabilities-add.php:105
473
+ #: ../lib/admin/groups-admin-capabilities-edit.php:134
474
+ msgid "The <em>Capability</em> must not be empty."
475
+ msgstr "<em>Förmågan</em> kan inte vara tom."
476
+
477
+ #: ../lib/admin/groups-admin-capabilities-add.php:107
478
+ #, php-format
479
+ msgid "The <em>%s</em> capability already exists."
480
+ msgstr "Förmågan <em>%s</em> finns redan."
481
+
482
+ #: ../lib/admin/groups-admin-capabilities-edit.php:41
483
+ #: ../lib/admin/groups-admin-capabilities-remove.php:41
484
+ msgid "No such capability."
485
+ msgstr "Ingen sådan förmåga."
486
+
487
+ #: ../lib/admin/groups-admin-capabilities-edit.php:57
488
+ msgid "Edit a capability"
489
+ msgstr "Redigera en förmåga"
490
+
491
+ #: ../lib/admin/groups-admin-capabilities-edit.php:79
492
+ #: ../lib/admin/groups-admin-groups-edit.php:139
493
+ #: ../lib/admin/groups-admin-options.php:205
494
+ #: ../lib/admin/groups-admin-options.php:317
495
+ #: ../lib/admin/groups-admin-options.php:367
496
+ msgid "Save"
497
+ msgstr "Spara"
498
+
499
+ #: ../lib/admin/groups-admin-capabilities-edit.php:120
500
+ #, php-format
501
+ msgid ""
502
+ "The <em>%s</em> capability already exists and cannot be assigned to this one."
503
+ msgstr "Förmågan <em>%s</em> finns redan och kan inte tilldelas denna."
504
+
505
+ #: ../lib/admin/groups-admin-capabilities-edit.php:130
506
+ #, php-format
507
+ msgid "The <em>%s</em> capability could not be updated."
508
+ msgstr "Förmågan <em>%s</em> kunde inte uppdateras."
509
+
510
+ #: ../lib/admin/groups-admin-capabilities-remove.php:54
511
+ msgid "Remove a capability"
512
+ msgstr "Radera en förmåga"
513
+
514
+ #: ../lib/admin/groups-admin-capabilities-remove.php:61
515
+ #, php-format
516
+ msgid "Capability : %s"
517
+ msgstr "Förmåga: %s"
518
+
519
+ #: ../lib/admin/groups-admin-capabilities-remove.php:64
520
+ #: ../lib/admin/groups-admin-capabilities-remove.php:155
521
+ #: ../lib/admin/groups-admin-capabilities.php:292
522
+ #: ../lib/admin/groups-admin-capabilities.php:347
523
+ #: ../lib/admin/groups-admin-capabilities.php:408
524
+ #: ../lib/admin/groups-admin-groups-remove.php:64
525
+ #: ../lib/admin/groups-admin-groups-remove.php:159
526
+ #: ../lib/admin/groups-admin-groups.php:299
527
+ #: ../lib/admin/groups-admin-groups.php:450
528
+ msgid "Remove"
529
+ msgstr "Radera"
530
+
531
+ #: ../lib/admin/groups-admin-capabilities-remove.php:120
532
+ msgid "No such capabilities."
533
+ msgstr "Inga sådana förmågor."
534
+
535
+ #: ../lib/admin/groups-admin-capabilities-remove.php:138
536
+ msgid "Remove capabilities"
537
+ msgstr "Ta bort förmågor"
538
+
539
+ #: ../lib/admin/groups-admin-capabilities-remove.php:145
540
+ msgid ""
541
+ "Please confirm to remove the following capabilities. This action cannot be "
542
+ "undone."
543
+ msgstr "Vill du verkligen radera följande förmågor? Detta kan inte ångras."
544
+
545
+ #: ../lib/admin/groups-admin-capabilities-remove.php:151
546
+ #: ../lib/admin/groups-admin-groups-remove.php:155
547
+ #, php-format
548
+ msgid "<strong>%s</strong>"
549
+ msgstr "<strong>%s</strong>"
550
+
551
+ #: ../lib/admin/groups-admin-capabilities.php:62
552
+ #, php-format
553
+ msgid "The <em>%s</em> capability has been created."
554
+ msgstr "Förmågan <em>%s</em> har skapats."
555
+
556
+ #: ../lib/admin/groups-admin-capabilities.php:70
557
+ #, php-format
558
+ msgid "The <em>%s</em> capability has been updated."
559
+ msgstr "Förmågan <em>%s</em> har uppdaterats."
560
+
561
+ #: ../lib/admin/groups-admin-capabilities.php:75
562
+ msgid "The capability has been deleted."
563
+ msgstr "Förmågan har raderats."
564
+
565
+ #: ../lib/admin/groups-admin-capabilities.php:121
566
+ msgid "One capability has been added."
567
+ msgstr "En förmåga har lagts till."
568
+
569
+ #: ../lib/admin/groups-admin-capabilities.php:123
570
+ msgid "No new capabilities have been found."
571
+ msgstr "Inga nya förmågor har hittats."
572
+
573
+ #: ../lib/admin/groups-admin-capabilities.php:126
574
+ msgid "A Duck!"
575
+ msgstr "En anka!"
576
+
577
+ #: ../lib/admin/groups-admin-capabilities.php:201
578
+ msgid "Click to add a new capability"
579
+ msgstr "Klicka för att lägg till en ny förmåga"
580
+
581
+ #: ../lib/admin/groups-admin-capabilities.php:201
582
+ msgid "New Capability"
583
+ msgstr "Ny förmåga"
584
+
585
+ #: ../lib/admin/groups-admin-capabilities.php:202
586
+ msgid "Click to refresh capabilities"
587
+ msgstr "Klicka för att uppdatera förmågor"
588
+
589
+ #: ../lib/admin/groups-admin-capabilities.php:202
590
+ msgid "Refresh"
591
+ msgstr "Uppdatera"
592
+
593
+ #: ../lib/admin/groups-admin-capabilities.php:288
594
+ #: ../lib/admin/groups-admin-groups.php:294
595
+ msgid "Id"
596
+ msgstr "ID"
597
+
598
+ #: ../lib/admin/groups-admin-capabilities.php:291
599
+ #: ../lib/admin/groups-admin-capabilities.php:403
600
+ #: ../lib/admin/groups-admin-groups.php:298
601
+ #: ../lib/admin/groups-admin-groups.php:445
602
+ msgid "Edit"
603
+ msgstr "Redigera"
604
+
605
+ #: ../lib/admin/groups-admin-capabilities.php:299
606
+ #: ../lib/admin/groups-admin-groups.php:306
607
+ msgid "Filters"
608
+ msgstr "Filter"
609
+
610
+ #: ../lib/admin/groups-admin-capabilities.php:302
611
+ msgid "Capability Id"
612
+ msgstr "Förmåga-ID"
613
+
614
+ #: ../lib/admin/groups-admin-capabilities.php:310
615
+ #: ../lib/admin/groups-admin-groups.php:317
616
+ msgid "Clear"
617
+ msgstr "Rensa"
618
+
619
+ #: ../lib/admin/groups-admin-capabilities.php:332
620
+ #: ../lib/admin/groups-admin-groups.php:339
621
+ msgid "Results per page"
622
+ msgstr "Resultat per sida"
623
+
624
+ #: ../lib/admin/groups-admin-capabilities.php:346
625
+ #: ../lib/admin/groups-admin-groups.php:373
626
+ msgid "Bulk Actions"
627
+ msgstr "Åtgärder"
628
+
629
+ #: ../lib/admin/groups-admin-capabilities.php:415
630
+ #: ../lib/admin/groups-admin-groups.php:457
631
+ msgid "There are no results."
632
+ msgstr "Det finns inga resultat."
633
+
634
+ #: ../lib/admin/groups-admin-groups-add.php:60
635
+ msgid "Add a new group"
636
+ msgstr "Lägg till en ny grupp"
637
+
638
+ #: ../lib/admin/groups-admin-groups-add.php:71
639
+ #: ../lib/admin/groups-admin-groups-edit.php:81
640
+ msgid "Name"
641
+ msgstr "Namn"
642
+
643
+ #: ../lib/admin/groups-admin-groups-add.php:78
644
+ #: ../lib/admin/groups-admin-groups-edit.php:88
645
+ msgid "Parent"
646
+ msgstr "Förälder"
647
+
648
+ #: ../lib/admin/groups-admin-groups-add.php:102
649
+ #: ../lib/admin/groups-admin-groups-edit.php:122
650
+ msgid "Choose capabilities &hellip;"
651
+ msgstr "Välj förmågor&hellip;"
652
+
653
+ #: ../lib/admin/groups-admin-groups-add.php:111
654
+ msgid "These capabilities will be assigned to the group."
655
+ msgstr "Dessa förmågor kommer att tilldelas gruppen."
656
+
657
+ #: ../lib/admin/groups-admin-groups-add.php:165
658
+ msgid "The name must not be empty."
659
+ msgstr "Namnet kan inte vara tomt."
660
+
661
+ #: ../lib/admin/groups-admin-groups-add.php:167
662
+ #, php-format
663
+ msgid "The <em>%s</em> group already exists."
664
+ msgstr "Gruppen <em>%s</em> finns redan."
665
+
666
+ #: ../lib/admin/groups-admin-groups-edit.php:43
667
+ #: ../lib/admin/groups-admin-groups-remove.php:41
668
+ msgid "No such group."
669
+ msgstr "Ingen sådan grupp."
670
+
671
+ #: ../lib/admin/groups-admin-groups-edit.php:69
672
+ msgid "Edit a group"
673
+ msgstr "Redigera en grupp"
674
+
675
+ #: ../lib/admin/groups-admin-groups-edit.php:132
676
+ msgid "The chosen capabilities are assigned to the group."
677
+ msgstr "De valda förmågorna är tilldelade gruppen."
678
+
679
+ #: ../lib/admin/groups-admin-groups-edit.php:179
680
+ msgid "The <em>Name</em> must not be empty."
681
+ msgstr "<em>Namnet</em> kan inte vara tomt."
682
+
683
+ #: ../lib/admin/groups-admin-groups-edit.php:187
684
+ #, php-format
685
+ msgid ""
686
+ "The <em>%s</em> group already exists and cannot be used to name this one."
687
+ msgstr ""
688
+ "Gruppen <em>%s</em> finns redan och kan inte användas för att namnge denna."
689
+
690
+ #: ../lib/admin/groups-admin-groups-remove.php:54
691
+ msgid "Remove a group"
692
+ msgstr "Radera en grupp"
693
+
694
+ #: ../lib/admin/groups-admin-groups-remove.php:61
695
+ #, php-format
696
+ msgid "Group Name : %s"
697
+ msgstr "Gruppnamn: %s"
698
+
699
+ #: ../lib/admin/groups-admin-groups-remove.php:120
700
+ msgid "No such groups."
701
+ msgstr "Inga sådana grupper."
702
+
703
+ #: ../lib/admin/groups-admin-groups-remove.php:140
704
+ msgid "Remove groups"
705
+ msgstr "Radera grupper"
706
+
707
+ #: ../lib/admin/groups-admin-groups-remove.php:148
708
+ msgid ""
709
+ "Please confirm removal of the following groups. This action cannot be undone."
710
+ msgstr "Vill du verkligen radera följande grupper? Detta går inte att ångra."
711
+
712
+ #: ../lib/admin/groups-admin-groups.php:63
713
+ #, php-format
714
+ msgid "The <em>%s</em> group has been created."
715
+ msgstr "Gruppen <em>%s</em> har skapats."
716
+
717
+ #: ../lib/admin/groups-admin-groups.php:71
718
+ #, php-format
719
+ msgid "The <em>%s</em> group has been updated."
720
+ msgstr "Gruppen <em>%s</em> har uppdaterats."
721
+
722
+ #: ../lib/admin/groups-admin-groups.php:76
723
+ msgid "The group has been deleted."
724
+ msgstr "Gruppen raderades."
725
+
726
+ #: ../lib/admin/groups-admin-groups.php:208
727
+ msgid "Click to add a new group"
728
+ msgstr "Klicka för att lägg till en ny grupp"
729
+
730
+ #: ../lib/admin/groups-admin-groups.php:208
731
+ msgid "New Group"
732
+ msgstr "Ny grupp"
733
+
734
+ #: ../lib/admin/groups-admin-groups.php:295
735
+ msgid "Group"
736
+ msgstr "Grupp"
737
+
738
+ #: ../lib/admin/groups-admin-groups.php:309
739
+ msgid "Group Id"
740
+ msgstr "Grupp-ID"
741
+
742
+ #: ../lib/admin/groups-admin-groups.php:311
743
+ msgid "Group Name"
744
+ msgstr "Gruppnamn"
745
+
746
+ #: ../lib/admin/groups-admin-groups.php:354
747
+ #: ../lib/admin/groups-admin-groups.php:355
748
+ msgid "Capabilities &hellip;"
749
+ msgstr "Förmågor&hellip;"
750
+
751
+ #: ../lib/admin/groups-admin-groups.php:374
752
+ msgid "Remove group"
753
+ msgstr "Radera grupp"
754
+
755
+ #: ../lib/admin/groups-admin-groups.php:375
756
+ msgid "Add capability"
757
+ msgstr "Lägg till förmåga"
758
+
759
+ #: ../lib/admin/groups-admin-groups.php:376
760
+ msgid "Remove capability"
761
+ msgstr "Ta bort förmåga"
762
+
763
+ #: ../lib/admin/groups-admin-groups.php:440
764
+ msgid "This group has no capabilities."
765
+ msgstr "Denna gruppen har inga förmågor."
766
+
767
+ #: ../lib/admin/groups-admin-options.php:50
768
+ msgid "Access Groups"
769
+ msgstr "Tillgång till grupper"
770
+
771
+ #: ../lib/admin/groups-admin-options.php:51
772
+ msgid "Administer Groups"
773
+ msgstr "Administrera grupper"
774
+
775
+ #: ../lib/admin/groups-admin-options.php:52
776
+ msgid "Administer Groups plugin options"
777
+ msgstr "Administrera inställningar för tillägget Grupper (Groups)"
778
+
779
+ #: ../lib/admin/groups-admin-options.php:125
780
+ msgid "Options saved."
781
+ msgstr "Inställningarna sparades."
782
+
783
+ #: ../lib/admin/groups-admin-options.php:148
784
+ msgid "Role"
785
+ msgstr "Roll"
786
+
787
+ #: ../lib/admin/groups-admin-options.php:193
788
+ msgid ""
789
+ "Enhanced functionality is available via official <a href=\"http://www."
790
+ "itthinx.com/plugins/groups/\">Extensions</a> for Groups."
791
+ msgstr ""
792
+ "Utökad funktionalitet finns tillgängligt via officiella <a href=\"http://www."
793
+ "itthinx.com/plugins/groups/\">tillägg</a> för Grupper (Groups)."
794
+
795
+ #: ../lib/admin/groups-admin-options.php:210
796
+ msgid "Administrator Access Override"
797
+ msgstr "Tillträdesöverskridning för administratörer"
798
+
799
+ #: ../lib/admin/groups-admin-options.php:214
800
+ msgid ""
801
+ "Administrators override all access permissions derived from Groups "
802
+ "capabilities."
803
+ msgstr "Administratörer överskrider alla begränsningar satta av Grupper."
804
+
805
+ #: ../lib/admin/groups-admin-options.php:218
806
+ msgid "Access restricions"
807
+ msgstr "Tillträdesbegränsningar"
808
+
809
+ #: ../lib/admin/groups-admin-options.php:220
810
+ msgid "Post types"
811
+ msgstr "Inläggstyper"
812
+
813
+ #: ../lib/admin/groups-admin-options.php:223
814
+ msgid "Show access restrictions for these post types."
815
+ msgstr "Visa tillträdesbegränsningar för dessa inläggstyper."
816
+
817
+ #: ../lib/admin/groups-admin-options.php:246
818
+ msgid ""
819
+ "This determines for which post types access restriction settings are offered."
820
+ msgstr ""
821
+ "Detta avgör för vilka inläggstyper rutan med tillträdesbegränsningar kommer "
822
+ "visas."
823
+
824
+ #: ../lib/admin/groups-admin-options.php:247
825
+ msgid ""
826
+ "Disabling this setting for a post type does not remove existing access "
827
+ "restrictions on individual posts of that type."
828
+ msgstr ""
829
+ "Avaktivering av detta alternativ tar inte bort tillträdesbegränsningar på "
830
+ "individuella inlägg av den typen."
831
+
832
+ #: ../lib/admin/groups-admin-options.php:254
833
+ msgid ""
834
+ "Include these capabilities to enforce read access on posts. The selected "
835
+ "capabilities will be offered to restrict access to posts."
836
+ msgstr ""
837
+ "Inkludera dessa förmågor för att tvinga läsbegränsningar på inlägg. De valda "
838
+ "förmågorna kommer att finnas tillgängliga när användare begränsar tillträde "
839
+ "till inlägg."
840
+
841
+ #: ../lib/admin/groups-admin-options.php:275
842
+ msgid "User profiles"
843
+ msgstr "Användarprofiler"
844
+
845
+ #: ../lib/admin/groups-admin-options.php:279
846
+ msgid "Show groups in user profiles."
847
+ msgstr "Visa grupper i användarprofiler."
848
+
849
+ #: ../lib/admin/groups-admin-options.php:284
850
+ msgid "Tree view"
851
+ msgstr "Trädvy"
852
+
853
+ #: ../lib/admin/groups-admin-options.php:288
854
+ msgid "Show the Groups tree view."
855
+ msgstr "Visa trädvy för Grupper (Groups)."
856
+
857
+ #: ../lib/admin/groups-admin-options.php:293
858
+ msgid "Permissions"
859
+ msgstr "Tillstånd"
860
+
861
+ #: ../lib/admin/groups-admin-options.php:294
862
+ msgid ""
863
+ "These permissions apply to Groups management. They do not apply to access "
864
+ "permissions derived from Groups capabilities."
865
+ msgstr "Dessa tillstånd används för att hantera tillägget Grupper (Groups). "
866
+
867
+ #: ../lib/admin/groups-admin-options.php:297
868
+ msgid "A minimum set of permissions will be preserved."
869
+ msgstr "En minsta uppsättning behörigheter kommer att bevaras."
870
+
871
+ #: ../lib/admin/groups-admin-options.php:299
872
+ msgid "If you lock yourself out, please ask an administrator to help."
873
+ msgstr "Om du låser ute dig själv, vänligen fråga en administratör om hjälp."
874
+
875
+ #: ../lib/admin/groups-admin-options.php:303
876
+ msgid "Deactivation and data persistence"
877
+ msgstr "Inaktivering och datahantering"
878
+
879
+ #: ../lib/admin/groups-admin-options.php:307
880
+ msgid "Delete all Groups plugin data on deactivation"
881
+ msgstr "Radera all tilläggsdata vid inaktivering"
882
+
883
+ #: ../lib/admin/groups-admin-options.php:311
884
+ msgid ""
885
+ "CAUTION: If this option is active while the plugin is deactivated, ALL "
886
+ "plugin settings and data will be DELETED. If you are going to use this "
887
+ "option, now would be a good time to make a backup. By enabling this option "
888
+ "you agree to be solely responsible for any loss of data or any other "
889
+ "consequences thereof."
890
+ msgstr ""
891
+ "VARNING: Om detta alternativ är aktivt när tillägget inaktiveras kommer ALL "
892
+ "data från tillägget RADERAS. Om du tänker använda detta alternativ vore det "
893
+ "smart att göra en backup nu. Genom att aktivera alternativet accepterar du "
894
+ "att du själv ansvarar för all förlust av data eller andra konsekvenser som "
895
+ "kan följa."
896
+
897
+ #: ../lib/admin/groups-admin-options.php:335
898
+ msgid "Groups network options"
899
+ msgstr "Alternativ för grupper på ett nätverk"
900
+
901
+ #: ../lib/admin/groups-admin-options.php:357
902
+ msgid "Network deactivation and data persistence"
903
+ msgstr "Nätverksinaktivering och datahantering"
904
+
905
+ #: ../lib/admin/groups-admin-options.php:360
906
+ msgid "Delete all Groups plugin data for ALL sites on network deactivation"
907
+ msgstr "Radera all tilläggsdata för ALLA sidor på nätverket vid inaktivering"
908
+
909
+ #: ../lib/admin/groups-admin-options.php:363
910
+ msgid ""
911
+ "CAUTION: If this option is active while the plugin is deactivated, ALL "
912
+ "plugin settings and data will be DELETED for <strong>all sites</strong>. If "
913
+ "you are going to use this option, now would be a good time to make a backup. "
914
+ "By enabling this option you agree to be solely responsible for any loss of "
915
+ "data or any other consequences thereof."
916
+ msgstr ""
917
+ "VARNING: Om detta alternativ är aktivt när tillägget inaktiveras kommer ALL "
918
+ "data från tillägget RADERAS från <strong>alla sidor</strong>. Om du tänker "
919
+ "använda detta alternativ vore det smart att göra en backup nu. Genom att "
920
+ "aktivera alternativet accepterar du att du själv ansvarar för all förlust av "
921
+ "data eller andra konsekvenser som kan följa."
922
+
923
+ #: ../lib/admin/groups-admin-tree-view.php:43
924
+ msgid "Tree of Groups"
925
+ msgstr "Träd av grupper"
926
+
927
+ #: ../lib/auto/class-groups-registered.php:73
928
+ msgid "Registered"
929
+ msgstr "Registrerad"
930
+
931
+ #: ../lib/core/class-groups-help.php:85
932
+ msgid ""
933
+ "The complete documentation is available on the <a href=\"http://www.itthinx."
934
+ "com/plugins/groups\" target=\"_blank\">Groups plugin page</a>"
935
+ msgstr ""
936
+ "Hela dokumentationen finns tillänglig på <a href=\"http://www.itthinx.com/"
937
+ "plugins/groups\" target=\"_blank\">tilläggssidan för Grupper (Groups)</a>. "
938
+ "(Endast på engelska)"
939
+
940
+ #: ../lib/core/class-groups-help.php:90
941
+ msgid ""
942
+ "Here you can <strong>add</strong>, <strong>edit</strong> and <strong>remove</"
943
+ "strong> groups."
944
+ msgstr ""
945
+ "Här kan du <strong>lägga till</strong>, <strong>redigera</strong> och "
946
+ "<strong>radera</strong> grupper."
947
+
948
+ #: ../lib/core/class-groups-help.php:115
949
+ msgid ""
950
+ "Thank you for using <a href=\"http://www.itthinx.com/plugins/groups\" target="
951
+ "\"_blank\">Groups</a> by <a href=\"http://www.itthinx.com\" target=\"_blank"
952
+ "\">itthinx</a>."
953
+ msgstr ""
954
+ "Tack för att du använder <a href=\"http://www.itthinx.com/plugins/groups\" "
955
+ "target=\"_blank\">Grupper (Groups)</a> av <a href=\"http://www.itthinx.com"
956
+ "\" target=\"_blank\">itthinx</a>."
957
+
958
+ #: ../lib/core/class-groups-pagination.php:96
959
+ msgid "1 item"
960
+ msgstr "1 sak"
961
+
962
+ #: ../lib/core/class-groups-pagination.php:140
963
+ #, php-format
964
+ msgid "%1$s of %2$s"
965
+ msgstr "%1$s av %2$s"
966
+
967
+ #: ../lib/views/class-groups-shortcodes.php:389
968
+ #, php-format
969
+ msgid "Join the %s group"
970
+ msgstr "Gå med i gruppen %s"
971
+
972
+ #: ../lib/views/class-groups-shortcodes.php:442
973
+ #, php-format
974
+ msgid "You have joined the %s group."
975
+ msgstr "Du har gått med i gruppen %s."
976
+
977
+ #: ../lib/views/class-groups-shortcodes.php:447
978
+ #, php-format
979
+ msgid "You are a member of the %s group."
980
+ msgstr "Du är medlem i gruppen %s."
981
+
982
+ #: ../lib/views/class-groups-shortcodes.php:473
983
+ #, php-format
984
+ msgid "Leave the %s group"
985
+ msgstr "Lämna gruppen %s"
986
+
987
+ #: ../lib/views/class-groups-shortcodes.php:518
988
+ #, php-format
989
+ msgid "You have left the %s group."
990
+ msgstr "Du har lämnat gruppen %s."
lib/access/class-groups-post-access.php CHANGED
@@ -36,6 +36,9 @@ class Groups_Post_Access {
36
 
37
  const POSTMETA_PREFIX = 'groups-';
38
 
 
 
 
39
  const READ_POST_CAPABILITY = "groups_read_post";
40
  const READ_POST_CAPABILITY_NAME = "Read Post";
41
  const READ_POST_CAPABILITIES = 'read_post_capabilities';
@@ -63,7 +66,9 @@ class Groups_Post_Access {
63
  // post access
64
  add_filter( 'posts_where', array( __CLASS__, 'posts_where' ), 10, 2 );
65
  add_filter( 'get_pages', array( __CLASS__, "get_pages" ), 1 );
66
- add_filter( 'the_posts', array( __CLASS__, "the_posts" ), 1, 2 );
 
 
67
  add_filter( 'wp_get_nav_menu_items', array( __CLASS__, "wp_get_nav_menu_items" ), 1, 3 );
68
  // content access
69
  add_filter( "get_the_excerpt", array( __CLASS__, "get_the_excerpt" ), 1 );
@@ -388,17 +393,22 @@ class Groups_Post_Access {
388
  if ( $user_id === null ) {
389
  $user_id = get_current_user_id();
390
  }
391
- $groups_user = new Groups_User( $user_id );
392
- $read_caps = self::get_read_post_capabilities( $post_id );
393
- if ( !empty( $read_caps ) ) {
394
- foreach( $read_caps as $read_cap ) {
395
- if ( $groups_user->can( $read_cap ) ) {
396
- $result = true;
397
- break;
 
 
 
398
  }
 
 
399
  }
400
- } else {
401
- $result = true;
402
  }
403
  }
404
  return $result;
36
 
37
  const POSTMETA_PREFIX = 'groups-';
38
 
39
+ const CACHE_GROUP = 'groups';
40
+ const CAN_READ_POST = 'can_read_post';
41
+
42
  const READ_POST_CAPABILITY = "groups_read_post";
43
  const READ_POST_CAPABILITY_NAME = "Read Post";
44
  const READ_POST_CAPABILITIES = 'read_post_capabilities';
66
  // post access
67
  add_filter( 'posts_where', array( __CLASS__, 'posts_where' ), 10, 2 );
68
  add_filter( 'get_pages', array( __CLASS__, "get_pages" ), 1 );
69
+ if ( apply_filters( 'groups_filter_the_posts', false ) ) {
70
+ add_filter( 'the_posts', array( __CLASS__, "the_posts" ), 1, 2 );
71
+ }
72
  add_filter( 'wp_get_nav_menu_items', array( __CLASS__, "wp_get_nav_menu_items" ), 1, 3 );
73
  // content access
74
  add_filter( "get_the_excerpt", array( __CLASS__, "get_the_excerpt" ), 1 );
393
  if ( $user_id === null ) {
394
  $user_id = get_current_user_id();
395
  }
396
+ $result = wp_cache_get( self::CAN_READ_POST . '_' . $user_id . '_' . $post_id, self::CACHE_GROUP, false, $found );
397
+ if ( $found === false ) {
398
+ $groups_user = new Groups_User( $user_id );
399
+ $read_caps = self::get_read_post_capabilities( $post_id );
400
+ if ( !empty( $read_caps ) ) {
401
+ foreach( $read_caps as $read_cap ) {
402
+ if ( $groups_user->can( $read_cap ) ) {
403
+ $result = true;
404
+ break;
405
+ }
406
  }
407
+ } else {
408
+ $result = true;
409
  }
410
+ $result = apply_filters( 'groups_post_access_user_can_read_post', $result, $post_id, $user_id );
411
+ wp_cache_set( self::CAN_READ_POST . '_' . $user_id . '_' . $post_id, $result, self::CACHE_GROUP );
412
  }
413
  }
414
  return $result;
lib/core/class-groups-capability.php CHANGED
@@ -27,7 +27,10 @@ if ( !defined( 'ABSPATH' ) ) {
27
  * Capability OPM
28
  */
29
  class Groups_Capability {
30
-
 
 
 
31
  /**
32
  * @var persisted capability object
33
  */
@@ -152,6 +155,8 @@ class Groups_Capability {
152
  $capability_table = _groups_get_tablename( 'capability' );
153
  if ( $wpdb->insert( $capability_table, $data, $formats ) ) {
154
  if ( $result = $wpdb->get_var( "SELECT LAST_INSERT_ID()" ) ) {
 
 
155
  do_action( "groups_created_capability", $result );
156
  }
157
  }
@@ -191,20 +196,23 @@ class Groups_Capability {
191
  */
192
  public static function read_by_capability( $capability ) {
193
  global $wpdb;
194
- $result = false;
195
-
196
- $capability_table = _groups_get_tablename( 'capability' );
197
- $capability = $wpdb->get_row( $wpdb->prepare(
198
- "SELECT * FROM $capability_table WHERE capability = %s",
199
- $capability
200
- ) );
201
- if ( isset( $capability->capability_id ) ) {
202
- $result = $capability;
 
 
 
 
203
  }
204
  return $result;
205
  }
206
-
207
-
208
  /**
209
  * Update capability.
210
  *
@@ -231,6 +239,7 @@ class Groups_Capability {
231
  $old_capability->object = $object;
232
  }
233
  if ( isset( $name ) ) {
 
234
  $old_capability->name = $name;
235
  }
236
  if ( isset( $description ) ) {
@@ -247,6 +256,12 @@ class Groups_Capability {
247
  ) );
248
  if ( ( $rows !== false ) ) {
249
  $result = $capability_id;
 
 
 
 
 
 
250
  do_action( "groups_updated_capability", $result );
251
  }
252
  }
@@ -274,6 +289,9 @@ class Groups_Capability {
274
  Groups_Utility::id( $capability_id )
275
  ) ) ) {
276
  $result = $capability_id;
 
 
 
277
  do_action( "groups_deleted_capability", $result );
278
  }
279
  }
27
  * Capability OPM
28
  */
29
  class Groups_Capability {
30
+
31
+ const CACHE_GROUP = 'groups';
32
+ const READ_BY_CAPABILITY = 'read_by_capability';
33
+
34
  /**
35
  * @var persisted capability object
36
  */
155
  $capability_table = _groups_get_tablename( 'capability' );
156
  if ( $wpdb->insert( $capability_table, $data, $formats ) ) {
157
  if ( $result = $wpdb->get_var( "SELECT LAST_INSERT_ID()" ) ) {
158
+ // read_by_capability above created a cache entry which needs to be reset
159
+ wp_cache_delete( self::READ_BY_CAPABILITY . '_' . $capability, self::CACHE_GROUP );
160
  do_action( "groups_created_capability", $result );
161
  }
162
  }
196
  */
197
  public static function read_by_capability( $capability ) {
198
  global $wpdb;
199
+ $_capability = $capability;
200
+ $result = wp_cache_get( self::READ_BY_CAPABILITY . '_' . $_capability, self::CACHE_GROUP, false, $found );
201
+ if ( $found === false ) {
202
+ $result = false;
203
+ $capability_table = _groups_get_tablename( 'capability' );
204
+ $capability = $wpdb->get_row( $wpdb->prepare(
205
+ "SELECT * FROM $capability_table WHERE capability = %s",
206
+ $capability
207
+ ) );
208
+ if ( isset( $capability->capability_id ) ) {
209
+ $result = $capability;
210
+ }
211
+ wp_cache_set( self::READ_BY_CAPABILITY . '_' . $_capability, $result, self::CACHE_GROUP );
212
  }
213
  return $result;
214
  }
215
+
 
216
  /**
217
  * Update capability.
218
  *
239
  $old_capability->object = $object;
240
  }
241
  if ( isset( $name ) ) {
242
+ $old_name = $old_capability->name;
243
  $old_capability->name = $name;
244
  }
245
  if ( isset( $description ) ) {
256
  ) );
257
  if ( ( $rows !== false ) ) {
258
  $result = $capability_id;
259
+ if ( !empty( $old_capability ) && !empty( $old_capability->name ) ) {
260
+ wp_cache_delete( self::READ_BY_CAPABILITY . '_' . $old_capability->name, self::CACHE_GROUP );
261
+ }
262
+ if ( !empty( $old_name ) ) {
263
+ wp_cache_delete( self::READ_BY_CAPABILITY . '_' . $old_name, self::CACHE_GROUP );
264
+ }
265
  do_action( "groups_updated_capability", $result );
266
  }
267
  }
289
  Groups_Utility::id( $capability_id )
290
  ) ) ) {
291
  $result = $capability_id;
292
+ if ( !empty( $capability->name ) ) {
293
+ wp_cache_delete( self::READ_BY_CAPABILITY . '_' . $capability->name, self::CACHE_GROUP );
294
+ }
295
  do_action( "groups_deleted_capability", $result );
296
  }
297
  }
lib/core/class-groups-group.php CHANGED
@@ -29,7 +29,10 @@ require_once( GROUPS_CORE_LIB . "/interface-i-capable.php" );
29
  * Group OPM.
30
  */
31
  class Groups_Group implements I_Capable {
32
-
 
 
 
33
  /**
34
  * @var Object Persisted group.
35
  */
@@ -238,6 +241,8 @@ class Groups_Group implements I_Capable {
238
  if ( !$error ) {
239
  if ( $wpdb->insert( $group_table, $data, $formats ) ) {
240
  if ( $result = $wpdb->get_var( "SELECT LAST_INSERT_ID()" ) ) {
 
 
241
  do_action( "groups_created_group", $result );
242
  }
243
  }
@@ -275,14 +280,18 @@ class Groups_Group implements I_Capable {
275
  */
276
  public static function read_by_name( $name ) {
277
  global $wpdb;
278
- $result = false;
279
- $group_table = _groups_get_tablename( 'group' );
280
- $group = $wpdb->get_row( $wpdb->prepare(
281
- "SELECT * FROM $group_table WHERE name = %s",
282
- $name
283
- ) );
284
- if ( isset( $group->group_id ) ) {
285
- $result = $group;
 
 
 
 
286
  }
287
  return $result;
288
  }
@@ -300,6 +309,7 @@ class Groups_Group implements I_Capable {
300
  $result = false;
301
 
302
  if ( isset( $group_id ) && !empty( $name ) ) {
 
303
  $group_table = _groups_get_tablename( 'group' );
304
  if ( !isset( $description ) || ( $description === null ) ) {
305
  $description = '';
@@ -364,6 +374,12 @@ class Groups_Group implements I_Capable {
364
  }
365
  }
366
  $result = $group_id;
 
 
 
 
 
 
367
  do_action( "groups_updated_group", $result );
368
  }
369
  return $result;
@@ -409,6 +425,9 @@ class Groups_Group implements I_Capable {
409
  $group->group_id
410
  ) ) ) {
411
  $result = $group->group_id;
 
 
 
412
  do_action( "groups_deleted_group", $result );
413
  }
414
  }
29
  * Group OPM.
30
  */
31
  class Groups_Group implements I_Capable {
32
+
33
+ const CACHE_GROUP = 'groups';
34
+ const READ_BY_NAME = 'read_by_name';
35
+
36
  /**
37
  * @var Object Persisted group.
38
  */
241
  if ( !$error ) {
242
  if ( $wpdb->insert( $group_table, $data, $formats ) ) {
243
  if ( $result = $wpdb->get_var( "SELECT LAST_INSERT_ID()" ) ) {
244
+ // must clear cache for this name in case it has been requested previously as it now exists
245
+ wp_cache_delete( self::READ_BY_NAME . '_' . $name, self::CACHE_GROUP );
246
  do_action( "groups_created_group", $result );
247
  }
248
  }
280
  */
281
  public static function read_by_name( $name ) {
282
  global $wpdb;
283
+ $result = wp_cache_get( self::READ_BY_NAME . '_' . $name, self::CACHE_GROUP, false, $found );
284
+ if ( $found === false ) {
285
+ $result = false;
286
+ $group_table = _groups_get_tablename( 'group' );
287
+ $group = $wpdb->get_row( $wpdb->prepare(
288
+ "SELECT * FROM $group_table WHERE name = %s",
289
+ $name
290
+ ) );
291
+ if ( isset( $group->group_id ) ) {
292
+ $result = $group;
293
+ }
294
+ wp_cache_set( self::READ_BY_NAME . '_' . $name, $result, self::CACHE_GROUP );
295
  }
296
  return $result;
297
  }
309
  $result = false;
310
 
311
  if ( isset( $group_id ) && !empty( $name ) ) {
312
+ $old_group = Groups_Group::read( $group_id );
313
  $group_table = _groups_get_tablename( 'group' );
314
  if ( !isset( $description ) || ( $description === null ) ) {
315
  $description = '';
374
  }
375
  }
376
  $result = $group_id;
377
+ if ( !empty( $name ) ) {
378
+ wp_cache_delete( self::READ_BY_NAME . '_' . $name, self::CACHE_GROUP );
379
+ }
380
+ if ( !empty( $old_group ) && !empty( $old_group->name ) ) {
381
+ wp_cache_delete( self::READ_BY_NAME . '_' . $old_group->name, self::CACHE_GROUP );
382
+ }
383
  do_action( "groups_updated_group", $result );
384
  }
385
  return $result;
425
  $group->group_id
426
  ) ) ) {
427
  $result = $group->group_id;
428
+ if ( !empty( $group->name ) ) {
429
+ wp_cache_delete( self::READ_BY_NAME . '_' . $group->name, self::CACHE_GROUP );
430
+ }
431
  do_action( "groups_deleted_group", $result );
432
  }
433
  }
lib/core/constants.php CHANGED
@@ -79,7 +79,7 @@ define( 'GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE', 'groups-admin-override' );
79
  /**
80
  * @var string admin override option default setting
81
  */
82
- define( 'GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE_DEFAULT', true );
83
 
84
  /**
85
  * @var string read post capabilities option
79
  /**
80
  * @var string admin override option default setting
81
  */
82
+ define( 'GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE_DEFAULT', false );
83
 
84
  /**
85
  * @var string read post capabilities option
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.itthinx.com/plugins/groups
4
  Tags: access, access control, capability, capabilities, content, download, downloads, file, file access, files, group, groups, member, members, membership, memberships, paypal, permission, permissions, subscription, subscriptions, woocommerce
5
  Requires at least: 3.5
6
  Tested up to: 4.1
7
- Stable tag: 1.4.13
8
  License: GPLv3
9
 
10
  Groups is an efficient and powerful solution, providing group-based user membership management, group-based capabilities and content access control.
@@ -21,7 +21,7 @@ Enhanced functionality is available via official [extensions](http://www.itthinx
21
 
22
  ### Documentation ###
23
 
24
- The official documentation is located at the [Groups documentation pages](http://www.itthinx.com/documentation/groups/).
25
 
26
  ### Features ###
27
 
@@ -116,7 +116,7 @@ Many thanks for your help!
116
 
117
  = Where is the documentation? =
118
 
119
- The official documentation is located at the [Groups documentation pages](http://www.itthinx.com/documentation/groups/).
120
 
121
  = I have a question, where do I ask? =
122
 
@@ -160,7 +160,7 @@ The Groups plugin provides an extensive framework to handle memberships, group-b
160
 
161
  The API documentation is available here: [Groups API](http://api.itthinx.com/groups).
162
 
163
- Also refer to the official [Groups](http://www.itthinx.com/plugins/groups/) plugin page and the [Groups documentation](http://www.itthinx.com/documentation/groups/) pages.
164
 
165
  == Screenshots ==
166
 
@@ -177,6 +177,16 @@ See also [Groups](http://www.itthinx.com/plugins/groups/)
177
 
178
  == Changelog ==
179
 
 
 
 
 
 
 
 
 
 
 
180
  = 1.4.13 =
181
  * WordPress 4.1 compatible.
182
 
@@ -409,135 +419,6 @@ Some installations wouldn't work correctly, showing no capabilities and making i
409
 
410
  == Upgrade Notice ==
411
 
412
- = 1.4.13 =
413
- * WordPress 4.1 compatible.
414
-
415
- = 1.4.12 =
416
- * Fixes a missing resource required for access restrictions in the media uploader.
417
-
418
- = 1.4.11 =
419
- * WordPress 4.0 compatible.
420
-
421
- = 1.4.10 =
422
- * WordPress 3.9 compatibility checked, improvements and fixes.
423
-
424
- = 1.4.9 =
425
- * UI improvements and API additions.
426
-
427
- = 1.4.8 =
428
- * Several minor fixes and giving more feedback on the admin side for groups and capabilities.
429
-
430
- = 1.4.7 =
431
- * This update provides a low-priority security improvement and a fix related to output obtained through the_content and get_the_excerpt filters.
432
-
433
- = 1.4.6 =
434
- * Security fix : Certain capabilities could be granted to users instead of being denied with a change introduced in version 1.4.5.
435
-
436
- = 1.4.5 =
437
- * Fixed incompatible access restriction checks on some custom post types. Taking role-based capabilities into account.
438
-
439
- = 1.4.4 =
440
- * WordPress 3.8 compatibility checked and fixed a minor bug.
441
-
442
- = 1.4.3 =
443
- * Added bulk editing (add/remove) of post access restriction capabilities, restricted use of access restriction box on posts, fixed some bugs.
444
-
445
- = 1.4.2 =
446
- * Improved views and filters regarding access restrictions which are now shown in overviews for enabled post types. Checked WordPress 3.7.1 compatibility. Some bug fixes and internal improvements.
447
-
448
- = 1.4.1 =
449
- * From this release on, Groups requires at least WordPress 3.5. It includes improved group-actions for the Users admin screen, where multiple users can now be added to or removed from multiple groups at once.
450
-
451
- = 1.4.0 =
452
- * This release brings User Interface improvements mainly directed at working with groups and capabilities. This includes bulk actions for groups and capabilities and capability assignments when editing groups along with other improvements.
453
-
454
- = 1.3.14 =
455
- * New useful features, UI and workflow improvements. Quick-create group and capability directly on posts (access restriction); groups are shown along with access restriction capabilities (can be toggled).
456
-
457
- = 1.3.13 =
458
- * Minor fixes (also tested WordPress 3.6.1 compatibility).
459
-
460
- = 1.3.12 =
461
- * WordPress 3.6 compatibility checked and minor fixes.
462
-
463
- = 1.3.11 =
464
- * Fixes too restrictive access: the capabilities used to restrict access to posts should be disjunctive. Adds the option to show and edit group memberships in user profiles.
465
-
466
- = 1.3.10 =
467
- * Improves performance slightly more and fixes potential issues with caching.
468
-
469
- = 1.3.9 =
470
- * Brings a substantial performance improvement and solves pagination issues due to post filters among other fixes.
471
-
472
- = 1.3.8 =
473
- * This release includes several fixes and improvements, including more limiting features for access restrictions.
474
-
475
- = 1.3.7 =
476
- * Please update, this includes fixes: missing argument for meta box when saving a post; Groups conflicting with other plugins adding columns to the Users screen.
477
-
478
- = 1.3.6 =
479
- * Fixed performance issues with large user bases on plugin activation and improved flexibility with meta boxes.
480
-
481
- = 1.3.5 =
482
- * Fixed out of memory issues with large user bases on Users > All Users page.
483
-
484
- = 1.3.4 =
485
- * Please upgrade for WordPress 3.5 compatibility & cosmetics.
486
-
487
- = 1.3.3 =
488
- * Compatibility update for WordPress 3.5.
489
-
490
- = 1.3.2 =
491
- * Please update if you are or will be using a localized installation (bug fixes).
492
-
493
- = 1.3.1 =
494
- * Now you can filter the users section by group. This release also brings API enhancements and fixes.
495
-
496
- = 1.3.0 =
497
- * New access restriction features and fixes, adds support for access restrictions depending on post type and for Media
498
-
499
- = 1.2.5 =
500
- * Added Spanish translation
501
-
502
- = 1.2.4 =
503
- * Minor improvements on Options screen
504
- * Added show="users" option to [groups_group_info] shortcode
505
-
506
- = 1.2.3 =
507
- * This release provides new shortcodes to let users join or leave groups by clicking a button.
508
-
509
- = 1.2.2 =
510
- * Revised styles on admin UI.
511
-
512
- = 1.2.1 =
513
- * Added Lithuanian translation.
514
- * Slight performance improvement.
515
- * Improved the way help sectiosn are handled.
516
-
517
- = 1.2.0 =
518
- * New: Different groups can be granted access to different sets of pages or posts: Any capability - including custom capabilities - can be used to limit access.
519
-
520
- = 1.1.5 =
521
- * New shortcodes.
522
-
523
- = 1.1.4 =
524
- * Several bug fixes and improvements.
525
-
526
- = 1.0.0-beta-3d =
527
- * The capability DB table had a ridiculously long index, this update fixes it.
528
-
529
- = 1.0.0-beta-3c =
530
- * Groups shortcodes now allow nesting: [groups_member], [groups_non_member], [groups_can], [groups_can_not]
531
-
532
- = 1.0.0-beta-3b =
533
- * Admin override fix and DB tables checked individually to create them.
534
-
535
- = 1.0.0-beta-3 =
536
- * New shortcode to show group info & WP <= 3.2.1 compatibility fix.
537
-
538
- = 1.0.0-beta-2 =
539
- * Increased length of capability.capability, capability.class and capability.object columns from to 255 => you need to update your DB manually if you want that updated.
540
- * Improved some admin CSS.
541
-
542
- = 1.0.0-beta-1 =
543
- * This is the first public beta release.
4
  Tags: access, access control, capability, capabilities, content, download, downloads, file, file access, files, group, groups, member, members, membership, memberships, paypal, permission, permissions, subscription, subscriptions, woocommerce
5
  Requires at least: 3.5
6
  Tested up to: 4.1
7
+ Stable tag: 1.4.14
8
  License: GPLv3
9
 
10
  Groups is an efficient and powerful solution, providing group-based user membership management, group-based capabilities and content access control.
21
 
22
  ### Documentation ###
23
 
24
+ The official documentation is located at the [Groups documentation pages](http://docs.itthinx.com/document/groups/).
25
 
26
  ### Features ###
27
 
116
 
117
  = Where is the documentation? =
118
 
119
+ The official documentation is located at the [Groups documentation pages](http://docs.itthinx.com/document/groups/).
120
 
121
  = I have a question, where do I ask? =
122
 
160
 
161
  The API documentation is available here: [Groups API](http://api.itthinx.com/groups).
162
 
163
+ Also refer to the official [Groups](http://www.itthinx.com/plugins/groups/) plugin page and the [Groups documentation](http://docs.itthinx.com/document/groups/) pages.
164
 
165
  == Screenshots ==
166
 
177
 
178
  == Changelog ==
179
 
180
+ = 1.4.14 =
181
+ * Now not using Groups' the_posts filter by default as results are already filtered by Groups' posts_where filter.
182
+ * Added the groups_filter_the_posts filter which can be used to 'reactivate' Groups' the_posts filter where needed.
183
+ * Added caching for capabilities read by capability name.
184
+ * Added caching for groups read by name.
185
+ * Added caching for results obtained in Groups_Post_Access::user_can_read_post(...).
186
+ * Added the groups_post_access_user_can_read_post filter.
187
+ * Admin override is disabled by default (existing installs need to disable manually if options were saved).
188
+ * Swedish translation by [Andréas Lundgren](http://adevade.com) added.
189
+
190
  = 1.4.13 =
191
  * WordPress 4.1 compatible.
192
 
419
 
420
  == Upgrade Notice ==
421
 
422
+ = 1.4.14 =
423
+ Due to changes in this version, it's important to **make a backup** of the site & database, test the site, extensions & theme prior to updating.
424
+ It improves performance & disables admin override by default (disable manually under Groups > Options > Administrator Access Override).