WordPress.org

Plugin Directory

Changeset 1789010


Ignore:
Timestamp:
12/18/17 17:21:11 (5 weeks ago)
Author:
bobbingwide
Message:

oik-css v0.9.0 2017/12/18 Now depends on oik v3.2.3. Tested with PHP 7.2

Location:
oik-css/trunk
Files:
1 added
14 edited

Legend:

Unmodified
Added
Removed
  • oik-css/trunk/admin/oik-activation.php

    r1311054 r1789010  
    1 <?php // (C) Copyright Bobbing Wide 2012-2015 
    2  
    3 /** 
    4  *  
    5  * @TODO This logic has been converted to a shared library in libs/oik-activation.php 
    6  */ 
     1<?php // (C) Copyright Bobbing Wide 2012-2017 
     2if ( !defined( "OIK_ACTIVATION_INCLUDED" ) ) { 
     3define( "OIK_ACTIVATION_INCLUDED", "3.2.0" ); 
     4 
    75 
    86if ( function_exists( "oik_plugin_lazy_activation" ) ) { 
     
    1311 * Produce an install plugin link 
    1412 * 
    15  * @param string $plugin 
    16  * @return string the install plugin link 
     13 * @param string $plugin plugin slug 
     14 * @return string link for the plugin install 
    1715 */ 
    1816function oik_plugin_install_plugin( $plugin ) { 
    19   $path = "update.php?action=install-plugin&plugin=$plugin"; 
    20   $url = admin_url( $path ); 
    21   $url = wp_nonce_url( $url, "install-plugin_$plugin" );  
    22   $link = '<a href="'; 
    23   $link .= $url; 
    24   $link .= '">'; 
    25   $link . __('Install') ; 
    26   $link .= " $plugin</a>"; 
    27   return( $link ); 
    28 } 
    29  
    30 /** 
    31  * Produce an "activate" plugin link 
    32  * 
    33  * @param string $plugin_file - e.g. oik/oik-header.php 
    34  * We may not be activating the main plugin, so we need the relative path filename of the plugin to activate 
    35  * @return string link to enable activation - which user must choose 
    36  * We probably don't need plugin_status OR paged parameters 
    37   
     17    $path = "update.php?action=install-plugin&plugin=$plugin"; 
     18    $url = admin_url( $path ); 
     19    $url = wp_nonce_url( $url, "install-plugin_$plugin" );  
     20    $link = '<a href="'; 
     21    $link .= $url; 
     22    $link .= '">'; 
     23    $link .= sprintf( __( 'Install %1$s', null ), $plugin ) ; 
     24    $link .= "</a>"; 
     25    return $link ; 
     26} 
     27 
     28/** 
     29 * Produces an "activate" plugin link 
     30 * 
     31 * We probably don't need plugin_status, s(earch) or paged parameters 
     32 * 
    3833 * ` 
    3934   http://example.com/wp-admin/plugins.php? 
     
    4136     &plugin=oik%2Foik.php 
    4237     &plugin_status=all 
    43      &paged=1&s 
     38     &paged=1 
     39         &s 
    4440     &_wpnonce=a53a158be5 
    4541 * ` 
     42 * 
     43 * @param string $plugin - relative plugin file e.g. oik/oik-header.php 
     44 * We may not be activating the main plugin, so we need the relative path filename of the plugin to activate 
     45 * @param string $plugin_name - e.g. oik-header 
     46 * @return string link to enable activation - which user must choose 
    4647*/                               
    4748function oik_plugin_activate_plugin( $plugin, $plugin_name) { 
    48   $path = "plugins.php?action=activate&plugin_status=all&paged=1&s&plugin=$plugin"; 
    49   $url = admin_url( $path ); 
    50   $url = wp_nonce_url( $url, "activate-plugin_$plugin" );  
    51   $link = '<a href="'; 
    52   $link .= $url; 
    53   $link .= '">'; 
    54   $link .= __( 'Activate' ); 
    55   $link .= " ${plugin_name}</a>"; 
    56   return( $link ); 
     49    $path = "plugins.php?action=activate&plugin_status=all&paged=1&s&plugin=$plugin"; 
     50    $url = admin_url( $path ); 
     51    $url = wp_nonce_url( $url, "activate-plugin_$plugin" );  
     52    $link = '<a href="'; 
     53    $link .= $url; 
     54    $link .= '">'; 
     55    $link .= sprintf( __( 'Activate %1$s', null ), $plugin_name ); 
     56    $link .= "</a>"; 
     57    return $link; 
    5758}  
    5859  
    59 /**     
    60     $path = "update.php?action=install-plugin&plugin=$plugin"; 
    61     $url = admin_url( $path ); 
    62     $url = wp_nonce_url( $url, "install-plugin_oik" );  
    63     $link = '<a href="'; 
    64     $link .= $url; 
    65     $link .= '">Install oik</a>'; 
    66      
    67   $url = wp_nonce_url(self_admin_url('update.php?action=upgrade-plugin&plugin=' . $update_file), 'upgrade-plugin_' . $update_file); 
     60/** 
     61 * Create an Update plugin link 
     62 * 
     63 * @param string $plugin the plugin slug 
     64 * @return string the update link 
    6865 */ 
    6966function oik_plugin_update_plugin( $plugin ) { 
    70   $path = "update.php?action=upgrade-plugin&plugin=$plugin"; 
    71   $url = admin_url( $path ); 
    72   $url = wp_nonce_url( $url, "upgrade-plugin_$plugin" );  
    73   $link = '<a href="'; 
    74   $link .= $url; 
    75   $link .= '">';  
    76   $link .= __(' Upgrade' ); 
    77   $link .= " $plugin</a>"; 
    78   return( $link ); 
     67    $path = "update.php?action=upgrade-plugin&plugin=$plugin"; 
     68    $url = admin_url( $path ); 
     69    $url = wp_nonce_url( $url, "upgrade-plugin_$plugin" );  
     70    $link = '<a href="'; 
     71    $link .= $url; 
     72    $link .= '">';  
     73    $link .= sprintf( __( 'Upgrade %1$s', null ), $plugin ); 
     74    $link .= "</a>"; 
     75    return $link; 
    7976} 
    8077 
    8178/**  
    8279 * Find out if we think the plugin is installed but not activated or not even installed 
     80 *  
    8381 * @param string $plugin - the plugin file name ( without plugin path info? ) 
    8482 * @return string - null if it's not installed or plugin to be activated 
     
    125123 
    126124/** 
     125 * Test if the plugin is activated 
     126 * 
    127127 * This won't work for Multisite since it doesn't find the network activated plugins 
    128128 * Even if it did, the admin may not be able to do anything. 
     
    187187function oik_plugin_plugin_inactive( $plugin=null, $dependencies=null, $problem=null ) { 
    188188  $plugin_name = basename( $plugin, ".php" ); 
    189   $dependencies = str_replace( ":", " version ", $dependencies ); 
     189  $dependencies = str_replace( ":", __(" version ", null) , $dependencies ); 
    190190  $text = "<p><b>"; 
    191   $text .= sprintf( __( '%1$s may not be fully functional.','oik'), $plugin_name ); 
     191  $text .= sprintf( __( '%1$s may not be fully functional.', null), $plugin_name ); 
    192192  $text .= "</b> "; 
    193   $text .= __( 'Please install and activate the required minimum version of this plugin:', 'oik' ); 
    194   $text .= "$dependencies</p>"; 
     193  $text .= sprintf( __( 'Please install and activate the required minimum version of this plugin: %1$s', null ), $dependencies ); 
     194    $text .= "</p>"; 
    195195   
    196196  if ( current_filter() == "admin_notices" ) { 
     
    231231 
    232232 
     233/** 
     234 * Simple implementation of plugin dependency logic 
     235 * 
     236 * @param string $plugin - the plugin file name 
     237 * @param string $dependencies - the list of plugins upon which this plugin is dependent 
     238 * @param string $callback - the callback function to invoke when the dependencies aren't satisfied 
     239 * 
     240 * Instead of calling this module during activation we invoke it in response to the  
     241 * after_plugin_row_$plugin_basename action. 
     242 *  
     243 * This gives us a bit more control over the information we provide. 
     244 * IF the oik plugin is not activated then oik_lazy_depends() will not be defined 
     245 *  
     246 */ 
     247if ( !function_exists( "oik_depends" ) ) { 
     248function oik_depends( $plugin=null, $dependencies="oik", $callback=null ) { 
     249  //bw_trace2(); 
     250  //if ( function_exists( "oik_load_plugins" )) { 
     251  //  oik_load_plugins(); 
     252  //}   
     253  if ( function_exists( "oik_lazy_depends" ) ) {   
     254    oik_lazy_depends( $plugin, $dependencies, $callback ); 
     255  } else { 
     256    if ( is_callable( $callback ) ) { 
     257      call_user_func( $callback, $plugin, $dependencies, "missing" ); 
     258    }   
     259  }   
     260} 
     261} 
     262 
     263 
    233264} // end else  
     265 
     266} // end if !defined()  
  • oik-css/trunk/admin/oik-css.php

    r1233617 r1789010  
    1 <?php // (C) Copyright Bobbing Wide 2014 
     1<?php // (C) Copyright Bobbing Wide 2014-2017 
    22 
    33function oik_css_lazy_oik_menu_box() { 
    4   oik_box( null, null, "oik-CSS options", "oik_css_options" ); 
     4  BW_::oik_box( null, null, __( "oik-CSS options", "oik-css" ), "oik_css_options" ); 
    55} 
    66 
     
    88  $option = "bw_css_options"; 
    99  $options = bw_form_start( $option, "oik_css_options" ); 
    10    
    11   bw_checkbox_arr( $option, "Disable automatic paragraph creation", $options, "bw_autop" );  
    12   
     10  bw_checkbox_arr( $option, __( "Disable automatic paragraph creation", "oik-css" ), $options, "bw_autop" );  
    1311  etag( "table" );           
    14   //bw_tablerow( array( "", "<input type=\"submit\" name=\"ok\" value=\"Save changes\" class=\"button-primary\"/>") );  
    15   e( isubmit( "ok", __("Save changes", "oik" ), null, "button-secondary" ) );  
     12  e( isubmit( "ok", __("Save changes", "oik-css" ), null, "button-secondary" ) );  
    1613  etag( "form" ); 
    17   //$bw_autop = $options['bw_autop'] ; 
    18   //if ( $bw_autop ) { 
    19     p( "To enable automatic paragraph creation use the [bw_autop] shortcode." ); 
    20   //} else { 
    21     p( "To disable automatic paragraph creation use [bw_autop off]." ); 
    22   // 
     14  BW_::p( __( "To enable automatic paragraph creation use the [bw_autop] shortcode.", "oik-css" ) ); 
     15  BW_::p( __( "To disable automatic paragraph creation use [bw_autop off].", "oik-css" ) ); 
    2316  bw_flush(); 
    2417} 
  • oik-css/trunk/geshi/geshi.php

    r738426 r1789010  
    2929 * @subpackage core 
    3030 * @author     Nigel McNie <nigel@geshi.org>, Benny Baumann <BenBE@omorphia.de> 
    31  * @copyright  (C) 2004 - 2007 Nigel McNie, (C) 2007 - 2008 Benny Baumann 
     31 * @copyright  (C) 2004 - 2007 Nigel McNie, (C) 2007 - 2014 Benny Baumann 
    3232 * @license    http://gnu.org/copyleft/gpl.html GNU GPL 
    33  * 
    3433 */ 
    3534 
     
    4241 
    4342/** The version of this GeSHi file */ 
    44 define('GESHI_VERSION', '1.0.8.11'); 
     43define('GESHI_VERSION', '1.0.9.0'); 
    4544 
    4645// Define the root directory for the GeSHi code tree 
     
    149148/** Used in language files to mark comments */ 
    150149define('GESHI_COMMENTS', 0); 
    151  
    152 /** Used to work around missing PHP features **/ 
    153 define('GESHI_PHP_PRE_433', !(version_compare(PHP_VERSION, '4.3.3') === 1)); 
    154  
    155 /** make sure we can call stripos **/ 
    156 if (!function_exists('stripos')) { 
    157     // the offset param of preg_match is not supported below PHP 4.3.3 
    158     if (GESHI_PHP_PRE_433) { 
    159         /** 
    160          * @ignore 
    161          */ 
    162         function stripos($haystack, $needle, $offset = null) { 
    163             if (!is_null($offset)) { 
    164                 $haystack = substr($haystack, $offset); 
    165             } 
    166             if (preg_match('/'. preg_quote($needle, '/') . '/', $haystack, $match, PREG_OFFSET_CAPTURE)) { 
    167                 return $match[0][1]; 
    168             } 
    169             return false; 
    170         } 
    171     } 
    172     else { 
    173         /** 
    174          * @ignore 
    175          */ 
    176         function stripos($haystack, $needle, $offset = null) { 
    177             if (preg_match('/'. preg_quote($needle, '/') . '/', $haystack, $match, PREG_OFFSET_CAPTURE, $offset)) { 
    178                 return $match[0][1]; 
    179             } 
    180             return false; 
    181         } 
    182     } 
    183 } 
    184150 
    185151/** some old PHP / PCRE subpatterns only support up to xxx subpatterns in 
     
    254220 * 
    255221 * @package   geshi 
    256  * @author    Nigel McNie <nigel@geshi.org>, Benny Baumann <BenBE@omorphia.de> 
    257  * @copyright (C) 2004 - 2007 Nigel McNie, (C) 2007 - 2008 Benny Baumann 
     222 * @author    Nigel McNie <nigel@geshi.org> 
     223 * @author    Benny Baumann <BenBE@omorphia.de> 
     224 * @copyright (C) 2004 - 2007 Nigel McNie, (C) 2007 - 2014 Benny Baumann 
    258225 */ 
    259226class GeSHi { 
    260     /**#@+ 
    261      * @access private 
    262      */ 
     227 
    263228    /** 
    264229     * The source code to highlight 
    265230     * @var string 
    266231     */ 
    267     var $source = ''; 
     232    protected $source = ''; 
    268233 
    269234    /** 
     
    271236     * @var string 
    272237     */ 
    273     var $language = ''; 
     238    protected $language = ''; 
    274239 
    275240    /** 
     
    277242     * @var array 
    278243     */ 
    279     var $language_data = array(); 
     244    protected $language_data = array(); 
    280245 
    281246    /** 
     
    283248     * @var string 
    284249     */ 
    285     var $language_path = GESHI_LANG_ROOT; 
     250    protected $language_path = GESHI_LANG_ROOT; 
    286251 
    287252    /** 
     
    290255     * @todo check err reporting works 
    291256     */ 
    292     var $error = false; 
     257    protected $error = false; 
    293258 
    294259    /** 
     
    296261     * @var array 
    297262     */ 
    298     var $error_messages = array( 
     263    protected $error_messages = array( 
    299264        GESHI_ERROR_NO_SUCH_LANG => 'GeSHi could not find the language {LANGUAGE} (using path {PATH})', 
    300265        GESHI_ERROR_FILE_NOT_READABLE => 'The file specified for load_from_file was not readable', 
     
    307272     * @var boolean 
    308273     */ 
    309     var $strict_mode = false; 
     274    protected $strict_mode = false; 
    310275 
    311276    /** 
     
    313278     * @var boolean 
    314279     */ 
    315     var $use_classes = false; 
     280    protected $use_classes = false; 
    316281 
    317282    /** 
     
    325290     * @var int 
    326291     */ 
    327     var $header_type = GESHI_HEADER_PRE; 
     292    protected $header_type = GESHI_HEADER_PRE; 
    328293 
    329294    /** 
     
    331296     * @var array 
    332297     */ 
    333     var $lexic_permissions = array( 
     298    protected $lexic_permissions = array( 
    334299        'KEYWORDS' =>    array(), 
    335300        'COMMENTS' =>    array('MULTI' => true), 
     
    348313     * @var double 
    349314     */ 
    350     var $time = 0; 
     315    protected $time = 0; 
    351316 
    352317    /** 
     
    354319     * @var string 
    355320     */ 
    356     var $header_content = ''; 
     321    protected $header_content = ''; 
    357322 
    358323    /** 
     
    360325     * @var string 
    361326     */ 
    362     var $footer_content = ''; 
     327    protected $footer_content = ''; 
    363328 
    364329    /** 
     
    366331     * @var string 
    367332     */ 
    368     var $header_content_style = ''; 
     333    protected $header_content_style = ''; 
    369334 
    370335    /** 
     
    372337     * @var string 
    373338     */ 
    374     var $footer_content_style = ''; 
     339    protected $footer_content_style = ''; 
    375340 
    376341    /** 
     
    379344     * @var boolean 
    380345     */ 
    381     var $force_code_block = false; 
     346    protected $force_code_block = false; 
    382347 
    383348    /** 
     
    385350     * @var array 
    386351     */ 
    387     var $link_styles = array(); 
     352    protected $link_styles = array(); 
    388353 
    389354    /** 
     
    393358     * @todo REMOVE THIS FUNCTIONALITY! 
    394359     */ 
    395     var $enable_important_blocks = false; 
     360    protected $enable_important_blocks = false; 
    396361 
    397362    /** 
     
    402367     * will be hard to implement in 1.2 
    403368     */ 
    404     var $important_styles = 'font-weight: bold; color: red;'; // Styles for important parts of the code 
     369    protected $important_styles = 'font-weight: bold; color: red;'; // Styles for important parts of the code 
    405370 
    406371    /** 
     
    408373     * @var boolean 
    409374     */ 
    410     var $add_ids = false; 
     375    protected $add_ids = false; 
    411376 
    412377    /** 
     
    414379     * @var array 
    415380     */ 
    416     var $highlight_extra_lines = array(); 
     381    protected $highlight_extra_lines = array(); 
    417382 
    418383    /** 
     
    420385     * @var array 
    421386     */ 
    422     var $highlight_extra_lines_styles = array(); 
     387    protected $highlight_extra_lines_styles = array(); 
    423388 
    424389    /** 
     
    426391     * @var string 
    427392     */ 
    428     var $highlight_extra_lines_style = 'background-color: #ffc;'; 
     393    protected $highlight_extra_lines_style = 'background-color: #ffc;'; 
    429394 
    430395    /** 
     
    434399     * @var string 
    435400     */ 
    436     var $line_ending = null; 
     401    protected $line_ending = null; 
    437402 
    438403    /** 
     
    440405     * @var int 
    441406     */ 
    442     var $line_numbers_start = 1; 
     407    protected $line_numbers_start = 1; 
    443408 
    444409    /** 
     
    446411     * @var string 
    447412     */ 
    448     var $overall_style = 'font-family:monospace;'; 
     413    protected $overall_style = 'font-family:monospace;'; 
    449414 
    450415    /** 
     
    452417     * @var string 
    453418     */ 
    454     var $code_style = 'font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;'; 
     419    protected $code_style = 'font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;'; 
    455420 
    456421    /** 
     
    458423     * @var string 
    459424     */ 
    460     var $overall_class = ''; 
     425    protected $overall_class = ''; 
    461426 
    462427    /** 
     
    464429     * @var string 
    465430     */ 
    466     var $overall_id = ''; 
     431    protected $overall_id = ''; 
    467432 
    468433    /** 
     
    470435     * @var string 
    471436     */ 
    472     var $line_style1 = 'font-weight: normal; vertical-align:top;'; 
     437    protected $line_style1 = 'font-weight: normal; vertical-align:top;'; 
    473438 
    474439    /** 
     
    476441     * @var string 
    477442     */ 
    478     var $line_style2 = 'font-weight: bold; vertical-align:top;'; 
     443    protected $line_style2 = 'font-weight: bold; vertical-align:top;'; 
    479444 
    480445    /** 
     
    482447     * @var string 
    483448     */ 
    484     var $table_linenumber_style = 'width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;'; 
     449    protected $table_linenumber_style = 'width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;'; 
    485450 
    486451    /** 
     
    488453     * @var boolean 
    489454     */ 
    490     var $line_numbers = GESHI_NO_LINE_NUMBERS; 
     455    protected $line_numbers = GESHI_NO_LINE_NUMBERS; 
    491456 
    492457    /** 
     
    495460     * @var boolean 
    496461     */ 
    497     var $allow_multiline_span = true; 
     462    protected $allow_multiline_span = true; 
    498463 
    499464    /** 
     
    501466     * @var int 
    502467     */ 
    503     var $line_nth_row = 0; 
     468    protected $line_nth_row = 0; 
    504469 
    505470    /** 
     
    507472     * @var int 
    508473     */ 
    509     var $tab_width = 8; 
     474    protected $tab_width = 8; 
    510475 
    511476    /** 
     
    513478     * @var int 
    514479     */ 
    515     var $use_language_tab_width = false; 
     480    protected $use_language_tab_width = false; 
    516481 
    517482    /** 
     
    519484     * @var string 
    520485     */ 
    521     var $link_target = ''; 
     486    protected $link_target = ''; 
    522487 
    523488    /** 
     
    526491     * @var string 
    527492     */ 
    528     var $encoding = 'utf-8'; 
     493    protected $encoding = 'utf-8'; 
    529494 
    530495    /** 
     
    532497     * @var boolean 
    533498     */ 
    534     var $keyword_links = true; 
     499    protected $keyword_links = true; 
    535500 
    536501    /** 
    537502     * Currently loaded language file 
    538      * @var string 
     503     * @var    string 
    539504     * @since 1.0.7.22 
    540505     */ 
    541     var $loaded_language = ''; 
     506    protected $loaded_language = ''; 
    542507 
    543508    /** 
    544509     * Wether the caches needed for parsing are built or not 
    545510     * 
    546      * @var bool 
     511     * @var   bool 
    547512     * @since 1.0.8 
    548513     */ 
    549     var $parse_cache_built = false; 
     514    protected $parse_cache_built = false; 
    550515 
    551516    /** 
     
    561526     * </blockquote> 
    562527     * 
    563      * @var array 
     528     * @var   array 
    564529     * @since 1.0.8 
    565530     */ 
    566     var $_kw_replace_group = 0; 
    567     var $_rx_key = 0; 
     531    protected $_kw_replace_group = 0; 
     532    protected $_rx_key = 0; 
    568533 
    569534    /** 
    570535     * some "callback parameters" for handle_multiline_regexps 
    571536     * 
    572      * @since 1.0.8 
     537     * @since  1.0.8 
    573538     * @access private 
    574      * @var string 
    575      */ 
    576     var $_hmr_before = ''; 
    577     var $_hmr_replace = ''; 
    578     var $_hmr_after = ''; 
    579     var $_hmr_key = 0; 
    580  
    581     /**#@-*/ 
     539     * @var    string 
     540     */ 
     541    protected $_hmr_before = ''; 
     542    protected $_hmr_replace = ''; 
     543    protected $_hmr_after = ''; 
     544    protected $_hmr_key = 0; 
    582545 
    583546    /** 
    584547     * Creates a new GeSHi object, with source and language 
    585548     * 
    586      * @param string The source code to highlight 
    587      * @param string The language to highlight the source with 
    588      * @param string The path to the language file directory. <b>This 
     549     * @param string $source   The source code to highlight 
     550     * @param string $language The language to highlight the source with 
     551     * @param string $path     The path to the language file directory. <b>This 
    589552     *               is deprecated!</b> I've backported the auto path 
    590553     *               detection from the 1.1.X dev branch, so now it 
     
    595558     * @since 1.0.0 
    596559     */ 
    597     function GeSHi($source = '', $language = '', $path = '') { 
    598         if (!empty($source)) { 
     560    public function __construct($source = '', $language = '', $path = '') { 
     561        if ( is_string($source) && ($source !== '') ) { 
    599562            $this->set_source($source); 
    600563        } 
    601         if (!empty($language)) { 
     564        if ( is_string($language) && ($language !== '') ) { 
    602565            $this->set_language($language); 
    603566        } 
     
    609572     * 
    610573     * @return string 
    611      * @since 1 0.8.11 
    612      */ 
    613     function get_version() 
     574     * @since  1.0.8.11 
     575     */ 
     576    public function get_version() 
    614577    { 
    615578        return GESHI_VERSION; 
     
    618581    /** 
    619582     * Returns an error message associated with the last GeSHi operation, 
    620      * or false if no error has occured 
     583     * or false if no error has occurred 
    621584     * 
    622585     * @return string|false An error message if there has been an error, else false 
    623586     * @since  1.0.0 
    624587     */ 
    625     function error() { 
     588    public function error() { 
    626589        if ($this->error) { 
    627590            //Put some template variables for debugging here ... 
     
    647610     * @since  1.0.2 
    648611     */ 
    649     function get_language_name() { 
     612    public function get_language_name() { 
    650613        if (GESHI_ERROR_NO_SUCH_LANG == $this->error) { 
    651614            return $this->language_data['LANG_NAME'] . ' (Unknown Language)'; 
     
    657620     * Sets the source code for this object 
    658621     * 
    659      * @param string The source code to highlight 
     622     * @param string $source The source code to highlight 
    660623     * @since 1.0.0 
    661624     */ 
    662     function set_source($source) { 
     625    public function set_source($source) { 
    663626        $this->source = $source; 
    664627        $this->highlight_extra_lines = array(); 
     
    671634     *       if you need this set $force_reset = true 
    672635     * 
    673      * @param string The name of the language to use 
     636     * @param string $language    The name of the language to use 
     637     * @param bool   $force_reset 
    674638     * @since 1.0.0 
    675639     */ 
    676     function set_language($language, $force_reset = false) { 
     640    public function set_language($language, $force_reset = false) { 
     641        $this->error = false; 
     642        $this->strict_mode = GESHI_NEVER; 
     643 
    677644        if ($force_reset) { 
    678645            $this->loaded_language = false; 
     
    693660        $this->language = $language; 
    694661 
    695         $this->error = false; 
    696         $this->strict_mode = GESHI_NEVER; 
    697  
    698662        //Check if we can read the desired file 
    699663        if (!is_readable($file_name)) { 
     
    711675     * geshi.php, NOT geshi.php itself. 
    712676     * 
    713      * @param string The path to the language directory 
     677     * @param string $path The path to the language directory 
    714678     * @since 1.0.0 
    715679     * @deprecated The path to the language files should now be automatically 
     
    718682     *             so this method will disappear in 1.2.0. 
    719683     */ 
    720     function set_language_path($path) { 
     684    public function set_language_path($path) { 
    721685        if(strpos($path,':')) { 
    722686            //Security Fix to prevent external directories using fopen wrappers. 
     
    749713    /** 
    750714     * Get supported langs or an associative array lang=>full_name. 
    751      * @param boolean $longnames 
     715     * @param boolean $full_names 
    752716     * @return array 
    753717     */ 
    754     function get_supported_languages($full_names=false) 
     718    public function get_supported_languages($full_names=false) 
    755719    { 
    756720        // return array 
     
    803767     * @return mixed 
    804768     */ 
    805     function get_language_fullname($language) 
     769    public function get_language_fullname($language) 
    806770    { 
    807771        //Clean up the language name to prevent malicious code injection 
     
    840804     * should be outputted. 
    841805     * 
    842      * @param int The type of header to be used 
     806     * @param int $type The type of header to be used 
    843807     * @since 1.0.0 
    844808     */ 
    845     function set_header_type($type) { 
     809    public function set_header_type($type) { 
    846810        //Check if we got a valid header type 
    847811        if (!in_array($type, array(GESHI_HEADER_NONE, GESHI_HEADER_DIV, 
     
    860824     * string of valid stylesheet declarations 
    861825     * 
    862      * @param string  The overall style for the outputted code block 
    863      * @param boolean Whether to merge the styles with the current styles or not 
     826     * @param string  $style             The overall style for the outputted code block 
     827     * @param boolean $preserve_defaults Whether to merge the styles with the current styles or not 
    864828     * @since 1.0.0 
    865829     */ 
    866     function set_overall_style($style, $preserve_defaults = false) { 
     830    public function set_overall_style($style, $preserve_defaults = false) { 
    867831        if (!$preserve_defaults) { 
    868832            $this->overall_style = $style; 
     
    877841     * output 
    878842     * 
    879      * @param string The class name to use for this block of code 
     843     * @param string $class The class name to use for this block of code 
    880844     * @since 1.0.0 
    881845     */ 
    882     function set_overall_class($class) { 
     846    public function set_overall_class($class) { 
    883847        $this->overall_class = $class; 
    884848    } 
     
    888852     * be used in a stylesheet to style this object's output 
    889853     * 
    890      * @param string The ID to use for this block of code 
     854     * @param string $id The ID to use for this block of code 
    891855     * @since 1.0.0 
    892856     */ 
    893     function set_overall_id($id) { 
     857    public function set_overall_id($id) { 
    894858        $this->overall_id = $id; 
    895859    } 
     
    899863     * is off, calling this method with no arguments will turn it on 
    900864     * 
    901      * @param boolean Whether to turn classes on or not 
     865     * @param boolean $flag Whether to turn classes on or not 
    902866     * @since 1.0.0 
    903867     */ 
    904     function enable_classes($flag = true) { 
     868    public function enable_classes($flag = true) { 
    905869        $this->use_classes = ($flag) ? true : false; 
    906870    } 
     
    917881     * GeSHi documentation for more information about this. 
    918882     * 
    919      * @param string  The style to use for actual code 
    920      * @param boolean Whether to merge the current styles with the new styles 
     883     * @param string  $style             The style to use for actual code 
     884     * @param boolean $preserve_defaults Whether to merge the current styles with the new styles 
    921885     * @since 1.0.2 
    922886     */ 
    923     function set_code_style($style, $preserve_defaults = false) { 
     887    public function set_code_style($style, $preserve_defaults = false) { 
    924888        if (!$preserve_defaults) { 
    925889            $this->code_style = $style; 
     
    932896     * Sets the styles for the line numbers. 
    933897     * 
    934      * @param string The style for the line numbers that are "normal" 
    935      * @param string|boolean If a string, this is the style of the line 
     898     * @param string         $style1 The style for the line numbers that are "normal" 
     899     * @param string|boolean $style2 If a string, this is the style of the line 
    936900     *        numbers that are "fancy", otherwise if boolean then this 
    937901     *        defines whether the normal styles should be merged with the 
    938902     *        new normal styles or not 
    939      * @param boolean If set, is the flag for whether to merge the "fancy" 
     903     * @param boolean        $preserve_defaults If set, is the flag for whether to merge the "fancy" 
    940904     *        styles with the current styles or not 
    941905     * @since 1.0.2 
    942906     */ 
    943     function set_line_style($style1, $style2 = '', $preserve_defaults = false) { 
     907    public function set_line_style($style1, $style2 = '', $preserve_defaults = false) { 
    944908        //Check if we got 2 or three parameters 
    945909        if (is_bool($style2)) { 
     
    971935     * 5th line will be fancy. 
    972936     * 
    973      * @param int How line numbers should be displayed 
    974      * @param int Defines which lines are fancy 
     937     * @param int $flag    How line numbers should be displayed 
     938     * @param int $nth_row Defines which lines are fancy 
    975939     * @since 1.0.0 
    976940     */ 
    977     function enable_line_numbers($flag, $nth_row = 5) { 
     941    public function enable_line_numbers($flag, $nth_row = 5) { 
    978942        if (GESHI_NO_LINE_NUMBERS != $flag && GESHI_NORMAL_LINE_NUMBERS != $flag 
    979943            && GESHI_FANCY_LINE_NUMBERS != $flag) { 
     
    990954     * the code in an ordered list. 
    991955     * 
    992      * @param boolean Wether multiline spans are allowed or not 
     956     * @param boolean $flag Wether multiline spans are allowed or not 
    993957     * @since 1.0.7.22 
    994958     */ 
    995     function enable_multiline_span($flag) { 
     959    public function enable_multiline_span($flag) { 
    996960        $this->allow_multiline_span = (bool) $flag; 
    997961    } 
     
    1003967     * @return bool 
    1004968     */ 
    1005     function get_multiline_span() { 
     969    public function get_multiline_span() { 
    1006970        return $this->allow_multiline_span; 
    1007971    } 
     
    1012976     * user defined styles having priority 
    1013977     * 
    1014      * @param int     The key of the keyword group to change the styles of 
    1015      * @param string  The style to make the keywords 
    1016      * @param boolean Whether to merge the new styles with the old or just 
     978     * @param int     $key               The key of the keyword group to change the styles of 
     979     * @param string  $style             The style to make the keywords 
     980     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
    1017981     *                to overwrite them 
    1018982     * @since 1.0.0 
    1019983     */ 
    1020     function set_keyword_group_style($key, $style, $preserve_defaults = false) { 
     984    public function set_keyword_group_style($key, $style, $preserve_defaults = false) { 
    1021985        //Set the style for this keyword group 
    1022         if (!$preserve_defaults) { 
    1023             $this->language_data['STYLES']['KEYWORDS'][$key] = $style; 
     986        if('*' == $key) { 
     987            foreach($this->language_data['STYLES']['KEYWORDS'] as $_key => $_value) { 
     988                if (!$preserve_defaults) { 
     989                    $this->language_data['STYLES']['KEYWORDS'][$_key] = $style; 
     990                } else { 
     991                    $this->language_data['STYLES']['KEYWORDS'][$_key] .= $style; 
     992                } 
     993            } 
    1024994        } else { 
    1025             $this->language_data['STYLES']['KEYWORDS'][$key] .= $style; 
     995            if (!$preserve_defaults) { 
     996                $this->language_data['STYLES']['KEYWORDS'][$key] = $style; 
     997            } else { 
     998                $this->language_data['STYLES']['KEYWORDS'][$key] .= $style; 
     999            } 
    10261000        } 
    10271001 
     
    10351009     * Turns highlighting on/off for a keyword group 
    10361010     * 
    1037      * @param int     The key of the keyword group to turn on or off 
    1038      * @param boolean Whether to turn highlighting for that group on or off 
     1011     * @param int     $key  The key of the keyword group to turn on or off 
     1012     * @param boolean $flag Whether to turn highlighting for that group on or off 
    10391013     * @since 1.0.0 
    10401014     */ 
    1041     function set_keyword_group_highlighting($key, $flag = true) { 
     1015    public function set_keyword_group_highlighting($key, $flag = true) { 
    10421016        $this->lexic_permissions['KEYWORDS'][$key] = ($flag) ? true : false; 
    10431017    } 
     
    10481022     * user defined styles having priority 
    10491023     * 
    1050      * @param int     The key of the comment group to change the styles of 
    1051      * @param string  The style to make the comments 
    1052      * @param boolean Whether to merge the new styles with the old or just 
     1024     * @param int     $key               The key of the comment group to change the styles of 
     1025     * @param string  $style             The style to make the comments 
     1026     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
    10531027     *                to overwrite them 
    10541028     * @since 1.0.0 
    10551029     */ 
    1056     function set_comments_style($key, $style, $preserve_defaults = false) { 
    1057         if (!$preserve_defaults) { 
    1058             $this->language_data['STYLES']['COMMENTS'][$key] = $style; 
     1030    public function set_comments_style($key, $style, $preserve_defaults = false) { 
     1031        if('*' == $key) { 
     1032            foreach($this->language_data['STYLES']['COMMENTS'] as $_key => $_value) { 
     1033                if (!$preserve_defaults) { 
     1034                    $this->language_data['STYLES']['COMMENTS'][$_key] = $style; 
     1035                } else { 
     1036                    $this->language_data['STYLES']['COMMENTS'][$_key] .= $style; 
     1037                } 
     1038            } 
    10591039        } else { 
    1060             $this->language_data['STYLES']['COMMENTS'][$key] .= $style; 
     1040            if (!$preserve_defaults) { 
     1041                $this->language_data['STYLES']['COMMENTS'][$key] = $style; 
     1042            } else { 
     1043                $this->language_data['STYLES']['COMMENTS'][$key] .= $style; 
     1044            } 
    10611045        } 
    10621046    } 
     
    10651049     * Turns highlighting on/off for comment groups 
    10661050     * 
    1067      * @param int     The key of the comment group to turn on or off 
    1068      * @param boolean Whether to turn highlighting for that group on or off 
     1051     * @param int     $key  The key of the comment group to turn on or off 
     1052     * @param boolean $flag Whether to turn highlighting for that group on or off 
    10691053     * @since 1.0.0 
    10701054     */ 
    1071     function set_comments_highlighting($key, $flag = true) { 
     1055    public function set_comments_highlighting($key, $flag = true) { 
    10721056        $this->lexic_permissions['COMMENTS'][$key] = ($flag) ? true : false; 
    10731057    } 
     
    10781062     * user defined styles having priority 
    10791063     * 
    1080      * @param string  The style to make the escape characters 
    1081      * @param boolean Whether to merge the new styles with the old or just 
    1082      *                to overwrite them 
     1064     * @param string  $style             The style to make the escape characters 
     1065     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
     1066     *                                   to overwrite them 
     1067     * @param int     $group             Tells the group of symbols for which style should be set. 
    10831068     * @since 1.0.0 
    10841069     */ 
    1085     function set_escape_characters_style($style, $preserve_defaults = false, $group = 0) { 
     1070    public function set_escape_characters_style($style, $preserve_defaults = false, $group = 0) { 
    10861071        if (!$preserve_defaults) { 
    10871072            $this->language_data['STYLES']['ESCAPE_CHAR'][$group] = $style; 
     
    10941079     * Turns highlighting on/off for escaped characters 
    10951080     * 
    1096      * @param boolean Whether to turn highlighting for escape characters on or off 
     1081     * @param boolean $flag Whether to turn highlighting for escape characters on or off 
    10971082     * @since 1.0.0 
    10981083     */ 
    1099     function set_escape_characters_highlighting($flag = true) { 
     1084    public function set_escape_characters_highlighting($flag = true) { 
    11001085        $this->lexic_permissions['ESCAPE_CHAR'] = ($flag) ? true : false; 
    11011086    } 
     
    11091094     * This method will be removed in 1.2.X 
    11101095     * 
    1111      * @param string  The style to make the brackets 
    1112      * @param boolean Whether to merge the new styles with the old or just 
     1096     * @param string  $style             The style to make the brackets 
     1097     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
    11131098     *                to overwrite them 
    11141099     * @since 1.0.0 
    11151100     * @deprecated In favour of set_symbols_style 
    11161101     */ 
    1117     function set_brackets_style($style, $preserve_defaults = false) { 
     1102    public function set_brackets_style($style, $preserve_defaults = false) { 
    11181103        if (!$preserve_defaults) { 
    11191104            $this->language_data['STYLES']['BRACKETS'][0] = $style; 
     
    11291114     * This method will be remove in 1.2.X 
    11301115     * 
    1131      * @param boolean Whether to turn highlighting for brackets on or off 
     1116     * @param boolean $flag Whether to turn highlighting for brackets on or off 
    11321117     * @since 1.0.0 
    11331118     * @deprecated In favour of set_symbols_highlighting 
    11341119     */ 
    1135     function set_brackets_highlighting($flag) { 
     1120    public function set_brackets_highlighting($flag) { 
    11361121        $this->lexic_permissions['BRACKETS'] = ($flag) ? true : false; 
    11371122    } 
     
    11421127     * user defined styles having priority 
    11431128     * 
    1144      * @param string  The style to make the symbols 
    1145      * @param boolean Whether to merge the new styles with the old or just 
    1146      *                to overwrite them 
    1147      * @param int     Tells the group of symbols for which style should be set. 
     1129     * @param string  $style             The style to make the symbols 
     1130     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
     1131     *                                   to overwrite them 
     1132     * @param int     $group             Tells the group of symbols for which style should be set. 
    11481133     * @since 1.0.1 
    11491134     */ 
    1150     function set_symbols_style($style, $preserve_defaults = false, $group = 0) { 
     1135    public function set_symbols_style($style, $preserve_defaults = false, $group = 0) { 
    11511136        // Update the style of symbols 
    11521137        if (!$preserve_defaults) { 
     
    11651150     * Turns highlighting on/off for symbols 
    11661151     * 
    1167      * @param boolean Whether to turn highlighting for symbols on or off 
     1152     * @param boolean $flag Whether to turn highlighting for symbols on or off 
    11681153     * @since 1.0.0 
    11691154     */ 
    1170     function set_symbols_highlighting($flag) { 
     1155    public function set_symbols_highlighting($flag) { 
    11711156        // Update lexic permissions for this symbol group 
    11721157        $this->lexic_permissions['SYMBOLS'] = ($flag) ? true : false; 
     
    11811166     * user defined styles having priority 
    11821167     * 
    1183      * @param string  The style to make the escape characters 
    1184      * @param boolean Whether to merge the new styles with the old or just 
    1185      *                to overwrite them 
    1186      * @param int     Tells the group of strings for which style should be set. 
     1168     * @param string  $style             The style to make the escape characters 
     1169     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
     1170     *                                   to overwrite them 
     1171     * @param int     $group             Tells the group of strings for which style should be set. 
    11871172     * @since 1.0.0 
    11881173     */ 
    1189     function set_strings_style($style, $preserve_defaults = false, $group = 0) { 
     1174    public function set_strings_style($style, $preserve_defaults = false, $group = 0) { 
    11901175        if (!$preserve_defaults) { 
    11911176            $this->language_data['STYLES']['STRINGS'][$group] = $style; 
     
    11981183     * Turns highlighting on/off for strings 
    11991184     * 
    1200      * @param boolean Whether to turn highlighting for strings on or off 
     1185     * @param boolean $flag Whether to turn highlighting for strings on or off 
    12011186     * @since 1.0.0 
    12021187     */ 
    1203     function set_strings_highlighting($flag) { 
     1188    public function set_strings_highlighting($flag) { 
    12041189        $this->lexic_permissions['STRINGS'] = ($flag) ? true : false; 
    12051190    } 
     
    12101195     * user defined styles having priority 
    12111196     * 
    1212      * @param string  The style to make the script blocks 
    1213      * @param boolean Whether to merge the new styles with the old or just 
    1214      *                to overwrite them 
    1215      * @param int     Tells the group of script blocks for which style should be set. 
     1197     * @param string  $style             The style to make the script blocks 
     1198     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
     1199     *                                   to overwrite them 
     1200     * @param int     $group             Tells the group of script blocks for which style should be set. 
    12161201     * @since 1.0.8.4 
    12171202     */ 
    1218     function set_script_style($style, $preserve_defaults = false, $group = 0) { 
     1203    public function set_script_style($style, $preserve_defaults = false, $group = 0) { 
    12191204        // Update the style of symbols 
    12201205        if (!$preserve_defaults) { 
     
    12301215     * user defined styles having priority 
    12311216     * 
    1232      * @param string  The style to make the numbers 
    1233      * @param boolean Whether to merge the new styles with the old or just 
    1234      *                to overwrite them 
    1235      * @param int     Tells the group of numbers for which style should be set. 
     1217     * @param string  $style             The style to make the numbers 
     1218     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
     1219     *                                   to overwrite them 
     1220     * @param int     $group             Tells the group of numbers for which style should be set. 
    12361221     * @since 1.0.0 
    12371222     */ 
    1238     function set_numbers_style($style, $preserve_defaults = false, $group = 0) { 
     1223    public function set_numbers_style($style, $preserve_defaults = false, $group = 0) { 
    12391224        if (!$preserve_defaults) { 
    12401225            $this->language_data['STYLES']['NUMBERS'][$group] = $style; 
     
    12471232     * Turns highlighting on/off for numbers 
    12481233     * 
    1249      * @param boolean Whether to turn highlighting for numbers on or off 
     1234     * @param boolean $flag Whether to turn highlighting for numbers on or off 
    12501235     * @since 1.0.0 
    12511236     */ 
    1252     function set_numbers_highlighting($flag) { 
     1237    public function set_numbers_highlighting($flag) { 
    12531238        $this->lexic_permissions['NUMBERS'] = ($flag) ? true : false; 
    12541239    } 
     
    12611246     * user defined styles having priority 
    12621247     * 
    1263      * @param int     The key of the object splitter to change the styles of 
    1264      * @param string  The style to make the methods 
    1265      * @param boolean Whether to merge the new styles with the old or just 
    1266      *                to overwrite them 
     1248     * @param int     $key               The key of the object splitter to change the styles of 
     1249     * @param string  $style             The style to make the methods 
     1250     * @param boolean $preserve_defaults Whether to merge the new styles with the old or just 
     1251     *                                   to overwrite them 
    12671252     * @since 1.0.0 
    12681253     */ 
    1269     function set_methods_style($key, $style, $preserve_defaults = false) { 
     1254    public function set_methods_style($key, $style, $preserve_defaults = false) { 
    12701255        if (!$preserve_defaults) { 
    12711256            $this->language_data['STYLES']['METHODS'][$key] = $style; 
     
    12781263     * Turns highlighting on/off for methods 
    12791264     * 
    1280      * @param boolean Whether to turn highlighting for methods on or off 
     1265     * @param boolean $flag Whether to turn highlighting for methods on or off 
    12811266     * @since 1.0.0 
    12821267     */ 
    1283     function set_methods_highlighting($flag) { 
     1268    public function set_methods_highlighting($flag) { 
    12841269        $this->lexic_permissions['METHODS'] = ($flag) ? true : false; 
    12851270    } 
     
    12901275     * user defined styles having priority 
    12911276     * 
    1292      * @param string  The style to make the regular expression matches 
    1293      * @param boolean Whether to merge the new styles with the old or just 
    1294      *                to overwrite them 
     1277     * @param string  $key               The style to make the regular expression matches 
     1278     * @param boolean $style             Whether to merge the new styles with the old or just 
     1279     *                                   to overwrite them 
     1280     * @param bool    $preserve_defaults Whether to merge the new styles with the old or just 
     1281     *                                to overwrite them 
    12951282     * @since 1.0.0 
    12961283     */ 
    1297     function set_regexps_style($key, $style, $preserve_defaults = false) { 
     1284    public function set_regexps_style($key, $style, $preserve_defaults = false) { 
    12981285        if (!$preserve_defaults) { 
    12991286            $this->language_data['STYLES']['REGEXPS'][$key] = $style; 
     
    13061293     * Turns highlighting on/off for regexps 
    13071294     * 
    1308      * @param int     The key of the regular expression group to turn on or off 
    1309      * @param boolean Whether to turn highlighting for the regular expression group on or off 
     1295     * @param int     $key  The key of the regular expression group to turn on or off 
     1296     * @param boolean $flag Whether to turn highlighting for the regular expression group on or off 
    13101297     * @since 1.0.0 
    13111298     */ 
    1312     function set_regexps_highlighting($key, $flag) { 
     1299    public function set_regexps_highlighting($key, $flag) { 
    13131300        $this->lexic_permissions['REGEXPS'][$key] = ($flag) ? true : false; 
    13141301    } 
     
    13171304     * Sets whether a set of keywords are checked for in a case sensitive manner 
    13181305     * 
    1319      * @param int The key of the keyword group to change the case sensitivity of 
    1320      * @param boolean Whether to check in a case sensitive manner or not 
     1306     * @param int     $key  The key of the keyword group to change the case sensitivity of 
     1307     * @param boolean $case Whether to check in a case sensitive manner or not 
    13211308     * @since 1.0.0 
    13221309     */ 
    1323     function set_case_sensitivity($key, $case) { 
     1310    public function set_case_sensitivity($key, $case) { 
    13241311        $this->language_data['CASE_SENSITIVE'][$key] = ($case) ? true : false; 
    13251312    } 
     
    13321319     *  - GESHI_CAPS_LOWER: convert all keywords to lowercase where found 
    13331320     * 
    1334      * @param int A constant specifying what to do with matched keywords 
     1321     * @param int $case A constant specifying what to do with matched keywords 
    13351322     * @since 1.0.1 
    13361323     */ 
    1337     function set_case_keywords($case) { 
     1324    public function set_case_keywords($case) { 
    13381325        if (in_array($case, array( 
    13391326            GESHI_CAPS_NO_CHANGE, GESHI_CAPS_UPPER, GESHI_CAPS_LOWER))) { 
     
    13471334     * Widths below zero are ignored 
    13481335     * 
    1349      * @param int The tab width 
     1336     * @param int $width The tab width 
    13501337     * @since 1.0.0 
    13511338     */ 
    1352     function set_tab_width($width) { 
     1339    public function set_tab_width($width) { 
    13531340        $this->tab_width = intval($width); 
    13541341 
     
    13631350     * Sets whether or not to use tab-stop width specifed by language 
    13641351     * 
    1365      * @param boolean Whether to use language-specific tab-stop widths 
     1352     * @param boolean $use Whether to use language-specific tab-stop widths 
    13661353     * @since 1.0.7.20 
    13671354     */ 
    1368     function set_use_language_tab_width($use) { 
     1355    public function set_use_language_tab_width($use) { 
    13691356        $this->use_language_tab_width = (bool) $use; 
    13701357    } 
     
    13771364     * @since 1.0.7.20 
    13781365     */ 
    1379     function get_real_tab_width() { 
     1366    public function get_real_tab_width() { 
    13801367        if (!$this->use_language_tab_width || 
    13811368            !isset($this->language_data['TAB_WIDTH'])) { 
     
    13911378     * for more details on strict mode and where to use it. 
    13921379     * 
    1393      * @param boolean Whether to enable strict mode or not 
     1380     * @param boolean $mode Whether to enable strict mode or not 
    13941381     * @since 1.0.0 
    13951382     */ 
    1396     function enable_strict_mode($mode = true) { 
     1383    public function enable_strict_mode($mode = true) { 
    13971384        if (GESHI_MAYBE == $this->language_data['STRICT_MODE_APPLIES']) { 
    13981385            $this->strict_mode = ($mode) ? GESHI_ALWAYS : GESHI_NEVER; 
     
    14071394     * @deprecated In favour of enable_highlighting 
    14081395     */ 
    1409     function disable_highlighting() { 
     1396    public function disable_highlighting() { 
    14101397        $this->enable_highlighting(false); 
    14111398    } 
     
    14181405     * 
    14191406     * @since 1.0.0 
    1420      * @param boolean A flag specifying whether to enable or disable all highlighting 
     1407     * @param boolean $flag A flag specifying whether to enable or disable all highlighting 
    14211408     * @todo  Rewrite with array traversal 
    14221409     */ 
    1423     function enable_highlighting($flag = true) { 
     1410    public function enable_highlighting($flag = true) { 
    14241411        $flag = $flag ? true : false; 
    14251412        foreach ($this->lexic_permissions as $key => $value) { 
     
    14411428     * name, or the empty string if it couldn't be found 
    14421429     * 
    1443      * @param string The extension to get a language name for 
    1444      * @param array  A lookup array to use instead of the default one 
     1430     * @param string $extension The extension to get a language name for 
     1431     * @param array  $lookup    A lookup array to use instead of the default one 
    14451432     * @since 1.0.5 
    14461433     * @todo Re-think about how this method works (maybe make it private and/or make it 
    14471434     *       a extension->lang lookup?) 
    1448      * @todo static? 
    1449      */ 
    1450     function get_language_name_from_extension( $extension, $lookup = array() ) { 
     1435     * @return int|string 
     1436     */ 
     1437    public static function get_language_name_from_extension( $extension, $lookup = array() ) { 
    14511438        $extension = strtolower($extension); 
    14521439 
     
    15501537     * );</pre> 
    15511538     * 
    1552      * @param string The filename to load the source from 
    1553      * @param array  A lookup array to use instead of the default one 
     1539     * @param string $file_name The filename to load the source from 
     1540     * @param array  $lookup    A lookup array to use instead of the default one 
    15541541     * @todo Complete rethink of this and above method 
    15551542     * @since 1.0.5 
    15561543     */ 
    1557     function load_from_file($file_name, $lookup = array()) { 
     1544    public function load_from_file($file_name, $lookup = array()) { 
    15581545        if (is_readable($file_name)) { 
    15591546            $this->set_source(file_get_contents($file_name)); 
    1560             $this->set_language($this->get_language_name_from_extension(substr(strrchr($file_name, '.'), 1), $lookup)); 
     1547            $this->set_language(self::get_language_name_from_extension(substr(strrchr($file_name, '.'), 1), $lookup)); 
    15611548        } else { 
    15621549            $this->error = GESHI_ERROR_FILE_NOT_READABLE; 
     
    15671554     * Adds a keyword to a keyword group for highlighting 
    15681555     * 
    1569      * @param int    The key of the keyword group to add the keyword to 
    1570      * @param string The word to add to the keyword group 
     1556     * @param int    $key  The key of the keyword group to add the keyword to 
     1557     * @param string $word The word to add to the keyword group 
    15711558     * @since 1.0.0 
    15721559     */ 
    1573     function add_keyword($key, $word) { 
     1560    public function add_keyword($key, $word) { 
    15741561        if (!is_array($this->language_data['KEYWORDS'][$key])) { 
    15751562            $this->language_data['KEYWORDS'][$key] = array(); 
     
    15891576     * Removes a keyword from a keyword group 
    15901577     * 
    1591      * @param int    The key of the keyword group to remove the keyword from 
    1592      * @param string The word to remove from the keyword group 
    1593      * @param bool   Wether to automatically recompile the optimized regexp list or not. 
     1578     * @param int    $key       The key of the keyword group to remove the keyword from 
     1579     * @param string $word      The word to remove from the keyword group 
     1580     * @param bool   $recompile Wether to automatically recompile the optimized regexp list or not. 
    15941581     *               Note: if you set this to false and @see GeSHi->parse_code() was already called once, 
    15951582     *               for the current language, you have to manually call @see GeSHi->optimize_keyword_group() 
     
    15991586     * @since 1.0.0 
    16001587     */ 
    1601     function remove_keyword($key, $word, $recompile = true) { 
     1588    public function remove_keyword($key, $word, $recompile = true) { 
    16021589        $key_to_remove = array_search($word, $this->language_data['KEYWORDS'][$key]); 
    16031590        if ($key_to_remove !== false) { 
     
    16141601     * Creates a new keyword group 
    16151602     * 
    1616      * @param int    The key of the keyword group to create 
    1617      * @param string The styles for the keyword group 
    1618      * @param boolean Whether the keyword group is case sensitive ornot 
    1619      * @param array  The words to use for the keyword group 
     1603     * @param int     $key            The key of the keyword group to create 
     1604     * @param string  $styles         The styles for the keyword group 
     1605     * @param boolean $case_sensitive Whether the keyword group is case sensitive ornot 
     1606     * @param array   $words          The words to use for the keyword group 
    16201607     * @since 1.0.0 
    1621      */ 
    1622     function add_keyword_group($key, $styles, $case_sensitive = true, $words = array()) { 
     1608     * @return bool 
     1609     */ 
     1610    public function add_keyword_group($key, $styles, $case_sensitive = true, $words = array()) { 
    16231611        $words = (array) $words; 
    16241612        if  (empty($words)) { 
     
    16371625            $this->optimize_keyword_group($key); 
    16381626        } 
     1627        return true; 
    16391628    } 
    16401629 
     
    16421631     * Removes a keyword group 
    16431632     * 
    1644      * @param int   The key of the keyword group to remove 
     1633     * @param int $key The key of the keyword group to remove 
    16451634     * @since 1.0.0 
    16461635     */ 
    1647     function remove_keyword_group ($key) { 
     1636    public function remove_keyword_group ($key) { 
    16481637        //Remove the keyword group internally 
    16491638        unset($this->language_data['KEYWORDS'][$key]); 
     
    16591648     * compile optimized regexp list for keyword group 
    16601649     * 
    1661      * @param int   The key of the keyword group to compile & optimize 
     1650     * @param int $key The key of the keyword group to compile & optimize 
    16621651     * @since 1.0.8 
    16631652     */ 
    1664     function optimize_keyword_group($key) { 
     1653    public function optimize_keyword_group($key) { 
    16651654        $this->language_data['CACHED_KEYWORD_LISTS'][$key] = 
    16661655            $this->optimize_regexp_list($this->language_data['KEYWORDS'][$key]); 
     
    16891678     * Sets the content of the header block 
    16901679     * 
    1691      * @param string The content of the header block 
     1680     * @param string $content The content of the header block 
    16921681     * @since 1.0.2 
    16931682     */ 
    1694     function set_header_content($content) { 
     1683    public function set_header_content($content) { 
    16951684        $this->header_content = $content; 
    16961685    } 
     
    16991688     * Sets the content of the footer block 
    17001689     * 
    1701      * @param string The content of the footer block 
     1690     * @param string $content The content of the footer block 
    17021691     * @since 1.0.2 
    17031692     */ 
    1704     function set_footer_content($content) { 
     1693    public function set_footer_content($content) { 
    17051694        $this->footer_content = $content; 
    17061695    } 
     
    17091698     * Sets the style for the header content 
    17101699     * 
    1711      * @param string The style for the header content 
     1700     * @param string $style The style for the header content 
    17121701     * @since 1.0.2 
    17131702     */ 
    1714     function set_header_content_style($style) { 
     1703    public function set_header_content_style($style) { 
    17151704        $this->header_content_style = $style; 
    17161705    } 
     
    17191708     * Sets the style for the footer content 
    17201709     * 
    1721      * @param string The style for the footer content 
     1710     * @param string $style The style for the footer content 
    17221711     * @since 1.0.2 
    17231712     */ 
    1724     function set_footer_content_style($style) { 
     1713    public function set_footer_content_style($style) { 
    17251714        $this->footer_content_style = $style; 
    17261715    } 
     
    17301719     * the highlighted code or not 
    17311720     * 
    1732      * @param boolean Tells whether to enable or disable this feature 
     1721     * @param boolean $flag Tells whether to enable or disable this feature 
    17331722     * @since 1.0.7.20 
    17341723     */ 
    1735     function enable_inner_code_block($flag) { 
     1724    public function enable_inner_code_block($flag) { 
    17361725        $this->force_code_block = (bool)$flag; 
    17371726    } 
     
    17401729     * Sets the base URL to be used for keywords 
    17411730     * 
    1742      * @param int The key of the keyword group to set the URL for 
    1743      * @param string The URL to set for the group. If {FNAME} is in 
    1744      *               the url somewhere, it is replaced by the keyword 
    1745      *               that the URL is being made for 
     1731     * @param int    $group The key of the keyword group to set the URL for 
     1732     * @param string $url   The URL to set for the group. If {FNAME} is in 
     1733     *                      the url somewhere, it is replaced by the keyword 
     1734     *                      that the URL is being made for 
    17461735     * @since 1.0.2 
    17471736     */ 
    1748     function set_url_for_keyword_group($group, $url) { 
     1737    public function set_url_for_keyword_group($group, $url) { 
    17491738        $this->language_data['URLS'][$group] = $url; 
    17501739    } 
     
    17531742     * Sets styles for links in code 
    17541743     * 
    1755      * @param int A constant that specifies what state the style is being 
    1756      *            set for - e.g. :hover or :visited 
    1757      * @param string The styles to use for that state 
     1744     * @param int    $type   A constant that specifies what state the style is being 
     1745     *                       set for - e.g. :hover or :visited 
     1746     * @param string $styles The styles to use for that state 
    17581747     * @since 1.0.2 
    17591748     */ 
    1760     function set_link_styles($type, $styles) { 
     1749    public function set_link_styles($type, $styles) { 
    17611750        $this->link_styles[$type] = $styles; 
    17621751    } 
     
    17651754     * Sets the target for links in code 
    17661755     * 
    1767      * @param string The target for links in the code, e.g. _blank 
     1756     * @param string $target The target for links in the code, e.g. _blank 
    17681757     * @since 1.0.3 
    17691758     */ 
    1770     function set_link_target($target) { 
     1759    public function set_link_target($target) { 
    17711760        if (!$target) { 
    17721761            $this->link_target = ''; 
     
    17791768     * Sets styles for important parts of the code 
    17801769     * 
    1781      * @param string The styles to use on important parts of the code 
     1770     * @param string $styles The styles to use on important parts of the code 
    17821771     * @since 1.0.2 
    17831772     */ 
    1784     function set_important_styles($styles) { 
     1773    public function set_important_styles($styles) { 
    17851774        $this->important_styles = $styles; 
    17861775    } 
     
    17891778     * Sets whether context-important blocks are highlighted 
    17901779     * 
    1791      * @param boolean Tells whether to enable or disable highlighting of important blocks 
     1780     * @param boolean $flag Tells whether to enable or disable highlighting of important blocks 
    17921781     * @todo REMOVE THIS SHIZ FROM GESHI! 
    17931782     * @deprecated 
    17941783     * @since 1.0.2 
    17951784     */ 
    1796     function enable_important_blocks($flag) { 
     1785    public function enable_important_blocks($flag) { 
    17971786        $this->enable_important_blocks = ( $flag ) ? true : false; 
    17981787    } 
     
    18011790     * Whether CSS IDs should be added to each line 
    18021791     * 
    1803      * @param boolean If true, IDs will be added to each line. 
     1792     * @param boolean $flag If true, IDs will be added to each line. 
    18041793     * @since 1.0.2 
    18051794     */ 
    1806     function enable_ids($flag = true) { 
     1795    public function enable_ids($flag = true) { 
    18071796        $this->add_ids = ($flag) ? true : false; 
    18081797    } 
     
    18131802     * The extra style parameter was added in 1.0.7.21. 
    18141803     * 
    1815      * @param mixed An array of line numbers to highlight, or just a line 
    1816      *              number on its own. 
    1817      * @param string A string specifying the style to use for this line. 
    1818      *              If null is specified, the default style is used. 
    1819      *              If false is specified, the line will be removed from 
    1820      *              special highlighting 
     1804     * @param mixed  $lines An array of line numbers to highlight, or just a line 
     1805     *                      number on its own. 
     1806     * @param string $style A string specifying the style to use for this line. 
     1807     *                      If null is specified, the default style is used. 
     1808     *                      If false is specified, the line will be removed from 
     1809     *                      special highlighting 
    18211810     * @since 1.0.2 
    18221811     * @todo  Some data replication here that could be cut down on 
    18231812     */ 
    1824     function highlight_lines_extra($lines, $style = null) { 
     1813    public function highlight_lines_extra($lines, $style = null) { 
    18251814        if (is_array($lines)) { 
    18261815            //Split up the job using single lines at a time 
     
    18481837     * Sets the style for extra-highlighted lines 
    18491838     * 
    1850      * @param string The style for extra-highlighted lines 
     1839     * @param string $styles The style for extra-highlighted lines 
    18511840     * @since 1.0.2 
    18521841     */ 
    1853     function set_highlight_lines_extra_style($styles) { 
     1842    public function set_highlight_lines_extra_style($styles) { 
    18541843        $this->highlight_extra_lines_style = $styles; 
    18551844    } 
     
    18581847     * Sets the line-ending 
    18591848     * 
    1860      * @param string The new line-ending 
     1849     * @param string $line_ending The new line-ending 
    18611850     * @since 1.0.2 
    18621851     */ 
    1863     function set_line_ending($line_ending) { 
     1852    public function set_line_ending($line_ending) { 
    18641853        $this->line_ending = (string)$line_ending; 
    18651854    } 
     
    18771866     * so it's not worth doing it the CSS way yet. 
    18781867     * 
    1879      * @param int The number to start line numbers at 
     1868     * @param int $number The number to start line numbers at 
    18801869     * @since 1.0.2 
    18811870     */ 
    1882     function start_line_numbers_at($number) { 
     1871    public function start_line_numbers_at($number) { 
    18831872        $this->line_numbers_start = abs(intval($number)); 
    18841873    } 
     
    18931882     * I doubt it. 
    18941883     * 
    1895      * @param string The encoding to use for the source 
     1884     * @param string $encoding The encoding to use for the source 
    18961885     * @since 1.0.3 
    18971886     */ 
    1898     function set_encoding($encoding) { 
     1887    public function set_encoding($encoding) { 
    18991888        if ($encoding) { 
    19001889          $this->encoding = strtolower($encoding); 
     
    19051894     * Turns linking of keywords on or off. 
    19061895     * 
    1907      * @param boolean If true, links will be added to keywords 
     1896     * @param boolean $enable If true, links will be added to keywords 
    19081897     * @since 1.0.2 
    19091898     */ 
    1910     function enable_keyword_links($enable = true) { 
     1899    public function enable_keyword_links($enable = true) { 
    19111900        $this->keyword_links = (bool) $enable; 
    19121901    } 
     
    19191908     * 
    19201909     * @since 1.0.8 
    1921      * @access private 
    1922      */ 
    1923     function build_style_cache() { 
     1910     */ 
     1911    protected function build_style_cache() { 
    19241912        //Build the style cache needed to highlight numbers appropriate 
    19251913        if($this->lexic_permissions['NUMBERS']) { 
     
    19701958     * 
    19711959     * @since 1.0.8 
    1972      * @access private 
    1973      */ 
    1974     function build_parse_cache() { 
     1960     */ 
     1961    protected function build_parse_cache() { 
    19751962        // cache symbol regexp 
    19761963        //As this is a costy operation, we avoid doing it for multiple groups ... 
     
    21332120 
    21342121                $this->language_data['NUMBERS_RXCACHE'][$key] = 
    2135                     "/(?<!<\|\/)(?<!<\|!REG3XP)(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!(?:<DOT>|(?>[^\<]))+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; // 
     2122                    "/(?<!<\|\/)(?<!<\|!REG3XP)(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!(?:<DOT>|(?>[^\<]))+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; 
    21362123            } 
    21372124 
     
    21542141     * @since 1.0.0 
    21552142     */ 
    2156     function parse_code () { 
     2143    public function parse_code () { 
    21572144        // Start the timer 
    21582145        $start_time = microtime(); 
     
    22502237                         *  - Group 2 is the closer 
    22512238                         */ 
    2252                         if(!GESHI_PHP_PRE_433 && //Needs proper rewrite to work with PHP >=4.3.0; 4.3.3 is guaranteed to work. 
    2253                             preg_match($delimiters, $code, $matches_rx, PREG_OFFSET_CAPTURE, $i)) { 
     2239                        if(preg_match($delimiters, $code, $matches_rx, PREG_OFFSET_CAPTURE, $i)) { 
    22542240                            //We got a match ... 
    22552241                            if(isset($matches_rx['start']) && isset($matches_rx['end'])) 
     
    24982484                                } 
    24992485                                $match_i = $comment_regexp_cache_per_key[$comment_key]['pos']; 
    2500                             } elseif ( 
    2501                                 //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible 
    2502                                 (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $i), $match, PREG_OFFSET_CAPTURE)) || 
    2503                                 (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $i)) 
    2504                                 ) { 
     2486                            } elseif (preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $i)) { 
    25052487                                $match_i = $match[0][1]; 
    2506                                 if (GESHI_PHP_PRE_433) { 
    2507                                     $match_i += $i; 
    2508                                 } 
    25092488 
    25102489                                $comment_regexp_cache_per_key[$comment_key] = array( 
     
    26062585                                            } 
    26072586                                            $match_i = $escape_regexp_cache_per_key[$escape_key]['pos']; 
    2608                                         } elseif ( 
    2609                                             //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible 
    2610                                             (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $start), $match, PREG_OFFSET_CAPTURE)) || 
    2611                                             (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $start)) 
    2612                                             ) { 
     2587                                        } elseif (preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $start)) { 
    26132588                                            $match_i = $match[0][1]; 
    2614                                             if (GESHI_PHP_PRE_433) { 
    2615                                                 $match_i += $start; 
    2616                                             } 
    26172589 
    26182590                                            $escape_regexp_cache_per_key[$escape_key] = array( 
     
    26822654                                        $es_char_m = mb_substr(substr($part, $es_pos+1, 16), 0, 1, $this->encoding); 
    26832655                                        $string .= $es_char_m . '</span>'; 
    2684                                     } elseif (!GESHI_PHP_PRE_433 && 'utf-8' == $this->encoding) { 
     2656                                    } elseif ('utf-8' == $this->encoding) { 
    26852657                                        if(preg_match("/[\xC2-\xDF][\x80-\xBF]". 
    26862658                                            "|\xE0[\xA0-\xBF][\x80-\xBF]". 
     
    31233095     * the code is in a pre block... 
    31243096     * 
    3125      * @param  string The source to indent (reference!) 
     3097     * @param  string $result The source to indent (reference!) 
    31263098     * @since  1.0.0 
    3127      * @access private 
    3128      */ 
    3129     function indent(&$result) { 
     3099     */ 
     3100    protected function indent(&$result) { 
    31303101        /// Replace tabs with the correct number of spaces 
    31313102        if (false !== strpos($result, "\t")) { 
     
    32223193     * Changes the case of a keyword for those languages where a change is asked for 
    32233194     * 
    3224      * @param  string The keyword to change the case of 
     3195     * @param  string $instr The keyword to change the case of 
    32253196     * @return string The keyword with its case changed 
    32263197     * @since  1.0.0 
    3227      * @access private 
    3228      */ 
    3229     function change_case($instr) { 
     3198     */ 
     3199    protected function change_case($instr) { 
    32303200        switch ($this->language_data['CASE_KEYWORDS']) { 
    32313201            case GESHI_CAPS_UPPER: 
     
    32413211     * Handles replacements of keywords to include markup and links if requested 
    32423212     * 
    3243      * @param  string The keyword to add the Markup to 
    3244      * @return The HTML for the match found 
     3213     * @param  string $match The keyword to add the Markup to 
     3214     * @return string The HTML for the match found 
    32453215     * @since  1.0.8 
    3246      * @access private 
    32473216     * 
    32483217     * @todo   Get rid of ender in keyword links 
    32493218     */ 
    3250     function handle_keyword_replace($match) { 
     3219    protected function handle_keyword_replace($match) { 
    32513220        $k = $this->_kw_replace_group; 
    32523221        $keyword = $match[0]; 
     
    32833252                            '{FNAMEL}', 
    32843253                            '{FNAMEU}', 
     3254                            '{FNAMEUF}', 
    32853255                            '.'), 
    32863256                        array( 
     
    32883258                            str_replace('+', '%20', urlencode($this->hsc(strtolower($word)))), 
    32893259                            str_replace('+', '%20', urlencode($this->hsc(strtoupper($word)))), 
     3260                            str_replace('+', '%20', urlencode($this->hsc(ucfirst($word)))), 
    32903261                            '<DOT>'), 
    32913262                        $this->language_data['URLS'][$k] 
     
    33033274     * @note this is a callback, don't use it directly 
    33043275     * 
    3305      * @param array the matches array 
    3306      * @return The highlighted string 
     3276     * @param array $matches the matches array 
     3277     * @return string The highlighted string 
    33073278     * @since 1.0.8 
    3308      * @access private 
    3309      */ 
    3310     function handle_regexps_callback($matches) { 
     3279     */ 
     3280    protected function handle_regexps_callback($matches) { 
    33113281        // before: "' style=\"' . call_user_func(\"$func\", '\\1') . '\"\\1|>'", 
    33123282        return  ' style="' . call_user_func($this->language_data['STYLES']['REGEXPS'][$this->_rx_key], $matches[1]) . '"'. $matches[1] . '|>'; 
     
    33183288     * @note this is a callback, don't use it directly 
    33193289     * 
    3320      * @param array the matches array 
     3290     * @param array $matches the matches array 
    33213291     * @return string 
    33223292     * @since 1.0.8 
    3323      * @access private 
    3324      */ 
    3325     function handle_multiline_regexps($matches) { 
     3293     */ 
     3294    protected function handle_multiline_regexps($matches) { 
    33263295        $before = $this->_hmr_before; 
    33273296        $after = $this->_hmr_after; 
     
    33513320     * stuff like keywords, numbers and methods. 
    33523321     * 
    3353      * @param string The string to parse for keyword, numbers etc. 
     3322     * @param string $stuff_to_parse The string to parse for keyword, numbers etc. 
    33543323     * @since 1.0.0 
    3355      * @access private 
    33563324     * @todo BUGGY! Why? Why not build string and return? 
    3357      */ 
    3358     function parse_non_string_part($stuff_to_parse) { 
     3325     * @return string 
     3326     */ 
     3327    protected function parse_non_string_part($stuff_to_parse) { 
    33593328        $stuff_to_parse = ' ' . $this->hsc($stuff_to_parse); 
    33603329 
     
    35743543                $symbol_offset = $pot_symbols[$s_id][0][1]; 
    35753544                unset($pot_symbols[$s_id]); 
    3576                 $symbol_end = $symbol_length + $symbol_offset; 
    35773545                $symbol_hl = ""; 
    35783546 
     
    36733641     * Sets the time taken to parse the code 
    36743642     * 
    3675      * @param microtime The time when parsing started 
    3676      * @param microtime The time when parsing ended 
     3643     * @param string $start_time The time when parsing started as returned by @see microtime() 
     3644     * @param string $end_time   The time when parsing ended as returned by @see microtime() 
    36773645     * @since 1.0.2 
    3678      * @access private 
    3679      */ 
    3680     function set_time($start_time, $end_time) { 
     3646     */ 
     3647    protected function set_time($start_time, $end_time) { 
    36813648        $start = explode(' ', $start_time); 
    36823649        $end = explode(' ', $end_time); 
     
    36903657     * @since  1.0.2 
    36913658     */ 
    3692     function get_time() { 
     3659    public function get_time() { 
    36933660        return $this->time; 
    36943661    } 
     
    36983665     * 
    36993666     * @since 1.0.8 
    3700      * @access private 
    3701      */ 
    3702     function merge_arrays() { 
     3667     */ 
     3668    protected function merge_arrays() { 
    37033669        $arrays = func_get_args(); 
    37043670        $narrays = count($arrays); 
     
    37363702     * Gets language information and stores it for later use 
    37373703     * 
    3738      * @param string The filename of the language file you want to load 
     3704     * @param string $file_name The filename of the language file you want to load 
    37393705     * @since 1.0.0 
    3740      * @access private 
    37413706     * @todo Needs to load keys for lexic permissions for keywords, regexps etc 
    37423707     */ 
    3743     function load_language($file_name) { 
     3708    protected function load_language($file_name) { 
    37443709        if ($file_name == $this->loaded_language) { 
    37453710            // this file is already loaded! 
     
    38363801     * surrounding it to make it look nice. 
    38373802     * 
    3838      * @param  string The code already parsed (reference!) 
     3803     * @param  string $parsed_code The code already parsed (reference!) 
    38393804     * @since  1.0.0 
    3840      * @access private 
    3841      */ 
    3842     function finalise(&$parsed_code) { 
     3805     */ 
     3806    protected function finalise(&$parsed_code) { 
    38433807        // Remove end parts of important declarations 
    38443808        // This is BUGGY!! My fault for bad code: fix coming in 1.2 
     
    38753839            // the <pre> will line-break them (and the <li>s already do this for us) 
    38763840            $ls = ($this->header_type != GESHI_HEADER_PRE && $this->header_type != GESHI_HEADER_PRE_VALID) ? "\n" : ''; 
    3877  
    3878             // Set vars to defaults for following loop 
    3879             $i = 0; 
    38803841 
    38813842            // Foreach line... 
     
    40864047     * @return string The header for the code block 
    40874048     * @since  1.0.0 
    4088      * @access private 
    4089      */ 
    4090     function header() { 
     4049     */ 
     4050    protected function header() { 
    40914051        // Get attributes needed 
    40924052        /** 
     
    41664126     * @return string The footer for the code block 
    41674127     * @since  1.0.0 
    4168      * @access private 
    4169      */ 
    4170     function footer() { 
     4128     */ 
     4129    protected function footer() { 
    41714130        $footer = $this->footer_content; 
    41724131        if ($footer) { 
     
    42194178     * certain configuration values 
    42204179     * 
    4221      * @param  string The header or footer content to do replacement on 
     4180     * @param  string $instr The header or footer content to do replacement on 
    42224181     * @return string The header or footer with replaced keywords 
    42234182     * @since  1.0.2 
    4224      * @access private 
    4225      */ 
    4226     function replace_keywords($instr) { 
     4183     */ 
     4184    protected function replace_keywords($instr) { 
    42274185        $keywords = $replacements = array(); 
    42284186 
     
    43004258     *              Wikka Development Team} 
    43014259     * 
    4302      * @access      private 
    43034260     * @param       string  $string string to be converted 
    43044261     * @param       integer $quote_style 
     
    43094266     * @since       1.0.7.18 
    43104267     */ 
    4311     function hsc($string, $quote_style = ENT_COMPAT) { 
     4268    protected function hsc($string, $quote_style = ENT_COMPAT) { 
    43124269        // init 
    43134270        static $aTransSpecchar = array( 
     
    43404297    } 
    43414298 
    4342     function _genCSSName($name){ 
     4299    /** 
     4300     * Generate a CSS class name from a given string. 
     4301     * Prevents invalid CSS classes. 
     4302     * 
     4303     * @param string $name Proposed class name 
     4304     * 
     4305     * @return string Safe CSS class name 
     4306     */ 
     4307    protected function _genCSSName($name) { 
    43434308        return (is_numeric($name[0]) ? '_' : '') . $name; 
    43444309    } 
     
    43494314     * this code block instead of the whole thing 
    43504315     * 
    4351      * @param  boolean Whether to use economy mode or not 
     4316     * @param  boolean $economy_mode Whether to use economy mode or not 
    43524317     * @return string A stylesheet built on the data for the current language 
    43534318     * @since  1.0.0 
    43544319     */ 
    4355     function get_stylesheet($economy_mode = true) { 
     4320    public function get_stylesheet($economy_mode = true) { 
    43564321        // If there's an error, chances are that the language file 
    43574322        // won't have populated the language data file, so we can't 
     
    43874352                " * Dynamically generated stylesheet for {$this->language}\n". 
    43884353                " * CSS class: {$this->overall_class}, CSS id: {$this->overall_id}\n". 
    4389                 " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" . 
     4354                " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2014 Benny Baumann\n" . 
    43904355                " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n". 
    43914356                " * --------------------------------------\n". 
     
    43934358        } else { 
    43944359            $stylesheet = "/**\n". 
    4395                 " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" . 
     4360                " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2014 Benny Baumann\n" . 
    43964361                " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n". 
    43974362                " */\n"; 
     
    45534518     * Get's the style that is used for the specified line 
    45544519     * 
    4555      * @param int The line number information is requested for 
    4556      * @access private 
     4520     * @param int $line The line number information is requested for 
    45574521     * @since 1.0.7.21 
    45584522     */ 
    4559     function get_line_style($line) { 
    4560         //$style = null; 
     4523    protected function get_line_style($line) { 
    45614524        $style = null; 
    45624525        if (isset($this->highlight_extra_lines_styles[$line])) { 
     
    45774540    *          => string 'f(aa|oo(bar)?)'</code> 
    45784541    * 
    4579     * @param $list array of (unquoted) strings 
    4580     * @param $regexp_delimiter your regular expression delimiter, @see preg_quote() 
     4542    * @param array  $list            array of (unquoted) strings 
     4543    * @param string $regexp_delimiter your regular expression delimiter, @see preg_quote() 
    45814544    * @return string for regular expression 
    45824545    * @author Milian Wolff <mail@milianw.de> 
    45834546    * @since 1.0.8 
    4584     * @access private 
    45854547    */ 
    4586     function optimize_regexp_list($list, $regexp_delimiter = '/') { 
     4548    protected function optimize_regexp_list($list, $regexp_delimiter = '/') { 
    45874549        $regex_chars = array('.', '\\', '+', '-', '*', '?', '[', '^', ']', '$', 
    45884550            '(', ')', '{', '}', '=', '!', '<', '>', '|', ':', $regexp_delimiter); 
     
    46964658        return $regexp_list; 
    46974659    } 
     4660 
    46984661    /** 
    46994662    * this function creates the appropriate regexp string of an token array 
    47004663    * you should not call this function directly, @see $this->optimize_regexp_list(). 
    47014664    * 
    4702     * @param &$tokens array of tokens 
    4703     * @param $recursed bool to know wether we recursed or not 
     4665    * @param array $tokens  array of tokens 
     4666    * @param bool  $recursed to know wether we recursed or not 
    47044667    * @return string 
    47054668    * @author Milian Wolff <mail@milianw.de> 
    47064669    * @since 1.0.8 
    4707     * @access private 
    47084670    */ 
    4709     function _optimize_regexp_list_tokens_to_string(&$tokens, $recursed = false) { 
     4671    protected function _optimize_regexp_list_tokens_to_string(&$tokens, $recursed = false) { 
    47104672        $list = ''; 
    47114673        foreach ($tokens as $token => $sub_tokens) { 
     
    47344696            static $callback_2; 
    47354697            if (!isset($callback_2)) { 
    4736                 $callback_2 = create_function('$matches', 'return "[" . str_replace("|", "", $matches[1]) . "]";'); 
     4698                $callback_2 = function($matches) { 
     4699                    return "[" . str_replace("|", "", $matches[1]) . "]"; 
     4700                }; 
    47374701            } 
    47384702            $list = preg_replace_callback('#\(\?\:((?:.\|)+.)\)#', $callback_2, $list); 
     
    47484712     * Easy way to highlight stuff. Behaves just like highlight_string 
    47494713     * 
    4750      * @param string The code to highlight 
    4751      * @param string The language to highlight the code in 
    4752      * @param string The path to the language files. You can leave this blank if you need 
    4753      *               as from version 1.0.7 the path should be automatically detected 
    4754      * @param boolean Whether to return the result or to echo 
     4714     * @param string $string   The code to highlight 
     4715     * @param string $language The language to highlight the code in 
     4716     * @param string $path     The path to the language files. You can leave this blank if you need 
     4717     *                         as from version 1.0.7 the path should be automatically detected 
     4718     * @param boolean $return  Whether to return the result or to echo 
    47554719     * @return string The code highlighted (if $return is true) 
    47564720     * @since 1.0.2 
     
    47724736    } 
    47734737} 
    4774  
    4775 ?> 
  • oik-css/trunk/geshi/geshi/css.php

    r738426 r1789010  
    33 * css.php 
    44 * ------- 
    5  * Author: Nigel McNie (nigel@geshi.org) 
     5 * Author: Nigel McNie (nigel@geshi.org), Zéfling (zefling@ikilote.net) 
    66 * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) 
    7  * Release Version: 1.0.8.11 
     7 * Release Version: 1.0.9.0 
    88 * Date Started: 2004/06/18 
    99 * 
     
    1212 * CHANGES 
    1313 * ------- 
     14 * 2014/07/14 (1.0.8.13) 
     15 *  - update for current CSS3 (properties, value, expression, unites & color) 
     16 *  - remove pseudo class regex 
     17 *  - add rules regex 
    1418 * 2008/05/23 (1.0.7.22) 
    1519 *  -  Added description of extra language features (SF#1970248) 
     
    2630 * TODO (updated 2004/11/27) 
    2731 * ------------------------- 
    28  * * Improve or drop regexps for class/id/psuedoclass highlighting 
     32 * * Improve or drop regexps for class/id highlighting 
    2933 * * Re-look at keywords - possibly to make several CSS language 
    3034 *   files, all with different versions of CSS in them 
     
    5054 ************************************************************************************/ 
    5155 
    52 $language_data = array ( 
     56$language_data = array( 
    5357    'LANG_NAME' => 'CSS', 
    54     'COMMENT_SINGLE' => array(1 => '@'), 
     58    'COMMENT_SINGLE' => array(), 
    5559    'COMMENT_MULTI' => array('/*' => '*/'), 
    5660    'COMMENT_REGEXP' => array( 
    5761        2 => "/(?<=\\()\\s*(?:(?:[a-z0-9]+?:\\/\\/)?[a-z0-9_\\-\\.\\/:]+?)?[a-z]+?\\.[a-z]+?(\\?[^\)]+?)?\\s*?(?=\\))/i" 
    58         ), 
     62    ), 
    5963    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 
    6064    'QUOTEMARKS' => array('"', "'"), 
     
    6771        //Unicode Char Specs 
    6872        //3 => "#\\\\u[\da-fA-F]{1,8}#i", 
    69         ), 
     73    ), 
    7074    'KEYWORDS' => array( 
     75        // properties 
    7176        1 => array( 
    72             'aqua', 'azimuth', 'background-attachment', 'background-color', 
    73             'background-image', 'background-position', 'background-repeat', 
    74             'background', 'black', 'blue', 'border-bottom-color', 
    75             'border-radius', 'border-top-left-radius', 'border-top-right-radius', 
    76             'border-bottom-right-radius', 'border-bottom-left-radius', 
    77             'border-bottom-style', 'border-bottom-width', 'border-left-color', 
    78             'border-left-style', 'border-left-width', 'border-right', 
    79             'border-right-color', 'border-right-style', 'border-right-width', 
    80             'border-top-color', 'border-top-style', 
    81             'border-top-width','border-bottom', 'border-collapse', 
    82             'border-left', 'border-width', 'border-color', 'border-spacing', 
    83             'border-style', 'border-top', 'border', 'caption-side', 'clear', 
    84             'clip', 'color', 'content', 'counter-increment', 'counter-reset', 
    85             'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display', 
    86             'elevation', 'empty-cells', 'float', 'font-family', 'font-size', 
    87             'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 
    88             'font-weight', 'font', 'line-height', 'letter-spacing', 
    89             'list-style', 'list-style-image', 'list-style-position', 
    90             'list-style-type', 'margin-bottom', 'margin-left', 'margin-right', 
    91             'margin-top', 'margin', 'marker-offset', 'marks', 'max-height', 
    92             'max-width', 'min-height', 'min-width', 'orphans', 'outline', 
    93             'outline-color', 'outline-style', 'outline-width', 'overflow', 
    94             'padding-bottom', 'padding-left', 'padding-right', 'padding-top', 
    95             'padding', 'page', 'page-break-after', 'page-break-before', 
    96             'page-break-inside', 'pause-after', 'pause-before', 'pause', 
    97             'pitch', 'pitch-range', 'play-during', 'position', 'quotes', 
    98             'richness', 'right', 'size', 'speak-header', 'speak-numeral', 
    99             'speak-punctuation', 'speak', 'speech-rate', 'stress', 
    100             'table-layout', 'text-align', 'text-decoration', 'text-indent', 
    101             'text-shadow', 'text-transform', 'top', 'unicode-bidi', 
    102             'vertical-align', 'visibility', 'voice-family', 'volume', 
    103             'white-space', 'widows', 'width', 'word-spacing', 'z-index', 
    104             'bottom', 'left', 'height' 
    105             ), 
     77            'align-content', 
     78            'align-items', 
     79            'align-self', 
     80            'all', 
     81            'animation', 
     82            'animation-delay', 
     83            'animation-direction', 
     84            'animation-duration', 
     85            'animation-fill-mode', 
     86            'animation-iteration-count', 
     87            'animation-name', 
     88            'animation-play-state', 
     89            'animation-timing-function', 
     90            'backface-visibility', 
     91            'background', 
     92            'background-attachment', 
     93            'background-blend-mode', 
     94            'background-clip', 
     95            'background-color', 
     96            'background-image', 
     97            'background-origin', 
     98            'background-position', 
     99            'background-repeat', 
     100            'background-size', 
     101            'border', 
     102            'border-bottom', 
     103            'border-bottom-color', 
     104            'border-bottom-left-radius', 
     105            'border-bottom-right-radius', 
     106            'border-bottom-style', 
     107            'border-bottom-width', 
     108            'border-collapse', 
     109            'border-color', 
     110            'border-image', 
     111            'border-image-outset', 
     112            'border-image-repeat', 
     113            'border-image-slice', 
     114            'border-image-source', 
     115            'border-image-width', 
     116            'border-left', 
     117            'border-left-color', 
     118            'border-left-style', 
     119            'border-left-width', 
     120            'border-radius', 
     121            'border-right', 
     122            'border-right-color', 
     123            'border-right-style', 
     124            'border-right-width', 
     125            'border-spacing', 
     126            'border-style', 
     127            'border-top', 
     128            'border-top-color', 
     129            'border-top-left-radius', 
     130            'border-top-right-radius', 
     131            'border-top-style', 
     132            'border-top-width', 
     133            'border-width', 
     134            'bottom', 
     135            'box-decoration-break', 
     136            'box-shadow', 
     137            'box-sizing', 
     138            'break-after', 
     139            'break-before', 
     140            'break-inside', 
     141            'caption-side', 
     142            'clear', 
     143            'clip', 
     144            'clip-path', 
     145            'color', 
     146            'columns', 
     147            'column-count', 
     148            'column-fill', 
     149            'column-gap', 
     150            'column-rule', 
     151            'column-rule-color', 
     152            'column-rule-style', 
     153            'column-rule-width', 
     154            'column-span', 
     155            'column-width', 
     156            'content', 
     157            'counter-increment', 
     158            'counter-reset', 
     159            'cursor', 
     160            'direction', 
     161            'display', 
     162            'empty-cells', 
     163            'fill', 
     164            'fill-rule', 
     165            'fill-opacity', 
     166            'filter', 
     167            'flex', 
     168            'flex-basis', 
     169            'flex-direction', 
     170            'flex-flow', 
     171            'flex-grow', 
     172            'flex-shrink', 
     173            'flex-wrap', 
     174            'float', 
     175            'font', 
     176            'font-family', 
     177            'font-feature-settings', 
     178            'font-kerning', 
     179            'font-language-override', 
     180            'font-size', 
     181            'font-size-adjust', 
     182            'font-stretch', 
     183            'font-style', 
     184            'font-synthesis', 
     185            'font-variant', 
     186            'font-variant-alternates', 
     187            'font-variant-caps', 
     188            'font-variant-east-asian', 
     189            'font-variant-ligatures', 
     190            'font-variant-numeric', 
     191            'font-variant-position', 
     192            'font-weight', 
     193            'grid', 
     194            'grid-area', 
     195            'grid-auto-columns', 
     196            'grid-auto-flow', 
     197            'grid-auto-position', 
     198            'grid-auto-rows', 
     199            'grid-column', 
     200            'grid-column-start', 
     201            'grid-column-end', 
     202            'grid-row', 
     203            'grid-row-start', 
     204            'grid-row-end', 
     205            'grid-template', 
     206            'grid-template-areas', 
     207            'grid-template-rows', 
     208            'grid-template-columns', 
     209            'height', 
     210            'hyphens', 
     211            'icon', 
     212            'image-rendering', 
     213            'image-resolution', 
     214            'image-orientation', 
     215            'ime-mode', 
     216            'justify-content', 
     217            'left', 
     218            'letter-spacing', 
     219            'line-break', 
     220            'line-height', 
     221            'list-style', 
     222            'list-style-image', 
     223            'list-style-position', 
     224            'list-style-type', 
     225            'margin', 
     226            'margin-bottom', 
     227            'margin-left', 
     228            'margin-right', 
     229            'margin-top', 
     230            'marks', 
     231            'mask', 
     232            'mask-type', 
     233            'max-height', 
     234            'max-width', 
     235            'min-height', 
     236            'min-width', 
     237            'mix-blend-mode', 
     238            'nav-down', 
     239            'nav-index', 
     240            'nav-left', 
     241            'nav-right', 
     242            'nav-up', 
     243            'object-fit', 
     244            'object-position', 
     245            'opacity', 
     246            'order', 
     247            'orphans', 
     248            'outline', 
     249            'outline-color', 
     250            'outline-offset', 
     251            'outline-style', 
     252            'outline-width', 
     253            'overflow', 
     254            'overflow-wrap', 
     255            'overflow-x', 
     256            'overflow-y', 
     257            'overflow-clip-box', 
     258            'padding', 
     259            'padding-bottom', 
     260            'padding-left', 
     261            'padding-right', 
     262            'padding-top', 
     263            'page-break-after', 
     264            'page-break-before', 
     265            'page-break-inside', 
     266            'perspective', 
     267            'perspective-origin', 
     268            'pointer-events', 
     269            'position', 
     270            'quotes', 
     271            'resize', 
     272            'right', 
     273            'shape-image-threshold', 
     274            'shape-margin', 
     275            'shape-outside', 
     276            'stroke', 
     277            'stroke-width', 
     278            'stroke-linecap', 
     279            'stroke-linejoin', 
     280            'stroke-miterlimit', 
     281            'stroke-dasharray', 
     282            'stroke-dashoffset', 
     283            'table-layout', 
     284            'tab-size', 
     285            'text-align', 
     286            'text-align-last', 
     287            'text-combine-horizontal', 
     288            'text-decoration', 
     289            'text-decoration-color', 
     290            'text-decoration-line', 
     291            'text-decoration-style', 
     292            'text-indent', 
     293            'text-orientation', 
     294            'text-overflow', 
     295            'text-rendering', 
     296            'text-shadow', 
     297            'text-transform', 
     298            'text-underline-position', 
     299            'top', 
     300            'touch-action', 
     301            'transform', 
     302            'transform-origin', 
     303            'transform-style', 
     304            'transition', 
     305            'transition-delay', 
     306            'transition-duration', 
     307            'transition-property', 
     308            'transition-timing-function', 
     309            'unicode-bidi', 
     310            'unicode-range', 
     311            'vertical-align', 
     312            'visibility', 
     313            'white-space', 
     314            'widows', 
     315            'width', 
     316            'will-change', 
     317            'word-break', 
     318            'word-spacing', 
     319            'word-wrap', 
     320            'writing-mode', 
     321            'z-index' 
     322        ), 
     323        // value 
    106324        2 => array( 
    107             'above', 'absolute', 'always', 'armenian', 'aural', 'auto', 
    108             'avoid', 'baseline', 'behind', 'below', 'bidi-override', 'blink', 
    109             'block', 'bold', 'bolder', 'both', 'capitalize', 'center-left', 
    110             'center-right', 'center', 'circle', 'cjk-ideographic', 
    111             'close-quote', 'collapse', 'condensed', 'continuous', 'crop', 
    112             'crosshair', 'cross', 'cursive', 'dashed', 'decimal-leading-zero', 
    113             'decimal', 'default', 'digits', 'disc', 'dotted', 'double', 
    114             'e-resize', 'embed', 'extra-condensed', 'extra-expanded', 
    115             'expanded', 'fantasy', 'far-left', 'far-right', 'faster', 'fast', 
    116             'fixed', 'fuchsia', 'georgian', 'gray', 'green', 'groove', 
    117             'hebrew', 'help', 'hidden', 'hide', 'higher', 'high', 
    118             'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table', 
    119             'inline', 'inset', 'inside', 'invert', 'italic', 'justify', 
    120             'katakana-iroha', 'katakana', 'landscape', 'larger', 'large', 
    121             'left-side', 'leftwards', 'level', 'lighter', 'lime', 
    122             'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek', 
    123             'lower-roman', 'lowercase', 'ltr', 'lower', 'low', 'maroon', 
    124             'medium', 'message-box', 'middle', 'mix', 'monospace', 'n-resize', 
    125             'narrower', 'navy', 'ne-resize', 'no-close-quote', 
    126             'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap', 
    127             'nw-resize', 'oblique', 'olive', 'once', 'open-quote', 'outset', 
    128             'outside', 'overline', 'pointer', 'portrait', 'purple', 'px', 
    129             'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb', 
    130             'ridge', 'right-side', 'rightwards', 's-resize', 'sans-serif', 
    131             'scroll', 'se-resize', 'semi-condensed', 'semi-expanded', 
    132             'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower', 
    133             'small-caps', 'small-caption', 'smaller', 'soft', 'solid', 
    134             'spell-out', 'square', 'static', 'status-bar', 'super', 
    135             'sw-resize', 'table-caption', 'table-cell', 'table-column', 
    136             'table-column-group', 'table-footer-group', 'table-header-group', 
    137             'table-row', 'table-row-group', 'teal', 'text', 'text-bottom', 
    138             'text-top', 'thick', 'thin', 'transparent', 'ultra-condensed', 
    139             'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin', 
    140             'upper-roman', 'uppercase', 'url', 'visible', 'w-resize', 'wait', 
    141             'white', 'wider', 'x-fast', 'x-high', 'x-large', 'x-loud', 
    142             'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small', 'yellow', 
    143             'yes' 
    144             ) 
    145         ), 
     325            'absolute', 
     326            'activeborder', 
     327            'activecaption', 
     328            'after-white-space', 
     329            'ahead', 
     330            'alternate', 
     331            'always', 
     332            'appworkspace', 
     333            'armenian', 
     334            'auto', 
     335            'avoid', 
     336            'background', 
     337            'backwards', 
     338            'baseline', 
     339            'below', 
     340            'bevel', 
     341            'bidi-override', 
     342            'blink', 
     343            'block', 
     344            'block clear', 
     345            'block width', 
     346            'block-axis', 
     347            'bold', 
     348            'bolder', 
     349            'border', 
     350            'border-box', 
     351            'both', 
     352            'bottom', 
     353            'break-word', 
     354            'butt', 
     355            'button', 
     356            'button-bevel', 
     357            'buttonface', 
     358            'buttonhighlight', 
     359            'buttonshadow', 
     360            'buttontext', 
     361            'capitalize', 
     362            'caption', 
     363            'captiontext', 
     364            'caret', 
     365            'center', 
     366            'checkbox', 
     367            'circle', 
     368            'cjk-ideographic', 
     369            'clip', 
     370            'close-quote', 
     371            'collapse', 
     372            'compact', 
     373            'condensed', 
     374            'content', 
     375            'content-box', 
     376            'continuous', 
     377            'crop', 
     378            'cross', 
     379            'crosshair', 
     380            'currentColor', 
     381            'cursive', 
     382            'dashed', 
     383            'decimal', 
     384            'decimal-leading-zero', 
     385            'default', 
     386            'disc', 
     387            'discard', 
     388            'dot-dash', 
     389            'dot-dot-dash', 
     390            'dotted', 
     391            'double', 
     392            'down', 
     393            'e-resize', 
     394            'element', 
     395            'ellipsis', 
     396            'embed', 
     397            'end', 
     398            'evenodd', 
     399            'expanded', 
     400            'extra-condensed', 
     401            'extra-expanded', 
     402            'fantasy', 
     403            'fast', 
     404            'fixed', 
     405            'forwards', 
     406            'georgian', 
     407            'graytext', 
     408            'groove', 
     409            'hand', 
     410            'hebrew', 
     411            'help', 
     412            'hidden', 
     413            'hide', 
     414            'higher', 
     415            'highlight', 
     416            'highlighttext', 
     417            'hiragana', 
     418            'hiragana-iroha', 
     419            'horizontal', 
     420            'icon', 
     421            'ignore', 
     422            'inactiveborder', 
     423            'inactivecaption', 
     424            'inactivecaptiontext', 
     425            'infinite', 
     426            'infobackground', 
     427            'infotext', 
     428            'inherit', 
     429            'initial', 
     430            'inline', 
     431            'inline-axis', 
     432            'inline-block', 
     433            'inline-table', 
     434            'inset', 
     435            'inside', 
     436            'intrinsic', 
     437            'invert', 
     438            'italic', 
     439            'justify', 
     440            'katakana', 
     441            'katakana-iroha', 
     442            'landscape', 
     443            'large', 
     444            'larger', 
     445            'left', 
     446            'level', 
     447            'lighter', 
     448            'line-through', 
     449            'list-item', 
     450            'listbox', 
     451            'listitem', 
     452            'logical', 
     453            'loud', 
     454            'lower', 
     455            'lower-alpha', 
     456            'lower-greek', 
     457            'lower-latin', 
     458            'lower-roman', 
     459            'lowercase', 
     460            'ltr', 
     461            'marker', 
     462            'match', 
     463            'medium', 
     464            'menu', 
     465            'menulist', 
     466            'menulist-button', 
     467            'menulist-text', 
     468            'menulist-textfield', 
     469            'menutext', 
     470            'message-box', 
     471            'middle', 
     472            'min-intrinsic', 
     473            'miter', 
     474            'mix', 
     475            'monospace', 
     476            'move', 
     477            'multiple', 
     478            'n-resize', 
     479            'narrower', 
     480            'ne-resize', 
     481            'no-close', 
     482            'no-close-quote', 
     483            'no-open-quote', 
     484            'no-repeat', 
     485            'none', 
     486            'nonzero', 
     487            'normal', 
     488            'nowrap', 
     489            'nw-resize', 
     490            'oblique', 
     491            'once', 
     492            'open-quote', 
     493            'outset', 
     494            'outside', 
     495            'overline', 
     496            'padding', 
     497            'pointer', 
     498            'portrait', 
     499            'pre', 
     500            'pre-line', 
     501            'pre-wrap', 
     502            'push-button', 
     503            'radio', 
     504            'read-only', 
     505            'read-write', 
     506            'read-write-plaintext-only', 
     507            'relative', 
     508            'repeat', 
     509            'repeat-x', 
     510            'repeat-y', 
     511            'reverse', 
     512            'ridge', 
     513            'right', 
     514            'round', 
     515            'rtl', 
     516            'run-in', 
     517            's-resize', 
     518            'sans-serif', 
     519            'scroll', 
     520            'scrollbar', 
     521            'scrollbarbutton-down', 
     522            'scrollbarbutton-left', 
     523            'scrollbarbutton-right', 
     524            'scrollbarbutton-up', 
     525            'scrollbargripper-horizontal', 
     526            'scrollbargripper-vertical', 
     527            'scrollbarthumb-horizontal', 
     528            'scrollbarthumb-vertical', 
     529            'scrollbartrack-horizontal', 
     530            'scrollbartrack-vertical', 
     531            'se-resize', 
     532            'searchfield', 
     533            'searchfield-close', 
     534            'searchfield-results', 
     535            'semi-condensed', 
     536            'semi-expanded', 
     537            'separate', 
     538            'serif', 
     539            'show', 
     540            'single', 
     541            'skip-white-space', 
     542            'slide', 
     543            'slider-horizontal', 
     544            'slider-vertical', 
     545            'sliderthumb-horizontal', 
     546            'sliderthumb-vertical', 
     547            'slow', 
     548            'small', 
     549            'small-caps', 
     550            'small-caption', 
     551            'smaller', 
     552            'solid', 
     553            'space', 
     554            'square', 
     555            'square-button', 
     556            'start', 
     557            'static', 
     558            'status-bar', 
     559            'stretch', 
     560            'sub', 
     561            'super', 
     562            'sw-resize', 
     563            'table', 
     564            'table-caption', 
     565            'table-cell', 
     566            'table-column', 
     567            'table-column-group', 
     568            'table-footer-group', 
     569            'table-header-group', 
     570            'table-row', 
     571            'table-row-group', 
     572            'text', 
     573            'text-bottom', 
     574            'text-top', 
     575            'textfield', 
     576            'thick', 
     577            'thin', 
     578            'threeddarkshadow', 
     579            'threedface', 
     580            'threedhighlight', 
     581            'threedlightshadow', 
     582            'threedshadow', 
     583            'top', 
     584            'ultra-condensed', 
     585            'ultra-expanded', 
     586            'underline', 
     587            'unfurl', 
     588            'up', 
     589            'upper-alpha', 
     590            'upper-latin', 
     591            'upper-roman', 
     592            'uppercase', 
     593            'vertical', 
     594            'visible', 
     595            'visual', 
     596            'w-resize', 
     597            'wait', 
     598            'wave', 
     599            'wider', 
     600            'window', 
     601            'windowframe', 
     602            'windowtext', 
     603            'x-large', 
     604            'x-small', 
     605            'xx-large', 
     606            'xx-small' 
     607        ), 
     608        // function xxx() 
     609        3 => array( 
     610            'attr', 
     611            'calc', 
     612            'contrast', 
     613            'cross-fade', 
     614            'cubic-bezier', 
     615            'cycle', 
     616            'device-cmyk', 
     617            'drop-shadow', 
     618            'ellipse', 
     619            'hsl', 
     620            'hsla', 
     621            'hwb', 
     622            'image', 
     623            'matrix', 
     624            'matrix3d', 
     625            'minmax', 
     626            'grayscale', 
     627            'perspective', 
     628            'polygon', 
     629            'radial-gradient', 
     630            'translate', 
     631            'translatex', 
     632            'translatey', 
     633            'translatez', 
     634            'translate3d', 
     635            'skew', 
     636            'skewx', 
     637            'skewy', 
     638            'saturate', 
     639            'sepia', 
     640            'scale', 
     641            'scalex', 
     642            'scaley', 
     643            'scalez', 
     644            'scale3d', 
     645            'steps', 
     646            'rect', 
     647            'repeating-linear-gradient', 
     648            'repeating-radial-gradient', 
     649            'rgb', 
     650            'rgba', 
     651            'rotate', 
     652            'rotatex', 
     653            'rotatey', 
     654            'rotatez', 
     655            'rotate3d', 
     656            'url', 
     657            'var' 
     658        ), 
     659        // colors 
     660        4 => array( 
     661            'aliceblue', 
     662            'antiquewhite', 
     663            'aqua', 
     664            'aquamarine', 
     665            'azure', 
     666            'beige', 
     667            'bisque', 
     668            'black', 
     669            'blanchedalmond', 
     670            'blue', 
     671            'blueviolet', 
     672            'brown', 
     673            'burlywood', 
     674            'cadetblue', 
     675            'chartreuse', 
     676            'chocolate', 
     677            'coral', 
     678            'cornflowerblue', 
     679            'cornsilk', 
     680            'crimson', 
     681            'cyan', 
     682            'darkblue', 
     683            'darkcyan', 
     684            'darkgoldenrod', 
     685            'darkgray', 
     686            'darkgreen', 
     687            'darkgrey', 
     688            'darkkhaki', 
     689            'darkmagenta', 
     690            'darkolivegreen', 
     691            'darkorange', 
     692            'darkorchid', 
     693            'darkred', 
     694            'darksalmon', 
     695            'darkseagreen', 
     696            'darkslateblue', 
     697            'darkslategray', 
     698            'darkslategrey', 
     699            'darkturquoise', 
     700            'darkviolet', 
     701            'deeppink', 
     702            'deepskyblue', 
     703            'dimgray', 
     704            'dimgrey', 
     705            'dodgerblue', 
     706            'firebrick', 
     707            'floralwhite', 
     708            'forestgreen', 
     709            'fuchsia', 
     710            'gainsboro', 
     711            'ghostwhite', 
     712            'gold', 
     713            'goldenrod', 
     714            'gray', 
     715            'green', 
     716            'greenyellow', 
     717            'grey', 
     718            'honeydew', 
     719            'hotpink', 
     720            'indianred', 
     721            'indigo', 
     722            'ivory', 
     723            'khaki', 
     724            'lavender', 
     725            'lavenderblush', 
     726            'lawngreen', 
     727            'lemonchiffon', 
     728            'lightblue', 
     729            'lightcoral', 
     730            'lightcyan', 
     731            'lightgoldenrodyellow', 
     732            'lightgray', 
     733            'lightgreen', 
     734            'lightgrey', 
     735            'lightpink', 
     736            'lightsalmon', 
     737            'lightseagreen', 
     738            'lightskyblue', 
     739            'lightslategray', 
     740            'lightslategrey', 
     741            'lightsteelblue', 
     742            'lightyellow', 
     743            'lime', 
     744            'limegreen', 
     745            'linen', 
     746            'magenta', 
     747            'maroon', 
     748            'mediumaquamarine', 
     749            'mediumblue', 
     750            'mediumorchid', 
     751            'mediumpurple', 
     752            'mediumseagreen', 
     753            'mediumslateblue', 
     754            'mediumspringgreen', 
     755            'mediumturquoise', 
     756            'mediumvioletred', 
     757            'midnightblue', 
     758            'mintcream', 
     759            'mistyrose', 
     760            'moccasin', 
     761            'navajowhite', 
     762            'navy', 
     763            'oldlace', 
     764            'olive', 
     765            'olivedrab', 
     766            'orange', 
     767            'orangered', 
     768            'orchid', 
     769            'palegoldenrod', 
     770            'palegreen', 
     771            'paleturquoise', 
     772            'palevioletred', 
     773            'papayawhip', 
     774            'peachpuff', 
     775            'peru', 
     776            'pink', 
     777            'plum', 
     778            'powderblue', 
     779            'purple', 
     780            'rebeccapurple', 
     781            'red', 
     782            'rosybrown', 
     783            'royalblue', 
     784            'saddlebrown', 
     785            'salmon', 
     786            'sandybrown', 
     787            'seagreen', 
     788            'seashell', 
     789            'sienna', 
     790            'silver', 
     791            'skyblue', 
     792            'slateblue', 
     793            'slategray', 
     794            'slategrey', 
     795            'snow', 
     796            'springgreen', 
     797            'steelblue', 
     798            'tan', 
     799            'teal', 
     800            'thistle', 
     801            'transparent', 
     802            'tomato', 
     803            'turquoise', 
     804            'violet', 
     805            'wheat', 
     806            'white', 
     807            'whitesmoke', 
     808            'yellow', 
     809            'yellowgreen' 
     810        ), 
     811        // pseudo class 
     812        5 => array( 
     813            'active', 
     814            'after', 
     815            'before', 
     816            'checked', 
     817            'choices', 
     818            'dir', 
     819            'disabled', 
     820            'empty', 
     821            'enabled', 
     822            'first', 
     823            'first-child', 
     824            'first-letter', 
     825            'first-line', 
     826            'first-of-type', 
     827            'focus', 
     828            'fullscreen', 
     829            'hover', 
     830            'indeterminate', 
     831            'in-range', 
     832            'invalid', 
     833            'lang', 
     834            'last-child', 
     835            'last-of-type', 
     836            'link', 
     837            'not', 
     838            'nth-child', 
     839            'nth-last-child', 
     840            'nth-last-of-type', 
     841            'nth-of-type', 
     842            'only-child', 
     843            'only-of-type', 
     844            'optional', 
     845            'out-of-range', 
     846            'repeat-index', 
     847            'repeat-item', 
     848            'required', 
     849            'root', 
     850            'scope', 
     851            'selection', 
     852            'target', 
     853            'valid', 
     854            'value', 
     855            'visited' 
     856        ) 
     857    ), 
    146858    'SYMBOLS' => array( 
    147859        '(', ')', '{', '}', ':', ';', 
    148860        '>', '+', '*', ',', '^', '=' 
    149         ), 
     861    ), 
    150862    'CASE_SENSITIVE' => array( 
    151863        GESHI_COMMENTS => false, 
    152864        1 => true, 
    153         2 => true 
    154         ), 
     865        2 => true, 
     866        3 => true, 
     867        4 => true, 
     868        5 => true 
     869    ), 
    155870    'STYLES' => array( 
    156871        'KEYWORDS' => array( 
    157872            1 => 'color: #000000; font-weight: bold;', 
    158             2 => 'color: #993333;' 
    159             ), 
     873            2 => 'color: #993333;', 
     874            3 => 'color: #9932cc;', 
     875            4 => 'color: #dc143c;', 
     876            5 => 'color: #F5758F;', 
     877        ), 
    160878        'COMMENTS' => array( 
    161             1 => 'color: #a1a100;', 
    162879            2 => 'color: #ff0000; font-style: italic;', 
    163880            'MULTI' => 'color: #808080; font-style: italic;' 
    164             ), 
     881        ), 
    165882        'ESCAPE_CHAR' => array( 
    166883            0 => 'color: #000099; font-weight: bold;', 
     
    168885            2 => 'color: #000099; font-weight: bold;' 
    169886            //3 => 'color: #000099; font-weight: bold;' 
    170             ), 
     887        ), 
    171888        'BRACKETS' => array( 
    172889            0 => 'color: #00AA00;' 
    173             ), 
     890        ), 
    174891        'STRINGS' => array( 
    175892            0 => 'color: #ff0000;' 
    176             ), 
     893        ), 
    177894        'NUMBERS' => array( 
    178895            0 => 'color: #cc66cc;' 
    179             ), 
    180         'METHODS' => array( 
    181             ), 
     896        ), 
     897        'METHODS' => array(), 
    182898        'SYMBOLS' => array( 
    183899            0 => 'color: #00AA00;' 
    184             ), 
    185         'SCRIPT' => array( 
    186             ), 
     900        ), 
     901        'SCRIPT' => array(), 
    187902        'REGEXPS' => array( 
    188903            0 => 'color: #cc00cc;', 
    189904            1 => 'color: #6666ff;', 
    190             2 => 'color: #3333ff;', 
    191             3 => 'color: #933;' 
    192             ) 
    193         ), 
     905            2 => 'color: #3F84D9; font-weight: bold;', 
     906            3 => 'color: #933;', 
     907            4 => 'color: #444;' 
     908        ) 
     909    ), 
    194910    'URLS' => array( 
    195911        1 => '', 
    196         2 => '' 
    197         ), 
     912        2 => '', 
     913        3 => '', 
     914        4 => '', 
     915        5 => '' 
     916    ), 
    198917    'OOLANG' => false, 
    199     'OBJECT_SPLITTERS' => array( 
    200         ), 
     918    'OBJECT_SPLITTERS' => array(), 
    201919    'REGEXPS' => array( 
    202920        //DOM Node ID 
     
    204922        //CSS classname 
    205923        1 => '\.(?!\d)[a-zA-Z0-9\-_]+(?:\\\\:[a-zA-Z0-9\-_]+)*\b(?=[\{\.#\s,:].|<\|)', 
    206         //CSS Pseudo classes 
    207         //note: & is needed for &gt; (i.e. > ) 
    208         2 => '(?<!\\\\):(?!\d)[a-zA-Z0-9\-]+\b(?:\s*(?=[\{\.#a-zA-Z,:+*&](.|\n)|<\|))', 
     924        //CSS rules 
     925        2 => '\@(?!\d)[a-zA-Z0-9\-_]+(?:\\\\:[a-zA-Z0-9\-_]+)*\b(?=[\{\.#\s,:].|<\|)', 
    209926        //Measurements 
    210         3 => '[+\-]?(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)', 
    211         ), 
     927        3 => '[+\-]?(\d+|(\d*\.\d+))(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|%)', 
     928        //var 
     929        4 => '(--[a-zA-Z0-9\-]*)' 
     930    ), 
    212931    'STRICT_MODE_APPLIES' => GESHI_NEVER, 
    213     'SCRIPT_DELIMITERS' => array( 
    214         ), 
    215     'HIGHLIGHT_STRICT_BLOCK' => array( 
    216         ), 
     932    'SCRIPT_DELIMITERS' => array(), 
     933    'HIGHLIGHT_STRICT_BLOCK' => array(), 
    217934    'TAB_WIDTH' => 4, 
    218935    'PARSER_CONTROL' => array( 
    219936        'KEYWORDS' => array( 
    220937            'DISALLOWED_AFTER' => '(?![\-a-zA-Z0-9_\|%\\-&\.])', 
    221             'DISALLOWED_BEFORE' => '(?<![\-a-zA-Z0-9_\|%\\~&\.])' 
     938            'DISALLOWED_BEFORE' => '(?<![\-a-zA-Z0-9_\|%\\~&\.])', 
     939            1 => array( 
     940                'DISALLOWED_AFTER' => '(?![\-a-zA-Z0-9_\|%\\-&\.])(?=\s*:)' 
     941            ) 
    222942        ) 
    223943    ) 
    224944); 
    225  
    226 ?> 
  • oik-css/trunk/geshi/geshi/html5.php

    r738426 r1789010  
    55 * Author: Nigel McNie (nigel@geshi.org) 
    66 * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) 
    7  * Release Version: 1.0.8.11 
     7 * Release Version: 1.0.9.0 
    88 * Date Started: 2004/07/10 
    99 * 
     
    209209    ) 
    210210); 
    211  
    212 ?> 
  • oik-css/trunk/geshi/geshi/javascript.php

    r738426 r1789010  
    55 * Author: Ben Keen (ben.keen@gmail.com) 
    66 * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter) 
    7  * Release Version: 1.0.8.11 
     7 * Release Version: 1.0.9.0 
    88 * Date Started: 2004/06/20 
    99 * 
     
    171171        ) 
    172172); 
    173  
    174 ?> 
  • oik-css/trunk/geshi/geshi/jquery.php

    r738426 r1789010  
    55 * Author: Rob Loach (http://www.robloach.net) 
    66 * Copyright: (c) 2009 Rob Loach (http://www.robloach.net) 
    7  * Release Version: 1.0.8.11 
     7 * Release Version: 1.0.9.0 
    88 * Date Started: 2009/07/20 
    99 * 
     
    235235        ) 
    236236); 
    237  
    238 ?> 
  • oik-css/trunk/geshi/geshi/php.php

    r738426 r1789010  
    55 * Author: Nigel McNie (nigel@geshi.org) 
    66 * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) 
    7  * Release Version: 1.0.8.11 
     7 * Release Version: 1.0.9.0 
    88 * Date Started: 2004/06/20 
    99 * 
     
    9191            'endfor','endforeach','endif','endswitch','endwhile','for', 
    9292            'foreach','if','include','include_once','require','require_once', 
    93             'return','switch','throw','while', 
     93            'return','switch','throw','while', 'yield', 
    9494 
    9595            'echo','print' 
     
    9898            '&amp;new','&lt;/script&gt;','&lt;?php','&lt;script language', 
    9999            'abstract','class','const','declare','extends','function','global', 
    100             'interface','namespace','new','private','protected','public','self', 
    101             'use','var' 
     100            'implements', 'interface','namespace','new','private','protected', 
     101            'public','self','trait','use','var' 
    102102            ), 
    103103        3 => array( 
     
    11141114    'TAB_WIDTH' => 4 
    11151115); 
    1116  
    1117 ?> 
  • oik-css/trunk/oik-css.php

    r1311054 r1789010  
    22/* 
    33Plugin Name: oik-css 
    4 Plugin URI: http://www.oik-plugins.com/oik-plugins/oik-css 
     4Plugin URI: https://www.oik-plugins.com/oik-plugins/oik-css 
    55Description: Implements [bw_css] shortcode for internal CSS styling and to help document CSS examples and [bw_geshi] for other languages 
    6 Version: 0.8.1   
     6Version: 0.9.0   
    77Author: bobbingwide 
    8 Author URI: http://www.oik-plugins.com/author/bobbingwide 
    9 License: GPL2 
    10  
    11     Copyright 2013-2015 Bobbing Wide (email : herb@bobbingwide.com ) 
     8Author URI: https://www.oik-plugins.com/author/bobbingwide 
     9Text Domain: oik-css 
     10Domain Path: /languages/ 
     11License: GPLv2 or later 
     12License URI: https://www.gnu.org/licenses/gpl-2.0.html 
     13 
     14    Copyright 2013-2017 Bobbing Wide (email : herb@bobbingwide.com ) 
    1215 
    1316    This program is free software; you can redistribute it and/or modify 
     
    201204 * Implement "admin_notices" for oik-css to check plugin dependency 
    202205 *  
    203  * Now dependent upon oik v2.3 
    204  * 2015/12/17 Now dependent upon oik v2.5or higher 
     206 * Version | Dependent on 
     207 * ------- | ------------ 
     208 * 0.1     | v2.0-beta 
     209 * 0.2     | v2.0 
     210 * 0.3     | v2.0 
     211 * 0.4     | v2.0 
     212 * 0.5     | v2.1 
     213 * 0.6     | v2.1 
     214 * 0.7     | v2.3  
     215 * 0.8.0   | v2.3 
     216 * 0.8.1   | v2.5 
     217 * 0.8.2   | v2.5 
     218 * 0.9.0   | v3.2.3 
    205219 */  
    206220function oik_css_activation() { 
     
    213227    } 
    214228  }   
    215   $depends = "oik:2.5"; 
     229  $depends = "oik:3.2.3"; 
    216230  oik_plugin_lazy_activation( __FILE__, $depends, "oik_plugin_plugin_inactive" ); 
    217231} 
  • oik-css/trunk/readme.txt

    r1311054 r1789010  
    11=== oik-css === 
    22Contributors: bobbingwide, vsgloik 
    3 Donate link: http://www.oik-plugins.com/oik/oik-donate/ 
     3Donate link: https://www.oik-plugins.com/oik/oik-donate/ 
    44Tags: shortcode, CSS, GeSHi, [bw_css], [bw_geshi], [bw_autop], [bw_background], oik, lazy, smart 
    5 Requires at least: 3.9 
    6 Tested up to: 4.4 
    7 Stable tag: 0.8.1 
     5Requires at least: 4.9 
     6Tested up to: 4.9.1 
     7Stable tag: 0.9.0 
    88License: GPLv2 or later 
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    1717For readability, the CSS is processed using the Generic Syntax Highlighter (GeSHi) processing. 
    1818 
    19 Use the [bw_geshi] shortcode for syntax highlighting of: CSS, HTML(5), JavaScript and jQuery, and PHP.  
     19Use the [bw_geshi] shortcode for syntax highlighting of: CSS, HTML(5), JavaScript and jQuery, PHP and MySQL.  
    2020Also supports language: none. 
    2121 
     
    6262* CSS  
    6363* HTML(5) 
    64 * JavsScript and jQuery  
     64* JavaScript and jQuery  
    6565* PHP 
     66* MySQL 
    6667* none  
    6768 
     
    7071 
    7172= What version of GeSHi does oik-css use? = 
    72 oik-css delivers a subset of GeSHi version 1.0.8.11, which was the current release on 2013/07/09 
     73oik-css delivers a subset of GeSHi version 1.0.9.0, which was released in May 2017, with modifications to support PHP 7.2 
    7374 
    7475Only a small selection of the languages are supported by oik-css. These are the languages primarily used by WordPress. 
     
    8182 
    8283== Upgrade Notice == 
     84= 0.9.0 =  
     85Upgrade for improvements to the [bw_geshi] shortcode. Now depends on oik v3.2.3. Available in US English. Localized in UK English.  
     86 
     87= 0.8.2 =  
     88[bw_geshi] shortcode now supports lang=mysql 
     89 
    8390= 0.8.1 = 
    8491Tested with WordPress 4.4. Now depends on oik v2.5 or higher 
     
    109116 
    110117== Changelog == 
     118= 0.9.0 =  
     119* Changed: Disable GeSHi's keyword linking [github bobbingwide oik-css issues 8] 
     120* Changed: Update GeSHi to 1.0.9.0 - May 2017 and change to support PHP 7.2 [github bobbingwide oik-css issues 5] 
     121* Changed; 100% translatble and localizable on WordPress.org [github bobbingwide oik-css issue 6] 
     122* Fixed: Test bw_better_autop with WordPress 4.7 [github bobbingwide oik-css issues 3] 
     123* Fixed: [bw_geshi] - do not eliminate p and br tags when lang=html or html5 [github bobbingwide oik-css issues 7] 
     124* Tested: With PHP 7.2  
     125* Tested: With WordPress 4.9.1 and WordPress Multisite  
     126 
     127= 0.8.2 =  
     128* Added: Added lang=mysql for [bw_geshi] shortcode [github bobbingwide oik-css issue 1] 
     129* Changed: Supports PHP 7.0 [github bobbingwide oik-css issue 2] 
     130* Tested: With WordPress 4.5-RC1 
     131 
    111132= 0.8.1 =  
    112133* Tested: With WordPress 4.4 
     
    160181== Further reading == 
    161182If you want to read more about the oik plugins then please visit the 
    162 [oik plugin](http://www.oik-plugins.com/oik)  
     183[oik plugin](https://www.oik-plugins.com/oik)  
    163184**"OIK - OIK Information Kit"** 
    164185 
  • oik-css/trunk/shortcodes/oik-autop.php

    r982874 r1789010  
    1 <?php // (C) Copyright Bobbing Wide 2014 
     1<?php // (C) Copyright Bobbing Wide 2014-2017 
    22/** 
    33 * Implement [bw_autop] shortcode 
     
    2121 */ 
    2222function bw_autop__help( $shortcode="bw_autop" ) { 
    23   return( "Dynamically re-enable/disable automatic paragraph generation" ); 
     23  return( __( "Dynamically re-enable/disable automatic paragraph generation", "oik-css" ) ); 
    2424} 
    2525 
     
    2929 */ 
    3030function bw_autop__syntax( $shortcode="bw_autop" ) { 
    31   $syntax = array( "autop,0" => bw_skv( "true", "false", "Re-enable/disable automatic paragraph generation" ) 
     31  $syntax = array( "autop,0" => BW_::bw_skv( "true", "false", __( "Re-enable/disable automatic paragraph generation", "oik-css" ) ) 
    3232                 ); 
    3333  return( $syntax ); 
  • oik-css/trunk/shortcodes/oik-background.php

    r1233617 r1789010  
    1 <?php // (C) Copyright Bobbing Wide 2014,2015 
     1<?php // (C) Copyright Bobbing Wide 2014-2017 
    22 
    33/** 
     
    6464  } 
    6565  $atts['thumbnail'] = bw_array_get( $atts, "thumbnail", "full" ); 
    66   oik_require( "includes/bw_posts.inc" ); 
     66  oik_require( "includes/bw_posts.php" ); 
    6767  $thumbnail = bw_get_thumbnail_size( $atts ); 
    6868  //$posts = bw_get_posts(); 
     
    8181       
    8282    } else { 
    83       p( "No thumbnail" ); 
     83      BW_::p( __( "No thumbnail", "oik-css" ) ); 
    8484    } 
    8585  //} 
     
    9191 */ 
    9292function bw_background__help( $shortcode="bw_background" ) { 
    93   return( "Use attached image as the background" ); 
     93  return( __( "Use attached image as the background", "oik-css" ) ); 
    9494} 
    9595 
     
    9898 */ 
    9999function bw_background__syntax( $shortcode="bw_background" ) { 
    100     $syntax = array( "id,0" => bw_skv( "current ID", "<i>ID</i>", "Post ID to find image to display" ) 
    101                         , "selector,1" => bw_skv( "body", "<i>CSS selector</i>", "CSS selector for the background image" )  
    102                         , "thumbnail" => bw_skv( "full", "thumbnail|medium|large", "Image size to use" ) 
    103                         , "post_type" => bw_skv( "attachment", "<i>post type</i>", "Post type" ) 
    104                         , "post_mime_type" => bw_skv( "image", "<i>post mime type</i>", "Post mime type" ) 
     100    $syntax = array( "id,0" => BW_::bw_skv( __( "current ID", "oik-css" ), "<i>" . __( "ID", "oik-css" ) . "</i>", __( "Post ID to find image to display", "oik-css" ) ) 
     101                        , "selector,1" => BW_::bw_skv( "body", "<i>" . __( "CSS selector", "oik-css" ) . "</i>", __( "CSS selector for the background image", "oik-css" ) )  
     102                        , "thumbnail" => BW_::bw_skv( "full", "thumbnail|medium|large", __( "Image size to use", "oik-css" ) ) 
     103                        , "post_type" => BW_::bw_skv( "attachment", "<i>" . __( "post type", "oik-css" ) . "</i>", __( "Post type", "oik-css" ) ) 
     104                        , "post_mime_type" => BW_::bw_skv( "image", "<i>" . __( "post mime type", "oik-css" ) . "</i>", __( "Post mime type", "oik-css" ) ) 
    105105                        ); 
    106106    return( $syntax ); 
  • oik-css/trunk/shortcodes/oik-css.php

    r1311054 r1789010  
    1  <?php // (C) Copyright Bobbing Wide 2013-2015 
     1<?php // (C) Copyright Bobbing Wide 2013-2017 
    22/** 
    33 * Enqueue the internal CSS styling 
     
    3434 
    3535/** 
     36 * Our version of geshi_highlight 
     37 * 
     38 * Disables links for html, mysql etc 
     39 * 
     40 * @param string $string   The code to highlight 
     41 * @param string $language The language to highlight the code in 
     42 * @param string $path     The path to the language files. You can leave this blank if you need 
     43 *                         as from version 1.0.7 the path should be automatically detected 
     44 * @param boolean $return  Whether to return the result or to echo 
     45 * @return string The code highlighted 
     46 */ 
     47function bw_geshi_highlight($string, $language) { 
     48        if ( !class_exists('GeSHi') ) { 
     49            oik_require( "geshi/geshi.php", "oik-css" ); 
     50        } 
     51    $geshi = new GeSHi($string, $language); 
     52    $geshi->set_header_type(GESHI_HEADER_NONE); 
     53    $geshi->enable_keyword_links( false ); 
     54    return '<code>' . $geshi->parse_code() . '</code>'; 
     55} 
     56 
     57/** 
    3658 * Perform GeSHi - Generic Syntax Highlighter processing 
    3759 *  
     
    4163 * Note: It shouldn't matter if we do this to CSS  
    4264 *  
    43  * @param string $content - the code to be put through GESHI highlighting 
     65 * @param string $content - the code to be put through GeSHi highlighting 
    4466 * @param string $language - the language to use. 
    4567 * @return string the highlighted code 
     
    4769function bw_geshi_it( $content, $language="CSS" ) { 
    4870    if ( $language != "none" ) { 
    49         if ( !function_exists('geshi_highlight') ) { 
    50             oik_require( "geshi/geshi.php", "oik-css" ); 
    51         } 
    52         $geshid = geshi_highlight( $content, $language, null, true ); 
     71        $geshid = bw_geshi_highlight( $content, $language, null, true ); 
    5372    } else { 
    5473        $content = esc_html( $content ); 
     
    7493  $dec = str_replace( "<p>", "", $dec ); 
    7594  $dec = str_replace( "</p>", "", $dec ); 
    76    
     95    return $dec; 
     96} 
     97 
     98/** 
     99 * Detexturize content 
     100 * 
     101 * Reverse the texturizing that may have been performed against the content. 
     102 * 
     103 * @param string $content 
     104 * @return string Detexturized content 
     105 */ 
     106function bw_detexturize( $content ) { 
     107  $dec = $content; 
    77108  $dec = str_replace( "&#8216;", "'", $dec );  // Left single quotation mark 
    78109  $dec = str_replace( "&#8217;", "'", $dec );  // Right single quotation mark 
     
    81112  $dec = str_replace( "&#038;", '&', $dec );   // Ampersand 
    82113  $dec = str_replace( "&#8211;", "-", $dec );  // en dash 
    83   //bw_trace2( $dec, "de-tagged content" ); 
    84   return( $dec ); 
     114  bw_trace2( $dec, "de-tagged content" ); 
     115  return $dec; 
    85116} 
    86117 
     
    96127function oik_css( $atts=null, $content=null, $tag=null ) { 
    97128  if ( $content ) { 
    98     $content = bw_remove_unwanted_tags( $content ); 
    99     bw_enqueue_style( $atts, $content ); 
    100     bw_format_style( $atts, $content ); 
     129    $dec = bw_remove_unwanted_tags( $content ); 
     130        $dec = bw_detexturize( $dec ); 
     131    bw_enqueue_style( $atts, $dec ); 
     132    bw_format_style( $atts, $dec ); 
    101133  } 
    102134  return( bw_ret() ); 
    103135} 
    104136 
     137/** 
     138 * Help hook for [bw_css] shortcode 
     139 * 
     140 * @param string $shortcode shortcode name 
     141 * @return string Short description of the shortcode 
     142 */ 
    105143function bw_css__help( $shortcode="bw_css" ) { 
    106144  return( __( "Add internal CSS styling", "oik-css" ) ); 
     
    114152 * 
    115153 * If you want the CSS to be passed through GeSHi and output to the page then this is indicated using a parameter. 
    116  * A simple . will cause the CSS to be echoed  
    117  * Anything other than .  which could be as text="echo this text" or just "echo this text" will be echoed before the CSS  
     154 * A simple . will cause the CSS to be echoed.  
     155 * Anything other than .  which could be as text="echo this text" or just "echo this text" will be echoed before the CSS.  
    118156 */ 
    119157function bw_css__syntax( $shortcode="bw_css" ) { 
    120   $syntax = array( "." => bw_skv( null, "<i>any</i>", "Display the CSS" ) 
    121                  , "text" => bw_skv( null, "<i>any</i>", "Display the CSS with this annotation" ) 
     158  $syntax = array( "." => BW_::bw_skv( null, "<i>". __( "any", "oik-css" ) . "</i>", __( "Display the CSS", "oik-css" ) ) 
     159                 , "text" => BW_::bw_skv( null, "<i>". __( "any", "oik-css" ) . "</i>", __( "Display the CSS with this annotation", "oik-css" ) ) 
    122160                 ); 
    123161  return( $syntax ); 
     
    128166 */ 
    129167function bw_css__example( $shortcode="bw_css" ) { 
    130   $text = "When the &lt;code&gt; tag follows a &lt;p&gt; tag use a 14px font and different colours"; 
    131   $example = " ] p> code { font-size: 14px; color: white; background: #333; }[/bw_css"; 
     168  $text = __( "When the &lt;code&gt; tag follows a &lt;p&gt; tag use a 14px font and different colours", "oik-css" ); 
     169  $example = " ]p> code { font-size: 14px; color: white; background: #333; }[/bw_css"; 
    132170  bw_invoke_shortcode( $shortcode, $example, $text ); 
    133   $text = "Elsewhere display &lt;code&gt; in blue."; 
    134   $example = " ]code { color: blue; } [/bw_css"; 
     171  $text = __( "Elsewhere display &lt;code&gt; in blue.", "oik-css" ); 
     172  $example = " ]code { color: blue; }[/bw_css"; 
    135173  bw_invoke_shortcode( $shortcode, $example, $text ); 
    136   $text = "Use a parameter to cause the CSS to be shown."; 
    137   $example = " .] td code b { color: darkblue; } [/bw_css"; 
     174  $text = __( "Use a parameter to cause the CSS to be shown.", "oik-css" ); 
     175  $example = " .]td code b { color: darkblue; }[/bw_css"; 
    138176  bw_invoke_shortcode( $shortcode, $example, $text ); 
    139177} 
    140  
    141  
    142  
    143  
    144    
    145    
    146  
    147  
  • oik-css/trunk/shortcodes/oik-geshi.php

    r1233617 r1789010  
    1 <?php // (C) Copyright Bobbing Wide 2013-2015 
     1<?php // (C) Copyright Bobbing Wide 2013-2017 
    22 
    33/** 
    44 * Validate the language for GeSHi 
    55 * 
    6  * Note: html5 is a special version which will also remove unwanted tags. 
    7  * Use 'none' when you want the output to be displayed ASIS 
     6 * Use 'none' when you want the output to be displayed ASIS; GeSHi is not used for this. 
     7 * 'html' is an alias for 'html5'. It uses the same GeSHi code. 
    88 * 
    99 * @param string $lang - the required languange ( case insensitive ) 
     
    1515  //bw_trace2(); 
    1616  $lang = strtolower( $lang ); 
    17   $valid = bw_assoc( bw_as_array( "css,html,javascript,jquery,php,html5,none" )); 
     17  $valid = bw_assoc( bw_as_array( "css,html,javascript,jquery,php,html5,none,mysql" )); 
    1818  $vlang = bw_array_get( $valid, $lang, null ); 
    1919  if ( !$vlang ) { 
     
    2424  } 
    2525  if ( !$vlang ) { 
    26     p( "Invalid lang= parameter for bw_geshi shortcode. $lang" ); 
    27     p( "$vlang,$text" ); 
     26    BW_::p( sprintf( __( 'Invalid %1$s parameter for bw_geshi shortcode. %2$s', "oik-css" ), "lang=", $lang ) ); 
     27    BW_::p( "$vlang,$text" ); 
    2828  }  
    2929  return( $vlang ); 
     
    3232/** 
    3333 * Format the content for the chosen language 
     34 *  
     35 * - For 'none' and 'html' we shouldn't strip p and br tags. 
     36 * - For other languages we have to remove them. 
     37 * - Detexturize undoes any unwanted texturizing. 
    3438 * 
    3539 * @param array $atts - array of parameters. The formal parameter name is "text" but ANY value will do the job 
     
    4145  $lang = oik_css_validate_lang( $lang, $text ); 
    4246  if ( $lang ) { 
    43     if ( $lang <> "html"  || $lang <> "none" ) { 
    44       $content = bw_remove_unwanted_tags( $content ); 
    45     } else { 
    46       $lang = "html5";  
    47       //bw_trace2( $content, "html5-content" ); 
    48     }  
     47        switch ( $lang ) { 
     48            case 'html': 
     49            case 'html5': 
     50                $lang = 'html5'; 
     51                 
     52            case 'none': 
     53                $content = bw_detexturize( $content ); 
     54                break; 
     55             
     56            default: // css, php, javascript, jquery, mysql 
     57                $content = bw_remove_unwanted_tags( $content ); 
     58                $content = bw_detexturize( $content ); 
     59        } 
    4960    sdiv( "bw_geshi $lang" ); 
    5061    if ( $text <> "." ) { 
     
    6576 */ 
    6677function oik_geshi( $atts=null, $content=null, $tag=null ) { 
    67   //bw_backtrace(); 
    68   //bw_trace2( $content, "pre fiddled content" ); 
    6978  if ( $content ) { 
    7079    oik_require( "shortcodes/oik-css.php", "oik-css" ); 
     
    7281  } 
    7382    $ret = bw_ret(); 
    74     //bw_trace2( $ret, "returning", false ); 
    75   return( $ret ); 
     83  return $ret; 
    7684} 
    7785 
     
    8088 */  
    8189function bw_geshi__help( $shortcode="bw_geshi" ) { 
    82   return( "Generic Syntax Highlighting" ); 
     90  return( __( "Generic Syntax Highlighting", "oik-css" ) ); 
    8391} 
    8492 
     
    8795 * 
    8896 * Added "content" for shortcode UI 
    89  * Removed "content" for shortcode UI - since it now uses "inner_content" 
     97 * Removed "content" for shortcode UI (shortcake) - since it now uses "inner_content" 
    9098 * Added "none" language for no GeSHi processing 
    9199 */ 
    92100function bw_geshi__syntax( $shortcode="bw_geshi" ) { 
    93   $syntax = array( "lang" => bw_skv( null, "html|css|javascript|jquery|php|none", "Programming language" ) 
    94                  , "text" => bw_skv( null, "<i>text</i>", "Descriptive text to display" ) 
    95                  //, "content" => bw_skv( null, "textarea", "Content" ) 
     101  $syntax = array( "lang" => BW_::bw_skv( null, "html|css|javascript|jquery|php|none|mysql", __( "Programming language", "oik-css" ) ) 
     102                 , "text" => BW_::bw_skv( null, "<i>" . __( "text", "oik-css" ) .  "</i>", __( "Descriptive text to display", "oik-css" ) ) 
    96103                 ); 
    97104  return( $syntax ); 
     
    107114 */ 
    108115function bw_geshi__example( $shortcode="bw_css" ) { 
    109   $text = "Demonstrating the HTML to create a link to www.oik-plugins.com"; 
    110   p( $text ); 
     116  $text = __( "Demonstrating the HTML to create a link to oik-plugins.com", "oik-css" ); 
     117  BW_::p( $text ); 
    111118  $example = "[$shortcode"; 
    112   $example .= ' html .]<a href="http://www.oik-plugins.com">Visit oik-plugins.com</a>[/bw_geshi'; 
     119  $example .= ' html .]<a href="https://www.oik-plugins.com">' . __( "Visit oik-plugins.com", "oik-css" ) . '</a>[/bw_geshi'; 
    113120  $example .= ']'; 
    114121  sp(); 
Note: See TracChangeset for help on using the changeset viewer.