Uncaught TypeError: createChart[o.type] is not a function(…)

Hi there,

I am using a plugin called BigBlueButton to allow my users to create online classes, etc.

The wordpress plugin used to connect them to the audio server is: https://wordpress.org/support/plugin/bigbluebutton

The issue I am having is that when Easy Blogging is enabled, the option to change permissions is blocked and/or not visible, so I have to change the permissions myself for each user if they want to change their class from private to public or vice versa.

When inspecting the code, the errors are:
Uncaught TypeError: createChart[o.type] is not a function(…)
/wp-includes/js/wp-auth-check.min.js?ver=c8df1fffcf44dd6170c9c5d27569d30a

and

Uncaught TypeError: Cannot read property 'hasClass' of undefined
/wp-includes/js/wp-auth-check.min.js?ver=c8df1fffcf44dd6170c9c5d27569d30a

Any help would be greatly appreciated on this!

  • Vaughan

    Hi JJ,

    Hope you're well?

    I can replicate this on my own site when using that plugin.But I haven't been able to figure out the cause or fix.

    Let me just pass this along to one of our SLS guys to look into, hopefully he should respond shortly but could take a while longer than usual depending on his workload. I can't sayfor sure whether this can be fixed in our plugin, or if the issue is with the Big blue plugin.

    Thanks

  • Mahlamusa

    Hello JJ

    I hope you are doing great today. I am sorry for the late reply with regards to this, things have been hectic in our side and we had a lot of complex issues to deal with.

    I was wondering if you still need help with this issue or not. I can replicate the issue on my side but before I do a lot of digging I have to confirm from you if you still need help with this or not. I ask that you confirm because the Easy Blogging plugin is now retired and we no longer offer official support for it, but since this issue was already opened I can offer some limited help. You can always get support from the forum community or other members who are still using the plugin.

    Please let me know if you still need help with regards to this issue and I will help you as best as I can.

    I hope you enjoy the rest of your day.

    Cheers,
    Mahlamusa

  • Mahlamusa

    Hi JJ,

    I hope you are doing great today. I have gone through the code for both plugins and found the issue to be related to the same CSS class being used by the two plugins.

    The BigBlueButton uses a table to display the meetings, the table is:
    <table class="stats">

    This is in line 1373 in the file
    /wp-content/plugins/bigbluebutton/bigbluebutton-plugin.php
    in the function that looks like this:

    function bigbluebutton_print_table_header() {
        return '
        <div>
        <table class="stats" cellspacing="5">
    ....
    }

    Easy Blogging has a data visualization jQuery script which finds all tables with class="stats" and converts those into Charts. It targets those tables in the following line of code:

    jQuery("table.stats").each(function() {..}
    This line is located at around line number 119 or 120 in the file
    /wp-content/plgins/easyblogging/themes/default/js/custom.js

    To solve this in the simplest way is to exclude the table that lists meetings in the bigblubutton page, this can be achieved via jQuery by editing the line that targets and convert class="stats" into a Chart. So in the 'easyblogging/themes/default/js/custom.js' file around line 119, we replace:

    jQuery("table.stats").each(function()

    With:

    jQuery("table.stats").not( jQuery('div.wrap div table.stats') ).each(function()

    So that whole snippet that does the magic will look like this:

    jQuery("table.stats").not( jQuery('div.wrap div table.stats') ).each(function() {
    		if(jQuery(this).attr('class')) { var statsType = jQuery(this).attr('class').replace('stats ','');}
    		else { var statsType = 'area'; }
    
    		var chart_width = (jQuery(this).parent().parent(".ui-widget").width()) - 60;
    		jQuery(this).hide().visualize({
    			type: statsType,	// 'bar', 'area', 'pie', 'line'
    			width: '800px',
    			height: '240px',
    			colors: ['#6fb9e8', '#ec8526', '#9dc453', '#ddd74c']
    		}); // used with the visualize plugin. Statistics.
    });

    Once this is done, the errors will disappear. I have done and tested this on the latest versions of WordPress, BigBlueButton and Easy Blogging. I hope it works for you too. You can alternatively download the attached 'custom.zip' file, extract it and upload the file 'custom.js' into the Easy Blogging plugin folder so that you finally have the file in the location (you may have a different name for the folder, just double check and upload to the correct plugin folder):

    /wp-content/plgins/easyblogging/themes/default/js/custom.js

    Once you have done that, go to your Bigbluebutton settings page and it should look like in the following screenshot with no errors in the console.

    I hope this helps. Let me know if this works for you, I will be more than willing to help.

    I hope you enjoy the rest of your day.

    Cheers,
    Mahlamusa