Количество вложений в профиле пользователя

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Количество вложений в профиле пользователя

Сообщение sweetah »

Нужно чтобы количество вложений пользователя отображалось у него в профиле.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Количество вложений в профиле пользователя

Сообщение Sheer »

memberlist.php
Найти

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

// Dump it out to the template       
Перед вставить

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

$sql = 'SELECT COUNT(attach_id) as total_user_attach FROM '.ATTACHMENTS_TABLE .' WHERE poster_id = '.$data['user_id'].'';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$total_user_attach = $row['total_user_attach'];
$db->sql_freeresult($result); 
Найти

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

    return array( 
После вставить

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

        'TOTAL_ATTACHMENTS'    => $total_user_attach, 
memberlist_view.html
Найти

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

<!-- IF S_SHOW_ACTIVITY -->
Перед вставить
(prosilver)

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

<dt>{L_ATTACHMENTS}: </dt><dd>{TOTAL_ATTACHMENTS}</dd></dt>
(subsilver2)

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

<tr>
<td class="gen" align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap">{L_ATTACHMENTS}: </td>
<td><b class="gen">{TOTAL_ATTACHMENTS}</b></td>
</tr>
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Количество вложений в профиле пользователя

Сообщение Shredder »

Sheer
А поиск сообщений с вложениями по клику на число трудно организовать?
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Количество вложений в профиле пользователя

Сообщение sweetah »

Sheer, спасибо! ;) Возможно стоит это перенести в другой раздел, кому-нибудь ещё пригодится.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Количество вложений в профиле пользователя

Сообщение Sheer »

Shredder писал(а):поиск сообщений с вложениями по клику
search.php
Найти

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

// Define initial vars   
После вставить

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

$att_author        = request_var('att_author', '', true); 
Найти

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

case 'active_topics': 
Перед вставить

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

case 'attachments' :
$sql_sort = 'ORDER BY t.post_time';
$sql = 'SELECT post_id FROM ' . POSTS_TABLE . ' WHERE poster_id = '. $att_author .' AND post_attachment > 0';
$field = 'post_id';
break; 
memberlist.php
Найти

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

'USER_ICQ'            => $data['user_icq'], 
Перед вставить

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

'U_SEARCH_USER_ATT'    => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=attachments&att_author='. $user_id .'') : '', 
memberlist_view.html
Найти

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

{TOTAL_ATTACHMENTS}
Заменить на

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

<a href="{U_SEARCH_USER_ATT}">{TOTAL_ATTACHMENTS}</a>
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Количество вложений в профиле пользователя

Сообщение Shredder »

Спасибо.
А кнопки благодарности нет...

И ещё global $db; для самой первой правки в memberlist.php надо добавить, иначе ошибка.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Количество вложений в профиле пользователя

Сообщение Sheer »

Да, конечно... в функции show_profile. У меня давно так, даже не обратил внимания.
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Количество вложений в профиле пользователя

Сообщение sweetah »

Shredder писал(а):global $db;
Sheer писал(а):в функции show_profile
Господа, о чем это вы? Можно поподробнее? :)
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Количество вложений в профиле пользователя

Сообщение Shredder »

sweetah
В memberlist.php найди:

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

function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false)
{
Добавь после:

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

global $db;
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Количество вложений в профиле пользователя

Сообщение sweetah »

У меня поиск по сообщениям с вложениям работает с ошибками. То есть нормально открывается первая страница поиска (имеет ссылку вида ляляля/search.php?search_id=attachments&att_author=2). Но навигация по страницам найденных результатов не работает - кликабельные номера страниц имеют ссылки типа ляляля/search.php?st=0&sk=t&sd=d&sr=posts&search_id=attachments&start=10. По клику выдает

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

SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND post_attachment > 0 LIMIT 10, 991' at line 1 [1064]

SQL

SELECT post_id FROM phpbb_posts WHERE poster_id = AND post_attachment > 0 LIMIT 10, 991

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/db/mysqli.php
LINE: 205
CALL: dbal_mysqli->sql_query()

FILE: includes/db/dbal.php
LINE: 170
CALL: dbal_mysqli->_sql_query_limit()

FILE: search.php
LINE: 471
CALL: dbal->sql_query_limit()
Хотя если вручную подставить вот таким образом ляляля/search.php?search_id=attachments&att_author=2&start=10, то все работает. Собственно это сортировка найденного, как я понимаю, с ней проблемы.
Проверял на чистом форуме.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Количество вложений в профиле пользователя

Сообщение Sheer »

sweetah писал(а):Собственно это сортировка найденного, как я понимаю, с ней проблемы.
Нет, это pagination - разбиение на страницы вывода. Ошибка возникает из-за того, что не задан author_id, вместо этого используется att_author
Попробуй так
search.php
Найти

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

$u_search .= ($author_id) ? '&author_id=' . $author_id : ''; 
Перед вставить

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

if ($search_id == 'attachments')
   $u_search .= ($att_author) ? '&att_author=' . $att_author : '';
else 
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Количество вложений в профиле пользователя

Сообщение sweetah »

Sheer, благодарю! Сработало.
Microgenius
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 4 месяца
Благодарил (а): 11 раз
Поблагодарили: 3 раза

Re: Количество вложений в профиле пользователя

Сообщение Microgenius »

Господа, а как сделать такую кнопку, по нажатию которой выдавался список всех постов любых авторов, в которых есть хоть какое либо вложение. И плюс: что бы можно было искать что либо только среди тех постов, в которых есть вложения.

В функции "расширенный поиск" такого не нашел.

Поясню задачу - наконец то решили навести порядок с вложениями (каталогизировать файлы), и теперь что бы не перебирать весь форум, хотелось бы сузить фронт работ до листинга постов с вложениями. И в них уже копаться.
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Количество вложений в профиле пользователя

Сообщение Shredder »

Вернуться в «Поддержка phpBB 3.0.х»