Тема: [ Релиз ] HTML код в профиле юзера (под аватарой).

Данное расширение позволяет вставлять html код в инфе пользователя.

http://i007.radikal.ru/0904/ae/42ad10b31659.jpg

В настройках:
http://i069.radikal.ru/0905/19/37ac6dd99661t.jpg

Медаль для примера:
http://forum.blitzteam.su/img/medals/medal.png

На punbb 1.3 еще не тестировал, но должно работать. Отпишитесь кто поставит плиз.

Версия 1.1
- Добавлена поддержка локализаций;
- Возможность отключения отображения и обработки кода у пользователей;
- Добавлена возможность редактирования пользователями своего HTML, но только после того, как разрешит администрация;
- Сокрашен Textarea в профиле.

[ Скачать ]

Отредактировал De-Luxis (2009-05-25 04:24:57)

2

Ответ: [ Релиз ] HTML код в профиле юзера (под аватарой).

Отличный многозадачный мод smile

ЗЫ: Textarea длинноват, rows="6"  было бы лучше.

Вы стали счастливие?

3

Ответ: [ Релиз ] HTML код в профиле юзера (под аватарой).

В общем начал делать новую версию.
- Функция, с помощью которой можно разрешить определенному пользователю самому редактировать html;
- Выбор размещения кода (сверху, посередине, внизу - как сейчас);
- Уменьшение редактируемого поля;
- Возможность пользователям сами выбирать, отображать ли html код, или нет.

Первая проблема с которой столкнулся, при нажатии кнопки "обновить профиль", если галочки у "Разрешить пользователю самому менять HTML." нету, выдает такое вот сообщение:
http://i060.radikal.ru/0905/11/24cd555b4b59t.jpg

Что изменил на данный момент:
в бд users, добавил строку html_user_set. Где значение ставится по умолчанию 0 (нет возможности редактировать), когда ставим галочку, значение меняется на 1.
Хук pf_security_qr_registration_ip

$query['SELECT'] .= ', u.html_user, u.html_user_set';

Хук pf_change_details_settings_pre_email_fieldset_end

if ($forum_user['g_id'] == $forum_user['is_admmod'] or $user['html_user_set']!=0){ ?>
    <fieldset class="mf-set set<?php echo ++$forum_page['item_count'] ?>">
        <legend><span>HTML</span></legend>
            <div class="mf-box">
                <div class="txt-box textarea">
                    <div class="sig-demo"><?php $html_user = str_replace(array('&lt;','&gt;','&quot;'), array('<','>','"'), forum_htmlencode($user['html_user']));
echo $forum_page['author_info']['html_user'] = $html_user; ?></div>
                </div>
                    <div class="txt-input"><span class="fld-input">
                        <textarea id="fld<?php echo ++$forum_page['fld_count'] ?>" class="inputbox" name="form[html_user]" rows="10" cols="100">
<?echo $forum_page['html_user'] = forum_htmlencode($user['html_user']); ?></textarea></span>
                    </div>
                    <div class="mf-item"> 
                        <span class="fld-input"><input type="checkbox" id="fld<?php echo $forum_page['fld_count'] ?>" name="form[html_user_set]" value="1" <?php if ($user['html_user_set']) echo 'checked="checked"'; ?>/></span>
                        <label for="fld<?php echo ++$forum_page['fld_count'] ?>">Разрешить пользователю самому менять HTML.</label> 
                    </div>
            </div>
    </fieldset><?php }

хук pf_change_details_settings_validation

if (!isset($_POST['html_user']) && $forum_user['g_id'] == $forum_user['is_admmod']) $form['html_user'] = $_POST['form']['html_user'];
        if (!isset($_POST['html_user_set']) && $forum_user['g_id'] == $forum_user['is_admmod'])  $form['html_user_set'] = $_POST['form']['html_user_set'];

Как убрать эту ошибку? Галочку меняет как надо.

Поможет ли Error_Reporting(E_ALL & ~E_NOTICE);? и в какой хук его воткнуть, что бы всю систему не задевал.

Отредактировал De-Luxis (2009-05-23 17:20:23)

4

Ответ: [ Релиз ] HTML код в профиле юзера (под аватарой).

input же

if (!isset($_POST['html_user_set']) || $_POST['form']['html_user_set'] != '0')
      $_POST['form']['html_user_set'] = '1';

Error_Reporting(E_ALL & ~E_NOTICE) - никогда не стоит использовать, оно просто уберёт сообщение об ошибке.

Вы стали счастливие?

5

Ответ: [ Релиз ] HTML код в профиле юзера (под аватарой).

Теперь не хочет сохранять.
Для этого надо как то передать его в массив $form.
$form['html_user_set']

6

Ответ: [ Релиз ] HTML код в профиле юзера (под аватарой).

Разобрался:

if (!empty($_POST['form']['html_user_set'])) $form['html_user_set']='1'; else $form['html_user_set']='0';

  good
Можно ли как ни будь уменьшить эту запись?

Отредактировал De-Luxis (2009-05-25 01:10:21)

7

Ответ: [ Релиз ] HTML код в профиле юзера (под аватарой).

Новая версия. HTML User 1.1
- Добавлена поддержка локализаций;
- Возможность отключения отображения и обработки кода у пользователей;
- Добавлена возможность редактирования пользователями своего HTML, но только после того, как разрешит администрация;
- Сокрашен Textarea в профиле.
http://i069.radikal.ru/0905/19/37ac6dd99661t.jpg
[ Скачать ]

8

Ответ: [ Релиз ] HTML код в профиле юзера (под аватарой).

Меньше smile

$form['html_user_set'] = !empty($_POST['form']['html_user_set']) ? '1' : '0'

Вы стали счастливие?