Skip to content
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

Add the WordPress Plugin Check Action #491

Merged
merged 6 commits into from
Feb 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/plugin-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: 'WordPress Plugin Checks'
on:
push:
branches:
- trunk
- develop

pull_request:
branches:
- trunk
- develop

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Run plugin check
uses: wordpress/plugin-check-action@v1
with:
exclude-checks: |
plugin_readme
plugin_updater
file_type
trademarks
direct_db_queries
performant_wp_query_params
enqueued_scripts_in_footer
plugin_header_text_domain

exclude-directories: |
.github
node_modules
vendor
tests
bin
build
assets

ignore-codes: |
WordPress.DateTime.RestrictedFunctions.date_date
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
*/
public function add_accommodation_settings( $tabs_metadata ) {
$tabs_metadata['accommodation'] = array(
'name' => __( 'Accommodation', 'woocommerce-bookings' ),
'name' => __( 'Accommodation', 'woocommerce-accommodation-bookings' ),
'href' => admin_url( 'edit.php?post_type=wc_booking&page=wc_bookings_settings&tab=accommodation' ),
'capability' => 'manage_options',
'generate_html' => 'WC_Accommodation_Booking_Admin_Product_Settings::generate_form_html',
Expand Down Expand Up @@ -113,10 +113,10 @@
public function maybe_save_settings() {
if ( isset( $_POST['Submit'] )
&& isset( $_POST[ self::NONCE_NAME ] )
&& wp_verify_nonce( wc_clean( wp_unslash( $_POST[ self::NONCE_NAME ] ) ), self::NONCE_ACTION ) ) {

Check warning on line 116 in includes/admin/class-wc-accommodation-booking-admin-product-settings.php

View workflow job for this annotation

GitHub Actions / test

WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_POST[self::NONCE_NAME]
$this->process_admin_options();

echo '<div class="updated"><p>' . esc_html__( 'Settings saved', 'woocommerce-bookings' ) . '</p></div>';
echo '<div class="updated"><p>' . esc_html__( 'Settings saved', 'woocommerce-accommodation-bookings' ) . '</p></div>';

do_action( 'wc_bookings_times_settings_on_save', $this );
}
Expand Down Expand Up @@ -169,7 +169,7 @@
<form method="post" action="" id="bookings_settings">
<?php self::instance()->admin_options(); ?>
<p class="submit">
<input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e( 'Save Changes', 'woocommerce-bookings' ); ?>" />
<input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e( 'Save Changes', 'woocommerce-accommodation-bookings' ); ?>" />
<?php wp_nonce_field( self::NONCE_ACTION, self::NONCE_NAME ); ?>
</p>
</form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
);

for ( $i = 1; $i <= 53; $i ++ ) {
/* translators: %s: week number */
$intervals['weeks'][ $i ] = sprintf( __( 'Week %s', 'woocommerce-accommodation-bookings' ), $i );
}

Expand Down
18 changes: 9 additions & 9 deletions includes/admin/views/html-accommodation-booking-availability.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@

<?php
$weekdays = array(
__( 'Sunday', 'woocommerce-bookings' ),
__( 'Monday', 'woocommerce-bookings' ),
__( 'Tuesday', 'woocommerce-bookings' ),
__( 'Wednesday', 'woocommerce-bookings' ),
__( 'Thursday', 'woocommerce-bookings' ),
__( 'Friday', 'woocommerce-bookings' ),
__( 'Saturday', 'woocommerce-bookings' ),
__( 'Sunday', 'woocommerce-accommodation-bookings' ),
__( 'Monday', 'woocommerce-accommodation-bookings' ),
__( 'Tuesday', 'woocommerce-accommodation-bookings' ),
__( 'Wednesday', 'woocommerce-accommodation-bookings' ),
__( 'Thursday', 'woocommerce-accommodation-bookings' ),
__( 'Friday', 'woocommerce-accommodation-bookings' ),
__( 'Saturday', 'woocommerce-accommodation-bookings' ),
);

for ( $i=0; $i < 7; $i++) {
Expand Down Expand Up @@ -96,8 +96,8 @@
<th><?php esc_html_e( 'Range type', 'woocommerce-accommodation-bookings' ); ?></th>
<th><?php esc_html_e( 'From', 'woocommerce-accommodation-bookings' ); ?></th>
<th><?php esc_html_e( 'To', 'woocommerce-accommodation-bookings' ); ?></th>
<th><?php esc_html_e( 'Bookable', 'woocommerce-accommodation-bookings' ); ?>&nbsp;<a class="tips" data-tip="<?php echo wc_sanitize_tooltip( __( 'If not bookable, users won\'t be able to choose this room.', 'woocommerce-accommodation-bookings' ) ); ?>">[?]</a></th>
<th><?php esc_html_e( 'Priority', 'woocommerce-accommodation-bookings' ); ?>&nbsp;<a class="tips" data-tip="<?php echo wc_sanitize_tooltip( __( 'The lower the priority number, the earlier this rule gets applied. By default, global rules take priority over product rules which take priority over resource rules. By using priority numbers you can execute rules in different orders.', 'woocommerce-accommodation-bookings' ) ); ?>">[?]</a></th>
<th><?php esc_html_e( 'Bookable', 'woocommerce-accommodation-bookings' ); ?>&nbsp;<a class="tips" data-tip="<?php echo wc_sanitize_tooltip( __( 'If not bookable, users won\'t be able to choose this room.', 'woocommerce-accommodation-bookings' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>">[?]</a></th>
<th><?php esc_html_e( 'Priority', 'woocommerce-accommodation-bookings' ); ?>&nbsp;<a class="tips" data-tip="<?php echo wc_sanitize_tooltip( __( 'The lower the priority number, the earlier this rule gets applied. By default, global rules take priority over product rules which take priority over resource rules. By using priority numbers you can execute rules in different orders.', 'woocommerce-accommodation-bookings' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>">[?]</a></th>
<th class="remove" width="1%">&nbsp;</th>
</tr>
</thead>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
);

for ( $i = 1; $i <= 53; $i ++ ) {
/* translators: %s: week number */
$intervals['weeks'][ $i ] = sprintf( __( 'Week %s', 'woocommerce-accommodation-bookings' ), $i );
}

Expand Down
4 changes: 2 additions & 2 deletions includes/admin/views/html-accommodation-booking-rates.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
<th class="sort" width="1%">&nbsp;</th>
<th><?php esc_html_e( 'Range type', 'woocommerce-accommodation-bookings' ); ?></th>
<th><?php esc_html_e( 'Starting', 'woocommerce-accommodation-bookings' ); ?></th>
<th><?php esc_html_e( 'Ending', 'woocommerce-accommodation-bookings' ); ?>&nbsp;<a class="tips" data-tip="<?php echo wc_sanitize_tooltip( __( 'Includes this date/night.', 'woocommerce-accommodation-bookings' ) ); ?>">[?]</a></th>
<th><?php esc_html_e( 'Cost', 'woocommerce-accommodation-bookings' ); ?>&nbsp;<a class="tips" data-tip="<?php echo wc_sanitize_tooltip( __( 'Cost for this time period.', 'woocommerce-accommodation-bookings' ) ); ?>" colspan='2'>[?]</a></th>
<th><?php esc_html_e( 'Ending', 'woocommerce-accommodation-bookings' ); ?>&nbsp;<a class="tips" data-tip="<?php echo wc_sanitize_tooltip( __( 'Includes this date/night.', 'woocommerce-accommodation-bookings' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>">[?]</a></th>
<th><?php esc_html_e( 'Cost', 'woocommerce-accommodation-bookings' ); ?>&nbsp;<a class="tips" data-tip="<?php echo wc_sanitize_tooltip( __( 'Cost for this time period.', 'woocommerce-accommodation-bookings' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>" colspan='2'>[?]</a></th>
<th class="remove" width="1%">&nbsp;</th>
</tr>
</thead>
Expand Down
6 changes: 3 additions & 3 deletions includes/class-wc-accommodation-dependencies.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,15 @@ public static function check_dependencies() {
}

if ( ! self::is_bookings_installed() ) {
throw new Exception( __( 'Accommodation Bookings requires Bookings plugin activated.', 'woocommerce-accommodation-bookings' ) );
throw new Exception( esc_html__( 'Accommodation Bookings requires Bookings plugin activated.', 'woocommerce-accommodation-bookings' ) );
}

if ( ! self::is_bookings_above_or_equal_to_version( '1.9.0' ) ) {
throw new Exception( __( 'Accommodation Bookings requires Bookings version 1.9+.', 'woocommerce-accommodation-bookings' ) );
throw new Exception( esc_html__( 'Accommodation Bookings requires Bookings version 1.9+.', 'woocommerce-accommodation-bookings' ) );
}

if ( ! version_compare( PHP_VERSION, '7.4', '>=' ) ) {
throw new Exception( __( 'Accommodation Bookings requires PHP version 7.4 or above.', 'woocommerce-accommodation-bookings' ) );
throw new Exception( esc_html__( 'Accommodation Bookings requires PHP version 7.4 or above.', 'woocommerce-accommodation-bookings' ) );
}
}
}
1 change: 1 addition & 0 deletions includes/class-wc-product-accommodation-booking.php
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ public function get_price_html( $price = '' ) {

if ( $display_price ) {
if ( $this->has_additional_costs() || $this->get_display_cost() ) {
/* translators: %s: price */
$price_html = sprintf( __( 'From %s per night', 'woocommerce-accommodation-bookings' ), wc_price( $display_price ) ) . $this->get_price_suffix();
} else {
$price_html = wc_price( $display_price ) . $this->get_price_suffix();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@ public function addon_options( $post, $addon, $loop ) {
?>
<tr class="<?php echo esc_attr( $css_classes ); ?>">
<td class="addon_wc_booking_person_qty_multiplier addon_required" width="50%">
<label for="addon_wc_booking_accommodation_person_qty_multiplier_<?php echo esc_attr( $loop ); ?>"><?php esc_html_e( 'Bookings: Multiply cost by person count', 'woocommerce-bookings' ); ?></label>
<label for="addon_wc_booking_accommodation_person_qty_multiplier_<?php echo esc_attr( $loop ); ?>"><?php esc_html_e( 'Bookings: Multiply cost by person count', 'woocommerce-accommodation-bookings' ); ?></label>
<input type="checkbox" id="addon_wc_booking_accommodation_person_qty_multiplier_<?php echo esc_attr( $loop ); ?>" name="addon_wc_booking_person_qty_multiplier[<?php echo esc_attr( $loop ); ?>]" <?php checked( ! empty( $addon['wc_booking_person_qty_multiplier'] ), true ); ?> />
</td>
<td class="addon_wc_booking_block_qty_multiplier addon_required" width="50%">
<label for="addon_wc_booking_accommodation_block_qty_multiplier_<?php echo esc_attr( $loop ); ?>"><?php esc_html_e( 'Bookings: Multiply cost by block count', 'woocommerce-bookings' ); ?></label>
<label for="addon_wc_booking_accommodation_block_qty_multiplier_<?php echo esc_attr( $loop ); ?>"><?php esc_html_e( 'Bookings: Multiply cost by block count', 'woocommerce-accommodation-bookings' ); ?></label>
<input type="checkbox" id="addon_wc_booking_accommodation_block_qty_multiplier_<?php echo esc_attr( $loop ); ?>" name="addon_wc_booking_block_qty_multiplier[<?php echo esc_attr( $loop ); ?>]" <?php checked( ! empty( $addon['wc_booking_block_qty_multiplier'] ) || ! empty( $addon['wc_accommodation_booking_block_qty_multiplier'] ), true ); ?> />
</td>
</tr>
Expand All @@ -69,14 +69,14 @@ public function addon_options( $post, $addon, $loop ) {
<div class="addon_wc_booking_person_qty_multiplier">
<label for="addon_wc_booking_accommodation_person_qty_multiplier_<?php echo esc_attr( $loop ); ?>">
<input type="checkbox" id="addon_wc_booking_accommodation_person_qty_multiplier_<?php echo esc_attr( $loop ); ?>" name="addon_wc_booking_person_qty_multiplier[<?php echo esc_attr( $loop ); ?>]" <?php checked( ! empty( $addon['wc_booking_person_qty_multiplier'] ), true ); ?> /> <?php esc_html_e( 'Bookings: Multiply cost by person count', 'woocommerce-accommodation-bookings' ); ?>
<?php echo wc_help_tip( __( 'Only applies to options which use quantity based prices.', 'woocommerce-accommodation-bookings' ) ); ?>
<?php echo wc_help_tip( __( 'Only applies to options which use quantity based prices.', 'woocommerce-accommodation-bookings' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</label>
</div>

<div class="addon_wc_booking_block_qty_multiplier">
<label for="addon_wc_booking_accommodation_block_qty_multiplier_<?php echo esc_attr( $loop ); ?>">
<input type="checkbox" id="addon_wc_booking_accommodation_block_qty_multiplier_<?php echo esc_attr( $loop ); ?>" name="addon_wc_booking_block_qty_multiplier[<?php echo esc_attr( $loop ); ?>]" <?php checked( ! empty( $addon['wc_booking_block_qty_multiplier'] ) || ! empty( $addon['wc_accommodation_booking_block_qty_multiplier'] ), true ); ?> /> <?php esc_html_e( 'Bookings: Multiply cost number of nights', 'woocommerce-accommodation-bookings' ); ?>
<?php echo wc_help_tip( __( 'Only applies to options which use quantity based prices.', 'woocommerce-accommodation-bookings' ) ); ?>
<?php echo wc_help_tip( __( 'Only applies to options which use quantity based prices.', 'woocommerce-accommodation-bookings' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</label>
</div>
</div>
Expand Down
Loading