WordPress.org

Plugin Directory

Changeset 450219


Ignore:
Timestamp:
10/12/11 11:07:27 (3 years ago)
Author:
ydubois
Message:

Revision 2.1.0:

  • Ability to build drop-down blog menu easily
  • Ability to sort by domain
  • Filter hook for external processing of the list by other plugins
  • show_count = false parameter
  • Regular wp-style arguments parsing (now allows using array of arguments)
  • Ukrainian translation by Mikalay @ webhostinggeeks.com
Location:
yd-wpmu-bloglist-widget/trunk
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • yd-wpmu-bloglist-widget/trunk/readme.txt

    r335192 r450219  
    8484* Dutch translation kindly provided by: [Rene](http://www.fethiyehotels.com "Rene") 
    8585* German translation by: [Rian Kramer](http://www.pangaea.nl/diensten/exact-webshop "Pangaea") 
     86* Ukrainian translation by: [Mikalay Lisica](http://webhostinggeeks.com/ "Web Geek") 
    8687 
    8788== Installation == 
     
    194195== Revisions == 
    195196 
     197* 2.1.0 New features: drop-down, sort by domain, filter hooks, show_count=false, wp-style arguments 
     198* 2.0.0 Major new release : WPML support, blog exclusion options 
     199* 1.0.2 Bugfix in postcount order; German version. 
     200* 1.0.1 Bugfix in settings update. 
     201* 1.0.0 Final release. Includes improved settings page and Dutch version. 
     202* 0.2.2 Bug fixes in the options page (when saving settings) - still considered beta (check cache IRL). 
     203* 0.2.1 Third debug ("duplicate link" issue for subdomains) - still considered beta (check cache IRL). 
     204* 0.2.0 Second debug (thanks to TB@Wellcom) - still considered beta (check cache IRL). 
     205* 0.1.1 First debug (thanks to Arume) - still considered beta (check cache IRL). 
    196206* 0.1.0 Original beta version. 
    197 * 0.1.1 First debug (thanks to Arume) - still considered beta (check cache IRL). 
    198 * 0.2.0 Second debug (thanks to TB@Wellcom) - still considered beta (check cache IRL). 
    199 * 0.2.1 Third debug ("duplicate link" issue for subdomains) - still considered beta (check cache IRL). 
    200 * 0.2.2 Bug fixes in the options page (when saving settings) - still considered beta (check cache IRL). 
    201 * 1.0.0 Final release. Includes improved settings page and Dutch version. 
    202 * 1.0.1 Bugfix in settings update. 
    203 * 1.0.2 Bugfix in postcount order; German version. 
    204 * 2.0.0 Major new release : WPML support, blog exclusion options 
    205207 
    206208== Changelog == 
    207209 
    208 = 0.1.1 = 
    209 * Corrected order-by and limit features which were non-functional (thanks to Luis @ Arume for reporting) 
    210 * Made non-xhtml compliant 'alt' parameter optional (thanks to Luis @ Arume for reporting) 
    211 * Completed translation file (thanks to Arume again) 
    212 * Added Spanish and Galician translation files (credits [Arume](http://www.arumeinformatica.es/ "Arume")) 
    213 * Completed doc + readme file 
    214 = 0.2.0 = 
    215 * Bugfix: Alphabetical order was case-sensitive (2010-04-21) (thanks to TB@Wellcom for reporting) 
    216 * New feature: trailing slash option 
    217 * Compatibility: WP 2.9.2 & WPMU 2.9.2 
    218 = 0.2.1 = 
    219 * Bugfix: "Duplicate link" issue with sub-domain installations (2010-04-22) 
    220 = 0.2.2 = 
    221 * Bugfix: Plural form was not saved (2010-04-22) (thanks to Thomas@Wellcom for noticing) 
    222 * Bugfix: html_entities_decode would cause utf-8 nightmare ans crash in options encoding (thanks TB again!) 
     210= 2.1.0 = 
     211* New features and improvements: 
     212* Ability to build drop-down blog menu easily 
     213* Ability to sort by domain 
     214* Filter hook for external processing of the list by other plugins 
     215* show_count = false parameter 
     216* Regular wp-style arguments parsing (now allows using array of arguments) 
     217= 2.0.0 = 
     218* WPML language support 
     219* Place longer column first 
     220* Backlink disabled by default 
     221* Use POST for form submission 
     222* Blog selection options 
     223* Blog exclude list option 
     224* New YD Logo 
     225= 1.0.2 = 
     226* Bugfix: order by post count 
     227* German translation by Rian Kramer @ Pangaea http://www.pangaea.nl 
     228= 1.0.1 = 
     229* Bugfix: settings update 
    223230= 1.0.0 = 
    224231* Considered stable, no complaint after more than 500 downloads 
     
    229236* Added settings page link in the short description 
    230237* (slightly) Revised documentation page 
    231 = 1.0.1 = 
    232 * Bugfix: settings update 
    233 = 1.0.2 = 
    234 * Bugfix: order by post count 
    235 * German translation by Rian Kramer @ Pangaea http://www.pangaea.nl 
    236 = 2.0.0 = 
    237 * WPML language support 
    238 * Place longer column first 
    239 * Backlink disabled by default 
    240 * Use POST for form submission 
    241 * Blog selection options 
    242 * Blog exclude list option 
    243 * New YD Logo 
     238= 0.2.2 = 
     239* Bugfix: Plural form was not saved (2010-04-22) (thanks to Thomas@Wellcom for noticing) 
     240* Bugfix: html_entities_decode would cause utf-8 nightmare ans crash in options encoding (thanks TB again!) 
     241= 0.2.1 = 
     242* Bugfix: "Duplicate link" issue with sub-domain installations (2010-04-22) 
     243= 0.2.0 = 
     244* Bugfix: Alphabetical order was case-sensitive (2010-04-21) (thanks to TB@Wellcom for reporting) 
     245* New feature: trailing slash option 
     246* Compatibility: WP 2.9.2 & WPMU 2.9.2 
     247= 0.1.1 = 
     248* Corrected order-by and limit features which were non-functional (thanks to Luis @ Arume for reporting) 
     249* Made non-xhtml compliant 'alt' parameter optional (thanks to Luis @ Arume for reporting) 
     250* Completed translation file (thanks to Arume again) 
     251* Added Spanish and Galician translation files (credits [Arume](http://www.arumeinformatica.es/ "Arume")) 
     252* Completed doc + readme file 
    244253  
    245254== Upgrade Notice == 
    246255 
     256= 2.1.0 = 
     257No special instruction for upgrade (see **changelog** section). 
     258= 2.0.0 = 
     259No special instruction for upgrade (see **changelog** section). 
     260= 1.0.2 = 
     261No special instruction for upgrade (see **changelog** section). 
     262= 1.0.1 = 
     263No special instruction for upgrade (see **changelog** section). 
     264= 1.0.0 = 
     265No special instruction for upgrade (see **changelog** section). 
     266= 0.2.2 = 
     267Options save settings bugfixes (see **changelog** section). 
     268= 0.2.1 = 
     269Multi-domain bugfix (see **changelog** section). 
     270= 0.2.0 = 
     271Minor bugfix + New features + 2.9.2 compatibility (see **changelog** section). 
    247272= 0.1.1 = 
    248273Important bug fixes + Spanish version (see **changelog** section). 
    249 = 0.2.0 = 
    250 Minor bugfix + New features + 2.9.2 compatibility (see **changelog** section). 
    251 = 0.2.1 = 
    252 Multi-domain bugfix (see **changelog** section). 
    253 = 0.2.2 = 
    254 Options save settings bugfixes (see **changelog** section). 
    255 = 1.0.0 = 
    256 No special instruction for upgrade (see **changelog** section). 
    257 = 1.0.1 = 
    258 No special instruction for upgrade (see **changelog** section). 
    259 = 1.0.2 = 
    260 No special instruction for upgrade (see **changelog** section). 
    261 = 2.0.0 = 
    262 No special instruction for upgrade (see **changelog** section). 
    263274 
    264275== Did you like it? == 
  • yd-wpmu-bloglist-widget/trunk/yd-wpmu-bloglist-widget.php

    r335192 r450219  
    33 * @package YD_WPMU-Bloglist-Widget 
    44 * @author Yann Dubois 
    5  * @version 2.0.0 
     5 * @version 2.1.0 
    66 */ 
    77 
     
    1111 Description: Installs a new sidebar widget that can display an ordered list of your WPMU subsites with post count. Uses cache to avoid multiple database queries. You can also insert this list in your templates and not use the widget. | Funded by <a href="http://www.wellcom.fr">Wellcom.fr</a> 
    1212 Author: Yann Dubois 
    13  Version: 2.0.0 
     13 Version: 2.1.0 
    1414 Author URI: http://www.yann.com/ 
    1515 */ 
     
    3838 */ 
    3939/** 
    40  Revision 0.1.0: 
    41  - Original beta release 
    42  Revision 0.1.1: 
    43  - Bugfix: The order and limit did not function. (2010-03-04) (thanks to Arume) 
    44  Revision 0.2.0: 
    45  - Bugfix: Alphabetical order was case-sensitive (2010-04-21) (thanks to Thomas@Wellcom) 
    46  - Feature: trailing slash option 
    47  - Compatibility: WP 2.9.2 & WPMU 2.9.2 
    48  Revision 0.2.1: 
    49  - Bugfix: "Duplicate link" (2010-04-22) (thanks to Marius, Scot, Andu, Rob, Jason for noticing) 
    50  Revision 0.2.2: 
    51  - Bugfix: Plural form was not saved (2010-04-22) (thanks to Thomas@Wellcom for noticing) 
    52  - Bugfix: html_entities_decode would cause utf-8 nightmare ans crash in options encoding (thanks TB again!) 
     40 Revision 2.1.0: 
     41 - Ability to build drop-down blog menu easily 
     42 - Ability to sort by domain 
     43 - Filter hook for external processing of the list by other plugins 
     44 - show_count = false parameter 
     45 - Regular wp-style arguments parsing (now allows using array of arguments) 
     46 - Ukrainian translation by Mikalay @ webhostinggeeks.com 
     47 Revision 2.0.0: 
     48 - WPML language support 
     49 - Place longer column first 
     50 - Backlink disabled by default 
     51 - Use POST for form submission 
     52 - Blog selection options 
     53 - Blog exclude list option 
     54 - New YD Logo 
     55 Revision 1.0.2: 
     56 - Bugfix: postcount sort order (as reported by Bohdan) 
     57 - German translation by Rian Kramer @ Pangaea http://www.pangaea.nl 
     58 Revision 1.0.1: 
     59 - Bugfix: settings update problem. 
    5360 Revision 1.0.0: 
    5461 - Considered stable, no complaint after more than 500 downloads 
     
    5966 - Added option page link in the short description 
    6067 - (slightly) Revised documentation page 
    61  Revision 1.0.1: 
    62  - Bugfix: settings update problem. 
    63  Revision 1.0.2: 
    64  - Bugfix: postcount sort order (as reported by Bohdan) 
    65  - German translation by Rian Kramer @ Pangaea http://www.pangaea.nl 
    66  Revision 2.0.0: 
    67  - WPML language support 
    68  - Place longer column first 
    69  - Backlink disabled by default 
    70  - Use POST for form submission 
    71  - Blog selection options 
    72  - Blog exclude list option 
    73  - New YD Logo 
    74   
     68 Revision 0.2.2: 
     69 - Bugfix: Plural form was not saved (2010-04-22) (thanks to Thomas@Wellcom for noticing) 
     70 - Bugfix: html_entities_decode would cause utf-8 nightmare ans crash in options encoding (thanks TB again!) 
     71 Revision 0.2.1: 
     72 - Bugfix: "Duplicate link" (2010-04-22) (thanks to Marius, Scot, Andu, Rob, Jason for noticing) 
     73 Revision 0.2.0: 
     74 - Bugfix: Alphabetical order was case-sensitive (2010-04-21) (thanks to Thomas@Wellcom) 
     75 - Feature: trailing slash option 
     76 - Compatibility: WP 2.9.2 & WPMU 2.9.2 
     77 Revision 0.1.1: 
     78 - Bugfix: The order and limit did not function. (2010-03-04) (thanks to Arume) 
     79  Revision 0.1.0: 
     80 - Original beta release 
    7581 ** 
    7682 Feature requests: 
     
    8187function yd_wpmubl_reset( $force ) { 
    8288    /** Init values **/ 
    83     $yd_wpmubl_version      = "2.0.0"; 
     89    $yd_wpmubl_version      = "2.1.0"; 
    8490    $default_bottomlink     = 'http://www.wellcom.fr/'; 
    8591    $default_bottomtext     = '<br/><small>[&rarr;visit www.Wellcom.fr]</small>'; 
     
    153159function yd_wpmubl_options() { //http://www.yann.com/yd-wpmubl-v102-logo.gif 
    154160    $support_url    = 'http://www.yann.com/en/wp-plugins/yd-wpmu-bloglist-widget'; 
    155     $yd_logo        = 'http://www.yann.com/yd-logo.gif?plugin=wpmubl-v200&ver=' . urlencode( get_bloginfo( 'version' ) ); 
     161    $yd_logo        = 'http://www.yann.com/yd-logo.gif?plugin=wpmubl-v210&ver=' . urlencode( get_bloginfo( 'version' ) ); 
    156162    $jstext         = preg_replace( "/'/", "\\'", __( 'This will disable the link in your blog footer. ' . 
    157163                            'If you are using this plugin on your site and like it, ' . 
     
    267273    echo '<li>' . __( 'Dutch:', 'yd-wpmubl' ) . ' <a href="http://www.fethiyehotels.com">Rene</a></li>'; 
    268274    echo '<li>' . __( 'German:', 'yd-wpmubl' ) . ' <a href="http://www.pangaea.nl/diensten/exact-webshop">Rian Kramer</a></li>'; 
     275    echo '<li>' . __( 'Ukrainian:', 'yd-wpmubl' ) . ' <a href="http://webhostinggeeks.com/">Mikalay Lisica</a></li>'; 
    269276    echo '</ul>'; 
    270277    echo __( 'If you want to contribute to a translation of this plugin, please drop me a line by ', 'yd-wpmubl' ); 
     
    381388        'blogname'  => __('Blog name', 'yd-wpmubl'), 
    382389        'path'      => __('Blog url path', 'yd-wpmubl'), 
     390        'domain'    => __('Blog url domain', 'yd-wpmubl'), 
    383391        'count'     => __('Blog post count', 'yd-wpmubl'), 
    384392        'created'   => __('Blog creation date', 'yd-wpmubl'), 
     
    597605} 
    598606 
     607/** Display drop-down menu **/ 
     608function yd_wpmu_bloglist_dropdown( $echo = TRUE, $params = NULL ) { 
     609    $html = ''; 
     610    if( $echo && $echo !== TRUE && $params === NULL ) { 
     611        // shift parameters 
     612        $params = $echo; 
     613        $echo = TRUE; 
     614    } 
     615     
     616    $dd = preg_replace( '/<a href=/', '<option value=', yd_list_all_wpmu_blogs( $params ) ); 
     617    //$dd = preg_replace( '/title="[^"]*"/', '', $dd ); 
     618    $dd = preg_replace( '|</a>|', '</option>', $dd ); 
     619    $html .= $dd; 
     620    if( isset( $echo ) && $echo !== FALSE ) { 
     621        echo $html; 
     622    } else { 
     623        return $html; 
     624    } 
     625} 
     626 
     627/** Javascript for drop-down **/ 
     628function yd_wpmubl_dropdown_js() { 
     629    ?> 
     630    <script>function ddjump(o){document.location=o.options[o.selectedIndex].value;}</script> 
     631    <?php 
     632} 
     633 
    599634/** Display inside content **/ 
    600635function yd_wpmubl_generate( $content ) { 
     
    701736    $i = 0; 
    702737    if( $params ) { 
    703         parse_str( $params, $args ); 
    704         $options[$i] = array_merge( $options[$i], $args ); // parameter overloading 
    705     } 
    706     /* 
     738        //parse_str( $params, $args ); 
     739        //$options[$i] = array_merge( (array)$options[$i], $args ); // parameter overloading 
     740        $options[$i] = wp_parse_args( $params, $options[$i] ); 
     741    } 
     742    /* * 
    707743    echo '<pre>'; 
    708744    var_dump( $options ); 
    709745    echo '</pre>'; 
    710     */ 
     746    * */ 
    711747    // html display options 
    712748    if ($tmp_name_or_url == "") { 
     
    729765        // column count calculation 
    730766        $blog_count = count( $blog_list ); 
     767        if( !isset( $options[$i]['column_count'] ) || $options[$i]['column_count'] == 0 ) 
     768            $options[$i]['column_count'] = 1; 
    731769        $item_per_column = floor( $blog_count / $options[$i]['column_count'] ); 
    732770        $remaining_items = $blog_count - ( $item_per_column * $options[$i]['column_count'] ); 
     
    734772        $col = 0; 
    735773        $html .= $options[$i]['before_block']; 
     774        $current_group = ''; 
     775 
    736776        foreach( $blog_list as $blog ) { 
    737777            if( $item == 0 && $col < $options[$i]['column_count'] ) { 
     
    740780                $open_column = true; 
    741781                $col ++; 
     782                /** Group_by hierarchy / display group_by tag criteria **/ 
     783                if( isset($options[$i]['group_by']) && !empty($options[$i]['group_by']) ) { 
     784                    if( isset($options[$i]['before_groupby']) ) { 
     785                        $html .= $options[$i]['before_groupby']; 
     786                    } else { 
     787                        $html .= '<ul class="groupby">'; 
     788                    } 
     789                    $mygroup = $blog[$options[$i]['group_by']]; 
     790                    if( $mygroup != $current_group ) { 
     791                        $html .= '<li class="groupname">' . $mygroup . '</li>'; 
     792                        $item ++; 
     793                    } 
     794                    $current_group = $blog[$options[$i]['group_by']]; 
     795                } 
     796            } else { 
     797                if( isset($options[$i]['group_by']) && !empty($options[$i]['group_by']) ) { 
     798                    $mygroup = $blog[$options[$i]['group_by']]; 
     799                    if( $mygroup != $current_group ) { 
     800                        $current_group = $mygroup; 
     801                        $html .= '</li></ul>'; 
     802                        $html .= '<ul class="groupby"><li class="groupname">'; 
     803                        $html .= $current_group . '</li>'; 
     804                        $item ++; 
     805                    } 
     806                } 
    742807            } 
    743808            $item ++; 
     
    750815                $html .=    ' alt="' . preg_replace( "/%B%/", preg_replace( '/"/', '&quot;', $blog['blogname'] ), $options[$i]['alt_text'] ) . '" '; 
    751816            } 
     817            if( !isset($blog['blogname']) || empty($blog['blogname']) ) 
     818                $blog['blogname'] = __( 'Untitled', 'yd-wpmubl' ); 
    752819            $html .=    ' title="' . preg_replace( "/%B%/", preg_replace( '/"/', '&quot;', $blog['blogname'] ), $options[$i]['title_text'] ) . '" ' . 
    753820                        ' >' . 
    754                         $blog['blogname'] .  
    755                         '</a>' .  
    756                         preg_replace( "/%S%/", $s, $options[$i]['before_count'] ) . 
    757                         $blog['post_count'] .  
    758                         preg_replace( "/%S%/", $s, $options[$i]['after_count'] ) . 
    759                         $options[$i]['after_item']; 
     821                        $blog['blogname'] . //$item .  
     822                        '</a>'; 
     823            if( !isset($options[$i]['show_count']) || $options[$i]['show_count'] ) { 
     824                $html .=    preg_replace( "/%S%/", $s, $options[$i]['before_count'] ) . 
     825                            $blog['post_count'] .  
     826                            preg_replace( "/%S%/", $s, $options[$i]['after_count'] ); 
     827            } 
     828            $html .=    $options[$i]['after_item']; 
    760829            if(  
    761830                (    
     
    774843        } 
    775844        if( $open_column ) { 
     845            /** Group_by hierarchy / display group_by tag criteria **/ 
     846            if( isset($options[$i]['group_by']) && !empty($options[$i]['group_by']) ) { 
     847                if( isset($options[$i]['after_groupby']) ) { 
     848                    $html .= $options[$i]['after_groupby']; 
     849                } else { 
     850                    $html .= '</li></ul>'; 
     851                } 
     852            } 
    776853            $html .= $options[$i]['after_list']; 
    777854            $html .= $options[$i]['after_column']; 
     
    781858        $html .= $begin_wrap . __('There are currently no active blogs.', 'yd-wpmubl') . $end_wrap; 
    782859    } 
     860    $html = apply_filters( 'ydwpmubl_html', $html ); 
    783861    return $html; 
    784862} 
     
    789867    $i = 0; 
    790868    if( $params ) { 
    791         parse_str( $params, $args ); 
    792         $options[$i] = array_merge( $options[$i], $args ); // parameter overloading 
     869        //parse_str( $params, $args ); 
     870        //$options[$i] = array_merge( (array)$options[$i], $args ); // parameter overloading 
     871        $options[$i] = wp_parse_args( $params, $options[$i] ); 
    793872    } 
    794873    // sql options 
     
    808887        'blogname'  => __('Blog name', 'yd-wpmubl'), 
    809888        'path'      => __('Blog url path', 'yd-wpmubl'), 
     889        'domain'    => __('Blog domain', 'yd-wpmubl'), 
    810890        'count'     => __('Blog post count', 'yd-wpmubl'), 
    811891        'created'   => __('Blog creation date', 'yd-wpmubl'), 
     
    828908            $order = "ORDER BY  path"; 
    829909        } 
     910        if ( 'domain' == $options[$i]['order_by'] ) { 
     911            $order = "ORDER BY  domain"; 
     912        } 
    830913    } 
    831914    if( 'DESC' == $options[$i]['order'] ) { 
     
    834917        $order .= ' ASC'; 
    835918    } 
     919 
    836920    if( $options[$i]['wpml_support'] && defined( 'ICL_LANGUAGE_CODE' ) && ICL_LANGUAGE_CODE != 'in' ) { 
    837921        $query = " 
     
    877961    $query .= " $order "; 
    878962    $query .= " $limit "; 
     963    $query = apply_filters( 'ydwpmubl_query', $query ); 
    879964    $blog_list = $wpdb->get_results( $query, ARRAY_A ); 
     965    $blog_list = apply_filters( 'ydwpmubl_sort', $blog_list, 'results' ); 
     966     
    880967    //echo $query; 
    881968    if( count( $blog_list ) > 1 ) { 
     
    883970            $blog_list[$id]['post_count']   = get_blog_option( $blog['blog_id'], 'post_count' ); 
    884971            $blog_list[$id]['blogname']     = get_blog_option( $blog['blog_id'], 'blogname' ); 
     972            if( isset( $options[$i]['group_by'] ) && !empty( $options[$i]['group_by'] ) ) { 
     973                $blog_list[$id][$options[$i]['group_by']] = get_blog_option( $blog['blog_id'], $options[$i]['group_by'] ); 
     974            } 
    885975            // get blog url depending on vhost or not-vhost installtion 
    886976            if( defined( "VHOST" ) && constant( "VHOST" ) == 'yes' ) 
     
    896986                    // "duplicated links" bug?? 
    897987        } 
     988         
    898989        // $blog_list array sort 
    899990        if ( 'blogname' == $options[$i]['order_by'] ) { 
     
    9161007            } 
    9171008        } 
    918         return( $blog_list );  
     1009        $blog_list = apply_filters( 'ydwpmubl_sort', $blog_list, 'after_sort' ); 
     1010         
     1011        /** group by blog option **/ 
     1012        if( isset( $options[$i]['group_by'] ) && !empty( $options[$i]['group_by'] ) ) { 
     1013            $blc = count( $blog_list ); 
     1014            $blw = strlen( (string)$blc ); 
     1015            foreach( $blog_list as $key => $val ) { 
     1016                $lf = $blw - strlen( (string)$key ); 
     1017                if( $lf > 0 ) $key = str_repeat( '0', $lf ) . $key; 
     1018                $blog_list[$key]['order'] = (string)$key; // left-filled with appropriate number of zeroes 
     1019            } 
     1020            global $YDWPMUSOGB; 
     1021            $YDWPMUSOGB = $options[$i]['group_by']; 
     1022            usort( $blog_list, 'yd_asort_groupby' ); 
     1023            //echo "CONTINENT\n"; 
     1024        } 
     1025        $blog_list = apply_filters( 'ydwpmubl_groupby', $blog_list, 'after_groupby' ); 
     1026         
     1027        return( $blog_list ); 
    9191028    } else { 
    9201029        return FALSE; 
     
    9321041function yd_asort_by_postcount_desc( $b, $a ) { 
    9331042    return ( $a["post_count"] > $b["post_count"] ); 
     1043} 
     1044function yd_asort_groupby( $a, $b ) { 
     1045    global $YDWPMUSOGB; 
     1046    return strcmp( strtolower( $a[$YDWPMUSOGB] . $a['order'] ), strtolower( $b[$YDWPMUSOGB] . $b['order'] ) ); 
    9341047} 
    9351048 
Note: See TracChangeset for help on using the changeset viewer.