PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / inc / class-wcml-capabilities.php
woocommerce-multilingual / inc Last commit date
admin-menus 1 month ago currencies 1 month ago template-classes 1 month ago translation-editor 1 month ago class-wcml-ajax-setup.php 1 month ago class-wcml-attributes.php 1 month ago class-wcml-capabilities.php 1 month ago class-wcml-cart-removed-items-widget.php 1 year ago class-wcml-cart-switch-lang-functions.php 1 month ago class-wcml-cart-sync-warnings.php 1 month ago class-wcml-cart.php 1 month ago class-wcml-comments.php 1 month ago class-wcml-compatibility.php 1 month ago class-wcml-coupons.php 1 month ago class-wcml-dependencies.php 1 month ago class-wcml-emails.php 1 month ago class-wcml-endpoints.php 1 month ago class-wcml-install.php 1 month ago class-wcml-languages-upgrader.php 1 month ago class-wcml-locale.php 1 month ago class-wcml-orders.php 1 month ago class-wcml-products-screen-options.php 1 month ago class-wcml-products.php 1 month ago class-wcml-reports.php 1 month ago class-wcml-requests.php 1 month ago class-wcml-resources.php 1 month ago class-wcml-store-pages.php 1 month ago class-wcml-terms.php 1 month ago class-wcml-tp-support.php 1 month ago class-wcml-troubleshooting.php 1 month ago class-wcml-upgrade.php 1 month ago class-wcml-url-translation.php 1 month ago class-wcml-wc-gateways.php 1 month ago class-wcml-wc-shipping.php 1 month ago class-wcml-wc-strings.php 1 month ago class-wcml-widgets.php 1 month ago constants.php 1 month ago functions-pure.php 1 month ago functions.php 1 month ago installer-loader.php 1 month ago missing-php-functions.php 1 month ago wcml-core-functions.php 1 month ago wcml-switch-lang-request.php 1 month ago
class-wcml-capabilities.php
53 lines
1 <?php
2
3 class WCML_Capabilities {
4
5 public static function set_up_capabilities() {
6
7 $role = get_role( 'administrator' );
8 if ( $role ) {
9 $role->add_cap( 'wpml_manage_woocommerce_multilingual' );
10 $role->add_cap( 'wpml_operate_woocommerce_multilingual' );
11 }
12
13 $role = get_role( 'super_admin' );
14 if ( $role ) {
15 $role->add_cap( 'wpml_manage_woocommerce_multilingual' );
16 $role->add_cap( 'wpml_operate_woocommerce_multilingual' );
17 }
18
19 if ( is_multisite() ) {
20 $super_admins = get_super_admins();
21 foreach ( $super_admins as $admin ) {
22 $user = new WP_User( $admin );
23 $user->add_cap( 'wpml_manage_woocommerce_multilingual' );
24 $user->add_cap( 'wpml_operate_woocommerce_multilingual' );
25 }
26 }
27
28 $role = get_role( 'shop_manager' );
29 if ( $role ) {
30 $role->add_cap( 'wpml_operate_woocommerce_multilingual' );
31 $role->add_cap( 'wpml_manage_taxonomy_translation' );
32 }
33
34 self::reload_capabilities();
35 }
36
37 public static function reload_capabilities() {
38 $user = wp_get_current_user();
39 $user->get_role_caps();
40 }
41
42 public static function canManageWcml() {
43 $allowedRoles = [ 'shop_manager', 'administrator', 'super_admin' ];
44
45 return (bool) array_intersect( $allowedRoles, wp_get_current_user()->roles );
46 }
47
48 public static function canAccessAllWcmlTabs() {
49 return current_user_can( 'wpml_manage_woocommerce_multilingual' )
50 || current_user_can( 'wpml_operate_woocommerce_multilingual' );
51 }
52 }
53