Make WordPress Core

Ticket #6425: better-rtl-feeds.patch

File better-rtl-feeds.patch, 17.5 KB (added by RanYanivHartstein, 16 years ago)

Better patch for setting directionality in feeds

  • feed-atom-comments.php

     
    1313        xml:lang="<?php echo get_option('rss_language'); ?>"
    1414        <?php do_action('atom_ns'); ?>
    1515>
    16         <title type="text"><?php
     16        <title type="text"><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php
    1717                if ( is_singular() )
    1818                        printf(__('Comments on: %s'), get_the_title_rss());
    1919                elseif ( is_search() )
    2020                        printf(__('Comments for %1$s searching on %2$s'), get_bloginfo_rss( 'name' ), attribute_escape(get_search_query()));
    2121                else
    2222                        printf(__('Comments for %s'), get_bloginfo_rss( 'name' ) . get_wp_title_rss());
    23         ?></title>
    24         <subtitle type="text"><?php bloginfo_rss('description'); ?></subtitle>
     23        ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
     24        <subtitle type="text"><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php bloginfo_rss('description'); ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></subtitle>
    2525
    2626        <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastcommentmodified('GMT')); ?></updated>
    2727        <?php the_generator( 'atom' ); ?>
     
    4646        get_post_custom($comment_post->ID);
    4747?>
    4848        <entry>
    49                 <title><?php
     49                <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php
    5050                        if ( !is_singular() ) {
    5151                                $title = get_the_title($comment_post->ID);
    5252                                $title = apply_filters('the_title_rss', $title);
     
    5454                        } else {
    5555                                printf(__('By: %s'), get_comment_author_rss());
    5656                        }
    57                 ?></title>
     57                ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    5858                <link rel="alternate" href="<?php comment_link(); ?>" type="<?php bloginfo_rss('html_type'); ?>" />
    5959
    6060                <author>
    61                         <name><?php comment_author_rss(); ?></name>
     61                        <name><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php comment_author_rss(); ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></name>
    6262                        <?php if (get_comment_author_url()) echo '<uri>' . get_comment_author_url() . '</uri>'; ?>
    6363
    6464                </author>
     
    6969<?php if (!empty($comment_post->post_password) && $_COOKIE['wp-postpass'] != $comment_post->post_password) : ?>
    7070                <content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<?php echo get_the_password_form(); ?>]]></content>
    7171<?php else : // post pass ?>
     72        <?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
    7273                <content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<?php comment_text(); ?>]]></content>
     74        <?php } else { ?>
     75                <content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<div dir="rtl"><?php comment_text(); ?></div>]]></content>
     76        <?php } ?>
     77       
    7378<?php endif; // post pass
    7479        do_action('comment_atom_entry', $comment->comment_ID, $comment_post->ID);
    7580?>
  • feed-atom.php

     
    1717  xml:base="<?php bloginfo_rss('home') ?>/wp-atom.php"
    1818  <?php do_action('atom_ns'); ?>
    1919 >
     20
     21<?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
    2022        <title type="text"><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
    2123        <subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
     24<?php } else { ?>
     25        <title type="text">&#8235;<?php bloginfo_rss('name'); wp_title_rss(); ?>&#8236;</title>
     26        <subtitle type="text">&#8235;<?php bloginfo_rss("description") ?>&#8236;</subtitle>
     27<?php } ?>
    2228
    2329        <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT')); ?></updated>
    2430        <?php the_generator( 'atom' ); ?>
     
    3137        <?php while (have_posts()) : the_post(); ?>
    3238        <entry>
    3339                <author>
     40                <?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
    3441                        <name><?php the_author() ?></name>
     42                <?php } else { ?>
     43                        <name>&#8235;<?php the_author() ?>&#8236;</name>
     44                <?php } ?>
    3545                        <?php $author_url = get_the_author_url(); if ( !empty($author_url) ) : ?>
    3646                        <uri><?php the_author_url()?></uri>
    3747                        <?php endif; ?>
    3848                </author>
     49               
     50        <?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
    3951                <title type="<?php html_type_rss(); ?>"><![CDATA[<?php the_title_rss() ?>]]></title>
     52        <?php } else { ?>
     53                <title type="<?php html_type_rss(); ?>"><![CDATA[&#8235;<?php the_title_rss() ?>&#8236;]]></title>
     54        <?php } ?>
     55               
    4056                <link rel="alternate" type="text/html" href="<?php the_permalink_rss() ?>" />
    4157                <id><?php the_guid(); ?></id>
    4258                <updated><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></updated>
    4359                <published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published>
    4460                <?php the_category_rss('atom') ?>
     61        <?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
    4562                <summary type="<?php html_type_rss(); ?>"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary>
     63        <?php } else { ?>
     64                <summary type="<?php html_type_rss(); ?>"><![CDATA[&#8235;<?php the_excerpt_rss(); ?>&#8236;]]></summary>
     65        <?php } ?>
     66
    4667<?php if ( !get_option('rss_use_excerpt') ) : ?>
     68        <?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
    4769                <content type="<?php html_type_rss(); ?>" xml:base="<?php the_permalink_rss() ?>"><![CDATA[<?php the_content('', 0, '') ?>]]></content>
     70        <?php } else { ?>
     71                <content type="<?php html_type_rss(); ?>" xml:base="<?php the_permalink_rss() ?>"><![CDATA[<div dir="rtl"><?php the_content('', 0, '') ?></div>]]></content>
     72        <?php } ?>
    4873<?php endif; ?>
     74
    4975<?php atom_enclosure(); ?>
    5076<?php do_action('atom_entry'); ?>
    5177                <link rel="replies" type="text/html" href="<?php the_permalink_rss() ?>#comments" thr:count="<?php echo get_comments_number()?>"/>
  • feed-rdf.php

     
    2020        <?php do_action('rdf_ns'); ?>
    2121>
    2222<channel rdf:about="<?php bloginfo_rss("url") ?>">
    23         <title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
     23        <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php bloginfo_rss('name'); wp_title_rss(); ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    2424        <link><?php bloginfo_rss('url') ?></link>
    25         <description><?php bloginfo_rss('description') ?></description>
     25        <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php bloginfo_rss('description') ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
    2626        <dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></dc:date>
    2727        <?php the_generator( 'rdf' ); ?>
    2828        <sy:updatePeriod>hourly</sy:updatePeriod>
     
    3939</channel>
    4040<?php rewind_posts(); while (have_posts()): the_post(); ?>
    4141<item rdf:about="<?php the_permalink_rss() ?>">
    42         <title><?php the_title_rss() ?></title>
     42        <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_title_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    4343        <link><?php the_permalink_rss() ?></link>
    4444         <dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', $post->post_date_gmt, false); ?></dc:date>
    45         <dc:creator><?php the_author() ?></dc:creator>
     45        <dc:creator><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_author() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></dc:creator>
    4646        <?php the_category_rss('rdf') ?>
    4747<?php if (get_option('rss_use_excerpt')) : ?>
    48         <description><?php the_excerpt_rss() ?></description>
     48        <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_excerpt_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
    4949<?php else : ?>
    50         <description><?php the_content_rss('', 0, '', get_option('rss_excerpt_length'), 2) ?></description>
     50        <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?><?php the_content_rss('', 0, '', get_option('rss_excerpt_length'), 2) ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
     51<?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
    5152        <content:encoded><![CDATA[<?php the_content('', 0, '') ?>]]></content:encoded>
     53<?php } else { ?>
     54        <content:encoded><![CDATA[<div dir="rtl"><?php the_content('', 0, '') ?></div>]]></content:encoded>
     55<?php } ?>
     56       
    5257<?php endif; ?>
    5358        <?php do_action('rdf_item'); ?>
    5459</item>
  • feed-rss.php

     
    1313<?php the_generator( 'comment' ); ?>
    1414<rss version="0.92">
    1515<channel>
    16         <title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
     16        <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php bloginfo_rss('name'); wp_title_rss(); ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    1717        <link><?php bloginfo_rss('url') ?></link>
    18         <description><?php bloginfo_rss('description') ?></description>
     18        <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php bloginfo_rss('description') ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
    1919        <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
    2020        <docs>http://backend.userland.com/rss092</docs>
    2121        <language><?php echo get_option('rss_language'); ?></language>
     
    2323
    2424<?php while (have_posts()) : the_post(); ?>
    2525        <item>
    26                 <title><?php the_title_rss() ?></title>
     26                <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_title_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    2727<?php if (get_option('rss_use_excerpt')) { ?>
    28                 <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
     28                <description><![CDATA[<?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_excerpt_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?>]]></description>
    2929<?php } else { // use content ?>
    30                 <description><?php the_content_rss('', 0, '', get_option('rss_excerpt_length')) ?></description>
     30                <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_content_rss('', 0, '', get_option('rss_excerpt_length')) ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
    3131<?php } ?>
    3232                <link><?php the_permalink_rss() ?></link>
    3333                <?php do_action('rss_item'); ?>
  • feed-rss2-comments.php

     
    1515        xmlns:atom="http://www.w3.org/2005/Atom"
    1616        >
    1717<channel>
    18         <title><?php
     18        <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php
    1919                if ( is_singular() )
    2020                        printf(__('Comments on: %s'), get_the_title_rss());
    2121                elseif ( is_search() )
    2222                        printf(__('Comments for %s searching on %s'), get_bloginfo_rss( 'name' ), attribute_escape($wp_query->query_vars['s']));
    2323                else
    2424                        printf(__('Comments for %s'), get_bloginfo_rss( 'name' ) . get_wp_title_rss());
    25         ?></title>
     25        ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    2626        <atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
    2727        <link><?php (is_single()) ? the_permalink_rss() : bloginfo_rss("url") ?></link>
    28         <description><?php bloginfo_rss("description") ?></description>
     28        <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php bloginfo_rss("description") ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
    2929        <pubDate><?php echo gmdate('r'); ?></pubDate>
    3030        <?php the_generator( 'rss2' ); ?>
    3131        <?php do_action('commentsrss2_head'); ?>
     
    3535        get_post_custom($comment_post->ID);
    3636?>
    3737        <item>
    38                 <title><?php
     38                <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php
    3939                        if ( !is_singular() ) {
    4040                                $title = get_the_title($comment_post->ID);
    4141                                $title = apply_filters('the_title_rss', $title);
     
    4343                        } else {
    4444                                printf(__('By: %s'), get_comment_author_rss());
    4545                        }
    46                 ?></title>
     46                ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    4747                <link><?php comment_link() ?></link>
    48                 <dc:creator><?php echo get_comment_author_rss() ?></dc:creator>
     48                <dc:creator><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php echo get_comment_author_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></dc:creator>
    4949                <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true), false); ?></pubDate>
    5050                <guid isPermaLink="false"><?php comment_guid() ?></guid>
    5151<?php if (!empty($comment_post->post_password) && $_COOKIE['wp-postpass'] != $comment_post->post_password) : ?>
    52                 <description><?php _e('Protected Comments: Please enter your password to view comments.'); ?></description>
     52                <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php _e('Protected Comments: Please enter your password to view comments.'); ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
    5353                <content:encoded><![CDATA[<?php echo get_the_password_form() ?>]]></content:encoded>
    5454<?php else : // post pass ?>
    55                 <description><?php comment_text_rss() ?></description>
     55                <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php comment_text_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
     56        <?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
    5657                <content:encoded><![CDATA[<?php comment_text() ?>]]></content:encoded>
     58        <?php } else { ?>
     59                <content:encoded><![CDATA[<div dir="rtl"><?php comment_text() ?></div>]]></content:encoded>
     60        <?php } ?>
     61               
    5762<?php endif; // post pass
    5863        do_action('commentrss2_item', $comment->comment_ID, $comment_post->ID);
    5964?>
  • feed-rss2.php

     
    2020>
    2121
    2222<channel>
    23         <title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
     23        <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php bloginfo_rss('name'); wp_title_rss(); ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    2424        <atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
    2525        <link><?php bloginfo_rss('url') ?></link>
    26         <description><?php bloginfo_rss("description") ?></description>
     26        <description><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php bloginfo_rss("description") ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></description>
    2727        <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate>
    2828        <?php the_generator( 'rss2' ); ?>
    2929        <language><?php echo get_option('rss_language'); ?></language>
    3030        <?php do_action('rss2_head'); ?>
    3131        <?php while( have_posts()) : the_post(); ?>
    3232        <item>
    33                 <title><?php the_title_rss() ?></title>
     33                <title><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_title_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></title>
    3434                <link><?php the_permalink_rss() ?></link>
    3535                <comments><?php comments_link(); ?></comments>
    3636                <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
    37                 <dc:creator><?php the_author() ?></dc:creator>
     37                <dc:creator><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_author() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?></dc:creator>
    3838                <?php the_category_rss() ?>
    3939
    4040                <guid isPermaLink="false"><?php the_guid(); ?></guid>
    4141<?php if (get_option('rss_use_excerpt')) : ?>
    42                 <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
     42                <description><![CDATA[<?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_excerpt_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?>]]></description>
    4343<?php else : ?>
    44                 <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
     44                <description><![CDATA[<?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_excerpt_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?>]]></description>
    4545        <?php if ( strlen( $post->post_content ) > 0 ) : ?>
     46        <?php if ( get_bloginfo('text_direction') == 'ltr' ) { ?>
     47                <content:encoded><![CDATA[<div dir="rtl"><?php the_content() ?></div>]]></content:encoded>
     48        <?php } else { ?>
    4649                <content:encoded><![CDATA[<?php the_content() ?>]]></content:encoded>
     50        <?php } ?>
     51               
    4752        <?php else : ?>
    48                 <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
     53                <content:encoded><![CDATA[<?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8235;'); }?><?php the_excerpt_rss() ?><?php if ( get_bloginfo('text_direction') == 'rtl' ) { echo ('&#8236;'); }?>]]></content:encoded>
    4954        <?php endif; ?>
    5055<?php endif; ?>
    5156                <wfw:commentRss><?php echo get_post_comments_feed_link(); ?></wfw:commentRss>