ghost
3 years ago
11 changed files with 159 additions and 1 deletions
@ -0,0 +1,30 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
$response = [ |
||||||
|
'success' => false, |
||||||
|
'message' => _('Internal server error'), |
||||||
|
'users' => [], |
||||||
|
'total' => 0 |
||||||
|
]; |
||||||
|
|
||||||
|
$usersTotal = 0; |
||||||
|
$users = []; |
||||||
|
|
||||||
|
foreach ((array) $_modelUser->getLastRandomUsers(APPLICATION_MODULE_USERS_LIMIT) as $user) { |
||||||
|
|
||||||
|
$users[] = [ |
||||||
|
'userName' => $user['username'] |
||||||
|
]; |
||||||
|
|
||||||
|
$usersTotal++; |
||||||
|
} |
||||||
|
|
||||||
|
$response = [ |
||||||
|
'success' => true, |
||||||
|
'message' => _('Users received'), |
||||||
|
'users' => $users, |
||||||
|
'total' => $usersTotal |
||||||
|
]; |
||||||
|
|
||||||
|
header('Content-Type: application/json; charset=utf-8'); |
||||||
|
echo json_encode($response); |
@ -0,0 +1,3 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
require(PROJECT_DIR . '/application/view/common/module/users.phtml'); |
@ -0,0 +1 @@ |
|||||||
|
<div class="moduleUsers" id="moduleUsers"></div> |
@ -0,0 +1,33 @@ |
|||||||
|
.moduleUsers .item { |
||||||
|
padding: 16px; |
||||||
|
margin-bottom: 2px; |
||||||
|
color: #1c1d1e; |
||||||
|
background: rgba(238, 238, 238, 0.08); |
||||||
|
border-radius: 3px; |
||||||
|
} |
||||||
|
|
||||||
|
.moduleUsers .item.active a, |
||||||
|
.moduleUsers .item.active a:visited, |
||||||
|
.moduleUsers .item.active a:active { |
||||||
|
color: #1c1d1e; |
||||||
|
} |
||||||
|
|
||||||
|
.moduleUsers .item .avatar { |
||||||
|
position: absolute; |
||||||
|
top: 16px; |
||||||
|
left: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.moduleUsers .item .avatar img { |
||||||
|
border-radius: 50%; |
||||||
|
border: 2px #fff solid; |
||||||
|
width: 16px; |
||||||
|
height: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.moduleUsers .item .info { |
||||||
|
padding-left: 40px; |
||||||
|
padding-right: 32px; |
||||||
|
letter-spacing: 0.2px; |
||||||
|
font-size: 13px; |
||||||
|
} |
@ -0,0 +1,63 @@ |
|||||||
|
var ModuleUsers = { |
||||||
|
template: { |
||||||
|
list: { |
||||||
|
item: { |
||||||
|
append: function(list, userName) { |
||||||
|
$(list).append( |
||||||
|
$('<div/>', { |
||||||
|
'class': 'item' + (userName == $(list).data('username') ? ' active' : '') |
||||||
|
}).append( |
||||||
|
$('<div/>', { |
||||||
|
'class': 'avatar' |
||||||
|
}).append( |
||||||
|
$('<a/>', { |
||||||
|
'href': 'people/' + userName |
||||||
|
}).append( |
||||||
|
$('<img/>', { |
||||||
|
'src': '/api/image?hash=' + userName, |
||||||
|
'alt': '', |
||||||
|
}) |
||||||
|
) |
||||||
|
) |
||||||
|
).append( |
||||||
|
$('<div/>', { |
||||||
|
'class': 'info' |
||||||
|
}).append( |
||||||
|
$('<a/>', { |
||||||
|
'href': 'people/' + userName |
||||||
|
}).append(userName) |
||||||
|
) |
||||||
|
) |
||||||
|
); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
load: function(list, reFresh) { |
||||||
|
$.ajax({ |
||||||
|
url: 'api/user/random', |
||||||
|
type: 'POST', |
||||||
|
data: {}, |
||||||
|
success: function (response) { |
||||||
|
if (response.success) { |
||||||
|
|
||||||
|
if (reFresh) { |
||||||
|
$(list).html(''); |
||||||
|
} |
||||||
|
|
||||||
|
$(response.users).each(function() { |
||||||
|
ModuleUsers.template.list.item.append(list, this.userName); |
||||||
|
}); |
||||||
|
|
||||||
|
} else { |
||||||
|
|
||||||
|
alert(response.message); |
||||||
|
|
||||||
|
} |
||||||
|
}, |
||||||
|
error: function(jqXHR, textStatus, errorThrown) { |
||||||
|
console.log(textStatus, errorThrown); |
||||||
|
} |
||||||
|
}); |
||||||
|
}, |
||||||
|
} |
Loading…
Reference in new issue