PHP.SU

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

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

> Найдено сообщений: 13
anatolii Отправлено: 13 Июня, 2014 - 14:28:50 • Тема: Глупый впрос - помгите добавить запись в таблицу MySQL • Форум: Вопросы новичков

Ответов: 0
Просмотров: 49
Добрый день.
есть скрипт
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.         $user_login = $_POST["txt_user_login"];
  3.         $user_pass= md5($_POST["txt_user_pass"]);
  4.         $user_nicename = $_POST["txt_user_nicename"];
  5.         $user_email = $_POST["txt_user_email"];
  6.         $user_url = $_POST["txt_user_url"];
  7.         $user_registered = $_POST["txt_user_registered "];
  8.         $user_activation_key = $_POST["txt_user_activation_key"];
  9.         $user_status = $_POST["txt_user_status "];
  10.         $display_name = $_POST["txt_display_name"];
  11.        
  12.         $con=mysqli_connect("localhost","root","root","base12");
  13.         //
  14.         if (mysqli_connect_errno())
  15.         {
  16.         $response["success"] = 0;
  17.          $response["message"] = "Database Error!";
  18.         die(json_encode($response));
  19.                 echo "Failed to connect to MySQL: " . mysqli_connect_error();
  20.         }
  21.         try{
  22.  
  23.         mysqli_query($con,"INSERT INTO `wp_users`(`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('$user_login','$user_login','$user_pass','$user_nicename','$user_email','$user_url ,'$user_registered','$user_activation_key','$user_status','$display_name','$display_name')");
  24.         $response["success"] = 1;
  25.          $response["message"] = "Registration successful!";
  26.         die(json_encode($response));
  27.         }
  28.         catch(Exception $e){
  29.         $response["success"] = 0;
  30.          $response["message"] = "Cannot Add";
  31.         die(json_encode($response));
  32.         }
  33.         mysqli_close($con);
  34. ?>


При посылке ПОСТ выдает "Registration successful!"
но строка в таблицу MySQL не добавляется.
в чем беда?
anatolii Отправлено: 26 Марта, 2014 - 21:25:34 • Тема: как это работает? • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 795
у кого есть хоть какие то мысли? как не пробую - не получается. помогите советом, пожалуйста
anatolii Отправлено: 25 Марта, 2014 - 21:19:38 • Тема: как это работает? • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 795
а как фаил задублировать при загрузке? перетягиваеш один а грузится два?
CODE (htmlphp):
скопировать код в буфер обмена
  1. [/code]self.addFile(file);
  2. добавление этой строчки результата не дало, хотя по логике это добавление файла в загрузку
  3. такого тоже нигде не видно
  4. [code=htmlphp]<pre>$('html').fileDrop(function(fileCollection){
anatolii Отправлено: 25 Марта, 2014 - 15:53:28 • Тема: как это работает? • Форум: JavaScript & VBScript

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


искал по коду - нигде нет ссылок на обьекты. Не понял
гугл молчит, автор также. Огорчение
anatolii Отправлено: 02 Марта, 2014 - 18:06:15 • Тема: Помогите найти процедуру в плагине Joomla • Форум: Программирование на PHP

Ответов: 8
Просмотров: 1198
и как быть?
anatolii Отправлено: 25 Февраля, 2014 - 21:23:42 • Тема: Помогите найти процедуру в плагине Joomla • Форум: Программирование на PHP

Ответов: 8
Просмотров: 1198
товарищи форумчане, помогите.
уже через строку поставил
"console.log(file)" всёравно поля поля namе и upload_url = undefined
натолкните на мысль, пожалуйста.
anatolii Отправлено: 24 Февраля, 2014 - 13:14:06 • Тема: Помогите найти процедуру в плагине Joomla • Форум: Программирование на PHP

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

по логике нужно задублировать этот обьект и передать его меди менеджеру 2й раз
(поменяв имя загрузки) только вот немогу найти когда скопировать обьект "file",
куда не ставлю "console.log(file)" поля namе и upload_url = undefined
anatolii Отправлено: 24 Февраля, 2014 - 11:07:03 • Тема: Помогите найти процедуру в плагине Joomla • Форум: Программирование на PHP

Ответов: 8
Просмотров: 1198
спасибо за сырки.
загрузка там в плагине производитсяю
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. })();


пс....... и как я нелюблю название переменных не несущих смысловой нагрузки.
сейчас сижу вылавливаю функцию.
(Добавление)
комьюнити прошу помощи, нервов уже нет.
понимаю что при перетаскивании возникает евент, яваскрипт этот евент обрабатует, но неполучается(ввиду малого опыта) понять логику функции..... как вставить дублированное изображение после основного, симитирвать двойной драгИдроп в окно
(Добавление)
Ув модераторы, перенесите тему в яваскрипт пожалуйста.
anatolii Отправлено: 24 Февраля, 2014 - 02:07:48 • Тема: Помогите найти процедуру в плагине Joomla • Форум: Программирование на PHP

Ответов: 8
Просмотров: 1198
4 дня искалю нашел
tiny_mce.js
вот он скрипт.
подскажите как его читабельным сделать? он в одну строку. онлайн сервисы виснут
anatolii Отправлено: 20 Февраля, 2014 - 22:05:40 • Тема: Помогите найти процедуру в плагине Joomla • Форум: Программирование на PHP

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

ПС. вопрос следом - есть отладчик какой либо с видом "привычног дебаггера типа С# или делфи, ну или 1С на крайняк", глаза привыклиУлыбка
anatolii Отправлено: 18 Февраля, 2014 - 19:05:32 • Тема: Изменить стиль div в окне jq • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 399
итак есть код, его задачать показывать окно, отображая в нем один вопрос, после ответа перейти к следующему вопросу.
при нажатии submit на долю секунды появляется следующий вопрос а затем
все окно ищезает.
помогите разобратся.
исходник в аттаче
anatolii Отправлено: 03 Января, 2014 - 17:23:43 • Тема: Переключатель языков в стиле share42 • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 667
Доброго времени суток. всех с наступившим!
хочу сделать переключатель языков в стиле share42
переписал скрипт заменив share на lang но работать он упорно отказывается.
помогите понять в чем проблема.

на странице код

CODE (htmlphp):
скопировать код в буфер обмена
  1. <div class="lang42init" data-top3="40" data-top4="20" data-margin1="100" ></div>
  2. <script type="text/javascript" src="http://мойсайт/lang42/lang42.js"></script>



код скрипта

CODE (htmlphp):
скопировать код в буфер обмена
  1. window.onload=function(){e=document.getElementsByTagName('div');
  2. for(var k=0;k<e.length;k++){if(e[k].className.indehareOf('lang42init')!=-1)
  3.   {if(e[k].getAttribute('data-url')!=-1)u=e[k].getAttribute('data-url');
  4.    if(e[k].getAttribute('data-title')!=-1)t=e[k].getAttribute('data-title');
  5.    if(e[k].getAttribute('data-image')!=-1)i=e[k].getAttribute('data-image');
  6.    if(e[k].getAttribute('data-description')!=-1)d=e[k].getAttribute('data-description');
  7.    if(e[k].getAttribute('data-path')!=-1)f=e[k].getAttribute('data-path');
  8.    if(e[k].getAttribute('data-top3')!=-1)m1=e[k].getAttribute('data-top3');
  9.    if(e[k].getAttribute('data-top4')!=-1)m2=e[k].getAttribute('data-top4');
  10.    if(e[k].getAttribute('data-margin1')!=-1)m3=e[k].getAttribute('data-margin1');
  11.    if(!f){function path(name){var sc=document.getElementsByTagName('script'),sr=new RegExp('^(.*/|)('+name+')([#?]|$)');
  12.    for(var i=0,scL=sc.length;i<scL;i++){var m=String(sc[i].src).match(sr);
  13.    if(m){if(m[1].match(/^((https?|file)\:\/{2,}|\w:[\/\\])/))return m[1];if(m[1].indexOf("/")==0)return m[1];
  14.    b=document.getElementsByTagName('base');if(b[0]&&b[0].href)return b[0].href+m[1];else return document.location.pathname.match(/(.*[\/\\])/)[0]+m[1];}}return null;}
  15.    f=path('lang42.js');}if(!u)u=location.href;if(!t)t=document.title;function desc(){var meta=document.getElementsByTagName('meta');
  16.    for(var m=0;m<meta.length;m++){if(meta[m].name.toLowerCase()=='description'){return meta[m].content;}}return'';}
  17.    if(!d)d=desc();if(!m1)m1=150;if(!m2)m2=20;if(!m3)m3=0;u=encodeURIComponent(u);t=encodeURIComponent(t);t=t.replace(/\'/g,'%27');
  18.    i=encodeURIComponent(i);d=encodeURIComponent(d);d=d.replace(/\'/g,'%27');
  19.    var s=new Array('"#" onclick="window.open(\'http://www.blogger.com/blog_this.pyra?t&u='+u+'&n='+t+'\', \'_blank\', \'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=550, height=440, toolbar=0, status=0\');return false"
  20.    title="Опубликовать в Blogger.com"','"http://bobrdobr.ru/add.html?url='+u+'&title='+t+'&desc='+d+'" title="Забобрить"','"#" data-count="dlcs" onclick="window.open(\'http://delicious.com/save?url='+u+'&title='+t+'&note='+d+'\', \'_blank\', \'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=710, height=660, toolbar=0, status=0\');return false"
  21.     title="Сохранить закладку в Delicious"');var l='';for(j=0;j<s.length;j++)l+='<a rel="nofollow" style="display:block;width:32px;height:32px;margin:0 0 6px;padding:0;outline:none;background:url('+f+'icons.png) -'+32*j+'px 0 no-repeat" href='+s[j]+' target="_blank"></a>';e[k].innerHTML='<span id="lang42" style="position:fixed;z-index:9999;margin-left:'+m3+'px">'+l+'</span>';var p=document.getElementById('lang42');function m(){var top=Math.max(document.body.scrollTop,document.documentElement.scrollTop);if(top+(m2*1)<m1){p.style.top=m1-top+'px';}else{p.style.top=m2+'px';}}m();window.onscroll=m;}}};


переключать надо 3 языка. рус иврит и англ
проблема 1 - не выводятся иконки
проблема 2 - как на джаве переключать язык сайта на Joomla 2.5?

заранее спасибо. всех с наступившим

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB