PluginProbe
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions / 260917
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions v260917
260917 260913 260909 260829 260814 260805 110710 110731 110812 110815 110912 110913 110915 110926 110927 111002 111003 111011 111017 111029 111105 111206 111216 111220 120213 All 189 releases
← All changes | src/includes/classes/roles-caps.inc.php +14 -0 260814260917 View file →
@@ -68,8 +68,21 @@
68 68 }
69 69 foreach(array_keys($caps) as $cap)
70 70 $role->add_cap($cap);
71 71 }
72 + //260822.0520 `delete` now expires membership access into a dedicated read-only Pending Deletion role by default; irreversible user deletion requires an explicit developer opt-in.
73 + if(!($role = get_role('s2member_pending_deletion')))
74 + {
75 + add_role('s2member_pending_deletion', 'Pending Deletion', array('read' => TRUE));
76 + $role = get_role('s2member_pending_deletion');
77 + }
78 + if($role)
79 + {
80 + $role->add_cap('read');
81 + for($n = 0; $n <= $GLOBALS['WS_PLUGIN__']['s2member']['c']['max_levels']; $n++)
82 + $role->remove_cap('access_s2member_level'.$n);
83 + }
84 +
72 85 for($n = 1; $n <= $GLOBALS['WS_PLUGIN__']['s2member']['c']['levels']; $n++)
73 86 {
74 87 for($i = 0, $caps = array('read' => TRUE, 'level_0' => TRUE); $i <= $n; $i++)
75 88 $caps = array_merge($caps, array('access_s2member_level'.$i => TRUE));
@@ -146,8 +159,9 @@
146 159 $role->remove_cap('access_s2member_level0');
147 160
148 161 for($n = 1; $n <= $GLOBALS['WS_PLUGIN__']['s2member']['c']['max_levels']; $n++)
149 162 remove_role('s2member_level'.$n);
163 + remove_role('s2member_pending_deletion'); //260822.0520 Recreated by config_roles(); removed cleanly with other s2Member-owned roles.
150 164
151 165 $full_access_roles = array('administrator', 'editor', 'author', 'contributor');
152 166
153 167 if(!function_exists('bbp_get_dynamic_roles') && function_exists('bbp_get_caps_for_role') && function_exists('bbp_get_moderator_role'))