-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: React Skeleton #2403
base: develop
Are you sure you want to change the base?
feat: React Skeleton #2403
Changes from 10 commits
a2701f5
e931d06
057a92f
0077f78
3d4d19c
9beb3b3
15994f8
c27f504
c295722
0b1ce02
25b4a1a
c56dacb
e59521e
e6bf1ec
8b2b753
a064fe7
322dc62
c9478eb
46bcda5
5f7ea35
16f8a1d
c8719b5
d045a63
44370c8
2585e5b
125f1b7
66f84ea
3e3ddd0
198afb2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,66 @@ | ||||||
import { | ||||||
scopedPreflightStyles, | ||||||
isolateInsideOfContainer, | ||||||
} from 'tailwindcss-scoped-preflight'; | ||||||
|
||||||
const rootClass = '.dokan-layout'; //We will use this class to scope the styles. | ||||||
|
||||||
/** @type {import('tailwindcss').Config} */ | ||||||
const baseConfig = { | ||||||
important: rootClass, | ||||||
content: [ './src/**/*.{js,jsx,ts,tsx}', '!./**/*.asset.php' ], | ||||||
theme: { | ||||||
extend: { | ||||||
backgroundColor: { | ||||||
dokan: { | ||||||
sidebar: { | ||||||
DEFAULT: | ||||||
'var(--dokan-sidebar-background-color, #F05025)', | ||||||
hover: 'var(--dokan-sidebar-hover-background-color, #F05025)', | ||||||
}, | ||||||
btn: { | ||||||
DEFAULT: | ||||||
'var(--dokan-button-background-color, #F05025)', | ||||||
hover: 'var(--dokan-button-hover-background-color, #F05025)', | ||||||
}, | ||||||
}, | ||||||
}, | ||||||
textColor: { | ||||||
dokan: { | ||||||
sidebar: { | ||||||
DEFAULT: 'var(--dokan-sidebar-text-color, #CFCFCF)', | ||||||
hover: 'var(--dokan-sidebar-hover-text-color, #ffffff)', | ||||||
}, | ||||||
btn: { | ||||||
DEFAULT: 'var(--dokan-button-text-color, #ffffff)', | ||||||
hover: 'var(--dokan-button-hover-text-color, #ffffff)', | ||||||
}, | ||||||
}, | ||||||
}, | ||||||
borderColor: { | ||||||
dokan: { | ||||||
btn: { | ||||||
DEFAULT: 'var(--dokan-button-border-color, #F05025)', | ||||||
hover: 'var(--dokan-button-hover-border-color, #F05025)', | ||||||
}, | ||||||
}, | ||||||
}, | ||||||
colors: { | ||||||
primary: 'var(--dokan-button-background-color, #F05025)', | ||||||
dokan: { | ||||||
sidebar: 'var(--dokan-button-background-color, #1B233B)', | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Potential typo in 'sidebar' color variable In line 51, the Apply this diff to correct the variable name: sidebar: 'var(--dokan-button-background-color, #1B233B)',
+ sidebar: 'var(--dokan-sidebar-background-color, #1B233B)', 📝 Committable suggestion
Suggested change
|
||||||
btn: 'var(--dokan-button-background-color, #F05025)', | ||||||
}, | ||||||
}, | ||||||
}, | ||||||
}, | ||||||
plugins: [ | ||||||
scopedPreflightStyles( { | ||||||
isolationStrategy: isolateInsideOfContainer( rootClass, {} ), | ||||||
} ), | ||||||
require( '@tailwindcss/typography' ), | ||||||
require( '@tailwindcss/forms' ), | ||||||
], | ||||||
}; | ||||||
|
||||||
module.exports = baseConfig; |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -352,6 +352,10 @@ public function get_styles() { | |||||||||||||||||||||
'src' => DOKAN_PLUGIN_ASSEST . '/css/dokan-tailwind.css', | ||||||||||||||||||||||
'version' => filemtime( DOKAN_DIR . '/assets/css/dokan-tailwind.css' ), | ||||||||||||||||||||||
], | ||||||||||||||||||||||
'dokan-react-frontend' => [ | ||||||||||||||||||||||
'src' => DOKAN_PLUGIN_ASSEST . '/css/frontend.css', | ||||||||||||||||||||||
'version' => filemtime( DOKAN_DIR . '/assets/css/frontend.css' ), | ||||||||||||||||||||||
], | ||||||||||||||||||||||
]; | ||||||||||||||||||||||
|
||||||||||||||||||||||
return $styles; | ||||||||||||||||||||||
|
@@ -365,6 +369,7 @@ public function get_styles() { | |||||||||||||||||||||
public function get_scripts() { | ||||||||||||||||||||||
global $wp_version; | ||||||||||||||||||||||
|
||||||||||||||||||||||
$frontend_shipping_asset = require DOKAN_DIR . '/assets/js/frontend.asset.php'; | ||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Correct the variable name to match the asset being loaded The variable Apply this diff to correct the variable name: -$frontend_shipping_asset = require DOKAN_DIR . '/assets/js/frontend.asset.php';
+$frontend_asset = require DOKAN_DIR . '/assets/js/frontend.asset.php'; Ensure to update all references to 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; | ||||||||||||||||||||||
$asset_url = DOKAN_PLUGIN_ASSEST; | ||||||||||||||||||||||
$asset_path = DOKAN_DIR . '/assets/'; | ||||||||||||||||||||||
|
@@ -554,6 +559,11 @@ public function get_scripts() { | |||||||||||||||||||||
'deps' => [ 'jquery' ], | ||||||||||||||||||||||
'version' => filemtime( $asset_path . 'js/dokan-frontend.js' ), | ||||||||||||||||||||||
], | ||||||||||||||||||||||
'dokan-react-frontend' => [ | ||||||||||||||||||||||
'src' => $asset_url . '/js/frontend.js', | ||||||||||||||||||||||
'deps' => $frontend_shipping_asset['dependencies'], | ||||||||||||||||||||||
'version' => $frontend_shipping_asset['version'], | ||||||||||||||||||||||
], | ||||||||||||||||||||||
Comment on lines
+581
to
+585
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update variable references after renaming Following the renaming of Apply this diff to update the variable references: 'dokan-react-frontend' => [
'src' => $asset_url . '/js/frontend.js',
- 'deps' => $frontend_shipping_asset['dependencies'],
- 'version' => $frontend_shipping_asset['version'],
+ 'deps' => $frontend_asset['dependencies'],
+ 'version' => $frontend_asset['version'],
], 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||
]; | ||||||||||||||||||||||
|
||||||||||||||||||||||
return $scripts; | ||||||||||||||||||||||
|
@@ -856,6 +866,8 @@ public function dokan_dashboard_scripts() { | |||||||||||||||||||||
self::load_form_validate_script(); | ||||||||||||||||||||||
$this->load_gmap_script(); | ||||||||||||||||||||||
|
||||||||||||||||||||||
wp_enqueue_script( 'dokan-react-frontend' ); | ||||||||||||||||||||||
wp_enqueue_style( 'dokan-react-frontend' ); | ||||||||||||||||||||||
Comment on lines
+895
to
+896
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Conditionally enqueue 'dokan-react-frontend' assets to optimize performance Currently, the scripts and styles for For example, you can modify the code to enqueue the assets conditionally: if ( /* condition to check if the assets are needed */ ) {
wp_enqueue_script( 'dokan-react-frontend' );
wp_enqueue_style( 'dokan-react-frontend' );
} Replace |
||||||||||||||||||||||
wp_enqueue_script( 'jquery' ); | ||||||||||||||||||||||
wp_enqueue_script( 'jquery-ui' ); | ||||||||||||||||||||||
wp_enqueue_script( 'jquery-ui-autocomplete' ); | ||||||||||||||||||||||
|
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,123 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<?php | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
namespace WeDevs\Dokan\REST; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
use WC_REST_Data_Continents_Controller; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
use WP_Error; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
use WP_REST_Request; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
use WP_REST_Response; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
class DokanDataContinentsController extends WC_REST_Data_Continents_Controller { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Endpoint namespace. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @var string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
protected $namespace = 'dokan/v1'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Route base. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @var string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
protected $rest_base = 'data/continents'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Register routes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @since 3.5.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public function register_routes() { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parent::register_routes(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+31
to
+33
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Consider removing the redundant The Apply this diff to remove the redundant method: class DokanDataContinentsController extends WC_REST_Data_Continents_Controller {
- /**
- * Register routes.
- *
- * @since 3.5.0
- */
- public function register_routes() {
- parent::register_routes();
- }
-
// Other methods...
} 📝 Committable suggestion
Suggested change
🧰 Tools🪛 GitHub Check: Run PHPCS inspection
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Return the list of states for all countries. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @since 3.5.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @param WP_REST_Request $request Request data. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @return WP_Error|WP_REST_Response | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public function get_items( $request ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$this->set_woocommerce_rest_check_permissions(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return parent::get_items( $request ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Return the list of states for a given country. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @since 3.5.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @param WP_REST_Request $request Request data. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @return WP_Error|WP_REST_Response | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public function get_item( $request ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$this->set_woocommerce_rest_check_permissions(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return parent::get_item( $request ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Check if a given request has access to read an item. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @param WP_REST_Request $request Full details about the request. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @return WP_Error|boolean | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public function get_item_permissions_check( $request ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$this->set_woocommerce_rest_check_permissions(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$item_permission = $this->get_items_permissions_check( $request ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if ( is_wp_error( $item_permission ) ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return $item_permission; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return parent::get_item_permissions_check( $request ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Check if a given request has access to read items. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @since DOKAN_SINCE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @param WP_REST_Request $request Full details about the request. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @return WP_Error|boolean | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public function get_items_permissions_check( $request ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// phpcs:ignore WordPress.WP.Capabilities.Unknown | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if ( current_user_can( dokan_admin_menu_capability() ) || current_user_can( 'dokandar' ) ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return true; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return new WP_Error( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'dokan_pro_permission_failure', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
__( 'You are not allowed to do this action.', 'dokan-lite' ), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'status' => rest_authorization_required_code(), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
private function set_woocommerce_rest_check_permissions() { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
add_filter( 'woocommerce_rest_check_permissions', [ $this, 'add_subscriptions_read_permission_to_vendors' ], 10, 4 ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+100
to
+102
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Avoid adding the same filter multiple times The Apply this diff to move the filter setup to the constructor: class DokanDataContinentsController extends WC_REST_Data_Continents_Controller {
+ public function __construct() {
+ $this->set_woocommerce_rest_check_permissions();
+ }
+
// Other methods...
public function get_items( $request ) {
- $this->set_woocommerce_rest_check_permissions();
return parent::get_items( $request );
}
public function get_item( $request ) {
- $this->set_woocommerce_rest_check_permissions();
return parent::get_item( $request );
}
public function get_item_permissions_check( $request ) {
- $this->set_woocommerce_rest_check_permissions();
$item_permission = $this->get_items_permissions_check( $request );
// ...
}
private function set_woocommerce_rest_check_permissions() {
add_filter( 'woocommerce_rest_check_permissions', [ $this, 'add_subscriptions_read_permission_to_vendors' ], 10, 4 );
}
// ...
} 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Add permissions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @since DOKAN_PRO_SINCE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @param $permission | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @param $context | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @param $object_id | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @param $obj | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* @return true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public function add_subscriptions_read_permission_to_vendors( $permission, $context, $object_id, $obj ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if ( 'read' === $context ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return true; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return $permission; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
<?php | ||
|
||
namespace WeDevs\Dokan\REST; | ||
|
||
use WC_REST_Data_Countries_Controller; | ||
use WP_Error; | ||
use WP_REST_Request; | ||
use WP_REST_Response; | ||
|
||
class DokanDataCountriesController extends WC_REST_Data_Countries_Controller { | ||
|
||
/** | ||
* Endpoint namespace. | ||
* | ||
* @var string | ||
*/ | ||
protected $namespace = 'dokan/v1'; | ||
|
||
/** | ||
* Route base. | ||
* | ||
* @var string | ||
*/ | ||
protected $rest_base = 'data/countries'; | ||
|
||
/** | ||
* Register routes. | ||
* | ||
* @since 3.5.0 | ||
*/ | ||
public function register_routes() { | ||
parent::register_routes(); | ||
} | ||
Comment on lines
+31
to
+33
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Consider removing the unnecessary method override of The 🧰 Tools🪛 GitHub Check: Run PHPCS inspection
|
||
|
||
/** | ||
* Return the list of states for all countries. | ||
* | ||
* @since 3.5.0 | ||
* @param WP_REST_Request $request Request data. | ||
* @return WP_Error|WP_REST_Response | ||
*/ | ||
public function get_items( $request ) { | ||
$this->set_woocommerce_rest_check_permissions(); | ||
|
||
return parent::get_items( $request ); | ||
} | ||
|
||
/** | ||
* Return the list of states for a given country. | ||
* | ||
* @since 3.5.0 | ||
* @param WP_REST_Request $request Request data. | ||
* @return WP_Error|WP_REST_Response | ||
*/ | ||
public function get_item( $request ) { | ||
$this->set_woocommerce_rest_check_permissions(); | ||
return parent::get_item( $request ); | ||
} | ||
|
||
/** | ||
* Check if a given request has access to read an item. | ||
* | ||
* @param WP_REST_Request $request Full details about the request. | ||
* @return WP_Error|boolean | ||
*/ | ||
public function get_item_permissions_check( $request ) { | ||
$this->set_woocommerce_rest_check_permissions(); | ||
$item_permission = $this->get_items_permissions_check( $request ); | ||
|
||
if ( is_wp_error( $item_permission ) ) { | ||
return $item_permission; | ||
} | ||
|
||
return parent::get_item_permissions_check( $request ); | ||
} | ||
|
||
/** | ||
* Check if a given request has access to read items. | ||
* | ||
* @since DOKAN_SINCE | ||
* | ||
* @param WP_REST_Request $request Full details about the request. | ||
* @return WP_Error|boolean | ||
*/ | ||
public function get_items_permissions_check( $request ) { | ||
// phpcs:ignore WordPress.WP.Capabilities.Unknown | ||
if ( current_user_can( dokan_admin_menu_capability() ) || current_user_can( 'dokandar' ) ) { | ||
return true; | ||
} | ||
|
||
return new WP_Error( | ||
'dokan_pro_permission_failure', | ||
__( 'You are not allowed to do this action.', 'dokan-lite' ), | ||
[ | ||
'status' => rest_authorization_required_code(), | ||
] | ||
); | ||
} | ||
|
||
private function set_woocommerce_rest_check_permissions() { | ||
add_filter( 'woocommerce_rest_check_permissions', [ $this, 'add_subscriptions_read_permission_to_vendors' ], 10, 4 ); | ||
} | ||
|
||
/** | ||
* Add permissions. | ||
* | ||
* @since DOKAN_PRO_SINCE | ||
* | ||
* @param $permission | ||
* @param $context | ||
* @param $object_id | ||
* @param $obj | ||
* | ||
* @return true | ||
*/ | ||
public function add_subscriptions_read_permission_to_vendors( $permission, $context, $object_id, $obj ) { | ||
if ( 'read' === $context ) { | ||
return true; | ||
} | ||
|
||
return $permission; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use 'exclude' option instead of negation in 'content' array
In line 11, the
content
array includes a negation pattern'!./**/*.asset.php'
. Tailwind CSS does not support negation patterns in thecontent
array. Instead, you should use theexclude
option to exclude files or directories.Apply this diff to correct the configuration: