Bestehende Codebasis als Ausgangsstand aufgenommen. - .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen; Verzeichnisstruktur ueber .gitkeep erhalten - .gitattributes: Zeilenenden normalisiert (LF im Repo), Binaerformate markiert - db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der Anwendung aus der externen Konfiguration statt hartkodiert aus der Datei; Passwort wird ueber eine temporaere Optionsdatei statt per Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet, Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
tinyMCEPopup.requireLangPack();
|
|
|
|
var EmotionsDialog = {
|
|
addKeyboardNavigation: function(){
|
|
var tableElm, cells, settings;
|
|
|
|
cells = tinyMCEPopup.dom.select("a.emoticon_link", "emoticon_table");
|
|
|
|
settings ={
|
|
root: "emoticon_table",
|
|
items: cells
|
|
};
|
|
cells[0].tabindex=0;
|
|
tinyMCEPopup.dom.addClass(cells[0], "mceFocus");
|
|
if (tinymce.isGecko) {
|
|
cells[0].focus();
|
|
} else {
|
|
setTimeout(function(){
|
|
cells[0].focus();
|
|
}, 100);
|
|
}
|
|
tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);
|
|
},
|
|
init : function(ed) {
|
|
tinyMCEPopup.resizeToInnerSize();
|
|
this.addKeyboardNavigation();
|
|
},
|
|
|
|
insert : function(file, title) {
|
|
var ed = tinyMCEPopup.editor, dom = ed.dom;
|
|
|
|
tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', {
|
|
src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file,
|
|
alt : ed.getLang(title),
|
|
title : ed.getLang(title),
|
|
border : 0
|
|
}));
|
|
|
|
tinyMCEPopup.close();
|
|
}
|
|
};
|
|
|
|
tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog);
|