This repository has been archived on 2024-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
sakura/public/profile.php

61 lines
1.6 KiB
PHP
Raw Normal View History

2015-04-25 20:08:44 +00:00
<?php
/*
* Sakura User Profiles
*/
// Declare Namespace
namespace Sakura;
// Include components
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) . 'sakura.php';
2015-04-27 00:41:59 +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
// Views array
$views = [
'index',
2015-10-12 18:25:37 +00:00
'friends',
'threads',
'posts',
'comments',
];
2015-08-19 19:44:01 +00:00
// Assign the object to a renderData variable
$renderData['profile'] = $profile;
$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
if ($profile->id() == 0) {
// Fetch from username_history
$check = Database::fetch('username_history', false, ['username_old_clean' => [Main::cleanString(isset($_GET['u']) ? $_GET['u'] : 0, true, true), '=']]);
2015-12-29 21:52:19 +00:00
// Redirect if so
if ($check) {
$renderData['page'] = [
'title' => 'Information',
'message' => 'The user this profile belongs to changed their username, you are being redirected.',
'redirect' => $urls->format('USER_PROFILE', [$check['user_id']]),
];
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
}
// Set parse variables
$template->setVariables($renderData);
2015-04-27 00:41:59 +00:00
// Print page contents
echo $template->render('main/profile');