HEX
Server: Apache
System: Linux sg2plmcpnl492417.prod.sin2.secureserver.net 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64
User: nyiet8349bzl (9207396)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/nyiet8349bzl/public_html/ducoa.org/wp-content/plugins/dustrial-master/inc/helper.php
<?php

if ( ! defined( 'ABSPATH' ) ) exit;

/*------------------------------------------------------------------------------------------------------------------*/
/*  Eventa Socials Share Buttons
/*------------------------------------------------------------------------------------------------------------------*/ 
add_action('dustrial_social_share_media', 'dustrial_social_share_media_btns');
function dustrial_social_share_media_btns() {
?>
<!-- Socials Share Button
============================================= -->

    <div class="col-md-6 p-0 mb-4 mb-xl-0">    
        <div class="block social-media d-flex justify-content-lg-right  justify-content-lg-end">
            <a class="ct-twitter d-flex justify-content-center align-items-center" href="http://twitter.com/home?status=Reading: <?php the_permalink(); ?>" target="_blank"><i class="fa fa-twitter" aria-hidden="true"></i></a>
            <a class="ct-facebook d-flex justify-content-center align-items-center" href="http://www.facebook.com/sharer.php?u=<?php the_permalink();?>&amp;t=<?php the_title(); ?>" onclick="window.open(this.href); return false;"><i class="fa fa-facebook" aria-hidden="true"></i></a>
            <a class="ct-instagram d-flex justify-content-center align-items-center" href="https://plus.google.com/share?url=http://developers.google.com/%2B/" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,height=600,width=600');return false;"><i class="fa fa-google-plus" aria-hidden="true"></i></a>
        </div><!-- End block -->
    </div><!-- end Col -->

<?php }

/*------------------------------------------------------------------------------------------------------------------*/
/* Set post views count using post meta
/*------------------------------------------------------------------------------------------------------------------*/ 

//Set the Post Custom Field in the WP dashboard as Name/Value pair 
function dustrial_PostViews($post_ID) {
 
    //Set the name of the Posts Custom Field.
    $count_key = 'post_views_count'; 
     
    //Returns values of the custom field with the specified key from the specified post.
    $count = get_post_meta($post_ID, $count_key, true);
     
    //If the the Post Custom Field value is empty. 
    if($count == ''){
        $count = 0; // set the counter to zero.
         
        //Delete all custom fields with the specified key from the specified post. 
        delete_post_meta($post_ID, $count_key);
         
        //Add a custom (meta) field (Name/value)to the specified post.
        add_post_meta($post_ID, $count_key, '0');
        return $count;
     
    //If the the Post Custom Field value is NOT empty.
    } else {
        $count++; //increment the counter by 1.
        //Update the value of an existing meta key (custom field) for the specified post.
        update_post_meta($post_ID, $count_key, $count);
         
        //If statement, is just to have the singular form 'View' for the value '1'
        if($count == '1'){
        return $count;
        }
        //In all other cases return (count) Views
        else {
        return $count;
        }
    }
}


/*------------------------------------------------------------------------------------------------------------------*/
/* View column in dashboar post screen
/*------------------------------------------------------------------------------------------------------------------*/ 

/**
 * Get the view count for a post.
 */
function dustrial_get_post_views( $post_id ) {
    $count_key = 'post_views_count';
    $count     = get_post_meta( $post_id, $count_key, true );
    return $count ? intval( $count ) : 0;
}


/**
 * Add custom columns to 'post' list.
 */
function dustrial_add_custom_columns( $columns ) {
    // Make sure we only add the custom columns for the default `post` type
    if ( 'post' === get_post_type() ) {
        $new_columns = array();

        // Keep the default checkbox column
        $new_columns['cb']             = $columns['cb'];
        $new_columns['title']          = __( 'Title', 'dustrial-master' );
        $new_columns['thumbnail']      = __( 'Thumbnail', 'dustrial-master' );
        $new_columns['author']         = __( 'Author', 'dustrial-master' );
        $new_columns['categories']     = __( 'Categories', 'dustrial-master' );
        $new_columns['tags']           = __( 'Tags', 'dustrial-master' );
        $new_columns['post_views']     = __( 'Views', 'dustrial-master' );
        $new_columns['date']           = __( 'Date', 'dustrial-master' );

        return $new_columns;
    }

    return $columns; // No changes for other post types
}

add_filter( 'manage_post_posts_columns', 'dustrial_add_custom_columns' );

/**
 * Populate custom column content for 'post' type.
 */
function dustrial_render_custom_columns( $column, $post_id ) {
    if ( 'post' !== get_post_type( $post_id ) ) {
        return; // Exit early for other post types
    }

    switch ( $column ) {
        case 'thumbnail':
            if ( has_post_thumbnail( $post_id ) ) {
                echo get_the_post_thumbnail( $post_id, array( 50, 50 ) );
            } else {
                echo '—';
            }
            break;

        case 'post_views':
            $views = get_post_meta( $post_id, 'post_views_count', true );
            echo esc_html( $views ? $views : 0 );
            break;

        case 'categories':
            $terms = get_the_term_list( $post_id, 'category', '', ', ' );
            echo $terms ? $terms : '—';
            break;

        case 'tags':
            $tags = get_the_term_list( $post_id, 'post_tag', '', ', ' );
            echo $tags ? $tags : '—';
            break;
    }
}
add_filter( 'manage_post_posts_columns', 'dustrial_add_custom_columns' );
add_action( 'manage_post_posts_custom_column', 'dustrial_render_custom_columns', 10, 2 );


/**
 * Add custom columns to 'team' 'testimonial' list.
 */
function dustrial_team_add_custom_columns( $columns ) {
    // Make sure we only add the custom columns for the default `team` type
    if ( in_array( get_post_type(), ['team', 'testimonial'] ) ) {
        $new_columns = array();

        // Keep the default checkbox column
        $new_columns['cb']             = $columns['cb'];
        $new_columns['title']          = __( 'Title', 'dustrial-master' );
        $new_columns['thumbnail']      = __( 'Thumbnail', 'dustrial-master' );
        $new_columns['author']         = __( 'Author', 'dustrial-master' );
        $new_columns['date']           = __( 'Date', 'dustrial-master' );

        return $new_columns;
    }

    return $columns; // No changes for other post types
}

add_filter( 'manage_team_posts_columns', 'dustrial_team_add_custom_columns' );
add_filter( 'manage_testimonial_posts_columns', 'dustrial_team_add_custom_columns' );

/**
 * Populate custom column content for 'team' or 'testimonial' type.
 */
function dustrial_team_render_custom_columns( $column, $post_id ) {
    // Check if the current post type is 'team' or 'testimonial'
    if ( in_array( get_post_type( $post_id ), ['team', 'testimonial'] ) ) {

        switch ( $column ) {
            case 'thumbnail':
                if ( has_post_thumbnail( $post_id ) ) {
                    echo get_the_post_thumbnail( $post_id, array( 50, 50 ) );
                } else {
                    echo '—';
                }
                break;
        }
    }
}
add_action( 'manage_team_posts_custom_column', 'dustrial_team_render_custom_columns', 10, 2 );
add_action( 'manage_testimonial_posts_custom_column', 'dustrial_team_render_custom_columns', 10, 2 );


/*------------------------------------------------------------------------------------------------------------------*/
/*  Scroll to code
/*------------------------------------------------------------------------------------------------------------------*/
function dustrial_scroll_to_top() {  ?>
<!-- scroll-to-top -->
<div class="scroll-to-top">
    <i class="fa fa-angle-double-up" aria-hidden="true"></i>
</div>
<?php 
}
add_action('dustrial_scrollup', 'dustrial_scroll_to_top');


/*------------------------------------------------------------------------------------------------------------------*/
/*  W3C validator passing code
/*------------------------------------------------------------------------------------------------------------------*/
add_action( 'template_redirect', function(){
    ob_start( function( $buffer ){
        $buffer = str_replace( array( '<script type="text/javascript">', "<script type='text/javascript'>" ), '<script>', $buffer );
        return $buffer;
    });
});
add_action( 'template_redirect', function(){
    ob_start( function( $buffer ){
        $buffer = str_replace( array( "<script type='text/javascript' src" ), '<script src', $buffer );
        return $buffer;
    });
});
add_action( 'template_redirect', function(){
    ob_start( function( $buffer ){
        $buffer2 = str_replace( array( 'type="text/css"', "type='text/css'" ), '', $buffer );
        return $buffer2;
    });
});


/*------------------------------------------------------------------------------------------------------------------*/
/*  Inline Style code
/*------------------------------------------------------------------------------------------------------------------*/
global $all_inline_styles;
$all_inline_styles = array();
if( ! function_exists( 'add_inline_style' ) ) {
  function add_inline_style( $style ) {
    global $all_inline_styles;
    array_push( $all_inline_styles, $style );
  }
}

/* Enqueue Inline Styles */
if ( ! function_exists( 'dustrial_enqueue_inline_styles' ) ) {
  function dustrial_enqueue_inline_styles() {

    global $all_inline_styles;

    if ( ! empty( $all_inline_styles ) ) {
      echo '<style id="dustrial-inline-style">'. join( '', $all_inline_styles ) .'</style>';
    }

  }
  add_action( 'wp_footer', 'dustrial_enqueue_inline_styles' );
}


/*------------------------------------------------------------------------------------------------------------------*/
/* Remove VC animate css file
/*------------------------------------------------------------------------------------------------------------------*/ 

add_action( 'wp_enqueue_scripts', 'remove_default_stylesheet', 20 );
function remove_default_stylesheet() {
    wp_deregister_style( 'animate-css' );
}

function dustrialWooCart(){
    ob_start();
    if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
        do_action( 'dustrial_woo_cart_icon' );
    }
    $woo_cart_out = ob_get_clean();
    
    $woo_cart_out = '<ul class="nav"><li class="menu-item dropdown mini-cart-items">'. $woo_cart_out ."</li></ul>";
    
    return $woo_cart_out;
}


/**
 * Add Cart icon and count to header if WC is active
 */
function dustrial_cart_items(){
    $empty_cart = '<li class="cart-item"><p class="text-center no-cart-items">'. apply_filters( 'dustrial_woo_mini_cart_empty', esc_html__('No items in cart', 'dustrial-master') ) .'</p></li>';
    if ( WC()->cart->get_cart_contents_count() == 0 ) return $empty_cart;
    ob_start();
    
    $shop_page_url = get_permalink( wc_get_page_id( 'cart' ) );
    $remove_loader = apply_filters('woo_mini_cart_loader', DUSTRIAL_PLG_URL . 'assets/imgs/cart-remove.gif');
        foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        ?>
            <li class="cart-item">
            <?php
                $_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
                $product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
                if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
                    $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
            ?>
                <div class="product-thumbnail">
                    <?php
                        $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
                        if ( ! $product_permalink ) {
                            echo ( ''. $thumbnail );
                        } else {
                            printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail );
                        }
                    ?>
                    <span class="remove-item-overlay text-center"><img src="<?php echo esc_url($remove_loader); ?>" alt="<?php esc_attr_e('Loader..', 'dustrial-master') ?>" /></span>
                </div>
                <div class="product-name" data-title="<?php esc_attr_e( 'Product', 'dustrial-master' ); ?>">
                    <?php echo apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_title() ), $cart_item, $cart_item_key ); ?>
                    <p>
                        <span><?php echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); ?> &#9747; <?php echo esc_attr( $cart_item['quantity'] ); ?></span>
                    </p>
                </div>
                <div class="product-remove">
                    <?php
                        echo 
                        sprintf(
                            '<a href="%s" class="remove-cart-item" title="%s" data-product_id="%s" data-product_sku="%s" data-url="%s"><i class="fa fa-trash"></i></a>',
                            esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
                            __( 'Remove this item', 'dustrial-master' ),
                            esc_attr( $product_id ),
                            esc_attr( $_product->get_sku() ),
                            esc_url($remove_loader)
                        );
                    ?>
                </div>
            <?php
                }//if
            ?>
            </li>
            <?php
            }//foreach
        ?>
    <li class="text-center mini-view-cart"><a href="<?php echo esc_url( $shop_page_url ); ?>" title="<?php esc_attr_e('Cart', 'dustrial-master'); ?>"><?php esc_html_e('View Cart', 'dustrial-master'); ?></a></li>
    <?php 
    $out = ob_get_clean();
    return $out;
}


function dustrial_wc_cart_count() {
 
    if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
 
        $count = WC()->cart->cart_contents_count;
        $cart_link = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : $woocommerce->cart->get_cart_url();
        ?>
        <a class="cart-contents" href="<?php echo esc_url( $cart_link ); ?>" title="<?php esc_attr_e( 'View your shopping cart', 'dustrial-master' ); ?>"><i class="fa fa-cart-arrow-down"></i> <?php if ( $count > 0 ) echo '(' . $count . ')'; ?></a>
        <ul class="dropdown-menu cart-dropdown-menu">
        <?php
            echo ( dustrial_cart_items() );
        ?>
        </ul>
        <?php
    }
}
add_action( 'dustrial_woo_cart_icon', 'dustrial_wc_cart_count' ); 

/**
 * Ensure cart contents update when products are added to the cart via AJAX
 */
function dustrial_header_add_to_cart_fragment( $fragments ) {
    ob_start();
    $count = WC()->cart->cart_contents_count;
    $cart_link = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : $woocommerce->cart->get_cart_url();
    ?>
        <li class="menu-item dropdown mini-cart-items">
            <a class="cart-contents" href="<?php echo esc_url( $cart_link ); ?>" title="<?php esc_attr_e( 'View your shopping cart', 'dustrial-master' ); ?>"><i class="fa fa-cart-arrow-down"></i> <?php if ( $count > 0 ) echo '(' . $count . ')'; ?></a>
            <ul class="dropdown-menu cart-dropdown-menu">
            <?php
            echo ( dustrial_cart_items() );
            ?>
            </ul>
        </li>
    <?php
    $fragments['li.mini-cart-items'] = ob_get_clean();
     
    return $fragments;
}
add_filter( 'woocommerce_add_to_cart_fragments', 'dustrial_header_add_to_cart_fragment' );


function dustrial_wc_cart_ajax() {
    $output = '';
    if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
        $count = WC()->cart->cart_contents_count;
        $cart_link = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : $woocommerce->cart->get_cart_url();
        ob_start();
        ?>
        <a class="cart-contents" href="<?php echo esc_url( $cart_link ); ?>" title="<?php esc_attr_e( 'View your shopping cart', 'dustrial-master' ); ?>"><i class="fa fa-cart-arrow-down"></i> <?php if ( $count > 0 ) echo '(' . $count . ')'; ?></a>
        <ul class="dropdown-menu cart-dropdown-menu">
        <?php
            echo ( dustrial_cart_items() );
        ?>
        </ul>
        <?php
        $output = ob_get_clean();
    }
    return  $output;
}

add_action( 'wp_ajax_dustrial_product_remove', 'dustrial_product_remove' );
add_action( 'wp_ajax_nopriv_dustrial_product_remove', 'dustrial_product_remove' );
function dustrial_product_remove() {
    global $wpdb, $woocommerce;
    session_start();
    foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item){
        if($cart_item['product_id'] == $_POST['product_id'] ){
            $woocommerce->cart->remove_cart_item($cart_item_key);
        }
    }
    $return["mini_cart"] = dustrial_wc_cart_ajax();
    echo json_encode($return);
    exit();
}

/*------------------------------------------------------------------------------------------------------------------*/
/* Action links for plugin header on the plugins.php page
/*------------------------------------------------------------------------------------------------------------------*/
function dustrial_plugin_action_links( $links ) {
    $links = array_merge( array(
        '<a href="' . esc_url( admin_url( '/admin.php?page=dustrial' ) ) . '">' . __( 'Settings', 'dustrial-master' ) . '</a>'
    ), $links );
    return $links;
}

/*------------------------------------------------------------------------------------------------------------------*/
/* Action links for plugin footer on the plugins.php page
/*------------------------------------------------------------------------------------------------------------------*/
function custom_plugin_row_meta( $links, $file ) {
    if ( strpos( $file, 'dustrial-master.php' ) !== false ) {
        $new_links = array(
            'sup' => '<a href="' . esc_url( 'https://ifingerstudio.com/contact-us') .'" target="_blank">' . __( 'Support', 'dustrial-master' ) . '</a>',
            'doc' => '<a href="' . esc_url( 'https://ifingerstudio.com/documentation' ) . '" target="_blank">' . __( 'Documentation', 'dustrial-master' ) . '</a>'
        );
        
        $links = array_merge( $links, $new_links );
    }
    return $links;
}