Ticket #811: diff.diff

File diff.diff, 106.8 KB (added by koto@…, 13 years ago)

Unified Diff for changes from 1.0 beta version

  • assets/editor.js

    diff -u -r 10/assets/editor.js 11/assets/editor.js
    10 11  
    11/** 
    22 * Functions for the ImageEditor interface, used by editor.php only      
    3  * Authors: Wei Zhuo, Afru 
     3 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    44 * Version: Updated on 08-01-2005 by Afru 
    5  * Package: ExtendedFileManager (EFM 1.0 beta) 
     5 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     6 * Package: ExtendedFileManager (EFM 1.1) 
    67 * http://www.afrusoft.com/htmlarea 
    78 */ 
    89 
     
    166167                var bottom = document.getElementById('bottom'); 
    167168                if(window.opener) 
    168169                { 
    169                         __dlg_init(bottom); 
    170                         __dlg_translate(I18N); 
     170                        __dlg_init(null, {width: 673, height: 531}); 
     171                        __dlg_translate('ExtendedFileManager'); 
    171172                } 
    172173        } 
    173174 
  • assets/EditorContent.js

    diff -u -r 10/assets/EditorContent.js 11/assets/EditorContent.js
    10 11  
    11/** 
    22 * ImageEditor Interface file. 
    3  * Authors: Wei Zhuo, Afru 
     3 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    44 * Version: Updated on 08-01-2005 by Afru 
    5  * Package: ExtendedFileManager (EFM 1.0 beta) 
     5 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     6 * Package: ExtendedFileManager (EFM 1.1) 
    67 * http://www.afrusoft.com/htmlarea 
    78 */ 
    89 
  • assets/editorFrame.js

    diff -u -r 10/assets/editorFrame.js 11/assets/editorFrame.js
    10 11  
    11/** 
    22 * Javascript used by the editorFrame.php, it basically initializes the frame. 
    3  * Authors: Wei Zhuo, Afru 
     3 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    44 * Version: Updated on 08-01-2005 by Afru 
    5  * Package: ExtendedFileManager (EFM 1.0 beta) 
     5 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     6 * Package: ExtendedFileManager (EFM 1.1) 
    67 * http://www.afrusoft.com/htmlarea 
    78 */ 
    89 
     
    3132{ 
    3233    if (action == 'crop') 
    3334    { 
    34         var url = "editorFrame.php?img="+currentImageFile+"&action=crop&params="+parseInt(t_cx.value)+','+parseInt(t_cy.value)+','+ parseInt(t_cw.value)+','+parseInt(t_ch.value); 
     35        var url = _backend_url + "__function=editorFrame&img="+currentImageFile+"&action=crop&params="+parseInt(t_cx.value)+','+parseInt(t_cy.value)+','+ parseInt(t_cw.value)+','+parseInt(t_ch.value); 
    3536 
    3637        //alert(url); 
    3738        location.href = url; 
     
    4041    }    
    4142    else if (action == 'scale') 
    4243    { 
    43         var url = "editorFrame.php?img="+currentImageFile+"&action=scale&params="+parseInt(s_sw.value)+','+parseInt(s_sh.value); 
     44        var url = _backend_url + "__function=editorFrame&img="+currentImageFile+"&action=scale&params="+parseInt(s_sw.value)+','+parseInt(s_sh.value); 
    4445        //alert(url); 
    4546        location.href = url; 
    4647         
     
    5051        var flip = topDoc.getElementById('flip'); 
    5152 
    5253        if(flip.value == 'hoz' || flip.value == 'ver')  
    53             location.href = "editorFrame.php?img="+currentImageFile+"&action=flip&params="+flip.value; 
     54            location.href = _backend_url + "__function=editorFrame&img="+currentImageFile+"&action=flip&params="+flip.value; 
    5455        else if (isNaN(parseFloat(r_ra.value))==false) 
    55             location.href = "editorFrame.php?img="+currentImageFile+"&action=rotate&params="+parseFloat(r_ra.value); 
     56            location.href = _backend_url + "__function=editorFrame&img="+currentImageFile+"&action=rotate&params="+parseFloat(r_ra.value); 
    5657    } 
    5758    else if(action == 'save') { 
    5859        var s_file = topDoc.getElementById('save_filename'); 
     
    6869        { 
    6970            var filename = encodeURI(s_file.value); 
    7071            var quality = parseInt(s_quality.value); 
    71             var url = "editorFrame.php?img="+currentImageFile+"&action=save&params="+format[0]+","+quality+"&file="+filename; 
     72            var url = _backend_url + "__function=editorFrame&img="+currentImageFile+"&action=save&params="+format[0]+","+quality+"&file="+filename; 
    7273            //alert(url); 
    7374            location.href = url; 
    7475        } 
  • assets/imagelist.css

    diff -u -r 10/assets/imagelist.css 11/assets/imagelist.css
    10 11  
    1 body { margin: 0px; padding: 0px;} 
    2 .block { border: 1px solid threedface; text-align: center; behavior: url(hover.htc ); vertical-align:middle;} 
    3 .block a img { border: 0 none; } 
    4 .block:hover, .block.hover{ background-color: #f8f8f8; } 
    5 .lsviewheader {background-color: ButtonFace; border: 1px solid threedface; border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; padding-top:2px; padding-bottom:2px; padding-left: 5px; padding-right: 5px; font-size: 9pt; font-family: "MS Sans Serif", Geneva, sans-serif;} 
    6 .lsviewpanel{padding-top:2px; padding-left: 3px; font-size: 9pt; font-family: "MS Sans Serif", Geneva, sans-serif;} 
    7 .lsviewpanel a, .lsviewpanel a:visited { text-decoration: none; color: #000; border:0px; padding:2px; padding-left:5px; padding-right:10px;} 
    8 .lsviewpanel a:hover { background-color:#0B256B; color:#fff;} 
    9 .edit { font-size: 9pt; font-family: "MS Sans Serif", Geneva, sans-serif; padding-top:2px; padding-bottom: 2px; } 
    10 .edit a { border: 1px solid white; padding-bottom: 1px; } 
    11 .edit a:hover { background-color: #e4e0d8; border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;} 
    12 .edit a img { border: 0 none; vertical-align: bottom; } 
     1body { margin: 0; padding: 0;} 
     2.edit   { font-size: 8pt; font-family: small-caption, sans-serif; padding-top: 3px;} 
     3.edit a { border: none; padding: 3px; text-decoration:none; } 
     4.edit a:hover { background-color: ButtonHighlight; } 
     5.edit a img { border: none; vertical-align: bottom; } 
    136.noResult { font-size:large; font-weight:bold; color:#ccc; font-family: Helvetica, sans-serif;  text-align: center;  padding-top: 60px;   } 
    14 .error { color:#c00; font-weight:bold; font-size: medium; font-family: Helvetica, sans-serif; text-align: center;  padding-top: 65px;} 
    15  No newline at end of file 
     7.error { color:#c00; font-weight:bold; font-size: medium; font-family: Helvetica, sans-serif; text-align: center;  padding-top: 65px;} 
     8 
     9.dir_holder, .thumb_holder 
     10{ 
     11  width:106px; height:132px; 
     12  float:left; 
     13  margin:6px 4px; 
     14  background-color:ButtonFace; 
     15  border: 1px outset; 
     16} 
     17 
     18.thumb_holder.active 
     19{ 
     20  background:Highlight; 
     21  color:HighlightText; 
     22  border:1px dashed Highlight; 
     23} 
     24 
     25.dir_holder a.dir, .thumb_holder a.thumb 
     26{ 
     27  height:100px; 
     28  display:block; 
     29  text-align:center; 
     30  padding:5px; 
     31  text-decoration:none; 
     32} 
     33 
     34.thumb_holder a.thumb img 
     35{ 
     36  border:1px solid black; 
     37} 
     38 
     39.dir_holder a.dir img 
     40{ 
     41  border:none; 
     42} 
     43 
     44.listview { width:100% } 
     45.listview td, .listview th { text-align:left; font-size:small; } 
     46.listview td.actions { text-align: left; } 
     47.listview td.actions img { border:0; } 
     48 
     49.listview thead th {background-color: ButtonFace; border: 1px solid threedface; border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; padding-top:2px; padding-bottom:2px; padding-left: 5px; padding-right: 5px; font-size: 9pt; font-family: "MS Sans Serif", Geneva, sans-serif;} 
     50.listview tbody td, .listview tbody th {padding-top:2px; padding-left: 3px; font-size: 9pt; font-family: "MS Sans Serif", Geneva, sans-serif;} 
     51.listview tbody a, listview tbody a:visited { font-weight: normal; text-decoration: none; color: #000; border:0px; padding:2px;} 
     52.listview tbody a:hover { background-color:#0B256B; color:#fff;} 
  • assets/images.js

    diff -u -r 10/assets/images.js 11/assets/images.js
    10 11  
    11/** 
    22 * Functions for the image listing, used by images.php only      
    3  * Authors: Wei Zhuo, Afru 
     3 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    44 * Version: Updated on 08-01-2005 by Afru 
    5  * Package: ExtendedFileManager (EFM 1.0 beta) 
     5 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     6 * Package: ExtendedFileManager (EFM 1.1) 
    67 * http://www.afrusoft.com/htmlarea 
    78 */ 
    89 
    9         function i18n(str) { 
    10                 if(I18N) 
    11                   return (I18N[str] || str); 
    12                 else 
    13                         return str; 
    14         }; 
     10    function i18n(str) { 
     11        return HTMLArea._lc(str, 'ImageManager'); 
     12    } 
    1513 
    1614        function changeDir(newDir)  
    1715        { 
     
    1917                var mode=window.top.document.getElementById('manager_mode').value; 
    2018                var selection = window.top.document.getElementById('viewtype'); 
    2119                var viewtype = selection.options[selection.selectedIndex].value; 
    22                 location.href = "images.php?mode="+mode+"&dir="+newDir+"&viewtype="+viewtype; 
     20                location.href = _backend_url + "__function=images&mode="+mode+"&dir="+newDir+"&viewtype="+viewtype; 
    2321        } 
    2422 
    2523        function newFolder(dir, newDir)  
     
    2725                var mode=window.top.document.getElementById('manager_mode').value; 
    2826                var selection = window.top.document.getElementById('viewtype'); 
    2927                var viewtype = selection.options[selection.selectedIndex].value; 
    30                 location.href = "images.php?mode="+mode+"&dir="+dir+"&newDir="+newDir+"&viewtype="+viewtype; 
     28                location.href = _backend_url + "__function=images&mode="+mode+"&dir="+dir+"&newDir="+newDir+"&viewtype="+viewtype; 
    3129        } 
    3230 
    3331        //update the dir list in the parent window. 
     
    10098                                var obj = topDoc.getElementById('f_height'); obj.value = height; 
    10199                                var obj = topDoc.getElementById('orginal_width'); obj.value = width; 
    102100                                var obj = topDoc.getElementById('orginal_height'); obj.value = height;   
     101                update_selected(); 
    103102                        } 
    104103                } 
    105104                else if (topDoc.getElementById('manager_mode').value=="link") 
     
    111110                return false; 
    112111        } 
    113112 
    114         function showMessage(newMessage)  
     113  var _current_selected = null; 
     114  function update_selected() 
     115  { 
     116    var topDoc = window.top.document; 
     117    if(_current_selected) 
     118    { 
     119      _current_selected.className = _current_selected.className.replace(/(^| )active( |$)/, '$1$2'); 
     120      _current_selected = null; 
     121    } 
     122    // Grab the current file, and highlight it if we have it 
     123    var c_file = topDoc.getElementById('f_url').value; 
     124    var selection = topDoc.getElementById('dirPath'); 
     125                var currentDir = selection.options[selection.selectedIndex].text; 
     126    var dRe = new RegExp('^(' + currentDir.replace(/([\/\^$*+?.()|{}[\]])/g, '\\$1') + ')([^/]*)$'); 
     127    if(dRe.test(c_file)) 
     128    { 
     129      var holder = document.getElementById('holder_' + asc2hex(RegExp.$2)); 
     130      if(holder) 
     131      { 
     132        _current_selected = holder; 
     133        holder.className += ' active'; 
     134      } 
     135    } 
     136    showPreview(c_file); 
     137  } 
     138 
     139  function asc2hex(str) 
     140  { 
     141    var hexstr = ''; 
     142    for(var i = 0; i < str.length; i++) 
     143    { 
     144      var hex = (str.charCodeAt(i)).toString(16); 
     145      if(hex.length == 1) hex = '0' + hex; 
     146      hexstr += hex; 
     147    } 
     148    return hexstr; 
     149  } 
     150 
     151        function showMessage(newMessage) 
    115152        { 
    116153                var topDoc = window.top.document; 
    117154 
     
    153190 
    154191        function confirmDeleteFile(file)  
    155192        { 
    156                 if(confirm(i18n("Delete "+file+" ?"))) 
     193                if(confirm(file + "\n\n" + i18n("Delete file?"))) 
    157194                        return true; 
    158195         
    159196                return false;            
     
    163200        { 
    164201                if(count > 0) 
    165202                { 
    166                         alert(i18n("Folder is not Empty. Please delete all Files and Sub Folders inside.")); 
     203                        alert(i18n("Folder is not empty. Please delete all Files and Subfolders inside.")); 
    167204                        return false; 
    168205                } 
    169206 
    170                 if(confirm(i18n("Delete folder "+dir+" ?"))) 
     207                if(confirm(i18n(dir + "\n\n" + i18n("Delete folder?")))) 
    171208                        return true; 
    172209 
    173210                return false; 
    174211        } 
    175212 
     213    function showPreview(f_url) 
     214    { 
     215      window.parent.document.getElementById('f_preview').src = 
     216        f_url ? window.parent._backend_url + '__function=thumbs&img=' + f_url : ""; 
     217    } 
     218 
     219 
    176220        addEvent(window, 'load', init); 
     221 No newline at end of file 
  • assets/manager.css

    diff -u -r 10/assets/manager.css 11/assets/manager.css
    10 11  
    22body { padding: 5px; } 
    33fieldset { padding: 0;} 
    44.title { background-color: #ddf; color: #000; font-weight: bold; font-size: 120%; padding: 3px 10px; margin-bottom: 10px; border-bottom: 1px  solid black; letter-spacing: 2px;} 
    5 form { padding: 0px;  margin: 0 auto; width: 550px;} 
    6 .dirWidth { width: 60%; } 
     5form { padding: 0px;  margin: 0 auto; width: 100%;} 
     6/*.dirWidth { width: 60%; }*/ 
    77a { padding: 5px; border: 1px solid ButtonFace; }        
    88a img   { border: 0; }   
    99a:hover { border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; } 
    1010.dirs { padding: 1em;   } 
    1111 
    12 .imageFrame { overflow-x:hidden; width: 525px; height: 145px; margin:0px; background-color: #fff;} 
     12.imageFrame { overflow-x:hidden; width: 100%; height: 145px; margin:0px; background-color: #fff;} 
    1313.smallWidth{ width: 4em; } 
    14 .largelWidth{ width: 22em; } 
     14.largelWidth{ width: 30em; } 
    1515.extralargelWidth{ width: 100%; } 
    16 .inputTable { margin: 1em auto; } 
     16.inputTable { margin: 1em auto 1em 0;} 
    1717select, input, button { font: 11px Tahoma,Verdana,sans-serif; } 
    1818.buttons { width: 70px; text-align: center; } 
    1919.clearboth{ clear: both; } 
    2020#messages { position: relative; left: 175px; top: 115px; background-color: white; width:200px;  float: left; margin-top: -52px; border: 1px solid #ccc; text-align: center; padding: 15px; } 
    2121#message  { font-size: 15px; font-weight: bold; color: #69c; } 
     22iframe { border:1px inset; border-right:none; border-left:none; border-bottom:none; } 
     23 
     24table { margin-top:10px; } 
     25th, td { padding-right:3px; text-align:left; font-family:small-caption,helvetica,sans-serif; } 
     26.dirWidth {width: 60%} 
     27 No newline at end of file 
  • assets/manager.js

    diff -u -r 10/assets/manager.js 11/assets/manager.js
    10 11  
    11/** 
    22 * Functions for the ExtendedFileManager, used by manager.php only       
    3  * Authors: Wei Zhuo, Afru 
     3 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    44 * Version: Updated on 08-01-2005 by Afru 
    5  * Package: ExtendedFileManager (EFM 1.0 beta) 
     5 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     6 * Package: ExtendedFileManager (EFM 1.1) 
    67 * http://www.afrusoft.com/htmlarea 
    78 */ 
    89 
     
    1819         
    1920        //Translation 
    2021        function i18n(str) { 
    21                 if(I18N) 
    22                   return (I18N[str] || str); 
    23                 else 
    24                         return str; 
    25         }; 
    26  
     22        return HTMLArea._lc(str, 'ExtendedFileManager'); 
     23        } 
    2724 
    2825        //set the alignment options 
    2926        function setAlign(align)  
     
    5249        //initialise the form 
    5350        init = function ()  
    5451        { 
    55                 __dlg_init(); 
     52        if (manager_mode == "link") 
     53                  __dlg_init(null,  {width:650,height:500}); 
     54        else 
     55                  __dlg_init(null,  {width:650,height:550}); 
     56                   
    5657 
    57                 if(I18N) 
    58                         __dlg_translate(I18N); 
     58                __dlg_translate('ExtendedFileManager'); 
    5959 
    6060                var uploadForm = document.getElementById('uploadForm'); 
    6161                if(uploadForm) uploadForm.target = 'imgManager'; 
     
    6363                var param = window.dialogArguments; 
    6464                if(manager_mode=="image" && param) 
    6565                { 
     66            var image_regex = new RegExp( '(https?://[^/]*)?' + base_url.replace(/\/$/, '') ); 
     67            param.f_url = param.f_url.replace( image_regex, "" ); 
     68 
     69            // The image URL may reference one of the automatically resized images 
     70            // (when the user alters the dimensions in the picker), clean that up 
     71            // so it looks right and we get back to a normal f_url 
     72            var rd = _resized_dir.replace(HTMLArea.RE_Specials, '\\$1'); 
     73            var rp = _resized_prefix.replace(HTMLArea.RE_Specials, '\\$1'); 
     74            var dreg = new RegExp('^(.*/)' + rd + '/' + rp + '_([0-9]+)x([0-9]+)_([^/]+)$'); 
     75 
     76            if(dreg.test(param.f_url)) 
     77            { 
     78              param.f_url    = RegExp.$1 + RegExp.$4; 
     79              param.f_width  = RegExp.$2; 
     80              param.f_height = RegExp.$3; 
     81            } 
     82 
    6683                        document.getElementById("f_url").value = param["f_url"]; 
    6784                        document.getElementById("f_alt").value = param["f_alt"]; 
    6885                        document.getElementById("f_border").value = param["f_border"]; 
     
    7289                        document.getElementById("f_height").value = param["f_height"]; 
    7390                        setAlign(param["f_align"]); 
    7491                        document.getElementById("f_url").focus(); 
     92 
     93            document.getElementById("orginal_width").value = param["f_width"]; 
     94                document.getElementById("orginal_height").value = param["f_height"]; 
     95            setAlign(param["f_align"]); 
     96 
     97            // Locate to the correct directory 
     98            var dreg = new RegExp('^(.*/)([^/]+)$'); 
     99            if (dreg.test(param['f_url'])) 
     100            { 
     101              changeDir(RegExp.$1); 
     102              var dirPath = document.getElementById('dirPath'); 
     103              for(var i = 0; i < dirPath.options.length; i++) 
     104              { 
     105                if(dirPath.options[i].value == encodeURIComponent(RegExp.$1)) 
     106                { 
     107                  dirPath.options[i].selected = true; 
     108                  break; 
     109                } 
     110              } 
     111            } 
     112 
     113            document.getElementById('f_preview').src = _backend_url + '__function=thumbs&img=' + param.f_url; 
     114 
    75115                } 
    76116 
    77117                else if(manager_mode=="link" && param) 
     
    79119                        var target_select = document.getElementById("f_target"); 
    80120                        var use_target = true; 
    81121 
     122            var href_regex = new RegExp( '(https?://[^/]*)?' + base_url.replace(/\/$/, '') ); 
     123            param.f_href = param.f_href.replace( href_regex, "" ); 
     124 
     125            // Locate to the correct directory 
     126            var dreg = new RegExp('^(.*/)([^/]+)$'); 
     127            if (dreg.test(param['f_href'])) 
     128            { 
     129              changeDir(RegExp.$1); 
     130              var dirPath = document.getElementById('dirPath'); 
     131              for(var i = 0; i < dirPath.options.length; i++) 
     132              { 
     133                if(dirPath.options[i].value == encodeURIComponent(RegExp.$1)) 
     134                { 
     135                  dirPath.options[i].selected = true; 
     136                  break; 
     137                } 
     138              } 
     139            } 
     140 
    82141                        if (param) 
    83142                        { 
    84143                                if ( typeof param["f_usetarget"] != "undefined" ) 
     
    114173                        target_select.onchange = onTargetChanged; 
    115174                        document.getElementById("f_href").focus(); 
    116175                } 
    117  
    118  
    119  
    120176        } 
    121177 
    122178 
     
    142198                                else 
    143199                                        param[id] = el.value; 
    144200                        } 
     201 
     202            // See if we need to resize the image 
     203            var origsize = 
     204            { 
     205              w:document.getElementById('orginal_width').value, 
     206              h:document.getElementById('orginal_height').value 
     207            } 
     208 
     209            if(  (origsize.w != param.f_width) 
     210              || (origsize.h != param.f_height) ) 
     211            { 
     212              // Yup, need to resize 
     213              var resized = HTMLArea._geturlcontent(window.opener._editor_url + 'plugins/ExtendedFileManager/' + _backend_url + '&__function=resizer&img=' + encodeURIComponent(document.getElementById('f_url').value) + '&width=' + param.f_width + '&height=' + param.f_height); 
     214 
     215              // alert(resized); 
     216              resized = eval(resized); 
     217              if(resized) 
     218              { 
     219                param.f_url = makeURL(base_url, resized); 
     220              } 
     221            } 
     222 
    145223                        __dlg_close(param); 
    146224                        return false; 
    147225                } 
     
    313391 
    314392        function doUpload()  
    315393        { 
    316                  
    317394                var uploadForm = document.getElementById('uploadForm'); 
    318395                if(uploadForm) 
    319396                        showMessage('Uploading'); 
     
    326403        } 
    327404 
    328405 
    329         function newFolder()  
     406        function newFolder() 
    330407        { 
     408     var folder = prompt(i18n('Please enter name for new folder...'), i18n('Untitled')); 
    331409                var selection = document.getElementById('dirPath'); 
    332410                var dir = selection.options[selection.selectedIndex].value; 
    333411 
    334                 Dialog("newFolder.html", function(param)  
    335                 { 
    336                         if (!param) // user must have pressed Cancel 
    337                                 return false; 
    338                         else 
    339                         { 
    340                                 var folder = param['f_foldername']; 
    341412                                if(folder == thumbdir) 
    342413                                { 
    343414                                        alert(i18n('Invalid folder name, please choose another folder name.')); 
    344415                                        return false; 
    345416                                } 
    346417 
    347                                 if (folder && folder != '' && typeof imgManager != 'undefined')  
    348                                         imgManager.newFolder(dir, encodeURI(folder));  
    349                         } 
    350                 }, null); 
    351         } 
     418                                if (folder && folder != '' && typeof imgManager != 'undefined') 
     419                                        imgManager.newFolder(dir, encodeURI(folder)); 
     420    } 
    352421 
    353422        addEvent(window, 'load', init); 
  • assets/popup.js

    diff -u -r 10/assets/popup.js 11/assets/popup.js
    10 11  
    1111// 
    1212// $Id: popup.js 26 2004-03-31 02:35:21Z Wei Zhuo $ 
    1313 
    14 // Slightly modified for the ExtendedFileManager, window resizing is done only 
    15 // by each window's script. Added translation for a few other HTML elements. 
    16  
    17 function getAbsolutePos(el) { 
    18         var r = { x: el.offsetLeft, y: el.offsetTop }; 
    19         if (el.offsetParent) { 
    20                 var tmp = getAbsolutePos(el.offsetParent); 
    21                 r.x += tmp.x; 
    22                 r.y += tmp.y; 
    23         } 
    24         return r; 
    25 }; 
    26  
    27 function comboSelectValue(c, val) { 
    28         var ops = c.getElementsByTagName("option"); 
    29         for (var i = ops.length; --i >= 0;) { 
    30                 var op = ops[i]; 
    31                 op.selected = (op.value == val); 
    32         } 
    33         c.value = val; 
    34 }; 
    35  
    3614function __dlg_onclose() { 
    3715        if(opener.Dialog._return) 
    3816                opener.Dialog._return(null); 
    3917}; 
    4018 
    41 function __dlg_init(bottom) { 
    42         var body = document.body; 
    43         var body_height = 0; 
    44         if (typeof bottom == "undefined") { 
    45                 var div = document.createElement("div"); 
    46                 body.appendChild(div); 
    47                 var pos = getAbsolutePos(div); 
    48                 body_height = pos.y; 
    49         } else { 
    50                 var pos = getAbsolutePos(bottom); 
    51                 body_height = pos.y + bottom.offsetHeight; 
    52         } 
    53         if(opener && opener.Dialog && opener.Dialog._arguments) 
    54                 window.dialogArguments = opener.Dialog._arguments; 
    55         if (!document.all) { 
    56                 //window.sizeToContent(); 
    57                 //window.sizeToContent();       // for reasons beyond understanding, 
    58                                         // only if we call it twice we get the 
    59                                         // correct size. 
    60                 window.addEventListener("unload", __dlg_onclose, true); 
    61                 // center on parent 
    62                 var x = opener.screenX + (opener.outerWidth - window.outerWidth) / 2; 
    63                 var y = opener.screenY + (opener.outerHeight - window.outerHeight) / 2; 
    64                 window.moveTo(x, y); 
    65                 //window.innerWidth = body.offsetWidth + 5; 
    66                 //window.innerHeight = body_height + 2; 
    67         } else { 
    68                 // window.dialogHeight = body.offsetHeight + 50 + "px"; 
    69                 // window.dialogWidth = body.offsetWidth + "px"; 
    70                 //window.resizeTo(body.offsetWidth, body_height); 
    71                 var ch = body.clientHeight; 
    72                 var cw = body.clientWidth; 
    73                 //window.resizeBy(body.offsetWidth - cw, body_height - ch); 
    74                 var W = body.offsetWidth; 
    75                 var H = 2 * body_height - ch; 
    76                 if(ch <= 0) H = body_height; 
    77                 var x = (screen.availWidth - W) / 2; 
    78                 var y = (screen.availHeight - H) / 2; 
    79                  
    80                 window.moveTo(x, y); 
    81         } 
    82         document.body.onkeypress = __dlg_close_on_esc; 
    83 }; 
    84  
    85 function __dlg_translate(i18n) { 
    86         var types = ["span", "option", "td", "button", "div", "label", "a","img", "legend"]; 
    87         for (var type in types) { 
    88                 var spans = document.getElementsByTagName(types[type]); 
    89                 for (var i = spans.length; --i >= 0;) { 
    90                         var span = spans[i]; 
    91                         if (span.firstChild && span.firstChild.data) {                           
    92                                 var txt = i18n[span.firstChild.data]; 
    93                                 if (txt) span.firstChild.data = txt; 
    94                         } 
    95                         if(span.title){ 
    96                                 var txt = i18n[span.title]; 
    97                                 if(txt) span.title = txt; 
    98                         } 
    99                         if(span.alt){ 
    100                                 var txt = i18n[span.alt]; 
    101                                 if(txt) span.alt = txt; 
    102                         } 
    103                 } 
    104         } 
    105         var txt = i18n[document.title]; 
    106         if (txt) 
    107                 document.title = txt; 
    108 }; 
     19function __dlg_translate(context) { 
     20    var types = ["span", "option", "td", "th", "button", "div", "label", "a","img", "legend"]; 
     21    for (var type = 0; type < types.length; type++) { 
     22        var spans = document.getElementsByTagName(types[type]); 
     23        for (var i = spans.length; --i >= 0;) { 
     24            var span = spans[i]; 
     25            if (span.firstChild && span.firstChild.data) { 
     26                var txt = HTMLArea._lc(span.firstChild.data, context); 
     27                if (txt) 
     28                    span.firstChild.data = txt; 
     29            } 
     30            if (span.title) { 
     31                var txt = HTMLArea._lc(span.title, context); 
     32                if (txt) 
     33                    span.title = txt; 
     34            } 
     35            if (span.alt) { 
     36                var txt = HTMLArea._lc(span.alt, context); 
     37                if (txt) 
     38                    span.alt = txt; 
     39            } 
     40        } 
     41    } 
     42    document.title = HTMLArea._lc(document.title, context); 
     43} 
    10944 
    11045// closes the dialog and passes the return info upper. 
    11146function __dlg_close(val) { 
    11247        opener.Dialog._return(val); 
    11348        window.close(); 
    11449}; 
    115  
    116 function __dlg_close_on_esc(ev) { 
    117         ev || (ev = window.event); 
    118         if (ev.keyCode == 27) { 
    119                 window.close(); 
    120                 return false; 
    121         } 
    122         return true; 
    123 }; 
  • assets/slider.js

    diff -u -r 10/assets/slider.js 11/assets/slider.js
    10 11  
    11/** 
    22 * ImageEditor slider file. 
    3  * Authors: Wei Zhuo, Afru 
     3 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    44 * Version: Updated on 08-01-2005 by Afru 
    5  * Package: ExtendedFileManager (EFM 1.0 beta) 
     5 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     6 * Package: ExtendedFileManager (EFM 1.1) 
    67 * http://www.afrusoft.com/htmlarea 
    78 */ 
    89 
  • Classes/ExtendedFileManager.php

    Only in 11: backend.php
    diff -u -r 10/Classes/ExtendedFileManager.php 11/Classes/ExtendedFileManager.php
    10 11  
    1 <? 
     1<?php 
    22/** 
    33 * ExtendedFileManager, list images, directories, and thumbnails. 
    4  * Authors: Wei Zhuo, Afru 
     4 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    55 * Version: Updated on 08-01-2005 by Afru 
    6  * Package: ExtendedFileManager (EFM 1.0 beta) 
     6 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     7 * Package: ExtendedFileManager (EFM 1.1) 
    78 * http://www.afrusoft.com/htmlarea 
    89 */ 
    910 
    10 require_once('Files.php'); 
     11/** 
     12 * We use classes from ImageManager to avoid code duplication 
     13 */ 
     14require_once '../ImageManager/Classes/Files.php'; 
    1115 
    1216/** 
    1317 * ExtendedFileManager Class. 
    1418 * @author $Author: Wei Zhuo $ 
     19 * @author $Author: Krzysztof Kotowicz $ 
    1520 * @version $Id: ExtendedFileManager.php 27 2004-04-01 08:31:57Z Wei Zhuo $ 
    1621 */ 
    1722class ExtendedFileManager  
     
    2530         * Array of directory information. 
    2631         */ 
    2732        var $dirs; 
     33         
     34    /** 
     35     * Manager mode - image | link 
     36     */ 
     37        var $mode; 
    2838 
    2939        /** 
    3040         * Constructor. Create a new Image Manager instance. 
    3141         * @param array $config configuration array, see config.inc.php 
    3242         */ 
    33         function ExtendedFileManager($config)  
     43        function ExtendedFileManager($config, $mode = null) 
    3444        { 
    3545                $this->config = $config; 
     46                 
     47                $this->mode = empty($mode) ? (empty($config['insert_mode']) ? 'image' : $config['insert_mode']): $mode; 
    3648        } 
    3749 
    3850        /** 
    3951         * Get the base directory. 
    4052         * @return string base dir, see config.inc.php 
    4153         */ 
    42         function getBaseDir()  
     54        function getImagesDir() 
    4355        { 
    44                 Return $this->config['base_dir']; 
     56                Return $this->config['images_dir']; 
    4557        } 
    4658 
    4759        /** 
    4860         * Get the base URL. 
    4961         * @return string base url, see config.inc.php 
    5062         */ 
    51         function getBaseURL()  
     63        function getImagesURL() 
    5264        { 
    53                 Return $this->config['base_url']; 
     65                Return $this->config['images_url']; 
    5466        } 
    5567 
    5668        function isValidBase() 
    5769        { 
    58                 return is_dir($this->getBaseDir()); 
     70                return is_dir($this->getImagesDir()); 
    5971        } 
    6072 
    6173        /** 
     
    7991        { 
    8092                if(is_null($this->dirs)) 
    8193                { 
    82                         $dirs = $this->_dirs($this->getBaseDir(),'/'); 
     94                        $dirs = $this->_dirs($this->getImagesDir(),'/'); 
    8395                        ksort($dirs); 
    8496                        $this->dirs = $dirs; 
    8597                } 
     
    139151                $files = array(); 
    140152                $dirs = array(); 
    141153 
     154        $valid_extensions = $this->mode == 'image' ? $this->config['allowed_image_extensions'] : $this->config['allowed_link_extensions']; 
     155 
    142156                if($this->isValidBase() == false) 
    143157                        return array($files,$dirs); 
    144158 
    145159                $path = Files::fixPath($path); 
    146                 $base = Files::fixPath($this->getBaseDir()); 
     160                $base = Files::fixPath($this->getImagesDir()); 
    147161                $fullpath = Files::makePath($base,$path); 
    148162 
    149163 
     
    167181                                { 
    168182                                        $afruext = strtolower(substr(strrchr($entry, "."), 1)); 
    169183 
    170                                         if(in_array($afruext,$this->config['allowed_extensions'])) 
     184                    if(in_array($afruext,$valid_extensions)) 
    171185                                        { 
    172186 
    173187                                                $file['url'] = Files::makePath($this->config['base_url'],$path).$entry; 
     
    321335                if($this->config['safe_mode'] == true 
    322336                        || strlen(trim($this->config['thumbnail_dir'])) == 0) 
    323337                { 
    324                         Return Files::makeFile($this->getBaseURL(),$thumbnail); 
     338                        Return Files::makeFile($this->getImagesURL(),$thumbnail); 
    325339                } 
    326340                else 
    327341                { 
    328342                        if(strlen(trim($this->config['thumbnail_dir'])) > 0) 
    329343                        { 
    330344                                $path = Files::makePath($path_parts['dirname'],$this->config['thumbnail_dir']); 
    331                                 $url_path = Files::makePath($this->getBaseURL(), $path); 
     345                                $url_path = Files::makePath($this->getImagesURL(), $path); 
    332346                                Return Files::makeFile($url_path,$thumbnail); 
    333347                        } 
    334348                        else //should this ever happen? 
     
    339353                } 
    340354        } 
    341355 
     356   /** 
     357    * For a given image file, get the respective resized filename 
     358    * no file existence check is done. 
     359    * @param string $fullpathfile the full path to the image file 
     360    * @param integer $width the intended width 
     361    * @param integer $height the intended height 
     362    * @param boolean $mkDir whether to attempt to make the resized_dir if it doesn't exist 
     363    * @return string of the resized filename 
     364    */ 
     365        function getResizedName($fullpathfile, $width, $height, $mkDir = TRUE) 
     366        { 
     367                $path_parts = pathinfo($fullpathfile); 
     368 
     369                $thumbnail = $this->config['resized_prefix']."_{$width}x{$height}_{$path_parts['basename']}"; 
     370 
     371                if( strlen(trim($this->config['resized_dir'])) == 0 || $this->config['safe_mode'] == true ) 
     372                { 
     373                        Return Files::makeFile($path_parts['dirname'],$thumbnail); 
     374                } 
     375                else 
     376                { 
     377      $path = Files::makePath($path_parts['dirname'],$this->config['resized_dir']); 
     378      if($mkDir && !is_dir($path)) 
     379        Files::createFolder($path); 
     380      Return Files::makeFile($path,$thumbnail); 
     381                } 
     382        } 
     383 
    342384        /** 
    343385         * Check if the given path is part of the subdirectories 
    344386         * under the base_dir. 
     
    419461                        Return false; 
    420462                } 
    421463 
    422  
    423  
     464        $valid_extensions = $this->mode == 'image' ? $this->config['allowed_image_extensions'] : $this->config['allowed_link_extensions']; 
     465        $max_size = $this->mode == 'image' ? $this->config['max_filesize_kb_image'] : $this->config['max_filesize_kb_link']; 
    424466                $afruext = strtolower(substr(strrchr($file['name'], "."), 1)); 
    425467 
    426                 if(!in_array($afruext,$this->config['allowed_extensions'])) 
     468                if(!in_array($afruext, $valid_extensions)) 
    427469                { 
    428470                        Files::delFile($file['tmp_name']); 
    429471                        Return "Cannot upload .".$afruext." Files. Permission denied."; 
    430472                } 
    431473 
    432                 if($file['size']>($this->config['max_filesize_kb']*1024)) 
     474                if($file['size']>($max_size*1024)) 
    433475                { 
    434476                        Files::delFile($file['tmp_name']); 
    435                         Return "Unble to upload file. Maximum file size [".$this->config['max_filesize_kb']."Kb] exceeded."; 
     477                        Return "Unble to upload file. Maximum file size [".$max_size."Kb] exceeded."; 
    436478                } 
    437479 
    438                 if( (Files::dirSize($this->getBaseDir()))+$file['size']> ($this->config['max_foldersize_mb']*1048576)) 
     480                if(!empty($this->config['max_foldersize_mb']) &&  (Files::dirSize($this->getImagesDir()))+$file['size']> ($this->config['max_foldersize_mb']*1048576)) 
    439481                { 
    440482                        Files::delFile($file['tmp_name']); 
    441483                        Return ("Cannot upload. Maximum folder size reached. Delete unwanted files and try again."); 
    442484                } 
    443485 
    444486                //now copy the file 
    445                 $path = Files::makePath($this->getBaseDir(),$relative); 
     487                $path = Files::makePath($this->getImagesDir(),$relative); 
    446488                $result = Files::copyFile($file['tmp_name'], $path, $file['name']); 
    447489 
    448490                //no copy error 
     
    461503 
    462504        function getDiskInfo() 
    463505        { 
    464                 $tmpFreeSize=($this->config['max_foldersize_mb']*1048576)-Files::dirSize($this->getBaseDir()); 
     506        if (empty($this->config['max_foldersize_mb'])) 
     507            return ''; 
     508             
     509                $tmpFreeSize=($this->config['max_foldersize_mb']*1048576)-Files::dirSize($this->getImagesDir()); 
    465510 
    466511                if(!is_numeric($tmpFreeSize) || $tmpFreeSize<0) $tmpFreeSize=0; 
    467  
    468                 Return 'Total Size : '.$this->config['max_foldersize_mb'].' Mb , Free Space : '.Files::formatSize($tmpFreeSize); 
     512         
     513                Return 'Total Size : '.$this->config['max_foldersize_mb'].' Mb , Free Space: '.Files::formatSize($tmpFreeSize); 
    469514        } 
    470515 
    471516 
     
    479524         */ 
    480525        function getFileURL($relative)  
    481526        { 
    482                 Return Files::makeFile($this->getBaseURL(),$relative); 
     527                Return Files::makeFile($this->getImagesURL(),$relative); 
    483528        } 
    484529 
    485530        /** 
     
    489534         */ 
    490535        function getFullPath($relative)  
    491536        { 
    492                 Return Files::makeFile($this->getBaseDir(),$relative);; 
     537                Return Files::makeFile($this->getImagesDir(),$relative);; 
    493538        } 
    494539 
    495540        /** 
     
    512557        */ 
    513558        function checkImageSize($relative) 
    514559        { 
    515                 $fullpath = Files::makeFile($this->getBaseDir(),$relative); 
     560                $fullpath = Files::makeFile($this->getImagesDir(),$relative); 
    516561 
    517562                $afruext = strtolower(substr(strrchr($relative, "."), 1)); 
    518563                 
     
    564609         */ 
    565610        function getThumbnail($relative)  
    566611        { 
    567                 $fullpath = Files::makeFile($this->getBaseDir(),$relative); 
     612                global $IMConfig; 
     613                 
     614                $fullpath = Files::makeFile($this->getImagesDir(),$relative); 
    568615 
    569616                //not a file??? 
    570617                if(!is_file($fullpath)) 
     
    609656 
    610657                //well, no thumbnail was found, so ask the thumbs.php 
    611658                //to generate the thumbnail on the fly. 
    612                 Return 'thumbs.php?img='.rawurlencode($relative); 
     659                Return $IMConfig['backend_url'] . '__function=thumbs&img='.rawurlencode($relative); 
    613660        } 
    614661 
    615662        /** 
     
    619666        function deleteFiles()  
    620667        { 
    621668                if(isset($_GET['delf'])) 
    622                         $this->_delFile(rawurldecode($_GET['delf'])); 
     669                        return $this->_delFile(rawurldecode($_GET['delf'])); 
     670        return false; 
    623671        } 
    624672 
    625673        /** 
     
    641689         */ 
    642690        function _delFile($relative)  
    643691        { 
    644                 $fullpath = Files::makeFile($this->getBaseDir(),$relative); 
     692                $fullpath = Files::makeFile($this->getImagesDir(),$relative); 
    645693         
    646694                $afruext = strtolower(substr(strrchr($relative, "."), 1)); 
    647695 
    648                 if(!in_array($afruext,$this->config['allowed_extensions'])) 
     696        $valid_extensions = $this->mode == 'image' ? $this->config['allowed_image_extensions'] : $this->config['allowed_link_extensions']; 
     697 
     698                if(!in_array($afruext,$valid_extensions)) 
    649699                { 
    650700                        return false; 
    651701                } 
     
    667717         */ 
    668718        function _delDir($relative)  
    669719        { 
    670                 $fullpath = Files::makePath($this->getBaseDir(),$relative); 
     720                $fullpath = Files::makePath($this->getImagesDir(),$relative); 
    671721                if($this->countFiles($fullpath) <= 0) 
    672722                        return Files::delFolder($fullpath,true); //delete recursively. 
    673723                else 
     
    688738                { 
    689739                        $newDir = rawurldecode($_GET['newDir']); 
    690740                        $dir = rawurldecode($_GET['dir']); 
    691                         $path = Files::makePath($this->getBaseDir(),$dir); 
     741                        $path = Files::makePath($this->getImagesDir(),$dir); 
    692742                        $fullpath = Files::makePath($path, Files::escape($newDir)); 
    693743                        if(is_dir($fullpath)) 
    694744                                Return false; 
  • config.inc.php

    Only in 10/Classes: Files.php
    Only in 10/Classes: GD.php
    Only in 10/Classes: IM.php
    Only in 10/Classes: ImageEditor.php
    Only in 10/Classes: NetPBM.php
    Only in 10/Classes: Thumbnail.php
    Only in 10/Classes: Transform.php
    diff -u -r 10/config.inc.php 11/config.inc.php
    10 11  
    1 <? 
     1<?php 
    22/** 
    33 * ExtendedFileManager configuration file. 
    44 * Authors: Wei Zhuo, Afru 
    55 * Version: Updated on 08-01-2005 by Afru 
     6 * Version 1.1: Updated on 20-06-2006 by Krzysztof Kotowicz <koto@webworkers.pl> 
    67 * Package: ExtendedFileManager 
    78 * http://www.afrusoft.com/htmlarea 
    89 */ 
    910 
    1011/*  Configuration file usage: 
    11  *      There are two insertModes for this filemanager. One is "image" and another is "link". 
     12 *      There are two insertModes for this filemanager. 
     13 *      One is "image" and another is "link". 
    1214 *      So you can assign config values as below 
    1315 * 
    1416 *      if($insertMode=="image") $IMConfig['property']=somevalueforimagemode; 
    1517 *      else if($insertMode=="link") $IMConfig['property']=somevalueforlinkmode; 
    1618 * 
    17  *      (or) you can directly ass $IMConfig['property']=somevalueforbothmodes; 
     19 *      (or) you can directly as $IMConfig['property']=somevalueforbothmodes; 
    1820 * 
    1921 *      Best of Luck :) Afru. 
    2022 */ 
    2123 
    22 /*  
     24/** 
     25* Default backend URL 
     26* 
     27* URL to use for unified backend. 
     28* 
     29* The ?__plugin=ExtendedFileManager& is required. 
     30*/ 
     31 
     32$IMConfig['backend_url'] = "backend.php?__plugin=ExtendedFileManager&"; 
     33 
     34/** 
     35* Backend Installation Directory 
     36* 
     37* location of backend install; these are used to link to css and js 
     38* assets because we may have the front end installed in a different 
     39* directory than the backend. (i.e. nothing assumes that the frontend 
     40* and the backend are in the same directory) 
     41*/ 
     42$IMConfig['base_dir'] = getcwd(); 
     43$IMConfig['base_url'] = ''; 
     44 
     45 
     46/* 
    2347         File system path to the directory you want to manage the images 
    2448         for multiple user systems, set it dynamically. 
    2549 
    26          NOTE: This directory requires write access by PHP. That is,  
     50         NOTE: This directory requires write access by PHP. That is, 
    2751                   PHP must be able to create files in this directory. 
    2852                   Able to create directories is nice, but not necessary. 
    2953*/ 
    30 $IMConfig['base_dir'] = $_SERVER['DOCUMENT_ROOT'].'/htmlarea/resources/'; 
    31  
     54$IMConfig['images_dir'] = 'demo_images'; 
    3255 
    3356/* 
    3457 The URL to the above path, the web browser needs to be able to see it. 
     
    3861 for this directory (i.e. disable PHP, Perl, CGI). We only want to store assets 
    3962 in this directory and its subdirectories. 
    4063*/ 
    41 $IMConfig['base_url'] = 'http://www.afrusoft.com/htmlarea/resources/'; 
     64$IMConfig['images_url'] = str_replace( "backend.php", "", $_SERVER["PHP_SELF"] ) . "demo_images"; 
    4265 
    4366/* 
    4467  Possible values: true, false 
     
    5275*/ 
    5376$IMConfig['safe_mode'] = false; 
    5477 
    55  
    5678/* 
    57 This sepcifies whether any image library is available to resize and edit images. 
    58 TRUE - Thumbnails will be resized by image libraries and if there is no library, default thumbnail will be shown. 
     79This specifies whether any image library is available to resize and edit images.TRUE - Thumbnails will be resized by image libraries and if there is no library, default thumbnail will be shown. 
    5980FALSE - Thumbnails will be resized by browser ignoring image libraries. 
    6081*/ 
    61 $IMConfig['img_library'] = false; 
     82$IMConfig['img_library'] = true; 
    6283 
    6384 
    6485/* 
    6586View type when the File manager is in insert image mode. 
    66 Valid values are "thumbview" and "listview". Default is thumbview. 
     87Valid values are "thumbview" and "listview". 
    6788*/ 
    68 if($insertMode=="image") 
     89 
     90if(empty($insertMode)) 
     91    $insertMode="image"; 
     92     
     93if ($insertMode == 'image') 
    6994        $IMConfig['view_type'] = "thumbview"; 
    70 else if($insertMode=="link")  
     95         
     96else if($insertMode == "link") 
    7197        $IMConfig['view_type'] = "listview"; 
    7298 
    73  
    74 /* 
    75 View type when the File manager is in insert link mode. 
    76 Valid values are "thumbview" and "listview". Default is listview. 
    77  
    78 $IMConfig['linkmode_view_type'] = "listview"; 
    79 */ 
     99$IMConfig['insert_mode'] = $insertMode; 
    80100 
    81101/*  
    82102 Possible values: 'GD', 'IM', or 'NetPBM' 
     
    85105 If you have safe mode ON, or don't have the binaries to other packages,  
    86106 your choice is 'GD' only. Other packages require Safe Mode to be off. 
    87107*/ 
    88 define('IMAGE_CLASS', 'IM'); 
     108define('IMAGE_CLASS', 'GD'); 
    89109 
    90110 
    91111/* 
     
    102122  thumbnails files will be named as "prefix_imagefile.ext", that is, 
    103123  prefix + orginal filename. 
    104124*/ 
    105 $IMConfig['thumbnail_prefix'] = '.'; 
     125$IMConfig['thumbnail_prefix'] = 't_'; 
    106126 
    107127 
    108128/* 
    109129  Thumbnail can also be stored in a directory, this directory 
    110130  will be created by PHP. If PHP is in safe mode, this parameter 
    111   is ignored, you can not create directories.  
     131  is ignored, you can not create directories. 
    112132 
    113133  If you do not want to store thumbnails in a directory, set this 
    114134  to false or empty string ''; 
    115135*/ 
    116 $IMConfig['thumbnail_dir'] = '.thumbs'; 
     136$IMConfig['thumbnail_dir'] = 't'; 
     137 
     138/** 
     139* Resized prefix 
     140* 
     141* The prefix for resized files, something like .resized will do.  The 
     142* resized files will be named <prefix>_<width>x<height>_<original> 
     143* resized files are created when one changes the dimensions of an image 
     144* in the image manager selection dialog - the image is scaled when the 
     145* user clicks the ok button. 
     146*/ 
     147 
     148$IMConfig['resized_prefix'] = '.resized'; 
     149 
     150// ------------------------------------------------------------------------- 
     151 
     152/** 
     153* Resized Directory 
     154* 
     155* Resized images may also be stored in a directory, except in safe mode. 
     156*/ 
    117157 
     158$IMConfig['resized_dir'] = ''; 
    118159 
    119160/* 
    120161  Possible values: true, false 
     
    140181 NOTE: If $IMConfig['img_library'] = false, this parameter 
    141182       is ignored, you can not edit images. 
    142183*/ 
    143 $IMConfig['allow_edit_image'] = false; 
     184$IMConfig['allow_edit_image'] = true; 
    144185 
    145186 
    146187/* 
     
    153194$IMConfig['allow_upload'] = true; 
    154195 
    155196/* Maximum upload file size in Kilobytes */ 
    156 $IMConfig['max_filesize_kb'] = 50; 
     197$IMConfig['max_filesize_kb_image'] = 2000; 
     198 
     199$IMConfig['max_filesize_kb_link'] = 5000; 
    157200 
    158 /* Maximum upload folder size in Megabytes */ 
    159 $IMConfig['max_foldersize_mb'] = 1; 
     201/* Maximum upload folder size in Megabytes. Use 0 to disable limit */ 
     202$IMConfig['max_foldersize_mb'] = 0; 
    160203 
    161204/* 
    162205Allowed extensions that can be shown and allowed to upload. 
     
    164207-Changed by AFRU. 
    165208*/ 
    166209 
    167 if($insertMode=="image")  
    168 $IMConfig['allowed_extensions'] = array("jpg","gif","png","bmp"); 
    169 else if($insertMode=="link") 
    170 $IMConfig['allowed_extensions'] = array("jpg","gif","js","php","pdf","zip","txt","psd","png","html","swf"); 
    171  
     210$IMConfig['allowed_image_extensions'] = array("jpg","gif","png","bmp"); 
     211$IMConfig['allowed_link_extensions'] = array("jpg","gif","js","php","pdf","zip","txt","psd","png","html","swf","xml","xls"); 
    172212 
    173213 
    174214/* 
     
    193233  Image Editor temporary filename prefix. 
    194234*/ 
    195235$IMConfig['tmp_prefix'] = '.editor_'; 
     236 
     237 
     238// If config specified from front end, merge it 
     239if(isset($_REQUEST['backend_config'])) 
     240{ 
     241  if(get_magic_quotes_gpc()) { 
     242    $_REQUEST['backend_config'] = stripslashes($_REQUEST['backend_config']); 
     243  } 
     244 
     245  // Config specified from front end, check that it's valid 
     246  session_start(); 
     247  $secret = $_SESSION[$_REQUEST['backend_config_secret_key_location']]; 
     248 
     249  if($_REQUEST['backend_config_hash'] !== sha1($_REQUEST['backend_config'] . $secret)) 
     250  { 
     251    die("Backend security error."); 
     252  } 
     253 
     254  $to_merge = unserialize($_REQUEST['backend_config']); 
     255  if(!is_array($to_merge)) 
     256  { 
     257    die("Backend config syntax error."); 
     258  } 
     259 
     260  $IMConfig = array_merge($IMConfig, $to_merge); 
     261 
     262   // changed config settings keys in relation to ImageManager 
     263  $IMConfig['backend_url'] .= "backend_config=" . rawurlencode($_REQUEST['backend_config']) . '&'; 
     264  $IMConfig['backend_url'] .= "backend_config_hash=" . rawurlencode($_REQUEST['backend_config_hash']) . '&'; 
     265  $IMConfig['backend_url'] .= "backend_config_secret_key_location=" . rawurlencode($_REQUEST['backend_config_secret_key_location']) . '&'; 
     266 
     267} 
     268 
     269// END 
     270 
    196271?> 
     272 No newline at end of file 
  • editor.php

    diff -u -r 10/editor.php 11/editor.php
    10 11  
    1 <? 
     1<?php 
    22/** 
    33 * ExtendedFileManager editor.php file. 
    4  * Authors: Wei Zhuo, Afru 
     4 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    55 * Version: Updated on 08-01-2005 by Afru 
    6  * Package: ExtendedFileManager (EFM 1.0 beta) 
     6 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     7 * Package: ExtendedFileManager (EFM 1.1) 
    78 * http://www.afrusoft.com/htmlarea 
    89 */ 
    910 
    1011require_once('config.inc.php'); 
    1112require_once('Classes/ExtendedFileManager.php'); 
    12 require_once('Classes/ImageEditor.php'); 
     13require_once('../ImageManager/Classes/ImageEditor.php'); 
    1314 
    1415$manager = new ExtendedFileManager($IMConfig); 
    1516$editor = new ImageEditor($manager); 
     
    2021<html> 
    2122<head> 
    2223        <title></title> 
    23         <link href="assets/editor.css" rel="stylesheet" type="text/css" />       
    24 <script type="text/javascript" src="assets/slider.js"></script> 
    25 <script type="text/javascript" src="assets/popup.js"></script> 
     24        <link href="<?php print $IMConfig['base_url'];?>assets/editor.css" rel="stylesheet" type="text/css" /> 
     25<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/slider.js"></script> 
     26<script type="text/javascript" src="../../popups/popup.js"></script> 
     27<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/popup.js"></script> 
    2628<script type="text/javascript"> 
    2729/*<![CDATA[*/ 
    28         window.resizeTo(673, 531); 
     30 
     31    var _backend_url = "<?php print $IMConfig['backend_url']; ?>"; 
     32 
    2933        if(window.opener) 
    30                 I18N = window.opener.I18N; 
     34                HTMLArea = window.opener.HTMLArea; 
    3135/*]]>*/ 
    3236</script> 
    33 <script type="text/javascript" src="assets/editor.js"></script> 
     37<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/editor.js"></script> 
    3438</head> 
    3539 
    3640<body> 
    3741<div id="indicator"> 
    38 <img src="img/spacer.gif" id="indicator_image" height="20" width="20" alt="" /> 
     42<img src="<?php print $IMConfig['base_url'];?>img/spacer.gif" id="indicator_image" height="20" width="20" alt="" /> 
    3943</div> 
    4044<div id="tools"> 
    4145        <div id="tools_crop" style="display:none;"> 
     
    4347                        <label for="cx">Start X:</label><input type="text" id="cx"  class="textInput" onchange="updateMarker('crop')"/> 
    4448                        <label for="cy">Start Y:</label><input type="text" id="cy" class="textInput" onchange="updateMarker('crop')"/> 
    4549                        <label for="cw">Width:</label><input type="text" id="cw" class="textInput" onchange="updateMarker('crop')"/> 
    46                         <label for="ch">Height:</label><input type="text" id="ch" class="textInput" onchange="updateMarker('crop')"/> 
    47                         <img src="img/div.gif" height="30" width="2" class="div" alt="|" /> 
     50                        <label for="ch">Height:</label><input type="text" id="ch" class="textInput" onchange="updateMarker('crop')"/>                   <img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" /> 
    4851                </div>   
    49                 <a href="javascript: editor.doSubmit('crop');" class="buttons" title="OK"><img src="img/btn_ok.gif" height="30" width="30" alt="OK" /></a> 
    50                 <a href="javascript: editor.reset();" class="buttons" title="Cancel"><img src="img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a>            
     52                <a href="javascript: editor.doSubmit('crop');" class="buttons" title="OK"><img src="<?php print $IMConfig['base_url'];?>img/btn_ok.gif" height="30" width="30" alt="OK" /></a> 
     53                <a href="javascript: editor.reset();" class="buttons" title="Cancel"><img src="<?php print $IMConfig['base_url'];?>img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a> 
    5154        </div>   
    5255        <div id="tools_scale" style="display:none;"> 
    5356                <div id="tool_inputs"> 
    5457                        <label for="sw">Width:</label><input type="text" id="sw" class="textInput" onchange="checkConstrains('width')"/> 
    55                         <a href="javascript:toggleConstraints();" title="Lock"><img src="img/islocked2.gif" id="scaleConstImg" height="14" width="8" alt="Lock" class="div" /></a><label for="sh">Height:</label> 
     58                        <a href="javascript:toggleConstraints();" title="Lock"><img src="<?php print $IMConfig['base_url'];?>img/islocked2.gif" id="scaleConstImg" height="14" width="8" alt="Lock" class="div" /></a><label for="sh">Height:</label> 
    5659                        <input type="text" id="sh" class="textInput" onchange="checkConstrains('height')"/> 
    5760                        <input type="checkbox" id="constProp" value="1" checked="checked" onclick="toggleConstraints()"/> 
    5861                        <label for="constProp">Constrain Proportions</label> 
    59                         <img src="img/div.gif" height="30" width="2" class="div" alt="|" /> 
     62                        <img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" /> 
    6063                </div>   
    61                 <a href="javascript: editor.doSubmit('scale');" class="buttons" title="OK"><img src="img/btn_ok.gif" height="30" width="30" alt="OK" /></a> 
    62                 <a href="javascript: editor.reset();" class="buttons" title="Cancle"><img src="img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a>            
     64                <a href="javascript: editor.doSubmit('scale');" class="buttons" title="OK"><img src="<?php print $IMConfig['base_url'];?>img/btn_ok.gif" height="30" width="30" alt="OK" /></a> 
     65                <a href="javascript: editor.reset();" class="buttons" title="Cancle"><img src="<?php print $IMConfig['base_url'];?>img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a> 
    6366        </div>   
    6467        <div id="tools_rotate" style="display:none;"> 
    6568                <div id="tool_inputs"> 
     
    7881              <option value="-90">Rotate 90 &deg; CCW</option> 
    7982         </select> 
    8083                        <label for="ra">Angle:</label><input type="text" id="ra" class="textInput" /> 
    81                         <img src="img/div.gif" height="30" width="2" class="div" alt="|" /> 
     84                        <img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" /> 
    8285                </div>   
    83                 <a href="javascript: editor.doSubmit('rotate');" class="buttons" title="OK"><img src="img/btn_ok.gif" height="30" width="30" alt="OK" /></a> 
    84                 <a href="javascript: editor.reset();" class="buttons" title="Cancle"><img src="img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a>            
     86                <a href="javascript: editor.doSubmit('rotate');" class="buttons" title="OK"><img src="<?php print $IMConfig['base_url'];?>img/btn_ok.gif" height="30" width="30" alt="OK" /></a> 
     87                <a href="javascript: editor.reset();" class="buttons" title="Cancle"><img src="<?php print $IMConfig['base_url'];?>img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a> 
    8588        </div>           
    8689        <div id="tools_measure" style="display:none;"> 
    8790                <div id="tool_inputs"> 
    8891                        <label>X:</label><input type="text" class="measureStats" id="sx" /> 
    8992                        <label>Y:</label><input type="text" class="measureStats" id="sy" /> 
    90                         <img src="img/div.gif" height="30" width="2" class="div" alt="|" /> 
     93                        <img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" /> 
    9194                        <label>W:</label><input type="text" class="measureStats" id="mw" /> 
    9295                        <label>H:</label><input type="text" class="measureStats" id="mh" /> 
    93                         <img src="img/div.gif" height="30" width="2" class="div" alt="|" /> 
     96                        <img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" /> 
    9497                        <label>A:</label><input type="text" class="measureStats" id="ma" />              
    9598                        <label>D:</label><input type="text" class="measureStats" id="md" />              
    96                         <img src="img/div.gif" height="30" width="2" class="div" alt="|" /> 
     99                        <img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" /> 
    97100                        <button type="button" onclick="editor.reset();" >Clear</button> 
    98101                </div>   
    99102        </div> 
    100103        <div id="tools_save" style="display:none;"> 
    101104                <div id="tool_inputs"> 
    102                         <label for="save_filename">Filename:</label><input type="text" id="save_filename" value="<? echo $editor->getDefaultSaveFile();?>"/> 
     105                        <label for="save_filename">Filename:</label><input type="text" id="save_filename" value="<?php echo $editor->getDefaultSaveFile();?>"/> 
    103106                        <select name="format" id="save_format" style="margin-left: 10px; vertical-align: middle;" onchange="updateFormat(this)"> 
    104107            <option value="" selected>Image Format</option> 
    105108            <option value="">---------------------</option> 
     
    107110            <option value="jpeg,60">JPEG Medium</option> 
    108111            <option value="jpeg,35">JPEG Low</option> 
    109112            <option value="png">PNG</option> 
    110                         <? if($editor->isGDGIFAble() != -1) { ?> 
     113                        <?php if($editor->isGDGIFAble() != -1) { ?> 
    111114            <option value="gif">GIF</option> 
    112                         <? } ?> 
     115                        <?php } ?> 
    113116         </select> 
    114117                        <label>Quality:</label> 
    115118                        <table style="display: inline; vertical-align: middle;" cellpadding="0" cellspacing="0"> 
    116119                                <tr> 
    117120                                <td> 
    118121                                        <div id="slidercasing">  
    119                                 <div id="slidertrack" style="width:100px"><img src="img/spacer.gif" width="1" height="1" border="0" alt="track"></div> 
    120             <div id="sliderbar" style="left:85px" onmousedown="captureStart();"><img src="img/spacer.gif" width="1" height="1" border="0" alt="track"></div> 
     122                                <div id="slidertrack" style="width:100px"><img src="<?php print $IMConfig['base_url'];?>img/spacer.gif" width="1" height="1" border="0" alt="track"></div> 
     123            <div id="sliderbar" style="left:85px" onmousedown="captureStart();"><img src="<?php print $IMConfig['base_url'];?>img/spacer.gif" width="1" height="1" border="0" alt="track"></div> 
    121124                        </div>   
    122125                                </td> 
    123126                                </tr> 
    124127                        </table>                                 
    125128                        <input type="text" id="quality" onchange="updateSlider(this.value)" style="width: 2em;" value="85"/> 
    126                         <img src="img/div.gif" height="30" width="2" class="div" alt="|" /> 
     129                        <img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" /> 
    127130                </div>   
    128                 <a href="javascript: editor.doSubmit('save');" class="buttons" title="OK"><img src="img/btn_ok.gif" height="30" width="30" alt="OK" /></a> 
    129                 <a href="javascript: editor.reset();" class="buttons" title="Cancel"><img src="img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a>            
     131                <a href="javascript: editor.doSubmit('save');" class="buttons" title="OK"><img src="<?php print $IMConfig['base_url'];?>img/btn_ok.gif" height="30" width="30" alt="OK" /></a> 
     132                <a href="javascript: editor.reset();" class="buttons" title="Cancel"><img src="<?php print $IMConfig['base_url'];?>img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a> 
    130133        </div>   
    131134</div> 
    132135<div id="toolbar"> 
    133 <a href="javascript:toggle('crop')" id="icon_crop" title="Crop"><img src="img/crop.gif" height="20" width="20" alt="Crop" /><span>Crop</span></a> 
    134 <a href="javascript:toggle('scale')" id="icon_scale" title="Resize"><img src="img/scale.gif" height="20" width="20" alt="Resize" /><span>Resize</span></a> 
    135 <a href="javascript:toggle('rotate')" id="icon_rotate" title="Rotate"><img src="img/rotate.gif" height="20" width="20" alt="Rotate" /><span>Rotate</span></a> 
    136 <a href="javascript:toggle('measure')" id="icon_measure" title="Measure"><img src="img/measure.gif" height="20" width="20" alt="Measure" /><span>Measure</span></a> 
    137 <a href="javascript: toggleMarker();" title="Marker"><img id="markerImg" src="img/t_black.gif" height="20" width="20" alt="Marker" /><span>Marker</span></a> 
    138 <a href="javascript:toggle('save')" id="icon_save" title="Save"><img src="img/save.gif" height="20" width="20" alt="Save" /><span>Save</span></a> 
     136<a href="javascript:toggle('crop')" id="icon_crop" title="Crop"><img src="<?php print $IMConfig['base_url'];?>img/crop.gif" height="20" width="20" alt="Crop" /><span>Crop</span></a> 
     137<a href="javascript:toggle('scale')" id="icon_scale" title="Resize"><img src="<?php print $IMConfig['base_url'];?>img/scale.gif" height="20" width="20" alt="Resize" /><span>Resize</span></a> 
     138<a href="javascript:toggle('rotate')" id="icon_rotate" title="Rotate"><img src="<?php print $IMConfig['base_url'];?>img/rotate.gif" height="20" width="20" alt="Rotate" /><span>Rotate</span></a> 
     139<a href="javascript:toggle('measure')" id="icon_measure" title="Measure"><img src="<?php print $IMConfig['base_url'];?>img/measure.gif" height="20" width="20" alt="Measure" /><span>Measure</span></a> 
     140<a href="javascript: toggleMarker();" title="Marker"><img id="markerImg" src="<?php print $IMConfig['base_url'];?>img/t_black.gif" height="20" width="20" alt="Marker" /><span>Marker</span></a> 
     141<a href="javascript:toggle('save')" id="icon_save" title="Save"><img src="<?php print $IMConfig['base_url'];?>img/save.gif" height="20" width="20" alt="Save" /><span>Save</span></a> 
    139142</div> 
    140143<div id="contents"> 
    141 <iframe src="editorFrame.php?img=<? if(isset($_GET['img'])) echo rawurlencode($_GET['img']); ?>" name="editor" id="editor"  scrolling="auto" title="Image Editor" frameborder="0"></iframe> 
     144<iframe src="<?php print $IMConfig['backend_url']; ?>__function=editorFrame&img=<?php if(isset($_GET['img'])) echo rawurlencode($_GET['img']); ?>" name="editor" id="editor"  scrolling="auto" title="Image Editor" frameborder="0"></iframe> 
    142145</div> 
    143146<div id="bottom"></div> 
    144147</body> 
  • editorFrame.php

    diff -u -r 10/editorFrame.php 11/editorFrame.php
    10 11  
    1 <? 
     1<?php 
    22/** 
    33 * ExtendedFileManager editorframe.php file. 
    4  * Authors: Wei Zhuo, Afru 
     4 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    55 * Version: Updated on 08-01-2005 by Afru 
    6  * Package: ExtendedFileManager (EFM 1.0 beta) 
     6 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     7 * Package: ExtendedFileManager (EFM 1.1) 
    78 * http://www.afrusoft.com/htmlarea 
    89 */ 
    910 
    1011require_once('config.inc.php'); 
    1112require_once('Classes/ExtendedFileManager.php'); 
    12 require_once('Classes/ImageEditor.php'); 
     13require_once('../ImageManager/Classes/ImageEditor.php'); 
    1314 
    1415$manager = new ExtendedFileManager($IMConfig); 
    1516$editor = new ImageEditor($manager); 
     
    2021<html> 
    2122<head> 
    2223        <title></title> 
    23 <link href="assets/editorFrame.css" rel="stylesheet" type="text/css" />  
    24 <script type="text/javascript" src="assets/wz_jsgraphics.js"></script> 
    25 <script type="text/javascript" src="assets/EditorContent.js"></script> 
     24<link href="<?php print $IMConfig['base_url'];?>assets/editorFrame.css" rel="stylesheet" type="text/css" /> 
     25<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/wz_jsgraphics.js"></script> 
     26<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/EditorContent.js"></script> 
    2627<script type="text/javascript"> 
    27 if(window.top) 
    28         I18N = window.top.I18N; 
     28    var _backend_url = "<?php print $IMConfig['backend_url']; ?>"; 
    2929 
    30 function i18n(str) { 
    31         if(I18N) 
    32                 return (I18N[str] || str); 
    33         else 
    34                 return str; 
    35 }; 
    36          
    37         var mode = "<? echo $editor->getAction(); ?>" //crop, scale, measure 
     30    if(window.top) 
     31        HTMLArea = window.top.HTMLArea; 
    3832 
    39 var currentImageFile = "<? if(count($imageInfo)>0) echo rawurlencode($imageInfo['file']); ?>"; 
     33    function i18n(str) { 
     34        return HTMLArea._lc(str, 'ImageManager'); 
     35    } 
    4036 
    41 <? if ($editor->isFileSaved() == 1) { ?> 
     37        var mode = "<?php echo $editor->getAction(); ?>" //crop, scale, measure 
     38 
     39var currentImageFile = "<?php if(count($imageInfo)>0) echo rawurlencode($imageInfo['file']); ?>"; 
     40 
     41<?php if ($editor->isFileSaved() == 1) { ?> 
    4242        alert(i18n('File saved.')); 
    43 <? } else if ($editor->isFileSaved() == -1) { ?> 
     43 
     44    window.parent.opener.parent.refresh(); 
     45    window.parent.opener.selectImage 
     46    ( 
     47        '<?php echo $imageInfo['saveFile'] ?>', 
     48        '<?php echo $imageInfo['saveFile'] ?>'.replace(/^.*\/?([^\/]*)$/, '$1'), 
     49        <?php echo $imageInfo['width'] ?>, 
     50        <?php echo $imageInfo['height'] ?> 
     51        ); 
     52        window.parent.close(); 
     53         
     54<?php } else if ($editor->isFileSaved() == -1) { ?> 
    4455        alert(i18n('File was not saved.')); 
    45 <? } ?> 
     56<?php } ?> 
    4657 
    4758</script> 
    48 <script type="text/javascript" src="assets/editorFrame.js"></script> 
     59<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/editorFrame.js"></script> 
    4960</head> 
    5061 
    5162<body> 
    5263<div id="status"></div> 
    53 <div id="ant" class="selection" style="visibility:hidden"><img src="img/spacer.gif" width="0" height="0" border="0" alt="" id="cropContent"></div> 
    54 <? if ($editor->isGDEditable() == -1) { ?> 
     64<div id="ant" class="selection" style="visibility:hidden"><img src="<?php print $IMConfig['base_url'];?>img/spacer.gif" width="0" height="0" border="0" alt="" id="cropContent"></div> 
     65<?php if ($editor->isGDEditable() == -1) { ?> 
    5566        <div style="text-align:center; padding:10px;"><span class="error">GIF format is not supported, image editing not supported.</span></div> 
    56 <? } ?> 
     67<?php } ?> 
    5768<table height="100%" width="100%"> 
    5869        <tr> 
    5970                <td> 
    60 <? if(count($imageInfo) > 0 && is_file($imageInfo['fullpath'])) { ?> 
    61         <span id="imgCanvas" class="crop"><img src="<? echo $imageInfo['src']; ?>" <? echo $imageInfo['dimensions']; ?> alt="" id="theImage" name="theImage"></span> 
    62 <? } else { ?> 
     71<?php if(count($imageInfo) > 0 && is_file($imageInfo['fullpath'])) { ?> 
     72        <span id="imgCanvas" class="crop"><img src="<?php echo $imageInfo['src']; ?>" <?php echo $imageInfo['dimensions']; ?> alt="" id="theImage" name="theImage"></span> 
     73<?php } else { ?> 
    6374        <span class="error">No Image Available</span> 
    64 <? } ?> 
     75<?php } ?> 
    6576                </td> 
    6677        </tr> 
    6778</table> 
  • extended-file-manager.js

    diff -u -r 10/extended-file-manager.js 11/extended-file-manager.js
    10 11  
    11/** 
    22 * ExtendedFileManager extended-file-manager.js file. 
    33 * Authors: Wei Zhuo, Afru 
     4 * Modified by: Krzysztof Kotowicz <koto@webworkers.pl> 
    45 * Version: Updated on 08-01-2005 by Afru 
    5  * Package: ExtendedFileManager (EFM 1.0 beta) 
     6 * Version: Modified on 20-06-2006 by Krzysztof Kotowicz 
     7 * Package: ExtendedFileManager (EFM 1.1) 
    68 * http://www.afrusoft.com/htmlarea 
    79 */ 
    810 
     
    3234 
    3335function ExtendedFileManager(editor) 
    3436{ 
    35         var tt = ExtendedFileManager.I18N;       
    3637 
    3738        this.editor = editor; 
    3839                 
    3940    var cfg = editor.config; 
    4041        var toolbar = cfg.toolbar; 
    41          
     42    var self = this; 
     43     
    4244        cfg.registerButton({ 
    4345                id        : "linkfile", 
    44                 tooltip   : "Insert File Link", 
     46                tooltip   : HTMLArea._lc("Insert File Link",'ExtendedFileManager'), 
    4547                image     : _editor_url + 'plugins/ExtendedFileManager/img/ed_linkfile.gif', 
    4648                textMode  : false, 
    4749                action    : function(editor) { 
     
    5355 
    5456ExtendedFileManager._pluginInfo = { 
    5557        name          : "ExtendedFileManager", 
    56         version       : "1.0 beta", 
    57         developer     : "Afru", 
     58        version       : "1.1", 
     59        developer     : "Afru, Krzysztof Kotowicz", 
    5860        developer_url : "http://www.afrusoft.com/htmlarea/", 
    5961        license       : "htmlArea" 
    6062}; 
    6163 
     64HTMLArea.Config.prototype.ExtendedFileManager = 
     65{ 
     66  'backend'    : _editor_url + 'plugins/ExtendedFileManager/backend.php?__plugin=ExtendedFileManager&', 
     67  'backend_config'     : null, 
     68  'backend_config_hash': null, 
     69  'backend_config_secret_key_location': 'Xinha:ImageManager' 
     70}; 
    6271 
    6372// Over ride the _insertImage function in htmlarea.js. 
    6473// Open up the ExtendedFileManger script instead. 
     
    8291                f_height  : image.height 
    8392        }; 
    8493 
    85         var manager = _editor_url + 'plugins/ExtendedFileManager/manager.php?mode=image'; 
     94        var manager = editor.config.ExtendedFileManager.backend + '__function=manager'; 
     95    if(editor.config.ExtendedFileManager.backend_config != null) 
     96    { 
     97      manager += '&backend_config=' 
     98        + encodeURIComponent(editor.config.ExtendedFileManager.backend_config); 
     99      manager += '&backend_config_hash=' 
     100        + encodeURIComponent(editor.config.ExtendedFileManager.backend_config_hash); 
     101      manager += '&backend_config_secret_key_location=' 
     102        + encodeURIComponent(editor.config.ExtendedFileManager.backend_config_secret_key_location); 
     103    } 
    86104 
    87105        Dialog(manager, function(param){ 
    88106                if (!param) 
     
    91109                } 
    92110 
    93111                var img = image; 
    94                 if (!img) 
    95                 { 
    96                         var sel = editor._getSelection(); 
    97                         var range = editor._createRange(sel);                    
    98                         editor._doc.execCommand("insertimage", false, param.f_url); 
    99                         if (HTMLArea.is_ie) 
    100                         { 
     112                if (!img) { 
     113                        if (HTMLArea.is_ie) { 
     114                var sel = editor._getSelection(); 
     115                var range = editor._createRange(sel); 
     116                editor._doc.execCommand("insertimage", false, param.f_url); 
    101117                                img = range.parentElement(); 
    102118                                // wonder if this works... 
    103                                 if (img.tagName.toLowerCase() != "img") 
    104                                 { 
     119                                if (img.tagName.toLowerCase() != "img") { 
    105120                                        img = img.previousSibling; 
    106121                                } 
     122                                 
     123                        } else { 
     124                                img = document.createElement('img'); 
     125                img.src = param.f_url; 
     126                editor.insertNodeAtSelection(img); 
    107127                        } 
    108                         else 
    109                         { 
    110                                 img = range.startContainer.previousSibling; 
    111                         } 
    112                 } 
    113                 else 
    114                 {                        
     128                         
     129                } else { 
    115130                        img.src = param.f_url; 
    116131                } 
    117132                 
     
    137152 
    138153}; 
    139154 
    140  
    141  
    142  
    143155HTMLArea.prototype._linkFile = function(link) { 
    144156 
    145157        var editor = this; 
     
    163175                        compare = range.compareBoundaryPoints(range.START_TO_END, range); 
    164176                } 
    165177                if (compare == 0) { 
    166                         alert("Please select some text to link to."); 
     178                        alert(HTMLArea._lc("You must select some text before making a new link.", 'ExtendedFileManager')); 
    167179                        return; 
    168180                } 
    169181                outparam = { 
     
    182194 
    183195 
    184196        var manager = _editor_url + 'plugins/ExtendedFileManager/manager.php?mode=link'; 
     197    if(editor.config.ExtendedFileManager.backend_config != null) 
     198        { 
     199           manager += '&backend_config=' 
     200                   + encodeURIComponent(editor.config.ExtendedFileManager.backend_config); 
     201           manager += '&backend_config_hash=' 
     202                   + encodeURIComponent(editor.config.ExtendedFileManager.backend_config_hash); 
     203           manager += '&backend_config_secret_key_location=' 
     204                   + encodeURIComponent(editor.config.ExtendedFileManager.backend_config_secret_key_location); 
     205    } 
    185206 
    186207        Dialog(manager, function(param){ 
    187208                if (!param) 
     
    221242                editor.updateToolbar(); 
    222243        }, outparam); 
    223244 
    224 } 
    225  
     245} 
     246 No newline at end of file 
  • images.php

    Only in 11: ExtendedFileManager.tgz
    diff -u -r 10/images.php 11/images.php
    10 11  
    1 <? 
     1<?php 
    22/** 
    33 * ExtendedFileManager images.php file. Shows folders and files. 
    4  * Authors: Wei Zhuo, Afru 
     4 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    55 * Version: Updated on 08-01-2005 by Afru 
    6  * Package: ExtendedFileManager (EFM 1.0 beta) 
     6 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     7 * Package: ExtendedFileManager (EFM 1.1) 
    78 * http://www.afrusoft.com/htmlarea 
    89 */ 
     10 
    911        if(isset($_REQUEST['mode'])) $insertMode=$_REQUEST['mode']; 
    1012        if(!isset($insertMode)) $insertMode="image"; 
    1113 
     
    1416 
    1517//default path is / 
    1618$relative = '/'; 
    17 $manager = new ExtendedFileManager($IMConfig); 
     19$manager = new ExtendedFileManager($IMConfig, $insertMode); 
    1820 
    1921//process any file uploads 
    2022$uploadStatus=$manager->processUploads(); 
    2123 
    22 $manager->deleteFiles(); 
    23  
     24if ($manager->deleteFiles()) 
     25    $refreshFile = true; 
    2426 
    2527$refreshDir = false; 
    2628//process any directory functions 
     
    4749        $afruViewType=$_REQUEST['viewtype']; 
    4850} 
    4951if($afruViewType!="thumbview" && $afruViewType!="listview") 
    50 $afruViewType=$IMConfig['view_type']; 
    51  
    52  
    53  
    54 $manager = new ExtendedFileManager($IMConfig); 
    5552 
     53$afruViewType=$IMConfig['view_type']; 
    5654 
    5755//get the list of files and directories 
    5856$list = $manager->getFiles($relative); 
     
    6866{ 
    6967        global $relative, $afruViewType, $IMConfig, $insertMode; 
    7068 
     69    switch ($afruViewType) { 
     70        case 'listview': 
     71                $maxNameLength = 30; 
     72                ?> 
     73            <table class="listview"> 
     74            <thead> 
     75            <tr><th colspan="2">Name</th><th>Size</th><th>Image Size</th><th>Date Modified</th><th>&nbsp;</th></tr></thead> 
     76            <tbody> 
     77            <?php 
     78                // start of foreach for draw listview folders . 
     79                foreach($list[0] as $path => $dir) 
     80                { ?> 
     81                        <tr> 
     82                        <td><img src="<?php print $IMConfig['base_url'];?>icons/folder_small.gif" alt="" /></td> 
     83                        <th nowrap><a href="<?php print $IMConfig['backend_url']; ?>__function=images&amp;mode=<?php echo $insertMode;?>&amp;dir=<?php echo rawurlencode($path); ?>&amp;viewtype=<?php echo $afruViewType; ?>" onclick="updateDir('<?php echo $path; ?>')" title="<?php echo $dir['entry']; ?>"> 
     84                        <?php 
     85                        if(strlen($dir['entry'])>$maxNameLength) echo substr($dir['entry'],0,$maxNameLength)."..."; else echo $dir['entry']; 
     86                        ?> 
     87                        </a></th> 
     88                        <td colspan="2" nowrap>Folder</td> 
     89 
     90                        <td nowrap><?php echo date("d.m.y H:i",$dir['stat']['mtime']); ?></td> 
     91 
     92                        <td class="actions" nowrap> 
     93                                <a href="<?php print $IMConfig['backend_url']; ?>__function=images&amp;mode=<?php echo $insertMode;?>&amp;dir=<?php echo $relative; ?>&amp;deld=<?php echo rawurlencode($path); ?>&amp;viewtype=<?php echo $afruViewType; ?>" title="Trash" onclick="return confirmDeleteDir('<?php echo $dir['entry']; ?>', <?php echo $dir['count']; ?>);" style="border:0px;"><img src="<?php print $IMConfig['base_url'];?>img/edit_trash.gif" height="15" width="15" alt="Trash" border="0" /></a> 
     94                        </td> 
     95                        </tr> 
     96                  <?php 
     97                } // end of foreach for draw listview folders . 
     98 
     99                clearstatcache(); 
     100 
     101                // start of foreach for draw listview files . 
     102                foreach($list[1] as $entry => $file) 
     103                { 
     104                        ?> 
     105                <tr> 
     106                          <td><img src="<?php print $IMConfig['base_url']; if(is_file('icons/'.$file['ext'].'_small.gif')) echo "icons/".$file['ext']."_small.gif"; else echo $IMConfig['default_listicon']; ?>" alt="" /></td> 
     107                  <th><a href="#" class="thumb" style="cursor: pointer;" onclick="selectImage('<?php echo $file['relative'];?>', '<?php echo $entry; ?>', <?php echo $file['image'][0];?>, <?php echo $file['image'][1]; ?>);return false;" title="<?php echo $entry; ?> - <?php echo Files::formatSize($file['stat']['size']); ?>" <?php if ($insertMode == 'image') { ?> onmouseover="showPreview('<?php echo $file['relative'];?>')" onmouseout="showPreview(window.parent.document.getElementById('f_url').value)" <?php } ?> > 
     108                                <?php 
     109                                if(strlen($entry)>$maxNameLength) echo substr($entry,0,$maxNameLength)."..."; else echo $entry; 
     110                                ?> 
     111                  </a></th> 
     112                  <td><?php echo Files::formatSize($file['stat']['size']); ?></td> 
     113                  <td><?php if($file['image'][0] > 0){ echo $file['image'][0].'x'.$file['image'][1]; } ?></td> 
     114                          <td nowrap><?php echo date("d.m.y H:i",$file['stat']['mtime']); ?></td> 
     115                  <td class="actions"> 
     116                    <a href="<?php print $IMConfig['backend_url']; ?>__function=images&dir=<?php echo $relative; ?>&amp;delf=<?php echo rawurlencode($file['relative']);?>&amp;mode=<?php echo $insertMode;?>&amp;viewtype=<?php echo $afruViewType; ?>" title="Trash" onclick="return confirmDeleteFile('<?php echo $entry; ?>');"><img src="<?php print $IMConfig['base_url'];?>img/edit_trash.gif" height="15" width="15" alt="Trash" border="0" /></a> 
     117                                <?php if($IMConfig['img_library'] && $IMConfig['allow_edit_image'] && $file['image'][0] > 0) { ?> 
     118                    <a href="javascript:;" title="Edit" onclick="editImage('<?php echo rawurlencode($file['relative']);?>');"><img src="<?php print $IMConfig['base_url'];?>img/edit_pencil.gif" height="15" width="15" alt="Edit" border="0" /></a> 
     119                    <?php }  ?> 
     120                  </td> 
     121                </tr> 
     122                  <?php 
     123                }//end of foreach of draw listview files 
     124            ?> 
     125            </tbody> 
     126            </table> 
     127            <?php 
     128        break; 
     129        case 'thumbview': // thumbview is default 
     130        default: 
     131                $maxFileNameLength=10; 
     132                $maxFolderNameLength=13; 
     133                // start of foreach for draw thumbview folders. 
     134                foreach($list[0] as $path => $dir) 
     135                { ?> 
     136    <div class="dir_holder"> 
     137      <a class="dir" href="<?php print $IMConfig['backend_url'];?>__function=images&amp;mode=<?php echo $insertMode;?>&amp;dir=<?php echo rawurlencode($path); ?>&amp;viewtype=<?php echo $afruViewType; ?>" onclick="updateDir('<?php echo $path; ?>')" title="<?php echo $dir['entry']; ?>"><img src="<?php print $IMConfig['base_url'];?>img/folder.gif" height="80" width="80" alt="<?php echo $dir['entry']; ?>" /></a> 
     138 
     139      <div class="edit"> 
     140        <a href="<?php print $IMConfig['backend_url'];?>__function=images&amp;mode=<?php echo $insertMode;?>&amp;dir=<?php echo $relative; ?>&amp;deld=<?php echo rawurlencode($path); ?>&amp;viewtype=<?php echo $afruViewType; ?>" title="Trash" onclick="return confirmDeleteDir('<?php echo $dir['entry']; ?>', <?php echo $dir['count']; ?>);"><img src="<?php print $IMConfig['base_url'];?>img/edit_trash.gif" height="15" width="15" alt="Trash" /></a> 
     141        <?php if(strlen($dir['entry']) > $maxFolderNameLength) 
     142                echo substr($dir['entry'], 0, $maxFolderNameLength) . "..."; 
     143              else 
     144                echo $dir['entry']; ?> 
     145      </div> 
     146    </div> 
     147                  <?php 
     148                } // end of foreach for draw thumbview folders. 
     149 
     150 
     151                // start of foreach for draw thumbview files. 
     152                foreach($list[1] as $entry => $file) 
     153                { 
     154                        $afruimgdimensions=$manager->checkImageSize($file['relative']); 
     155                        ?> 
     156                <div class="thumb_holder" id="holder_<?php echo asc2hex($entry) ?>"> 
     157                  <a href="#" class="thumb" style="cursor: pointer;" onclick="selectImage('<?php echo $file['relative'];?>', '<?php echo $entry; ?>', <?php echo $file['image'][0];?>, <?php echo $file['image'][1]; ?>);return false;" title="<?php echo $entry; ?> - <?php echo Files::formatSize($file['stat']['size']); ?>"> 
     158                    <img src="<?php print $manager->getThumbnail($file['relative']); ?>" alt="<?php echo $entry; ?> - <?php echo Files::formatSize($file['stat']['size']); ?>" /> 
     159                  </a> 
     160                  <div class="edit"> 
     161                    <a href="<?php print $IMConfig['backend_url']; ?>__function=images&amp;mode=<?php echo $insertMode;?>&amp;dir=<?php echo $relative; ?>&amp;delf=<?php echo rawurlencode($file['relative']);?>&amp;viewtype=<?php echo $afruViewType; ?>" title="Trash" onclick="return confirmDeleteFile('<?php echo $entry; ?>');"><img src="<?php print $IMConfig['base_url'];?>img/edit_trash.gif" height="15" width="15" alt="Trash" /></a> 
     162 
     163                        <?php if($IMConfig['img_library'] && $IMConfig['allow_edit_image'] && $file['image'][0] > 0 ) 
     164                    { ?> 
     165                    <a href="javascript:;" title="Edit" onclick="editImage('<?php echo rawurlencode($file['relative']);?>');"><img src="<?php print $IMConfig['base_url'];?>img/edit_pencil.gif" height="15" width="15" alt="Edit" /></a> 
     166                        <?php $maxFileName2=$maxFileNameLength-3;} 
     167                        else $maxFileName2=$maxFileNameLength; ?> 
     168 
     169                        <?php 
     170                                if(strlen($entry)>$maxFileName2) echo strtolower(substr($entry,0,$maxFileName2))."..."; else echo $entry; 
     171                        ?> 
     172                  </div> 
     173                </div> 
     174                  <?php 
     175                }//end of foreach of draw thumbview files 
    71176 
    72         if($afruViewType!="thumbview" && $afruViewType!="listview") 
    73         $afruViewType="thumbview"; 
    74  
    75         if($afruViewType=="thumbview") 
    76         { 
    77  
    78                 $maxFileNameLength=10; 
    79                 $maxFolderNameLength=13; 
    80                 $numCols=5; 
    81                 $cnt=1; 
    82                 // start of foreach for draw thumbview folders. 
    83                 foreach($list[0] as $path => $dir)  
    84                 { ?> 
    85                         <td style="padding:6px;"><table cellpadding="0" cellspacing="0"><tr> 
    86                         <td class="block" style="<? echo 'width:'.$IMConfig['thumbnail_width'].'px; height:'.$IMConfig['thumbnail_height'].'px;'; 
    87                                 ?> cursor:pointer; padding:1px;"><a href="images.php?mode=<?echo $insertMode;?>&amp;dir=<? echo rawurlencode($path); ?>&amp;viewtype=<? echo $afruViewType; ?>" onclick="updateDir('<? echo $path; ?>')" title="<? echo $dir['entry']; ?>"><img src="img/folder.gif" alt="<? echo $dir['entry']; ?>" /></a> 
    88                         </td></tr><tr> 
    89                         <td class="edit" nowrap> 
    90                                 <a href="images.php?mode=<?echo $insertMode;?>&amp;dir=<? echo $relative; ?>&amp;deld=<? echo rawurlencode($path); ?>&amp;viewtype=<? echo $afruViewType; ?>" title="Trash" onclick="return confirmDeleteDir('<? echo $dir['entry']; ?>', <? echo $dir['count']; ?>);"><img src="img/edit_trash.gif" height="15" width="15" alt="Trash"/></a> 
    91  
    92                                 <? if(strlen($dir['entry'])>$maxFolderNameLength) echo substr($dir['entry'],0,$maxFolderNameLength)."..."; else echo $dir['entry']; ?> 
    93  
    94  
    95                         </td> 
    96                         </tr></table></td> 
    97                   <?  
    98                         $cnt++; 
    99                         if($cnt%$numCols==1) echo "</tr><tr>"; 
    100                 } // end of foreach for draw thumbview folders. 
    101  
    102  
    103                 // start of foreach for draw thumbview files. 
    104                 foreach($list[1] as $entry => $file)  
    105                 {  
    106                         $afruimgdimensions=$manager->checkImageSize($file['relative']); 
    107                         ?> 
    108                         <td style="padding:6px;"><table cellpadding="0" cellspacing="0"> 
    109                                 <tr><td class="block" style="<? echo 'width:'.$IMConfig['thumbnail_width'].'px; height:'.$IMConfig['thumbnail_height'].'px;'; 
    110                                 ?> cursor:pointer; padding:1px;" onclick="selectImage('<? echo $file['relative'];?>', '<? echo $entry; ?>', <? echo $file['image'][0];?>, <? echo $file['image'][1]; ?>);" title="<? echo $entry; ?> - <? echo Files::formatSize($file['stat']['size']); ?>"> 
    111                                 <img src="<? echo $manager->getThumbnail($file['relative']); ?>" alt="<? echo $entry; ?> - <? echo Files::formatSize($file['stat']['size']); ?>" <? if($afruimgdimensions[0]) echo 'width="'.$afruimgdimensions[0].'"'; ?> <? if($afruimgdimensions[1]) echo 'height="'.$afruimgdimensions[1].'"'; ?> /> 
    112                                 </td></tr> 
    113                                  
    114                                 <tr><td class="edit" nowrap> 
    115                                 <a href="images.php?mode=<?echo $insertMode;?>&amp;dir=<? echo $relative; ?>&amp;delf=<? echo rawurlencode($file['relative']);?>&amp;viewtype=<? echo $afruViewType; ?>" title="Trash" onclick="return confirmDeleteFile('<? echo $entry; ?>');"><img src="img/edit_trash.gif" height="15" width="15" alt="Trash"/></a> 
    116  
    117                                 <? if($IMConfig['img_library'] && $IMConfig['allow_edit_image']) 
    118                                 { ?> <a href="javascript:;" title="Edit" onclick="editImage('<? echo rawurlencode($file['relative']);?>');"><img src="img/edit_pencil.gif" height="15" width="15" alt="Edit"/></a> 
    119                                 <?$maxFileName2=$maxFileNameLength-3;} 
    120                                 else $maxFileName2=$maxFileNameLength; ?> 
    121  
    122  
    123                                 <?  
    124                                         if(strlen($entry)>$maxFileName2) echo strtolower(substr($entry,0,$maxFileName2))."..."; else echo $entry; 
    125                                 ?> 
    126  
    127                                 </td></tr></table> 
    128                         </td>  
    129                   <?  
    130                         $cnt++; 
    131                         if($cnt%$numCols==1) echo "</tr><tr>"; 
    132                 }//end of foreach of draw thumbview files 
    133                 $cnt--; 
    134  
    135                 //Calculate empty colums at the end of display and add them as empty <TD></TD>. 
    136                 $emptyTDs=($numCols-($cnt%$numCols)); 
    137                 for($i=0;$i<$emptyTDs;$i++) echo"<td></td>"; 
    138         }//end of thumbview 
    139  
    140  
    141         else if($afruViewType=="listview") 
    142         {  
    143                 $maxNameLength=50; 
    144                 ?> 
    145                  
    146                 <td class="lsviewheader">&nbsp;</td><td class="lsviewheader" width="100%">Name</td> <td class="lsviewheader">Size</td><td class="lsviewheader" nowrap>Date Modified</td> 
    147                 <td class="lsviewheader">&nbsp;</td> 
    148                 </tr> 
    149                 <?       
    150                 // start of foreach for draw listview folders . 
    151                 foreach($list[0] as $path => $dir)  
    152                 { ?> 
    153                         <tr> 
    154                         <td class="lsviewpanel"><img src="icons/folder_small.gif"></td> 
    155  
    156                         <td class="lsviewpanel" nowrap><a href="images.php?mode=<?echo $insertMode;?>&amp;dir=<? echo rawurlencode($path); ?>&amp;viewtype=<? echo $afruViewType; ?>" onclick="updateDir('<? echo $path; ?>')" title="<? echo $dir['entry']; ?>"> 
    157                         <?  
    158                         if(strlen($dir['entry'])>$maxNameLength) echo substr($dir['entry'],0,$maxNameLength)."..."; else echo $dir['entry']; 
    159                         ?> 
    160                         </a></td> 
    161  
    162                         <td class="lsviewpanel" nowrap style="padding-right:20px;">Folder</td> 
    163  
    164                         <td class="lsviewpanel" nowrap style="padding-right:20px;"><? echo date("d.m.y H:i",$dir['stat']['mtime']); ?></td> 
    165  
    166                         <td class="edit" nowrap style="padding-right:20px;"> 
    167                                 <a href="images.php?mode=<?echo $insertMode;?>&amp;dir=<? echo $relative; ?>&amp;deld=<? echo rawurlencode($path); ?>&amp;viewtype=<? echo $afruViewType; ?>" title="Trash" onclick="return confirmDeleteDir('<? echo $dir['entry']; ?>', <? echo $dir['count']; ?>);" style="border:0px;"><img src="img/edit_trash.gif" height="15" width="15" alt="Trash" border="0"/></a> 
    168                         </td> 
    169                         </tr> 
    170                   <?  
    171                 } // end of foreach for draw listview folders . 
    172  
    173                 clearstatcache(); 
    174                 // start of foreach for draw listview files . 
    175                 foreach($list[1] as $entry => $file)  
    176                 {  
    177                         ?> 
    178                         <tr> 
    179                         <td class="lsviewpanel"><img src="<? if(is_file('icons/'.$file['ext'].'_small.gif')) echo "icons/".$file['ext']."_small.gif"; else echo $IMConfig['default_listicon']; ?>"></td> 
    180                          
    181                         <td class="lsviewpanel" nowrap> <a href="#" onclick="return selectImage('<? echo $file['relative'];?>', '<? echo $entry; ?>', <? echo $file['image'][0];?>, <? echo $file['image'][1]; ?>);"  title="<? echo $entry; ?>" > 
    182                         <?  
    183                         if(strlen($entry)>$maxNameLength) echo substr($entry,0,$maxNameLength)."..."; else echo $entry; 
    184                         ?> 
    185                         </a></td> 
    186  
    187                         <td class="lsviewpanel" nowrap style="padding-right:20px;"><? echo Files::formatSize($file['stat']['size']); ?></td> 
    188  
    189                         <td class="lsviewpanel" nowrap style="padding-right:20px;"><? echo date("d.m.y H:i",$file['stat']['mtime']); ?></td> 
    190  
    191                         <td class="edit" nowrap style="padding-right:20px;"><a href="images.php?mode=<?echo $insertMode;?>&amp;dir=<? echo $relative; ?>&amp;delf=<? echo rawurlencode($file['relative']);?>&amp;viewtype=<? echo $afruViewType; ?>" title="Trash" onclick="return confirmDeleteFile('<? echo $entry; ?>');"><img src="img/edit_trash.gif" height="15" width="15" alt="Trash" border=0/></a> 
    192  
    193                         <? if($IMConfig['img_library'] && $IMConfig['allow_edit_image']) 
    194                         { ?> <a href="javascript:;" title="Edit" onclick="editImage('<? echo rawurlencode($file['relative']);?>');"><img src="img/edit_pencil.gif" height="15" width="15" alt="Edit"/ border=0></a> <? }?> 
    195                         </td> 
    196                         </tr> 
    197  
    198                   <?  
    199                 }//end of foreach of draw listview files  
    200  
    201  
    202  
    203         }// end of listview 
    204  
     177    } 
    205178}//end of function drawDirs_Files 
    206179 
    207180 
     
    211184function drawNoResults()  
    212185{ 
    213186?> 
    214 <table width="100%"> 
    215   <tr> 
    216     <td class="noResult">No Files Found</td> 
    217   </tr> 
    218 </table> 
    219 <?       
     187<div class="noResult">No Files Found</div> 
     188<?php 
    220189} 
    221190 
    222191/** 
     
    225194function drawErrorBase(&$manager)  
    226195{ 
    227196?> 
    228 <table width="100%"> 
    229   <tr> 
    230     <td class="error">Invalid base directory: <? echo $manager->config['base_dir']; ?></td> 
    231   </tr> 
    232 </table> 
    233 <?       
     197<div class="error"><span>Invalid base directory:</span> <?php echo $manager->config['images_dir']; ?></div> 
     198<?php 
    234199} 
    235200 
    236 ?> 
    237 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     201/** 
     202 * Utility to convert ascii string to hex 
     203 */ 
     204function asc2hex ($temp) 
     205{ 
     206  $data = ''; 
     207  $len = strlen($temp); 
     208  for ($i=0; $i<$len; $i++) $data.=sprintf("%02x",ord(substr($temp,$i,1))); 
     209  return $data; 
     210} 
    238211 
     212?> 
    239213<html> 
    240214<head> 
    241215        <title>File List</title> 
    242216  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    243         <link href="assets/imagelist.css" rel="stylesheet" type="text/css" /> 
    244 <script type="text/javascript" src="assets/dialog.js"></script> 
     217        <link href="<?php print $IMConfig['base_url'];?>assets/imagelist.css" rel="stylesheet" type="text/css" /> 
     218<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/dialog.js"></script> 
    245219<script type="text/javascript"> 
    246220/*<![CDATA[*/ 
    247221 
     222    var _backend_url = "<?php print $IMConfig['backend_url']; ?>"; 
     223 
    248224        if(window.top) 
    249                 I18N = window.top.I18N; 
     225                HTMLArea = window.top.HTMLArea; 
    250226 
    251227        function hideMessage() 
    252228        { 
     
    258234 
    259235        init = function() 
    260236        { 
     237        __dlg_translate('ExtendedFileManager'); 
     238         
    261239                hideMessage(); 
    262240 
    263                 <? 
     241                <?php 
    264242                if(isset($uploadStatus) && !is_numeric($uploadStatus) && !is_bool($uploadStatus)) 
    265243                echo 'alert("'.$uploadStatus.'");'; 
    266244                else if(isset($uploadStatus) && $uploadStatus==false) 
    267                 echo 'alert("Unable to upload File. \nEither Maximum file size ['.$IMConfig['max_filesize_kb'].'Kb] exceeded or\nFolder doesn\'t have write permission.");'; 
     245                echo 'alert("Unable to upload File. \nEither Maximum file size ['.($insertMode == 'image' ? $IMConfig['max_filesize_kb_image'] : $IMConfig['max_filesize_kb_link'] ).'Kb] exceeded or\nFolder doesn\'t have write permission.");'; 
    268246                ?> 
    269247                 
    270248 
    271249                var topDoc = window.top.document; 
    272250 
    273 <?  
     251<?php 
    274252        //we need to refesh the drop directory list 
    275253        //save the current dir, delete all select options 
    276254        //add the new list, re-select the saved dir. 
     
    284262                while(selection.length > 0) 
    285263                {       selection.remove(0); } 
    286264                 
    287                 selection.options[selection.length] = new Option("/","<? echo rawurlencode('/'); ?>");   
    288                 <? foreach($dirs as $relative=>$fullpath) { ?> 
    289                 selection.options[selection.length] = new Option("<? echo $relative; ?>","<? echo rawurlencode($relative); ?>");                 
    290                 <? } ?> 
     265                selection.options[selection.length] = new Option("/","<?php echo rawurlencode('/'); ?>"); 
     266                <?php foreach($dirs as $relative=>$fullpath) { ?> 
     267                selection.options[selection.length] = new Option("<?php echo $relative; ?>","<?php echo rawurlencode($relative); ?>"); 
     268                <?php } ?> 
    291269                 
    292270                for(var i = 0; i < selection.length; i++) 
    293271                { 
     
    298276                                break; 
    299277                        } 
    300278                }                
    301 <? } ?> 
    302         }        
    303  
     279<?php } ?> 
     280        } 
     281     
    304282        function editImage(image)  
    305283        { 
    306                 var url = "editor.php?img="+image; 
    307                 Dialog(url, function(param)  
     284                var url = "<?php print $IMConfig['backend_url']; ?>__function=editor&img="+image; 
     285        Dialog(url, function(param) 
    308286                { 
    309                         if (!param) // user must have pressed Cancel 
     287                        if (!param) { // user must have pressed Cancel 
    310288                                return false; 
    311                         else 
     289                        } else 
    312290                        { 
    313291                                return true; 
    314292                        } 
    315                 }, null);                
     293                }, null); 
    316294        } 
    317295 
    318296/*]]>*/ 
    319297</script> 
    320 <script type="text/javascript" src="assets/images.js"></script> 
    321  
    322 <SCRIPT LANGUAGE="JavaScript"> 
     298<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/images.js"></script> 
     299<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/popup.js"></script> 
     300<script type="text/javascript"> 
    323301<!-- 
    324 if(window.top.document.getElementById('manager_mode').value=="image") 
    325 emptyProperties(); 
    326 <? if(isset($diskInfo)) echo 'updateDiskMesg("'.$diskInfo.'");'; ?> 
     302// Koto: why emptying? commented out 
     303//if(window.top.document.getElementById('manager_mode').value=="image") 
     304//emptyProperties(); 
     305<?php if(isset($diskInfo)) echo 'updateDiskMesg("'.$diskInfo.'");'; ?> 
    327306//--> 
    328 </SCRIPT> 
     307</script> 
    329308 
    330309</head> 
    331310 
    332 <body wrap="off"> 
    333 <? if ($manager->isValidBase() == false) { drawErrorBase($manager); }  
     311<body> 
     312<?php if ($manager->isValidBase() == false) { drawErrorBase($manager); } 
    334313        elseif(count($list[0]) > 0 || count($list[1]) > 0) { ?> 
    335  
    336  
    337  
    338  
    339 <TABLE border=0 cellpadding=0 cellspacing=0> 
    340         <tr> 
    341         <? drawDirs_Files($list, $manager); ?> 
    342         </tr> 
    343 </table> 
    344 <? } else { drawNoResults(); } ?> 
     314        <?php drawDirs_Files($list, $manager); ?> 
     315<?php } else { drawNoResults(); } ?> 
    345316</body> 
    346317</html> 
  • manager.php

    Only in 10/img: Thumbs.db
    Only in 10/lang: en.js
    Only in 11/lang: pl.js
    diff -u -r 10/manager.php 11/manager.php
    10 11  
    1 <? 
     1<?php 
    22/** 
    33 * The main GUI for the ExtendedFileManager. 
    4  * Authors: Wei Zhuo, Afru 
     4 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    55 * Version: Updated on 08-01-2005 by Afru 
    6  * Package: ExtendedFileManager (EFM 1.0 beta) 
     6 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     7 * Package: ExtendedFileManager (EFM 1.1) 
    78 * http://www.afrusoft.com/htmlarea 
    89 */ 
    910 
     
    1819 
    1920?> 
    2021<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    21  
    2222<html> 
    2323<head> 
    2424        <title>Insert File</title> 
    2525  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    26  <link href="assets/manager.css" rel="stylesheet" type="text/css" />     
    27 <script type="text/javascript" src="assets/popup.js"></script> 
    28 <script type="text/javascript" src="assets/dialog.js"></script> 
     26 <link href="<?php print $IMConfig['base_url'];?>assets/manager.css" rel="stylesheet" type="text/css" /> 
     27<script type="text/javascript" src="../../popups/popup.js"></script> 
     28<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/popup.js"></script> 
     29<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/dialog.js"></script> 
    2930<script type="text/javascript"> 
    30 /*<![CDATA[*/ 
    31         window.resizeTo(600, 460); 
     31/* <![CDATA[ */ 
    3232 
    3333        if(window.opener) 
    34                 I18N = window.opener.ExtendedFileManager.I18N; 
    35  
    36         var thumbdir = "<? echo $IMConfig['thumbnail_dir']; ?>"; 
    37         var base_url = "<? echo $manager->getBaseURL(); ?>"; 
    38          
    39         <? 
     34                HTMLArea = window.opener.HTMLArea; 
     35                 
     36        var thumbdir = "<?php echo $IMConfig['thumbnail_dir']; ?>"; 
     37        var base_url = "<?php echo $manager->getImagesURL(); ?>"; 
     38    var _backend_url = "<?php print $IMConfig['backend_url']; ?>"; 
     39    var _resized_prefix = "<?php echo $IMConfig['resized_prefix']; ?>"; 
     40        var _resized_dir = "<?php echo $IMConfig['resized_dir']; ?>"; 
     41        <?php 
    4042        if(isset($_REQUEST['mode'])) 
    4143        { 
    4244                echo 'var manager_mode="'.$_REQUEST['mode'].'";'; 
     
    4648                echo 'var manager_mode="image";'; 
    4749        } 
    4850        ?> 
    49 /*]]>*/ 
     51         
     52/* ]]> */ 
    5053</script> 
    51 <script type="text/javascript" src="assets/manager.js"></script> 
     54<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/manager.js"></script> 
    5255</head> 
    5356<body> 
    5457<div class="title">File Manager</div> 
    55 <form action="images.php?mode=<?echo $insertMode;?>" id="uploadForm" method="post" enctype="multipart/form-data"> 
     58<form action="<?php print $IMConfig['backend_url']; ?>" id="uploadForm" method="post" enctype="multipart/form-data"> 
     59<input type="hidden" name="__plugin" value="ExtendedFileManager" /> 
     60<input type="hidden" name="__function" value="images" /> 
     61<input type="hidden" name="mode" value="<?php echo $insertMode; ?>" /> 
     62<input type="hidden" id="manager_mode" value="<?php echo $insertMode;?>" /> 
    5663<fieldset><legend>File Manager</legend> 
    57  
    58  
    59 <TABLE border=0 cellpadding=0 cellspacing=0> 
    60 <TR> 
    61 <TD nowrap style="padding:10px;"> 
     64<table border="0" cellpadding="0" cellspacing="0" width="100%"> 
     65<tr> 
     66<td nowrap style="padding:10px;"> 
    6267 
    6368        <label for="dirPath">Directory</label> 
    6469        <select name="dir" class="dirWidth" id="dirPath" onchange="updateDir(this)"> 
    6570        <option value="/">/</option> 
    66 <? foreach($dirs as $relative=>$fullpath) { ?> 
    67                 <option value="<? echo rawurlencode($relative); ?>"><? echo $relative; ?></option> 
    68 <? } ?> 
     71<?php foreach($dirs as $relative=>$fullpath) { ?> 
     72                <option value="<?php echo rawurlencode($relative); ?>"><?php echo $relative; ?></option> 
     73<?php } ?> 
    6974        </select> 
    7075 
    71         <a href="#" onclick="javascript: goUpDir();" title="Directory Up"><img src="img/btnFolderUp.gif" height="15" width="15" alt="Directory Up" /></a> 
     76        <a href="#" onclick="javascript: goUpDir();" title="Directory Up"><img src="<?php print $IMConfig['base_url'];?>img/btnFolderUp.gif" height="15" width="15" alt="Directory Up" /></a> 
    7277 
    7378 
    74 <? if($IMConfig['safe_mode'] == false && $IMConfig['allow_new_dir']) { ?> 
    75         <a href="#" onclick="newFolder();" title="New Folder"><img src="img/btnFolderNew.gif" height="15" width="15" alt="New Folder" /></a> 
    76 <? } ?> 
     79<?php if($IMConfig['safe_mode'] == false && $IMConfig['allow_new_dir']) { ?> 
     80        <a href="#" onclick="newFolder();" title="New Folder"><img src="<?php print $IMConfig['base_url'];?>img/btnFolderNew.gif" height="15" width="15" alt="New Folder" /></a> 
     81<?php } ?> 
    7782 
    7883        <select name="viewtype" id="viewtype" onChange="updateView()"> 
    79         <option value="thumbview" <? if($IMConfig['view_type']=="thumbview") echo "selected";?> >Thumbnail View</option> 
    80         <option value="listview" <? if($IMConfig['view_type']=="listview") echo "selected";?> >List View</option> 
     84        <option value="thumbview" <?php if($IMConfig['view_type']=="thumbview") echo "selected";?> >Thumbnail View</option> 
     85        <option value="listview" <?php if($IMConfig['view_type']=="listview") echo "selected";?> >List View</option> 
    8186        </select> 
    82  
    83  
    84 </TD> 
    85 </TR> 
    86  
    87 <TR><TD style="padding:10px; padding-top:0px;"> 
    88  
    89         <div id="messages" style="display: none;"><span id="message"></span><img SRC="img/dots.gif" width="22" height="12" alt="..." /></div> 
    90         <iframe src="images.php?mode=<?echo $insertMode;?>" name="imgManager" id="imgManager" class="imageFrame" scrolling="auto" title="Image Selection" frameborder="0"></iframe> 
    91  
    92 </TD></TR> 
    93  
    94 </TABLE> 
     87</td> 
     88</tr> 
     89<tr><td style="padding:10px; padding-top:0px;"> 
     90        <div id="messages" style="display: none;"><span id="message"></span><img src="<?php print $IMConfig['base_url'];?>img/dots.gif" width="22" height="12" alt="..." /></div> 
     91        <iframe src="<?php print $IMConfig['backend_url']; ?>__function=images&amp;mode=<?php echo $insertMode;?>&amp;viewtype=<?php echo $IMConfig['view_type'] ?>" name="imgManager" id="imgManager" class="imageFrame" scrolling="auto" title="Image Selection" frameborder="0"></iframe> 
     92</td></tr> 
     93</table> 
    9594</fieldset> 
     95<!-- temp --> 
     96<!-- /temp --> 
    9697<!-- image properties --> 
    9798        <table class="inputTable"> 
    9899                <tr> 
    99                         <td align="right" nowrap><label for="f_url"><?if($insertMode=='image') echo 'File Name'; else echo 'URL';?></label></td> 
    100                         <td><input type="text" id="<?if($insertMode=='image') echo 'f_url'; else echo 'f_href';?>" class="largelWidth" value="" /></td> 
    101                         <td rowspan="3" align="right"><input type="hidden" id="manager_mode" value="<?echo $insertMode;?>">&nbsp;</td> 
    102  
    103                         <td align="right"><? if($insertMode=='image') { ?> <label for="f_width">Width</label><?}?></td> 
    104  
    105                         <td><? if($insertMode=='image') { ?> <input type="text" id="f_width" class="smallWidth" value="" onchange="javascript:checkConstrains('width');"/><?} else echo "&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp";?></td> 
    106  
    107                         <td rowspan="2" align="right"><? if($insertMode=='image') { ?><img src="img/locked.gif" id="imgLock" width="25" height="32" alt="Constrained Proportions" /><?}?></td> 
    108  
    109                         <td rowspan="3" align="right">&nbsp;</td> 
    110  
    111                         <td align="right"><? if($insertMode=='image') { ?><label for="f_vert">V Space</label><?}?></td> 
    112  
    113                         <td><?if($insertMode=='image') { ?><input type="text" id="f_vert" class="smallWidth" value="" /><?} else if($insertMode=="link") {?><label for="f_align">Target Window</label><?}?></td> 
    114                 </tr>            
    115                 <tr> 
    116                         <td align="right"><label for="f_alt"><?if($insertMode=='image') echo 'Alt'; else echo 'Title (tooltip)';?></label></td> 
    117                         <td><input type="text" id="<?if($insertMode=='image') echo 'f_alt'; else echo 'f_title';?>" class="largelWidth" value="" /></td> 
    118  
    119                         <td align="right"><?if($insertMode=='image') { ?><label for="f_height">Height</label><?}?></td> 
    120  
    121                         <td><?if($insertMode=='image') { ?><input type="text" id="f_height" class="smallWidth" value="" onchange="javascript:checkConstrains('height');"/><?}?></td> 
    122  
    123                         <td align="right"><?if($insertMode=='image') { ?><label for="f_horiz">H Space</label><?}?></td> 
    124  
    125                         <td><?if($insertMode=='image') { ?><input type="text" id="f_horiz" class="smallWidth" value="" /><?}else if($insertMode=='link') { ?> 
     100                        <td align="right" nowrap><label for="f_url"><?php if($insertMode=='image') echo 'File Name'; else echo 'URL';?></label></td> 
     101                        <td colspan="5"><input type="text" id="<?php if($insertMode=='image') echo 'f_url'; else echo 'f_href';?>" class="largelWidth" value="" /></td> 
     102            <td rowspan="7" valign="top"><?php if($insertMode=='image') { ?> 
     103            <div style="padding:4px;background-color:#CCC;border:1px inset;width: 100px; height: 100px;"> 
     104            <img src="" id="f_preview" /> 
     105            </div> 
     106            <?php } else if($insertMode=="link") {?><label for="f_align">Target Window</label> 
    126107                        <select id="f_target" style="width:125px;"> 
    127108                          <option value="">None (use implicit)</option> 
    128109                          <option value="_blank">New window (_blank)</option> 
    129110                          <option value="_self">Same frame (_self)</option> 
    130111                      <option value="_top">Top frame (_top)</option> 
    131                     </select> 
    132                         <?}?></td> 
     112                    </select><br /><br /> 
     113<input type="text" name="f_other_target" id="f_other_target" style="visibility:hidden; width:120px;" /> 
     114            <?php } ?></td> 
    133115                </tr> 
    134116                <tr> 
    135 <? 
    136 if(Files::dirSize($manager->getBaseDir())>($IMConfig['max_foldersize_mb']*1048576)) 
     117                        <td align="right"><label for="f_alt"><?php if($insertMode=='image') echo 'Alt'; else echo 'Title (tooltip)';?></label></td> 
     118                        <td colspan="5"><input type="text" id="<?php if($insertMode=='image') echo 'f_alt'; else echo 'f_title';?>" class="largelWidth" value="" /></td> 
     119                </tr> 
     120                <tr> 
     121<?php 
     122if (!empty($IMConfig['max_foldersize_mb']) && Files::dirSize($manager->getImagesDir()) > ($IMConfig['max_foldersize_mb']*1048576)) 
    137123{ ?> 
    138         <td colspan="2" align="right">Maximum folder size limit reached. Upload disabled.</td> 
    139 <?} 
    140 else if($IMConfig['allow_upload'] == true) { ?> 
     124        <td colspan="6" align="right">Maximum folder size limit reached. Upload disabled.</td> 
     125<?php } 
     126else if($IMConfig['allow_upload']) { ?> 
    141127                        <td align="right"><label for="upload">Upload</label></td> 
    142                         <td> 
     128                        <td colspan="5"> 
    143129                                <table cellpadding="0" cellspacing="0" border="0"> 
    144130                  <tr> 
    145                     <td><input type="hidden" name="MAX_FILE_SIZE" value="<? echo ($IMConfig['max_filesize_kb']*1024); ?>" /> 
    146 <input type="file" name="upload" id="upload"/></td> 
    147                     <td>&nbsp;<button type="submit" name="submit" onclick="doUpload();"/>Upload</button></td> 
     131                    <td><input type="hidden" name="MAX_FILE_SIZE" value="<?php echo (($insertMode == 'image' ? $IMConfig['max_filesize_kb_image'] : $IMConfig['max_filesize_kb_link'] )*1024); ?>" /> 
     132<input type="file" name="upload" id="upload" /></td> 
     133                    <td><button type="submit" name="submit" onclick="doUpload();">Upload</button></td> 
    148134                  </tr> 
    149135                </table> 
    150136                        </td> 
    151 <? } else { ?> 
    152                         <td colspan="2"></td> 
    153 <? } ?> 
    154                         <td align="right"><?if($insertMode=='image') { ?><label for="f_align">Align</label><?}?></td> 
     137<?php } else { ?> 
     138                        <td colspan="6"></td> 
     139<?php } ?> 
     140                </tr> 
     141                <tr> 
     142                 <td></td> 
     143                 <td colspan="5"> <span id="diskmesg"></span></td> 
     144      </tr> 
     145<tr> 
     146                        <td align="right"><?php if($insertMode=='image') { ?> <label for="f_width">Width</label><?php }?></td> 
     147 
     148                        <td><?php if($insertMode=='image') { ?> <input type="text" id="f_width" class="smallWidth" value="" onchange="javascript:checkConstrains('width');"/><?php } else echo "&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp";?></td> 
     149 
     150                        <td rowspan="2"><?php if($insertMode=='image') { ?><img src="<?php print $IMConfig['base_url'];?>img/locked.gif" id="imgLock" width="25" height="32" alt="Constrained Proportions" /> 
     151                                <input type="hidden" id="orginal_width" /> 
     152                                <input type="hidden" id="orginal_height" /> 
     153            <input type="checkbox" id="constrain_prop" checked="checked" onclick="javascript:toggleConstrains(this);" /><br /> 
     154            <label for="constrain_prop">Constrain Proportions</label><?php }?> 
     155            </td> 
     156 
     157                        <td rowspan="3" align="right"></td> 
     158 
     159                        <td align="right"><?php if($insertMode=='image') { ?><label for="f_vert">V Space</label><?php }?></td> 
    155160 
    156                         <td colspan="2"><?if($insertMode=='image') { ?> 
     161                        <td><?php if($insertMode=='image') { ?><input type="text" id="f_vert" class="smallWidth" value="" /><?php } ?></td> 
     162</tr> 
     163<tr> 
     164                        <td align="right"><?php if($insertMode=='image') { ?><label for="f_height">Height</label><?php }?></td> 
     165 
     166                        <td><?php if($insertMode=='image') { ?><input type="text" id="f_height" class="smallWidth" value="" onchange="javascript:checkConstrains('height');"/><?php }?></td> 
     167 
     168                        <td align="right"><?php if($insertMode=='image') { ?><label for="f_horiz">H Space</label><?php }?></td> 
     169 
     170                        <td><?php if($insertMode=='image') { ?><input type="text" id="f_horiz" class="smallWidth" value="" /> 
     171                        <?php }?></td> 
     172</tr> 
     173<tr> 
     174                        <td align="right"><?php if($insertMode=='image') { ?><label for="f_align">Align</label><?php }?></td> 
     175 
     176                        <td colspan="2"><?php if($insertMode=='image') { ?> 
    157177                                <select size="1" id="f_align"  title="Positioning of this image"> 
    158                                   <option value=""                             >Not Set</option> 
     178                                  <option value=""                             >Not set</option> 
    159179                                  <option value="left"                         >Left</option> 
    160180                                  <option value="right"                        >Right</option> 
    161181                                  <option value="texttop"                      >Texttop</option> 
     
    165185                                  <option value="bottom"                       >Bottom</option> 
    166186                                  <option value="middle"                       >Middle</option> 
    167187                                  <option value="top"                          >Top</option> 
    168                                 </select><?}?> 
     188                                </select><?php } ?> 
    169189                        </td> 
    170190 
    171                         <td align="right"><?if($insertMode=='image') { ?><label for="f_border">Border</label><?}?></td> 
    172                         <td><?if($insertMode=='image') { ?><input type="text" id="f_border" class="smallWidth" value="" /><?}else if($insertMode=='link') { ?><input type="text" name="f_other_target" id="f_other_target" style="visibility:hidden; width:120px;" /><?}?></td> 
    173                 </tr> 
    174                 <tr> 
    175                  <td></td> 
    176                  <td> <span id="diskmesg"></span><? 
    177 /*               
    178         */ 
     191                        <td align="right"><?php if($insertMode=='image') { ?><label for="f_border">Border</label><?php }?></td> 
     192                        <td><?php if($insertMode=='image') { ?><input type="text" id="f_border" class="smallWidth" value="" /><?php }?></td> 
     193 
     194</tr> 
     195</table> 
    179196 
    180                   ?></td> 
    181          <td colspan="2" align="right"><?if($insertMode=='image') { ?> 
    182                                 <input type="hidden" id="orginal_width" /> 
    183                                 <input type="hidden" id="orginal_height" /> 
    184             <input type="checkbox" id="constrain_prop" checked="checked" onclick="javascript:toggleConstrains(this);" /><?}?> 
    185           </td> 
    186           <td colspan="5"><?if($insertMode=='image') { ?><label for="constrain_prop">Constrain Proportions</label><?}?></td> 
    187       </tr> 
    188         </table> 
    189197<!--// image properties -->      
    190198        <div style="text-align: right;">  
    191199          <hr /> 
  • Readme.txt

    Only in 10: newFolder.html
    diff -u -r 10/Readme.txt 11/Readme.txt
    10 11  
    1 Package : Extended File Manager EFM 1.0 Beta 
     1Package : Extended File Manager EFM 1.1 
    22Plugin url : http://www.afrusoft.com/htmlarea 
     3Version 1.1 created from 1.0 beta by Krzysztof Kotowicz <koto@webworkers.pl> 
    34 
    45Overview : 
    56---------- 
     
    3839Installation : 
    3940-------------- 
    4041 
    41 Installing EFM is very easy to implement. Unzip htmlArea_EFM1_0b.zip and copy ExtendedFileManager fodler to plugins directory. 
     42Installing involves extracting the archive to 'plugins' subdirectory of Xinha 
     43and selecting the plugin in appropriate xinha_plugins list. 
    4244 
    43 To enable Insert Image Mode, just load the plugin into your HtmlArea. By default, if you just load the plugin without registering it, EFM will enable only Insert Image Mode. 
    44   
    45  HTMLArea.loadPlugin("ExtendedFileManager"); 
    46  HTMLArea.onload = function() { 
    47  var editor = new HTMLArea("textarea_id"); 
    48  editor.generate(); 
    49  }; 
    50  HTMLArea.init(); 
    51  
    52  
    53 To enable Insert File Link Mode, load the plugin as said above and also register the plugin as per the example below. 
    54  
    55  HTMLArea.loadPlugin("ExtendedFileManager"); 
    56  HTMLArea.onload = function() { 
    57  var editor = new HTMLArea("textarea_id"); 
    58  editor.registerPlugin(ExtendedFileManager);   //Enables Inser File Link Mode. 
    59  editor.generate(); 
    60  }; 
    61  HTMLArea.init(); 
    62  
    63  
    64 Note : If you enable Insert File Link Mode, Insert Image Mode will also be enabled automatically. 
    65  
    66  
    67 Open and edit config.inc.php file as per your needs. Thats all. 
    68  
    69 Have a nice day :) 
    70  
    71  
    72 Thanking you, 
    73  
    74 Afru. 
    75 afrusoft@gmail.com 
     45Plugin may be configured via xinha_config.ExtendedFileManager object. 
     46Look into ImageManager plugin documentation as this plugin uses almost identical 
     47settings.  
     48 
     49The plugin may share the same config array as ImageManager plugin - just specify 
     50the same storage location like this: 
     51 
     52// only snippets of code from initializing file shown below 
     53 
     54<?php 
     55 
     56    // define backend configuration for both plugins 
     57     
     58    $IMConfig = array(); 
     59    $IMConfig['images_dir'] = '<images dir>'; 
     60    $IMConfig['images_url'] = '<images url>'; 
     61    $IMConfig['thumbnail_prefix'] = 't_'; 
     62    $IMConfig['thumbnail_dir'] = 't'; 
     63    $IMConfig['resized_prefix'] = 'resized_'; 
     64    $IMConfig['resized_dir'] = ''; 
     65    $IMConfig['tmp_prefix'] = '_tmp'; 
     66    $IMConfig['max_filesize_kb_image'] = 2000; 
     67    // maximum size for uploading files in 'insert image' mode (2000 kB here) 
     68 
     69    $IMConfig['max_filesize_kb_link'] = 5000; 
     70    // maximum size for uploading files in 'insert link' mode (2000 kB here) 
     71 
     72    // Maximum upload folder size in Megabytes. 
     73    // Use 0 to disable limit 
     74 
     75    $IMConfig['max_foldersize_mb'] = 0; 
     76    $IMConfig['allowed_image_extensions'] = array("jpg","gif","png"); 
     77    $IMConfig['allowed_link_extensions'] = array("jpg","gif","pdf","ip","txt", 
     78                                                 "psd","png","html","swf", 
     79                                                 "xml","xls"); 
     80 
     81    $IMConfig = serialize($IMConfig); 
     82    if(!isset($_SESSION['Xinha:ImageManager'])) 
     83    { 
     84      $_SESSION['Xinha:ImageManager'] = uniqid('secret_code'); 
     85    } 
     86 
     87?> 
     88 
     89  xinha_plugins = xinha_plugins ? xinha_plugins : 
     90  [ 
     91   'ContextMenu', 
     92   'SuperClean', 
     93   'CharacterMap', 
     94   'GetHtml', 
     95   'ExtendedFileManager', 
     96   /*'ImageManager',*/  // replace image manager with EFM 
     97   'Linker' 
     98  ]; 
     99 
     100... 
     101 
     102// pass the configuration to plugins 
     103if (xinha_config.ImageManager) { 
     104    xinha_config.ImageManager.backend_config = '<?php echo jsaddslashes($IMConfig)?>'; 
     105    xinha_config.ImageManager.backend_config_hash = '<?php echo sha1($IMConfig . $_SESSION['Xinha:ImageManager'])?>'; 
     106} 
     107 
     108if (xinha_config.ExtendedFileManager) { 
     109    xinha_config.ExtendedFileManager.backend_config = '<?php echo jsaddslashes($IMConfig)?>'; 
     110    xinha_config.ExtendedFileManager.backend_config_hash = '<?php echo sha1($IMConfig . $_SESSION['Xinha:ImageManager'])?>'; 
     111} 
     112 
     113 
     114===== 
     115afrusoft@gmail.com - author of EFM 1.0 beta 
     116koto@webworkers.pl - EFM 1.1 (most of the code taken from Xinha codebase) 
     117 No newline at end of file 
  • thumbs.php

    Only in 11: resizer.php
    diff -u -r 10/thumbs.php 11/thumbs.php
    10 11  
    1 <? 
     1<?php 
    22/** 
    33 * On the fly Thumbnail generation. 
    44 * Creates thumbnails given by thumbs.php?img=/relative/path/to/image.jpg 
    55 * relative to the base_dir given in config.inc.php 
    6  * Authors: Wei Zhuo, Afru 
     6 * Authors: Wei Zhuo, Afru, Krzysztof Kotowicz 
    77 * Version: Updated on 08-01-2005 by Afru 
    8  * Package: ExtendedFileManager (EFM 1.0 beta) 
     8 * Version: Updated on 20-06-2006 by Krzysztof Kotowicz 
     9 * Package: ExtendedFileManager (EFM 1.1) 
    910 * http://www.afrusoft.com/htmlarea 
    1011 */ 
    1112 
    1213require_once('config.inc.php'); 
    1314require_once('Classes/ExtendedFileManager.php'); 
    14 require_once('Classes/Thumbnail.php'); 
     15require_once('../ImageManager/Classes/Thumbnail.php'); 
    1516 
    1617//check for img parameter in the url 
    1718if(!isset($_GET['img'])) 
     
    2223 
    2324//get the image and the full path to the image 
    2425$image = rawurldecode($_GET['img']); 
    25 $fullpath = Files::makeFile($manager->getBaseDir(),$image); 
     26$fullpath = Files::makeFile($manager->getImagesDir(),$image); 
    2627 
    2728//not a file, so exit 
    2829if(!is_file($fullpath))