Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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

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

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

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

 

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

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

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

 

зы

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

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" )"}

 

 

  • Author

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

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

  • Author

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.