Форум сетевых администраторов
Показаны 22 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Хаки от Netadmin или "Сделай сам" (http://netadmin.ws/forum/forumdisplay.php?forumid=65)
-- Нужен хак... (http://netadmin.ws/forum/showthread.php?threadid=4322)


Помещено Cj GuSSa 12-02-2003 в 07:49:

Нужен хак...

Вообщем такая проблемма:
Есть вип зона - и только админ может дать зверю вип статус, хотелось бы чтобы зверь по истечению месяца неактивности на форуме - автоматически переносился в начальную группу, тобишь не мог попасть в вип зону...

Буду рад любой помощи...


Помещено H-BOMB 12-02-2003 в 14:06:

Скорей всго такого нет, хотя посмтори на орге, если что то подобное увидишь, свяжись.

__________________
пам парам пам пам


Помещено Vanish 12-02-2003 в 16:44:

Cj GuSSa можно попробовать написать.

__________________
No pity, no mercy, no regret.


Помещено Count 12-02-2003 в 16:46:

Vanish
ты же вроде сюда не пишешь

Count добавил 12-02-2003 в 16:47:18:
или я не угадал???


Помещено Vanish 12-02-2003 в 16:54:

Count
я пишу человеку которого знаю!!! Остальные могут не читать!

Я не пишу здесь больше ничего полезного для остального народа, так же не пишу больше хаки для пользователей нетадмина.
А так со старыми друзьями...

__________________
No pity, no mercy, no regret.


Помещено Count 12-02-2003 в 17:01:

Vanish
Я ничего против не имею... Наоборот рад видеть знакомого на родных просторах. Но это уже пошел оффтоп...


Помещено Cj GuSSa 12-02-2003 в 18:04:

Vanish
Как с тобой можно связаться и обсудить детали ?

__________________
$CHT = base64_decode(" Ljp8Q2dpIEhlYXZlbiBUZWFtfDouIFtDSFRdIC46fGh0dHA6Ly
9jZ2loZWF2ZW4ub3JnfDou");


Помещено polo 13-02-2003 в 00:08:

лол для этого нужно использовать крон, либо написать функцию которая будет вызываться при каждом запуске index.php но это накладно но впринципе не так страшно, будет выглядеть так:

PHP:


function setvipstatus () {
global 
$DB_site;
$vipgroup = "vipgroupid"; //сюда нужно вписать ид группы вип юзеров
$expiredtime = time() - 60*60*24*30; // 30 дней
$normalgroup = "idgroup"; // ид группы в которую нужно переместить пользователя
$expiredvips = $DB_site->query("SELECT userid FROM user WHERE
                       usergroupid = 
$vipgroup AND lastvisit < $expiredtime");

while (
$expiredvip=$DB_site->fetch_array($expiredvips)) {
$DB_site->query("UPDATE user SET usergroupid = $normalgroup
 WHERE userid = 
$expiredvip[userid]");
}
}


вставь эту функцию например в fuctions.php и в index.php после вызова global.php добавь setvipstatus ();
я не проверял, написал на скорую руку по памяти может где-то ошибся, проверь, но по мне так никаких проблем не должно возникнуть.

__________________
Всегда есть решение.


Помещено Vanish 13-02-2003 в 06:09:

Лучше это вставить в проверку перпишенов для пользователя.

и еще

$DB_site->query("SET usergroupid = $normalgroup WHERE userid = $expiredvip[userid]");

неверно, а вот так

$DB_site->query("UPDATE user SET usergroupid = $normalgroup WHERE userid = $expiredvip[userid]");

__________________
No pity, no mercy, no regret.


Помещено polo 13-02-2003 в 07:01:

угу, спасибо, ошибся.

__________________
Всегда есть решение.


Помещено Cj GuSSa 13-02-2003 в 19:03:

polo
Vanish
Спасибо братцы, пошёл пробывать

__________________
$CHT = base64_decode(" Ljp8Q2dpIEhlYXZlbiBUZWFtfDouIFtDSFRdIC46fGh0dHA6Ly
9jZ2loZWF2ZW4ub3JnfDou");


Помещено MCTarakan 14-02-2003 в 01:06:

и как???

Дык, из этого хака поидее можно сделать и автокик (типа кик с форума за неактивность по истечению какого-то времени), который все тут так хотят, но так никто и не имеет!

__________________
yMC.ru - хомяк музыканта


Помещено Denveroid 14-02-2003 в 01:32:

Вместо:

while ($expiredvips=$DB_site->fetch_array($expiredvip))

Должно быть:

while ($expiredvip=$DB_site->fetch_array($expiredvips))

__________________
`
SiteMaker.Ru - Академия сайтостроительства


Помещено polo 14-02-2003 в 07:27:

Denveroid тоже верно, вот что значит на скорую руку писать да еще и в форуме .

__________________
Всегда есть решение.


Помещено polo 25-02-2003 в 00:09:

Обновленная функция

Обновленная функция, советую использовать ее, та что выше я долго не думал когда писал, сорри:

PHP:


function setvipstatus () {
    global 
$DB_site;
    
$vipgroup = "vipgroupid"; //сюда нужно вписать ид группы вип юзеров
    
$expiredtime = time() - 60*60*24*30; // 30 дней
    
$normalgroup = "idgroup"; // ид группы в которую нужно переместить пользователя
    
$DB_site->query("UPDATE user SET usergroupid = $normalgroup 
             WHERE usergroupid = 
$vipgroup 
             AND lastvisit < 
$expiredtime");
}

__________________
Всегда есть решение.


Помещено Cj GuSSa 25-02-2003 в 14:50:

polo
Спасибо, ща поправим =)

__________________
$CHT = base64_decode(" Ljp8Q2dpIEhlYXZlbiBUZWFtfDouIFtDSFRdIC46fGh0dHA6Ly
9jZ2loZWF2ZW4ub3JnfDou");


Помещено MCTarakan 26-02-2003 в 00:03:

все это нада вставлять в admin/functions.php в любое удобное место (в конце)???

MCTarakan добавил 26-02-2003 в 00:21:56:
и все-таки, как будет выглядеть функция, которая переносит пользователя из Зарегестрированных в Гостей???

__________________
yMC.ru - хомяк музыканта


Помещено polo 26-02-2003 в 00:26:

MCTarakan ты что издеваешся?

__________________
Всегда есть решение.


Помещено MCTarakan 26-02-2003 в 00:50:

polo сорри... если что не так... может я туплю... я честно ведь спрашиваю.. ведь там изменения НЕ только в номере группы - чела кикает с форума - все его сообщения помечаются как сообщения от гостей, его самого из базы убивает... там такого:
PHP:


$DB_site
->query("UPDATE user SET usergroupid = $normalgroup 
             WHERE usergroupid = 
$vipgroup 
             AND lastvisit < 
$expiredtime");


я думаю малова-то будет... или я неправ???

__________________
yMC.ru - хомяк музыканта


Помещено polo 26-02-2003 в 07:08:

во-во, смотри в админовском скрипте как удаляется юзер.

polo добавил 26-02-2003 в 07:09:16:
только я не понимаю зачем это.

__________________
Всегда есть решение.


Помещено RASTAMAN™ 26-02-2003 в 16:36:

MCTarakan


PHP:


$user
=$DB_site->query_first("SELECT username FROM user WHERE userid='$userid'");
  
$DB_site->query("UPDATE post SET username='".addslashes($user[username])."',userid=0 WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM user WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM userfield WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM access WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM calendar_events WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM customavatar WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM moderator WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM privatemessage WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM subscribeforum WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM subscribethread WHERE userid='$userid'");
  
$DB_site->query("DELETE FROM session WHERE userid='$userid'");



аналогично, разъясни!

By Moderator: оверквотинг!!! В следующий раз можно и своими словами будет написать, а не использовать совершенно не несущие смысла цитаты!

__________________
Наточу я бейсбольную биту,
Выйду в поле, взмахну балалайкой...
Пусть я даже пять раз не мытый -
Свою кошку зову я Лайкой!


Помещено MCTarakan 27-02-2003 в 01:40:

RASTAMAN™
polo
ну все одно время хотели автокик с форума, если юзер НЕактивен в течении какого-то времени... только в темах про это никто так готового результата и не дал...

Спасиб большой - буду тестить...

__________________
yMC.ru - хомяк музыканта


Формат времени GMT. Текущее время 09:49.
Показаны 22 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.