Обновление SMF 2.0.13

Автор Liza, 06 Январь 2017, 11:04:51

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

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

Liza

Друзья, что по обновлению SMF 2.0.13 ? Стоит ли обновляться?

valdnieks

Цитата: Liza от 06 Январь 2017, 11:04:51Друзья, что по обновлению SMF 2.0.13 ? Стоит ли обновляться?

Установилось успешно, всё работает!


Registered Linux user #325316
Последняя версия SMF: SMF 2.0.15
Версия GD: bundled (2.1.0 compatible)
Версия MySQL: 5.5.23
PHP: 5.6.30
Версия Web сервера: Apache/2.4.25 (Win64) PHP/5.6.30

Liza

У меня не так радостно

Код
Fatal error: Cannot redeclare ssi_thankYouPostTopResived() (previously declared in /home/...../public_html/SSI.php:2016) in /...../SSI.php on line 2230

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

S.T.A.L.K.E.R.

Цитата: Liza от 06 Январь 2017, 11:59:27что это может быть кто подскажет?
Судя по всему стоит какой-то мод спасибок?
Код
Не удается переобъявить ssi_thankYouPostTopResived

Liza

Конечно стоит Thank-o-matic, но почему то все предыдущие обновления он не смущал.

BoPoH

Возможно потому что разные фиксы безопасности правят разные участки кода движка  ;)

S.T.A.L.K.E.R.

Цитата: Liza от 06 Январь 2017, 12:12:14Конечно стоит Thank-o-matic, но почему то все предыдущие обновления он не смущал.
Можете выложить сюда кусок проблемного кода с файла на который ругается?
Охота глянуть и сравнить с дефолтом.

Liza

Цитата: S.T.A.L.K.E.R. от 06 Январь 2017, 12:46:45Можете выложить сюда кусок проблемного кода с файла на который ругается?

В строке 2230 одна кавычка.

Цитировать// Add colors only on installed SSI Member Color Link
   if (function_exists('ssi_loadColors') && !empty($colorids))
   {
      global $color_profile;
      ssi_loadColors($colorids);
      foreach ($return as $k => $p)
      {
         $profile = $color_profile[$p['id']];
         if (!empty($profile))
            $return[$k]['link'] = $profile['link'];
      }
   }
   if ($output_method != 'echo')
      return $return;

   if (empty($return))
      return;

   echo '
      <table class="ssi_table">
         <tr>
            <th align="left"></th>
            <th align="left">', $txt['thank_you_post_became_display'], '</th>
            <th align="left">', $txt['thank_you_post_made_display'], '</th>
         </tr>';
   foreach ($return as $temp)
      echo '
         <tr>
            <td align="left">
               ', $temp['link'], '
            </td>
            <td align="right">', $temp['thank_you_post_became'], '</td>
            <td align="right">', $temp['thank_you_post_made'], '</td>
         </tr>';
   echo '
      </table>';
} это линия 2230

// Shows the top Thank You Given.
function ssi_thankYouPostTopGiven($topMembers = 5, $output_method = 'echo')
{
   global $txt, $scripturl, $modSettings, $smcFunc;

   // Fix mistakes ;P
   $topMembers = (int) $topMembers;
   $topMembers = empty($topMembers) ? 5 : $topMembers;

   // Find the latest poster.
   $request = $smcFunc['db_query']('', '
      SELECT id_member, real_name, thank_you_post_became, thank_you_post_made
      FROM {db_prefix}members
      ORDER BY thank_you_post_made DESC
      LIMIT {int:limit}',
      array(
         'limit' => $topMembers
      )
   );
   $return = array();
   while ($row = $smcFunc['db_fetch_assoc']($request))
   {
      $return[] = array(
         'id' => $row['id_member'],
         'name' => $row['real_name'],
         'href' => $scripturl . '?action=profile;u=' . $row['id_member'],
         'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>',
         'thank_you_post_became' => $row['thank_you_post_became'],
         'thank_you_post_made' => $row['thank_you_post_made']
      );
      $colorids[$row['id_member']] = $row['id_member'];
   }
   $smcFunc['db_free_result']($request);

   // Add colors only on installed SSI Member Color Link
   if (function_exists('ssi_loadColors') && !empty($colorids))
   {
      global $color_profile;
      ssi_loadColors($colorids);
      foreach ($return as $k => $p)
      {
         $profile = $color_profile[$p['id']];
         if (!empty($profile))
            $return[$k]['link'] = $profile['link'];
      }
   }

   if ($output_method != 'echo')
      return $return;

   if (empty($return))
      return;

   echo '
      <table class="ssi_table">
         <tr>
            <th align="left"></th>
            <th align="left">', $txt['thank_you_post_made_display'], '</th>
            <th align="left">', $txt['thank_you_post_became_display'], '</th>
         </tr>';
   foreach ($return as $temp)
      echo '
         <tr>
            <td align="left">
               ', $temp['link'], '
            </td>
            <td align="right">', $temp['thank_you_post_made'], '</td>
            <td align="right">', $temp['thank_you_post_became'], '</td>
         </tr>';
   echo '
      </table>';
}

?>

GeorG

Цитата: Liza от 06 Январь 2017, 11:59:27Cannot redeclare ssi_thankYouPostTopResived() (previously declared in /home/...../public_html/SSI.php:2016) in /...../SSI.php on line 2230
У вас 2 раза объявлена функция ssi_thankYouPostTopResived (видимо продублировалась во время переустановки мода, удалите одну из них).
Как можно заметить, функция перед ssi_thankYouPostTopResived, имеет одно и тоже с ней содержимое, это и есть дубликат только начинается он выше приведённого фрагмента (примерно на 34 строчки).
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

S.T.A.L.K.E.R.

Получается вот это
Код
// Add colors only on installed SSI Member Color Link
   if (function_exists('ssi_loadColors') && !empty($colorids))
   {
      global $color_profile;
      ssi_loadColors($colorids);
      foreach ($return as $k => $p)
      {
         $profile = $color_profile[$p['id']];
         if (!empty($profile))
            $return[$k]['link'] = $profile['link'];
      }
   }
   if ($output_method != 'echo')
      return $return;

   if (empty($return))
      return;

   echo '
      <table class="ssi_table">
         <tr>
            <th align="left"></th>
            <th align="left">', $txt['thank_you_post_became_display'], '</th>
            <th align="left">', $txt['thank_you_post_made_display'], '</th>
         </tr>';
   foreach ($return as $temp)
      echo '
         <tr>
            <td align="left">
               ', $temp['link'], '
            </td>
            <td align="right">', $temp['thank_you_post_became'], '</td>
            <td align="right">', $temp['thank_you_post_made'], '</td>
         </tr>';
   echo '
      </table>';
} это линия 2230
дважды продублированно,в конце файла тоже есть.И можно посмотреть может ещё где-то в файле дубли есть.

Liza

Спасибо. Сейчас попробую убрать один кусок кода.

Liza

Странные вещи! Удаляю кусок кода и пытаюсь обновляться. Пишет ошибку а удаленные повторы снова добавляет в файл SSI

Liza

Вау! Обновилась! Всем спасибо друзья !

kak2z

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

Liza

на оф сайте пишут

ЦитироватьЭтот патч безопасности и технического обслуживания, которая ориентирована на фиксацию пару незначительных ошибок, при добавлении некоторых аксессуаров и патч к уязвимости сообщили в программном обеспечении. Кроме того, этот релиз исправляет проблему введена в 2.0.12. Поэтому важно, что вы установите этот патч своевременно.

Alex32

Подскажите а как из админики обновиться? давно уже не обновлялся, забыл, но помню что из админки обновлялся как то

digger®

Цитата: Alex32 от 22 Февраль 2017, 12:08:33Подскажите а как из админики обновиться? давно уже не обновлялся, забыл, но помню что из админки обновлялся как то
В каждой нашей новости про новую версию все это описано.

Alex32

Цитата: digger® от 22 Февраль 2017, 12:16:50В каждой нашей новости про новую версию все это описано.
Нашел в диспетчер пакетов нужно было зайти

Vadim2268

Обновление прошло успешно, но в админке дальше пишет:

Информация о версиях:
Версия форума: SMF 2.0.12
Последняя версия SMF: SMF 2.0.13

Как так то?