[Karma Description Mod] Мод кармы, репутации

Автор DarkTemplar, 04 марта 2006, 12:14:38

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

kak2z

Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

plintus

А на SMF: 2.0.2 реально установить этот мод без последствий?
Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

chilly86

Цитата: plintus от 08 января 2012, 17:27:18
А на SMF: 2.0.2 реально установить этот мод без последствий?

смотря что Вы имеете ввиду под "последствиями"
to live is to die

plintus

chilly86 Ну чтоб не убить форум хотя сделал бэкап
Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

chilly86

ну лично у меня нормально стал после обновления с единицы на двойку
в базе остались  записи от мода на 1.1.16, которые на двойке нормально подхватились
to live is to die

plintus

Щас попробую установить тогда отпишусь
Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

Xansen

Аналогично всё удачно подхватилось при переходе с 1.1.16 на 2.0.2. После установки мода на двойку - автоматически всё восстановилось, бэкап конечно делал, но он не потребовался!

plintus

Вот короче пишет: Устанавливаемый пакет поврежден или не совместим с используемой версией SMF. Попробуйте установить мод в режиме эмуляции
А как в режиме эмуляции?
Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

chilly86

Админка - Менеджер пакетов - Эмуляция версий

to live is to die

plintus

chilly86 у меня нет такого! Это дополнительный мод?
Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

chilly86

Цитата: plintus от 08 января 2012, 17:55:17
chilly86 у меня нет такого!

"А если найду? Анука попрыгай" (с)  :)
to live is to die

plintus

Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

plintus

Ура остановился! А эмуляцию стоит обратно поставить или так и оставить?
Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

chilly86

Цитата: plintus от 08 января 2012, 18:01:40
Ура остановился! А эмуляцию стоит обратно поставить или так и оставить?
лучше верните на 2.0.2
to live is to die

plintus

Карма у пользователей так иосталась какая была! Только осталось разобраться как его включить
Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

chilly86

поизучайте ка админку хорошенько
это избавит Вас от многих потенциальных вопросов
to live is to die

plintus

chilly86 ага спасибо пойду искать!
Надёжный хостинг - быстрее быстрого на SSD-дисках от 120 руб/мес  с доменом в подарок Промо-код на скидку в 10%: Skid10

Snu

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

GeorG

В этом моде нет, в Advanced Reputation System такое реализовано. Можно в принципе поковыряться в коде, и тут тоже такое сделать. Как именно - в двух словах, этого не расскажешь.
Легче всего конечно, просто убрать кнопку "прибавить", из файла Display.template.php
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

chilly86

есть оригинальное решение :)
просто пробел поставить
to live is to die

Xansen

Тогда не логично смотриться "-0". Лучше тогда поставить общий счетчик кармы, а не +0/-0

chilly86

Цитата: Xansen от 10 января 2012, 17:56:03
Тогда не логично смотриться "-0". Лучше тогда поставить общий счетчик кармы, а не +0/-0

а причем тут "-0"
я показал, что если в настройках кармы вместо названия кнопки уменьшения поставить пробел, то в теме, в профиле остается только кнопка "прибавить"
to live is to die

Snu

спасибо...
Цитата: GeorG от 10 января 2012, 17:39:43
В этом моде нет, в Advanced Reputation System такое реализовано. Можно в принципе поковыряться в коде, и тут тоже такое сделать. Как именно - в двух словах, этого не расскажешь.
Легче всего конечно, просто убрать кнопку "прибавить", из файла Display.template.php
пойду посмотрю  Advanced Reputation System

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

Цитата: chilly86 от 10 января 2012, 17:47:30
есть оригинальное решение :)
просто пробел поставить

хм... тоже вариант... а в причине изменения кармы что будет...

GeorG

Цитата: irk__mama от 11 января 2012, 22:18:01хм... тоже вариант... а в причине изменения кармы что будет...
Если логически подумать, то ничего, потому как и минусов не будет, а при плюсах, будет объяснение за что плюс.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Footniko

Цитата: aSLAM от 28 декабря 2011, 01:19:07
кто не будь может ответить на этот вопрос?????
Configuration(Конфигурация)->Core features(Характеристики и настройки) - где то там нужно включить.

ops2012

#875
А как вы вообще с этим модом работаете? Нажимаем на сортировку по любому полю кроме даты, переходим на другую страницу - опа опять сортировка по дате. Нажимаем сортировка по полю кому|кто - сортировка идёт не по алфавиту, а по id пользователя. При удалении кармы в логах ругань:
8: Undefined index: sort
Файл: /var/www/html/forum/Sources/Viewkarma_smf2.php
Строка: 548

8: Undefined index: start
Файл: /var/www/html/forum/Sources/Viewkarma_smf2.php
Строка: 548


Ну первые две вещи я копирнул из других файлов, вот дифф( если кому интересно):
--- /root/forum/Sources/Viewkarma_smf2.php      2012-02-13 11:39:53.191321880 +0400
+++ Viewkarma_smf2.php  2012-02-16 11:01:06.201518256 +0400
[at][at] -46,8 +46,8 [at][at]

         // Sorting...
         $sort_methods = array(
-                'exec' => 'lk.id_executor',
-                'targ' => 'lk.id_target',
+                'exec' => 'meme.real_name',
+                'targ' => 'memt.real_name',
                 'action' => 'lk.action',
                 'time' => 'lk.log_time'
         );
[at][at] -81,7 +81,7 [at][at]
         $context['linktree'][] = array(
                             'url' => $scripturl . '?action=viewkarma',
                             'name' => $txt['viewkarma_title'] );
-        $context['page_index'] = constructPageIndex($scripturl . '?action=viewkarma' ,$_REQUEST['start'], $totalActions, $modSettings['kar______mamaxmembers']);
+        $context['page_index'] = constructPageIndex($scripturl . '?action=viewkarma;sort=' . $context['sort_by'] . ($context['sort_direction'] == 'up' ? ';asc' : ''),  $_REQUEST['start'], $totalActions, $modSettings['kar______mamaxmembers']);
         $context['start'] = $_REQUEST['start'];
         $context['totalActions'] = $totalActions;


Как с последней ошибкой бороться? Честно смотрел поблизости этой строчки:

// Go back to where we were.
redirectexit('action=viewkarma;start=' . $_GET['start'] . ';sort='. $_GET['sort'].';' . (isset($_GET['desc']) ? 'desc' : 'asc') . '');

Ничего в $_GET нету.

Ну вот и вопрос появился. Каким-то образом можно сделать чтобы пользователи могли у себя из профиля посмотреть где им карму меняли, но поле кто отсутствовало? Людям понятней будет за что их так, но претензий не смогут никому поименно предъявить.:)

GeorG

Цитата: ops2012 от 16 февраля 2012, 11:10:45
При удалении кармы в логах ругань:
8: Undefined index: sort
Файл: /var/www/html/forum/Sources/Viewkarma_smf2.php
Строка: 548

8: Undefined index: start
Файл: /var/www/html/forum/Sources/Viewkarma_smf2.php
Строка: 548


В файле Sources/Viewkarma_smf2.php
Это:

function deleteKarma()
{
        global $db_prefix, $context, $smcFunc, $modSettings;

        // Just specific karma?
        if (!empty($_POST['delete']))
        {
        if (!empty($modSettings['karmadelete'])) {
        $request = $smcFunc['db_query']('',"
                        SELECT * FROM {$db_prefix}log_karma
                        WHERE log_time IN (" . implode(',', array_unique($_POST["delete"])) . ')');

                while ($a = $smcFunc['db_fetch_assoc']($request))
          updateMemberData($a['id_target'], array($a['action'] == 1 ? 'karma_good' : 'karma_bad' => '-'));

                $smcFunc['db_free_result']($request); }

                $smcFunc['db_query']('', "
                        DELETE FROM {$db_prefix}log_karma
                        WHERE log_time IN (" . implode(',', array_unique($_POST["delete"])) . ')');

                // Go back to where we were.
                redirectexit('action=viewkarma;start=' . $_GET['start'] . ';sort='. $_GET['sort'].';' . (isset($_GET['desc']) ? 'desc' : 'asc') . '');
        }

        // Back to the karma log!
        redirectexit('action=viewkarma');


}


Заменить на это:

function deleteKarma()
{
        global $db_prefix, $context, $smcFunc, $modSettings;

        // Just specific karma?
        if (!empty($_POST['delete']))
        {
        if (!empty($modSettings['karmadelete'])) {
        $request = $smcFunc['db_query']('',"
                        SELECT * FROM {$db_prefix}log_karma
                        WHERE log_time IN (" . implode(',', array_unique($_POST["delete"])) . ')');

                while ($a = $smcFunc['db_fetch_assoc']($request))
          updateMemberData($a['id_target'], array($a['action'] == 1 ? 'karma_good' : 'karma_bad' => '-'));

                $smcFunc['db_free_result']($request); }

                $smcFunc['db_query']('', "
                        DELETE FROM {$db_prefix}log_karma
                        WHERE log_time IN (" . implode(',', array_unique($_POST["delete"])) . ')');
        }

// Go back to where we were.
if($_GET['action']=='ownkarma')
redirectexit('action=ownkarma;u=' . $_REQUEST['u'] . ';start=' . $_GET['start'] . ';sort='. $_GET['sort'].';' . (isset($_GET['time']) ? 'time' : 'asc') . '');
elseif($_GET['action']=='otherkarma')
redirectexit('action=otherkarma;u=' . $_REQUEST['u'] . ';start=' . $_GET['start'] . ';sort='. $_GET['sort'].';' . (isset($_GET['time']) ? 'time' : 'asc') . '');
else
// Back to the karma log!
redirectexit('action=viewkarma');
}


В файле Themes/default/Viewkarma.template.php
Найти строчку:
<form action="', $scripturl, '?action=viewkarma" accept-charset="', $context['character_set'], '" method="post" onsubmit="if (lastClicked == \'remove_selection\' && !confirm(\'', $txt['sure_about_karma_remove'], '\')) return false; else return true;">';

Заменить на:
<form action="', $scripturl, '?action='.$WhatPage.';start='.$context['start'].';sort='.$context['sort_by'].'', $context['sort_direction'] == 'down' ? ';time' : '', '', '" method="post" accept-charset="', $context['character_set'], '" onsubmit="if (lastClicked == \'remove_selection\' && !confirm(\'', $txt['sure_about_karma_remove'], '\')) return false; else return true;">';

Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

ops2012

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

Selish selishev

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

chilly86

если мне не изменяет память в разделе "обслуживание форума" есть такая опция
to live is to die

Selish selishev

Цитата: chilly86 от 25 февраля 2012, 15:07:21в разделе "обслуживание форума" есть такая опция

Да, "Очистить лог репутации" но не срабатывает для ранее поставленных +-, только для новых, а хочется обнулить всю статистику.

0daliska

Сбросить карму всех пользователей на ноль!
Пункт такой в обслуживании должен быть :)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Selish selishev

Цитата: 0daliska от 25 февраля 2012, 15:26:26бросить карму всех пользователей на ноль!Пункт такой в обслуживании должен быть

Да, "Очистить лог репутации" но не срабатывает для ранее поставленных +-, только для новых

0daliska

Нет, "Очистить лог репутации" - это один пункт, а над ним должен быть другой:
"Сбросить карму всех пользователей на ноль!"
На картинку ниже смотри!
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Selish selishev

Цитата: 0daliska от 25 февраля 2012, 15:47:33"Очистить лог репутации" - это один пункт, а над ним должен быть другой
Может и должен но его нет на 1.1.16 есть "Очистить лог репутации" который обнуляет вновь поставленные +-


0daliska

Либо не тот мод у Вас установлен, либо криво установлен... Я вам скриншот с форума, работающего на SMF1.1.16 и привела... У двойки этот раздел выглядит совсем иначе!
Установлен - Karma Description Mod    2.6.8
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Selish selishev

Karma_Description_Mod_ver.2.3.1 стоял. Удалил, при попытке установки 2.6.8 ругается: Пакет, который Вы пытаетесь установить, поврежден, либо не совместим с этой версией SMF.

GeorG

Цитата: Selish selishev от 25 февраля 2012, 08:27:46как обнулить предшествующую карму.
Что вы мучаетесь? Очистите таблицу smf_log_karma и поля karma_bad, karma_good в smf_members, да дело с концом (только именно очистить, а не удалить).
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

0daliska

Можно и так, только версия мода старая, где же вы ее такую откопали - ее в репозитории уже давно нет... Там есть дыры нехорошие... И один из форумов моего друга ломали через этот мод старой версии... Тогда еще к Мавну обращалась за помощью... Так что "думайте сами, решайте сами - иметь, или не иметь"...
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Rostovchanka

Цитата: plintus от 08 января 2012, 17:46:46
Вот короче пишет: Устанавливаемый пакет поврежден или не совместим с используемой версией SMF. Попробуйте установить мод в режиме эмуляции
А как в режиме эмуляции?
Цитата: chilly86 от 08 января 2012, 17:52:24
Админка - Менеджер пакетов - Эмуляция версий



ситуация один в один
мод качала отсюда http://custom.simplemachines.org/mods/index.php?mod=192

chilly86 эмуляцию пробовала...просто ничего не изменилось, при нажалии на карму (+/-) соотв плюсуется или отнимаетя
форма причины не появляется
в общем как-будто и не установлен мод

chilly86

ну конечно не установлен, ибо эмуляцию нужно было включать для 2.0
вот. поправил инсталятор для 2.0.2
to live is to die

Rostovchanka

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

может дело еще в том, что я на локалке тестирую?


залезла в админку... :-[

chilly86

ну сам мод еще и включить надабы ;)

/index.php?action=admin;area=featuresettings;sa=karma
Включить Karma Description Mod

ну и там еще много разных няшных настроек
to live is to die

Rostovchanka

Цитата: chilly86 от 02 марта 2012, 18:47:53
ну сам мод еще и включить надабы ;)

/index.php?action=admin;area=featuresettings;sa=karma
Включить Karma Description Mod

ну и там еще много разных няшных настроек

уже :)
супер! то что нужно!

kak2z

Друзья, а как дать главному модератору возможность удалять карму? Админ может а модер не может))
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

GeorG

В этом моде по-умолчанию, только админ может удалять. Надо лезть в код, и пихать исключение в условие.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

kak2z

Цитата: GeorG от 12 апреля 2012, 15:27:50
В этом моде по-умолчанию, только админ может удалять. Надо лезть в код, и пихать исключение в условие.
если кто то скажет что куда впихнуть - я буду рад)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

GeorG

#897
Первое - включить для нужной группы, в правах, чтобы она видела лог кармы.

Потом правим код:
В файле Themes/default/Viewkarma.template.php

В функции  template_main, добавляем глобальную:
global $user_settings;

Там же, где нибудь рядом пишем:
$user_group_karma_remove = ($user_settings['id_group'] == группа) ? 1 : 0;

Вместо слова "группа", вписать нужное ID группы.

Потом ищем строчку:
if (!empty($modSettings['karmapermiss']) && (!$member['is_guest']) && (!$user_info['is_admin']))

Заменяем:
if (!empty($modSettings['karmapermiss']) && (!$member['is_guest']) && (!$user_info['is_admin']) && !$user_group_karma_remove)

Ищем:
    //Отображение лога для админа
if ($user_info['is_admin'])

Заменяем:
    //Отображение лога для админа
if ($user_info['is_admin'] || $user_group_karma_remove)


Ищем:
if ($user_info['is_admin']) echo ' <td align="center"><div class="floatright"><input type="submit" name="delete_selection" value="', $txt['karma_delete'], '" onclick="lastClicked = \'remove_selection\';" /> </div></td></form>'; echo '
Заменяем:
if ($user_info['is_admin'] || $user_group_karma_remove) echo ' <td align="center"><div class="floatright"><input type="submit" name="delete_selection" value="', $txt['karma_delete'], '" onclick="lastClicked = \'remove_selection\';" /> </div></td></form>'; echo '

Если всё правильно сделать, то должно получиться.

UPD:
Можно через дополнительную группу замутить, используя - $user_settings['additional_groups']
Т.е., не самой групы прописывать ID, а создать какую нибудь группу, разрешить ей просмотр лога кармы, и после назначать её пользователю как дополнительную.

Тогда просто в коде заменить, это:
$user_group_karma_remove = ($user_settings['id_group'] == группа) ? 1 : 0;
Вот этим:
$user_group_karma_remove = ($user_settings['additional_groups'] == id дополнительной группы) ? 1 : 0;

Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

kak2z

У меня лог кармы для всех открыт)) второй вариант не подходит я так понимаю)) Спасибо))!!
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

GeorG

Второй удобен тем, что можно не всей группе, глобально давать разрешения удалять карму, а только избранным людям, назначая им дополнительную группу вручную, кому надо.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru