<?php/** * Variable product add to cart * * @version     3.0.0 */if ( ! defined( 'ABSPATH' ) ) {    exit;}global $product, $post;$porto_woo_version = porto_get_woo_version_number();$attribute_keys = array_keys( $attributes );do_action( 'woocommerce_before_add_to_cart_form' ); ?><form class="variations_form cart" method="post" enctype='multipart/form-data' data-product_id="<?php echo absint( $product->get_id() ); ?>" data-product_variations="<?php echo htmlspecialchars( wp_json_encode( $available_variations ) ) ?>">    <?php do_action( 'woocommerce_before_variations_form' ); ?>    <?php if ( empty( $available_variations ) && false !== $available_variations ) : ?>        <p class="stock out-of-stock"><?php _e( 'This product is currently out of stock and unavailable.', 'woocommerce' ); ?></p>    <?php else : ?>		<table class="variations" cellspacing="0">			<tbody>				<?php $loop = 0; foreach ( $attributes as $attribute_name => $options ) : $loop++; ?>					<tr>						<td class="label"><label for="<?php echo sanitize_title($attribute_name); ?>"><?php echo wc_attribute_label( $attribute_name ); ?></label></td>                        <?php if ( version_compare($porto_woo_version, '2.4', '<')) : ?>						    <td class="value"><select id="<?php echo esc_attr( sanitize_title( $attribute_name ) ); ?>" name="attribute_<?php echo sanitize_title( $attribute_name ); ?>" data-attribute_name="attribute_<?php echo sanitize_title( $attribute_name ); ?>">							    <option value=""><?php echo __( 'Choose an option', 'woocommerce' ) ?>&hellip;</option>							    <?php								    if ( is_array( $options ) ) {	    								if ( isset( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) ) {		    								$selected_value = $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ];			    						} elseif ( isset( $selected_attributes[ sanitize_title( $attribute_name ) ] ) ) {				    						$selected_value = $selected_attributes[ sanitize_title( $attribute_name ) ];					    				} else {						    				$selected_value = '';							    		}                                        if ( taxonomy_exists( $attribute_name ) ) {                                            $terms = wc_get_product_terms( $post->ID, $attribute_name, array( 'fields' => 'all' ) );                                            foreach ( $terms as $term ) {                                                if ( ! in_array( $term->slug, $options ) ) {                                                    continue;                                                }                                                echo '<option value="' . esc_attr( $term->slug ) . '" ' . selected( sanitize_title( $selected_value ), sanitize_title( $term->slug ), false ) . '>' . apply_filters( 'woocommerce_variation_option_name', $term->name ) . '</option>';                                            }                                        } else {                                            foreach ( $options as $option ) {                                                echo '<option value="' . esc_attr( sanitize_title( $option ) ) . '" ' . selected( sanitize_title( $selected_value ), sanitize_title( $option ), false ) . '>' . esc_html( apply_filters( 'woocommerce_variation_option_name', $option ) ) . '</option>';                                            }                                        }		    						}			    				?>				    		</select> <?php					    		if ( sizeof( $attributes ) === $loop ) {						    		echo '<a class="reset_variations" href="#reset">' . __( 'Clear selection', 'woocommerce' ) . '</a>';                                }						    ?></td>					    <?php else: ?>                            <td class="value">                                <?php                                $selected = isset( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) ? wc_clean( stripslashes( urldecode( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) ) ) : $product->get_variation_default_attribute( $attribute_name );								wc_dropdown_variation_attribute_options( array( 'options' => $options, 'attribute' => $attribute_name, 'product' => $product, 'selected' => $selected ) );								echo end( $attribute_keys ) === $attribute_name ? apply_filters( 'woocommerce_reset_variations_link', '<a class="reset_variations" href="#">' . esc_html__( 'Clear', 'woocommerce' ) . '</a>' ) : '';                                ?>                            </td>                        <?php endif; ?>                    </tr>		        <?php endforeach;?>			</tbody>		</table>		<?php do_action( 'woocommerce_before_add_to_cart_button' ); ?>		<div class="single_variation_wrap"<?php if ( version_compare($porto_woo_version, '2.5', '<')) : ?> style="display:none;"<?php endif ?>>			<?php            /**             * woocommerce_before_single_variation Hook.             */            do_action( 'woocommerce_before_single_variation' ); ?>            <?php if ( version_compare($porto_woo_version, '2.4', '<')) : ?>                <div class="single_variation"></div>                <?php                // hide add to cart button in catalog mode                $show_cart_button = true;                if (isset($porto_settings['catalog-enable']) && $porto_settings['catalog-enable']) {                    if ($porto_settings['catalog-admin'] || (!$porto_settings['catalog-admin'] && !(current_user_can( 'administrator' ) && is_user_logged_in())) ) {                        if (!$porto_settings['catalog-cart']) {                            $show_cart_button = false;                        }                    }                }                if ($show_cart_button) :                ?>                <div class="variations_button">                    <?php woocommerce_quantity_input( array(                        'input_value' => ( isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : 1 )                    ) ); ?>                    <button type="submit" class="single_add_to_cart_button button alt"><?php echo $product->single_add_to_cart_text(); ?></button>                </div>                <?php endif; ?>                <input type="hidden" name="add-to-cart" value="<?php echo $product->get_id(); ?>" />                <input type="hidden" name="product_id" value="<?php echo esc_attr( $post->ID ); ?>" />                <input type="hidden" name="variation_id" class="variation_id" value="" />            <?php else : ?>                <?php                /**                 * woocommerce_single_variation hook. Used to output the cart button and placeholder for variation data.                 * @since 2.4.0                 * @hooked woocommerce_single_variation - 10 Empty div for variation data.                 * @hooked woocommerce_single_variation_add_to_cart_button - 20 Qty and cart button.                 */                do_action( 'woocommerce_single_variation' );                ?>            <?php endif; ?>            <?php            /**             * woocommerce_after_single_variation Hook.             */            do_action( 'woocommerce_after_single_variation' );            ?>		</div>		<?php do_action( 'woocommerce_after_add_to_cart_button' ); ?>	<?php endif; ?>    <?php do_action( 'woocommerce_after_variations_form' ); ?></form><?phpdo_action( 'woocommerce_after_add_to_cart_form' );