|
|
| version 1.40, 2004/08/28 01:06:03 | version 1.46, 2004/09/02 12:16:52 |
|---|---|
| Line 193 class ECHO_sqlElement(SimpleItem): | Line 193 class ECHO_sqlElement(SimpleItem): |
| meta_type="ECHO_sqlElement" | meta_type="ECHO_sqlElement" |
| baseUrl="" | baseUrl="" |
| def __init__(self,id,title,query,field,searchField,baseUrl,weight,contentType): | def __init__(self,id,title,query,field,searchField,baseUrl,weight,contentType): |
| """init""" | """init""" |
| self.id=id | self.id=id |
| Line 322 class ECHO_pageTemplate(ZopePageTemplate | Line 324 class ECHO_pageTemplate(ZopePageTemplate |
| pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateMain.zpt').__of__(self) | pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateMain.zpt').__of__(self) |
| return pt() | return pt() |
| def changeECHO_pageTemplateMain(self,weight,contentType,label,description,RESPONSE=None): | def changeECHO_pageTemplateMain(self,weight,contentType,label,description,RESPONSE=None,isAlwaysClickable=None): |
| """change""" | """change""" |
| self.weight=weight | self.weight=weight |
| self.contentType=contentType | self.contentType=contentType |
| self.label=label | self.label=label |
| self.description=description | self.description=description |
| self.isAlwaysClickable=isAlwaysClickable | |
| if RESPONSE is not None: | if RESPONSE is not None: |
| RESPONSE.redirect('manage_main') | RESPONSE.redirect('manage_main') |
| Line 415 class ECHO_navigation(Folder): | Line 418 class ECHO_navigation(Folder): |
| """Navigations Element""" | """Navigations Element""" |
| meta_type="ECHO_Navigation" | meta_type="ECHO_Navigation" |
| def ECHOFormatListStr(self,list,search="\n",replace="<br>"): | |
| """formatiert liste im str""" | |
| if list: | |
| return re.sub(search,replace,list) | |
| else: | |
| return | |
| def ECHO_cacheManageForm(self): | |
| """change form""" | |
| pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_cacheManageForm').__of__(self) | |
| pt.content_type="text/html" | |
| return pt() | |
| def ECHO_cacheManage(self,cacheManagerName=None,deleteCache=None, activateCache=None,RESPONSE=None): | |
| """cachemanager""" | |
| if cacheManagerName=="": chacheManagerName=None | |
| self.cacheManagerName=cacheManagerName | |
| self.setCache(managerName=cacheManagerName) | |
| if deleteCache: | |
| try: | |
| self.deleteCache() | |
| except: | |
| for roots in self.ZopeFind(self,obj_metatypes=['ECHO_root'],search_sub=1): | |
| roots[1].deleteCache() | |
| self.activateCache=activateCache | |
| if RESPONSE is not None: | |
| RESPONSE.redirect('manage_main') | |
| def setCache(self,obj=None,RESPONSE=None,managerName='CacheManager'): | |
| """setze alle collections auf cache = CacheManager""" | |
| if not obj: | |
| obj = self | |
| entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_collection'],search_sub=1) | |
| for entry in entries: | |
| #print entry[0] | |
| entry[1].ZCacheable_setManagerId(managerName) | |
| return "changed all CM in: "+self.title | |
| displayedMetaTypes=displayTypes | displayedMetaTypes=displayTypes |
| def getImageViewers(self): | def getImageViewers(self): |
| Line 434 class ECHO_navigation(Folder): | Line 486 class ECHO_navigation(Folder): |
| manage_options = Folder.manage_options+( | manage_options = Folder.manage_options+( |
| {'label':'Main Config','action':'ECHO_navigationConfigForm'}, | {'label':'Main Config','action':'ECHO_navigationConfigForm'}, |
| {'label':'Cache','action':'ECHO_cacheManageForm'}, | |
| ) | ) |
| def ECHO_navigationConfigForm(self): | def ECHO_navigationConfigForm(self): |
| Line 473 class ECHO_navigation(Folder): | Line 527 class ECHO_navigation(Folder): |
| objtemp=eval(temp) | objtemp=eval(temp) |
| nav={} | nav={} |
| #print getattr(self,'v_hash',None) | #check if cash is enabled and if already exists and if not empty |
| try: | if getattr(self,'_v_hash',None) and getattr(self,'activateCache',None) and self._v_hash.get(str(depth),None): |
| #print "cash",self.getId(),str(depth) | |
| return self._v_hash[str(depth)] | return self._v_hash[str(depth)] |
| except: | |
| """nothing""" | |
| #print "nocash",self.getId(),str(depth) | |
| # if not generate new hash | |
| obj=objtemp | obj=objtemp |
| for keys in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes): | for keys in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes): |
| x=keys[1] | x=keys[1] |
| if hasattr(x,"meta_type"): | |
| if x.meta_type in self.displayedMetaTypes: | |
| if depth>1: | if depth>1: |
| nav[x.getId()]=(self.getColls(x,int(depth)-1,checkOnly),x) | nav[x.getId()]=(self.getColls(x,int(depth)-1,checkOnly),x) |
| else: | else: |
| nav[x.getId()]=(None,x) | nav[x.getId()]=(None,x) |
| #store in cache if activated | |
| if getattr(self,'activateCache',None): | |
| #print nav | |
| try: | try: |
| self._v_hash[str(depth)]={} | self._v_hash[str(depth)]={} |
| except: | except: |
| Line 517 class ECHO_navigation(Folder): | Line 563 class ECHO_navigation(Folder): |
| if not start: | if not start: |
| temp=hash | temp=hash |
| sortField="weight" | sortField="weight" |
| else: # list mit pfad zum hash | else: # liste mit pfad zum hash |
| temp=hash | temp=hash |
| #print "HI",sortField | #print "HI",sortField |
| if not sortField: | if not sortField: |
| Line 601 class ECHO_navigation(Folder): | Line 647 class ECHO_navigation(Folder): |
| def isSelectedPath(self,item): | def isSelectedPath(self,item): |
| """test is path is already selected""" | """test is path is already selected""" |
| found=re.search("\?(.*)/",item[1]) | |
| testStr=re.sub("/index_html",'',self.REQUEST.get('URL','')) | |
| #falls exakte Übereinstimmung dann immer 1 | |
| if (testStr==item[1]) and (self.REQUEST.get('QUERY_STRING','')==''): | |
| return 1 | |
| found=re.search("\?(.*)",item[1]) | |
| if found: | if found: |
| temp=re.sub(" ","%20",found.group(0)) | temp=re.sub(" ","%20",found.group(0)) |
| #print temp+"::"+self.REQUEST['QUERY_STRING'] | #print temp+"::"+self.REQUEST['QUERY_STRING'] |
| if ("?"+self.REQUEST['QUERY_STRING'])==temp: | if ("?"+self.REQUEST['QUERY_STRING'])==temp: |
| if getattr(item[2],'isAlwaysClickable',None): #immer auswaehlbar? | |
| return 2 | |
| else: | |
| return 1 | |
| if (getattr(item[2],'meta_type','')=="ECHO_pageTemplate") and (re.search(item[1],self.REQUEST['URL'])): | |
| if getattr(item[2],'isAlwaysClickable',None): #immer auswaehlbar? | |
| return 2 | |
| else: | |
| return 1 | return 1 |
| if re.search(item[1]+"/",self.REQUEST['URL']): | if re.search(item[1]+"/",self.REQUEST['URL']): |
| if getattr(item[2],'isAlwaysClickable',None): #immer auswaehlbar? | |
| return 2 | |
| else: | |
| return 1 | return 1 |
| else: | else: |
| return 0 | return 0 |
| def buttonsFromHash(self,hash,start=None,orientation="horizontal"): | def buttonsFromHash(self,hash,start=None,orientation="horizontal"): |
| """Generate Buttons""" | """Generate Buttons""" |