Changeset 1728 for ZMS


Ignore:
Timestamp:
11.11.2011 13:55:23 (6 months ago)
Author:
fhoffmann
Message:

applied fix for ajax link browser (reported by DESY)

Location:
ZMS/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ZMS/trunk/ZMSGlobals.py

    r1702 r1728  
    13281328       
    13291329      # Get absolute filename. 
    1330       filename = _fileutil.absoluteOSPath(filename) 
     1330      filename = _fileutil.absoluteOSPath(path) 
    13311331       
    13321332      # Check permissions. 
  • ZMS/trunk/dtml/ZMSLinkElement/manage_browse_iframe.dtml

    r1502 r1728  
    203203 * 
    204204 */ 
    205 function clickElement(id,href)  
    206 { 
    207   var speed = "fast"; 
    208   var img = $("#"+id+"_img"); 
    209   var el = $("#"+id+"_children"); 
    210   if ( img.attr("title") == "-") { 
    211     img.attr( { src: "<dtml-var MISC_ZMS>pl.gif", title: "+"}); 
    212     el.hide( speed); 
    213   } 
    214   else  
    215   if ( img.attr("title") == "+") { 
    216     img.attr( { src: "<dtml-var MISC_ZMS>mi.gif", title: "-"}); 
    217     el.show( speed); 
    218     if ( !el.attr( 'class')) { 
    219       el.addClass( 'form-small'); 
    220       el.append( '<img src="<dtml-var MISC_ZMS>loading_16x16.gif" alt="<dtml-var "getZMILangStr('MSG_LOADING')">" title="<dtml-var "getZMILangStr('MSG_LOADING')">" border="0" align="absmiddle"/> '); 
    221       el.append( '<dtml-var "getZMILangStr('MSG_LOADING')"> '); 
    222       // Set wait-cursor. 
    223       $(document.body).css( "cursor", "wait"); 
    224       // JQuery.AJAX.get 
    225       $.get( href+"/ajaxGetChildNodes?id="+id+"&lang=<dtml-var lang>&preview=preview&get_restricted=True&http_referer="+escape(self.location.href), processResponse); 
    226     } 
    227   } 
     205function clickElement(id,href) { 
     206        var speed = "fast"; 
     207        var img = $("#"+id+"_img"); 
     208        var el = $("#"+id+"_children"); 
     209        if ( img.attr("title") == "-") { 
     210                img.attr( { src: "<dtml-var MISC_ZMS>pl.gif", title: "+"}); 
     211                el.hide( speed); 
     212        } 
     213        else if ( img.attr("title") == "+") { 
     214                img.attr( { src: "<dtml-var MISC_ZMS>mi.gif", title: "-"}); 
     215                el.show( speed); 
     216                if ( !el.attr( 'class')) { 
     217                        el.addClass( 'form-small'); 
     218                        el.append( '<img src="<dtml-var MISC_ZMS>loading_16x16.gif" alt="<dtml-var "getZMILangStr('MSG_LOADING')">" title="<dtml-var "getZMILangStr('MSG_LOADING')">" border="0" align="absmiddle"/> '); 
     219                        el.append( '<dtml-var "getZMILangStr('MSG_LOADING')"> '); 
     220                        // Set wait-cursor. 
     221                        $(document.body).css( "cursor", "wait"); 
     222                        // JQuery.AJAX.get 
     223                        $.get( href+"/ajaxGetChildNodes",{id:id,lang:getZMILang(),preview:'preview',get_restricted:'True',http_referer:escape(self.location.href)}, function(data){ 
     224                                        // Reset wait-cursor. 
     225                                        $(document.body).css( "cursor", "auto"); 
     226                                        // Get object-id. 
     227                                        var id = $("pages",data).attr("id").replace(/\./gi,"_").replace(/\-/gi,"_"); 
     228                                        // Get and clear html-element (div). 
     229                                        var $el = $("#"+id+"_children"); 
     230                                        var html = ''; 
     231                                        // Get and iterate pages. 
     232                                        var pages = $("pages",data).children("page"); 
     233                                        for (var i = 0; i < pages.length; i++) { 
     234                                                var page = pages[i]; 
     235                                                var page_id = $(page).attr("id").replace(/\./gi,"_").replace(/\-/gi,"_"); 
     236                                                var page_absolute_url = $(page).attr("absolute_url"); 
     237                                                var page_meta_id = $(page).attr("meta_id"); 
     238                                                var page_has_children = $(page).attr("has_children")=="True" || $(page).attr("has_children")=="1"; 
     239                                                var page_titlealt = $(page).attr("titlealt"); 
     240                                                var page_is_page = page.getAttribute("is_page")=="True" || page.getAttribute("is_page")=="1"; 
     241                                                var page_is_pageelement = page.getAttribute("is_pageelement")=="True" || page.getAttribute("is_pageelement")=="1"; 
     242                                                html += '<div id="div_'+page_id+'" class="form-small">'; 
     243                                                if ( page_has_children) { 
     244                                                        html += '<a href="javascript:clickElement(\''+page_id+'\',\''+page_absolute_url+'\')">'; 
     245                                                        html += '<img id="'+page_id+'_img" src="<dtml-var MISC_ZMS>pl.gif" border="0" align="absmiddle" title="+">'; 
     246                                                        html += '</a>'; 
     247                                                } 
     248                                                else { 
     249                                                        html += '<img src="<dtml-var spacer_gif>" width="16" height="16" border="0" align="absmiddle" title="">'; 
     250                                                } 
     251                                                var page_anchor = ""; 
     252                                                var page_index = ""; 
     253                                                if ( page_is_pageelement) { 
     254                                                        var page_file_filename = $("file>filename",page); 
     255                                                        if (page_file_filename.length) { 
     256                                                                page_anchor = "/" + page_file_filename.text(); 
     257                                                        } 
     258                                                        else { 
     259                                                                page_anchor = "#" + page_id.substring(page_id.indexOf("_")+1); 
     260                                                        } 
     261                                                } 
     262                                                html += '<input type="radio" class="form-radio" onclick="selectObject(\''+page_absolute_url+'\',\''+page_anchor+'\',\''+page_titlealt.replace(/"/g,'\\"').replace(/'/g,"\\'")+'\')">'; 
     263                                                if ( page_meta_id == "ZMSLinkElement") { 
     264                                                        html += '<img src="<dtml-var MISC_ZMS>ico_ref.gif" border="0" align="absmiddle" title="'+$(page).attr('display_type')+'" style="background:url('+$(page).attr('display_icon')+')">'; 
     265                                                } 
     266                                                else if ( page.getAttribute("restricted") == "True" || page.getAttribute("restricted") == "1") { 
     267                                                        html += '<img src="<dtml-var MISC_ZMS>restricted.gif" border="0" align="absmiddle" title="'+$(page).attr('display_type')+'" style="background:url('+$(page).attr('display_icon')+')">'; 
     268                                                } 
     269                                                else { 
     270                                                        html += '<img id="icon_'+page_id+'" src="'+$(page).attr("display_icon")+'" border="0" align="absmiddle" title="'+$(page).attr('display_type')+'" style="background:url('+$(page).attr('display_icon')+')">'; 
     271                                                } 
     272                                                if ( page_meta_id == "ZMSGraphic" || page_meta_id == "ZMSTextarea") { 
     273                                                        for (var j = 0; j < page.childNodes.length; j++) { 
     274                                                                var item = page.childNodes[j]; 
     275                                                                if ( item.nodeType == 1 && item.nodeName == "text" && item.firstChild) { 
     276                                                                        page_titlealt = search_quote(item.firstChild.data,25); 
     277                                                                } 
     278                                                        } 
     279                                                } 
     280                                                html += '<a href="'+page_absolute_url+'/manage_main" target="_blank" class="zmi">'+page_titlealt+'</a>'; 
     281                                                html += '</div>'; 
     282                                                html += '<div id="'+page_id+'_children" style="margin:4px 1px 1px 8px"></div>'; 
     283                                                $el.html(html); 
     284                                        } 
     285                        }); 
     286                } 
     287        } 
    228288} 
    229289 
    230  
    231 /** 
    232  * Process response. 
    233  */ 
    234 function processResponse(data)  
    235 { 
    236   // Reset wait-cursor. 
    237   $(document.body).css( "cursor", "auto"); 
    238   // Get object-id. 
    239   var id = $("pages",data).attr("id").replace(/\./,"_").replace(/\-/,"_"); 
    240   // Get and clear html-element (div). 
    241   var $el = $("#"+id+"_children"); 
    242   var html = ''; 
    243   // Get and iterate pages. 
    244   var pages = $("pages",data).children("page"); 
    245   for (var i = 0; i < pages.length; i++) { 
    246     var page = pages[i]; 
    247     var page_id = $(page).attr("id").replace(/\./,"_").replace(/\-/,"_"); 
    248     var page_absolute_url = $(page).attr("absolute_url"); 
    249     var page_meta_id = $(page).attr("meta_id"); 
    250     var page_has_children = $(page).attr("has_children")=="True" || $(page).attr("has_children")=="1"; 
    251     var page_titlealt = $(page).attr("titlealt"); 
    252     var page_is_page = page.getAttribute("is_page")=="True" || page.getAttribute("is_page")=="1"; 
    253     var page_is_pageelement = page.getAttribute("is_pageelement")=="True" || page.getAttribute("is_pageelement")=="1"; 
    254     html += '<div id="div_'+page_id+'" class="form-small">'; 
    255     if ( page_has_children) { 
    256       html += '<a href="javascript:clickElement(\''+page_id+'\',\''+page_absolute_url+'\')">'; 
    257       html += '<img id="'+page_id+'_img" src="<dtml-var MISC_ZMS>pl.gif" border="0" align="absmiddle" title="+">'; 
    258       html += '</a>'; 
    259     } 
    260     else { 
    261       html += '<img src="<dtml-var spacer_gif>" width="16" height="16" border="0" align="absmiddle" title="">'; 
    262     } 
    263     var page_anchor = ""; 
    264     var page_index = ""; 
    265     if ( page_is_pageelement) { 
    266       var page_file_filename = $("file>filename",page); 
    267       if (page_file_filename.length) { 
    268         page_anchor = "/" + page_file_filename.text(); 
    269       } 
    270       else { 
    271         page_anchor = "#" + page_id.substring(page_id.indexOf("_")+1); 
    272       } 
    273     } 
    274     html += '<input type="radio" class="form-radio" onclick="selectObject(\''+page_absolute_url+'\',\''+page_anchor+'\',\''+page_titlealt.replace(/"/g,'\\"').replace(/'/g,"\\'")+'\')">'; 
    275     var img = document.createElement( "img"); 
    276     if ( page_meta_id == "ZMSLinkElement") { 
    277       html += '<img src="<dtml-var MISC_ZMS>ico_ref.gif" border="0" align="absmiddle" title="'+$(page).attr('display_type')+'" style="background:url('+$(page).attr('display_icon')+')">'; 
    278     } 
    279     else if ( page.getAttribute("restricted") == "True" || page.getAttribute("restricted") == "1") { 
    280       html += '<img src="<dtml-var MISC_ZMS>restricted.gif" border="0" align="absmiddle" title="'+$(page).attr('display_type')+'" style="background:url('+$(page).attr('display_icon')+')">'; 
    281     } 
    282     else { 
    283       html += '<img id="icon_'+page_id+'" src="'+$(page).attr("display_icon")+'" border="0" align="absmiddle" title="'+$(page).attr('display_type')+'" style="background:url('+$(page).attr('display_icon')+')">'; 
    284     } 
    285     if ( page_meta_id == "ZMSGraphic" || page_meta_id == "ZMSTextarea") { 
    286       for (var j = 0; j < page.childNodes.length; j++) { 
    287         var item = page.childNodes[j]; 
    288         if ( item.nodeType == 1 && item.nodeName == "text" && item.firstChild) { 
    289           page_titlealt = search_quote(item.firstChild.data,25); 
    290         } 
    291       } 
    292     } 
    293     html += '<a href="'+page_absolute_url+'/manage_main" target="_blank" class="zmi">'+page_titlealt+'</a>'; 
    294     html += '</div>'; 
    295     html += '<div id="'+page_id+'_children" style="margin:4px 1px 1px 8px"></div>'; 
    296     $el.html(html); 
    297   } 
    298 } 
    299290 
    300291/** 
     
    304295 * @param extra 
    305296 */ 
    306 function followHref( href, extra)  
    307 { 
    308   href += '?lang=<dtml-var lang>'; 
    309   href += '&came_from=<dtml-var "REQUEST.form.get( 'came_from', getHome().absolute_url())">'; 
    310   href += '&this_path=<dtml-var "REQUEST.form.get( 'this_path', getSelf(PAGES).absolute_url())">'; 
    311   href += '&fmName=<dtml-var "REQUEST.get( 'fmName', '')" url_quote>'; 
    312   href += '&elName=<dtml-var "REQUEST.get( 'elName', '')" url_quote>'; 
    313   href += '&selectedText=<dtml-var "REQUEST.get( 'selectedText', '')" url_quote>'; 
    314   if ( extra) { 
    315     href += extra; 
    316   } 
    317   self.location.href = href; 
     297function followHref( href, extra) { 
     298        href += '?lang=<dtml-var lang>'; 
     299        href += '&came_from=<dtml-var "REQUEST.form.get( 'came_from', getHome().absolute_url())">'; 
     300        href += '&this_path=<dtml-var "REQUEST.form.get( 'this_path', getSelf(PAGES).absolute_url())">'; 
     301        href += '&fmName=<dtml-var "REQUEST.get( 'fmName', '')" url_quote>'; 
     302        href += '&elName=<dtml-var "REQUEST.get( 'elName', '')" url_quote>'; 
     303        href += '&selectedText=<dtml-var "REQUEST.get( 'selectedText', '')" url_quote>'; 
     304        if ( extra) { 
     305                href += extra; 
     306        } 
     307        self.location.href = href; 
    318308} 
    319309 
Note: See TracChangeset for help on using the changeset viewer.