Ergebnis 1 bis 31 von 31

Thema: Tiny MCE + Paste as Plain Text

  1. #1
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard Tiny MCE + Paste as Plain Text

    Hallo zusammen,
    Eine Kundin hätte gerne im Tiny MCE die Möglichkeit aus Word ohne Formatierung Texte einzufügen. (TL-Version 2.7.5)

    Soweit ich das herausfinden konnte, realisiert diese Aufgabe Paste as Plain Text.

    Nun ist mir nicht klar wie ich dieses einzelne Feature der Konfigurationsdatei hinzufüge. Laut Buch müsste ich zunächst mal das Plugin downloaden.
    wiederum bin ich verwirrt über die Erläuterung, welche ich hier finde The new version will auto detect word contents and automatically clean it up before inserting
    demnach wäre das Einfügen garnicht mehr nötig???
    De Facto übernimmt der Editor aber Formatierungen aus Word.

    Ausserdem habe ich ehrlich gesagt einigermaßen Respekt davor an die Konfigurationsdatei zu gehen, kann mir jemand sagen, wie ich da sinnvoll vorgehe?

    Gruß Doro

  2. #2
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Zuerst einmal kann ich dir nicht wirklich weiterhelfen da ich dieses Feature des TinyMCE nicht wirklich genutzt habe, allerdings unter TYPO3 ist diese Feature standardmäßig dabei (die verwenden den rtehtmlarea).

    Funktionieren tut das ganze eigentlich nur dann wenn es sich im Word um keine komplexe Formatierung handelt (sprich eine Überschrift, Text mit ein paar Aufzählung klappen ganz gut) sobald aber zB eine Tabelle ins Spiel kommt verwürfelt dieser alles. Von dem her ist dieses Feature mit "Vorsicht" zu genießen.

    Tut mir leid das ich dir keine konkrete Hilfe für dein Problem anbieten kann

  3. #3
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard

    Hallo schman, manno das ging ja fix:-)
    Zitat Zitat von schman Beitrag anzeigen
    Funktionieren tut das ganze eigentlich nur dann wenn es sich im Word um keine komplexe Formatierung handelt (sprich eine Überschrift, Text mit ein paar Aufzählung klappen ganz gut) sobald aber zB eine Tabelle ins Spiel kommt verwürfelt dieser alles. Von dem her ist dieses Feature mit "Vorsicht" zu genießen.
    in diesem Falle handelt es sich wohl tatsächlich "nur" um einfache Formatierungen wie Headline, Subhead ect. , also keine Tabellen.

    ....hmm, ich hatte ja schon befürchtet, dass das nicht so trivial ist.

    was meinst Du, ist es definitiv nicht ratsam?
    also ich versorge meine zu pflegenden Inhalte auch immer so, dass ich word-texte in Textedit (allerdings Mac) auf Plaintext setze und dann einfüge,
    ist zwar ein zusätzlicher Bearbeitungsschritt , aber so schlimm auch wieder nicht.

    vielleicht hat ja sonst noch jemand Erfahrung damit?
    liebe Grüße Doro

  4. #4
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard ergänzend

    habe mir eben mal den Plugin Ordner tinyMCE angesehen, da liegt ja bereits in plugins "paste" und dann sehe ich da noch eine pasteword.htm und in dem js-ordner ein pasteword.js
    ist das ein Hinweis darauf, dass das im Prinzip vorhanden ist?

    Ihr merkt sicher schon, Doro hat da so garkeinen Plan

    aber vielleicht gibt's da noch einen Hinweis für mich?
    lg Doro

  5. #5
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.470
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Doro,

    selbst mit dem installierten Plugin wird der eingefügte Text nicht wirklich ohne jede Formatierung eingefügt. Das einfachste: Den Text aus Word kopieren, in einen UTF-8-fähigen Texteditor (Notepad++, PSPad) einfügen und dann von da via copy-paste in den TinyMCE.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  6. #6
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard

    Hallo planepix,

    Danke für ein weiteres Argument dagegen:-)
    Das hilft mir die Entscheidung zu treffen und der Kundin ans Herz zu legen
    über Notepad oder dergleichen die Texte zu bereinigen.
    So mache ich das ja, wie oben erwähnt sonst auch, aber man versucht ja schließlich auch die Kundenwünsche zu erfüllen.

    ok, Danke Euch Beiden.
    schönen Abend noch
    Doro

  7. #7
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    ich verwende für kunden wie auch mich nur das plugin paste as plain text. bislang sind mir weder in meinem vorher genutzten cms noch in tl nachteile daraus entstanden.

    realisieren lässt sich das ganze sehr einfach. entweder die datei system/config/tinyMCE.php direkt anpassen oder via dca-config updatesicher anpassen. dabei pasteword durch pastetext ersetzen.

    gruss andi
    Gruss Andi

  8. #8
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard

    Hi Andy,
    bei mir steht da aber lediglich paste?
    siehe> plugins : "advimage,autosave,contextmenu,directionality,emot ions,inlinepopups,paste,safari,save,searchreplace, spellchecker,style,table,template,typolinks,xhtmlx tras",

    ersetze ich dann paste durch pastetext? oder füge ich das als weitere Option hinzu?

    ich würde also zuerst eine customtinyMCE.php in der/die system/config erstellen/uploaden und dann im dcaconfig.php mittels
    $GLOBALS['Tl_DCA']['tl_content']['fields']['text']['eval']['rte']='customtinyMCE';
    zuweisen.
    ist das richtig?
    Doro

  9. #9
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    sali doro

    dein vorgehen ist korrekt, ausser: paste ist lediglich das plugin.dort brauchst du keine änderung vorzunehmen. weiter unten in der datei findest du die einzelnen buttons. dort kannst du entweder pasteword durch pastetext ersetzen oder nur anfügen.

    bin gerade unterwegs und kann dir die genaue passage nicht kopieren. hoffe, funktioniert trotzdem.

    gruss andi
    Gruss Andi

  10. #10
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard

    Coool es klappt, perfekt,
    wieder was gelernt, nun bin ich mal gespannt wie gut das in der Praxis funktioniert, mein erster Test war einwandfrei.
    Danke Andi

  11. #11
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.470
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Danke für die Details - dann werde ich das auch noch mal Testen, da ich es seit Version 2.4 nicht mehr angewendet habe ...
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  12. #12
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard Thema noch aktuell??

    Mit Copy and Paste aus Word in Contao werden ja noch immer die Formatierungen übernommen, oder?
    Gibts da schon eine andere Lösung als oben beschrieben, wenn nein, wo finde ich denn dieses Plugin?
    Gruß Mark

  13. #13
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    in der system/config/tinyMCE.php (oder so ähnlich) konfigurieren. Die Dokumentation findest du hier:

    http://tinymce.moxiecode.com/wiki.php/Pluginaste
    Kein Privat Support via PM.

  14. #14
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Danke schman,
    sehe ich das jetzt richtig??
    Habe jetzt "paste" bei Plugins eingefügt und theme_advanced_buttons3_add : "pastetext,pasteword,selectall".

    Dadurch hab ich im TinyMCE einen neuen Button der das ganze richtig steuert.

    Geht das auch dass nur noch ohne Formatierungen eingefügt werden kann. also dass das Standardmäßig so ist????
    Gruß Mark

  15. #15
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard Formatierung immer entfernen?

    Also bei mir ist das jetzt so:
    wenn ich z.B. einen aus Word formatierten Text mit copy paste einfüge sind die "falschen" Formate noch drin.
    wenn ich dann aber den Button drücke und dein einfüge ist alles wie ich das möchte.

    Kann man einstellen dass der button immer aktiviert ist???
    Gruß Mark

  16. #16
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard updatesicher??

    Möchte den Button pastetext jetzt gerne in der dcaconfig updatesicher machen.
    Hab das jetzt versucht wie das Doro gemacht hat.
    Eine customtinyMCE.php erstellt,
    und in der dcaconfig:
    $GLOBALS['Tl_DCA']['tl_content']['fields']['text']['eval']['rte']='customtinyMCE';
    eingetragen. Leider nimmt der sich das dann nicht. Hab ich da noch einen Fehler??
    Gruß Mark

  17. #17
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Standard

    Hi, kischd,
    ich habe eben nochmal bei mir reingeschaut,
    das sieht folgendermaßen aus:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyMCECustom'

  18. #18
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Hallo Doro,
    hab jetzt alle files nochmals gelösch neu angelegt, dann ging es auf einmal, komisch.....
    Danke dir.
    Gruß Mark

  19. #19
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Nochmal ne ganz doofe Frage:
    Wie/Wo kann ich herausfinden, was ich dann genau in die dcaconfig eintragen muss?
    Damit ich nicht immer nachfragen muss sondern es vielleicht mal selbst hinbekomme?
    Gruß Mark

  20. #20
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Guckst du im Contaowiki
    funktioniert für Sprache genau so wie für Einstellungen.
    Kein Privat Support via PM.

  21. #21
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Frage

    Hab jetzt nochmal ne generelle Frage dazu:
    Ich habe ja die tinyMCE.php kopiert und daraus meine tinyMCECustom gemacht und planetext eingefügt.
    Durch den Eintrag in der dcaconfig sag ich ja nur, dass ich diese Datei nehmen soll, richtig??
    Somit ist das ja Updatesicher. Was ist nun aber wenn die tinyMCE mal ein notwendiges Update bekommt, dann wird das von mir umgangen oder hab ich da in meiner Custom-Datei schon den Fehler drin??
    Gruß Mark

  22. #22
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    die tinymce.php liegt ja auch im system/config Verzeichnis. Der Tiny an sich ist unter system/plugins drinnen.
    Somit sollte eig. nichts passieren.
    Kein Privat Support via PM.

  23. #23
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Also passt das schon, wie ich alles angelegt habe? **bin verwirrt**
    Geändert von kischd (30.03.2011 um 10:06 Uhr)
    Gruß Mark

  24. #24
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Heute ist mir aufgefallen, dass der Button beim Artikel in der TinyMCE da ist, aber bei den Nachrichten nicht? wie kann das sein? oder muss da noch was eintragen?
    Gruß Mark

  25. #25
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    hallo mark

    indem du deine dcaconfig ergänzt mit:

    Code:
    $GLOBALS['TL_DCA']['tl_news']['fields']['text']['eval']['rte'] = 'tinyMCECustom';
    gruss andi
    Gruss Andi

  26. #26
    Contao-Fan Avatar von Doro
    Registriert seit
    21.06.2009.
    Ort
    Ammersbek
    Beiträge
    359

    Daumen hoch ergänzender Tipp von plainpix

    richtig toll ist ja die Möglichkeit bestimmte Einstellungen für Redakteure zu setzen und als Admin trotzdem den vollen Zugriff auf alle Plugins weiterhin zu erhalten.

    Ich habe gerade die Seite von planepix zu diesem Thema gefunden
    www.think-contao.de/tinymce-fuer-redakteure.html
    Damit lassen sich dann optional auch noch weitere Benutzergruppen mit jeweils individuellen Vorgaben anlegen.
    wie cool, besten Dank an Thomas, das ist ja noch eins oben drauf, sozusagen:-)
    dachte das passt doch hierher.
    Gruß Doro

  27. #27
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard dca-eintrag auch für Events?

    Ich hab mich jetzt mal an pspad rangetraut um den Eitnrag für die News selbst hinzubekommen. Leider bin ich gescheitert.
    Kann mir jemand dabei helfen?

    Ein weiterer Tipp nach welchem Begriff ich bei pspad zu suchen habe wäre auch hilfreich. Ich es probiert mit tinymce und ['fields']['text']['eval']['rte']
    Oder geh ich das ganze komplett falsch an?
    Gruß Mark

  28. #28
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Wollte ich eigentlich noch schreiben, hab den Eintrag noch rausgefunden
    Habs dann doch irgendwann kapiert

    Code:
    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['details']['eval']['rte'] = 'tinyMCECustom';
    Gruß Mark

  29. #29
    Contao-Nutzer
    Registriert seit
    26.02.2010.
    Ort
    Hamburg
    Beiträge
    63

    Standard Plain Text

    Zitat Zitat von kischd Beitrag anzeigen
    Also bei mir ist das jetzt so:
    wenn ich z.B. einen aus Word formatierten Text mit copy paste einfüge sind die "falschen" Formate noch drin.
    wenn ich dann aber den Button drücke und dein einfüge ist alles wie ich das möchte.

    Kann man einstellen dass der button immer aktiviert ist???
    In der editor_plugin.js pastAsPlainText=false auf "true" setzen. Dann brauchst Du auch diesen zusäzlichen Button nicht, der verwirrt ja nur, weil alle Nutzer glauben, das beim draufklicken eingefügt wird.
    Version 2.9, Entwicklerumgebung WAMP, Host 1und1 ohne SMH

  30. #30
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Das hört sich ja gut an. Noch ne Frage dazu:
    Ich hab mehrere editor_plugin.js gefunden. In welche sollte das geändert werden und ist dies Updatesicher oder kann ich das Updatesicher machen?
    Gruß Mark

  31. #31
    Contao-Nutzer
    Registriert seit
    26.02.2010.
    Ort
    Hamburg
    Beiträge
    63

    Standard editor_plugins.js

    Das steht in der

    plugins/tiniMCE/plugins/paste/editor_plugins/js

    Für den IE9 muss noch an anderer Stelle auf "true" geschaltet werden.

    Datei anbei. (js geht nicht, also nachfolgend derCode)
    PHP-Code:
    (function(){var c=tinymce.each,d=null,a={paste_auto_cleanup_on_paste:true,paste_block_drop:false,paste_retain_style_properties:"none",paste_strip_class_attributes:"mso",paste_remove_spans:false,paste_remove_styles:true,paste_remove_styles_if_webkit:true,paste_convert_middot_lists:true,paste_convert_headers_to_strong:false,paste_dialog_width:"450",paste_dialog_height:"400",paste_text_use_dialog:false,paste_text_sticky:false,paste_text_notifyalways:false,paste_text_linebreaktype:"p",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(e,f){return e.getParam(f,a[f])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(e,f){var g=this;g.editor=e;g.url=f;g.onPreProcess=new tinymce.util.Dispatcher(g);g.onPostProcess=new tinymce.util.Dispatcher(g);g.onPreProcess.add(g._preProcess);g.onPostProcess.add(g._postProcess);g.onPreProcess.add(function(j,k){e.execCallback("paste_preprocess",j,k)});g.onPostProcess.add(function(j,k){e.execCallback("paste_postprocess",j,k)});e.pasteAsPlainText=true;function i(l,j){var k=e.dom;g.onPreProcess.dispatch(g,l);l.node=k.create("div",0,l.content);g.onPostProcess.dispatch(g,l);l.content=e.serializer.serialize(l.node,{getInner:1});if((!j)&&(e.pasteAsPlainText)){g._insertPlainText(e,k,l.content);if(!b(e,"paste_text_sticky")){e.pasteAsPlainText=true;e.controlManager.setActive("pastetext",true)}}else{if(/<(p|h[1-6]|ul|ol)/.test(l.content)){g._insertBlockContent(e,k,l.content)}else{g._insert(l.content)}}}e.addCommand("mceInsertClipboardContent",function(j,k){i(k,true)});if(!b(e,"paste_text_use_dialog")){e.addCommand("mcePasteText",function(k,j){var l=tinymce.util.Cookie;e.pasteAsPlainText=!e.pasteAsPlainText;e.controlManager.setActive("pastetext",e.pasteAsPlainText);if((e.pasteAsPlainText)&&(!l.get("tinymcePasteText"))){if(b(e,"paste_text_sticky")){e.windowManager.alert(e.translate("paste.plaintext_mode_sticky"))}else{e.windowManager.alert(e.translate("paste.plaintext_mode_sticky"))}if(!b(e,"paste_text_notifyalways")){l.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}e.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});e.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function h(s){var m,q,k,l=e.selection,p=e.dom,r=e.getBody(),j;if(e.pasteAsPlainText&&(s.clipboardData||p.doc.dataTransfer)){s.preventDefault();i({content:(s.clipboardData||p.doc.dataTransfer).getData("Text")},true);return}if(p.get("_mcePaste")){return}m=p.add(r,"div",{id:"_mcePaste","class":"mcePaste"},'\uFEFF<br _mce_bogus="1">');if(r!=e.getDoc().body){j=p.getPos(e.selection.getStart(),r).y}else{j=r.scrollTop}p.setStyles(m,{position:"absolute",left:-10000,top:j,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){k=p.doc.body.createTextRange();k.moveToElementText(m);k.execCommand("Paste");p.remove(m);if(m.innerHTML==="\uFEFF"){e.execCommand("mcePasteWord");s.preventDefault();return}i({content:m.innerHTML});return tinymce.dom.Event.cancel(s)}else{function o(n){n.preventDefault()}p.bind(e.getDoc(),"mousedown",o);p.bind(e.getDoc(),"keydown",o);q=e.selection.getRng();m=m.firstChild;k=e.getDoc().createRange();k.setStart(m,0);k.setEnd(m,1);l.setRng(k);window.setTimeout(function(){var t="",n=p.select("div.mcePaste");c(n,function(v){var u=v.firstChild;if(u&&u.nodeName=="DIV"&&u.style.marginTop&&u.style.backgroundColor){p.remove(u,1)}c(p.select("div.mcePaste",v),function(w){p.remove(w,1)});c(p.select("span.Apple-style-span",v),function(w){p.remove(w,1)});c(p.select("br[_mce_bogus]",v),function(w){p.remove(w)});t+=v.innerHTML});c(n,function(u){p.remove(u)});if(q){l.setRng(q)}i({content:t});p.unbind(e.getDoc(),"mousedown",o);p.unbind(e.getDoc(),"keydown",o)},0)}}if(b(e,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){e.onKeyDown.add(function(j,k){if(((tinymce.isMac?k.metaKey:k.ctrlKey)&&k.keyCode==86)||(k.shiftKey&&k.keyCode==45)){h(k)}})}else{e.onPaste.addToTop(function(j,k){return h(k)})}}if(b(e,"paste_block_drop")){e.onInit.add(function(){e.dom.bind(e.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(j){j.preventDefault();j.stopPropagation();return false})})}g._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(i,f){var l=this.editor,k=f.content,q=tinymce.grep,p=tinymce.explode,g=tinymce.trim,m,j;function e(h){c(h,function(o){if(o.constructor==RegExp){k=k.replace(o,"")}else{k=k.replace(o[0],o[1])}})}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(k)||f.wordContent){f.wordContent=true;e([/^\s*(&nbsp;)+/gi,/(&nbsp;|<br[^>]*>)+\s*$/gi]);if(b(l,"paste_convert_headers_to_strong")){k=k.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"<p><strong>$1</strong></p>")}if(b(l,"paste_convert_middot_lists")){e([[/<!--\[if !supportLists\]-->/gi,"$&__MCE_ITEM__"],[/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"]])}e([/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\u00a0"]]);do{m=k.length;k=k.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(m!=k.length);if(b(l,"paste_retain_style_properties").replace(/^none$/i,"").length==0){k=k.replace(/<\/?span[^>]*>/gi,"")}else{e([[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(o,h){return(h.length>0)?h.replace(/./," ").slice(Math.floor(h.length/2)).split("").join("\u00a0"):""}],[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,function(u,h,t){var v=[],o=0,r=p(g(t).replace(/&quot;/gi,"'"),";");c(r,function(s){var w,y,z=p(s,":");function x(A){return A+((A!=="0")&&(/\d$/.test(A)))?"px":""}if(z.length==2){w=z[0].toLowerCase();y=z[1].toLowerCase();switch(w){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-table-layout-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":v[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":v[o++]="text-align:"+y;return;case"vert-align":v[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":v[o++]="color:"+y;return;case"mso-background":case"mso-highlight":v[o++]="background:"+y;return;case"mso-default-height":v[o++]="min-height:"+x(y);return;case"mso-default-width":v[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":v[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){v[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){v[o++]="display:none"}return}if(/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(w)){return}v[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+v.join(";")+'"'}else{return h}}]])}}if(b(l,"paste_convert_headers_to_strong")){e([[/<h[1-6][^>]*>/gi,"<p><strong>"],[/<\/h[1-6][^>]*>/gi,"</strong></p>"]])}j=b(l,"paste_strip_class_attributes");if(j!=="none"){function n(r,o){if(j==="all"){return""}var h=q(p(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(s){return(/^(?!mso)/i.test(s))});return h.length?' class="'+h.join(" ")+'"':""}k=k.replace(/ class="([^"]+)"/gi,n);k=k.replace(/ class=(\w+)/gi,n)}if(b(l,"paste_remove_spans")){k=k.replace(/<\/?span[^>]*>/gi,"")}f.content=k},_postProcess:function(h,j){var g=this,f=g.editor,i=f.dom,e;if(j.wordContent){c(i.select("a",j.node),function(k){if(!k.href||k.href.indexOf("#_Toc")!=-1){i.remove(k,1)}});if(b(f,"paste_convert_middot_lists")){g._convertLists(h,j)}e=b(f,"paste_retain_style_properties");if((tinymce.is(e,"string"))&&(e!=="all")&&(e!=="*")){e=tinymce.explode(e.replace(/^none$/i,""));c(i.select("*",j.node),function(n){var o={},l=0,m,p,k;if(e){for(m=0;m<e.length;m++){p=e[m];k=i.getStyle(n,p);if(k){o[p]=k;l++}}}i.setAttrib(n,"style","");if(e&&l>0){i.setStyles(n,o)}else{if(n.nodeName=="SPAN"&&!n.className){i.remove(n,true)}}})}}if(b(f,"paste_remove_styles")||(b(f,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(i.select("*[style]",j.node),function(k){k.removeAttribute("style");k.removeAttribute("_mce_style")})}else{if(tinymce.isWebKit){c(i.select("*",j.node),function(k){k.removeAttribute("_mce_style")})}}},_convertLists:function(h,f){var j=h.editor.dom,i,m,e=-1,g,n=[],l,k;c(j.select("p",f.node),function(u){var r,v="",t,s,o,q;for(r=u.firstChild;r&&r.nodeType==3;r=r.nextSibling){v+=r.nodeValue}v=u.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/&nbsp;/g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o]\s*\u00a0*/.test(v)){t="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0{2,}/.test(v)){t="ol"}if(t){g=parseFloat(u.style.marginLeft||0);if(g>e){n.push(g)}if(!i||t!=l){i=j.create(t);j.insertAfter(i,u)}else{if(g>e){i=m.appendChild(j.create(t))}else{if(g<e){o=tinymce.inArray(n,g);q=j.getParents(i.parentNode,t);i=q[q.length-1-o]||i}}}c(j.select("span",u),function(w){var p=w.innerHTML.replace(/<\/?\w+[^>]*>/gi,"");if(t=="ul"&&/^[\u2022\u00b7\u00a7\u00d8o]/.test(p)){j.remove(w)}else{if(/^[\s\S]*\w+\.(&nbsp;|\u00a0)*\s*/.test(p)){j.remove(w)}}});s=u.innerHTML;if(t=="ul"){s=u.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o]\s*(&nbsp;|\u00a0)+\s*/,"")}else{s=u.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.(&nbsp;|\u00a0)+\s*/,"")}m=i.appendChild(j.create("li",0,s));j.remove(u);e=g;l=t}else{i=e=0}});k=f.node.innerHTML;if(k.indexOf("__MCE_ITEM__")!=-1){f.node.innerHTML=k.replace(/__MCE_ITEM__/g,"")}},_insertBlockContent:function(l,h,m){var f,j,g=l.selection,q,n,e,o,i,k="mce_marker";function p(t){var s;if(tinymce.isIE){s=l.getDoc().body.createTextRange();s.moveToElementText(t);s.collapse(false);s.select()}else{g.select(t,1);g.collapse(false)}}this._insert('<span id="'+k+'"></span>',1);j=h.get(k);f=h.getParent(j,"p,h1,h2,h3,h4,h5,h6,ul,ol,th,td");if(f&&!/TD|TH/.test(f.nodeName)){j=h.split(f,j);c(h.create("div",0,m).childNodes,function(r){q=j.parentNode.insertBefore(r.cloneNode(true),j)});p(q)}else{h.setOuterHTML(j,m);g.select(l.getBody(),1);g.collapse(0)}while(n=h.get(k)){h.remove(n)}n=g.getStart();e=h.getViewPort(l.getWin());o=l.dom.getPos(n).y;i=n.clientHeight;if(o<e.y||o+i>e.y+e.h){l.getDoc().body.scrollTop=o<e.y?o:o-e.h+25}},_insert:function(g,e){var f=this.editor,i=f.selection.getRng();if(!f.selection.isCollapsed()&&i.startContainer!=i.endContainer){f.getDoc().execCommand("Delete",false,null)}f.execCommand(tinymce.isGecko?"insertHTML":"mceInsertContent",false,g,{skip_undo:e})},_insertPlainText:function(j,x,v){var t,u,l,k,r,e,p,f,n=j.getWin(),z=j.getDoc(),s=j.selection,m=tinymce.is,y=tinymce.inArray,g=b(j,"paste_text_linebreaktype"),o=b(j,"paste_text_replacements");function q(h){c(h,function(i){if(i.constructor==RegExp){v=v.replace(i,"")}else{v=v.replace(i[0],i[1])}})}if((typeof(v)==="string")&&(v.length>0)){if(!d){d=("34,quot,38,amp,39,apos,60,lt,62,gt,"+j.serializer.settings.entities).split(",")}if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(v)){q([/[\n\r]+/g])}else{q([/\r+/g])}q([[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi,"\n\n"],[/<br[^>]*>|<\/tr>/gi,"\n"],[/<\/t[dh]>\s*<t[dh][^>]*>/gi,"\t"],/<[a-z!\/?][^>]*>/gi,[/&nbsp;/gi," "],[/&(#\d+|[a-z0-9]{1,10});/gi,function(i,h){if(h.charAt(0)==="#"){return String.fromCharCode(h.slice(1))}else{return((i=y(d,h))>0)?String.fromCharCode(d[i-1]):" "}}],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"],[/\n{3,}/g,"\n\n"],/^\s+|\s+$/g]);v=x.encode(v);if(!s.isCollapsed()){z.execCommand("Delete",false,null)}if(m(o,"array")||(m(o,"array"))){q(o)}else{if(m(o,"string")){q(new RegExp(o,"gi"))}}if(g=="none"){q([[/\n+/g," "]])}else{if(g=="br"){q([[/\n/g,"<br />"]])}else{q([/^\s+|\s+$/g,[/\n\n/g,"</p><p>"],[/\n/g,"<br />"]])}}if((l=v.indexOf("</p><p>"))!=-1){k=v.lastIndexOf("</p><p>");r=s.getNode();e=[];do{if(r.nodeType==1){if(r.nodeName=="TD"||r.nodeName=="BODY"){break}e[e.length]=r}}while(r=r.parentNode);if(e.length>0){p=v.substring(0,l);f="";for(t=0,u=e.length;t<u;t++){p+="</"+e[t].nodeName.toLowerCase()+">";f+="<"+e[e.length-t-1].nodeName.toLowerCase()+">"}if(l==k){v=p+f+v.substring(l+7)}else{v=p+v.substring(l+4,k+4)+f+v.substring(k+7)}}}j.execCommand("mceInsertRawHTML",false,v+'<span id="_plain_text_marker">&nbsp;</span>');window.setTimeout(function(){var h=x.get("_plain_text_marker"),B,i,A,w;s.select(h,false);z.execCommand("Delete",false,null);h=null;B=s.getStart();i=x.getViewPort(n);A=x.getPos(B).y;w=B.clientHeight;if((A<i.y)||(A+w>i.y+i.h)){z.body.scrollTop=A<i.y?A:A-i.h+25}},0)}},_legacySupport:function(){var f=this,e=f.editor;e.addCommand("mcePasteWord",function(){e.windowManager.open({file:f.url+"/pasteword.htm",width:parseInt(b(e,"paste_dialog_width")),height:parseInt(b(e,"paste_dialog_height")),inline:1})});if(b(e,"paste_text_use_dialog")){e.addCommand("mcePasteText",function(){e.windowManager.open({file:f.url+"/pastetext.htm",width:parseInt(b(e,"paste_dialog_width")),height:parseInt(b(e,"paste_dialog_height")),inline:1})})}e.addButton("pasteword",{title:"paste.paste_word_desc",cmd:"mcePasteWord"})}});tinymce.PluginManager.add("paste",tinymce.plugins.PastePlugin)})(); 
    Wie man das updatesicher macht, frage an anderer Stelle.

    Gruß
    Geändert von barz (25.07.2011 um 12:16 Uhr)
    Version 2.9, Entwicklerumgebung WAMP, Host 1und1 ohne SMH

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. labelCallback bei copy/cut&paste
    Von matths im Forum Entwickler-Fragen
    Antworten: 10
    Letzter Beitrag: 10.03.2011, 14:49
  2. Plain Text Mail
    Von ruedische im Forum isotope
    Antworten: 4
    Letzter Beitrag: 14.02.2011, 15:20
  3. tinymce paste und Formatierungs Problem
    Von hirnzircus im Forum Allgemeine Inhaltselemente
    Antworten: 8
    Letzter Beitrag: 12.08.2010, 17:50
  4. Copy/Paste in den Texteditor tinyMCE
    Von danielk im Forum Layout / Templates / Holy Grail
    Antworten: 12
    Letzter Beitrag: 14.04.2010, 15:42
  5. Copy&Paste auf typolight.org
    Von lindesbs im Forum Off Topic
    Antworten: 7
    Letzter Beitrag: 05.10.2009, 16:23

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •