Changeset 669333
- Timestamp:
- 02/17/2013 06:09:14 PM (13 years ago)
- Location:
- igsyntax-hiliter/trunk
- Files:
-
- 2 added
- 8 edited
-
MANUAL.txt (modified) (3 diffs)
-
class-ig-syntax-hiliter-admin.php (modified) (3 diffs)
-
class-ig-syntax-hiliter-frontend.php (modified) (8 diffs)
-
class-ig-syntax-hiliter.php (modified) (4 diffs)
-
css/admin.css (modified) (2 diffs)
-
geshi/cpp.php (added)
-
ig-syntax-hiliter.php (modified) (3 diffs)
-
js/admin.js (modified) (2 diffs)
-
readme.txt (modified) (3 diffs)
-
tlc-transients.php (added)
Legend:
- Unmodified
- Added
- Removed
-
igsyntax-hiliter/trunk/MANUAL.txt
r661663 r669333 4 4 5 5 6 Version: 4. 16 Version: 4.2 7 7 Author: Amit Gupta 8 8 Plugin URI: http://blog.igeek.info/wp-plugins/igsyntax-hiliter/ … … 43 43 2. WHAT's NEW 44 44 ----------------------------------------------------------------------------------------- 45 v4.2 46 ------------- 47 BUGFIX: Shorthand tags for all languages supported now - props to Karol Kuczmarski for spotting it 48 NEW: Added C++ language file 49 50 45 51 v4.1 46 52 ------------- … … 189 195 [ENABLE GITHUB GIST EMBED IN COMMENTS] : This option allows you to tell the plugin whether to embed Github Gist in comments. If disabled then a Gist posted in comments is linked to Github. 190 196 197 [REBUILD SHORTHAND TAGS] : Language files in the plugin's directory and current theme (parent & child) directory are scanned and their names are cached to allow shorthand tag usage for all languages. This cache is rebuilt automatically every 3 days. But if you wish to rebuild it manually you can do so by clicking this button. 198 191 199 192 200 -
igsyntax-hiliter/trunk/class-ig-syntax-hiliter-admin.php
r660809 r669333 136 136 </td> 137 137 </tr> 138 <tr> 139 <td colspan="2"> </td> 140 </tr> 141 <tr> 142 <td colspan="2"> 143 <button id="igsh_refresh_languages" name="igsh_refresh_languages" class="button button-primary" value="rebuild">Rebuild Shorthand Tags</button> 144 <p>Click the button above to rebuild the list of shorthand tags. This is needed if you have added any new language file or 145 removed any existing language file.</p> 146 <p><strong>Note:</strong> This will be automatically done in <span id="igsh-time-to-rebuild"><?php echo $this->human_time_diff( time(), ( $this->_get_language_build_time() + parent::languages_cache_life ) ); ?></span></p> 147 </td> 148 </tr> 138 149 </table> 139 150 </div> … … 190 201 $_POST['option_value'] = sanitize_text_field( strtolower( trim($_POST['option_value']) ) ); 191 202 192 if( ! $this->_is_yesno( $_POST['option_value'] ) || ! $this->_get_option( $_POST['option_name'] ) ) { 203 if( $_POST['option_name'] == 'igsh_refresh_languages' && $_POST['option_value'] == 'rebuild' ) { 204 //rebuild language file list 205 $this->_get_languages( 'yes' ); 206 $response['error'] = 0; 207 $response['msg'] = $this->_create_ajax_message( 'Shorthand Tags rebuilt successfully', 'success' ); 208 $response['time'] = $this->human_time_diff( time(), ( $this->_get_language_build_time() + parent::languages_cache_life ) ); 209 } elseif( ! $this->_is_yesno( $_POST['option_value'] ) || ! $this->_get_option( $_POST['option_name'] ) ) { 193 210 $response['msg'] = $this->_create_ajax_message( 'Invalid request sent, please refresh the page and try again', 'error' ); 194 211 $this->_send_ajax_response($response); … … 212 229 213 230 //load stylesheet 214 wp_enqueue_style( parent::plugin_id . '-admin', plugins_url( 'css/admin.css', __FILE__ ), false );231 wp_enqueue_style( parent::plugin_id . '-admin', plugins_url( 'css/admin.css', __FILE__ ), false, IG_SYNTAX_HILITER_VERSION ); 215 232 //load jQuery::msg stylesheet 216 wp_enqueue_style( parent::plugin_id . '-jquery-msg', plugins_url( 'css/jquery.msg.css', __FILE__ ), false );233 wp_enqueue_style( parent::plugin_id . '-jquery-msg', plugins_url( 'css/jquery.msg.css', __FILE__ ), false, IG_SYNTAX_HILITER_VERSION ); 217 234 218 235 //load jQuery::center script 219 wp_enqueue_script( parent::plugin_id . '-jquery-center', plugins_url( 'js/jquery.center.min.js', __FILE__ ), array( 'jquery' ) );236 wp_enqueue_script( parent::plugin_id . '-jquery-center', plugins_url( 'js/jquery.center.min.js', __FILE__ ), array( 'jquery' ), IG_SYNTAX_HILITER_VERSION ); 220 237 //load jQuery::msg script 221 wp_enqueue_script( parent::plugin_id . '-jquery-msg', plugins_url( 'js/jquery.msg.min.js', __FILE__ ), array( parent::plugin_id . '-jquery-center' ) );238 wp_enqueue_script( parent::plugin_id . '-jquery-msg', plugins_url( 'js/jquery.msg.min.js', __FILE__ ), array( parent::plugin_id . '-jquery-center' ), IG_SYNTAX_HILITER_VERSION ); 222 239 //load our script 223 wp_enqueue_script( parent::plugin_id . '-admin', plugins_url( 'js/admin.js', __FILE__ ), array( parent::plugin_id . '-jquery-msg' ) );240 wp_enqueue_script( parent::plugin_id . '-admin', plugins_url( 'js/admin.js', __FILE__ ), array( parent::plugin_id . '-jquery-msg' ), IG_SYNTAX_HILITER_VERSION ); 224 241 225 242 //some vars in JS that we'll need -
igsyntax-hiliter/trunk/class-ig-syntax-hiliter-frontend.php
r661663 r669333 70 70 protected $__geshi_language = array( 71 71 'as' => 'actionscript', 72 'actionscript' => 'actionscript',73 'actionscript3' => 'actionscript3',74 'apache' => 'apache',75 'applescript' => 'applescript',76 'asp' => 'asp',77 'bash' => 'bash',78 'c' => 'c',79 'code' => 'code',80 'csharp' => 'csharp',81 'css' => 'css',82 'c_mac' => 'c_mac',83 'diff' => 'diff',84 'groovy' => 'groovy',85 72 'html' => 'html4strict', 86 'html4strict' => 'html4strict',87 'html5' => 'html5',88 'ini' => 'ini',89 'java' => 'java',90 'java5' => 'java5',91 73 'js' => 'javascript', 92 'jquery' => 'jquery', 93 'mysql' => 'mysql', 94 'oracle11' => 'oracle11', 95 'pcre' => 'pcre', 96 'perl' => 'perl', 97 'perl6' => 'perl6', 98 'php' => 'php', 99 'postgresql' => 'postgresql', 100 'python' => 'python', 101 'rails' => 'rails', 102 'ruby' => 'ruby', 103 'sql' => 'sql', 104 'text' => 'text', 105 'vb' => 'vb', 106 'vbnet' => 'vbnet', 107 'xml' => 'xml', 108 'yaml' => 'yaml', 74 ); 75 76 /** 77 * @var Array Contains display names for some languages, like C# for csharp, VB.NET for vbnet 78 */ 79 protected $__geshi_language_display = array( 80 'cpp' => 'C++', 81 'cfm' => 'Cold Fusion', 82 'csharp' => 'C#', 83 'vbnet' => 'VB.NET', 84 'as' => 'ActionScript', 85 'c_mac' => 'CMac', 86 'html' => 'HTML4', 87 'html4strict' => 'HTML4', 109 88 ); 110 89 … … 115 94 //init options 116 95 $this->_init_options(); 96 97 $this->_build_tags_array(); 117 98 118 99 //setup our style/script enqueuing for front-end … … 182 163 183 164 //load stylesheet 184 wp_enqueue_style( self::plugin_id, plugins_url( 'css/front-end.css', __FILE__ ), false );165 wp_enqueue_style( self::plugin_id, plugins_url( 'css/front-end.css', __FILE__ ), false, IG_SYNTAX_HILITER_VERSION ); 185 166 //load utility lib 186 wp_enqueue_script( 'igeek-utils', plugins_url( 'js/igeek-utils.js', __FILE__ ), array() );167 wp_enqueue_script( 'igeek-utils', plugins_url( 'js/igeek-utils.js', __FILE__ ), array(), IG_SYNTAX_HILITER_VERSION ); 187 168 //load script 188 wp_enqueue_script( self::plugin_id, plugins_url( 'js/front-end.js', __FILE__ ), array( 'igeek-utils', 'jquery' ) );169 wp_enqueue_script( self::plugin_id, plugins_url( 'js/front-end.js', __FILE__ ), array( 'igeek-utils', 'jquery' ), IG_SYNTAX_HILITER_VERSION ); 189 170 190 171 //vars for front-end js … … 195 176 ) 196 177 ) ); 178 } 179 180 /** 181 * This function builds the array for shorthand tags for all language files 182 * available in supported directories 183 */ 184 protected function _build_tags_array() { 185 $languages = $this->_get_languages(); 186 if( empty( $languages ) ) { 187 return; 188 } 189 190 $keys = array_unique( array_merge( array_keys( $this->__geshi_language ), array_keys( $languages ) ) ); 191 192 $tags = array(); 193 194 foreach( $keys as $key ) { 195 if( array_key_exists( $key, $this->__geshi_language ) ) { 196 $tags[$key] = $this->__geshi_language[$key]; 197 continue; 198 } 199 200 if( array_key_exists( $key, $languages ) ) { 201 $tags[$key] = $languages[$key]; 202 continue; 203 } 204 } 205 206 ksort( $tags ); 207 208 $this->__geshi_language = $tags; 209 210 unset( $tags, $keys, $languages ); 197 211 } 198 212 … … 277 291 278 292 $language = sanitize_title( $language ); 279 $language_display = $language;293 $language_display = ( array_key_exists( $language, $this->__geshi_language_display ) ) ? $this->__geshi_language_display[$language] : $language; 280 294 $language = ( array_key_exists( $language, $this->__geshi_language ) ) ? $this->__geshi_language[$language] : $language; 281 295 … … 323 337 324 338 $is_language = true; //assume we have a valid language 339 $dir_path = parent::$__dirs['geshi']; //set default path to our geshi dir 340 325 341 if( function_exists('file_exists') ) { 326 if( ! file_exists( parent::$__geshi_dir . '/' . $language . '.php' ) ) { 342 foreach( parent::$__dirs as $key => $dir ) { 343 if( file_exists( $dir . '/' . $language . '.php' ) ) { 344 $is_language = true; //language file exists 345 $dir_path = $dir; //set language file dir 346 break; 347 } 348 327 349 $is_language = false; //language file doesn't exist 328 }329 330 //check for language file in theme directory331 if( $is_language === false ) {332 if( ! file_exists( get_template_directory() . '/geshi/' . $language . '.php' ) ) {333 $is_language = false; //language file doesn't exist334 } else {335 $is_language = true;336 $dir_path = get_template_directory() . '/geshi/';337 }338 }339 340 //check for language file in child theme directory341 if( $is_language === false && get_template_directory() !== get_stylesheet_directory() ) {342 if( ! file_exists( get_stylesheet_directory() . '/geshi/' . $language . '.php' ) ) {343 $is_language = false; //language file doesn't exist344 } else {345 $is_language = true;346 $dir_path = get_stylesheet_directory() . '/geshi/';347 }348 350 } 349 351 } … … 398 400 399 401 if( isset($dir_path) && ! empty($dir_path) ) { 400 // language file is not in plugin folder, load from theme402 //we have a path to language file 401 403 $geshi->set_language_path( $dir_path ); 402 404 } … … 429 431 $geshi->set_highlight_lines_extra_style( 'background-color:#FFFFBC;' ); //set bg color for special lines 430 432 } 433 434 $geshi->enable_strict_mode(); 435 431 436 $hilited_code = $geshi->parse_code(); //get it all 432 437 -
igsyntax-hiliter/trunk/class-ig-syntax-hiliter.php
r660809 r669333 18 18 const plugin_name = "iG:Syntax Hiliter"; 19 19 /** 20 * @var const Class constant containing life of language name cache in seconds 21 */ 22 const languages_cache_life = 259200; //3 days 23 /** 20 24 * @var String Static var containing path to GeSHi language file folder 21 25 */ 22 protected static $__ geshi_dir;26 protected static $__dirs; 23 27 24 28 /** … … 26 30 */ 27 31 private $_options; 32 33 /** 34 * This function returns time difference in human readable format 35 * like 2 days 13 hours 28 minutes 36 */ 37 public function human_time_diff( $from, $to = '' ) { 38 if( empty( $to ) ) { 39 $to = time(); 40 } 41 42 $minute_in_seconds = 60; 43 $hour_in_seconds = 60 * $minute_in_seconds; 44 $day_in_seconds = 24 * $hour_in_seconds; 45 46 $diff = (int) abs( $to - $from ); 47 48 $since = array(); 49 50 if( $diff >= $day_in_seconds ) { 51 $days = intval( $diff / $day_in_seconds ); 52 $since[] = sprintf( _n( '%s day', '%s days', $days ), $days ); 53 $diff = $diff - ( $days * $day_in_seconds ); 54 } 55 56 if( $diff >= $hour_in_seconds ) { 57 $hours = intval( $diff / $hour_in_seconds ); 58 $since[] = sprintf( _n( '%s hour', '%s hours', $hours ), $hours ); 59 $diff = $diff - ( $hours * $hour_in_seconds ); 60 } 61 62 if( $diff >= $minute_in_seconds ) { 63 $minutes = intval( $diff / $minute_in_seconds ); 64 $since[] = sprintf( _n( '%s minute', '%s minutes', $minutes ), $minutes ); 65 } 66 67 return implode( ' ', $since ); 68 } 69 70 /** 71 * This function scans the validated language file directories, retrieves the 72 * names of all files with .php extension and returns an array with unique 73 * file names 74 */ 75 public function build_language_list() { 76 if( empty( self::$__dirs ) ) { 77 return false; 78 } 79 80 $tags = array(); 81 82 foreach( self::$__dirs as $dir ) { 83 $tags = array_merge( $tags, glob( $dir . "/*.php" ) ); 84 } 85 86 $tags = array_unique( array_filter( array_map( array( $this, '_file_to_tag_name' ), $tags ) ) ); 87 sort( $tags ); 88 89 $this->_set_language_build_time(); //set language list built time 90 91 return $tags; 92 } 93 94 /** 95 * This function uses WP TLC class to fetch the language file names from supported directories 96 * and schedules a refresh of the transient cache. It also allows a force rebuild of 97 * transient cache via the optional $force_rebuild parameter. 98 */ 99 protected function _get_languages( $force_rebuild = 'no' ) { 100 $force_rebuild = ( ! $this->_is_yesno( $force_rebuild ) ) ? 'no' : strtolower( $force_rebuild ); 101 102 $transient = new TLC_Transient( self::plugin_id . '-languages' ); 103 104 if( $force_rebuild == 'yes' ) { 105 $transient->delete(); //delete existing cache so we'll get fresh one below 106 } 107 108 $languages = $transient->updates_with( array( $this, 'build_language_list' ) ) 109 ->expires_in( self::languages_cache_life ) 110 ->get(); 111 112 if( empty( $languages ) ) { 113 return; 114 } 115 116 return array_combine( $languages, $languages ); 117 } 118 119 /** 120 * Returns the timestamp when language file name cache was last built. If no timestamp 121 * found then it sets current timestamp and returns that. 122 */ 123 protected function _get_language_build_time() { 124 $time = get_option( self::plugin_id . '-lang-time' ); 125 if( $time === false ) { 126 return $this->_set_language_build_time(); 127 } 128 129 return $time; 130 } 131 132 /** 133 * Sets the timestamp to mark when language file name cache was built 134 */ 135 protected function _set_language_build_time() { 136 $time = time(); 137 update_option( self::plugin_id . '-lang-time', $time ); 138 return $time; 139 } 140 141 /** 142 * Returns the file name of a php file from the physical file path 143 */ 144 protected function _file_to_tag_name( $file_path ) { 145 $file_path = str_replace( '\\', '/', $file_path ); 146 $file_path = ( empty($file_path) || strpos( $file_path, '.php' ) === false ) ? '' : ltrim( rtrim( substr( $file_path, strrpos( $file_path, '/' ) ), '.php' ), '/' ); 147 return $file_path; 148 } 28 149 29 150 /** … … 110 231 111 232 /** 233 * This function stores geshi language file directory paths in an array. Besides 234 * the directory in the plugin's directory, it looks for geshi directory in parent 235 * and child theme directories, and whichever exists is stored. 236 */ 237 protected function _setup_dir_paths() { 238 self::$__dirs['geshi'] = dirname( __FILE__ ) . "/geshi"; //setup geshi dir path 239 self::$__dirs['theme'] = get_template_directory() . "/geshi"; //setup geshi dir path in current theme folder 240 self::$__dirs['child_theme'] = get_stylesheet_directory() . "/geshi"; //setup geshi dir path in child theme folder 241 242 if( ! is_dir( self::$__dirs['child_theme'] ) || self::$__dirs['theme'] == self::$__dirs['child_theme'] ) { 243 unset( self::$__dirs['child_theme'] ); //no geshi dir in child theme 244 } 245 246 if( ! is_dir( self::$__dirs['theme'] ) ) { 247 unset( self::$__dirs['theme'] ); //no geshi dir in current theme 248 } 249 } 250 251 /** 112 252 * This function is to be run in the constructor of the sub-class. It initializes 113 253 * the options storing them in the $_options class var. If the options are not in … … 116 256 */ 117 257 protected function _init_options() { 118 //setup geshi dir path 119 self::$__geshi_dir = __DIR__ . "/geshi"; 258 $this->_setup_dir_paths(); //setup valid language dir paths 120 259 121 260 $default_options = array( -
igsyntax-hiliter/trunk/css/admin.css
r660809 r669333 4 4 * @author: Amit Gupta 5 5 * @since: 2012-08-25 6 * @version: 201 2-08-256 * @version: 2013-02-17 7 7 */ 8 8 … … 38 38 font-weight: bold; color: #AA0000; 39 39 } 40 41 #igsh-time-to-rebuild { 42 font-style: italic; 43 } -
igsyntax-hiliter/trunk/ig-syntax-hiliter.php
r661663 r669333 4 4 Plugin URI: http://blog.igeek.info/wp-plugins/igsyntax-hiliter/ 5 5 Description: Syntax Highlighter plugin to colourize source code for various supported programming languages. See the MANUAL for more instructions. 6 Version: 4. 16 Version: 4.2 7 7 Author: Amit Gupta 8 8 Author URI: http://blog.igeek.info/ … … 10 10 11 11 if( ! defined('IG_SYNTAX_HILITER_VERSION') ) { 12 define( 'IG_SYNTAX_HILITER_VERSION', 4. 1);12 define( 'IG_SYNTAX_HILITER_VERSION', 4.2 ); 13 13 } 14 14 … … 18 18 function ig_syntax_hiliter_loader() { 19 19 $igsh_plugin_dir = dirname( __FILE__ ); 20 21 //load up TLC Transient class 22 require_once( $igsh_plugin_dir . "/tlc-transients.php" ); 20 23 21 24 //load up GeSHi -
igsyntax-hiliter/trunk/js/admin.js
r660809 r669333 4 4 * @author: Amit Gupta 5 5 * @since: 2012-08-25 6 * @version: 2013-0 1-296 * @version: 2013-02-17 7 7 */ 8 8 … … 61 61 ); 62 62 }); 63 64 $('#igsh_refresh_languages').on('click', function(){ 65 var ui_name = $(this).attr('name'); 66 var ui_value = $(this).val(); 67 $.msg({ 68 msgID : 1, 69 bgPath : ig_sh.plugins_url + 'images/', 70 autoUnblock : false, 71 clickUnblock : false, 72 klass : 'black-on-white', 73 content : 'Rebuilding <img src="' + ig_sh.plugins_url + 'images/ajax-loader.gif" id="loading-img" />' 74 }); 75 $.post( 76 ajaxurl, 77 { 78 action: 'ig-sh-save-options', 79 _ig_sh_nonce: ig_sh.nonce, 80 option_name: ui_name, 81 option_value: ui_value 82 }, 83 function(data) { 84 setTimeout( hide_jq_msg, 1000 ); 85 if( ! data || ! data.nonce || ! data.msg || ! data.time ) { 86 $.msg( 'replace', '<strong>Error:</strong> Unable to build tags' ); 87 } else { 88 ig_sh.nonce = data.nonce; 89 $.msg( 'replace', data.msg ); 90 $('#igsh-time-to-rebuild').html( data.time ); 91 } 92 }, 93 "json" 94 ); 95 }); 63 96 64 97 function hide_jq_msg() { -
igsyntax-hiliter/trunk/readme.txt
r661712 r669333 38 38 39 39 **See Also:** ["Installing Plugins" article on the WP Codex](http://codex.wordpress.org/Managing_Plugins#Installing_Plugins) 40 41 == Other Notes == 40 42 41 43 ###Plugin Usage### … … 86 88 == ChangeLog == 87 89 90 = v4.2 = 91 92 * BUGFIX: Shorthand tags for all languages supported now - props to Karol Kuczmarski for spotting it 93 * NEW: Added C++ language file 94 88 95 = v4.1 = 89 96 … … 105 112 * IMPROVED: Simpler and faster options page in wp-admin 106 113 107 = v3.5 =108 114 109 * BUGFIX: BB Tags except the ones of iG:Syntax Hiliter are allowed. The language file's existence is checked before parsing the code. If the language file does not exist then the code is not parsed. 110 * BUGFIX: 'C' code hiliting is now fixed. 111 * BUGFIX: 'Plain Text' has been improved to strip the extra blank lines and spaces in Opera and FireFox. 112 * NEW: The latest stable GeSHi core(v1.0.7.6). 113 * NEW: Code Hiliting for Comments has been implemented. This feature can be Enabled/Disabled from the admin interface for iG:Syntax Hiliter. The tags are same for hiliting the code. 114 * NEW: A cross-browser Colour Picker(tested in IE6, FireFox1.5 and Opera8.5) is now available to easily set the line colours displayed in the code box. 115 * NEW: A new type of view implemented for seeing "Plain Text" code. Besides opening the plain text code in a new window, you can have it displayed in the code box itself with an option to display the hilited HTML code back again. The "Plain Text" view type can be set in the admin interface. 116 * NEW: The language file for Ruby that I created a while back is now bundled with the plugin and its also a part of the default GeSHi package. 117 118 = v3.1 = 119 120 * BUGFIX: Critical bug, which broke the plugin when the square brackets([ & ]) were used in the posts in places other than tags, has been fixed. 121 * BUGFIX: Another bug, which allowed any attribute in the tags besides the 'num' and also allowed any attribute value for it, affecting the processing. Now only the 'num' attribute is accepted and if you specify the 'num' attribute then its value must be a positive number otherwise your code won't be hilited. The 'num' attribute is optional and you can leave it out without any problems. 122 * BUGFIX: Fixed the unclosed <select> tags in the Plugin GUI code. 123 * GeSHi BUGFIX: Fixed a bug in GeSHi where the first line colour was not used when using FANCY LINE NUMBERS thus resulting in just one colour being used for the alternate lines. 124 * There's a problem in WordPress due to which the starting delimiters of ASP, PHP were not displayed correctly, as whitespace was inserted between the '<' and the rest of the delimiter. This has been patched so that its displayed correctly, but its not saved in the database, so the database still contains the delimiters as formatted by WordPress. 125 126 = v3.0 = 127 128 * NEW LICENSE: iG:Syntax Hiliter is now licensed under GNU GPL. 129 * New GeSHi Core(v1.0.7) which has some bug-fixes, please see GeSHi Website for its changelog. 130 * New languages added are C#, Delphi, Smarty & VB.NET. 131 * ASP language file structure updated & more keywords added. 132 * Drag-n-Drop usage of new languages. The plugin now supports all languages that GeSHi(v1.0.7) supports. You just need to drop the language file in the "geshi" directory & use the filename as the tag for the language(like if file is "pascal.php", then the filename is "pascal" & the tags will be [pascal] & [/pascal]). 133 * Language name which is displayed in the Code-Box can now be turned ON or OFF easily. 134 * No more need to set the physical-path to the "geshi" directory if you are doing a default installation. 135 * Plain-Text View of the code hilited in the code-box is now possible. This feature can be enabled/disabled easily in the Configuration Interface in WordPress Administration. 136 * NO NEED TO EDIT THE PLUGIN FILE ANYMORE. You can now configure the plugin settings from a GUI located under the OPTIONS menu in your WordPress Administration(WordPress 1.5 & above only). 137 138 139 Changelog of versions prior to v3.0 is available in the [manual](http://plugins.svn.wordpress.org/igsyntax-hiliter/trunk/MANUAL.txt). 115 Changelog of versions prior to v4.0 is available in the [manual](http://plugins.svn.wordpress.org/igsyntax-hiliter/trunk/MANUAL.txt). 140 116 141 117 == Upgrade Notice == 142 118 143 = 4. 1=144 This version fixes a security related bug and a PHP 5.2 compatibility bug. Upgrade immediately.119 = 4.2 = 120 This version fixes the bug due to which shorthand tags for all included languages and user added languages did not work. 145 121 146 122
Note: See TracChangeset
for help on using the changeset viewer.