ZEXPOO((U OFS.FolderqUFolderqtqNt.}q(U__ac_local_roles__q}qU$_Add_Session_Data_Manager_Permissionq(U AnonymousqUManagerq U config_zwookq tq U _propertiesq (}q (UidqUtitleqUmodeqUwUtypeqUstringqu}q(hU type_zwookqhUstringqu}q(hUsystemqhUstringqutqU!_Change_Page_Templates_Permissionq(hh h tqU_Manage_Access_Rules_Permissionq(hh h tqU_ownerq(]qU acl_usersq aUgregq!tq"U-_Manage_Transient_Object_Container_Permissionq#(hh h tq$U_Undo_changes_Permissionq%(hh h tq&U_WebDAV_Lock_items_Permissionq'(hh h tq(U!_Change_DTML_Documents_Permissionq)(hh h tq*Uzwo_docq+(UOq,(hUFolderq-ttQUzwookq.(UOq/(hUFolderq0ttQU_Join_leave_Versions_Permissionq1(hh h tq2U_WebDAV_Unlock_items_Permissionq3(hh h tq4U_View_Permissionq5(hU Authenticatedq6h h tq7U!_Change_cache_settings_Permissionq8(hh h tq9U"_Add_Browser_Id_Manager_Permissionq:(hh h tq;U index_htmlq<(UO q=(U#Products.PythonScripts.PythonScriptq>U PythonScriptq?ttQU#_Change_External_Methods_Permissionq@(hh h tqAUzwo_droits_folderqB(UO qC(h>U PythonScriptqDttQU home_imageqE(UO qF(h>U PythonScriptqGttQU#_Change_Lock_Information_PermissionqH(hh h tqIU_Change_proxy_roles_PermissionqJ(hh h tqKU"_Add_RAM_Cache_Managers_PermissionqL(hh h tqMU#_Change_Database_Methods_PermissionqN(hh h tqOU/_Add_Accelerated_HTTP_Cache_Managers_PermissionqP(hh h tqQU_Add_Zope_Tutorials_PermissionqR(hh h tqSU*_Add_Transient_Object_Container_PermissionqT(hh h tqUU_objectsqV(}qW(U meta_typeqXU User FolderqYUidqZU acl_usersq[u}q\(U meta_typeq]U DTML Documentq^Uidq_Utest_connectionq`u}qa(U meta_typeqbUScript (Python)qcUidqdUzwo_cpyqeu}qf(U meta_typeqgUScript (Python)qhUidqiU zwo_renameqju}qk(U meta_typeqlUScript (Python)qmUidqnhBu}qo(U meta_typeqpUScript (Python)qqUidqrUzwo_user_groupsqsu}qt(U meta_typequUFolderqvUidqwU zwo_imagesqxu}qy(U meta_typeqzUFolderq{Uidq|Uzwo_infoq}u}q~(hzh{h|Uzwookqu}q€(U meta_typeqUFolderq‚UidqƒUzwo_devq„u}q…(U meta_typeq†UFolderq‡UidqˆUzwo_docq‰u}qŠ(U meta_typeq‹UScript (Python)qŒUidqUacl_objqŽu}q(h‹hŒhUacl_urlqu}q‘(h‹hŒhU home_imageq’u}q“(h‹hŒhUstandard_printable_footerq”u}q•(h‹hŒhUstandard_printable_headerq–u}q—(h‹UFolderq˜hUzwo_libq™u}qš(U meta_typeq›UScript (Python)qœUidqUlasttraceinstallqžu}qŸ(U meta_typeq UFolderq¡Uidq¢Uzwo_boq£u}q¤(h h¡h¢U zwo_modulesq¥u}q¦(U meta_typeq§UScript (Python)q¨Uidq©U style_cssqªu}q«(h§h¨h©Uhomeq¬u}q­(h§h¨h©Ustandard_html_footerq®u}q¯(h§h¨h©Ustandard_html_headerq°u}q±(h§UFolderq²h©U zwo_upgradesq³u}q´(U meta_typeqµUScript (Python)q¶Uidq·Uaddfileq¸u}q¹(U meta_typeqºUScript (Python)q»Uidq¼Utoolboxq½u}q¾(U meta_typeq¿U Mail HostqÀUidqÁUMailHostqÂu}qÃ(U meta_typeqÄUScript (Python)qÅUidqÆUinstallqÇu}qÈ(U meta_typeqÉUScript (Python)qÊUidqËU index_html2qÌu}qÍ(hÉhÊhËU index_htmlqÎutqÏU_Add_User_Folders_PermissionqÐ(hh h tqÑU_Change_permissions_PermissionqÒ(hh h tqÓU_Add_Pluggable_Index_PermissionqÔ(hh h tqÕU_Manage_Z_Classes_PermissionqÖ(hh h tq×U._Access_arbitrary_user_session_data_PermissionqØ(hh h tqÙU__allow_groups__qÚ(UO qÛ(UAccessControl.UserqÜU UserFolderqÝttQU _Add_MailHost_objects_PermissionqÞ(hh h tqßU_Access_session_data_Permissionqà(hh6h h tqáU_Change_DTML_Methods_Permissionqâ(hh h tqãU_query_Permissionqä]qå(hh6h h eU zwo_imagesqæ(UO qç(hUFolderqèttQU$_Create_Transient_Objects_Permissionqé(hh h tqêU#_Change_Images_and_Files_Permissionqë(hh h tqìU!_Change_Python_Scripts_Permissionqí(hh h tqîU_Take_ownership_Permissionqï(hh h tqðhs(UOqñ(h>U PythonScriptqòttQUidqóU zwook_099_2qôU_Manage_Vocabulary_Permissionqõ(hh h tqöU_Add_Folders_Permissionq÷(hh h tqøU _Change_configuration_Permissionqù(hh h tqúUhomeqû(UOqü(h>U PythonScriptqýttQU%_Add_Virtual_Host_Monsters_Permissionqþ(hh h tqÿU_Search_ZCatalog_Permissionr(hh6h h trU(_Manage_ZCatalogIndex_Entries_Permissionr(hh h trhÂ(UOr(UProducts.MailHost.MailHostrUMailHostrttQU type_zwookrUsystemrU_Query_Vocabulary_Permissionr (hh6h h tr U'_Change_Database_Connections_Permissionr (hh h tr U _Log_to_the_Event_Log_Permissionr (hh h trU_Use_Factories_Permissionr(hh h trU_Log_Site_Errors_Permissionr(hh h trh„(UOr(hUFolderrttQU style_cssr(UOr(h>U PythonScriptrttQU%_Change_Browser_Id_Manager_Permissionr(hh h trU-_Add_Z_Gadfly_Database_Connections_Permissionr(hh h trUstandard_html_headerr(UOr(h>U PythonScriptrttQU!_Change_cache_managers_Permissionr(hh h tr U'_Change_Session_Data_Manager_Permissionr!(hh h tr"U_Define_permissions_Permissionr#]r$haUinstallr%(UOr&(h>U PythonScriptr'ttQh[(hÛ(hÜU UserFolderr(ttQUzwo_infor)(UOr*(hUFolderr+ttQUacl_urlr,(UOr-(h>U PythonScriptr.ttQU index_html2r/(UOr0(h>U PythonScriptr1ttQU_Add_ChatItems_Permissionr2(hh h tr3U_Manage_properties_Permissionr4(hh h tr5U_Use_external_editor_Permissionr6(hh h tr7U _Add_Database_Methods_Permissionr8(hh h tr9U zwo_renamer:(UOr;(h>U PythonScriptr<ttQU_Add_Python_Scripts_Permissionr=(hh h tr>U _Add_Temporary_Folder_Permissionr?(hh h tr@Ustandard_html_footerrA(UOrB(h>U PythonScriptrCttQU_Manage_users_PermissionrD(hh h trEU!_Use_mailhost_services_PermissionrF(hh6h h trGU zwo_upgradesrH(UOrI(hUFolderrJttQUtoolboxrK(UOrL(h>U PythonScriptrMttQU#_View_management_screens_PermissionrN(hh h trOUzwo_borP(UOrQ(hUFolderrRttQU"_Create_class_instances_PermissionrS(hh h trTU_Add_ZCatalogs_PermissionrU(hh h trVU'_Access_contents_information_PermissionrW(hh6h h trXU_Copy_or_Move_PermissionrY(hh6h h trZU _Add_External_Methods_Permissionr[(hh h tr\U_Add_Site_Roots_Permissionr](hh h tr^U _Use_Database_Methods_Permissionr_(hh6h h tr`Ustandard_printable_headerra(UOrb(h>U PythonScriptrcttQU_Add_ZRTChats_Permissionrd(hh h treU_Add_Versions_Permissionrf(hh h trgU_Delete_objects_Permissionrh(hh h triUstandard_printable_footerrj(UOrk(h>U PythonScriptrlttQU$_Access_Transient_Objects_Permissionrm(hh6h h trnUsystemroUracinerpU zwo_modulesrq(UOrr(hUFolderrsttQUtest_connectionrt(UO ru(UOFS.DTMLDocumentrvU DTMLDocumentrwttQUtitlerxUU%_Test_Database_Connections_Permissionry(hh h trzUacl_objr{(UO!r|(h>U PythonScriptr}ttQhe(UO"r~(h>U PythonScriptrttQU_Add_Vocabularies_Permissionr€(hh h trU_Manage_WebDAV_Locks_Permissionr‚(hh h trƒU __ac_roles__r„(h UOwnerr…hh6h tr†U(_Save_discard_Version_changes_Permissionr‡(hh h trˆUlasttraceinstallr‰(UO#rŠ(h>U PythonScriptr‹ttQU_Change_bindings_PermissionrŒ(hh h trU#_Manage_ZCatalog_Entries_PermissionrŽ(hh h trU!_Import_Export_objects_Permissionr(hh h tr‘U,_Add_Documents__Images__and_Files_Permissionr’(hh h tr“U_FTP_access_Permissionr”(hh h tr•U_Add_Page_Templates_Permissionr–(hh h tr—U_View_History_Permissionr˜(hh6h h tr™U_WebDAV_access_Permissionrš(hh6h h tr›U_Change_Versions_Permissionrœ(hh h trUaddfilerž(UO$rŸ(h>U PythonScriptr ttQUzwo_libr¡(UO%r¢(hUFolderr£ttQU+_Open_Close_Database_Connections_Permissionr¤(hh h tr¥U_Edit_Factories_Permissionr¦(hh h tr§U*_Open_Close_Database_Connection_Permissionr¨(hh h tr©u.Oü((U OFS.FolderqUFolderqtqNt.}q(UHOWTOstructureq(UO&q(UOFS.DTMLDocumentqU DTMLDocumentqtq tq QUidq Uzwo_docq U__ac_local_roles__q }qUxavq]qUOwnerqasU HOWTOStartDevq(UO'q(hU DTMLDocumentqtqtqQU_objectsq(}q(U meta_typeqU DTML DocumentqUidqU HOWTOModulesqu}q(U meta_typeqU DTML DocumentqUidq U license.txtq!u}q"(hUScript (Python)q#h U index_htmlq$u}q%(U meta_typeq&U DTML Documentq'Uidq(hu}q)(h&h'h(UHOWTOdescriptionq*u}q+(U meta_typeq,U DTML Documentq-Uidq.U HOWTOnoyauq/u}q0(U meta_typeq1UFolderq2Uidq3Uimagesq4u}q5(h1U DTML Documentq6h3UHOWTOstructureq7u}q8(h1h6h3UREFmemq9u}q:(U meta_typeq;U DTML DocumentqutU HOWTOModulesq?(UO(q@(hU DTMLDocumentqAtqBtqCQU _propertiesqD(}qE(h UtitleqFUmodeqGUwUtypeqHUstringqIu}qJ(h U type_zwookqKhHhIu}qL(UidqMUsystemqNUtypeqOUstringqPuthKUsystemqQh9(UO)qR(hU DTMLDocumentqStqTtqUQh>(UO*qV(hU DTMLDocumentqWtqXtqYQh/(UO+qZ(hU DTMLDocumentq[tq\tq]QU index_htmlq^(UO,q_(U#Products.PythonScripts.PythonScriptq`U PythonScriptqatqbtqcQUsystemqdUdataqeh*(UO-qf(hU DTMLDocumentqgtqhtqiQU license.txtqj(UO.qk(hU DTMLDocumentqltqmtqnQhFU noyau - docqoUimagesqp(UO/qq(hUFolderqrtqstqtQu.O’((U OFS.FolderqUFolderqtqNt.}q(U__ac_local_roles__q}qU$_Add_Session_Data_Manager_Permissionq(UManagerqtU _propertiesq (}q (Uidq Utitleq Umodeq UwUtypeqUstringqu}q(h U type_zwookqhUstringqu}q(h UsystemqhUstringqu}q(UidqUstandby_contentqUtypeqUstringqu}q(UidqUversionqUtypeqUstringqutU!_Change_Page_Templates_Permissionq (hU config_zwookq!tU_Manage_Access_Rules_Permissionq"(hh!tU-_Manage_Transient_Object_Container_Permissionq#(hU Anonymousq$U Authenticatedq%h!tU_Undo_changes_Permissionq&(hh$h%h!tU_WebDAV_Lock_items_Permissionq'(hh$h%h!tU!_Change_DTML_Documents_Permissionq((hh$h%h!tU)_Add_XSL_Transformer_Registrys_Permissionq)(UManagerq*tU_Edit_Permissionq+(h*tU_WebDAV_Unlock_items_Permissionq,(hh$h%h!tU_View_Permissionq-(hh$h%h!tU!_Change_cache_settings_Permissionq.(htU"_Add_Browser_Id_Manager_Permissionq/(htU#_Change_External_Methods_Permissionq0(htU zwo_dossierq1(UO0q2(hUFolderq3tq4tq5QU#_Change_Images_and_Files_Permissionq6(hh$h%h!tU#_Change_Lock_Information_Permissionq7(hh!tU_Change_proxy_roles_Permissionq8(htU"_Add_RAM_Cache_Managers_Permissionq9(htU/_Add_Accelerated_HTTP_Cache_Managers_Permissionq:(htU*_Add_Transient_Object_Container_Permissionq;(hh$h%tU_objectsq<(}q=(U meta_typeq>U DTML Documentq?Uidq@UtexteqAu}qB(h>UFolderqCh@U zwo_dossierqDu}qE(U meta_typeqFUFolderqGUidqHUmembresqIu}qJ(U meta_typeqKUFolderqLUidqMUzwo_standby_contentqNu}qO(U meta_typeqPUScript (Python)qQUidqRUview_standby_elementqSu}qT(U meta_typeqUUImageqVUidqWUanybrowser.gifqXutU_Add_User_Folders_PermissionqY(htU_Change_permissions_PermissionqZ(hh!thS(UO1q[(U#Products.PythonScripts.PythonScriptq\U PythonScriptq]tq^tq_QUversionq`U0.99.2qaU_Manage_Z_Classes_Permissionqb(hh!tU,_Add_Z_MySQL_Database_Connections_Permissionqc(h*tU._Access_arbitrary_user_session_data_Permissionqd(hh$h%h!thN(UO2qe(hUFolderqftqgtqhQU _Add_MailHost_objects_Permissionqi(hh!tU_Access_session_data_Permissionqj(hh$h%h!tU_Change_DTML_Methods_Permissionqk(hh!tU$_Create_Transient_Objects_Permissionql(hh!tU_Use_external_editor_Permissionqm(hU config_zwookqntU_Change_bindings_Permissionqo(htU!_Change_Python_Scripts_Permissionqp(htUidqqUzwookqrU_Manage_Vocabulary_Permissionqs(hh!tU_Add_Folders_Permissionqt(hh$h%h!tU_Join_leave_Versions_Permissionqu(htU%_Add_Virtual_Host_Monsters_Permissionqv(htU_Search_ZCatalog_Permissionqw(hh$h%h!tU(_Manage_ZCatalogIndex_Entries_Permissionqx(hh!tU type_zwookqyUsystemqzU _Change_configuration_Permissionq{(hh!tU_Query_Vocabulary_Permissionq|(hh$h%h!tU'_Change_Database_Connections_Permissionq}(hh!tU _Log_to_the_Event_Log_Permissionq~(htU_Use_Factories_Permissionq(hh!tU_Log_Site_Errors_Permissionq€(htU,_Add_Documents__Images__and_Files_Permissionq(hh$h%h!tU _Add_Temporary_Folder_Permissionq‚(htU_Add_XML_Transforms_Permissionqƒ(h*tU%_Change_Browser_Id_Manager_Permissionq„(htU-_Add_Z_Gadfly_Database_Connections_Permissionq…(hh!tUmembresq†(UO4q‡(hUFolderqˆtq‰tqŠQU!_Change_cache_managers_Permissionq‹(htU'_Change_Session_Data_Manager_PermissionqŒ(htU_Add_ChatItems_Permissionq(hhntU_Manage_properties_PermissionqŽ(hh$h%h!tU _Add_Database_Methods_Permissionq(hh!tU_Add_Python_Scripts_Permissionq(htU#_Change_Database_Methods_Permissionq‘(hh!tU_Manage_users_Permissionq’(htU!_Use_mailhost_services_Permissionq“(hh$h%h!tU(_Save_discard_Version_changes_Permissionq”(htU#_View_management_screens_Permissionq•(hh!tU"_Create_class_instances_Permissionq–(hh!tU_Add_ZCatalogs_Permissionq—(hh!tU'_Access_contents_information_Permissionq˜(hh$h%h!tU_Copy_or_Move_Permissionq™(hh$h%h!tU_Change_user_folder_Permissionqš(h*tU _Add_External_Methods_Permissionq›(htU_Add_Site_Roots_Permissionqœ(htU _Use_Database_Methods_Permissionq(hh!tU_Add_ZRTChats_Permissionqž(htU_Add_Versions_PermissionqŸ(htU&_Manage_XML_Transform_Cache_Permissionq (h*tU_Delete_objects_Permissionq¡(hh$h%h!tU$_Access_Transient_Objects_Permissionq¢(hh$h%h!tUsystemq£Uracineq¤hX(UO3q¥(U OFS.Imageq¦UImageq§tq¨tq©QUtitleqªUHomeq«U%_Test_Database_Connections_Permissionq¬(hh!tU_Edit_Factories_Permissionq­(hh!tU_Add_Vocabularies_Permissionq®(hh!tU_Manage_WebDAV_Locks_Permissionq¯(hh!tU __ac_roles__q°(UManagerq±UOwnerq²U Anonymousq³U Authenticatedq´tU,_Add_XML_Transform_Cache_Managers_Permissionqµ(h*tU_Add_Zope_Tutorials_Permissionq¶(htU#_Manage_ZCatalog_Entries_Permissionq·(hh!tU!_Import_Export_objects_Permissionq¸(hh$h%tU_Add_Pluggable_Index_Permissionq¹(htU_FTP_access_Permissionqº(hh$h%h!tU_Add_Page_Templates_Permissionq»(htU_View_History_Permissionq¼(hh$h%h!tU_WebDAV_access_Permissionq½(hh$h%h!tU_Change_Versions_Permissionq¾(hthU1U_Take_ownership_Permissionq¿(hh!tUtexteqÀ(UO5qÁ(UOFS.DTMLDocumentqÂU DTMLDocumentqÃtqÄtqÅQU+_Open_Close_Database_Connections_PermissionqÆ(hh!tU*_Open_Close_Database_Connection_PermissionqÇ(hh!tU!_Manage_XML_Transforms_PermissionqÈ(h*tu.O ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (U _getattr_q U_getattrq U_print_q U_printq UcontextqUmemqU containerqtqU co_argcountqKubU_paramsqUUidqU index_htmlqU__ac_local_roles__q}qUgregq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q (Uname_containerq!hU name_subpathq"Utraverse_subpathq#U name_m_selfq$Uscriptq%U name_contextq&husbU func_defaultsq'NU_codeq(T&csd„ZdS(Ncs·t}tƒ}||tdƒdƒƒ}|dIJ|d|tdƒƒdIJ|dIJ|dIJ |d IJ |d IJ |d IJ |d IJ|ƒSdS( Nszwo_libsmem_datas4

Première configuration de Zwook

s
ssTConfiguration d'un utilisateur administrateur de Zwook

s7Choisir un login
sGChoisir un password

s
s;
(s _getattr_s_getattrs_print_s_printscontextsmems container(s _getattr_s_getattrs_print_s_printscontextsmems container((sScript (Python)s index_htmls- !      (s index_html(s index_html((sScript (Python)ssq)U_bodyq*Ttmem=context.zwo_lib.mem_data() #print context.standard_html_header(mem) print '

Première configuration de Zwook

' print '
' print '' print 'Configuration d\'un utilisateur administrateur de Zwook

' print 'Choisir un login
' print 'Choisir un password

' print '
' print '
' #print context.standard_html_footer(mem) return printed q+U Script_magicq,KUwarningsq-)Uerrorsq.)U Python_magicq/U*ë q0u.O ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Urepq U _getitem_q U_getitemq U _getattr_q U_getattrqU AccessControlqUgetSecurityManagerqUaUchlistePermVisiteurqUstringqUlistePermVisiteurqUchlistePermEditeurqUlistePermEditeurqU liste_permqUbUcU nonvisibleqUcontextqUrepgrqUlg1qUlgqUgrqUchgvqUchgeqUgvqUgeq Ugtq!U co_argcountq"KubU_paramsq#Urepq$Uidq%Uzwo_droits_folderq&U__ac_local_roles__q'}q(Uxavq)]q*UOwnerq+asU _bind_namesq,(cShared.DC.Scripts.Bindings NameAssignments q-oq.}q/U_asgnsq0}q1(Uname_containerq2U containerq3U name_subpathq4Utraverse_subpathq5U name_m_selfq6Uscriptq7U name_contextq8Ucontextq9usbU func_defaultsq:NU_codeq;T¯csd„ZdS(Ncs|t}t}dkl}|ƒ}||dƒƒdjo dSn d}"|tdƒ|dƒ} $d} Y|tdƒ| dƒ} [g} \||d ƒƒ}]x2|d ]r%}|^| d ƒ||d ƒƒqÁWdd g}e||tdƒdƒ}g||dƒƒ}hg}jxR|d jrE}k||j o.l|djo|m|d ƒ|ƒnnq>Wo|||dƒdƒdjol|p|dƒd | ƒ|q|dƒ| ƒrx,|d rr}|s|dƒ|gƒqçWudSnw|||dƒdƒ}x|||dƒdƒ}y|tdƒ|dƒ}z|tdƒ|dƒ}|||dƒd | ƒ|}|dƒgƒx,|d r}|€|dƒ|gƒq¿W‚x@|d ‚r3}ƒ|djo|„|dƒ|| ƒnqñW…x@|d …r3}†|djo|‡|dƒ|| ƒnq7WŒdSdS(N(sgetSecurityManagerscalledByExecutableisnonsàAccess Transient Objects Access arbitrary user session data Access contents information Access session data Add Documents, Images, and Files Add Folders Add Transient Object Container Change DTML Documents Change Images and Files Copy or Move Delete objects FTP access Import/Export objects Manage Transient Object Container Manage properties Query Vocabulary Search ZCatalog Undo changes Use mailhost services View View History WebDAV Lock items WebDAV Unlock items WebDAV accessssplits s8Access Transient Objects Access arbitrary user session data Access contents information Access session data Add ChatItems Add Database Methods Add Documents, Images, and Files Add Folders Add MailHost objects Add Vocabularies Add Z Gadfly Database Connections Add ZCatalogs Change DTML Documents Change DTML Methods Change Database Connections Change Database Methods Change Images and Files Change Lock Information Change Page Templates Change configuration Change permissions Copy or Move Create Transient Objects Create class instances Delete objects Edit Factories FTP access Manage Access Rules Manage Transient Object Container Manage Vocabulary Manage WebDAV Locks Manage Z Classes Manage ZCatalog Entries Manage ZCatalogIndex Entries Manage properties Open/Close Database Connection Open/Close Database Connections Query Vocabulary Search ZCatalog Take ownership Test Database Connections Undo changes Use Database Methods Use Factories Use external editor Use mailhost services View View History View management screens WebDAV Lock items WebDAV Unlock items WebDAV accessspermission_settingsisappendsnamesManagerszwo_infosgroupss objectIdsss zwo_dossiers new_droitss0s manage_rolesmanage_acquiredPermissionssgroupes_visiteurssgroupes_editeurss&(s _getitem_s_getitems _getattr_s_getattrs AccessControlsgetSecurityManagersaschlistePermVisiteursstringslistePermVisiteurschlistePermEditeurslistePermEditeurs liste_permsrepsbscs nonvisiblescontextsrepgrslg1slgsgrschgvschgesgvsgesg(sreps _getitem_s_getitems _getattr_s_getattrs AccessControlsgetSecurityManagersaschlistePermVisiteursstringslistePermVisiteurschlistePermEditeurslistePermEditeurs liste_permsbscs nonvisiblescontextsrepgrslg1slgsgrschgvschgesgvsgesg((sScript (Python)szwo_droits_foldersP    5    % (szwo_droits_folder(szwo_droits_folder((sScript (Python)ssqTÓ from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' # DEBUT LISTE PERMISSIONS ##################### chlistePermVisiteur="""Access Transient Objects Access arbitrary user session data Access contents information Access session data Add Documents, Images, and Files Add Folders Add Transient Object Container Change DTML Documents Change Images and Files Copy or Move Delete objects FTP access Import/Export objects Manage Transient Object Container Manage properties Query Vocabulary Search ZCatalog Undo changes Use mailhost services View View History WebDAV Lock items WebDAV Unlock items WebDAV access""" listePermVisiteur=string.split(chlistePermVisiteur,'\n') chlistePermEditeur="""Access Transient Objects Access arbitrary user session data Access contents information Access session data Add ChatItems Add Database Methods Add Documents, Images, and Files Add Folders Add MailHost objects Add Vocabularies Add Z Gadfly Database Connections Add ZCatalogs Change DTML Documents Change DTML Methods Change Database Connections Change Database Methods Change Images and Files Change Lock Information Change Page Templates Change configuration Change permissions Copy or Move Create Transient Objects Create class instances Delete objects Edit Factories FTP access Manage Access Rules Manage Transient Object Container Manage Vocabulary Manage WebDAV Locks Manage Z Classes Manage ZCatalog Entries Manage ZCatalogIndex Entries Manage properties Open/Close Database Connection Open/Close Database Connections Query Vocabulary Search ZCatalog Take ownership Test Database Connections Undo changes Use Database Methods Use Factories Use external editor Use mailhost services View View History View management screens WebDAV Lock items WebDAV Unlock items WebDAV access""" listePermEditeur=string.split(chlistePermEditeur,'\n') liste_perm=[] b=rep.permission_settings() for c in b: liste_perm.append(c['name']) ##################### # FIN LISTE PERMISSIONS ##################### nonvisible=['Manager'] repgr=context.zwo_info.groups lg1=repgr.objectIds() lg=[] for a in lg1: if not a in nonvisible: if a<>'' : lg.append(a) if rep.zwo_dossier.new_droits=='0': rep.manage_role('Manager', liste_perm) rep.manage_acquiredPermissions(liste_perm) for gr in lg: rep.manage_role(gr, []) return chgv=rep.zwo_dossier.groupes_visiteurs chge=rep.zwo_dossier.groupes_editeurs gv=string.split(chgv,'&') ge=string.split(chge,'&') rep.manage_role('Manager', liste_perm) rep.manage_acquiredPermissions([]) for gr in lg: rep.manage_role(gr, []) for g in gv: if g<>'': rep.manage_role(g, listePermVisiteur) for g in ge: if g<>'': rep.manage_role(g, listePermEditeur) return q?U Script_magicq@KUwarningsqA)U _proxy_rolesqB(UManagerqCtqDU Python_magicqEU*ë qFu.O ‚((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Umemq U _getitem_q U_getitemq U _getattr_q U_getattrqU_print_qU_printqU AccessControlqUgetSecurityManagerqUaUcheminqUlimgqUw_line1qUcoteqUcouleurqUw_lineqUhere_objqU parse_objqUstringqUid_listqUrangeqUlenqUaffqUdosq Ulieniq!U last_lineq"UnUimgq#Ustrq$tq%U co_argcountq&KubU_paramsq'Umemq(Uidq)U home_imageq*U__ac_local_roles__q+}q,Uxavq-]q.UOwnerq/asU_dav_writelocksq0(UO6q1(U Persistenceq2UPersistentMappingq3tq4tq5QU _bind_namesq6(cShared.DC.Scripts.Bindings NameAssignments q7oq8}q9U_asgnsq:}q;(Uname_containerqUtraverse_subpathq?U name_m_selfq@UscriptqAU name_contextqBUcontextqCusbU func_defaultsqDNU_codeqETîcsd„ZdS(Ncs”t}t}tƒ}dkl}|ƒ} || dƒƒdjo dSnd} d} d} d} d }| d}d ||d ƒ}|}| djo | d jo_ |td ƒ| dƒ}!x:tt|ƒƒd!r!} "||||| ƒƒ}qWn#d}$|d}&| djoç'|d}(|d})|d}+|d||dƒƒd},|d}-xa||dƒdƒd-rE}.d|d}/|d|d||d}0|d}qÆW1|d }2|d!}3|d"}n4|d#}6|d$}8d}9d}:xð||d%ƒd&ƒd:rÔ}|;|d'ƒd(jp)||d'ƒd)jp||d'ƒd*jo‰<||jo=|d+}>|d,}n?|d-}D|d.}E|d||d/ƒƒd0}F|d1||d/ƒƒd2t| ƒd3t| ƒd4}G|d5}H|d}I||||dƒƒdd6…ƒd7t||d8ƒƒd9t||d:ƒƒ}J|d;}K|d<}L|d=}M|d}N|||jo'O|d>}P|d?}Q|}nnq„WR|d@}S|d<}T||IJV|ƒSdS(AN(sgetSecurityManagerscalledByExecutableisnons bui68ddlk44iKiis#FFFFCCsÛ id_list=string.split(context.REQUEST.URL1,"/") here_obj=context.zwook_obj() #print id_list[4:] #print here_obj.absolute_url() for elem in id_list[4:]: #print here_obj[elem].getId()+'
' here_obj=here_obj[elem] srep_objsssplits.is@ ss<ss colspan="s rowspan="s align="s valign="s bgcolor="s class="bordures
ssds; sgetIdss
s objectIdssFolders s   s7 ss
s


s
s3 s objectValuessImages content_types image/jpegs image/gifs image/pngs s6 s$ s s6 s
sv
s absolute_urls">s s2
i s swidthsxsheights s
s
(s _getitem_s_getitems _getattr_s_getattrs_print_s_prints AccessControlsgetSecurityManagersascheminslimgsw_line1scotescouleursw_linesmemshere_objs parse_objsstringsid_listsrangeslensaffsdosslienis last_linesnsimgsstr(smems _getitem_s_getitems _getattr_s_getattrs_print_s_prints AccessControlsgetSecurityManagersascheminslimgsw_line1scotescouleursw_lineshere_objs parse_objsstringsid_listsrangeslensaffsdosslienis last_linesnsimgsstr((sScript (Python)s home_imagesv%         !#     ! $!      'B   !=  V         (s home_image(s home_image((sScript (Python)ssqFU_bodyqGTç from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' chemin='bui68ddlk44' limg=75 w_line1=4 cote=1 #~ oooo o o o oo oo o o #~ o o o o o o o o o oo #~ o o o o o o o o o oo #~ oooo o o oo oo o o #~couleur : couleur de la barre de titre du browser #~limg : largeur de la mini-image affichée #~w_line : nombre d'images affichées en largeur - 1 couleur='#FFFFCC' w_line=w_line1-1 #~~~~~~~~~ récupération de l'objet courrant ~~~~~~~~~~~~~~~~~~~ """ id_list=string.split(context.REQUEST.URL1,"/") here_obj=context.zwook_obj() #print id_list[4:] #print here_obj.absolute_url() for elem in id_list[4:]: #print here_obj[elem].getId()+'
' here_obj=here_obj[elem] """ here_obj=mem['rep_obj'] #~~~~~~~~~ parsing de l'objet courrant ~~~~~~~~~~~~~~~~~~~ parse_obj=here_obj if chemin<>'bui68ddlk44' and chemin<>'': id_list=string.split(chemin,".") for a in range(len(id_list)): parse_obj=parse_obj[id_list[a]] aff='\n' aff=aff+'' #~~~~~~~~~ cote ~~~~~~~~~~~~~~~~~~~ if cote==1: aff=aff+'' aff=aff+'
' aff=aff+'' aff=aff+'' #aff=aff+'
' aff=aff+' '+parse_obj.getId()+'' aff=aff+'
' for dos in parse_obj.objectIds('Folder'): lieni='' aff=aff+'  '+lieni+' '+lieni+dos+'' aff=aff+'
' aff=aff+'
' aff=aff+'


' aff=aff+'
' #~~~~~~~~~ parsing de l'objet courrant ~~~~~~~~~~~~~~~~~~~ aff=aff+'\n' #~boucle affichage des images last_line=0 n=0 for img in parse_obj.objectValues('Image'): if img.content_type=='image/jpeg' or img.content_type=='image/gif' or img.content_type=='image/png': if n==last_line: aff=aff+'\n' aff=aff+'\n' aff=aff+'\n' n=n+1 if n>last_line+w_line: aff=aff+'\n' aff=aff+'\n' last_line=n aff=aff+'
\n' #aff=aff+'/ n='+str(n)+'/ last_line='+str(last_line)+' / t='+str(last_line+w_line) #if img.width' #else: aff=aff+'
' aff=aff+'' aff=aff+'' aff=aff+'
\n' aff=aff+'' aff=aff+img.getId()[:12]+' '+str(img.width)+'x'+str(img.height) aff=aff+'\n' aff=aff+'
' aff=aff+'
\n' aff=aff+'
' print aff return printed qHU Script_magicqIKUwarningsqJ)UerrorsqK)U Python_magicqLU*ë qMu.O ¡((UAccessControl.UserqU UserFolderqtqNt.}q(Udataq(UO7q(U PersistenceqUPersistentMappingqtq tq QU__ac_local_roles__q }q Uxavq ]qUOwnerqasu.O ˜((U OFS.FolderqUFolderqtqNt.}q(UidqU zwo_imagesqU__ac_local_roles__q}qUxavq ]q UOwnerq asU_objectsq (}q (U meta_typeqUFolderqhUadminqu}q(hhhUconfigqu}q(hhhUiconesqu}q(hUImageqhU pixel.gifqu}q(U meta_typeqUFolderqUidqUboqutU _propertiesq(}q(hUtitleqUmodeq UwUtypeq!Ustringq"u}q#(hU type_zwookq$h!Ustringq%u}q&(hUsystemq'h!Ustringq(utU type_zwookq)Usystemq*Uconfigq+(UO8q,(hUFolderq-tq.tq/QUsystemq0Udataq1h(UO9q2(hUFolderq3tq4tq5QUiconesq6(UO:q7(hUFolderq8tq9tq:QUadminq;(UO;q<(hUFolderq=tq>tq?QhUnoyau - imagesq@h(UOsq/Uerrorsq0)U_bodyq1T5from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' r=context.REQUEST r.form['name']=user r.form['password']='password' r.form['confirm']='pconfirm' r.form['roles']=roles r.form['domains']=[] au=context.acl_users au.manage_users('Change',r) return q2U Script_magicq3KUwarningsq4)U _proxy_rolesq5(UManagerq6tq7U Python_magicq8U*ë q9u.O1Ö((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Udataq U_write_q U_writeq U _getitem_q U_getitemqU _getattr_qU_getattrqU_print_qU_printqU AccessControlqUgetSecurityManagerqUaUmemqUrepqUcontextqUvalqUprinttabqU printcaseqtqU co_argcountqKubU_paramsqUdataqUidqUhomeq U__ac_local_roles__q!}q"Uxavq#]q$UOwnerq%asU _bind_namesq&(cShared.DC.Scripts.Bindings NameAssignments q'oq(}q)U_asgnsq*}q+(Uname_containerq,U containerq-U name_subpathq.Utraverse_subpathq/U name_contextq0hU name_m_selfq1Uscriptq2usbU func_defaultsq3NU_codeq4Thcsd„ZdS(Ncs t}t}t}tƒ}dkl } | ƒ} || dƒƒdjo dSn|‰|ˆdƒ‰d|ˆƒd< ||tdƒd ƒ|ˆd ƒƒ‰ ‡‡‡‡d †‰.‡‡d †‰ňd ƒ} Ç|| IJÈ|ƒSdS(N(sgetSecurityManagerscalledByExecutableisnonsrep_objisinskinszwo_libs tab_to_vals zwo_dossiercs? t}t}t} d}||ˆƒd<||ˆdƒ|ƒ} t | ƒdjoe|t dƒ|| dƒdƒ}t |ƒdjo'ˆd||dƒƒ}|Snng}x=| dr0}|djo||dƒ|ƒnqÜWx|dr}|ˆ|ƒ}d }||d ƒd ƒo ||d ƒ}n"||||td ƒ||d ƒƒdƒˆ|ƒ}#|d jo$|d}n%|djo&|d}n'|djo(|d}n)|djo*|d}nqW,|SdS(Nss couleur_textsccissplitisTsappends+s hasPropertys dispositions zwo_modulesselements view_htmls
s-s s--s   s++s

(s_write_s_writes _getitem_s_getitems _getattr_s_getattrspcasescolortxtsmemsvalscasesccslensstrings tabinlistsprinttabsnccselsrepszelemsspscontext(scasescolortxts_write_s_writes _getitem_s_getitems _getattr_s_getattrspcasesmemsvalsccslensstrings tabinlistsprinttabsnccselsrepszelemsspscontext(svalsprinttabsrepsmem(sScript (Python)s printcase s6 $  :c.Qs .t}t}t}tƒ}/||ˆdƒ|ƒ} 0||ˆdƒ|ƒ} 2h} 3d} 4d}5d}6g}7x(| d7r}8xÜ|d8rÏ}9t| ƒdt|ƒ}:xŒ:|| dƒ|ƒor;| d} <t| ƒdt|ƒ}=| d|jo0|>|dƒ|ƒ?|d}@d} nqÎWA||ˆdƒ|ƒ}B||d ƒ}C||d ƒ}D|d jo Ed }nF|d jo Gd }nHt|ƒ}It|ƒ}Jxpt|ƒdJr]}KxQt|ƒdKr>}Lt| |ƒdt||ƒ}Md || ƒ|s.bordures{border:s px solid s couleurcadres;}ss class=borduresmarges couleurfonds#000000s couleurtextesleftsalignsvalignss
s
sss(.s_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printsvalstabsptstablesveriftabsisjs nbcolonness lignevideslignescasesstrsidcasespcscolspansrowspansintsrangesiisjjsidcsnblignesspptsptcadresmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabspcccsppcs textcolorsppccspccadrescelsmargeints printcasesaffcel(.stabs_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printsvalsptstablesveriftabsisjs nbcolonness lignevideslignescasesstrsidcasespcscolspansrowspansintsrangesiisjjsidcsnblignesspptsptcadresmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabspcccsppcs textcolorsppccspccadrescelsmargeints printcasesaffcel(svals printcase(sScript (Python)sprinttab.sø         %     "&      .         ,%," """""   .   1     sT1(s_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_prints AccessControlsgetSecurityManagersasdatasmemsrepscontextsvals printcasesprinttab(sdatas_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_prints AccessControlsgetSecurityManagersasmemsrepscontextsvalsprinttabs printcase((smemsvalsrepsprinttabs printcasesScript (Python)shomes+   *"— (shome(shome((sScript (Python)ssq5U_bodyq6Tgfrom AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' mem=data rep=mem['rep_obj'] mem['inskin']=0 val=context.zwo_lib.tab_to_val(rep.zwo_dossier) def printcase(case,colortxt): pcase='' mem['couleur_text']=colortxt cc=val['cc'][case] if len(cc)==1: tabinlist=string.split(cc[0],'T') if len(tabinlist)>1: pcase=printtab('T'+tabinlist[1]) return pcase ncc=[] for el in cc: if el<>'': ncc.append(el) for el in ncc: zelem=rep[el] sp='+' if zelem.hasProperty('disposition'): sp=zelem.disposition pcase=pcase+context.zwo_modules[zelem.element].view_html(mem,zelem) if sp=="+": pcase=pcase+"
" if sp=="-": pcase=pcase+" " if sp=="--": pcase=pcase+"  " if sp=="++": pcase=pcase+"

" return pcase def printtab(tab): pt=val['pt'][tab] table=val['ct'][tab] veriftab={} i=0 j=0 nbcolonnes=0 lignevide=[] for ligne in table: for case in ligne: idcase=str(i)+'-'+str(j) while veriftab.has_key(idcase): i=i+1 idcase=str(i)+'-'+str(j) if i+1>nbcolonnes: lignevide.append(j) j=j+1 i=0 pc=val['pc'][case] colspan=pc['colspan'] rowspan=pc['rowspan'] if colspan=='': colspan='1' if rowspan=='': rowspan='1' colspan=int(colspan) rowspan=int(rowspan) for ii in range(colspan): for jj in range(rowspan): idc=str(i+ii)+'-'+str(j+jj) veriftab[idc]='oui' i=i+colspan if j==0: nbcolonnes=i j=j+1 i=0 nblignes=j ppt='' if tab=='T1': if pt['hauteur']<>'': ppt=ppt+' height="'+pt['hauteur']+'"' if pt['largeur']<>'': ppt=ppt+' width="'+pt['largeur']+'"' else: ppt=ppt+' height="100%"' ppt=ppt+' width="100%"' ppt=ppt+' cellspacing="0"' ppt=ppt+' cellpadding="0"' ppt=ppt+' border="0"' ptcadre=pt['cadre'] if ptcadre<>'0' and ptcadre<>'': print '' ppt=ppt+' class=bordure'+tab margetab="0" if pt['marge']<>'': margetab=pt['marge'] couleurfondtab="" if pt['couleurfond']<>'': couleurfondtab=pt['couleurfond'] couleurtextetab="#000000" if pt['couleurtexte']<>'': couleurtextetab=pt['couleurtexte'] aligntab="left" if pt['align']<>'': aligntab=pt['align'] valigntab="left" if pt['valign']<>'': valigntab=pt['valign'] print '' j=0 for ligne in table: print '' for case in ligne: if case<>'': pc=val['pc'][case] pccc='' if pc['colspan']<>'' and pc['colspan']<>'1': pccc=pccc+' colspan="'+pc['colspan']+'"' if pc['rowspan']<>'' and pc['rowspan']<>'1': pccc=pccc+' rowspan="'+pc['rowspan']+'"' ppc='' if pc['hauteur']<>'': ppc=ppc+' height="'+pc['hauteur']+'"' if pc['largeur']<>'': ppc=ppc+' width="'+pc['largeur']+'"' if pc['align']<>'': ppc=ppc+' align="'+pc['align']+'"' else : ppc=ppc+' align="'+aligntab+'"' if pc['valign']<>'': ppc=ppc+' valign="'+pc['valign']+'"' else : ppc=ppc+' valign="'+valigntab+'"' if pc['couleurfond']<>'': ppc=ppc+' bgcolor="'+pc['couleurfond']+'"' elif couleurfondtab<>'': ppc=ppc+' bgcolor="'+couleurfondtab+'"' textcolor=couleurtextetab if pc['couleurtexte']<>'': textcolor=pc['couleurtexte'] ppcc='' pccadre=pc['cadre'] if pccadre<>'0' and pccadre<>'': print '' ppcc=' class="bordure'+case+'"' cel='' margeint=margetab if pc['marge']<>'': margeint=pc['marge'] if margeint<>'0': cel=cel+'' else: cel=cel+'' #Affichage cellule affcel=printcase(case,textcolor) if affcel=='': affcel='' cel=cel+affcel if margeint<>'0': cel=cel+'
' cel=cel+'' print cel j=j+1 print '' print '' return printed a=printtab('T1') print a return printed q7U Script_magicq8KUwarningsq9)Utitleq:Unoyauq;Uerrorsq<)U Python_magicq=U*ë q>u.O¿((UProducts.MailHost.MailHostqUMailHostqtqNt.}q(UtitleqUMailHost du siteqUidqUMailHostqU smtp_hostq U localhostq U smtp_portq KU__ac_local_roles__q }q Ugregq]qUOwnerqasu.Oi((U OFS.FolderqUFolderqtqNt.}q(U__ac_local_roles__q}qUxavq]qUOwnerq asU$_Add_Session_Data_Manager_Permissionq (UManagerq tU!_Change_Page_Templates_Permissionq (h tUtotligneq (UO=q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtqtqQU-_Manage_Transient_Object_Container_Permissionq(h tU_Undo_changes_Permissionq(h tU_WebDAV_Lock_items_Permissionq(h tU!_Change_DTML_Documents_Permissionq(h tU_WebDAV_Unlock_items_Permissionq(h tU_View_Permissionq(h tU!_Change_cache_settings_Permissionq(h tU"_Add_Browser_Id_Manager_Permissionq(h tU#_Change_External_Methods_Permissionq(h tU#_Change_Images_and_Files_Permissionq(h tU#_Change_Lock_Information_Permissionq(h tU_Change_proxy_roles_Permissionq(h tU"_Add_RAM_Cache_Managers_Permissionq(h tU/_Add_Accelerated_HTTP_Cache_Managers_Permissionq (h tU_Add_Zope_Tutorials_Permissionq!(h tU*_Add_Transient_Object_Container_Permissionq"(h tU_objectsq#(}q$(U meta_typeq%UScript (Python)q&Uidq'Utestuq(u}q)(U meta_typeq*UScript (Python)q+Uidq,Utotligneq-utU_Add_User_Folders_Permissionq.(h tU_Change_permissions_Permissionq/(h tU_Add_Pluggable_Index_Permissionq0(h tU_Manage_Z_Classes_Permissionq1(h tU._Access_arbitrary_user_session_data_Permissionq2(h tU _Add_MailHost_objects_Permissionq3(h tU_Access_session_data_Permissionq4(h tU_Change_DTML_Methods_Permissionq5(h tU$_Create_Transient_Objects_Permissionq6(h tU_Use_external_editor_Permissionq7(h tU!_Change_Python_Scripts_Permissionq8(h th'Uzwo_devq9U_Manage_Vocabulary_Permissionq:(h tU_Add_Folders_Permissionq;(h tU_Add_ZCatalogs_Permissionq<(h tU_Use_Factories_Permissionq=(h tU%_Add_Virtual_Host_Monsters_Permissionq>(h tU_Search_ZCatalog_Permissionq?(h tU(_Manage_ZCatalogIndex_Entries_Permissionq@(h tU _Change_configuration_PermissionqA(h tU_Query_Vocabulary_PermissionqB(h tU'_Change_Database_Connections_PermissionqC(h tU _Log_to_the_Event_Log_PermissionqD(h tU_Manage_WebDAV_Locks_PermissionqE(h tU_Log_Site_Errors_PermissionqF(h tU,_Add_Documents__Images__and_Files_PermissionqG(h tU _Add_Temporary_Folder_PermissionqH(h tU%_Change_Browser_Id_Manager_PermissionqI(h tU-_Add_Z_Gadfly_Database_Connections_PermissionqJ(h tU!_Change_cache_managers_PermissionqK(h tU'_Change_Session_Data_Manager_PermissionqL(h tU_Add_ChatItems_PermissionqM(h tU_Manage_properties_PermissionqN(h tU _Add_Database_Methods_PermissionqO(h tU_Manage_Access_Rules_PermissionqP(h tU_Add_Python_Scripts_PermissionqQ(h tU#_Change_Database_Methods_PermissionqR(h tU_Manage_users_PermissionqS(h tU!_Use_mailhost_services_PermissionqT(h tU(_Save_discard_Version_changes_PermissionqU(h tU#_View_management_screens_PermissionqV(h tU"_Create_class_instances_PermissionqW(h tU_Join_leave_Versions_PermissionqX(h tU'_Access_contents_information_PermissionqY(h tU_Copy_or_Move_PermissionqZ(h tUtestuq[(UO>q\(hU PythonScriptq]tq^tq_QU _Add_External_Methods_Permissionq`(h tU_Add_Site_Roots_Permissionqa(h tU _Use_Database_Methods_Permissionqb(h tU_Add_ZRTChats_Permissionqc(h tU_Add_Versions_Permissionqd(h tU_Delete_objects_Permissionqe(h tU$_Access_Transient_Objects_Permissionqf(h tUtitleqgUU%_Test_Database_Connections_Permissionqh(h tU_Edit_Factories_Permissionqi(h tU_Add_Vocabularies_Permissionqj(h tU_Change_bindings_Permissionqk(h tU#_Manage_ZCatalog_Entries_Permissionql(h tU!_Import_Export_objects_Permissionqm(h tU_FTP_access_Permissionqn(h tU_Add_Page_Templates_Permissionqo(h tU_View_History_Permissionqp(h tU_WebDAV_access_Permissionqq(h tU_Change_Versions_Permissionqr(h tU_Take_ownership_Permissionqs(h tU+_Open_Close_Database_Connections_Permissionqt(h tU*_Open_Close_Database_Connection_Permissionqu(h tu.O Z((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (U _getattr_q U_getattrq U_print_q U_printq UcontextqUcolqU underlineqUunderqtqU co_argcountqKubUidqU style_cssqU__ac_local_roles__q}qUxavq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q (Uname_containerq!U containerq"U name_subpathq#Utraverse_subpathq$U name_contextq%hU name_m_selfq&Uscriptq'usbU func_defaultsq(NU_codeq)Tcsd„ZdS(Nc#s!t}tƒ}||||tdƒdƒdƒdƒ}||||tdƒdƒdƒdƒ}d}|djo d}n|d ||d IJ|d IJ |d IJ |d IJ |dIJ |dIJ |dIJ|dIJ|dIJ|ƒSdS(Nszwo_infosgenerals general_datashexas underlinessonstext-decoration:nones a:link,a:hover,a:visited {color:s}s.sans {text-decoration:none}s0.noir_sans {text-decoration:none; color:#000000}s1.blanc_sans {text-decoration:none; color:#FFFFFF}s1.rouge_sans {text-decoration:none; color:#FF0000}s2.rouge2_sans {text-decoration:none; color:#AA0000}s0.gris_sans {text-decoration:none; color:#999999}s0.noir_roll {text-decoration:none; color:#000000}s=.noir_roll:hover {text-decoration: underline;color: #990000;}(s _getattr_s_getattrs_print_s_printscontextscols underlinesunder(s _getattr_s_getattrs_print_s_printscontextscols underlinesunder((sScript (Python)s style_csss--          (s style_css(s style_css((sScript (Python)ssq*U_bodyq+TÑ#mem=context.zwo_lib.mem_data() col=context.zwo_info.general.general_data.hexa underline=context.zwo_info.general.general_data.underline under='' if underline<>'on': under='text-decoration:none' print 'a:link,a:hover,a:visited {color:'+col+under+'}' print '.sans {text-decoration:none}' print '.noir_sans {text-decoration:none; color:#000000}' print '.blanc_sans {text-decoration:none; color:#FFFFFF}' print '.rouge_sans {text-decoration:none; color:#FF0000}' print '.rouge2_sans {text-decoration:none; color:#AA0000}' print '.gris_sans {text-decoration:none; color:#999999}' print '.noir_roll {text-decoration:none; color:#000000}' print '.noir_roll:hover {text-decoration: underline;color: #990000;}' return printed q,U Script_magicq-KUwarningsq.)Utitleq/Unoyauq0Uerrorsq1)U Python_magicq2U*ë q3u.OMa((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Umemq U_write_q U_writeq U _getitem_q U_getitemqU _getattr_qU_getattrqU_print_qU_printqUcontextqUnomqUskinqU titre_pageqU titre_siteqUobqUlmqUlUstringqUdecqUdicoqUokqUchqUdec2qUlenq UmUkU tag_colorq!Utag_imgq"Uvalq#Ulppq$Utppq%UaUfpq&Upbdq'Ualq(U elem_placedq)Uprinttabq*U printcaseq+Ubtq,U co_argcountq-KubU_paramsq.Umemq/Uidq0Ustandard_html_headerq1U__ac_local_roles__q2}q3Uxavq4]q5UOwnerq6asU _bind_namesq7(cShared.DC.Scripts.Bindings NameAssignments q8oq9}q:U_asgnsq;}q<(Uname_containerq=U containerq>U name_subpathq?Utraverse_subpathq@U name_contextqAhU name_m_selfqBUscriptqCusbU func_defaultsqDNU_codeqET,csd„ZdS(Nc'Bs t}t}t}tƒ}|ˆdƒdjo<|dIJ|d|t dƒƒdIJ|ƒSnd|ˆƒd<|ˆd ƒ‰ |ˆd ƒ‰ |ˆd ƒ}  |||||ˆd ƒd ƒdƒdƒdƒ} |dIJ|d| d| dIJ|ˆdƒ}||dƒdƒo||dƒ}xq|drd}|tdƒ|dƒ}h}d}x©|drœ}|tdƒ|dƒ}t|ƒdjoe||dƒdjo||dƒdjo d}n||dƒ||ƒ||dƒ}"nh| d<ƒd?jo id@}"nk|dA|!d"|"IJog}#q‡‡‡‡‡dB†‰˜‡‡dC†‰?ˆdDdƒ\}}&A||IJB|ƒSdS(ENsdroit_vue_dossieris^



Cette page nécessite une identification.



s> Pour vous identifier sur le site,
cliquer sur Se connecter
isinskinsskin_idsskin_objsrep_toiszwo_objszwo_infosgenerals general_datassites ss��� - s���s config_objs hasPropertysmetasssplits!!s=scontentsssså sszwo_libs tab_to_valspages/csGNt}t}|Oˆdƒ|ƒoP|ˆ|ƒSnRdSdS(Nshas_keys(s _getitem_s_getitems _getattr_s_getattrstppskey(skeys _getitem_s_getitems _getattr_s_getattrstpp(stpp(sScript (Python)sfpNssdecvs topmargin="s" marginheight="s topmargin="0" marginheight="0"sdechs leftmargin="sdevhs" marginwidth="s leftmargin="0" marginwidth="0"s couleurpages bgcolor="simages background="szwo_urls/zwo_info/images/fonds/salignscenters
srights
sPas d'élément de skin ici
s[Déplacer la zone principale]s FINHEADERsappends*s hasPropertys dispositions zwo_modulesselements view_htmls+s
s-s s--s   s++s

(s_write_s_writes _getitem_s_getitems _getattr_s_getattrspcasescolortxtsmemsvalscasesccslensstrings tabinlistsprinttabswriteoksnomsnccselsskinszelemsspscontext(scasescolortxtswriteoks_write_s_writes _getitem_s_getitems _getattr_s_getattrspcasesmemsvalsccslensstrings tabinlistsprinttabsnomsnccselsskinszelemsspscontext(sskinsvalsprinttabsnomsmem(sScript (Python)s printcaseqs> $%   :c/XsÁ ˜t}t}t}tƒ} ™||ˆdƒ|ƒ} š||ˆdƒ|ƒ} œh} d}žd}Ÿd} g}¡x(| d¡r}¢xÜ|d¢rÏ}£t|ƒdt|ƒ}¤xŒ¤|| dƒ|ƒor¥|d}¦t|ƒdt|ƒ}§|d|jo0|¨|dƒ|ƒ©|d}ªd}nqÎW«||ˆdƒ|ƒ}¬||d ƒ}­||d ƒ}®|d jo ¯d }n°|d jo ±d }n²t|ƒ}³t|ƒ}´xpt|ƒd´r]}µxQt|ƒdµr>}¶t||ƒdt||ƒ}·d || ƒ|s .Sbordures{border:s px solid s couleurcadres;}ss class=Sborduresmarges couleurfonds#000000s couleurtextesleftsalignsvalignsss colspan="s rowspan="s align="s valign="s bgcolor="s class="Sborduress
sss(/s_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printsvalstabsptstablesveriftabsisjs nbcolonness lignevideslignescasesstrsidcasespcscolspansrowspansintsrangesiisjjsidcsnblignesspptsptcadresmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabswriteokspcccsppcs textcolorsppccspcasescelsmargeints printcasesaffcel(/stabswriteoks_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printsvalsptstablesveriftabsisjs nbcolonness lignevideslignescasesstrsidcasespcscolspansrowspansintsrangesiisjjsidcsnblignesspptsptcadresmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabspcccsppcs textcolorsppccspcasescelsmargeints printcasesaffcel(svals printcase(sScript (Python)sprinttab˜s          %     "&      .         ,%," """""    .   1        sT1('s_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printsmemscontextsnomsskins titre_pages titre_sitesobslmslsstringsdecsdicosokschsdec2slensmsks tag_colorstag_imgsvalslppstppsasfpspbdsals elem_placeds printcasesprinttabsb('smems_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printscontextsnomsskins titre_pages titre_sitesobslmslsstringsdecsdicosokschsdec2slensmsks tag_colorstag_imgsvalslppstppsasfpspbdsals elem_placedsprinttabs printcasesb((smemstppsskinsvalsprinttabsnoms printcasesScript (Python)sstandard_html_headersˆ4 !6   , - !*       !$ 1 - - 0    '§ (sstandard_html_header(sstandard_html_header((sScript (Python)ssqFU_bodyqGT­if mem['droit_vue_dossier']==0: print '



Cette page nécessite une identification.



' print ' Pour vous identifier sur le site,
cliquer sur Se connecter
' return printed mem['inskin']=1 nom=mem['skin_id'] skin=mem['skin_obj'] titre_page=mem['rep_toi'] titre_site=mem['zwo_obj'].zwo_info.general.general_data.site print '' print ''+titre_site+' - '+titre_page+'' #~meta tags ob=mem['config_obj'] if ob.hasProperty('metas'): lm=ob.metas for l in lm: dec=string.split(l,'!!') dico={} ok=0 for ch in dec: dec2=string.split(ch,'=') if len(dec2)>1: if dec2[0]=='content' and dec2[1]<>'': ok=1 dico[dec2[0]]=dec2[1] if ok==1: m='' print m #fin meta tags print '' print """ """ print '' tag_color='' tag_img='' val=context.zwo_lib.tab_to_val(skin) lpp=string.split(skin.page,'/') tpp={} for a in lpp: if a<>'': dec=string.split(a,'=') if len(dec)>1: tpp[dec[0]]=dec[1] def fp(key): if tpp.has_key(key): return tpp[key] else: return '' pbd='' if fp('decv')<>'': pbd=pbd+' topmargin="'+fp('decv')+'" marginheight="'+fp('decv')+'"' else: pbd=pbd+' topmargin="0" marginheight="0"' if fp('dech')<>'': pbd=pbd+' leftmargin="'+fp('devh')+'" marginwidth="'+fp('devh')+'"' else: pbd=pbd+' leftmargin="0" marginwidth="0"' if fp('couleurpage')<>'': pbd=pbd+' bgcolor="'+fp('couleurpage')+'"' if fp('image')<>'': pbd=pbd+' background="'+mem['zwo_url']+'/zwo_info/images/fonds/'+fp('image')+'"' al='' if fp('align')=='center': al='
' if fp('align')=='right': al='
' print ''+al elem_placed=[] def printcase(case,colortxt,writeok): pcase='' mem['couleur_text']=colortxt cc=val['cc'][case] if len(cc)==1: tabinlist=string.split(cc[0],'T') if len(tabinlist)>1: (pcase,writeok)=printtab('T'+tabinlist[1],writeok) return (pcase,writeok) if cc[0]=='######': pcase=pcase+'Zone Principale
Pas d\'élément de skin ici
' pcase=pcase+'[Déplacer la zone principale]' return ('FINHEADER',writeok) ncc=[] for el in cc: if el<>'': ncc.append(el) for el in ncc: zelem=skin[el] sp='*' if zelem.hasProperty('disposition'): sp=zelem.disposition pcase=pcase+context.zwo_modules[zelem.element].view_html(mem,zelem) if sp=="+": pcase=pcase+"
" if sp=="-": pcase=pcase+" " if sp=="--": pcase=pcase+"  " if sp=="++": pcase=pcase+"

" return (pcase,writeok) def printtab(tab,writeok): pt=val['pt'][tab] table=val['ct'][tab] veriftab={} i=0 j=0 nbcolonnes=0 lignevide=[] for ligne in table: for case in ligne: idcase=str(i)+'-'+str(j) while veriftab.has_key(idcase): i=i+1 idcase=str(i)+'-'+str(j) if i+1>nbcolonnes: lignevide.append(j) j=j+1 i=0 pc=val['pc'][case] colspan=pc['colspan'] rowspan=pc['rowspan'] if colspan=='': colspan='1' if rowspan=='': rowspan='1' colspan=int(colspan) rowspan=int(rowspan) for ii in range(colspan): for jj in range(rowspan): idc=str(i+ii)+'-'+str(j+jj) veriftab[idc]='oui' i=i+colspan if j==0: nbcolonnes=i j=j+1 i=0 nblignes=j ppt='' if tab=='T1': if pt['hauteur']<>'': ppt=ppt+' height="'+pt['hauteur']+'"' if pt['largeur']<>'': ppt=ppt+' width="'+pt['largeur']+'"' else: ppt=ppt+' height="100%"' ppt=ppt+' width="100%"' ppt=ppt+' cellspacing="0"' ppt=ppt+' cellpadding="0"' ppt=ppt+' border="0"' ptcadre=pt['cadre'] if ptcadre<>'0' and ptcadre<>'': print '' ppt=ppt+' class=Sbordure'+tab margetab="0" if pt['marge']<>'': margetab=pt['marge'] couleurfondtab="" if pt['couleurfond']<>'': couleurfondtab=pt['couleurfond'] couleurtextetab="#000000" if pt['couleurtexte']<>'': couleurtextetab=pt['couleurtexte'] aligntab="left" if pt['align']<>'': aligntab=pt['align'] valigntab="left" if pt['valign']<>'': valigntab=pt['valign'] print '' j=0 for ligne in table: print '' for case in ligne: if case<>'' and writeok==1: pc=val['pc'][case] pccc='' if pc['colspan']<>'' and pc['colspan']<>'1': pccc=pccc+' colspan="'+pc['colspan']+'"' if pc['rowspan']<>'' and pc['rowspan']<>'1': pccc=pccc+' rowspan="'+pc['rowspan']+'"' ppc='' if pc['hauteur']<>'': ppc=ppc+' height="'+pc['hauteur']+'"' if pc['largeur']<>'': ppc=ppc+' width="'+pc['largeur']+'"' if pc['align']<>'': ppc=ppc+' align="'+pc['align']+'"' else : ppc=ppc+' align="'+aligntab+'"' if pc['valign']<>'': ppc=ppc+' valign="'+pc['valign']+'"' else : ppc=ppc+' valign="'+valigntab+'"' if pc['couleurfond']<>'': ppc=ppc+' bgcolor="'+pc['couleurfond']+'"' elif couleurfondtab<>'': ppc=ppc+' bgcolor="'+couleurfondtab+'"' textcolor=couleurtextetab if pc['couleurtexte']<>'': textcolor=pc['couleurtexte'] textcolor=couleurtextetab if pc['couleurtexte']<>'': textcolor=pc['couleurtexte'] ppcc='' pcase=pc['cadre'] if pcase<>'0' and pcase<>'': print '' ppcc=' class="Sbordure'+case+'"' cel='' margeint=margetab if pc['marge']<>'': margeint=pc['marge'] if margeint<>'0': cel=cel+'' else: cel=cel+'' #Affichage cellule (affcel,writeok)=printcase(case,textcolor,writeok) if 'FINHEADER'==affcel: writeok=0 print cel return (printed,writeok) else: if affcel=='': affcel='' cel=cel+affcel if writeok==0: print cel return (printed,writeok) if margeint<>'0': cel=cel+'
' cel=cel+'' print cel j=j+1 print '' print '' return (printed,writeok) (a,b)=printtab('T1',1) print a return printed qHU Script_magicqIKUwarningsqJ)UtitleqKUnoyauqLUerrorsqM)U Python_magicqNU*ë qOu.Ol((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Uloginq Upasswordq U _getitem_q U_getitemq U _getattr_qU_getattrqUcontextqUuserfolderzopeqtqU co_argcountqKubU_paramsqUlogin, passwordqUidqUinstallqU__ac_local_roles__q}qUgregq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}q U_asgnsq!}q"(Uname_containerq#U containerq$U name_subpathq%Utraverse_subpathq&U name_m_selfq'Uscriptq(U name_contextq)husbU func_defaultsq*NU_codeq+Tõcsd„ZdS(Ncs"t}t}|tdƒ}||dƒ||dgdƒ|||tdƒdƒdƒdg|gƒ||||tdƒdƒ|ƒd ƒd |ƒ|td ƒd gƒ|tdƒd gd gƒ||dƒdgƒ|||tdƒdƒdƒdƒdS(Ns acl_userssuserFolderAddUsers config_zwooksszwo_infosuserssmanage_renameObjectssadminsmanage_changePropertiesstitlesmanage_delObjectss index_htmls index_html2suserFolderDelUserssREQUESTsRESPONSEsredirects./lasttraceinstall(s _getitem_s_getitems _getattr_s_getattrscontextsuserfolderzopesloginspassword(sloginspasswords _getitem_s_getitems _getattr_s_getattrscontextsuserfolderzope((sScript (Python)sinstalls!(4+(sinstall(sinstall((sScript (Python)ssq,Uerrorsq-)U_bodyq.T·userfolderzope=context.acl_users userfolderzope.userFolderAddUser(login, password, ['config_zwook'], '') context.zwo_info.users.manage_renameObjects(['admin'],[login]) context.zwo_info.users[login].manage_changeProperties(title=login) context.manage_delObjects(['index_html']) context.manage_renameObjects(['index_html2'],['index_html']) userfolderzope.userFolderDelUsers(['admin']) context.REQUEST.RESPONSE.redirect('./lasttraceinstall') q/U Script_magicq0KUwarningsq1)U _proxy_rolesq2(UManagerq3tq4U Python_magicq5U*ë q6u.O®((U OFS.FolderqUFolderqtqNt.}q(UidqUzwo_infoqU__ac_local_roles__q}qUmanuq ]q (UManagerq UOwnerq U config_zwookq esU_objectsq(}q(U meta_typeqUFolderqUidqUskinsqu}q(U meta_typeqUFolderqUidqUusersqu}q(hhhUgroupsqu}q(U meta_typeqUFolderqUidqUgeneralqu}q (U meta_typeq!UFolderq"Uidq#Uimagesq$u}q%(U meta_typeq&UFolderq'Uidq(Uforumsq)u}q*(U meta_typeq+UFolderq,Uidq-U calendrierq.utUimagesq/(UO?q0(hUFolderq1tq2tq3QU _propertiesq4(}q5(hUtitleq6Umodeq7UwUtypeq8Ustringq9u}q:(hU type_zwookq;h8UstringqUsystemq?Utypeq@UstringqAutUgroupsqB(UO@qC(hUFolderqDtqEtqFQU type_zwookqGUsystemqHUskinsqI(UOBqJ(hUFolderqKtqLtqMQUgeneralqN(UOAqO(hUFolderqPtqQtqRQUsystemqSUdataqTU calendrierqU(UOCqV(hUFolderqWtqXtqYQUusersqZ(UODq[(hUFolderq\tq]tq^QUtitleq_UInformation sur le zwookq`h)(UOEqa(hUFolderqbtqctqdQu.OV((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (U _getattr_q U_getattrq U AccessControlq UgetSecurityManagerq UaU containerqtqU co_argcountqKubU_paramsqUUidqUacl_urlqU__ac_local_roles__q}qUxavq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerq U name_subpathq!Utraverse_subpathq"U name_m_selfq#Uscriptq$U name_contextq%Ucontextq&usbU func_defaultsq'NU_codeq(T3csd„ZdS(Ncs`t}dkl}|ƒ}||dƒƒdjo dSn|tdƒƒSdS(N(sgetSecurityManagerscalledByExecutableisnons absolute_url(s _getattr_s_getattrs AccessControlsgetSecurityManagersas container(s _getattr_s_getattrs AccessControlsgetSecurityManagersas container((sScript (Python)sacl_urls  (sacl_url(sacl_url((sScript (Python)ssq)U_bodyq*Ufrom AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' return container.absolute_url() q+U Script_magicq,KUwarningsq-)Utitleq.Unoyauq/Uerrorsq0)U Python_magicq1U*ë q2u.O <((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Uviewq U _getitem_q U_getitemq U _getattr_q U_getattrqU_print_qU_printqUcontextqUmemqtqU co_argcountqKubU_paramsqU view='normal'qUidqU index_html2qU__ac_local_roles__q}qUxavq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq }q!U_asgnsq"}q#(Uname_containerq$U containerq%U name_subpathq&Utraverse_subpathq'U name_contextq(hU name_m_selfq)Uscriptq*usbU func_defaultsq+(Unormalq,tq-U_codeq.T‡csdd„ZdS(Nsnormalc st}t}tƒ}||tdƒdƒƒ}| o dSnd||dƒƒjo||dƒSn ||dƒdjoM |dIJ |d |td ƒƒd ||d ƒd IJ |ƒSn|djoX||tdƒ|ƒIJ||tdƒ|ƒIJ||tdƒ|ƒIJn½|djoX||tdƒ|ƒIJ||tdƒ|ƒIJ||tdƒ|ƒIJnU||tdƒ|ƒIJ||tdƒ|ƒIJ||tdƒ|ƒIJ|ƒSdS(Nszwo_libsmem_datas³Vous utilisez un User Zope qui n'est pas enregistré dans Zwook !!!
Delogger vous ICI.
Vous devez ensuite cliquer sur Annuler/Cancel...sretourspskeyssdroit_vue_dossieris^



Cette page nécessite une identification.



s> Pour vous identifier sur le site,
cliquer sur Se connecter
sprintsstandard_printable_headershomesstandard_printable_footersimgsstandard_html_headers home_imagesstandard_html_footer( s _getitem_s_getitems _getattr_s_getattrs_print_s_printscontextsmemsview( sviews _getitem_s_getitems _getattr_s_getattrs_print_s_printscontextsmem((sScript (Python)s index_html2s(3   2  (s index_html2(s index_html2((sScript (Python)ssq/U_bodyq0T÷mem=context.zwo_lib.mem_data() if not mem: return 'Vous utilisez un User Zope qui n\'est pas enregistré dans Zwook !!!
Delogger vous ICI.
Vous devez ensuite cliquer sur Annuler/Cancel...' if 'retoursp' in mem.keys(): return mem['retoursp'] if mem['droit_vue_dossier']==0: print '



Cette page nécessite une identification.



' print ' Pour vous identifier sur le site,
cliquer sur Se connecter
' return printed if view=='print': print context.standard_printable_header(mem) print context.home(mem) print context.standard_printable_footer(mem) elif view=='img': print context.standard_html_header(mem) print context.home_image(mem) print context.standard_html_footer(mem) else: print context.standard_html_header(mem) print context.home(mem) print context.standard_html_footer(mem) return printed q1U Script_magicq2KUwarningsq3)Utitleq4Unoyauq5Uerrorsq6)U Python_magicq7U*ë q8u.O×((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Urepq Uidoldq Uidnewq U _getattr_q U_getattrqU AccessControlqUgetSecurityManagerqUatqU co_argcountqKubU_paramsqUrep,idold,idnewqUidqU zwo_renameqU__ac_local_roles__q}qUxavq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq }q!(Uname_containerq"U containerq#U name_subpathq$Utraverse_subpathq%U name_m_selfq&Uscriptq'U name_contextq(Ucontextq)usbU func_defaultsq*NU_codeq+Tucsd„ZdS(Ncsst}dkl}|ƒ}||dƒƒdjo dSn||dƒ|g|gƒdSdS(N(sgetSecurityManagerscalledByExecutableisnonsmanage_renameObjects(s _getattr_s_getattrs AccessControlsgetSecurityManagersasrepsidoldsidnew(srepsidoldsidnews _getattr_s_getattrs AccessControlsgetSecurityManagersa((sScript (Python)s zwo_renames  (s zwo_rename(s zwo_rename((sScript (Python)ssq,Uerrorsq-)U_bodyq.U¢from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' rep.manage_renameObjects([idold],[idnew]) return q/U Script_magicq0KUwarningsq1)U _proxy_rolesq2(UManagerq3tq4U Python_magicq5U*ë q6u.O=Š((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Umemq U_write_q U_writeq U _getitem_q U_getitemqU _getattr_qU_getattrqU_print_qU_printqUcontextqUOKPRINTqUnomqUskinqUvalqU elem_placedqUprinttabqU printcaseqUaUbUstringqUlppqUtppqUdecqUlenqUfpq Ualq!tq"U co_argcountq#KubU_paramsq$Umemq%Uidq&Ustandard_html_footerq'U__ac_local_roles__q(}q)Uxavq*]q+UOwnerq,asU _bind_namesq-(cShared.DC.Scripts.Bindings NameAssignments q.oq/}q0U_asgnsq1}q2(Uname_containerq3U containerq4U name_subpathq5Utraverse_subpathq6U name_contextq7hU name_m_selfq8Uscriptq9usbU func_defaultsq:NU_codeq;T1#csd„ZdS(Nc s]t}t}t}tƒ}|ˆdƒdjo<|dIJ|d|t dƒƒdIJ|ƒSnd|ˆƒd<g}  |ˆd ƒ‰ |ˆd ƒ‰ ||t d ƒd ƒˆƒ‰g}‡‡‡‡‡d †‰8‡‡d†‰àˆddƒ\}}â||IJä|tdƒ|ˆdƒdƒ}åh‰æx|dært}ç|djo^è|tdƒ|dƒ}ét|ƒdjo)ê||dƒ|ˆƒ||dƒ


Cette page nécessite une identification.



s> Pour vous identifier sur le site,
cliquer sur Se connecter
isinskinsskin_idsskin_objszwo_libs tab_to_valcs t}t}t}d} ||ˆƒd<||ˆdƒ|ƒ} t | ƒdjoÀ|t dƒ|| dƒdƒ}t |ƒdjo6ˆd||dƒ|ƒ\} }| |fSn|| dƒdjo3| d } | d ˆd } d |fSnn g}!x=| d!r0}"|djo|#|d ƒ|ƒnq7W%x|d%r}&|ˆ|ƒ}'d}|)|dƒdƒo*||dƒ}n,| |||tdƒ||dƒƒdƒˆ|ƒ} -|djo.| d} n/|djo0| d} n1|djo2| d} n3|djo4| d} nqzW6| |fSdS(Nss couleur_textsccissplitisTs######s6Zone Principale
Pas d'élément de skin ici
s[Déplacer la zone principale]s DEBUTFOOTERsappends*s hasPropertys dispositions zwo_modulesselements view_htmls+s
s-s s--s   s++s

(s_write_s_writes _getitem_s_getitems _getattr_s_getattrspcasescolortxtsmemsvalscasesccslensstrings tabinlistsprinttabswriteoksnomsnccselsskinszelemsspscontext(scasescolortxtswriteoks_write_s_writes _getitem_s_getitems _getattr_s_getattrspcasesmemsvalsccslensstrings tabinlistsprinttabsnomsnccselsskinszelemsspscontext(sskinsvalsprinttabsnomsmem(sScript (Python)s printcases> $%   :c/OsÐ 8t}t}t}tƒ} 9||ˆdƒ|ƒ} :||ˆdƒ|ƒ} <h} =d}>d}?d}@g}Ax(| dAr}BxÜ|dBrÏ}Ct|ƒdt|ƒ}DxŒD|| dƒ|ƒorE|d}Ft|ƒdt|ƒ}G|d|jo0|H|dƒ|ƒI|d}Jd}nqÎWK||ˆdƒ|ƒ}L||d ƒ}M||d ƒ}N|d jo Od }nP|d jo Qd }nRt|ƒ}St|ƒ}Txpt|ƒdTr]}UxQt|ƒdUr>}Vt||ƒdt||ƒ}Wd || ƒ|s .Sbordures{border:s px solid s couleurcadres;}ss class=Sborduresss colspan="s rowspan="s align="s valign="s bgcolor="s class="Sborduress
sss(/s_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printsvalstabsptstablesveriftabsisjs nbcolonness lignevideslignescasesstrsidcasespcscolspansrowspansintsrangesiisjjsidcsnblignesspptsmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabswriteoksptcadrespcccsppcs textcolorsppccspccadrescelsmargeints printcasesaffcel(/stabswriteoks_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printsvalsptstablesveriftabsisjs nbcolonness lignevideslignescasesstrsidcasespcscolspansrowspansintsrangesiisjjsidcsnblignesspptsmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabsptcadrespcccsppcs textcolorsppccspccadrescelsmargeints printcasesaffcel(svals printcase(sScript (Python)sprinttab8s          %     "&           .   ,%," """""  * .   1     sT1ssplitspages/ss=csGìt}t}|íˆdƒ|ƒoî|ˆ|ƒSnðdSdS(Nshas_keys(s _getitem_s_getitems _getattr_s_getattrstppskey(skeys _getitem_s_getitems _getattr_s_getattrstpp(stpp(sScript (Python)sfpìssalignscenters
srights
s(s_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printsmemscontextsOKPRINTsnomsskinsvals elem_placeds printcasesprinttabsasbsstringslppstppsdecslensfpsal(smems_write_s_writes _getitem_s_getitems _getattr_s_getattrs_print_s_printscontextsOKPRINTsnomsskinsvals elem_placedsprinttabs printcasesasbsstringslppstppsdecslensfpsal((smemsskinstppsvalsprinttabsnoms printcasesScript (Python)sstandard_html_footers84 ! ! '¨ $ 1   (sstandard_html_footer(sstandard_html_footer((sScript (Python)ssq


Cette page nécessite une identification.



' print ' Pour vous identifier sur le site,
cliquer sur Se connecter
' return printed mem['inskin']=1 OKPRINT=[] nom=mem['skin_id'] skin=mem['skin_obj'] val=context.zwo_lib.tab_to_val(skin) elem_placed=[] def printcase(case,colortxt,writeok): pcase='' mem['couleur_text']=colortxt cc=val['cc'][case] if len(cc)==1: tabinlist=string.split(cc[0],'T') if len(tabinlist)>1: (pcase,writeok)=printtab('T'+tabinlist[1],writeok) return (pcase,writeok) if cc[0]=='######': pcase=pcase+'Zone Principale
Pas d\'élément de skin ici
' pcase=pcase+'[Déplacer la zone principale]' return ('DEBUTFOOTER',writeok) ncc=[] for el in cc: if el<>'': ncc.append(el) for el in ncc: zelem=skin[el] sp='*' if zelem.hasProperty('disposition'): sp=zelem.disposition pcase=pcase+context.zwo_modules[zelem.element].view_html(mem,zelem) if sp=="+": pcase=pcase+"
" if sp=="-": pcase=pcase+" " if sp=="--": pcase=pcase+"  " if sp=="++": pcase=pcase+"

" return (pcase,writeok) def printtab(tab,writeok): pt=val['pt'][tab] table=val['ct'][tab] veriftab={} i=0 j=0 nbcolonnes=0 lignevide=[] for ligne in table: for case in ligne: idcase=str(i)+'-'+str(j) while veriftab.has_key(idcase): i=i+1 idcase=str(i)+'-'+str(j) if i+1>nbcolonnes: lignevide.append(j) j=j+1 i=0 pc=val['pc'][case] colspan=pc['colspan'] rowspan=pc['rowspan'] if colspan=='': colspan='1' if rowspan=='': rowspan='1' colspan=int(colspan) rowspan=int(rowspan) for ii in range(colspan): for jj in range(rowspan): idc=str(i+ii)+'-'+str(j+jj) veriftab[idc]='oui' i=i+colspan if j==0: nbcolonnes=i j=j+1 i=0 nblignes=j ppt='' if tab=='T1': if pt['hauteur']<>'': ppt=ppt+' height="'+pt['hauteur']+'"' if pt['largeur']<>'': ppt=ppt+' width="'+pt['largeur']+'"' else: ppt=ppt+' height="100%"' ppt=ppt+' width="100%"' ppt=ppt+' cellspacing="0"' ppt=ppt+' cellpadding="0"' ppt=ppt+' border="0"' margetab="0" if pt['marge']<>'': margetab=pt['marge'] couleurfondtab="" if pt['couleurfond']<>'': couleurfondtab=pt['couleurfond'] couleurtextetab="#000000" if pt['couleurtexte']<>'': couleurtextetab=pt['couleurtexte'] aligntab="left" if pt['align']<>'': aligntab=pt['align'] valigntab="left" if pt['valign']<>'': valigntab=pt['valign'] if writeok>0: ptcadre=pt['cadre'] if ptcadre<>'0' and ptcadre<>'': print '' ppt=ppt+' class=Sbordure'+tab print '' j=0 for ligne in table: if writeok>0: print '' for case in ligne: if case<>'': pc=val['pc'][case] pccc='' if pc['colspan']<>'' and pc['colspan']<>'1': pccc=pccc+' colspan="'+pc['colspan']+'"' if pc['rowspan']<>'' and pc['rowspan']<>'1': pccc=pccc+' rowspan="'+pc['rowspan']+'"' ppc='' if pc['hauteur']<>'': ppc=ppc+' height="'+pc['hauteur']+'"' if pc['largeur']<>'': ppc=ppc+' width="'+pc['largeur']+'"' if pc['align']<>'': ppc=ppc+' align="'+pc['align']+'"' else : ppc=ppc+' align="'+aligntab+'"' if pc['valign']<>'': ppc=ppc+' valign="'+pc['valign']+'"' else : ppc=ppc+' valign="'+valigntab+'"' if pc['couleurfond']<>'': ppc=ppc+' bgcolor="'+pc['couleurfond']+'"' elif couleurfondtab<>'': ppc=ppc+' bgcolor="'+couleurfondtab+'"' textcolor=couleurtextetab if pc['couleurtexte']<>'': textcolor=pc['couleurtexte'] ppcc='' pccadre=pc['cadre'] if pccadre<>'0' and pccadre<>'' and writeok>0: print '' ppcc=' class="Sbordure'+case+'"' cel='' margeint=margetab if pc['marge']<>'': margeint=pc['marge'] if margeint<>'0': cel=cel+'' else: cel=cel+'' #Affichage cellule (affcel,writeok)=printcase(case,textcolor,writeok) if 'DEBUTFOOTER'==affcel: writeok=1 cel='' else: if writeok>0: if affcel=='': affcel='' cel=cel+affcel if margeint<>'0': if writeok>0: cel=cel+'
' if writeok>0: cel=cel+'' print cel j=j+1 if writeok>0: print '' if writeok>0: print '' return (printed,writeok) (a,b)=printtab('T1',0) print a lpp=string.split(skin.page,'/') tpp={} for a in lpp: if a<>'': dec=string.split(a,'=') if len(dec)>1: tpp[dec[0]]=dec[1] def fp(key): if tpp.has_key(key): return tpp[key] else: return '' al='' if fp('align')=='center': al='
' if fp('align')=='right': al='' print al+'' return printed q>U Script_magicq?KUwarningsq@)UtitleqAUnoyauqBUerrorsqC)U Python_magicqDU*ë qEu.OV((U OFS.FolderqUFolderqtqNt.}q(Uactionsq(UOFq(hUFolderqtqtq QUidq U zwo_upgradesq U__ac_local_roles__q }q Uxavq]qUOwnerqasUconstruct_upgradeq(UOGq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtqtqQU_objectsq(}q(U meta_typeqUScript (Python)qh Uconstruct_upgradequ}q(hhh U test_upgradequ}q(hhh U make_upgradequ}q (hhh Uinstallq!u}q"(hUFolderq#h Uactionsq$utUtitleq%UUinstallq&(UOHq'(hU PythonScriptq(tq)tq*QU test_upgradeq+(UOIq,(hU PythonScriptq-tq.tq/QU make_upgradeq0(UOJq1(hU PythonScriptq2tq3tq4Qu.Oä((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (U _getitem_q U_getitemq U _getattr_q U_getattrq U_print_qU_printqUcontextqUmemqUobjectqtqU co_argcountqKubU_paramsqUUidqUtoolboxqU__ac_local_roles__q}qUadminq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}q U_asgnsq!}q"(Uname_containerq#U containerq$U name_subpathq%Utraverse_subpathq&U name_contextq'Ucontextq(U name_m_selfq)Uscriptq*usbU func_defaultsq+NU_codeq,TŸcsd„ZdS(Nc Jsßt}t}tƒ}||tdƒdƒƒ}||dƒdjo dSn|dIJ|dIJ|dIJ|d IJ |d IJ |d IJ |d IJ |d IJ |dIJ|dIJ|dIJ|dIJ|dIJ|dIJx±|||dƒdƒdgƒdr‰}|d||dƒƒdIJ|dIJ|dIJ|dIJ|dIJ|dIJ|d ||dƒƒd!IJq4W|d"IJ |ƒSdS(#Nszwo_libsmem_datasdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !sL Epoz-Toolboxs"

Pour ajouter une image

sD
s
ss s?sLsSss
s=Identification:
titre:
Recherche fichier
s
s

Images

srep_objs objectValuessImageis <dtml-var title_or_id>s
( s _getitem_s_getitems _getattr_s_getattrs_print_s_printscontextsmemsobject( s _getitem_s_getitems _getattr_s_getattrs_print_s_printscontextsmemsobject((sScript (Python)stoolboxs43               0!     % (stoolbox(stoolbox((sScript (Python)ssq-U_bodyq.T“mem=context.zwo_lib.mem_data() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' print ' Epoz-Toolbox' print '

Pour ajouter une image

' print '
' print '
' print '' print '' print '' print '' print '' print'' print '
' print 'Identification:
titre:
Recherche fichier
' print '
' print'

Images

' for object in mem['rep_obj'].objectValues(['Image']): print '<dtml-var title_or_id>' print '
' return printed q/U Script_magicq0KUwarningsq1)Utitleq2U Epoz toolboxq3Uerrorsq4)U Python_magicq5U*ë q6u.O((U OFS.FolderqUFolderqtqNt.}q(UidqUzwo_boqU__ac_local_roles__q}qUxavq ]q UOwnerq asU choixcouleurq (UOKq (U#Products.PythonScripts.PythonScriptqU PythonScriptqtqtqQU_objectsq(}q(U meta_typeqUFolderqhUeditqu}q(hhhUadminqu}q(U meta_typeqUScript (Python)qUidqUmenuqu}q(U meta_typeqUScript (Python)q Uidq!Ueditionq"u}q#(U meta_typeq$UScript (Python)q%Uidq&U configboxq'u}q((U meta_typeq)UScript (Python)q*Uidq+h u}q,(U meta_typeq-UFolderq.Uidq/Uskinq0u}q1(U meta_typeq2UScript (Python)q3Uidq4U presentationq5u}q6(h2h3h4Uautourq7u}q8(U meta_typeq9UFolderq:Uidq;UarboqUScript (Python)q?Uidq@Upresentation_SAVqAutUarboqB(UOLqC(hUFolderqDtqEtqFQU _propertiesqG(}qH(UidqIUtitleqJUmodeqKUwUtypeqLUstringqMu}qN(hIU type_zwookqOhLUstringqPuthA(UOMqQ(hU PythonScriptqRtqStqTQU type_zwookqUUsystemqVh"(UONqW(hU PythonScriptqXtqYtqZQU configboxq[(UOOq\(hU PythonScriptq]tq^tq_QUmenuq`(UOPqa(hU PythonScriptqbtqctqdQUadminqe(UOQqf(hUFolderqgtqhtqiQUtitleqjUnoyau : back officeqkUeditql(UORqm(hUFolderqntqotqpQUskinqq(UOSqr(hUFolderqstqttquQU presentationqv(UOTqw(hU PythonScriptqxtqytqzQUautourq{(UOUq|(hU PythonScriptq}tq~tqQu.O ä((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Umemq U _getitem_q U_getitemq U _getattr_q U_getattrqU_print_qU_printqUcontextqUaffqtqU co_argcountqKubU_paramsqUmemqUidqUstandard_printable_headerqU__ac_local_roles__q}qUgregq]qUOwnerqasU_dav_writelocksq(UOWq(U Persistenceq UPersistentMappingq!tq"tq#QU _bind_namesq$(cShared.DC.Scripts.Bindings NameAssignments q%oq&}q'U_asgnsq(}q)(Uname_containerq*U containerq+U name_subpathq,Utraverse_subpathq-U name_m_selfq.Uscriptq/U name_contextq0Ucontextq1usbU func_defaultsq2NU_codeq3T§csd„ZdS(Nc sÐt}t}tƒ}||dƒdjo<|dIJ|d|tdƒƒdIJ|ƒSnd}|d}|d |td ƒd } |d } |d } |d} |SdS(Nsdroit_vue_dossieris^



Cette page nécessite une identification.



s> Pour vous identifier sur le site,
cliquer sur Se connecter
sss s���titles���sDs>s"
( s _getitem_s_getitems _getattr_s_getattrs_print_s_printsmemscontextsaff( smems _getitem_s_getitems _getattr_s_getattrs_print_s_printscontextsaff((sScript (Python)sstandard_printable_headers. !     (sstandard_printable_header(sstandard_printable_header((sScript (Python)ssq4U_bodyq5TEif mem['droit_vue_dossier']==0: print '



Cette page nécessite une identification.



' print ' Pour vous identifier sur le site,
cliquer sur Se connecter
' return printed aff="" aff=aff+'' aff=aff+''+context.title+'' aff=aff+'' aff=aff+'' aff=aff+'
' return aff q6U Script_magicq7KUwarningsq8)Uerrorsq9)U Python_magicq:U*ë q;u.Oê((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Umemq U _getitem_q U_getitemq U _getattr_q U_getattrqU_print_qU_printqUcontextqUaffqtqU co_argcountqKubU_paramsqUmemqUidqUstandard_printable_footerqU__ac_local_roles__q}qUgregq]qUOwnerqasU_dav_writelocksq(UOVq(U Persistenceq UPersistentMappingq!tq"tq#QU _bind_namesq$(cShared.DC.Scripts.Bindings NameAssignments q%oq&}q'U_asgnsq(}q)(Uname_containerq*U containerq+U name_subpathq,Utraverse_subpathq-U name_m_selfq.Uscriptq/U name_contextq0Ucontextq1usbU func_defaultsq2NU_codeq3T‘csd„ZdS(Nc s‹t}t}tƒ}||dƒdjo<|dIJ|d|tdƒƒdIJ|ƒSnd}|d}|SdS( Nsdroit_vue_dossieris^



Cette page nécessite une identification.



s> Pour vous identifier sur le site,
cliquer sur Se connecter
ss
( s _getitem_s_getitems _getattr_s_getattrs_print_s_printsmemscontextsaff( smems _getitem_s_getitems _getattr_s_getattrs_print_s_printscontextsaff((sScript (Python)sstandard_printable_footers . !  (sstandard_printable_footer(sstandard_printable_footer((sScript (Python)ssq4U_bodyq5Taif mem['droit_vue_dossier']==0: print '



Cette page nécessite une identification.



' print ' Pour vous identifier sur le site,
cliquer sur Se connecter
' return printed aff='' aff=aff+'
' return aff q6U Script_magicq7KUwarningsq8)Uerrorsq9)U Python_magicq:U*ë q;u.O ã((U OFS.FolderqUFolderqtqNt.}q(Ucontactq(UOhq(hUFolderqtqtq QU__ac_local_roles__q }q U login_managerq (UOXq (hUFolderqtqtqQUtitreq(UOYq(hUFolderqtqtqQU members_listq(UOZq(hUFolderqtqtqQU _propertiesq(}q(UidqUtitleqUmodeqUwUtypeq Ustringq!u}q"(hU type_zwookq#h Ustringq$u}q%(hUsystemq&h Ustringq'utU type_zwookq(Usystemq)Uforums_last_messagesq*(UO[q+(hUFolderq,tq-tq.QU minicalendarq/(UO\q0(hUFolderq1tq2tq3QUquick_forums_last_messagesq4(UO]q5(hUFolderq6tq7tq8QUsystemq9Ulibq:Uflashq;(UO^q<(hUFolderq=tq>tq?QUtextq@(UOvqA(hUFolderqBtqCtqDQU locatebarqE(UO`qF(hUFolderqGtqHtqIQU calendrierqJ(UOaqK(hUFolderqLtqMtqNQUforumqO(UObqP(hUFolderqQtqRtqSQU mesevenementsqT(UOcqU(hUFolderqVtqWtqXQUsuggest_contentqY(UOdqZ(hUFolderq[tq\tq]QU folder_barq^(UOeq_(hUFolderq`tqatqbQU exemplemoduleqc(UOfqd(hUFolderqetqftqgQUidqhU zwo_modulesqiUtotalqj(UOgqk(U#Products.PythonScripts.PythonScriptqlU PythonScriptqmtqntqoQUongletsqp(UOuqq(hUFolderqrtqstqtQUproject_checkerqu(UO_qv(hUFolderqwtqxtqyQUarticleqz(UOjq{(hUFolderq|tq}tq~QUfileq(UOkq€(hUFolderqtq‚tqƒQU navigationq„(UOlq…(hUFolderq†tq‡tqˆQUforums_monitorq‰(UOmqŠ(hUFolderq‹tqŒtqQUbrowsing_modesqŽ(UOnq(hUFolderqtq‘tq’QU mp3_playlistq“(UOoq”(hUFolderq•tq–tq—QU catalogueq˜(UOpq™(hUFolderqštq›tqœQUlienq(UOqqž(hUFolderqŸtq tq¡QU_objectsq¢(}q£(U meta_typeq¤UFolderq¥Uidq¦Uarticleq§u}q¨(h¤h¥h¦Ubrowsing_modesq©u}qª(h¤h¥h¦U directfriendsq«u}q¬(h¤h¥h¦Ufileq­u}q®(h¤h¥h¦Uflashq¯u}q°(h¤h¥h¦U folder_barq±u}q²(h¤h¥h¦Uimageq³u}q´(h¤h¥h¦Ulienqµu}q¶(h¤h¥h¦U locatebarq·u}q¸(h¤h¥h¦Umapq¹u}qº(h¤h¥h¦U members_listq»u}q¼(h¤h¥h¦Uongletsq½u}q¾(h¤h¥h¦Uproject_checkerq¿u}qÀ(h¤h¥h¦Usuggest_contentqÁu}qÂ(h¤UScript (Python)qÃh¦UtotalqÄu}qÅ(h¤h¥h¦U exemplemoduleqÆu}qÇ(h¤h¥h¦U navigationqÈu}qÉ(h¤h¥h¦UtitreqÊu}qË(U meta_typeqÌUFolderqÍUidqÎU calendrierqÏu}qÐ(hÌhÍhÎhTu}qÑ(hÌhÍhÎh/u}qÒ(U meta_typeqÓUFolderqÔUidqÕh˜u}qÖ(hÓhÔhÕUtraitq×u}qØ(U meta_typeqÙUFolderqÚUidqÛU mp3_playlistqÜu}qÝ(hÙhÚhÛUforums_last_messagesqÞu}qß(U meta_typeqàUFolderqáUidqâh4u}qã(U meta_typeqäUFolderqåUidqæUtextqçu}qè(U meta_typeqéUFolderqêUidqëUcontactqìu}qí(U meta_typeqîUFolderqïUidqðUforumqñu}qò(U meta_typeqóUFolderqôUidqõUforums_monitorqöu}q÷(U meta_typeqøUFolderqùUidqúU login_managerqûutUimageqü(UOrqý(hUFolderqþtqÿtrQUtraitr(UOsr(hUFolderrtrtrQU directfriendsr(UOir(hUFolderrtr tr QUtitler Umodulesr Umapr (UOtr(hUFolderrtrtrQu.O i((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U__ac_local_roles__q}qU_Change_permissions_Permissionq(UManagerqtq U _propertiesq (}q (Uidq Utitleq UmodeqUwUtypeqUstringqu}q(h U type_zwookqhUstringqu}q(h UsystemqhUstringqutqU type_zwookqUsystemqU_Manage_WebDAV_Locks_Permissionq(htqU_Delete_objects_Permissionq(htqU_Manage_properties_Permissionq(htqU_Undo_changes_Permissionq (htq!U_WebDAV_Lock_items_Permissionq"(htq#U!_Change_DTML_Documents_Permissionq$(htq%U_Change_DTML_Methods_Permissionq&(htq'Utitleq(Unoyauq)U_Change_proxy_roles_Permissionq*(htq+Usystemq,Ulibq-U_WebDAV_Unlock_items_Permissionq.(htq/U_View_Permissionq0(U Authenticatedq1htq2U!_Change_cache_settings_Permissionq3(htq4U'_Access_contents_information_Permissionq5(U Anonymousq6h1htq7U#_View_management_screens_Permissionq8(htq9U__name__q:Utest_connectionq;Uglobalsq<}q=Urawq>T




Vous êtes connecté
Redirection automatique.

Pour une redirection manuelle : cliquer ici Pour une redirection manuelle : cliquer ici
q?U_FTP_access_Permissionq@(htqAU_View_History_PermissionqB(htqCU_WebDAV_access_PermissionqD(htqEU_Copy_or_Move_PermissionqF(htqGU_Take_ownership_PermissionqH(htqIU_varsqJ}qKu.O!+((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (U _getattr_q U_getattrq U AccessControlq UgetSecurityManagerq UaU containerqtqU co_argcountqKubU_paramsqUUidqUacl_objqU__ac_local_roles__q}qUxavq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerq U name_subpathq!Utraverse_subpathq"U name_m_selfq#Uscriptq$U name_contextq%Ucontextq&usbU func_defaultsq'NU_codeq(Tcsd„ZdS(NcsTt}dkl}|ƒ}||dƒƒdjo dSntSdS(N(sgetSecurityManagerscalledByExecutableisnon(s _getattr_s_getattrs AccessControlsgetSecurityManagersas container(s _getattr_s_getattrs AccessControlsgetSecurityManagersas container((sScript (Python)sacl_objs  (sacl_obj(sacl_obj((sScript (Python)ssq)U_bodyq*U‚from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' return container q+U Script_magicq,KUwarningsq-)Utitleq.Unoyauq/Uerrorsq0)U Python_magicq1U*ë q2u.O"¹((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Udepq Udestq Uidobjq Uidfinq U _getattr_qU_getattrqU AccessControlqUgetSecurityManagerqUatqU co_argcountqKubU_paramsqUdep,dest,idobj,idfin=''qUidqUzwo_cpyqU__ac_local_roles__q}qUxavq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}q U_asgnsq!}q"(Uname_containerq#U containerq$U name_subpathq%Utraverse_subpathq&U name_contextq'Ucontextq(U name_m_selfq)Uscriptq*usbU func_defaultsq+(Utq,U_codeq-Túcsdd„ZdS(Nsc s¯t}dkl}|ƒ}||dƒƒdjo dSn||dƒ||dƒ|gƒƒ|djo#||dƒ|g|gƒn dSdS( N(sgetSecurityManagerscalledByExecutableisnonsmanage_pasteObjectssmanage_copyObjectsssmanage_renameObjects( s _getattr_s_getattrs AccessControlsgetSecurityManagersasdestsdepsidobjsidfin( sdepsdestsidobjsidfins _getattr_s_getattrs AccessControlsgetSecurityManagersa((sScript (Python)szwo_cpys % (szwo_cpy(szwo_cpy((sScript (Python)ssq.U _proxy_rolesq/(UManagerq0tq1U_bodyq2Uífrom AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' dest.manage_pasteObjects(dep.manage_copyObjects([idobj])) if idfin<>'': dest.manage_renameObjects([idobj],[idfin]) return q3U Script_magicq4KUwarningsq5)Uerrorsq6)U Python_magicq7U*ë q8u.O#R((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (U _getattr_q U_getattrq Ucontextq UlistPermq UstringqUPermqU containerqtqU co_argcountqKubU_paramsqUUidqUlasttraceinstallqU__ac_local_roles__q}qUxavq]qUOwnerqasU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q (Uname_containerq!U containerq"U name_subpathq#Utraverse_subpathq$U name_contextq%Ucontextq&U name_m_selfq'Uscriptq(usbU func_defaultsq)NU_codeq*TNcsd„ZdS(Ncsˆt}|tdƒdgƒd}|tdƒ|dƒ}|tdƒd|ƒ|||tdƒd ƒd ƒd ƒdS( Nsmanage_delObjectssinstalls«Access Transient Objects Access contents information Access session data Copy or Move Query Vocabulary Search ZCatalog Undo changes Use mailhost services View View Historyssplits s manage_roles AnonymoussREQUESTsRESPONSEsredirects./(s _getattr_s_getattrscontextslistPermsstringsPerms container(s _getattr_s_getattrscontextslistPermsstringsPerms container((sScript (Python)slasttraceinstalls (slasttraceinstall(slasttraceinstall((sScript (Python)ssq+Uerrorsq,)U_bodyq-TYcontext.manage_delObjects(['install']) listPerm="""Access Transient Objects Access contents information Access session data Copy or Move Query Vocabulary Search ZCatalog Undo changes Use mailhost services View View History""" Perm=string.split(listPerm,'\n') container.manage_role('Anonymous', Perm) context.REQUEST.RESPONSE.redirect('./') q.U Script_magicq/KUwarningsq0)U _proxy_rolesq1(UManagerq2tq3U Python_magicq4U*ë q5u.O$ –((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Uidentq Utitreq Ufileq U _getitem_q U_getitemqU _getattr_qU_getattrqUcontextqUmemqUProducts.PythonScripts.standardqU url_quoteqUmessageqtqU co_argcountqKubU_paramsqUident,titre,fileqUidqUaddfileqU__ac_local_roles__q}qUadminq]qUOwnerq asU _bind_namesq!(cShared.DC.Scripts.Bindings NameAssignments q"oq#}q$U_asgnsq%}q&(Uname_containerq'U containerq(U name_subpathq)Utraverse_subpathq*U name_m_selfq+Uscriptq,U name_contextq-Ucontextq.usbU func_defaultsq/NU_codeq0Tcsd„ZdS(s Adds a file to the library. c st}t}d||tdƒdƒƒ}dkl} |djo||dƒ}n|||| |dƒdƒdƒd ƒd |d |d |ƒd ||dƒ} |||tdƒdƒdƒd||tdƒdƒƒ| | ƒfƒSdS(s Adds a file to the library. szwo_libsmem_data(s url_quotessfilenamesrep_objsmanage_addProductsOFSPsmanage_addImagesidstitlesfilesFichier '%s' EnregistrésREQUESTsRESPONSEsredirects %s?message=%sstoolboxs absolute_urlN( s _getitem_s_getitems _getattr_s_getattrscontextsmemsProducts.PythonScripts.standards url_quotestitresfilesidentsmessage( sidentstitresfiles _getitem_s_getitems _getattr_s_getattrscontextsmemsProducts.PythonScripts.standards url_quotesmessage((sScript (Python)saddfiles"4N(saddfile(saddfile((sScript (Python)ssq1U_bodyq2T4""" Adds a file to the library. """ mem=context.zwo_lib.mem_data() from Products.PythonScripts.standard import url_quote if titre == '': titre=file.filename # create the file mem['rep_obj'].manage_addProduct['OFSP'].manage_addImage(id=ident, title=titre, file=file) # create a success message message="Fichier '%s' Enregistré" % file.filename # redirect to main page - this is necessary to make all the URLs # on the main page work correctly. return context.REQUEST.RESPONSE.redirect("%s?message=%s" % (context.toolbox.absolute_url(), url_quote(message))) q3U Script_magicq4KUwarningsq5)Uerrorsq6)U Python_magicq7U*ë q8u.O%¡((U OFS.FolderqUFolderqtqNt.}q(UidqUzwo_libqU__ac_local_roles__q}qU_objectsq (}q (U meta_typeq UScript (Python)q Uidq U mix_id_zopequ}q(U meta_typeqUScript (Python)qUidqU tab_to_valqu}q(U meta_typeqUScript (Python)qUidqU mem_mod_dataqu}q(U meta_typeqUScript (Python)qUidqUmem_dataqu}q(U meta_typeqUScript (Python)q Uidq!U secure_skinq"u}q#(U meta_typeq$UFolderq%Uidq&Uepozq'utU _propertiesq((}q)(hUtitleq*Umodeq+UwUtypeq,Ustringq-u}q.(hU type_zwookq/h,Ustringq0u}q1(hUsystemq2h,Ustringq3uth/Usystemq4U mix_id_zopeq5(UOwq6(U#Products.PythonScripts.PythonScriptq7U PythonScriptq8tq9tq:QU secure_skinq;(UOxq<(h7U PythonScriptq=tq>tq?QUsystemq@UlibqAh'(UOyqB(hUFolderqCtqDtqEQh*Unoyau - bibliothequeqFUmem_dataqG(UOzqH(h7U PythonScriptqItqJtqKQU mem_mod_dataqL(UO{qM(h7U PythonScriptqNtqOtqPQh(UO|qQ(h7U PythonScriptqRtqStqTQu.O& !((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(UO}q(U PersistenceqUPersistentMappingqtq tq QU__ac_local_roles__q }q Uxavq ]qUOwnerqasU__name__qUHOWTOstructureqUtitleqU HOWTO Structure de données ZWOOKqUglobalsq}qUrawqT

HOWTO Structure de données ZWOOK ()

CONTENU DE LA RACINE :

  • SCRIPTS :
    • index_html() : parseur general
    • standard_html_header () : parseur du skin avant la zone centrale
    • home() : parseur de la zone centrale
    • standard_html_footer () : parseur du skin apres la zone centrale
    • zwo() : script qui renvoit le container
  • MailHost() : Objet pour l'envoie de mail via SMTP
  • style.css (? modifiable ? uniquement pour les parties admin ? cf greg)

  • repertoire de données:
    • zwo_info : données sur la config de zwook
      zwook : données sur les pages
      zwo_dossier : données sur la config de la page courant
      images : diverses images (note... pourquoi pas zwo_images ? cf greg)
  • repertoire de script:
    • zwo_lib : librairie de code
      zwo_bo : Script du back office de zwook
      zwo_modules : Script qui contiennent le code des modules
  • repertoire de doc:
    • zwo_doc : Contient les docs pour developpeurs et administrateur Zope.
      zwo_dev : divers scripts qui seront utilisé plus tard.

OBJECT ZOPE ET ZWOOK

Chaque objet Zope qui a une propriété type_zwook est un objet zwook.
La propriété type_zwook indique le type d'objet zwook.
Type possible :
  • dossier
  • element : Chaque objet zwook de type element a une propriété element qui precise quel module a produit cet element. Voir la liste des modules pour connaitre les valeurs possible.
  • skin
  • system : Chaque objet zwook de type system a une propriété system qui precise a quoi correspond cet objet.
    Les objets systemes :
    • lib : la librairie de zwook.
    • data : donnée de configuration du zwook, du dossier..
  • à completer
qU_varsq}qu.O' E((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(UO~q(U PersistenceqUPersistentMappingqtq tq QU__ac_local_roles__q }q Uxavq ]qUOwnerqasU__name__qU HOWTOStartDevqUtitleqU HOWTO Devenir developpeur ZWOOK.qUglobalsq}qUrawqT'

HOWTO Devenir developpeur ZWOOK. ()

Pré-requis

Connaissances neccessaires en HTML :
- Comprendre la structure des documents HTML.
- Connaitre la syntaxe des balises HTML compatible tout navigateur.
- Maitriser les formulaire HTML.

Comprendre le fonctionnement d'un site client serveur HTTP.

Connaissances neccessaires en python :
- Connaitre l'algorithmique.
- Connaitre les syntaxe de bases de python.
- Connaitre les structures de base de python (dictionnaire et liste).

Maitriser l'interface de ZWOOK au niveau éditeur et administrateur.

Compréhension de ZWOOK

- apprendre la structure des données dans ZWOOK (HOWTO Structure de donnée ZWOOK).
- comprendre le fonctionnement du noyau ZWOOK (HOWTO noyau ZWOOK)

Codage de modules ZWOOK

Necessite la compréhension du ZWOOK ci-dessus.
- HOWTO (Construire un module zwook)

Améliorer le noyau

Si vous maitriser zope/python et la création de module zwook, vous aller pouvoir rentrer plus en profondeur dans le noyau et faire des modification (à vos risques et périls ;).

Références utiles

- Description de la structure de mem (HOWTO mem)


Avec un peu de chance, vous nous enverez vos modules et améliorations du noyau bientôt, pour qu' ils soient inclus dans la prochaine version sur http://www.zwook.com
                                                                              Bon code, Xav ;)

PS : N'hesitez pas a me faire des remarque sur la doc ou sur le zwook (xavier@emencia.com) .qU_varsq}qu.O( Ã((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(UOq(U PersistenceqUPersistentMappingqtq tq QU__ac_local_roles__q }q Uxavq ]qUOwnerqasU__name__qU HOWTOModulesqUtitleqU HOWTO Construire un module zwookqUglobalsq}qUrawqT¦

HOWTO Construire un module zwook ()

Création d'un nouveau module :

  • Création du dossier du module
    • Aller dans le repertoire zwo_modules.
    • créer un folder zope avec pour id du nom du module.
    • changer le title pour donner une phrase d'explication.
    • ajouter une propriété appelée skin si le module est utilisable par des skin
    • ajouter une propriété appelée zone_principale si le module est utilisable par des dossiers.
  • Description des propriétés des instances indispensable :
    • type_zwook='element'
    • element : le nom du type de module

  • Description de certains parametres des scripts
    • mem : renvoie un ensemble de donnée pour traiter l'ensemble des modules
    • dossier : dossier qui contiendra l'instance
    • instance : renvoie l'instance du module

  • Divers Conseils :
    • Fonctions utile pour les modules :
      • mem=context.zwo_lib.mem_data(): recupere la memoire mem lorsqu'elle n'est pas passé en parametre
      • idzop=context.zwo_lib.mix_id_zope(titre) : transforme un titre text en idzop

      • mem=context.zwo_lib.mem_mod_data(): idem mem avec en plus :
        • lieu=mem['parent'] : recupere le dossier contenant l'element
        • url_lieu=mem['parent_url'] : recupere l'url de ce dossier
    • On remarquera qu'il faut toujours transmetre :
      • idobj (sauf pour new_xx) : id de l'instance

    • On pourra récupere certaine valeurs utiles :
      • typemod=container.getId() : renvoie le type du module
      • mem['droit_config_dossier'] : droit en config
      • mem['droit_admin'] : droit en admin

    • Autre elements utiles a connaitre :
      • La structure mem

  • Création des scripts principaux
    • new_html(mem,dossier) : Acceuil HTML pour la création de l'instance
    • new_ok(nom, titre, [params...]) : Acceuil HTML pour la création de l'instance
    • config_html(mem, rep, instance) : renvoie un code HTML pour la
    • config_ok(...) : Traite la modif de config et redirige vers la page de configuration
    • view_html(mem,instance) : renvoie le code HTML l'affichage de l'instance du module
qU_varsq}qu.O)v((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(UO€q(U PersistenceqUPersistentMappingqtq tq QU__ac_local_roles__q }q Uxavq ]qUOwnerqasU__name__qUREFmemqUtitleqU Reférence sur le dictionaire memqUglobalsq}qUrawqT_

Reférence sur le dictionaire mem ()

Le dictionnaire mem est appelé dans index_html et fourni aux parseurs et aux modules pour l'affichage