/** * @deprecated */ function user_job_package_is_valid($user_id, $package_id) { return wc_paid_listings_package_is_valid($user_id, $package_id); }
/** * Validate package * @param int $package_id * @param bool $is_user_package * @return bool|WP_Error */ private static function validate_package($package_id, $is_user_package) { if (empty($package_id)) { return new WP_Error('error', __('Invalid Package', 'wp-job-manager-wc-paid-listings')); } elseif ($is_user_package) { if (!wc_paid_listings_package_is_valid(get_current_user_id(), $package_id)) { return new WP_Error('error', __('Invalid Package', 'wp-job-manager-wc-paid-listings')); } } else { $package = wc_get_product($package_id); if (!$package->is_type('job_package') && !$package->is_type('job_package_subscription')) { return new WP_Error('error', __('Invalid Package', 'wp-job-manager-wc-paid-listings')); } // Don't let them buy the same subscription twice if the subscription is for the package if (class_exists('WC_Subscriptions') && is_user_logged_in() && $package->is_type('job_package_subscription') && 'package' === $package->package_subscription_type) { $user_subscriptions = WC_Subscriptions_Manager::get_users_subscriptions(get_current_user_id()); foreach ($user_subscriptions as $user_subscription) { if ($user_subscription['product_id'] == $package_id) { return new WP_Error('error', __('You already have this subscription.', 'wp-job-manager-wc-paid-listings')); } } } } return true; }