В общем начал делать новую версию.
- Функция, с помощью которой можно разрешить определенному пользователю самому редактировать html;
- Выбор размещения кода (сверху, посередине, внизу - как сейчас);
- Уменьшение редактируемого поля;
- Возможность пользователям сами выбирать, отображать ли html код, или нет.
Первая проблема с которой столкнулся, при нажатии кнопки "обновить профиль", если галочки у "Разрешить пользователю самому менять HTML." нету, выдает такое вот сообщение:
Что изменил на данный момент:
в бд 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('<','>','"'), 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)