Skip to content

Commit

Permalink
Merge pull request #115 from FlamesONE/alpha
Browse files Browse the repository at this point in the history
Фиксы
  • Loading branch information
M0st1ce authored Sep 28, 2020
2 parents 45ea0e2 + cf65fa3 commit 4c5a16e
Show file tree
Hide file tree
Showing 7 changed files with 110 additions and 149 deletions.
64 changes: 34 additions & 30 deletions web_dev/app/ext/General.php
Original file line number Diff line number Diff line change
Expand Up @@ -98,18 +98,20 @@ public function get_default_url_section( $section, $default, $arr_true ) {
* @return string Выводит ссылку на аватар если он существует.
*/
public function getAvatar( $profile, $type ) {
$url = ( $type == 1 ) ? CACHE . 'img/avatars/' . $profile . '.jpg' : CACHE . 'img/avatars/slim/' . $profile . '.jpg';
$url = CACHE . 'img/avatars/' . $profile . '.json';
switch ( $type ) {
case 1:
if ( file_exists( $url ) && $this->arr_general['avatars'] == 1 ):
return $url;
$file = json_decode(file_get_contents($url), true);
return $file['avatar'];
elseif ( ! file_exists( $url ) || $this->arr_general['avatars'] == 0 || $this->arr_general['avatars'] == 2 ):
return 'storage/cache/img/avatars_random/' . rand(1,30) . '.jpg';
endif;
break;
case 2:
if ( file_exists( $url ) && $this->arr_general['avatars'] == 1 ):
return $url;
$file = json_decode(file_get_contents($url), true);
return $file['slim'];
elseif ( ! file_exists( $url ) || $this->arr_general['avatars'] == 0 || $this->arr_general['avatars'] == 2 ):
return 'storage/cache/img/avatars_random/' . rand(1,30) . '_xs.jpg';
endif;
Expand All @@ -128,35 +130,37 @@ public function getAvatar( $profile, $type ) {
* @return int Выводит итог проверки.
*/
public function checkAvatar( $profile, $type ) {
$url = CACHE . 'img/avatars/' . $profile . '.jpg';
$url_slim = CACHE . 'img/avatars/slim/' . $profile . '.jpg';
switch ( $type ) {
case 1:
if ( file_exists( $url ) ):
if ( time() >= filemtime( $url ) + $this->arr_general['avatars_cache_time'] ):
unlink( $url );
file_exists( $url_slim ) && unlink( $url_slim );
return 1;
else:
return 0;
endif;
else:
$url = CACHE . 'img/avatars/' . $profile . '.json';
if( $type == 1 ) {
if ( file_exists( $url ) ):
if ( time() >= filemtime( $url ) + $this->arr_general['avatars_cache_time'] ):
unlink( $url );
return 1;
endif;
break;
case 2:
if ( file_exists( $url_slim ) ):
if ( time() >= filemtime( $url_slim ) + $this->arr_general['avatars_cache_time'] ):
unlink( $url_slim );
file_exists( $url ) && unlink( $url );
return 1;
else:
return 0;
endif;
else:
return 1;
return 0;
endif;
break;
else:
return 1;
endif;
}
}

/**
* Получение никнейма игрока.
*
* @since 0.2
*
* @param string $profile Steam ID игрока
*
* @return string Выводит итог проверки.
*/
public function checkName( $profile ) {
$url = CACHE . 'img/avatars/' . $profile . '.json';
if ( file_exists( $url ) ) {
$file = json_decode(file_get_contents($url), true);
return $file['name'];
} else {
return false;
}
}

Expand Down Expand Up @@ -206,7 +210,7 @@ function get_icon( $group, $name, $category = null ) {
*
* @return string Скрипт.
*/
function get_js_relevance_avatar( $id, $type = 2 ) {
function get_js_relevance_avatar( $id, $type = 1 ) {
if ( $this->arr_general['avatars'] == 1 ):
$con = is_numeric( $id ) ? $id : con_steam32to64( $id );
$check = (int) $this->checkAvatar( $con, $type );
Expand Down
76 changes: 11 additions & 65 deletions web_dev/app/includes/js_controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -190,17 +190,10 @@
foreach ($avatars as $k => $avatar) {

// Пути до каждого аватара
$cache = [

// Полноразмерный аватар
'../../storage/cache/img/avatars/' . $avatar . '.jpg',

// Уменьшенная версия
'../../storage/cache/img/avatars/slim/' . $avatar . '.jpg',
];
$cache = '../../storage/cache/img/avatars/' . $avatar . '.json';

// Кэш сущетсвует и обновлен менее суток назад - нам эта аватарка не нужна
if( file_exists( $cache[0] ) && filemtime( $cache[0] ) > $expired && file_exists( $cache[1] ) && filemtime( $cache[1] ) > $expired ) unset($avatars[$k]);
if( file_exists( $cache ) && filemtime( $cache ) > $expired && file_exists( $cache ) && filemtime( $cache ) > $expired ) unset($avatars[$k]);
}

// Генерация запроса к Steam API.
Expand All @@ -221,68 +214,21 @@
if( $avatars_count <= $data_count ):
// Создание цикла исходя из количества эелементов.
for ( $i = 0; $i < $data_count; $i++ ):
// Заполняем итоговый массив.
$return[] = [
"id" => $data[$i]['steamid'],
"url" => $data[$i]['steamid']
];

// Создаём пути под сохранение аватаров.
$cacheFile = "../../storage/cache/img/avatars/" . $data[ $i ]['steamid'] . ".jpg";
$cacheFile_slim = "../../storage/cache/img/avatars/slim/" . $data[ $i ]['steamid'] . ".jpg";

// Номер случайной аватарки
$rand = rand(1,30);

// Сохраняем/редактируем новые аватары.
$avatarfull = curl_init( $data[ $i ]['avatarfull'] );
curl_setopt( $avatarfull, CURLOPT_HEADER, 0);
curl_setopt( $avatarfull, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $avatarfull, CURLOPT_BINARYTRANSFER,1);
$out_avatarfull = curl_exec( $avatarfull );
curl_close( $avatarfull );

if( ! empty( $out_avatarfull ) ) {
file_put_contents( $cacheFile, $out_avatarfull );
} else {
file_put_contents( $cacheFile, file_get_contents( '../../storage/cache/img/avatars_random/' . $rand . '.jpg' ) );
}
$cacheFile = "../../storage/cache/img/avatars/" . $data[ $i ]['steamid'] . ".json";

$avatar = curl_init( $data[ $i ]['avatar'] );
curl_setopt( $avatar, CURLOPT_HEADER, 0);
curl_setopt( $avatar, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $avatar, CURLOPT_BINARYTRANSFER,1);
$out_avatar = curl_exec( $avatar );
curl_close( $avatar );

if( ! empty( $out_avatar ) ) {
file_put_contents( $cacheFile_slim, $out_avatar );
} else {
file_put_contents( $cacheFile_slim, file_get_contents( '../../storage/cache/img/avatars_random/' . $rand . '_xs.jpg' ) );
}
endfor;
else:
for ( $i = 0; $i < $avatars_count; $i++ ):
// Номер случайной аватарки
$rand = rand(1,30);

// Заполняем итоговый массив.
$return[] = [
"id" => $avatars[ $i ],
"url" => $avatars[ $i ]
$json = [
'avatar' => $data[ $i ]['avatarfull'],
'name' => $data[ $i ]['personaname'],
'slim' => $data[ $i ]['avatar']
];

// Создаём пути под сохранение аватаров.
$cacheFile = "../../storage/cache/img/avatars/" . $avatars[ $i ] . ".jpg";
$cacheFile_slim = "../../storage/cache/img/avatars/slim/" . $avatars[ $i ] . ".jpg";

file_put_contents( $cacheFile, file_get_contents( '../../storage/cache/img/avatars_random/' . $rand . '.jpg' ) );
file_put_contents( $cacheFile_slim, file_get_contents( '../../storage/cache/img/avatars_random/' . $rand . '_xs.jpg' ) );
if( ! empty( $data[ $i ]['avatarfull'] ) ) {
file_put_contents( $cacheFile, json_encode($json) );
echo $data[ $i ]['avatarfull'];
}
endfor;
endif;

// Вывод итоговых данных.
echo json_encode( $return );
exit;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,26 @@ if (servers != 0) {
document.getElementById('server-tableplayers-' + i).innerHTML = data[i]['Players'] + "/" + data[i]['MaxPlayers'];

var b = 1;
if( data[i]['players'].length > 0 ) {
console.log(data[i]['players']);
for (var i2 = 0; i2 < data[i]['players'].length; i2++) {
var str = '<tr>' +
'<th class="text-center">' + b++ + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Name'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Frags'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['TimeF'] + '</th>' +
'</tr>';
po = document.getElementById('players_online_' + i);
po.insertAdjacentHTML('beforeend', str);
if(data[i]['players']) {
if( data[i]['players'].length > 0 ) {
console.log(data[i]['players']);
for (var i2 = 0; i2 < data[i]['players'].length; i2++) {
var str = '<tr>' +
'<th class="text-center">' + b++ + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Name'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Frags'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['TimeF'] + '</th>' +
'</tr>';
po = document.getElementById('players_online_' + i);
po.insertAdjacentHTML('beforeend', str);
}
var modal = document.getElementById('server-players-online-' + i );
document.getElementById('connect_server_' + i).setAttribute("href", "steam://connect/" + data[i]['ip'] );
} else {
$('.btn_connect_' + i).prop("onclick", null).off("click");
$('.btn_connect_' + i).attr("href", "steam://connect/" + data[i]['ip'] )
$('.str_connect_' + i).attr("onclick", "document.location = 'steam://connect/" + data[i]['ip'] + "'" )
}
var modal = document.getElementById('server-players-online-' + i );
document.getElementById('connect_server_' + i).setAttribute("href", "steam://connect/" + data[i]['ip'] );
} else {
$('.btn_connect_' + i).prop("onclick", null).off("click");
$('.btn_connect_' + i).attr("href", "steam://connect/" + data[i]['ip'] )
$('.str_connect_' + i).attr("onclick", "document.location = 'steam://connect/" + data[i]['ip'] + "'" )
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,26 @@ if (servers != 0) {
document.getElementById('server-tableplayers-' + i).innerHTML = data[i]['Players'] + "/" + data[i]['MaxPlayers'];

var b = 1;
if( data[i]['players'].length > 0 ) {
console.log(data[i]['players']);
for (var i2 = 0; i2 < data[i]['players'].length; i2++) {
var str = '<tr>' +
'<th class="text-center">' + b++ + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Name'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Frags'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['TimeF'] + '</th>' +
'</tr>';
po = document.getElementById('players_online_' + i);
po.insertAdjacentHTML('beforeend', str);
if( data[i]['players']) {
if( data[i]['players'].length > 0 ) {
console.log(data[i]['players']);
for (var i2 = 0; i2 < data[i]['players'].length; i2++) {
var str = '<tr>' +
'<th class="text-center">' + b++ + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Name'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Frags'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['TimeF'] + '</th>' +
'</tr>';
po = document.getElementById('players_online_' + i);
po.insertAdjacentHTML('beforeend', str);
}
var modal = document.getElementById('server-players-online-' + i );
document.getElementById('connect_server_' + i).setAttribute("href", "steam://connect/" + data[i]['ip'] );
} else {
$('.btn_connect_' + i).prop("onclick", null).off("click");
$('.btn_connect_' + i).attr("href", "steam://connect/" + data[i]['ip'] )
$('.str_connect_' + i).attr("onclick", "document.location = 'steam://connect/" + data[i]['ip'] + "'" )
}
var modal = document.getElementById('server-players-online-' + i );
document.getElementById('connect_server_' + i).setAttribute("href", "steam://connect/" + data[i]['ip'] );
} else {
$('.btn_connect_' + i).prop("onclick", null).off("click");
$('.btn_connect_' + i).attr("href", "steam://connect/" + data[i]['ip'] )
$('.str_connect_' + i).attr("onclick", "document.location = 'steam://connect/" + data[i]['ip'] + "'" )
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,26 @@ if (servers != 0) {
document.getElementById('server-tableplayers-' + i).innerHTML = data[i]['Players'] + "/" + data[i]['MaxPlayers'];

var b = 1;
if( data[i]['players'].length > 0 ) {
console.log(data[i]['players']);
for (var i2 = 0; i2 < data[i]['players'].length; i2++) {
var str = '<tr>' +
'<th class="text-center">' + b++ + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Name'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Frags'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['TimeF'] + '</th>' +
'</tr>';
po = document.getElementById('players_online_' + i);
po.insertAdjacentHTML('beforeend', str);
if( data[i]['players']) {
if( data[i]['players'].length > 0 ) {
console.log(data[i]['players']);
for (var i2 = 0; i2 < data[i]['players'].length; i2++) {
var str = '<tr>' +
'<th class="text-center">' + b++ + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Name'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['Frags'] + '</th>' +
'<th class="text-center">' + data[i]['players'][i2]['TimeF'] + '</th>' +
'</tr>';
po = document.getElementById('players_online_' + i);
po.insertAdjacentHTML('beforeend', str);
}
var modal = document.getElementById('server-players-online-' + i );
document.getElementById('connect_server_' + i).setAttribute("href", "steam://connect/" + data[i]['ip'] );
} else {
$('.btn_connect_' + i).prop("onclick", null).off("click");
$('.btn_connect_' + i).attr("href", "steam://connect/" + data[i]['ip'] )
$('.str_connect_' + i).attr("onclick", "document.location = 'steam://connect/" + data[i]['ip'] + "'" )
}
var modal = document.getElementById('server-players-online-' + i );
document.getElementById('connect_server_' + i).setAttribute("href", "steam://connect/" + data[i]['ip'] );
} else {
$('.btn_connect_' + i).prop("onclick", null).off("click");
$('.btn_connect_' + i).attr("href", "steam://connect/" + data[i]['ip'] )
$('.str_connect_' + i).attr("onclick", "document.location = 'steam://connect/" + data[i]['ip'] + "'" )
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion web_dev/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
define('IN_LR', true);

// Версия LR WEB.
define('VERSION', '0.2.133');
define('VERSION', '0.2.134');

// Основная директория вэб-приложения.
define('APP', 'app/');
Expand Down
9 changes: 7 additions & 2 deletions web_dev/storage/assets/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,13 @@
}(document);

if (avatar != 0) {
$.post("./app/includes/js_controller.php", {function: 'avatars', data: avatar}, function (e) {
for (var i = 0; i < avatar.length; i++) document.getElementById(avatar[i]).setAttribute("src", "storage/cache/img/avatars/" + avatar[i] + ".jpg")
$.post("./app/includes/js_controller.php", {
function: 'avatars',
data: avatar
}, function (e) {
for (var i = 0; i < avatar.length; i++) {
document.getElementById(avatar[i]).setAttribute("src", e);
}
})
};

Expand Down

0 comments on commit 4c5a16e

Please sign in to comment.