File: D:/HostingSpaces/ERijn/knijft.eu/wwwroot/wp-content/themes/cheope/core/yit/Google_font.php
<?php
/**
* Your Inspiration Themes
*
* @package WordPress
* @subpackage Your Inspiration Themes
* @author Your Inspiration Themes Team <info@yithemes.com>
*
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://www.gnu.org/licenses/gpl-3.0.txt
*/
/**
* This class manage the google font in the system.
*
* You need simply add the google font by using the call yit_add_google_font( 'fontname' );
* The class will include the google fonts in the system, by using the google fonts api.
*
* @since 1.0.0
*/
class YIT_Google_font {
/**
* All google fonts added in the framework
*
* @var array
* @access public
* @since 1.0.0
*/
public $fonts = array();
/**
* Define here if you want the webfont loader
*
* @var array
* @access protected
* @since 1.0.0
*/
protected $_webfont_loader = false;
/**
* Init of class
*
* @since 1.0.0
*/
public function init() {
if ( apply_filters( 'yit_use_webfont_loader', $this->_webfont_loader ) ) {
add_action( 'wp_print_scripts', array( &$this, 'webfont_loader' ), 1 );
} else {
add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue' ), 1 );
add_action( 'login_head', array( &$this, 'enqueue' ), 1 );
}
}
/**
* Save the file with all css
*
* @return bool
* @since 1.0.0
*/
public function add_google_font( $font ) {
if ( in_array( $font, $this->fonts ) )
{ return; }
$this->fonts[] = $font;
}
/**
* Enqueue stylesheets with wp_enqueue_style
*
* @return void
* @since 1.0.0
*/
public function enqueue() {
$subsets = yit_get_option('google_fonts_subsets');
$subsets = $subsets ? 'subset=' . implode(',', $subsets) . '&' : '';
$base_url = '//fonts.googleapis.com/css?'. $subsets . 'family=';
$i = 0;
$srcs = array( $base_url );
if( yit_ie_version() > 8 || yit_ie_version() == -1 ) {
foreach ( $this->fonts as $font ) {
if ( strlen( $srcs[$i] . $font ) > 1024 ) {
$i++;
$srcs[$i] = $base_url;
}
$srcs[$i] .= $font . '|';
}
foreach ( $srcs as $k => $src ) {
$index = count( $srcs ) > 1 ? '-' . ($k+1) : '';
wp_enqueue_style( 'google-fonts' . $index, rtrim( str_replace( ' ', '+', $src ), '|' ) );
}
} else {
foreach ( $this->fonts as $font ) {
wp_enqueue_style( $font . '-font', $base_url . str_replace( ' ', '+', $font ) );
}
}
}
/**
* Webfont Loader
*
* @since 1.0.0
*/
public function webfont_loader() {
?>
<script type="text/javascript">
WebFontConfig = {
google: { families: <?php echo json_encode( $this->fonts ); ?> }
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
</script>
<?php
}
}
if ( ! function_exists( 'yit_add_google_font' ) ) {
/**
* Save the file with all css
*
* @return bool
* @since 1.0.0
*/
function yit_add_google_font( $font ) {
yit_get_model('google_font')->add_google_font( $font );
}
}