; m@c@s%dklZdklZdklZdklZdkZdk Z dk l Z dk Z dklZdkZdefdYZd Zed Zd e fd YZd ZdklZddeeeedZdefdYZdZedZdZdZdS((sFolder(s SimpleItem(sPageTemplateFile(s PageTemplateN(sZopePageTemplate(s package_homesECHO_sqlElementcBstZdZdZdZdZeihdd<ddx||d iD]!} |i| d| d fqMWq*t||d d oL||d id j o||d i}d G|GHq||d i}n||d i}|i|t|i||d i||d fqqW|SdS(sErzeuge Navigations Elementsweightis/s.sself.aq_parents sortfieldsHELLsfieldissECHO_sqlElementslabels HAS LABELN(slistNavsstartshashstemps sortFieldsselfspathToHierarchystempObjsressubsevalsobjtempsobjsxsgetattrshasattrs sortfields tempSortedstitles meta_types getNavListszsappendslabels createPaths absolute_url( sselfshashsstarts sortFieldstempObjstempslabelsxslistNavsobjszsobjtemp((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pys barFromHashsR        # C sweightcCsg}dG|GHx`|iD]R}t||d|ot||d|}nd}|i||fqW|i t gi}|D]}||dq~SdS(NsSORTii( slssfieldshashskeyssxshasattrsgetattrsweightsappendssorts sortWeights_[1](sselfshashsfieldsweights_[1]slssx((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pys tempSorted\s   cCstid|d}|oBtidd|id}d|id|jodSq_nti|d|idodSndSd S( s test is path is already selecteds\?(.*)is s%20is?s QUERY_STRINGsURLN( sressearchsitemsfoundssubsgroupstempsselfsREQUEST(sselfsitemstempsfound((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pysisSelectedPathps s horizontalc Cs7|djod}d} d}d}nd}d} d}d }| o |}n&|}x|D]} || d }q`Wx|i |D]} || d i } t|i|| d i}|id |j|id |d jBo|| d| |}q|| d|| f|}qW||}|SdS(sGenerate Buttonss horizontals ss
s
sss
s
iisURLs /index_htmls[%s]s[%s]N(s orientationshtmlsstartTagsendTagsendHtmlsstartshashstempsxsselfs tempSortedskeystitles descriptions createPaths absolute_urlsurlsREQUEST( sselfshashsstarts orientationstempsendTagsurlsendHtmlshtmlskeysxsstartTags description((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pysbuttonsFromHashs2   #)  cCsId}dG|iGHy|i|id}Wn d}nX|SdS(sprint main navigation barssNAVBARiN(skeyssselfsgetIdsbuttonsFromHashs createNavHash(sselfskeys((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pys mainNavBars cCs5d}dG|iGH|i|id}|SdS(sprint main navigation barss NAVELEMENTiN(skeyssselfsgetIds barFromHashs createNavHash(sselfskeys((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pysmainNavElementss cCsp|id}|id}ti|id|}|i d}|dg}|i |d|}|SdS(sZweite OrdnungisURLss/sstartN(sselfs createNavHashshashsREQUESTs actual_urlsressubs absolute_urlsult_tempssplitssplittedsstarts barFromHashskeys(sselfsult_tempshashsstartskeysssplitteds actual_url((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pyssecondNavElementss  cCst|i|}|id}ti|id|}|i d}|d|d!}|i |d|}|SdS(s n-te OrdnungsURLss/iisstartN(sselfs createNavHashsordershashsREQUESTs actual_urlsressubs absolute_urlsult_tempssplitssplittedsstarts barFromHashskeys(sselfsordersult_tempshashsstartskeysssplitteds actual_url((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pys navElementss cCsv|id}|id}ti|id|}|i d}|dg}|i |d|dd}|SdS( sZweite OrdnungisURLss/sstarts orientationsverticalN(sselfs createNavHashshashsREQUESTs actual_urlsressubs absolute_urlsult_tempssplitssplittedsstartsbuttonsFromHashskeys(sselfsult_tempshashsstartskeysssplitteds actual_url((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pys secondNavBars  (s__name__s __module__s__doc__s meta_typesdisplayedMetaTypess__init__sFoldersmanage_optionssECHO_navigationConfigFormsNonesECHO_navigationConfigsgetCollss createNavHashs barFromHashs tempSortedsisSelectedPathsbuttonsFromHashs mainNavBarsmainNavElementsssecondNavElementss navElementss secondNavBar(((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pysECHO_navigations$  "  !B  '  cCs tdi|}|SdS(sForm for addings0Products/ECHO_content/zpt/AddECHO_navigation.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pysmanage_addECHO_navigationForm scCs>|i|t||||tj o|idndS(sAdd an ECHO_roots manage_mainN( sselfs _setObjectsidsECHO_navigationstitlespathToHierarchysRESPONSEsNonesredirect(sselfsidstitlespathToHierarchysRESPONSE((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pysmanage_addECHO_navigations cCsg|id}|id}x*|D]"}|d|jo |d=q%q%W|dti|dSdS(Ns/i(surl1ssplitstemp1surl2stemp2stestsstringsjoin(surl1surl2stemp2stemp1stest((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pys createPathscCst|d|dSdS(Ni(scmpsxsy(sxsy((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pys sortWeight$s(s OFS.FoldersFoldersOFS.SimpleItems SimpleItems'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplates PageTemplatesresstrings'Products.PageTemplates.ZopePageTemplatesZopePageTemplatesos.pathsossGlobalss package_homesurllibsECHO_sqlElementsmanage_addECHO_sqlElementFormsNonesmanage_addECHO_sqlElementsECHO_pageTemplatesmanage_addECHO_pageTemplateFormsquotesmanage_addECHO_pageTemplatesECHO_navigationsmanage_addECHO_navigationFormsmanage_addECHO_navigations createPaths sortWeight(s createPathsmanage_addECHO_navigationFormsZopePageTemplatesmanage_addECHO_sqlElementFormsFoldersECHO_navigationsECHO_pageTemplatesurllibs PageTemplatesresPageTemplateFilesmanage_addECHO_navigationsECHO_sqlElementsmanage_addECHO_pageTemplateFormsstringsmanage_addECHO_sqlElementsquotes SimpleItemsmanage_addECHO_pageTemplates sortWeightsoss package_home((sB/usr/local/zope_devel/lib/python/Products/ECHO_content/ECHO_Nav.pys?s,          S  0  '=