| Администратор |
 |
Стаж: 5 месяцев 20 дней Сообщения: 228 Откуда: здешние мы
Стиль сайта: subsilver2
Настоящее имя: Андрей
|
phpBB Gallery phpbb3мод организует на форуме довольно мощную галерею: с разнообразными правами доступа, созданием общих и персональных альбомов, вставку изображений из галереи в сообщения через bbcode, систему комментирования...  Если вам интересно - давайте поставим. (правок многовато, но если ставить спокойно и правильно - всё заработает. проверено) Скачать модификацию из архива сайта: скачать из архива сайтараспаковать и содержимое папки 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Найти Вставить после найденного Код: Выделить всё // 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Найти Вставить после найденного Код: Выделить всё 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К части строки Добавить после найденного Найти Код: Выделить всё 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.*, 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' )Найти Вставить после найденного Код: Выделить всё '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Найти Вставить после найденного Код: Выделить всё /** * 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Найти Вставить после найденного (если номер 4 занят - поставьте следующий) Найти Вставить после найденного Код: Выделить всё 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Найти Вставить после найденного Найти Код: Выделить всё }
/** * 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',К части строки Добавить после Открыть 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',К части строки Вставить после Открыть 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} • {TOTAL_TOPICS} • {TOTAL_USERS} • {NEWEST_USER}</p>К части строки Вставить после найденного Код: Выделить всё <!-- IF TOTAL_IMAGES --> • {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 -->Найти Вставить перед найденным Открыть 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Найти Вставить после найденного Код: Выделить всё <!-- 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Найти Вставить после найденного

для стилей на основе 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>К части строки Добавить после Код: Выделить всё <!-- 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 -->Найти Вставить перед найденным Открыть 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> Открыть 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Найти Вставить после найденного Код: Выделить всё <!-- 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};"> <!-- 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 --> </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 --> </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 -->
Завершение установки: Для завершения установки необходимо запустить через браузер инсталлятор по адресу  после завершения установки удалите папку 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 данная строка для коррекции отсутствовала, а на её месте было это поставил необходимые правки после имеющегося кода Открыть styles/subsilver2/template/posting_smilies.htmlнайти вставить после найденного Код: Выделить всё <!-- 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 gallery/imageblock_body.html -->В таком виде на главной будут выводиться последние и случайные изображения. Если нужны только последние изображения - в админке, в настройках галереи в строке Режим: Выбор “Случайные изображения” может потребовать дополнительную нагрузку на базу данных при ее большом обьеме!
выберите только последние изображенияпочистите кэш и всё.

если после установки мода есть проблема с "двойными кликами"
от пользователя, который столкнулся с этой проблемой: Экспериментируя в админке в настройках мода, я нашел решение с двойным кликом по стрелке. Для устранения этого неприятного бага, всего навсего, необходимо правильно выставить настройки: Код: Выделить всё Нажатие на название под изображением (в любом месте галереи):Показать изображение вкладкой браузера Нажатие на иконку последнего вложенного изображения в альбом:Показать изображение вкладкой браузераУ меня же стоял везде плагин highslide Короче говоря так: Проблема решена :idea:

сканы с установленного форума
|
|