сайт на данный момент является архивом информации по форуму phpbb 3.0. объяснения и помощь больше не предоставляются. старый сайт

Белк на PhpBB 3.0.14

информация по этому форуму. bbcode, моды и прочее, проверенное Белком. (перенос данных продолжается...)

Сегодня на конференции было 52 посетителей :: 1 зарегистрированный, 0 скрытых, 1 бот и 50 гостей (основано на активности посетителей за последние 24 часа)




 [ 1 сообщение ] 
Автор Сообщение
Не в сети
  (Андрей)
Администратор
Аватара пользователя

Стаж: 5 месяцев 20 дней
Сообщения: 228
Откуда: здешние мы

Стиль сайта: subsilver2
Настоящее имя: Андрей


phpBB Gallery phpbb3

мод организует на форуме довольно мощную галерею: с разнообразными правами доступа, созданием общих и персональных альбомов, вставку изображений из галереи в сообщения через bbcode, систему комментирования...

prosilver, главная страница

Если вам интересно - давайте поставим.

(правок многовато, но если ставить спокойно и правильно - всё заработает. проверено)

Скачать модификацию из архива сайта:

скачать из архива сайта

распаковать и содержимое папки root загрузить в корень сайта (где файл config.php).
если у вас на сервере уже есть папка umil - удалите её из папки root перед копированием.
в папке root присутствует папка install - форум будет недоступен для пользователей до окончания установки.

Теперь редактируем файлы форума:

общие правки независимо от стиля
Открыть index.php
Найти

Код: Выделить всё

// Assign index specific vars
$template->assign_vars(array(


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

Код: Выделить всё

if (class_exists('phpbb_gallery_integration'))
{
   phpbb_gallery_integration::index_total_images();
}



Открыть common.php
Найти

Код: Выделить всё

$cache      = new cache();
$db         = new $sql_db();


Вставить после найденного

Код: Выделить всё

// Setup class loader for the gallery
require($phpbb_root_path . 'includes/gallery/class_loader.' . $phpEx);
$gallery_class_loader = new phpbb_gallery_class_loader($phpbb_root_path, '.' . $phpEx, $cache);
$gallery_class_loader->register();



Открыть memberlist.php
Найти

Код: Выделить всё

         unset($module);
      }


Вставить после найденного

Код: Выделить всё

      if (class_exists('phpbb_gallery_integration'))
      {
         phpbb_gallery_integration::memberlist_viewprofile($member);
      }



Открыть ucp.php
Найти

Код: Выделить всё

// Do not display signature panel if not authed to do so
if (!$auth->acl_get('u_sig'))
{
   $module->set_display('profile', 'signature', false);
}


Вставить после найденного

Код: Выделить всё

if (class_exists('phpbb_gallery_integration'))
{
   phpbb_gallery_integration::ucp($module);
}



Открыть viewonline.php
Найти

Код: Выделить всё

$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_type, u.user_colour, s.session_id, s.session_time, s.session_page, s.session_ip, s.session_browser, s.session_viewonline, s.session_forum_id


К части строки

Код: Выделить всё

, s.session_forum_id


Добавить после найденного

Код: Выделить всё

, s.session_album_id


Найти

Код: Выделить всё

   preg_match('#^([a-z0-9/_-]+)#i', $row['session_page'], $on_page);
   if (!sizeof($on_page))
   {
      $on_page[1] = '';
   }


Вставить после найденного

Код: Выделить всё

   // phpBB Gallery integration
   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::viewonline_pre_switch($on_page, $row['session_page']);
   }


Найти

Код: Выделить всё

      case 'report':
         $location = $user->lang['REPORTING_POST'];
         $location_url = append_sid("{$phpbb_root_path}index.$phpEx");
      break;


Вставить после найденного

Код: Выделить всё

      // phpBB Gallery integration
      case phpbb_gallery_url::path('relative'):
         if (class_exists('phpbb_gallery_integration'))
         {
            phpbb_gallery_integration::viewonline($row['session_album_id']);
         }
      break;



Открыть viewtopic.php
Найти

Код: Выделить всё

'REPORT_IMG'      => $user->img('icon_post_report', 'REPORT_POST'),


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

Код: Выделить всё

'GALLERY_IMG'      => $user->img('icon_contact_gallery', 'PERSONAL_ALBUM'),


Найти

Код: Выделить всё

   'SELECT'   => 'u.*, z.friend, z.foe, p.*',


Заменить найденное на

Код: Выделить всё

   'SELECT'   => 'u.*, z.friend, z.foe, p.*, gu.personal_album_id, gu.user_images',


Найти

Код: Выделить всё

         'ON'   => 'z.user_id = ' . $user->data['user_id'] . ' AND z.zebra_id = p.poster_id'
      )


Вставить после найденного

Код: Выделить всё

      , array(
         'FROM'   => array(GALLERY_USERS_TABLE => 'gu'),
         'ON'   => 'gu.user_id = p.poster_id'
      )


Найти

Код: Выделить всё

'age'            => '',


Вставить после найденного

Код: Выделить всё

            'gallery_album'      => '',
            'gallery_images'   => '',
            'gallery_search'   => '',


Найти

Код: Выделить всё

'search'      => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id=$poster_id&sr=posts") : '',


Вставить после найденного

Код: Выделить всё

            'gallery_album'      => (phpbb_gallery_config::get('viewtopic_icon') && $row['personal_album_id']) ? phpbb_gallery_url::append_sid('album', "album_id=" . $row['personal_album_id']) : '',
            'gallery_images'   => (phpbb_gallery_config::get('viewtopic_images')) ? $row['user_images'] : 0,
            'gallery_search'   => (phpbb_gallery_config::get('viewtopic_images') && phpbb_gallery_config::get('viewtopic_link') && $row['user_images']) ? phpbb_gallery_url::append_sid('search', "user_id=$poster_id") : '',


Найти

Код: Выделить всё

'U_JABBER'      => $user_cache[$poster_id]['jabber'],


Вставить после найденного

Код: Выделить всё

      'U_GALLERY'         => $user_cache[$poster_id]['gallery_album'],
      'GALLERY_IMAGES'   => $user_cache[$poster_id]['gallery_images'],
      'U_GALLERY_SEARCH'   => $user_cache[$poster_id]['gallery_search'],



Открыть includes/cache.php
Найти

Код: Выделить всё

      return $hook_files;
   }


Вставить после найденного

Код: Выделить всё

   /**
   * Obtain list of albums
   */
   function obtain_album_list()
   {
      static $albums;

      if (isset($albums))
      {
         return $albums;
      }

      if (($albums = $this->get('_albums')) === false)
      {
         if (class_exists('phpbb_gallery_integration'))
         {
            $albums = phpbb_gallery_integration::cache();
            $this->put('_albums', $albums);
         }
      }

      return $albums;
   }



Открыть includes/constants.php
Найти

Код: Выделить всё

define('LOG_USERS', 3);


Вставить после найденного (если номер 4 занят - поставьте следующий)

Код: Выделить всё

define('LOG_GALLERY', 4);


Найти

Код: Выделить всё

// Additional tables


Вставить после найденного

Код: Выделить всё

define('GALLERY_ALBUMS_TABLE',         $table_prefix . 'gallery_albums');
define('GALLERY_ATRACK_TABLE',         $table_prefix . 'gallery_albums_track');
define('GALLERY_COMMENTS_TABLE',      $table_prefix . 'gallery_comments');
define('GALLERY_CONFIG_TABLE',         $table_prefix . 'gallery_config');
define('GALLERY_CONTESTS_TABLE',      $table_prefix . 'gallery_contests');
define('GALLERY_FAVORITES_TABLE',      $table_prefix . 'gallery_favorites');
define('GALLERY_IMAGES_TABLE',         $table_prefix . 'gallery_images');
define('GALLERY_MODSCACHE_TABLE',      $table_prefix . 'gallery_modscache');
define('GALLERY_PERMISSIONS_TABLE',      $table_prefix . 'gallery_permissions');
define('GALLERY_RATES_TABLE',         $table_prefix . 'gallery_rates');
define('GALLERY_REPORTS_TABLE',         $table_prefix . 'gallery_reports');
define('GALLERY_ROLES_TABLE',         $table_prefix . 'gallery_roles');
define('GALLERY_USERS_TABLE',         $table_prefix . 'gallery_users');
define('GALLERY_WATCH_TABLE',         $table_prefix . 'gallery_watch');



Открыть includes/functions.php
Найти

Код: Выделить всё

   $forum_id      = ($mode == 'mod') ? intval(array_shift($args)) : '';
   $topic_id      = ($mode == 'mod') ? intval(array_shift($args)) : '';


Вставить после найденного

Код: Выделить всё

   $album_id      = ($mode == 'gallery') ? intval(array_shift($args)) : '';
   $image_id      = ($mode == 'gallery') ? intval(array_shift($args)) : '';


Найти

Код: Выделить всё

      case 'critical':
         $sql_ary['log_type'] = LOG_CRITICAL;
      break;


Вставить после найденного

Код: Выделить всё

      case 'gallery':
         $sql_ary += array(
            'log_type'   => LOG_GALLERY,
            'album_id'   => $album_id,
            'image_id'   => $image_id,
         );
      break;


Найти

Код: Выделить всё

// The following assigns all _common_ variables that may be used at any point in a template.


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

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::page_header();
   }



Открыть includes/functions_admin.php
Найти

Код: Выделить всё

      case 'critical':
         $log_type = LOG_CRITICAL;
         $sql_forum = '';
      break;


Вставить после найденного

Код: Выделить всё

      case 'gallery':
         $log_type = LOG_GALLERY;
         $sql_forum = '';
      break;


Найти

Код: Выделить всё

'viewforum'         => ($row['forum_id'] && $auth->acl_get('f_read', $row['forum_id'])) ? append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']) : false,


Вставить после найденного

Код: Выделить всё

         'viewalbum'         => ((isset($row['album_id']) && $row['album_id'] && ($log_type == LOG_GALLERY)) ? phpbb_gallery_url::append_sid('album', 'album_id=' . $row['album_id']) : false),
         'viewimage'         => ((isset($row['image_id']) && $row['image_id'] && ($log_type == LOG_GALLERY)) ? phpbb_gallery_url::append_sid('image_page', 'album_id=' . $row['album_id'] . '&image_id=' . $row['image_id']) : false),



Открыть includes/functions_display.php
Найти

Код: Выделить всё

   $num_predefined_bbcodes = 22;


Вставить после найденного

Код: Выделить всё

   $user->add_lang('mods/info_acp_gallery');


Найти

Код: Выделить всё

}

   /**
   * Display reasons
   */
   function display_reasons($reason_id = 0)


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

Код: Выделить всё

if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::posting_display_popup();
   }



Открыть includes/functions_posting.php
Найти

Код: Выделить всё

         'U_MORE_SMILIES'       => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=smilies&f=' . $forum_id))
      );
   }


Вставить после найденного

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::generate_smilies($mode, $forum_id);
   }



Открыть includes/functions_user.php
Найти

Код: Выделить всё

   if ($config['newest_username'] == $old_name)


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

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::user_update_name($old_name, $new_name);
   }


Найти (показана только часть строки)

Код: Выделить всё

   $table_ary = array(USERS_TABLE, USER_GROUP_TABLE, TOPICS_WATCH_TABLE, FORUMS_WATCH_TABLE, ACL_USERS_TABLE, TOPICS_TRACK_TABLE,


Вставить после найденного (после окончания строки. с новой)

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      $table_ary = phpbb_gallery_integration::user_delete($mode, $user_id, $post_username, $table_ary);
   }


Найти

Код: Выделить всё

   // Delete auth entries from the groups table
   $sql = 'DELETE FROM ' . ACL_GROUPS_TABLE . "
      WHERE group_id = $group_id";
   $db->sql_query($sql);


Вставить после найденного

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::group_delete($group_id, $group_name);
   }


Найти

Код: Выделить всё

   $db->sql_transaction('commit');

   // Clear permissions cache of relevant users
   $auth->acl_clear_prefetch($user_id_ary);


Вставить после найденного

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::group_user_add($group_id, $user_id_ary);
   }


Найти

Код: Выделить всё

   $sql = 'DELETE FROM ' . USER_GROUP_TABLE . "
      WHERE group_id = $group_id
         AND " . $db->sql_in_set('user_id', $user_id_ary);
   $db->sql_query($sql);

   // Clear permissions cache of relevant users
   $auth->acl_clear_prefetch($user_id_ary);


Вставить после найденного

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::group_user_del($group_id, $user_id_ary);
   }


Найти

Код: Выделить всё

      if (in_array($config['newest_user_id'], $user_id_ary))
      {
         set_config('newest_user_colour', $sql_ary['user_colour'], true);
      }
   }


Вставить после найденного

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::group_set_user_default($user_id_ary, $sql_ary);
   }



Открыть includes/session.php
Найти

Код: Выделить всё

'forum'            => (isset($_REQUEST['f']) && $_REQUEST['f'] > 0) ? (int) $_REQUEST['f'] : 0,


Вставить после найденного

Код: Выделить всё

'album'            => (isset($_REQUEST['album_id']) && $_REQUEST['album_id'] > 0) ? (int) $_REQUEST['album_id'] : 0,


Найти

Код: Выделить всё

                     $sql_ary = array('session_time' => $this->time_now);

                     if ($this->update_session_page)
                     {
                        $sql_ary['session_page'] = substr($this->page['page'], 0, 199);
                        $sql_ary['session_forum_id'] = $this->page['forum'];


Вставить после найденного

Код: Выделить всё

$sql_ary['session_album_id'] = $this->page['album'];


Найти

Код: Выделить всё

                     // If the database is not yet updated, there will be an error due to the session_forum_id
                     // @todo REMOVE for 3.0.2


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

Код: Выделить всё

                     if ($result === false)
                     {
                        unset($sql_ary['session_album_id']);
                        $db->sql_return_on_error(true);

                        $sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
                           WHERE session_id = '" . $db->sql_escape($this->session_id) . "'";
                        $result = $db->sql_query($sql);

                        $db->sql_return_on_error(false);
                     }


Найти

Код: Выделить всё

               $sql_ary = array('session_time' => $this->time_now, 'session_last_visit' => $this->time_now, 'session_admin' => 0);

               if ($this->update_session_page)
               {
                  $sql_ary['session_page'] = substr($this->page['page'], 0, 199);
                  $sql_ary['session_forum_id'] = $this->page['forum'];


Вставить после найденного

Код: Выделить всё

$sql_ary['session_album_id'] = $this->page['album'];


Найти

Код: Выделить всё

         'session_viewonline'   => ($viewonline) ? 1 : 0,
      );

      if ($this->update_session_page)
      {
         $sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199);
         $sql_ary['session_forum_id'] = $this->page['forum'];


Вставить после найденного

Код: Выделить всё

$sql_ary['session_album_id'] = $this->page['album'];


Найти

Код: Выделить всё

      $sql_ary['session_id'] = (string) $this->session_id;
      $sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199);
      $sql_ary['session_forum_id'] = $this->page['forum'];


Вставить после найденного

Код: Выделить всё

$sql_ary['session_album_id'] = $this->page['album'];



Открыть includes/acp/acp_language.php
Найти

Код: Выделить всё

'icon_back_top', 'icon_contact_aim', 'icon_contact_email', 'icon_contact_icq', 'icon_contact_jabber', 'icon_contact_msnm', 'icon_contact_pm', 'icon_contact_yahoo', 'icon_contact_www', 'icon_post_delete', 'icon_post_edit', 'icon_post_info', 'icon_post_quote', 'icon_post_report', 'icon_user_online', 'icon_user_offline', 'icon_user_profile', 'icon_user_search', 'icon_user_warn', 'button_pm_forward', 'button_pm_new', 'button_pm_reply', 'button_topic_locked', 'button_topic_new', 'button_topic_reply',


К части строки

Код: Выделить всё

 'button_topic_reply',


Добавить после

Код: Выделить всё

 'button_upload_image',



Открыть includes/acp/acp_logs.php
Найти

Код: Выделить всё

$checks = array('viewtopic', 'viewlogs', 'viewforum');


Вставить после найденного

Код: Выделить всё

         if ($mode == 'gallery')
         {
            $checks = array('viewimage', 'viewalbum');
         }



Открыть includes/acp/acp_styles.php
Найти

Код: Выделить всё

'icon_back_top', 'icon_contact_aim', 'icon_contact_email', 'icon_contact_icq', 'icon_contact_jabber', 'icon_contact_msnm', 'icon_contact_pm', 'icon_contact_yahoo', 'icon_contact_www', 'icon_post_delete', 'icon_post_edit', 'icon_post_info', 'icon_post_quote', 'icon_post_report', 'icon_user_online', 'icon_user_offline', 'icon_user_profile', 'icon_user_search', 'icon_user_warn', 'button_pm_forward', 'button_pm_new', 'button_pm_reply', 'button_topic_locked', 'button_topic_new', 'button_topic_reply',


К части строки

Код: Выделить всё

 'button_topic_reply',


Вставить после

Код: Выделить всё

 'button_upload_image',



Открыть includes/acp/info/acp_logs.php
Найти

Код: Выделить всё

'critical'   => array('title' => 'ACP_CRITICAL_LOGS', 'auth' => 'acl_a_viewlogs', 'cat' => array('ACP_FORUM_LOGS')),


Вставить после найденного

Код: Выделить всё

'gallery'   => array('title' => 'ACP_GALLERY_LOGS', 'auth' => 'acl_a_viewlogs', 'cat' => array('ACP_FORUM_LOGS')),



Открыть includes/ucp/ucp_pm_viewmessage.php
Найти

Код: Выделить всё

   // Display not already displayed Attachments for this post, we already parsed them. ;)
   if (isset($attachments) && sizeof($attachments))
   {
      foreach ($attachments as $attachment)
      {


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

Код: Выделить всё

   if (class_exists('phpbb_gallery_integration'))
   {
      phpbb_gallery_integration::ucp_pm_viewmessage($id, $mode, $folder_id, $msg_id, $folder, $message_row);
   }



Открыть includes/ucp/ucp_zebra.php
Найти

Код: Выделить всё

                  $sql = 'DELETE FROM ' . ZEBRA_TABLE . '
                     WHERE user_id = ' . $user->data['user_id'] . '
                        AND ' . $db->sql_in_set('zebra_id', $data['usernames']);
                  $db->sql_query($sql);


Вставить после найденного

Код: Выделить всё

                  if (class_exists('phpbb_gallery_integration'))
                  {
                     phpbb_gallery_integration::ucp_zebra('remove', $data['usernames'], (int) $user->data['user_id']);
                  }


Найти

Код: Выделить всё

$db->sql_multi_insert(ZEBRA_TABLE, $sql_ary);


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

Код: Выделить всё

                           if (class_exists('phpbb_gallery_integration'))
                           {
                              phpbb_gallery_integration::ucp_zebra('add', $user_id_ary, (int) $user->data['user_id']);
                           }


для стилей на основе prosilver
Открыть styles/prosilver/imageset/en/imageset.cfg и для русского варианта styles/prosilver/imageset/ru/imageset.cfg (правки одинаковые в обоих случаях). если английский язык не нужен - делайте правки только для ru/
Найти

Код: Выделить всё

img_button_topic_reply = button_topic_reply.gif*25*96


Вставить после найденного

Код: Выделить всё

img_button_upload_image = button_upload_image.gif*25*96



Открыть styles/prosilver/template/index_body.html
Найти

Код: Выделить всё

<p>{TOTAL_POSTS} &bull; {TOTAL_TOPICS} &bull; {TOTAL_USERS} &bull; {NEWEST_USER}</p>


К части строки

Код: Выделить всё

{TOTAL_TOPICS}


Вставить после найденного

Код: Выделить всё

<!-- IF TOTAL_IMAGES --> &bull; {TOTAL_IMAGES}<!-- ENDIF -->



Открыть styles/prosilver/template/memberlist_view.html
Найти

Код: Выделить всё

<!-- IF S_GROUP_OPTIONS --><dt>{L_USERGROUPS}:</dt> <dd><select name="g">{S_GROUP_OPTIONS}</select> <input type="submit" name="submit" value="{L_GO}" class="button2" /></dd><!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

<!-- IF U_GALLERY --><dt>{L_GALLERY}:</dt> <dd><a href="{U_GALLERY}">{SHOW_PERSONAL_ALBUM_OF}</a></dd><!-- ENDIF -->


Найти

Код: Выделить всё

         <dt>{L_TOTAL_POSTS}:</dt>
            <dd>{POSTS} <!-- IF S_DISPLAY_SEARCH -->| <strong><a href="{U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a></strong><!-- ENDIF -->
               <!-- IF POSTS_PCT --><br />({POSTS_PCT} / {POSTS_DAY})<!-- ENDIF -->
               <!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --><br />(<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>)<!-- ELSEIF POSTS_IN_QUEUE --><br />({L_POSTS_IN_QUEUE})<!-- ENDIF -->
            </dd>


Вставить после

Код: Выделить всё

         <!-- IF TOTAL_IMAGES -->
            <dt>{L_TOTAL_IMAGES}:</dt>
               <dd>{IMAGES} | <strong><a href="{U_SEARCH_GALLERY}">{L_SEARCH_USER_IMAGES}</a></strong>
                  <!-- IF IMAGES_PCT --><br />({IMAGES_PCT} / {IMAGES_DAY})<!-- ENDIF -->
               </dd>
         <!-- ENDIF -->


Найти

Код: Выделить всё

<!-- INCLUDE jumpbox.html -->


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

Код: Выделить всё

<!-- INCLUDE gallery/recent_body.html -->



Открыть styles/prosilver/template/overall_header.html
Найти



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

Код: Выделить всё

<!-- INCLUDE gallery/plugins_header.html -->


Найти

Код: Выделить всё

<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>


Вставить после найденного

Код: Выделить всё

<li class="icon-gallery"><a href="{U_GALLERY_MOD}" title="{L_GALLERY_EXPLAIN}">{L_GALLERY}</a></li>



Открыть styles/prosilver/template/posting_buttons.html
Найти

Код: Выделить всё

      <input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}" />
   <!-- END custom_tags -->


Вставить после найденного

Код: Выделить всё

   <!-- IF S_GALLERY_POPUP -->
      <input type="button" class="button2" name="gallery_button" value="{L_GALLERY_POPUP}" onclick="popup('{U_GALLERY_POPUP}', 800, 600);" title="{L_GALLERY_POPUP_HELPLINE}" />
   <!-- ENDIF -->



Открыть styles/prosilver/template/posting_smilies.html
Найти

Код: Выделить всё

   var text_name = 'message';


Вставить после найденного

Код: Выделить всё

   <!-- IF S_GALLERY_SMILIES_POPUP -->
      text_name = opener.text_name;
   <!-- ENDIF -->



Открыть styles/prosilver/template/ucp_pm_viewmessage.html
Найти

Код: Выделить всё

<dd><strong>{L_POSTS}:</strong> {AUTHOR_POSTS}</dd>


Вставить после найденного

Код: Выделить всё

<!-- IF GALLERY_IMAGES != '' --><dd><strong>{L_IMAGES}:</strong> <!-- IF U_GALLERY_SEARCH --><a href="{U_GALLERY_SEARCH}">{GALLERY_IMAGES}</a><!-- ELSE -->{GALLERY_IMAGES}<!-- ENDIF --></dd><!-- ENDIF -->


Найти

Код: Выделить всё

<!-- IF U_JABBER --><li class="jabber-icon"><a href="{U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

<!-- IF U_GALLERY --><li class="gallery-icon"><a href="{U_GALLERY}" title="{L_PERSONAL_ALBUM}"><span>{L_PERSONAL_ALBUM}</span></a></li><!-- ENDIF -->



Открыть styles/prosilver/template/viewtopic_body.html
Найти

Код: Выделить всё

<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

<!-- IF postrow.GALLERY_IMAGES != '' --><dd><strong>{L_IMAGES}:</strong> <!-- IF postrow.U_GALLERY_SEARCH --><a href="{postrow.U_GALLERY_SEARCH}">{postrow.GALLERY_IMAGES}</a><!-- ELSE -->{postrow.GALLERY_IMAGES}<!-- ENDIF --></dd><!-- ENDIF -->


Найти

Код: Выделить всё

<!-- IF postrow.U_JABBER --><li class="jabber-icon"><a href="{postrow.U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

<!-- IF postrow.U_GALLERY --><li class="gallery-icon"><a href="{postrow.U_GALLERY}" title="{L_PERSONAL_ALBUM}"><span>{L_PERSONAL_ALBUM}</span></a></li><!-- ENDIF -->



Открыть styles/prosilver/theme/stylesheet.css
Найти

Код: Выделить всё

@import url("colours.css");


Вставить после найденного

Код: Выделить всё

@import url("gallery.css");


для стилей на основе subsilver2
Открыть styles/subsilver2/imageset/en/imageset.cfg и для русского варианта styles/prosilver/imageset/ru/imageset.cfg (правки одинаковые в обоих случаях). если английский язык не нужен - делайте правки только для ru/
Найти

Код: Выделить всё

img_button_topic_reply = button_topic_reply.gif


Вставить после найденного

Код: Выделить всё

img_button_upload_image = button_upload_image.gif



Открыть styles/subsilver2/template/index_body.html
Найти

Код: Выделить всё

<td class="row1" width="100%" valign="middle"><p class="genmed">{TOTAL_POSTS} | {TOTAL_TOPICS} | {TOTAL_USERS} | {NEWEST_USER}</p></td>


К части строки

Код: Выделить всё

{TOTAL_TOPICS}


Добавить после

Код: Выделить всё

<!-- IF TOTAL_IMAGES --> | {TOTAL_IMAGES}<!-- ENDIF -->



Открыть styles/subsilver2/template/memberlist_view.html
Найти

Код: Выделить всё

         <tr>
            <td class="gen" align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap">{L_TOTAL_POSTS}: </td>
            <td><b class="gen">{POSTS}</b><span class="genmed"><!-- IF POSTS_PCT --><br />[{POSTS_PCT} / {POSTS_DAY}]<!-- ENDIF -->
            <!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --><br />[<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>]<!-- ELSEIF POSTS_IN_QUEUE --><br />[{L_POSTS_IN_QUEUE}]<!-- ENDIF -->
            <!-- IF S_DISPLAY_SEARCH --><br /><a href="{U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a><!-- ENDIF --></span></td>
         </tr>


Вставить после найденного

Код: Выделить всё

         <!-- IF TOTAL_IMAGES -->
            <tr>
               <td class="gen" align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap">{L_TOTAL_IMAGES}: </td>
               <td><b class="gen">{IMAGES}</b><span class="genmed"><!-- IF IMAGES_PCT --><br />[{IMAGES_PCT} / {IMAGES_DAY}]<!-- ENDIF --><br /><a href="{U_SEARCH_GALLERY}">{L_SEARCH_USER_IMAGES}</a></span></td>
            </tr>
         <!-- ENDIF -->


Найти

Код: Выделить всё

         <tr>
            <td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_WEBSITE}: </td>
            <td><!-- IF U_WWW --><b><a class="genmed" href="{U_WWW}">{U_WWW}</a></b><!-- ENDIF --></td>
         </tr>


Вставить после найденного

Код: Выделить всё

         <!-- IF U_GALLERY -->
         <tr>
            <td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_GALLERY}: </td>
            <td><b><a class="genmed" href="{U_GALLERY}">{SHOW_PERSONAL_ALBUM_OF}</a></b></td>
         </tr>
         <!-- ENDIF -->


Найти

Код: Выделить всё

<!-- INCLUDE breadcrumbs.html -->


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

Код: Выделить всё

<!-- INCLUDE gallery/recent_body.html -->



Открыть styles/subsilver2/template/overall_header.html
Найти



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

Код: Выделить всё

<!-- INCLUDE gallery/plugins_header.html -->


Найти

Код: Выделить всё

<a href="{U_FAQ}"><img src="{T_THEME_PATH}/images/icon_mini_faq.gif" width="12" height="13" alt="*" /> {L_FAQ}</a>


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

Код: Выделить всё

<a href="{U_GALLERY_MOD}" title="{L_GALLERY_EXPLAIN}"><img src="{T_THEME_PATH}/images/icon_mini_gallery.gif" width="12" height="13" alt="*" /> {L_GALLERY}</a>&nbsp; &nbsp;



Открыть styles/subsilver2/template/posting_buttons.html
Найти

Код: Выделить всё

         <input type="button" class="btnbbcode" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})"<!-- IF custom_tags.BBCODE_HELPLINE !== '' --> onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" onmouseout="helpline('tip')"<!-- ENDIF --> />
      <!-- END custom_tags -->


Вставить после найденного

Код: Выделить всё

      <!-- IF S_GALLERY_POPUP -->
         <input type="button" class="btnbbcode" name="gallery_button" value="{L_GALLERY_POPUP}" onclick="popup('{U_GALLERY_POPUP}', 800, 600);" />
      <!-- ENDIF -->



Открыть styles/subsilver2/template/posting_smilies.html
Найти

Код: Выделить всё

   var text_name = 'message';


Вставить после найденного

Код: Выделить всё

   <!-- IF S_GALLERY_SMILIES_POPUP -->
      text_name = opener.text_name;
   <!-- ENDIF -->



Открыть styles/subsilver2/template/viewtopic_body.html
Найти

Код: Выделить всё

<!-- IF postrow.POSTER_POSTS != '' --><br /><b>{L_POSTS}:</b> {postrow.POSTER_POSTS}<!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

<!-- IF postrow.GALLERY_IMAGES != '' --><br /><b>{L_IMAGES}:</b> <!-- IF postrow.U_GALLERY_SEARCH --><a href="{postrow.U_GALLERY_SEARCH}">{postrow.GALLERY_IMAGES}</a><!-- ELSE -->{postrow.GALLERY_IMAGES}<!-- ENDIF --><!-- ENDIF -->


Найти

Код: Выделить всё

<td><div class="gensmall" style="float: {S_CONTENT_FLOW_BEGIN};">&nbsp;<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}">{PROFILE_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_PM --><a href="{postrow.U_PM}">{PM_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_EMAIL --><a href="{postrow.U_EMAIL}">{EMAIL_IMG}</a> <!-- ENDIF -->&nbsp;</div> <div class="gensmall" style="float: {S_CONTENT_FLOW_END};"><!-- IF not S_IS_BOT --><!-- IF postrow.U_EDIT --><a href="{postrow.U_EDIT}">{EDIT_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_QUOTE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a> <!-- ENDIF --> <!-- ENDIF -->&nbsp;</div></td>


К части строки

Код: Выделить всё

<!-- IF postrow.U_EMAIL --><a href="{postrow.U_EMAIL}">{EMAIL_IMG}</a> <!-- ENDIF -->


Добавить после

Код: Выделить всё

 <!-- IF postrow.U_GALLERY --><a href="{postrow.U_GALLERY}"><img src="{T_IMAGESET_LANG_PATH}/icon_contact_gallery.gif" alt="{L_PERSONAL_ALBUM}" /></a> <!-- ENDIF -->



Завершение установки:

Для завершения установки необходимо запустить через браузер инсталлятор по адресу

Код: Выделить всё

http://ваш сайт/install/index.php


окно установки

после завершения установки удалите папку install с форума.

 


проблемы с редактированием. файл ucp.php, includes/session.php, styles/subsilver2/template/posting_smilies.html
в phpbb версии 3.0.12 в файле ucp.php отсутствует строка для редактирования,
поэтому в данном случае можно просто добавить весь необходимый код (вместе с правками).
найти в файле строку

Код: Выделить всё

// Do not display subscribed topics/forums if not allowed
if (!$config['allow_topic_notify'] && !$config['allow_forum_notify'])
{
   $module->set_display('main', 'subscribed', false);
}


Добавить после найденного

Код: Выделить всё

 
// Do not display signature panel if not authed to do so
if (!$auth->acl_get('u_sig'))
{
   $module->set_display('profile', 'signature', false);
}
 
if (class_exists('phpbb_gallery_integration'))
{
   phpbb_gallery_integration::ucp($module);
}


 


Открыть includes/session.php

найти

Код: Выделить всё

            'forum'            => (isset($_REQUEST['f']) && $_REQUEST['f'] > 0) ? (int) $_REQUEST['f'] : 0,


вставить после

Код: Выделить всё

'album'            => (isset($_REQUEST['album_id']) && $_REQUEST['album_id'] > 0) ? (int) $_REQUEST['album_id'] : 0,


столкнулся с ситуацией, что в чистом файле session.php данная строка для коррекции отсутствовала, а на её месте было это

Код: Выделить всё

         'forum'            => $forum_id,


поставил необходимые правки после имеющегося кода

 


Открыть styles/subsilver2/template/posting_smilies.html

найти

Код: Выделить всё

 var text_name = 'message';


вставить после найденного

Код: Выделить всё

   <!-- IF S_GALLERY_SMILIES_POPUP -->
      text_name = opener.text_name;
   <!-- ENDIF -->


но, по факту, в этом файле уже есть эта строка и без условий

Код: Выделить всё

   var form_name = opener.form_name;
   var text_name = opener.text_name;


соответственно, никаких правок делать не надо.

// опробовано у себя на форуме


насчёт плагинов
для просмотра полноразмерных изображений в галерее применяется 3 вида плагинов.
по умолчанию сами плагины отсутствовали.

я скачал с официальных сайтов все три плагина - проверил на рабочей галерее.
один не пошёл - shadowbox - поэтому папку с ним в мод не добавляю.
хотите поэкспериментировать - скачайте сами с офсайта: http://shadowbox-js.com/
остальные два проверены и добавлены. это последние версии на момент скачивания.

установка:
в папке contrib/plugins/ находятся проверочные версии. (например lytebox_v5.5)
их надо распаковать, содержимое папки загрузить в соответствующую папку на сайте по адресу ваш сайт/gallery/plugins/
после чего в админке в конфигурации галереи можно выбрать способ открытия изображения.

выбор плагина

успехов в применении.

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


вывод последних изображений в галерее на главную страницу (index)
открыть index.php

Найти

Код: Выделить всё

if (class_exists('phpbb_gallery_integration'))
{
   phpbb_gallery_integration::index_total_images();
}


Вставить после найденного

Код: Выделить всё

if (phpbb_gallery_config::get('rrc_gindex_mode'))
{
   $ints = array(
      phpbb_gallery_config::get('rrc_gindex_rows'),
      phpbb_gallery_config::get('rrc_gindex_columns'),
      phpbb_gallery_config::get('rrc_gindex_crows'),
      phpbb_gallery_config::get('rrc_gindex_contests'),
   );
   $gallery_block = new phpbb_gallery_block(phpbb_gallery_config::get('rrc_gindex_mode'), phpbb_gallery_config::get('rrc_gindex_display'), $ints, phpbb_gallery_config::get('rrc_gindex_comments'), phpbb_gallery_config::get('rrc_gindex_pegas'));
   $gallery_block->display();
}


Открыть index_body.html вашего стиля

Найти

Код: Выделить всё

<!-- INCLUDE forumlist_body.html -->


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

Код: Выделить всё

<!-- INCLUDE gallery/imageblock_body.html -->


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

Если нужны только последние изображения - в админке, в настройках галереи в строке

Режим:
Выбор “Случайные изображения” может потребовать дополнительную нагрузку на базу данных при ее большом обьеме!


выберите только последние изображения

почистите кэш и всё.


если после установки мода есть проблема с "двойными кликами"
от пользователя, который столкнулся с этой проблемой:

Экспериментируя в админке в настройках мода, я нашел решение с двойным кликом по стрелке. Для устранения этого неприятного бага, всего навсего, необходимо правильно выставить настройки:

Код: Выделить всё

Нажатие на название под изображением (в любом месте галереи):Показать изображение вкладкой браузера
Нажатие на иконку последнего вложенного изображения в альбом:Показать изображение вкладкой браузера

У меня же стоял везде плагин highslide
Короче говоря так:
Изображение
Проблема решена :idea:


сканы с установленного форума
скан с администраторского раздела

скан с личного раздела

новые bbcode для создания тем

ссылка на личные альбомы в минипрофиле пользователя

вывод ссылки на галерею в шапке форума




трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ 1 сообщение ] 

Кто сейчас на конференции:

Всего посетителей: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (63) здесь было 23 май 2026, 12:35

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Часовой пояс: UTC + 3 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

cron

Текущее время: 26 июн 2026, 20:51

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB.