forked from GNUsocial/gnu-social
		
	Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
This commit is contained in:
		| @@ -101,6 +101,7 @@ class ApiTimelineFavoritesAction extends ApiBareAuthAction | |||||||
|     function showTimeline() |     function showTimeline() | ||||||
|     { |     { | ||||||
|         $profile = $this->user->getProfile(); |         $profile = $this->user->getProfile(); | ||||||
|  |         $avatar     = $profile->getAvatar(AVATAR_PROFILE_SIZE); | ||||||
|  |  | ||||||
|         $sitename   = common_config('site', 'name'); |         $sitename   = common_config('site', 'name'); | ||||||
|         $title      = sprintf( |         $title      = sprintf( | ||||||
| @@ -121,20 +122,21 @@ class ApiTimelineFavoritesAction extends ApiBareAuthAction | |||||||
|             $profile->getBestName(), |             $profile->getBestName(), | ||||||
|             $this->user->nickname |             $this->user->nickname | ||||||
|         ); |         ); | ||||||
|  |         $logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE); | ||||||
|  |  | ||||||
|         switch($this->format) { |         switch($this->format) { | ||||||
|         case 'xml': |         case 'xml': | ||||||
|             $this->showXmlTimeline($this->notices); |             $this->showXmlTimeline($this->notices); | ||||||
|             break; |             break; | ||||||
|         case 'rss': |         case 'rss': | ||||||
|             $this->showRssTimeline($this->notices, $title, $link, $subtitle); |             $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo); | ||||||
|             break; |             break; | ||||||
|         case 'atom': |         case 'atom': | ||||||
|             $selfuri = common_root_url() . |             $selfuri = common_root_url() . | ||||||
|                 ltrim($_SERVER['QUERY_STRING'], 'p='); |                 ltrim($_SERVER['QUERY_STRING'], 'p='); | ||||||
|             $this->showAtomTimeline( |             $this->showAtomTimeline( | ||||||
|                 $this->notices, $title, $id, $link, $subtitle, |                 $this->notices, $title, $id, $link, $subtitle, | ||||||
|                 null, $selfuri |                 null, $selfuri, $logo | ||||||
|             ); |             ); | ||||||
|             break; |             break; | ||||||
|         case 'json': |         case 'json': | ||||||
|   | |||||||
| @@ -110,6 +110,7 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction | |||||||
|     function showTimeline() |     function showTimeline() | ||||||
|     { |     { | ||||||
|         $profile    = $this->user->getProfile(); |         $profile    = $this->user->getProfile(); | ||||||
|  |         $avatar     = $profile->getAvatar(AVATAR_PROFILE_SIZE); | ||||||
|         $sitename   = common_config('site', 'name'); |         $sitename   = common_config('site', 'name'); | ||||||
|         $title      = sprintf(_("%s and friends"), $this->user->nickname); |         $title      = sprintf(_("%s and friends"), $this->user->nickname); | ||||||
|         $taguribase = common_config('integration', 'taguri'); |         $taguribase = common_config('integration', 'taguri'); | ||||||
| @@ -121,13 +122,14 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction | |||||||
|             _('Updates from %1$s and friends on %2$s!'), |             _('Updates from %1$s and friends on %2$s!'), | ||||||
|             $this->user->nickname, $sitename |             $this->user->nickname, $sitename | ||||||
|         ); |         ); | ||||||
|  |         $logo       = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE); | ||||||
|  |  | ||||||
|         switch($this->format) { |         switch($this->format) { | ||||||
|         case 'xml': |         case 'xml': | ||||||
|             $this->showXmlTimeline($this->notices); |             $this->showXmlTimeline($this->notices); | ||||||
|             break; |             break; | ||||||
|         case 'rss': |         case 'rss': | ||||||
|             $this->showRssTimeline($this->notices, $title, $link, $subtitle); |             $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo); | ||||||
|             break; |             break; | ||||||
|         case 'atom': |         case 'atom': | ||||||
|  |  | ||||||
| @@ -144,7 +146,7 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction | |||||||
|  |  | ||||||
|             $this->showAtomTimeline( |             $this->showAtomTimeline( | ||||||
|                 $this->notices, $title, $id, $link, |                 $this->notices, $title, $id, $link, | ||||||
|                 $subtitle, null, $selfuri |                 $subtitle, null, $selfuri, $logo | ||||||
|             ); |             ); | ||||||
|             break; |             break; | ||||||
|         case 'json': |         case 'json': | ||||||
|   | |||||||
| @@ -105,6 +105,7 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction | |||||||
|     function showTimeline() |     function showTimeline() | ||||||
|     { |     { | ||||||
|         $sitename   = common_config('site', 'name'); |         $sitename   = common_config('site', 'name'); | ||||||
|  |         $avatar     = $this->group->homepage_logo; | ||||||
|         $title      = sprintf(_("%s timeline"), $this->group->nickname); |         $title      = sprintf(_("%s timeline"), $this->group->nickname); | ||||||
|         $taguribase = common_config('integration', 'taguri'); |         $taguribase = common_config('integration', 'taguri'); | ||||||
|         $id         = "tag:$taguribase:GroupTimeline:" . $this->group->id; |         $id         = "tag:$taguribase:GroupTimeline:" . $this->group->id; | ||||||
| @@ -117,13 +118,14 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction | |||||||
|             $this->group->nickname, |             $this->group->nickname, | ||||||
|             $sitename |             $sitename | ||||||
|         ); |         ); | ||||||
|  |         $logo       = ($avatar) ? $avatar : User_group::defaultLogo(AVATAR_PROFILE_SIZE); | ||||||
|  |  | ||||||
|         switch($this->format) { |         switch($this->format) { | ||||||
|         case 'xml': |         case 'xml': | ||||||
|             $this->showXmlTimeline($this->notices); |             $this->showXmlTimeline($this->notices); | ||||||
|             break; |             break; | ||||||
|         case 'rss': |         case 'rss': | ||||||
|             $this->showRssTimeline($this->notices, $title, $link, $subtitle); |             $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo); | ||||||
|             break; |             break; | ||||||
|         case 'atom': |         case 'atom': | ||||||
|             $selfuri = common_root_url() . |             $selfuri = common_root_url() . | ||||||
| @@ -136,7 +138,8 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction | |||||||
|                 $link, |                 $link, | ||||||
|                 $subtitle, |                 $subtitle, | ||||||
|                 null, |                 null, | ||||||
|                 $selfuri |                 $selfuri, | ||||||
|  |                 $logo | ||||||
|             ); |             ); | ||||||
|             break; |             break; | ||||||
|         case 'json': |         case 'json': | ||||||
|   | |||||||
| @@ -110,6 +110,7 @@ class ApiTimelineMentionsAction extends ApiBareAuthAction | |||||||
|     function showTimeline() |     function showTimeline() | ||||||
|     { |     { | ||||||
|         $profile = $this->user->getProfile(); |         $profile = $this->user->getProfile(); | ||||||
|  |         $avatar     = $profile->getAvatar(AVATAR_PROFILE_SIZE); | ||||||
|  |  | ||||||
|         $sitename   = common_config('site', 'name'); |         $sitename   = common_config('site', 'name'); | ||||||
|         $title      = sprintf( |         $title      = sprintf( | ||||||
| @@ -126,20 +127,21 @@ class ApiTimelineMentionsAction extends ApiBareAuthAction | |||||||
|             _('%1$s updates that reply to updates from %2$s / %3$s.'), |             _('%1$s updates that reply to updates from %2$s / %3$s.'), | ||||||
|             $sitename, $this->user->nickname, $profile->getBestName() |             $sitename, $this->user->nickname, $profile->getBestName() | ||||||
|         ); |         ); | ||||||
|  |         $logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE); | ||||||
|  |  | ||||||
|         switch($this->format) { |         switch($this->format) { | ||||||
|         case 'xml': |         case 'xml': | ||||||
|             $this->showXmlTimeline($this->notices); |             $this->showXmlTimeline($this->notices); | ||||||
|             break; |             break; | ||||||
|         case 'rss': |         case 'rss': | ||||||
|             $this->showRssTimeline($this->notices, $title, $link, $subtitle); |             $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo); | ||||||
|             break; |             break; | ||||||
|         case 'atom': |         case 'atom': | ||||||
|             $selfuri = common_root_url() . |             $selfuri = common_root_url() . | ||||||
|                 ltrim($_SERVER['QUERY_STRING'], 'p='); |                 ltrim($_SERVER['QUERY_STRING'], 'p='); | ||||||
|             $this->showAtomTimeline( |             $this->showAtomTimeline( | ||||||
|                 $this->notices, $title, $id, $link, $subtitle, |                 $this->notices, $title, $id, $link, $subtitle, | ||||||
|                 null, $selfuri |                 null, $selfuri, $logo | ||||||
|             ); |             ); | ||||||
|             break; |             break; | ||||||
|         case 'json': |         case 'json': | ||||||
|   | |||||||
| @@ -103,6 +103,7 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction | |||||||
|     function showTimeline() |     function showTimeline() | ||||||
|     { |     { | ||||||
|         $sitename   = common_config('site', 'name'); |         $sitename   = common_config('site', 'name'); | ||||||
|  |         $sitelogo   = (common_config('site', 'logo')) ? common_config('site', 'logo') : Theme::path('logo.png'); | ||||||
|         $title      = sprintf(_("%s public timeline"), $sitename); |         $title      = sprintf(_("%s public timeline"), $sitename); | ||||||
|         $taguribase = common_config('integration', 'taguri'); |         $taguribase = common_config('integration', 'taguri'); | ||||||
|         $id         = "tag:$taguribase:PublicTimeline"; |         $id         = "tag:$taguribase:PublicTimeline"; | ||||||
| @@ -114,13 +115,13 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction | |||||||
|             $this->showXmlTimeline($this->notices); |             $this->showXmlTimeline($this->notices); | ||||||
|             break; |             break; | ||||||
|         case 'rss': |         case 'rss': | ||||||
|             $this->showRssTimeline($this->notices, $title, $link, $subtitle); |             $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $sitelogo); | ||||||
|             break; |             break; | ||||||
|         case 'atom': |         case 'atom': | ||||||
|             $selfuri = common_root_url() . 'api/statuses/public_timeline.atom'; |             $selfuri = common_root_url() . 'api/statuses/public_timeline.atom'; | ||||||
|             $this->showAtomTimeline( |             $this->showAtomTimeline( | ||||||
|                 $this->notices, $title, $id, $link, |                 $this->notices, $title, $id, $link, | ||||||
|                 $subtitle, null, $selfuri |                 $subtitle, null, $selfuri, $sitelogo | ||||||
|             ); |             ); | ||||||
|             break; |             break; | ||||||
|         case 'json': |         case 'json': | ||||||
|   | |||||||
| @@ -98,6 +98,7 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction | |||||||
|     function showTimeline() |     function showTimeline() | ||||||
|     { |     { | ||||||
|         $sitename   = common_config('site', 'name'); |         $sitename   = common_config('site', 'name'); | ||||||
|  |         $sitelogo   = (common_config('site', 'logo')) ? common_config('site', 'logo') : Theme::path('logo.png'); | ||||||
|         $title      = sprintf(_("Notices tagged with %s"), $this->tag); |         $title      = sprintf(_("Notices tagged with %s"), $this->tag); | ||||||
|         $link       = common_local_url( |         $link       = common_local_url( | ||||||
|             'tag', |             'tag', | ||||||
| @@ -116,7 +117,7 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction | |||||||
|             $this->showXmlTimeline($this->notices); |             $this->showXmlTimeline($this->notices); | ||||||
|             break; |             break; | ||||||
|         case 'rss': |         case 'rss': | ||||||
|             $this->showRssTimeline($this->notices, $title, $link, $subtitle); |             $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $sitelogo); | ||||||
|             break; |             break; | ||||||
|         case 'atom': |         case 'atom': | ||||||
|             $selfuri = common_root_url() . |             $selfuri = common_root_url() . | ||||||
| @@ -129,7 +130,8 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction | |||||||
|                 $link, |                 $link, | ||||||
|                 $subtitle, |                 $subtitle, | ||||||
|                 null, |                 null, | ||||||
|                 $selfuri |                 $selfuri, | ||||||
|  |                 $sitelogo | ||||||
|             ); |             ); | ||||||
|             break; |             break; | ||||||
|         case 'json': |         case 'json': | ||||||
|   | |||||||
| @@ -112,6 +112,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction | |||||||
|     function showTimeline() |     function showTimeline() | ||||||
|     { |     { | ||||||
|         $profile = $this->user->getProfile(); |         $profile = $this->user->getProfile(); | ||||||
|  |         $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE); | ||||||
|  |  | ||||||
|         $sitename   = common_config('site', 'name'); |         $sitename   = common_config('site', 'name'); | ||||||
|         $title      = sprintf(_("%s timeline"), $this->user->nickname); |         $title      = sprintf(_("%s timeline"), $this->user->nickname); | ||||||
| @@ -125,6 +126,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction | |||||||
|             _('Updates from %1$s on %2$s!'), |             _('Updates from %1$s on %2$s!'), | ||||||
|             $this->user->nickname, $sitename |             $this->user->nickname, $sitename | ||||||
|         ); |         ); | ||||||
|  |         $logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE); | ||||||
|  |  | ||||||
|         // FriendFeed's SUP protocol |         // FriendFeed's SUP protocol | ||||||
|         // Also added RSS and Atom feeds |         // Also added RSS and Atom feeds | ||||||
| @@ -139,7 +141,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction | |||||||
|         case 'rss': |         case 'rss': | ||||||
|             $this->showRssTimeline( |             $this->showRssTimeline( | ||||||
|                 $this->notices, $title, $link, |                 $this->notices, $title, $link, | ||||||
|                 $subtitle, $suplink |                 $subtitle, $suplink, $logo | ||||||
|             ); |             ); | ||||||
|             break; |             break; | ||||||
|         case 'atom': |         case 'atom': | ||||||
| @@ -153,7 +155,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction | |||||||
|             } |             } | ||||||
|             $this->showAtomTimeline( |             $this->showAtomTimeline( | ||||||
|                 $this->notices, $title, $id, $link, |                 $this->notices, $title, $id, $link, | ||||||
|                 $subtitle, $suplink, $selfuri |                 $subtitle, $suplink, $selfuri, $logo | ||||||
|             ); |             ); | ||||||
|             break; |             break; | ||||||
|         case 'json': |         case 'json': | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								lib/api.php
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								lib/api.php
									
									
									
									
									
								
							| @@ -134,17 +134,19 @@ class ApiAction extends Action | |||||||
|         $twitter_user['protected'] = false; # not supported by StatusNet yet |         $twitter_user['protected'] = false; # not supported by StatusNet yet | ||||||
|         $twitter_user['followers_count'] = $profile->subscriberCount(); |         $twitter_user['followers_count'] = $profile->subscriberCount(); | ||||||
|  |  | ||||||
|         $user          = $profile->getUser(); |  | ||||||
|         $design        = null; |         $design        = null; | ||||||
|  |         $user          = $profile->getUser(); | ||||||
|  |  | ||||||
|         // Note: some profiles don't have an associated user |         // Note: some profiles don't have an associated user | ||||||
|  |  | ||||||
|         $defaultDesign = Design::siteDesign(); |  | ||||||
|  |  | ||||||
|         if (!empty($user)) { |         if (!empty($user)) { | ||||||
|             $design = $user->getDesign(); |             $design = $user->getDesign(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         if (empty($design)) { | ||||||
|  |             $design = Design::siteDesign(); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         $color = Design::toWebColor(empty($design->backgroundcolor) ? $defaultDesign->backgroundcolor : $design->backgroundcolor); |         $color = Design::toWebColor(empty($design->backgroundcolor) ? $defaultDesign->backgroundcolor : $design->backgroundcolor); | ||||||
|         $twitter_user['profile_background_color'] = ($color == null) ? '' : '#'.$color->hexValue(); |         $twitter_user['profile_background_color'] = ($color == null) ? '' : '#'.$color->hexValue(); | ||||||
|         $color = Design::toWebColor(empty($design->textcolor) ? $defaultDesign->textcolor : $design->textcolor); |         $color = Design::toWebColor(empty($design->textcolor) ? $defaultDesign->textcolor : $design->textcolor); | ||||||
| @@ -163,7 +165,7 @@ class ApiAction extends Action | |||||||
|  |  | ||||||
|         $timezone = 'UTC'; |         $timezone = 'UTC'; | ||||||
|  |  | ||||||
|         if (!empty($user) && !empty($user->timezone)) { |         if ($user->timezone) { | ||||||
|             $timezone = $user->timezone; |             $timezone = $user->timezone; | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -586,7 +588,7 @@ class ApiAction extends Action | |||||||
|         $this->endDocument('xml'); |         $this->endDocument('xml'); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     function showRssTimeline($notice, $title, $link, $subtitle, $suplink=null) |     function showRssTimeline($notice, $title, $link, $subtitle, $suplink=null, $logo=null) | ||||||
|     { |     { | ||||||
|  |  | ||||||
|         $this->initDocument('rss'); |         $this->initDocument('rss'); | ||||||
| @@ -600,6 +602,15 @@ class ApiAction extends Action | |||||||
|                                          'href' => $suplink, |                                          'href' => $suplink, | ||||||
|                                          'type' => 'application/json')); |                                          'type' => 'application/json')); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         if (!is_null($logo)) { | ||||||
|  |             $this->elementStart('image'); | ||||||
|  |             $this->element('link', null, $link); | ||||||
|  |             $this->element('title', null, $title); | ||||||
|  |             $this->element('url', null, $logo); | ||||||
|  |             $this->elementEnd('image'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         $this->element('description', null, $subtitle); |         $this->element('description', null, $subtitle); | ||||||
|         $this->element('language', null, 'en-us'); |         $this->element('language', null, 'en-us'); | ||||||
|         $this->element('ttl', null, '40'); |         $this->element('ttl', null, '40'); | ||||||
| @@ -619,7 +630,7 @@ class ApiAction extends Action | |||||||
|         $this->endTwitterRss(); |         $this->endTwitterRss(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     function showAtomTimeline($notice, $title, $id, $link, $subtitle=null, $suplink=null, $selfuri=null) |     function showAtomTimeline($notice, $title, $id, $link, $subtitle=null, $suplink=null, $selfuri=null, $logo=null) | ||||||
|     { |     { | ||||||
|  |  | ||||||
|         $this->initDocument('atom'); |         $this->initDocument('atom'); | ||||||
| @@ -628,6 +639,10 @@ class ApiAction extends Action | |||||||
|         $this->element('id', null, $id); |         $this->element('id', null, $id); | ||||||
|         $this->element('link', array('href' => $link, 'rel' => 'alternate', 'type' => 'text/html'), null); |         $this->element('link', array('href' => $link, 'rel' => 'alternate', 'type' => 'text/html'), null); | ||||||
|  |  | ||||||
|  |         if (!is_null($logo)) { | ||||||
|  |             $this->element('logo',null,$logo); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         if (!is_null($suplink)) { |         if (!is_null($suplink)) { | ||||||
|             # For FriendFeed's SUP protocol |             # For FriendFeed's SUP protocol | ||||||
|             $this->element('link', array('rel' => 'http://api.friendfeed.com/2008/03#sup', |             $this->element('link', array('rel' => 'http://api.friendfeed.com/2008/03#sup', | ||||||
|   | |||||||
| @@ -272,6 +272,7 @@ function get_nice_language_list() | |||||||
| function get_all_languages() { | function get_all_languages() { | ||||||
|     return array( |     return array( | ||||||
|         'ar'      => array('q' => 0.8, 'lang' => 'ar', 'name' => 'Arabic', 'direction' => 'rtl'), |         'ar'      => array('q' => 0.8, 'lang' => 'ar', 'name' => 'Arabic', 'direction' => 'rtl'), | ||||||
|  |         'arz'     => array('q' => 0.8, 'lang' => 'arz', 'name' => 'Egyptian Spoken Arabic', 'direction' => 'rtl'), | ||||||
|         'bg'      => array('q' => 0.8, 'lang' => 'bg', 'name' => 'Bulgarian', 'direction' => 'ltr'), |         'bg'      => array('q' => 0.8, 'lang' => 'bg', 'name' => 'Bulgarian', 'direction' => 'ltr'), | ||||||
|         'ca'      => array('q' => 0.5, 'lang' => 'ca', 'name' => 'Catalan', 'direction' => 'ltr'), |         'ca'      => array('q' => 0.5, 'lang' => 'ca', 'name' => 'Catalan', 'direction' => 'ltr'), | ||||||
|         'cs'      => array('q' => 0.5, 'lang' => 'cs', 'name' => 'Czech', 'direction' => 'ltr'), |         'cs'      => array('q' => 0.5, 'lang' => 'cs', 'name' => 'Czech', 'direction' => 'ltr'), | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										5214
									
								
								locale/arz/LC_MESSAGES/statusnet.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5214
									
								
								locale/arz/LC_MESSAGES/statusnet.po
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										61
									
								
								plugins/Gravatar/locale/Gravatar.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								plugins/Gravatar/locale/Gravatar.po
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | # SOME DESCRIPTIVE TITLE. | ||||||
|  | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | ||||||
|  | # This file is distributed under the same license as the PACKAGE package. | ||||||
|  | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | ||||||
|  | # | ||||||
|  | #, fuzzy | ||||||
|  | msgid "" | ||||||
|  | msgstr "" | ||||||
|  | "Project-Id-Version: PACKAGE VERSION\n" | ||||||
|  | "Report-Msgid-Bugs-To: \n" | ||||||
|  | "POT-Creation-Date: 2009-12-11 16:27-0800\n" | ||||||
|  | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||||||
|  | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||||
|  | "Language-Team: LANGUAGE <LL@li.org>\n" | ||||||
|  | "MIME-Version: 1.0\n" | ||||||
|  | "Content-Type: text/plain; charset=CHARSET\n" | ||||||
|  | "Content-Transfer-Encoding: 8bit\n" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:57 | ||||||
|  | msgid "Set Gravatar" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:60 | ||||||
|  | msgid "If you want to use your Gravatar image, click \"Add\"." | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:65 | ||||||
|  | msgid "Add" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:75 | ||||||
|  | msgid "Remove Gravatar" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:78 | ||||||
|  | msgid "If you want to remove your Gravatar image, click \"Remove\"." | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:83 | ||||||
|  | msgid "Remove" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:88 | ||||||
|  | msgid "To use a Gravatar first enter in an email address." | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:137 | ||||||
|  | msgid "You do not have a email set in your profile." | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:155 | ||||||
|  | msgid "Failed to save Gravatar to the DB." | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:159 | ||||||
|  | msgid "Gravatar added." | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #: GravatarPlugin.php:177 | ||||||
|  | msgid "Gravatar removed." | ||||||
|  | msgstr "" | ||||||
							
								
								
									
										77
									
								
								scripts/useremail.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										77
									
								
								scripts/useremail.php
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,77 @@ | |||||||
|  | #!/usr/bin/env php | ||||||
|  | <?php | ||||||
|  | /* | ||||||
|  |  * StatusNet - a distributed open-source microblogging tool | ||||||
|  |  * Copyright (C) 2008, 2009, StatusNet, Inc. | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU Affero General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 3 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU Affero General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU Affero General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); | ||||||
|  |  | ||||||
|  | $shortoptions = 'i:n:e:'; | ||||||
|  | $longoptions = array('id=', 'nickname=', 'email='); | ||||||
|  |  | ||||||
|  | $helptext = <<<END_OF_USEREMAIL_HELP | ||||||
|  | useremail.php [options] | ||||||
|  | Queries a user's registered email address, or queries the users with a given registered email. | ||||||
|  |  | ||||||
|  |   -i --id       id of the user to query | ||||||
|  |   -n --nickname nickname of the user to query | ||||||
|  |   -e --email    email address to query | ||||||
|  |  | ||||||
|  | END_OF_USEREMAIL_HELP; | ||||||
|  |  | ||||||
|  | require_once INSTALLDIR.'/scripts/commandline.inc'; | ||||||
|  |  | ||||||
|  | if (have_option('i', 'id')) { | ||||||
|  |     $id = get_option_value('i', 'id'); | ||||||
|  |     $user = User::staticGet('id', $id); | ||||||
|  |     if (empty($user)) { | ||||||
|  |         print "Can't find user with ID $id\n"; | ||||||
|  |         exit(1); | ||||||
|  |     } | ||||||
|  | } else if (have_option('n', 'nickname')) { | ||||||
|  |     $nickname = get_option_value('n', 'nickname'); | ||||||
|  |     $user = User::staticGet('nickname', $nickname); | ||||||
|  |     if (empty($user)) { | ||||||
|  |         print "Can't find user with nickname '$nickname'\n"; | ||||||
|  |         exit(1); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if (!empty($user)) { | ||||||
|  |     if (empty($user->email)) { | ||||||
|  |         print "No email registered for user '$user->nickname'\n"; | ||||||
|  |     } else { | ||||||
|  |         print "$user->email\n"; | ||||||
|  |     } | ||||||
|  |     exit(0); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if (have_option('e', 'email')) { | ||||||
|  |     $user = new User(); | ||||||
|  |     $user->email = get_option_value('e', 'email'); | ||||||
|  |     $user->find(false); | ||||||
|  |     if (!$user->fetch()) { | ||||||
|  |         print "No users with email $user->email\n"; | ||||||
|  |         exit(0); | ||||||
|  |     } | ||||||
|  |     do { | ||||||
|  |         print "$user->id $user->nickname\n"; | ||||||
|  |     } while ($user->fetch()); | ||||||
|  | } else { | ||||||
|  |     print "You must provide either an ID, email, or a nickname.\n"; | ||||||
|  |     exit(1); | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user