У каждого юзера ведётся некоторая статистика - сколько новостей добавил, комментариев, фотографий, топиков на форум... Представляю вам функции администрирования этой самой статистики.
(function(window){
window.showStats = function(user){
new _uWnd('cntEd','Управление счетчиками',-280,-100,{autosize:1,closeonesc:1,resize:0},{url:'/index/39-' + user});
}
window.getStats = function(user,fn){
$.get('/index/39-' + user, function(data){
data = $(data);
data = $('cmd[p=content]',data).text();
data = $(data);
var stats = {};
stats.comments = $('[name=com]',data).val();
stats.photo = $('[name=photo]',data).val();
stats.forum = $('[name=forum]',data).val();
stats.news = $('[name=news]',data).val();
stats.blog = $('[name=blog]',data).val();
stats.publ = $('[name=publ]',data).val();
stats.load = $('[name=load]',data).val();
stats.dir = $('[name=dir]',data).val();
stats.board = $('[name=board]',data).val();
stats.stuff = $('[name=stuff]',data).val();
fn(stats);
});
}
window.recalcStats = function(user){
$.get('/index/39-' + user, function(data){
data = $(data);
data = $('cmd[p=content]',data).text();
data = $(data);
var ssid = $('a:eq(0)',data).parent().attr('onclick').split('-');
ssid = ssid[ssid.length-2];
new _uWnd('cntEd',' ',-280,-100,{autosize:1,closeonesc:1,resize:0},{url:'/index/39-' + user + '-' + ssid + '-1'});
});
}
window.setStats = function(user,obj,fn){
$.get('/index/39-' + user, function(data){
data = $(data);
data = $('cmd[p=content]',data).text();
data = $(data);
var ssid = $('a:eq(0)',data).parent().attr('onclick').split('-');
ssid = ssid[ssid.length-2];
if(!('comments' in obj)) obj.comments = $('[name=com]',data).val();
if(!('photo' in obj)) obj.photo = $('[name=photo]',data).val();
if(!('forum' in obj)) obj.forum = $('[name=forum]',data).val();
if(!('news' in obj)) obj.news = $('[name=news]',data).val();
if(!('blog' in obj)) obj.blog = $('[name=blog]',data).val();
if(!('publ' in obj)) obj.publ = $('[name=publ]',data).val();
if(!('load' in obj)) obj.load = $('[name=load]',data).val();
if(!('dir' in obj)) obj.dir = $('[name=dir]',data).val();
if(!('board' in obj)) obj.board = $('[name=board]',data).val();
if(!('stuff' in obj)) obj.stuff = $('[name=stuff]',data).val();
obj.__tp__ = 'xml';
obj.a = 39;
obj.s = user;
obj.ssid = ssid;
obj.t = 1;
$.post('/index/', obj, fn);
});
}
})(window);
Во-первых, функция showStats - она показывает статистику по определённому пользователю с возможностью её изменения.
Во-вторых, функция getStats получает статистику по определённому пользователю:
getStats(2, function(stats){
// получили статистику по юзеру с id=2, теперь используем:
// stats.comments - комментарии
// stats.photo - фотоальбомы
// stats.forum - форум
// stats.news - новости
// stats.blog - блог
// stats.publ - каталог статей
// stats.load - каталог файлов
// stats.dir - каталог сайтов
// stats.board - доска объявлений
// stats.stuff - онлайн игры
})
Функция recalcStats принимает id юзера, пересчитывает его статистику заново и открывает окошко со статистикой.
Ну и наконец функция setStats, которая устанавливает статистику определённого пользователя:
setStats(2, { comments:200, forum:0 }, function(){
alert('Статистика установлена!');
}
ВСЕ ФУНКЦИИ РАБОТАЮТ ТОЛЬКО У АДМИНИСТРАТОРА!
|