/** * Get variant limit value for a product. * * @param \ITELIC\Product $product * * @return array|string */ protected function get_variant_limit_for_product(\ITELIC\Product $product) { if (!function_exists('it_exchange_variants_addon_get_product_feature_controller')) { return 'disabled'; } $c = it_exchange_variants_addon_get_product_feature_controller($product->ID, 'base-price', array('setting' => 'variants')); $hashes = $product->get_feature('licensing', array('field' => 'activation_variant')); $return = array(); foreach ($c->post_meta as $hash => $variant) { $limit = empty($hashes[$hash]) ? 'Unlimited' : $hashes[$hash]; $return[] = array('combo' => $variant['combos_title'], 'limit' => $limit, 'hash' => $hash); } return $return; }
/** * Get the variants controller. * * @since 1.0 * * @param $product_id int * * @return \IT_Exchange_Variants_Addon_Product_Feature_Combos|null */ protected function get_variants_controller($product_id) { if (function_exists('it_exchange_variants_addon_get_product_feature_controller')) { $controller = it_exchange_variants_addon_get_product_feature_controller($product_id, '', array('setting' => 'variants')); $controller->set_all_variant_combos_for_product(false); } else { $controller = null; } return $controller; }
/** * Get the variants controller. * * @since 1.0 * * @param $product_id int * * @return \IT_Exchange_Variants_Addon_Product_Feature_Combos|null */ protected function get_variants_controller($product_id) { if (function_exists('it_exchange_variants_addon_get_product_feature_controller')) { $controller = it_exchange_variants_addon_get_product_feature_controller($product_id, 'base-price', array('setting' => 'variants')); } else { $controller = null; } return $controller; }
/** * Get the variant title. * * @since 1.0 * * @return string */ public function get_variant_title() { if (!$this->has_variant()) { return ''; } $controller = it_exchange_variants_addon_get_product_feature_controller($this->get_product()->ID, 'base-price', array('setting' => 'variants')); return $controller->post_meta[$this->get_upgrade_variant_hash()]['combos_title']; }