Posted 13 декабря, 201310 yr comment_48878 Приветствую! Наткнулся недавно на новый CKEditor интегрированный в IPB, с многими вкусностями которых нет в стандартном форуме. Хоть в IPB и есть CKEditor, но он какой-то глючный (кривая вставка с буфера, вв коды раз через раз проходят...). Предлагаю обсудить тут, возможность интеграции CKEditor (v.4.3.1) в IPBoard Для сравнения: файлы: Новый ckeditor |---build-config.js |---CHANGES.md |---ckeditor.js |---config.js |---contents.css |---LICENSE.md |---README.md |---styles.js |---adapters | `---jquery.js |---lang | |---af.js | |---ar.js | |---bg.js | |---bn.js | |---bs.js | |---ca.js | |---cs.js | |---cy.js | |---da.js | |---de.js | |---el.js | |---en-au.js | |---en-ca.js | |---en-gb.js | |---en.js | |---eo.js | |---es.js | |---et.js | |---eu.js | |---fa.js | |---fi.js | |---fo.js | |---fr-ca.js | |---fr.js | |---gl.js | |---gu.js | |---he.js | |---hi.js | |---hr.js | |---hu.js | |---id.js | |---is.js | |---it.js | |---ja.js | |---ka.js | |---km.js | |---ko.js | |---ku.js | |---lt.js | |---lv.js | |---mk.js | |---mn.js | |---ms.js | |---nb.js | |---nl.js | |---no.js | |---pl.js | |---pt-br.js | |---pt.js | |---ro.js | |---ru.js | |---si.js | |---sk.js | |---sl.js | |---sq.js | |---sr-latn.js | |---sr.js | |---sv.js | |---th.js | |---tr.js | |---ug.js | |---uk.js | |---vi.js | |---zh-cn.js | `---zh.js |---plugins | |---icons.png | |---icons_hidpi.png | |---a11yhelp | | `---dialogs | | |---a11yhelp.js | | `---lang | | |---ar.js | | |---bg.js | | |---ca.js | | |---cs.js | | |---cy.js | | |---da.js | | |---de.js | | |---el.js | | |---en.js | | |---eo.js | | |---es.js | | |---et.js | | |---fa.js | | |---fi.js | | |---fr-ca.js | | |---fr.js | | |---gl.js | | |---gu.js | | |---he.js | | |---hi.js | | |---hr.js | | |---hu.js | | |---id.js | | |---it.js | | |---ja.js | | |---km.js | | |---ko.js | | |---ku.js | | |---lt.js | | |---lv.js | | |---mk.js | | |---mn.js | | |---nb.js | | |---nl.js | | |---no.js | | |---pl.js | | |---pt-br.js | | |---pt.js | | |---ro.js | | |---ru.js | | |---si.js | | |---sk.js | | |---sl.js | | |---sq.js | | |---sr-latn.js | | |---sr.js | | |---sv.js | | |---th.js | | |---tr.js | | |---ug.js | | |---uk.js | | |---vi.js | | |---zh-cn.js | | |---zh.js | | `---_translationstatus.txt | |---about | | `---dialogs | | |---about.js | | |---logo_ckeditor.png | | `---hidpi | | `---logo_ckeditor.png | |---clipboard | | `---dialogs | | `---paste.js | |---dialog | | `---dialogDefinition.js | |---fakeobjects | | `---images | | `---spacer.gif | |---image | | |---dialogs | | | `---image.js | | `---images | | `---noimage.png | |---link | | |---dialogs | | | |---anchor.js | | | `---link.js | | `---images | | |---anchor.png | | `---hidpi | | `---anchor.png | |---magicline | | `---images | | |---icon.png | | `---hidpi | | `---icon.png | |---pastefromword | | `---filter | | `---default.js | |---scayt | | |---LICENSE.md | | |---README.md | | `---dialogs | | |---options.js | | `---toolbar.css | |---specialchar | | `---dialogs | | |---specialchar.js | | `---lang | | |---ar.js | | |---bg.js | | |---ca.js | | |---cs.js | | |---cy.js | | |---de.js | | |---el.js | | |---en.js | | |---eo.js | | |---es.js | | |---et.js | | |---fa.js | | |---fi.js | | |---fr-ca.js | | |---fr.js | | |---gl.js | | |---he.js | | |---hr.js | | |---hu.js | | |---id.js | | |---it.js | | |---ja.js | | |---km.js | | |---ku.js | | |---lv.js | | |---nb.js | | |---nl.js | | |---no.js | | |---pl.js | | |---pt-br.js | | |---pt.js | | |---ru.js | | |---si.js | | |---sk.js | | |---sl.js | | |---sq.js | | |---sv.js | | |---th.js | | |---tr.js | | |---ug.js | | |---uk.js | | |---vi.js | | |---zh-cn.js | | |---zh.js | | `---_translationstatus.txt | |---table | | `---dialogs | | `---table.js | |---tabletools | | `---dialogs | | `---tableCell.js | `---wsc | |---LICENSE.md | |---README.md | `---dialogs | |---ciframe.html | |---tmp.html | |---tmpFrameset.html | |---wsc.css | |---wsc.js | `---wsc_ie.js |---samples | |---ajax.html | |---api.html | |---appendto.html | |---datafiltering.html | |---divreplace.html | |---index.html | |---inlineall.html | |---inlinebycode.html | |---inlinetextarea.html | |---jquery.html | |---readonly.html | |---replacebyclass.html | |---replacebycode.html | |---sample.css | |---sample.js | |---sample_posteddata.php | |---tabindex.html | |---uicolor.html | |---uilanguages.html | |---xhtmlstyle.html | |---assets | | |---posteddata.php | | |---sample.css | | |---sample.jpg | | |---inlineall | | | `---logo.png | | |---outputxhtml | | | `---outputxhtml.css | | `---uilanguages | | `---languages.js | `---plugins | |---dialog | | |---dialog.html | | `---assets | | `---my_dialog.js | |---enterkey | | `---enterkey.html | |---htmlwriter | | |---outputforflash.html | | |---outputhtml.html | | `---assets | | `---outputforflash | | |---outputforflash.fla | | |---outputforflash.swf | | `---swfobject.js | |---magicline | | `---magicline.html | |---toolbar | | `---toolbar.html | `---wysiwygarea | `---fullpage.html `---skins `---moono |---dialog.css |---dialog_ie.css |---dialog_ie7.css |---dialog_ie8.css |---dialog_iequirks.css |---dialog_opera.css |---editor.css |---editor_gecko.css |---editor_ie.css |---editor_ie7.css |---editor_ie8.css |---editor_iequirks.css |---icons.png |---icons_hidpi.png |---readme.md `---images |---arrow.png |---close.png |---lock-open.png |---lock.png |---refresh.png `---hidpi |---close.png |---lock-open.png |---lock.png `---refresh.png С IPBoard 3.4.4 public/js/3rd_party/ckeditor/ |---ckeditor.js |---ckeditor_basic.js |---ckeditor_basic_source.js |---ckeditor_source.js |---config.js |---contents.css |---index.html |---ips_changed.txt |---ips_config.js |---LICENSE.html |---images | |---index.html | `---spacer.gif |---lang | |---af.js | |---ar.js | |---bg.js | |---bn.js | |---bs.js | |---ca.js | |---cs.js | |---cy.js | |---da.js | |---de.js | |---el.js | |---en-au.js | |---en-ca.js | |---en-gb.js | |---en.js | |---eo.js | |---es.js | |---et.js | |---eu.js | |---fa.js | |---fi.js | |---fo.js | |---fr-ca.js | |---fr.js | |---gl.js | |---gu.js | |---he.js | |---hi.js | |---hr.js | |---hu.js | |---index.html | |---ipb.js | |---is.js | |---it.js | |---ja.js | |---ka.js | |---km.js | |---ko.js | |---lt.js | |---lv.js | |---mn.js | |---ms.js | |---nb.js | |---nl.js | |---no.js | |---pl.js | |---pt-br.js | |---pt.js | |---ro.js | |---ru.js | |---sk.js | |---sl.js | |---sr-latn.js | |---sr.js | |---sv.js | |---th.js | |---tr.js | |---uk.js | |---vi.js | |---zh-cn.js | |---zh.js | |---_languages.js | `---_translationstatus.txt |---plugins | |---index.html | |---a11yhelp | | |---index.html | | |---dialogs | | | |---a11yhelp.js | | | `---index.html | | `---lang | | |---cs.js | | |---cy.js | | |---da.js | | |---de.js | | |---el.js | | |---en.js | | |---eo.js | | |---fa.js | | |---fi.js | | |---fr.js | | |---gu.js | | |---he.js | | |---index.html | | |---it.js | | |---ku.js | | |---lv.js | | |---mk.js | | |---nb.js | | |---nl.js | | |---no.js | | |---pt-br.js | | |---ro.js | | |---sk.js | | |---tr.js | | |---ug.js | | |---vi.js | | |---zh-cn.js | | `---_translationstatus.txt | |---about | | |---index.html | | `---dialogs | | |---about.js | | |---index.html | | `---logo_ckeditor.png | |---adobeair | | |---index.html | | `---plugin.js | |---ajax | | |---index.html | | `---plugin.js | |---autogrow | | |---index.html | | `---plugin.js | |---bbcode | | |---index.html | | `---plugin.js | |---clipboard | | |---index.html | | `---dialogs | | |---index.html | | `---paste.js | |---colordialog | | |---index.html | | `---dialogs | | |---colordialog.js | | `---index.html | |---devtools | | |---index.html | | |---plugin.js | | `---lang | | |---bg.js | | |---cs.js | | |---cy.js | | |---da.js | | |---de.js | | |---el.js | | |---en.js | | |---eo.js | | |---et.js | | |---fa.js | | |---fi.js | | |---fr.js | | |---gu.js | | |---he.js | | |---hr.js | | |---index.html | | |---it.js | | |---ku.js | | |---lv.js | | |---nb.js | | |---nl.js | | |---no.js | | |---pl.js | | |---pt-br.js | | |---sk.js | | |---tr.js | | |---ug.js | | |---uk.js | | |---vi.js | | |---zh-cn.js | | `---_translationstatus.txt | |---dialog | | |---dialogDefinition.js | | `---index.html | |---div | | |---index.html | | `---dialogs | | |---div.js | | `---index.html | |---docprops | | |---index.html | | |---plugin.js | | `---dialogs | | |---docprops.js | | `---index.html | |---find | | |---index.html | | `---dialogs | | |---find.js | | `---index.html | |---flash | | |---index.html | | |---dialogs | | | |---flash.js | | | `---index.html | | `---images | | |---index.html | | `---placeholder.png | |---forms | | |---index.html | | |---dialogs | | | |---button.js | | | |---checkbox.js | | | |---form.js | | | |---hiddenfield.js | | | |---index.html | | | |---radio.js | | | |---select.js | | | |---textarea.js | | | `---textfield.js | | `---images | | |---hiddenfield.gif | | `---index.html | |---iframe | | |---index.html | | |---dialogs | | | |---iframe.js | | | `---index.html | | `---images | | |---index.html | | `---placeholder.png | |---iframedialog | | |---index.html | | `---plugin.js | |---image | | |---index.html | | `---dialogs | | |---image.js | | `---index.html | |---ipsbbcode | | |---index.html | | |---dialogs | | | |---index.html | | | `---ipsbbcode.js | | `---images | | |---index.html | | `---ips_bbcode.png | |---ipscode | | |---index.html | | |---dialogs | | | |---index.html | | | `---ipscode.js | | `---images | | |---code.png | | `---index.html | |---ipsemoticon | | |---index.html | | `---images | | |---index.html | | `---ips_emoticon.png | |---ipsimage | | |---dialogs | | | `---ipsimage.js | | `---images | | `---image.gif | |---ipsmedia | | |---index.html | | `---images | | |---index.html | | `---mymedia.png | |---ipsoptions | | |---index.html | | `---images | | |---index.html | | `---ips_options.png | |---ipsquote | | |---index.html | | `---images | | |---index.html | | `---quote.png | |---ipssourcearea | | `---images | | `---switch.png | |---ipsswitch | | |---index.html | | `---images | | |---index.html | | `---switch.png | |---link | | |---index.html | | |---dialogs | | | |---anchor.js | | | |---index.html | | | `---link.js | | `---images | | |---anchor.gif | | `---index.html | |---liststyle | | |---index.html | | `---dialogs | | |---index.html | | `---liststyle.js | |---pagebreak | | |---index.html | | `---images | | |---index.html | | `---pagebreak.gif | |---pastefromword | | |---index.html | | `---filter | | |---default.js | | `---index.html | |---pastetext | | |---index.html | | `---dialogs | | |---index.html | | `---pastetext.js | |---placeholder | | |---index.html | | |---placeholder.gif | | |---plugin.js | | |---dialogs | | | |---index.html | | | `---placeholder.js | | `---lang | | |---bg.js | | |---cs.js | | |---cy.js | | |---da.js | | |---de.js | | |---el.js | | |---en.js | | |---eo.js | | |---et.js | | |---fa.js | | |---fi.js | | |---fr.js | | |---he.js | | |---hr.js | | |---index.html | | |---it.js | | |---ku.js | | |---lv.js | | |---nb.js | | |---nl.js | | |---no.js | | |---pl.js | | |---pt-br.js | | |---sk.js | | |---tr.js | | |---ug.js | | |---uk.js | | |---vi.js | | |---zh-cn.js | | `---_translationstatus.txt | |---preview | | `---preview.html | |---scayt | | |---index.html | | `---dialogs | | |---index.html | | |---options.js | | `---toolbar.css | |---showblocks | | |---index.html | | `---images | | |---block_address.png | | |---block_blockquote.png | | |---block_div.png | | |---block_h1.png | | |---block_h2.png | | |---block_h3.png | | |---block_h4.png | | |---block_h5.png | | |---block_h6.png | | |---block_p.png | | |---block_pre.png | | `---index.html | |---smiley | | |---index.html | | |---dialogs | | | |---index.html | | | `---smiley.js | | `---images | | |---angel_smile.gif | | |---angry_smile.gif | | |---broken_heart.gif | | |---confused_smile.gif | | |---cry_smile.gif | | |---devil_smile.gif | | |---embaressed_smile.gif | | |---envelope.gif | | |---heart.gif | | |---index.html | | |---kiss.gif | | |---lightbulb.gif | | |---omg_smile.gif | | |---regular_smile.gif | | |---sad_smile.gif | | |---shades_smile.gif | | |---teeth_smile.gif | | |---thumbs_down.gif | | |---thumbs_up.gif | | |---tounge_smile.gif | | |---whatchutalkingabout_smile.gif | | `---wink_smile.gif | |---specialchar | | |---index.html | | |---dialogs | | | |---index.html | | | `---specialchar.js | | `---lang | | |---cs.js | | |---cy.js | | |---de.js | | |---el.js | | |---en.js | | |---eo.js | | |---et.js | | |---fa.js | | |---fi.js | | |---fr.js | | |---he.js | | |---hr.js | | |---index.html | | |---it.js | | |---ku.js | | |---lv.js | | |---nb.js | | |---nl.js | | |---no.js | | |---pt-br.js | | |---sk.js | | |---tr.js | | |---ug.js | | |---zh-cn.js | | `---_translationstatus.txt | |---styles | | |---index.html | | `---styles | | |---default.js | | `---index.html | |---stylesheetparser | | |---index.html | | `---plugin.js | |---table | | |---index.html | | `---dialogs | | |---index.html | | `---table.js | |---tableresize | | |---index.html | | `---plugin.js | |---tabletools | | |---index.html | | `---dialogs | | |---index.html | | `---tableCell.js | |---templates | | |---index.html | | |---dialogs | | | |---index.html | | | `---templates.js | | `---templates | | |---default.js | | |---index.html | | `---images | | |---index.html | | |---template1.gif | | |---template2.gif | | `---template3.gif | |---uicolor | | |---index.html | | |---plugin.js | | |---uicolor.gif | | |---dialogs | | | |---index.html | | | `---uicolor.js | | |---lang | | | |---bg.js | | | |---cs.js | | | |---cy.js | | | |---da.js | | | |---de.js | | | |---el.js | | | |---en.js | | | |---eo.js | | | |---et.js | | | |---fa.js | | | |---fi.js | | | |---fr.js | | | |---he.js | | | |---hr.js | | | |---index.html | | | |---it.js | | | |---ku.js | | | |---lv.js | | | |---mk.js | | | |---nb.js | | | |---nl.js | | | |---no.js | | | |---pl.js | | | |---pt-br.js | | | |---sk.js | | | |---tr.js | | | |---ug.js | | | |---uk.js | | | |---vi.js | | | |---zh-cn.js | | | `---_translationstatus.txt | | `---yui | | |---index.html | | |---yui.js | | `---assets | | |---hue_bg.png | | |---hue_thumb.png | | |---index.html | | |---picker_mask.png | | |---picker_thumb.png | | `---yui.css | |---wsc | | |---index.html | | `---dialogs | | |---ciframe.html | | |---index.html | | |---tmpFrameset.html | | |---wsc.css | | `---wsc.js | `---xml | |---index.html | `---plugin.js |---skins | |---index.html | `---ips | |---dialog.css | |---editor.css | |---elementspath.css | |---icons.css | |---icons.png | |---icons_rtl.png | |---index.html | |---mainui.css | |---menu.css | |---panel.css | |---presets.css | |---reset.css | |---richcombo.css | |---skin.js | |---templates.css | |---toolbar.css | `---images | |---dialog_sides.gif | |---dialog_sides.png | |---dialog_sides_rtl.png | |---index.html | |---ips_bbcode.png | |---mini.gif | |---noimage.png | |---sprites.png | |---sprites2.png | |---sprites3.png | |---sprites_ie6.png | `---toolbar_start.gif `---themes |---index.html `---default |---index.html `---theme.js Код: ajaxEditBox <if test="jsNotLoaded:|:$extraData['_loadJs']"> {parse template="editorLoadJs" group="editors" params="$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&module=profile&section=warnings&do=acknowledge&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" )"} editorSettings <h3>{$this->lang->words['editor_options']}</h3> <div class='fixed_inner ipsBox row1'> <div class='ipsSettings'> <fieldset class='ipsSettings_section'> <ul class='ipsForm ipsForm_horizontal'> <li> <input type='checkbox' class='input_check' id='pastePlain' <if test="$this->memberData['bw_paste_plain']">checked="checked"</if> name="pastePlain" value="1" /> <label for='pastePlain'>{$this->lang->words['editor_paste']}</label> </li> <li> <input type='checkbox' class='input_check' id='clearSavedContent' name="clearSavedContent" value="1" /> <label for='clearSavedContent'>{$this->lang->words['editor_clear_data']}</label> </li> </ul> </fieldset> </div> <div class='right' style='position: relative'> <a href='#' id='ipsEditorOptionsSave' class='ipsButton_secondary'>{$this->lang->words['editor_ok']}</a> </div> </div> mediaGenericWrapper <div class='clearfix'> {$pages} </div> <div> <ul class='media_results'> <if test="hasrows:|:count($rows)"> <foreach loop="genericmedia:$rows as $row"> <li class='result' onclick="return CKEDITOR.plugins.ipsmedia.insert( '{$row['insert']}' );"> <if test="hasimage:|:$row['image']"> <img src='{$row['image']}' alt=''<if test="haswidth:|:$row['width']"> width='{$row['width']}'</if><if test="hasheight:|:$row['height']"> height='{$row['height']}'</if> style='max-width: 80px;' class='media_image' /><br /> </if> <strong>{parse expression="IPSText::truncate( $row['title'], 15 )"}</strong> <if test="hasdescription:|:$row['desc']"> <br /><span class='desc'>{parse expression="IPSText::truncate( $row['desc'], 15 )"}</span> </if> </li> </foreach> <else /> <li class='no_messages'> {$this->lang->words['no_mymedia_rows']} </li> </if> </ul> </div> <div class='clearfix'> {$pages} </div> sharedMedia <h3>{$this->lang->words['mymedia_title']}</h3> <div class='fixed_inner ipsBox'> <div id='mymedia_inserted' style='display: none'>{$this->lang->words['added_to_editor']}</div> <div class='ipsVerticalTabbed ipsLayout ipsLayout_withleft ipsLayout_smallleft clearfix'> <div class='ipsVerticalTabbed_tabs ipsLayout_left'> <ul id='mymedia_tabs'> <foreach loop="mediatabs:$tabs as $tab"> <li id='{$tab['app']}_{$tab['plugin']}'><a href='#' onclick="return CKEDITOR.plugins.ipsmedia.loadTab( '{$tab['app']}', '{$tab['plugin']}' );">{$tab['title']}</a></li> </foreach> </ul> </div> <div class='ipsVerticalTabbed_content ipsLayout_content ipsBox_container' style='position: relative'> <div class='ipsType_small' id='mymedia_toolbar'> <a href='#' id='mymedia_finish' class='ipsButton no_width' onclick="CKEDITOR.plugins.ipsmedia.popup.hide(); return false;"><img src='{$this->settings['img_url']}/accept.png' /> {$this->lang->words['mymedia_finished']}</a> <input type='hidden' name='sharedmedia_search_app' id='sharedmedia_search_app' value='' /> <input type='hidden' name='sharedmedia_search_plugin' id='sharedmedia_search_plugin' value='' /> <input type='text' name='search_string' id='sharedmedia_search' value="{$this->lang->words['start_typing_sms']}" size='30' class='input_text inactive' /> <input class='input_submit' type='button' id='sharedmedia_submit' value='{$this->lang->words['search_string_search']}' /> <a href='#' id='sharedmedia_reset' class='ipsType_smaller'>{$this->lang->words['search_string_reset']}</a> </div> <div id='mymedia_content' class='ipsPad'> {parse template="sharedMediaDefault" group="editors" params=""} </div> </div> </div> </div> <script type='text/javascript'> ipb.vars['sm_init_value'] = "{$this->lang->words['start_typing_sms']}"; CKEDITOR.plugins.ipsmedia.searchinit(); </script> sharedMediaDefault <h1 class='ipsType_pagetitle' style='text-align: center'>{$this->lang->words['mymedia_title']}</h1> <h2 class='ipsType_subtitle desc' style='text-align: center'>{$this->lang->words['shareable_media_warn']}</h2> Документация от docs.ckeditor.com/#!/guide/dev_installation по интеграции. И так, что где менять? Кто в теме, обобщите ваши мысли. Edited 9 февраля, 201410 yr by AlexBrtn Запрещенны активные ссылки и картинки на сторонних хостингах!!! Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/ Share on other sites Больше вариантов
29 января, 201410 yr comment_53284 Задался тем же вопросом. Ранее как-то пробовал обновлять, но сдался. У меня CKEditor вообще тогда грузиться отказался.. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=53284 Share on other sites Больше вариантов
29 января, 201410 yr Author comment_53286 PaShKinG, Я, глазами забоялся туда лезть) Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=53286 Share on other sites Больше вариантов
9 февраля, 201410 yr comment_54918 Не знаю,у меня в стандартном всё отлично работает. Этот слишком грамоздкий. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=54918 Share on other sites Больше вариантов
9 февраля, 201410 yr Author comment_54920 Не знаю,у меня в стандартном всё отлично работает. Этот слишком грамоздкий. Там каждая функция настраивается Edited 18 февраля, 201410 yr by AlexBrtn Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=54920 Share on other sites Больше вариантов
12 марта, 201410 yr comment_58262 Встроил данный редактор путем тупой замены папки ckeditor из архива. Сюда "/public/js/3rd_party/ckeditor" В итоге получил редактор, но форма "быстрого ответа" работает как поле редактирования, без панели. "Расширенная форма" вроде бы, исправно работает. Как заставить работать форум "быстрого ответа" не знаю. А так же как добавить, например, кнопку смайлов. Есть у кого соображения на этот счет? Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=58262 Share on other sites Больше вариантов
16 марта, 201410 yr comment_58677 @AlexBrtn: how do you intergrate new version of CKEditor in your IPBoard as your screenshot ? Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=58677 Share on other sites Больше вариантов
23 августа, 201410 yr comment_70418 В IPB 3.4.6 можно вмонтировать его? Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=70418 Share on other sites Больше вариантов
23 августа, 201410 yr comment_70419 В IPB 3.4.6 можно вмонтировать его? да Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=70419 Share on other sites Больше вариантов
23 августа, 201410 yr comment_70421 да Инструкцию подробную где-нибудь можно найти? Я через поиск по IPBMafia попробовал - не нашел. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=70421 Share on other sites Больше вариантов
23 августа, 201410 yr Author comment_70438 Инструкцию подробную где-нибудь можно найти? Я через поиск по IPBMafia попробовал - не нашел. Нет. Для этого и тема была создана. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=70438 Share on other sites Больше вариантов
11 сентября, 201410 yr comment_71239 sorry my english but it's not appear fast reply...how fixed it? Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=71239 Share on other sites Больше вариантов
12 сентября, 201410 yr Author comment_71253 sorry my english but it's not appear fast reply...how fixed it? in the first post, it not the instruction. It only setting of a question me. As to make it who from attendees doesn't know, including me. If you simply replaced the folder, that field of "prompt reply" won't be. How to correct and correctly to integrate CKEditor I don't know. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=71253 Share on other sites Больше вариантов
12 сентября, 201410 yr comment_71261 AlexBrtn,thanks for answer, i just replaced in Director publicjs3rd_partyckeditor everything, first i delete everything and after that i upload CKEditor files, and also replace ajaxEditBox , editor,editorLoadJs,editorSettings, mediaGenericWrapper and other scripts as you have, can't anyone help me? how show up in fast reply thanks Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=71261 Share on other sites Больше вариантов
13 сентября, 201410 yr Author comment_71311 AlexBrtn,thanks for answer, i just replaced in Director publicjs3rd_partyckeditor everything, first i delete everything and after that i upload CKEditor files, and also replace ajaxEditBox , editor,editorLoadJs,editorSettings, mediaGenericWrapper and other scripts as you have, can't anyone help me? how show up in fast reply thanks I don't know Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=71311 Share on other sites Больше вариантов
20 апреля, 20159 yr comment_85570 смогли вмонтировать новый стиль или нет? Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85570 Share on other sites Больше вариантов
20 апреля, 20159 yr Author comment_85571 смогли вмонтировать новый стиль или нет? Нет. И не пытался со своими знаниями. Пытался выйти на тех кто встраивал на forum.worldoftanks.ru, писали, что не знают человека, который им делал. включая модераторов. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85571 Share on other sites Больше вариантов
20 апреля, 20159 yr comment_85576 на оф. сайте редактора полно вопросов как обновиться, но ни одного ответа. Вечером поставлю форум тестовый, попробую потыкать. Если все получится, скину как сделал) Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85576 Share on other sites Больше вариантов
20 апреля, 20159 yr comment_85602 поставил на тестовый, работает в расширенной форме. На быстром ответе редактор при загрузке мелькнет и пропадает. Чую, что нужно копать в сторону шаблонов: editor ,editorLoadJs, editorSettings. Там переписывать что-то, пока не разобрался что. Буду еще тыкать. Кстати, на оф. форуме танков работает таблица прекрасно, но сейчас у меня не работает. ФАК почитал, до конца не понял, что-то с бб-кодами надо копаться. А чего их тех. поддержки не было желающих обновить редактор? Может поможете или зададите направление? Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85602 Share on other sites Больше вариантов
20 апреля, 20159 yr comment_85610 поставил на тестовый, работает в расширенной форме. На быстром ответе редактор при загрузке мелькнет и пропадает. Чую, что нужно копать в сторону шаблонов: editor ,editorLoadJs, editorSettings. Там переписывать что-то, пока не разобрался что. Буду еще тыкать. Кстати, на оф. форуме танков работает таблица прекрасно, но сейчас у меня не работает. ФАК почитал, до конца не понял, что-то с бб-кодами надо копаться. А чего их тех. поддержки не было желающих обновить редактор? Может поможете или зададите направление? Я нашел проблему, там стоит dispay:none, он задается от javascript, но где я так и не нашел. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85610 Share on other sites Больше вариантов
22 апреля, 20159 yr Author comment_85716 Кстати, на оф. форуме танков работает таблица прекрасно Может в глобальном css прописать стили для таблиц? table{ border-collapse: collapse; } th{ padding:10px; border-top: 1px solid black; border-bottom: 1px solid black; background-color: #618AD2; color: white; } td{ padding: 10px; border-bottom: 1px solid #ccc; Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85716 Share on other sites Больше вариантов
22 апреля, 20159 yr comment_85717 Может в глобальном css прописать стили для таблиц? table{ border-collapse: collapse; } th{ padding:10px; border-top: 1px solid black; border-bottom: 1px solid black; background-color: #618AD2; color: white; } td{ padding: 10px; border-bottom: 1px solid #ccc; Тогда уж нужно прописать для всех функций редактора. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85717 Share on other sites Больше вариантов
22 апреля, 20159 yr comment_85739 задал вопрос на оф. форуме танков, послали в ЦПП))) задал там, жду ответ. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85739 Share on other sites Больше вариантов
22 апреля, 20159 yr Author comment_85740 ЦПП Центральная прачечная?) Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85740 Share on other sites Больше вариантов
22 апреля, 20159 yr comment_85741 В 22.04.2015 в 18:20, rustav сказал: задал вопрос на оф. форуме танков, послали в ЦПП))) задал там, жду ответ. Поверьте, ничего дельного Вам не ответят. В 22.04.2015 в 19:31, AlexBrtn сказал: Центральная прачечная?) Центр Поддержки Пользователей. Link to comment https://ipbmafia.ru/topic/6345-kak-ustanovit-obnovit-ckeditor/?&do=findComment&comment=85741 Share on other sites Больше вариантов
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.