[Thnx] Karma Description Mod Addon мод Спасибо

Автор deadbead, 11 января 2008, 03:00:15

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

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

deadbead

Прикрутил к Karma Description Mod ссылку "спасибо". с выводом пользователей сказавших спасибо...


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

Разворачивал на версиях:
SMF 1.1.4
Karma Description Mod 2.3

А вот и сам лог действий.....



=========================Display.php==================

-------------------------------------------------
перед

// Callback for the message display.
function prepareDisplayContext($reset = false)

добавил

//Thnx addon
function loadThnxMembers($messageID){
   global $db_prefix;
   
   $output = array();
   
   if (!$messageID)
      return $output;
   
   
   
   $request = db_query("
      SELECT ID_MEMBER, realName
      FROM {$db_prefix}log_karma AS lk
      JOIN {$db_prefix}members AS mb ON lk.ID_EXECUTOR = mb.ID_MEMBER
      WHERE lk.Description = 'Thnx for post ID{$messageID}'
      ORDER BY lk.logTime", __FILE__, __LINE__);

   while ($row = mysql_fetch_assoc($request)){
      if (!empty($row['ID_MEMBER']))
         $output[$row['ID_MEMBER']] = $row['realName'];
      }
   mysql_free_result($request);
   
   return $output;
}
-------------------------------------------------
после

'can_see_ip' => allowedTo('moderate_forum') || ($message['ID_MEMBER'] == $ID_MEMBER && !empty($ID_MEMBER)),

добавил

'thnx' => loadThnxMembers($message['ID_MSG']),
-------------------------------------------------

=====================Karma.php========================

-------------------------------------------------
после

// If you're a guest or can't do this, blow you off...
   is_not_guest();
   isAllowedTo('karma_edit');

   checkSession('get');

добавил

   //Thnx addon
   $isThnx = (isset($_REQUEST['nodescription']) && $_REQUEST['nodescription'] == md5($_REQUEST['sesc']));
   if($isThnx) unset($modSettings['karmadescmod']);
-------------------------------------------------

перед

      // Put it in the log.
                db_query("
                        INSERT INTO {$db_prefix}log_karma
                                (action, ID_TARGET, Description, link, ID_EXECUTOR, logTime)
                        VALUES ($dir, $_REQUEST[uid], '$_POST[Description]', '$link', $ID_MEMBER, ". time()." )
                        ", __FILE__, __LINE__)
                  
добавил

      //Thnx addon
      if($isThnx) $_POST['Description'] = "Thnx for post ID".$_REQUEST['m'];

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

====================Modifications.russian-utf8.php===========================
   (ДЛЯ КОДИРОВКИ win1251 файл должен быть Modifications.russian.php)
-------------------------------------------------
В конец добавил

//Thnx addon
$txt['karma_say_thnx'] = 'Сказать спасибо';
$txt['karma_who_thnx'] = 'Пользователи сказавшие спасибо:';

========================Display.template.php==========================
-------------------------------------------------
global $context, $settings, $options, $txt, $scripturl, $modSettings;

заменил на

global $context, $settings, $options, $txt, $scripturl, $modSettings, $ID_MEMBER;

-------------------------------------------------
      // Show the member's signature?
      if (!empty($message['member']['signature']) && empty($options['show_no_signatures']))
         echo '
                     <hr width="100%" size="1" class="hrcolor" />
                     <div class="signature">', $message['member']['signature'], '</div>';
         
      echo '
                  </td>
               </tr>
            </table>
         </td></tr>
      </table>
   </td></tr>';

заменил на

      // Show the member's signature?
      if (!empty($message['member']['signature']) && empty($options['show_no_signatures']))
         echo '
                     <hr width="100%" size="1" class="hrcolor" />
                     <div class="signature">', $message['member']['signature'], '</div>';

      echo '
                  </td>
               </tr>


               <tr>
                  <td>';
      
      if ($message['member']['karma']['allow'] &! array_key_exists($ID_MEMBER, $message['thnx'])) echo ' <a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';nodescription=', md5($context['session_id']), ';sesc=', $context['session_id'], '">', $txt['karma_say_thnx'], '</a><br /></td>';
      
      echo '
                  <td>';
      
      if(count($message['thnx']) > 0){
         echo $txt['karma_who_thnx'], ' ';
         $i = 0;
         foreach($message['thnx'] as $k => $v){
            $i++;
            echo '<a href="', $scripturl, '?action=profile;u=', $k, '">', $v, '</a>', ($i < count($message['thnx']) ? ", " : "");
         }
      }
      echo '
                  </td>
               </tr>


            </table>
         </td></tr>
      </table>
   </td></tr>';
-------------------------------------------------
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

Avdenago

Хм... все ничего, а вот как быть, если пользователей сказавших спасибо будет много? ну так 100...  ?

deadbead

2 Avdenago Ответ вы найдете на форумах где есть подобные моды)
Все 100 будут болтаться под постом) От всей души желаю Вам таких постов)

4all

ffdown правильно мне заметил, что не очень красиво, что при просмотре лога кармы в колонке "За что" видны якоря на спасибы (Thnx for post ID1854)

Поэтому вероятно надо бы еще поправить функции вывода лога чтоб заменять это "Thnx for post ID1854" на что-то типа "Спасибо за этот(ссылка) ответ"

Нуи как-то выделить стилем видимо надо... а то сливается с подписью пользователя....
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

deadbead

Ну вот собственно дошли руки до

Цитата: deadbead от 11 января 2008, 11:12:57
заменять это "Thnx for post ID1854" на что-то типа "Спасибо за этот(ссылка) ответ"

====================Modifications.russian-utf8.php===========================
   (ДЛЯ КОДИРОВКИ win1251 файл должен быть Modifications.russian.php)
-------------------------------------------------
В конец добавил

$txt['karma_is_thnx'] = 'Спасибо за это сообщение';
-------------------------------------------------

==========================Viewkarma.php================================
-------------------------------------------------

Во всех трех местах меняем

'Description' => stripslashes($row['Description']),

на

'Description' => stripslashes(eregi("Thnx for post ID([0-9]+)",$row['Description']) ? $txt['karma_is_thnx'] : $row['Description']),

-------------------------------------------------
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

SoftLend

ЦитироватьХм... все ничего, а вот как быть, если пользователей сказавших спасибо будет много? ну так 100...  ?

Это можно легко скрыть, и при помощи кнопочки, (как разные менюшки) можно открыть и посмотреть кто сказал.В ближайшее время выложу.

deadbead

Тогда уж лучше показывать первые 5-7 сказавших спасибо в скобочках писать сколько еще и кнопочка "показать всех" (в идеале не скрывать лишних ява скриптом, а погружать аяксом :) ну это уже как руки девелопера  вытянут)
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

Stern

Цитата: SoftLend от 04 февраля 2008, 21:56:03
Это можно легко скрыть, и при помощи кнопочки, (как разные менюшки) можно открыть и посмотреть кто сказал.В ближайшее время выложу.
SoftLend, спасибо, сегодня буду пробовать.
Кнопку скрытия сделали?
МышЫ плакали, кололись, но продолжали жрать кактус...

reader

#7
Понравилось, все работает!
Есть желание прикрутить вместо надписи "Сказать спасибо" кнопку "СПАСИБО"
Не знаю где и что прописывать, знаний пока очень мало, может кто здесь поможет.

---------

Вопрос снят, разобрался сам.


Шаннар

Может ли кто-то оформить этот замечательный аддон в виде мода? Очень удобный при наличии KDM, как по мне, а вручную править — не очень хочется. Особенно когда несколько форумов «в хозяйстве» имеется.

Mavn

Технически можно конечно же.
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Шаннар

Цитата: Mavn от 21 мая 2008, 14:39:36
Технически можно конечно же.
Теоретически я догадываюсь об этом. А практически? Или в связи с грядущим SMF 2 — моды для 1.1.5 мало кому интересны?

Lysyj

а почему не использовать мод Thank-O-Matic ?

Шаннар

Цитата: Лысый от 21 мая 2008, 20:43:08
а почему не использовать мод Thank-O-Matic ?
Разве он работает совместно с Karma Description Mod и пишет благодарности с ссылкой и в карму?

Ну и сходу — он кажется весьма «перегруженным», как по мне.

Lysyj

нет не пишет. но там и без описания сразу будет понятно кто и за что сказал спасибо

Шаннар

Цитата: Лысый от 21 мая 2008, 20:59:56
нет не пишет. но там и без описания сразу будет понятно кто и за что сказал спасибо
Это можно будет увидеть в карме, сиречь — он хотя бы ссылку на пост ставит?

digger®

Полагаю что привязываться к Karma Description Mod не стоит. Мод далек от совершенства и под SMF2 его похоже никто переписывать не собирается.

Шаннар

Цитата: digger от 21 мая 2008, 23:31:17
Полагаю что привязываться к Karma Description Mod не стоит. Мод далек от совершенства и под SMF2 его похоже никто переписывать не собирается.
А есть другие моды, позволяющие описывать изменения репутации? Чтобы потом все эти описания можно было посмотреть, сортируя по разным признакам?

Mavn

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Шаннар

Цитата: Mavn от 30 мая 2008, 16:07:52
http://custom.simplemachines.org/mods/index.php?mod=1129
но для smf 2
Основной интересующий вопрос: позволяет ли он посмотреть все изменения, а не только последние?

Mavn

В отдельную тему здесь обсуждение другого мода если вы не заметили!!!
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Шаннар

#20
Цитата: deadbead от 11 января 2008, 03:00:15
========================Display.template.php==========================

[...]

      if ($message['member']['karma']['allow'] &! array_key_exists($ID_MEMBER, $message['thnx'])) echo ' <a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';nodescription=', md5($context['session_id']), ';sesc=', $context['session_id'], '">', $txt['karma_say_thnx'], '</a><br /></td>';

На эту строчку выводится следующая ошибка в логе сообщений:


http://***/bbs/index.php 
8: Undefined index: karma
Файл: /usr/hosting/***/htdocs/bbs/Themes/default/Display.template.php (main sub template - eval?)
Строка: 644


Решение из FAQ (правка index.russian-utf8.php, Modifications.russian-utf8.php и аналогичных) — не помогает. В чём может быть дело и как это исправить?

Шаннар

Цитата: deadbead от 11 января 2008, 03:00:15
=====================Karma.php========================

-------------------------------------------------
после

// If you're a guest or can't do this, blow you off...
[...]

перед

      // Put it in the log.
[...]

Разобрался, из-за чего изначально не работал данный addon. Просто в карме Karma.php эти строчки встречаются по два раза. Собственно, вопрос — какую-то одну функцию надо править или всё же обе?

Ошибка в логе всё ещё осталась, впрочем.

Jerry

Первый пост: хех, может в старой версии мода и не записывалось ID поста, где поставлен плюс, но в новой он уже пишется (ссылкой). Для этого прежназначено поле LINK в БД!

Потому, предлагаю не делать никаких изменений в Karma.php. А запрос изменить на такой:
   $request = db_query("
      SELECT ID_MEMBER, realName
      FROM {$db_prefix}log_karma AS lk
      JOIN {$db_prefix}members AS mb ON lk.ID_EXECUTOR = mb.ID_MEMBER
      WHERE lk.link LIKE '%{$messageID}%'
      ORDER BY lk.logTime", __FILE__, __LINE__);


LIKE '%{$messageID}%' найдет номер поста в базе в поле Link, где хранится ссылка на пост, где поставлен плюс (в ссылке содержится ID, по этому его нетрудно найти).

Вот и не нужно юзать поле Desctiption не по назначению. Не меняйте Karma.php, пусть в поле Desctiption по прежнему хранится причина плюса/минуса, а ID просто ищите в ссылке запросом.
Хех...  8)

Jerry

Обнаружена ошибка: запрос реагирует одинаково на минус и плюс. По этому, нужно добавить в условие AND lk.action = '+1'
Кроме того, LIKE '%{$messageID}%'  может показать плюс в лишних постах.

Вот моя последняя версия. Замените запрос в Display.template на такой:
   $request = db_query("
      SELECT ID_MEMBER, realName
      FROM {$db_prefix}log_karma AS lk
      JOIN {$db_prefix}members AS mb ON lk.ID_EXECUTOR = mb.ID_MEMBER
      WHERE lk.link LIKE '%.msg{$messageID}#msg%{$messageID}' AND lk.action = '+1'
      ORDER BY lk.logTime", __FILE__, __LINE__);


Если вам нужно еще и определение минусов, то можно написать такую же функцию. Скопируйте, измените имя на loadMinusMembers($messageID), а в запросе вместо lk.action = '+1' напишите lk.action = '-1'. Ну и в Display.Template тоже нужно добавить строчку.

Вот готовый вариант, как у меня:

Display.php

После
// Load up the "double post" sequencing magic.
if (!empty($options['display_quick_reply']))
checkSubmitOnce('register');
}


добавить

function loadThnxMembers($messageID){
   global $db_prefix;
   
   $output = array();
   
   if (!$messageID)
      return $output;
   

   
   $request = db_query("
      SELECT ID_MEMBER, realName
      FROM {$db_prefix}log_karma AS lk
      JOIN {$db_prefix}members AS mb ON lk.ID_EXECUTOR = mb.ID_MEMBER
      WHERE lk.link LIKE '%.msg{$messageID}#msg%{$messageID}' AND lk.action = '1'
      ORDER BY lk.logTime", __FILE__, __LINE__);

//      WHERE MATCH (Link) -> AGAINST ('+{$messageID} -PM' IN BOOLEAN MODE);

   while ($row = mysql_fetch_assoc($request)){
      if (!empty($row['ID_MEMBER']))
         $output[$row['ID_MEMBER']] = $row['realName'];
      }
   mysql_free_result($request);
   
   return $output;
}
function loadMinusMembers($messageID){
   global $db_prefix;
   
   $output = array();
   if (!$messageID) return $output;
   
   
   $request = db_query("
      SELECT ID_MEMBER, realName
      FROM {$db_prefix}log_karma AS lk
      JOIN {$db_prefix}members AS mb ON lk.ID_EXECUTOR = mb.ID_MEMBER
      WHERE lk.link LIKE '%.msg{$messageID}#msg%{$messageID}' AND lk.action = '-1'
      ORDER BY lk.logTime", __FILE__, __LINE__);


   while ($row = mysql_fetch_assoc($request)){
      if (!empty($row['ID_MEMBER']))
         $output[$row['ID_MEMBER']] = $row['realName'];
      }
   mysql_free_result($request);
   
   return $output;
}


Display.template.php

Это:

    // Show the member's signature?
      if (!empty($message['member']['signature']) && empty($options['show_no_signatures']))
         echo '
                     <hr width="100%" size="1" class="hrcolor" />
                     <div class="signature">', $message['member']['signature'], '</div>';
         
      echo '
                  </td>
               </tr>
            </table>
         </td></tr>
      </table>
   </td></tr>';

Заменить этим:
// Show the member's signature?
if (!empty($message['member']['signature']) && empty($options['show_no_signatures']) && $context['signature_enabled'])
echo '
<hr width="100%" size="1" class="hrcolor" />
<div class="signature">', $message['member']['signature'], '</div>';

echo '
</td>
</tr>';




      if(count($message['thnx']) > 0){
echo '
<tr>
<td>';

//      if ($message['member']['karma']['allow'] &! array_key_exists($ID_MEMBER, $message['thnx'])) echo ' <a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';nodescription=', md5($context['session_id']), ';sesc=', $context['session_id'], '">', $txt['karma_say_thnx'], '</a><br /></td>';   
      echo '
                  <td>';
     

         echo '<font color=#FFCC00>', $txt['karma_who_thnx'], '</font> ';
         $i = 0;
         foreach($message['thnx'] as $k => $v){
            $i++;
            echo '<a href="', $scripturl, '?action=profile;u=', $k, '">', $v, '</a>', ($i < count($message['thnx']) ? ", " : "");
         }

      echo '
                  </td>
               </tr>';

      }


      if(count($message['minusx']) > 0){
echo '
<tr>
<td>';

//      if ($message['member']['karma']['allow'] &! array_key_exists($ID_MEMBER, $message['thnx'])) echo ' <a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';nodescription=', md5($context['session_id']), ';sesc=', $context['session_id'], '">', $txt['karma_say_thnx'], '</a><br /></td>';   
      echo '
                  <td>';
     

         echo '<font color=#FFCC00>', $txt['karma_who_minusx'], '</font> ';
         $i = 0;
         foreach($message['minusx'] as $k => $v){
            $i++;
            echo '<a href="', $scripturl, '?action=profile;u=', $k, '">', $v, '</a>', ($i < count($message['minusx']) ? ", " : "");
         }

      echo '
                  </td>
               </tr>';

      }


      echo '


            </table>
         </td></tr>
      </table>
   </td></tr>';

А в Modifications.russian-utf8.php (или какой у вас языковой файл)
добавить это:

$txt['karma_who_thnx'] = 'Поставили плюс за это сообщение:';
$txt['karma_who_minusx'] = 'Поставили минус за это сообщение:';


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

Шаннар

Цитата: Sikes от 17 июня 2008, 17:42:45
И будут у вас отображаться и плюсы, и минусы, лишней пустой строчки в конце постов, без убивания поля Description и без редактирования Karma.php.
А можно ли оформить это решение как мод? Хотелось бы легко устанавливать подобное на разных форумах. Думаю, не мне одному пригодится.

yrygvay

Ну неужели в этой теме не до конца реализовано всё. Может кто в модификацию всё это соберёт?
Music in Soul
Помогу с переездом с UCOZ

Useroff

Мод как бы надо обновить под SMF 2.0 RC1.2.
http://forum.servmast.ru - Форум о серверах

yrygvay

Ну очень нужно под 1,1,10 в utf ... форум не пускаю в свет без этой кнопочки спасибо)))))

Может кому не сложно?
Music in Soul
Помогу с переездом с UCOZ

deadbead

Еще дополнение.... Лучше поздно чем никогда)

Замены в файле Karma.php необходимо выполнять в функции ModifyKarma()
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

yrygvay

Music in Soul
Помогу с переездом с UCOZ

Шаннар

Цитата: Sikes от 17 июня 2008, 17:42:45
Display.template.php

...

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

В приведённом примере все вхождения «if ($message['member']['karma']['allow']» — где же тогда будет, собственно, кнопочка «Спасибо»?

yrygvay

Сейчас встаёт вопрос о полном перезапуске форума.
И с чувством приближающейся "жО**пы" представляю как придётся заново пилить кнопку спасибо.
Может кто выложит конечные действия для ветки 1.1.
Прошлый раз просил deadbead помочь, если бы не он,то задумка не получилась бы, но второй раз просить не красиво((((
Может кто напишет конечный вариант!
Music in Soul
Помогу с переездом с UCOZ

DeadSoul

Что, неужели так и не написали эту кнопку? Мне тоже бы пригодилось, да собирать и прописывать всё выше изложенное, голова вскипит....

SV

поделитесь модом этим для 1.1.11 русским в кодировке utf8

Макар

Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

SV

Цитата: Makar от 22 марта 2010, 21:32:31
а  Thank-O-Matic   не подойдет ?
Покажите домо работы+и желательно русский

Макар

мод легко находится на оф сайте , с русификацией сложнее , вернее полная  платная :coolsmiley: , хотя при желании и настойчивости можно найти и бесплатно  2funny
ну или гулгл переводчик вам в помощь  8)
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

SV

Мда так и думал что люди делают деньги даже на smf,а не полная руссификация в чём заключается.Честно сказать не мог актуальную русскую версию найти да и англискую

Макар

Не полный перевод админки. Хотя, пользовательская часть переведена, а админку раз настроил и забыл.
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

0daliska

Цитата: SV от 22 марта 2010, 23:48:03
Мда так и думал что люди делают деньги даже на smf...
Сорри, а Вы когда-нибудь сами пробовали локализации делать, чтобы такими словами бросаться?  ;)
Хотя бы представляете сколько труда надо положить, чтобы это сделать?
Цитата: SV от 22 марта 2010, 23:48:03
Честно сказать не мог актуальную русскую версию найти да и англискую
Имхо, вперед, сами себе бесплатно локализации делать... Исходники английские ни для кого не закрыты, бери и переводи! И со всем народом не забудьте поделиться бесплатно!
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

SV

Цитата: 0daliska от 23 марта 2010, 00:33:03
Сорри, а Вы когда-нибудь сами пробовали локализации делать, чтобы такими словами бросаться?  ;)
Хотя бы представляете сколько труда надо положить, чтобы это сделать?Имхо, вперед, сами себе бесплатно локализации делать... Исходники английские ни для кого не закрыты, бери и переводи! И со всем народом не забудьте поделиться бесплатно!
Делал только для vbulletin да и я восновном занимаюсь не веб программированием,а win32 на delphi и не одной софтулины я не делал платной.
Занятся когбудто мне нечем.
Если бы хотел переводить я бы не просил ссылки.
за лове любой может сделать,если ты что то сделал темболее взяв чужие исходники бесплатные зачем на чужом труде деньги делать?
Я понимаю если с 0 написать что  либо и просить за это деньгу.
Скажи я ещё не прав?

0daliska

Цитата: SV от 23 марта 2010, 16:27:08
Делал только для vbulletin да и я восновном занимаюсь не веб программированием,а win32 на delphi и не одной софтулины я не делал платной.
Занятся когбудто мне нечем.
Если бы хотел переводить я бы не просил ссылки.
за лове любой может сделать,если ты что то сделал темболее взяв чужие исходники бесплатные зачем на чужом труде деньги делать?
Я понимаю если с 0 написать что  либо и просить за это деньгу.
Скажи я ещё не прав?
Для платного движка делал бесплатные софтины :) Молодец!

Сказать что не прав, дак свое время цените, а чужое ни в грош не ставите... Вам же есть чем заняться, чтобы не маяться русификацией... Вам готовое подавай... Дайте где взять, еще демо мне предъявите... И русик полный преподнесите на блюдичке с голубой каемочкой!
А Вы уверены, что платные русификации они на чужих исходниках делаются? Сразу видно, ни разу для СМФ не делали локализаций... Разгребать чужой перевод и на его основе создавать свой - это еще сложнее, чем с нуля взять английский вариант и сделать свое! Поэтому такие вещи пишутся, обычно, с нуля...  Плюс модописатели зачастую берут и меняют переменные,  раньше одна переменная была, а потом вдруг другая точно для того же...  Поэтому сверка - слишком хлопотное занятие, и используется для проверки точности перевода собственного по отдельным переменным, не более того...
Ну да объяснять тому, кто в это не окунался, дело пустое... Со временем поймете, возможно! Когда пару крупных модификаций сами попытаетесь русифицировать! Если вдруг Вам больше заняться будет нечем!
А то пока только нам тут вообще всем нечем заниматься! Действительно, какой-то ерундой занимаемся, кому-то там чего-то подсказываем, решениями делимся... А что нам, и вправду, больше заняться нечем? Имхо, я вообще экономист... Какого я тут вообще делаю? ;)

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

Макар

Нет не правы, иначе с ваших слов получается переводчики иностранных книг должны переводить их бесплатно. Они же тоже с готового переводят. Человек перевел и посчитал что его труд стоит того что бы за него заплатили, причем стоимость перевода чисто символическая.
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Bugo

SV, наверное, и на автобусе бесплатно ездите? Зачем платить, если на следующей выходить, да?..
Наберите в Google «Русификация Thank-O-Matic»

SV

Цитата: Makar от 23 марта 2010, 17:44:00
Нет не правы, иначе с ваших слов получается переводчики иностранных книг должны переводить их бесплатно. Они же тоже с готового переводят. Человек перевел и посчитал что его труд стоит того что бы за него заплатили, причем стоимость перевода чисто символическая.
Цитата: Bugo от 23 марта 2010, 18:25:08
SV, наверное, и на автобусе бесплатно ездите? Зачем платить, если на следующей выходить, да?..
Наберите в Google «Русификация Thank-O-Matic»
При чём тут автобус,причём тут книги?
Вы где нибуть видели что бы программист взяв чужие исходники дапустим какова нибуть чата скачал бесплатно руссифицыровал,подправил код, и потом уже продовал готовый продукт?

0daliska

Цитата: SV от 23 марта 2010, 20:37:51
При чём тут автобус,причём тут книги?
Вы где нибуть видели что бы программист взяв чужие исходники дапустим какова нибуть чата скачал бесплатно руссифицыровал,подправил код, и потом уже продовал готовый продукт?
Русифицировал, подправил код - работа была сделана?
Да!
А дальше это личное дело того, кто сделал... Захочет денег, попросит... А будет на то его добрая воля - так отдаст, на халяву... Может, кто спасибо скажет :)
Лицензия это позволяет!
А русики от Вас нам точно не нужны будут...  :)
Даже если Вы его сделаете, я бы очень подумала, прежде, чем его ставить!
Грамматика - точно не Ваш козырь!
Пунктуация, кстати тоже подвела...

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

digger®

Цитата: SV от 23 марта 2010, 16:27:08
да и я восновном занимаюсь не веб программированием,а win32 на delphi и не одной софтулины я не делал платной.

За Delphi Вы заплатили или тоже взяли бесплатно?

Bugo

Цитата: SV от 23 марта 2010, 20:37:51
При чём тут автобус,причём тут книги?
Вы где нибуть видели что бы программист взяв чужие исходники дапустим какова нибуть чата скачал бесплатно руссифицыровал,подправил код, и потом уже продовал готовый продукт?
Есть такая система (по сути не система, а ядро) — Linux. Бесплатная. Но некоторые компании выпускают на её основе платные дистрибутивы (например, Red Hat, SuSE Linux Desktop и пр.). Подадите на них в суд? А суть в том, что платные дистрибутивы Linux включают в себя годовую (или более) подписку на техническую поддержку, коммерческое ПО для организаций. Кроме того, такие дистрибутивы, которые не каждый обычный пользователь сможет собрать в одиночку (несмотря на открытость исходного кода), имеют более дружественный интерфейс и пр. и пр. Это раз.

А теперь ответьте, кто Вас заставляет покупать русификацию? Если что-то не устраивает, Вы всегда можете сделать перевод сами (хотя учитывая ваш «аглицкий» и познания в «руссыфикациях» — это вряд ли). Это два.

SV

Да ну вас с вашим рус. Просто смысла не вижу переизобретать велосипед.
А руссификация это  полная фигня.

0daliska

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

Макар

Мне кажется пора закругляться.
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

yrygvay

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

Поставил мод красивых подсказок от нашего форумчанина всё ок)
ставлю мод спасибо.. и опять пилить пилить и пилить!!!
Music in Soul
Помогу с переездом с UCOZ

0daliska

Цитата: yrygvay от 02 мая 2010, 13:35:35
А можно узнать почему разработчики модов сразу не делаю сови работы под любые темы. Вот почему если люди стараются то они эту функцию под разные темы автоматом делают, а другие нет?

Поставил мод красивых подсказок от нашего форумчанина всё ок)
ставлю мод спасибо.. и опять пилить пилить и пилить!!!
Сами-то  поняли чего спросили?
Потому что гладиолус!

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

BIOHAZARD

0daliska, Вы не совсем правы

проблема в том, что некоторым модификациям не нужно модифицировать файлы тем вовсе, они модифицируют сам движок и тогда вопросов об установке в ту или иную тему просто не может быть по определению, некоторые моды затрагивают те файлы шаблонов, которые есть (как правило) только в дефолтной теме, например admin.template.php, и тогда такой мод работает без допилки на 95% тем, а есть моды, которые ну очень хотят прописаться в index.template.php, а он в каждой теме свой и наворочено там бывает так, что даже вручную не всегда сразу найдёшь, куда воткнуть код мода и тогда приходится ставить его ручками в каждую тему
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

0daliska

Цитата: BIOHAZARD от 02 мая 2010, 14:42:36
0daliska, Вы не совсем правы

проблема в том, что некоторым модификациям не нужно модифицировать файлы тем вовсе, они модифицируют сам движок и тогда вопросов об установке в ту или иную тему просто не может быть по определению, некоторые моды затрагивают те файлы шаблонов, которые есть (как правило) только в дефолтной теме, например admin.template.php, и тогда такой мод работает без допилки на 95% тем, а есть моды, которые ну очень хотят прописаться в index.template.php, а он в каждой теме свой и наворочено там бывает так, что даже вручную не всегда сразу найдёшь, куда воткнуть код мода и тогда приходится ставить его ручками в каждую тему
O0
Я думала, что про это уже столько раз писалось на форуме, что и объяснять yrygvay (не новичок же) такие прописные истины не стоит... Наверное, надо было разжевать :) Спасибо за дополнение
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Bugo

Цитата: yrygvay от 02 мая 2010, 13:35:35
и опять пилить пилить и пилить!!!
В этом вся соль. Иначе было бы скучно :)

Serifa

Буго, ты не прав. Любители пилить пусть изобретают свой оригинальный движок, а простому админу надо чтобы поставил - и дальше занимаешься только своим проектом, а не кодированием и пилением.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

yrygvay

Вот просто у меня например стоит форум со связкой joomla вот за 3 года использования cms пиленеия её кода ( или кода её модов) почти не припомню, это обычно нужно было для того, что бы ну очень либо красиво сделать, либо что бы было всё стандартное но не как у всех.

А тут стоит только поставить не стандартную тему и усё.. приплыли... сидишь и правишь в каждом файле сам. Это не сложно ... но просто маленький крик в душе.

Хотя вчера поставил 4 мода.... и из 4 только один ( в теме которого мы находимся) решил устанавливаться с напильником... итог... отложил его пока на полку, хотя очень нужен))))
Music in Soul
Помогу с переездом с UCOZ

Serifa

Когда у меня была версия SMF: 1.1.11, все моды ставились самостоятельно, сколько их было штук. Не поставились только два, но они были так себе, большой пользы не приносили, и поэтому я легко от них отказалась. А вот на второй версии уже фиг, почти каждый мод надо пинать. А "Карму" ставить даже чего-то боюсь, слетит вообще все))
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

yrygvay

нужно будет прислушаться к словам девушки)))
Music in Soul
Помогу с переездом с UCOZ

crazyASD

В связи с реконструкцией форума, понадобилось мне оживить эту функцию. Попробовал переписать её под SMF 2.0, всё вроде должно работать, ошибок нет, но списка сказавших спасибо не появляется  :-\
Итак:
Display.php
В самом начале добавил:
//Load topic karma chage?

function loadThnxMembers()
{
     global $db_prefix, $modSettings, $smcFunc;

    if (!empty($modSettings['karmadescmod']) && !empty($modSettings['karmalastchange']) && ($context['show_karmastat']))
    {
$link=$_REQUEST['topic'].".msg".$message['id_msg']."#msg".$message['id_msg'];

$request = $smcFunc['db_query']('', '
SELECT ID_MEMBER, real_name
FROM {db_prefix}log_karma AS lk
JOIN {db_prefix}members AS mb ON lk.ID_EXECUTOR = mb.ID_MEMBER
WHERE link = {text:linker}
AND action = 1',
array(
'linker' => $link,
)
);

     while ($row = $smcFunc['db_fetch_assoc']($request))
{
      if (!empty($row['id_member']))
         $output[$row['id_member']] = $row['real_name'];
      }
   $smcFunc['db_free_result']($request);
  
     if (!$message['id_msg'])
      return $output;
    }
}
после
'can_see_ip' => allowedTo('moderate_forum') || ($message['id_member'] == $user_info['id'] && !empty($user_info['id'])),добавил:
'thnx' => loadThnxMembers($message['id_msg']),
Karma.php
после
// Put it in the log.
                $smcFunc['db_insert']('',
                 '{db_prefix}log_karma',
                        array('action' => 'int', 'id_target' => 'int', 'description' => 'text', 'link' => 'text', 'id_executor' => 'int', 'log_time' => 'int'),
                        array($dir, $_REQUEST['uid'], $_POST['Description'], $link, $user_info['id'], time()),
                        array('id_target', 'id_executor')
                        );
добавил
                       //Thnx addon
      if($isThnx) $_POST['Description'] = "Thnx for post ID".$_REQUEST['m'];
после
// If you're a guest or can't do this, blow you off...
is_not_guest();
isAllowedTo('karma_edit');

checkSession('get');
добавил
  //Thnx addon
   $isThnx = (isset($_REQUEST['nodescription']) && $_REQUEST['nodescription'] == md5($_REQUEST['sesc']));
   if($isThnx) unset($modSettings['karmadescmod']);

Display.template.php

после
// Show the member's signature?
if (!empty($message['member']['signature']) && empty($options['show_no_signatures']) && $context['signature_enabled'])
echo '
<div class="signature" id="msg_', $message['id'], '_signature">', $message['member']['signature'], '</div>';
добавил
 if ($message['member']['karma']['allow']) echo ' <a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';nodescription=', md5($context['session_id']), ';sesc=', $context['session_id'], '">', $txt['karma_say_thnx'], '</a>';
       if(count($message['thnx']) > 0){
 
         echo '<span class="btn btn-default>"', $txt['karma_who_thnx'], '</span>';
         $i = 0;
         foreach($message['thnx'] as $k => $v){
            $i++;
            echo '<a href="', $scripturl, '?action=profile;u=', $k, '">', $v, '</a>', ($i < count($message['thnx']) ? ", " : "");
         }
 
      } 
Modifications.russian-utf8.php
добавил

//Thnx addon
$txt['karma_say_thnx'] = 'Сказать спасибо';
$txt['karma_who_thnx'] = 'Пользователи сказавшие спасибо:';

Где я накосячил?
Сон разума порождает монстров
Wordpress - рулит!  SMF 2.0.11