diff --git a/lib/action.php b/lib/action.php index 8ba2abc9f9..251b1dadac 100644 --- a/lib/action.php +++ b/lib/action.php @@ -277,6 +277,13 @@ class Action extends HTMLOutputter // lawsuit $this->cssLink('css/display.css', $baseTheme, $media); } $this->cssLink('css/display.css', $mainTheme, $media); + + // Additional styles for RTL languages + if (is_rtl(common_language())) { + if (file_exists(Theme::file('css/rtl.css'))) { + $this->cssLink('css/rtl.css', $mainTheme, $media); + } + } } /** diff --git a/lib/apiaction.php b/lib/apiaction.php index 64b4284f6a..7b2f70c07c 100644 --- a/lib/apiaction.php +++ b/lib/apiaction.php @@ -241,13 +241,13 @@ class ApiAction extends Action // Is the requesting user following this user? $twitter_user['following'] = false; - $twitter_user['statusnet:blocking'] = false; + $twitter_user['statusnet_blocking'] = false; $twitter_user['notifications'] = false; if (isset($this->auth_user)) { $twitter_user['following'] = $this->auth_user->isSubscribed($profile); - $twitter_user['statusnet:blocking'] = $this->auth_user->hasBlocked($profile); + $twitter_user['statusnet_blocking'] = $this->auth_user->hasBlocked($profile); // Notifications on? $sub = Subscription::pkeyGet(array('subscriber' => @@ -317,6 +317,7 @@ class ApiAction extends Action $twitter_status['source'] = $source; $twitter_status['id'] = intval($notice->id); + $twitter_status['statusnet_conversation_id'] = intval($notice->conversation); $replier_profile = null; diff --git a/lib/language.php b/lib/language.php index 2af62fea0c..d72380e466 100644 --- a/lib/language.php +++ b/lib/language.php @@ -289,6 +289,21 @@ function get_nice_language_list() return $nice_lang; } +/* + * Check whether a language is right-to-left + * + * @param string $lang language code of the language to check + * + * @return boolean true if language is rtl + */ + +function is_rtl($lang) +{ + $all_languages = common_config('site', 'languages'); + $lang = $all_languages[$lang]; + return ($lang['direction'] == 'rtl'); +} + /** * Get a list of all languages that are enabled in the default config * diff --git a/plugins/Activity/ActivityPlugin.php b/plugins/Activity/ActivityPlugin.php index cd47427e0a..b21fa90653 100644 --- a/plugins/Activity/ActivityPlugin.php +++ b/plugins/Activity/ActivityPlugin.php @@ -84,7 +84,7 @@ class ActivityPlugin extends Plugin if (!empty($user)) { $sub = Subscription::pkeyGet(array('subscriber' => $subscriber->id, 'subscribed' => $other->id)); - $rendered = sprintf(_m('%s started following %s.'), + $rendered = sprintf(_m('%s started following %s.'), $subscriber->profileurl, $subscriber->getBestName(), $other->profileurl, @@ -114,7 +114,7 @@ class ActivityPlugin extends Plugin if(!$this->StopFollowUser) return true; $user = $subscriber->getUser(); if (!empty($user)) { - $rendered = sprintf(_m('%s stopped following %s.'), + $rendered = sprintf(_m('%s stopped following %s.'), $subscriber->profileurl, $subscriber->getBestName(), $other->profileurl, @@ -156,7 +156,7 @@ class ActivityPlugin extends Plugin $fave = Fave::pkeyGet(array('user_id' => $user->id, 'notice_id' => $notice->id)); - $rendered = sprintf(_m('%s liked %s\'s update.'), + $rendered = sprintf(_m('%s liked %s\'s update.'), $profile->profileurl, $profile->getBestName(), $notice->bestUrl(), @@ -189,7 +189,7 @@ class ActivityPlugin extends Plugin if (!empty($user)) { $author = Profile::staticGet('id', $notice->profile_id); - $rendered = sprintf(_m('%s stopped liking %s\'s update.'), + $rendered = sprintf(_m('%s stopped liking %s\'s update.'), $profile->profileurl, $profile->getBestName(), $notice->bestUrl(), @@ -230,7 +230,7 @@ class ActivityPlugin extends Plugin return true; } - $rendered = sprintf(_m('%s joined the group %s.'), + $rendered = sprintf(_m('%s joined the group %s.'), $profile->profileurl, $profile->getBestName(), $group->homeUrl(), @@ -267,7 +267,7 @@ class ActivityPlugin extends Plugin return true; } - $rendered = sprintf(_m('%s left the group %s.'), + $rendered = sprintf(_m('%s left the group %s.'), $profile->profileurl, $profile->getBestName(), $group->homeUrl(), diff --git a/plugins/Activity/joinlistitem.php b/plugins/Activity/joinlistitem.php index 1979524001..5764f1d2e6 100644 --- a/plugins/Activity/joinlistitem.php +++ b/plugins/Activity/joinlistitem.php @@ -58,7 +58,7 @@ class JoinListItem extends SystemListItem $out->elementStart('div', 'join-activity'); $profile = $mem->getMember(); $group = $mem->getGroup(); - $out->raw(sprintf(_m('%s joined the group %s.'), + $out->raw(sprintf(_m('%s joined the group %s.'), $profile->profileurl, $profile->getBestName(), $group->homeUrl(), diff --git a/plugins/Activity/systemlistitem.php b/plugins/Activity/systemlistitem.php index d2b99c802e..0b8d2f4c02 100644 --- a/plugins/Activity/systemlistitem.php +++ b/plugins/Activity/systemlistitem.php @@ -56,7 +56,7 @@ class SystemListItem extends NoticeListItemAdapter function showNotice() { $out = $this->nli->out; - $out->elementStart('div'); + $out->elementStart('div', 'entry-title'); $this->showContent(); $out->elementEnd('div'); } diff --git a/plugins/DirectionDetector/DirectionDetectorPlugin.php b/plugins/DirectionDetector/DirectionDetectorPlugin.php index be8dbea8e5..890af06807 100644 --- a/plugins/DirectionDetector/DirectionDetectorPlugin.php +++ b/plugins/DirectionDetector/DirectionDetectorPlugin.php @@ -42,15 +42,6 @@ class DirectionDetectorPlugin extends Plugin { return true; } - /** - * SN plugin API, here we will add css needed for modifiyed rendered - * - * @param Action $xml - */ - public function onEndShowStatusNetStyles($xml){ - $xml->element('style', array('type' => 'text/css'), 'span.rtl {display:block;direction:rtl;text-align:right;float:right;} .notice .author {float:left}'); - } - /** * is passed string a rtl content or not * diff --git a/theme/base/css/display.css b/theme/base/css/display.css index 9ad1b4ec15..5d65c14cc8 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -1514,6 +1514,22 @@ content:'☠'; font-size:150%; } +#content .notice-source-system div.entry-title, .notice-source-system div.entry-content { + margin-left: 0; +} + +#content .notice-source-system div.entry-title { + font-style: italic; + min-height: 0; +} + +span.rtl { + display: block; + direction: rtl; + text-align: right; + float: right; +} + /* override OStatus plugin style */ #form_ostatus_connect.form_settings.dialogbox, #form_ostatus_sub.dialogbox { diff --git a/theme/base/css/rtl.css b/theme/base/css/rtl.css new file mode 100644 index 0000000000..a9b6e593cd --- /dev/null +++ b/theme/base/css/rtl.css @@ -0,0 +1 @@ +/* placeholder for RTL style */ diff --git a/theme/neo/css/rtl.css b/theme/neo/css/rtl.css new file mode 100644 index 0000000000..a9b6e593cd --- /dev/null +++ b/theme/neo/css/rtl.css @@ -0,0 +1 @@ +/* placeholder for RTL style */