ZEXP iot((U OFS.FolderqUFolderqtqNt.}q(U__ac_local_roles__q}qUxavq]qUOwnerq asU$_Add_Session_Data_Manager_Permissionq (U Anonymousq UManagerq U config_zwookq tqU _propertiesq(}q(UidqUtitleqUmodeqUwUtypeqUstringqu}q(hU type_zwookqhUstringqu}q(hUsystemqhUstringqutqU!_Change_Page_Templates_Permissionq(h h h tqU_Manage_Access_Rules_Permissionq(h h h tq U_ownerq!(]q"U acl_usersq#aUxavq$tq%U-_Manage_Transient_Object_Container_Permissionq&(h h h tq'U_Undo_changes_Permissionq((h h h tq)U_WebDAV_Lock_items_Permissionq*(h h h tq+U!_Change_DTML_Documents_Permissionq,(h h h tq-Uzwo_docq.(U ipq/(hUFolderq0ttQUzwookq1(U iqq2(hUFolderq3ttQU_Join_leave_Versions_Permissionq4(h h h tq5U_WebDAV_Unlock_items_Permissionq6(h h h tq7U_View_Permissionq8(h U Authenticatedq9h h tq:U!_Change_cache_settings_Permissionq;(h h h tqU index_htmlq?(U isq@(U#Products.PythonScripts.PythonScriptqAU PythonScriptqBttQU#_Change_External_Methods_PermissionqC(h h h tqDUzwo_droits_folderqE(U itqF(hAU PythonScriptqGttQU home_imageqH(U iuqI(hAU PythonScriptqJttQU#_Change_Lock_Information_PermissionqK(h h h tqLU_Change_proxy_roles_PermissionqM(h h h tqNU"_Add_RAM_Cache_Managers_PermissionqO(h h h tqPU/_Add_Accelerated_HTTP_Cache_Managers_PermissionqQ(h h h tqRU_Add_Zope_Tutorials_PermissionqS(h h h tqTU*_Add_Transient_Object_Container_PermissionqU(h h h tqVU_objectsqW(}qX(U meta_typeqYU User FolderqZUidq[U acl_usersq\u}q](U meta_typeq^U DTML Documentq_Uidq`Utest_connectionqau}qb(U meta_typeqcUScript (Python)qdUidqeUzwo_cpyqfu}qg(U meta_typeqhUScript (Python)qiUidqjU zwo_renameqku}ql(U meta_typeqmUScript (Python)qnUidqohEu}qp(U meta_typeqqUScript (Python)qrUidqsUzwo_user_groupsqtu}qu(U meta_typeqvU Mail HostqwUidqxUMailHostqyu}qz(hvUScript (Python)q{hxU style_cssq|u}q}(hvUFolderq~hxU zwo_imagesqu}q€(U meta_typeqUFolderq‚UidqƒUzwo_infoq„u}q…(hh‚hƒUzwookq†u}q‡(U meta_typeqˆUFolderq‰UidqŠUzwo_devq‹u}qŒ(U meta_typeqUFolderqŽUidqUzwo_docqu}q‘(U meta_typeq’UScript (Python)q“Uidq”Uacl_objq•u}q–(h’h“h”Uacl_urlq—u}q˜(h’h“h”Uhomeq™u}qš(h’h“h”U home_imageq›u}qœ(h’h“h”Ustandard_html_footerqu}qž(h’h“h”Ustandard_html_headerqŸu}q (h’h“h”Ustandard_printable_footerq¡u}q¢(h’h“h”Ustandard_printable_headerq£u}q¤(h’UFolderq¥h”Uzwo_libq¦u}q§(U meta_typeq¨UScript (Python)q©UidqªUinstallq«u}q¬(h¨h©hªUlasttraceinstallq­u}q®(h¨h©hªU index_html2q¯u}q°(h¨h©hªU index_htmlq±u}q²(U meta_typeq³UFolderq´UidqµUzwo_boq¶u}q·(h³h´hµU zwo_modulesq¸utq¹U_Add_User_Folders_Permissionqº(h h h tq»U_Change_permissions_Permissionq¼(h h h tq½U_Add_Pluggable_Index_Permissionq¾(h h h tq¿U_Manage_Z_Classes_PermissionqÀ(h h h tqÁU._Access_arbitrary_user_session_data_PermissionqÂ(h h h tqÃU__allow_groups__qÄ(U ivqÅ(UAccessControl.UserqÆU UserFolderqÇttQU _Add_MailHost_objects_PermissionqÈ(h h h tqÉU_Access_session_data_PermissionqÊ(h h9h h tqËU_Change_DTML_Methods_PermissionqÌ(h h h tqÍU_query_PermissionqÎ]qÏ(h h9h h eU zwo_imagesqÐ(U iwqÑ(hUFolderqÒttQU$_Create_Transient_Objects_PermissionqÓ(h h h tqÔU#_Change_Images_and_Files_PermissionqÕ(h h h tqÖU!_Change_Python_Scripts_Permissionq×(h h h tqØht(U ixqÙ(hAU PythonScriptqÚttQUidqÛU zwook_V099qÜU_Manage_Vocabulary_PermissionqÝ(h h h tqÞU_Add_Folders_Permissionqß(h h h tqàU _Change_configuration_Permissionqá(h h h tqâUhomeqã(U iyqä(hAU PythonScriptqåttQU%_Add_Virtual_Host_Monsters_Permissionqæ(h h h tqçU_Search_ZCatalog_Permissionqè(h h9h h tqéU(_Manage_ZCatalogIndex_Entries_Permissionqê(h h h tqëUMailHostqì(U izqí(UProducts.MailHost.MailHostqîUMailHostqïttQU type_zwookqðUsystemqñU_Query_Vocabulary_Permissionqò(h h9h h tqóU'_Change_Database_Connections_Permissionqô(h h h tqõU _Log_to_the_Event_Log_Permissionqö(h h h tq÷U_Use_Factories_Permissionqø(h h h tqùU_Log_Site_Errors_Permissionqú(h h h tqûh‹(U i{qü(hUFolderqýttQU style_cssqþ(U i|qÿ(hAU PythonScriptrttQU _Add_Temporary_Folder_Permissionr(h h h trU%_Change_Browser_Id_Manager_Permissionr(h h h trU-_Add_Z_Gadfly_Database_Connections_Permissionr(h h h trUstandard_html_headerr(U i}r(hAU PythonScriptr ttQU!_Change_cache_managers_Permissionr (h h h tr U'_Change_Session_Data_Manager_Permissionr (h h h tr Uinstallr(U i~r(hAU PythonScriptrttQh\(hÅ(hÆU UserFolderrttQUzwo_infor(U ir(hUFolderrttQUacl_urlr(U i€r(hAU PythonScriptrttQU index_html2r(U ir(hAU PythonScriptrttQU_Add_ChatItems_Permissionr(h h h trU_Manage_properties_Permissionr(h h h trU_Use_external_editor_Permissionr(h h h tr U _Add_Database_Methods_Permissionr!(h h h tr"U zwo_renamer#(U i‚r$(hAU PythonScriptr%ttQU_Add_Python_Scripts_Permissionr&(h h h tr'U#_Change_Database_Methods_Permissionr((h h h tr)Ustandard_html_footerr*(U iƒr+(hAU PythonScriptr,ttQU_Manage_users_Permissionr-(h h h tr.U!_Use_mailhost_services_Permissionr/(h h9h h tr0U(_Save_discard_Version_changes_Permissionr1(h h h tr2U#_View_management_screens_Permissionr3(h h h tr4Uzwo_bor5(U i„r6(hUFolderr7ttQU"_Create_class_instances_Permissionr8(h h h tr9U_Add_ZCatalogs_Permissionr:(h h h tr;U'_Access_contents_information_Permissionr<(h h9h h tr=U_Copy_or_Move_Permissionr>(h h9h h tr?U _Add_External_Methods_Permissionr@(h h h trAU_Add_Site_Roots_PermissionrB(h h h trCU _Use_Database_Methods_PermissionrD(h h9h h trEUstandard_printable_headerrF(U i…rG(hAU PythonScriptrHttQU_Add_ZRTChats_PermissionrI(h h h trJU_Add_Versions_PermissionrK(h h h trLU_Delete_objects_PermissionrM(h h h trNUstandard_printable_footerrO(U irrP(hAU PythonScriptrQttQU$_Access_Transient_Objects_PermissionrR(h h9h h trSUsystemrTUracinerUU zwo_modulesrV(U i†rW(hUFolderrXttQUtest_connectionrY(U i‡rZ(UOFS.DTMLDocumentr[U DTMLDocumentr\ttQUtitler]UU%_Test_Database_Connections_Permissionr^(h h h tr_Uacl_objr`(U iˆra(hAU PythonScriptrbttQhf(U i‰rc(hAU PythonScriptrdttQU_Add_Vocabularies_Permissionre(h h h trfU_Manage_WebDAV_Locks_Permissionrg(h h h trhU __ac_roles__ri(h UOwnerrjh h9h trkUlasttraceinstallrl(U iŠrm(hAU PythonScriptrnttQU_Change_bindings_Permissionro(h h h trpU#_Manage_ZCatalog_Entries_Permissionrq(h h h trrU!_Import_Export_objects_Permissionrs(h h h trtU,_Add_Documents__Images__and_Files_Permissionru(h h h trvU_FTP_access_Permissionrw(h h h trxU_Add_Page_Templates_Permissionry(h h h trzU_View_History_Permissionr{(h h9h h tr|U_WebDAV_access_Permissionr}(h h9h h tr~U_Change_Versions_Permissionr(h h h tr€U_Take_ownership_Permissionr(h h h tr‚Uzwo_librƒ(U i‹r„(hUFolderr…ttQU+_Open_Close_Database_Connections_Permissionr†(h h h tr‡U_Edit_Factories_Permissionrˆ(h h h tr‰U*_Open_Close_Database_Connection_PermissionrŠ(h h h tr‹u. ipü((U OFS.FolderqUFolderqtqNt.}q(UHOWTOstructureq(U iŒq(UOFS.DTMLDocumentqU DTMLDocumentqtq tq QUidq Uzwo_docq U__ac_local_roles__q }qUxavq]qUOwnerqasU HOWTOStartDevq(U iq(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?(U iŽq@(hU DTMLDocumentqAtqBtqCQU _propertiesqD(}qE(h UtitleqFUmodeqGUwUtypeqHUstringqIu}qJ(h U type_zwookqKhHhIu}qL(UidqMUsystemqNUtypeqOUstringqPuthKUsystemqQh9(U iqR(hU DTMLDocumentqStqTtqUQh>(U iqV(hU DTMLDocumentqWtqXtqYQh/(U i‘qZ(hU DTMLDocumentq[tq\tq]QU index_htmlq^(U i’q_(U#Products.PythonScripts.PythonScriptq`U PythonScriptqatqbtqcQUsystemqdUdataqeh*(U i“qf(hU DTMLDocumentqgtqhtqiQU license.txtqj(U i”qk(hU DTMLDocumentqltqmtqnQhFU noyau - docqoUimagesqp(U i•qq(hUFolderqrtqstqtQu. iqÓ((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 Authenticatedq$h!tU_Undo_changes_Permissionq%(hh$h!tU_WebDAV_Lock_items_Permissionq&(hh$h!tU!_Change_DTML_Documents_Permissionq'(hh$h!tU_WebDAV_Unlock_items_Permissionq((hh$h!tU_View_Permissionq)(hh$h!tU!_Change_cache_settings_Permissionq*(htU"_Add_Browser_Id_Manager_Permissionq+(htU#_Change_External_Methods_Permissionq,(htU zwo_dossierq-(U i–q.(hUFolderq/tq0tq1QU#_Change_Images_and_Files_Permissionq2(hh$h!tU#_Change_Lock_Information_Permissionq3(hh!tU_Change_proxy_roles_Permissionq4(htU"_Add_RAM_Cache_Managers_Permissionq5(htU/_Add_Accelerated_HTTP_Cache_Managers_Permissionq6(htU_Add_Zope_Tutorials_Permissionq7(htU*_Add_Transient_Object_Container_Permissionq8(hh$tU_objectsq9(}q:(U meta_typeq;UFolderq(htU_Change_permissions_Permissionq?(hh!tU_Add_Pluggable_Index_Permissionq@(htUversionqAU0.99qBU_Manage_Z_Classes_PermissionqC(hh!tU._Access_arbitrary_user_session_data_PermissionqD(hh$h!tU _Add_MailHost_objects_PermissionqE(hh!tU_Access_session_data_PermissionqF(hh$h!tU_Change_DTML_Methods_PermissionqG(hh!tU$_Create_Transient_Objects_PermissionqH(hh!tU_Use_external_editor_PermissionqI(hh!tU!_Change_Python_Scripts_PermissionqJ(htUidqKUzwookqLU_Manage_Vocabulary_PermissionqM(hh!tU_Add_Folders_PermissionqN(hh$h!tU_Add_ZCatalogs_PermissionqO(hh!tU%_Add_Virtual_Host_Monsters_PermissionqP(htU_Search_ZCatalog_PermissionqQ(hh$h!tU(_Manage_ZCatalogIndex_Entries_PermissionqR(hh!tU type_zwookqSUsystemqTU _Change_configuration_PermissionqU(hh!tU_Query_Vocabulary_PermissionqV(hh$h!tU'_Change_Database_Connections_PermissionqW(hh!tU _Log_to_the_Event_Log_PermissionqX(htU_Use_Factories_PermissionqY(hh!tU_Log_Site_Errors_PermissionqZ(htU,_Add_Documents__Images__and_Files_Permissionq[(hh$h!tU _Add_Temporary_Folder_Permissionq\(htU%_Change_Browser_Id_Manager_Permissionq](htU-_Add_Z_Gadfly_Database_Connections_Permissionq^(hh!tU!_Change_cache_managers_Permissionq_(htU'_Change_Session_Data_Manager_Permissionq`(htU_Add_ChatItems_Permissionqa(hh!tU_Manage_properties_Permissionqb(hh$h!tU _Add_Database_Methods_Permissionqc(hh!tU_Add_Python_Scripts_Permissionqd(htU#_Change_Database_Methods_Permissionqe(hh!tU_Manage_users_Permissionqf(htU!_Use_mailhost_services_Permissionqg(hh$h!tU(_Save_discard_Version_changes_Permissionqh(htU#_View_management_screens_Permissionqi(hh!tU"_Create_class_instances_Permissionqj(hh!tU_Join_leave_Versions_Permissionqk(htU'_Access_contents_information_Permissionql(hh$h!tU_Copy_or_Move_Permissionqm(hh$h!tU _Add_External_Methods_Permissionqn(htU_Add_Site_Roots_Permissionqo(htU _Use_Database_Methods_Permissionqp(hh!tU_Add_ZRTChats_Permissionqq(htU_Add_Versions_Permissionqr(htU_Delete_objects_Permissionqs(hh$h!tU$_Access_Transient_Objects_Permissionqt(hh$h!tUsystemquUracineqvUtitleqwUstartqxU%_Test_Database_Connections_Permissionqy(hh!tU_Edit_Factories_Permissionqz(hh!tU_Add_Vocabularies_Permissionq{(hh!tU_Manage_WebDAV_Locks_Permissionq|(hh!tU __ac_roles__q}(UManagerq~UOwnerqU Anonymousq€U AuthenticatedqtU_Change_bindings_Permissionq‚(htU#_Manage_ZCatalog_Entries_Permissionqƒ(hh!tU!_Import_Export_objects_Permissionq„(hh$tU_FTP_access_Permissionq…(hh$h!tU_Add_Page_Templates_Permissionq†(htU_View_History_Permissionq‡(hh$h!tU_WebDAV_access_Permissionqˆ(hh$h!tU_Change_Versions_Permissionq‰(hthU1U_Take_ownership_PermissionqŠ(hh!tU+_Open_Close_Database_Connections_Permissionq‹(hh!tU*_Open_Close_Database_Connection_PermissionqŒ(hh!tu. is‘((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 U containerqtqU co_argcountqKubU_paramsqUUidqU index_htmlqU__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(TXcsd„ZdS(Ncst}tƒ}|dIJ|d|tdƒƒdIJ|dIJ|dIJ|dIJ|dIJ|ƒSdS( Ns(

Première configuration de zwook

s
s?

Configuration d'un utilisateur administrateur de zwook

s7Choisir un login
sGChoisir un password

s;
(s _getattr_s_getattrs_print_s_prints container(s _getattr_s_getattrs_print_s_prints container((sScript (Python)s index_htmls !    (s index_html(s index_html((sScript (Python)ssq)Uerrorsq*)U_bodyq+T¨print '

Première configuration de zwook

' print '
' print '

Configuration d\'un utilisateur administrateur de zwook

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

' print '
' return printed q,U Script_magicq-KUwarningsq.)U _proxy_rolesq/(UManagerq0tq1U Python_magicq2U*ë q3u. it((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. iu‚((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(U i˜q1(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. iv¡((UAccessControl.UserqU UserFolderqtqNt.}q(Udataq(U i™q(U PersistenceqUPersistentMappingqtq tq QU__ac_local_roles__q }q Uxavq ]qUOwnerqasu. iwœ((U OFS.FolderqUFolderqtqNt.}q(UidqU zwo_imagesqUconfigq(U išq(hUFolderq tq tq QU_objectsq (}q (U meta_typeqUFolderqhUadminqu}q(hhhUconfigqu}q(hhhUiconesqu}q(hUImageqhU pixel.gifqu}q(U meta_typeqUFolderqUidqUboqutqU _propertiesq(}q(hUtitleq Umodeq!UwUtypeq"Ustringq#u}q$(hU type_zwookq%h"Ustringq&u}q'(hUsystemq(h"Ustringq)utq*U__ac_local_roles__q+}q,Uxavq-]q.UOwnerq/asU type_zwookq0Usystemq1Usystemq2Udataq3h(U i›q4(hUFolderq5tq6tq7QUiconesq8(U iœq9(hUFolderq:tq;tq(hUFolderq?tq@tqAQh Unoyau - imagesqBh(U ižqC(U OFS.ImageqDUImageqEtqFtqGQu. ix((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_varnamesq (Uuserq Urolesq U_write_q U_writeq U _getattr_qU_getattrqU AccessControlqUgetSecurityManagerqUaUcontextqUrUauqtqU co_argcountqKubU_paramsqU user,rolesqUidqUzwo_user_groupsqU__ac_local_roles__q}qUxavq]qUOwnerqasU _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_codeq.Tûcsd„ZdS(Nc s#t}t}dkl}|ƒ}||dƒƒdjo dSn|tdƒ} |||| dƒƒd<d||| dƒƒd< d ||| dƒƒd < |||| dƒƒd < g||| dƒƒd < |td ƒ} | | dƒd| ƒdSdS(N(sgetSecurityManagerscalledByExecutableisnonsREQUESTsformsnamespasswordspconfirmsconfirmsrolessdomainss acl_userss manage_userssChange( s_write_s_writes _getattr_s_getattrs AccessControlsgetSecurityManagersascontextsrsusersrolessau( susersroless_write_s_writes _getattr_s_getattrs AccessControlsgetSecurityManagersascontextsrsau((sScript (Python)szwo_user_groupss  (szwo_user_groups(szwo_user_groups((sScript (Python)ssq/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. iy1((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"Ugregq#]q$UOwnerq%asU_dav_writelocksq&(U iŸq'(U Persistenceq(UPersistentMappingq)tq*tq+QU _bind_namesq,(cShared.DC.Scripts.Bindings NameAssignments q-oq.}q/U_asgnsq0}q1(Uname_containerq2U containerq3U name_subpathq4Utraverse_subpathq5U name_contextq6Ucontextq7U name_m_selfq8Uscriptq9usbU func_defaultsq:NU_codeq;TÙcsd„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.TsÔ .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
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)ssq1: 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 pt['hauteur']<>'': ppt=ppt+' height="'+pt['hauteur']+'"' if pt['largeur']<>'': ppt=ppt+' width="'+pt['largeur']+'"' 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 q>U Script_magicq?KUwarningsq@)UtitleqAUnoyauqBUerrorsqC)U Python_magicqDU*ë qEu. iz¨((UProducts.MailHost.MailHostqUMailHostqtqNt.}q(UtitleqUnoyauqUidqUMailHostqU smtp_hostq UU smtp_portq KU__ac_local_roles__q }q Uxavq ]qUOwnerqasu. i{((U OFS.FolderqUFolderqtqNt.}q(U__ac_local_roles__q}qUxavq]qUOwnerq asU$_Add_Session_Data_Manager_Permissionq (UManagerq tq U!_Change_Page_Templates_Permissionq (h tqUtotligneq(U i q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtqtqQU-_Manage_Transient_Object_Container_Permissionq(h tqU_Undo_changes_Permissionq(h tqU_WebDAV_Lock_items_Permissionq(h tqU!_Change_DTML_Documents_Permissionq(h tqU_WebDAV_Unlock_items_Permissionq(h tqU_View_Permissionq(h tq U!_Change_cache_settings_Permissionq!(h tq"U"_Add_Browser_Id_Manager_Permissionq#(h tq$U#_Change_External_Methods_Permissionq%(h tq&U#_Change_Images_and_Files_Permissionq'(h tq(U#_Change_Lock_Information_Permissionq)(h tq*U_Change_proxy_roles_Permissionq+(h tq,U"_Add_RAM_Cache_Managers_Permissionq-(h tq.U#_Change_Database_Methods_Permissionq/(h tq0U/_Add_Accelerated_HTTP_Cache_Managers_Permissionq1(h tq2U_Add_Zope_Tutorials_Permissionq3(h tq4U*_Add_Transient_Object_Container_Permissionq5(h tq6U_objectsq7(}q8(U meta_typeq9UScript (Python)q:Uidq;UtestuqUScript (Python)q?Uidq@UtotligneqAutqBU_Add_User_Folders_PermissionqC(h tqDU_Change_permissions_PermissionqE(h tqFU_Add_Pluggable_Index_PermissionqG(h tqHU_Manage_Z_Classes_PermissionqI(h tqJU._Access_arbitrary_user_session_data_PermissionqK(h tqLU _Add_MailHost_objects_PermissionqM(h tqNU_Access_session_data_PermissionqO(h tqPU_Change_DTML_Methods_PermissionqQ(h tqRU$_Create_Transient_Objects_PermissionqS(h tqTU_Use_external_editor_PermissionqU(h tqVU!_Change_Python_Scripts_PermissionqW(h tqXh;Uzwo_devqYU_Manage_Vocabulary_PermissionqZ(h tq[U_Add_Folders_Permissionq\(h tq]U_Add_ZCatalogs_Permissionq^(h tq_U%_Add_Virtual_Host_Monsters_Permissionq`(h tqaU_Search_ZCatalog_Permissionqb(h tqcU _Change_configuration_Permissionqd(h tqeU_Query_Vocabulary_Permissionqf(h tqgU'_Change_Database_Connections_Permissionqh(h tqiU _Log_to_the_Event_Log_Permissionqj(h tqkU_Use_Factories_Permissionql(h tqmU_Log_Site_Errors_Permissionqn(h tqoU,_Add_Documents__Images__and_Files_Permissionqp(h tqqU _Add_Temporary_Folder_Permissionqr(h tqsU%_Change_Browser_Id_Manager_Permissionqt(h tquU-_Add_Z_Gadfly_Database_Connections_Permissionqv(h tqwU!_Change_cache_managers_Permissionqx(h tqyU'_Change_Session_Data_Manager_Permissionqz(h tq{U_Add_ChatItems_Permissionq|(h tq}U_Manage_properties_Permissionq~(h tqU _Add_Database_Methods_Permissionq€(h tqU_Manage_Access_Rules_Permissionq‚(h tqƒU_Add_Python_Scripts_Permissionq„(h tq…U(_Manage_ZCatalogIndex_Entries_Permissionq†(h tq‡U_Manage_users_Permissionqˆ(h tq‰U!_Use_mailhost_services_PermissionqŠ(h tq‹U(_Save_discard_Version_changes_PermissionqŒ(h tqU#_View_management_screens_PermissionqŽ(h tqU"_Create_class_instances_Permissionq(h tq‘U_Join_leave_Versions_Permissionq’(h tq“U'_Access_contents_information_Permissionq”(h tq•U_Copy_or_Move_Permissionq–(h tq—Utestuq˜(U i¡q™(hU PythonScriptqštq›tqœQU _Add_External_Methods_Permissionq(h tqžU_Add_Site_Roots_PermissionqŸ(h tq U _Use_Database_Methods_Permissionq¡(h tq¢U_Add_ZRTChats_Permissionq£(h tq¤U_Add_Versions_Permissionq¥(h tq¦U_Delete_objects_Permissionq§(h tq¨U$_Access_Transient_Objects_Permissionq©(h tqªUtitleq«UU%_Test_Database_Connections_Permissionq¬(h tq­U_Edit_Factories_Permissionq®(h tq¯U_Add_Vocabularies_Permissionq°(h tq±U_Manage_WebDAV_Locks_Permissionq²(h tq³U_Change_bindings_Permissionq´(h tqµU#_Manage_ZCatalog_Entries_Permissionq¶(h tq·U!_Import_Export_objects_Permissionq¸(h tq¹U_FTP_access_Permissionqº(h tq»U_Add_Page_Templates_Permissionq¼(h tq½U_View_History_Permissionq¾(h tq¿U_WebDAV_access_PermissionqÀ(h tqÁU_Change_Versions_PermissionqÂ(h tqÃU_Take_ownership_PermissionqÄ(h tqÅU+_Open_Close_Database_Connections_PermissionqÆ(h tqÇU*_Open_Close_Database_Connection_PermissionqÈ(h tqÉu. i| ((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_argcountqKubU_paramsqUUidqU style_cssqU__ac_local_roles__q}qUgregq]qUOwnerqasU_dav_writelocksq(U i¢q(U PersistenceqUPersistentMappingqtq 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_contextq,Ucontextq-U name_m_selfq.Uscriptq/usbU func_defaultsq0NU_codeq1Tôcsd„ZdS(Nc#s%t}tƒ}||||tdƒdƒdƒdƒ}||||tdƒdƒdƒdƒ}d}|djo d}n|d |d |d IJ|d IJ |d IJ |dIJ |dIJ |dIJ |dIJ|dIJ|dIJ|ƒSdS(Nszwo_infosgenerals general_datashexas underlinessonstext-decoration:nones A {color:s;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)ssq2U_bodyq3T¾#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 {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 q4U Script_magicq5KUwarningsq6)Utitleq7Unoyauq8Uerrorsq9)U Python_magicq:U*ë q;u. i}L((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}q3Ugregq4]q5UOwnerq6asU_dav_writelocksq7(U i£q8(U Persistenceq9UPersistentMappingq:tq;tqoq?}q@U_asgnsqA}qB(Uname_containerqCU containerqDU name_subpathqEUtraverse_subpathqFU name_m_selfqGUscriptqHU name_contextqIUcontextqJusbU func_defaultsqKNU_codeqLT†+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ƒ\}}&=||IJ>|ƒ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/[s“ ˜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="Sbordures
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)ssqMU_bodyqNT"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 pt['hauteur']<>'': ppt=ppt+' height="'+pt['hauteur']+'"' if pt['largeur']<>'': ppt=ppt+' width="'+pt['largeur']+'"' 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 qOU Script_magicqPKUwarningsqQ)UtitleqRUnoyauqSUerrorsqT)U Python_magicqUU*ë qVu. i~t((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}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_m_selfq'Uscriptq(U name_contextq)Ucontextq*usbU 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') q0U Script_magicq1KUwarningsq2)U _proxy_rolesq3(UManagerq4tq5U Python_magicq6U*ë q7u. i®((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/(U i¤q0(hUFolderq1tq2tq3QU _propertiesq4(}q5(hUtitleq6Umodeq7UwUtypeq8Ustringq9u}q:(hU type_zwookq;h8UstringqUsystemq?Utypeq@UstringqAutUgroupsqB(U i¥qC(hUFolderqDtqEtqFQU type_zwookqGUsystemqHUgeneralqI(U i§qJ(hUFolderqKtqLtqMQUskinsqN(U i¦qO(hUFolderqPtqQtqRQUsystemqSUdataqTU calendrierqU(U i¨qV(hUFolderqWtqXtqYQUusersqZ(U i©q[(hUFolderq\tq]tq^QUtitleq_UInformation sur le zwookq`h)(U iªqa(hUFolderqbtqctqdQu. i€V((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. i J((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_dav_writelocksq(U i«q(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_contextq.Ucontextq/U name_m_selfq0Uscriptq1usbU func_defaultsq2(Unormalq3tq4U_codeq5TZcsdd„ZdS(Nsnormalc st}t}tƒ}||tdƒdƒƒ}| o dSnd||dƒƒjo||dƒSn ||dƒdjo< |dIJ |d |td ƒƒd IJ |ƒSn|d joX||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_htmls(3   !  (s index_html(s index_html((sScript (Python)ssq6U_bodyq7TÝ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 q8U Script_magicq9KUwarningsq:)Utitleq;UnoyauqU*ë q?u. i‚×((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. iƒ<Ì((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)Ugregq*]q+UOwnerq,asU_dav_writelocksq-(U i¬q.(U Persistenceq/UPersistentMappingq0tq1tq2QU _bind_namesq3(cShared.DC.Scripts.Bindings NameAssignments q4oq5}q6U_asgnsq7}q8(Uname_containerq9U containerq:U name_subpathq;Utraverse_subpathqU name_contextq?Ucontextq@usbU func_defaultsqANU_codeqBTœ"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_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/Rs¢ 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="Sbordures
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)ssqCU_bodyqDTœ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 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 pt['hauteur']<>'': ppt=ppt+' height="'+pt['hauteur']+'"' if pt['largeur']<>'': ppt=ppt+' width="'+pt['largeur']+'"' 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 qEU Script_magicqFKUwarningsqG)UtitleqHUnoyauqIUerrorsqJ)U Python_magicqKU*ë qLu. i„Ÿ((U OFS.FolderqUFolderqtqNt.}q(UidqUzwo_boqU__ac_local_roles__q}qUxavq ]q UOwnerq asU choixcouleurq (U i­q (U#Products.PythonScripts.PythonScriptqU PythonScriptqttqQU_objectsq(}q(U meta_typeqUFolderqhUeditqu}q(hhhUarboqu}q(hhhUadminqu}q(U meta_typeqUScript (Python)qUidqU presentationqu}q(U meta_typeq UScript (Python)q!Uidq"Umenuq#u}q$(U meta_typeq%UScript (Python)q&Uidq'Ueditionq(u}q)(U meta_typeq*UScript (Python)q+Uidq,Uautourq-u}q.(U meta_typeq/UScript (Python)q0Uidq1U configboxq2u}q3(U meta_typeq4UScript (Python)q5Uidq6h u}q7(U meta_typeq8UFolderq9Uidq:Uskinq;uth(U i®q<(hUFolderq=ttq>QU _propertiesq?(}q@(UidqAUtitleqBUmodeqCUwUtypeqDUstringqEu}qF(hAU type_zwookqGhDUstringqHutU type_zwookqIUsystemqJh((U i¯qK(hU PythonScriptqLttqMQU configboxqN(U i°qO(hU PythonScriptqPttqQQUmenuqR(U i±qS(hU PythonScriptqTttqUQUadminqV(U i²qW(hUFolderqXttqYQUtitleqZUnoyau : back officeq[Ueditq\(U i³q](hUFolderq^ttq_QUskinq`(U i´qa(hUFolderqbttqcQU presentationqd(U iµqe(hU PythonScriptqfttqgQUautourqh(U i¶qi(hU PythonScriptqjtqktqlQu. i… ä((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(U i·q(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. irê((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(U i—q(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. i†((U OFS.FolderqUFolderqtqNt.}q(U__ac_local_roles__q}qU login_managerq(U i¸q(hUFolderq ttQU_objectsq (}q (U meta_typeq UFolderq UidqUarticlequ}q(h h hUbrowsing_modesqu}q(h h hU directfriendsqu}q(h h hUfilequ}q(h h hUflashqu}q(h h hU folder_barqu}q(h h hUforumqu}q(h h hUimagequ}q(h h hUlienqu}q (h h hU locatebarq!u}q"(h h hUmapq#u}q$(h h hU members_listq%u}q&(h h hUongletsq'u}q((h h hUproject_checkerq)u}q*(h h hUsuggest_contentq+u}q,(h h hUtextq-u}q.(h UScript (Python)q/hUtotalq0u}q1(h h hU exemplemoduleq2u}q3(h h hU navigationq4u}q5(h h hUtitreq6u}q7(h h hU login_managerq8u}q9(U meta_typeq:UFolderq;Uidq(h:h;hT8




Vous êtes connecté
Redirection automatique.

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. iˆ+((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. i‰¹((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_m_selfq'Uscriptq(U name_contextq)Ucontextq*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.Uerrorsq/)U_bodyq0Uí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 q1U Script_magicq2KUwarningsq3)U _proxy_rolesq4(UManagerq5tq6U Python_magicq7U*ë q8u. iŠ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. i‹Þ((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)qUidqUmem_dataqu}q(U meta_typeqUScript (Python)qUidqU tab_to_valqu}q(U meta_typeqUScript (Python)qUidqU mem_mod_dataqutU _propertiesq(}q(hUtitleq Umodeq!UwUtypeq"Ustringq#u}q$(hU type_zwookq%h"Ustringq&u}q'(hUsystemq(h"Ustringq)uth%Usystemq*U mix_id_zopeq+(U iÕq,(U#Products.PythonScripts.PythonScriptq-U PythonScriptq.ttq/QUsystemq0Ulibq1h Unoyau - bibliothequeq2Umem_dataq3(U iÖq4(h-U PythonScriptq5ttq6QU mem_mod_dataq7(U i×q8(h-U PythonScriptq9ttq:Qh(U iØq;(h-U PythonScriptqQu. iŒ !((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(U iÙ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. i E((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(U iÚ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. iŽ Ã((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(U iÛq(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. iv((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(U iÜ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 des modules.

La fonction qui reupere mem est :
mem=context.zwo_lib.mem_data()

Elle peut être appelé indépendement de l'afffichage normale de la page, en particulier pour l'espace d'édition, de config, et des modules.

mem regroupe les valeurs utiles au moin une fois lors de l'affichage d'une page quelqu'elle soit.

Liste des elements du dictionnaire mem (mettre à jour réglièrement) :



mem['url']=url
--> url on on est
mem['zwo_url']=zwo_url
--> url de la racine du zwook
mem['zwo_obj']=zwook
--> objet zwook racine
mem['rep_obj']=rep
--> repertoire courrant
mem['obj_obj']=obj
--> objet courrant
mem['rep_id']=rep.getId()
--> id zope du repertoire
mem['rep_toi']=rep.title_or_id()
mem['obj_id']=obj.getId()
--> id de l'objet courrant
mem['rep_url']=rep.absolute_url()
--> url du repertoire courrant
mem['user_obj']=user
--> objet user de type authenticatedUser
mem['user_zw_obj']=zwuser
mem['user_id']=username
mem['user_roles_id']=list_roles
--> liste des roles de l'user courrant
mem['user_avatar_url']=avatar
mem['config_obj']=conf
--> repertoire de config locale
mem['skin_id']=skin_id
--> id du skin
mem['skin_obj']=skin
--> objet folder du skin
mem['droit_vue_dossier']=dr_vue
mem['droit_admin_dossier']=dr_admin
mem['droit_config_dossier']=dr_conf
mem['zwo_font']=zwook_info.general.general_data.font
mem['zwo_font_size']=zwook_info.general.general_data.font_size
qU_varsq}qu. i Z((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(U iÝq(U PersistenceqUPersistentMappingqtq tq QU__ac_local_roles__q }q Umatq ]qUOwnerqasU__name__qU Schema cheminqUtitleqUUglobalsq}qUrawqT^
*************************

Rappel

Modules

les 5 scripts essentiels à la création, la modification et l' affichage d'un élément sont :
le script new_html
le script new_ok
le script config_html
le script config_ok
le script view_html

Eléments

Ce sont les liens, images, texte... créé par les modules.
*************************

Schema de création de l'élément dans le contenu

(1)

Vous êtes sur la page ajout d'élément, le fait de cliquer sur un Module (image, lien, ...) envoie une requette http au serveur qui déclenche le script new_html.

(2)

le script new html genere le formulaire de l'Elément choisi.

(3)

Lorsque le formulaire est rempli, le fait de le confirmer envoie une requette http au serveur qui déclenche le script new_ok .

(4)

le script new_ok crée affecte les modifications à l'Elément et redirige par la suite sur la page de placement des eléments.

Schema de modification de l'élément dans le contenu

(1)

Vous êtes sur la page édition du contenu, le fait de cliquer sur un Elément (image, lien, ...) envoie une requette http au serveur qui déclenche le script config_html.

(2)

le script config_html genere le formulaire de modification de l'Elément choisi.

(3)

Lorsque le formulaire est rempli, le fait de le confirmer,(cliquer sur modifier) envoie une requette http au serveur qui déclenche. le script config_ok .

(4)

le script config_ok modifie l'Elément et redirige sur la page de gestion d'édition du contenu.

Desciption du view_html



Tout les éléments encadrés en rouge sont visible, grace au scriptview_config qui les affiche sur la page html.qU_varsq}qu. i‘‡((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_dav_writelocksq(U iÞq(U PersistenceqUPersistentMappingqtq tq QU__ac_local_roles__q }q Uxavq ]qUOwnerqasU__name__qU HOWTOnoyauqUtitleqUHOWTO noyau ZWOOKqUglobalsq}qUrawqT{

HOWTO ()

Le noyau ZWOOK

ZWOOK est une application client/serveur HTTP.
Elle permet, grace a un client HTTP (navigateur web), d'acceder a un systeme d'information : le system ZWOOK, basé sur le server HTTP Zope.

Le role du noyau :
Gerer l'identification, l'affichage de la navigation dans le systeme d'information selon l'identification.
Il contient les interfaces d'éditions et d'administrations.
Pour effectuer tout cela, le noyau va chercher des données dans la structure de données ZWOOK.

La structure de données ZWOOK est constitué :
- des pages qui contiennent des elements ZWOOK (cf ci-dessous) et des propriétés de mise en page, de sécurité, de référencement...
- les données sur les groupes et les utilisateurs.
- les habillages graphiques (skin).
- des informations générale sur le systeme d'information.
- des données générales d'une application.

Les informations sont essentielement composées d'Eléments ZWOOK.
Les Elements ZWOOK sont générés par les Modules ZWOOK.
Pour l'affichage des modules, le noyau utilise certains scripts des modules.
Un Module ZWOOK est un ensemble de script qui permet de créer, de modifier et d'afficher un élement.
Un Element ZWOOK est une instance de module, c'est a dire un exemple concret créer par un module (liens, images, barres de navigation...).

Chaque Element a un identifiant : il correspond au nom de l'élément. Il sert à reconnaître l'élément dans la page.





Le noyau est composer de :

- le Parser, ou mode visiteur/membre : en fonction de la requette
- Quelques scripts pour la connextion, la redirection, la création du zwook .
- une petite bibliotheque de script (zwo_lib : 5 scripts) .
HTTP, va generé un rendu HTML. (4 scripts)
- Le back office (zwo_bo)
- un MailHost Zope
- un acl_user zope


La structure de donné ZWOOK contient :
- des elements ZWOOK (instance de module ZWOOK)
- les dossier ZWOOK, c'est un dossier zope avec quelques proprités
en plus et qui contient un dossier zwo_dossier avec la configuration du dossier.
- un repertoire images pour les images de l'interface et les images partagés entre utilisateurs...
- un repertoire zwo_info, avec la configuration du systeme d'information, des utilisateurs, des groupes, des skins...
- tous les scripts du noyaux.
- Les scripts des modules (zwo_modules).

Shemas de parcours d'une requette HTTP (image a refaire...)

A quoi servent les requettes HTTP :

  • à visiter le zwook
  • à éditer le contenu
  • à administrer le zwook

Script python qui genere le html(context):

Une fois dans le zope il va falloir creer des pages HTML c'est la que HTML_Header, HTML_footer et le HTML_footer entre en "action"
  • Les trois principales parties
    • HTML_Header
    • Home
    • HTML_footer
Ces trois scripts générent la page html, le HTML_Header et le HTML_footer affiche le Skin. Entre ces deux zones s'inscrit le Home qui est la zone d' édition de contenu c' est cette zone (choisie lors de la création du skin) qui initialise la position du HTML_Header et du HTML_footer et ainsi la découpe du skin.

LE Home ZONE D' EDITION :

  • Chaque dossier à un répertoire Zwo_dossier qui contient les infos du dossier y compris
    • Découpage des tableaux
    • Position des objets
    • Home va donc collecter ces données pour afficher les tables et envoyer l'affichage des éléments
    • View_htmlc'est le fichier d'appel des éléments il va permettre aux modules :
      • d' utiliser mem
      • de savoir quel objet il doit traiter

Définitions de l' élément et du modules dans "le langage dévelopeur"

  • Le Module
  • C'est l'objet, en réalité c' est le code qui permet de créer les objets.
    Le code des modules est toujours placé dans /Zwo_modules/(nom_du_module)
  • les éléments
  • C' est l'instance, L' élément créé à l'aide du Module ils sont positionnés et gerés par Zwo_dossier,
    (cette indication n' est pas indispensable pour coder le module)

ADMIN_SYS

  • Comment installer un ZOPE
  • Coment installer un ZWOOK sur un Zope
qU_varsq}qu. i’Ï((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_printqUcontextqUmemqUdejavuqU containerqUatqU co_argcountqKubU_paramsqUUidqU index_htmlqU__ac_local_roles__q}qUxavq]qUOwnerqasU_dav_writelocksq(U ißq(U Persistenceq UPersistentMa