![]() |
Показаны 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)
Some hacks for vB 2.2.6
Да простят меня админ и модераторы форума, но первые три поста в этой теме будут моими. Ниже будут описаны 2-а хака написанных некогда для знакомых админов, они преследуют идей украшательства в той или иной форме. Возможно, им существуют аналоги, однако я не задавался целью найти их.
При описании некоторых хаков я приводил предысторию создания этого хака, в общем, она несет больше информационную пользу, нежели практическую, поэтому для особо ценящих время людей рекомендую эту часть опускать, для большего удобства она отделена горизонтальной чертой от основной - описательной части.
З.Ы. В который раз убеждаюсь, что писать доку к программам/скриптам есть неимоверный труд для программиста (кто писал тот поймет). Если найдете корявости в описаниях не судите строго, ведь бывает и так, что что-то тебе кажется простым и очевидным, для другого окажется сложным и не логичным.
З.З.Ы. В ближайшее время будет добавлен еще один хак, как только перейду к другому прову на выделенку.
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.
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
И все! Получаем желаемый результат.
Список индексов цветов:
Для полноты картины приведу еще и его
Как видно из примера допускается сочетание эффекта и цвета.
и не требуется. Поэтому выкладываю файл admin/functions.php с поставленным хаком (файл чистый от vb 2.2.6). В архиве так же имеется screenshot всего этого (как оно работало у меня). Замечу так же, что тайтл пользователя так же выводится в Private Messages, когда просматриваем входящие сообщения (поэтому, если это необходимо, следует фиксить файл private.php, иначе будет тайтл с тэгами (не очень красиво
)), а так же при выводе информации о пользователе (в member.php), не красивости были так же найдены и при выводе анонсов.
спасибо! а вот аналогичный первому хаку был тут где-то называется: Karma
__________________
yMC.ru - хомяк музыканта
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 на локалхосте (но это может быть и не так).
Внимание:
К сожалению, это описание не изобилует разъяснением процесса установки, так уж получилось, но если вдруг оно понадобится, то готов буду помочь. А если таковых будет большинство, тогда придется пересмотреть мою позицию и переборов свою леность написать более полное описание.
Merge posts hack
Некогда этот хак уже был зарелизен мной, да и не только мной на этом форуме. Если я не ошибаюсь то посмотреть сие можно здесь (если его не убили еще). Тот хак без проблем переносится на vb 2.2.6 и работает без глюков. Однако по прошествии некоторого времени он был доработан с учетом улучшения внешнего вида склеенных сообщений. В данной модификации хак может склеивать все посты, не зависимо от того имеет ли предыдущий или нынешний пост аттачи, причем без потерь информации и аттачей, данное проверено на практике, однако я остановился только на возможности склейки, а ведь есть еще и удаление постов (и там нужно переписывать буквально все функции удаления, как тем так и сообщений). По этому дабы не перегружать хак, да и не сотворить чего-нить, я решил все же эту возможность убрать.
__________________________________________________
Установка:
Коментарии ищите в файлах. С БД никаких перетурбаций делать не надо. Но в то же время есть необходимость создания и изменения шаблонов (об этом читайте ниже).
Идея работы хака:
Для тех кто не смог ознакомиться с вышеприведенным линком (советую все же ознакомиться, если конечно он доступен) в кратьсе: хак производит склейку сообщений посланных в одну тему в течении определенного интервала времени (при условии что оба поста были последними в этой теме), в общем объяснить это на пальцах сколь-нибудь внятно нельзя, такой же, по принципу работы, хак работает на этой борде.
Новые возможности хака:
+ Произведено переоформление вывода склеенных сообщений в теме.
+ Переоформлен вывод склеенных сообщений для печати (опция такая, кстати полезная для сохранения больших тем одним файлом).
+ Добавлена возможность вывода темы добавленного сообщения и его иконки (если таковые имеются).
+ Введены возможности редактирования склеенных сообщений, при этом оставляя место склейки (каждая часть склеенного сообщения редактируется отдельно)
+ Введены возможности удаления частей склеенного сообщения (а не всего сообщения сразу).
+ Появился шаблон части склеенного сообщения (для тех кто не понял, теперь его можно редактировать под свои нужды тем самым меняя вид вывода частей)
+ При склейке не происходит изменений счетчиков (у пользователя, темы), ни поднятия темы в списке.
Изменения в шаблонах:
Для установки новых шаблонов и осуществления изменений в старых воспользуйтесь скриптом itemplat.php, он автоматически создает новые шаблоны и дает инструкции по исправлению стандартных. Инструкции должны быть понятны.
Прикрепленный файл был битым, поэтому если Вам нужен этот хак обращайтесь ко мне в приват, пишите свое мыло, он будет отправлен Вам
Суппер, все хаки просто высший класс! Молодец!
__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!
а можно руководство по установке хаков?
а то у меня заменять мои прохаченые файлы твоими нерезонно, а искать что там добавлено не очень хочется
Тогда в этих файлах ищи строки с комментариями там куски выделены Hack Name - Предназначение и кончается (кусок в смысле) Hack Name - Конец. Ну а дальше куски в свои прохаканные файлы ставь. Однако не советую могут начаться глюки и баги, т.к. иногда некоторые хаки меняют одно и тоже, хотя вероятность этого мала (м.б. даже ничтожно
)
__________________
No pity, no mercy, no regret.
спасибо
А примеры есть этих хаков?
__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!
Живых нет (в смысле в on-line) а заскринить могу... Если надо... В некоторых архивах есть и уже готовые скрины, в описании должно быть отмечено про это.
__________________
No pity, no mercy, no regret.
Vanish
Мне пожалуста скрины для хака правил.. очень интересно как они выглядят... в разделах и под разделах... А так же сами правила (тоесть страница правил)
__________________
Интернет форум для всех Ты тут еще не был? ...
рейтинг форумов Админы форумов - сюда!!!
В разделах
и под разделах так же
И собственно сами
Правила. Шаблон можно и поменять, по желанию заказчика.
Vanish
quote:
Файл: weektop.zip
У меня все ок. Давай мыло вышлю...
__________________
No pity, no mercy, no regret.
Vanish
admin@all4ru.com
И скажи, плиззз, для 2.2.5 подойдёт?
а чем черт не шутит вроде должен там все с нуля писалось
__________________
No pity, no mercy, no regret.
а чем вам стандартный Anounses (точно неправильно проспелил, но сорри) не нравица?
__________________
yMC.ru - хомяк музыканта
quote:
Первоначальное сообщение от MCTarakan
а чем вам стандартный Anounses (точно неправильно проспелил, но сорри) не нравица?
__________________
No pity, no mercy, no regret.
ппл знаю что это чуть не в тему, но не подскажите где можно взять хак для репутации юсера? типо как на аг.ру, чтоб учасникм могли доболять и убовлять репутацию другим учасникам.
Vanish
а где разница между твоим и стандартным анонсом?
__________________
yMC.ru - хомяк музыканта
MCTarakan
Содержание правил на гифах посмотри, вроде разница очевидна ИМХО
__________________
No pity, no mercy, no regret.
ок... тада бум пробывать! 
__________________
yMC.ru - хомяк музыканта
Vanish
В merge.zip битый function.php, не открывается 
__________________
Садись в ногах! Правды нет!
в смысле битый. Если архив битый то он вообще не откроется, а пхп файл может только глючить Ж)
Давай ошибку сюда, посмотрим.
__________________
No pity, no mercy, no regret.
Vanish
"! C:\WINDOWS\Ð_абочий стол\merge.zip: CRC failed in admin\functions.php. The file is corrupt"
__________________
Садись в ногах! Правды нет!
а ну так мыло дай я тебе залью
__________________
No pity, no mercy, no regret.
Vanish
не работает Week Top Hack:
все файлы закачал, изменения в БД сделал, а главная страница просто не грузится
Week Top отличненько поставился.
Только я вместо картинки надпись пишу просто слева под $post[usertitle]
(меняется $status в admin/functions.php)
приятный хак. спасибо.
-----------------------------------------------------
-----------------------------------------------------
Если не работает:
1. Удаляем таблицы.
2. В winst.php и в index.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;
}
)__________________
RTFM (Уважаемые! Читайте документацию!)
Orliha
В смысле пхп не знают такую функцию? А как же у меня работало? Вроде дефолтова функция.
__________________
No pity, no mercy, no regret.
Да хер знает.
На локале у меня пашет, а на валухосте не захотела...
(на функцию JDDayOfWeek в winst.php тоже ругается что не знает)
__________________
RTFM (Уважаемые! Читайте документацию!)
Orliha
можно посмотреть на хак на твоем форуме?
Хака не видно пока - тока поставил сегодня - пока недели не прошло - ниче нет....
Но вообще - http://probuem.ru/forum - настраиваю ща потихоньку...
__________________
RTFM (Уважаемые! Читайте документацию!)
Vanish
kanarsky@pisem.net
Спасибо!
__________________
Садись в ногах! Правды нет!
Vanish
fishboner@mail.ru
Заранее Благодарен...
__________________
Bad Command or File name
Freaker
А тебе то что???
__________________
No pity, no mercy, no regret.
вот этот хак weektop
__________________
Bad Command or File name
Freaker
смотри первые страницы топика - там ссылка на зип.
__________________
RTFM (Уважаемые! Читайте документацию!)
| Формат времени GMT. Текущее время 00:50. | Показаны 40 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.