| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  | // This file is part of GNU social - https://www.gnu.org/software/social
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // GNU social 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.
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // GNU social 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 GNU social.  If not, see <http://www.gnu.org/licenses/>.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Section for featured users | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @category  Widget | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |  * @package   GNUsocial | 
					
						
							| 
									
										
										
										
											2009-08-25 18:19:04 -04:00
										 |  |  |  * @author    Evan Prodromou <evan@status.net> | 
					
						
							| 
									
										
										
										
											2009-08-25 18:12:20 -04:00
										 |  |  |  * @copyright 2009 StatusNet, Inc. | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |  * @license   https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  | defined('GNUSOCIAL') || die(); | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Section for featured users | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |  * @copyright 2009 StatusNet, Inc. | 
					
						
							|  |  |  |  * @license   https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  |  */ | 
					
						
							|  |  |  | class FeaturedUsersSection extends ProfileSection | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |     public function show() | 
					
						
							| 
									
										
										
										
											2011-04-14 16:25:13 -04:00
										 |  |  |     { | 
					
						
							|  |  |  |         $featured_nicks = common_config('nickname', 'featured'); | 
					
						
							|  |  |  |         if (empty($featured_nicks)) { | 
					
						
							|  |  |  |             return; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         parent::show(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |     public function getProfiles() | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         $featured_nicks = common_config('nickname', 'featured'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (!$featured_nicks) { | 
					
						
							|  |  |  |             return null; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $quoted = array(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         foreach ($featured_nicks as $nick) { | 
					
						
							|  |  |  |             $quoted[] = "'$nick'"; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |         $table = common_database_tablename('user'); | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  |         $limit = PROFILES_PER_SECTION + 1; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |         $qry = 'SELECT profile.* ' . | 
					
						
							|  |  |  |             'FROM profile INNER JOIN ' . $table . ' ON profile.id = ' . $table . '.id ' . | 
					
						
							|  |  |  |             'WHERE ' . $table . '.nickname IN (' . implode(',', $quoted) . ') ' . | 
					
						
							|  |  |  |             'ORDER BY profile.created DESC LIMIT ' . $limit; | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |         $profile = Memcached_DataObject::cachedQuery('Profile', $qry, 6 * 3600); | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  |         return $profile; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |     public function title() | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2011-01-30 19:03:55 +01:00
										 |  |  |         // TRANS: Title for featured users section.
 | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  |         return _('Featured users'); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |     public function divId() | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         return 'featured_users'; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-02-14 17:53:11 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 08:15:16 +03:00
										 |  |  |     public function moreUrl() | 
					
						
							| 
									
										
										
										
											2009-02-14 17:53:11 -05:00
										 |  |  |     { | 
					
						
							|  |  |  |         return common_local_url('featured'); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-01-22 21:42:18 +00:00
										 |  |  | } |