AlexBrtn Опубликовано 13 декабря, 2013 Поделиться Опубликовано 13 декабря, 2013 (изменено) Приветствую! Наткнулся недавно на новый 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 по интеграции. И так, что где менять? Кто в теме, обобщите ваши мысли. Изменено 9 февраля, 2014 пользователем AlexBrtn Запрещенны активные ссылки и картинки на сторонних хостингах!!! Recouse и AUYKGN 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
PaShKinG Опубликовано 29 января, 2014 Поделиться Опубликовано 29 января, 2014 Задался тем же вопросом. Ранее как-то пробовал обновлять, но сдался. У меня CKEditor вообще тогда грузиться отказался.. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 29 января, 2014 Автор Поделиться Опубликовано 29 января, 2014 PaShKinG, Я, глазами забоялся туда лезть) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Pred@tor Опубликовано 9 февраля, 2014 Поделиться Опубликовано 9 февраля, 2014 Не знаю,у меня в стандартном всё отлично работает. Этот слишком грамоздкий. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 9 февраля, 2014 Автор Поделиться Опубликовано 9 февраля, 2014 (изменено) Не знаю,у меня в стандартном всё отлично работает. Этот слишком грамоздкий. Там каждая функция настраивается Изменено 18 февраля, 2014 пользователем AlexBrtn AUYKGN 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
winters Опубликовано 12 марта, 2014 Поделиться Опубликовано 12 марта, 2014 Встроил данный редактор путем тупой замены папки ckeditor из архива. Сюда "/public/js/3rd_party/ckeditor" В итоге получил редактор, но форма "быстрого ответа" работает как поле редактирования, без панели. "Расширенная форма" вроде бы, исправно работает. Как заставить работать форум "быстрого ответа" не знаю. А так же как добавить, например, кнопку смайлов. Есть у кого соображения на этот счет? RealUser 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
backstrix Опубликовано 16 марта, 2014 Поделиться Опубликовано 16 марта, 2014 @AlexBrtn: how do you intergrate new version of CKEditor in your IPBoard as your screenshot ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
GothSilvio Опубликовано 23 августа, 2014 Поделиться Опубликовано 23 августа, 2014 В IPB 3.4.6 можно вмонтировать его? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
WOLF Опубликовано 23 августа, 2014 Поделиться Опубликовано 23 августа, 2014 В IPB 3.4.6 можно вмонтировать его? да Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
GothSilvio Опубликовано 23 августа, 2014 Поделиться Опубликовано 23 августа, 2014 да Инструкцию подробную где-нибудь можно найти? Я через поиск по IPBMafia попробовал - не нашел. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 23 августа, 2014 Автор Поделиться Опубликовано 23 августа, 2014 Инструкцию подробную где-нибудь можно найти? Я через поиск по IPBMafia попробовал - не нашел. Нет. Для этого и тема была создана. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ghost22th Опубликовано 11 сентября, 2014 Поделиться Опубликовано 11 сентября, 2014 sorry my english but it's not appear fast reply...how fixed it? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 12 сентября, 2014 Автор Поделиться Опубликовано 12 сентября, 2014 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. ghost22th 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ghost22th Опубликовано 12 сентября, 2014 Поделиться Опубликовано 12 сентября, 2014 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 13 сентября, 2014 Автор Поделиться Опубликовано 13 сентября, 2014 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
rustav Опубликовано 20 апреля, 2015 Поделиться Опубликовано 20 апреля, 2015 смогли вмонтировать новый стиль или нет? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 20 апреля, 2015 Автор Поделиться Опубликовано 20 апреля, 2015 смогли вмонтировать новый стиль или нет? Нет. И не пытался со своими знаниями. Пытался выйти на тех кто встраивал на forum.worldoftanks.ru, писали, что не знают человека, который им делал. включая модераторов. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
rustav Опубликовано 20 апреля, 2015 Поделиться Опубликовано 20 апреля, 2015 на оф. сайте редактора полно вопросов как обновиться, но ни одного ответа. Вечером поставлю форум тестовый, попробую потыкать. Если все получится, скину как сделал) AlexBrtn 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
rustav Опубликовано 20 апреля, 2015 Поделиться Опубликовано 20 апреля, 2015 поставил на тестовый, работает в расширенной форме. На быстром ответе редактор при загрузке мелькнет и пропадает. Чую, что нужно копать в сторону шаблонов: editor ,editorLoadJs, editorSettings. Там переписывать что-то, пока не разобрался что. Буду еще тыкать. Кстати, на оф. форуме танков работает таблица прекрасно, но сейчас у меня не работает. ФАК почитал, до конца не понял, что-то с бб-кодами надо копаться. А чего их тех. поддержки не было желающих обновить редактор? Может поможете или зададите направление? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
News12 Опубликовано 20 апреля, 2015 Поделиться Опубликовано 20 апреля, 2015 поставил на тестовый, работает в расширенной форме. На быстром ответе редактор при загрузке мелькнет и пропадает. Чую, что нужно копать в сторону шаблонов: editor ,editorLoadJs, editorSettings. Там переписывать что-то, пока не разобрался что. Буду еще тыкать. Кстати, на оф. форуме танков работает таблица прекрасно, но сейчас у меня не работает. ФАК почитал, до конца не понял, что-то с бб-кодами надо копаться. А чего их тех. поддержки не было желающих обновить редактор? Может поможете или зададите направление? Я нашел проблему, там стоит dispay:none, он задается от javascript, но где я так и не нашел. rustav 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 22 апреля, 2015 Автор Поделиться Опубликовано 22 апреля, 2015 Кстати, на оф. форуме танков работает таблица прекрасно Может в глобальном 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; Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
News12 Опубликовано 22 апреля, 2015 Поделиться Опубликовано 22 апреля, 2015 Может в глобальном 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; Тогда уж нужно прописать для всех функций редактора. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
rustav Опубликовано 22 апреля, 2015 Поделиться Опубликовано 22 апреля, 2015 задал вопрос на оф. форуме танков, послали в ЦПП))) задал там, жду ответ. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexBrtn Опубликовано 22 апреля, 2015 Автор Поделиться Опубликовано 22 апреля, 2015 ЦПП Центральная прачечная?) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
News12 Опубликовано 22 апреля, 2015 Поделиться Опубликовано 22 апреля, 2015 В 22.04.2015 в 18:20, rustav сказал: задал вопрос на оф. форуме танков, послали в ЦПП))) задал там, жду ответ. Поверьте, ничего дельного Вам не ответят. В 22.04.2015 в 19:31, AlexBrtn сказал: Центральная прачечная?) Центр Поддержки Пользователей. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.