21:13
Работаем со статистикой
У каждого юзера ведётся некоторая статистика - сколько новостей добавил, комментариев, фотографий, топиков на форум... Представляю вам функции администрирования этой самой статистики.
user
{

счётчики

}
(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('Статистика установлена!');
}


ВСЕ ФУНКЦИИ РАБОТАЮТ ТОЛЬКО У АДМИНИСТРАТОРА!
836, 0, Кейтен, 19.05.2024, 05:28, 3.0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Скачать
Партнёры
Комментарии
(26.06.2012)
smile классно, ждем! Оставил сайт в закладках)
Кейтен (13.05.2012)
Если вы знаете JavaScript, то эти функции могут помочь вам писать скрипты для uCoz
Кейтен (12.05.2012)
Сейчас, к сожалению, времени очень не хватает. Как только появится - сразу займусь. Кстати говоря, модуль пользователей уже почти закончен, пара функций осталась.
(19.04.2012)
нового ничего не будет? sad
Статистика