Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите найти процедуру в плагине Joomla

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: помогите заленому кодеру открыть глаза
anatolii
Отправлено: 20 Февраля, 2014 - 22:05:40
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Доброго времени суток.
итак есть плагин джумлы - редактор JCE
в его окно можно перетягивать картинки напрямуй (дран и дроп)
необходимо скоректировать так что бы при перетягивании
кроме основной создавалась 2я картинка с измененными размерами.
скрипт изменени размеров есть, понимаю что какую то процедуру нужно вызвать дважды передав ей параметром ресайзднутое изображение. немогу отследить
какая процедура отвечает за загрузку картинки - в консоле мозиллы хтмл, искал по тегу
имгманагер - ссылки на цсс только. помогите отыскать.
линк на редактор http://www[dot]joomlacontenteditor[dot]n[dot][dot][dot]editor/joomla-25
Заранее спасибо.

ПС. вопрос следом - есть отладчик какой либо с видом "привычног дебаггера типа С# или делфи, ну или 1С на крайняк", глаза привыклиУлыбка
 
 Top
anatolii
Отправлено: 24 Февраля, 2014 - 02:07:48
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




4 дня искалю нашел
tiny_mce.js
вот он скрипт.
подскажите как его читабельным сделать? он в одну строку. онлайн сервисы виснут
 
 Top
Viper
Отправлено: 24 Февраля, 2014 - 05:03:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)






-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
anatolii
Отправлено: 24 Февраля, 2014 - 11:07:03
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




спасибо за сырки.
загрузка там в плагине производитсяю
editor_plugin.js
онлайн сервисом привел его в читаемый вид
CODE (htmlphp):
скопировать код в буфер обмена
  1. /* JCE Editor - 2.3.4.4 | 12 December 2013 | http://www.joomlacontenteditor.net | Copyright (C) 2006 - 2013 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */
  2. (function () {
  3.     var each = tinymce.each,
  4.         extend = tinymce.extend,
  5.         JSON = tinymce.util.JSON;
  6.     var isWin = navigator.platform.indexOf('Win') !== -1,
  7.         isSafari = tinymce.isWebKit && navigator.vendor.indexOf('Apple') !== -1;
  8.     var Node = tinymce.html.Node;
  9.     var mimes = {};
  10.  
  11.     function toArray(list) {
  12.         return Array.prototype.slice.call(list || [], 0);
  13.     }
  14.     (function (mime_data) {
  15.         var items = mime_data.split(/,/),
  16.             i, y, ext;
  17.         for (i = 0; i < items.length; i += 2) {
  18.            ext = items[i + 1].split(/ /);
  19.            for (y = 0; y < ext.length; y++) {
  20.                mimes[ext[y]] = items[i];
  21.            }
  22.        }
  23.    })("application/msword,doc dot," + "application/pdf,pdf," + "application/pgp-signature,pgp," + "application/postscript,ps ai eps," + "application/rtf,rtf," + "application/vnd.ms-excel,xls xlb," + "application/vnd.ms-powerpoint,ppt pps pot," + "application/zip,zip," + "application/x-shockwave-flash,swf swfl," + "application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx," + "application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx," + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx," + "application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx," + "application/vnd.openxmlformats-officedocument.presentationml.template,potx," + "application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx," + "application/x-javascript,js," + "application/json,json," + "audio/mpeg,mpga mpega mp2 mp3," + "audio/x-wav,wav," + "audio/mp4,m4a," + "image/bmp,bmp," + "image/gif,gif," + "image/jpeg,jpeg jpg jpe," + "image/photoshop,psd," + "image/png,png," + "image/svg+xml,svg svgz," + "image/tiff,tiff tif," + "text/plain,asc txt text diff log," + "text/html,htm html xhtml," + "text/css,css," + "text/csv,csv," + "text/rtf,rtf," + "video/mpeg,mpeg mpg mpe," + "video/quicktime,qt mov," + "video/mp4,mp4," + "video/x-m4v,m4v," + "video/x-flv,flv," + "video/x-ms-wmv,wmv," + "video/avi,avi," + "video/webm,webm," + "video/vnd.rn-realvideo,rv," + "application/vnd.oasis.opendocument.formula-template,otf," + "application/octet-stream,exe");
  24.    var state = {
  25.        STOPPED: 1,
  26.        STARTED: 2,
  27.        QUEUED: 1,
  28.        UPLOADING: 2,
  29.        FAILED: 4,
  30.        DONE: 5,
  31.        GENERIC_ERROR: -100,
  32.        HTTP_ERROR: -200,
  33.        IO_ERROR: -300,
  34.        SECURITY_ERROR: -400
  35.    }
  36.    tinymce.create('tinymce.plugins.Upload', {
  37.        files: [],
  38.        plugins: [],
  39.        init: function (ed, url) {
  40.  
  41.            function cancel() {
  42.                ed.dom.bind(ed.getBody(), 'dragover', function (e) {
  43.                    var dataTransfer = e.dataTransfer;
  44.                    if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
  45.                        e.preventDefault();
  46.                    }
  47.                });
  48.                ed.dom.bind(ed.getBody(), 'drop', function (e) {
  49.                    var dataTransfer = e.dataTransfer;
  50.                    if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
  51.                        e.preventDefault();
  52.                    }
  53.  
  54.                });
  55.            }
  56.            var self = this;
  57.            self.editor = ed;
  58.            self.plugin_url = url;
  59.            ed.onPreInit.add(function () {
  60.                each(ed.plugins, function (o, k) {
  61.                    if (ed.getParam(k + '_upload') && tinymce.is(o.getUploadURL, 'function') && tinymce.is(o.insertUploadedFile, 'function')) {
  62.                        self.plugins.push(o);
  63.                    }
  64.  
  65.                });
  66.                if (!ed.settings.compress.css) {
  67.                    ed.dom.loadCSS(url + "/css/content.css");
  68.                }
  69.                ed.parser.addNodeFilter('img', function (nodes) {
  70.                    var i = nodes.length,
  71.                        node, cls, data;
  72.                    while (i--) {
  73.                        node = nodes[i], cls = node.attr('class'), data = node.attr('data-mce-upload-marker');
  74.                        if ((cls && cls.indexOf('upload-placeholder') != -1) || data) {
  75.                            if (self.plugins.length == 0) {
  76.                                node.remove();
  77.                            } else {
  78.                                self._createUploadMarker(node);
  79.                            }
  80.                        }
  81.                    }
  82.                });
  83.                ed.serializer.addNodeFilter('img', function (nodes) {
  84.  
  85.                    var i = nodes.length,
  86.                        node, cls;
  87.                    while (i--) {
  88.                        node = nodes[i], cls = node.attr('class');
  89.                        if (cls && /mceItemUploadMarker/.test(cls)) {
  90.                            cls = cls.replace(/(?:^|\s)mceItem(Upload|UploadMarker)(?!\S)/g, '');
  91.                            cls += ' upload-placeholder';
  92.  
  93.                            node.attr({
  94.                                'data-mce-src': 'media/jce/img/placeholder.png',
  95.                                'class': tinymce.trim(cls)
  96.                            });
  97.                                                        
  98.                        }
  99.  
  100.                    }
  101.                });
  102.            });
  103.            ed.onInit.add(function () {
  104.  
  105.                if (!window.FormData) {
  106.                    cancel();
  107.                    return;
  108.                }
  109.                if (self.plugins.length == 0) {
  110.                    cancel();
  111.                    return;
  112.                }
  113.  
  114.                function bindUploadEvents(ed) {
  115.                    
  116.                    each(ed.dom.select('img.mceItemUploadMarker', ed.getBody()),
  117.                        function (n) {
  118.                            if (self.plugins.length == 0) {
  119.                                ed.dom.remove(n);
  120.                              
  121.                            } else {
  122.                                self._bindUploadMarkerEvents(ed, n);
  123.                              
  124.                            }
  125.                        }
  126.                    );
  127.                }
  128.  
  129.  
  130.                ed.selection.onSetContent.add(function () {
  131.                    bindUploadEvents(ed);
  132.  
  133.                    
  134.                });
  135.                ed.onSetContent.add(function () {
  136.                    bindUploadEvents(ed);
  137.                });
  138.                if (ed.onFullScreen) {
  139.                    ed.onFullScreen.add(function (editor) {
  140.                        bindUploadEvents(editor);
  141.                    });
  142.                }
  143.                if (isSafari && isWin) {
  144.                    ed.dom.bind(ed.getBody(), 'dragenter', function (e) {
  145.                        var dataTransfer = e.dataTransfer;
  146.                        if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
  147.                            var dropInputElm;
  148.                            dropInputElm = ed.dom.get(ed.getBody().id + "_dragdropupload");
  149.                            if (!dropInputElm) {
  150.                                dropInputElm = ed.dom.add(ed.getBody(), "input", {
  151.                                    'type': 'file',
  152.                                    'id': ed.getBody().id + "_dragdropupload",
  153.                                    'multiple': 'multiple',
  154.                                    'style': {
  155.                                        position: 'absolute',
  156.                                        display: 'block',
  157.                                        top: 0,
  158.                                        left: 0,
  159.                                        width: '100%',
  160.                                        height: '100%',
  161.                                        opacity: '0'
  162.                                    }
  163.                                });
  164.                            }
  165.  
  166.                            ed.dom.bind(dropInputElm, 'change', function (e) {
  167.                                each(dropInputElm.files, function (file) {
  168.                                    if (tinymce.inArray(self.files, file) == -1) {
  169.                                        self.addFile(file);
  170.                                      
  171.                                    }
  172.                                });
  173.                                ed.dom.unbind(dropInputElm, 'change');
  174.                                ed.dom.remove(dropInputElm);
  175.                                each(self.files, function (file) {
  176.                                    self.upload(file);
  177.                                });
  178.                            });
  179.                        }
  180.                    });
  181.                    ed.dom.bind(ed.getBody(), 'drop', function (e) {
  182.                        var dataTransfer = e.dataTransfer;
  183.                        if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
  184.                            e.preventDefault();
  185.                        }
  186.                    });
  187.  
  188.                    return;
  189.                }
  190.  
  191.                if (window.Opera) {
  192.                    return;
  193.                }
  194.  
  195.                function cancelEvent(e) {
  196.                    e.preventDefault();
  197.                    e.stopPropagation();
  198.                }
  199.                if (tinymce.isIE || tinymce.isIE11) {
  200.                    ed.dom.bind(ed.getBody(), 'dragover', cancelEvent);
  201.                }
  202.                ed.dom.bind(ed.getBody(), 'drop', function (e) {
  203.                    var dataTransfer = e.dataTransfer;
  204.                    if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
  205.                        each(dataTransfer.files, function (file) {
  206.                            self.addFile(file);
  207.  
  208.                        });
  209.                        cancelEvent(e);
  210.                    }
  211.                    if (self.files.length) {
  212.                        each(self.files, function (file) {
  213.                            self.upload(file);
  214.                        });
  215.                    }
  216.                    if (tinymce.isGecko && e.target.nodeName == 'IMG') {
  217.                        cancelEvent(e);
  218.                    }
  219.                });
  220.            });
  221.            self.FilesAdded = new tinymce.util.Dispatcher(this);
  222.            self.UploadProgress = new tinymce.util.Dispatcher(this);
  223.            self.FileUploaded = new tinymce.util.Dispatcher(this);
  224.            self.UploadError = new tinymce.util.Dispatcher(this);
  225.            this.settings = {
  226.                multipart: true,
  227.                multi_selection: true,
  228.                file_data_name: 'file',
  229.                filters: []
  230.            };
  231.            self.FileUploaded.add(function (file, o) {
  232.                var n = file.marker,
  233.                    s, w, h;
  234.  
  235.                function showError(error) {
  236.                    ed.windowManager.alert(error || ed.getLang('upload.response_error', 'Invalid Upload Response'));
  237.                    ed.dom.remove(n);
  238.                    return false;
  239.                }
  240.                if (n) {
  241.                    if (o && o.response) {
  242.                        var r = JSON.parse(o.response);
  243.                        if (!r) {
  244.                            return showError();
  245.                        }
  246.                        if (r.error) {
  247.                            var txt = r.text || r.error;
  248.                            ed.windowManager.alert(txt);
  249.                            ed.dom.remove(n);
  250.                            return false;
  251.                        }
  252.                        if (file.status == state.DONE) {
  253.                            r.type = file.type;
  254.                            if (file.uploader) {
  255.                                o = file.uploader;
  256.                                if (s = o.insertUploadedFile(r)) {
  257.                                    var styles = ed.dom.getAttrib(n, 'data-mce-style');
  258.                                    if (styles) {
  259.                                        styles = ed.dom.styles.parse(styles);
  260.                                        ed.dom.setStyles(s, styles);
  261.                                    }
  262.                                    if (ed.dom.hasClass(n, 'mceItemUploadMarker')) {
  263.                                        ed.dom.setAttribs(s, {
  264.                                            'width': n.width || s.width,
  265.                                            'height': n.height || s.height
  266.                                        });
  267.                                    }
  268.                                    if (ed.dom.replace(s, n)) {
  269.                                        ed.nodeChanged();
  270.                                        return true;
  271.                                    }
  272.                                }
  273.                            }
  274.                            self.files.splice(tinymce.inArray(self.files, file), 1);
  275.                        }
  276.                    } else {
  277.                        return showError();
  278.                    }
  279.                    ed.dom.remove(n);
  280.                }
  281.            });
  282.            self.UploadError.add(function (o) {
  283.                ed.windowManager.alert(o.code + ' : ' + o.message);
  284.                if (o.file && o.file.marker) {
  285.                    ed.dom.remove(o.file.marker);
  286.                }
  287.            });
  288.        },
  289.        _bindUploadMarkerEvents: function (ed, marker) {
  290.            var self = this,
  291.                dom = tinymce.DOM;
  292.  
  293.            function removeUpload() {
  294.                dom.setStyles('wf_upload_button', {
  295.                    'top': '',
  296.                    'left': '',
  297.                    'display': 'none',
  298.                    'zIndex': ''
  299.                });
  300.            }
  301.            ed.onNodeChange.add(removeUpload);
  302.            ed.dom.bind(ed.getWin(), 'scroll', removeUpload);
  303.            var input = dom.get('wf_upload_input');
  304.            if (!input) {
  305.                var btn = dom.add(dom.doc.body, 'div', {
  306.                    'id': 'wf_upload_button',
  307.                    'title': ed.getLang('upload.button_description', 'Click to upload a file')
  308.                }, '<label for="wf_upload_input">' + ed.getLang('upload.label', 'Upload') + '</label>');
  309.                 input = dom.add(btn, 'input', {
  310.                     'type': 'file',
  311.                     'id': 'wf_upload_input'
  312.                 });
  313.             }
  314.             ed.dom.bind(marker, 'mouseover', function (e) {
  315.                 if (ed.dom.getAttrib(marker, 'data-mce-selected')) {
  316.                     return;
  317.                 }
  318.                 var vp = ed.dom.getViewPort(ed.getWin());
  319.                 var p1 = dom.getRect(ed.getContentAreaContainer());
  320.                 var p2 = ed.dom.getRect(marker);
  321.                 var st = ed.getBody().scrollTop;
  322.                 if (st > p2.y + p2.h / 2 - 25) {
  323.                     return;
  324.                 }
  325.                 if (st < (p2.y + p2.h / 2 + 25) - p1.h) {
  326.                    return;
  327.                }
  328.                var x = Math.max(p2.x - vp.x, 0) + p1.x;
  329.                var y = Math.max(p2.y - vp.y, 0) + p1.y - Math.max(st - p2.y, 0);
  330.                var zIndex = ed.id == 'mce_fullscreen' ? dom.get('mce_fullscreen_container').style.zIndex : 0;
  331.                dom.setStyles('wf_upload_button', {
  332.                    'top': y + p2.h / 2 - 27,
  333.                    'left': x + p2.w / 2 - 54,
  334.                    'display': 'block',
  335.                    'zIndex': zIndex + 1
  336.                });
  337.                input.onchange = function () {
  338.                    if (input.files) {
  339.                        var file = input.files[0];
  340.                        if (file) {
  341.                            file.marker = marker;
  342.                            if (self.addFile(file)) {
  343.                                ed.dom.addClass(marker, 'loading');
  344.                                self.upload(file);
  345.                                removeUpload();
  346.  
  347.                            }
  348.                        }
  349.                    }
  350.                };
  351.            });
  352.            ed.dom.bind(marker, 'mouseout', function (e) {
  353.                if (!e.relatedTarget && e.clientY > 0) {
  354.                     return;
  355.                 }
  356.                 removeUpload();
  357.             });
  358.         },
  359.         _createUploadMarker: function (n) {
  360.             var self = this,
  361.                 ed = this.editor,
  362.                 src = n.attr('src') || '',
  363.                 style = {}, styles, cls = [];
  364.             if (!n.attr('alt') && !/data:image/.test(src)) {
  365.                var alt = src.substring(src.length, src.lastIndexOf('/') + 1);
  366.                 n.attr('alt', alt);
  367.             }
  368.             if (n.attr('style')) {
  369.                 style = ed.dom.styles.parse(n.attr('style'));
  370.             }
  371.             if (n.attr('hspace')) {
  372.                 style['margin-left'] = style['margin-right'] = n.attr('hspace');
  373.             }
  374.             if (n.attr('vspace')) {
  375.                 style['margin-top'] = style['margin-bottom'] = n.attr('vspace');
  376.             }
  377.             if (n.attr('align')) {
  378.                 style.float = n.attr('align');
  379.             }
  380.             if (n.attr('class')) {
  381.                 cls = n.attr('class').replace(/\s*upload-placeholder\s*/, '').split(' ');
  382.             }
  383.             cls.push('mceItemUpload');
  384.             cls.push('mceItemUploadMarker');
  385.             n.attr({
  386.                 'src': this.plugin_url + '/img/trans.gif',
  387.                 'class': tinymce.trim(cls.join(' '))
  388.             });
  389.             var tmp = ed.dom.create('span', {
  390.                 'style': style
  391.             });
  392.             if (styles = ed.dom.getAttrib(tmp, 'style')) {
  393.                 n.attr({
  394.                     'style': styles,
  395.                     'data-mce-style': styles
  396.                 });
  397.             }
  398.         },
  399.         buildUrl: function (url, items) {
  400.             var query = '';
  401.             each(items, function (value, name) {
  402.                 query += (query ? '&' : '') + encodeURIComponent(name) + '=' + encodeURIComponent(value);
  403.             });
  404.             if (query) {
  405.                 url += (url.indexOf('?') > 0 ? '&' : '?') + query;
  406.             }
  407.            
  408.             return url;
  409.         },
  410.         addFile: function (file) {
  411.            
  412.             var ed = this.editor,
  413.                 self = this,
  414.                 fileNames = {}, url;
  415.             if (/\.(php|php(3|4|5)|phtml|pl|py|jsp|asp|htm|html|shtml|sh|cgi)\./i.test(file.name)) {
  416.                 ed.windowManager.alert(ed.getLang('upload.file_extension_error', 'File type not supported'));
  417.                 return false;
  418.             }
  419.             each(self.plugins, function (o, k) {
  420.                 if (!file.upload_url) {
  421.                     if (url = o.getUploadURL(file)) {
  422.                         file.upload_url = url;
  423.                         file.uploader = o;
  424.                     }
  425.                 }
  426.             });
  427.             if (file.upload_url) {
  428.                 if (tinymce.is(file.uploader.getUploadConfig, 'function')) {
  429.                     var config = file.uploader.getUploadConfig();
  430.                     var type = file.type.replace(/[a-z0-9]+\/([a-z0-9]{2,4})/i, '$1');
  431.                     type = type.toLowerCase();
  432.                     if (tinymce.inArray(config.filetypes, type) == -1) {
  433.                         ed.windowManager.alert(ed.getLang('upload.file_extension_error', 'File type not supported'));
  434.                         return false;
  435.                     }
  436.                     if (file.size) {
  437.                         var max = parseInt(config.max_size) || 1024;
  438.                         if (file.size > max * 1024) {
  439.                             ed.windowManager.alert(ed.getLang('upload.file_size_error', 'File size exceeds maximum allowed size'));
  440.                             return false;
  441.                         }
  442.                     }
  443.                 }
  444.                 self.FilesAdded.dispatch(file);
  445.                 if (!file.marker) {
  446.                     var w = 300,
  447.                         h = 300;
  448.                     ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" class="mceItemUpload" />', {
  449.                         skip_undo: 1
  450.                     });
  451.  
  452.                     if (/image\/(gif|png|jpeg|jpg)/.test(file.type)) {
  453.                         w = h = Math.round(Math.sqrt(file.size));
  454.                         w = Math.max(100, w);
  455.                         h = Math.max(100, h);
  456.                     }
  457.                     var n = ed.dom.get('__mce_tmp');
  458.                     ed.dom.setAttrib(n, 'id', '');
  459.                     n.style.width = w + "px";
  460.                     n.style.height = h + "px";
  461.                     file.marker = n;
  462.                 }
  463.                 ed.undoManager.add();
  464.                 self.files.push(file);
  465.  
  466.                
  467.  
  468.                 return true;
  469.             } else {
  470.                 ed.windowManager.alert(ed.getLang('upload.file_extension_error', 'File type not supported'));
  471.                 return false;
  472.             }
  473.             return false;
  474.         },
  475.         upload: function (file) {
  476.             var self = this,
  477.                 ed = this.editor;
  478.             var args = {
  479.                 'action': 'upload',
  480.                 'format': 'raw',
  481.                 'method': 'dragdrop',
  482.                 'component_id': ed.settings.component_id
  483.             };
  484.             args[ed.settings.token] = '1';
  485.             var url = file.upload_url;
  486.  
  487.             function sendFile(bin) {
  488.                 var xhr = new XMLHttpRequest,
  489.                     formData = new FormData();
  490.                 if (xhr.upload) {
  491.                     xhr.upload.onprogress = function (e) {
  492.                         if (e.lengthComputable) {
  493.                             file.loaded = Math.min(file.size, e.loaded);
  494.                             self.UploadProgress.dispatch(file);
  495.                         }
  496.                     };
  497.                 }
  498.                 xhr.onreadystatechange = function () {
  499.                     var httpStatus;
  500.                     if (xhr.readyState == 4 && self.state !== state.STOPPED) {
  501.                        try {
  502.                            httpStatus = xhr.status;
  503.                         } catch (ex) {
  504.                             httpStatus = 0;
  505.                         }
  506.                         if (httpStatus >= 400) {
  507.                             self.UploadError.dispatch({
  508.                                 code: state.HTTP_ERROR,
  509.                                 message: ed.getLang('upload.http_error', 'HTTP Error'),
  510.                                 file: file,
  511.                                 status: httpStatus
  512.                             });
  513.                         } else {
  514.                             file.loaded = file.size;
  515.                             self.UploadProgress.dispatch(file);
  516.                             bin = formData = null;
  517.                             file.status = state.DONE;
  518.                             self.FileUploaded.dispatch(file, {
  519.                                 response: xhr.responseText,
  520.                                 status: httpStatus
  521.                             });
  522.                         }
  523.                     }
  524.                 };
  525.                 var name = file.target_name || file.name;
  526.                 name = name.replace(/[\+\\\/\?\#%&<>"\'=\[\]\{\},;@\^\(\)Ј€$]/g, '');
  527.                 extend(args, {
  528.                     'name': name
  529.                 });
  530.                 xhr.open("post", url, true);
  531.                 each(self.settings.headers, function (value, name) {
  532.                     xhr.setRequestHeader(name, value);
  533.                 });
  534.                 each(extend(args, self.settings.multipart_params), function (value, name) {
  535.                     formData.append(name, value);
  536.                 });
  537.                 formData.append(self.settings.file_data_name, bin);
  538.                 xhr.send(formData);
  539.                 return;
  540.             }
  541.             if (file.status == state.DONE || file.status == state.FAILED || self.state == state.STOPPED) {
  542.                 return;
  543.             }
  544.             extend(args, {
  545.                 name: file.target_name || file.name
  546.             });
  547.             sendFile(file);
  548.  
  549.         },
  550.         getInfo: function () {
  551.             return {
  552.                 longname: 'Drag & Drop and Placeholder Upload',
  553.                author: 'Ryan Demmer',
  554.                authorurl: 'http://www.joomlacontenteditor.net',
  555.                infourl: 'http://www.joomlacontenteditor.net',
  556.                version: '2.3.4.4'
  557.            };
  558.         }
  559.     });
  560.     tinymce.PluginManager.add('upload', tinymce.plugins.Upload);
  561. })();


пс....... и как я нелюблю название переменных не несущих смысловой нагрузки.
сейчас сижу вылавливаю функцию.
(Добавление)
комьюнити прошу помощи, нервов уже нет.
понимаю что при перетаскивании возникает евент, яваскрипт этот евент обрабатует, но неполучается(ввиду малого опыта) понять логику функции..... как вставить дублированное изображение после основного, симитирвать двойной драгИдроп в окно
(Добавление)
Ув модераторы, перенесите тему в яваскрипт пожалуйста.

(Отредактировано автором: 24 Февраля, 2014 - 11:09:05)

 
 Top
Nikolai12
Отправлено: 24 Февраля, 2014 - 12:58:42
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




При перетягивании картинки она загружается на сервер и обрабатывается PHP скриптом. Там и нужно вставить скрипт для создания ещё одного изображения
 
 Top
anatolii
Отправлено: 24 Февраля, 2014 - 13:14:06
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




а как по мне - так этим яваскриптом (см. пред. пост)
в самом скрипте создается обьект который кормится медиаменеджеру (который непосредственн грузит)
дублировать мне нужно только при перетягивании, а если полезть в медиаменджер
то поитогу будет грузить всегда 2 картинки.
если в чем неправ - поправте.

по логике нужно задублировать этот обьект и передать его меди менеджеру 2й раз
(поменяв имя загрузки) только вот немогу найти когда скопировать обьект "file",
куда не ставлю "console.log(file)" поля namе и upload_url = undefined

(Отредактировано автором: 24 Февраля, 2014 - 13:19:45)

 
 Top
anatolii
Отправлено: 25 Февраля, 2014 - 21:23:42
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




товарищи форумчане, помогите.
уже через строку поставил
"console.log(file)" всёравно поля поля namе и upload_url = undefined
натолкните на мысль, пожалуйста.
 
 Top
Viper
Отправлено: 25 Февраля, 2014 - 23:16:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




anatolii скорее всего html5. поэтому вы и не видите что происходит.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
anatolii
Отправлено: 02 Марта, 2014 - 18:06:15
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




и как быть?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB