m &Ec@sYdZdkZdkZdkZdklZlZlZdkl Z dk l Z dk l Z dklZdklZlZdklZd klZd klZd klZlZlZd klZlZl Z d kl!Z!dk"l#Z#dk$l%Z%dk&l'Z'dk(l)Z)dk(l*Z*dk+l,Z,dk-l.Z.l/Z/l0Z0ddgZ1ei2i3doe1i4dei2dndei5fdYZ6de e'eeeefdYZ7ee7e8e7de7i9e8e7de7i9e)de:d d!Z;d"d"de<e<e<d#Z=d$k>l?Z?ed%e:e?d&d?Z7eied@dAZ8eiedBdCZ9eiedDe9Z:eiedEdFZ;eiedGeedHZ<dIZ=eiedJdKZ>dLZ?e!hdMZ@dNZARS(Ps:Zope wrapper for Page Template using TAL, TALES, and METALs Page Templates iso-8859-15it name_subpathttraverse_subpathtwwws default.htmltlabeltEdittactiont pt_editFormthelpt PageTemplatessPageTemplate_Edit.stxtTesttZScriptHTML_tryFormtidttitlettypetustringtmodetwt content_typetstringtoutput_encodingtexpandtbooleanR treads text/htmlsutf-8cCse||_d|_|i|i||_|pt|ii }d}n|i ||dS(Nis text/html( R"RR+tZBindings_editt_default_bindingsR*ttexttopent_default_content_fnR-R(tpt_edit(RR"R0R(tstrictR*((Rt__init__ks    R3c CsB|i}t|t}d}d}|djo-|od}d}qt |}d}n|djoat |}|o'|od}|}qd}d}q|o|}|}qd}d}nt ||t \}}|}|p ||_n|pt||}n|itt|i||dS(Nstext/xmlsutf-8s text/htmls iso-8859-15(stext/xml(s text/html(R0tstript isinstancetunicodet is_unicodeRtencodingR*R(tencodingFromXMLPreambletcharsetFromMetaEquivtcharsettconvertToUnicodetpreferred_encodingstutexttkeep_output_encodingRtZCacheable_invalidatetsuperRR3( RR0R(RAR:R=R*R@R9((RR3ysB             s www/ptEditRt pt_editActioncCs|iotdn||_|i|dt|d}|i||t |i d|i |i d|id}t|dd oddi|i}n|id |S( sChange the title and document.sFile is locked via WebDAVsutf-8R0R#sSaved changes.t _v_warningss#Warning: %ss
tmanage_tabs_messageN(Rt wl_isLockedtResourceLockedErrorR+t pt_setTitleR#R8R0R3R(tTrueR tsetR-tmessageRRtjoinRER(RR R#R0R(R+RL((RRDs  RIcCs7t|tpt||}n|id|dS(NR#(R7R#R8R:Rt _setPropValue(RR#R:((RRIscCs!ti||||idS(s) set a property and invalidate the cache N(tPropertyManagerRNRR"tvalueRB(RR"RP((RRNst pt_uploadtcCs|iotdnt|tod}|}n-|pt dn|i}|i }t ||}|i |||iddS(s+Replace the document with the text in file.sFile is locked via WebDAVsFile not specifiedRFs Saved changesN(RRGRHR7tfiletstrRtfilenameR0t ValueErrorR-t guess_typeR(R3R(RR RSR:R0RUR(((RRQs    tpt_changePrefss100%t20c Cshdd<ddRR(R?R:R*RBRRy(RR0R:((RR!s  cCsM|idp||d|id|}|d j o|i|d|n|SWd |i|Xd S( sCall a Page TemplateRRs content-typetuserRt bound_namestkeywordst extra_contextN(Rthas_keyRRRR R tresponsetheaderst setHeaderR(tAttributeErrortgetSecurityManagertsecuritytgetUserRtkeysettZCacheable_isCachingEnabledRtZCacheable_gettresultt addContextt pt_rendertZCacheable_sett removeContext(RRRRRRRR((Rt_exec,s4        tmanage_historyCopytmanage_beforeHistoryCopytmanage_afterHistoryCopyRcCsh|i|||i||dd|idd}td|}|i |||i d|S(s Handle HTTP PUT requests trefreshitBODYRRiN( Rt dav__initR R tdav__simpleifhandlerReR0RWR(R3t setStatus(RR R R0R(((RRXs t manage_FTPputtmanage_FTPstattmanage_FTPlistt manage_FTPgetcCs|i}|i|iS(sGet source for FTP downloadN(RR-RtencodeR*(RR((RRhs thtmlcCs |idjS(Ns text/html(RR((R((RRnstget_sizecCst|iS(N(tlenRR-(R((RRrstgetSizetPrincipiaSearchSourcecCs |iS(s=Support for searching - the document's contents are searched.N(RR-(R((RRysR cCsS|dj o|iddn|dj o|ido |iSn|iS(s Return expanded document source.s Content-Types text/plaintrawN(R RRR ReRR}R-(RR R ((RR ~s   cCs|hdd<d|i<d|iReturn a list of icon URLs to be displayed by an ObjectManagerRasmisc_/PageTemplates/zpt.giftaltR#s#misc_/PageTemplates/exclamation.giftErrorsThis template has an errorN(Rt meta_typeticonst _v_cookedt_cookt _v_errors(RR((Rtom_iconss*  ,tpt_source_filecCs)ydi|iSWn dSnXdS(s5Returns a file name to be compiled into the TAL code.RbN(RMRtgetPhysicalPathR(R((RRs cCsht|dtp@t|d|iddt\}}||d<||dReR?R0R:Rt__dict__Ru(RRR:R0((Rt __setstate__s  cCs0ti|||}t|tpt|S(N( t PageTemplateRRtsourceRRR7R8tAssertionError(RRRR((RRscCsdS(Ni((R((RRGs(RsPageTemplate_Edit.stx(BRRRtWriteLockInterfacet__implements__RR*Rt func_defaultstFuncCodet func_codeR/tosRaRMt package_hometglobalsR2ROtmanage_optionst Historicalt SimpleItemt Cacheablet _propertiestClassSecurityInfoRtdeclareObjectProtectedtviewtdeclareProtectedtview_management_screensRJR5tchange_page_templatestFalseR3tPageTemplateFileRt_ownertmanaget manage_mainRtsource_dot_xmlRDRIRNRQRXRvRwRRRRRt ftp_accessRRRRRR RRRRRG(((RRCs   U ~      5            '         s source.xmls source.htmls www/ptAddRtmanage_addPageTemplateFormRRc Csd} d} |oy|idoi|d}|i} |i}t|dd } | o| ido| d} qt | |} nyt |doht|dd} t|dd } |i}| o| ido| d} qt | |} nt |t pt ||}nt||| d|} | i|||i|| t||} |oC|d jo|i| id q|i|id n| Sd S( s/Add a Page Template with optional file content.RRs text/htmlRSRR(R-RUR*s Add and Edit s /pt_editForms /manage_mainN(RUR(R RRSR-R0RRRRWthasattrR7R8R:RR"tzptRIR#Rt _setObjectR tsubmittredirectt absolute_url( RR"R#R0R:RR R RSRRR(RU((Rtmanage_addPageTemplates:     (smisc_swww/exclamation.gifsexclamation.gifcCs@|itdddttfdd|i|iddS(Nt permissionsAdd Page Templatest constructorsticons www/zpt.gifs Zope Help(Rt registerClassRRRt registerHelptregisterHelpTitle(R((Rt initializes     (ARtreRRtGlobalst ImageFileRtInitializeClasstDateTime.DateTimeRptShared.DC.Scripts.ScripttScripttShared.DC.Scripts.SignatureRtOFS.SimpleItemRt OFS.HistoryRR|t OFS.CacheRtOFS.Traversablet TraversabletOFS.PropertyManagerROt AccessControlRt safe_builtinsRtAccessControl.PermissionsRRRRtwebdav.LockableRHtwebdav.WriteLockInterfaceRt#Products.PageTemplates.PageTemplateRt'Products.PageTemplates.PageTemplateFileRRWt"Products.PageTemplates.ExpressionsRtProducts.PageTemplates.utilsR;R<R>R?tenvironRtinserttExplicitRRtsetattrRRRRRtProducts.PageTemplatestmisc_R(&RRRRpRRR RR|R<RRRRR>RRRR;RHRRRRRRRRRWRRRRROR?RRR((Rt?sH                  %r /