tiki-user_information.php 7.46 KB
Newer Older
lrargerich's avatar
lrargerich committed
1
<?php
changi67's avatar
changi67 committed
2
// (c) Copyright 2002-2010 by authors of the Tiki Wiki/CMS/Groupware Project
changi67's avatar
changi67 committed
3
// 
4 5
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
changi67's avatar
changi67 committed
6 7
// $Id$

8
require_once ('tiki-setup.php');
9
if ($prefs['feature_ajax'] == "y") {
changi67's avatar
changi67 committed
10
	require_once ('lib/ajax/ajaxlib.php');
11
}
12
include_once ('lib/messu/messulib.php');
13
include_once ('lib/userprefs/scrambleEmail.php');
14 15
include_once ('lib/registration/registrationlib.php');
include_once ('lib/trackers/trackerlib.php');
16 17 18
if (isset($_REQUEST['userId'])) {
	$userwatch = $tikilib->get_user_login($_REQUEST['userId']);
	if ($userwatch === NULL) {
19
		$smarty->assign('errortype', 'no_redirect_login');
20 21 22 23
		$smarty->assign('msg', tra("Unknown user"));
		$smarty->display("error.tpl");
		die;
	}
24
} elseif (isset($_REQUEST['view_user'])) {
25
	$userwatch = $_REQUEST['view_user'];
26
	if (!$userlib->user_exists($userwatch)) {
27
		$smarty->assign('errortype', 'no_redirect_login');
28 29 30 31
		$smarty->assign('msg', tra("Unknown user"));
		$smarty->display("error.tpl");
		die;
	}
32
} else {
33 34
	$access->check_user($user);
	$userwatch = $user;
lrargerich's avatar
lrargerich committed
35
}
36

37
$smarty->assign('userwatch', $userwatch);
38 39
// Custom fields
$customfields = array();
michael_davey's avatar
 
michael_davey committed
40
$customfields = $registrationlib->get_customfields($userwatch);
41
$smarty->assign_by_ref('customfields', $customfields);
42
if ($prefs['feature_friends'] == 'y') {
43
	$smarty->assign('friend', $tikilib->verify_friendship($userwatch, $user));
44 45
	$smarty->assign('friend_pending', $tikilib->verify_friendship_request($userwatch, $user));
	$smarty->assign('friend_waiting', $tikilib->verify_friendship_request($user, $userwatch));
46
}
47 48
if ($tiki_p_admin != 'y') {
	$user_information = $tikilib->get_user_preference($userwatch, 'user_information', 'public');
49 50
	// If the user is trying to pull info on themselves, allow it.
	if ($user_information == 'private' && $userwatch != $user) {
51
		$smarty->assign('errortype', 'no_redirect_login');
mose's avatar
mose committed
52
		$smarty->assign('msg', tra("The user has chosen to make his information private"));
53
		$smarty->display("error.tpl");
54 55
		die;
	}
56
}
57 58 59
if ($user) {
	$smarty->assign('sent', 0);
	if (isset($_REQUEST['send'])) {
60
		check_ticket('user-information');
61 62 63 64
		$smarty->assign('sent', 1);
		$message = '';
		if (empty($_REQUEST['subject']) && empty($_REQUEST['body'])) {
			$smarty->assign('message', tra('ERROR: Either the subject or body must be non-empty'));
65
			$smarty->display("tiki.tpl");
66 67
			die;
		}
changi67's avatar
changi67 committed
68
		$message = tra('Message sent to') . ':' . $userwatch . '<br />';
69
		$messulib->post_message($userwatch, $user, $_REQUEST['to'], '', $_REQUEST['subject'], $_REQUEST['body'], $_REQUEST['priority']);
70 71
		$smarty->assign('message', $message);
	}
72
}
73
if ($prefs['feature_score'] == 'y' and isset($user) and $user != $userwatch) {
74 75 76
	$tikilib->score_event($user, 'profile_see');
	$tikilib->score_event($userwatch, 'profile_is_seen');
}
changi67's avatar
changi67 committed
77
$smarty->assign('priority', 3);
78
if ($prefs['allowmsg_is_optional'] == 'y') {
changi67's avatar
changi67 committed
79
	$allowMsgs = $tikilib->get_user_preference($userwatch, 'allowMsgs', 'y');
80 81 82
} else {
	$allowMsgs = 'y';
}
changi67's avatar
changi67 committed
83
$smarty->assign('allowMsgs', $allowMsgs);
84
$smarty->assign_by_ref('user_prefs', $user_preferences[$userwatch]);
changi67's avatar
changi67 committed
85 86
$user_style = $tikilib->get_user_preference($userwatch, 'theme', $prefs['site_style']);
$smarty->assign_by_ref('user_style', $user_style);
87
$user_language = $tikilib->get_language($userwatch);
changi67's avatar
changi67 committed
88 89 90 91 92 93 94 95 96 97 98 99
$smarty->assign_by_ref('user_language', $user_language);
$realName = $tikilib->get_user_preference($userwatch, 'realName', '');
$gender = $tikilib->get_user_preference($userwatch, 'gender', '');
$country = $tikilib->get_user_preference($userwatch, 'country', 'Other');
$smarty->assign('country', $country);
$anonpref = $tikilib->get_preference('userbreadCrumb', 4);
$userbreadCrumb = $tikilib->get_user_preference($userwatch, 'userbreadCrumb', $anonpref);
$smarty->assign_by_ref('realName', $realName);
$smarty->assign_by_ref('gender', $gender);
$smarty->assign_by_ref('userbreadCrumb', $userbreadCrumb);
$homePage = $tikilib->get_user_preference($userwatch, 'homePage', '');
$smarty->assign_by_ref('homePage', $homePage);
lrargerich's avatar
lrargerich committed
100
$avatar = $tikilib->get_user_avatar($userwatch);
101 102 103
$smarty->assign('avatar', $avatar);
$user_information = $tikilib->get_user_preference($userwatch, 'user_information', 'public');
$smarty->assign('user_information', $user_information);
lrargerich's avatar
lrargerich committed
104
$userinfo = $userlib->get_user_info($userwatch);
105
$email_isPublic = $tikilib->get_user_preference($userwatch, 'email is public', 'n');
106 107
if ($email_isPublic != 'n') {
	$userinfo['email'] = scrambleEmail($userinfo['email'], $email_isPublic);
108
}
109
$smarty->assign_by_ref('userinfo', $userinfo);
changi67's avatar
changi67 committed
110 111
$smarty->assign_by_ref('email_isPublic', $email_isPublic);
$userPage = $prefs['feature_wiki_userpage_prefix'] . $userinfo['login'];
112 113
$exist = $tikilib->page_exists($userPage);
$smarty->assign("userPage_exists", $exist);
114
if ($prefs['feature_display_my_to_others'] == 'y') {
115 116 117 118 119 120
	if ($prefs['feature_wiki'] == 'y') {
		include_once ('lib/wiki/wikilib.php');
		$user_pages = $wikilib->get_user_all_pages($userwatch, 'pageName_asc');
		$smarty->assign_by_ref('user_pages', $user_pages);
	}
	if ($prefs['feature_blogs'] == 'y') {
changi67's avatar
changi67 committed
121
		$user_blogs = $tikilib->list_user_blogs($userwatch, false);
122 123 124 125 126 127 128 129 130 131 132
		$smarty->assign_by_ref('user_blogs', $user_blogs);
	}
	if ($prefs['feature_galleries'] == 'y') {
		$user_galleries = $tikilib->get_user_galleries($userwatch, -1);
		$smarty->assign_by_ref('user_galleries', $user_galleries);
	}
	if ($prefs['feature_trackers'] == 'y') {
		$user_items = $tikilib->get_user_items($userwatch);
		$smarty->assign_by_ref('user_items', $user_items);
	}
	if ($prefs['feature_articles'] == 'y') {
changi67's avatar
changi67 committed
133
		include_once ('lib/articles/artlib.php');
134 135 136 137
		$user_articles = $artlib->get_user_articles($userwatch, -1);
		$smarty->assign_by_ref('user_articles', $user_articles);
	}
	if ($prefs['feature_forums'] == 'y') {
changi67's avatar
changi67 committed
138 139
		include_once ("lib/commentslib.php");
		$commentslib = new Comments($dbTiki);
140 141 142 143 144
		$user_forum_comments = $commentslib->get_user_forum_comments($userwatch, -1);
		$smarty->assign_by_ref('user_forum_comments', $user_forum_comments);
		$user_forum_topics = $commentslib->get_user_forum_comments($userwatch, -1, 'topics');
		$smarty->assign_by_ref('user_forum_topics', $user_forum_topics);
	}
145
}
changi67's avatar
changi67 committed
146
if ($prefs['user_tracker_infos']) {
147
	// arg passed 11,56,58,68=trackerId,fieldId...
changi67's avatar
changi67 committed
148 149 150 151 152
	$trackerinfo = explode(',', $prefs['user_tracker_infos']);
	$userTrackerId = $trackerinfo[0];
	array_shift($trackerinfo);
	$fields = $trklib->list_tracker_fields($userTrackerId, 0, -1, 'position_asc', '', true, array('fieldId' => $trackerinfo));
	foreach($fields['data'] as $field) {
153 154
		$lll[$field['fieldId']] = $field;
	}
changi67's avatar
changi67 committed
155 156
	$items = $trklib->list_items($userTrackerId, 0, 1, '', $lll, $trklib->get_field_id_from_type($userTrackerId, 'u', '1%'), '', '', '', $userwatch);
	$smarty->assign_by_ref('userItem', $items['data'][0]);
157
}
158
ask_ticket('user-information');
159
if ($prefs['feature_ajax'] == "y") {
changi67's avatar
changi67 committed
160 161 162 163 164 165 166 167
	function user_information_ajax() {
		global $ajaxlib, $xajax;
		$ajaxlib->registerTemplate("tiki-user_information.tpl");
		$ajaxlib->registerTemplate("tiki-my_tiki.tpl");
		$ajaxlib->registerFunction("loadComponent");
		$ajaxlib->processRequests();
	}
	user_information_ajax();
168
}
169 170 171 172 173 174 175
// Get full user picture if it is set
if ($prefs["user_store_file_gallery_picture"] == 'y') {
	require_once ('lib/userprefs/userprefslib.php');
	if ($user_picture_id = $userprefslib->get_user_picture_id($userwatch)) {	
		$smarty->assign('user_picture_id', $user_picture_id);
	}	
}
176 177
// disallow robots to index page:
$smarty->assign('metatag_robots', 'NOINDEX, NOFOLLOW');
178
$smarty->assign('mid', 'tiki-user_information.tpl');
179
$smarty->display("tiki.tpl");