Разобрался, была отключена функция для пользователей поиска по всем форумам сразу

Slavok wrote:

Because such topics are not readable for guests. Why should they appear in the search results?

Я понимаю что форум международный но мой английский никакой.

Проблема в том что зарегистрированный пользователь при поиске не получает в выдаче топики из скрытых от гостя!!! форумов. А также скрытых от других групп. Это две разные ситуации, но общее то что форумы скрыты - или от гостей, или от какой-то группы (точнее разрешены только какой-то группе). При этом пользователь, за которого я говорю имеет доступ к форуму. Админ же топики в поиске получает. Это очень серьезная проблемка. Все таки поис нужен.

Slavok wrote:

User's login can be changed only by administrators or moderators. And why the possibility of changing the e-mail is not useful for you?

Я извиняюсь за русский, в этом топике я просто ошибся. Я думал что пользователи могут изменять. Был не внимателен.

if $forum_config['o_regs_verify'] == '0', how to know password? imho, better to do so:

                    $errors = add_user(
                        array(
                            'username'                => $username,
                            'group_id'                => $forum_config['o_default_user_group'], //($forum_config['o_regs_verify'] == '0') ? $forum_config['o_default_user_group'] : FORUM_UNVERIFIED, // Ruzzz
                            'salt'                    => $salt,
                            'password'                => $password,
                            'password_hash'            => $password_hash,
                            'email'                    => $email,
                            'email_setting'            => 1,
                            'save_pass'                => 0,
                            'timezone'                => $forum_config['o_default_timezone'],
                            'dst'                    => 0,
                            'language'                => $forum_config['o_default_lang'],
                            'style'                    => $forum_config['o_default_style'],
                            'registered'            => time(),
                            'registration_ip'        => get_remote_address(),
                            'activate_key'            => 'NULL', //($forum_config['o_regs_verify'] == '1') ? '\''.random_key(8, true).'\'' : 'NULL', // Ruzzz
                            'require_verification'    => false,  //($forum_config['o_regs_verify'] == '1'), // Ruzzz
                            'notify_admins'            => ($forum_config['o_regs_report'] == '1')
                            ),
                            $new_uid
                    );

                    //Ruzzz
                    // Load the "welcome" template
                    $mail_tpl = forum_trim(file_get_contents($ext_info['path'].'/lang/'.$forum_user['language'].'/mail_templates/welcome.tpl'));

                    // The first row contains the subject
                    $first_crlf = strpos($mail_tpl, "\n");
                    $mail_subject = forum_trim(substr($mail_tpl, 8, $first_crlf-8));
                    $mail_message = forum_trim(substr($mail_tpl, $first_crlf));

                    $mail_subject = str_replace('<board_title>', $forum_config['o_board_title'], $mail_subject);
                    $mail_message = str_replace('<base_url>', $base_url.'/', $mail_message);
                    $mail_message = str_replace('<username>', $username, $mail_message);
                    $mail_message = str_replace('<password>',$password, $mail_message);
                    $mail_message = str_replace('<board_mailer>', sprintf($lang_common['Forum mailer'], $forum_config['o_board_title']), $mail_message);

                    forum_mail($email, $mail_subject, $mail_message);
                    // Ruzzz

but send the password to the user.

template:

Subject: Welcome to <board_title>!

Administrator created an account for you at the forum <base_url>.

Your account information:
Username: <username>
Password: <password>

It is strongly recommended to change your password!

-- 
<board_mailer>
(Do not reply to this message)

russian smile

Subject: Добро пожаловать на <board_title>!

Администратор создал аккуант для вас на форуме <base_url>.

Информация о вашем аккуанте:
Логин: <username>
Пароль: <password>

Настоятельно рекомендуется сменить пароль!

-- 
<board_mailer>
(Не отвечайте на это сообщение)

or step 2:

$forum_page['table_row']['username'] = '<td class="tc'.count($forum_page['table_row']).'"><a href="'.forum_link($forum_url['user'], $user_data['id']).'">'.forum_htmlencode($user_data['username']).'</a>'.(($user_data['g_id'] == FORUM_UNVERIFIED) ? ' (unverified) <a href="'.forum_link($forum_url['delete_user'], $user_data['id']).'">delete</a>' : '').'</td>';

add link - delete user

1)

'WHERE'        => 'u.id > 1' AND u.group_id != '.FORUM_UNVERIFIED,

replace

'WHERE'        => 'u.id > 1',

2)

$forum_page['table_row']['username'] = '<td class="tc'.count($forum_page['table_row']).'"><a href="'.forum_link($forum_url['user'], $user_data['id']).'">'.forum_htmlencode($user_data['username']).'</a></td>';

replace

$forum_page['table_row']['username'] = '<td class="tc'.count($forum_page['table_row']).'"><a href="'.forum_link($forum_url['user'], $user_data['id']).'">'.forum_htmlencode($user_data['username']).'</a>'.(($user_data['g_id'] == FORUM_UNVERIFIED) ? ' (unverified)' : '').'</td>';

3)
before

($hook = get_hook('ul_results_row_pre_data')) ? eval($hook) : null;

insert

if ($user_data['g_id'] == FORUM_UNVERIFIED && $forum_user['g_id'] != FORUM_ADMIN) continue;

4)

'WHERE'        => 'u.id > 1 AND u.group_id != '.FORUM_UNVERIFIED

replace

'WHERE'        => 'u.id > 1'.(($forum_user['g_id'] != FORUM_ADMIN) ? ' AND u.group_id != '.FORUM_UNVERIFIED : '')

Is there a solution?

8

(1 replies, posted in PunBB 1.3 additions)

and in post.php

<p><?php echo (isset($forum_page['avatar_demo'])) ? '<a href="'.forum_link($forum_url['delete_avatar'], array($id, generate_form_token('delete_avatar'.$id.$forum_user['id']))).'"><strong>'.$lang_profile['Delete avatar info'].'</strong></a>' : $lang_profile['No avatar info'] ?></p>

replace

<p> <?php echo (isset($forum_page['avatar_demo']) && (strpos($forum_page['avatar_demo'], $forum_config['o_avatars_dir'].'/default_avatar.png') === false)) ? '<a href="'.forum_link($forum_url['delete_avatar'], array($id, generate_form_token('delete_avatar'.$id.$forum_user['id']))).'"><strong>'.$lang_profile['Delete avatar info'].'</strong></a>' : $lang_profile['No avatar info'] ?></p>

To forbid change login and e-mail. Is there an extension? How can this be done? Or solution without extension. Thanks!

User can't change login and e-mail! Sorry! sad

10

(82 replies, posted in PunBB 1.3 extensions)

About Gravatar:

  • dont use fn_generate_avatar_markup_end, use fn_generate_avatar_markup_start, otherwise gravatar does not work if file of avatar is loaded

  • use if ($forum_config['o_gravatar'] == '1'  && $avatar_markup=='') before $gresult=$forum_db->query

  • you are going to support caching?

11

(17 replies, posted in PunBB 1.3 extensions)

2 bugs:

  • don't change file in cache, if you change email

  • Not used gravatar if topic starter is guest

fix it please smile

User can't search in hidden from guests topics

5)
in post.php

        $forum_page['post_ident']['byline'] = '<span class="post-byline">'.sprintf($lang_post['Post byline'], '<strong>'.forum_htmlencode($cur_post['poster']).'</strong>').'</span>';

replace:

        $t_username = forum_htmlencode($cur_post['poster']);
        $t_add_user_to_quick_post = '<a title="'.$lang_post['User to quick post'].'" onclick="return insert_text(\'\', \'[b]'.$t_username.'[/b], \')" href="#req_message">↑</a>';
        $forum_page['post_ident']['byline'] = '<span class="post-byline">'.sprintf($lang_post['Post byline'], '<strong>'.$t_username.'</strong>').' '.$t_add_user_to_quick_post.'</span>';

6)
insert in \lang\English\post.php string:

'User to quick post'    =>    'Add user to quick post'

14

(1 replies, posted in PunBB 1.3 additions)

developers, do it smile

in function.php, in end of "function generate_avatar_markup($user_id)" insert:

    if (empty($avatar_markup) && $forum_config['o_use_default_avatar']) {
        $path = $forum_config['o_avatars_dir'].'/default_avatar.png';
        //$img_size = @getimagesize;
        $avatar_markup = '<img src="'.$base_url.'/'.$path.'" height="'.$forum_config['o_default_avatars_height'].'" width="'.$forum_config['o_default_avatars_width'].'" alt="Default Avatar" />';        
    }

And add o_use_default_avatar, o_default_avatars_height, o_default_avatars_width

in header.php, in string delete spaces:

$forum_head['descriptions'] = '<meta name="description" content="'.generate_crumbs(true).' '.$lang_common['Title separator'].' '.forum_htmlencode($forum_config['o_board_desc']).'" />';

result:

$forum_head['descriptions'] = '<meta name="description" content="'.generate_crumbs(true).$lang_common['Title separator'].forum_htmlencode($forum_config['o_board_desc']).'" />'; // Ruzzz Удалил пробелы, они уже есть в $lang_common['Title separator']
    

because in lang common.php

'Title separator'            =>    ' - ',

already there are spaces

4)
insert in \lang\English\topic.php string:

'User to quick post'    =>    'Add user to quick post'

I ask the developers to do it smile

In viewtopic.php

1)

// Display quick post if enabled
if ($forum_config['o_quickpost'] == '1' &&
    !$forum_user['is_guest'] &&    
    ($cur_topic['post_replies'] == '1' || ($cur_topic['post_replies'] == '' && $forum_user['g_post_replies'] == '1')) &&
    ($cur_topic['closed'] == '0' || $forum_page['is_admmod']))

replace:

// Display quick post if enabled
if ($forum_page['is_quick_post_enable'])

2)
before

$user_data_cache = array();
while ($cur_post = $forum_db->fetch_assoc($result))

insert

$forum_page['is_quick_post_enable'] = $forum_config['o_quickpost'] == '1' &&
    !$forum_user['is_guest'] && 
    ($cur_topic['post_replies'] == '1' || ($cur_topic['post_replies'] == '' && $forum_user['g_post_replies'] == '1')) &&
    ($cur_topic['closed'] == '0' || $forum_page['is_admmod']);

3)

    if ($cur_post['poster_id'] > 1)
        $forum_page['post_ident']['byline'] = '<span class="post-byline">'.sprintf((($cur_post['id'] == $cur_topic['first_post_id']) ? $lang_topic['Topic byline'] : $lang_topic['Reply byline']), (($forum_user['g_view_users'] == '1') ? '<a title="'.sprintf($lang_topic['Go to profile'], forum_htmlencode($cur_post['username'])).'" href="'.forum_link($forum_url['user'], $cur_post['poster_id']).'">'.forum_htmlencode($cur_post['username']).'</a>' : '<strong>'.forum_htmlencode($cur_post['username']).'</strong>')).'</span>';
    else
        $forum_page['post_ident']['byline'] = '<span class="post-byline">'.sprintf((($cur_post['id'] == $cur_topic['first_post_id']) ? $lang_topic['Topic byline'] : $lang_topic['Reply byline']), '<strong>'.forum_htmlencode($cur_post['username']).'</strong>').'</span>';

replace

    $t_username = forum_htmlencode($cur_post['username']);
    $t_add_user_to_quick_post = ($forum_page['is_quick_post_enable']) ? '<a title="'.$lang_topic['User to quick post'].'" onclick="return insert_text(\'\', \'[b]'.$t_username.'[/b], \')" href="#req_message">↓</a>' : '';
    $forum_page['post_ident']['byline'] = '<span class="post-byline">'.sprintf((($cur_post['id'] == $cur_topic['first_post_id']) ? $lang_topic['Topic byline'] : $lang_topic['Reply byline']), (($forum_user['g_view_users'] == '1' && $cur_post['poster_id'] > 1) ? '<a title="'.sprintf($lang_topic['Go to profile'], forum_htmlencode($cur_post['username'])).'" href="'.forum_link($forum_url['user'], $cur_post['poster_id']).'">'.$t_username.'</a>' : '<strong>'.$t_username.'</strong>')).' '.$t_add_user_to_quick_post.'</span>';