Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Как обновить форум phpbb3 патчем ручного обновления 2015-12-17

Аватар пользователя

Всем доброго времени суток, сегодня мы поговорим о обновлении форумов phpbb3 патчем ручного обновления :-00):

Предисловие

Надеюсь всем известно о том, что форумы phpbb3 можно обновлять двумя способами - ручным и автоматическим, а можно и не обновлять вообще :-0=) Собственно уже написана мною инструкция , данное обновление рассчитано на всех админов, не зависимо от их познания движка ибо требует минимальных телодвижений от того, кто проводит обновление и сводит проблемность обновления к нулю.

Но существует обратная сторона автоматического обновления - непрозрачность. Наверняка мало кто при обновлении раскрывает спойлеры, смотрит какие конфликтные места имели место и как итог - некоторые моды перестают работать, ручные правки затираются и так далее... Это конечно относится к менее опытным администраторам.... Ну и большущий минус - сторонние стили, имеющие имена отличные от prosilver или subsilver2 попросту не обновляются. Для обновления в пределах одной-двух версий это не критично, а если обновляться, допустим, с 3.0.1 до актуальной? Ага, то то же, возникает резонный вопрос - что делать? А тут на помощь приходит ручное обновление движка, вернее частичное обновление....

В свою очередь ручное обновление рассчитано на более опытных и усидчивых администраторов, ведь при обновлении с очень ранних версий необходимо большое количество часов вдумчивых правок, но в данном случае вы можете быть уверены в том, что моды останутся рабочими, стиль будет обновлен.... Но опять таки же при условии того, что вы все правильно отредактировали... Давайте теперь более предметно поглядим на ручное обновление...

Ручное обновление. Основные аспекты

Свод своеобразных правил и действий при обновлении:
  • Перед обновлением обязательно сделать полное резервное копирование для экономии времени и нервов в случае провального обновления. Все это описано в первых 2-х пунктах
  • Отключите форум в настройках в администраторском разделе, незачем кому то шастать по форуму в такое неподходящее время
  • Все правки в файлах осуществляются с помощью программы
  • В то время как вы делаете правки, не ходите на форум, да, будет куча ошибок, но изза того что вы не до конца завершили обновление, посему не пугайтесь и не останавливайтесь

В вы найдете все патчи ручного обновления в одном архиве. В архиве лежит куча файлов формата .patch и папочка install, которую вы закидываете в корень форума и не трогаете. В целом обновление делится на 2 части, первая - правка файлов согласно выбранному файлу .patch и вторая - обновление базы данных, которое выполняется СТРОГО после всех правок файлов путем перехода в браузерной строке по адресу
http://адрес форума/install/database_update.php
 

После выполнения этих 2-х частей папка install удаляется с сервера и обновление завершено, надеюсь успешно :-0=)

Ручное обновление. Основные варианты правок файлов

Теперь непосредственно о самом обновлении и правке файлов. Качаете архив с патчами, выбираете нужный вам патч и открываете его в Notepad++.
1. Как узнать какой файл открывать?
Проще простого, по всему файлу вам будут встречаться похожие строки
diff -x images -crNEB release-3.0.13-PL1/adm/index.php release-3.0.14/adm/index.php
 

Так вот для данной строки, /adm/index.php и есть путь и сам файл, который необходимо редактировать
2. Узнал файл, открыл, что делать дальше?
Каждая правка отделяется от предыдущей множеством звездочек - *****. К примеру вот одна правка
***************
*** 524,529 ****
--- 524,532 ----
 
              $cfg_array[$config_name] = trim($destination);
 
+          // Absolute file path
+          case 'absolute_path':
+          case 'absolute_path_writable':
           // Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
           case 'path':
           case 'wpath':
***************
 

Так же там же указываются примерные номера строк, где может находиться этот код. Вцелом есть три типа действий - удалить, добавить, отредактировать по примеру.
  • Удалить
    Обозначается знаком - напротив строк, которые нужно ПОЛНОСТЬЮ удалить, для примера можно взять такую правку
    ***************
    *** 524,529 ****
    --- 524,532 ----
     
                  $cfg_array[$config_name] = trim($destination);
     
    -         // Absolute file path
    -         case 'absolute_path':
    -         case 'absolute_path_writable':
               // Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
               case 'path':
               case 'wpath':
    ***************
     

    И она будет значить - удалить полностью строки
    // Absolute file path
             case 'absolute_path':
             case 'absolute_path_writable':
     

    Из указанного файла
  • Добавить
    Полностью противоположное действию Удалить. Обозначается плюсиком +, для примера
    ***************
    *** 524,529 ****
    --- 524,532 ----
     
                  $cfg_array[$config_name] = trim($destination);
     
    +         // Absolute file path
    +         case 'absolute_path':
    +         case 'absolute_path_writable':
               // Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
               case 'path':
               case 'wpath':
    ***************
     

    И это значит что нам надо найти строку
    $cfg_array[$config_name] = trim($destination);
     

    И добавить после нее
             // Absolute file path
             case 'absolute_path':
             case 'absolute_path_writable':
     
  • Отредактировать по примеру
    Данное действие обозначается восклицательным знаком ! и значит то, что нужно внимательно приглядеться и найти отличия между старым и новым кодом и внести такую же правку. К примеру
    ***************
    *** 25,31 ****
      */
     
      // phpBB Version
    ! define('PHPBB_VERSION', '3.0.13-PL1');
     
      // QA-related
      // define('PHPBB_QA', 1);
    --- 25,31 ----
      */
     
      // phpBB Version
    ! define('PHPBB_VERSION', '3.0.14');
     
      // QA-related
      // define('PHPBB_QA', 1);
     

    В данном примере
    */
     
      // phpBB Version
    define('PHPBB_VERSION', '3.0.13-PL1');
     
      // QA-related
      // define('PHPBB_QA', 1);
     

    Это старый код, а
     */
     
      // phpBB Version
     define('PHPBB_VERSION', '3.0.14');
     
      // QA-related
      // define('PHPBB_QA', 1);
     

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

Ручное обновление стиля

Тут совсем просто, для начала определяемся на основе prosilver или subsilver ваш стиль, к примеру на просильвере у вас. Значит в патч-файле ищем первое упоминание о папке с именем prosilver. Нашли? Вот все последующие правки имеющие в адресе файла имя prosilver вы должны применить именно к своему стилю, допустим править нужно
diff -x images -crNEB release-3.0.13-PL1/styles/prosilver/imageset/imageset.cfg release-3.0.14/styles/prosilver/imageset/imageset.cfg
 

/styles/prosilver/imageset/imageset.cfg
 

А вы открываете файл своего стиля
/styles/ваш стиль/imageset/imageset.cfg
 

И делаете указанные правки.

В случае обновления ТОЛЬКО стиля (когда сам движок обновлен автоматическим патчем) папку install не нужно закидывать на сервер и НЕ нужно запускать обновление базы данных

Как итог...

Как итог по завершению правок файлов вы запускаете скрипт обновления базы данных, получаете положительный ответ и радуетесь тому, что смогли обновиться.... Успехов, не знаю даже что еще добавить :-0=)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Такие ошибки будут легко решаться

Да, не спорю))), но я то чайник.


          Вернуться наверх  
 


Аватар пользователя

Но мы то поможем)))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Но мы то поможем)))

Ой, я вам так благодарна))), я вообще бы не знала что делать. Понимаю, что иной раз глупости спрашиваю, вы уж извините) :smu:sche_nie:

Сообщение добавлено... спустя 2 часа 31 минуту 59 секунд:
Тук, тук, это я. Опять с вопросами.
Вот выдержка из патча
*** 155,161 ****
              <table width="100%" cellspacing="0">
              <tr class="nav">
                 <td valign="middle">&nbsp;<!-- IF S_WATCH_FORUM_LINK and not S_IS_BOT --><a href="{S_WATCH_FORUM_LINK}">{S_WATCH_FORUM_TITLE}</a><!-- ENDIF --></td>
!                <td align="{S_CONTENT_FLOW_END}" valign="middle"><!-- IF not S_IS_BOT and U_MARK_TOPICS --><a href="{U_MARK_TOPICS}">{L_MARK_TOPICS_READ}</a><!-- ENDIF -->&nbsp;</td>
              </tr>
              </table>
           </td>
--- 155,161 ----
              <table width="100%" cellspacing="0">
              <tr class="nav">
                 <td valign="middle">&nbsp;<!-- IF S_WATCH_FORUM_LINK and not S_IS_BOT --><a href="{S_WATCH_FORUM_LINK}">{S_WATCH_FORUM_TITLE}</a><!-- ENDIF --></td>
!                <td align="{S_CONTENT_FLOW_END}" valign="middle"><!-- IF not S_IS_BOT and U_MARK_TOPICS and .topicrow --><a href="{U_MARK_TOPICS}">{L_MARK_TOPICS_READ}</a><!-- ENDIF -->&nbsp;</td>
              </tr>
              </table>
           </td>
 

а такое у меня
<!-- IF TOTAL_TOPICS -->
            <td class="nav" valign="middle" nowrap="nowrap">&nbsp;{PAGE_NUMBER}<br /></td>
            <td class="gensmall" nowrap="nowrap">&nbsp;[ {TOTAL_TOPICS} ]&nbsp;</td>
            <td class="gensmall" width="100%" align="{S_CONTENT_FLOW_END}" nowrap="nowrap"><!-- INCLUDE pagination.html --></td>
         <!-- ENDIF -->

      </tr>
      </table>
 

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

Сообщение добавлено... спустя 13 минут 48 секунд:
Еще вот этого куска вообще нет
*** 235,240 ****
--- 236,242 ----
                 <form method="post" action="{S_FORUM_ACTION}"><span class="gensmall">{L_DISPLAY_TOPICS}:</span>&nbsp;{S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<input class="btnlite" type="submit" name="sort" value="{L_GO}" /></form>
              </td>
        </tr>
+       <!-- ENDIF -->
        </table>
     <!-- ENDIF -->
 

по поиску form method="post" action результат только этот, а {S_FORUM_ACTION} вообще нет
<form method="post" action="{S_LOGIN_ACTION}">

      <table class="tablebg" width="100%" cellspacing="1">
      <tr>
         <td class="row1"><h4><a href="{U_LOGIN_LOGOUT}">{L_LOGIN_LOGOUT}</a></h4></td>
      </tr>
 

чего делать?

Сообщение добавлено... спустя 9 минут 7 секунд:
вот еще код из файла
<!-- IF postrow.POST_ICON_IMG -->
      &nbsp;&nbsp;<img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" align="left" style="margin-right:10px" alt="" title="" />
      <!-- ENDIF -->
         &nbsp;&nbsp;{postrow.POST_SUBJECT}
</td>
</tr>
</table>

   <table class="tablebg" width="100%" cellspacing="1">

   <!-- IF postrow.S_FIRST_ROW -->
      <tr>
         <th>{L_AUTHOR}</th>
         <th>{L_MESSAGE}</th>
      </tr>
   <!-- ENDIF -->
   <!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->

   <!-- IF postrow.S_IGNORE_POST -->
         <td class="gensmall" colspan="2" height="25" align="center"><!-- IF postrow.S_FIRST_UNREAD --><a name="unread"></a><!-- ENDIF --><a name="p{postrow.POST_ID}"></a>{postrow.L_IGNORE_POST}</td>
   <!-- ELSE -->

         <td align="center" valign="middle">
 

а этот из патча
*** 150,161 ****
              <!-- IF postrow.POST_ICON_IMG -->
                 <td><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" title="" /></td>
              <!-- ENDIF -->
!                <td class="gensmall" width="100%"><div style="float: {S_CONTENT_FLOW_BEGIN};">&nbsp;<b>{L_POST_SUBJECT}:</b> {postrow.POST_SUBJECT}</div><div style="float: {S_CONTENT_FLOW_END};"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF --><b>{L_POSTED}:</b> {postrow.POST_DATE}&nbsp;</div></td>
              </tr>
              </table>
           </td>
        </tr>
!       
        <!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
 
           <td valign="top" class="profile">
--- 150,161 ----
              <!-- IF postrow.POST_ICON_IMG -->
                 <td><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" title="" /></td>
              <!-- ENDIF -->
!                <td class="gensmall" width="100%"><div style="float: {S_CONTENT_FLOW_BEGIN};">&nbsp;<b>{L_POST_SUBJECT}:</b> <a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></div><div style="float: {S_CONTENT_FLOW_END};"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF --><b>{L_POSTED}:</b> {postrow.POST_DATE}&nbsp;</div></td>
              </tr>
              </table>
           </td>
        </tr>
!
        <!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
 
           <td valign="top" class="profile">
 


Сообщение добавлено... спустя 8 минут 6 секунд:
этого куска тоже нет вообще, его дописывать?
 #wrapheader {
-    min-height: 120px;
     height: auto !important;
-    height: 120px;
- /*   background-image: url('./images/background.gif');
-    background-repeat: repeat-x;*/
- /*   padding: 0 25px 15px 25px;*/
     padding: 0;
  }
 


Сообщение добавлено... спустя 6 минут 43 секунды:
вот это кусок патча к какому абзацу относится? у меня строки не совпадают, приходится гадать
это патч
*** 300,306 ****
     text-decoration: none;
  }
 
! .error {
     color: red;
  }
 
--- 292,302 ----
     text-decoration: none;
  }
 
! .online {
!    color: green;
! }
!
! .offline, .error, .inactive {
     color: red;
  }
 

а это два абзаца
.h_nav a:link {
   color: #000000;
   text-decoration: none;
}

.h_nav a:visited {
   color: #000000;
   text-decoration: none;
}
 


          Вернуться наверх  
 


Аватар пользователя

Чародейка писал(а):

немного разнится код

Ищите внимательно, кусок из патча затрагивает ссылку Отметить все прочтенным, а вы нашли кусок из низа страницы
Чародейка писал(а):

Еще вот этого куска вообще нет

Ищите по другим кускам, а лучше по переменным, к примеру по S_SELECT_SORT_DAYS
Да и вообще, смотрите внимательно названия шаблонов, может не в том файле ищите. В CSS файлах так же ищите по имени класса, а не по всему коду из патча, допустим .online


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Благодарю, но я уже понимаю, что косяк на косяке сидит, сейчас скачала стиль для 3.014 wow_alliance и подгоняю его под то что было, так вернее будет. Потом Вас с модами задолбаю))), если позволите).


          Вернуться наверх  
 


Аватар пользователя

Не задолбаете, не переживайте


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Патч ручного обновления версии phpbb3 до актуальной
Инструкции по обновлению с phpbb 3.0.2 до актуальной версии

DeaDRoMeO

56

6358

Аватар пользователя

17 дек 2015, 14:29

Чародейка

Аватар пользователя Как обновить форум phpbb3 (инструкция + скриншоты)
Большая обзорная статья со скриншотами и комментариями по обновлению версии форума phpbb3 патчем автоматического обновления

DeaDRoMeO

303

22872

Аватар пользователя

10 ноя 2016, 06:07

DeaDRoMeO

Аватар пользователя Как обновить форум phpBB 3.1 Ascraeus
Пошаговая инструкция обновления версий форума phpBB 3.1 / Ascraeus

DeaDRoMeO

2

320

Аватар пользователя

22 июн 2017, 06:32

DeaDRoMeO

Аватар пользователя Как добавить ВВ-код на форум phpBB3

DeaDRoMeO

2

2677

Аватар пользователя

28 сен 2014, 08:55

DeaDRoMeO

Аватар пользователя Как установить\обновить\удалить расширение phpBB 3.1
Правильная последовательность в работе с расширениями phpBB 3.1 / Ascraeus

DeaDRoMeO

2

381

Аватар пользователя

19 мар 2017, 20:31

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


Самая неформальная поддержка phpBB :P