You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

98 lines
3.2 KiB

<?php
/**
* @package tikiwiki
*/
// (c) Copyright by authors of the Tiki Wiki CMS Groupware Project
//
// 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.
// $Id$
$section = 'mytiki';
require_once('tiki-setup.php');
$userprefslib = TikiLib::lib('userprefs');
$access->check_feature('feature_userPreferences');
$access->check_user($user);
$auto_query_args = ['view_user'];
if (! isset($_REQUEST["showall"])) {
$_REQUEST["showall"] = 'n';
}
$smarty->assign('showall', $_REQUEST["showall"]);
$userwatch = $user;
if (isset($_REQUEST["view_user"])) {
if ($_REQUEST["view_user"] <> $user) {
if ($tiki_p_admin == 'y') {
$userwatch = $_REQUEST["view_user"];
} else {
$smarty->assign('errortype', 401);
$smarty->assign('msg', tra("You do not have permission to view other users data"));
$smarty->display("error.tpl");
die;
}
} else {
$userwatch = $user;
}
}
$smarty->assign('userwatch', $userwatch);
// Upload avatar is processed here
if (isset($_FILES['userfile1']) && is_uploaded_file($_FILES['userfile1']['tmp_name'])) {
check_ticket('pick-avatar');
$name = $_FILES['userfile1']['name'];
$filegallib = TikiLib::lib('filegal');
try {
$filegallib->assertUploadedFileIsSafe($_FILES['userfile1']['tmp_name'], $_FILES['userfile1']['name']);
} catch (Exception $e) {
$smarty->assign('errortype', 403);
$smarty->assign('msg', $e->getMessage());
$smarty->display("error.tpl");
die;
}
$avatarlib = TikiLib::lib('avatar');
$avatarlib->set_avatar_from_url($_FILES['userfile1']['tmp_name'], $userwatch, $name);
/* redirect to prevent re-submit on page reload */
if ($tiki_p_admin == 'y' && $user !== $userwatch) {
header('Location: tiki-pick_avatar.php?view_user=' . $userwatch);
} else {
header('Location: tiki-pick_avatar.php');
}
exit;
}
if (isset($_REQUEST["uselib"])) {
check_ticket('pick-avatar');
$userprefslib->set_user_avatar($userwatch, 'l', $_REQUEST["avatar"], '', '', '', '');
}
if (isset($_REQUEST["reset"])) {
check_ticket('pick-avatar');
$userprefslib->set_user_avatar($userwatch, '0', '', '', '', '', '');
$userprefslib->remove_file_gallery_image($userwatch);
}
$avatars = [];
$h = opendir("img/avatars/");
while ($file = readdir($h)) {
if ($file != '.' && $file != '..' && $file != 'index.php' && substr($file, 0, 1) != "." && $file != "CVS" && $file != "README") {
$avatars[] = 'img/avatars/' . $file;
}
}
closedir($h);
$smarty->assign_by_ref('avatars', $avatars);
$smarty->assign('numav', count($avatars));
$smarty->assign('yours', mt_rand(0, count($avatars)));
$avatar = $tikilib->get_user_avatar($userwatch);
$smarty->assign('avatar', $avatar);
// Get full user picture if it is set
if ($prefs["user_store_file_gallery_picture"] == 'y' && $user_picture_id = $userprefslib->get_user_picture_id($userwatch)) {
$smarty->assign('user_picture_id', $user_picture_id);
}
ask_ticket('pick-avatar');
include_once('tiki-mytiki_shared.php');
$smarty->assign('mid', 'tiki-pick_avatar.tpl');
$smarty->display("tiki.tpl");