AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/media/plg_system_jcepro/editor/plugins/templatemanager/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/media/plg_system_jcepro/editor/plugins/templatemanager/plugin.js
/* jce - 2.9.90-beta4 | 2025-07-15 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2025 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */
!function() {
    var each = tinymce.each, extend = tinymce.extend, HtmlSerializer = tinymce.html.Serializer, XHR = tinymce.util.XHR, Uuid = tinymce.util.Uuid, fontIconRe = /<([a-z0-9]+)([^>]+)class="([^"]*)(glyph|uk-)?(fa|icon)-([\w-]+)([^"]*)"([^>]*)>(&nbsp;|\u00a0)?<\/\1>/gi;
    function dataToHtml(editor, data) {
        if (!data) return "";
        var doc, data = data.trim(), parser = new DOMParser();
        try {
            doc = parser.parseFromString(data, "text/html");
        } catch (e) {
            return editor.windowManager.alert("Error parsing HTML:", e), "";
        }
        parser = doc.body ? doc.body.innerHTML : "", data = new tinymce.html.DomParser({
            allow_event_attributes: !!editor.settings.allow_event_attributes
        }, editor.schema).parse(parser, {
            forced_root_block: !1,
            isRootContent: !0
        });
        return new HtmlSerializer({
            validate: editor.settings.validate
        }, editor.schema).serialize(data);
    }
    function createClassSelector(values) {
        return values = values.trim(), tinymce.map(values.split(" "), function(cls) {
            if (cls) return "." + cls;
        }).join(",");
    }
    function getContentAndInsert(ed, url) {
        ed.setProgressState(!0);
        var absoluteUrl = ed.documentBaseURI.toAbsolute(url);
        return new Promise(function(resolve, reject) {
            XHR.send({
                url: absoluteUrl,
                success: function(value) {
                    value = dataToHtml(ed, value);
                    value && ed.execCommand("mceInsertTemplate", !1, {
                        content: value
                    }), ed.setProgressState(!1), resolve();
                },
                error: function(e) {
                    ed.setProgressState(!1), reject();
                }
            });
        });
    }
    tinymce.PluginManager.add("templatemanager", function(ed, url) {
        var self = this, params = (self.contentLoaded = !1, ed.getParam("templatemanager", {}));
        ed.addCommand("mceTemplate", function(ui) {
            window.matchMedia("(max-width: 600px)").matches ? ed.execCommand("mceFileBrowser", !0, {
                caller: "templatemanager",
                filter: params.filetypes || "html,htm,txt,md",
                callback: function(selected, data) {
                    data = data[0].url;
                    data && getContentAndInsert(ed, data).then();
                }
            }) : ed.windowManager.open({
                file: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=templatemanager",
                size: "mce-modal-landscape-xxlarge"
            }, {
                plugin_url: url
            });
        }), ed.onInit.add(function() {
            ed.plugins.contextmenu && ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) {
                m.add({
                    title: "templatemanager.desc",
                    icon: "templatemanager",
                    cmd: "mceTemplate"
                });
            });
        }), ed.addCommand("mceInsertTemplate", function(ui, o) {
            return function(html) {
                function insertAndUpdate(content) {
                    ed.execCommand("mceInsertContent", !1, content), !1 === ed.settings.verify_html && (ed.settings.validate = !1), 
                    ed.addVisual();
                }
                !1 === ed.settings.validate && (ed.settings.validate = !0);
                var values = (html = (html = (html = html.replace(fontIconRe, '<$1$2class="$3$4$5-$6$7"$8>&nbsp;</$1>')).replace(/<(a|i|span)([^>]+)><\/\1>/gi, "<$1$2>&nbsp;</$1>")).replace(/\{\$(.*?)\}/g, "${$1}")).match(/\$\{([^\}]+?)\}/g);
                {
                    var cm, form, controls, supportedTypes;
                    values ? (cm = ed.controlManager, form = cm.createForm("templatemanager_form"), 
                    controls = {}, form.empty(), supportedTypes = {
                        image: "images",
                        file: "files",
                        media: "media"
                    }, each(values, function(key) {
                        key = key.replace(/\$\{([^\}]+?)\}/, "$1");
                        var type = "", label = key, key = (-1 !== key.indexOf(":") && (label = (key = key.split(":"))[0], 
                        type = key[1]), label.replace(/[^a-z0-9]/gi, "_").toLowerCase()), label = {
                            label: ed.getLang(label, label),
                            name: key
                        }, ctrl = type && supportedTypes[type] ? (label = extend(label, {
                            picker: !0,
                            picker_label: "browse",
                            picker_icon: type,
                            onpick: function() {
                                ed.execCommand("mceFileBrowser", !0, {
                                    caller: function(type) {
                                        if ("image" == type) {
                                            if (ed.plugins.imgmanager_ext) return "imgmanager_ext";
                                            if (ed.plugins.imgmanager) return "imgmanager";
                                        }
                                        return "media" == type && ed.plugins.mediamanager ? "mediamanager" : "";
                                    }(type),
                                    callback: function(selected, data) {
                                        var src, mdate_format;
                                        data.length && (data = data[0], src = data.url, 
                                        ctrl.value(src), data.modified && (mdate_format = params.mdate_format || ed.getLang("templatemanager.mdate_format", "%d/%m/%Y, %H:%M"), 
                                        data.date = getDateTime(data.modified, mdate_format)), 
                                        data.size && (data.size = function(s, int) {
                                            if (!s) return "";
                                            if (1048576 < s) return n = Math.round(s / 1048576 * 100) / 100, 
                                            int ? n : n + " " + ed.getLang("size_mb", "MB");
                                            {
                                                var n;
                                                if (1024 < s) return n = Math.round(s / 1024 * 100) / 100, 
                                                int ? n : n + " " + ed.getLang("size_kb", "KB");
                                            }
                                            if (int) return s;
                                            return s + " " + ed.getLang("size_bytes", "Bytes");
                                        }(data.size)), data.filename = src.replace(/^.*[\/\\]/g, "").replace(/\.[^.]+$/i, ""), 
                                        data.extension = src.substring(src.length, src.lastIndexOf(".") + 1), 
                                        each(data, function(value, key) {
                                            controls[key] && controls[key].control.value(value);
                                        }), window.setTimeout(function() {
                                            ctrl.focus();
                                        }, 10));
                                    },
                                    filter: supportedTypes[type],
                                    value: ctrl.value()
                                });
                            }
                        }), cm.createUrlBox("templatemanager_form_" + key, label)) : ("textarea" == type && (label.multiline = !0), 
                        label.attributes = {}, "disabled" == type && (label.attributes.disabled = "disabled"), 
                        "readonly" == type && (label.attributes.readonly = "readonly"), 
                        "hidden" == type && (label.subtype = "hidden"), cm.createTextBox("templatemanager_form_" + key, label));
                        controls[key] = {
                            control: ctrl,
                            type: type
                        }, form.add(ctrl);
                    }), ed.windowManager.open({
                        title: ed.getLang("templatemanager.values", "Values"),
                        items: [ form ],
                        size: "mce-modal-landscape-small",
                        open: function() {
                            window.setTimeout(function() {
                                form.controls[0].focus();
                            }, 10);
                        },
                        buttons: [ {
                            title: ed.getLang("cancel", "Cancel"),
                            id: "cancel"
                        }, {
                            title: ed.getLang("insert", "Insert"),
                            id: "insert",
                            onsubmit: function(e) {
                                var data = form.submit();
                                each(data, function(value, key) {
                                    value = ed.dom.create("div", {}, value).textContent, 
                                    html = html.replace(new RegExp(`\\$\\{${key}(?::\\w+)?\\}`, "gi"), value);
                                }), insertAndUpdate(html);
                            },
                            classes: "primary",
                            scope: this
                        } ]
                    })) : insertAndUpdate(html);
                }
            }(function(html) {
                var dom = ed.dom, replace_values = params.replace_values || {}, cdate_classes = (html = html.replace(/\{\$(.*?)\}/g, "${$1}"), 
                each(replace_values, function(value, key) {
                    "function" != typeof value && (html = html.replace(new RegExp("\\$\\{" + key + "\\}", "g"), value));
                }), html = dataToHtml(ed, html), replace_values = dom.create("div", null, html), 
                dom.remove(dom.select("div.mceTmpl", replace_values), 1), params.cdate_classes || "cdate creationdate"), cdate_format = params.cdate_format || ed.getLang("templatemanager.cdate_format"), mdate_classes = params.mdate_classes || "mdate modifieddate", mdate_format = params.mdate_format || ed.getLang("templatemanager.mdate_format"), selected_content_classes = params.selected_content_classes || "selcontent", selection = ed.selection.getContent(), cdate_classes = createClassSelector(cdate_classes), mdate_classes = createClassSelector(mdate_classes), selected_content_classes = createClassSelector(selected_content_classes);
                return each(dom.select(cdate_classes, replace_values), function(elm) {
                    elm.innerHTML = getDateTime(new Date(), cdate_format);
                }), each(dom.select(mdate_classes, replace_values), function(elm) {
                    elm.innerHTML = getDateTime(new Date(), mdate_format);
                }), each(dom.select(selected_content_classes, replace_values), function(elm) {
                    elm.innerHTML = selection;
                }), replace_values.innerHTML;
            }(o.content));
        }), params.list || ed.addButton("templatemanager", {
            title: "templatemanager.desc",
            cmd: "mceTemplate"
        }), ed.onPreProcess.add(function(ed, o) {
            var dom = ed.dom, mdate_classes = (dom.remove(dom.select("div.mceTmpl", o.node), 1), 
            params.mdate_classes || "mdate modifieddate"), mdate_format = params.mdate_format || ed.getLang("templatemanager.mdate_format"), ed = createClassSelector(mdate_classes);
            each(dom.select(ed, o.node), function(elm) {
                elm.innerHTML = getDateTime(new Date(), mdate_format);
            });
        });
        var content_url = params.content_url || "";
        function getDateTime(d, fmt) {
            return fmt ? ("string" == typeof d && (d = new Date(1e3 * d)), (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = (fmt = fmt.replace("%D", "%m/%d/%y")).replace("%r", "%I:%M:%S %p")).replace("%Y", "" + d.getFullYear())).replace("%y", "" + d.getYear())).replace("%m", addZeros(d.getMonth() + 1, 2))).replace("%d", addZeros(d.getDate(), 2))).replace("%H", "" + addZeros(d.getHours(), 2))).replace("%M", "" + addZeros(d.getMinutes(), 2))).replace("%S", "" + addZeros(d.getSeconds(), 2))).replace("%I", "" + ((d.getHours() + 11) % 12 + 1))).replace("%p", d.getHours() < 12 ? "AM" : "PM")).replace("%B", "" + ed.getLang("templatemanager_months_long").split(",")[d.getMonth()])).replace("%b", "" + ed.getLang("templatemanager_months_short").split(",")[d.getMonth()])).replace("%A", "" + ed.getLang("templatemanager_day_long").split(",")[d.getDay()])).replace("%a", "" + ed.getLang("templatemanager_day_short").split(",")[d.getDay()])).replace("%%", "%")) : "";
            function addZeros(value, len) {
                var i;
                if ((value = "" + value).length < len) for (i = 0; i < len - value.length; i++) value = "0" + value;
                return value;
            }
        }
        content_url && ed.onInit.add(function() {
            var content;
            self.contentLoaded || "" != (content = ed.getContent()) && "<p>&nbsp;</p>" != content || (/http(s)?:\/\//.test(content_url) || (ed.setProgressState(!0), 
            getContentAndInsert(ed, content_url).then(function() {
                self.contentLoaded = !0;
            })));
        }), this.createControl = function(name, cm) {
            if ("templatemanager" == name && params.list) return (name = cm.createSplitButton("templatemanager", {
                title: "templatemanager.desc",
                cmd: !1 !== params.dialog ? "mceTemplate" : null,
                class: "mce_templatemanager"
            })).onRenderMenu.add(function(btn, menu) {
                var editor, loader = menu.add({
                    id: ed.dom.uniqueId(),
                    title: ed.getLang("dlg.message_load")
                });
                editor = ed, new Promise(function(resolve, reject) {
                    var args = {
                        id: Uuid.uuid("wf_"),
                        method: "getTemplateList",
                        params: []
                    };
                    tinymce.util.XHR.send({
                        url: editor.getParam("site_url") + "index.php?option=com_jce&task=plugin.rpc&plugin=templatemanager&" + editor.settings.query,
                        data: "json=" + JSON.stringify(args),
                        content_type: "application/x-www-form-urlencoded",
                        success: function(response) {
                            var data = "";
                            try {
                                data = JSON.parse(response);
                            } catch (e) {
                                reject();
                            }
                            data.result || reject(), data.result.error && reject();
                            response = tinymce.is(data.result, "object") ? data.result : {};
                            if ("string" == typeof data.result) try {
                                response = JSON.parse(data.result);
                            } catch (e) {
                                return reject();
                            }
                            resolve(response);
                        },
                        error: function(err, xhr) {
                            return reject();
                        }
                    });
                }).then(function(templateData) {
                    loader.remove(), each(templateData, function(value, name) {
                        "string" == typeof value && (value = {
                            data: value,
                            image: ""
                        });
                        var item = menu.add({
                            id: ed.dom.uniqueId(),
                            title: name,
                            image: value.image,
                            onclick: function(e) {
                                return item.setSelected(!1), function(value) {
                                    /\.(html|html|txt|md)$/i.test(value) ? (ed.setProgressState(!0), 
                                    XHR.send({
                                        url: value,
                                        success: function(val) {
                                            val = dataToHtml(ed, val);
                                            val && (ed.execCommand("mceInsertTemplate", !1, {
                                                content: val
                                            }), ed.setProgressState(!1));
                                        }
                                    })) : (value = ed.dom.decode(value), ed.execCommand("mceInsertTemplate", !1, {
                                        content: value
                                    }));
                                }(value.data), !1;
                            }
                        });
                    });
                }, function() {});
            }), name;
        }, this.insertUploadedFile = function(o) {
            var data = this.getUploadConfig();
            if (data && data.filetypes && new RegExp(".(" + data.filetypes.join("|") + ")$", "i").test(o.name)) return o.data && (data = dataToHtml(ed, o.data)) && ed.execCommand("mceInsertTemplate", !1, {
                content: data
            }), !0;
            return !1;
        }, this.getUploadURL = function(file) {
            var data = this.getUploadConfig();
            return !!(data && data.filetypes && new RegExp(".(" + data.filetypes.join("|") + ")$", "i").test(file.name)) && ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=templatemanager";
        }, this.getUploadConfig = function() {
            return params.upload || {};
        };
    });
}();

Anon7 - 2022
AnonSec Team