Перейти к содержанию

Сломалась форма ответа


Рекомендуемые сообщения

Не работает кнопка "отправить".

Чтобы отправить сообщение приходиться давить "Расширеная форма", но при этом нет поля редактирования, просто предварительный просмотр.

Если сразу вызвать расширенную форму, то поле редактирования есть, но нет управляющих элементов и смайликов.

Сломалась просто так, никаких изменений в админке или напрямую в фалах форумане делалось. 

 

Отключил все хуки, обновил все кэши, "восстановил" базы - не помогло.

Включил умолчальный стиль (обычно он скрыт и не используется), в нем тоже не работает, заначит дело не в шаблонах. 

Куда ещё свой нос засунуть?

 

зы

Была проблема с базой, невозможно было войти в админку как администратор, однако как модератор в админку вход был нормальный. Через несколько часов починилось само собой, пока делал бекапы проблема пропала. 

Ссылка на комментарий
Поделиться на другие сайты

редактирование сообщений тоже отвалилось, выскакивает алерт джава скипта об ошибке "TypeError: 'undefined' is not an object"

Ссылка на комментарий
Поделиться на другие сайты

у меня такое было на 3 ке после установки хука hide , просто такой хук и так он все коряво делает

Ссылка на комментарий
Поделиться на другие сайты

Такого хука у меня нет.

Ссылка на комментарий
Поделиться на другие сайты

Необходимо включить режим производительности и попробовать отправку постов на нём

Ссылка на комментарий
Поделиться на другие сайты

В режиме производительности поведение формы ответа не изменилось.

Ссылка на комментарий
Поделиться на другие сайты

36 минут назад, point111 сказал:

В режиме производительности поведение формы ответа не изменилось.

Попробуйте заменить, вдруг поможет :)

 

Спойлер

ajaxEditBox


<if test="jsNotLoaded:|:$extraData['_loadJs']">
	{parse template="editorLoadJs" group="editors" params="array( 'smilies' => $extraData['smilies'] )"}
</if>
<if test="ajaxerror:|:$error_msg">
	<p id='error_msg_e{$pid}' class='message error'>{$error_msg}</p>
<else />
	<p id='error_msg_e{$pid}' class='message error' style='display: none'>{$error_msg}</p>
</if>
<input type='hidden' name='editor_ids[]' value='e{$pid}' />
<div class='ipsBox clearfix'>
	<div class='ipsBox_container'>
		<div class='ips_editor' id='editor_e{$pid}'>
			<if test="forceStd:|:$extraData['isHtml']">
				{parse editor="Post" content="$post" options="array( 'editorName' => 'edit-' . $pid, 'type' => 'full', 'minimize' => 0, 'isHtml' => 1, 'legacyMode' => 'off' )"}
			<else />
				{parse editor="Post" content="$post" options="array( 'editorName' => 'edit-' . $pid, 'type' => 'full', 'minimize' => 0, 'legacyMode' => 'off' )"}
			</if>
			<if test="showeditoptions:|:$extraData['showEditOptions']">
				<div class='row2 ipsPad ipsText_small desc'>
					<if test="showreason:|:$extraData['showReason']">
						{$this->lang->words['preason_for_edit']} <input type='text' size='35' maxlength='250' class='input_text' id='post_edit_reason_{$pid}' name='post_edit_reason_{$pid}' value='{$extraData['reasonForEdit']}' />
					</if>
					<if test="showappendedit:|:$extraData['showAppendEdit']">
					<input type='checkbox' name='add_edit_{$pid}' id='add_edit_{$pid}' <if test="appendedit:|:$extraData['append_edit']">checked='checked'</if> value='1' /> <label for='add_edit_{$pid}'>{$this->lang->words['show_edited_by']}</label>
					</if>
				</div>
				<if test="htmlstatus:|:$extraData['checkBoxes']['html'] !== null">
					<div class='row2 ipsPad ipsText_small desc'>
						<input type="checkbox" name="post_htmlstatus" class="input_check" value="1" id='post_htmlstatus_{$pid}' {$extraData['checkBoxes']['html']} /> <label for='post_htmlstatus' data-tooltip='{$this->lang->words['pp_html_tooltip']}'>{$this->lang->words['pp_html']}</label>
						<script type="text/javascript">
							ipb.textEditor.bindHtmlCheckbox( $('post_htmlstatus_{$pid}') );
						</script>
					</div>
				</if>
			</if>
			<fieldset class='submit'>
				<input type='submit' value='{$this->lang->words['save_changes']}' class='input_submit' id='edit_save_e{$pid}' tabindex='25' /> <if test="! $extraData['skipFullButton']"><input type='submit' value='{$this->lang->words['use_full_editor']}' class='input_submit alt' id='edit_switch_e{$pid}' /></if> {$this->lang->words['or']} <a href='#' title='{$this->lang->words['cancel']}' class='cancel' id='edit_cancel_e{$pid}'>{$this->lang->words['cancel']}</a>
			</fieldset>
		</div>
	</div>
</div>

editor


<if test="hasToAcknowledge:|:$acknowledge">
	<p class='message'>{$this->lang->words['warnings_acknowledge_desc']} <a href='{parse url="app=members&amp;module=profile&amp;section=warnings&amp;do=acknowledge&amp;id={$acknowledge}" base="public"}' class='ipsButton_secondary'>{$this->lang->words['warnings_acknowledge_review']}</a></p>
<else />
	<if test="hasWrningInfo:|:$warningInfo">
		<p class='message'>{$warningInfo}</p>
		<br />
	</if>
	<if test="showEditor:|:$showEditor">
		<php>
			/* Always return as UTF-8 */
			$jsonEncoded = IPSText::jsonEncodeForTemplate( $autoSaveData );
		</php>
		<if test="jsNotLoaded:|:empty($this->_editorJsLoaded)">
			{parse template="editorLoadJs" group="editors" params="$options"}
		</if>
		<input type='hidden' rel="include" name='isRte' id='isRte_{$options['editorName']}' value='{parse expression="intval( $options['isRte'] )"}' />
		<input type='hidden'  rel="include" name='noSmilies' id='noSmilies_{$options['editorName']}' value='{parse expression="intval( $options['noSmilies'] )"}' />
		<if test="hasContent:|:$bbcodeVersion || $options['bypassCKEditor']">
			<!-- NO JS FALLBACK -->
			<input type='hidden' rel="include" name='noCKEditor' id='noCKEditor_{$options['editorName']}' value='1' />
			<textarea id="{$options['editorName']}" name="{$formField}" class='ipsEditor_textarea input_text'>$bbcodeVersion</textarea>
			<textarea id="{$options['editorName']}_js" name="{$formField}_js" style='display:none' class='ipsEditor_textarea input_text<if test="ismini:|:$options['type'] == 'mini'"> mini</if>'>{$content}</textarea>
		<else />
			<input type='hidden' name='noCKEditor_{$options['editorName']}' id='noCKEditor_{$options['editorName']}' value='0' />
			<textarea id="{$options['editorName']}" name="{$formField}" class='ipsEditor_textarea input_text<if test="ismini:|:$options['type'] == 'mini'"> mini</if>'>{$content}</textarea>
		</if>
		<p class='desc ipsPad' style='display: none' id='editor_html_message_{$options['editorName']}'>{$this->lang->words['editor_html_message']}</p>
		<script type="text/javascript">
			ipb.textEditor.initialize('{$options['editorName']}', { type: <if test="hasType:|:$options['type']">'{$options['type']}'<else />''</if>,
																	height: <if test="hasHeight:|:$options['height'] > 0">{$options['height']}<else /><if test="ismini:|:$options['type'] == 'mini'">150<else />300</if></if>,
																	minimize: <if test="hasMinimize:|:$options['minimize']">'{$options['minimize']}'<else />0</if>,
																	bypassCKEditor: {parse expression="intval( $options['bypassCKEditor'] )"},
																	delayInit: {parse expression="intval( $options['delayInit'] )"},
																	isHtml: {parse expression="intval( $options['isHtml'] )"},
																	isRte: {parse expression="intval( $options['isRte'] )"},
																	noSmilies: {parse expression="intval( $options['noSmilies'] )"},
																	disabledTags: {IPSText::jsonEncodeForTemplate( $options['disabledTags'] )},
																	isTypingCallBack: <if test="hasCallback:|:$options['isTypingCallBack']">{$options['isTypingCallBack']}<else />''</if>,
																	ips_AutoSaveKey: <if test="hasSaveKey:|:$options['autoSaveKey']">'{$options['autoSaveKey']}'<else />''</if>,
													                ips_AutoSaveData: {$jsonEncoded} } );
		</script>
	</if>
</if>

editorLoadJs


{parse js_module="textEditor"}
{parse js_module="textEditor.bbcode"}
<php>
	$this->_editorJsLoaded = true;
	$jsonEncoded = IPSText::jsonEncodeForTemplate( isset($options['smilies']) && is_array($options['smilies']) ? $options['smilies'] : array() );
	$options['bypassCKEditor'] = ( isset($options['bypassCKEditor']) ) ? $options['bypassCKEditor'] : 0;
</php>
<if test="bypassCkEditor:|:$options['bypassCKEditor'] != 1">
	<if test="defined("CK_LOAD_SOURCE") AND CK_LOAD_SOURCE">
		<!-- Load source files, not the minified version -->
		<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/ckeditor/ckeditor_source.js?nck={$this->settings['noCacheKey']}"></script>
	<else />
		<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/ckeditor/ckeditor.js?nck={$this->settings['noCacheKey']}"></script>
	</if>
<else />
	<script type="text/javascript">
		CKEDITOR = { config: {} };
	</script>
</if>
<script type="text/javascript">
	/* Dynamic items */
	CKEDITOR.config.IPS_BBCODE          = {IPSLib::fetchBbcodeAsJson( array( 'skip' => array( 'sharedmedia' ) ) )};
	CKEDITOR.config.IPS_BBCODE_NOPARSE  = {IPSLib::fetchBbcodeAsJson( array( 'noParseOnly' => 1 ) )};
	CKEDITOR.config.IPS_BBCODE_DISABLED = {IPSText::jsonEncodeForTemplate( $options['disabledTags'] )};
	CKEDITOR.config.IPS_BBCODE_IMG_URL  = "{$this->settings['public_cdn_url']}style_extra/bbcode_icons";
	CKEDITOR.config.IPS_BBCODE_BUTTONS  = [];
	CKEDITOR.timestamp                  = "{$this->settings['noCacheKey']}";
	
	/* Has to go before config load */
	var IPS_smiley_path			= "{$this->settings['emoticons_url']}/";
	var IPS_smiles       		= <if test="hasimages:|:! empty($options['smilies']['count'])">{$jsonEncoded}<else />{}</if>;
	var IPS_remove_plugins      = [];
	var IPS_extra_plugins       = [];
	
	/* Load our configuration */
	CKEDITOR.config.customConfig  = '{$this->settings['js_base_url']}js/3rd_party/ckeditor/ips_config.js';
	
	/* Override with prefs */
	CKEDITOR.config.CmdVAsPlainText = <if test="hasPastePlain:|:$this->memberData['bw_paste_plain']">true<else />false</if>;
</script>
{parse expression="$this->registry->output->addToDocumentHead( 'importcss', "{$this->settings['css_base_url']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_ckeditor.css" )"}

 

 

Ссылка на комментарий
Поделиться на другие сайты

css с бэкапа пробовал заливать?

в папку skin_cache и папку style_css

Ссылка на комментарий
Поделиться на другие сайты

Нет не пробовал, не приходило в голову, как CSS может повлиять на функционал, разве что айдишники с объектов могли послетать...

Но вечером проверю изменения от стандартных. 

Ссылка на комментарий
Поделиться на другие сайты

Проблему решил.

"Достал с полки" дистрибутив форума, начал выдергивать из него файлы с именами имеющими корень edit и заменять ими фалы на хостинге, не получилось, терпения не хватило пройтись по всем каталогам. Плюнул и заменил всё разом. Заработало.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...