Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Karma Hack или Advanced Karma Hack?
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 3 месяца
Nome, чтобы у людей была свобода выбора ИМХО если сделать АКМ сразу со встроенной инфой, то возможно получится оптимизировать некоторые SQL запросы, а может число запросов... А уж установка-то несомненно станет проще...
P.S. Хочу предложить Nome одну идейку для АКМ, как мне кажется интересную и полезную Сейчас мембер получает карму, но кроме удовлетворенного (или неудовлетворенного) самолюбия ничего с этого больше не имеет, т.е. никакого бонуса за большую карму...
Предлагаю сделать что-то типа того, что мемберы с большей кармой могут давать ее другим чаще. Нужно ввести простейшую формулу для расчета, например:
задержка / (карма_мембера / 2 + 1)
соответственно, если задержка равна 24 часа и у мембера 1 кармы, то он может давать карму один раз в 16 часов, а вот если у него будет 10 кармы, то каждые 4 часа может давать... Как-то так Если отрицательная карма, то вообще запретить давать...
Можно и нелинейную зависимость сделать, логарифмиескую или еще как, можно подумать...
ИМХО так будет интереснее чем просто плюсы и минусы суммировать, да и готовые скрипты не нужно сильно менять - функция простая
P.S. Хочу предложить Nome одну идейку для АКМ, как мне кажется интересную и полезную Сейчас мембер получает карму, но кроме удовлетворенного (или неудовлетворенного) самолюбия ничего с этого больше не имеет, т.е. никакого бонуса за большую карму...
Предлагаю сделать что-то типа того, что мемберы с большей кармой могут давать ее другим чаще. Нужно ввести простейшую формулу для расчета, например:
задержка / (карма_мембера / 2 + 1)
соответственно, если задержка равна 24 часа и у мембера 1 кармы, то он может давать карму один раз в 16 часов, а вот если у него будет 10 кармы, то каждые 4 часа может давать... Как-то так Если отрицательная карма, то вообще запретить давать...
Можно и нелинейную зависимость сделать, логарифмиескую или еще как, можно подумать...
ИМХО так будет интереснее чем просто плюсы и минусы суммировать, да и готовые скрипты не нужно сильно менять - функция простая
-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 19 лет 3 месяца
phpbbhacks помоему сейчас только за смертью посылать все никак не добавят поэтому качаем отсюда:
http://altermusic.ru/nome/AKM.zip
http://altermusic.ru/nome/AKM.zip
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 3 месяца
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 5 месяцев
Сорри за отсутствие. Итак, начнем разборки.
Вручную ставили или ИзиМодом?
Почему у меня ссылка именно на топик, а не на пост - я себе еще и html-мод сделал для оптимизации под поисковики. Т.е. вместо viewtopic.php?t=1234&start=15 у меня идет topic1234-15.html, ну и код , соответственно, под это заточен. Проверял на чистой инсталляции - все работает, так что даже не знаю, откуда оно вылезло...
Блин, вот я тормоз - только дошло! Мой мод комментов надо ставить на подправленный мод кармы из того же поста, а не на оригинальный! Я же именно с ним тестировал! Тогда и варнингов не будет и ничего править не надо!
Добавлено спустя 7 минут 50 секунд:
OldMike Сорри, конечно, но твоя идея, имхо, дедовщиной попахивает. "Старожилы" окажутся в заведомо более выгодном положении. Если только отдельным аддоном - хошь ставь, не хошь - твое право.
Да как же не передается? Вот такого куска кода разве нет?$topic_id вообще ниразу не обязательно передается в скрипт
Код: Выделить всё
$user = intval($HTTP_GET_VARS[POST_USERS_URL]);
if ( $HTTP_GET_VARS['k'] == 'p' )
{
$sql = "UPDATE " . USERS_TABLE . " SET karma_plus = karma_plus + 1 WHERE user_id = '" . $user . "'";
$karma_data = "insert into " . KARMA_TABLE . " set user_id_who = '$userdata[user_id]', user_id_whom = '$user', post_id = '$post_id', topic_id = '$topic_id', karma_x = '1', comment = '$comment', time = '".time()."', karma_view = '0'";
}
else
{
$sql = "UPDATE " . USERS_TABLE . " SET karma_minus = karma_minus + 1 WHERE user_id = '" . $user . "'" ;
$karma_data = "insert into " . KARMA_TABLE . " set user_id_who = '$userdata[user_id]', user_id_whom = '$user', post_id = '$post_id', topic_id = '$topic_id', karma_x = '0', comment = '$comment', time = '".time()."', karma_view = '0'";
}
Почему у меня ссылка именно на топик, а не на пост - я себе еще и html-мод сделал для оптимизации под поисковики. Т.е. вместо viewtopic.php?t=1234&start=15 у меня идет topic1234-15.html, ну и код , соответственно, под это заточен. Проверял на чистой инсталляции - все работает, так что даже не знаю, откуда оно вылезло...
Блин, вот я тормоз - только дошло! Мой мод комментов надо ставить на подправленный мод кармы из того же поста, а не на оригинальный! Я же именно с ним тестировал! Тогда и варнингов не будет и ничего править не надо!
Ну не знаю Может по стопам Билли Гейтса решил пойти - все сразу в одном флаконе?Nome писал(а):а нафига вообще я стал делать комменты?
Добавлено спустя 7 минут 50 секунд:
OldMike Сорри, конечно, но твоя идея, имхо, дедовщиной попахивает. "Старожилы" окажутся в заведомо более выгодном положении. Если только отдельным аддоном - хошь ставь, не хошь - твое право.
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 3 месяца
Вообще-то, дедовщина это совсем не плохо, это только современная армия идею извратила и испоганила. А смысл-то в том, что более опытные и авторитетные старички помогают молодежи - ничего тут плохого нет. К тому же, совершенно не факт, что у старичка будет большая карма, кстати, точно так же как и в армии, если уж дана такая аналогия...DanZer писал(а): OldMike Сорри, конечно, но твоя идея, имхо, дедовщиной попахивает. "Старожилы" окажутся в заведомо более выгодном положении. Если только отдельным аддоном - хошь ставь, не хошь - твое право.
Насчет сделать аддоном, это разумно, согласен Или отключаемо...
-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 19 лет 3 месяца
вообщем я уже все интегрировал и больше у меня лапки в эту сторону не поднимаются хотите отключайте хотите не отключайте только ради бога оттестируйте...насчет идеи OldMike, я думаю я соглашусь с
DanZer, но это опять же можно сделать как функцию...но это уже не я
Добавлено спустя 1 минуту 40 секунд:
2 DanZer, помоему если запрос идет на viewtopic с указанием только POST_POST_URL, то $topic_id вообще не возникает...хотя я могу ошибаться ибо не помню...
DanZer, но это опять же можно сделать как функцию...но это уже не я
Добавлено спустя 1 минуту 40 секунд:
2 DanZer, помоему если запрос идет на viewtopic с указанием только POST_POST_URL, то $topic_id вообще не возникает...хотя я могу ошибаться ибо не помню...
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 3 месяца
Ну ладно, не хотите делать, может хоть ошибку поможете найти?
первый блок кода:
второй блок кода:
первый блок кода:
Код: Выделить всё
//
// Advanced Karma Mod
//
// Karma Info
$comment = str_replace("'","'",substr($_GET['comment'],0,80));
// Karma Info
$simple_karma = 0;
$time_delay_function = $board_config['time_between_karma'] * 3600;
if ( $userdata['session_logged_in'] && isset($HTTP_GET_VARS['k']) && isset($HTTP_GET_VARS[POST_USERS_URL]) )
{
if ( $HTTP_GET_VARS['k'] == 'p' || $HTTP_GET_VARS['k'] == 'm' )
{
if ( $userdata['user_posts'] >= $board_config['min_post_karma'] || ( $board_config['admin_karma'] == 1 && $userdata['user_level'] == ADMIN ) )
{
$karma_time = $userdata['karma_time'];
if ( $board_config['lag_karmer'] == 0 )
{
$sql = "SELECT 'karma_time', 'karma_plus', 'karma_minus' FROM " . USERS_TABLE . " WHERE user_id = '" . intval($HTTP_GET_VARS[POST_USERS_URL]) . "'";
if ($result = $db->sql_query($sql))
{
while ($row = $db->sql_fetchrow($result))
{
$db->sql_freeresult($result);
$karma_time = $row['karma_time'];
$simple_karma = $row['karma_plus'] - $row['karma_minus'];
}
}
$db->sql_freeresult($result);
}
$time_delay_function = $time_delay_function / ($simple_karma / 2 + 1);
if ( ( time() - $karma_time > $time_delay_function ) || ( ( $board_config['admin_karma'] == 1 ) && ( $userdata['user_level'] == ADMIN ) ) )
Код: Выделить всё
//
// Advanced Karma Mod
//
$karma = '';
if ( $userdata['session_logged_in'] && $poster_id != ANONYMOUS )
{
$karma = '<br />' . $lang['Karma'] . ': ' . ( ( $board_config['simple_karma'] == 1 ) ? $simple_karma : '+' . $postrow[$i]['karma_plus'] . '/-' . $postrow[$i]['karma_minus'] );
if ( $userdata['user_id'] != $poster_id && ( $userdata['user_posts'] >= $board_config['min_post_karma'] || ( $board_config['admin_karma'] == 1 && $userdata['user_level'] == ADMIN ) ) )
{
$karma_time = ( $board_config['lag_karmer'] == 1 ) ? $userdata['karma_time'] : $postrow[$i]['karma_time'];
if ( ( time() - $karma_time > $time_delay_function ) || ( ( $board_config['admin_karma'] == 1 ) && ( $userdata['user_level'] == ADMIN ) ) )
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 3 месяца
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 5 месяцев
Сие сугубо фиолетово, т.к. и topic_id, и post_id передаются при вызове скрипта в параметрахпомоему если запрос идет на viewtopic с указанием только POST_POST_URL, то $topic_id вообще не возникает...хотя я могу ошибаться ибо не помню...
Код: Выделить всё
javascript:ads_karma('viewtopic.php?t=14726&u=1977&start=0&k=p&p=119080', 'plus')
Код: Выделить всё
$karma_time = $row['karma_time'];
$simple_karma = $row['karma_plus'] - $row['karma_minus'];
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 3 месяца
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 5 месяцев
-
- phpBB 1.2.1
- Сообщения: 21
- Стаж: 17 лет 3 месяца