2013-07-24 16:01:36 +00:00
< ? php
/**
* Load assets .
*
2014-11-30 06:52:32 +00:00
* @ author WooThemes
* @ category Admin
* @ package WooCommerce / Admin
2013-07-24 16:01:36 +00:00
* @ version 2.1 . 0
*/
2014-09-20 19:52:30 +00:00
if ( ! defined ( 'ABSPATH' ) ) {
exit ; // Exit if accessed directly
}
2013-07-24 16:01:36 +00:00
if ( ! class_exists ( 'WC_Admin_Assets' ) ) :
/**
* WC_Admin_Assets Class
*/
class WC_Admin_Assets {
/**
* Hook in tabs .
*/
public function __construct () {
add_action ( 'admin_enqueue_scripts' , array ( $this , 'admin_styles' ) );
add_action ( 'admin_enqueue_scripts' , array ( $this , 'admin_scripts' ) );
2014-11-30 06:52:32 +00:00
add_action ( 'admin_head' , array ( $this , 'product_taxonomy_styles' ) );
2013-07-24 16:01:36 +00:00
}
/**
* Enqueue styles
*/
public function admin_styles () {
2014-02-12 09:23:06 +00:00
global $wp_scripts ;
2013-07-24 16:01:36 +00:00
// Sitewide menu CSS
2014-02-12 09:23:06 +00:00
wp_enqueue_style ( 'woocommerce_admin_menu_styles' , WC () -> plugin_url () . '/assets/css/menu.css' , array (), WC_VERSION );
2013-07-24 16:01:36 +00:00
$screen = get_current_screen ();
2013-07-25 15:29:25 +00:00
if ( in_array ( $screen -> id , wc_get_screen_ids () ) ) {
2013-07-24 16:01:36 +00:00
$jquery_version = isset ( $wp_scripts -> registered [ 'jquery-ui-core' ] -> ver ) ? $wp_scripts -> registered [ 'jquery-ui-core' ] -> ver : '1.9.2' ;
// Admin styles for WC pages only
2014-02-12 09:23:06 +00:00
wp_enqueue_style ( 'woocommerce_admin_styles' , WC () -> plugin_url () . '/assets/css/admin.css' , array (), WC_VERSION );
2015-03-13 10:20:37 +00:00
wp_enqueue_style ( 'jquery-ui-style' , '//code.jquery.com/ui/' . $jquery_version . '/themes/smoothness/jquery-ui.css' , array (), $jquery_version );
2013-07-24 16:01:36 +00:00
wp_enqueue_style ( 'wp-color-picker' );
}
2013-07-25 14:00:23 +00:00
if ( in_array ( $screen -> id , array ( 'dashboard' ) ) ) {
2014-02-12 09:23:06 +00:00
wp_enqueue_style ( 'woocommerce_admin_dashboard_styles' , WC () -> plugin_url () . '/assets/css/dashboard.css' , array (), WC_VERSION );
2013-07-25 14:00:23 +00:00
}
2015-02-24 12:29:03 +00:00
if ( in_array ( $screen -> id , array ( 'woocommerce_page_wc-reports' , 'toplevel_page_wc-reports' ) ) ) {
2014-11-12 12:53:57 +00:00
wp_enqueue_style ( 'woocommerce_admin_print_reports_styles' , WC () -> plugin_url () . '/assets/css/reports-print.css' , array (), WC_VERSION , 'print' );
}
2014-10-03 09:07:25 +00:00
/**
* @ deprecated 2.3
*/
if ( has_action ( 'woocommerce_admin_css' ) ) {
2014-12-02 09:26:17 +00:00
do_action ( 'woocommerce_admin_css' );
2014-10-03 09:07:25 +00:00
_deprecated_function ( 'The woocommerce_admin_css action' , '2.3' , 'admin_enqueue_scripts' );
}
2013-07-24 16:01:36 +00:00
}
/**
* Enqueue scripts
*/
public function admin_scripts () {
2014-11-20 08:46:46 +00:00
global $wp_query , $post , $current_user ;
2014-11-26 15:37:06 +00:00
2014-11-20 08:46:46 +00:00
get_currentuserinfo ();
2013-07-24 16:01:36 +00:00
$screen = get_current_screen ();
2014-02-19 14:30:21 +00:00
$wc_screen_id = sanitize_title ( __ ( 'WooCommerce' , 'woocommerce' ) );
2013-07-24 16:01:36 +00:00
$suffix = defined ( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min' ;
// Register scripts
2014-02-12 09:23:06 +00:00
wp_register_script ( 'woocommerce_admin' , WC () -> plugin_url () . '/assets/js/admin/woocommerce_admin' . $suffix . '.js' , array ( 'jquery' , 'jquery-blockui' , 'jquery-ui-sortable' , 'jquery-ui-widget' , 'jquery-ui-core' , 'jquery-tiptip' ), WC_VERSION );
wp_register_script ( 'jquery-blockui' , WC () -> plugin_url () . '/assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js' , array ( 'jquery' ), '2.66' , true );
wp_register_script ( 'jquery-tiptip' , WC () -> plugin_url () . '/assets/js/jquery-tiptip/jquery.tipTip' . $suffix . '.js' , array ( 'jquery' ), WC_VERSION , true );
wp_register_script ( 'accounting' , WC () -> plugin_url () . '/assets/js/admin/accounting' . $suffix . '.js' , array ( 'jquery' ), '0.3.2' );
wp_register_script ( 'round' , WC () -> plugin_url () . '/assets/js/admin/round' . $suffix . '.js' , array ( 'jquery' ), WC_VERSION );
2015-01-09 16:39:10 +00:00
wp_register_script ( 'wc-admin-meta-boxes' , WC () -> plugin_url () . '/assets/js/admin/meta-boxes' . $suffix . '.js' , array ( 'jquery' , 'jquery-ui-datepicker' , 'jquery-ui-sortable' , 'accounting' , 'round' , 'wc-enhanced-select' , 'plupload-all' , 'stupidtable' ), WC_VERSION );
2015-05-16 03:09:29 +00:00
wp_register_script ( 'zeroclipboard' , WC () -> plugin_url () . '/assets/js/zeroclipboard/jquery.zeroclipboard' . $suffix . '.js' , array ( 'jquery' ), WC_VERSION );
2015-01-09 16:39:10 +00:00
wp_register_script ( 'qrcode' , WC () -> plugin_url () . '/assets/js/admin/jquery.qrcode.min.js' , array ( 'jquery' ), WC_VERSION );
wp_register_script ( 'stupidtable' , WC () -> plugin_url () . '/assets/js/stupidtable/stupidtable' . $suffix . '.js' , array ( 'jquery' ), WC_VERSION );
2015-02-12 11:35:12 +00:00
wp_register_script ( 'wc-admin-notices' , WC () -> plugin_url () . '/assets/js/admin/woocommerce_notices' . $suffix . '.js' , array ( 'jquery' ), WC_VERSION , true );
2013-10-24 12:15:42 +00:00
2015-01-09 16:39:10 +00:00
// Chosen is @deprecated (2.3) in favour of select2, but is registered for backwards compat
2014-11-28 07:21:01 +00:00
wp_register_script ( 'ajax-chosen' , WC () -> plugin_url () . '/assets/js/chosen/ajax-chosen.jquery' . $suffix . '.js' , array ( 'jquery' , 'chosen' ), WC_VERSION );
wp_register_script ( 'chosen' , WC () -> plugin_url () . '/assets/js/chosen/chosen.jquery' . $suffix . '.js' , array ( 'jquery' ), WC_VERSION );
2013-07-24 16:01:36 +00:00
2015-01-09 16:39:10 +00:00
// Select2 is the replacement for chosen
2015-02-04 15:00:14 +00:00
wp_register_script ( 'select2' , WC () -> plugin_url () . '/assets/js/select2/select2' . $suffix . '.js' , array ( 'jquery' ), '3.5.2' );
2015-01-12 15:43:13 +00:00
wp_register_script ( 'wc-enhanced-select' , WC () -> plugin_url () . '/assets/js/admin/wc-enhanced-select' . $suffix . '.js' , array ( 'jquery' , 'select2' ), WC_VERSION );
2015-03-03 10:58:06 +00:00
wp_localize_script ( 'wc-enhanced-select' , 'wc_enhanced_select_params' , array (
2015-01-19 19:31:22 +00:00
'i18n_matches_1' => _x ( 'One result is available, press enter to select it.' , 'enhanced select' , 'woocommerce' ),
'i18n_matches_n' => _x ( '%qty% results are available, use up and down arrow keys to navigate.' , 'enhanced select' , 'woocommerce' ),
'i18n_no_matches' => _x ( 'No matches found' , 'enhanced select' , 'woocommerce' ),
'i18n_ajax_error' => _x ( 'Loading failed' , 'enhanced select' , 'woocommerce' ),
2015-01-29 03:31:03 +00:00
'i18n_input_too_short_1' => _x ( 'Please enter 1 or more characters' , 'enhanced select' , 'woocommerce' ),
2015-01-19 19:31:22 +00:00
'i18n_input_too_short_n' => _x ( 'Please enter %qty% or more characters' , 'enhanced select' , 'woocommerce' ),
'i18n_input_too_long_1' => _x ( 'Please delete 1 character' , 'enhanced select' , 'woocommerce' ),
'i18n_input_too_long_n' => _x ( 'Please delete %qty% characters' , 'enhanced select' , 'woocommerce' ),
'i18n_selection_too_long_1' => _x ( 'You can only select 1 item' , 'enhanced select' , 'woocommerce' ),
'i18n_selection_too_long_n' => _x ( 'You can only select %qty% items' , 'enhanced select' , 'woocommerce' ),
'i18n_load_more' => _x ( 'Loading more results…' , 'enhanced select' , 'woocommerce' ),
'i18n_searching' => _x ( 'Searching…' , 'enhanced select' , 'woocommerce' ),
2015-03-03 10:58:06 +00:00
'ajax_url' => admin_url ( 'admin-ajax.php' ),
'search_products_nonce' => wp_create_nonce ( 'search-products' ),
'search_customers_nonce' => wp_create_nonce ( 'search-customers' )
2015-01-12 11:56:44 +00:00
) );
2014-11-26 15:37:06 +00:00
2013-11-12 17:43:30 +00:00
// Accounting
2015-01-12 11:56:44 +00:00
wp_localize_script ( 'accounting' , 'accounting_params' , array (
2015-01-23 11:50:32 +00:00
'mon_decimal_point' => wc_get_price_decimal_separator ()
2015-01-12 11:56:44 +00:00
) );
2013-11-12 17:43:30 +00:00
// WooCommerce admin pages
2014-08-04 15:42:16 +00:00
if ( in_array ( $screen -> id , wc_get_screen_ids () ) ) {
2013-07-24 16:01:36 +00:00
2014-08-04 15:42:16 +00:00
wp_enqueue_script ( 'woocommerce_admin' );
wp_enqueue_script ( 'iris' );
2015-01-09 16:39:10 +00:00
wp_enqueue_script ( 'wc-enhanced-select' );
2014-08-04 15:42:16 +00:00
wp_enqueue_script ( 'jquery-ui-sortable' );
wp_enqueue_script ( 'jquery-ui-autocomplete' );
2013-09-27 19:28:42 +00:00
2014-08-04 15:42:16 +00:00
$locale = localeconv ();
$decimal = isset ( $locale [ 'decimal_point' ] ) ? $locale [ 'decimal_point' ] : '.' ;
2013-10-01 16:54:29 +00:00
2014-08-04 15:42:16 +00:00
$params = array (
2014-08-04 15:49:14 +00:00
'i18n_decimal_error' => sprintf ( __ ( 'Please enter in decimal (%s) format without thousand separators.' , 'woocommerce' ), $decimal ),
2015-01-23 11:50:32 +00:00
'i18n_mon_decimal_error' => sprintf ( __ ( 'Please enter in monetary decimal (%s) format without thousand separators and currency symbols.' , 'woocommerce' ), wc_get_price_decimal_separator () ),
2014-08-04 15:49:14 +00:00
'i18n_country_iso_error' => __ ( 'Please enter in country code with two capital letters.' , 'woocommerce' ),
'i18_sale_less_than_regular_error' => __ ( 'Please enter in a value less than the regular price.' , 'woocommerce' ),
'decimal_point' => $decimal ,
2015-01-23 11:50:32 +00:00
'mon_decimal_point' => wc_get_price_decimal_separator ()
2014-08-04 15:42:16 +00:00
);
2013-09-27 19:28:42 +00:00
2014-08-04 15:42:16 +00:00
wp_localize_script ( 'woocommerce_admin' , 'woocommerce_admin' , $params );
}
2013-07-24 16:01:36 +00:00
2014-08-04 15:42:16 +00:00
// Edit product category pages
if ( in_array ( $screen -> id , array ( 'edit-product_cat' ) ) ) {
2013-07-24 16:01:36 +00:00
wp_enqueue_media ();
2014-08-04 15:42:16 +00:00
}
2013-07-24 16:01:36 +00:00
2013-07-24 18:55:02 +00:00
// Products
2014-07-08 13:14:29 +00:00
if ( in_array ( $screen -> id , array ( 'edit-product' ) ) ) {
2014-11-28 07:21:01 +00:00
wp_enqueue_script ( 'woocommerce_quick-edit' , WC () -> plugin_url () . '/assets/js/admin/quick-edit' . $suffix . '.js' , array ( 'jquery' ), WC_VERSION );
2014-07-08 13:14:29 +00:00
}
2013-07-24 18:55:02 +00:00
2014-07-08 13:14:29 +00:00
// Meta boxes
if ( in_array ( $screen -> id , array ( 'product' , 'edit-product' ) ) ) {
2013-07-24 16:01:36 +00:00
wp_enqueue_media ();
2014-07-08 13:14:29 +00:00
wp_enqueue_script ( 'wc-admin-product-meta-boxes' , WC () -> plugin_url () . '/assets/js/admin/meta-boxes-product' . $suffix . '.js' , array ( 'wc-admin-meta-boxes' ), WC_VERSION );
wp_enqueue_script ( 'wc-admin-variation-meta-boxes' , WC () -> plugin_url () . '/assets/js/admin/meta-boxes-product-variation' . $suffix . '.js' , array ( 'wc-admin-meta-boxes' ), WC_VERSION );
2013-07-24 16:01:36 +00:00
2014-07-08 13:14:29 +00:00
$params = array (
'post_id' => isset ( $post -> ID ) ? $post -> ID : '' ,
'plugin_url' => WC () -> plugin_url (),
2014-11-28 07:21:01 +00:00
'ajax_url' => admin_url ( 'admin-ajax.php' ),
2014-07-08 13:14:29 +00:00
'woocommerce_placeholder_img_src' => wc_placeholder_img_src (),
'add_variation_nonce' => wp_create_nonce ( " add-variation " ),
'link_variation_nonce' => wp_create_nonce ( " link-variations " ),
'delete_variations_nonce' => wp_create_nonce ( " delete-variations " ),
'i18n_link_all_variations' => esc_js ( __ ( 'Are you sure you want to link all variations? This will create a new variation for each and every possible combination of variation attributes (max 50 per run).' , 'woocommerce' ) ),
'i18n_enter_a_value' => esc_js ( __ ( 'Enter a value' , 'woocommerce' ) ),
'i18n_enter_a_value_fixed_or_percent' => esc_js ( __ ( 'Enter a value (fixed or %)' , 'woocommerce' ) ),
'i18n_delete_all_variations' => esc_js ( __ ( 'Are you sure you want to delete all variations? This cannot be undone.' , 'woocommerce' ) ),
'i18n_last_warning' => esc_js ( __ ( 'Last warning, are you sure?' , 'woocommerce' ) ),
'i18n_choose_image' => esc_js ( __ ( 'Choose an image' , 'woocommerce' ) ),
'i18n_set_image' => esc_js ( __ ( 'Set variation image' , 'woocommerce' ) ),
'i18n_variation_added' => esc_js ( __ ( " variation added " , 'woocommerce' ) ),
'i18n_variations_added' => esc_js ( __ ( " variations added " , 'woocommerce' ) ),
'i18n_no_variations_added' => esc_js ( __ ( " No variations added " , 'woocommerce' ) ),
2014-11-17 16:50:25 +00:00
'i18n_remove_variation' => esc_js ( __ ( 'Are you sure you want to remove this variation?' , 'woocommerce' ) ),
'i18n_scheduled_sale_start' => esc_js ( __ ( 'Sale start date (YYYY-MM-DD format or leave blank)' , 'woocommerce' ) ),
'i18n_scheduled_sale_end' => esc_js ( __ ( 'Sale end date (YYYY-MM-DD format or leave blank)' , 'woocommerce' ) )
2014-07-08 13:14:29 +00:00
);
wp_localize_script ( 'wc-admin-variation-meta-boxes' , 'woocommerce_admin_meta_boxes_variations' , $params );
}
2014-07-11 11:43:42 +00:00
if ( in_array ( str_replace ( 'edit-' , '' , $screen -> id ), wc_get_order_types ( 'order-meta-boxes' ) ) ) {
2014-07-08 13:14:29 +00:00
wp_enqueue_script ( 'wc-admin-order-meta-boxes' , WC () -> plugin_url () . '/assets/js/admin/meta-boxes-order' . $suffix . '.js' , array ( 'wc-admin-meta-boxes' ), WC_VERSION );
2014-07-15 22:56:07 +00:00
wp_enqueue_script ( 'wc-admin-order-meta-boxes-modal' , WC () -> plugin_url () . '/assets/js/admin/order-backbone-modal' . $suffix . '.js' , array ( 'underscore' , 'backbone' , 'wc-admin-order-meta-boxes' ), WC_VERSION );
2013-07-24 16:01:36 +00:00
2014-11-11 11:23:44 +00:00
$params = array (
'countries' => json_encode ( array_merge ( WC () -> countries -> get_allowed_country_states (), WC () -> countries -> get_shipping_country_states () ) ),
'i18n_select_state_text' => esc_attr__ ( 'Select an option…' , 'woocommerce' )
);
2014-07-08 13:14:29 +00:00
2014-11-11 11:23:44 +00:00
wp_localize_script ( 'wc-admin-order-meta-boxes' , 'woocommerce_admin_meta_boxes_order' , $params );
2014-07-08 13:14:29 +00:00
}
if ( in_array ( $screen -> id , array ( 'shop_coupon' , 'edit-shop_coupon' ) ) ) {
wp_enqueue_script ( 'wc-admin-coupon-meta-boxes' , WC () -> plugin_url () . '/assets/js/admin/meta-boxes-coupon' . $suffix . '.js' , array ( 'wc-admin-meta-boxes' ), WC_VERSION );
}
2014-07-11 11:43:42 +00:00
if ( in_array ( str_replace ( 'edit-' , '' , $screen -> id ), array_merge ( array ( 'shop_coupon' , 'product' ), wc_get_order_types ( 'order-meta-boxes' ) ) ) ) {
2013-08-06 10:41:20 +00:00
$params = array (
2014-07-10 15:39:10 +00:00
'remove_item_notice' => __ ( 'Are you sure you want to remove the selected items? If you have previously reduced this item\'s stock, or this order was submitted by a customer, you will need to manually restore the item\'s stock.' , 'woocommerce' ),
'i18n_select_items' => __ ( 'Please select some items.' , 'woocommerce' ),
'i18n_do_refund' => __ ( 'Are you sure you wish to process this refund? This action cannot be undone.' , 'woocommerce' ),
'i18n_delete_refund' => __ ( 'Are you sure you wish to delete this refund? This action cannot be undone.' , 'woocommerce' ),
2014-07-22 14:26:18 +00:00
'i18n_delete_tax' => __ ( 'Are you sure you wish to delete this tax column? This action cannot be undone.' , 'woocommerce' ),
2014-07-10 15:39:10 +00:00
'remove_item_meta' => __ ( 'Remove this item meta?' , 'woocommerce' ),
'remove_attribute' => __ ( 'Remove this attribute?' , 'woocommerce' ),
'name_label' => __ ( 'Name' , 'woocommerce' ),
'remove_label' => __ ( 'Remove' , 'woocommerce' ),
'click_to_toggle' => __ ( 'Click to toggle' , 'woocommerce' ),
'values_label' => __ ( 'Value(s)' , 'woocommerce' ),
'text_attribute_tip' => __ ( 'Enter some text, or some attributes by pipe (|) separating values.' , 'woocommerce' ),
'visible_label' => __ ( 'Visible on the product page' , 'woocommerce' ),
'used_for_variations_label' => __ ( 'Used for variations' , 'woocommerce' ),
'new_attribute_prompt' => __ ( 'Enter a name for the new attribute term:' , 'woocommerce' ),
'calc_totals' => __ ( 'Calculate totals based on order items, discounts, and shipping?' , 'woocommerce' ),
'calc_line_taxes' => __ ( 'Calculate line taxes? This will calculate taxes based on the customers country. If no billing/shipping is set it will use the store base country.' , 'woocommerce' ),
'copy_billing' => __ ( 'Copy billing information to shipping information? This will remove any currently entered shipping information.' , 'woocommerce' ),
'load_billing' => __ ( 'Load the customer\'s billing information? This will remove any currently entered billing information.' , 'woocommerce' ),
'load_shipping' => __ ( 'Load the customer\'s shipping information? This will remove any currently entered shipping information.' , 'woocommerce' ),
'featured_label' => __ ( 'Featured' , 'woocommerce' ),
2014-11-28 07:21:01 +00:00
'prices_include_tax' => esc_attr ( get_option ( 'woocommerce_prices_include_tax' ) ),
2014-07-10 15:39:10 +00:00
'round_at_subtotal' => esc_attr ( get_option ( 'woocommerce_tax_round_at_subtotal' ) ),
'no_customer_selected' => __ ( 'No customer selected' , 'woocommerce' ),
'plugin_url' => WC () -> plugin_url (),
2014-11-28 07:21:01 +00:00
'ajax_url' => admin_url ( 'admin-ajax.php' ),
2014-12-16 21:07:48 +00:00
'order_item_nonce' => wp_create_nonce ( 'order-item' ),
'add_attribute_nonce' => wp_create_nonce ( 'add-attribute' ),
'save_attributes_nonce' => wp_create_nonce ( 'save-attributes' ),
'calc_totals_nonce' => wp_create_nonce ( 'calc-totals' ),
'get_customer_details_nonce' => wp_create_nonce ( 'get-customer-details' ),
'search_products_nonce' => wp_create_nonce ( 'search-products' ),
'grant_access_nonce' => wp_create_nonce ( 'grant-access' ),
'revoke_access_nonce' => wp_create_nonce ( 'revoke-access' ),
'add_order_note_nonce' => wp_create_nonce ( 'add-order-note' ),
'delete_order_note_nonce' => wp_create_nonce ( 'delete-order-note' ),
2014-07-10 15:39:10 +00:00
'calendar_image' => WC () -> plugin_url () . '/assets/images/calendar.png' ,
'post_id' => isset ( $post -> ID ) ? $post -> ID : '' ,
'base_country' => WC () -> countries -> get_base_country (),
2015-01-23 11:50:32 +00:00
'currency_format_num_decimals' => wc_get_price_decimals (),
2014-07-10 15:39:10 +00:00
'currency_format_symbol' => get_woocommerce_currency_symbol (),
2015-01-23 11:50:32 +00:00
'currency_format_decimal_sep' => esc_attr ( wc_get_price_decimal_separator () ),
'currency_format_thousand_sep' => esc_attr ( wc_get_price_thousand_separator () ),
2014-07-10 15:39:10 +00:00
'currency_format' => esc_attr ( str_replace ( array ( '%1$s' , '%2$s' ), array ( '%s' , '%v' ), get_woocommerce_price_format () ) ), // For accounting JS
2013-10-24 18:36:22 +00:00
'rounding_precision' => WC_ROUNDING_PRECISION ,
'tax_rounding_mode' => WC_TAX_ROUNDING_MODE ,
2014-07-10 15:39:10 +00:00
'product_types' => array_map ( 'sanitize_title' , get_terms ( 'product_type' , array ( 'hide_empty' => false , 'fields' => 'names' ) ) ),
2013-11-27 14:03:04 +00:00
'i18n_download_permission_fail' => __ ( 'Could not grant access - the user may already have permission for this file or billing email is not set. Ensure the billing email is set, and the order has been saved.' , 'woocommerce' ),
2014-07-10 15:39:10 +00:00
'i18n_permission_revoke' => __ ( 'Are you sure you want to revoke access to this download?' , 'woocommerce' ),
2014-07-22 15:42:17 +00:00
'i18n_tax_rate_already_exists' => __ ( 'You cannot add the same tax rate twice!' , 'woocommerce' ),
2014-08-15 18:16:30 +00:00
'i18n_product_type_alert' => __ ( 'Your product has variations! Before changing the product type, it is a good idea to delete the variations to avoid errors in the stock reports.' , 'woocommerce' )
2013-08-06 10:41:20 +00:00
);
2014-07-08 13:14:29 +00:00
wp_localize_script ( 'wc-admin-meta-boxes' , 'woocommerce_admin_meta_boxes' , $params );
2013-07-24 16:01:36 +00:00
}
// Term ordering - only when sorting by term_order
if ( ( strstr ( $screen -> id , 'edit-pa_' ) || ( ! empty ( $_GET [ 'taxonomy' ] ) && in_array ( $_GET [ 'taxonomy' ], apply_filters ( 'woocommerce_sortable_taxonomies' , array ( 'product_cat' ) ) ) ) ) && ! isset ( $_GET [ 'orderby' ] ) ) {
2014-11-28 07:21:01 +00:00
wp_register_script ( 'woocommerce_term_ordering' , WC () -> plugin_url () . '/assets/js/admin/term-ordering.js' , array ( 'jquery-ui-sortable' ), WC_VERSION );
2013-07-24 16:01:36 +00:00
wp_enqueue_script ( 'woocommerce_term_ordering' );
2013-11-25 13:34:21 +00:00
$taxonomy = isset ( $_GET [ 'taxonomy' ] ) ? wc_clean ( $_GET [ 'taxonomy' ] ) : '' ;
2013-07-24 16:01:36 +00:00
$woocommerce_term_order_params = array (
2014-11-30 06:52:32 +00:00
'taxonomy' => $taxonomy
);
2013-07-24 16:01:36 +00:00
wp_localize_script ( 'woocommerce_term_ordering' , 'woocommerce_term_ordering_params' , $woocommerce_term_order_params );
}
// Product sorting - only when sorting by menu order on the products page
2014-11-28 07:21:01 +00:00
if ( current_user_can ( 'edit_others_pages' ) && $screen -> id == 'edit-product' && isset ( $wp_query -> query [ 'orderby' ] ) && $wp_query -> query [ 'orderby' ] == 'menu_order title' ) {
2013-07-24 16:01:36 +00:00
2014-11-28 07:21:01 +00:00
wp_enqueue_script ( 'woocommerce_product_ordering' , WC () -> plugin_url () . '/assets/js/admin/product-ordering.js' , array ( 'jquery-ui-sortable' ), WC_VERSION , true );
2013-07-24 16:01:36 +00:00
}
// Reports Pages
2015-02-24 12:29:03 +00:00
if ( in_array ( $screen -> id , apply_filters ( 'woocommerce_reports_screen_ids' , array ( $wc_screen_id . '_page_wc-reports' , 'toplevel_page_wc-reports' , 'dashboard' ) ) ) ) {
2014-02-12 09:23:06 +00:00
wp_enqueue_script ( 'wc-reports' , WC () -> plugin_url () . '/assets/js/admin/reports' . $suffix . '.js' , array ( 'jquery' , 'jquery-ui-datepicker' ), WC_VERSION );
wp_enqueue_script ( 'flot' , WC () -> plugin_url () . '/assets/js/admin/jquery.flot' . $suffix . '.js' , array ( 'jquery' ), WC_VERSION );
2014-11-28 07:21:01 +00:00
wp_enqueue_script ( 'flot-resize' , WC () -> plugin_url () . '/assets/js/admin/jquery.flot.resize' . $suffix . '.js' , array ( 'jquery' , 'flot' ), WC_VERSION );
2014-02-12 09:23:06 +00:00
wp_enqueue_script ( 'flot-time' , WC () -> plugin_url () . '/assets/js/admin/jquery.flot.time' . $suffix . '.js' , array ( 'jquery' , 'flot' ), WC_VERSION );
wp_enqueue_script ( 'flot-pie' , WC () -> plugin_url () . '/assets/js/admin/jquery.flot.pie' . $suffix . '.js' , array ( 'jquery' , 'flot' ), WC_VERSION );
wp_enqueue_script ( 'flot-stack' , WC () -> plugin_url () . '/assets/js/admin/jquery.flot.stack' . $suffix . '.js' , array ( 'jquery' , 'flot' ), WC_VERSION );
2013-07-24 16:01:36 +00:00
}
2013-09-02 13:22:53 +00:00
2015-05-16 03:09:29 +00:00
// API settings
if ( 'woocommerce_page_wc-settings' === $screen -> id && isset ( $_GET [ 'section' ] ) && 'keys' == $_GET [ 'section' ] ) {
wp_enqueue_script ( 'qrcode' );
wp_enqueue_script ( 'zeroclipboard' );
}
2014-07-29 15:06:58 +00:00
// System status
if ( 'woocommerce_page_wc-status' === $screen -> id ) {
2015-05-16 03:09:29 +00:00
wp_enqueue_script ( 'zeroclipboard' );
2014-07-29 15:06:58 +00:00
}
2015-01-12 19:15:37 +00:00
if ( in_array ( $screen -> id , array ( 'user-edit' , 'profile' ) ) ) {
wp_enqueue_script ( 'wc-users' , WC () -> plugin_url () . '/assets/js/admin/users' . $suffix . '.js' , array ( 'jquery' , 'wc-enhanced-select' ), WC_VERSION , true );
wp_localize_script (
'wc-users' ,
'wc_users_params' ,
array (
'countries' => json_encode ( array_merge ( WC () -> countries -> get_allowed_country_states (), WC () -> countries -> get_shipping_country_states () ) ),
'i18n_select_state_text' => esc_attr__ ( 'Select an option…' , 'woocommerce' ),
)
);
}
2013-07-24 16:01:36 +00:00
}
/**
* Admin Head
*
* Outputs some styles in the admin < head > to show icons on the woocommerce admin pages
*/
public function product_taxonomy_styles () {
2013-11-28 13:12:08 +00:00
if ( ! current_user_can ( 'manage_woocommerce' ) ) return ;
2013-07-24 16:01:36 +00:00
?>
< style type = " text/css " >
< ? php if ( isset ( $_GET [ 'taxonomy' ]) && $_GET [ 'taxonomy' ] == 'product_cat' ) : ?>
. icon32 - posts - product { background - position : - 243 px - 5 px ! important ; }
< ? php elseif ( isset ( $_GET [ 'taxonomy' ]) && $_GET [ 'taxonomy' ] == 'product_tag' ) : ?>
. icon32 - posts - product { background - position : - 301 px - 5 px ! important ; }
< ? php endif ; ?>
</ style >
< ? php
}
}
endif ;
2013-11-28 13:12:08 +00:00
return new WC_Admin_Assets ();