function mgm_load_payment_jsfiles($content) { $id = get_the_ID(); if (is_numeric($id)) { $post_obj = mgm_get_post($id); if (isset($post_obj->purchasable) && $post_obj->purchasable == 'Y' && !wp_script_is('jquery.metadata')) { $incfiles = ''; $css_files = array(); $css_files[] = MGM_ASSETS_URL . 'css/mgm_cc_fields.css'; $css_link_format = '<link rel="stylesheet" href="%s" type="text/css" media="all" />'; // add foreach ($css_files as $css_file) { $incfiles .= sprintf($css_link_format, $css_file) . "\n"; } $js_files = array(); // jquery from wp distribution //$js_files[] = includes_url( '/js/jquery/jquery.js'); // custom if (!wp_script_is('mgm-jquery-validate')) { if (!mgm_is_script_already_included('jquery.validate.pack.js')) { $js_files[] = MGM_ASSETS_URL . 'js/jquery/jquery.validate.pack.js'; $mgm_scripts[] = 'jquery.validate.pack.js'; } } wp_enqueue_script('jquery.metadata', MGM_ASSETS_URL . 'js/jquery/jquery.metadata.js'); if (!wp_script_is('mgm-jquery-metadata')) { if (!mgm_is_script_already_included('jquery.metadata.js')) { $js_files[] = MGM_ASSETS_URL . 'js/jquery/jquery.metadata.js'; $mgm_scripts[] = 'jquery.metadata.js'; } } if (!wp_script_is('mgm-helpers')) { $js_files[] = MGM_ASSETS_URL . 'js/helpers.js'; } $js_script_format = '<script type="text/javascript" src="%s"></script>'; if ($js_files) { foreach ($js_files as $js_file) { $incfiles .= sprintf($js_script_format, $js_file) . "\n"; } } $content .= $incfiles; unset($js_files); unset($css_files); unset($incfiles); } } return $content; }
function mgm_attach_scripts($return = false, $exclude = array('jquery.ajaxfileupload.js')) { global $mgm_scripts; // wp login form $wordpres_login_form = mgm_check_wordpress_login(); // int css array $css_files = array(); // subscribe page css, loaded from wp-admin /* if( mgm_get_query_var('purchase_subscription') || mgm_get_query_var('payment_return')): $css_files[] = admin_url('/css/login.css'); $css_files[] = admin_url('/css/colors-fresh.css'); endif; */ // group $css_group = mgm_get_css_group(); //issue #867 if ($css_group != 'none') { // other, loaded from mgm custom $css_files[] = MGM_ASSETS_URL . 'css/' . $css_group . '/mgm.form.fields.css'; $css_files[] = MGM_ASSETS_URL . 'css/' . $css_group . '/mgm.site.css'; $css_files[] = MGM_ASSETS_URL . 'css/' . $css_group . '/mgm.cc.fields.css'; $css_files[] = MGM_ASSETS_URL . 'css/' . $css_group . '/mgm/jquery.ui.css'; $css_files[] = MGM_ASSETS_URL . 'css/' . $css_group . '/mgm.pages.css'; } // disable $disable_jquery = false; //this is for blocking loading jquery externally, to disable jquery add_filter and modify disable_jquery to return true $disable_jquery = apply_filters('disable_jqueryon_page', $disable_jquery); // init js array $js_files = array(); $arr_default_pages = array('wp-login.php', 'user-edit.php', 'profile.php'); $default_page = in_array(basename($_SERVER['SCRIPT_FILENAME']), $arr_default_pages) ? true : false; // jquery from wp distribution if ($default_page && !in_array('jquery.js', (array) $mgm_scripts) || !wp_script_is('jquery') && !$disable_jquery) { if ($default_page && !in_array('jquery.js', (array) $mgm_scripts) || !mgm_is_script_already_included('jquery.js')) { $js_files[] = includes_url('/js/jquery/jquery.js'); $mgm_scripts[] = 'jquery.js'; } } // custom //if(!wp_script_is('mgm-jquery-validate')) // if(!mgm_is_script_already_included('jquery.validate.pack.js')) { if ($default_page && !in_array('jquery.validate.pack.js', (array) $mgm_scripts) || !wp_script_is('mgm-jquery-validate') && !mgm_is_script_already_included(MGM_ASSETS_URL . 'js/jquery/jquery.validate.pack.js', true)) { $js_files[] = MGM_ASSETS_URL . 'js/jquery/jquery.validate.pack.js'; $mgm_scripts[] = 'jquery.validate.pack.js'; } //if(!wp_script_is('mgm-jquery-metadata')) // if(!mgm_is_script_already_included('jquery.metadata.js')) { if ($default_page && !in_array('jquery.metadata.js', (array) $mgm_scripts) || !wp_script_is('mgm-jquery-metadata') && !mgm_is_script_already_included(MGM_ASSETS_URL . 'js/jquery/jquery.metadata.js', true)) { $js_files[] = MGM_ASSETS_URL . 'js/jquery/jquery.metadata.js'; $mgm_scripts[] = 'jquery.metadata.js'; } //if(!wp_script_is('mgm-helpers')) // if(!mgm_is_script_already_included('helpers.js', true)) { if ($default_page && !in_array('helpers.js', (array) $mgm_scripts) || !wp_script_is('mgm-helpers') && !mgm_is_script_already_included(MGM_ASSETS_URL . 'js/helpers.js', true)) { $js_files[] = MGM_ASSETS_URL . 'js/helpers.js'; $mgm_scripts[] = 'helpers.js'; } // ui on wp version $jqueryui_version = mgm_get_jqueryui_version(); // add to array //if(!wp_script_is('mgm-jquery-ui')) { //if(!mgm_is_script_already_included('jquery-ui-'.$jqueryui_version.'.min.js')) { if ($default_page && !in_array('jquery-ui-' . $jqueryui_version . '.min.js', (array) $mgm_scripts) || !wp_script_is('mgm-jquery-ui') && !mgm_is_script_already_included('jquery-ui-' . $jqueryui_version . '.min.js')) { $js_files[] = MGM_ASSETS_URL . 'js/jquery/jquery.ui/jquery-ui-' . $jqueryui_version . '.min.js'; $mgm_scripts[] = 'jquery-ui-' . $jqueryui_version . '.min.js'; } //} //if(!wp_script_is('mgm-jquery-ajaxupload')) { // if(!mgm_is_script_already_included('jquery.ajaxfileupload.js')) { if ($default_page && !in_array('jquery.ajaxfileupload.js', (array) $mgm_scripts) || !mgm_is_script_already_included(MGM_ASSETS_URL . 'js/jquery/jquery.ajaxfileupload.js', true) && !wp_script_is('mgm-jquery-ajaxupload')) { $js_files[] = MGM_ASSETS_URL . 'js/jquery/jquery.ajaxfileupload.js'; $mgm_scripts[] = 'jquery.ajaxfileupload.js'; } //} // if(!wp_script_is('mgm-jquery-watermarkinput')) // $js_files[] = MGM_ASSETS_URL . 'js/jquery/jquery.watermarkinput.js'; // init $scripts = ''; // css format $css_link_format = '<link rel="stylesheet" href="%s" type="text/css" media="all" />'; // add foreach ($css_files as $css_file) { $scripts .= sprintf($css_link_format, $css_file); } // js format $js_script_format = '<script type="text/javascript" src="%s"></script>'; // add if ($js_files) { foreach ($js_files as $js_file) { $scripts .= sprintf($js_script_format, $js_file); } } // return if ($return) { return $scripts; } else { echo $scripts; } }