Ticket #9184: 9184.diff
| File 9184.diff, 5.8 KB (added by , 17 years ago) |
|---|
-
wp-admin/includes/misc.php
238 238 echo "<p>$message</p>\n"; 239 239 } 240 240 241 function wp_doc_link_parse( $content ) { 242 if ( !is_string( $content ) || empty( $content ) ) 243 return array(); 244 245 $tokens = token_get_all( $content ); 246 $functions = array(); 247 $ignore_functions = array(); 248 for ( $t = 0, $count = count( $tokens ); $t < $count; $t++ ) { 249 if ( !is_array( $tokens[$t] ) ) continue; 250 if ( T_STRING == $tokens[$t][0] && ( '(' == $tokens[ $t + 1 ] || '(' == $tokens[ $t + 2 ] ) ) { 251 // If it's a function or class defined locally, there's not going to be any docs available 252 if ( 'class' == $tokens[ $t - 2 ][1] || 'function' == $tokens[ $t - 2 ][1] || T_OBJECT_OPERATOR == $tokens[ $t - 1 ][0] ) { 253 $ignore_functions[] = $tokens[$t][1]; 254 } 255 // Add this to our stack of unique references 256 $functions[] = $tokens[$t][1]; 257 } 258 } 259 260 $functions = array_unique( $functions ); 261 sort( $functions ); 262 $ignore_functions = apply_filters( 'documentation_ignore_functions', $ignore_functions ); 263 $ignore_functions = array_unique( $ignore_functions ); 264 265 $out = array(); 266 foreach ( $functions as $function ) { 267 if ( in_array( $function, $ignore_functions ) ) 268 continue; 269 $out[] = $function; 270 } 271 272 return $out; 273 } 274 241 275 ?> -
wp-admin/theme-editor.php
87 87 if (!$error && filesize($real_file) > 0) { 88 88 $f = fopen($real_file, 'r'); 89 89 $content = fread($f, filesize($real_file)); 90 $content = htmlspecialchars($content); 90 91 if ( 'php' == mb_substr( $real_file, mb_strrpos( $real_file, '.' ) + 1 ) ) { 92 $functions = wp_doc_link_parse( $content ); 93 94 $docs_select = '<select name="docs-list" id="docs-list">'; 95 $docs_select .= '<option value="">' . __( 'Function Name...' ) . '</option>'; 96 foreach ( $functions as $function) { 97 $docs_select .= '<option value="' . urlencode( $function ) . '">' . htmlspecialchars( $function ) . '()</option>'; 98 } 99 $docs_select .= '</select>'; 100 } 101 102 $content = htmlspecialchars( $content ); 91 103 } 92 104 93 105 ?> … … 187 199 <input type="hidden" name="file" value="<?php echo $file ?>" /> 188 200 <input type="hidden" name="theme" value="<?php echo $theme ?>" /> 189 201 </div> 202 <?php if ( count( $functions ) ) : ?> 203 <div id="documentation"><label for="docs-list">Documentation:</label> <?php echo $docs_select ?> <input type="button" class="button" value=" <?php _e( 'Lookup' ) ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&locale=<?php echo urlencode( get_locale() ) ?>&version=<?php echo urlencode( $wp_version ) ?>&redirect=true'); }" /></div> 204 <?php endif; ?> 190 205 191 206 <div> 192 207 <?php if ( is_writeable($real_file) ) : ?> -
wp-admin/css/theme-editor.css
64 64 div.tablenav { 65 65 margin-right: 210px; 66 66 } 67 68 #documentation { 69 margin-top: 10px; 70 } 71 #documentation label { 72 line-height: 22px; 73 vertical-align: top; 74 font-weight: bold; 75 } 76 No newline at end of file -
wp-admin/plugin-editor.php
81 81 if ( ! is_file($real_file) ) 82 82 $error = 1; 83 83 84 if ( ! $error ) 85 $content = htmlspecialchars(file_get_contents($real_file)); 84 if ( ! $error ) { 85 $content = file_get_contents( $real_file ); 86 87 if ( 'php' == mb_substr( $real_file, mb_strrpos( $real_file, '.' ) + 1 ) ) { 88 $functions = wp_doc_link_parse( $content ); 89 90 $docs_select = '<select name="docs-list" id="docs-list">'; 91 $docs_select .= '<option value="">' . __( 'Function Name...' ) . '</option>'; 92 foreach ( $functions as $function) { 93 $docs_select .= '<option value="' . urlencode( $function ) . '">' . htmlspecialchars( $function ) . '()</option>'; 94 } 95 $docs_select .= '</select>'; 96 } 97 98 $content = htmlspecialchars( $content ); 99 } 86 100 87 101 ?> 88 102 <?php if (isset($_GET['a'])) : ?> … … 124 138 <h4><?php _e('Plugins'); ?></h4> 125 139 <ul> 126 140 <?php foreach($plugin_files as $plugin_file) : ?> 127 <li ><a href="plugin-editor.php?file=<?php echo $plugin_file; ?>"><?php echo $plugins[$plugin_file]['Name']; ?></a></li>141 <li<?php echo $file == $plugin_file ? ' class="highlight"' : ''; ?>><a href="plugin-editor.php?file=<?php echo $plugin_file; ?>"><?php echo $plugins[$plugin_file]['Name']; ?></a></li> 128 142 <?php endforeach; ?> 129 143 </ul> 130 144 </div> … … 135 149 <input type="hidden" name="action" value="update" /> 136 150 <input type="hidden" name="file" value="<?php echo $file ?>" /> 137 151 </div> 152 <?php if ( count( $functions ) ) : ?> 153 <div id="documentation"><label for="docs-list">Documentation:</label> <?php echo $docs_select ?> <input type="button" class="button" value=" <?php _e( 'Lookup' ) ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&locale=<?php echo urlencode( get_locale() ) ?>&version=<?php echo urlencode( $wp_version ) ?>&redirect=true'); }" /></div> 154 <?php endif; ?> 138 155 <?php if ( is_writeable($real_file) ) : ?> 139 156 <?php if ( in_array($file, (array) get_option('active_plugins')) ) { ?> 140 157 <p><?php _e('<strong>Warning:</strong> Making changes to active plugins is not recommended. If your changes cause a fatal error, the plugin will be automatically deactivated.'); ?></p>