Re: [TopFirstPost] - Мод закрепления сообщения

Автор Loac, 21 марта 2007, 01:22:53

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

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

bober

Закрепляется с первой, просто не обновляется что то сразу. Вы закрепите, перейдите в другую тему а затем вернитесь, и все будет закреплено.

Vofka

действительно с первой прикрепляет! теперь не надо дро...ить эту кнопку)))
мой сайт www.pc2day.ru
мой форум www.pc2day.ru/forum
в разработке игровой портал www.live4game.ru

Vladimir-s


Bugo

В логах ошибок постоянно появляется запись:

Use of undefined constant new_from - assumed 'new_from'
Файл: ../Sources/Display.php
Строка: 1112

1111: array(
==>1112: 'new_from' => $topicinfo[new_from],
1113: 'TopFirstPost_ID' =>$context['TopFirstPost_ID'],
1114: )


Тип ошибки: неопределенные.

digger®

Цитата: Bugo от 15 декабря 2009, 17:46:28
В логах ошибок постоянно появляется запись:

Use of undefined constant new_from - assumed 'new_from'
Файл: ../Sources/Display.php
Строка: 1112

1111: array(
==>1112: 'new_from' => $topicinfo[new_from],
1113: 'TopFirstPost_ID' =>$context['TopFirstPost_ID'],
1114: )


Тип ошибки: неопределенные.

должно быть


==>1112: 'new_from' => $topicinfo['new_from'],
[/quote]

John Gray

При установке пишет:
3.     Изменение файла     ./Sources/Display.php     Неудачно

У меня SMF 1.1.11

GrayFiend

Небольшое замечание.
В $sourcedir/Display.php ещё добавил вот такое:

<operation>
<search position="replace"><![CDATA[
if (empty($options['view_newest_first']))
$counter++;
else
$counter--;
]]></search>
<add><![CDATA[
if (($message['ID_MSG'] != $context['TopFirstPost_ID']) || ($counter == 0))
{ // GrayFiend: make fix for Sticky First Message Mod - don't move numbering for 2nd and next pages
if (empty($options['view_newest_first']))
$counter++;
else
$counter--;
}
]]></add>
</operation>

Исправляет ошибку с нумерацией ответов начиная со второй страницы (отображался # на 1 больше, чем на самом деле).

P.S. Спасибо за мод. :)

vladok

Цитата: Bugo от 15 декабря 2009, 17:46:28
В логах ошибок постоянно появляется запись:

Use of undefined constant new_from - assumed 'new_from'
Файл: ../Sources/Display.php
Строка: 1112

1111: array(
==>1112: 'new_from' => $topicinfo[new_from],
1113: 'TopFirstPost_ID' =>$context['TopFirstPost_ID'],
1114: )


Тип ошибки: неопределенные.

Цитата: digger от 15 декабря 2009, 19:37:08
должно быть


==>1112: 'new_from' => $topicinfo['new_from'],


???

Поставил -вылазит та же самая ошибка :.

Цитировать...
Use of undefined constant new_from - assumed 'new_from'
Файл: .... Display.php
Строка: ... 

Так что на что там заменить - см. ответ и вижу предложение заменить эту строчку на ... эту строчку.
Не понятно  что на что менять  :D
Харе кришна, май либер зольдат...

0daliska

Цитата: vladok от 13 февраля 2010, 03:09:21
???

Поставил -вылазит та же самая ошибка :.

Так что на что там заменить - см. ответ и вижу предложение заменить эту строчку на ... эту строчку.
Не понятно  что на что менять  :D
А по-моему ясно, что на что:
'new_from' => $topicinfo[new_from],
на
'new_from' => $topicinfo['new_from'],
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

vladok

3 часа ночи было, кавычки не заметил... быват  ;D angel
Харе кришна, май либер зольдат...

Друид

Если я пользуюсь не дефолтным дизайном, то какие изменения и где конкретно я должен произвести? Прошу объяснять популярно. Я только делаю первые шаги.
Сам мод я установил.

Bugo

Зависит от вашего "не дефолта". А вообще всё прописано в modification.xml

Друид

В файлах хака такого файла нет. Прошу Вас, объясните что и как новичку.

Bugo

Для начала хотелось бы узнать, какая у Вас версия SMF и какой именно "хак" Вы скачали.

LSf1


toxic

Как избавиться от сего недуга? :)
Проявляется только на 1 странице темы, на последующих кнопка одна.
Заранее спасибо.

toxic

Цитата: John Gray от 14 января 2010, 15:03:02
При установке пишет:
3.     Изменение файла     ./Sources/Display.php     Неудачно

У меня SMF 1.1.11

У меня была проблема вот в этой строке
a.ID_ATTACH, a.ID_MSG, a.filename, a.file_hash, IFNULL(a.size, 0) AS filesize, a.downloads,
display.php
Сравни с install.xml

flint2000

В версии 1.1.11 не работает, правил руками т.к. моды стоят. Пишет мол версия БД не соответствует

Mavn

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

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

flint2000

Может кто выложит свой рабочий ./Sources/Display.php для сравнения. А то меня в одном месте код очень смущает, получается 2 одинаковых запроса в БД

0daliska

Цитата: flint2000 от 06 марта 2010, 13:43:31
Может кто выложит свой рабочий ./Sources/Display.php для сравнения. А то меня в одном месте код очень смущает, получается 2 одинаковых запроса в БД
Ловите...
Модификацию ставила еще до апгрейда на 1.1.11 :)
Файл с рабочего форума... Текущая версия 1.1.11
Все установленные на этом форуме модификации - у меня в подписи
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

flint2000

Цитата: 0daliska от 06 марта 2010, 14:29:34
Ловите...
Модификацию ставила еще до апгрейда на 1.1.11 :)
Файл с рабочего форума... Текущая версия 1.1.11
Все установленные на этом форуме модификации - у меня в подписи
Спасибо
Вас не смущает 2 почти одинаковых запроса к БД? а именно
$request = db_query("
SELECT ID_MSG, ID_MEMBER
FROM {$db_prefix}messages
WHERE ID_TOPIC = $topic
ORDER BY ID_MSG
LIMIT 1", __FILE__, __LINE__);

и
$request = db_query("
SELECT ID_MSG, ID_MEMBER
FROM {$db_prefix}messages
WHERE ID_TOPIC = $topic
ORDER BY ID_MSG " . ($ascending ? '' : 'DESC') . ($modSettings['defaultMaxMessages'] == -1 ? '' : "
LIMIT $start, $limit"), __FILE__, __LINE__);

flint2000

0daliska Странно у вас не все изменения есть

flint2000

Такс установил - ошибок уже нету, но и не прикрепляет сообщение. У кого какие варианты есть?

0daliska

Отлично работает модификация при моем display.php у меня на форуме, лог ошибок чистый, прикрепляю топики во многих разделах... Ставила очень давно, уже и не помню, сразу работало или что-то правила... Это были одни из самых первых установленных модификаций на форуме... Так что извините :)

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

flint2000

Цитата: 0daliska от 06 марта 2010, 20:59:34
Отлично работает модификация при моем display.php у меня на форуме, лог ошибок чистый, прикрепляю топики во многих разделах... Ставила очень давно, уже и не помню, сразу работало или что-то правила... Это были одни из самых первых установленных модификаций на форуме... Так что извините :)

А по поводу - смущает или не смущает... Пока работает без ошибок, я в файлы даже и не лезу... Вот когда ошибки появятся, тогда и полезу и ломать голову буду :)
А так, пусть хоть десять запросов будет... Лишь бы работало без ошибок и так, как подобает  O0
Уже установил нормально и работает. Спасибо за помощь

flint2000

Есть баг, при прикреплении сообщения пропадает список поблагодаривших. Решение есть?

toxic


AIR82


Black Ice


КардиГан

Я попытался поставить мод на 2.0 RC3, на что получил сообщение:
"Пакет, который Вы пытаетесь загрузить или установить, поврежден или не совместим с установленной версией SMF." Что это может быть?

КардиГан

Проблема решилась. Остался вопрос: на первой странице посты заканчиваются номером 14, а на второй - начинаются с 16-го. На следующих страницах нумерация корректная.

Bugo

Аналогично http://www.simplemachines.ru/index.php?topic=1915.msg64383#msg64383 для SMF 2.x можно добавить:

<!-- Исправляем нумерацию ответов, начиная со второй страницы -->
<operation>
<search position="replace"><![CDATA[
$output['is_message_author'] = $message['id_member'] == $user_info['id'];

if (empty($options['view_newest_first']))
$counter++;
else
$counter--;]]></search>
<add><![CDATA[
$output['is_message_author'] = $message['id_member'] == $user_info['id'];
if (($message['id_msg'] != $context['TopFirstPost_ID']) || ($counter == 0)) {
if (empty($options['view_newest_first']))
$counter++;
else
$counter--;
}]]></add>
</operation>

КардиГан


sergok_

А у меня вот при установке данного мода всё поплыло именно в темах, большинством браузеров одни кракозяблы светятся, я так подозреваю что мод чего то в tamlate поменял ибо пока в тему не заходишь всё работает супер, а так шрифт поменялся. Помогите , подскажите где копать ?

ThickPanda

Постоянно валятся ошибки:
Undefined index: TopFirstPost_sticky
Файл: /www/htdocs/forum/Sources/Subs.php
Строка: 3648


Undefined index: TopFirstPost_sticky_note
Файл: /www/htdocs/forum/Sources/Subs.php
Строка: 3648

как лечить?
версия смф - 1.1.11, а скрипта - 1.1.2

0daliska

Цитата: ThickPanda от 14 июня 2010, 22:14:46
Постоянно валятся ошибки:
Undefined index: TopFirstPost_sticky
..

Undefined index: TopFirstPost_sticky_note
.

как лечить?
версия смф - 1.1.11, а скрипта - 1.1.2
Проверить, а есть ли в Вашем Modifications.russian-utf8.php или Modifications.russian.php (в зависмости от Вашей кодировки форума) следующие строки
// TopFirstPost
$txt['TopFirstPost_continue'] = 'Первое сообщение / продолжение темы';
$txt['TopFirstPost_sticky'] = 'Закрепить';
$txt['TopFirstPost_sticky_note'] = 'Закрепить это сообщение';
$txt['TopFirstPost_unsticky'] = 'Открепить';
$txt['TopFirstPost_unsticky_note'] = 'Открепить это сообщение';

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

ThickPanda

да.. добавитл эти записи - и все заработало норм.
Спасибо

phoenixxx

Цитата: КардиГан от 24 апреля 2010, 23:17:44
Я попытался поставить мод на 2.0 RC3, на что получил сообщение:
"Пакет, который Вы пытаетесь загрузить или установить, поврежден или не совместим с установленной версией SMF." Что это может быть?

У меня тоже самое, как решил?

Макар

либо ставите в режиме совместимости
либо  правите в моде файл package-info

ищете <install for="2.0 - 2.99.99, 2.0 RC2"> дописываете  ------- >      <install for="2.0 - 2.99.99, 2.0 RC2, 2.0 RC3">

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

phoenixxx

Приветствую, вот прикручиваю мод вручную TopFirstPost.

<operation>
  <search position="before"><![CDATA[
        ORDER BY id_msg' . (empty($options['view_newest_first']) ? '' : ' DESC'),
        array(
            'message_list' => $messages,
            'new_from' => $topicinfo['new_from'],
        )
      );]]></search>
  <add><![CDATA[
 
      // Get TopFirstMessage
      $context['TopFirstPost_isSticky'] = in_array($topic, explode(",",$modSettings['TopFirstPost']));
      if ($context['TopFirstPost_isSticky']) {
        $context['TopFirstPost_showed'] = FALSE;
        $context['TopFirstPost_tmp'] = $messages_request;
        $messages_request = $smcFunc['db_query']('','
            SELECT
              id_msg, icon, subject, poster_time, poster_ip, id_member, modified_time, modified_name, body,
              smileys_enabled, poster_name, poster_email, approved,
              id_msg_modified < {int:new_from} AS isRead
            FROM {db_prefix}messages
            WHERE ID_MSG IN ({int:TopFirstPost_ID})',
            array(
              'new_from' => $topicinfo['new_from'],
              'TopFirstPost_ID' =>$context['TopFirstPost_ID'],
            )
        );
      }else{
        $context['TopFirstPost_showed'] = TRUE;
        $context['TopFirstPost_ID'] = -1;
      }
  ]]></add>
</operation>


я так понимаю это означает что .....

найти данный участок в коде

  <search position="before"><![CDATA[
        ORDER BY id_msg' . (empty($options['view_newest_first']) ? '' : ' DESC'),
        array(
            'message_list' => $messages,
            'new_from' => $topicinfo['new_from'],
        )
      );]]></search>


и вставить перед ним

  <add><![CDATA[
 
      // Get TopFirstMessage
      $context['TopFirstPost_isSticky'] = in_array($topic, explode(",",$modSettings['TopFirstPost']));
      if ($context['TopFirstPost_isSticky']) {
        $context['TopFirstPost_showed'] = FALSE;
        $context['TopFirstPost_tmp'] = $messages_request;
        $messages_request = $smcFunc['db_query']('','
            SELECT
              id_msg, icon, subject, poster_time, poster_ip, id_member, modified_time, modified_name, body,
              smileys_enabled, poster_name, poster_email, approved,
              id_msg_modified < {int:new_from} AS isRead
            FROM {db_prefix}messages
            WHERE ID_MSG IN ({int:TopFirstPost_ID})',
            array(
              'new_from' => $topicinfo['new_from]',
              'TopFirstPost_ID' =>$context['TopFirstPost_ID'],
            )
        );
      }else{
        $context['TopFirstPost_showed'] = TRUE;
        $context['TopFirstPost_ID'] = -1;
      }
  ]]></add> 

при чем <![CDATA[ и ]] не вставлять.

Но вижу что после вставки в Display.php где то ошибка, потому как подсветка кода не верная.

0daliska

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

phoenixxx

Нет конечно :)

Получилось так, только вот почему код вставлять нужно в середину запроса к базе?
Может в этом ошибка?

// What?  It's not like it *couldn't* be only guests in this topic...
if (!empty($posters))
loadMemberData($posters);
$messages_request = $smcFunc['db_query']('', '
SELECT
id_msg, icon, subject, poster_time, poster_ip, id_member, modified_time, modified_name, body,
smileys_enabled, poster_name, poster_email, approved,
id_msg_modified < {int:new_from} AS is_read
FROM {db_prefix}messages
WHERE id_msg IN ({array_int:message_list})


// Get TopFirstMessage
$context['TopFirstPost_isSticky'] = in_array($topic, explode(",",$modSettings['TopFirstPost']));
if ($context['TopFirstPost_isSticky']) {
$context['TopFirstPost_showed'] = FALSE;
$context['TopFirstPost_tmp'] = $messages_request;
$messages_request = $smcFunc['db_query']('','
SELECT
id_msg, icon, subject, poster_time, poster_ip, id_member, modified_time, modified_name, body,
smileys_enabled, poster_name, poster_email, approved,
id_msg_modified < {int:new_from} AS isRead
FROM {db_prefix}messages
WHERE ID_MSG IN ({int:TopFirstPost_ID})',
array(
'new_from' => $topicinfo['new_from'],
'TopFirstPost_ID' =>$context['TopFirstPost_ID'],
)
);
}else{
$context['TopFirstPost_showed'] = TRUE;
$context['TopFirstPost_ID'] = -1;
}

ORDER BY id_msg' . (empty($options['view_newest_first']) ? '' : ' DESC'),
array(
'message_list' => $messages,
'new_from' => $topicinfo['new_from'],
)
);

0daliska

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

phoenixxx

Мы простых решений не ищем специально, мод есть, пишут что все ок, но вот такая недоделка.

0daliska

Цитата: phoenixxx от 26 июня 2010, 15:46:00
Мы простых решений не ищем специально, мод есть, пишут что все ок, но вот такая недоделка.
В смысле?  У меня мод, из этого топика встал на ура... Я там вообще по минимуму изменения вносила... Любая модификация ставится без проблем на чистый форум, без модов и вмешательств... и любой разработчик открытой модификации ориентируется именно на это, ибо предугадать, что пользователь там в коде до установки модификации наковыряет или какие модификации до этого поставит, что приведет к неработоспособности мода, абсолютно невозможно...
Вчитывайтесь в код и смотрите ошибку в синтаксисе... при элементарных знаниях php обычно этого достаточно, чтобы найти, что не так...
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

BIOHAZARD

хе хе
вставить надо после этого куска, чтобы сам кусок оказался "бифор", такая вот извращённая логика в работе установщика модов
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

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

ku7mich

Для RC3 надо переделывать, у меня знаний не хватает :(.
"Как странно – когда исчезает темнота, перестаешь видеть свет!" (С. Лукьяненко)

Bugo


dr vatson

Ну так что кто то прикрутил этот мод к версии 2.0 RC3  ???? Отпишитесь angel