-->KENT<--
На квартале
- Сообщения
- 246
- Реакции
- 50
Спасибо)Это отдельный плагин, не sourcebans
Ищи в sbchecker, я видел подобное там
Спасибо)Это отдельный плагин, не sourcebans
Ищи в sbchecker, я видел подобное там
<div class="profile-pic">
<img src="themes/new_box/img/profile-pics/1.jpg" />
</div>
<div class="profile-pic">
{if $logged_in}
{$avatar}
{else}
<img src="themes/new_box/img/profile-pics/1.jpg" />
{/if}
</div>
//Get steamID64
function getSteamID64($steamId){
//Test input steamId for invalid format
//Example SteamID: "STEAM_X:Y:ZZZZZZZZ"
$gameType = 0; //This is X. It's either 0 or 1 depending on which game you are playing (CSS, L4D, TF2, etc)
$authServer = 0; //This is Y. Some people have a 0, some people have a 1
$clientId = ''; //This is ZZZZZZZZ.
//Remove the "STEAM_"
$steamId = str_replace('STEAM_', '' ,$steamId);
//Split steamId into parts
$parts = explode(':', $steamId);
$gameType = $parts[0];
$authServer = $parts[1];
$clientId = $parts[2];
//Calculate friendId
$result = bcadd((bcadd('76561197960265728', $authServer)), (bcmul($clientId, '2')));
return $result;
}
// Get Steam Avatar medium
function getSteamAvaMedium($id){
$id64 = getSteamID64($id);
$url = simplexml_load_file("http://steamcommunity.com/profiles/$id64/?xml=1");
$ava = $url->avatarMedium;
return "<img src=$ava >";
}
$theme->assign('avatar', getSteamAvaMedium($userbank->GetProperty("authid")));
5.5 и вышеКакую версию php лучше использовать для этого творения?
Так и сделал по началу, но потом вспомнил что ключ убрали в последней обнове.@Lord FEAR, лучше всё таки через API это всё делать. Сами Вентили неоднократно признавались, что рано или поздно, параметр ?xml=1 будет удалён, потому что веб-сервер Steam Community временами нестабилен.
И вдобавок, насколько я помню, функция получения SteamID64 из SteamID2 уже есть в SB.
Я лучше предложу свою реализацию, если Астро позволит
function getSteamAvaMedium($id){
$id64 = getSteamID64($id);
$kay = STEAMAPIKEY;
$shit = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=$kay&steamids=$id64");
$json = json_decode($shit);
return "<img src=\"{$json->response->players[0]->avatarmedium}\">";
}
Без потери работоспособности можно убрать только $shit, если объяснишь как убрать другие буду благодарен. Да и не те здесь масштабы чтобы лишние переменные повлияли на нагрузку.Много лишних переменных, в любом случае. И если API отдаст ошибку (такое может быть), то вместо аватарки будет значок "убитой картинки", ибо проверок нет.
function getSteamAvaMedium($id){
$id64 = getSteamID64($id);
$kay = STEAMAPIKEY;
$json = json_decode(file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=$kay&steamids=$id64"));
if ($json->response->players[0]->avatarmedium){
return "<img src=\"{$json->response->players[0]->avatarmedium}\">";
}else{
return "<img src='themes/new_box/img/profile-pics/1.jpg' />";
}
}
Ну да, гораздо приятнее. Только скобочку ещё одну в конце поставь))@Lord FEAR, например, так:
C-подобный:function getSteamAvaMedium($id){ $avatar = 'themes/new_box/img/profile-pics/1.jpg'; $json = json_decode(file_get_contents(sprintf("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s&steamids=%d", STEAMAPIKEY, getSteamID64($id))); if (isset($json->response->players[0]->avatarmedium)) $avatar = $json->response->players[0]->avatarmedium; return sprintf('<img src="%s" />', $avatar); }
function getSteamAvaMedium($id){
$avatar = 'themes/new_box/img/profile-pics/1.jpg';
$json = json_decode(file_get_contents(sprintf("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s&steamids=%d", STEAMAPIKEY, getSteamID64($id))));
if (isset($json->response->players[0]->avatarmedium))
$avatar = $json->response->players[0]->avatarmedium;
return sprintf('<img src="%s" />', $avatar);
}
Замути)@AS TRO, я ж могу :ab:
function GetCommunityIDFromSteamID2($sid) {
/**
* Thanks Valve and AlliedModders!
* https://developer.valvesoftware.com/wiki/SteamID#Steam_Community_ID_as_a_Steam_ID
* https://forums.alliedmods.net/showthread.php?t=60899
*
* STEAM_X:Y:Z
* V=76561197960265728
* W=Z*2+V+Y
*/
$result = array();
$res = preg_match('/STEAM_[0-9]:(0|1):([0-9]{1,})/', $sid, $result);
if ($res) return ($result[2] * 2) + 76561197960265728 + $result[1];
else return false;
}
function GetUserAvatar($sid) {
global $userbank;
$AvatarFile = "themes/new_box/img/profile-pics/1.jpg";
$UserFound = false;
$CacheFile = sprintf('%simages/avatars.cache', ROOT);
if ($userbank->is_logged_in()) {
$communityid = GetCommunityIDFromSteamID2($sid);
if (file_exists($CacheFile)) {
if (is_readable($CacheFile) && is_writable($CacheFile)) {
$Cache = json_decode(file_get_contents($CacheFile), true);
foreach ($Cache['cache'] as &$ce) {
if ($ce['sid'] == $communityid && $ce['time'] < time()+AVATAR_LIFETIME) {
$UserFound = true;
$AvatarFile = $ce['avatar'];
break;
}
}
if (!$UserFound && defined('STEAMAPIKEY') && !empty(STEAMAPIKEY)) {
// Cache avatar
$SteamResponse = json_decode(file_get_contents(sprintf("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s&steamids=%d", STEAMAPIKEY, $communityid)));
if (isset($SteamResponse->response->players[0]->avatarfull)) {
$AvatarFile = $SteamResponse->response->players[0]->avatarfull; // return this avatar
// And write to cache
$CacheWritted = false;
foreach ($Cache['cache'] as &$ce) {
if ($ce['sid'] == $communityid) {
$CacheWritted = true;
$ce['avatar'] = $AvatarFile;
$ce['time'] = time()+AVATAR_LIFETIME;
break;
}
}
if (!$CacheWritted) $Cache['cache'][] = array('sid' => $communityid, 'avatar' => $AvatarFile, 'time' => time()+AVATAR_LIFETIME);
file_put_contents($CacheFile, json_encode($Cache));
}
}
}
} else {
file_put_contents($CacheFile, '{"cache":[]}');
return GetUserAvatar($sid);
}
}
return $AvatarFile;
}
define('AVATAR_LIFETIME', 86400); // Avatar lifetime in cache (seconds)
{"cache":[]}
<img src="themes/new_box/img/profile-pics/1.jpg" />
<img src="{$avatar}" />
$theme->display('page_header.tpl');
$theme->assign('avatar', GetUserAvatar($userbank->GetProperty('authid')));
<h2>Связь</h2>
<div style="text-align: center;padding-bottom: 20px;"><img src="{$admin.avatar}"></div>
array_push($admin_list, $admin);
$admin['avatar'] = GetUserAvatar($userbank->GetProperty('authid', $admin['aid']));