/** * enque screen wise admin assets * * @param string hook_suffix (file name) * @todo add all case */ function mgm_admin_enqueue_scripts($hook_suffix) { global $wp_version, $wp_styles, $wp_scripts; // check and disable jquery ui if (isset($_GET['page']) && preg_match('#^mgm/admin#', $_GET['page'])) { // remove style by handler $style_handles = array('jquery-ui-css', 'jquery-ui', 'aiow-plugin-css', 'smoothness'); // reset foreach ($style_handles as $style_handle) { if (isset($wp_styles->registered[$style_handle])) { unset($wp_styles->registered[$style_handle]); } } // remove script by handler $script_handles = array('jquery-ui'); // reset foreach ($script_handles as $script_handle) { if (isset($wp_scripts->registered[$script_handle])) { unset($wp_scripts->registered[$script_handle]); } } } // screen $screen_id = get_current_screen()->id; // edit taxonomy if (preg_match('/^edit-/', $screen_id)) { if ('edit-tags.php' == $hook_suffix) { $screen_id = 'edit-taxonomy'; } } // echo $screen_id; // post screen switch ($screen_id) { case 'post': // post edit,add // post edit,add case 'page': // page @todo custompage // case 'edit-post':// post listing // load respective jQueryUI $jqueryui_version = sprintf('js/jquery/jquery.ui/jquery-ui-%s.min.js', mgm_get_jqueryui_version()); // load ui wp_enqueue_script('mgm-jquery-ui', MGM_ASSETS_URL . $jqueryui_version, array('jquery')); // custom scripts wp_enqueue_script('mgm-helpers', MGM_ASSETS_URL . 'js/helpers.js'); // ui css wp_enqueue_style('mgm-jqueryui-css', MGM_ASSETS_URL . 'css/default/mgm/jquery.ui.css'); wp_enqueue_style('mgm-widgets-css', MGM_ASSETS_URL . 'css/admin/mgm.widgets.css'); break; case 'edit-category': case 'edit-post_tag': case 'edit-taxonomy': // styles wp_enqueue_style('mgm-adminui-css', MGM_ASSETS_URL . 'css/admin/mgm.adminui.css'); // wp 3.3+ fix if (mgm_compare_wp_version('3.3', '>')) { wp_enqueue_style('mgm-adminui-wp3fix-css', MGM_ASSETS_URL . 'css/admin/mgm.adminui.wp3fix.css'); } break; case 'users': // list // case 'user':// add // list // case 'user':// add case 'user-edit': // edit wp_enqueue_style('mgm-users-css', MGM_ASSETS_URL . 'css/admin/mgm.users.css'); break; case 'dashboard': wp_enqueue_style('mgm-dashboard-css', MGM_ASSETS_URL . 'css/admin/mgm.dashboard.css'); break; case 'profile_page_mgm/membership_details': case 'profile_page_mgm/membership_contents': // profile pages // ui css wp_enqueue_style('mgm-ui-css', MGM_ASSETS_URL . 'css/default/mgm/jquery.ui.css'); // styles wp_enqueue_style('mgm-adminui-css', MGM_ASSETS_URL . 'css/admin/mgm.adminui.css'); // styles wp_enqueue_style('mgm-wp-profile-css', MGM_ASSETS_URL . 'css/admin/mgm.wp-profile.css'); break; case 'toplevel_page_mgm/admin': // mgm admin ui // load respective jQueryUI $jqueryui_version = sprintf('js/jquery/jquery.ui/jquery-ui-%s.min.js', mgm_get_jqueryui_version()); // load ui wp_enqueue_script('mgm-jquery-ui', MGM_ASSETS_URL . $jqueryui_version, array('jquery')); // helpers scripts wp_enqueue_script('mgm-jquery-validate', MGM_ASSETS_URL . 'js/jquery/jquery.validate.pack.js'); wp_enqueue_script('mgm-jquery-metadata', MGM_ASSETS_URL . 'js/jquery/jquery.metadata.js'); wp_enqueue_script('mgm-jquery-form', MGM_ASSETS_URL . 'js/jquery/jquery.form.js'); // custom scripts wp_enqueue_script('mgm-helpers', MGM_ASSETS_URL . 'js/helpers.js'); wp_enqueue_script('mgm-string', MGM_ASSETS_URL . 'js/string.js'); wp_enqueue_script('mgm-jquery-helpers', MGM_ASSETS_URL . 'js/jquery/jquery.helpers.js'); // helpers scripts wp_enqueue_script('mgm-jquery-ajaxupload', MGM_ASSETS_URL . 'js/jquery/jquery.ajaxfileupload.js'); // ?? is used wp_enqueue_script('mgm-jquery-scrollto', MGM_ASSETS_URL . 'js/jquery/jquery.scrollTo-min.js'); wp_enqueue_script('mgm-jquery-corner', MGM_ASSETS_URL . 'js/jquery/jquery.corner.js'); // wp_enqueue_script('mgm-jquery-tools', MGM_ASSETS_URL . 'js/jquery/jquery.tools.min.js'); // wp_enqueue_script('mgm-jquery-tools', MGM_ASSETS_URL . 'js/jquery/messi/messi.min.js'); wp_enqueue_script('mgm-nicedit', MGM_ASSETS_URL . 'js/nicedit/nicedit.js'); wp_enqueue_script('mgm-checkboxtree', MGM_ASSETS_URL . 'js/jquery/jquery.tree.js'); wp_enqueue_script('mgm-excanvas-min', MGM_ASSETS_URL . 'js/flot/excanvas.min.js'); wp_enqueue_script('mgm-jquery-flot', MGM_ASSETS_URL . 'js/flot/jquery.flot.js'); // ui css wp_enqueue_style('mgm-ui-css', MGM_ASSETS_URL . 'css/default/mgm/jquery.ui.css'); // styles wp_enqueue_style('mgm-adminui-css', MGM_ASSETS_URL . 'css/admin/mgm.adminui.css'); // wp 3.3+ fix if (mgm_compare_wp_version('3.3', '>')) { wp_enqueue_style('mgm-adminui-wp3fix-css', MGM_ASSETS_URL . 'css/admin/mgm.adminui.wp3fix.css'); } // other // wp_enqueue_style('mgm-admin-overlay-css', MGM_ASSETS_URL . 'css/admin/jquery.overlay.css' ); // wp_enqueue_style('mgm-admin-overlay-css', MGM_ASSETS_URL . 'css/admin/messi/messi.min.css' ); wp_enqueue_style('mgm-admin-checkboxtree-css', MGM_ASSETS_URL . 'css/admin/jquery.tree.css'); break; case 'widgets': // styles wp_enqueue_style('mgm-widgets-css', MGM_ASSETS_URL . 'css/admin/mgm.widgets.css'); break; case 'profile_page_mgm/profile': case 'profile_page_mgm/membership/content': // styles wp_enqueue_style('mgm-adminui-css', MGM_ASSETS_URL . 'css/admin/mgm.adminui.css'); wp_enqueue_style('mgm-pages-css', MGM_ASSETS_URL . 'css/default/mgm.pages.css'); break; } }
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; } }