Ticket #2701: 2701e.diff
File 2701e.diff, 17.2 KB (added by , 19 years ago) |
---|
-
wp-includes/default-filters.php
86 86 add_action('wp_head', 'rsd_link'); 87 87 add_action('publish_future_post', 'wp_publish_post', 10, 1); 88 88 add_action('wp_head', 'noindex', 1); 89 add_action('wp_head', 'wp_print_scripts'); 89 90 if(!defined('DOING_CRON')) 90 91 add_action('init', 'wp_cron'); 91 92 add_action('do_feed_rdf', 'do_feed_rdf', 10, 1); -
wp-includes/template-functions-general.php
703 703 if ( ! get_option('blog_public') ) 704 704 echo '<meta name="robots" content="noindex,nofollow" />' . "\n"; 705 705 } 706 707 class WP_Scripts { 708 var $scripts = array(); 709 var $queue = array(); 710 var $printed = array(); 711 712 function WP_Scripts() { 713 $this->default_scripts(); 714 } 715 716 function default_scripts() { 717 $this->add( 'dbx', '/wp-includes/js/dbx.js', false, '2.02' ); 718 $this->add( 'dbx-key', '/wp-includes/js/dbx-key.js', false, '3651' ); 719 $this->add( 'fat', '/wp-includes/js/fat.js', false, '1.0-RC1_3660' ); 720 $this->add( 'sack', '/wp-includes/js/tw-sack.js', false, '1.6.1' ); 721 $this->add( 'quicktags', '/wp-includes/js/quicktags.js', false, '3517' ); 722 $this->add( 'colorpicker', '/wp-includes/js/colorpicker.js', false, '3517' ); 723 $this->add( 'tiny_mce', '/wp-includes/js/tinymce/tiny_mce_gzip.php', false, '04162006' ); 724 $this->add( 'wp_tiny_mce', '/wp-includes/js/tinymce/tiny_mce_config.php', array('tiny_mce'), '04162006' ); 725 if ( is_admin() ) { 726 $this->add( 'listman', '/wp-admin/list-manipulation-js.php', array('sack', 'fat'), '3733' ); 727 $this->add( 'ajaxcat', '/wp-admin/cat-js.php', array('listman'), '3684' ); 728 $this->add( 'admin-categories', '/wp-admin/categories.js', array('listman'), '3684' ); 729 $this->add( 'admin-custom-fields', '/wp-admin/custom-fields.js', array('listman'), '3733' ); 730 $this->add( 'admin-comments', '/wp-admin/edit-comments.js', array('listman'), '3736' ); 731 $this->add( 'admin-users', '/wp-admin/users.js', array('listman'), '3684' ); 732 $this->add( 'xfn', '/wp-admin/xfn.js', false, '3517' ); 733 } 734 } 735 736 /** 737 * Prints script tags 738 * 739 * Prints the scripts passed to it or the print queue. Also prints all necessary dependencies. 740 * 741 * @param mixed handles (optional) Scripts to be printed. (void) prints queue, (string) prints that script, (array of strings) prints those scripts. 742 * @return array Scripts that have been printed 743 */ 744 function print_scripts( $handles = false ) { 745 // Print the queue if nothing is passed. If a string is passed, print that script. If an array is passed, print those scripts. 746 $handles = false === $handles ? $this->queue : (array) $handles; 747 $handles = $this->all_deps( $handles ); 748 $this->_print_scripts( $handles ); 749 return $this->printed; 750 } 751 752 /** 753 * Internally used helper function for printing script tags 754 * 755 * @param array handles Hierarchical array of scripts to be printed 756 * @see WP_Scripts::all_deps() 757 */ 758 function _print_scripts( $handles ) { 759 global $wp_db_version; 760 761 foreach( array_keys($handles) as $handle ) { 762 if ( !$handles[$handle] ) 763 return; 764 elseif ( is_array($handles[$handle]) ) 765 $this->_print_scripts( $handles[$handle] ); 766 if ( !in_array($handle, $this->printed) && isset($this->scripts[$handle]) ) { 767 $ver = $this->scripts[$handle]->ver ? $this->scripts[$handle]->ver : $wp_db_version; 768 $src = 0 === strpos($this->scripts[$handle]->src, 'http://') ? $this->scripts[$handle]->src : get_settings( 'siteurl' ) . $this->scripts[$handle]->src; 769 echo "<script type='text/javascript' src='$src?ver=$ver'></script>\n"; 770 $this->printed[] = $handle; 771 } 772 } 773 } 774 775 776 /** 777 * Determines dependencies of scripts 778 * 779 * Recursively builds hierarchical array of script dependencies. Does NOT catch infinite loops. 780 * 781 * @param mixed handles Accepts (string) script name or (array of strings) script names 782 * @param bool recursion Used internally when function calls itself 783 * @return array Hierarchical array of dependencies 784 */ 785 function all_deps( $handles, $recursion = false ) { 786 if ( ! $handles = (array) $handles ) 787 return array(); 788 $return = array(); 789 foreach ( $handles as $handle ) { 790 if ( is_null($return[$handle]) ) // Prime the return array with $handles 791 $return[$handle] = true; 792 if ( $this->scripts[$handle]->deps ) { 793 if ( false !== $return[$handle] && array_diff($this->scripts[$handle]->deps, array_keys($this->scripts)) ) 794 $return[$handle] = false; // Script required deps which don't exist 795 else 796 $return[$handle] = $this->all_deps( $this->scripts[$handle]->deps, true ); // Build the hierarchy 797 } 798 if ( $recursion && false === $return[$handle] ) 799 return false; // Cut the branch 800 } 801 return $return; 802 } 803 804 /** 805 * Adds script 806 * 807 * Adds the script only if no script of that name already exists 808 * 809 * @param string handle Script name 810 * @param string src Script url 811 * @param array deps (optional) Array of script names on which this script depends 812 * @param string ver (optional) Script version (used for cache busting) 813 * @return array Hierarchical array of dependencies 814 */ 815 function add( $handle, $src, $deps = array(), $ver = false ) { 816 if ( isset($this->scripts[$handle]) ) 817 return false; 818 $this->scripts[$handle] = new _WP_Script( $handle, $src, $deps, $ver ); 819 return true; 820 } 821 822 function remove( $handles ) { 823 foreach ( (array) $handles as $handle ) 824 unset($this->scripts[$handle]); 825 } 826 827 function enqueue( $handles ) { 828 foreach ( (array) $handles as $handle ) 829 if ( !in_array($handle, $this->queue) && isset($this->scripts[$handle]) ) 830 $this->queue[] = $handle; 831 } 832 833 function dequeue( $handles ) { 834 foreach ( (array) $handles as $handle ) 835 unset( $this->queue[$handle] ); 836 } 837 838 function query( $handle, $list = 'scripts' ) { // scripts, queue, or printed 839 switch ( $list ) : 840 case 'scripts': 841 if ( isset($this->scripts[$handle]) ) 842 return $this->scripts[$handle]; 843 break; 844 default: 845 if ( in_array($handle, $this->$list) ) 846 return true; 847 break; 848 endswitch; 849 return false; 850 } 851 852 } 853 854 class _WP_Script { 855 var $handle; 856 var $src; 857 var $deps = array(); 858 var $ver = false; 859 860 function _WP_Script() { 861 @list($this->handle, $this->src, $this->deps, $this->ver) = func_get_args(); 862 if ( !is_array($this->deps) ) 863 $this->deps = array(); 864 if ( !$this->ver ) 865 $this->ver = false; 866 } 867 } 868 869 /** 870 * Prints script tags in document head 871 * 872 * Called by admin-header.php and by wp_head hook. Since it is called by wp_head on every page load, 873 * the function does not instantiate the WP_Scripts object unless script names are explicitly passed. 874 * Does make use of already instantiated $wp_scripts if present. 875 * Use provided wp_print_scripts hook to register/enqueue new scripts. 876 * 877 * @see WP_Scripts::print_scripts() 878 */ 879 function wp_print_scripts( $handles = false ) { 880 do_action( 'wp_print_scripts' ); 881 882 global $wp_scripts; 883 if ( !is_a($wp_scripts, 'WP_Scripts') ) { 884 if ( !$handles ) 885 return array(); // No need to instantiate if nothing's there. 886 else 887 $wp_scripts = new WP_Scripts(); 888 } 889 890 return $wp_scripts->print_scripts( $handles ); 891 } 892 893 function wp_register_script( $handle, $src, $deps = array(), $ver = false ) { 894 global $wp_scripts; 895 if ( !is_a($wp_scripts, 'WP_Scripts') ) 896 $wp_scripts = new WP_Scripts(); 897 898 $wp_scripts->add( $handle, $src, $deps, $ver ); 899 } 900 901 function wp_deregister_script( $handle ) { 902 global $wp_scripts; 903 if ( !is_a($wp_scripts, 'WP_Scripts') ) 904 $wp_scripts = new WP_Scripts(); 905 906 $wp_scripts->remove( $handle ); 907 } 908 909 /** 910 * Equeues script 911 * 912 * Registers the script if src provided (does NOT overwrite) and enqueues. 913 * 914 * @see WP_Script::add(), WP_Script::enqueue() 915 */ 916 function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false ) { 917 global $wp_scripts; 918 if ( !is_a($wp_scripts, 'WP_Scripts') ) 919 $wp_scripts = new WP_Scripts(); 920 921 if ( $src ) 922 $wp_scripts->add( $handle, $src, $deps, $ver ); 923 $wp_scripts->enqueue( $handle ); 924 } 925 706 926 ?> -
wp-includes/functions-post.php
1037 1037 } 1038 1038 1039 1039 /** 1040 * Places two script links in <head>: one to get tinyMCE (big), one to configure and start it (small)1040 * Deprecated. Use wp_print_scripts() or WP_Scripts instead. 1041 1041 */ 1042 1042 function tinymce_include() { 1043 $ver = '04162006'; 1044 $src1 = get_settings('siteurl') . "/wp-includes/js/tinymce/tiny_mce_gzip.php?ver=$ver"; 1045 $src2 = get_settings('siteurl') . "/wp-includes/js/tinymce/tiny_mce_config.php?ver=$ver"; 1046 1047 echo "<script type='text/javascript' src='$src1'></script>\n"; 1048 echo "<script type='text/javascript' src='$src2'></script>\n"; 1043 wp_print_script( 'wp_tiny_mce' ); 1049 1044 } 1050 1045 1051 1046 /** -
wp-admin/users.php
143 143 } 144 144 145 145 default: 146 wp_enqueue_script( 'admin-users' ); 146 147 147 $list_js = true;148 $users_js = true;149 150 148 include ('admin-header.php'); 151 149 152 150 $userids = $wpdb->get_col("SELECT ID FROM $wpdb->users;"); -
wp-admin/edit-comments.php
3 3 4 4 $title = __('Edit Comments'); 5 5 $parent_file = 'edit.php'; 6 $list_js = true;6 wp_enqueue_script( 'admin-comments' ); 7 7 8 8 require_once('admin-header.php'); 9 9 if (empty($_GET['mode'])) $mode = 'view'; -
wp-admin/admin.php
40 40 } 41 41 } 42 42 43 $xfn_js = $sack_js = $list_js = $cat_js = $users_js = $dbx_js = $pmeta_js = $editing = false;43 wp_enqueue_script( 'fat' ); 44 44 45 $editing = false; 46 45 47 require(ABSPATH . '/wp-admin/menu.php'); 46 48 47 49 // Handle plugin admin pages. -
wp-admin/admin-functions.php
1173 1173 1174 1174 function the_quicktags() { 1175 1175 // Browser detection sucks, but until Safari supports the JS needed for this to work people just assume it's a bug in WP 1176 if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Safari')) 1176 if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Safari')) { 1177 1177 echo ' 1178 1178 <div id="quicktags"> 1179 <script src="../wp-includes/js/quicktags.js" type="text/javascript"></script> 1180 <script type="text/javascript">if ( typeof tinyMCE == "undefined" || tinyMCE.configs.length < 1 ) edToolbar();</script> 1179 '; 1180 wp_print_scripts( 'quicktags' ); 1181 echo ' <script type="text/javascript">if ( typeof tinyMCE == "undefined" || tinyMCE.configs.length < 1 ) edToolbar();</script> 1181 1182 </div> 1182 1183 '; 1183 else echo '1184 } else echo ' 1184 1185 <script type="text/javascript"> 1185 1186 function edInsertContent(myField, myValue) { 1186 1187 //IE support -
wp-admin/moderation.php
3 3 4 4 $title = __('Moderate comments'); 5 5 $parent_file = 'edit.php'; 6 $list_js = true;6 wp_enqueue_script( 'listman' ); 7 7 8 8 $wpvarstoreset = array('action', 'item_ignored', 'item_deleted', 'item_approved', 'item_spam', 'feelinglucky'); 9 9 for ($i=0; $i<count($wpvarstoreset); $i += 1) { … … 229 229 230 230 include('admin-footer.php'); 231 231 232 ?> 233 No newline at end of file 232 ?> -
wp-admin/admin-header.php
2 2 @header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset')); 3 3 if (!isset($_GET["page"])) require_once('admin.php'); 4 4 if ( $editing ) { 5 $dbx_js = true; 6 $pmeta_js = true; 7 $list_js = true; 8 if ( current_user_can('manage_categories') ) { 9 $cat_js = true; 10 } 5 wp_enqueue_script( array('dbx','admin-custom-fields') ); 6 if ( current_user_can('manage_categories') ) 7 wp_enqueue_script( 'ajaxcat' ); 8 if ( user_can_richedit() ) 9 wp_enqueue_script( 'wp_tiny_mce' ); 11 10 } 12 if ( $list_js )13 $sack_js = true;14 11 ?> 15 12 <?php get_admin_page_title(); ?> 16 13 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> … … 24 21 function addLoadEvent(func) {if ( typeof wpOnload!='function'){wpOnload=func;}else{ var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}} 25 22 //]]> 26 23 </script> 27 <script type="text/javascript" src="../wp-includes/js/fat.js"></script> 28 <?php if ( $xfn_js ) { ?> 29 <script type="text/javascript" src="xfn.js"></script> 30 <?php } ?> 31 <?php if ( $sack_js ) { ?> 32 <script type="text/javascript" src="../wp-includes/js/tw-sack.js"></script> 33 <?php } ?> 34 <?php if ( $list_js ) { ?> 35 <script type="text/javascript" src="list-manipulation-js.php"></script> 36 <?php } ?> 37 <?php if ( $pmeta_js ) { ?> 38 <script type="text/javascript" src="custom-fields.js"></script> 39 <?php } ?> 40 <?php if ( 'categories.php' == $pagenow && 'edit' != $action ) { ?> 41 <script type="text/javascript" src="categories.js"></script> 42 <?php } ?> 43 <?php if ( $users_js ) { ?> 44 <script type="text/javascript" src="users.js"></script> 45 <?php } ?> 46 <?php if ( 'edit-comments.php' == $pagenow || ( 'edit.php' == $pagenow && 1 == $_GET['c'] ) ) { ?> 47 <script type="text/javascript" src="edit-comments.js"></script> 48 <?php } ?> 49 <?php if ( $dbx_js ) { ?> 50 <script type="text/javascript" src="../wp-includes/js/dbx.js"></script> 24 <?php if ( ($parent_file != 'link-manager.php') && ($parent_file != 'options-general.php') ) : ?> 25 <style type="text/css">* html { overflow-x: hidden; }</style> 26 <?php endif; $printed_scripts = wp_print_scripts(); ?> 27 <?php if ( in_array('dbx', $printed_scripts) ) { ?> 51 28 <script type="text/javascript"> 52 29 //<![CDATA[ 53 30 addLoadEvent( function() { … … 63 40 </script> 64 41 <script type="text/javascript" src="../wp-includes/js/dbx-key.js"></script> 65 42 <?php } ?> 66 <?php if ( $editing && user_can_richedit() ) { tinymce_include(); } ?>67 <?php if ( $cat_js ) { ?>68 <script type="text/javascript" src="cat-js.php"></script>69 <?php } ?>70 <?php if ( ($parent_file != 'link-manager.php') && ($parent_file != 'options-general.php') ) : ?>71 <style type="text/css">* html { overflow-x: hidden; }</style>72 <?php endif; ?>73 43 <?php do_action('admin_head'); ?> 74 44 </head> 75 45 <body> -
wp-admin/link-add.php
25 25 } 26 26 } 27 27 28 $xfn_js = true;28 wp_enqueue_script( 'xfn' ); 29 29 $editing = true; 30 30 require('admin-header.php'); 31 31 ?> -
wp-admin/edit.php
3 3 4 4 $title = __('Posts'); 5 5 $parent_file = 'edit.php'; 6 $list_js = true;6 wp_enqueue_script( 1 == $_GET['c'] ? 'admin-comments' : 'listman' ); 7 7 require_once('admin-header.php'); 8 8 9 9 $_GET['m'] = (int) $_GET['m']; -
wp-admin/link.php
102 102 break; 103 103 104 104 case 'edit' : 105 $xfn_js = true;105 wp_enqueue_script( 'xfn' ); 106 106 $editing = true; 107 107 $parent_file = 'link-manager.php'; 108 108 $submenu_file = 'link-manager.php'; … … 124 124 } 125 125 126 126 include ('admin-footer.php'); 127 ?> 128 No newline at end of file 127 ?> -
wp-admin/link-manager.php
8 8 9 9 $title = __('Manage Bookmarks'); 10 10 $this_file = $parent_file = 'link-manager.php'; 11 $list_js = true;11 wp_enqueue_script( 'listman' ); 12 12 13 13 $wpvarstoreset = array ('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]'); 14 14 -
wp-admin/edit-pages.php
2 2 require_once('admin.php'); 3 3 $title = __('Pages'); 4 4 $parent_file = 'edit.php'; 5 $list_js = true;5 wp_enqueue_script( 'listman' ); 6 6 require_once('admin-header.php'); 7 7 ?> 8 8 -
wp-admin/categories.php
112 112 113 113 default: 114 114 115 $list_js = true;115 wp_enqueue_script( 'admin-categories' ); 116 116 require_once ('admin-header.php'); 117 117 118 118 $messages[1] = __('Category added.'); … … 182 182 183 183 include('admin-footer.php'); 184 184 185 ?> 186 No newline at end of file 185 ?>