ZEXPïݧ((U OFS.FolderqUFolderqtqNt.}q(U+_Open_Close_Database_Connections_Permissionq(UManagerqU config_zwookqtqUzwo_libq (UïÞq (hUFolderq ttQU_View_History_Permissionq (U Anonymousq U AuthenticatedqhhtqU_Add_Page_Templates_Permissionq(hhtqU!_Import_Export_objects_Permissionq(hhtqU#_Manage_ZCatalog_Entries_Permissionq(hhtqU_Add_Zope_Tutorials_Permissionq(hhtqU __ac_roles__q(hUOwnerqh hhtqU_Add_Vocabularies_Permissionq(hhtqU_Edit_Factories_Permissionq(hhtqUtitleqUU zwo_modulesq (Uïßq!(hUFolderq"ttQU_Manage_Z_Classes_Permissionq#(hhtq$U_Delete_objects_Permissionq%(h hhhtq&U_Add_Versions_Permissionq'(hhtq(U _Use_Database_Methods_Permissionq)(hhhtq*U#_Change_External_Methods_Permissionq+(hhtq,U_Copy_or_Move_Permissionq-(h hhhtq.U_Change_Versions_Permissionq/(hhtq0U(_Manage_ZCatalogIndex_Entries_Permissionq1(hhtq2U"_Create_class_instances_Permissionq3(hhtq4Uzwo_boq5(Uïàq6(hUFolderq7ttQU(_Save_discard_Version_changes_Permissionq8(hhtq9U_Manage_users_Permissionq:(hhtq;U _Add_Temporary_Folder_Permissionq<(hhtq=U_Add_Python_Scripts_Permissionq>(hhtq?U_Define_permissions_Permissionq@]qA(h heU'_Change_Session_Data_Manager_PermissionqB(hhtqCU!_Change_cache_managers_PermissionqD(hhtqEU-_Add_Z_Gadfly_Database_Connections_PermissionqF(hhtqGU/_Add_Accelerated_HTTP_Cache_Managers_PermissionqH(hhtqIU._Access_arbitrary_user_session_data_PermissionqJ(hhtqKU _Log_to_the_Event_Log_PermissionqL(hhtqMU index_htmlqN(UïáqO(U#Products.PythonScripts.PythonScriptqPU PythonScriptqQttQU_Search_ZCatalog_PermissionqR(h hhhtqSU%_Add_Virtual_Host_Monsters_PermissionqT(hhtqUU _Change_configuration_PermissionqV(hhtqWU_Add_Folders_PermissionqX(hhtqYU_Manage_Vocabulary_PermissionqZ(hhtq[U!_Change_Python_Scripts_Permissionq\(hhtq]U_Use_external_editor_Permissionq^(hhtq_U$_Create_Transient_Objects_Permissionq`(hhtqaU zwo_imagesqb(Uïâqc(hUFolderqdttQU_Change_DTML_Methods_Permissionqe(hhtqfU_Access_session_data_Permissionqg(h hhhtqhU _Add_MailHost_objects_Permissionqi(hhtqjU__allow_groups__qk(Uïãql(UAccessControl.UserqmU UserFolderqnttQU_Query_Vocabulary_Permissionqo(h hhhtqpU_Add_Pluggable_Index_Permissionqq(hhtqrU type_zwookqsUsystemqtU_Add_User_Folders_Permissionqu(hhtqvU_objectsqw(}qx(U meta_typeqyU DTML DocumentqzUidq{Utest_connectionq|u}q}(U meta_typeq~UFolderqUidq€Uzwo_infoqu}q‚(U meta_typeqƒUScript (Python)q„Uidq…Uacl_objq†u}q‡(U meta_typeqˆUScript (Python)q‰UidqŠhNu}q‹(U meta_typeqŒU User FolderqUidqŽU acl_usersqu}q(U meta_typeq‘U DTML Documentq’Uidq“UCOPYINGq”u}q•(U meta_typeq–UFolderq—Uidq˜Uzwo_libq™u}qš(U meta_typeq›UFolderqœUidqUzwo_boqžu}qŸ(h›hœhhbu}q (U meta_typeq¡UFolderq¢Uidq£U zwo_modulesq¤u}q¥(U meta_typeq¦U Mail Hostq§Uidq¨UMailHostq©u}qª(U meta_typeq«UFolderq¬Uidq­Uzwookq®utq¯U*_Add_Transient_Object_Container_Permissionq°(hhtq±U_query_Permissionq²]q³(h hhheU_Change_proxy_roles_Permissionq´(hhtqµU"_Add_Browser_Id_Manager_Permissionq¶(hhtq·U!_Change_cache_settings_Permissionq¸(hhtq¹U_WebDAV_Lock_items_Permissionqº(htq»U-_Manage_Transient_Object_Container_Permissionq¼(hhtq½U_Manage_WebDAV_Locks_Permissionq¾(hhtq¿U!_Change_Page_Templates_PermissionqÀ(hhtqÁU$_Add_Session_Data_Manager_PermissionqÂ(hhtqÃU*_Open_Close_Database_Connection_PermissionqÄ(hhtqÅU_Take_ownership_PermissionqÆ(hhtqÇU_WebDAV_access_PermissionqÈ(htqÉU_Change_bindings_PermissionqÊ(hhtqËUacl_objqÌ(UïäqÍ(hPU PythonScriptqÎttQU%_Test_Database_Connections_PermissionqÏ(hhtqÐUsystemqÑUracineqÒU$_Access_Transient_Objects_PermissionqÓ(h hhhtqÔU_Log_Site_Errors_PermissionqÕ(hhtqÖU_Add_Site_Roots_Permissionq×(hhtqØU _Add_External_Methods_PermissionqÙ(hhtqÚUtest_connectionqÛ(UïåqÜ(UOFS.DTMLDocumentqÝU DTMLDocumentqÞttQU_Add_ZCatalogs_Permissionqß(hhtqàU#_View_management_screens_Permissionqá(hhtqâU!_Use_mailhost_services_Permissionqã(h hhhtqäU#_Change_Database_Methods_Permissionqå(hhtqæU _Add_Database_Methods_Permissionqç(hhtqèU_Manage_properties_Permissionqé(hhtqêU_Add_ChatItems_Permissionqë(h hhtqìUzwo_infoqí(Uïæqî(hUFolderqïttQh(hl(hmU UserFolderqðttQU%_Change_Browser_Id_Manager_Permissionqñ(hhtqòU,_Add_Documents__Images__and_Files_Permissionqó(hhtqôU_FTP_access_Permissionqõ(hhtqöU_Use_Factories_Permissionq÷(hhtqøU'_Change_Database_Connections_Permissionqù(hhtqúh©(Uïçqû(UProducts.MailHost.MailHostqüUMailHostqýttQUCOPYINGqþ(Uïèqÿ(hÝU DTMLDocumentrttQU'_Access_contents_information_Permissionr(h hhhtrU#_Change_Images_and_Files_Permissionr(hhtrUidrUzwook_active_rc4rU"_Add_RAM_Cache_Managers_Permissionr(hhtrU#_Change_Lock_Information_Permissionr (hhtr U_Join_leave_Versions_Permissionr (hhtr U_View_Permissionr (h hhhtrU_WebDAV_Unlock_items_Permissionr(htrh®(Uïér(hUFolderrttQU__ac_local_roles__r}rU!_Change_DTML_Documents_Permissionr(hhtrU_Undo_changes_Permissionr(h hhtrU_ownerr(]rU acl_usersraUadminrtrU_Manage_Access_Rules_Permissionr(hhtrU _propertiesr (}r!(Utyper"Ustringr#Uidr$Utitler%Umoder&Uwu}r'(j"Ustringr(j$U type_zwookr)u}r*(j"Ustringr+j$Usystemr,utr-U_Change_permissions_Permissionr.(hhtr/U_Add_ZRTChats_Permissionr0(h hhtr1u.ïÞ ((U OFS.FolderqUFolderqtqNt.}q(Uzwo_droits_folderq(Uïêq(U#Products.PythonScripts.PythonScriptqU PythonScriptqttq QUparseq (Uïëq (hUFolderq ttq QUstandard_print_headerq(Uðq(hU PythonScriptqttqQUstandard_img_homeq(Uïìq(hU PythonScriptqttqQUidqUzwo_libqUzwo_user_groupsq(Uïíq(hU PythonScriptqttqQU tab_to_valq(Uïîq(hU PythonScriptqttqQUzwo_cpyq (Uïïq!(hU PythonScriptq"ttq#QU mem_mod_dataq$(Uïðq%(hU PythonScriptq&ttq'QUmem_dataq((Uïñq)(hU PythonScriptq*ttq+QUtitleq,Unoyau - bibliothequeq-Usystemq.Ulibq/U type_zwookq0Usystemq1U_objectsq2(}q3(U meta_typeq4UScript (Python)q5Uidq6U mix_id_zopeq7u}q8(U meta_typeq9UScript (Python)q:Uidq;hu}q<(U meta_typeq=UScript (Python)q>Uidq?U mem_mod_dataq@u}qA(U meta_typeqBUScript (Python)qCUidqDUmem_dataqEu}qF(U meta_typeqGUScript (Python)qHUidqIU secure_skinqJu}qK(U meta_typeqLUScript (Python)qMUidqNUzwo_droits_folderqOu}qP(U meta_typeqQUScript (Python)qRUidqSUzwo_cpyqTu}qU(hQhRhSU zwo_renameqVu}qW(hQhRhSUzwo_user_groupsqXu}qY(hQhRhSUstandard_img_footerqZu}q[(hQhRhSUstandard_img_headerq\u}q](hQhRhShu}q^(hQhRhSUstandard_print_footerq_u}q`(hQhRhShu}qa(hQhRhSUstandard_print_homeqbu}qc(U meta_typeqdUScript (Python)qeUidqfUzwo_initialise_passwordqgu}qh(U meta_typeqiUScript (Python)qjUidqkUcheck_edit_repqlu}qm(U meta_typeqnUScript (Python)qoUidqpUstandard_html_footerqqu}qr(hnhohpUstandard_html_headerqsu}qt(hnhohpUstandard_html_homequu}qv(U meta_typeqwUFolderqxUidqyUinstallqzu}q{(hwUScript (Python)q|hyUstandard_minimal_footerq}u}q~(hwh|hyUstandard_minimal_headerqu}q€(U meta_typeqUFolderq‚UidqƒUparseq„utq…hg(Uïòq†(hU PythonScriptq‡ttqˆQUinstallq‰(UïýqŠ(hUFolderq‹ttqŒQh\(Uïôq(hU PythonScriptqŽttqQhZ(Uïõq(hU PythonScriptq‘ttq’QUstandard_html_footerq“(Uïöq”(hU PythonScriptq•ttq–QUstandard_html_homeq—(Uï÷q˜(hU PythonScriptq™ttqšQU secure_skinq›(Uïøqœ(hU PythonScriptqttqžQU zwo_renameqŸ(Uïùq (hU PythonScriptq¡ttq¢Qhb(Uïúq£(hU PythonScriptq¤ttq¥Qh_(Uïûq¦(hU PythonScriptq§ttq¨QU mix_id_zopeq©(Uïüqª(hU PythonScriptq«ttq¬QUstandard_minimal_headerq­(Uïóq®(hU PythonScriptq¯ttq°QU _propertiesq±(}q²(Utypeq³Ustringq´hh,UmodeqµUwu}q¶(h³Ustringq·hh0u}q¸(h³Ustringq¹hUsystemqºutq»Ustandard_minimal_footerq¼(Uïþq½(hU PythonScriptq¾ttq¿Qhl(UïÿqÀ(hU PythonScriptqÁttqÂQU__ac_local_roles__qÃ}qÄUstandard_html_headerqÅ(UðqÆ(hU PythonScriptqÇtqÈtqÉQu.ïßE((U OFS.FolderqUFolderqtqNt.}q(Uwebshellq(Uðq(hUFolderqttqQUflashq (Uðq (hUFolderq ttq QU rss_readerq (Uðq(hUFolderqttqQUexample_moduleq(Uð&q(hUFolderqttqQUtextq(Uðq(hUFolderqttqQUimageq(Uðq(hUFolderqttqQU album_photoq(Uðq(hUFolderqttq QU text_epozq!(Uðq"(hUFolderq#ttq$QU kzexpmenuq%(Uð q&(hUFolderq'ttq(QU folderbarq)(Uð q*(hUFolderq+ttq,QUfileq-(Uð q.(hUFolderq/ttq0QUtotalq1(Uð q2(U#Products.PythonScripts.PythonScriptq3U PythonScriptq4ttq5QUtodoq6(Uð q7(hUFolderq8ttq9QUidq:U zwo_modulesq;U list_linksq<(Uðq=(hUFolderq>ttq?QUforums_historyq@(UðqA(hUFolderqBttqCQU documentsqD(UðqE(hUFolderqFttqGQU preferencesqH(UðqI(hUFolderqJttqKQUscriptqL(UðqM(hUFolderqNttqOQU news_historyqP(UðqQ(hUFolderqRttqSQUannuaire_liensqT(UðqU(hUFolderqVttqWQUsystemqXUlibqYU catalogueqZ(Uðq[(hUFolderq\ttq]QU minicalendarq^(Uð'q_(hUFolderq`ttqaQU type_zwookqbUsystemqcUtitreqd(Uðqe(hUFolderqfttqgQU login_managerqh(Uðqi(hUFolderqjttqkQU directfriendsql(Uðqm(hUFolderqnttqoQUtraitqp(Uðqq(hUFolderqrttqsQUbrowsing_modesqt(Uðqu(hUFolderqvttqwQU_objectsqx(}qy(U meta_typeqzUScript (Python)q{Uidq|Utotalq}u}q~(U meta_typeqUFolderq€UidqU kzexpmenuq‚u}qƒ(U meta_typeq„UFolderq…Uidq†U folderbarq‡u}qˆ(h„h…h†Uscriptq‰u}qŠ(U meta_typeq‹UFolderqŒUidqUforumqŽu}q(h‹hŒhU documentsqu}q‘(h‹hŒhhu}q’(U meta_typeq“UFolderq”Uidq•htu}q–(h“h”h•U mesevenementsq—u}q˜(h“h”h•h^u}q™(h“h”h•U calendrierqšu}q›(h“h”h•U speedblogqœu}q(U meta_typeqžUFolderqŸUidq U locatebarq¡u}q¢(U meta_typeq£UFolderq¤Uidq¥Urecherche_googleq¦u}q§(U meta_typeq¨UFolderq©UidqªUtitreq«u}q¬(U meta_typeq­UFolderq®Uidq¯h u}q°(U meta_typeq±UFolderq²Uidq³Uimageq´u}qµ(U meta_typeq¶UFolderq·Uidq¸hZu}q¹(U meta_typeqºUFolderq»Uidq¼U directfriendsq½u}q¾(U meta_typeq¿UFolderqÀUidqÁUsubmited_monitorqÂu}qÃ(U meta_typeqÄUFolderqÅUidqÆh(hUFolderr?tr@trAQU navigationrB(Uð%rC(hUFolderrDttrEQu.ïà´((U OFS.FolderqUFolderqtqNt.}q(Uautourq(Uð+q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU choixcouleurq (Uð4q (hU PythonScriptq tqtqQUtitleqUnoyau : back officeqUadminq(Uð,q(hUFolderqtqtqQUmenuq(Uð-q(hU PythonScriptqtqtqQUskinq(Uð0q(hUFolderqtqtq QU presentationq!(Uð3q"(hU PythonScriptq#tq$tq%QU configboxq&(Uð.q'(hU PythonScriptq(tq)tq*QUeditq+(Uð/q,(hUFolderq-tq.tq/QU type_zwookq0Usystemq1U _propertiesq2(}q3(Utypeq4Ustringq5Uidq6Utitleq7Umodeq8Uwu}q9(h4Ustringq:h6U type_zwookq;utq(hUFolderq?tq@tqAQU_objectsqB(}qC(U meta_typeqDUFolderqEUidqFUadminqGu}qH(U meta_typeqIUScript (Python)qJUidqKUmenuqLu}qM(U meta_typeqNUScript (Python)qOUidqPUeditionqQu}qR(U meta_typeqSUScript (Python)qTUidqUU configboxqVu}qW(U meta_typeqXUScript (Python)qYUidqZh u}q[(U meta_typeq\UFolderq]Uidq^Uskinq_u}q`(U meta_typeqaUScript (Python)qbUidqcU presentationqdu}qe(hahbhcUautourqfu}qg(U meta_typeqhUFolderqiUidqjUarboqku}ql(U meta_typeqmUFolderqnUidqoUeditqputqqhQ(Uð2qr(hU PythonScriptqstqttquQU__ac_local_roles__qv}qwhFUzwo_boqxu.ïá((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T„#Affiche un dossier ou un objet. #recupération des données utiles (mem). mem=context.zwo_lib.mem_data() #test pour verifier que l'utilisateur n'est pas un user Zope non Zwook. if not mem: return 'Vous utilisez un User Zope qui n\'est pas enregistré dans Zwook !!!
Mettez cette page en bookmark
Delogger vous ICI.
Vous devez ensuite cliquer sur Annuler/Cancel...
Revenez ensuite sur votre page bookmarkée
' #Check de premiere configuration. #pour réactivé cette premiere configuration (changement de password root) # mettre a 0 la propriété checkproperty de zwo_info. if not mem['racine_obj'].zwo_info.hasProperty("checkpasswd") or mem['racine_obj'].zwo_info.checkpasswd<>1: try: return context.zwo_lib.zwo_initialise_password(mem) except: #affichage avant premiere connection d'un message indiquant le login/password temporaire. return '

Se connecter avec l\'utilisateur "admin" et le mot de passe "admin"

Cliquer ici pour se connecter

' #Test si l'utilisateur a le droit de voir la page (ou l'objet) 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 # selon le mode d'affichage, appelle les fonctions header / home / footer correspondantes. if view=='html': print context.zwo_lib.standard_html_header(mem) print context.zwo_lib.standard_html_home(mem) print context.zwo_lib.standard_html_footer(mem) elif view=='print': print context.zwo_lib.standard_print_header(mem) print context.zwo_lib.standard_print_home(mem) print context.zwo_lib.standard_print_footer(mem) elif view=='img': print context.zwo_lib.standard_img_header(mem) print context.zwo_lib.standard_img_home(mem) print context.zwo_lib.standard_img_footer(mem) else: print 'type view inconnu.' return printed q Utitleq Unoyauq U _filepathqU'Script (Python):/kzexp_zwook/index_htmlqU_codeqTÍc@sdd„ZdS(NshtmlcCsªtƒ}tttdƒdƒƒ}| odSnttt|dƒdƒdƒdƒ p%ttt|dƒdƒdƒdjoTy tttdƒd ƒ|ƒSWqÙd t|d ƒd t|d ƒdSqÙXnt|dƒdjoA|dIJ|dt|d ƒd t|d ƒdIJ|ƒSn|djoj|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJnù|djoj|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJn‚|djoj|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJn |d IJ|ƒSdS(!Nszwo_libsmem_datas Vous utilisez un User Zope qui n'est pas enregistré dans Zwook !!!
Mettez cette page en bookmark
Delogger vous ICI.
Vous devez ensuite cliquer sur Annuler/Cancel...
Revenez ensuite sur votre page bookmarkée
s racine_objszwo_infos hasPropertys checkpasswdiszwo_initialise_passwords

Se connecter avec l'utilisateur "admin" et le mot de passe "admin"

Cliquer ici pour se connecter

sdroit_vue_dossieris^



Cette page nécessite une identification.



s> Pour vous identifier sur le site,
cliquer sur Se connecter
shtmlsstandard_html_headersstandard_html_homesstandard_html_footersprintsstandard_print_headersstandard_print_homesstandard_print_footersimgsstandard_img_headersstandard_img_homesstandard_img_footerstype view inconnu.(s_print_s_prints _getattr_scontextsmems _getitem_sview(sviews_print_s_prints _getattr_scontextsmems _getitem_((sScript (Python)s index_htmls2 H#. ,  ""& ""& ""& (s index_html(s index_html((sScript (Python)ssqU func_defaultsq(UhtmlqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathq U name_m_selfq!Uscriptq"usbU func_codeq#(cShared.DC.Scripts.Signature FuncCode q$oq%}q&(U co_argcountq'KU co_varnamesq((Uviewq)U_print_q*U_printq+U _getattr_q,Ucontextq-Umemq.U _getitem_q/tq0ubU__ac_local_roles__q1}q2Uxavq3]q4UOwnerq5asUidq6U index_htmlq7U_paramsq8U view='html'q9U_dav_writelocksq:(Uð5q;(U Persistenceqtq?Qu.ïâ((U OFS.FolderqUFolderqtqNt.}q(UtitleqUnoyau - imagesqUboq(Uð6q(hUFolderq tq tq QUmodulesq (Uð7q (hUFolderqtqtqQUsystemqUdataqU pixel.gifq(Uð8q(U OFS.ImageqUImageqtqtqQU type_zwookqUsystemqU _propertiesq(}q(UtypeqUstringqUidqhUmodeq Uwu}q!(hUstringq"hU type_zwookq#u}q$(hUstringq%hUsystemq&utq'U_objectsq((}q)(U meta_typeq*UImageq+hhu}q,(U meta_typeq-UFolderq.Uidq/hu}q0(U meta_typeq1UFolderq2Uidq3Umodulesq4utq5U__ac_local_roles__q6}q7hU zwo_imagesq8u.ïã£((UAccessControl.UserqU UserFolderqtqNt.}q(U__ac_local_roles__q}qUadminq]qUOwnerq asUdataq (Uð9q (U Persistenceq UPersistentMappingq tqtqQu.ïä((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqUnoyauq U Script_magicq KU_bodyq T# Ce script sert a récuperer l'objet ou l'url de la racine du zwook. # Pour fonctionner, il doit être placé à la racine. # Il ne faut donc pas le déplacer. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #si il existe un parametre url, acl_obj renvoie l'url, sinon, acl_obj renvoie l'objet. if url: return container.absolute_url() else: return container q Uwarningsq )U _filepathqU$Script (Python):/kzexp_zwook/acl_objqU_codeqTLc@sed„ZdS(NcCsZdkl}|ƒ}t|dƒƒdjodSn|ottdƒƒSntSdS(N(sgetSecurityManagerscalledByExecutableisnons absolute_url(s AccessControlsgetSecurityManagersas _getattr_surls container(surls AccessControlsgetSecurityManagersas _getattr_s container((sScript (Python)sacl_objs  (sNonesacl_obj(sNonesacl_obj((sScript (Python)ssqU func_defaultsq(NtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerq U containerq!usbU_dav_writelocksq"(Uð:q#(U Persistenceq$UPersistentMappingq%tq&tq'QU__ac_local_roles__q(}q)Uxavq*]q+UOwnerq,asUidq-Uacl_objq.U_paramsq/Uurl=Noneq0U func_codeq1(cShared.DC.Scripts.Signature FuncCode q2oq3}q4(U co_argcountq5KU co_varnamesq6(Uurlq7U AccessControlq8UgetSecurityManagerq9UaU _getattr_q:U containerq;tq ">




Vous êtes connecté
Redirection automatique.

Pour une redirection manuelle : cliquer ici Pour une redirection manuelle : ">cliquer ici
qUglobalsq}qU#_View_management_screens_Permissionq(htqU'_Access_contents_information_Permissionq(U AnonymousqU AuthenticatedqhtqUtitleqUnoyauqU_Change_DTML_Methods_Permissionq(htqUsystemqUlibqU_Delete_objects_Permissionq (htq!U type_zwookq"Usystemq#U_varsq$}q%U_Change_proxy_roles_Permissionq&(htq'U_Copy_or_Move_Permissionq((htq)U__name__q*Utest_connectionq+U!_Change_cache_settings_Permissionq,(htq-U_View_Permissionq.(hhtq/U_dav_writelocksq0(Uð;q1(U Persistenceq2UPersistentMappingq3tq4tq5QU_WebDAV_Unlock_items_Permissionq6(htq7U_Manage_properties_Permissionq8(htq9U_WebDAV_Lock_items_Permissionq:(htq;U_Undo_changes_Permissionq<(htq=U_Manage_WebDAV_Locks_Permissionq>(htq?U _propertiesq@(}qA(UtypeqBUstringqCUidqDUtitleqEUmodeqFUwu}qG(hBUstringqHhDU type_zwookqIu}qJ(hBUstringqKhDUsystemqLutqMU_Change_permissions_PermissionqN(htqOU__ac_local_roles__qP}qQu.ïæ ((U OFS.FolderqUFolderqtqNt.}q(Uusersq(Uðq*(hUFolderq+ttQUsystemq,Udataq-Usiteq.Uzwook_active_rc4q/Ustandby_contentq0(Uð?q1(hUFolderq2ttQU type_zwookq3Usystemq4Ugroupsq5(Uð@q6(hUFolderq7ttQh$KUimagesq8(UðAq9(hUFolderq:ttQU_objectsq;(}q<(U meta_typeq=UFolderq>Uidq?Uusersq@u}qA(h=h>h?UgroupsqBu}qC(U meta_typeqDUFolderqEUidqFUimagesqGu}qH(U meta_typeqIUFolderqJUidqKUcssqLu}qM(hIhJhKhu}qN(hIhJhKUskinsqOu}qP(hIhJhKUstandby_contentqQu}qR(U meta_typeqSUFolderqTUidqUh)utqVUskinsqW(UðBqX(hUFolderqYttQU__ac_local_roles__qZ}q[Uemailq\Uwebmaster@localhostq]Ucssq^(UðCq_(hUFolderq`ttQu.ïçÀ((UProducts.MailHost.MailHostqUMailHostqtqNt.}q(UtitleqUMailHost du siteqU smtp_portqKU smtp_hostqU localhostq U__ac_local_roles__q }q Uadminq ]q UOwnerqasUidqUMailHostqu.ïèï((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUtitleqUGPLqUrawq T>KZEXP-ZWOOK version beta 1, Copyright (C) 2001-2004 Xavier Manach (xav@1et0.org). This file is part of KZEXP-ZWOOK. KZEXP-ZWOOK is the kernel of ZWOOK. KZEXP-ZWOOK is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA q Uglobalsq }q U__name__q UCOPYINGqU__ac_local_roles__q}qUadminq]qUOwnerqasu.ïéÓ((U OFS.FolderqUFolderqtqNt.}q(U+_Open_Close_Database_Connections_Permissionq(UManagerqU config_zwookqtqU_View_History_Permissionq (hU Authenticatedq U Anonymousq htq U_Add_Page_Templates_Permissionq (htqU!_Import_Export_objects_Permissionq(hh h tqU#_Manage_ZCatalog_Entries_Permissionq(hhtqU_Add_Zope_Tutorials_Permissionq(htqU!_Manage_XML_Transforms_Permissionq(UManagerqtqU __ac_roles__q(hUOwnerqU AnonymousqU AuthenticatedqtqU_Add_Vocabularies_Permissionq(hhtqU_Edit_Factories_Permissionq(hhtq Utitleq!UAccueilq"U _Use_Database_Methods_Permissionq#(hhtq$U_Manage_Z_Classes_Permissionq%(hhtq&U_Delete_objects_Permissionq'(hh h htq(U_Add_Versions_Permissionq)(htq*U scriptpythonq+(UðDq,(hUFolderq-ttQUtitre_dernier_articlesq.(UðEq/(hUFolderq0ttQU type_zwookq1Usystemq2U_Change_user_folder_Permissionq3(htq4U_Copy_or_Move_Permissionq5(hh h htq6U!_Add_ZODB_Mount_Points_Permissionq7(htq8U_Change_Versions_Permissionq9(htq:U#_Change_Database_Methods_Permissionq;(hhtqU(_Save_discard_Version_changes_Permissionq?(htq@U_Is_Membre_PermissionqA(UManagerqBtqCU_Manage_users_PermissionqD(htqEU _Add_Temporary_Folder_PermissionqF(htqGU_Add_Python_Scripts_PermissionqH(htqIU albumphotosqJ(UðFqK(hUFolderqLttQU_Define_permissions_PermissionqM(htqNU'_Change_Session_Data_Manager_PermissionqO(htqPU!_Change_cache_managers_PermissionqQ(htqRU-_Add_Z_Gadfly_Database_Connections_PermissionqS(hhtqTU_Add_XML_Transforms_PermissionqU(htqVU._Access_arbitrary_user_session_data_PermissionqW(hU AnonymousqXU AuthenticatedqYU config_zwookqZU skin_editorq[U pages_managerq\tq]U _Log_to_the_Event_Log_Permissionq^(htq_Uliensq`(UðLqa(hUFolderqbttQU_Search_ZCatalog_Permissionqc(hh h htqdU%_Add_Virtual_Host_Monsters_Permissionqe(htqfU _Change_configuration_Permissionqg(hhtqhU_Add_Folders_Permissionqi(hh h htqjU_Manage_Vocabulary_Permissionqk(hhtqlU!_Change_Python_Scripts_Permissionqm(htqnU_Use_external_editor_Permissionqo(hhtqpU$_Create_Transient_Objects_Permissionqq(hhtqrU_Change_DTML_Methods_Permissionqs(hhtqtU_Access_session_data_Permissionqu(hhXhYhZh[h\tqvU _Add_MailHost_objects_Permissionqw(hhtqxU,_Add_Z_MySQL_Database_Connections_Permissionqy(htqzU_Query_Vocabulary_Permissionq{(hh h htq|Uversionq}U 1.0beta4cq~U_Add_Pluggable_Index_Permissionq(htq€U#_Change_External_Methods_Permissionq(htq‚U_Add_User_Folders_Permissionqƒ(htq„U_objectsq…(}q†(U meta_typeq‡UFolderqˆUidq‰U zwo_dossierqŠu}q‹(U meta_typeqŒUFolderqUidqŽh`u}q(U meta_typeqUFolderq‘Uidq’U actualitesq“u}q”(hh‘h’U newshistoryq•u}q–(hh‘h’Uforumsq—u}q˜(hh‘h’hJu}q™(hh‘h’U texte_introqšu}q›(hh‘h’Utitre_bienvenueqœu}q(hh‘h’h.u}qž(hh‘h’U scriptpythonqŸu}q (U meta_typeq¡UImageq¢Uidq£U image.gifq¤u}q¥(U meta_typeq¦UFolderq§Uidq¨U forumshistoryq©u}qª(U meta_typeq«UFolderq¬Uidq­Ucontactq®utq¯U*_Add_Transient_Object_Container_Permissionq°(hh h tq±U/_Add_Accelerated_HTTP_Cache_Managers_Permissionq²(htq³U_Change_proxy_roles_Permissionq´(htqµUstandby_contentq¶U1U"_Add_Browser_Id_Manager_Permissionq·(htq¸U!_Change_cache_settings_Permissionq¹(htqºU!_Edit_ReStructuredText_Permissionq»(htq¼U)_Add_XSL_Transformer_Registrys_Permissionq½(htq¾U_WebDAV_Lock_items_Permissionq¿(UManagerqÀtqÁU-_Manage_Transient_Object_Container_PermissionqÂ(hh h htqÃh“(UðGqÄ(hUFolderqÅttQU_Manage_WebDAV_Locks_PermissionqÆ(hhtqÇU!_Change_Page_Templates_PermissionqÈ(hhtqÉU$_Add_Session_Data_Manager_PermissionqÊ(htqËU_Add_TestXav_objects_PermissionqÌ(hBtqÍU*_Open_Close_Database_Connection_PermissionqÎ(hhtqÏU%_Change_Browser_Id_Manager_PermissionqÐ(htqÑU_Take_ownership_PermissionqÒ(hhtqÓU_WebDAV_access_PermissionqÔ(hÀtqÕU*_Add_ReStructuredText_Documents_PermissionqÖ(htq×U_Change_bindings_PermissionqØ(htqÙU,_Add_XML_Transform_Cache_Managers_PermissionqÚ(htqÛUforumsqÜ(UðIqÝ(hUFolderqÞttQU%_Test_Database_Connections_Permissionqß(hhtqàUsystemqáUracineqâU$_Access_Transient_Objects_Permissionqã(hhXhYhZh[h\tqäU_Log_Site_Errors_Permissionqå(htqæU&_Manage_XML_Transform_Cache_Permissionqç(htqèhœ(UðJqé(hUFolderqêttQU_Add_Site_Roots_Permissionqë(htqìU _Add_External_Methods_Permissionqí(htqîhš(UðKqï(hUFolderqðttQU_Add_ZCatalogs_Permissionqñ(hhtqòU#_View_management_screens_Permissionqó(hhtqôU!_Use_mailhost_services_Permissionqõ(hh h htqöU(_Manage_ZCatalogIndex_Entries_Permissionq÷(hhtqøU _Add_Database_Methods_Permissionqù(hhtqúU_Manage_properties_Permissionqû(hh h htqüU_Add_ChatItems_Permissionqý(UManagerqþU config_zwookqÿtrU zwo_dossierr(UðHr(hUFolderrttQU,_Add_Documents__Images__and_Files_Permissionr(hh h htrU_FTP_access_Permissionr(hh h htrU_Use_Factories_Permissionr(hhtr U'_Change_Database_Connections_Permissionr (hhtr U!_Change_DTML_Documents_Permissionr (hh h htr U'_Access_contents_information_Permissionr(hhXhYhZh[h\trU#_Change_Images_and_Files_Permissionr(hh h htrh•(UðMr(hUFolderrttQUidrUzwookrU#_Add_BZP_Serveur_objects_Permissionr(hBtrU image.gifr(UðNr(U OFS.ImagerUImagerttQU"_Add_RAM_Cache_Managers_Permissionr(htrU#_Change_Lock_Information_Permissionr(hhtrU_View_Permissionr (hh h htr!h©(UðOr"(hUFolderr#ttQU_WebDAV_Unlock_items_Permissionr$(hÀtr%U_Edit_Permissionr&(htr'U__ac_local_roles__r(}r)(Uadminr*]r+(Uadminr,(UOwnerr-ttr.aUjamesr/]r0(Uadminr1(UOwnerr2ttr3aUgregr4]r5(Uxavr6(UOwnerr7ttr8aUxavr9]r:(Uxavr;(UOwnerr<ttr=auU_Join_leave_Versions_Permissionr>(htr?U_Undo_changes_Permissionr@(hh h htrAUcontactrB(UðPrC(hUFolderrDttQU_Manage_Access_Rules_PermissionrE(hhtrFU _propertiesrG(}rH(UtyperIUstringrJUidrKUtitlerLUmoderMUwu}rN(jIUstringrOjKU type_zwookrPu}rQ(jIUstringrRjKUsystemrSu}rT(UtyperUUstringrVUidrWh¶u}rX(UtyperYUstringrZUidr[Uversionr\utr]U_Change_permissions_Permissionr^(hhtr_U_Add_ZRTChats_Permissionr`(hþtrau.ïê#‚((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T¸# Ce script gere les droits locaux. Il est donc critique pour la sécurité. # Ce scrit contient les listes de permissions correspondants aux: # non visiteur / visiteur / editeur de page. # le principe est simple, la carte des droits zwook permet de mappers # ces droits selon les groupes zwooks (qui sont les roles zope). # L'exception étant le role Manager, qui a de toute facon tous les droits. # (ceci peu être réglé en modifiant la liste nonvisible) # Le choix des ces parametres de securité sont critique. # Ils n'ont pas encore assez été étudier a mon avis. # Un perfectionnement et des tests seraient souhaitable. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' ############################## # DEBUT LISTE PERMISSIONS #### ############################## chlistePermNonVisiteur="""Access Transient Objects Access arbitrary user session data Access contents information Access session data""" listePermNonVisiteur=chlistePermNonVisiteur.split('\n') 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""" listePermVisiteur=chlistePermVisiteur.split('\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""" listePermEditeur=chlistePermEditeur.split('\n') liste_perm=[] b=rep.permission_settings() for c in b: liste_perm.append(c['name']) ############################## # FIN LISTE PERMISSIONS ###### ############################## #liste des roles qui ne sont pas affectés par la map droits nonvisible=['Manager'] #on determine la listes des groupes zwooks affecté par la map droits. (lg) repgr=context.zwo_info.groups lg=[] for a in repgr.objectIds(): if not a in nonvisible: if a<>'' : lg.append(a) #Test si il y a aquisition des droits if rep.zwo_dossier.new_droits=='0': #Donne tous droits au groupe Manager rep.manage_role('Manager', liste_perm) #Configure tous droits en aquisition #Donne aucun droit au autres groupes. rep.manage_acquiredPermissions(liste_perm) for gr in lg: rep.manage_role(gr, []) return # Si il n'y as pas aquisition : # On recupere les listes de groupes editeurs (ge) et visiteurs (gv). chgv=rep.zwo_dossier.groupes_visiteurs chge=rep.zwo_dossier.groupes_editeurs gv=chgv.split('&') ge=chge.split('&') #on donne tous les droits au groupe Manager rep.manage_role('Manager', liste_perm) #Configure aucun droits en aquisition rep.manage_acquiredPermissions([]) #Donne les droits de non visiteurs a tous les groupes. for gr in lg: rep.manage_role(gr, listePermNonVisiteur) #Accorde les droits de visiteurs aux groupes visiteurs. for g in gv: if g<>'': rep.manage_role(g, listePermVisiteur) #Accorde les droits d'edition aux groupes editeurs. for g in ge: if g<>'': rep.manage_role(g, listePermEditeur) return q Utitleq Unoyauq U _filepathqU6Script (Python):/kzexp_zwook/zwo_lib/zwo_droits_folderqU_codeqT‚c@s d„ZdS(NcCsdkl}|ƒ}t|dƒƒdjodSnd}t|dƒdƒ}d}t|dƒdƒ}d } t| dƒdƒ} g} t|d ƒƒ} x0t | ƒD]"}t| d ƒt|d ƒƒq­Wd g}tttdƒdƒ}g}xVt t|dƒƒƒD]<}||j o(|djot|d ƒ|ƒqOqqWtt|dƒdƒdjo^t|dƒd | ƒt|dƒ| ƒx*t |ƒD]}t|dƒ|gƒq¨WdSntt|dƒdƒ}tt|dƒdƒ}t|dƒdƒ}t|dƒdƒ}t|dƒd | ƒt|dƒgƒx*t |ƒD]}t|dƒ||ƒq`Wx;t |ƒD]-}|djot|dƒ||ƒqqWx;t |ƒD]-}|djot|dƒ|| ƒqËqËWdSdS(N(sgetSecurityManagerscalledByExecutableisnonskAccess Transient Objects Access arbitrary user session data Access contents information Access session datassplits s¬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 HistorysAccess 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 screensspermission_settingssappendsnamesManagerszwo_infosgroupss objectIdsss zwo_dossiers new_droitss0s manage_rolesmanage_acquiredPermissionssgroupes_visiteurssgroupes_editeurss&(s AccessControlsgetSecurityManagersas _getattr_schlistePermNonVisiteurslistePermNonVisiteurschlistePermVisiteurslistePermVisiteurschlistePermEditeurslistePermEditeurs liste_permsrepsbs _getiter_scs _getitem_s nonvisiblescontextsrepgrslgsgrschgvschgesgvsgesg(sreps AccessControlsgetSecurityManagersas _getattr_schlistePermNonVisiteurslistePermNonVisiteurschlistePermVisiteurslistePermVisiteurschlistePermEditeurslistePermEditeurs liste_permsbs _getiter_scs _getitem_s nonvisiblescontextsrepgrslgsgrschgvschgesgvsgesg((sScript (Python)szwo_droits_folders`  2  "    (szwo_droits_folder(szwo_droits_folder((sScript (Python)ssqU func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathq Utraverse_subpathq!U name_contextq"Ucontextq#usbU_dav_writelocksq$(UðQq%(U Persistenceq&UPersistentMappingq'tq(tq)QU__ac_local_roles__q*}q+Uxavq,]q-UOwnerq.asUidq/Uzwo_droits_folderq0U_paramsq1Urepq2U func_codeq3(cShared.DC.Scripts.Signature FuncCode q4oq5}q6(U co_argcountq7KU co_varnamesq8(Urepq9U AccessControlq:UgetSecurityManagerq;UaU _getattr_qUchlistePermVisiteurq?UlistePermVisiteurq@UchlistePermEditeurqAUlistePermEditeurqBU liste_permqCUbU _getiter_qDUcU _getitem_qEU nonvisibleqFUcontextqGUrepgrqHUlgqIUgrqJUchgvqKUchgeqLUgvqMUgeqNUgtqOubu.ïëÉ((U OFS.FolderqUFolderqtqNt.}q(UtitleqUU_objectsq(}q(U meta_typeqUFolderq Uidq Urssq utq U__ac_local_roles__q }qUjamesq]qUOwnerqash UparseqUrssq(UðRq(hUFolderqttQu.ð Æ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TEif 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 q Utitleq Unoyauq U _filepathqU:Script (Python):/kzexp_zwook/zwo_lib/standard_print_headerqU_codeqTHc@s d„ZdS(Nc Cs tƒ}t|dƒdjo0|dIJ|dt|dƒdIJ|ƒSnd}|d}|d ttd ƒ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_svalsidcasespcsmargetabsmargeintswriteokspcccs _getattr_sppcsaligntabs valigntabscouleurfondtabscouleurtextetabs textcolorsppccspcasesaffsafppcsafpcccsafppccs printintcase(saffsidcasesmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabswriteoks _getitem_svalspcsmargeintspcccs _getattr_sppcs textcolorsppccspcasesafppcsafpcccsafppccs printintcase(s printintcasesval(sScript (Python)s printtdcase°sb  ,$,!!!$$!)7! csÃttˆdƒ|ƒ}t|ƒdjottt|dƒdƒdƒ}t|ƒdjo!ˆ|dt|dƒ|ƒSnt|dƒdjoˆSqŸn|djodSnd} g} xÔt |ƒD]Æ}|ˆjo³tˆ|ƒ}yattttdƒt|dƒƒd ƒˆ|ƒ}|d jod} t|d ƒ|ƒnWnetj oY}ˆdjot|d ƒt|ƒƒn!t|d ƒd t|dƒƒd} nXt|d ƒdƒot|dƒ}nd}|djot|d ƒdƒd} n|djot|d ƒdƒd} n|djot|d ƒdƒd} n|djot|d ƒdƒd} q“qÍqÍW| djot|d ƒdƒndSdS(NscciissplitsTs######s zwo_modulesselements view_htmlssappendsBgMd[%s]s hasPropertys dispositions*s+s
s-s s--s   s++s

s5(s _getitem_svalsidcasesccslens _getattr_s tabinlistsprinttabsaffswriteoksaction_zone_principaleskkchsnccs _getiter_selsobj_in_conteneurs conteneurszelemscontextsmemsafs Exceptionse_txts debug_modesstrssp(saffsidcaseswriteoks _getitem_svalsccslens _getattr_s tabinlistsprinttabsaction_zone_principaleskkchsnccs _getiter_selsobj_in_conteneurs conteneurszelemscontextsmemsafs Exceptionse_txts debug_modesstrssp(svalsmemsaction_zone_principales conteneursprinttabs debug_modesobj_in_conteneur(sScript (Python)s printintcaseósV!    3     c+sÒttˆdƒ|ƒ}ttˆdƒ|ƒ}g}|djo¶tt|dƒdƒƒdjo$t|dƒdt|dƒƒnt|dƒd ƒtt|d ƒdƒƒdjo$t|dƒd t|d ƒƒqt|dƒd ƒn't|dƒd ƒt|dƒd ƒt|dƒd ƒt|dƒ} | djo | djojt|dƒdƒt|dƒd|| t|dƒfƒt|dƒdƒt|dƒd|ƒnd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd}t|dƒdjot|dƒ}n|djo*t|dƒdtddƒ|ƒƒnx¼t|ƒD]®}t|ƒdjo•|djot|dƒd ƒnxFt|ƒD]8}|djo%ˆ||| | | | ||ƒ}q>q>W|djot|dƒd!ƒq¢qôqôW|djot|dƒd"ƒn|SdS(#NsptsctsT1shauteursstripssappends height="%s"s height="100%"slargeurs width="%s"s width="100%"s+ cellspacing="0" cellpadding="0" border="0"scadres0ss class=Skinbordure%ssmarges couleurfonds couleurtextesleftsalignstopsvalignis
(s_print_s_prints _getitem_smemsaffs _getattr_scontext(smems_print_s_prints _getitem_saffs _getattr_scontext((sScript (Python)sstandard_print_headers      (sstandard_print_header(sstandard_print_header((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Umemq'U_print_q(U_printq)U _getitem_q*Uaffq+U _getattr_q,Ucontextq-tq.ubU__ac_local_roles__q/}q0Ugregq1]q2UOwnerq3asUidq4Ustandard_print_headerq5U_paramsq6Umemq7U_dav_writelocksq8(Uðgq9(U Persistenceq:UPersistentMappingq;tq' 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=chemin.split(".") 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 q Utitleq Unoyauq U _filepathqU6Script (Python):/kzexp_zwook/zwo_lib/standard_img_homeqU_codeqT$c@s d„ZdS(NcCsÔtƒ}dkl}|ƒ}t|dƒƒdjodSnd}d}d} d} d } | d} d t |d ƒ}|}|djo |d joTt|d ƒdƒ}x<ttt|ƒƒƒD]}t |t ||ƒƒ}qÉWnd}|d}| djoÄ|d}|d}|d}|dt|dƒƒd}|d}xYtt|dƒdƒƒD]<}d|d}|d|d||d}|d}qnW|d}|d }|d!}n|d"}|d#}d$}d$}x¸tt|d%ƒd&ƒƒD]›}t|d'ƒd(jp)t|d'ƒd)jpt|d'ƒd*joS||jo|d+}|d,}n|d-}|d.}|dt|d/ƒƒd0}|d1t|d/ƒƒd2t|ƒd3t|ƒd4}|d5}|d}|t t|dƒƒdd6…ƒd7tt|d8ƒƒd9tt|d:ƒƒ}|d;}|d<}|d=}|d}||| jo|d>}|d?}|}q§q q W|d@}|d<}||IJ|ƒSdS(AN(sgetSecurityManagerscalledByExecutableisnons bui68ddlk44iKiis#FFFFCCsÔ id_list=context.REQUEST.URL1.split("/") 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.s@ ss<s') return 1 #printintcase : affiche l'interieur d'une case def printintcase(aff,idcase,writeok): # recuperation du contenu de la case(cc) cc=val['cc'][idcase] #quelques tests sur contenu de la case #pour detecter les deux cas spéciaux. if len(cc)==1: tabinlist=cc[0].split('T') if len(tabinlist)>1: #1er cas spécial détecté : case contient tableau return printtab(aff,'T'+tabinlist[1],writeok) if cc[0]=='######': #2nd cas spécial détecté : detection de la zone principale return action_zone_principale if writeok==0: return 0 kkch=0 # affichage de case standart. # on affiche les elements (el = id element) ncc=[] for el in cc: if el in obj_in_conteneur: #zelem = element a afficher zelem=conteneur[el] #on essaye d'afficher l'element try: af=context.zwo_modules[zelem.element].view_html(mem,zelem) if af<>'': kkch=1 aff.append(af) except Exception, e_txt: if debug_mode==1: aff.append(str(e_txt)) else: aff.append("BgMd[%s]" % zelem.element) kkch=1 #on affiche l'espacement entre elements, #grace à la propriété disposition des elements. if zelem.hasProperty('disposition'): sp=zelem.disposition else: sp='*' if sp=="+": aff.append("
") kkch=1 if sp=="-": aff.append(" ") kkch=1 if sp=="--": aff.append("  ") kkch=1 if sp=="++": aff.append("

") kkch=1 #affichage point si rien dans la case. if kkch==0: aff.append('') return 1 #affiche un tableau def printtab(aff,tab,writeok): pt=val['pt'][tab] table=val['ct'][tab] ppt=[] if tab=='T1': if pt['hauteur'].strip()<>'': ppt.append(' height="%s"' % pt['hauteur']) else: ppt.append(' height="100%"') if pt['largeur'].strip()<>'': ppt.append(' width="%s"' % pt['largeur']) else: ppt.append(' width="100%"') else: ppt.append(' height="100%"') ppt.append(' width="100%"') ppt.append(' cellspacing="0" cellpadding="0" border="0"') ptcadre=pt['cadre'] if ptcadre<>'0' and ptcadre<>'': aff.append('') ppt.append(' class=Skinbordure%s' % tab) margetab="0" if pt['marge']<>'': margetab=pt['marge'] couleurfondtab="" if pt['couleurfond']<>'': couleurfondtab=pt['couleurfond'] couleurtextetab="" if pt['couleurtexte']<>'': couleurtextetab=pt['couleurtexte'] aligntab="left" if pt['align']<>'': aligntab=pt['align'] valigntab="top" if pt['valign']<>'': valigntab=pt['valign'] if writeok==1: aff.append('\n' % ''.join(ppt)) for ligne in table: if len(ligne)>0: if writeok==1: aff.append(' ') for idcase in ligne: if idcase<>'': writeok=printtdcase(aff,idcase,margetab,couleurfondtab,couleurtextetab,aligntab,valigntab,writeok) if writeok==1: aff.append(' \n') if writeok==1: aff.append('\n
ssds; sgetIdss
s objectIdssFolders s   s7 ss
s


s
s3 is 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_print_s_prints AccessControlsgetSecurityManagersas _getattr_scheminslimgsw_line1scotescouleursw_lines _getitem_smemshere_objs parse_objsid_lists _getiter_srangeslensaffsdosslienis last_linesnsimgsstr(smems_print_s_prints AccessControlsgetSecurityManagersas _getattr_scheminslimgsw_line1scotescouleursw_lines _getitem_shere_objs parse_objsid_lists _getiter_srangeslensaffsdosslienis last_linesnsimgsstr((sScript (Python)sstandard_img_homes~                ?    :  S         (sstandard_img_home(sstandard_img_home((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Umemq'U_print_q(U_printq)U AccessControlq*UgetSecurityManagerq+UaU _getattr_q,Ucheminq-Ulimgq.Uw_line1q/Ucoteq0Ucouleurq1Uw_lineq2U _getitem_q3Uhere_objq4U parse_objq5Uid_listq6U _getiter_q7Urangeq8Ulenq9Uaffq:Udosq;UlieniqUstrq?tq@ubU__ac_local_roles__qA}qBUxavqC]qDUOwnerqEasUidqFUstandard_img_homeqGU_paramsqHUmemqIU_dav_writelocksqJ(UðSqK(U PersistenceqLUPersistentMappingqMtqNtqOQu.ïí ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tî# Ce script sert a configurer pour un utilisateur la liste de ces groupes. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from 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 q Utitleq Unoyauq U _filepathqU4Script (Python):/kzexp_zwook/zwo_lib/zwo_user_groupsqU_codeqT¨c@s d„ZdS(Nc Csðdkl}|ƒ}t|dƒƒdjodSnttdƒ}|tt|dƒƒdsqU func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathq Utraverse_subpathq!Uname_containerq"U containerq#usbU func_codeq$(cShared.DC.Scripts.Signature FuncCode q%oq&}q'(U co_argcountq(KU co_varnamesq)(Uuserq*Urolesq+U AccessControlq,UgetSecurityManagerq-UaU _getattr_q.Ucontextq/UrU_write_q0Uauq1tq2ubU__ac_local_roles__q3}q4Uxavq5]q6UOwnerq7asUidq8Uzwo_user_groupsq9U_paramsq:U user,rolesq;U_dav_writelocksq<(UðTq=(U Persistenceq>UPersistentMappingq?tq@tqAQu.ïîü((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqUnoyauq U Script_magicq KU_bodyq TV # A partir du parametre tableaux du rep passé en parametre # retourne un tableau de valeurs. #le rep passé en parametre peut être un skin, ou un zwo_dossier. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' ############################################################ #le parametre tableau est un "lines" (une liste de chaine). #chacune des chaines à la syntaxe suivante : #chaine = AB:id:datas # A = "P" signifie propriété # A = "C" signifie contenu # B = "T" signifie tableau # B = "C" signifie case # l'id est T1,T2,T3... pour les tableaux et C1,C2,C3... pour les cases. # datas si A="P": les propriétés sont séparés par le caractere "/" et sont de la forme "nom=valeur" # datas si AB="CT" : contenu de tableau : ids de cases # les lignes d'ids de cases sont séparé par des "/" # les ids des cases dans une même line sont séparé par "-" # exemple C1-C2-C3/C4-C5 # datas si AB="CC" : contenu d'une case : ids d'élément # les ids sont séparé par des "/" # exception : ###### signifie contient la zone d'édition principale # remarque le tableau initial a pour id T1. ############################################################ #la conversion de ce format d'origine en format plus facilement manipulable : des listes et dicos imbriqués. # data, la liste principale contient 4 dictionnaires : ct cc pc pt, qui correspondents aux 4 possibilités de AB. Et à chaque chaine correspond un entrée dans un dictionnaire avec l'id correspondant. #les element des dicos pc et pt, contiennent comme valeur un dictionnaire qui fait correspondre les paramettres au valeurs. #les element des ct, contiennent des listes (d'id de cases) imbriqués dans des listes (correpondant au lignes). exemple [["C1","C2","C3"],["C4","C5"]] #les element des cc, contiennent une liste des id des elements contenus. ############################################################ ############################################################ #initialisation data={} ct={} cc={} pc={} pt={} #parcours du parametre if rep.hasProperty('tableaux'): for l in rep.tableaux: d=l.split(':') if d[0] == 'CT': # chaine ct ct[d[1]] = [i.split('-') for i in d[2].split('/')] elif d[0]=='CC': # chaine cc cc[d[1]]=d[2].split('/') elif d[0]=='PT': # chaine pt e=d[2].split('/') f={} for g in e: h=g.split('=') if len(h)>1: f[h[0]]=h[1] else: f[h[0]]='' pt[d[1]]=f elif d[0]=='PC': # chaine pc e=d[2].split('/') f={} for g in e: h=g.split('=') if len(h)>1: f[h[0]]=h[1] else: f[h[0]]='' pc[d[1]]=f data['ct']=ct data['cc']=cc data['pc']=pc data['pt']=pt return data q Uwarningsq )U _filepathqU/Script (Python):/kzexp_zwook/zwo_lib/tab_to_valqU_codeqTc@s d„ZdS(NcCsbdkl}|ƒ}t|dƒƒdjodSnh}h}h}h}h} t|dƒdƒo¯x¬t t|dƒƒD]‘} t| dƒdƒ} t | d ƒd jokgi}t tt | dƒdƒd ƒƒD]}|t|dƒd ƒƒqÞ~t|ƒt | d ƒsqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptq usbU_dav_writelocksq!(UðUq"(U Persistenceq#UPersistentMappingq$tq%tq&QU__ac_local_roles__q'}q(Uxavq)]q*UOwnerq+asUidq,U tab_to_valq-U_paramsq.Urepq/U func_codeq0(cShared.DC.Scripts.Signature FuncCode q1oq2}q3(U co_argcountq4KU co_varnamesq5(Urepq6U AccessControlq7UgetSecurityManagerq8UaU _getattr_q9Udataq:Uctq;UccqU _getiter_q?UlUdU _getitem_q@UappendqAU$append0qBUiU_write_qCUeUfUgUhUlenqDtqEubu.ïï-((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TO# Ce script sert a effectuer une copie de Folder Zope. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #FIX BUG ZOPE manage_pasteObjects et manage_clone ne prennent pas en compte les Proxy Roles... #Selon les versions de Zope le bug apparait, disparait, reaparait... #Zope Corp disent que c'est pour des questions de sécurités... #nouvelle fonction : clone_ok def listes_roles(rep,user): l=user.get_local_roles() l0=[] l1=[] for a in l: l0.append(a) l1.append(a) l1.append('Owner') return (l0,l1) def new_roles(liste,rep,username): if len(liste)==0: rep.manage_delLocalRoles([username,]) return else: rep.manage_setLocalRoles(username, liste) return def clone_ok(r1,r2,id,id2=None): if id2==None: id2=id user=context.REQUEST.AUTHENTICATED_USER username=str(user) (l1r2,l2r2)=listes_roles(r2,user) (l1r1,l2r1)=listes_roles(r1,user) new_roles(l2r2,r2,username) if r1.absolute_url()<>r2.absolute_url(): new_roles(l2r1,r1,username) r2.manage_clone(r1[id],id2) new_roles(l1r2,r2,username) if r1.absolute_url()<>r2.absolute_url(): new_roles(l1r1,r1,username) return clone_ok(dep,dest,idobj,idfin) return q Utitleq Unoyauq U _filepathqU,Script (Python):/kzexp_zwook/zwo_lib/zwo_cpyqU_codeqTH c@sed„ZdS(Nc svdkl}|ƒ}t|dƒƒdjodSnd„‰d„‰t‡‡d†} | ||||ƒdSdS(N(sgetSecurityManagerscalledByExecutableisnoncCs|t|dƒƒ}g}g}x:t|ƒD],}t|dƒ|ƒt|dƒ|ƒq+Wt|dƒdƒ||fSdS(Nsget_local_rolessappendsOwner(s _getattr_suserslsl0sl1s _getiter_sa(srepsusers _getattr_slsl0sl1s _getiter_sa((sScript (Python)s listes_roless cCsOt|ƒdjot|dƒ|gƒdSnt|dƒ||ƒdSdS(Nismanage_delLocalRolessmanage_setLocalRoles(slenslistes _getattr_srepsusername(slistesrepsusernameslens _getattr_((sScript (Python)s new_roless  c s|tjo |}ntttdƒdƒ}t|ƒ} ˆ||ƒ\} } ˆ||ƒ\} }ˆ| || ƒt|dƒƒt|dƒƒjoˆ||| ƒnt|dƒt||ƒ|ƒˆ| || ƒt|dƒƒt|dƒƒjoˆ| || ƒndSdS(NsREQUESTsAUTHENTICATED_USERs absolute_urls manage_clone(sid2sNonesids _getattr_scontextsusersstrsusernames listes_rolessr2sl1r2sl2r2sr1sl1r1sl2r1s new_roless _getitem_(sr1sr2sidsid2sNones _getattr_scontextsusersstrsusernames listes_rolessl1r2sl2r2sl1r1sl2r1s new_roless _getitem_(s listes_roless new_roles(sScript (Python)sclone_ok#s   %%( s AccessControlsgetSecurityManagersas _getattr_s listes_roless new_rolessNonesclone_oksdepsdestsidobjsidfin( sdepsdestsidobjsidfins AccessControlsgetSecurityManagersas _getattr_s listes_roless new_rolessNonesclone_ok((s listes_roless new_rolessScript (Python)szwo_cpys   (sNoneszwo_cpy(sNoneszwo_cpy((sScript (Python)ssqU func_defaultsq(NtqU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextq U name_subpathq!Utraverse_subpathq"Uname_containerq#U containerq$usbU func_codeq%(cShared.DC.Scripts.Signature FuncCode q&oq'}q((U co_argcountq)KU co_varnamesq*(Udepq+Udestq,Uidobjq-Uidfinq.U AccessControlq/UgetSecurityManagerq0UaU _getattr_q1U listes_rolesq2U new_rolesq3UNoneq4Uclone_okq5tq6ubU__ac_local_roles__q7}q8Uxavq9]q:UOwnerq;asUidqUdep,dest,idobj,idfin=Noneq?U_dav_writelocksq@(UðVqA(U PersistenceqBUPersistentMappingqCtqDtqEQu.ïð ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TÄ# ce module ajoute a mem des parametres utile pour la gestion de module. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #si mem n'existe pas encore, il le crée. if not mem: mem=context.zwo_lib.mem_data() # recuperation du parent, et check pour savoir # si on gere un element dans le skin ou dans edit. url=mem['url'] rep=mem['rep_obj'] dec=url.split('/zwo_info/skins/') if len(dec)>1 : dec2=dec[1].split('/zwo_bo/skin/') cont=context.zwo_info.skins[dec2[0]] curl1=mem['rep_url']+'/zwo_info/skins/'+dec2[0] curl=curl1+'/zwo_bo/skin/' elif mem.has_key('inskin') and mem['inskin']==1: cont=context.zwo_info.skins[rep.zwo_dossier.skin] curl1=mem['rep_url']+'/zwo_info/skins/'+rep.zwo_dossier.skin curl=curl1+'/zwo_bo/skin/' else: cont=rep curl1=rep.absolute_url() curl=curl1+'/zwo_bo/edit/' ### Nouvelle valeur incluse dans mem : # mem['parent'] : conteneur de l'objet (repertoire ou skin) # mem['parent_bo_url'] : url pour atteindre le back office du conteneur mem['parent']=cont mem['parent_bo_url']=curl return mem q Utitleq Unoyauq U _filepathqU1Script (Python):/kzexp_zwook/zwo_lib/mem_mod_dataqU_codeqTÁc@sed„ZdS(NcCsúdkl}|ƒ}t|dƒƒdjodSn| otttdƒdƒƒ}nt|dƒ}t|dƒ}t|d ƒd ƒ} t | ƒd jovtt| d ƒd ƒd ƒ} ttttd ƒdƒt| dƒƒ} t|dƒd t| dƒ} | d }n¹t|dƒdƒot|dƒd jojttttd ƒdƒtt|dƒdƒƒ} t|dƒd tt|dƒdƒ} | d }n#|} t|dƒƒ} | d}| t|ƒd<|t|ƒd<|SdS(N(sgetSecurityManagerscalledByExecutableisnonszwo_libsmem_datasurlsrep_objssplits/zwo_info/skins/is /zwo_bo/skin/szwo_infosskinsisrep_urlshas_keysinskins zwo_dossiersskins absolute_urls /zwo_bo/edit/sparents parent_bo_url(s AccessControlsgetSecurityManagersas _getattr_smemscontexts _getitem_surlsrepsdecslensdec2scontscurl1scurls_write_(smems AccessControlsgetSecurityManagersas _getattr_scontexts _getitem_surlsrepsdecslensdec2scontscurl1scurls_write_((sScript (Python)s mem_mod_datas0  * )3) (sNones mem_mod_data(sNones mem_mod_data((sScript (Python)ssqU func_defaultsq(NtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextq Ucontextq!usbU_dav_writelocksq"(UðWq#(U Persistenceq$UPersistentMappingq%tq&tq'QU__ac_local_roles__q(}q)Uxavq*]q+UOwnerq,asUidq-U mem_mod_dataq.U_paramsq/Umem=Noneq0U func_codeq1(cShared.DC.Scripts.Signature FuncCode q2oq3}q4(U co_argcountq5KU co_varnamesq6(Umemq7U AccessControlq8UgetSecurityManagerq9UaU _getattr_q:Ucontextq;U _getitem_qUdecq?Ulenq@Udec2qAUcontqBUcurl1qCUcurlqDU_write_qEtqFubu.ïñ6((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqUnoyauq U Script_magicq KU_bodyq TÙ#Ce script construit la structure de donnée mem. #mem contient les données dont les modules ont besoin. #Cela evite de faire appel au fonctions plusieurs fois #et augmente ainsi les performances. #les codeurs de modules doivent donc l'utiliser au maximum, #plutot que d'aller chercher leurs données dans la ZODB. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #initialisation mem={} #recuperation de l'url envoyé par le navigateur url=container.REQUEST.URL #recuperation de l'object racine racine=context.acl_obj() #identification repertoire données locales : zwook. zwook=racine.zwook zwo_url=zwook.absolute_url() #analyse de l'url envoye par le navigateur. #list_url : liste des repertoires de l'url. dec=url.split(zwo_url) if len(dec)>1: suite_url=dec[1].split('?')[0] list_url=suite_url.split('/') else: list_url=[] # on determine le repertoire (rep) et l'objet (obj) courrant. rep=zwook obj=zwook b=0 stop=False for a in list_url: if a=="zwo_modules" or a=="zwo_bo": stop=True if not stop: if b==0: b=1 elif b==1: if a in rep.objectIds(): if rep[a].hasProperty("type_zwook"): if rep[a].type_zwook=='dossier': rep=rep[a] obj=rep elif rep[a].type_zwook=='element': obj=rep[a] b=2 #analyse du repertoire courrant. #conf : repertoire de configuration de rep conf=rep.zwo_dossier #zwook_info : repertoire de données délocalisés zwook_info=zwook.zwo_info #on determine le skin (skin) skin_id=conf.skin if skin_id in zwook_info.skins.objectIds('Folder'): skin=zwook_info.skins[skin_id] else: skin_id='default' skin=zwook_info.skins['default'] if context.REQUEST.has_key('impose_skin'): skin_id=context.REQUEST.impose_skin skin=zwook_info.skins[skin_id] #### info utilisateurs #on recupere mes informations utilisateurs #initialisation username='Inconnu' user=None zwuser=None list_roles=[] dr_vue=0 dr_edit=0 dr_skin=0 dr_arbo=0 dr_conf=0 user_avatar='0.gif' avatar=zwo_url+'/zwo_info/images/avatar/0.gif' #donnée liés au repertoire (pour les droits locaux) s_list_v=conf.groupes_visiteurs s_list_a=conf.groupes_editeurs list_v=string.split(s_list_v+'&'+s_list_a,'&') list_a=s_list_a.split('&') #test si l'utilisateur est connecté if str(context.REQUEST.AUTHENTICATED_USER)=='Anonymous User': #si l'utilisateur est annonyme, on regarde si le dossier permete : # - qu'il accede au contenu if 'Anonymous' in list_v: dr_vue=1 # - qu'il puisse edité le contenu if 'Anonymous' in list_a: dr_edit=1 else: ##### si l'utilisateur est connecté : #recup user zope user=context.REQUEST.AUTHENTICATED_USER #recup login de l'utilisateur username=user.getUserName() #Test si l'utilisateur est bien un user zwook, if not username in zwook.zwo_info.users.objectIds('Folder'): #l'utilisateur est connecté donc user zope #mais il n'est pas user zwook #la fonction retourne None pour permettre de detecter le probleme. return #recupertation d'un avatar, si il existe. if zwook.zwo_info.users[username].hasProperty('avatar'): if zwook.zwo_info.users[username].avatar in zwook.zwo_info.images.avatar.objectIds(): user_avatar=zwook.zwo_info.users[username].avatar avatar=zwo_url+'/zwo_info/images/avatar/'+user_avatar #list_roles : recuperation des groupes zwook (c'est a dire les roles zopes) userrolestuple=user.getRolesInContext(racine) for a in userrolestuple: if not a in list_roles: if str(a)==a: list_roles.append(a) #recuperation user zwook zwuser=context.zwo_info.users[username] #on determine les droits de lecture et ecriture sur le repertoire for a in list_v: if a<>'': if a in list_roles: dr_vue=1 for a in list_a: if a<>'': if a in list_roles: dr_edit=1 #check droit de configuration if 'config_zwook' in list_roles: dr_conf=1 dr_skin=1 dr_arbo=1 #check d'edition de skin if 'skin_editor' in list_roles: dr_skin=1 #check manage page. if 'pages_manager' in list_roles: dr_arbo=1 ############################################################## ### RECAPITULATIF DES VALEURS DE MEM #################### ############################################################## ################################### ## Gestion des objects et urls ################################### # url : url demandée par le navigateur. # la racine est le repertoire qui contient tout le zwook. # racine_obj : object racine du zwook. # racine_url : url de la racine du zwook. # zwook_obj : object qui contient les données localisés du zwook. # zwook_url : url qui contient les données localisés du zwook. # c'est a dire l'url du site. #rep_obj : repertoire qui contient l'objet de la requete url. #rep_url : url de ce repertoire. #rep_id : id (nom zope) de ce repertoire. #rep_toi : titre ou id de ce repertoire. #obj_obj : object visé par la requete url. #obj_id : id (nom zope) de cet objet. ####Exemple simple : http://serveur.test:8080/myzwook/zwook/rubrique #mem['url']=http://serveur.test:8080/myzwook//zwook/rubrique/index_html #mem['racine_url']=http://serveur.test:8080/myzwook #mem['zwo_url']=http://serveur.test:8080/myzwook/zwook #mem['rep_url']=http://serveur.test:8080/myzwook/zwook/rubrique ####Exemple back office : http://serveur.test:8080/myzwook/zwook/rubrique/zwo_bo/edit/index_html #mem['url']=http://serveur.test:8080/myzwook/zwo_bo/edit/zwook/rubrique/index_html #mem['racine_url']=http://serveur.test:8080/myzwook #mem['zwo_url']=http://serveur.test:8080/myzwook/zwook #mem['rep_url']=http://serveur.test:8080/myzwook/zwook/rubrique ####Exemple domaine mappé : http://www.domaine.com/rubrique #mem['url']=http://www.domaine.com/rubrique/index_html #mem['racine_url']=http://www.domaine.com #mem['zwo_url']=http://www.domaine.com #mem['rep_url']=http://www.domaine.com/rubrique mem['url']=url mem['racine_obj']=racine mem['racine_url']=racine.absolute_url() mem['zwo_obj']=zwook mem['zwo_url']=zwo_url mem['rep_obj']=rep mem['rep_url']=rep.absolute_url() mem['rep_id']=rep.getId() mem['rep_toi']=rep.title_or_id() mem['obj_obj']=obj mem['obj_id']=obj.getId() ################################### ## gestion des utilisateurs ################################### # mem['user_obj'] : Object user zope (acl_user) # mem['user_zw_obj'] : Object user zwook (zwo_info/users/nom) # mem['user_id'] : login du user # mem['user_roles_id'] : liste des roles zope de l'utilisateur (groupes) # mem['user_avatar_url'] : url pour afficher l'avatar de l'utilisateur mem['user_obj']=user mem['user_zw_obj']=zwuser mem['user_id']=username mem['user_roles_id']=list_roles mem['user_avatar_url']=avatar ################################### ## object utiles ################################### #mem['config_obj'] : objet info du repertoire conteneur (zwo_dossier) #mem['zwo_info'] : donnée délocalisé du zwook (zwo_info) mem['config_obj']=conf mem['zwo_info']=zwook_info ################################### ## skin ################################### #mem['skin_id'] : id (nom zope) du skin #mem['skin_obj'] : objet du skin mem['skin_id']=skin_id mem['skin_obj']=skin ################################### ## droits utilisateur ################################### # 0 : pas le droit # 1 : droit OK #mem['droit_vue_dossier'] : droit de voir le contenu du dossier #mem['droit_edit_dossier'] : droit d'éditer le contenu du dossier #mem['droit_arbo'] : droit d'administrer les dossiers #mem['droit_edit_skin'] : droit edition de skin #mem['droit_config_dossier'] : droit administration zwook. mem['droit_vue_dossier']=dr_vue mem['droit_edit_dossier']=dr_edit mem['droit_arbo']=dr_arbo mem['droit_edit_skin']=dr_skin mem['droit_config_dossier']=dr_conf return mem q Uwarningsq )U _filepathqU-Script (Python):/kzexp_zwook/zwo_lib/mem_dataqU_codeqT„c@s d„ZdS(Nc/9CsRdkl}|ƒ}t|dƒƒdjodSnh}tttdƒdƒ}ttdƒƒ}t|dƒ} t| d ƒƒ} t|d ƒ| ƒ} t | ƒd jo@t tt | d ƒd ƒd ƒd ƒ}t|d ƒdƒ}ng}| }| }d }t}xt|ƒD]}|djp |djo t}n| oÜ|d jo d }q)|d jo´|t|dƒƒjo—tt ||ƒdƒdƒottt ||ƒdƒdjot ||ƒ}|}qtt ||ƒdƒdjot ||ƒ}d}qq!q%q)qqWt|dƒ}t| dƒ}t|dƒ}|tt|dƒdƒdƒjot t|dƒ|ƒ}nd}t t|dƒdƒ}tttdƒdƒdƒo4tttdƒdƒ}t t|dƒ|ƒ}nd}t}t}g}d } d }!d }"d }#d }$d}%| d }&t|d!ƒ}'t|d"ƒ}(tt)d ƒ|'d#|(d#ƒ}*t|(d ƒd#ƒ}+t,tttdƒd$ƒƒd%jo2d&|*jo d } nd&|+jo d }!q-n2tttdƒd$ƒ}t|d'ƒƒ}|ttt| dƒd(ƒdƒdƒj odSntt tt| dƒd(ƒ|ƒdƒd)ƒoŠtt tt| dƒd(ƒ|ƒd)ƒtttt| dƒd*ƒd)ƒdƒƒjo.tt tt| dƒd(ƒ|ƒd)ƒ}%qn| d+|%}&t|d,ƒ|ƒ}-xPt|-ƒD]B}||j o.t,|ƒ|jot|d-ƒ|ƒqŠqHqHWt tttdƒd(ƒ|ƒ}x<t|*ƒD].}|d.jo||jo d } qêq¼q¼Wx<t|+ƒD].}|d.jo||jo d }!q)qûqûWd/|jod }$d }"d }#nd0|jo d }"nd1|jo d }#n|t.|ƒd2<|t.|ƒd3<|t.|ƒd?<|t.|ƒd@<|t.|ƒdA<|t.|ƒdB<|&t.|ƒdC<|t.|ƒdD<|t.|ƒd<|t.|ƒdE<|t.|ƒdF<| t.|ƒdG<|!t.|ƒdH<|#t.|ƒdI<|"t.|ƒdJ<|$t.|ƒdK<|SdS(LN(sgetSecurityManagerscalledByExecutableisnonsREQUESTsURLsacl_objszwooks absolute_urlssplitis?is/s zwo_modulesszwo_bos objectIdss hasPropertys type_zwooksdossierselements zwo_dossierszwo_infosskinsskinssFoldersdefaultshas_keys impose_skinsInconnus0.gifs/zwo_info/images/avatar/0.gifsgroupes_visiteurssgroupes_editeurss&sAUTHENTICATED_USERsAnonymous Users Anonymouss getUserNamesuserssavatarsimagess/zwo_info/images/avatar/sgetRolesInContextsappendss config_zwooks skin_editors pages_managersurls racine_objs racine_urlszwo_objszwo_urlsrep_objsrep_urlsgetIdsrep_ids title_or_idsrep_toisobj_objsobj_idsuser_objs user_zw_objsuser_ids user_roles_idsuser_avatar_urls config_objsskin_idsskin_objsdroit_vue_dossiersdroit_edit_dossiers droit_arbosdroit_edit_skinsdroit_config_dossier(/s AccessControlsgetSecurityManagersas _getattr_smems containersurlscontextsracineszwookszwo_urlsdecslens _getitem_s suite_urlslist_urlsrepsobjsbsFalsesstops _getiter_sTruesconfs zwook_infosskin_idsskinsusernamesNonesuserszwusers list_rolessdr_vuesdr_editsdr_skinsdr_arbosdr_confs user_avatarsavatarss_list_vss_list_asstringslist_vslist_asstrsuserrolestuples_write_(/s AccessControlsgetSecurityManagersas _getattr_smems containersurlscontextsracineszwookszwo_urlsdecslens _getitem_s suite_urlslist_urlsrepsobjsbsFalsesstops _getiter_sTruesconfs zwook_infosskin_idsskinsusernamesNonesuserszwusers list_rolessdr_vuesdr_editsdr_skinsdr_arbosdr_confs user_avatarsavatarss_list_vss_list_asstringslist_vslist_asstrsuserrolestuples_write_((sScript (Python)smem_datasö  '      %  %   /%X2 !            (  (smem_data(smem_data((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextq usbU_dav_writelocksq!(UðXq"(U Persistenceq#UPersistentMappingq$tq%tq&QU__ac_local_roles__q'}q(Uxavq)]q*UOwnerq+asUidq,Umem_dataq-U_paramsq.UU func_codeq/(cShared.DC.Scripts.Signature FuncCode q0oq1}q2(U co_argcountq3KU co_varnamesq4(U AccessControlq5UgetSecurityManagerq6UaU _getattr_q7Umemq8U containerq9Uurlq:Ucontextq;UracineqUdecq?Ulenq@U _getitem_qAU suite_urlqBUlist_urlqCUrepqDUobjqEUbUFalseqFUstopqGU _getiter_qHUTrueqIUconfqJU zwook_infoqKUskin_idqLUskinqMUusernameqNUNoneqOUuserqPUzwuserqQU list_rolesqRUdr_vueqSUdr_editqTUdr_skinqUUdr_arboqVUdr_confqWU user_avatarqXUavatarqYUs_list_vqZUs_list_aq[Ustringq\Ulist_vq]Ulist_aq^Ustrq_Uuserrolestupleq`U_write_qatqbubu.ïò7((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U_Take_ownership_Permissionq(UManagerqU config_zwookqtqU_bodyq T+#script qui sert a obliger l'administrateur a changer de password #lors de sa premiere connection. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #Check si user admin existe bien. if not 'admin' in mem["racine_obj"].zwo_info.users.objectIds(): #si il existe pas, mise a jour du flag checkpasswd #qui indique que le passwd a déja été modifié. if mem["racine_obj"].zwo_info.hasProperty('checkpasswd'): mem["racine_obj"].zwo_info.manage_delProperties(['checkpasswd']) mem["racine_obj"].zwo_info.manage_addProperty('checkpasswd',1,'int') context.REQUEST.RESPONSE.redirect(mem["zwo_url"]) return #verifie le user est administrateur du zwook. if not 'config_zwook' in mem['user_roles_id']: #Sinon Message indiquant la marche a suivre pour se reconnecter avec le user admin. print '

Bienvenue Zwookien

' print 'Acces non authorisé : vous êtes connecté avec votre utilisateur zope !

' print 'Méthode a suivre :
' print ' 1) Eteignez tous vos navigateurs pour vous déconnecter
' print ' 2) Connectez sur l\'url : '+mem['zwo_url']+'
' print ' 3) Utiliser le login "admin" et le mot de passe "admin".
' print ' 4) Suivre les instructions pour changer le mot de passe.
' print 'Bonne chance.
' print '' return printed #Affiche le link vers le modificateur de password de admin. print '

Bienvenue Zwookien

' print '

Outil de première configuation :

' print 'Pour pouvoir activer votre zwook, changer votre mot de passe !' print '' return printed q U_WebDAV_access_Permissionq (hhtq U_View_History_Permissionq (hhtqU_Change_bindings_Permissionq(hhtqU'_Access_contents_information_Permissionq(hhtqUidqUzwo_initialise_passwordqU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_argcountqKU co_varnamesq(UmemqU_print_qU_printqU AccessControlqUgetSecurityManagerqUaU _getattr_q U _getitem_q!Ucontextq"tq#ubU!_Change_Python_Scripts_Permissionq$(hhtq%Uerrorsq&)U_Delete_objects_Permissionq'(hhtq(U Script_magicq)KU_codeq*T¼c@s d„ZdS(Nc )Csûtƒ}dkl}|ƒ}t|dƒƒdjodSndtttt|dƒdƒdƒd ƒƒj oµttt|dƒdƒd ƒd ƒo,ttt|dƒdƒd ƒd gƒnttt|dƒdƒd ƒd ddƒttttdƒdƒdƒt|dƒƒdSndt|dƒj ov|dIJ|dIJ|dIJ|dIJ|dt|dƒdIJ|dIJ|dIJ|dIJ|dIJ|ƒSn|dIJ|d IJ|d!t|dƒd"IJ|dIJ|ƒSdS(#N(sgetSecurityManagerscalledByExecutableisnonsadmins racine_objszwo_infosuserss objectIdss hasPropertys checkpasswdsmanage_delPropertiessmanage_addPropertyisintsREQUESTsRESPONSEsredirectszwo_urls config_zwooks user_roles_ids'

Bienvenue Zwookien

sRAcces non authorisé : vous êtes connecté avec votre utilisateur zope !

sMéthode a suivre :
s= 1) Eteignez tous vos navigateurs pour vous déconnecter
s 2) Connectez sur l'url : s
s? 3) Utiliser le login "admin" et le mot de passe "admin".
s? 4) Suivre les instructions pour changer le mot de passe.
sBonne chance.
ss)

Outil de première configuation :

s+Pour pouvoir activer votre zwook, changer votre mot de passe !( s_print_s_prints AccessControlsgetSecurityManagersas _getattr_s _getitem_smemscontext( smems_print_s_prints AccessControlsgetSecurityManagersas _getattr_s _getitem_scontext((sScript (Python)szwo_initialise_passwords4   >(,+%            (szwo_initialise_password(szwo_initialise_password((sScript (Python)ssq+U_View_Permissionq,(hhtq-U Python_magicq.U;ò q/Uwarningsq0)U_Change_proxy_roles_Permissionq1(hhtq2U_Copy_or_Move_Permissionq3(hhtq4U#_View_management_screens_Permissionq5(hhtq6U!_Change_cache_settings_Permissionq7(hhtq8U _filepathq9U """ aff.append(js) ################################################ # align global if fp('align')=='center': aff.append('
') if fp('align')=='right': aff.append('
') ################################################ ################################################ # affichage du skin ################################################ #recuperation de la structure de positionement (val) #elle indique la structure du tableau a afficher #ainsi que le contenu des cases. val=context.zwo_lib.tab_to_val(conteneur) # la fonction printtab affiche un tableau #en utilisant la fonction printtdcase et printintcase #qui affiche une case (les balises td et l'interieur). #descriptions des parametres des fonctions #englobant la case, et donc la couleur par défaut de la case. #margetab : marge du tableau #couleurfondtab : couleur de fond du tableau #couleurtextetab : couleur de text du tableau #aligntab : alignement horizontale du tableau #valigntab : alignement vertical du tableau #writeok : le flag qui indique si on est avant #la zone principale (c'est a dire ce qui doit être #afficher. La fonction retourne un nouvelle valeur pour writeok #idcase : identifiant de case #printtdcase : affiche la balise tds et appelle printintcase def printtdcase(aff,idcase,margetab,couleurfondtab,couleurtextetab,aligntab,valigntab,writeok): #affichage ouverture balises pc=val['pc'][idcase] margeint=margetab if pc['marge']<>'': margeint=pc['marge'] if writeok==1: pccc=[] if pc['colspan']<>'' and pc['colspan']<>'1': pccc.append(' colspan="%s"' % pc['colspan']) if pc['rowspan']<>'' and pc['rowspan']<>'1': pccc.append(' rowspan="%s"' % pc['rowspan']) ppc=[] if pc['hauteur']<>'': ppc.append(' height="%s"' % pc['hauteur']) if pc['largeur']<>'': ppc.append(' width="%s"' % pc['largeur']) if pc['align']<>'': ppc.append(' align="%s"' % pc['align']) else : ppc.append(' align="%s"' % aligntab) if pc['valign']<>'': ppc.append(' valign="%s"' % pc['valign']) else : ppc.append(' valign="%s"' % valigntab) if pc['couleurfond']<>'': ppc.append(' bgcolor="%s"' % pc['couleurfond']) elif couleurfondtab<>'': ppc.append(' bgcolor="%s"' % couleurfondtab) textcolor=couleurtextetab if pc['couleurtexte']<>'': textcolor=pc['couleurtexte'] ppc.append(' style="color:%s"' % textcolor) ppcc=[] pcase=pc['cadre'] if pcase<>'0' and pcase<>'': aff.append('') ppcc.append(' class="Skinbordure%s"' % idcase) afppc=''.join(ppc) afpccc=''.join(pccc) afppcc=''.join(ppcc) if margeint<>'0': aff.append('') else: aff.append('\n' % (afppc,afppcc,afpccc)) #Affichage cellule writeok=printintcase(aff,idcase,writeok) if writeok==0: return 0 #affichage fermetures balises if margeint<>'0': aff.append('\n \n
') aff.append('
') return writeok printtab(aff,'T1',initwriteok) return ''.join(aff) q Utitleq Unoyauq U _filepathqU=Script (Python):/kzexp_zwook_cvs/zwo_lib/standard_html_headerqU_codeqTÈ,c@s d„ZdS(Nc"9s@tƒ}d‰tˆdƒdjoi|dIJ|dIJ|dIJ|dIJ|dtˆd ƒd IJ|d tˆd ƒd IJ|ƒSng}dtˆƒdjot |dƒd?ƒn|d=ƒd@jot |dƒdAƒnt t tdBƒdCƒˆƒ‰‡‡dD†‰‡‡‡‡‡‡‡ dE†‰‡‡dF†‰ˆ|dG|ƒt ddHƒ|ƒSdS(INisdroit_vue_dossieris



s†

s2Cette page nécessite une identification.


s3

Pour vous identifier cliquer sur s [ Se connecter ]

s

[ Accueil ]

sinskinsskin_objs objectIdssrep_toiszwo_objszwo_infossitesappends s%s - %s s config_objs hasPropertysmetasssplits!!s=scontentss s s spages/cs/tˆdƒ|ƒotˆ|ƒSndSdS(Nshas_keys(s _getattr_stppskeys _getitem_(skeys _getattr_stpps _getitem_(stpp(sScript (Python)sfpZsssû salignscenters
srights
szwo_libs tab_to_valc,sdttˆdƒ|ƒ} |} t| dƒdjot| dƒ} n|djoªg} t| dƒdjot| dƒdjo$t| dƒdt| dƒƒnt| d ƒdjot| d ƒdjo$t| dƒd t| d ƒƒng}t| d ƒdjo$t|dƒd t| d ƒƒnt| d ƒdjo$t|dƒdt| d ƒƒnt| dƒdjo$t|dƒdt| dƒƒnt|dƒd|ƒt| dƒdjo$t|dƒdt| dƒƒnt|dƒd|ƒt| dƒdjo$t|dƒdt| dƒƒn)|djot|dƒd|ƒn|}t| dƒdjo*t| dƒ}t|dƒd|ƒng}t| dƒ}|djo |djojt|dƒdƒt|dƒd||t| dƒfƒt|dƒdƒt|dƒd|ƒntddƒ|ƒ}tddƒ| ƒ}tddƒ|ƒ}| djo7t|dƒd|||d | d!|d"ƒqþt|dƒd#|||fƒnˆ|||ƒ}|d$jod$Sn| djot|dƒd%ƒnt|dƒd&ƒdSdS('Nspcsmargesiscolspans1sappends colspan="%s"srowspans rowspan="%s"shauteurs height="%s"slargeurs width="%s"saligns align="%s"svaligns valign="%s"s couleurfonds bgcolor="%s"s couleurtextes style="color:%s"scadres0ss class="Skinbordure%s"sjoinss is
s
sjoinis s s
(s _getitem_svalstabsptstablesppts _getattr_sptcadresaffsmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabswriteoks _getiter_sligneslensidcases printtdcase(saffstabswriteoks _getitem_svalsptstablesppts _getattr_sptcadresmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabs _getiter_sligneslensidcases printtdcase(s printtdcasesval(sScript (Python)sprinttab3sd %$%$)'   )sT1sjoin("s_print_s_prints debug_modes _getitem_smemsaffs_write_saction_zone_principales initwriteoks conteneurs _getattr_sobj_in_conteneurs titre_pages titre_sites _getiter_slsdicosokschsdec2slensksstringscrsetscontextstppsasdecsfpsjssvals printtdcases printintcasesprinttab("smems_print_s_prints debug_modes _getitem_saffs_write_saction_zone_principales initwriteoks conteneurs _getattr_sobj_in_conteneurs titre_pages titre_sites _getiter_slsdicosokschsdec2slensksstringscrsetscontextstppsasdecsfpsjssvals printintcases printtdcasesprinttab(( smems printintcasesvalsaction_zone_principalesprinttabs conteneurs printtdcases debug_modestppsobj_in_conteneursScript (Python)sstandard_html_headers˜      $ ) *$*1% .--0  C@A(sstandard_html_header(sstandard_html_header((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptq usbU_dav_writelocksq!(Uðhq"(U Persistenceq#UPersistentMappingq$tq%tq&QU__ac_local_roles__q'}q(Uxavq)]q*UOwnerq+asUidq,Ustandard_html_headerq-U_paramsq.Umemq/U func_codeq0(cShared.DC.Scripts.Signature FuncCode q1oq2}q3(U co_argcountq4KU co_varnamesq5(Umemq6U_print_q7U_printq8U debug_modeq9U _getitem_q:Uaffq;U_write_qU conteneurq?U _getattr_q@Uobj_in_conteneurqAU titre_pageqBU titre_siteqCU _getiter_qDUlUdicoqEUokqFUchqGUdec2qHUlenqIUkUstringqJUcrsetqKUcontextqLUtppqMUaUdecqNUfpqOUjsqPUvalqQU printintcaseqRU printtdcaseqSUprinttabqTtqUubu.ð ((U OFS.FolderqUFolderqtqNt.}q(U style_cssq(Uðjq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uðiq (hU PythonScriptq tqtqQUskinqU1Unew_okq(Uðkq(hU PythonScriptqtqtqQUidqUwebshellqU certifwebqUnonqUtitleqU Web shellqU shellwin_okq(Uðlq(hU PythonScriptqtqtq QUnoteq!KUversionq"U0.1q#Ushellwinq$(Uðmq%(hU PythonScriptq&tq'tq(QU man_pagesq)(Uðnq*(hUFolderq+tq,tq-QU_objectsq.(}q/(U meta_typeq0UScript (Python)q1Uidq2Unew_htmlq3u}q4(U meta_typeq5UScript (Python)q6Uidq7Unew_okq8u}q9(U meta_typeq:UScript (Python)q;Uidq(h:h;hu}q?(Utypeq@UintqAUidqBUnoteqCu}qD(h@UstringqEhBUversionqFu}qG(h@hEhBUdevqHu}qI(h@hEhBU certifdevqJu}qK(h@hEhBh u}qL(h@hEhBh u}qM(UtypeqNUlinesqOUidqPU descriptionqQutqRh(UñqS(hU PythonScriptqTtqUtqVQhHU80%qWhJUnonqXhCKShFU0.9qYU view_htmlqZ(Uñq[(hU PythonScriptq\tq]tq^QUzone_principaleq_U1h (Uñq`(hU PythonScriptqatqbtqcQUskinqdU1h(Uñqe(hU PythonScriptqftqgtqhQU icone.pngqi(Uñqj(U OFS.ImageqkUImageqltqmtqnQU__ac_local_roles__qo}qphUflashqqhQ(UDCe module permet d'intégrer des animations flash sur votre système. qrUf=> Il est cependant essentiel de rappeler que les utilisateurs finaux n'ont pas tous le plug in flash.qsUUtqtu.ð((U OFS.FolderqUFolderqtqNt.}q(U config_okq(UðŒq(U#Products.PythonScripts.PythonScriptqU PythonScriptqttQUskinq U0Unew_okq (Uðq (hU PythonScriptq ttQUidq U rss_readerqU certifwebqUnonqUtitleqULecteur de fil rssqUnoteqKUversionqU0.6qU view_htmlq(UðŽq(hU PythonScriptqttQU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeq UScript (Python)q!Uidq"Unew_okq#u}q$(U meta_typeq%UScript (Python)q&Uidq'U config_htmlq(u}q)(h%h&h'U config_okq*u}q+(U meta_typeq,UScript (Python)q-Uidq.U view_htmlq/u}q0(U meta_typeq1UImageq2Uidq3U icone.pngq4utq5U config_htmlq6(Uðq7(hU PythonScriptq8ttQUnew_htmlq9(Uðq:(hU PythonScriptq;ttQU descriptionq<(URss feed readerq=tq>U certifdevq?Unonq@U__ac_local_roles__qA}qBUdevqCU90%qDUzone_principaleqEU1U _propertiesqF(}qG(UtypeqHUstringqIUidqJUtitleqKUmodeqLUwu}qM(UtypeqNUstringqOUidqPU experimentalqQu}qR(UtypeqSUintqTUidqUUnoteqVu}qW(hSUstringqXhUUversionqYu}qZ(hShXhUUdevq[u}q\(hShXhUU certifdevq]u}q^(hShXhUU certifwebq_u}q`(hShXhUU moderateurqau}qb(UtypeqcUlinesqdUidqeU descriptionqfu}qg(UtypeqhUstringqiUidqjh u}qk(hhhihjhEutqlh4(Uð‘qm(U OFS.ImageqnUImageqottQU moderateurqpU p4@zwook.orgqqU experimentalqrUu.ð&((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uòq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUnew_htmlq (Uòq (hU PythonScriptq tqtqQU moderateurqUaucunqU descriptionq(UtqUtitleqU^Base de code pour module : copier-coller ce dossier et le renomer pour faire un nouveau moduleqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okq u}q!(U meta_typeq"UScript (Python)q#Uidq$U config_htmlq%u}q&(h"h#h$U config_okq'u}q((U meta_typeq)UScript (Python)q*Uidq+U view_htmlq,u}q-(U meta_typeq.UImageq/Uidq0U icone.pngq1utq2U certifwebq3Unonq4Udevq5U5%q6Uidq7Uexample_moduleq8Unoteq9JÿÿÿÿUversionq:U0.1q;U view_htmlq<(Uòq=(hU PythonScriptq>tq?tq@QU config_okqA(UòqB(hU PythonScriptqCtqDtqEQU _propertiesqF(}qG(UtypeqHUstringqIUidqJUtitleqKUmodeqLUwu}qM(UtypeqNUstringqOUidqPU experimentalqQu}qR(UtypeqSUintqTUidqUUnoteqVu}qW(hSUstringqXhUUversionqYu}qZ(hShXhUUdevq[u}q\(hShXhUU certifdevq]u}q^(hShXhUU certifwebq_u}q`(hShXhUU moderateurqau}qb(UtypeqcUlinesqdUidqeU descriptionqfutqgUnew_okqh(Uòqi(hU PythonScriptqjtqktqlQh1(Uòqm(U OFS.ImageqnUImageqotqptqqQU__ac_local_roles__qr}qsU certifdevqtUnonquU experimentalqvUu.ð8((U OFS.FolderqUFolderqtqNt.}q(Uhelpq(Uð’q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uð“q (hU PythonScriptq tqtqQUskinqU1Unew_okq(Uð”q(hU PythonScriptqtqtqQUidqUtextqU certifwebqUnonqUtitleqU Texte brutqUnoteqK UversionqUbeta 1qU view_htmlq(Uð•q (hU PythonScriptq!tq"tq#QU_objectsq$(}q%(U meta_typeq&UScript (Python)q'hUnew_htmlq(u}q)(h&h'hhu}q*(h&h'hU config_htmlq+u}q,(h&h'hh u}q-(U meta_typeq.UScript (Python)q/Uidq0Urapidedit_htmlq1u}q2(h.h/h0U rapidedit_okq3u}q4(U meta_typeq5UScript (Python)q6Uidq7Uhelpq8u}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?UImageq@UidqAU icone.pngqButqCh+(Uð–qD(hU PythonScriptqEtqFtqGQh((Uð—qH(hU PythonScriptqItqJtqKQh3(Uð˜qL(hU PythonScriptqMtqNtqOQU descriptionqP(UEditer du texte ou de l'HTML.qQU‹Option: vous pouvez decider d'activer le rapid edit. Cette option permet la modification rapide de textes sans rentrer dans le back office qRUtqSh1(Uð™qT(hU PythonScriptqUtqVtqWQU certifdevqXUnonqYU__ac_local_roles__qZ}q[Udevq\U99%q]Uzone_principaleq^U1U _propertiesq_(}q`(UtypeqaUstringqbUidqcUtitleqdUmodeqeUwu}qf(haUstringqghcUskinqhu}qi(UtypeqjUstringqkUidqlUzone_principaleqmu}qn(UtypeqoUintqpUidqqUnoteqru}qs(hoUstringqthqUversionquu}qv(hohthqUdevqwu}qx(hohthqU certifdevqyu}qz(hohthqU certifwebq{u}q|(hohthqU moderateurq}u}q~(UtypeqUlinesq€UidqU descriptionq‚utqƒhB(Uðšq„(U OFS.Imageq…UImageq†tq‡tqˆQU moderateurq‰U xav@1et0.orgqŠu.ð€((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uð›q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq Uhelpq (Uðœq(hU PythonScriptqtqtqQUtitleqUImageqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(hhhUnew_okqu}q(hhhhu}q(hhhU config_okqu}q(U meta_typeq UScript (Python)q!Uidq"U view_htmlq#u}q$(U meta_typeq%UScript (Python)q&Uidq'Uhelpq(u}q)(U meta_typeq*UImageq+Uidq,U icone.pngq-utq.U _propertiesq/(}q0(Utypeq1Ustringq2h"Utitleq3Umodeq4Uwu}q5(h1Ustringq6h"Uskinq7u}q8(Utypeq9Ustringq:Uidq;Uzone_principaleqUintq?Uidq@UnoteqAu}qB(h>UstringqCh@UversionqDu}qE(h>hCh@UdevqFu}qG(h>hCh@U certifdevqHu}qI(h>hCh@h u}qJ(h>hCh@U moderateurqKu}qL(UtypeqMUlinesqNUidqOU descriptionqPutqQh(UðžqR(hU PythonScriptqStqTtqUQhFU95%qVhHUouiqWhAK]hDU0.5qXU view_htmlqY(UðŸqZ(hU PythonScriptq[tq\tq]QUzone_principaleq^U1h(Uð q_(hU PythonScriptq`tqatqbQUskinqcU1h(Uðqd(hU PythonScriptqetqftqgQh-(Uð¡qh(U OFS.ImageqiUImageqjtqktqlQU__ac_local_roles__qm}qnhKUgreg@emencia.comqohUimageqphP]qq(Uq"Le module d'image vous permet d'uploader une image de votre disque dur sur votre site. Vous pourrez d\xe9finir:"qrU'- La balise "alt"'qsU,"- La taille de l'image (attention au poid)"qtU'- Y ajouter un lien'quU''qvU''qwU''qxU''qyeu.ðˆ((U OFS.FolderqUFolderqtqNt.}q(Uedit_okq(Uñtq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUskinq U1Unew_okq (Uñuq (hU PythonScriptqtqtqQUidqU album_photoqU certifwebqUnonqUview_imgq(Uñvq(hU PythonScriptqtqtqQUtitleqU Album photoqUnoteqKdUversionqU0.4.2qU view_htmlq(Uñwq (hU PythonScriptq!tq"tq#QU add_image_okq$(Uñxq%(hU PythonScriptq&tq'tq(QU_objectsq)(}q*(U meta_typeq+UScript (Python)q,Uidq-Unew_htmlq.u}q/(U meta_typeq0UScript (Python)q1Uidq2Unew_okq3u}q4(U meta_typeq5UScript (Python)q6Uidq7U view_htmlq8u}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?UScript (Python)q@UidqAh$u}qB(U meta_typeqCUScript (Python)qDUidqEUdel_imgqFu}qG(U meta_typeqHUScript (Python)qIUidqJhu}qK(U meta_typeqLUScript (Python)qMUidqNU edit_htmlqOu}qP(hLhMhNhu}qQ(hLhMhNU config_htmlqRu}qS(U meta_typeqTUImageqUUidqVU icone.pngqWutqXUzone_principaleqYU1hR(UñzqZ(hU PythonScriptq[tq\tq]QUnew_htmlq^(Uñ{q_(hU PythonScriptq`tqatqbQU descriptionqc(UAffiche un album photo.qdUYPermet d'éditer et d'afficher le thumbnail, le titre et la description pour chaque image.qeU:Taille maximale des images vignette (thumbnail) : 105x105.qftqghF(Uñ|qh(hU PythonScriptqitqjtqkQh=(Uñ}ql(hU PythonScriptqmtqntqoQU certifdevqpUnonqqU__ac_local_roles__qr}qsUdevqtU60%quhO(Uñyqv(hU PythonScriptqwtqxtqyQU _propertiesqz(}q{(Utypeq|Ustringq}Uidq~UtitleqUmodeq€Uwu}q(Utypeq‚UstringqƒUidq„U experimentalq…u}q†(Utypeq‡UintqˆUidq‰UnoteqŠu}q‹(h‡UstringqŒh‰Uversionqu}qŽ(h‡hŒh‰Udevqu}q(h‡hŒh‰U certifdevq‘u}q’(h‡hŒh‰U certifwebq“u}q”(h‡hŒh‰U moderateurq•u}q–(Utypeq—Ulinesq˜Uidq™U descriptionqšu}q›(UtypeqœUstringqUidqžhYu}qŸ(Utypeq Ustringq¡Uidq¢h utq£hW(Uñ~q¤(U OFS.Imageq¥UImageq¦tq§tq¨QU moderateurq©Uzwook@matisson.comqªU experimentalq«Uu.ð¡((U OFS.FolderqUFolderqtqNt.}q(Uhelpq(Uð¢q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUdelfileq (Uð£q (hU PythonScriptq tqtqQUaddfileq(Uð¤q(hU PythonScriptqtqtqQU config_okq(Uð¥q(hU PythonScriptqtqtqQUskinqU1Unew_okq(Uð¦q(hU PythonScriptqtqtqQUidq U text_epozq!U certifwebq"Uouiq#Utitleq$U Texte Epozq%Unoteq&K^Uversionq'U0.6q(U view_htmlq)(Uð§q*(hU PythonScriptq+tq,tq-QU_objectsq.(}q/(U meta_typeq0UScript (Python)q1h Unew_htmlq2u}q3(h0h1h hu}q4(h0h1h U config_htmlq5u}q6(h0h1h hu}q7(U meta_typeq8UScript (Python)q9Uidq:Urapidedit_htmlq;u}q<(h8h9h:U rapidedit_okq=u}q>(U meta_typeq?UScript (Python)q@UidqAUhelpqBu}qC(U meta_typeqDUScript (Python)qEUidqFU ttesview_htmlqGu}qH(hDhEhFU view_htmlqIu}qJ(U meta_typeqKUScript (Python)qLUidqMhu}qN(hKhLhMUtoolboxqOu}qP(hKhLhMh u}qQ(U meta_typeqRUImageqSUidqTU icone.pngqUutqVh5(Uð¨qW(hU PythonScriptqXtqYtqZQh2(Uð©q[(hU PythonScriptq\tq]tq^Qh=(Uðªq_(hU PythonScriptq`tqatqbQU descriptionqc]qd(U$Editeur de texte visuel (a la Word).qeUUeh;(Uð«qf(hU PythonScriptqgtqhtqiQUtoolboxqj(Uð¬qk(hU PythonScriptqltqmtqnQU certifdevqoUnonqpU__ac_local_roles__qq}qrhG(Uð­qs(hU PythonScriptqttqutqvQUdevqwU99%qxUzone_principaleqyU1U _propertiesqz(}q{(Utypeq|Ustringq}Uidq~UtitleqUmodeq€Uwu}q(h|Ustringq‚h~Uskinqƒu}q„(Utypeq…Ustringq†Uidq‡Uzone_principaleqˆu}q‰(UtypeqŠUintq‹UidqŒh&u}q(hŠUstringqŽhŒh'u}q(hŠhŽhŒhwu}q(hŠhŽhŒhou}q‘(hŠhŽhŒh"u}q’(hŠhŽhŒU moderateurq“u}q”(Utypeq•Ulinesq–Uidq—hcutq˜hU(Uð®q™(U OFS.ImageqšUImageq›tqœtqQh“Ugreg@emencia.comqžu.ð 6((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uð¯q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U descriptionq (U Menu simpleqtqUtitleqU Menu simpleqU__ac_local_roles__q}qU _propertiesq(}q(UtypeqUstringqUidqUtitleqUmodeqUwu}q(hUstringqhUskinqu}q(UtypeqUintq Uidq!Unoteq"u}q#(hUstringq$h!Uversionq%u}q&(hh$h!Udevq'u}q((hh$h!U certifdevq)u}q*(hh$h!h u}q+(hh$h!U moderateurq,u}q-(Utypeq.Ulinesq/Uidq0h utq1Unew_htmlq2(Uð°q3(hU PythonScriptq4tq5tq6Qh'U100%q7h)Uouiq8h"K h%Ubeta 1q9U view_htmlq:(Uð±q;(hU PythonScriptqQU config_okq?(Uð²q@(hU PythonScriptqAtqBtqCQUskinqDU1U_objectsqE(}qF(U meta_typeqGUScript (Python)qHUidqIh2u}qJ(hGhHhIhu}qK(U meta_typeqLUScript (Python)qMUidqNU config_okqOu}qP(U meta_typeqQUScript (Python)qRUidqSU view_htmlqTu}qU(hQUImageqVhSU icone.pngqWutqXU icone.pngqY(Uð³qZ(U OFS.Imageq[UImageq\tq]tq^Qh,U xav@1et0.orgq_hIU kzexpmenuq`U __ac_roles__qa(UManagerqbUOwnerqcU AnonymousqdU Authenticatedqetqfu.ð p((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uð´q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Uouiq U descriptionq (UCIl s'agit d'une sous navigation automatique sous forme de dossiers.qUCIl permet d'afficher clairement les sous rubriques d'une navigationqUtqUtitleqU,Liste des dossiers contenus dans ce dossier.qU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(hhhUnew_okqu}q(U meta_typeqUScript (Python)qUidqU view_htmlqu}q (U meta_typeq!UScript (Python)q"Uidq#U config_htmlq$u}q%(h!h"h#U config_okq&u}q'(U meta_typeq(UImageq)Uidq*U icone.pngq+u}q,(U meta_typeq-UFolderq.Uidq/Uimagesq0utq1U _propertiesq2(}q3(Utypeq4Ustringq5Uidq6Utitleq7Umodeq8Uwu}q9(Utypeq:Ustringq;Uidq(Utypeq?Uintq@UidqAUnoteqBu}qC(h?UstringqDhAUversionqEu}qF(h?hDhAUdevqGu}qH(h?hDhAU certifdevqIu}qJ(h?hDhAh u}qK(h?hDhAU moderateurqLu}qM(h?hDhAUskinqNu}qO(UtypeqPUlinesqQUidqRh utqSh(Uð¶qT(hU PythonScriptqUtqVtqWQhGU90%qXhIUnonqYhBK@hEU0.9qZU view_htmlq[(Uð·q\(hU PythonScriptq]tq^tq_QU config_okq`(Uð¸qa(hU PythonScriptqbtqctqdQhNU1Uimagesqe(Uð¹qf(hUFolderqgtqhtqiQh(Uðµqj(hU PythonScriptqktqltqmQU icone.pngqn(Uðºqo(U OFS.ImageqpUImageqqtqrtqsQU__ac_local_roles__qt}quhLU p4@zwook.orgqvhU folderbarqwU experimentalqxUu.ð :((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uð»q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq Ugreg@emencia.comqUhelpq(Uð¼q(hU PythonScriptqtqtqQUtitleqUFichier a téléchargerqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(hhhUnew_okqu}q(hhhhu}q(hhhU config_okq u}q!(U meta_typeq"UScript (Python)q#Uidq$U view_htmlq%u}q&(U meta_typeq'UScript (Python)q(Uidq)Uhelpq*u}q+(U meta_typeq,UImageq-Uidq.U icone.pngq/utq0U _propertiesq1(}q2(Utypeq3Ustringq4h$Utitleq5Umodeq6Uwu}q7(h3Ustringq8h$Uskinq9u}q:(Utypeq;Ustringqu}q?(Utypeq@UintqAUidqBUnoteqCu}qD(h@UstringqEhBUversionqFu}qG(h@hEhBUdevqHu}qI(h@hEhBU certifdevqJu}qK(h@hEhBh u}qL(h@hEhBh u}qM(UtypeqNUlinesqOUidqPU descriptionqQutqRh(Uð¾qS(hU PythonScriptqTtqUtqVQhHU75%qWhJUnonqXhCKVhFU0.6qYU view_htmlqZ(Uð¿q[(hU PythonScriptq\tq]tq^QUzone_principaleq_U1h (UðÀq`(hU PythonScriptqatqbtqcQUskinqdU1h(Uð½qe(hU PythonScriptqftqgtqhQh/(UðÁqi(U OFS.ImageqjUImageqktqltqmQU__ac_local_roles__qn}qohUfileqphQ]qq(UCe module permet (aux personnes autorisés) d'uploader tout types de fichiers qui pourront être téléchargé par d'autre utilisateurs ou visiteurs.qrUUeu.ð ‡((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T·pr=context.zwo_bo.presentation() # AFFICHAGE DU BANDEAU HAUT (head,spm,mid,spe,foot)=context.zwo_bo.autour(mem,pr,'module','Edition d\'element') print head titre='RETOUR' print context.zwo_bo.menu(mem['zwo_url'],pr,'nav',titre) print spm print mid print context.zwo_bo.edition(mem['zwo_url'],pr,'module','EDITION ELEMENT',prnt) print foot return printed q U_codeq T c@s d„ZdS(NcCstƒ}tttdƒdƒƒ}tttdƒdƒ||ddƒtƒ\}} } } } ||IJdt |dƒd}|tttdƒd ƒt |d ƒ|d |ƒIJ|| IJ|| IJ|tttdƒd ƒt |d ƒ|dd |ƒIJ|| IJ|ƒSdS(Nszwo_bos presentationsautoursmodulesEdition d'elementsRETOURsmenuszwo_urlsnavseditionsEDITION ELEMENT(s_print_s_prints _getattr_scontextsprsmems _getiter_sheadsspmsmidsspesfoots _getitem_stitresprnt(smemsprnts_print_s_prints _getattr_scontextsprs _getiter_sheadsspmsmidsspesfoots _getitem_stitre((sScript (Python)stotals$= 4  7 (stotal(stotal((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU__ac_local_roles__q}qUxavq]q UOwnerq!asUidq"Utotalq#U_paramsq$Umem,prntq%U func_codeq&(cShared.DC.Scripts.Signature FuncCode q'oq(}q)(U co_argcountq*KU co_varnamesq+(Umemq,Uprntq-U_print_q.U_printq/U _getattr_q0Ucontextq1Uprq2U _getiter_q3Uheadq4Uspmq5Umidq6Uspeq7Ufootq8U _getitem_q9Utitreq:tq;ubu.ð ;((U OFS.FolderqUFolderqtqNt.}q(U config_okq(UðÂq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUimagesq (UðÃq (hUFolderq tqtqQUnew_okq(UðÄq(hU PythonScriptqtqtqQUidqUtodoqU realisationq(UðÅq(hU PythonScriptqtqtqQU certifwebqUnonqUtitleqU Todo listqUnoteq KUterminerq!(UðÆq"(hU PythonScriptq#tq$tq%QUversionq&U0.8q'U view_htmlq((UðÇq)(hU PythonScriptq*tq+tq,QU_objectsq-(}q.(U meta_typeq/UScript (Python)q0Uidq1Unew_htmlq2u}q3(U meta_typeq4UScript (Python)q5Uidq6Unew_okq7u}q8(U meta_typeq9UScript (Python)q:Uidq;U config_htmlqu}q?(U meta_typeq@UScript (Python)qAUidqBU view_htmlqCu}qD(U meta_typeqEUScript (Python)qFUidqGU realisationqHu}qI(hEhFhGU edit_noteqJu}qK(U meta_typeqLUScript (Python)qMUidqNU edit_note_okqOu}qP(U meta_typeqQUImageqRUidqSU icone.pngqTu}qU(U meta_typeqVUScript (Python)qWUidqXU add_todo_itemqYu}qZ(hVhWhXUadd_todo_item_okq[u}q\(U meta_typeq]UScript (Python)q^Uidq_Uoptionsq`u}qa(U meta_typeqbUScript (Python)qcUidqdU options_okqeu}qf(U meta_typeqgUFolderqhUidqiUimagesqju}qk(hgUScript (Python)qlhih!utqmhO(UðÈqn(hU PythonScriptqotqptqqQU config_htmlqr(UðÉqs(hU PythonScriptqttqutqvQUnew_htmlqw(UðÊqx(hU PythonScriptqytqztq{QU descriptionq|(UListe des choses à faireq}tq~h[(UðËq(hU PythonScriptq€tqtq‚Qhe(UðÌqƒ(hU PythonScriptq„tq…tq†QhY(UðÍq‡(hU PythonScriptqˆtq‰tqŠQU certifdevq‹UnonqŒU__ac_local_roles__q}qŽhJ(UðÎq(hU PythonScriptqtq‘tq’QUdevq“U5%q”Uzone_principaleq•U1U _propertiesq–(}q—(Utypeq˜Ustringq™UidqšUtitleq›UmodeqœUwu}q(UtypeqžUstringqŸUidq U experimentalq¡u}q¢(Utypeq£Uintq¤Uidq¥Unoteq¦u}q§(h£Ustringq¨h¥Uversionq©u}qª(h£h¨h¥Udevq«u}q¬(h£h¨h¥U certifdevq­u}q®(h£h¨h¥U certifwebq¯u}q°(h£h¨h¥U moderateurq±u}q²(Utypeq³Ulinesq´UidqµU descriptionq¶u}q·(Utypeq¸Ustringq¹Uidqºh•utq»hT(UðÏq¼(U OFS.Imageq½UImageq¾tq¿tqÀQU moderateurqÁU p4@zwook.orgqÂUoptionsqÃ(UðÐqÄ(hU PythonScriptqÅtqÆtqÇQU experimentalqÈUu.ðk((U OFS.FolderqUFolderqtqNt.}q(Uedit_okq(UðÔq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU editer_postq (UðØq (hU PythonScriptq tqtqQU verif_urlq(UðÓq(hU PythonScriptqtqtqQU config_okq(UðÑq(hU PythonScriptqtqtqQUskinqU1Unew_okq(UðÕq(hU PythonScriptqtqtqQUidq U list_linksq!U certifwebq"Unonq#Utitleq$UListe de liensq%U post_thanksq&(UðÖq'(hU PythonScriptq(tq)tq*QUnoteq+K2Uversionq,U0.4.4q-U view_htmlq.(Uð×q/(hU PythonScriptq0tq1tq2QU_objectsq3(}q4(U meta_typeq5UScript (Python)q6Uidq7Unew_htmlq8u}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?UScript (Python)q@UidqAU config_okqBu}qC(U meta_typeqDUScript (Python)qEUidqFU view_htmlqGu}qH(U meta_typeqIUScript (Python)qJUidqKUpostqLu}qM(U meta_typeqNUScript (Python)qOUidqPUpost_okqQu}qR(U meta_typeqSUScript (Python)qTUidqUh&u}qV(U meta_typeqWUScript (Python)qXUidqYU effacer_postqZu}q[(hWhXhYU publier_postq\u}q](hWhXhYh u}q^(U meta_typeq_UScript (Python)q`Uidqahu}qb(U meta_typeqcUImageqdUidqeU icone.pngqfu}qg(U meta_typeqhUScript (Python)qiUidqjU config_htmlqku}ql(U meta_typeqmUScript (Python)qnUidqoU verif_urlqputqqU config_htmlqr(UðÒqs(hU PythonScriptqttqutqvQh\(UðÙqw(hU PythonScriptqxtqytqzQU descriptionq{(UDListes de liens avec possibilité de reviewing et tri par catégories.q|tq}hQ(UðÚq~(hU PythonScriptqtq€tqQUpostq‚(UðÛqƒ(hU PythonScriptq„tq…tq†QU certifdevq‡UnonqˆU__ac_local_roles__q‰}qŠUdevq‹U70%qŒUzone_principaleqU1U _propertiesqŽ(}q(UtypeqUstringq‘Uidq’Utitleq“Umodeq”Uwu}q•(Utypeq–Ustringq—Uidq˜U experimentalq™u}qš(Utypeq›UintqœUidqUnoteqžu}qŸ(h›Ustringq hUversionq¡u}q¢(h›h hUdevq£u}q¤(h›h hU certifdevq¥u}q¦(h›h hU certifwebq§u}q¨(h›h hU moderateurq©u}qª(Utypeq«Ulinesq¬Uidq­U descriptionq®u}q¯(Utypeq°Ustringq±Uidq²hu}q³(Utypeq´UstringqµUidq¶hutq·Unew_htmlq¸(UðÜq¹(hU PythonScriptqºtq»tq¼QhZ(UðÝq½(hU PythonScriptq¾tq¿tqÀQhf(UðÞqÁ(U OFS.ImageqÂUImageqÃtqÄtqÅQU moderateurqÆUzwook@matisson.comqÇU experimentalqÈUu.ðš((U OFS.FolderqUFolderqtqNt.}q(U rss10.xmlq(Uðßq(U#Products.PythonScripts.PythonScriptqU PythonScriptqttQU config_okq (Uðàq (hU PythonScriptq ttQUskinq U1Uimagesq (Uðáq(hUFolderqttQUnew_okq(Uðâq(hU PythonScriptqttQUidqUforums_historyqU certifwebqUnonqUtitleqUForums historyqUnoteqKUversionqU0.1qU view_htmlq(Uðãq(hU PythonScriptqttQU_objectsq(}q (U meta_typeq!UScript (Python)q"Uidq#Unew_htmlq$u}q%(U meta_typeq&UScript (Python)q'Uidq(Unew_okq)u}q*(U meta_typeq+UScript (Python)q,Uidq-U config_htmlq.u}q/(h+h,h-U config_okq0u}q1(U meta_typeq2UScript (Python)q3Uidq4U view_htmlq5u}q6(U meta_typeq7UImageq8Uidq9U icone.pngq:u}q;(h7UFolderq(U meta_typeq?UScript (Python)q@UidqAU rss10.xmlqButqCU config_htmlqD(UðäqE(hU PythonScriptqFttQUnew_htmlqG(UðåqH(hU PythonScriptqIttQU certifdevqJUnonqKU__ac_local_roles__qL}qMUdevqNU5%qOUzone_principaleqPU1U _propertiesqQ(}qR(UtypeqSUstringqTUidqUUtitleqVUmodeqWUwu}qX(UtypeqYUstringqZUidq[U experimentalq\u}q](Utypeq^Ustringq_Uidq`Uzone_principaleqau}qb(UtypeqcUintqdUidqeUnoteqfu}qg(hcUstringqhheUversionqiu}qj(hchhheUdevqku}ql(hchhheU certifdevqmu}qn(hchhheU certifwebqou}qp(hchhheU moderateurqqu}qr(UtypeqsUstringqtUidquh utqvU icone.pngqw(Uðæqx(U OFS.ImageqyUImageqzttQU moderateurq{Ugreg@emencia.comq|U experimentalq}Uu.ð þ((U OFS.FolderqUFolderqtqNt.}q(Uediter_commentq(Uðçq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU editer_postq (Uððq (hU PythonScriptq tqtqQUedit_okq(Uðéq(hU PythonScriptqtqtqQUimagesq(Uðêq(hUFolderqtqtqQUnew_okq(Uðëq(hU PythonScriptqtqtqQUidqU documentsq Uediter_comment_okq!(Uðìq"(hU PythonScriptq#tq$tq%QU certifwebq&Unonq'Utitleq(U Documentsq)U repondre_okq*(Uðòq+(hU PythonScriptq,tq-tq.QUpost_comment_okq/(Uðîq0(hU PythonScriptq1tq2tq3QUnoteq4KUversionq5U1.1q6U view_htmlq7(Uðïq8(hU PythonScriptq9tq:tq;QU_objectsq<(}q=(U meta_typeq>UScript (Python)q?Uidq@Unew_htmlqAu}qB(U meta_typeqCUScript (Python)qDUidqEUnew_okqFu}qG(U meta_typeqHUScript (Python)qIUidqJU config_htmlqKu}qL(hHhIhJU config_okqMu}qN(U meta_typeqOUScript (Python)qPUidqQU view_htmlqRu}qS(U meta_typeqTUScript (Python)qUUidqVUpostqWu}qX(U meta_typeqYUScript (Python)qZUidq[Upost_okq\u}q](U meta_typeq^UScript (Python)q_Uidq`U effacer_postqau}qb(h^h_h`h u}qc(U meta_typeqdUScript (Python)qeUidqfhu}qg(U meta_typeqhUScript (Python)qiUidqjU post_commentqku}ql(U meta_typeqmUScript (Python)qnUidqoh/u}qp(hmhnhohu}qq(hmhnhoUeffacer_commentqru}qs(hmhnhoh!u}qt(U meta_typequUScript (Python)qvUidqwUrepondreqxu}qy(U meta_typeqzUScript (Python)q{Uidq|h*u}q}(U meta_typeq~UScript (Python)qUidq€Uread_docqu}q‚(h~hh€Uview_logqƒu}q„(U meta_typeq…UImageq†Uidq‡U icone.pngqˆu}q‰(h…UFolderqŠh‡Uimagesq‹u}qŒ(U meta_typeqUScript (Python)qŽUidqUeffacer_post_okqutq‘U config_htmlq’(Uðèq“(hU PythonScriptq”tq•tq–QUnew_htmlq—(Uðñq˜(hU PythonScriptq™tqštq›QU admin_onlyqœUU descriptionq(Uu}q?(h;h(Uñqc(hU PythonScriptqdtqetqfQU moderateurqgUzwook@matisson.comqhh@(Uñqi(hU PythonScriptqjtqktqlQUdevqmU75%qnUzone_principaleqoU1U _propertiesqp(}qq(UtypeqrUstringqsUidqtUtitlequUmodeqvUwu}qw(UtypeqxUstringqyUidqzU experimentalq{u}q|(Utypeq}Uintq~Uidqhu}q€(h}Ustringqhhu}q‚(h}hhhmu}qƒ(h}hhhau}q„(h}hhhu}q…(h}hhhgu}q†(h}hhhou}q‡(UtypeqˆUlinesq‰UidqŠhZutq‹hN(UñqŒ(U OFS.ImageqUImageqŽtqtqQU__ac_local_roles__q‘}q’U experimentalq“Uu.ð•((U OFS.FolderqUFolderqtqNt.}q(U css_mod_okq(Uñq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uñq (hU PythonScriptq tqtqQUskinqU1Unew_okq(Uñ q(hU PythonScriptqtqtqQUidqUscriptqU certifwebqUnonqUtitleqU Script pythonqUnoteqKUversionqU0.6qU view_htmlq(Uñ q (hU PythonScriptq!tq"tq#QU_objectsq$(}q%(U meta_typeq&UScript (Python)q'hUnew_htmlq(u}q)(h&h'hhu}q*(h&h'hU config_htmlq+u}q,(h&h'hh u}q-(U meta_typeq.UScript (Python)q/Uidq0Urapidedit_htmlq1u}q2(h.h/h0U rapidedit_okq3u}q4(U meta_typeq5UScript (Python)q6Uidq7U view_htmlq8u}q9(U meta_typeq:UImageq;Uidq(h:U DTML Documentq?h(Uñq?(hU PythonScriptq@ttQUnew_htmlqA(UñžqB(hU PythonScriptqCttQU admin_onlyqDU1U descriptionqE(U1Liste des derniers messages postés dans les blogsqFtqGU certifdevqHUnonqIU__ac_local_roles__qJ}qKUdevqLU85%qMUzone_principaleqNU1U _propertiesqO(}qP(UtypeqQUstringqRUidqSUtitleqTUmodeqUUwu}qV(UtypeqWUstringqXUidqYU experimentalqZu}q[(Utypeq\Uintq]Uidq^Unoteq_u}q`(h\Ustringqah^Uversionqbu}qc(h\hah^Udevqdu}qe(h\hah^U certifdevqfu}qg(h\hah^U certifwebqhu}qi(h\hah^U moderateurqju}qk(UtypeqlUlinesqmUidqnU descriptionqou}qp(UtypeqqUstringqrUidqsh u}qt(hqhrhshNu}qu(hqhrhshDutqvU icone.pngqw(UñŸqx(U OFS.ImageqyUImageqzttQU moderateurq{U p4@zwook.orgq|U experimentalq}Uu.ð ((U OFS.FolderqUFolderqtqNt.}q(Uadd_link_confirmq(Uðzq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUwwwq (Uð{q (hUFolderq tqtqQU arborescenceq(Uð|q(hU PythonScriptqtqtqQUadd_linkq(Uð}q(hU PythonScriptqtqtqQU config_okq(Uð~q(hU PythonScriptqtqtqQUskinqU1Unew_okq (Uðq!(hU PythonScriptq"tq#tq$QUmanage_links_okq%(Uð€q&(hU PythonScriptq'tq(tq)QUidq*Uannuaire_liensq+U certifwebq,Unonq-Utitleq.UAnnuaire de liens v0.4q/Unoteq0KU__before_publishing_traverse__q1(cZPublisher.BeforeTraverse MultiHook q2oq3}q4(U_defined_in_classq5I00 U _hooknameq6h1U_priorq7NU_listq8]q9ubUversionq:U0.4q;U view_htmlq<(Uðq=(hU PythonScriptq>tq?tq@QUbidonqA(Uð‚qB(UOFS.DTMLMethodqCU DTMLMethodqDtqEtqFQUREADMEqG(UðƒqH(hU PythonScriptqItqJtqKQU__before_traverse__qL}qMU config_htmlqN(Uð„qO(hU PythonScriptqPtqQtqRQUnew_htmlqS(Uð…qT(hU PythonScriptqUtqVtqWQU admin_onlyqXU0U descriptionqY(U€Annuaire de liens à la yahoo, avec catégories et sous-catégories, hits, votes, propositions de rubriques et liens par les users.qZUUUUtq[U manage_linksq\(Uð†q](hU PythonScriptq^tq_tq`QUdel_category_okqa(Uð‡qb(hU PythonScriptqctqdtqeQU add_link_okqf(Uðˆqg(hU PythonScriptqhtqitqjQUdel_category_confirmqk(Uð‰ql(hU PythonScriptqmtqntqoQU_objectsqp(}qq(U meta_typeqrUScript (Python)qsUidqtUnew_htmlquu}qv(U meta_typeqwUScript (Python)qxUidqyUnew_okqzu}q{(U meta_typeq|UScript (Python)q}Uidq~U config_htmlqu}q€(h|h}h~U config_okqu}q‚(U meta_typeqƒUScript (Python)q„Uidq…U view_htmlq†u}q‡(U meta_typeqˆUImageq‰UidqŠU icone.pngq‹u}qŒ(U meta_typeqUFolderqŽUidqh u}q(U meta_typeq‘UScript (Python)q’Uidq“U arborescenceq”u}q•(U meta_typeq–U DTML Methodq—Uidq˜Ubidonq™u}qš(U meta_typeq›UScript (Python)qœUidqhfu}qž(h›hœhhu}qŸ(U meta_typeq UScript (Python)q¡Uidq¢UTODOq£u}q¤(U meta_typeq¥UScript (Python)q¦Uidq§hku}q¨(h¥h¦h§hau}q©(U meta_typeqªUScript (Python)q«Uidq¬hu}q­(U meta_typeq®UScript (Python)q¯Uidq°UREADMEq±u}q²(U meta_typeq³UScript (Python)q´Uidqµh\u}q¶(U meta_typeq·UScript (Python)q¸Uidq¹h%utqºh£(UðŠq»(hU PythonScriptq¼tq½tq¾QU certifdevq¿UnonqÀU moderateurqÁUclaudiux@lenautilux.netqÂUdevqÃU40%qÄUzone_principaleqÅU1U _propertiesqÆ(}qÇ(UtypeqÈUstringqÉUidqÊUtitleqËUmodeqÌUwu}qÍ(UtypeqÎUstringqÏUidqÐU experimentalqÑu}qÒ(UtypeqÓUintqÔUidqÕUnoteqÖu}q×(hÓUstringqØhÕUversionqÙu}qÚ(hÓhØhÕUdevqÛu}qÜ(hÓhØhÕU certifdevqÝu}qÞ(hÓhØhÕU certifwebqßu}qà(hÓhØhÕU moderateurqáu}qâ(UtypeqãUlinesqäUidqåU descriptionqæu}qç(UtypeqèUstringqéUidqêhu}që(hèhéhêhÅu}qì(UtypeqíUstringqîhŠhXutqïh‹(Uð‹qð(U OFS.ImageqñUImageqòtqótqôQU__ac_local_roles__qõ}qöU experimentalq÷Uu.ðš((U OFS.FolderqUFolderqtqNt.}q(Uedit_structureq(Uñq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uñ q (hU PythonScriptq tqtqQUskinqU1Unew_okq(Uñ!q(hU PythonScriptqtqtqQUidqU catalogueqUdelokq(Uñ"q(hU PythonScriptqtqtqQU certifwebqUnonqUtitleqU Catalogueq Unoteq!KRUaddq"(Uñ#q#(hU PythonScriptq$tq%tq&QUversionq'U0.1q(U view_htmlq)(Uñ$q*(hU PythonScriptq+tq,tq-QUnew_structure_okq.(Uñ%q/(hU PythonScriptq0tq1tq2QU_objectsq3(}q4(U meta_typeq5UScript (Python)q6Uidq7Unew_htmlq8u}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?UScript (Python)q@UidqAU config_htmlqBu}qC(U meta_typeqDUScript (Python)qEUidqFU view_htmlqGu}qH(U meta_typeqIUScript (Python)qJUidqKU new_structureqLu}qM(hIhJhKh.u}qN(hIhJhKhu}qO(hIhJhKU config_okqPu}qQ(hIhJhKUaddqRu}qS(U meta_typeqTUScript (Python)qUUidqVUaddokqWu}qX(U meta_typeqYUScript (Python)qZUidq[Uvueq\u}q](hYhZh[hu}q^(U meta_typeq_UImageq`UidqaU icone.pngqbutqcU config_htmlqd(Uñ&qe(hU PythonScriptqftqgtqhQUnew_htmlqi(Uñ'qj(hU PythonScriptqktqltqmQU admin_onlyqnU1U descriptionqo]qp(U)création de fiches et de listes de fichesqqUUehW(Uñ(qr(hU PythonScriptqstqttquQU certifdevqvUnonqwUvueqx(Uñ)qy(hU PythonScriptqztq{tq|QhL(Uñ*q}(hU PythonScriptq~tqtq€QU moderateurqUxavier@emencia.comq‚UdevqƒU60%q„Uzone_principaleq…U1U _propertiesq†(}q‡(UtypeqˆUstringq‰UidqŠUtitleq‹UmodeqŒUwu}q(UtypeqŽUstringqUidqU experimentalq‘u}q’(Utypeq“Uintq”Uidq•Unoteq–u}q—(h“Ustringq˜h•Uversionq™u}qš(h“h˜h•Udevq›u}qœ(h“h˜h•U certifdevqu}qž(h“h˜h•U certifwebqŸu}q (h“h˜h•U moderateurq¡u}q¢(Utypeq£Ulinesq¤Uidq¥U descriptionq¦u}q§(Utypeq¨Ustringq©Uidqªhnu}q«(Utypeq¬Ustringq­hahu}q®(h¬h­hah…utq¯hb(Uñ+q°(U OFS.Imageq±UImageq²tq³tq´QU__ac_local_roles__qµ}q¶U experimentalq·Uu.ð'O((U OFS.FolderqUFolderqtqNt.}q(Uaffichage_moisq(Uò q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUskinq U1Unew_okq (Uò q (hU PythonScriptqtqtqQUcalendarq(Uò q(hU PythonScriptqtqtqQUidqU minicalendarqU certifwebqUnonqUtitleqUMini calendrierqUnoteqKLUversionqU0.1qU view_htmlq(Uò q (hU PythonScriptq!tq"tq#QU_objectsq$(}q%(U meta_typeq&UScript (Python)q'Uidq(U view_htmlq)u}q*(U meta_typeq+UScript (Python)q,Uidq-U config_htmlq.u}q/(h+h,h-Unew_htmlq0u}q1(h+h,h-Unew_okq2u}q3(h+h,h-Uaffichage_moisq4u}q5(h+h,h-Ucalendarq6u}q7(U meta_typeq8UImageq9Uidq:U icone.pngq;utq(hU PythonScriptq?tq@tqAQUnew_htmlqB(UòqC(hU PythonScriptqDtqEtqFQU descriptionqG(UÅLe module calendrier permet d'informer indépendament vos différents groupes d'utilisateurs (visiteurs, membres, département marketing ou commercial, ...) d'évènements ou d'actions à venir ou passé.qHUESeul les personnes autorisés pourront publier de nouveaux évènements.qIU%Vu possible: Journaliére ou MensuelleqJUUUtqKU certifdevqLUnonqMU moderateurqNUxavier@emencia.comqOUdevqPU90%qQUzone_principaleqRU1U _propertiesqS(}qT(UtypeqUUstringqVUidqWUtitleqXUmodeqYUwu}qZ(Utypeq[Ustringq\Uidq]U experimentalq^u}q_(Utypeq`Uintqah-Unoteqbu}qc(h`Ustringqdh-Uskinqeu}qf(UtypeqgUstringqhUidqihu}qj(hghhhihPu}qk(hghhhihLu}ql(hghhhihu}qm(hghhhihNu}qn(UtypeqoUlinesqpUidqqhGu}qr(UtypeqsUstringqtUidquhRutqvU icone.pngqw(Uòqx(U OFS.ImageqyUImageqztq{tq|QU__ac_local_roles__q}}q~U experimentalqUu.ð((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uðtq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq Ugreg@emencia.comqU descriptionq]q(ULe module Titre permet de choisir une taille, une police (dans la limite des polices standards sur le web :-) et une couleur pour un texte bref.qUUeUtitleqUTitreqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(hhhUnew_okqu}q(hhhhu}q(hhhU config_okqu}q(U meta_typeq UScript (Python)q!Uidq"U view_htmlq#u}q$(U meta_typeq%UImageq&Uidq'U icone.pngq(utq)U _propertiesq*(}q+(Utypeq,Ustringq-h"Utitleq.Umodeq/Uwu}q0(h,Ustringq1h"Uskinq2u}q3(Utypeq4Ustringq5Uidq6Uzone_principaleq7u}q8(Utypeq9Ustringq:Uidq;U experimentalqUintq?Uidq@UnoteqAu}qB(h>UstringqCh@UversionqDu}qE(h>hCh@UdevqFu}qG(h>hCh@U certifdevqHu}qI(h>hCh@h u}qJ(h>hCh@h u}qK(UtypeqLUlinesqMUidqNhutqOh(UðvqP(hU PythonScriptqQtqRtqSQhFU85%qThHUnonqUhAK\hDU0.8qVU view_htmlqW(UðwqX(hU PythonScriptqYtqZtq[QUzone_principaleq\U1h(Uðxq](hU PythonScriptq^tq_tq`QUskinqaU1h(Uðuqb(hU PythonScriptqctqdtqeQU icone.pngqf(Uðyqg(U OFS.ImageqhUImageqitqjtqkQU__ac_local_roles__ql}qmhUtitreqnU experimentalqoUu.ð€((U OFS.FolderqUFolderqtqNt.}q(U inscriptionq(UñAq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (UñBq (hU PythonScriptq tqtqQUskinqU1Uimagesq(UñCq(hUFolderqtqtqQUidqU login_managerqU __ac_roles__q(UManagerqUOwnerqU AnonymousqU AuthenticatedqtqUinscription_okq(UñDq(hU PythonScriptq tq!tq"QU certifwebq#Unonq$Utitleq%U Login Managerq&Unoteq'KdUversionq(U1.5.2q)U view_htmlq*(UñEq+(hU PythonScriptq,tq-tq.QU_objectsq/(}q0(U meta_typeq1UScript (Python)q2hUnew_htmlq3u}q4(h1h2hU config_htmlq5u}q6(U meta_typeq7UScript (Python)q8Uidq9U config_okq:u}q;(U meta_typeqU inscriptionq?u}q@(U meta_typeqAUScript (Python)qBUidqCU activationqDu}qE(hAhBhCUinscription_okqFu}qG(U meta_typeqHUScript (Python)qIUidqJU view_htmlqKu}qL(U meta_typeqMUImageqNUidqOU icone.pngqPu}qQ(U meta_typeqRUFolderqSUidqTUimagesqUu}qV(U meta_typeqWUScript (Python)qXUidqYU sendlogpassqZu}q[(U meta_typeq\UScript (Python)q]Uidq^U oublilogpassq_utq`h5(UñFqa(hU PythonScriptqbtqctqdQh3(UñGqe(hU PythonScriptqftqgtqhQU descriptionqi(T½Permet à l'administrateur du système et aux membres autorisés de se logger. Un formulaire d'inscription y est inclu afin de faciliter l'adhésion de nouveaux membres. Ce module est configurable. On peut choisir le nombre max de caractères pour le login et surtout on peut dorénavant modérer les inscriptions... Un même email ne peut être utilisé que par un user. Un nouveau formulaire de rappel du login et de régénération du password est inclus.qjtqkh_(UñHql(hU PythonScriptqmtqntqoQU activationqp(UñIqq(hU PythonScriptqrtqstqtQU certifdevquUnonqvU__ac_local_roles__qw}qxUdevqyU70%qzhZ(UñJq{(hU PythonScriptq|tq}tq~QUzone_principaleqU1U _propertiesq€(}q(Utypeq‚UstringqƒUidq„Utitleq…Umodeq†Uwu}q‡(h‚Ustringqˆh„Uskinq‰u}qŠ(Utypeq‹UintqŒUidqh'u}qŽ(h‹Ustringqhh(u}q(h‹hhhyu}q‘(h‹hhhuu}q’(h‹hhh#u}q“(h‹hhU moderateurq”u}q•(Utypeq–Ulinesq—Uidq˜hiu}q™(UtypeqšUstringq›UidqœhutqhP(UñKqž(U OFS.ImageqŸUImageq tq¡tq¢Qh”Uzwook@matisson.comq£u.ð D((U OFS.FolderqUFolderqtqNt.}q(Uview_PMq(UñLq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUmsg_luq (UñXq (hU PythonScriptq tqtqQU config_okq(UñNq(hU PythonScriptqtqtqQUskinqU1Uimagesq(UñOq(hUFolderqtqtqQUnew_okq(UñPq(hU PythonScriptqtqtqQUidq U directfriendsq!U add_dossierq"(UñQq#(hU PythonScriptq$tq%tq&QU certifwebq'Unonq(Udeplacer_msg_okq)(UñRq*(hU PythonScriptq+tq,tq-QUeffacerq.(UñSq/(hU PythonScriptq0tq1tq2QU eff_dossierq3(UñTq4(hU PythonScriptq5tq6tq7QUnoteq8KHUdel_and_repondreq9(UñUq:(hU PythonScriptq;tqU1.5q?U view_htmlq@(UñVqA(hU PythonScriptqBtqCtqDQUadmin_dossiersqE(UñWqF(hU PythonScriptqGtqHtqIQU_objectsqJ(}qK(U meta_typeqLUScript (Python)qMUidqNUnew_htmlqOu}qP(U meta_typeqQUScript (Python)qRUidqSUnew_okqTu}qU(U meta_typeqVUScript (Python)qWUidqXU config_htmlqYu}qZ(hVhWhXU config_okq[u}q\(U meta_typeq]UScript (Python)q^Uidq_Uconf_friends_listq`u}qa(U meta_typeqbUScript (Python)qcUidqdUdel_userqeu}qf(U meta_typeqgUScript (Python)qhUidqiUadd_userqju}qk(U meta_typeqlUFolderqmUidqnUimagesqou}qp(U meta_typeqqUScript (Python)qrUidqsUsend_PMqtu}qu(hqhrhsU send_PM_okqvu}qw(U meta_typeqxUScript (Python)qyUidqzUokq{u}q|(U meta_typeq}UScript (Python)q~Uidqhu}q€(h}h~hh.u}q(h}h~hh u}q‚(U meta_typeqƒUScript (Python)q„Uidq…Urepondreq†u}q‡(U meta_typeqˆUScript (Python)q‰UidqŠhEu}q‹(U meta_typeqŒUScript (Python)qUidqŽU add_dossierqu}q(hŒhhŽh3u}q‘(hŒhhŽUeff_dossier_confirmq’u}q“(U meta_typeq”UScript (Python)q•Uidq–U deplacer_msgq—u}q˜(h”h•h–h)u}q™(U meta_typeqšUScript (Python)q›Uidqœh9u}q(U meta_typeqžUScript (Python)qŸUidq U view_htmlq¡u}q¢(U meta_typeq£UScript (Python)q¤Uidq¥U signaleurq¦u}q§(U meta_typeq¨UImageq©UidqªU icone.pngq«u}q¬(U meta_typeq­UScript (Python)q®Uidq¯U send_PM_inq°utq±U config_htmlq²(UñMq³(hU PythonScriptq´tqµtq¶QUnew_htmlq·(UñYq¸(hU PythonScriptq¹tqºtq»QU descriptionq¼(UîCe module permet aux membres connectés de pouvoir être identifier comme "en ligne" par les autres membres. Il est également possible d'envoyer des messages (du type Post Message) afin de communiquer directement via l'interface du système.q½UUtq¾h`(UñZq¿(hU PythonScriptqÀtqÁtqÂQUsend_PMqÃ(Uñ[qÄ(hU PythonScriptqÅtqÆtqÇQhj(Uñ\qÈ(hU PythonScriptqÉtqÊtqËQh’(UñdqÌ(hU PythonScriptqÍtqÎtqÏQU send_PM_inqÐ(Uñ^qÑ(hU PythonScriptqÒtqÓtqÔQU certifdevqÕUnonqÖh†(Uñ_q×(hU PythonScriptqØtqÙtqÚQUokqÛ(Uñ`qÜ(hU PythonScriptqÝtqÞtqßQU__ac_local_roles__qà}qáUtitleqâUMessages PersonnelsqãUdevqäU90%qåh—(Uñaqæ(hU PythonScriptqçtqètqéQhe(Uñbqê(hU PythonScriptqëtqìtqíQhv(Uñcqî(hU PythonScriptqïtqðtqñQU _propertiesqò(}qó(UtypeqôUstringqõUidqöUtitleq÷UmodeqøUwu}qù(UtypeqúUstringqûUidqühu}qý(UtypeqþUstringqÿUidrU experimentalru}r(UtyperUintrUidrh8u}r(jUstringrjh>u}r(jjjhäu}r (jjjhÕu}r (jjjh'u}r (jjjU moderateurr u}r (UtyperUlinesrUidrh¼utrh¦(Uñ]r(hU PythonScriptrtrtrQU icone.pngr(Uñer(U OFS.ImagerUImagertrtrQj U p4@zwook.orgrU experimentalrU1u.ðh((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uñfq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq Umat@emencia.comqU descriptionq(UInsérez un trait pour souligner ou différencier des éléments d'une page. Vous pouvez choisir la taille, la couleur et le positionnement du traitqUtqUtitleqUTraitqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okqu}q(U meta_typeq UScript (Python)q!Uidq"U config_htmlq#u}q$(h h!h"U config_okq%u}q&(U meta_typeq'UScript (Python)q(Uidq)U view_htmlq*u}q+(U meta_typeq,UImageq-Uidq.U icone.pngq/utq0U _propertiesq1(}q2(Utypeq3Ustringq4Uidq5Utitleq6Umodeq7Uwu}q8(Utypeq9Ustringq:Uidq;U experimentalqUstringq?Uidq@Uzone_principaleqAu}qB(UtypeqCUintqDUidqEUnoteqFu}qG(hCUstringqHhEUversionqIu}qJ(hChHhEUdevqKu}qL(hChHhEU certifdevqMu}qN(hChHhEh u}qO(hChHhEh u}qP(hChHhEUskinqQu}qR(UtypeqSUlinesqTUidqUhutqVUnew_htmlqW(UñhqX(hU PythonScriptqYtqZtq[QhKU90%q\hMUnonq]hFK6hIU0.2q^U view_htmlq_(Uñiq`(hU PythonScriptqatqbtqcQUzone_principaleqdU1U config_okqe(Uñjqf(hU PythonScriptqgtqhtqiQhQU1Unew_okqj(Uñgqk(hU PythonScriptqltqmtqnQh/(Uñkqo(U OFS.ImageqpUImageqqtqrtqsQU__ac_local_roles__qt}quUidqvUtraitqwU experimentalqxUu.ðë((U OFS.FolderqUFolderqtqNt.}q(Ueeq(Uñlq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uñmq (hU PythonScriptq tqtqQUskinqU1Uimagesq(Uñnq(hUFolderqtqtqQUnew_okq(Uñoq(hU PythonScriptqtqtqQUidqUbrowsing_modesqU certifwebqUnonqUtitleqU Browsing modeq Unoteq!K>Uversionq"U0.1q#U view_htmlq$(Uñpq%(hU PythonScriptq&tq'tq(QU_objectsq)(}q*(U meta_typeq+UScript (Python)q,Uidq-Unew_htmlq.u}q/(U meta_typeq0UScript (Python)q1Uidq2Unew_okq3u}q4(U meta_typeq5UScript (Python)q6Uidq7U config_htmlq8u}q9(h5h6h7U config_okq:u}q;(U meta_typeqU view_htmlq?u}q@(U meta_typeqAUScript (Python)qBUidqCUeeqDu}qE(U meta_typeqFUImageqGUidqHU icone.pngqIu}qJ(U meta_typeqKUFolderqLUidqMUimagesqNutqOU config_htmlqP(UñqqQ(hU PythonScriptqRtqStqTQUnew_htmlqU(UñrqV(hU PythonScriptqWtqXtqYQU admin_onlyqZU1U descriptionq[]q\(UOBrowser d'images et de folders. Permet également d'afficher la vue d'impressionq]UeU certifdevq^Unonq_U moderateurq`Ugreg@emencia.comqaUdevqbU40%qcU _propertiesqd(}qe(UtypeqfUstringqgUidqhUtitleqiUmodeqjUwu}qk(UtypeqlUstringqmUidqnU experimentalqou}qp(UtypeqqUintqrUidqsh!u}qt(hqUstringquhsh"u}qv(hqhuhshbu}qw(hqhuhsh^u}qx(hqhuhshu}qy(hqhuhsh`u}qz(Utypeq{Ulinesq|Uidq}h[u}q~(UtypeqUstringq€UidqhZu}q‚(UtypeqƒUstringq„Uidq…hutq†hI(Uñsq‡(U OFS.ImageqˆUImageq‰tqŠtq‹QU__ac_local_roles__qŒ}qU experimentalqŽUu.ð ®((U OFS.FolderqUFolderqtqNt.}q(Uediter_commentq(Uñq(U#Products.PythonScripts.PythonScriptqU PythonScriptqttQU config_htmlq (UñŒq (hU PythonScriptq ttQUnew_htmlq (Uñq (hU PythonScriptqttQU post_thanksq(Uñ‡q(hU PythonScriptqttQU rss10.xmlq(Uñ‚q(hU PythonScriptqttQUedit_okq(Uñƒq(hU PythonScriptqttQUimagesq(Uñ„q(hUFolderqttQUnew_okq(Uñ…q(hU PythonScriptqttQUidqUnewsqUediter_comment_okq (Uñ†q!(hU PythonScriptq"ttQU certifwebq#Unonq$Utitleq%UNewsq&U repondre_okq'(Uñ–q((hU PythonScriptq)ttQUpost_comment_okq*(Uñˆq+(hU PythonScriptq,ttQUnoteq-KUversionq.U1.0.3q/U view_htmlq0(UñŠq1(hU PythonScriptq2ttQU rss091.xmlq3(Uñ‹q4(hU PythonScriptq5ttQU_objectsq6(}q7(U meta_typeq8UScript (Python)q9Uidq:Unew_htmlq;u}q<(U meta_typeq=UScript (Python)q>Uidq?Unew_okq@u}qA(U meta_typeqBUScript (Python)qCUidqDU config_htmlqEu}qF(hBhChDU config_okqGu}qH(U meta_typeqIUScript (Python)qJUidqKUpostqLu}qM(U meta_typeqNUScript (Python)qOUidqPUpost_okqQu}qR(U meta_typeqSUScript (Python)qTUidqUhu}qV(U meta_typeqWUScript (Python)qXUidqYU effacer_postqZu}q[(hWhXhYU publier_postq\u}q](hWhXhYU editer_postq^u}q_(U meta_typeq`UScript (Python)qaUidqbhu}qc(U meta_typeqdUScript (Python)qeUidqfU read_newsqgu}qh(U meta_typeqiUScript (Python)qjUidqkU post_commentqlu}qm(U meta_typeqnUScript (Python)qoUidqph*u}qq(hnhohphu}qr(hnhohpUeffacer_commentqsu}qt(hnhohph u}qu(hnhohpUlisteqvu}qw(U meta_typeqxUScript (Python)qyUidqzUrepondreq{u}q|(U meta_typeq}UScript (Python)q~Uidqh'u}q€(U meta_typeqUScript (Python)q‚UidqƒU view_htmlq„u}q…(U meta_typeq†UScript (Python)q‡UidqˆUconfirm_effacer_postq‰u}qŠ(U meta_typeq‹UImageqŒUidqU icone.pngqŽu}q(U meta_typeqUScript (Python)q‘Uidq’h3u}q“(hUFolderq”h’Uimagesq•u}q–(U meta_typeq—UScript (Python)q˜Uidq™hutqšh^(Uñ€q›(hU PythonScriptqœttQh\(Uñq(hU PythonScriptqžttQU descriptionqŸ(U&Module liste de news avec commentairesq tq¡hQ(UñŽq¢(hU PythonScriptq£ttQhs(Uñq¤(hU PythonScriptq¥ttQUlisteq¦(Uñq§(hU PythonScriptq¨ttQUpostq©(Uñ‘qª(hU PythonScriptq«ttQU certifdevq¬Unonq­Urepondreq®(Uñ’q¯(hU PythonScriptq°ttQhl(Uñ“q±(hU PythonScriptq²ttQhg(Uñ”q³(hU PythonScriptq´ttQU moderateurqµU p4@zwook.orgq¶U config_okq·(Uñ•q¸(hU PythonScriptq¹ttQUdevqºU90%q»U experimentalq¼UUzone_principaleq½U1U _propertiesq¾(}q¿(UtypeqÀUstringqÁUidqÂUtitleqÃUmodeqÄUwu}qÅ(UtypeqÆUstringqÇUidqÈU experimentalqÉu}qÊ(UtypeqËUintqÌUidqÍUnoteqÎu}qÏ(hËUstringqÐhÍUversionqÑu}qÒ(hËhÐhÍUdevqÓu}qÔ(hËhÐhÍU certifdevqÕu}qÖ(hËhÐhÍU certifwebq×u}qØ(hËhÐhÍU moderateurqÙu}qÚ(UtypeqÛUlinesqÜUidqÝU descriptionqÞu}qß(UtypeqàUstringqáUidqâh½utqãhZ(Uñ—qä(hU PythonScriptqåttQU icone.pngqæ(Uñ˜qç(U OFS.ImageqèUImageqéttQU__ac_local_roles__qê}qëh‰(Uñ‰qì(hU PythonScriptqíttQu.ðZ((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uñq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U admin_onlyq U1U descriptionq(U6Affiche le contenu proposé non traité de tout le site.qtqUtitleqUSubmited content MonitorqU__ac_local_roles__q}qUskinqU1Unew_okq(Uñq(hU PythonScriptqtqtqQUnew_htmlq(Uñq(hU PythonScriptqtqtqQUdevq U5%q!Uidq"Usubmited_monitorq#Unoteq$KUversionq%U0.1q&U view_htmlq'(Uñq((hU PythonScriptq)tq*tq+QU config_okq,(Uñq-(hU PythonScriptq.tq/tq0QU _propertiesq1(}q2(Utypeq3Ustringq4Uidq5Utitleq6Umodeq7Uwu}q8(Utypeq9Ustringq:Uidq;U experimentalqUintq?Uidq@UnoteqAu}qB(h>UstringqCh@UversionqDu}qE(h>hCh@UdevqFu}qG(h>hCh@U certifdevqHu}qI(h>hCh@U certifwebqJu}qK(h>hCh@U moderateurqLu}qM(UtypeqNUlinesqOUidqPU descriptionqQu}qR(UtypeqSUstringqTUidqUhu}qV(hShThUh utqWU_objectsqX(}qY(U meta_typeqZUScript (Python)q[Uidq\Unew_htmlq]u}q^(U meta_typeq_UScript (Python)q`UidqaUnew_okqbu}qc(U meta_typeqdUScript (Python)qeUidqfU config_htmlqgu}qh(hdhehfU config_okqiu}qj(U meta_typeqkUImageqlhUU icone.pngqmu}qn(U meta_typeqoUScript (Python)qpUidqqU view_htmlqrutqsU icone.pngqt(Uñqu(U OFS.ImageqvUImageqwtqxtqyQU moderateurqzU p4@zwook.orgq{U certifdevq|Unonq}U experimentalq~Uu.ðT((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uñ¯q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq Ugreg@emencia.comqU descriptionq]qUaU icone.pngq(Uñµq(U OFS.ImageqUImageqtqtqQUtitleqU SpeedblogqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeq UScript (Python)q!Uidq"Unew_okq#u}q$(U meta_typeq%UScript (Python)q&Uidq'U config_htmlq(u}q)(h%h&h'U config_okq*u}q+(U meta_typeq,UScript (Python)q-Uidq.U view_htmlq/u}q0(U meta_typeq1UScript (Python)q2Uidq3Upostq4u}q5(U meta_typeq6UImageq7Uidq8U icone.pngq9utq:U _propertiesq;(}q<(Utypeq=Ustringq>Uidq?Utitleq@UmodeqAUwu}qB(UtypeqCUstringqDUidqEU experimentalqFu}qG(UtypeqHUintqIUidqJUnoteqKu}qL(hHUstringqMhJUversionqNu}qO(hHhMhJUdevqPu}qQ(hHhMhJU certifdevqRu}qS(hHhMhJU certifwebqTu}qU(hHhMhJU moderateurqVu}qW(UtypeqXUlinesqYUidqZU descriptionq[u}q\(Utypeq]Ustringq^h8Uskinq_utq`Unew_htmlqa(Uñ²qb(hU PythonScriptqctqdtqeQUdevqfU5%qgU certifdevqhUnonqiUnoteqjKUversionqkU0.2qlU view_htmlqm(Uñ³qn(hU PythonScriptqotqptqqQU config_okqr(Uñ´qs(hU PythonScriptqttqutqvQh_U1Unew_okqw(Uñ±qx(hU PythonScriptqytqztq{QUpostq|(Uñ°q}(hU PythonScriptq~tqtq€QU__ac_local_roles__q}q‚UidqƒU speedblogq„U experimentalq…Uu.ð ¾((U OFS.FolderqUFolderqtqNt.}q(U config_okq(Uñ¶q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUskinq U1Unew_okq (Uñ·q (hU PythonScriptqtqtqQUidqUhitsqU certifwebqUnonqUtitleqUCompteur de hitsqUnoteqKUversionqU0.3.1qU view_htmlq(Uñ¸q(hU PythonScriptqtqtqQU_objectsq(}q (U meta_typeq!UScript (Python)q"Uidq#Unew_htmlq$u}q%(U meta_typeq&UScript (Python)q'Uidq(Unew_okq)u}q*(U meta_typeq+UScript (Python)q,Uidq-U config_htmlq.u}q/(h+h,h-U config_okq0u}q1(U meta_typeq2UScript (Python)q3Uidq4U view_htmlq5u}q6(U meta_typeq7UImageq8Uidq9U icone.pngq:utq;U config_htmlq<(Uñ¹q=(hU PythonScriptq>tq?tq@QUnew_htmlqA(UñºqB(hU PythonScriptqCtqDtqEQU admin_onlyqFU1U descriptionqG(U Compte chaque visite d'une page.qHUZA chaque fois que la page qui contient ce module s'affiche, un compteur s'incrémente de 1.qItqJU certifdevqKUnonqLU moderateurqMUzwook@matisson.comqNUdevqOU70%qPUzone_principaleqQU1U _propertiesqR(}qS(UtypeqTUstringqUUidqVUtitleqWUmodeqXUwu}qY(UtypeqZUstringq[Uidq\U experimentalq]u}q^(Utypeq_Uintq`UidqaUnoteqbu}qc(h_UstringqdhaUversionqeu}qf(h_hdhaUdevqgu}qh(h_hdhaU certifdevqiu}qj(h_hdhaU certifwebqku}ql(h_hdhaU moderateurqmu}qn(UtypeqoUlinesqpUidqqU descriptionqru}qs(UtypeqtUstringquUidqvh u}qw(hthuhvhQu}qx(hthuhvhFutqyU icone.pngqz(Uñ»q{(U OFS.Imageq|UImageq}tq~tqQU__ac_local_roles__q€}qU experimentalq‚Uu.ð!n((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uñ¼q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq Uxavier@emencia.comqU descriptionq(U¾Ce petit module est complémentaire au module "mini calendrier". Il permet aux utilisateurs (selon leurs droits) de visualiser le récapitulatif des évènements ou de leurs taches de la journéeqUU' évènements qu'ils leurs est destinées.qUUUtqUtitleqUMes evenementsqU_objectsq(}q(U meta_typeqUScript (Python)qUidqU view_htmlqu}q(U meta_typeqUScript (Python)qUidqU config_htmlqu}q (hhhUnew_htmlq!u}q"(hhhUnew_okq#u}q$(U meta_typeq%UImageq&Uidq'U icone.pngq(utq)U _propertiesq*(}q+(Utypeq,Ustringq-Uidq.Utitleq/Umodeq0Uwu}q1(Utypeq2Ustringq3Uidq4U experimentalq5u}q6(Utypeq7Uintq8Uidq9Unoteq:u}q;(h7Ustringq(h7Ustringq?h9Uzone_principaleq@u}qA(UtypeqBUstringqCUidqDUversionqEu}qF(hBhChDUdevqGu}qH(hBhChDU certifdevqIu}qJ(hBhChDh u}qK(hBhChDh u}qL(UtypeqMUlinesqNUidqOhutqPUnew_htmlqQ(Uñ¾qR(hU PythonScriptqStqTtqUQhGU80%qVhIUnonqWUnoteqXKJhEU0.1qYU view_htmlqZ(Uñ¿q[(hU PythonScriptq\tq]tq^QUzone_principaleq_U1Uskinq`U1Unew_okqa(Uñ½qb(hU PythonScriptqctqdtqeQU icone.pngqf(UñÀqg(U OFS.ImageqhUImageqitqjtqkQU__ac_local_roles__ql}qmUidqnU mesevenementsqoU experimentalqpUu.ð" #((U OFS.FolderqUFolderqtqNt.}q(Uno_post_anonymeq(UñÁq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU edit_messageq (UñÂq (hU PythonScriptq tqtqQU all_statsq(UñÃq(hU PythonScriptqtqtqQUadd_thread_processq(UñÄq(hU PythonScriptqtqtqQU config_okq(UñÅq(hU PythonScriptqtqtqQUimagesq(UñÆq (hUFolderq!tq"tq#QUnew_okq$(UñÇq%(hU PythonScriptq&tq'tq(QUidq)Uforumq*Uedit_msg_processq+(UñÈq,(hU PythonScriptq-tq.tq/QU view_threadq0(UñÉq1(hU PythonScriptq2tq3tq4QU certifwebq5Unonq6Utitleq7UForum de discussionq8U add_messageq9(UñÊq:(hU PythonScriptq;tq(UñËq?(hU PythonScriptq@tqAtqBQUnoteqCKPUversionqDU0.9qEU view_htmlqF(UñÌqG(hU PythonScriptqHtqItqJQU thread_statsqK(UñÍqL(hU PythonScriptqMtqNtqOQU_objectsqP(}qQ(U meta_typeqRUScript (Python)qSUidqTUadd_msg_processqUu}qV(U meta_typeqWUScript (Python)qXUidqYU all_statsqZu}q[(U meta_typeq\UScript (Python)q]Uidq^U add_messageq_u}q`(h\h]h^U edit_messageqau}qb(U meta_typeqcUScript (Python)qdUidqeU add_threadqfu}qg(hchdheU del_messageqhu}qi(U meta_typeqjUScript (Python)qkUidqlh0u}qm(U meta_typeqnUScript (Python)qoUidqpUdetail_all_statsqqu}qr(hnhohpU thread_statsqsu}qt(U meta_typequUScript (Python)qvUidqwU config_htmlqxu}qy(huhvhwU config_okqzu}q{(huhvhwUnew_htmlq|u}q}(huhvhwUnew_okq~u}q(huhvhwU view_htmlq€u}q(U meta_typeq‚UScript (Python)qƒUidq„Uadd_thread_processq…u}q†(U meta_typeq‡UScript (Python)qˆUidq‰UsortqŠu}q‹(U meta_typeqŒUScript (Python)qUidqŽhu}q(U meta_typeqUScript (Python)q‘Uidq’U del_threadq“u}q”(hh‘h’Udel_thread_processq•u}q–(U meta_typeq—UScript (Python)q˜Uidq™h+u}qš(U meta_typeq›UScript (Python)qœUidqUdel_msg_processqžu}qŸ(U meta_typeq UImageq¡Uidq¢U icone.pngq£u}q¤(h UFolderq¥h¢Uimagesq¦utq§Usortq¨(UñÎq©(hU PythonScriptqªtq«tq¬QU config_htmlq­(UñÏq®(hU PythonScriptq¯tq°tq±QUnew_htmlq²(UñÐq³(hU PythonScriptq´tqµtq¶Qh“(UñÑq·(hU PythonScriptq¸tq¹tqºQU descriptionq»(U=Le forum sert a poster des messages, des fils de discussions.q¼Utq½hž(UñÒq¾(hU PythonScriptq¿tqÀtqÁQh•(UñÓqÂ(hU PythonScriptqÃtqÄtqÅQU certifdevqÆUnonqÇhq(UñÔqÈ(hU PythonScriptqÉtqÊtqËQU__ac_local_roles__qÌ}qÍUdevqÎU85%qÏUzone_principaleqÐU1hU(UñÕqÑ(hU PythonScriptqÒtqÓtqÔQU _propertiesqÕ(}qÖ(Utypeq×UstringqØhwUtitleqÙUmodeqÚUwu}qÛ(h×UstringqÜhwUzone_principaleqÝu}qÞ(UtypeqßUstringqàUidqáU experimentalqâu}qã(UtypeqäUintqåUidqæhCu}qç(häUstringqèhæhDu}qé(hähèhæhÎu}qê(hähèhæhÆu}që(hähèhæh5u}qì(hähèhæU moderateurqíu}qî(UtypeqïUlinesqðUidqñh»utqòU del_messageqó(UñÖqô(hU PythonScriptqõtqötq÷QU icone.pngqø(Uñ×qù(U OFS.ImageqúUImageqûtqütqýQhíUgreg@emencia.comqþU experimentalqÿUu.ð#Ã((U OFS.FolderqUFolderqtqNt.}q(Usupprime_evenementq(UñØq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUaffichage_moisq (UñÙq (hU PythonScriptq tqtqQU index_htmlq(UñÚq(hU PythonScriptqtqtqQUidqU calendrierqUmodifier_evenementq(UñÛq(hU PythonScriptqtqtqQU certifwebqUnonqUtitleqU CalendrierqUedit_evenementq (UñÜq!(hU PythonScriptq"tq#tq$QUnoteq%JÿÿÿÿUversionq&U0.1q'U_objectsq((}q)(U meta_typeq*UScript (Python)q+Uidq,h u}q-(U meta_typeq.UScript (Python)q/Uidq0Ucreer_evenementq1u}q2(U meta_typeq3UScript (Python)q4Uidq5Uview_evenementq6u}q7(h3h4h5hu}q8(U meta_typeq9UScript (Python)q:Uidq;h u}q<(U meta_typeq=UScript (Python)q>Uidq?hu}q@(U meta_typeqAUScript (Python)qBUidqCUnew_htmlqDu}qE(U meta_typeqFUScript (Python)qGUidqHU index_htmlqIu}qJ(U meta_typeqKUScript (Python)qLUidqMU new_eventqNu}qO(hKhLhMU view_newsqPu}qQ(hKhLhMU edit_eventqRu}qS(U meta_typeqTUScript (Python)qUUidqVU new_evenementqWu}qX(U meta_typeqYUImageqZUidq[U icone.pngq\u}q](hYUFolderq^h[Utousq_utq`Unew_htmlqa(UñÝqb(hU PythonScriptqctqdtqeQU edit_eventqf(UñÞqg(hU PythonScriptqhtqitqjQU descriptionqk(U¡Ce module ne doit pas être utilisé pour creer un element. Il contient juste des scripts necessaires a d'autres modules et il est installer de base dans le zwook.qlUtqmh1(Uñßqn(hU PythonScriptqotqptqqQU new_evenementqr(Uñãqs(hU PythonScriptqttqutqvQU new_eventqw(Uñàqx(hU PythonScriptqytqztq{Qh6(Uñáq|(hU PythonScriptq}tq~tqQU certifdevq€UnonqU moderateurq‚UaucunqƒUdevq„U80%q…Utousq†(Uñâq‡(hUFolderqˆtq‰tqŠQU _propertiesq‹(}qŒ(UtypeqUstringqŽUidqUtitleqUmodeq‘Uwu}q’(hUintq“hh%u}q”(hhŽhh&u}q•(hhŽhh„u}q–(hhŽhh€u}q—(hhŽhhu}q˜(hhŽhh‚u}q™(UtypeqšUlinesq›UidqœhkutqU icone.pngqž(UñäqŸ(U OFS.Imageq UImageq¡tq¢tq£QU__ac_local_roles__q¤}q¥U view_newsq¦(Uñåq§(hU PythonScriptq¨tq©tqªQu.ð$((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uñæq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Uouiq U moderateurq U p4@zwook.orgqU descriptionq(U9La locate bar affiche le chemin depuis la racine du site.qtqUtitleqU LocatebarqU default_cssq(Uñëq(UOFS.DTMLDocumentqU DTMLDocumentqtqtqQU _propertiesq(}q(UtypeqUstringqUidqUtitleqUmodeq Uwu}q!(Utypeq"Ustringq#Uidq$U experimentalq%u}q&(Utypeq'Uintq(Uidq)Unoteq*u}q+(h'Ustringq,h)Uversionq-u}q.(h'h,h)Udevq/u}q0(h'h,h)U certifdevq1u}q2(h'h,h)h u}q3(h'h,h)h u}q4(h'h,h)Uskinq5u}q6(Utypeq7Ulinesq8Uidq9hutq:Unew_htmlq;(Uñèq<(hU PythonScriptq=tq>tq?Qh/U80%q@h1UnonqAh*KBU_objectsqB(}qC(U meta_typeqDUScript (Python)qEUidqFh;u}qG(hDhEhFUnew_okqHu}qI(U meta_typeqJUScript (Python)qKhU view_htmlqLu}qM(U meta_typeqNUScript (Python)qOUidqPU config_htmlqQu}qR(hNhOhPU config_okqSu}qT(U meta_typeqUUImageqVUidqWU icone.pngqXu}qY(U meta_typeqZU DTML Documentq[Uidq\hutq]h-U0.9q^U view_htmlq_(Uñéq`(hU PythonScriptqatqbtqcQU config_okqd(Uñêqe(hU PythonScriptqftqgtqhQh5U1hH(Uñçqi(hU PythonScriptqjtqktqlQhX(Uñìqm(U OFS.ImageqnUImageqotqptqqQU__ac_local_roles__qr}qshFU locatebarqtU experimentalquUu.ðÉ((U OFS.FolderqUFolderqtqNt.}q(U config_okq(Uñ q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUskinq U1Unew_okq (Uñ¡q (hU PythonScriptqtqtqQUidqU mp3_playlistqUplaylistq(Uñ¢q(hU PythonScriptqtqtqQUtitleqU Mp3 playlistqU remove_itemq(Uñ£q(hU PythonScriptqtqtqQUnoteqKUversionq U0.1q!U view_htmlq"(Uñ¤q#(hU PythonScriptq$tq%tq&QU_objectsq'(}q((U meta_typeq)UScript (Python)q*Uidq+Unew_htmlq,u}q-(U meta_typeq.UScript (Python)q/Uidq0Unew_okq1u}q2(U meta_typeq3UScript (Python)q4Uidq5U config_htmlq6u}q7(h3h4h5U config_okq8u}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?U DTML Documentq@UidqAUfsound_readme.txtqBu}qC(U meta_typeqDUFileqEUidqFU fsound.swfqGu}qH(hDhEhFU fsound.flaqIu}qJ(hDhEhFUFSoundV1.1.0_playlist.xmlqKu}qL(hDUScript (Python)qMhFhu}qN(hDhMhFUadd_itemqOu}qP(hDhMhFU add_item_okqQu}qR(U meta_typeqSUFileqTUidqUUpop.htmqVu}qW(hSUScript (Python)qXhUhu}qY(U meta_typeqZUImageq[Uidq\U icone.pngq]utq^U config_htmlq_(Uñ¥q`(hU PythonScriptqatqbtqcQUnew_htmlqd(Uñ¦qe(hU PythonScriptqftqgtqhQU admin_onlyqiU1UFSoundV1.1.0_playlist.xmlqj(Uñ®qk(U OFS.ImageqlUFileqmtqntqoQU certifwebqpUnonqqU fsound.swfqr(Uñ§qs(hlUFileqttqutqvQhQ(Uñ¨qw(hU PythonScriptqxtqytqzQU certifdevq{Unonq|U fsound.flaq}(Uñ©q~(hlUFileqtq€tqQU__ac_local_roles__q‚}qƒUpop.htmq„(Uñªq…(hlUFileq†tq‡tqˆQUdevq‰U5%qŠhO(Uñ«q‹(hU PythonScriptqŒtqtqŽQhB(Uñ¬q(UOFS.DTMLDocumentqU DTMLDocumentq‘tq’tq“QUzone_principaleq”U1U _propertiesq•(}q–(Utypeq—Ustringq˜Uidq™UtitleqšUmodeq›Uwu}qœ(UtypeqUstringqžUidqŸU experimentalq u}q¡(Utypeq¢Uintq£Uidq¤hu}q¥(h¢Ustringq¦h¤h u}q§(h¢h¦h¤h‰u}q¨(h¢h¦h¤h{u}q©(h¢h¦h¤hpu}qª(h¢h¦h¤U moderateurq«u}q¬(Utypeq­Ustringq®Uidq¯hiu}q°(Utypeq±Ustringq²Uidq³h u}q´(h±h²h³h”utqµh](Uñ­q¶(hlUImageq·tq¸tq¹Qh«Ugreg@emencia.comqºU experimentalq»Uu.ðñ((U OFS.FolderqUFolderqtqNt.}q(U moderateurqUmat@emencia.comqU addchampsq(Uñ,q(U#Products.PythonScripts.PythonScriptq U PythonScriptq ttQU config_okq (Uñ-q (h U PythonScriptq ttQUnew_okq(Uñ.q(h U PythonScriptqttQUidqUcontactqU certifwebqUnonqU deliochampsq(Uñ/q(h U PythonScriptqttQUtitleqUFormulaire de contactqU new_verifq(Uñ0q(h U PythonScriptqttQU config_verifq(Uñ1q(h U PythonScriptqttQU modifchampsq (Uñ2q!(h U PythonScriptq"ttQUnoteq#KUversionq$U1.1q%U view_htmlq&(Uñ3q'(h U PythonScriptq(ttQU_objectsq)(}q*(U meta_typeq+UScript (Python)q,hUnew_htmlq-u}q.(h+h,hUnew_okq/u}q0(h+h,hU config_htmlq1u}q2(h+h,hU config_okq3u}q4(h+h,hU view_htmlq5u}q6(h+h,hUmail_okq7u}q8(h+h,hU send_mailq9u}q:(h+h,hU addchampsq;u}q<(h+h,hU option_htmlq=u}q>(h+h,hU delchampsq?u}q@(h+h,hU erachampsqAu}qB(h+h,hU option_okqCu}qD(h+h,hU config_verifqEu}qF(h+h,hU new_verifqGu}qH(h+h,hU modifchampsqIu}qJ(h+h,hU option_modifqKu}qL(h+h,hU validchampsqMu}qN(h+h,hU addiochampsqOu}qP(h+h,hU deliochampsqQu}qR(U meta_typeqSUImageqTUidqUU icone.pngqVu}qW(U meta_typeqXUScript (Python)qYUidqZUwarningmessageq[utq\U validchampsq](Uñ4q^(h U PythonScriptq_ttQU option_htmlq`(Uñ5qa(h U PythonScriptqbttQU config_htmlqc(Uñ6qd(h U PythonScriptqettQUnew_htmlqf(Uñ7qg(h U PythonScriptqhttQU descriptionqi(Utqjh[(Uñ8qk(h U PythonScriptqlttQU certifdevqmUnonqnU addiochampsqo(Uñ9qp(h U PythonScriptqqttQU option_okqr(Uñ:qs(h U PythonScriptqtttQUmail_okqu(Uñ;qv(h U PythonScriptqwttQU delchampsqx(Uñq¢(U OFS.Imageq£UImageq¤ttQU__ac_local_roles__q¥}q¦U send_mailq§(Uñ?q¨(h U PythonScriptq©ttQU experimentalqªUU erachampsq«(Uñ@q¬(h U PythonScriptq­ttQu.ð(û((U OFS.FolderqUFolderqtqNt.}q(Uedit_okq(Uòq(U#Products.PythonScripts.PythonScriptqU PythonScriptqttQU editer_postq (Uòq (hU PythonScriptq ttQU publier_postq (Uòq (hU PythonScriptqttQU config_okq(Uòq(hU PythonScriptqttQUskinqU0Unew_okq(Uòq(hU PythonScriptqttQUidqUrss_aggregatorqU certifwebqUnonqUtitleqUAgrégateur de fils rssqU post_thanksq(Uòq(hU PythonScriptqttQUnoteqKUversionq U0.6q!U view_htmlq"(Uòq#(hU PythonScriptq$ttQU_objectsq%(}q&(U meta_typeq'UScript (Python)q(Uidq)Unew_htmlq*u}q+(U meta_typeq,UScript (Python)q-Uidq.Unew_okq/u}q0(U meta_typeq1UScript (Python)q2Uidq3U config_okq4u}q5(U meta_typeq6UScript (Python)q7Uidq8U view_htmlq9u}q:(U meta_typeq;UScript (Python)qu}q?(U meta_typeq@UScript (Python)qAUidqBUpost_okqCu}qD(U meta_typeqEUScript (Python)qFUidqGhu}qH(U meta_typeqIUScript (Python)qJUidqKU effacer_postqLu}qM(hIhJhKh u}qN(hIhJhKh u}qO(U meta_typeqPUScript (Python)qQUidqRhu}qS(U meta_typeqTUScript (Python)qUUidqVU config_htmlqWu}qX(U meta_typeqYUImageqZUidq[U icone.pngq\u}q](hYUScript (Python)q^h[Ureadq_utq`U config_htmlqa(Uòqb(hU PythonScriptqcttQUnew_htmlqd(Uòqe(hU PythonScriptqfttQU descriptionqg(UAgrégateur de fils rssqhtqiUreadqj(Uòqk(hU PythonScriptqlttQhC(Uòqm(hU PythonScriptqnttQUpostqo(Uòqp(hU PythonScriptqqttQU certifdevqrUnonqsU__ac_local_roles__qt}quUdevqvU70%qwUzone_principaleqxU1U _propertiesqy(}qz(Utypeq{Ustringq|Uidq}Utitleq~UmodeqUwu}q€(UtypeqUstringq‚UidqƒU experimentalq„u}q…(Utypeq†Uintq‡UidqˆUnoteq‰u}qŠ(h†Ustringq‹hˆUversionqŒu}q(h†h‹hˆUdevqŽu}q(h†h‹hˆU certifdevqu}q‘(h†h‹hˆU certifwebq’u}q“(h†h‹hˆU moderateurq”u}q•(Utypeq–Ulinesq—Uidq˜U descriptionq™u}qš(Utypeq›UstringqœUidqhxu}qž(UtypeqŸUstringq Uidq¡hutq¢hL(Uòq£(hU PythonScriptq¤ttQU icone.pngq¥(Uòq¦(U OFS.Imageq§UImageq¨ttQU moderateurq©U p4@zwook.orgqªU experimentalq«Uu.ð)m((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uòq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U admin_onlyq U1U descriptionq(UxCe module permet de répertorier tous les membres de votre site (avec leur adresse email et la date de leur inscription).qtqUtitleqUListe des membresqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okqu}q(U meta_typeqUScript (Python)q Uidq!U config_htmlq"u}q#(hh h!U config_okq$u}q%(U meta_typeq&UScript (Python)q'Uidq(U view_htmlq)u}q*(U meta_typeq+UImageq,Uidq-U icone.pngq.utq/U moderateurq0Uzwook@matisson.comq1Unew_htmlq2(Uò q3(hU PythonScriptq4tq5tq6QUdevq7U75%q8U certifdevq9Unonq:Unoteq;KFUversionq(Uò!q?(hU PythonScriptq@tqAtqBQUzone_principaleqCU1U config_okqD(Uò"qE(hU PythonScriptqFtqGtqHQU _propertiesqI(}qJ(UtypeqKUstringqLUidqMUtitleqNUmodeqOUwu}qP(UtypeqQUstringqRUidqSU experimentalqTu}qU(UtypeqVUintqWUidqXh;u}qY(hVUstringqZhXhU icone.pngq?utq@U config_htmlqA(Uò'qB(hU PythonScriptqCtqDtqEQUnew_htmlqF(Uò(qG(hU PythonScriptqHtqItqJQU admin_onlyqKU1U descriptionqL(UtqMU certifdevqNUnonqOU moderateurqPUpatbriguet@freesurf.chqQUdevqRU5%qSUzone_principaleqTU1U _propertiesqU(}qV(UtypeqWUstringqXUidqYUtitleqZUmodeq[Uwu}q\(Utypeq]Ustringq^Uidq_U experimentalq`u}qa(UtypeqbUintqcUidqdUnoteqeu}qf(hbUstringqghdUversionqhu}qi(hbhghdUdevqju}qk(hbhghdU certifdevqlu}qm(hbhghdU certifwebqnu}qo(hbhghdU moderateurqpu}qq(UtypeqrUlinesqsUidqtU descriptionquu}qv(UtypeqwUstringqxh9h u}qy(hwhxh9hTu}qz(hwhxh9hKutq{h:(Uò)q|(hU PythonScriptq}tq~tqQU icone.pngq€(Uò*q(U OFS.Imageq‚UImageqƒtq„tq…QU__ac_local_roles__q†}q‡U experimentalqˆUu.ð% P((U OFS.FolderqUFolderqtqNt.}q(Uadd_image_validq(Uñíq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU conf_menuq (Uñóq (hU PythonScriptq tqtqQUrep_ajouter_images_validq(Uñïq(hU PythonScriptqtqtqQU _propertiesq(}q(UtypeqUstringqUidqUtitleqUmodeqUwu}q(UtypeqUstringqUidqUskinq u}q!(Utypeq"Uintq#Uidq$Unoteq%u}q&(h"Ustringq'h$Uversionq(u}q)(h"h'h$Udevq*u}q+(h"h'h$U certifdevq,u}q-(h"h'h$U certifwebq.u}q/(h"h'h$U moderateurq0u}q1(Utypeq2Ulinesq3Uidq4U descriptionq5u}q6(Utypeq7Ustringq8Uidq9Uzone_principaleq:utq;Unew_okq<(Uññq=(hU PythonScriptq>tq?tq@QU__ac_local_roles__qA}qBUidqCU navigationqDh.UnonqEUtitleqFUMenu de navigationqGUmenuqH(UñòqI(hU PythonScriptqJtqKtqLQUMIX_INFOqM(UñîqN(hU PythonScriptqOtqPtqQQUrep_ajouter_imagesqR(UòqS(hU PythonScriptqTtqUtqVQh%Kbh(U0.1qWU view_htmlqX(UñõqY(hU PythonScriptqZtq[tq\QU_objectsq](}q^(U meta_typeq_UScript (Python)q`UidqaUnew_htmlqbu}qc(U meta_typeqdUScript (Python)qeUidqfUnew_okqgu}qh(U meta_typeqiUScript (Python)qjUidqkU config_htmlqlu}qm(U meta_typeqnUScript (Python)qoUidqph u}qq(hnhohpUmenuqru}qs(hnhohpUconf_1qtu}qu(hnhohpU conf_1_validqvu}qw(U meta_typeqxUScript (Python)qyUidqzUconf_2q{u}q|(hxhyhzU conf_2_validq}u}q~(U meta_typeqUScript (Python)q€UidqU add_imageq‚u}qƒ(U meta_typeq„UScript (Python)q…Uidq†hu}q‡(U meta_typeqˆUScript (Python)q‰UidqŠUconf_3q‹u}qŒ(U meta_typeqUScript (Python)qŽUidqU conf_3_bisqu}q‘(U meta_typeq’UScript (Python)q“Uidq”U conf_3_delq•u}q–(h’h“h”U conf_3_validq—u}q˜(U meta_typeq™UScript (Python)qšUidq›Uconf_4qœu}q(U meta_typeqžUScript (Python)qŸUidq UMIX_INFOq¡u}q¢(U meta_typeq£UScript (Python)q¤Uidq¥hRu}q¦(U meta_typeq§UScript (Python)q¨Uidq©hu}qª(h§h¨h©Urep_delete_imagesq«u}q¬(U meta_typeq­UScript (Python)q®Uidq¯U view_htmlq°u}q±(U meta_typeq²UImageq³Uidq´U icone.pngqµutq¶U config_htmlq·(Uñöq¸(hU PythonScriptq¹tqºtq»QUnew_htmlq¼(Uñ÷q½(hU PythonScriptq¾tq¿tqÀQh•(UñøqÁ(hU PythonScriptqÂtqÃtqÄQh5]qÅ(UØLe module de navigation automatique est indispensable pour générer les rubriques et sous rubriques de votre système. Il fait parti des modules les plus élaborés et demande une certaine rigueur pour sa mise en place. qÆUUeUconf_4qÇ(UñùqÈ(hU PythonScriptqÉtqÊtqËQh«(UñúqÌ(hU PythonScriptqÍtqÎtqÏQUconf_1qÐ(UñûqÑ(hU PythonScriptqÒtqÓtqÔQh‚(UñüqÕ(hU PythonScriptqÖtq×tqØQUconf_3qÙ(UñýqÚ(hU PythonScriptqÛtqÜtqÝQUconf_2qÞ(Uñþqß(hU PythonScriptqàtqátqâQh}(Uñÿqã(hU PythonScriptqätqåtqæQh(Uñôqç(hU PythonScriptqètqétqêQh,Unonqëhv(Uòqì(hU PythonScriptqítqîtqïQh*U90%qðh:U1h—(Uñðqñ(hU PythonScriptqòtqótqôQUskinqõU1U icone.pngqö(Uòq÷(U OFS.ImageqøUImageqùtqútqûQh0Uxavier@emencia.com qüu.ð+?n((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TÚzwu=mem['zwo_url'] zwui=zwu+'/zwo_images/bo/' ret='' ret=ret+""" """ ret=ret+'Zwook - '+ch+'' ret=ret+'' ret=ret+'' ret=ret+'
' ret=ret+'' a=int(pr['largeur_cercle']) tot=0 if mem['droit_edit_dossier']==1: tot=tot+1 if mem['droit_arbo']==1: tot=tot+1 if mem['droit_edit_skin']==1: tot=tot+1 if mem['droit_config_dossier']==1: tot=tot+1 list_roles=mem['user_roles_id'] if 'Manager' in list_roles: tot=tot+1 lsp=int(pr['espacement']) l=tot*(a+lsp)+2*lsp def roll(nom,url,img,rol,help): hlptxt='' if help<>'': hlptxt=' title="aide"' rett='' return rett def roll2(typ,now,help): if typ==now: return roll('roll'+now,zwu+'/zwo_bo/'+now,zwui+'cercle_'+now+'.gif',zwui+'r_cercle_'+now+'.gif',help) else: return roll('roll'+now,zwu+'/zwo_bo/'+now,zwui+'f_cercle_'+now+'.gif',zwui+'r_cercle_'+now+'.gif',help) def roll2l(typ,now,help): if typ==now: return roll('roll'+now,mem['rep_url']+'/zwo_bo/'+now,zwui+'cercle_'+now+'.gif',zwui+'r_cercle_'+now+'.gif',help) else: return roll('roll'+now,mem['rep_url']+'/zwo_bo/'+now,zwui+'f_cercle_'+now+'.gif',zwui+'r_cercle_'+now+'.gif',help) ret=ret+'' sp='' sp2='' ret=ret+sp if mem['droit_edit_dossier']==1: ret=ret+sp2 ret=ret+roll2l(typ,"edit",'Edition du contenu')+' ' if mem['droit_edit_skin']==1: ret=ret+sp2 ret=ret+roll2l(typ,"skin",'Edition des skins')+' ' if mem['droit_arbo']==1: ret=ret+sp2 ret=ret+roll2l(typ,"arbo",'Administration des pages')+' ' if mem['droit_config_dossier']==1: ret=ret+sp2 ret=ret+roll2(typ,"admin",'Administration du zwook')+' ' list_roles=mem['user_roles_id'] if 'Manager' in list_roles: ret=ret+sp2 ret=ret+roll('rollzope',zwu+'/manage',zwui+'f_cercle_zope.gif',zwui+'r_cercle_zope.gif','Interface Zope') ret=ret+sp ll=760-l-int(pr['largeur_case_droite'])-int(pr['largeur_colonne']) ret=ret+'' ret=ret+pr['txt_'+typ] ret=ret+'
'+ch ret=ret+'
' ret=ret+'Exit' ret=ret+'
' #ret=ret+roll('rollhelp',zwu+'/help',zwui+'rond_help.gif',zwui+'r_rond_help.gif','Aide Zwook') #ret=ret+sp #ret=ret+roll('rollannule',zwu+'/annule',zwui+'rond_annule.gif',zwui+'r_rond_annule.gif','Annuler derniere modification') #ret=ret+sp #ret=ret+'EXIT ' ret=ret+roll('rollzwook',mem['rep_url'],zwui+'rond_zwook.gif',zwui+'r_rond_zwook.gif','Quitter Back Office') ret=ret+' ' ret=ret+'
' ret=ret+'
' ret=ret+'' ret=ret+'
' ret=ret+'' ret=ret+'
' head=ret spm='
' l=str(760-(int(pr['largeur_colonne']))-(int(pr['espacement']))) mid='
' mid=mid+'' spe='
' foot='
' foot=foot+"" return (head,spm,mid,spe,foot) q Uidq Uautourq U_codeqT c@s d„ZdS(Nc4s!tˆdƒ‰ˆd‰d}|d}|d|d}|dt|d|ƒd }|d }|d t|d ƒd }|dˆd|d}tt|dƒƒ} d} tˆdƒdjo| d} ntˆdƒdjo| d} ntˆdƒdjo| d} ntˆdƒdjo| d} ntˆdƒ} d| jo| d} ntt|dƒƒ} | | | d| } d„‰‡‡‡d†}‡‡‡d†}|dt| ƒd }dˆd t|dƒd!}dˆd ttt|dƒƒdƒd!}||}tˆdƒdjo(||}|||d"d#ƒd$}ntˆdƒdjo(||}|||d%d&ƒd$}ntˆdƒdjo(||}|||d'd(ƒd$}ntˆdƒdjo(||}|||d)d*ƒd+}ntˆdƒ} d| jo6||}|ˆd,ˆd-ˆd.ˆd/d0ƒ}n||}d1| tt|d2ƒƒtt|d ƒƒ}|d3t|ƒd4t|d5|ƒd }|t|d6|ƒ}|d7|}|d8t|d2ƒd9t|d5|ƒd }|d:tˆd;ƒd<}|d7}|ˆd=tˆd;ƒˆd>ˆd?d@ƒ}|d$}|dA}|dBt|dƒdCt|dƒdD}|dˆdEt|dƒdF}|dG}|dH}|d3t|d ƒdI}|}dJt|dƒdKt|d ƒdLˆdEt|dƒdM}td1tt|d ƒƒtt|dƒƒƒ} dt|dƒd }|d| dI}dJt|dƒdK| dLˆdEt|dƒdM}dN}|dO}|||||fSdS(PNszwo_urls/zwo_images/bo/s~sR sZwook - s���ssBs
s slargeur_cercleisdroit_edit_dossieris droit_arbosdroit_edit_skinsdroit_config_dossiers user_roles_idsManagers espacementicCsÔd}|djo d}nd|d|d}|d|d|d}|d}|d|d|d}|d }|d|d}|d }|d jo|d }n|d |d|d}|SdS(Nss title="aide"s (shlptxtshelpsurlsrettsnomsrolsimg(snomsurlsimgsrolshelpshlptxtsrett((sScript (Python)sroll}s      cs‰||jo>ˆd|ˆd|ˆd|dˆd|d|ƒSn;ˆd|ˆd|ˆd|dˆd|d|ƒSdS(Nsrolls/zwo_bo/scercle_s.gifs r_cercle_s f_cercle_(stypsnowsrollszwuszwuishelp(stypsnowshelpsrollszwuszwui(srollszwuszwui(sScript (Python)sroll2s >cs›||joGˆd|tˆdƒd|ˆd|dˆd|d|ƒSnDˆd|tˆdƒd|ˆd|dˆd|d|ƒSdS(Nsrollsrep_urls/zwo_bo/scercle_s.gifs r_cercle_s f_cercle_(stypsnowsrolls _getitem_smemszwuishelp(stypsnowshelpsrolls _getitem_smemszwui(smemsrollszwui(sScript (Python)sroll2l“s GsseditsEdition du contenus sskinsEdition des skinssarbosAdministration des pagessadminsAdministration du zwooks srollzopes/managesf_cercle_zope.gifsr_cercle_zope.gifsInterface Zopeiøslargeur_case_droites Exits rollzwooksrond_zwook.gifsr_rond_zwook.gifsQuitter Back Offices
s
s/zwo_images/pixel.gif" height="s width="1">s
sBs" valign="top">s:
s
s(s _getitem_smemszwuszwuisretschsprstypsintsastots list_rolesslspslsrollsroll2sroll2lsstrsspssp2sllsheadsspmsmidsspesfoot(smemsprstypschs _getitem_szwuszwuisretsintsastots list_rolesslspslsrollsroll2sroll2lsstrsspssp2sllsheadsspmsmidsspesfoot((smemszwusrollszwuisScript (Python)sautoursŽ  _   /       , 0-0 -  ,#  A28 (sautour(sautour((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(Uò+q (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Uxavq']q(UOwnerq)asU _filepathq*U3Script (Python):/test_kzexp_zwook_cvs/zwo_bo/autourq+U_paramsq,U mem,pr,typ,chq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2KU co_varnamesq3(Umemq4Uprq5Utypq6Uchq7U _getitem_q8Uzwuq9Uzwuiq:Uretq;UintqUlspq?UlUrollq@Uroll2qAUroll2lqBUstrqCUspqDUsp2qEUllqFUheadqGUspmqHUmidqIUspeqJUfootqKtqLubu.ð4b+((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T.couleur='#'+couleur print '' print 'Choix de la couleur' print """ """ print '' print '
' print '
Choisir une couleur.
' RR="ff" VV="ff" BB="ff" if couleur: if len(couleur)>=7: RR=couleur[1:3] VV=couleur[3:5] BB=couleur[5:7] print '' print """

""" print '
' print '' print '' print '' print '
[select]
' print ' ' print '
' print '' return printed q U _filepathq U0Script (Python):/kzexp_zwook/zwo_bo/choixcouleurq U_codeqTÑ0c@sed„ZdS(Nc ECsµtƒ}d|}|dIJ|dIJ|dIJ|d|d|dIJ|dIJ|d IJ|d IJ|d IJd }d }d }|oZt|ƒd joCt |dd…ƒ}t |dd…ƒ}t |dd …ƒ}qæn|dIJ|dIJ|dIJ|d|dIJ|d|dIJ|d|dIJ|d|||dIJ|dIJ|dIJ|d|||dIJ|dIJ|dIJ|d IJ|d!IJ|ƒSdS("Ns#s s"Choix de la couleurs# ss
sF
Choisir une couleur.
sffiiiisisì