admin updates
This commit is contained in:
parent
b1565cf0d6
commit
b81bde4f5a
|
@ -50,7 +50,7 @@ class WC_Meta_Box_Order_Actions {
|
||||||
if ( ! empty( $mails ) ) {
|
if ( ! empty( $mails ) ) {
|
||||||
foreach ( $mails as $mail ) {
|
foreach ( $mails as $mail ) {
|
||||||
if ( in_array( $mail->id, $available_emails ) && 'no' !== $mail->enabled ) {
|
if ( in_array( $mail->id, $available_emails ) && 'no' !== $mail->enabled ) {
|
||||||
echo '<option value="send_email_' . esc_attr( $mail->id ) . '">' . esc_html( $mail->title ) . '</option>';
|
echo '<option value="send_email_' . esc_attr( $mail->id ) . '">' . sprintf( __( 'Resend %s', 'woocomerce' ), esc_html( $mail->title ) ) . '</option>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,7 +153,7 @@ class WC_Meta_Box_Order_Data {
|
||||||
$payment_gateways = array();
|
$payment_gateways = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
$payment_method = $order->get_payment_method() ? $order->get_payment_method() : '';
|
$payment_method = $order->get_payment_method();
|
||||||
|
|
||||||
$order_type_object = get_post_type_object( $post->post_type );
|
$order_type_object = get_post_type_object( $post->post_type );
|
||||||
wp_nonce_field( 'woocommerce_save_data', 'woocommerce_meta_nonce' );
|
wp_nonce_field( 'woocommerce_save_data', 'woocommerce_meta_nonce' );
|
||||||
|
@ -228,18 +228,18 @@ class WC_Meta_Box_Order_Data {
|
||||||
<?php
|
<?php
|
||||||
$statuses = wc_get_order_statuses();
|
$statuses = wc_get_order_statuses();
|
||||||
foreach ( $statuses as $status => $status_name ) {
|
foreach ( $statuses as $status => $status_name ) {
|
||||||
echo '<option value="' . esc_attr( $status ) . '" ' . selected( $status, 'wc-' . $order->get_status(), false ) . '>' . esc_html( $status_name ) . '</option>';
|
echo '<option value="' . esc_attr( $status ) . '" ' . selected( $status, 'wc-' . $order->get_status( 'edit' ), false ) . '>' . esc_html( $status_name ) . '</option>';
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</select></p>
|
</select></p>
|
||||||
|
|
||||||
<p class="form-field form-field-wide wc-customer-user">
|
<p class="form-field form-field-wide wc-customer-user">
|
||||||
<label for="customer_user"><?php _e( 'Customer:', 'woocommerce' ) ?> <?php
|
<label for="customer_user"><?php _e( 'Customer:', 'woocommerce' ) ?> <?php
|
||||||
if ( $order->get_user_id() ) {
|
if ( $order->get_user_id( 'edit' ) ) {
|
||||||
$args = array(
|
$args = array(
|
||||||
'post_status' => 'all',
|
'post_status' => 'all',
|
||||||
'post_type' => 'shop_order',
|
'post_type' => 'shop_order',
|
||||||
'_customer_user' => absint( $order->get_user_id() ),
|
'_customer_user' => $order->get_user_id( 'edit' ),
|
||||||
);
|
);
|
||||||
printf( '<a href="%s">%s</a>',
|
printf( '<a href="%s">%s</a>',
|
||||||
esc_url( add_query_arg( $args, admin_url( 'edit.php' ) ) ),
|
esc_url( add_query_arg( $args, admin_url( 'edit.php' ) ) ),
|
||||||
|
@ -290,7 +290,7 @@ class WC_Meta_Box_Order_Data {
|
||||||
$field_name = 'billing_' . $key;
|
$field_name = 'billing_' . $key;
|
||||||
|
|
||||||
if ( is_callable( array( $order, 'get_' . $field_name ) ) ) {
|
if ( is_callable( array( $order, 'get_' . $field_name ) ) ) {
|
||||||
echo '<p><strong>' . esc_html( $field['label'] ) . ':</strong> ' . make_clickable( esc_html( call_user_func( array( $order, 'get_' . $field_name ) ) ) ) . '</p>';
|
echo '<p><strong>' . esc_html( $field['label'] ) . ':</strong> ' . make_clickable( esc_html( $order->{"get_$field_name"}( 'edit' ) ) ) . '</p>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -376,7 +376,7 @@ class WC_Meta_Box_Order_Data {
|
||||||
$field_name = 'shipping_' . $key;
|
$field_name = 'shipping_' . $key;
|
||||||
|
|
||||||
if ( is_callable( array( $order, 'get_' . $field_name ) ) ) {
|
if ( is_callable( array( $order, 'get_' . $field_name ) ) ) {
|
||||||
echo '<p><strong>' . esc_html( $field['label'] ) . ':</strong> ' . make_clickable( esc_html( call_user_func( array( $order, 'get_' . $field_name ) ) ) ) . '</p>';
|
echo '<p><strong>' . esc_html( $field['label'] ) . ':</strong> ' . make_clickable( esc_html( $order->{"get_$field_name"}( 'edit' ) ) ) . '</p>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,21 +81,17 @@ class WC_Meta_Box_Order_Downloads {
|
||||||
* @param WP_Post $post
|
* @param WP_Post $post
|
||||||
*/
|
*/
|
||||||
public static function save( $post_id, $post ) {
|
public static function save( $post_id, $post ) {
|
||||||
global $wpdb;
|
if ( isset( $_POST['permission_id'] ) ) {
|
||||||
|
$permission_ids = $_POST['permission_id'];
|
||||||
if ( isset( $_POST['download_id'] ) ) {
|
|
||||||
$download_ids = $_POST['download_id'];
|
|
||||||
$product_ids = $_POST['product_id'];
|
|
||||||
$downloads_remaining = $_POST['downloads_remaining'];
|
$downloads_remaining = $_POST['downloads_remaining'];
|
||||||
$access_expires = $_POST['access_expires'];
|
$access_expires = $_POST['access_expires'];
|
||||||
$product_ids_max = max( array_keys( $product_ids ) );
|
$max = max( array_keys( $permission_ids ) );
|
||||||
$data_store = WC_Data_Store::load( 'customer-download' );
|
|
||||||
|
|
||||||
for ( $i = 0; $i <= $product_ids_max; $i ++ ) {
|
for ( $i = 0; $i <= $max; $i ++ ) {
|
||||||
if ( ! isset( $product_ids[ $i ] ) ) {
|
if ( ! isset( $permission_ids[ $i ] ) ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$download = $data_store::get_download_from_order( $post_id, absint( $product_ids[ $i ] ), $download_ids[ $i ] );
|
$download = new WC_Customer_Download( $permission_ids[ $i ] );
|
||||||
$download->set_downloads_remaining( wc_clean( $downloads_remaining[ $i ] ) );
|
$download->set_downloads_remaining( wc_clean( $downloads_remaining[ $i ] ) );
|
||||||
$download->set_access_expires( array_key_exists( $i, $access_expires ) && '' !== $access_expires[ $i ] ? strtotime( $access_expires[ $i ] ) : '' );
|
$download->set_access_expires( array_key_exists( $i, $access_expires ) && '' !== $access_expires[ $i ] ? strtotime( $access_expires[ $i ] ) : '' );
|
||||||
$download->save();
|
$download->save();
|
||||||
|
|
|
@ -17,8 +17,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<label><?php _e( 'Downloads remaining', 'woocommerce' ); ?></label>
|
<label><?php _e( 'Downloads remaining', 'woocommerce' ); ?></label>
|
||||||
<input type="hidden" name="product_id[<?php echo $loop; ?>]" value="<?php echo esc_attr( $download->get_product_id() ); ?>" />
|
<input type="hidden" name="permission_id[<?php echo $loop; ?>]" value="<?php echo esc_attr( $download->get_id() ); ?>" />
|
||||||
<input type="hidden" name="download_id[<?php echo $loop; ?>]" value="<?php echo esc_attr( $download->get_product_id() ); ?>" />
|
|
||||||
<input type="number" step="1" min="0" class="short" name="downloads_remaining[<?php echo $loop; ?>]" value="<?php echo esc_attr( $download->get_downloads_remaining() ); ?>" placeholder="<?php esc_attr_e( 'Unlimited', 'woocommerce' ); ?>" />
|
<input type="number" step="1" min="0" class="short" name="downloads_remaining[<?php echo $loop; ?>]" value="<?php echo esc_attr( $download->get_downloads_remaining() ); ?>" placeholder="<?php esc_attr_e( 'Unlimited', 'woocommerce' ); ?>" />
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
@ -171,7 +171,7 @@ if ( wc_tax_enabled() ) {
|
||||||
<td class="total">
|
<td class="total">
|
||||||
<div class="view"><?php echo $order->get_formatted_order_total(); ?></div>
|
<div class="view"><?php echo $order->get_formatted_order_total(); ?></div>
|
||||||
<div class="edit" style="display: none;">
|
<div class="edit" style="display: none;">
|
||||||
<input type="text" class="wc_input_price" id="_order_total" name="_order_total" placeholder="<?php echo wc_format_localized_price( 0 ); ?>" value="<?php echo esc_attr( wc_format_localized_price( $order->get_total( true ) ) ); ?>" />
|
<input type="text" class="wc_input_price" id="_order_total" name="_order_total" placeholder="<?php echo wc_format_localized_price( 0 ); ?>" value="<?php echo esc_attr( wc_format_localized_price( $order->get_total( 'edit' ) ) ); ?>" />
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
|
@ -176,7 +176,7 @@ class WC_Order_Item_Product extends WC_Order_Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get any associated downloadable files.
|
* Get any associated downloadable files. @todo
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function get_item_downloads() {
|
public function get_item_downloads() {
|
||||||
|
@ -190,7 +190,7 @@ class WC_Order_Item_Product extends WC_Order_Item {
|
||||||
$data_store = WC_Data_Store::load( 'customer-download' );
|
$data_store = WC_Data_Store::load( 'customer-download' );
|
||||||
$download_ids = $data_store->get_downloads( array(
|
$download_ids = $data_store->get_downloads( array(
|
||||||
'user_email' => $order->get_billing_email(),
|
'user_email' => $order->get_billing_email(),
|
||||||
'order_key' => $order->get_order_key(),
|
'order_id' => $order->get_id(),
|
||||||
'product_id' => $this->get_variation_id() ? $this->get_variation_id() : $this->get_product_id(),
|
'product_id' => $this->get_variation_id() ? $this->get_variation_id() : $this->get_product_id(),
|
||||||
'return' => 'ids',
|
'return' => 'ids',
|
||||||
) );
|
) );
|
||||||
|
|
|
@ -112,7 +112,14 @@ class WC_Customer_Download_Data_Store implements WC_Customer_Download_Data_Store
|
||||||
'%s',
|
'%s',
|
||||||
);
|
);
|
||||||
|
|
||||||
$wpdb->update( $wpdb->prefix . 'woocommerce_downloadable_product_permissions', $data, $format );
|
$wpdb->update(
|
||||||
|
$wpdb->prefix . 'woocommerce_downloadable_product_permissions',
|
||||||
|
$data,
|
||||||
|
array(
|
||||||
|
'permission_id' => $download->get_id(),
|
||||||
|
),
|
||||||
|
$format
|
||||||
|
);
|
||||||
$download->apply_changes();
|
$download->apply_changes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,22 +189,6 @@ class WC_Customer_Download_Data_Store implements WC_Customer_Download_Data_Store
|
||||||
return new WC_Customer_Download( $data );
|
return new WC_Customer_Download( $data );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a download object from an order.
|
|
||||||
*
|
|
||||||
* @param int $order_id
|
|
||||||
* @param int $product_id
|
|
||||||
* @param string $download_id
|
|
||||||
* @return WC_Customer_Download
|
|
||||||
*/
|
|
||||||
private function get_download_from_order( $order_id, $product_id, $download_id ) {
|
|
||||||
global $wpdb;
|
|
||||||
|
|
||||||
$raw_download = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", $order_id, $product_id, $download_id ) );
|
|
||||||
|
|
||||||
return $raw_download ? new WC_Customer_Download( $raw_download ) : false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get array of download ids by specified args.
|
* Get array of download ids by specified args.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue