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

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


Помещено Vanish 31-07-2002 в 14:32:

Exclamation Some hacks for vB 2.2.6

Да простят меня админ и модераторы форума, но первые три поста в этой теме будут моими. Ниже будут описаны 2-а хака написанных некогда для знакомых админов, они преследуют идей украшательства в той или иной форме. Возможно, им существуют аналоги, однако я не задавался целью найти их.
При описании некоторых хаков я приводил предысторию создания этого хака, в общем, она несет больше информационную пользу, нежели практическую, поэтому для особо ценящих время людей рекомендую эту часть опускать, для большего удобства она отделена горизонтальной чертой от основной - описательной части.
З.Ы. В который раз убеждаюсь, что писать доку к программам/скриптам есть неимоверный труд для программиста (кто писал тот поймет). Если найдете корявости в описаниях не судите строго, ведь бывает и так, что что-то тебе кажется простым и очевидным, для другого окажется сложным и не логичным.
З.З.Ы. В ближайшее время будет добавлен еще один хак, как только перейду к другому прову на выделенку.


Помещено Vanish 31-07-2002 в 14:33:

Post Week Top Hack

Один из моих знакомых админов попросил написать ему хак для vB, что бы можно было определять тройку авторов с самым большим к.п.д. за неделю. Дело в том, что у него (админа) на борде сделана раздача авардов самым плодовитым авторам на форумах, однако возникла проблема - человека, который некогда стал лидером с кол-вом постов за 1000, любому новичку не догнать, при том лидеру достаточно раз в неделю написать 2-3 поста для сохранения лидерства. Вот у него и родилась идея поощрять не только старожителей форумов, а вообще всех (в т.ч. и тех же новичков).
В общем я создал этот хак и так как мой знакомый не имеет претензий (как генератор идеи) на то, что я буду распространять этот хак бесплатно в народ, я выкладываю его вам, может у кого-нибудь схожая ситуация или просто хочется выделить актив своего форума.
__________________________________________________


Установка:
В общем так, лень меня покорила и инсталляшку писать не хочется, поэтому выкладываю чистые файлы vB 2.2.6 с установленным хаком, Вам останется установить только таблицы в Вашу БД (при помощи winst.php) и в одном месте дополнить template (что по нашему шаблон!). Архив со всем прилагается, хак выделен комментариями, так что сориентируетесь.

Идея работы хака:
Хак должен определять тройку людей, чья активность на всех форумах за неделю оказалась наибольшей, ну и соответственно как-то поощрять их. Как это работает? Пользователь за неделю (с понедельника по понедельник) создает темы, пишет в темах, а мы это все учитываем при помощи раздачи очков этим пользователям, и в начале новой недели определяются три пользователя, с наибольшим количеством очков, набранных на прошлой неделе, которым и раздаются аварды и так каждую неделю.

Ð_аздача очей:
'1' - очко за ответ в теме
'2' - очка за создание новой темы
'-1' - очко за удаление ответа
и соответственно
'-2' - за удаление темы (за все удаленные в этой теме сообщения их авторам очки не снимаются!).

Для чего нужен файл winst.php:
Данный файл лежит в каталоге admin и позволяет установить таблицы необходимые для работы хака в Вашу БД. Так же он отвечает за установку начальной даты, с которой будет вестись отсчет недель. Данный скрипт должен быть запущен единожды, перед началом использования хака, после этого он может быть удален.
Внимание: повторный запуск скрипта приводит к ошибке при обращении к БД, сие никоем образом не портит Вашу БД, а также не влияет на работу хака.

Дополнение template:
Если Вы хотите использовать аварды, как это предусмотрено изначально в этом хаке, то в Postbit Templates в шаблоне Postbit вставьте в нужном Вам месте строчку - $status.


Помещено Vanish 31-07-2002 в 14:34:

Post Custom Title Hack

Идея хака:
Собственно хак предсталяет собой расширение возможностей при создании собственных тайтлов (custom titles). Он позволяет создавать цветные тайтлы, а также тайтлы с некоторыми эффектами DHTML (Shadow, Glow, DropShadow).
В исходной версии доступно только 3 эффекта и 8 рабочих цветов, однако, все это может быть дополнено даже Вами самими.

Написание тайтла с цветом:
Принцип написания тайтла достаточно прост (ИМХО, а возможно просто других идей по введению цвета не было), кто знаком с этим действом в Q3 поймет .
Перед выделяемым цветом фрагментом/буквой ставится указатель цвета - ^x, где x - код цвета от 0 до 8.
К примеру надо получить что-то вроде этого :

In G0D We Trust

То в поле изменения тайтла вводим:

In ^1G^2O^4D ^5We ^0Trust
И все! Получаем желаемый результат.

Список индексов цветов:
Для полноты картины приведу еще и его



Написание тайтла с эффектами DHTML:
Принцип вроде тот же, что и с цветом, однако, обозначение несколько иное:
[ax1x2], где x1 - обозначение действия (s-Shadow, g-Glow, d-DropShadow), а x2 - код цвета текста (см. выше).

Пример:
[ag8]In ^2G0D ^8We Trust

Будет создан тайтл с эфектом Glow белым цветом и зеленым G0D'ом по середине Как видно из примера допускается сочетание эффекта и цвета.
При работе с данными тегами (а вернее с эффектами DHTML) возникла одна проблема, решение которой потребовало зафиксировать место положения тэга. Он должен распологаться только в начале текста, т.е. нельзя применить эффект например только ко второму слову в тайтле, а другое, например первое, оставить без изменений. Собственно, это не недостаток самого хака, а несколько непонятная мне работа DHTML - он переносит текст с эффектом на новую строку. Так что конструкции типа: In [ag8] G0D ^8We Trust восприниматься как тег не будут!

Установка:
Все по тем же причинам, изложенным выше, инсталляции как таковой нет. Однако она, как таковая и не требуется. Поэтому выкладываю файл admin/functions.php с поставленным хаком (файл чистый от vb 2.2.6). В архиве так же имеется screenshot всего этого (как оно работало у меня). Замечу так же, что тайтл пользователя так же выводится в Private Messages, когда просматриваем входящие сообщения (поэтому, если это необходимо, следует фиксить файл private.php, иначе будет тайтл с тэгами (не очень красиво )), а так же при выводе информации о пользователе (в member.php), не красивости были так же найдены и при выводе анонсов.
Как это сделать? Читайте комментарии в файле functions.php
Замечание: Если в некоторых местах Вы хотите что бы выводился нормальный тайтл воспользуйтесь функцией clear_ctitle, в таком виде (приведено для строки $str):

$str = clear_ctitle($str);


Дополнение templates:
Для работы DHTML эффектов добавляем в headinclude перед $headnewpm

<STYLE>.pr2 {
FILTER: Shadow(Color="#000000", Direction="150")
}
</STYLE>

<STYLE type=text/css>.pr4 {
FILTER: Glow(Strength=2, Color="#0066cc")
}
</STYLE>

<STYLE>.pr6 {
FILTER: DropShadow(Color="#999999",OffX="2",OffY="2",Positive="1")
}
</STYLE>

Плюс в Postbit Templates в шаблоне Postbit удалите <br> после $post[usertitle]</smallfont>


Помещено MCTarakan 31-07-2002 в 19:34:

спасибо! а вот аналогичный первому хаку был тут где-то называется: Karma

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


Помещено Vanish 09-08-2002 в 10:35:

Post Add forum rules hack

Продолжение!!!
Часто приходится видеть, как модераторы/администраторы на форумах что бы создать правила для конкретного форума создают тему, помещают туда правила, делаю ее always on top (stick) и закрывают, дабы не было обсуждений правил. В общем, то это кажется, наиболее приемлемым путем при создании правил, однако приходится делать много лишних телодвижений, да и вид вывода самих правил ни чем не будет отличаться от любой заурядной темы (тем более при отключенном то HTML коде). А если необходимо что бы эти правила были доступны для категории форумов (т.е. что бы в каждом форуме из этой категории были одни и те же правила), да еще категория содержит форумов более 10-ти штук, вот здесь придется попотеть. Еще меньше радует то, что после проделанной работы по предыдущему пункту, необходимо внести в эти правила небольшие изменения.
Собственно все эти доводы не принадлежат мне. Так что до некоторого времени, и я считал, что проще сделать stick & close, чем создавать нечто для создания правил.
Возможно, кто-то скажет, что можно создавать правила при помощи анонсной системы, тогда они будут удовлетворять всем этим требованиям (если изменить шаблоны вывода анонсов вообще будет хорошо). И, в общем, они будут правы, собственно для создания хака и была использована анонсная система.
__________________________________________________

Установка:
Скажу просто - как и у первых двух Конечно, для этого хака стоило бы написать хорошую инсталляшку, но есть проблема установка хака требует множественных изменений в файлах, а как показывает практика - чем больше действий должен совершить человек, тем проще в них совершить ошибку (возможно даже не по своей вине (( ) Но для работы с БД все же создан скрипт помогающий в установке - rulins.php, как им пользоваться и что он делает, описано ниже.

Идея работы хака:
Проста как пареная репа. Выше было сказано, что для создания хака использована анонсная система, более того это она и есть, правда в измененном варианте. Как и в анонсах, право создания правил для определенного форума имеют модераторы этого форума и администраторы (хотя для них определенность форума роли не играет ). Более того у модераторов можно отбирать возможность создания правил на форуме.
Для правил, так же как и для анонсов работает лимит действия, т.е. когда начинаем выводить правила и когда заканчиваем. По правде сказать, необходимость этой возможности спорна, однако unlimit для правил сделан, просто впишите нулевую дату (0000-00-00) в срок окончания действия правил, хотя Вы можете поставить срок и на 3002 год и думаю мало, кто в ближайшие 800 лет сможет оспорить unlimit'ность Ваших правил, не говоря уж про практическую проверку )) (однако, на всякую хитрую задницу сами знаете что находится (( (еще более хитрая, ну для тех кто не знал))

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

Информация о rulins.php:
Скрипт предназначен для модернизации таблиц в Вашей БД в соответствии с требованиями хака. Так же при помощи этого скрипта можно добавить изменения в шаблоны, а так же добавить новые - необходимые для хака. При запуске этого скрипта Вам будет предложен список дальнейших действий, думаю, не ошибетесь при выборе там все подробно описано. Естественно каждое действие следует производить однократно (особенно это касается изменения и добавления шаблонов), иначе это может привести к непредсказуемой работе всей борды.
Замечение: проверьте наличие добавляемых полей в Ваших таблицах (при помощи phpmyadmin или еще чего-то доступного), возможно что одно из полей может быть не создано (по неизвестной мне причине, так было у меня*), тогда придейтся выполнить запросы в ручную. Вот эти запросы: ALTER TABLE `announcement` ADD `isrule` SMALLINT(6) DEFAULT '0' NOT NULL; и ALTER TABLE `moderator` ADD `canaddrules` SMALLINT(6) DEFAULT '0' NOT NULL;
*Вообще, я склонен это связывать с особенностями работы MySQL составляющей vB на локалхосте (но это может быть и не так).

Внимание:
К сожалению, это описание не изобилует разъяснением процесса установки, так уж получилось, но если вдруг оно понадобится, то готов буду помочь. А если таковых будет большинство, тогда придется пересмотреть мою позицию и переборов свою леность написать более полное описание.


Помещено Vanish 09-08-2002 в 10:39:

Post Merge posts hack

Некогда этот хак уже был зарелизен мной, да и не только мной на этом форуме. Если я не ошибаюсь то посмотреть сие можно здесь (если его не убили еще). Тот хак без проблем переносится на vb 2.2.6 и работает без глюков. Однако по прошествии некоторого времени он был доработан с учетом улучшения внешнего вида склеенных сообщений. В данной модификации хак может склеивать все посты, не зависимо от того имеет ли предыдущий или нынешний пост аттачи, причем без потерь информации и аттачей, данное проверено на практике, однако я остановился только на возможности склейки, а ведь есть еще и удаление постов (и там нужно переписывать буквально все функции удаления, как тем так и сообщений). По этому дабы не перегружать хак, да и не сотворить чего-нить, я решил все же эту возможность убрать.
__________________________________________________

Установка:
Коментарии ищите в файлах. С БД никаких перетурбаций делать не надо. Но в то же время есть необходимость создания и изменения шаблонов (об этом читайте ниже).

Идея работы хака:
Для тех кто не смог ознакомиться с вышеприведенным линком (советую все же ознакомиться, если конечно он доступен) в кратьсе: хак производит склейку сообщений посланных в одну тему в течении определенного интервала времени (при условии что оба поста были последними в этой теме), в общем объяснить это на пальцах сколь-нибудь внятно нельзя, такой же, по принципу работы, хак работает на этой борде.

Новые возможности хака:
+ Произведено переоформление вывода склеенных сообщений в теме.
+ Переоформлен вывод склеенных сообщений для печати (опция такая, кстати полезная для сохранения больших тем одним файлом).
+ Добавлена возможность вывода темы добавленного сообщения и его иконки (если таковые имеются).
+ Введены возможности редактирования склеенных сообщений, при этом оставляя место склейки (каждая часть склеенного сообщения редактируется отдельно)
+ Введены возможности удаления частей склеенного сообщения (а не всего сообщения сразу).
+ Появился шаблон части склеенного сообщения (для тех кто не понял, теперь его можно редактировать под свои нужды тем самым меняя вид вывода частей)
+ При склейке не происходит изменений счетчиков (у пользователя, темы), ни поднятия темы в списке.

Изменения в шаблонах:
Для установки новых шаблонов и осуществления изменений в старых воспользуйтесь скриптом itemplat.php, он автоматически создает новые шаблоны и дает инструкции по исправлению стандартных. Инструкции должны быть понятны.

Прикрепленный файл был битым, поэтому если Вам нужен этот хак обращайтесь ко мне в приват, пишите свое мыло, он будет отправлен Вам


Помещено Total 09-08-2002 в 12:24:

Суппер, все хаки просто высший класс! Молодец!

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено zeev 09-08-2002 в 12:38:

а можно руководство по установке хаков?
а то у меня заменять мои прохаченые файлы твоими нерезонно, а искать что там добавлено не очень хочется


Помещено Vanish 09-08-2002 в 12:44:

Тогда в этих файлах ищи строки с комментариями там куски выделены Hack Name - Предназначение и кончается (кусок в смысле) Hack Name - Конец. Ну а дальше куски в свои прохаканные файлы ставь. Однако не советую могут начаться глюки и баги, т.к. иногда некоторые хаки меняют одно и тоже, хотя вероятность этого мала (м.б. даже ничтожно )

__________________
No pity, no mercy, no regret.


Помещено zeev 09-08-2002 в 12:46:

спасибо


Помещено Total 09-08-2002 в 12:55:

А примеры есть этих хаков?

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Vanish 09-08-2002 в 13:24:

Живых нет (в смысле в on-line) а заскринить могу... Если надо... В некоторых архивах есть и уже готовые скрины, в описании должно быть отмечено про это.

__________________
No pity, no mercy, no regret.


Помещено Total 09-08-2002 в 13:57:

Vanish
Мне пожалуста скрины для хака правил.. очень интересно как они выглядят... в разделах и под разделах... А так же сами правила (тоесть страница правил)

__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!


Помещено Vanish 09-08-2002 в 15:06:

В разделах

и под разделах так же


Помещено Vanish 09-08-2002 в 15:07:

И собственно сами

Правила. Шаблон можно и поменять, по желанию заказчика.


Помещено Jan 09-08-2002 в 22:27:

Vanish

quote:
Файл: weektop.zip

Только 1 file Readme.txt
This file donwloaded with cracked version of ReGet Deluxe.


Помещено Vanish 09-08-2002 в 22:30:

У меня все ок. Давай мыло вышлю...

__________________
No pity, no mercy, no regret.


Помещено Jan 09-08-2002 в 22:33:

Vanish
admin@all4ru.com
И скажи, плиззз, для 2.2.5 подойдёт?


Помещено Vanish 09-08-2002 в 22:34:

а чем черт не шутит вроде должен там все с нуля писалось

__________________
No pity, no mercy, no regret.


Помещено MCTarakan 10-08-2002 в 02:27:

а чем вам стандартный Anounses (точно неправильно проспелил, но сорри) не нравица?

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


Помещено Vanish 10-08-2002 в 10:12:

quote:
Первоначальное сообщение от MCTarakan
а чем вам стандартный Anounses (точно неправильно проспелил, но сорри) не нравица?

Хотя бы тем что он выглядит как анонс.

__________________
No pity, no mercy, no regret.


Помещено Venom 10-08-2002 в 10:20:

ппл знаю что это чуть не в тему, но не подскажите где можно взять хак для репутации юсера? типо как на аг.ру, чтоб учасникм могли доболять и убовлять репутацию другим учасникам.


Помещено MCTarakan 10-08-2002 в 14:02:

Vanish
а где разница между твоим и стандартным анонсом?

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


Помещено Vanish 10-08-2002 в 14:34:

MCTarakan
Содержание правил на гифах посмотри, вроде разница очевидна ИМХО

__________________
No pity, no mercy, no regret.


Помещено MCTarakan 10-08-2002 в 15:14:

ок... тада бум пробывать!

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


Помещено Kanarsky 23-08-2002 в 17:51:

Vanish
В merge.zip битый function.php, не открывается

__________________
Садись в ногах! Правды нет!


Помещено Vanish 24-08-2002 в 09:21:

в смысле битый. Если архив битый то он вообще не откроется, а пхп файл может только глючить Ж)
Давай ошибку сюда, посмотрим.

__________________
No pity, no mercy, no regret.


Помещено Kanarsky 24-08-2002 в 15:04:

Vanish

"! C:\WINDOWS\Ð_абочий стол\merge.zip: CRC failed in admin\functions.php. The file is corrupt"

__________________
Садись в ногах! Правды нет!


Помещено Vanish 24-08-2002 в 19:58:

а ну так мыло дай я тебе залью

__________________
No pity, no mercy, no regret.


Помещено DragOn 25-08-2002 в 14:54:

Vanish
не работает Week Top Hack:
все файлы закачал, изменения в БД сделал, а главная страница просто не грузится


Помещено Orliha 25-08-2002 в 18:21:

Week Top отличненько поставился.
Только я вместо картинки надпись пишу просто слева под $post[usertitle]

(меняется $status в admin/functions.php)

приятный хак. спасибо.

-----------------------------------------------------
-----------------------------------------------------

Если не работает:
1. Удаляем таблицы.
2. В winst.php и в index.php пишем гденить:

PHP:


function GregorianToJD ($month,$day,$year) { 
if (
$month > 2) { 
$month = $month - 3; 
} else { 
$month = $month + 9; 
$year = $year - 1; 
} 
$c = floor($year / 100); 
$ya = $year - (100 * $c); 
$j = floor((146097 * $c) / 4); 
$j += floor((1461 * $ya)/4); 
$j += floor(((153 * $month) + 2) / 5); 
$j += $day + 1721119; 
return 
$j; 
}



3. Запускаем winst.php - он может выдать ошибку - тоже функцию не знает, но это нам похер...
4. Смотрим на таблицу week_setting - если дата пустая то пишем дату начала недели этой, first_use и clear пишем равно 0

все.
через неделю смотрим результаты. (можно раньше)
все должно заработать
(пхп не знают такую функцию GregorianToJD - пишем вручную)

__________________
RTFM (Уважаемые! Читайте документацию!)


Помещено Vanish 25-08-2002 в 19:11:

Orliha
В смысле пхп не знают такую функцию? А как же у меня работало? Вроде дефолтова функция.

__________________
No pity, no mercy, no regret.


Помещено Orliha 25-08-2002 в 19:15:

Да хер знает.
На локале у меня пашет, а на валухосте не захотела...

(на функцию JDDayOfWeek в winst.php тоже ругается что не знает)

__________________
RTFM (Уважаемые! Читайте документацию!)


Помещено DragOn 25-08-2002 в 20:45:

Orliha
можно посмотреть на хак на твоем форуме?


Помещено Orliha 25-08-2002 в 21:35:

Хака не видно пока - тока поставил сегодня - пока недели не прошло - ниче нет....

Но вообще - http://probuem.ru/forum - настраиваю ща потихоньку...

__________________
RTFM (Уважаемые! Читайте документацию!)


Помещено Kanarsky 28-08-2002 в 16:28:

Vanish
kanarsky@pisem.net
Спасибо!

__________________
Садись в ногах! Правды нет!


Помещено Freaker 29-08-2002 в 09:38:

Vanish
fishboner@mail.ru
Заранее Благодарен...

__________________
Bad Command or File name


Помещено Vanish 29-08-2002 в 11:48:

Freaker
А тебе то что???

__________________
No pity, no mercy, no regret.


Помещено Freaker 29-08-2002 в 22:11:

вот этот хак weektop

__________________
Bad Command or File name


Помещено Orliha 30-08-2002 в 07:19:

Freaker
смотри первые страницы топика - там ссылка на зип.

__________________
RTFM (Уважаемые! Читайте документацию!)


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

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