function init() { rh_register_script('bootstrap', $this->url . 'bootstrap/js/bootstrap.min.js', array(), '2.2.2'); rh_register_script('jquery-isotope', $this->url . 'js/jquery.isotope.min.js', array(), '1.5.14'); rh_register_script('jquery-infinite-scroll', $this->url . 'js/jquery.infinitescroll.min.js', array(), '2.0b2.110713'); wp_register_style('rhcss-bootstrap', $this->url . 'bootstrap/css/namespaced.bootstrap.min.css', array(), '2.2.2'); }
function frontend_only_scripts() { global $rhc_plugin; do_action('rh-php-commons'); if ('0' == $this->get_option('disable_print_css', '0', true)) { wp_register_style('rhc-print-css', RHC_URL . 'css/print.css', array(), '1.0.0'); } if ('0' == $this->get_option('disable_bootstrap', '0', true)) { rh_register_script('bootstrap', RHC_URL . 'js/bootstrap.min.js', array('jquery'), '3.0.0', $this->in_footer); wp_register_script('bootstrap-select', RHC_URL . 'js/bootstrap-select.js', array('bootstrap'), '1.0.0', $this->in_footer); } else { wp_register_script('bootstrap-select', RHC_URL . 'js/bootstrap-select.js', array(), '1.0.0', $this->in_footer); } if ($this->debugging_js_css) { wp_register_style('calendarize', RHC_URL . 'style.css', array(), '2.9.6.5'); wp_register_style('calendarizeit', RHC_URL . 'frontend.css', array('calendarize'), '2.0.0.10'); } else { wp_register_style('calendarizeit', RHC_URL . 'css/frontend.min.css', array(), '3.2.9.4'); } $requirements = apply_filters('rhc_css_requirements', array()); wp_register_style('rhc-last-minue', RHC_URL . 'css/last_minute_fixes.css', $requirements, '1.0.9'); if ($rhc_plugin->enqueue_scripts || '0' == $this->get_option('scripts_on_demand', '0', true)) { do_action('enqueue_frontend_only'); } do_action('rhc_scripts_frontend'); }
function head() { rh_register_script('bootstrap', $this->url . 'bootstrap/js/bootstrap.min.js', array(), '2.3.1'); rh_register_script('jquery-isotope', $this->url . 'js/jquery.isotope.min.js', array(), '1.5.14'); //rh_register_script( 'jquery-infinite-scroll', $this->url.'js/jquery.infinitescroll.min.js', array(),'2.0b2.110713'); wp_register_style('rhcss-bootstrap', $this->url . 'bootstrap/css/namespaced.bootstrap.min.css', array(), '2.2.2'); wp_register_style('rhcss-gfonts-admin', $this->url . 'css/google_web_fonts_admin.css', array(), '1.0.0'); wp_print_styles('rhcss-bootstrap'); wp_print_styles('rhcss-gfonts-admin'); wp_print_scripts('bootstrap'); wp_print_scripts('jquery-isotope'); //wp_print_scripts('jquery-infinite-scroll'); ?> <style> <?php /*$this->animation_styles();*/ ?> </style> <script type="text/javascript"> var google_fonts = <?php echo json_encode($this->get_google_fonts_list()); ?> ; var demo_text = '<?php echo $this->sample_text; ?> '; function get_subset_by_family(google_fonts,family){ var subset = []; for(a=0;a<google_fonts.length;a++){ if( family.toLowerCase() == google_fonts[a].family.toLowerCase() ){ subset[subset.length]=google_fonts[a]; continue; } if( google_fonts[a].family.toLowerCase().indexOf( family.toLowerCase() )!=-1 ){ subset[subset.length]=google_fonts[a]; continue; } } return subset; } function get_subset_by_letter(google_fonts,letter){ var subset = []; for(a=0;a<google_fonts.length;a++){ if( letter == google_fonts[a].family.substring(0,1).toLowerCase() ){ subset[subset.length]=google_fonts[a]; } } return subset; } function get_subset_enabled(google_fonts){ var subset = []; for(a=0;a<google_fonts.length;a++){ if( 'undefined'!=typeof(google_fonts[a].enabled) && google_fonts[a].enabled ){ subset[subset.length]=google_fonts[a]; } } return subset; } function load_items(selector,sub_set){ jQuery(document).ready(function($){ var web_safe_fonts = [ "Georgia, serif", "Palatino Linotype, Book Antiqua, Palatino, serif", "Times New Roman, Times, serif", "Arial, Helvetica, sans-serif", "Arial Black, Gadget, sans-serif", "Comic Sans MS, cursive, sans-serif", "Impact, Charcoal, sans-serif", "Lucida Sans Unicode, Lucida Grande, sans-serif", "Tahoma, Geneva, sans-serif", "Trebuchet MS, Helvetica, sans-serif", "Verdana, Geneva, sans-serif", "Courier New, Courier, monospace", "Lucida Console, Monaco, monospace" ]; // $('.rhcss-isotope-item').each(function(i,item){ $(selector).isotope('remove', $(this) ); }); var families = []; $.each(sub_set, function(i,data){ //if(i>30)return; //console.log( data ); //rhcss-isotope-item families[families.length]=escape(data.family); if( 'undefined'!=typeof(data.enabled) && data.enabled ){ var enable_control = $('<div class="btn-group font-control" data-toggle="buttons-radio"><button type="button" class="btn btn-success active activate-font"><?php _e('On', 'rhcss'); ?> </button><button type="button" data-toggle="button" class="btn deactivate-font"><?php _e('Off', 'rhcss'); ?> </button></div>'); var status = 'font-enabled'; }else{ var enable_control = $('<div class="btn-group font-control" data-toggle="buttons-radio"><button type="button" class="btn activate-font"><?php _e('On', 'rhcss'); ?> </button><button type="button" data-toggle="button" class="btn btn-danger active deactivate-font"><?php _e('Off', 'rhcss'); ?> </button></div>'); var status = 'font-disabled'; } var sample_text = $('<p class="google-font-preview" style="font-size:1.5em;font-family:'+data.family+', sans-serif, serif">'+demo_text+'</p>'); var letter = 'letter-' + data.family.substring(0,1).toLowerCase(); var family = 'family-' + data.family.toLowerCase().replace(' ','-'); var new_items = $('<div></div>') .data('family', data.family ) .addClass('rhcss-isotope-item') .addClass(status) .addClass(letter) .addClass(family) .append(enable_control) .append(sample_text) .append('<h4 class="font-title">' + data.family + '</h4>') .append('<div id="extra-sets" class="row-fluid"></div>') ; if( data.variants.length > 0 ){ var variant_cont = $('<div class="span6 font-variant"></div>'); variant_cont.append('<label><?php _e('Variants', 'rhcss'); ?> </label>'); $.each(data.variants,function(i,v){ var checked = ''; if( 'undefined'!=typeof(data.set_variants) ){ for(a=0;a<data.set_variants.length;a++){ if( v==data.set_variants[a] ){ checked = 'checked="checked"'; break; } } } variant_cont.append('<input type="checkbox" '+checked+' class="input-font-variant" value="'+v+'" /> '+v+'<br />'); }); new_items.find('#extra-sets') .append(variant_cont); } if( data.subsets.length > 0 ){ var subset_cont = $('<div class="span6 font-subset"></div>'); subset_cont.append('<label><?php _e('Subsets', 'rhcss'); ?> </label>'); $.each(data.subsets,function(i,v){ var checked = ''; if( 'undefined'!=typeof(data.set_subsets) ){ for(a=0;a<data.set_subsets.length;a++){ if( v==data.set_subsets[a] ){ checked = 'checked="checked"'; break; } } } subset_cont.append('<input type="checkbox" '+checked+' class="input-font-subset" value="'+v+'" /> '+v+'<br />'); }); new_items.find('#extra-sets') .append( subset_cont ); } var web_safe_options = $('<select class="rhcss-alt-font"></select>'); var selected = 'undefined'!=typeof( data.alt ) && data.alt!=''?data.alt:''; $.each(web_safe_fonts,function(i,f){ web_safe_options.append( $('<option '+ (selected==f?'selected="selected"':'') +' value="' + f + '">' + f + '</option>') ); }); var control_fonts = $('<div class="control-alt-font"></div>'); control_fonts.append('<label>Alternate Web Safe font:</label>'); control_fonts.append(web_safe_options); new_items.append(control_fonts); $(selector).isotope('insert', new_items); }); load_google_fonts_preview(families,demo_text); init_loaded_items(); }); } function save_google_web_fonts(){ var enabled_fonts = []; for(a=0;a<google_fonts.length;a++){ if( google_fonts[a].enabled ){ enabled_fonts.push( google_fonts[a] ); } } jQuery(document).ready(function($){ var args = { action: 'rhcss_save_fonts', enabled_fonts: enabled_fonts }; $.post( '<?php echo admin_url('/admin-ajax.php'); ?> ', args, function(data){ if(data.R=='OK'){ //console.log(data.DATA); }else if(data.R=='ERR'){ alert(data.MSG); }else{ alert('Error saving, reload page and try again.'); } }, 'json'); }); //console.log('save font state', enabled_fonts); } var last_families = []; function load_google_fonts_preview(_families,demo_text){ if( '1'!=jQuery('#enable-google-preview').val() ){ if(_families.length>0) last_families = _families; return true; } while( jQuery('link.google-web-font').length>10 ){ jQuery('link.google-web-font').first().remove(); } while( families = _families.splice(0, 30) ){ if(families.length==0)break; var url = 'https://fonts.googleapis.com/css?family=' + families.join('|') + '&text=' + escape(demo_text); jQuery('<link />', { rel: 'stylesheet', type: 'text/css', href: url, class: 'google-web-font' }).appendTo('HEAD'); } return true; } jQuery(document).ready(function($){ $('#enable-google-preview').val('0'); $('#rhcss-fonts-holder').isotope({ itemSelector : '.rhcss-isotope-item', layoutMode : 'fitRows' /*,filter : '.letter-a'*/ }); load_items( '#rhcss-fonts-holder', get_subset_by_letter(google_fonts,'a') ); $('.status-filter').on('click',function(e){ load_items( '#rhcss-fonts-holder', get_subset_enabled( google_fonts ) ); return true; }); $('.letter-filters .link-letter-filter').on('click',function(e){ var letter = $(this).attr('data-filter'); load_items( '#rhcss-fonts-holder', get_subset_by_letter(google_fonts,letter) ); return true; }); $('.enable-preview').on('click',function(e){ $(this).parent().find('.btn.enable-preview') .addClass('btn-success') ; $(this).parent().find('.btn.disable-preview') .removeClass('btn-danger') ; $('#enable-google-preview').val('1'); load_google_fonts_preview(last_families,demo_text); }); $('.disable-preview').on('click',function(e){ $(this).parent().find('.btn.enable-preview') .removeClass('btn-success') ; $(this).parent().find('.btn.disable-preview') .addClass('btn-danger') ; $('#enable-google-preview').val('0'); jQuery('link.google-web-font').remove(); }); $('#rhcss-search-btn').on('click',function(e){ var val = $('#rhcss-search-input').val(); if(val!=''){ load_items( '#rhcss-fonts-holder', get_subset_by_family(google_fonts,val) ); } }); }); function init_loaded_items(){ jQuery(document).ready(function($){ $('.activate-font').on('click',function(e){ $(this).parent().find('.btn.activate-font') .addClass('btn-success') ; $(this).parent().find('.btn.deactivate-font') .removeClass('btn-danger') ; $(this).parents('.rhcss-isotope-item') .removeClass('font-disabled') .addClass('font-enabled') ; var family = $(this).parents('.rhcss-isotope-item').data('family'); for(a=0;a<google_fonts.length;a++){ if( family==google_fonts[a].family ){ google_fonts[a].enabled = true; google_fonts[a].set_variants = []; $(this).parents('.rhcss-isotope-item').find('.input-font-variant:checked').each(function(i,inp){ google_fonts[a].set_variants.push( $(inp).val() ); }); google_fonts[a].set_subsets = []; $(this).parents('.rhcss-isotope-item').find('.input-font-subset:checked').each(function(i,inp){ google_fonts[a].set_subsets.push( $(inp).val() ); }); google_fonts[a].alt = $(this).parents('.rhcss-isotope-item').find('.rhcss-alt-font').val(); google_fonts[a].alt = google_fonts[a].alt==''?'serif':google_fonts[a].alt; } } save_google_web_fonts(); }); $('.deactivate-font').on('click',function(e){ $(this).parent().find('.btn.activate-font') .removeClass('btn-success') ; $(this).parent().find('.btn.deactivate-font') .addClass('btn-danger') ; $(this).parents('.rhcss-isotope-item') .removeClass('font-enabled') .addClass('font-disabled') ; var family = $(this).parents('.rhcss-isotope-item').data('family'); for(a=0;a<google_fonts.length;a++){ if( family==google_fonts[a].family ){ google_fonts[a].enabled = false; google_fonts[a].set_variants = []; google_fonts[a].set_subsets = []; } } save_google_web_fonts(); }); $('.input-font-subset,.input-font-variant').on('click',function(e){ var container = $(this).parents('.rhcss-isotope-item'); if( container.is('.font-enabled') ){ container.find('.activate-font').trigger('click'); } }); $('.rhcss-alt-font').on('change',function(e){ var container = $(this).parents('.rhcss-isotope-item'); if( container.is('.font-enabled') ){ container.find('.activate-font').trigger('click'); } }); }); } </script> <?php }
/** * Register new Javascript file; check if it is already registered, if it is compare versions (assumes numerical version number), and registers. * * **/ function rh_enqueue_script($handle, $src, $deps = array(), $ver = false, $in_footer = false) { return rh_register_script($handle, $src, $deps, $ver, $in_footer, true); }