--- ECHO_content/ECHO_collection.py 2004/08/31 17:20:31 1.167 +++ ECHO_content/ECHO_collection.py 2004/09/27 19:55:08 1.170 @@ -2542,7 +2542,7 @@ class ECHO_collection(Folder, Persistent else: return "#dddddd" - def changeECHO_collection(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",viewClassification=None,location=None): + def changeECHO_collection(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",viewClassification=None,location=None,isAlwaysClickable=None): """Aenderung der Properties""" self.secondaryLink=secondaryLink @@ -2551,6 +2551,7 @@ class ECHO_collection(Folder, Persistent self.bgcolour=bgcolour self.viewClassification=viewClassification self.location=location + self.isAlwaysClickable=isAlwaysClickable if coords: coordsnew=[ string.split(x,",") for x in coords] @@ -2570,7 +2571,15 @@ class ECHO_collection(Folder, Persistent if RESPONSE is not None: RESPONSE.redirect('manage_main') + def setAlwaysClickable(self,flag="yes"): + """set clickable""" + if flag=="yes": + self.isAlwaysClickable="yes" + else: + self.isAlwaysClickable=None + return flag + def showOverview(self): """overview""" if 'ECHO_overview.html' in self.__dict__.keys(): @@ -3477,9 +3486,15 @@ class ECHO_root(Folder,Persistent,Implic for link in links: link.tagName="a" - ref=link.getAttribute("ref") + ref=link.getAttribute("ref") + pn=link.getAttribute("page") + if self.checkRef(ref): - link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) + if pn: + link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref+"&p="+pn) + else: + link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) + newxml=dom.toxml('utf-8') @@ -3493,18 +3508,23 @@ class ECHO_root(Folder,Persistent,Implic def xml2html(self,str,quote="yes"): """link2html fuer VLP muss hier noch raus""" #print str + if str: if quote=="yes2": str=re.sub("\&","&",str) dom=xml.dom.minidom.parseString(str) links=dom.getElementsByTagName("link") - for link in links: link.tagName="a" ref=link.getAttribute("ref") + pn=link.getAttribute("page") + if self.checkRef(ref): - link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) + if pn: + link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref+"&p="+pn) + else: + link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) str= dom.toxml() @@ -3515,7 +3535,7 @@ class ECHO_root(Folder,Persistent,Implic return "" def checkRef(self,ref): - dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':''} + dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':'','vl_sites':''} res=None for db in dbs.keys(): @@ -3655,11 +3675,22 @@ class ECHO_root(Folder,Persistent,Implic def getMetaDatasXML(self,viewerType=None,filter=None): """gebe all ressourcen aus""" + # check if the request's host part was OK + http_host = self.REQUEST['HTTP_HOST'] + host_port = self.REQUEST['SERVER_PORT'] + fix_host = None + if http_host and http_host.rfind(host_port) == -1: + print "HTTP_HOST needs fixing!" + fix_host = http_host + ":" + host_port + ret=""" """ for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1): echo_url=resource[1].absolute_url() + if fix_host: + #print "replacing ", http_host, " by ", fix_host + echo_url = string.replace(echo_url, http_host, fix_host, 1) if hasattr(resource[1],'link'): meta_url=echo_url+"/getMetaDataXML" @@ -3677,8 +3708,7 @@ class ECHO_root(Folder,Persistent,Implic ret +="""\n""" - - + self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml") self.REQUEST.RESPONSE.write(ret)