input->get('nonce'); $addon = sanitize_text_field($this->input->get('activate_addon')); if ($nonce && wp_verify_nonce($nonce,'awdr_addon_activate')) { $addons = self::getAvailableAddons(); if (isset($addons[$addon]) && !empty($addons[$addon]['plugin_file'])) { activate_plugins(array($addons[$addon]['plugin_file'])); $activated = 1; } } $redirect_url = admin_url('admin.php?page=woo_discount_rules&tab=addons'); wp_redirect(add_query_arg('addon_activated', $activated, $redirect_url)); exit; } elseif (isset($_GET['deactivate_addon'])) { $deactivated = 0; $nonce = $this->input->get('nonce'); $addon = sanitize_text_field($this->input->get('deactivate_addon')); if ($nonce && wp_verify_nonce($nonce,'awdr_addon_deactivate')) { $addons = self::getAvailableAddons(); if (isset($addons[$addon]) && !empty($addons[$addon]['plugin_file'])) { deactivate_plugins(array($addons[$addon]['plugin_file'])); $deactivated = 1; } } $redirect_url = admin_url('admin.php?page=woo_discount_rules&tab=addons'); wp_redirect(add_query_arg('addon_deactivated', $deactivated, $redirect_url)); exit; } } /** * Show up the survey form */ function setupSurveyForm() { $survey = new SurveyForm(); $survey->init('woo-discount-rules', 'Discount Rules for WooCommerce', 'woo-discount-rules'); } /** * Add settings link * @param $links * @return array */ function wdr_action_link($links) { $action_links = array( 'settings' => '' . __('Settings', 'woo-discount-rules') . '', ); return array_merge($action_links, $links); } /** * Create admin tabs and menus */ function adminTabs() { $id = $this->input->get('id', 0); $current_tab = $this->getCurrentTab(); $tabs = $this->getTabs(); $page = $this->getPageTask(); $handler = isset($tabs[$current_tab]) ? $tabs[$current_tab] : $tabs[$this->getDefaultTab()]; if ($current_tab == 'addons') { $current_addon = $this->getCurrentAddon(); $active_addons = $this->getActiveAddons(); $available_addons = $this->getAvailableAddons(); if ($current_addon) { if (isset($active_addons[$current_addon]) && is_object($active_addons[$current_addon])) { $handler = $active_addons[$current_addon]; } else { // TODO: show error message if an addon page is not found } } } $params = array( 'tabs' => $tabs, 'handler' => $handler, 'page' => $page, 'current_tab' => $current_tab); $params['on_sale_page_rebuild'] = OnSaleShortCode::getOnPageReBuildOption($id); // $load_welcome_content = $this->loadWelcomeContent(); $path = WDR_PLUGIN_PATH . 'App/Views/Admin/Menu.php'; // if($load_welcome_content === true){ // $path = WDR_PLUGIN_PATH . 'App/Views/Admin/welcome-text.php'; // } self::$template_helper->setPath($path)->setData($params)->display(); } /** * Load welcome content * */ protected function loadWelcomeContent(){ return false; } /** * get current active tab * @return mixed|string */ private function getCurrentTab() { $get_current_tab = $this->input->get('tab'); return isset($get_current_tab) ? $get_current_tab : $this->getDefaultTab(); } /** * get current active addon * @return mixed|string */ private function getCurrentAddon() { $current_addon = $this->input->get('addon'); return isset($current_addon) ? $current_addon : ''; } /** * Default tab for admin * @return string */ private function getDefaultTab() { return 'rules'; } /** * Get available tabs * @return mixed */ private function getTabs() { // return $this->tabs; $tabs = apply_filters('advanced_woo_discount_rules_page_tabs', array( 'rules' => new DiscountRules(), 'settings' => new GeneralSettings(), 'statistics' => new Statistics(), 'compatible' => new Compatible(), 'importexport' => new ImportExport(), 'help' => new Help(), 'recipe' => new Recipe(), 'addons' => new Addons(), )); uasort($tabs, function ($tab1, $tab2) { $priority1 = (int)isset($tab1->priority) ? $tab1->priority : 1000; $priority2 = (int)isset($tab2->priority) ? $tab2->priority : 1000; if ($priority1 <= $priority2) { return -1; } else { return 1; } }); return $this->tabs = $tabs; } /** * Get active addons * @return mixed */ private static function getActiveAddons() { if (isset(self::$addons)) { return self::$addons; } return self::$addons = apply_filters('advanced_woo_discount_rules_page_addons', array()); } /** * Get active addons * @return mixed */ public static function getAvailableAddons() { if (isset(self::$addons_list)) { return self::$addons_list; } $addons = get_transient('awdr_addons_list'); if (empty($addons)) { $response = wp_remote_get(self::ADDONS_LIST_JSON_FILE_URL); if (!is_wp_error($response)) { $addons = (array) json_decode(wp_remote_retrieve_body($response), true); set_transient('awdr_addons_list', $addons, 24 * 60 * 60); } else { $addons = array(); } } if (!empty($addons)) { $active_plugins = apply_filters('active_plugins', get_option('active_plugins', array())); if (is_multisite()) { $active_plugins = array_merge($active_plugins, get_site_option('active_sitewide_plugins', array())); } $available_plugins = array_keys(get_plugins()); $active_addons = self::getActiveAddons(); foreach ($addons as $slug => $addon) { $addons[$slug]['page_url'] = self::parseAddonUrl(isset($addon['page_url']) ? $addon['page_url'] : '', $slug); $addons[$slug]['settings_url'] = self::parseAddonUrl(isset($addon['settings_url']) ? $addon['settings_url'] : '', $slug); $addons[$slug]['is_active'] = isset($active_addons[$slug]) || (!empty($addon["plugin_file"]) && in_array($addon["plugin_file"], $active_plugins)); $addons[$slug]['is_installed'] = !empty($addon["plugin_file"]) && in_array($addon["plugin_file"], $available_plugins); } } return self::$addons_list = $addons; } /** * Page addon url */ private static function parseAddonUrl($url, $slug) { if (empty($url)) { return $url; } $wdr_page_url = admin_url('admin.php?page=woo_discount_rules'); $addon_page_url = admin_url('admin.php?page=woo_discount_rules&tab=addons&addon=' . $slug); return str_replace(['{admin_page}', '{wdr_page}', '{addon_page}'], [admin_url(), $wdr_page_url, $addon_page_url], $url); } /** * get page action * @return mixed|string */ private function getPageTask() { return $this->input->get('task', ''); } /** * display the admin notices if our old plugin found */ function adminNotices() { if (defined('WOO_DISCOUNT_VERSION')) { echo '

' . __("We found that your were using our old \"Woo discount rules\" plugin, Please disable it!", 'woo-discount-rules') . '

'; } } /** * Add admin scripts * @param $hook */ public function adminScripts() { if ( !isset($_GET['page']) || $_GET['page'] != WDR_SLUG) { return; } $conig = new Configuration(); $minified_text = ''; $compress_css_and_js = $conig->getConfig('compress_css_and_js', 0); if($compress_css_and_js) $minified_text = '.min'; /** *Enqueue css */ wp_enqueue_style(WDR_SLUG . '-datetimepickercss', WDR_PLUGIN_URL . 'Assets/Css/jquery.datetimepicker.min.css', array(), WDR_VERSION); wp_enqueue_style(WDR_SLUG . '-admin', WDR_PLUGIN_URL . 'Assets/Css/admin_style'.$minified_text.'.css', array(), WDR_VERSION); wp_enqueue_style(WDR_SLUG . '-jquery-ui-css', WDR_PLUGIN_URL . 'Assets/Js/Jquery-ui/jquery-ui.min.css', array(), WDR_VERSION); wp_enqueue_style(WDR_SLUG . '-dragable-ui-css', WDR_PLUGIN_URL . 'Assets/Css/dragtable'.$minified_text.'.css', array(), WDR_VERSION); /** * Enqueue js */ if(apply_filters('advanced_woo_discount_rules_load_select_js', true)){ wp_enqueue_script('wdr-select2-js', self::$woocommerce_helper->getWooPluginUrl() . '/assets/js/select2/select2.full.min.js', array('jquery'), WDR_VERSION); wp_enqueue_script(WDR_SLUG . '-rulebuilder', WDR_PLUGIN_URL . 'Assets/Js/rulebuilder'.$minified_text.'.js', array('jquery', 'wdr-select2-js', WDR_SLUG . '-datetimepickerjs'), WDR_VERSION); } else { wp_enqueue_script(WDR_SLUG . '-rulebuilder', WDR_PLUGIN_URL . 'Assets/Js/rulebuilder'.$minified_text.'.js', array('jquery', WDR_SLUG . '-datetimepickerjs'), WDR_VERSION); } if(version_compare(getAWDRWooVersion(), '3.2.0', '<')){ wp_enqueue_script('selectWoo', WDR_PLUGIN_URL . 'Assets/Js/selectWoo.full.min.js', array('jquery'), WDR_VERSION); } wp_enqueue_style('wdr-select2-js', self::$woocommerce_helper->getWooPluginUrl() . '/assets/css/select2.css', array(), WDR_VERSION); wp_enqueue_script( 'woocommerce_admin' ); wp_enqueue_script( 'wc-enhanced-select' ); //To load woocommerce product select wp_enqueue_style( 'woocommerce_admin_styles' ); wp_enqueue_script(WDR_SLUG . '-jquery-ui', WDR_PLUGIN_URL . 'Assets/Js/Jquery-ui/jquery-ui.min.js', array('jquery'), WDR_VERSION); wp_enqueue_script(WDR_SLUG . '-datetimepickerjs', WDR_PLUGIN_URL . 'Assets/Js/jquery.datetimepicker.full.min.js', array('jquery'), WDR_VERSION); wp_enqueue_script(WDR_SLUG . '-moment', WDR_PLUGIN_URL . 'Assets/Js/moment.min.js', array('jquery'), WDR_VERSION); wp_register_script(WDR_SLUG . '-admin', WDR_PLUGIN_URL . 'Assets/Js/admin_script'.$minified_text.'.js', array(), WDR_VERSION); wp_register_script(WDR_SLUG . '-recipe', WDR_PLUGIN_URL . 'Assets/Js/awdr_recipe'.$minified_text.'.js', array(), WDR_VERSION); wp_enqueue_script(WDR_SLUG . '-admin'); wp_enqueue_script(WDR_SLUG . '-recipe'); wp_enqueue_script(WDR_SLUG . '-dragndraop-js', WDR_PLUGIN_URL . 'Assets/Js/jquery.dragtable'.$minified_text.'.js', array(), WDR_VERSION); if ( isset( $_REQUEST['tab'] ) AND $_REQUEST['tab'] == 'statistics' ) { wp_enqueue_script( 'google-charts-loader', 'https://www.gstatic.com/charts/loader.js', array(), WDR_VERSION ); wp_enqueue_script( WDR_SLUG.'-statistics', WDR_PLUGIN_URL . 'Assets/Js/admin-statistics'.$minified_text.'.js', array( 'jquery' ), WDR_VERSION ); } $preloaded_lists = array( 'payment_methods' => $this->getPaymentMethod(), 'countries' => $this->getCountries(), 'states' => $this->getStates(), 'user_roles' => $this->getUserRoles(), 'weekdays' => $this->getWeekDays(), 'site_languages' => $this->getSiteLanguages(), 'order_status' => $this->getWoocommerceOrderStatus(), 'banner_position' => $this->getBannerPosition(), ); $localization_data = $this->getLocalizationData(); $wdr_data = array( 'labels' => array( 'select2_no_results' => __('no results', 'woo-discount-rules'), 'placeholders' => __('Select Values', 'woo-discount-rules'), 'searching_text' => __('Searching…', 'woo-discount-rules'), ), 'lists' => $preloaded_lists, 'home_url' => home_url(), 'admin_url' => admin_url('admin.php?page=woo_discount_rules'), 'localization_data' => $localization_data, 'enable_subtotal_promo_text' => $conig->getConfig('show_subtotal_promotion', ''), 'enable_cart_quantity_promo_text' => $conig->getConfig('show_cart_quantity_promotion', ''), 'rule_id' => $this->input->get('task', 'create'), ); wp_localize_script(WDR_SLUG . '-admin', 'wdr_data', $wdr_data); //Remove UI Date picker which making conflict in some websites if(apply_filters('advanced_woo_discount_rules_dequeue_jquery_ui_datepicker_script', true)){ wp_dequeue_script( 'jquery-ui-datepicker' ); wp_deregister_script( 'jquery-ui-datepicker' ); wp_dequeue_script( 'jquery-datetimepicker' ); wp_deregister_script( 'jquery-datetimepicker' ); } } /** * Get Payment Gateway Methods from WC * @return array */ public function getPaymentMethod() { $payment_gateways = self::$woocommerce_helper->getPaymentMethodList(); $result = array(); foreach ($payment_gateways as $payment_gateway) { $result[] = array( 'id' => $payment_gateway->id, 'text' => $payment_gateway->title, ); } return array_values($result); } /** * get countries from WC * @return array */ public function getCountries() { $countries = self::$woocommerce_helper->getCountriesList(); $result = array_map(function ($id, $text) { return array( 'id' => $id, 'text' => $text, ); }, array_keys($countries), $countries); return array_values($result); } /** * get States from WC * @return array */ public function getStates() { $country_states = self::$woocommerce_helper->getStatesList(); $result = array(); foreach ($country_states as $states) { foreach ($states as $id => $text) { $result[] = array( 'id' => $id, 'text' => $text, ); } } return $result; } /** * get user roles * @return array */ public function getUserRoles() { $all_roles = self::$woocommerce_helper->getUserRolesList(); $result = array_map(function ($id, $role) { return array( 'id' => (string)$id, 'text' => $role['name'], ); }, array_keys($all_roles), $all_roles); $result[] = array( 'id' => 'woo_discount_rules_guest', 'text' => esc_html__('Guest', 'woo-discount-rules'), ); return array_values($result); } /** * get users nickname * @param $ids * @return array */ /* public function getUsers($ids) { $users = get_users(array( 'fields' => array('ID', 'user_nicename'), 'include' => $ids, 'orderby' => 'user_nicename', )); return array_map(function ($user) { return array( 'id' => (string)$user->ID, 'text' => $user->user_nicename, ); }, $users); }*/ /** * Build week days * @return array */ public function getWeekDays() { $result = self::$woocommerce_helper->getWeekDaysList(); $days_array = array(); foreach ($result as $day_key => $day) { $days_array[] = array( 'id' => $day_key, 'text' => $day, ); } return $days_array; } /** * Build week days * @return array */ public function getBannerPosition() { $result = self::$woocommerce_helper->getBannerPositionList(); $banner_position_array = array(); foreach ($result as $position_key => $position) { $banner_position_array[] = array( 'id' => $position_key, 'text' => $position, ); } return $banner_position_array; } /** * Build week days * @return array */ public function getSiteLanguages() { $language_helper = new Language(); $available_languages = $language_helper::getAvailableLanguages(); $processed_languages = array(); if (!empty($available_languages)) { foreach ($available_languages as $key => $lang) { $native_name = isset($lang['native_name']) ? $lang['native_name'] : NULL; $processed_languages[] = array( 'id' => $key, 'text' => $native_name, ); } } else { $default_language = $language_helper->getDefaultLanguage(); $processed_languages[$default_language] = $language_helper->getLanguageLabel($default_language); $processed_languages[] = array( 'id' => $default_language, 'text' => $language_helper->getLanguageLabel($default_language), ); } return $processed_languages; } /** * get woocommerce order status * @return array */ public function getWoocommerceOrderStatus() { $order_status = self::$woocommerce_helper->getOrderStatusList(); $result = array_map(function ($id, $status) { return array( 'id' => $id, 'text' => $status, ); }, array_keys($order_status), $order_status); return array_values($result); } /** * Get localisation script */ protected function getLocalizationData() { return array( 'disable' => esc_html__('Disable', 'woo-discount-rules'), 'active' => esc_html__('Active', 'woo-discount-rules'), 'enable' => esc_html__('Enable', 'woo-discount-rules'), 'running' => esc_html__(' - (Running)', 'woo-discount-rules'), 'error' => esc_html__('Oops!! something went wrong!', 'woo-discount-rules'), 'duplicate_rule' => esc_html__('Rule duplicated successfully!', 'woo-discount-rules'), 'deleted_rule' => esc_html__('Rule deleted successfully!', 'woo-discount-rules'), 'delete_confirm' => esc_html__('Are you sure want to delete this rule!', 'woo-discount-rules'), 'disabled_rule' => esc_html__('Rule disabled successfully!', 'woo-discount-rules'), 'enabled_rule' => esc_html__('Rule enabled successfully!', 'woo-discount-rules'), 'save_rule' => esc_html__('Rule saved successfully!', 'woo-discount-rules'), 'save_settings' => esc_html__('Settings saved successfully!', 'woo-discount-rules'), 'save_priority' => esc_html__('Rule priority changed successfully!', 'woo-discount-rules'), 'priority_not_saved' => esc_html__('Rule priority not changed !', 'woo-discount-rules'), 'chart_data' => esc_html__('No data for this period', 'woo-discount-rules'), 'coupon_exists' => esc_html__('Oops! Coupon already exists in Woocommerce', 'woo-discount-rules'), 'copied' => esc_html__('Copied!', 'woo-discount-rules'), 'copy_shortcode' => esc_html__('Copy ShortCode', 'woo-discount-rules'), 'recursive_warning' => esc_html__('If you make this recursive other row(s) will be removed!', 'woo-discount-rules'), 'recursive_qty' => esc_html__('Quantity', 'woo-discount-rules'), 'recursive_min_qty' => esc_html__('Minimum Quantity', 'woo-discount-rules'), 'buyx_getx_value' => esc_html__('Discount value', 'woo-discount-rules'), 'buyx_getx_percentage' => esc_html__('Discount percentage', 'woo-discount-rules'), 'bogo_buyx_gety_filter_heading' => esc_html__('Filter (Buy)', 'woo-discount-rules'), 'common_filter_heading' => esc_html__('Filter', 'woo-discount-rules'), 'common_filter_description' => __('

Choose what gets discount (products/categories/attributes/SKU and so on )

Note : You can also exclude products/categories.

', 'woo-discount-rules'), 'common_discount_heading' => esc_html__('Discount', 'woo-discount-rules'), 'two_column_bulk_discount_heading' => __('Discount - Read Docs', 'woo-discount-rules'), 'two_column_set_discount_heading' => __('Discount - Read Docs', 'woo-discount-rules'), 'two_column_bxgy_discount_heading' => __('Discount - Read Docs', 'woo-discount-rules'), 'two_column_bxgx_discount_heading' => __('Discount - Read Docs', 'woo-discount-rules'), 'common_discount_description' => __('

Select discount type and its value (percentage/price/fixed price)

', 'woo-discount-rules'), 'bulk_filter_together_discount_description' => __('

Select discount type and its value (percentage/price/fixed price)

Filter set above :

This will count the quantities of products set in the “Filter” section.

Example: If you selected a few categories there, it will count the quantities of products in those categories added in cart. If you selected a few products in the filters section, then it will count the quantities together.

Example: Let’s say, you wanted to offer a Bulk Quantity discount for Category A and chosen Category A in the filters. So when a customer adds 1 quantity each of X, Y and Z from Category A, then the count here is 3.

', 'woo-discount-rules'), 'bulk_filter_together_discount_description_tool_tip' => Helper::bogoToolTipDescriptionForFilterTogether(), 'bulk_individual_product_discount_description' => __('

Select discount type and its value (percentage/price/fixed price)

Individual Product :

This counts the total quantity of each product / line item separately.

Example: If a customer wanted to buy 2 quantities of Product A, 3 quantities of Product B, then count will be maintained at the product level.

2 - count of Product A
3 - Count of Product B

In case of variable products, the count will be based on each variant because WooCommerce considers a variant as a product itself.

', 'woo-discount-rules'), 'bulk_individual_product_discount_description_tool_tip' => Helper::bogoToolTipDescriptionForIndividualProduct(), 'bulk_variants_discount_description' => __('

Select discount type and its value (percentage/price/fixed price)

All variants in each product together :

Useful when applying discounts based on variable products and you want the quantity to be counted based on the parent product.

Example: Say, you have Product A - Small, Medium, Large. If a customer buys 2 of Product A - Small, 4 of Product A - Medium, 6 of Product A - Large, then the count will be: 6+4+2 = 12

', 'woo-discount-rules'), 'bulk_variants_discount_description_tool_tip' => Helper::bogoToolTipDescriptionForvariants(), 'common_rules_heading' => esc_html__('Rules (optional)', 'woo-discount-rules'), 'common_rules_description' => Helper::ruleConditionDescription(), 'bogo_buyx_gety_filter_description' => __('

Choose Buy Products. (products/categories/attributes/tags/sku) Example : For Buy X get Y scenarios, choose X here.

', 'woo-discount-rules'), 'bogo_buyx_getx_filter_description' => __('

Choose on which products the discount should be applied (This can be products/categories/SKU)

', 'woo-discount-rules'), 'bogo_buyx_getx_discount_heading' => esc_html__('Get Discount', 'woo-discount-rules'), 'bogo_buyx_getx_discount_content' => __('

Enter the min/max ranges and choose free item quantity.

Note : Enable recursive checkbox if the discounts should be applied in sequential ranges.

Example : Buy 1 get 1, Buy 2 get 2, Buy 3 get 3 and so on..

', 'woo-discount-rules'), 'bogo_buyx_gety_discount_heading' => esc_html__('Get Discount', 'woo-discount-rules'), 'bogo_buyx_gety_discount_content' => __('

Choose the adjustment type to which the discount should be applied. You can choose from products/categories/all products.

Note : Enable recursive checkbox if the discounts should be applied in sequential ranges.

', 'woo-discount-rules'), 'bogo_buyx_gety_discount_content_for_product' => __('

Discount will be applied only the selected products (based on mode of apply)

Note : Enable recursive checkbox if the discounts should be applied in sequential ranges.

', 'woo-discount-rules'), 'bogo_buyx_gety_discount_content_for_category' => __('

Discount will be applied only the selected categories (based on mode of apply)

Note : Enable recursive checkbox if the discounts should be applied in sequential ranges.

Example ranges:

Buy 2, get 1 free (a.k.a: Buy 1 get 1 free)

Min quantityMax quantityFree quantity
231
452
', 'woo-discount-rules'), 'bogo_buyx_gety_discount_content_for_all' => __('

Discount applies on the cheapest/highest priced product IN CART.

Note : Enable recursive checkbox if the discounts should be applied in sequential ranges.

Example ranges:

Buy 2, get 1 free (a.k.a: Buy 1 get 1 free)

Min quantityMax quantityFree quantity
231
452
', 'woo-discount-rules'), /*'bogo_buyx_getx_rules_description' => Helper::ruleConditionDescription(), 'bogo_buyx_gety_rules_description' => Helper::ruleConditionDescription(),*/ 'processing_migration_text' => __('

Processing migration, please wait...

', 'woo-discount-rules'), 'processing_migration_success_message' => __('

Migration completed.

', 'woo-discount-rules'), 'skip_migration_success_message' => __('

Migration skipped.

', 'woo-discount-rules'), 'skip_migration_text' => __('

Skipping migration, please wait...

', 'woo-discount-rules'), 'mode_variation_cumulative_example' => __('Example: Product A - Small and Product A - Medium will be counted as 2 quantity', 'woo-discount-rules'), 'filter_all_products' => __('Discount applies to all eligible products in the store', 'woo-discount-rules'), 'filter_products' => __('Choose products that get the discount using "In List". If you want to exclude a few products, choose "Not In List" and select the products you wanted to exclude from discount. (You can add multiple filters)', 'woo-discount-rules'), 'filter_Category' => __('Choose categories that get the discount using "In List". If you want to exclude a few categories, choose "Not In List" and select the categories you wanted to exclude from discount. (You can add multiple filters of same type)', 'woo-discount-rules'), 'filter_Attributes' => __(' Choose attributes that get the discount using "In List". If you want to exclude a few attributes, choose "Not In List" and select the attributes you wanted to exclude from discount. (You can add multiple filters of same type)', 'woo-discount-rules'), 'filter_Tags' => __('Choose tags that get the discount using "In List". If you want to exclude a few tags, choose "Not In List" and select the tags you wanted to exclude from discount. (You can add multiple filters of same type)', 'woo-discount-rules'), 'filter_SKUs' => __('Choose SKUs that get the discount using "In List". If you want to exclude a few SKUs, choose "Not In List" and select the SKUs you wanted to exclude from discount. (You can add multiple filters of same type)', 'woo-discount-rules'), 'filter_On_sale_products' => __('Choose whether you want to include (or exclude) products on sale (those having a sale price) for the discount ', 'woo-discount-rules'), 'filter_custom_taxonomies' => __('Discount applies to custom taxonomy', 'woo-discount-rules'), 'rebuild_on_sale_list_build_text' => __('Rebuild index', 'woo-discount-rules'), 'rebuild_on_sale_list_processing_text' => __('Processing please wait..', 'woo-discount-rules'), 'rebuild_on_sale_list_processed_text' => __('Rebuild index processed', 'woo-discount-rules'), 'rebuild_on_sale_list_error_please_select_rule' => __('Please select the rules to build index', 'woo-discount-rules'), 'invalid_file_type' => __("Invalid File. Upload : .csv File.
", 'woo-discount-rules'), 'invalid_rule_limit' => __("This rule is not running currently: Rule reached maximum usage limit", 'woo-discount-rules'), 'invalid_rule_limit_with_date_future' => __("This rule is not running currently: Start date and time is set in the future date", 'woo-discount-rules'), 'invalid_rule_limit_with_date_expire' => __("This rule is not running currently: Validity expired", 'woo-discount-rules'), 'select_state' => __("Select State", 'woo-discount-rules'), 'coupon_url_copy' => __("Copy URL", 'woo-discount-rules'), 'coupon_url_copied' => __("Copied!", 'woo-discount-rules'), 'coupon_url_success' => __("Coupon url copied!", 'woo-discount-rules'), ); } }