2015-04-25 20:08:44 +00:00
|
|
|
<?php
|
|
|
|
/*
|
|
|
|
* Sakura User Profiles
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Declare Namespace
|
|
|
|
namespace Sakura;
|
|
|
|
|
|
|
|
// Include components
|
2015-12-03 19:40:01 +00:00
|
|
|
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) . 'sakura.php';
|
2015-04-27 00:41:59 +00:00
|
|
|
|
2015-11-06 22:30:37 +00:00
|
|
|
// Initialise templating engine
|
|
|
|
$template = new Template();
|
|
|
|
|
|
|
|
// Change templating engine
|
|
|
|
$template->setTemplate($templateName);
|
|
|
|
|
2015-08-19 19:44:01 +00:00
|
|
|
// Get the user's context
|
2015-12-29 01:27:49 +00:00
|
|
|
$profile = User::construct(isset($_GET['u']) ? $_GET['u'] : 0);
|
2015-08-19 02:37:45 +00:00
|
|
|
|
2015-10-06 21:05:39 +00:00
|
|
|
// Views array
|
|
|
|
$views = [
|
|
|
|
'index',
|
2016-01-10 18:24:47 +00:00
|
|
|
/*'friends',
|
2015-10-10 15:51:24 +00:00
|
|
|
'threads',
|
2016-01-10 18:24:47 +00:00
|
|
|
'posts',*/
|
2015-10-06 21:05:39 +00:00
|
|
|
'comments',
|
|
|
|
];
|
|
|
|
|
2015-08-19 19:44:01 +00:00
|
|
|
// Assign the object to a renderData variable
|
|
|
|
$renderData['profile'] = $profile;
|
2015-10-06 21:05:39 +00:00
|
|
|
$renderData['profileView'] = isset($_GET['view']) && in_array($_GET['view'], $views) ? $_GET['view'] : $views[0];
|
2015-08-19 02:37:45 +00:00
|
|
|
|
2015-12-29 21:52:19 +00:00
|
|
|
// If the user id is zero check if there was a namechange
|
2016-01-17 01:58:31 +00:00
|
|
|
if ($profile->id == 0) {
|
2015-12-29 21:52:19 +00:00
|
|
|
// Fetch from username_history
|
2016-01-17 01:58:31 +00:00
|
|
|
$check = Database::fetch('username_history', false, ['username_old_clean' => [Utils::cleanString(isset($_GET['u']) ? $_GET['u'] : 0, true, true), '=']]);
|
2015-12-29 21:52:19 +00:00
|
|
|
|
|
|
|
// Redirect if so
|
|
|
|
if ($check) {
|
|
|
|
$renderData['page'] = [
|
|
|
|
'message' => 'The user this profile belongs to changed their username, you are being redirected.',
|
2016-01-10 18:24:47 +00:00
|
|
|
'redirect' => $urls->format('USER_PROFILE', [$check['user_id']]),
|
2015-12-29 21:52:19 +00:00
|
|
|
];
|
|
|
|
|
2016-01-04 20:14:09 +00:00
|
|
|
// Set parse variables
|
|
|
|
$template->setVariables($renderData);
|
2015-12-29 21:52:19 +00:00
|
|
|
|
2016-01-04 20:14:09 +00:00
|
|
|
// Print page contents
|
|
|
|
echo $template->render('global/information');
|
|
|
|
exit;
|
|
|
|
}
|
2015-12-29 21:52:19 +00:00
|
|
|
}
|
|
|
|
|
2016-01-10 18:24:47 +00:00
|
|
|
// If the user id is zero check if there was a namechange
|
|
|
|
if (isset($_GET['restrict']) && $_GET['restrict'] == session_id() && $currentUser->permission(Perms\Manage::CAN_RESTRICT_USERS, Perms::MANAGE)) {
|
|
|
|
// Check restricted status
|
|
|
|
$restricted = $profile->permission(Perms\Site::RESTRICTED);
|
|
|
|
|
|
|
|
if ($restricted) {
|
|
|
|
$profile->removeRanks([Config::get('restricted_rank_id')]);
|
2016-01-20 23:06:21 +00:00
|
|
|
$profile->addRanks([2]);
|
2016-01-10 18:24:47 +00:00
|
|
|
} else {
|
|
|
|
$profile->addRanks([Config::get('restricted_rank_id')]);
|
2016-01-20 23:06:21 +00:00
|
|
|
$profile->removeRanks(array_keys($profile->ranks));
|
2016-01-10 18:24:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
$renderData['page'] = [
|
|
|
|
'message' => 'Toggled the restricted status of the user.',
|
2016-01-17 01:58:31 +00:00
|
|
|
'redirect' => $urls->format('USER_PROFILE', [$profile->id]),
|
2016-01-10 18:24:47 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
// Set parse variables
|
|
|
|
$template->setVariables($renderData);
|
|
|
|
|
|
|
|
// Print page contents
|
|
|
|
echo $template->render('global/information');
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|
2015-11-06 22:30:37 +00:00
|
|
|
// Set parse variables
|
|
|
|
$template->setVariables($renderData);
|
|
|
|
|
2015-04-27 00:41:59 +00:00
|
|
|
// Print page contents
|
2015-12-10 20:55:51 +00:00
|
|
|
echo $template->render('main/profile');
|