ghost
3 years ago
11 changed files with 159 additions and 1 deletions
@ -0,0 +1,30 @@
@@ -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 @@
@@ -0,0 +1,3 @@
|
||||
<?php |
||||
|
||||
require(PROJECT_DIR . '/application/view/common/module/users.phtml'); |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
<div class="moduleUsers" id="moduleUsers"></div> |
@ -0,0 +1,33 @@
@@ -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 @@
@@ -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