| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-20 15:14:12 -04:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2008-05-14 15:26:48 -04:00
										 |  |  |  * Laconica - a distributed open-source microblogging tool | 
					
						
							|  |  |  |  * Copyright (C) 2008, Controlez-Vous, Inc. | 
					
						
							| 
									
										
										
										
											2008-05-20 15:14:12 -04:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-05-14 15:26:48 -04:00
										 |  |  |  * 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. | 
					
						
							| 
									
										
										
										
											2008-05-20 15:14:12 -04:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-05-14 15:26:48 -04:00
										 |  |  |  * 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. | 
					
						
							| 
									
										
										
										
											2008-05-20 15:14:12 -04:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-05-14 15:26:48 -04:00
										 |  |  |  * 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/>. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-17 11:47:01 -04:00
										 |  |  | if (!defined('LACONICA')) { exit(1); } | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-20 06:41:37 -05:00
										 |  |  | require_once(INSTALLDIR.'/lib/profilelist.php'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-04 18:13:36 -04:00
										 |  |  | # 10x8
 | 
					
						
							| 
									
										
										
										
											2008-06-20 15:56:27 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-04 18:13:36 -04:00
										 |  |  | define('AVATARS_PER_PAGE', 80); | 
					
						
							| 
									
										
										
										
											2008-05-21 15:29:12 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | class GalleryAction extends Action { | 
					
						
							| 
									
										
										
										
											2008-05-20 15:14:12 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-22 17:20:56 -04:00
										 |  |  | 	function is_readonly() { | 
					
						
							|  |  |  | 		return true; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 	function handle($args) { | 
					
						
							|  |  |  | 		parent::handle($args); | 
					
						
							| 
									
										
										
										
											2008-11-24 00:14:29 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		# Post from the tag dropdown; redirect to a GET
 | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-11-24 00:14:29 -05:00
										 |  |  | 		if ($_SERVER['REQUEST_METHOD'] == 'POST') { | 
					
						
							|  |  |  | 		    common_redirect($this->self_url(), 307); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-11 10:47:42 -04:00
										 |  |  | 		$nickname = common_canonical_nickname($this->arg('nickname')); | 
					
						
							|  |  |  | 		$user = User::staticGet('nickname', $nickname); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if (!$user) { | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 			$this->no_such_user(); | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 			return; | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2008-09-11 10:47:42 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		$profile = $user->getProfile(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if (!$profile) { | 
					
						
							|  |  |  | 			$this->server_error(_('User without matching profile in system.')); | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 			return; | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2008-09-11 10:47:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-20 15:56:27 -04:00
										 |  |  | 		$page = $this->arg('page'); | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-06-20 15:56:27 -04:00
										 |  |  | 		if (!$page) { | 
					
						
							|  |  |  | 			$page = 1; | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		$display = $this->arg('display'); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		if (!$display) { | 
					
						
							|  |  |  | 			$display = 'list'; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 		$tag = $this->arg('tag'); | 
					
						
							| 
									
										
										
										
											2008-11-24 00:14:29 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 		common_show_header($profile->nickname . ": " . $this->gallery_type(), | 
					
						
							| 
									
										
										
										
											2008-06-17 23:57:39 -04:00
										 |  |  | 						   NULL, $profile, | 
					
						
							|  |  |  | 						   array($this, 'show_top')); | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-20 09:32:03 -05:00
										 |  |  | 		$this->display_links($profile, $page, $display); | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 		$this->show_tags_dropdown($profile); | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 		$this->show_gallery($profile, $page, $display, $tag); | 
					
						
							| 
									
										
										
										
											2008-05-18 08:52:53 -04:00
										 |  |  | 		common_show_footer(); | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 	function no_such_user() { | 
					
						
							| 
									
										
										
										
											2008-07-08 05:45:31 -04:00
										 |  |  | 		$this->client_error(_('No such user.')); | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2008-07-08 05:45:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 	function show_tags_dropdown($profile) { | 
					
						
							|  |  |  | 		$tag = $this->trimmed('tag'); | 
					
						
							| 
									
										
										
										
											2008-11-23 22:15:49 -05:00
										 |  |  | 		list($lst, $usr) = $this->fields(); | 
					
						
							|  |  |  | 		$tags = $this->get_all_tags($profile, $lst, $usr); | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 		$content = array(); | 
					
						
							|  |  |  | 		foreach ($tags as $t) { | 
					
						
							| 
									
										
										
										
											2008-11-23 21:00:29 -05:00
										 |  |  | 			$content[$t] = $t; | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2008-11-23 20:58:02 -05:00
										 |  |  | 		if ($tags) { | 
					
						
							| 
									
										
										
										
											2008-11-24 00:14:29 -05:00
										 |  |  | 			common_element_start('dl', array('id'=>'filter_tags')); | 
					
						
							|  |  |  | 			common_element('dt', null, _('Filter tags')); | 
					
						
							|  |  |  | 			common_element_start('dd'); | 
					
						
							|  |  |  | 			common_element_start('ul'); | 
					
						
							|  |  |  | 			common_element_start('li', array('id'=>'filter_tags_all', 'class'=>'child_1')); | 
					
						
							| 
									
										
										
										
											2008-11-23 20:58:02 -05:00
										 |  |  | 			common_element('a', array('href' => common_local_url($this->trimmed('action'), | 
					
						
							|  |  |  | 																 array('nickname' => $profile->nickname))), | 
					
						
							|  |  |  | 						   _('All')); | 
					
						
							| 
									
										
										
										
											2008-11-23 23:53:19 -05:00
										 |  |  | 			common_element_end('li'); | 
					
						
							| 
									
										
										
										
											2008-11-24 00:14:29 -05:00
										 |  |  | 			common_element_start('li', array('id'=>'filter_tags_item')); | 
					
						
							|  |  |  | 			common_element_start('form', array('name' => 'bytag', 'id' => 'bytag', 'method' => 'post')); | 
					
						
							| 
									
										
										
										
											2008-11-23 20:58:02 -05:00
										 |  |  | 			common_dropdown('tag', _('Tag'), $content, | 
					
						
							|  |  |  | 							_('Choose a tag to narrow list'), FALSE, $tag); | 
					
						
							|  |  |  | 			common_submit('go', _('Go')); | 
					
						
							|  |  |  | 			common_element_end('form'); | 
					
						
							| 
									
										
										
										
											2008-11-23 23:53:19 -05:00
										 |  |  | 			common_element_end('li'); | 
					
						
							|  |  |  | 			common_element_end('ul'); | 
					
						
							|  |  |  | 			common_element_end('dd'); | 
					
						
							|  |  |  | 			common_element_end('dl'); | 
					
						
							| 
									
										
										
										
											2008-11-23 20:58:02 -05:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2008-06-17 23:57:39 -04:00
										 |  |  | 	function show_top($profile) { | 
					
						
							| 
									
										
										
										
											2008-07-08 20:22:42 -04:00
										 |  |  | 		common_element('div', 'instructions', | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 					   $this->get_instructions($profile)); | 
					
						
							| 
									
										
										
										
											2008-06-17 23:57:39 -04:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2008-07-08 05:45:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 	function show_gallery($profile, $page, $display='list', $tag=NULL) { | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		$other = new Profile(); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		list($lst, $usr) = $this->fields(); | 
					
						
							| 
									
										
										
										
											2008-11-20 06:41:37 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		$per_page = ($display == 'list') ? PROFILES_PER_PAGE : AVATARS_PER_PAGE; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$offset = ($page-1)*$per_page; | 
					
						
							|  |  |  | 		$limit = $per_page + 1; | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		if (common_config('db','type') == 'pgsql') { | 
					
						
							|  |  |  | 			$lim = ' LIMIT ' . $limit . ' OFFSET ' . $offset; | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			$lim = ' LIMIT ' . $offset . ', ' . $limit; | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2008-05-20 15:14:12 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		# XXX: memcached results
 | 
					
						
							| 
									
										
										
										
											2008-11-23 20:58:02 -05:00
										 |  |  | 		# FIXME: SQL injection on $tag
 | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 		$other->query('SELECT profile.* ' . | 
					
						
							|  |  |  | 					  'FROM profile JOIN subscription ' . | 
					
						
							|  |  |  | 					  'ON profile.id = subscription.' . $lst . ' ' . | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 					  (($tag) ? 'JOIN profile_tag ON (profile.id = profile_tag.tagged AND subscription.'.$usr.'= profile_tag.tagger) ' : '') . | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 					  'WHERE ' . $usr . ' = ' . $profile->id . ' ' . | 
					
						
							|  |  |  | 					  'AND subscriber != subscribed ' . | 
					
						
							| 
									
										
										
										
											2008-11-23 20:39:28 -05:00
										 |  |  | 					  (($tag) ? 'AND profile_tag.tag= "' . $tag . '" ': '') . | 
					
						
							| 
									
										
										
										
											2008-11-20 09:56:19 -05:00
										 |  |  | 					  'ORDER BY subscription.created DESC, profile.id DESC ' . | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 					  $lim); | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		if ($display == 'list') { | 
					
						
							| 
									
										
										
										
											2008-11-23 21:53:08 -05:00
										 |  |  | 			$profile_list = new ProfileList($other, $profile, $this->trimmed('action')); | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 			$cnt = $profile_list->show_list(); | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		} else { | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 			$cnt = $this->icon_list($other); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		# For building the pagination URLs
 | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$args = array('nickname' => $profile->nickname); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		if ($display != 'list') { | 
					
						
							|  |  |  | 			$args['display'] = $display; | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		} | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		common_pagination($page > 1, | 
					
						
							| 
									
										
										
										
											2008-11-20 07:24:11 -05:00
										 |  |  | 						  $cnt > $per_page, | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 						  $page, | 
					
						
							|  |  |  | 						  $this->trimmed('action'), | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 						  $args); | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2008-05-20 15:14:12 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 	function icon_list($other) { | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		common_element_start('ul', $this->div_class()); | 
					
						
							| 
									
										
										
										
											2008-07-08 05:45:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 		$cnt = 0; | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		while ($other->fetch()) { | 
					
						
							| 
									
										
										
										
											2008-09-11 10:47:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 			$cnt++; | 
					
						
							|  |  |  | 			 | 
					
						
							|  |  |  | 			if ($cnt > AVATARS_PER_PAGE) { | 
					
						
							|  |  |  | 				break; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 			 | 
					
						
							| 
									
										
										
										
											2008-06-18 13:24:44 -04:00
										 |  |  | 			common_element_start('li'); | 
					
						
							| 
									
										
										
										
											2008-07-08 05:45:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-21 15:34:52 -04:00
										 |  |  | 			common_element_start('a', array('title' => ($other->fullname) ? | 
					
						
							|  |  |  | 											$other->fullname : | 
					
						
							|  |  |  | 											$other->nickname, | 
					
						
							|  |  |  | 											'href' => $other->profileurl, | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 											'class' => 'subscription')); | 
					
						
							| 
									
										
										
										
											2008-05-21 15:34:52 -04:00
										 |  |  | 			$avatar = $other->getAvatar(AVATAR_STREAM_SIZE); | 
					
						
							| 
									
										
										
										
											2008-07-08 05:45:31 -04:00
										 |  |  | 			common_element('img', | 
					
						
							|  |  |  | 						   array('src' => | 
					
						
							|  |  |  | 								 (($avatar) ? common_avatar_display_url($avatar) : | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 								  common_default_avatar(AVATAR_STREAM_SIZE)), | 
					
						
							|  |  |  | 								 'width' => AVATAR_STREAM_SIZE, | 
					
						
							|  |  |  | 								 'height' => AVATAR_STREAM_SIZE, | 
					
						
							|  |  |  | 								 'class' => 'avatar stream', | 
					
						
							|  |  |  | 								 'alt' => ($other->fullname) ? | 
					
						
							|  |  |  | 								 $other->fullname : | 
					
						
							|  |  |  | 								 $other->nickname)); | 
					
						
							| 
									
										
										
										
											2008-05-17 13:04:30 -04:00
										 |  |  | 			common_element_end('a'); | 
					
						
							| 
									
										
										
										
											2008-05-15 12:28:44 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			# XXX: subscribe form here
 | 
					
						
							| 
									
										
										
										
											2008-07-08 05:45:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-18 13:24:44 -04:00
										 |  |  | 			common_element_end('li'); | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 			 | 
					
						
							| 
									
										
										
										
											2008-06-18 13:24:44 -04:00
										 |  |  | 		common_element_end('ul'); | 
					
						
							| 
									
										
										
										
											2008-11-20 07:31:46 -05:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		return $cnt; | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 	 | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 	function gallery_type() { | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function get_instructions(&$profile) { | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-20 06:38:39 -05:00
										 |  |  | 	function fields() { | 
					
						
							| 
									
										
										
										
											2008-06-18 13:24:44 -04:00
										 |  |  | 		return NULL; | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2008-07-08 05:45:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-18 13:13:13 -04:00
										 |  |  | 	function div_class() { | 
					
						
							|  |  |  | 		return ''; | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 	 | 
					
						
							| 
									
										
										
										
											2008-11-20 09:30:45 -05:00
										 |  |  | 	function display_links($profile, $page, $display) { | 
					
						
							| 
									
										
										
										
											2008-11-23 23:59:24 -05:00
										 |  |  | 		$tag = $this->trimmed('tag'); | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-11-23 23:53:19 -05:00
										 |  |  | 		common_element_start('dl', array('id'=>'subscriptions_nav')); | 
					
						
							|  |  |  | 		common_element('dt', null, _('Subscriptions navigation')); | 
					
						
							|  |  |  | 		common_element_start('dd'); | 
					
						
							|  |  |  | 		common_element_start('ul', array('class'=>'nav')); | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		switch ($display) { | 
					
						
							|  |  |  | 		 case 'list': | 
					
						
							| 
									
										
										
										
											2008-11-23 23:53:19 -05:00
										 |  |  | 			common_element('li', array('class'=>'child_1'), _('List')); | 
					
						
							|  |  |  | 			common_element_start('li'); | 
					
						
							| 
									
										
										
										
											2008-11-23 23:59:24 -05:00
										 |  |  | 			$url_args = array('display' => 'icons', | 
					
						
							|  |  |  | 							  'nickname' => $profile->nickname, | 
					
						
							|  |  |  | 							  'page' => 1 + floor((($page - 1) * PROFILES_PER_PAGE) / AVATARS_PER_PAGE)); | 
					
						
							|  |  |  | 			if ($tag) { | 
					
						
							|  |  |  | 				$url_args['tag'] = $tag; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 			$url = common_local_url($this->trimmed('action'), $url_args); | 
					
						
							|  |  |  | 			common_element('a', array('href' => $url), | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 						   _('Icons')); | 
					
						
							| 
									
										
										
										
											2008-11-23 23:53:19 -05:00
										 |  |  | 			common_element_end('li'); | 
					
						
							| 
									
										
										
										
											2008-11-27 11:25:51 -05:00
										 |  |  | 			break; | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 		 default: | 
					
						
							| 
									
										
										
										
											2008-11-23 23:59:24 -05:00
										 |  |  | 			common_element_start('li', array('class'=>'child_1')); | 
					
						
							|  |  |  | 			$url_args = array('nickname' => $profile->nickname, | 
					
						
							|  |  |  | 							  'page' => 1 + floor((($page - 1) * AVATARS_PER_PAGE) / PROFILES_PER_PAGE)); | 
					
						
							|  |  |  | 			if ($tag) { | 
					
						
							|  |  |  | 				$url_args['tag'] = $tag; | 
					
						
							|  |  |  | 			} | 
					
						
							| 
									
										
										
										
											2008-11-27 11:27:20 -05:00
										 |  |  | 			$url = common_local_url($this->trimmed('action'), $url_args); | 
					
						
							| 
									
										
										
										
											2008-11-23 23:59:24 -05:00
										 |  |  | 			common_element('a', array('href' => $url), | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 						   _('List')); | 
					
						
							| 
									
										
										
										
											2008-11-23 23:53:19 -05:00
										 |  |  | 			common_element_end('li'); | 
					
						
							|  |  |  | 			common_element('li', NULL, _('Icons')); | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 			break; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-11-23 23:53:19 -05:00
										 |  |  | 		common_element_end('ul'); | 
					
						
							|  |  |  | 		common_element_end('dd'); | 
					
						
							|  |  |  | 		common_element_end('dl'); | 
					
						
							| 
									
										
										
										
											2008-11-20 09:29:14 -05:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2008-11-23 22:15:49 -05:00
										 |  |  | 	 | 
					
						
							|  |  |  | 	# Get list of tags we tagged other users with
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function get_all_tags($profile, $lst, $usr) { | 
					
						
							|  |  |  | 		$profile_tag = new Notice_tag(); | 
					
						
							|  |  |  | 		$profile_tag->query('SELECT DISTINCT(tag) ' . | 
					
						
							|  |  |  | 							'FROM profile_tag, subscription ' . | 
					
						
							|  |  |  | 							'WHERE tagger = ' . $profile->id . ' ' . | 
					
						
							|  |  |  | 							'AND ' . $usr . ' = ' . $profile->id . ' ' . | 
					
						
							|  |  |  | 							'AND ' . $lst . ' = tagged ' . | 
					
						
							|  |  |  | 							'AND tagger != tagged'); | 
					
						
							|  |  |  | 		$tags = array(); | 
					
						
							|  |  |  | 		while ($profile_tag->fetch()) { | 
					
						
							|  |  |  | 			$tags[] = $profile_tag->tag; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		$profile_tag->free(); | 
					
						
							|  |  |  | 		return $tags; | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2008-05-08 22:16:04 -04:00
										 |  |  | } |